SlideShare a Scribd company logo
Affordable and efficient multi platform
localization. Case study
Contens
● Internaziolization vs Localization
● Android vs Ios
● How prepare it
● Our experience
Inernazilization VS Localization
Internazilization
Internationalization is the process of making your app able to
adapt to different languages, regions, and cultures.
Localization
Localization is the process of translating your app into
multiple languages.
Android vs IOS
Xibs & Storyboards
Localizible.strings
Strings.xml
The winner is ... ?
HOW PREPARE IT
Gold rule of Localization
USE FORMATTER INSTEAD OF
CONCATENATION
Usge of formatter
Hello, userName! You are (n) visitor.
Usage of formatter
Hello, userName! You are (n) visitor.
Usage of formatter
Hello, userName! You are (n) visitor.
Usage of formatter
Hello, userName! You are (n) visitor.
Remeber
(Android)%n$s != (Ios)%n$@
Quantity
Quantity in Android
Quantity in Android
Quantity in Ios
Quantity in Ios
Ukrainian example
Localization of other resources
LaMetricTime date Localization Example
LaMetricTime metrics Localization Example
LaMetricTime Localization of Backend responses
Other things to remeber
1. Localize images
2. Set correct layout
Common mistakes
Usage of string concatenation
Setting text directly
Magic methods insted of localizing plurals
Our experience
What we need to localize ?
1. Android app
2. Ios app
3. Cloud
4. Firmware
Chose translation service
OneSky UI
OneSky app
1. Fast translation
2. Translation is made by native speakers
3. Comfortable UI
4. Cheap price
5. Awesome quality
How making it 2x cheaper ?
● More than 95% of text and all resources in both
applications was the same.
● So why we need to pay 2x price for each Localization ?
Solution
ANDROID KEYS == IOS KEYS
How we make it
● IOS Localization contain only one file.
● All Storyboard & Xib texts are set from code
● All IOS keys changed to android keys
Results
● 95% of text resources was localized
● We need to localize only 2 files all the time
● Localization is 2x cheaper
How make Localization fast
● Take care about Localization from project beginig
● Use same keys for android & ios app
● Choose correct Localization Service
Thank you :)

More Related Content

Similar to Affordable and efficient multi platform localisation. case study

Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
i4consulting.org
 
Bringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile worldBringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile world
Laurent Sansonetti
 
Internationalisation In Rails
Internationalisation In RailsInternationalisation In Rails
Internationalisation In Rails
Rishav Dixit
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
myappconverter
 
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
Srijan Technologies
 
Internationlization
InternationlizationInternationlization
Internationlization
Tuan Ngo
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Asaf Saar
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0
PhoneGap
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
Craig Dunn
 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180
Mahmoud Samir Fayed
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Prabhat gangwar
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular Presentation
Knoldus Inc.
 
Introduction to Xamarin Development
Introduction to Xamarin DevelopmentIntroduction to Xamarin Development
Introduction to Xamarin Development
Isham Mohamed Iqbal
 
Once CODE to rule them all
Once CODE to rule them allOnce CODE to rule them all
Once CODE to rule them all
Herman Lintvelt
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
Sumantro Mukherjee
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
MoonTechnolabsPvtLtd
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
Mahmoud Samir Fayed
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approaches
Phuong Hoang Vu
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
Mahmoud Samir Fayed
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
Nick Landry
 

Similar to Affordable and efficient multi platform localisation. case study (20)

Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Bringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile worldBringing the Ruby language into the mobile world
Bringing the Ruby language into the mobile world
 
Internationalisation In Rails
Internationalisation In RailsInternationalisation In Rails
Internationalisation In Rails
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
 
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
[Srijan Wednesday Webinars] Building Full-Fledged Native Apps Using RubyMotion
 
Internationlization
InternationlizationInternationlization
Internationlization
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
Pender presentation 2.0
Pender presentation 2.0 Pender presentation 2.0
Pender presentation 2.0
 
Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular Presentation
 
Introduction to Xamarin Development
Introduction to Xamarin DevelopmentIntroduction to Xamarin Development
Introduction to Xamarin Development
 
Once CODE to rule them all
Once CODE to rule them allOnce CODE to rule them all
Once CODE to rule them all
 
Introduction to xamarin
Introduction to xamarin  Introduction to xamarin
Introduction to xamarin
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
 
The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181The Ring programming language version 1.5.2 book - Part 5 of 181
The Ring programming language version 1.5.2 book - Part 5 of 181
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approaches
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 

Affordable and efficient multi platform localisation. case study