Localization and Accessibility on iOS
LOCALIZATION AND
ACCESSIBILITY
AGENDA
Localizing Strings
Localizing Storyboards
Testing Localization
Locales
Accessibility
LOCALIZING STRINGS
LOCALIZING STRINGS
Requires developer to use specific API to
retrieve strings in code
Additionally need .strings file with translation for
each language
ADDING LOCALIZED STRINGS TO
YOUR PROJECT - 1
Generate a localized strings file using the
following command:
find . -name *.swift | xargs genstrings -o .
Searches for all occurrences of NSLocalizedString

and extracts keys and comments into a separate file
ADDING LOCALIZED STRINGS TO
YOUR PROJECT - 2
Add the Localizable.strings file to your project:
ADDING LOCALIZED STRINGS TO
YOUR PROJECT - 3
Add a new language to your project:
ADDING LOCALIZED STRINGS TO
YOUR PROJECT - 4
Add a new localization to your Localizable.strings file:
LOCALIZING STRINGS IN CODE
// Shortest version of NSLocalizedString; comment is used to inform translator
// about the role of this string
mainLabel.text = NSLocalizedString("com.makeschool.helloString", comment: "The string that greets
the user")
// Longest version of NSLocalizedString; You can choose which strings file from which
// bundle you want to use. You can also provide a default translation value in case
// the key cannot be found in the table
mainLabel.text = NSLocalizedString("com.makeschool.helloString", tableName: "Other", bundle:
NSBundle.mainBundle(), value: "Hello World", comment: "The string that greets the user")
LOCALIZING STORYBOARDS
LOCALIZING STORYBOARDS
TESTING LOCALIZATION
TESTING LOCALIZATION
TESTING LOCALIZATION
TESTING LOCALIZATION
LOCALES
LOCALES
Besides the language, the region we live in
influences localization
Examples: Date formatting, currency symbols,
time zones
LOCALES
dateLabel.text = NSDateFormatter.localizedStringFromDate(NSDate(),
dateStyle: .MediumStyle, timeStyle: .MediumStyle)
23.10.2015, 08:35:31 Oct 23, 2015, 8:26:12 AM
German Locale (de-DE) US Locale (en-US)
ACCESSIBILITY
ACCESSIBILITY
Very important when building custom views!
They are not accessible by default:
self.isAccessibilityElement = true
Can enhance standard view components by
providing hints, labels, traits and values
ACCESSIBILITY
accessibilityLabel short description of the
control, e.g. “Save” for button, “Rating” for label
accessibilityHint helps the user to understand
results of an action. E.g. “Saves the Document”, “Clears
the text”
ACCESSIBILITY
accessibilityTraits collection of constants that
describe the type of control and/or how it should be
treated, e.g: UIAccessibilityTraitImage,
UIAccessibilityTraitNotEnabled, etc.
accessibilityValue Used to describe the value of
a none-label UI component. E.g. “50%” for a progress
bar. “9 out of 10” for a rating view.
ACCESSIBILITY
Accessibility parameters can be defined in
Interface Builder and in code!
SUMMARY
SUMMARY
Localization and Accessibility are important to
make your app available to a broader audience
Xcode / iOS provide tooling that allow you to
implement localization and accessibility with very
little effort
ADDITIONAL RESOURCES
ADDITIONAL RESOURCES
Apple: Internationalization and Localization Guide
Apple: Formatting Data Using the Locale Setting
AltConf Talk: Localization on iOS
Apple: Accessibility Programming Guide for iOS
UIAccessibility Class Reference

More Related Content

PDF
Xcode Project Infrastructure
PDF
Intro to Core Data
KEY
Core Data
ODP
Introduction to Knockout Js
PDF
Core Data with Swift 3.0
ODP
Scal`a`ngular - Scala and Angular
PDF
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
ZIP
Cappuccino - A Javascript Application Framework
Xcode Project Infrastructure
Intro to Core Data
Core Data
Introduction to Knockout Js
Core Data with Swift 3.0
Scal`a`ngular - Scala and Angular
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
Cappuccino - A Javascript Application Framework

What's hot (16)

PDF
23 ijaprr vol1-3-25-31iqra
PPTX
Creating data with the test data builder pattern
PPTX
Introduction to React JS for beginners
PPTX
Angular 2
PPTX
Azure functions
PDF
An Introduction to Redux
PDF
An approach to responsive, realtime with Backbone.js and WebSockets
PPTX
Its time to React.js
PPTX
Ext Js introduction and new features in Ext Js 6
PPTX
DDD, CQRS and testing with ASP.Net MVC
PPT
Web Services with Objective-C
PDF
Dicoding Developer Coaching #31: Android | Menerapkan Clean Architecture di A...
PPTX
Introduction to React JS
PDF
mobile in the cloud with diamonds. improved.
PPTX
Type script
23 ijaprr vol1-3-25-31iqra
Creating data with the test data builder pattern
Introduction to React JS for beginners
Angular 2
Azure functions
An Introduction to Redux
An approach to responsive, realtime with Backbone.js and WebSockets
Its time to React.js
Ext Js introduction and new features in Ext Js 6
DDD, CQRS and testing with ASP.Net MVC
Web Services with Objective-C
Dicoding Developer Coaching #31: Android | Menerapkan Clean Architecture di A...
Introduction to React JS
mobile in the cloud with diamonds. improved.
Type script
Ad

Viewers also liked (20)

PDF
Layout with Stack View, Table View, and Collection View
PDF
Error Handling in Swift
PDF
Distributing information on iOS
PDF
Advanced Core Data
PDF
Client Server Communication on iOS
PDF
Swift 2 intro
PDF
Dependency Management on iOS
PDF
Swift Objective-C Interop
PDF
Client Server Security with Flask and iOS
PDF
Client Server Synchronization iOS
PDF
Standard libraries on iOS
PDF
Make School 2017 - Mastering iOS Development
PDF
Multithreading on iOS
PDF
Intro to iOS Application Architecture
PDF
Memory Management on iOS
PDF
Core Data presentation
PDF
iOS Layout Overview
PDF
Persistence on iOS
PDF
Building a Backend with Flask
PDF
Automated Testing on iOS
Layout with Stack View, Table View, and Collection View
Error Handling in Swift
Distributing information on iOS
Advanced Core Data
Client Server Communication on iOS
Swift 2 intro
Dependency Management on iOS
Swift Objective-C Interop
Client Server Security with Flask and iOS
Client Server Synchronization iOS
Standard libraries on iOS
Make School 2017 - Mastering iOS Development
Multithreading on iOS
Intro to iOS Application Architecture
Memory Management on iOS
Core Data presentation
iOS Layout Overview
Persistence on iOS
Building a Backend with Flask
Automated Testing on iOS
Ad

Similar to Localization and Accessibility on iOS (20)

PDF
iOS localization
PDF
Beginning iOS App Localization
PDF
Avoiding Pitfalls with Internationalization & Localization
PDF
Localization Realization
PDF
Mobile Warsaw - Efficient Localization for iOS Apps
PPTX
Localization for iOS
PDF
Localizing Mobile Apps
PDF
Localizing iOS Apps
PDF
Internationalizing Your Apps
PPT
Cultural Awareness, Localization and the Impact on Content Creation of User I...
PDF
This talk lasts 三十分钟
KEY
iOS Localization
PDF
Improve your app localization
PDF
Best Practices for Software Localization
PDF
360|iDev 2014 – Your App and the World
PPTX
MVP Virtual Conference - Americas 2015 - Cross platform localization for mobi...
PDF
Localization in user experience design practice
PDF
Fearless Internationalization and Localization Across the Nations
PDF
Affordable and efficient multi platform localisation. case study
PPTX
How to create software that is ready for the world
iOS localization
Beginning iOS App Localization
Avoiding Pitfalls with Internationalization & Localization
Localization Realization
Mobile Warsaw - Efficient Localization for iOS Apps
Localization for iOS
Localizing Mobile Apps
Localizing iOS Apps
Internationalizing Your Apps
Cultural Awareness, Localization and the Impact on Content Creation of User I...
This talk lasts 三十分钟
iOS Localization
Improve your app localization
Best Practices for Software Localization
360|iDev 2014 – Your App and the World
MVP Virtual Conference - Americas 2015 - Cross platform localization for mobi...
Localization in user experience design practice
Fearless Internationalization and Localization Across the Nations
Affordable and efficient multi platform localisation. case study
How to create software that is ready for the world

Recently uploaded (20)

PDF
Types of Token_ From Utility to Security.pdf
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PPTX
Computer Software - Technology and Livelihood Education
PDF
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PPTX
assetexplorer- product-overview - presentation
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
Cost to Outsource Software Development in 2025
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Types of Token_ From Utility to Security.pdf
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Computer Software - Technology and Livelihood Education
EaseUS PDF Editor Pro 6.2.0.2 Crack with License Key 2025
Trending Python Topics for Data Visualization in 2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
assetexplorer- product-overview - presentation
How to Use SharePoint as an ISO-Compliant Document Management System
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
DNT Brochure 2025 – ISV Solutions @ D365
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Oracle Fusion HCM Cloud Demo for Beginners
Advanced SystemCare Ultimate Crack + Portable (2025)
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Why Generative AI is the Future of Content, Code & Creativity?
Autodesk AutoCAD Crack Free Download 2025
Topaz Photo AI Crack New Download (Latest 2025)
Cost to Outsource Software Development in 2025
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...

Localization and Accessibility on iOS