Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTERNATIONALIZATION & LOCALIZATION HUY T. VU. DEFINITION Internationalization: deploying a computer software internationally Localization: adapting an.

Similar presentations


Presentation on theme: "INTERNATIONALIZATION & LOCALIZATION HUY T. VU. DEFINITION Internationalization: deploying a computer software internationally Localization: adapting an."— Presentation transcript:

1 INTERNATIONALIZATION & LOCALIZATION HUY T. VU

2 DEFINITION Internationalization: deploying a computer software internationally Localization: adapting an internationalized software for a specific region by translating into different languages and modifying contents to target the local market ***Problem in software industry: popular apps should be used internationally, but not everyone speaks the same language.

3 EXAMPLE: THE FIFA WORLD CUP 2014 32 national teams participate in one of the world largest sport events Millions of fans WILL gather in Brazil & billions watching at home Demand for mobile apps: Info, results, venues, analyses… Travels, hotels, restaurant…. Photos, clips…. *** very diverse languages and cultures

4 HOW TO LOCALIZE RESOURCES? When localizing, there are 2 types of resource Changing resources: String, Drawable, Animation, Audio…. Unchanging resources: Layout  Solution: create sub-folders with codes (normally follow ISO 639-1 standard)

5 SAMPLE: INTERNATIONAL APP Create an empty app and define strings.xml as in the picture

6 Make a Japanese version Step: 1.create a sub-folder “values-ja” under folder “res” 2.within that folder, create strings.xml file and prepare texts for 4 different string variables *** ja is ISO 639-1 code for Japanese, list of language codes can be found here: http://en.wikipedia.org/wiki/List_of_ISO_639- 1_codes

7 Use custom locale on emulator

8 TYPICAL ISSUE #1 NOT all languages are supported on every devices (especially lesser popular languages such as those used by African nations)  Need another approach

9 CHANGE LOCALE DYNAMICALLY STEP 1: for simplicity, create a RadioGroup of languages (this works better with Spinner in Android, but for simplicity, I use RadioGroup)

10 STEP 2: modify the AndroidManifest.xml file by adding android:configChanges=“locale” to every activity that intends to change locale dynamically

11 STEP 3: add codes in the activity to change locale and update configuration

12 TYPICAL ISSUE #2 Both England and the USA are qualified for the World Cup. Both countries use English, but… England Football WC Plaza Fuel … USA Soccer Restroom Mall Gas …

13 Localization: Make another subfolder specifying Great Britain Assuming the default values are for US-localization Only include the strings that are different res/values/strings.xml res/values-en-rGB/strings.xml

14 Folder name convention: values-xx-rYY xx is ISO 639-1 language code (2 letters) r is region (must have) YY is ISO 3166-1 country code (2 letters) Use Locale constructor to interpret the code

15 People would like to see information about their national team  localize “drawable” resource TYPICAL ISSUE #3 For images, it’s a little different, the previous resource must be nullified before setting new resource

16 TYPICAL ISSUE #4 Date and Time format varies between countries To localize date and time format, add the following codes

17 DESIGN STANDARDS FOR INTERNATIONALIZATION Names are NOT translatable or localizable Internationalized conventions are used by default (SI units, symbols,…)

18 WHAT ABOUT THIS? Design’s rule of thumb: ROMANIZATION Texts should be displayed in Romanized form

19 THANK YOU


Download ppt "INTERNATIONALIZATION & LOCALIZATION HUY T. VU. DEFINITION Internationalization: deploying a computer software internationally Localization: adapting an."

Similar presentations


Ads by Google