advertisement

Beginning iOS App Localization

43 %
57 %
advertisement
Information about Beginning iOS App Localization
Technology

Published on February 19, 2014

Author: bigsprocket

Source: slideshare.net

Description

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

! 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

Add a comment

Related presentations

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...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Localizing Your App to Reach More Users | Beginning iOS 10 ...

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 ...
Read more

iOS Localization Tutorial: Localize iPhone Apps for ...

This is a simple iOS Programming tutorial about localization. We cover how to internationalize and localize your iPhone apps to support multiple languages.
Read more

ios - Develop app in Japanese, add localization into ...

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.
Read more

Localizing an iOS App - SitePoint

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 ...
Read more

ios9 - In App Localization ios8/9, English Arabic - Stack ...

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 ...
Read more

iOS app Translation & Localization - CCJK

iOS app Translation & Localization 20 Aug 2012 / in Blog, Translations and Localization / by Kris. Why you need to translate and localize your ios application?
Read more

iOS Supported Language Codes (ISO-639) | Babble-on

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
Read more

Beginning iOS 6 Development - Exploring the iOS SDK

The team that brought you the bestselling Beginning iPhone Development is back again for Beginning iOS 6 Development, bringing this definitive guide up-to ...
Read more

iOS Localization - Xamarin

This document covers the localization features of the iOS SDK and how to access them with Xamarin.
Read more

Localization Archives - Applingua

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 ...
Read more