116
© 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. #WWDC14 Localizing with Xcode 6 Best practices and new workflows Session 412 Zoltan Foley-Fisher Xcode Software Engineer Tools Chris Hanson Xcode Software Engineer

Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

© 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

#WWDC14

Localizing with Xcode 6Best practices and new workflows

Session 412 Zoltan Foley-Fisher Xcode Software Engineer

Tools

!

Chris Hanson Xcode Software Engineer

Page 2: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,
Page 3: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,
Page 4: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Agenda

Page 5: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Agenda

Localization Frameworks on OS X and iOS

Page 6: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Agenda

Localization Frameworks on OS X and iOS

Xcode Workflows for Localization

Page 7: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization and Localization

Page 8: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization and Localization

App Data

Step 1

Localizable Data

Step 2

Hindi in India

Spanish in Mexico

Page 9: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Languages and Regions

Page 10: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Languages and Regions

Page 11: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Languages and Regions

Page 12: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Languages and Regions

Page 13: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Languages and Regions

Page 14: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

InternationalizationPreparing your App

App Data

Localizable Data

Page 15: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Page 16: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Page 17: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Separates localizable data from the rest of your app

Page 18: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Separates localizable data from the rest of your app• Images, sounds, movies, documentation

Page 19: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Separates localizable data from the rest of your app• Images, sounds, movies, documentation

• User-facing text

Page 20: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Separates localizable data from the rest of your app• Images, sounds, movies, documentation

• User-facing text

• …even in your source code!

Page 21: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Framework Support

Localization support is pervasive in the system frameworks

Separates localizable data from the rest of your app• Images, sounds, movies, documentation

• User-facing text

• …even in your source code!

Extremely simple to use

Page 22: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

Page 23: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

Internationalize strings for your interface in your source code

Page 24: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

Internationalize strings for your interface in your source code

Lets you keep “nice” strings in your code, including format strings

Page 25: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

Internationalize strings for your interface in your source code

Lets you keep “nice” strings in your code, including format strings

No explicit loading/management of localized strings needed at runtime

Page 26: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

Internationalize strings for your interface in your source code

Lets you keep “nice” strings in your code, including format strings

No explicit loading/management of localized strings needed at runtime

Easily keep separate string tables with NSLocalizedStringFromTable()

Page 27: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

label.text = [NSString stringWithFormat: @"%@ is %d meters tall", mountain.name, mountain.height];

Page 28: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

label.text = [NSString stringWithFormat: NSLocalizedString(@"%@ is %d meters tall", @"Name and height (in meters) of a mountain"), mountain.name, mountain.height]; !

Page 29: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

label.text = [NSString localizedStringWithFormat: NSLocalizedString(@"%@ is %d meters tall", @"Name and height (in meters) of a mountain"), mountain.name, mountain.height]; !

Page 30: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSLocalizedString()

label.text = String.localizedStringWithFormat( NSLocalizedString("%@ is %d meters tall", comment:"Name and height (in meters) of a mountain"), mountain.name, mountain.height)

Page 31: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Localizable.strings

/* Name and height (in meters) of a mountain */ "%@ is %d meters tall" = "%1$@ is %2$d meters tall";

Page 32: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Localizable.strings

/* Name and height (in meters) of a mountain */ "%@ is %d meters tall" = "%1$@ is %2$d meters tall";

Page 33: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Localizable.strings

/* Name and height (in meters) of a mountain */ "%@ is %d meters tall" = "%1$@ is %2$d meters tall";

Page 34: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Localizable.strings

/* Name and height (in meters) of a mountain */ "%@ is %d meters tall" = "%1$@ is %2$d meters tall";

Page 35: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Localizable.strings

/* Name and height (in meters) of a mountain */ "%@ is %d meters tall" = "%2$d meters is the height of %1$@";

Page 36: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Page 37: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Converts between objects and human-readable text

Page 38: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Converts between objects and human-readable text

For both presenting and interpreting text

Page 39: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Converts between objects and human-readable text

For both presenting and interpreting text

Uses the current locale by default

Page 40: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateStyle = NSDateFormatterMediumStyle; formatter.timeStyle = NSDateFormatterNoStyle;

Page 41: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateStyle = NSDateFormatterMediumStyle; formatter.timeStyle = NSDateFormatterNoStyle;

Page 42: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateStyle = NSDateFormatterMediumStyle; formatter.timeStyle = NSDateFormatterNoStyle;

Page 43: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateStyle = NSDateFormatterMediumStyle; formatter.timeStyle = NSDateFormatterNoStyle; !

NSDate *date = mountain.latestClimb.date; label.text = [formatter stringFromDate:date];

Page 44: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

let formatter = NSDateFormatter() formatter.dateStyle = .MediumStyle formatter.timeStyle = .NoStyle !

let date = mountain.latestClimb.date label.text = formatter.stringFromDate(date)

Page 45: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Page 46: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Page 47: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Numbers, currency, and byte counts

Page 48: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Numbers, currency, and byte counts

Health-related quantities

Page 49: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Numbers, currency, and byte counts

Health-related quantities• Energy

Page 50: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Numbers, currency, and byte counts

Health-related quantities• Energy

• Length

Page 51: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSFormatter

Dates, date components, and date/time intervals

Numbers, currency, and byte counts

Health-related quantities• Energy

• Length

• Mass

Page 52: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

Page 53: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

Standard way to access resources in your app

Page 54: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

Standard way to access resources in your app

Uses the most appropriate resource for current language and region

Page 55: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

Standard way to access resources in your app

Uses the most appropriate resource for current language and region

Directly supported by Xcode

Page 56: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

NSURL *imageURL = [[NSBundle mainBundle] URLForResource:@"GameMenu" withExtension:@"png"]; !

UIImage *image = [UIImage imageWithContentsOfFile:imageURL.path]; !

attentionIcon.image = image;

Page 57: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

attentionIcon.image = [UIImage imageNamed:@"GameMenu"];

Page 58: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

NSURL *welcomeURL = [[NSBundle mainBundle] URLForResource:@"Welcome" withExtension:@"m4a"]; !

AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:welcomeURL error:&error];

Page 59: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

NSBundle

let welcomeURL = NSBundle.mainBundle().URLForResource("Welcome", withExtension:"m4a") !

let player = AVAudioPlayer(contentsOfURL:welcomeURL, error:&error)

Page 60: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Xcode

Page 61: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Xcode

Use base internationalization and Auto Layout to internationalize your interface

Page 62: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Xcode

Use base internationalization and Auto Layout to internationalize your interface

Localize other project resources as needed

Page 63: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Xcode

Use base internationalization and Auto Layout to internationalize your interface

Localize other project resources as needed

Preview your app when running and within Xcode

Page 64: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Base Internationalization

Page 65: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Base Internationalization

Works with Auto Layout to keepuser-facing text distinct from the interface objects themselves

Page 66: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Base Internationalization

Works with Auto Layout to keepuser-facing text distinct from the interface objects themselves

No need to adjust every xib or storyboard file for every supported localization

Page 67: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Page 68: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Images

Page 69: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Images

Sounds

Page 70: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Images

Sounds

Movies

Page 71: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Images

Sounds

Movies

Documentation

Page 72: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other Resources

Images

Sounds

Movies

Documentation

…any other kind of resource, really!

Page 73: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Graphic Placement Guide

Other ResourcesXcode and your App

Page 74: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Debug-Time Preview

Page 75: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Debug-Time Preview

Page 76: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Design-Time Preview

Page 77: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Design-Time Preview

Page 78: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Design-Time Preview

Page 79: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Identify strings for translations

Use base internationalization and Auto Layout

Localize other project resources

Internationalization

App Data

Step 1

Localizable Data

Page 80: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

DemoInternationalizing your project

Chris Hanson Xcode Software Engineer

Page 81: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization Summary

Page 82: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization Summary

Let the frameworks do the heavy lifting in your code

Page 83: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization Summary

Let the frameworks do the heavy lifting in your code

Use the debug-time preview to check region support

Page 84: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization Summary

Let the frameworks do the heavy lifting in your code

Use the debug-time preview to check region support

Take advantage of design-time preview via base internationalization

Page 85: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Internationalization Summary

Let the frameworks do the heavy lifting in your code

Use the debug-time preview to check region support

Take advantage of design-time preview via base internationalization

Localize other project resources as necessary

Page 86: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

LocalizationTranslating Your App

Hindi in India

Spanish in Mexico

Page 87: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

User Facing Strings

Page 88: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

How to gather from your project?

User Facing Strings

Page 89: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

How to gather from your project?

How to insert translations?

User Facing Strings

Page 90: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Export and ImportExchange user facing strings easily

Export

Project Resources

Page 91: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Export and ImportExchange user facing strings easily

Export

Project Resources

Page 92: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Export and ImportExchange user facing strings easily

Export

Project Resources

Import

Transport Format

Page 93: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

DemoLocalizing your project

Zoltan Foley-Fisher Xcode Software Engineer

Page 94: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Command Line

xcodebuild -exportLocalizations -project <project> -localizationPath <path> !

xcodebuild -importLocalizations -project <project> -localizationPath <path> !

Page 95: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Page 96: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Export and import Interface Builder and source strings

Page 97: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Export and import Interface Builder and source strings

Exchange strings in the widely accepted XLIFF format

Page 98: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

IterationUpdating your app

US English

Hindi in India

Spanish in Mexico

App Data

Page 99: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Iterate on Your App

Page 100: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Iterate on Your App

No need to put off localization to the end—Export and import at will

Page 101: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Iterate on Your App

No need to put off localization to the end—Export and import at will

Stay localized as you work, using previews to catch missing translations easily

Page 102: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Iterate on Your App

No need to put off localization to the end—Export and import at will

Stay localized as you work, using previews to catch missing translations easily

Prepare your app for right-to-left languages independently of translation

Page 103: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

DemoUpdating a localized project

Chris Hanson Xcode Software Engineer

Page 104: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Page 105: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Update translations as you go to keep your app current

Page 106: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Update translations as you go to keep your app current

Catch missing translations before your users

Page 107: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Summary

Update translations as you go to keep your app current

Catch missing translations before your users

Simulate many different behaviors to ensure your apps work for everyone

Page 108: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Reach a Global Audience

Page 109: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Reach a Global Audience

Apple's frameworks and tools make it easy!

Page 110: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Reach a Global Audience

Apple's frameworks and tools make it easy!

Take advantage of Xcode's new workflows

Page 111: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Reach a Global Audience

Apple's frameworks and tools make it easy!

Take advantage of Xcode's new workflows• XLIFF export and import

Page 112: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Reach a Global Audience

Apple's frameworks and tools make it easy!

Take advantage of Xcode's new workflows• XLIFF export and import

• Localization previews

Page 113: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Try It Out This Week!

Page 114: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Related Sessions

• Advanced Topics in Internationalization Russian Hill Tuesday 9:00AM

• Apps for China Get Together Folsom Wednesday 4:30PM

Page 115: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,

Labs

• Xcode and Localization Lab Tools Lab C Tuesday 2:00PM

• Internationalization Lab Frameworks Lab B Tuesday 3:15PM

Page 116: Localizing with Xcode 6 - Apple Developer...Framework Support Localization support is pervasive in the system frameworks Separates localizable data from the rest of your app • Images,