app frameworks #wwdc17 - apple developer...• uistackview • auto layout tvmlkit • templates •...
TRANSCRIPT
![Page 1: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/1.jpg)
#WWDC17
© 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
Joaquim Lobo Silva, Internationalization Software Engineer
•Localization Best Practices on tvOS • Session 248
App Frameworks
![Page 2: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/2.jpg)
![Page 3: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/3.jpg)
•Text •Layout and images •Exporting and testing
![Page 4: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/4.jpg)
•Text •Layout and images •Exporting and testing
![Page 5: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/5.jpg)
Text
![Page 6: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/6.jpg)
Text
Strings in Storyboards are localizable by default
![Page 7: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/7.jpg)
Text
Strings in Storyboards are localizable by default
In code, wrap strings with NSLocalizedString() calls
![Page 8: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/8.jpg)
Text
Strings in Storyboards are localizable by default
In code, wrap strings with NSLocalizedString() calls
Comments are extremely useful
![Page 9: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/9.jpg)
Text
Strings in Storyboards are localizable by default
In code, wrap strings with NSLocalizedString() calls
Comments are extremely usefullet instruction = NSLocalizedString("Subscribe", comment: "Button title, start subscription")
![Page 10: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/10.jpg)
Text
Strings in Storyboards are localizable by default
In code, wrap strings with NSLocalizedString() calls
Comments are extremely useful
![Page 11: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/11.jpg)
Text
Strings in Storyboards are localizable by default
In code, wrap strings with NSLocalizedString() calls
Comments are extremely useful
![Page 12: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/12.jpg)
Text
![Page 13: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/13.jpg)
Text
Not everything needs to be a localized string literal
![Page 14: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/14.jpg)
Text
Not everything needs to be a localized string literal
Formatters for numbers, dates and date intervals, units, etc.
![Page 15: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/15.jpg)
Text
Not everything needs to be a localized string literal
Formatters for numbers, dates and date intervals, units, etc.
let formatter = DateFormatter()
![Page 16: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/16.jpg)
Text
Not everything needs to be a localized string literal
Formatters for numbers, dates and date intervals, units, etc.
let formatter = DateFormatter()
formatter.timeStyle = .shortlet string = formatter.string(from: date) // 9:41 AM
![Page 17: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/17.jpg)
Text
Not everything needs to be a localized string literal
Formatters for numbers, dates and date intervals, units, etc.
let formatter = DateFormatter()
formatter.timeStyle = .shortlet string = formatter.string(from: date) // 9:41 AM
Measurements and Units WWDC 2016
Internationalization Best Practices WWDC 2016
![Page 18: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/18.jpg)
Remote Content
![Page 19: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/19.jpg)
Remote Content
Remote text should match your app's language
![Page 20: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/20.jpg)
Remote Content
Remote text should match your app's language• e.g. media content and descriptions
![Page 21: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/21.jpg)
Remote Content
Remote text should match your app's language• e.g. media content and descriptions
APIs to determine best language to display
![Page 22: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/22.jpg)
Remote Content
Remote text should match your app's language• e.g. media content and descriptions
APIs to determine best language to display
Considers regional variants and appropriate fallbacks
![Page 23: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/23.jpg)
Remote Content
Remote text should match your app's language• e.g. media content and descriptions
APIs to determine best language to display
Considers regional variants and appropriate fallbacks
Locale.preferredLanguages bundle.localizations bundle.preferredLocalizations
es-MX en, en-GB, es-ES, es-419, zh-Hans es-419
zh-CN en, es, fr, ja, ko, zh-Hans, zh-Hant zh-Hans
![Page 24: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/24.jpg)
// Get the localization the app is currently launched in
let currentLocalization = Bundle.main.preferredLocalizations.first
// Get best localization match from a list of available localizations
let available = myServerSupportedLanguages()
let matchedLocalization = Bundle.preferredLocalizations(from: available).first
![Page 25: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/25.jpg)
// Get the localization the app is currently launched in
let currentLocalization = Bundle.main.preferredLocalizations.first
// Get best localization match from a list of available localizations
let available = myServerSupportedLanguages()
let matchedLocalization = Bundle.preferredLocalizations(from: available).first
![Page 26: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/26.jpg)
// Get the localization the app is currently launched in
let currentLocalization = Bundle.main.preferredLocalizations.first
// Get best localization match from a list of available localizations
let available = myServerSupportedLanguages()
let matchedLocalization = Bundle.preferredLocalizations(from: available).first
![Page 27: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/27.jpg)
Text Summary
Use strings in Storyboards
Use NSLocalizedString
Use formatters
Use Bundle APIs to determine language for remote content
![Page 28: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/28.jpg)
•Text •Layout and images •Exporting and testing
![Page 29: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/29.jpg)
Layout
![Page 30: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/30.jpg)
Layout
Adapt for…
![Page 31: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/31.jpg)
Layout
Adapt for…• Different translation lengths
![Page 32: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/32.jpg)
Layout
Adapt for…• Different translation lengths
BackupEnglish
![Page 33: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/33.jpg)
Layout
Adapt for…• Different translation lengths
Backup VarmuuskopiointiEnglish Finnish
![Page 34: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/34.jpg)
Layout
Adapt for…• Different translation lengths
• Script directionality
Backup VarmuuskopiointiEnglish Finnish
![Page 35: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/35.jpg)
Layout
Adapt for…• Different translation lengths
• Script directionality
Backup VarmuuskopiointiEnglish Finnish
HelloEnglish
![Page 36: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/36.jpg)
Layout
Adapt for…• Different translation lengths
• Script directionality
Backup VarmuuskopiointiEnglish Finnish
Hello مرحبًاEnglish Arabic
![Page 37: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/37.jpg)
Layout in UIKit
![Page 38: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/38.jpg)
Layout in UIKit
UIStackView
![Page 39: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/39.jpg)
Layout in UIKit
UIStackView
1
23 4
![Page 40: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/40.jpg)
Layout in UIKit
UIStackView
1
23 4
Left-to-Right
![Page 41: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/41.jpg)
Layout in UIKit
UIStackView
1
23 4
Left-to-Right
Auto Layout: Leading/trailing constraints
![Page 42: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/42.jpg)
Layout in UIKit
UIStackView
1
23 4
Left-to-Right
Auto Layout: Leading/trailing constraints• Leading resolves to left in left-to-right, right in right-to-left
![Page 43: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/43.jpg)
Layout in UIKit
UIStackView
Right-to-Left
1
234
Auto Layout: Leading/trailing constraints • Leading resolves to left in left-to-right, right in right-to-left
![Page 44: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/44.jpg)
Layout in UIKit
UIStackView
Right-to-Left
1
234
Auto Layout: Leading/trailing constraints • Leading resolves to left in left-to-right, right in right-to-left
![Page 45: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/45.jpg)
Layout in TVMLKitNEW
![Page 46: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/46.jpg)
Templates do all the work
Layout in TVMLKitNEW
![Page 47: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/47.jpg)
Templates do all the work
For custom positioning:
Layout in TVMLKitNEW
![Page 48: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/48.jpg)
Templates do all the work
For custom positioning:• leading and trailing tv-position and tv-align
Layout in TVMLKitNEW
![Page 49: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/49.jpg)
Templates do all the work
For custom positioning:• leading and trailing tv-position and tv-align
- leading resolves to left in left-to-right, right in right-to-left
Layout in TVMLKitNEW
![Page 50: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/50.jpg)
Templates do all the work
For custom positioning:• leading and trailing tv-position and tv-align
- leading resolves to left in left-to-right, right in right-to-left• @(media layout-direction: rtl) media queries for margins and padding
Layout in TVMLKitNEW
![Page 51: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/51.jpg)
Templates do all the work
For custom positioning:• leading and trailing tv-position and tv-align
- leading resolves to left in left-to-right, right in right-to-left• @(media layout-direction: rtl) media queries for margins and padding
Layout in TVMLKit
Advances in TVMLKit Grand Ballroom B Tuesday 11:20AM
NEW
![Page 52: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/52.jpg)
Images
![Page 53: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/53.jpg)
Images
Universal
![Page 54: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/54.jpg)
Images
Universal Mirrored
![Page 55: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/55.jpg)
Images
Universal Mirrored
![Page 56: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/56.jpg)
Images
Universal Mirrored Dedicated
![Page 57: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/57.jpg)
Images
Universal Mirrored Dedicated
![Page 58: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/58.jpg)
Images
Universal Mirrored Dedicated
![Page 59: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/59.jpg)
Images
![Page 60: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/60.jpg)
Images
![Page 61: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/61.jpg)
Images
What’s New in International User Interfaces WWDC 2016
![Page 62: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/62.jpg)
Layout and Images Summary
UIKit • UIStackView • Auto Layout
TVMLKit • Templates • New direction APIs
![Page 63: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/63.jpg)
•Text •Layout and images •Exporting and testing
![Page 64: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/64.jpg)
Adding Languages to Your Project
![Page 65: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/65.jpg)
Adding Languages to Your Project
![Page 66: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/66.jpg)
Exporting Your Localizable Content
![Page 67: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/67.jpg)
Importing Translated Content
![Page 68: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/68.jpg)
Testing
![Page 69: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/69.jpg)
Testing
Xcode has several features for testing and verification
![Page 70: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/70.jpg)
Testing
Xcode has several features for testing and verification
Even if you don't speak the language!
![Page 71: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/71.jpg)
Testing
Xcode has several features for testing and verification
Even if you don't speak the language!• Localizability static analyzer
![Page 72: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/72.jpg)
Testing
Xcode has several features for testing and verification
Even if you don't speak the language! • Localizability static analyzer • Pseudolanguages
![Page 73: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/73.jpg)
Testing
![Page 74: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/74.jpg)
Testing
Xcode has several features for testing and verification
Even if you don't speak the language! • Localizability static analyzer • Pseudolanguages
Localizing with Xcode 9 Grand Ballroom B Tuesday 10:20AM
![Page 75: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/75.jpg)
Project Setup Summary
Add supported languages to your project
Export and import localizable content
Static analyzer and runtime pseudolanguages
![Page 76: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/76.jpg)
More Informationhttps://developer.apple.com/wwdc17/248
![Page 77: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/77.jpg)
Localizing with Xcode 9 Grand Ballroom B Tuesday 10:20AM
Advances in TVMLKit Grand Ballroom B Tuesday 11:20AM
Internationalization Best Practices WWDC 2016
What’s New in International User Interfaces WWDC 2016
Measurements and Units WWDC 2016
Related Sessions
![Page 78: App Frameworks #WWDC17 - Apple Developer...• UIStackView • Auto Layout TVMLKit • Templates • New direction APIs • Text • Layout and images • Exporting and testing Adding](https://reader033.vdocument.in/reader033/viewer/2022050315/5f776a7407bac85bfd5d0602/html5/thumbnails/78.jpg)