Table of Contents

Introduction

Reader Expectations

How This Book Is Organized

Getting the Sample Code

Contacting the Author

1 International Settings

System Settings: International

Language

Voice Control

Siri

Voice Dial Only

Keyboards

Calendars

Gregorian

Japanese

Buddhist

Region Format

Representing Dates

Long Versus Short Date Formats

Representing Time

Telephone

Currency

Sorting

Measurements System

Decimal and Thousands Separators

Quotation Marks

Other Callouts

Vertical Text

List Separator

Summary

2 Characters and Encoding

Characters

Types of Characters

Accented Characters

Chinese Characters

Strings

Code Pages and Encoding

ASCII Character Set

Extended Character Set

ANSI Standard

Asian Character Support: DBCS

Unicode and Encoding

Unicode Planes

Combining Character Sequences

Duplicate Characters

Encoding in Action

UTF-8

UTF-16

Coding Encoding

Example 1: Encoding to ASCII

Example 2: Returning the ASCII Value from a Character

Example 3: Encoding an ASCII String to UTF-8

Example 4: Returning a String from an Encoding URL

Objective-C Encoding Enumerations

Encoding Gone Bad

Diacritics

Precomposed Diacritics

Surrogate Characters

Emoji

Retrieving Characters from Unicode Code Points

Obtaining Unicode Code Points

Glyphs

Contextual Glyphs

Fonts

Ligatures

Code Snippet to Compare Ligatures

Summary

3 Coding for Locale

NSLocale Class

Locale ID

NSLocale Component Keys

Return Types from NSLocale’s Component Keys

Auto Updating the Locale

Address Book Framework

NSNumberFormatter

NSDate

NSDateFormatter

Predefined Styles

Format Specifiers

Conversion

Date Templates

Date Format "j" Template

NSCalendar

NSDateComponents

Components from a Date

Relative Date Calculations

NSTimeZone

NSString

Initializing a String

Lower- and Uppercase

Searching

Folding Strings

Sorting

Summary

4 Prepping Your App for Localization

Building an International Exerciser

App Creation Overview

Covered Locale Categories

View Controller Creation

Locale Components Affected by Setting Changes

Auto Updating Locale

Home Screen

Table View Controller

Measurement System

Quotes and Scripts

Calendar and Date Components

Date Formatting

Short, Medium, Long, Full Date Styles

Date Strings to Date Objects

Number Formatting

Decimal, Currency, Percent, and Spelled Out

Contact Names/Address Book Framework

Strings

String Case

Sorting

Exemplar Character Set

Other Locale-Specific Topics

Right-to-Left Languages

Telephone Format

Summary

5 Localizing Your App

Localization

What Is Localization?

What Gets Localized?

How Do the “Dot-Strings” Files Get Created?

Where Do the Strings Get Parsed?

Generalized Steps to Localize

Localizing a View Controller from the Sample App

Adding Localization to a Project

Localizing Code

The genstrings Command

Copying Localizable.strings Files

Xcode Reference

Localizing UI

Running Under the Localized Language

Translation Results with Japanese

Working with Localized Images

Localizing App Icon Name

Other NSLocalizedString Macros

NSLocalizedStringFromTable()

NSLocalizedStringFromTableInBundle()

NSLocalizedStringWithDefaultValue()

Creating a Generalized Key Name

genstrings Tools

Update_Localization

pygenstrings

Translating to Localized Languages

No “Mad Libs”

Avoid Translation Templates

Translation Services

Importing Files from Translators

Word Order

Plural Forms and the CLDR

What Do We Mean by Quantities?

Plurals Example

Genders

Summary

6 Adjusting the UI

Auto Layout and Constraints

Internationalization Implications

Avoiding Clipping

Right-to-Left Languages

Keyboards and Screen Coverage

Tools and Testing

Pseudo Localization

Launch Switches

Previewing Rotation in Xcode

UI Localization

Images

Right-to-Left Images

Colors

String Length

Single-Letter Icons

Body-Part Metaphors

Locale Maps

Summary

7 Submitting Your App

App Submission Requirements

iOS Dev Center

Provisioning Profiles

iTunes Connect

App Store Details

Available Territories

Pricing Tiers

Localizing iTunes Connect Data

Changing Available Territories

Language Mapping

Adding Language Support

Field Breakout

Apple Promotional Materials

Summary

A Case Study: Boom Beach

B Web Resources

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset