SlideShare a Scribd company logo
!

Kyle Davis, Head Geek
BigSprocket

http://www.flickr.com/photos/56013895@N00/122872445

Beginning iOS
Localization
When Was
My Last?
My first 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
Demo
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 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”
Demo
Localized to English
✓Auto Layout
✓Added Localization in Project file
✓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 file with localized content
.strings, .xib, html, text
image, sound, video
Standard file 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 files
Supports incremental translations
I did not use it …
… but Apple also supplies their glossaries, which are
damn handy
Demo
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
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 files
.stringsdict - rules-based handling of special cases, like
plurals
twine - fix 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

info@bigsprocket.com
@bigsprocket

http://textimage.us

kyle@bigsprocket.com
@kylebits

More Related Content

PPTX
KEY
iOS Localization
PPTX
Localization for iOS
PPTX
Mobile App Localization Best Practices
PPTX
State of the art of the bologna process towards an international cooperation ...
PDF
iOS localization
PDF
Localization and Accessibility on iOS
PDF
Localizing iOS Apps
iOS Localization
Localization for iOS
Mobile App Localization Best Practices
State of the art of the bologna process towards an international cooperation ...
iOS localization
Localization and Accessibility on iOS
Localizing iOS Apps

Similar to Beginning iOS App Localization (20)

PDF
Avoiding Pitfalls with Internationalization & Localization
PDF
Internationalizing Your Apps
PDF
Localizing Mobile Apps
PDF
Localization Realization
PDF
Localization of iPhone Apps
PDF
Mobile Warsaw - Efficient Localization for iOS Apps
PDF
iOs app localization / Yoni tsafir
PDF
How do I - Localization and Internationalization (l10n, i18n) - Transcript.pdf
PDF
Affordable and efficient multi platform localisation. case study
PPTX
Localization: How to do a global project
PPTX
MVP Virtual Conference - Americas 2015 - Cross platform localization for mobi...
PDF
Tml for Objective C
PDF
Process, Tool, Localization, Successful
PPT
Internationalization & localization testing
PPT
Cultural Awareness, Localization and the Impact on Content Creation of User I...
PDF
Best Practices for Software Localization
PPTX
"Localizer" by CyberZ, Inc.
PDF
Media Interactiva y Angular.js
PDF
WordForge Localization Editor
PDF
WordForge Localization Editor
Avoiding Pitfalls with Internationalization & Localization
Internationalizing Your Apps
Localizing Mobile Apps
Localization Realization
Localization of iPhone Apps
Mobile Warsaw - Efficient Localization for iOS Apps
iOs app localization / Yoni tsafir
How do I - Localization and Internationalization (l10n, i18n) - Transcript.pdf
Affordable and efficient multi platform localisation. case study
Localization: How to do a global project
MVP Virtual Conference - Americas 2015 - Cross platform localization for mobi...
Tml for Objective C
Process, Tool, Localization, Successful
Internationalization & localization testing
Cultural Awareness, Localization and the Impact on Content Creation of User I...
Best Practices for Software Localization
"Localizer" by CyberZ, Inc.
Media Interactiva y Angular.js
WordForge Localization Editor
WordForge Localization Editor
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
sap open course for s4hana steps from ECC to s4
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MIND Revenue Release Quarter 2 2025 Press Release
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
sap open course for s4hana steps from ECC to s4
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Ad

Beginning iOS App Localization