<p>Android is one of the most popular operating system runs on many devices in many regions and growing day by day. When you want your app to support wider audience ,it is always a good idea to make the app localized.To reach the most users, your app should handle text, audio files, numbers, currency, and graphics in ways appropriate to the locales where your app is used.</p>
<p>But this tutorial only covers localizing strings i.e supporting multiple languages.Language plays a crucial role in the overall interface of the app and it is great if you can append more languages to it to make your app globally successful.</p>
<p>In this article we are going to build a Multi-Language supported app that supports <span style="color: #008000;"><strong>French</strong>, <strong>Dutch</strong>, <strong>Hindi</strong></span> and <span style="color: #008000;"><strong>Japanese</strong></span>.</p>
<h3><span style="color: #000080;">How String Localization Works</span></h3>
<p>By default android considers English as primary language and loads the string resources from <span style="color: #008000;"><strong>res ⇒ values ⇒ strings.xml</strong></span>. When you want to add support for another language, you need to create a values folder by appending an Hyphen and the ISO language code. For example if you want to add support for <span style="color: #008000;"><strong>French</strong></span>, you should create a values folder named <span style="color: #008000;"><strong>values-fr</strong> </span>and keep a<span style="color: #008000;"> <strong>strings.xml</strong></span> file in it with all the strings translated into French language.</p>
<p>In brief the localization works as follows</p>
<p><strong>1</strong>. When user changes the device language through <strong>Settings ⇒ Language &; Input</strong>, android OS itself checks for appropriate language resources in the app. (Let’s say user is selecting French)</p>
<p><strong>2</strong>. If the app supports selected language, android looks for it’s string resources in values-(ISO language Code) folder in the project. (For french it loads the string values from <strong>values-fr/string.xml</strong>)</p>
<p><strong>3</strong>. If the supported language strings.xml misses any string value, android always loads the missing strings from default strings.xml file i.e values/strings.xml</p>
<p>So it is mandatory that the default stings.xml file should contains all the string values that app <span style="color: #008000;">uses.</span> Other wise the app will crash with Force Close error.</p>
<h3><span style="color: #000080;">How to use string in xml and in java code</span></h3>
<p>While you are supporting multiple languages, you should consider below as a best practice while defining the strings. Always declare the string in <strong>strings.xml</strong> only.</p>
<pre><code><;string name="personal_info">;Personal Information<;/string>;</code></pre>
<p>When referring it in xml, use @strings notation.</p>
<div>
<div id="highlighter_286141" class="syntaxhighlighter nogutter xml">
<pre><code><;TextView ... 
android:text="@string/personal_information">;</code></pre>
</div>
</div>
<p>When defining the string through java code, use R.string</p>
<div>
<pre><code>personalInfo.setText(R.string.personal_info);</code></pre>
<h3><span style="color: #000080;">Creating New Project</span></h3>
<p><strong>1</strong>. Create a new project in <span style="color: #008000;"><strong>Android Studio</strong></span> from <span style="color: #008000;"><strong>File ⇒ New Project</strong> </span>by filling the required details. When it prompts you to select the activity, choose <span style="color: #008000;"><strong>Empty Activity</strong></span> and continue.</p>
<p><strong>2</strong>. Under <span style="color: #008000;"><strong>drawable</strong></span> folder create one file named <span style="color: #008000;"><strong>btn_background.xml</strong></span> with following contents. These files are not related to language support, but just to give nice rounded corners to buttons.</p>
<p><span style="color: #0000ff;"><strong>btn_background.xml</strong></span></p>
<pre><code><;?xml version="1.0" encoding="utf-8"?>;
<;selector xmlns:android="http://schemas.android.com/apk/res/android">;

 <;item>;
 <;shape android:shape="rectangle">;
 <;solid android:color="@android:color/holo_orange_light" />;
 <;stroke android:width="1dp" android:color="#ff3340" />;
 <;corners android:radius="5dp" />;
 <;/shape>;
 <;/item>;
<;/selector>;</code></pre>
<p><strong>3</strong>. Open <span style="color: #008000;"><strong>strings.xml</strong></span> located under <span style="color: #008000;"><strong>values</strong></span> folder and add following strings. These are default English language strings.</p>
<p><span style="color: #0000ff;"><strong>strings.xml</strong></span></p>
<pre><code><;?xml version="1.0" encoding="utf-8"?>;
<;resources>;
<;string name="app_name">;MultilingualApp<;/string>;
<;string name="personal_information">;Personal Information<;/string>;
<;string name="name">;Name<;/string>;
<;string name="gender">;Gender<;/string>;
<;string name="date_of_birth">;DateOfBirth<;/string>;
<;string name="country">;Country<;/string>;
<;string name="city">;City<;/string>;
<;string name="phone_number">;Phone Number<;/string>;
<;string name="email">;Email<;/string>;
<;string name="send">;SEND<;/string>;
<;/resources>;</code></pre>
<p><strong>4</strong>. Now under <span style="color: #008000;"><strong>res</strong></span> folder create four folders named <span style="color: #008000;"><strong>values-nl</strong>, <strong>values-fr</strong>, <strong>values-hi</strong>, <strong>values-ja</strong></span> and a <span style="color: #008000;"><strong>strings.xml</strong></span> file in each of the folders.</p>
<p>Your project should look like this once you created the required files/folders.</p>
<p><img class="alignnone wp-image-771 size-full" src="https://c1ctech.com/wp-content/uploads/2018/08/value.png" alt="" width="405" height="303" /></p>
<p> ;</p>
<p>Now translate the strings into respected languages and place them in appropriate strings.xml files as shown below:</p>
<ul>
<li>French <span style="color: #0000ff;"><strong>values-fr/strings.xml</strong></span></li>
</ul>
<pre style="padding-left: 30px;"><code><;?xml version="1.0" encoding="utf-8"?>;
<;resources>;
 <;string name="personal_information">;Informations personnelles<;/string>;
 <;string name="name">;prénom<;/string>;
 <;string name="gender">;le genre <;/string>;
 <;string name="date_of_birth">;date de naissance<;/string>;
 <;string name="country">;pays <;/string>;
 <;string name="city">;ville<;/string>;
 <;string name="phone_number">;numéro de telephone<;/string>;
 <;string name="email">;email<;/string>;
 <;string name="send">;envoyer<;/string>;
<;/resources>;
</code></pre>
<ul>
<li>Hindi <span style="color: #0000ff;"><strong>values-hi/strings.xml</strong></span></li>
</ul>
<pre style="padding-left: 30px;"><code><;?xml version="1.0" encoding="utf-8"?>;
<;resources>;
 <;string name="personal_information">;वà¥à¤¯à¤à¥à¤¤à¤¿à¤à¤¤ à¤à¤¾à¤¨à¤à¤¾à¤°à¥ <;/string>;
 <;string name="name">;नाम <;/string>;
 <;string name="gender">;लिà¤à¤ <;/string>;
 <;string name="date_of_birth">;à¤à¤¨à¥à¤® à¤à¥ तारà¥à¤ <;/string>;
 <;string name="country">;दà¥à¤¶ <;/string>;
 <;string name="city">;शहर <;/string>;
 <;string name="phone_number">;फ़à¥à¤¨ नà¤à¤¬à¤° <;/string>;
 <;string name="email">;à¤à¤®à¥à¤² <;/string>;
 <;string name="send">;à¤à¥à¤à¥à¤<;/string>;
<;/resources>;

</code></pre>
<ul>
<li>Japanese<span style="color: #0000ff;"> <strong>values-ja/strings.xml </strong></span></li>
</ul>
<pre style="padding-left: 30px;"><code><;?xml version="1.0" encoding="utf-8"?>;
<;resources>;
 <;string name="personal_information">;å人æ å ±<;/string>;
 <;string name="name">;å<;/string>;
 <;string name="gender">;æ§å¥ <;/string>;
 <;string name="date_of_birth">;çå¹´ææ¥<;/string>;
 <;string name="country">;å½ <;/string>;
 <;string name="city">;ã·ãã£<;/string>;
 <;string name="phone_number">;é»è©±çªå·<;/string>;
 <;string name="email">;Eã¡ã¼ã«<;/string>;
 <;string name="send">;éä¿¡ãã<;/string>;
<;/resources>;
</code></pre>
<ul>
<li>Dutch <span style="color: #0000ff;"><strong>values-nl/strings.xml </strong></span></li>
</ul>
<pre style="padding-left: 30px;"><code><;?xml version="1.0" encoding="utf-8"?>;
<;resources>;
 <;string name="personal_information">;Persoonlijke informative<;/string>;
 <;string name="name">;naam<;/string>;
 <;string name="gender">;geslacht <;/string>;
 <;string name="date_of_birth">;geboortedatum<;/string>;
 <;string name="country">;land <;/string>;
 <;string name="city">;stad<;/string>;
 <;string name="phone_number">;telefoonnummer<;/string>;
 <;string name="email">;e-mail<;/string>;
 <;string name="send">;sturen<;/string>;
<;/resources>;
</code></pre>
<p><strong>5</strong>. Open your <span style="color: #0000ff;"> <span style="color: #008000;"><strong>activity_main.xml </strong></span></span>and add the following content to create a simple layout.</p>
<p><span style="color: #0000ff;"><strong>activity_main.xml</strong></span></p>
<pre><code><;?xml version="1.0" encoding="utf-8"?>;
<;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:layout_margin="5dp"
 android:orientation="vertical"
 tools:context=".MainActivity">;

 <;TextView
 android:id="@+id/tv_personal_info"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_marginTop="18dp"
 android:text="@string/personal_information"
 android:textColor="@android:color/holo_orange_dark"
 android:textSize="20sp"
 android:textStyle="bold"
 />;


 <;EditText
 android:id="@+id/et_name"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="10dp"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/name"
 android:inputType="text"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp" />;

 <;LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="5dp"
 android:orientation="horizontal">;

 <;EditText
 android:id="@+id/et_gender"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/gender"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp" />;

 <;EditText
 android:id="@+id/et_dob"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_weight="1"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/date_of_birth"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp" />;
 <;/LinearLayout>;

 <;LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="5dp"
 android:orientation="horizontal">;

 <;EditText
 android:id="@+id/et_country"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/country"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp" />;

 <;EditText
 android:id="@+id/et_city"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_marginLeft="5dp"
 android:layout_weight="1"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/city"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp" />;
 <;/LinearLayout>;


 <;EditText
 android:id="@+id/et_phone"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="5dp"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/phone_number"
 android:inputType="phone"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp"

 />;

 <;EditText
 android:id="@+id/et_email"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="5dp"
 android:background="@android:color/white"
 android:fontFamily="sans-serif"
 android:hint="@string/email"
 android:inputType="textEmailAddress"
 android:maxLines="1"
 android:padding="16dp"
 android:textColor="@android:color/black"
 android:textColorHint="@color/hint_color"
 android:textSize="14sp"

 />;

 <;Button
 android:id="@+id/btn_send"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center"
 android:layout_marginTop="18dp"
 android:background="@drawable/btn_background"
 android:text="@string/send"
 android:textColor="@android:color/white"
 android:textSize="14sp"
 android:textStyle="bold" />;

<;/LinearLayout>;</code></pre>
<p><strong>6</strong>. Open your <span style="color: #008000;"><strong>MainActivity.java</strong></span> and make sure that it has following code. This code will be added automatically when you create new project.</p>
<p><span style="color: #0000ff;"><strong>MainActivity.java</strong></span></p>
<pre><code>package com.c1ctech.multilingualapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 }
}</code></pre>
<p>Now if you run the project you should see the app in English (assuming that your device is set to English language)</p>
<!-- WP QUADS Content Ad Plugin v. 2.0.98.1 -->
<div class="quads-location quads-ad2" id="quads-ad2" style="float:none;margin:0px;">

</div>

<p> ;</p>
<div class="image"><img class="aligncenter wp-image-769 size-full" src="https://c1ctech.com/wp-content/uploads/2018/08/Screenshot_2018-08-24-13-38-281.png" alt="" width="480" height="800" /></div>
<div></div>
<div>
<h3><span style="color: #000080;">Testing Other Languages</span></h3>
<p>In order to see the app in other languages follow below steps .</p>
<p><strong>1</strong>. On the device go to <span style="color: #008000;"><strong>Settings ⇒ Language &; Input</strong></span><br />
<strong>2</strong>. Select the <span style="color: #008000;"><strong>Language</strong></span> and choose the language that you supported in the app.</p>
<p><strong><span style="color: #0000ff;">MultilingualApp using French</span></strong></p>
<p><img class="aligncenter wp-image-770 size-full" src="https://c1ctech.com/wp-content/uploads/2018/08/Screenshot_2018-08-24-13-39-361.png" alt="" width="480" height="800" /></p>
<p> ;</p>
<p><strong><span style="color: #0000ff;">MultilingualApp using Hindi</span></strong></p>
<p><img class="aligncenter wp-image-788 " src="https://c1ctech.com/wp-content/uploads/2018/08/Screenshot_2018-09-02-22-19-311-576x1024.png" alt="" width="495" height="880" /></p>
<p> ;</p>
<h3><span style="color: #000080;">Android Localization Language ISO Codes</span></h3>
<p>Below table give you ISO languages codes for all the languages that android supports.</p>
<div class="application-main " role="main">
<div class="">
<div id="js-repo-pjax-container" data-pjax-container="">
<div class="container new-discussion-timeline experiment-repo-nav ">
<div class="repository-content ">
<div id="readme" class="Box Box--condensed instapaper_body md">
<div class="Box-body p-6">
<article class="markdown-body entry-content">
<table border="1">
<tbody>
<tr>
<td><b>Locale Name</b></td>
<td><b>locale code</b></td>
<td><b>variant (country)</b></td>
<td><b>values folder name</b></td>
</tr>
<tr>
<td>Afrikaans</td>
<td>af</td>
<td></td>
<td>values-af</td>
</tr>
<tr>
<td>Aghem</td>
<td>agq</td>
<td></td>
<td>values-agq</td>
</tr>
<tr>
<td>Akan</td>
<td>ak</td>
<td></td>
<td>values-ak</td>
</tr>
<tr>
<td>Amharic</td>
<td>am</td>
<td></td>
<td>values-am</td>
</tr>
<tr>
<td>Arabic</td>
<td>ar</td>
<td></td>
<td>values-ar</td>
</tr>
<tr>
<td>Assamese</td>
<td>as</td>
<td></td>
<td>values-as</td>
</tr>
<tr>
<td>Asu</td>
<td>asa</td>
<td></td>
<td>values-asa</td>
</tr>
<tr>
<td>Azerbaijani</td>
<td>az</td>
<td></td>
<td>values-az</td>
</tr>
<tr>
<td>Basaa</td>
<td>bas</td>
<td></td>
<td>values-bas</td>
</tr>
<tr>
<td>Belarusian</td>
<td>be</td>
<td></td>
<td>values-be</td>
</tr>
<tr>
<td>Bemba</td>
<td>bem</td>
<td></td>
<td>values-bem</td>
</tr>
<tr>
<td>Bena</td>
<td>bez</td>
<td></td>
<td>values-bez</td>
</tr>
<tr>
<td>Bulgarian</td>
<td>bg</td>
<td></td>
<td>values-bg</td>
</tr>
<tr>
<td>Bambara</td>
<td>bm</td>
<td></td>
<td>values-bm</td>
</tr>
<tr>
<td>Bengali</td>
<td>bn</td>
<td></td>
<td>values-bn</td>
</tr>
<tr>
<td>Tibetan</td>
<td>bo</td>
<td></td>
<td>values-bo</td>
</tr>
<tr>
<td>Breton</td>
<td>br</td>
<td></td>
<td>values-br</td>
</tr>
<tr>
<td>Bodo</td>
<td>brx</td>
<td></td>
<td>values-brx</td>
</tr>
<tr>
<td>Bosnian</td>
<td>bs</td>
<td></td>
<td>values-bs</td>
</tr>
<tr>
<td>Catalan</td>
<td>ca</td>
<td></td>
<td>values-ca</td>
</tr>
<tr>
<td>Chiga</td>
<td>cgg</td>
<td></td>
<td>values-cgg</td>
</tr>
<tr>
<td>Cherokee</td>
<td>chr</td>
<td></td>
<td>values-chr</td>
</tr>
<tr>
<td>Czech</td>
<td>cs</td>
<td></td>
<td>values-cs</td>
</tr>
<tr>
<td>Welsh</td>
<td>cy</td>
<td></td>
<td>values-cy</td>
</tr>
<tr>
<td>Danish</td>
<td>da</td>
<td></td>
<td>values-da</td>
</tr>
<tr>
<td>Taita</td>
<td>dav</td>
<td></td>
<td>values-dav</td>
</tr>
<tr>
<td>German</td>
<td>de</td>
<td></td>
<td>values-de</td>
</tr>
<tr>
<td>Zarma</td>
<td>dje</td>
<td></td>
<td>values-dje</td>
</tr>
<tr>
<td>Duala</td>
<td>dua</td>
<td></td>
<td>values-dua</td>
</tr>
<tr>
<td>Jola-Fonyi</td>
<td>dyo</td>
<td></td>
<td>values-dyo</td>
</tr>
<tr>
<td>Dzongkha</td>
<td>dz</td>
<td></td>
<td>values-dz</td>
</tr>
<tr>
<td>Embu</td>
<td>ebu</td>
<td></td>
<td>values-ebu</td>
</tr>
<tr>
<td>Ewe</td>
<td>ee</td>
<td></td>
<td>values-ee</td>
</tr>
<tr>
<td>Greek</td>
<td>el</td>
<td></td>
<td>values-el</td>
</tr>
<tr>
<td>English</td>
<td>en</td>
<td></td>
<td>values-en</td>
</tr>
<tr>
<td>Esperanto</td>
<td>eo</td>
<td></td>
<td>values-eo</td>
</tr>
<tr>
<td>Spanish</td>
<td>es</td>
<td></td>
<td>values-es</td>
</tr>
<tr>
<td>Estonian</td>
<td>et</td>
<td></td>
<td>values-et</td>
</tr>
<tr>
<td>Estonian (Estonia)</td>
<td>et</td>
<td>EE</td>
<td>values-et-rEE</td>
</tr>
<tr>
<td>Basque</td>
<td>eu</td>
<td></td>
<td>values-eu</td>
</tr>
<tr>
<td>Basque (Spain)</td>
<td>eu</td>
<td>ES</td>
<td>values-eu-rES</td>
</tr>
<tr>
<td>Ewondo</td>
<td>ewo</td>
<td></td>
<td>values-ewo</td>
</tr>
<tr>
<td>Ewondo (Cameroon)</td>
<td>ewo</td>
<td>CM</td>
<td>values-ewo-rCM</td>
</tr>
<tr>
<td>Persian</td>
<td>fa</td>
<td></td>
<td>values-fa</td>
</tr>
<tr>
<td>Persian (Afghanistan)</td>
<td>fa</td>
<td>AF</td>
<td>values-fa-rAF</td>
</tr>
<tr>
<td>Persian (Iran)</td>
<td>fa</td>
<td>IR</td>
<td>values-fa-rIR</td>
</tr>
<tr>
<td>Fulah</td>
<td>ff</td>
<td></td>
<td>values-ff</td>
</tr>
<tr>
<td>Fulah (Senegal)</td>
<td>ff</td>
<td>SN</td>
<td>values-ff-rSN</td>
</tr>
<tr>
<td>Finnish</td>
<td>fi</td>
<td></td>
<td>values-fi</td>
</tr>
<tr>
<td>Finnish (Finland)</td>
<td>fi</td>
<td>FI</td>
<td>values-fi-rFI</td>
</tr>
<tr>
<td>Filipino</td>
<td>fil</td>
<td></td>
<td>values-fil</td>
</tr>
<tr>
<td>Filipino (Philippines)</td>
<td>fil</td>
<td>PH</td>
<td>values-fil-rPH</td>
</tr>
<tr>
<td>Faroese</td>
<td>fo</td>
<td></td>
<td>values-fo</td>
</tr>
<tr>
<td>Faroese (Faroe Islands)</td>
<td>fo</td>
<td>FO</td>
<td>values-fo-rFO</td>
</tr>
<tr>
<td>French</td>
<td>fr</td>
<td></td>
<td>values-fr</td>
</tr>
<tr>
<td>Irish</td>
<td>ga</td>
<td></td>
<td>values-ga</td>
</tr>
<tr>
<td>Irish (Ireland)</td>
<td>ga</td>
<td>IE</td>
<td>values-ga-rIE</td>
</tr>
<tr>
<td>Galician</td>
<td>gl</td>
<td></td>
<td>values-gl</td>
</tr>
<tr>
<td>Galician (Spain)</td>
<td>gl</td>
<td>ES</td>
<td>values-gl-rES</td>
</tr>
<tr>
<td>Swiss German</td>
<td>gsw</td>
<td></td>
<td>values-gsw</td>
</tr>
<tr>
<td>Swiss German (Switzerland)</td>
<td>gsw</td>
<td>CH</td>
<td>values-gsw-rCH</td>
</tr>
<tr>
<td>Swiss German (Liechtenstein)</td>
<td>gsw</td>
<td>LI</td>
<td>values-gsw-rLI</td>
</tr>
<tr>
<td>Gujarati</td>
<td>gu</td>
<td></td>
<td>values-gu</td>
</tr>
<tr>
<td>Gujarati (India)</td>
<td>gu</td>
<td>IN</td>
<td>values-gu-rIN</td>
</tr>
<tr>
<td>Gusii</td>
<td>guz</td>
<td></td>
<td>values-guz</td>
</tr>
<tr>
<td>Gusii (Kenya)</td>
<td>guz</td>
<td>KE</td>
<td>values-guz-rKE</td>
</tr>
<tr>
<td>Manx</td>
<td>gv</td>
<td></td>
<td>values-gv</td>
</tr>
<tr>
<td>Manx (Isle of Man)</td>
<td>gv</td>
<td>IM</td>
<td>values-gv-rIM</td>
</tr>
<tr>
<td>Hausa</td>
<td>ha</td>
<td></td>
<td>values-ha</td>
</tr>
<tr>
<td>Hawaiian</td>
<td>haw</td>
<td></td>
<td>values-haw</td>
</tr>
<tr>
<td>Hawaiian (United States)</td>
<td>haw</td>
<td>US</td>
<td>values-haw-rUS</td>
</tr>
<tr>
<td>Hebrew</td>
<td>iw</td>
<td></td>
<td>values-iw</td>
</tr>
<tr>
<td>Hebrew (Israel)</td>
<td>iw</td>
<td>IL</td>
<td>values-iw-rIL</td>
</tr>
<tr>
<td>Hindi</td>
<td>hi</td>
<td></td>
<td>values-hi</td>
</tr>
<tr>
<td>Hindi (India)</td>
<td>hi</td>
<td>IN</td>
<td>values-hi-rIN</td>
</tr>
<tr>
<td>Croatian</td>
<td>hr</td>
<td></td>
<td>values-hr</td>
</tr>
<tr>
<td>Croatian (Bosnia and Herzegovina)</td>
<td>hr</td>
<td>BA</td>
<td>values-hr-rBA</td>
</tr>
<tr>
<td>Croatian (Croatia)</td>
<td>hr</td>
<td>HR</td>
<td>values-hr-rHR</td>
</tr>
<tr>
<td>Hungarian</td>
<td>hu</td>
<td></td>
<td>values-hu</td>
</tr>
<tr>
<td>Hungarian (Hungary)</td>
<td>hu</td>
<td>HU</td>
<td>values-hu-rHU</td>
</tr>
<tr>
<td>Armenian</td>
<td>hy</td>
<td></td>
<td>values-hy</td>
</tr>
<tr>
<td>Armenian (Armenia)</td>
<td>hy</td>
<td>AM</td>
<td>values-hy-rAM</td>
</tr>
<tr>
<td>Indonesian</td>
<td>in</td>
<td></td>
<td>values-in</td>
</tr>
<tr>
<td>Indonesian (Indonesia)</td>
<td>in</td>
<td>ID</td>
<td>values-in-rID</td>
</tr>
<tr>
<td>Igbo</td>
<td>ig</td>
<td></td>
<td>values-ig</td>
</tr>
<tr>
<td>Igbo (Nigeria)</td>
<td>ig</td>
<td>NG</td>
<td>values-ig-rNG</td>
</tr>
<tr>
<td>Sichuan Yi</td>
<td>ii</td>
<td></td>
<td>values-ii</td>
</tr>
<tr>
<td>Sichuan Yi (China)</td>
<td>ii</td>
<td>CN</td>
<td>values-ii-rCN</td>
</tr>
<tr>
<td>Icelandic</td>
<td>is</td>
<td></td>
<td>values-is</td>
</tr>
<tr>
<td>Icelandic (Iceland)</td>
<td>is</td>
<td>IS</td>
<td>values-is-rIS</td>
</tr>
<tr>
<td>Italian</td>
<td>it</td>
<td></td>
<td>values-it</td>
</tr>
<tr>
<td>Italian (Switzerland)</td>
<td>it</td>
<td>CH</td>
<td>values-it-rCH</td>
</tr>
<tr>
<td>Italian (Italy)</td>
<td>it</td>
<td>IT</td>
<td>values-it-rIT</td>
</tr>
<tr>
<td>Italian (San Marino)</td>
<td>it</td>
<td>SM</td>
<td>values-it-rSM</td>
</tr>
<tr>
<td>Japanese</td>
<td>ja</td>
<td></td>
<td>values-ja</td>
</tr>
<tr>
<td>Japanese (Japan)</td>
<td>ja</td>
<td>JP</td>
<td>values-ja-rJP</td>
</tr>
<tr>
<td>Ngomba</td>
<td>jgo</td>
<td></td>
<td>values-jgo</td>
</tr>
<tr>
<td>Kako</td>
<td>kkj</td>
<td></td>
<td>values-kkj</td>
</tr>
<tr>
<td>Kako (Cameroon)</td>
<td>kkj</td>
<td>CM</td>
<td>values-kkj-rCM</td>
</tr>
<tr>
<td>Kalaallisut</td>
<td>kl</td>
<td></td>
<td>values-kl</td>
</tr>
<tr>
<td>Kalaallisut (Greenland)</td>
<td>kl</td>
<td>GL</td>
<td>values-kl-rGL</td>
</tr>
<tr>
<td>Kalenjin</td>
<td>kln</td>
<td></td>
<td>values-kln</td>
</tr>
<tr>
<td>Kalenjin (Kenya)</td>
<td>kln</td>
<td>KE</td>
<td>values-kln-rKE</td>
</tr>
<tr>
<td>Khmer</td>
<td>km</td>
<td></td>
<td>values-km</td>
</tr>
<tr>
<td>Khmer (Cambodia)</td>
<td>km</td>
<td>KH</td>
<td>values-km-rKH</td>
</tr>
<tr>
<td>Kannada</td>
<td>kn</td>
<td></td>
<td>values-kn</td>
</tr>
<tr>
<td>Kannada (India)</td>
<td>kn</td>
<td>IN</td>
<td>values-kn-rIN</td>
</tr>
<tr>
<td>Korean</td>
<td>ko</td>
<td></td>
<td>values-ko</td>
</tr>
<tr>
<td>Korean (North Korea)</td>
<td>ko</td>
<td>KP</td>
<td>values-ko-rKP</td>
</tr>
<tr>
<td>Korean (South Korea)</td>
<td>ko</td>
<td>KR</td>
<td>values-ko-rKR</td>
</tr>
<tr>
<td>Konkani</td>
<td>kok</td>
<td></td>
<td>values-kok</td>
</tr>
<tr>
<td>Konkani (India)</td>
<td>kok</td>
<td>IN</td>
<td>values-kok-rIN</td>
</tr>
<tr>
<td>Kashmiri</td>
<td>ks</td>
<td></td>
<td>values-ks</td>
</tr>
<tr>
<td>Kashmiri (Arabic)</td>
<td>ks</td>
<td></td>
<td>values-ks-r_#Arab</td>
</tr>
<tr>
<td>Kashmiri (Arabic,India)</td>
<td>ks</td>
<td>IN</td>
<td>values-ks-rIN_#Arab</td>
</tr>
<tr>
<td>Nepali</td>
<td>ne</td>
<td></td>
<td>values-ne</td>
</tr>
<tr>
<td>Nepali (India)</td>
<td>ne</td>
<td>IN</td>
<td>values-ne-rIN</td>
</tr>
<tr>
<td>Nepali (Nepal)</td>
<td>ne</td>
<td>NP</td>
<td>values-ne-rNP</td>
</tr>
<tr>
<td>Dutch</td>
<td>nl</td>
<td></td>
<td>values-nl</td>
</tr>
<tr>
<td>Dutch (Aruba)</td>
<td>nl</td>
<td>AW</td>
<td>values-nl-rAW</td>
</tr>
<tr>
<td>Kwasio</td>
<td>nmg</td>
<td></td>
<td>values-nmg</td>
</tr>
<tr>
<td>Kwasio (Cameroon)</td>
<td>nmg</td>
<td>CM</td>
<td>values-nmg-rCM</td>
</tr>
<tr>
<td>Norwegian Nynorsk</td>
<td>nn</td>
<td></td>
<td>values-nn</td>
</tr>
<tr>
<td>Norwegian Nynorsk (Norway)</td>
<td>nn</td>
<td>NO</td>
<td>values-nn-rNO</td>
</tr>
<tr>
<td>Ngiemboon</td>
<td>nnh</td>
<td></td>
<td>values-nnh</td>
</tr>
<tr>
<td>Ngiemboon (Cameroon)</td>
<td>nnh</td>
<td>CM</td>
<td>values-nnh-rCM</td>
</tr>
<tr>
<td>Nuer</td>
<td>nus</td>
<td></td>
<td>values-nus</td>
</tr>
<tr>
<td>Nuer (Sudan)</td>
<td>nus</td>
<td>SD</td>
<td>values-nus-rSD</td>
</tr>
<tr>
<td>Nyankole</td>
<td>nyn</td>
<td></td>
<td>values-nyn</td>
</tr>
<tr>
<td>Nyankole (Uganda)</td>
<td>nyn</td>
<td>UG</td>
<td>values-nyn-rUG</td>
</tr>
<tr>
<td>Oromo</td>
<td>om</td>
<td></td>
<td>values-om</td>
</tr>
<tr>
<td>Oromo (Ethiopia)</td>
<td>om</td>
<td>ET</td>
<td>values-om-rET</td>
</tr>
<tr>
<td>Oromo (Kenya)</td>
<td>om</td>
<td>KE</td>
<td>values-om-rKE</td>
</tr>
<tr>
<td>Oriya</td>
<td>or</td>
<td></td>
<td>values-or</td>
</tr>
<tr>
<td>Oriya (India)</td>
<td>or</td>
<td>IN</td>
<td>values-or-rIN</td>
</tr>
<tr>
<td>Punjabi</td>
<td>pa</td>
<td></td>
<td>values-pa</td>
</tr>
<tr>
<td>Polish</td>
<td>pl</td>
<td></td>
<td>values-pl</td>
</tr>
<tr>
<td>Polish (Poland)</td>
<td>pl</td>
<td>PL</td>
<td>values-pl-rPL</td>
</tr>
<tr>
<td>Pashto</td>
<td>ps</td>
<td></td>
<td>values-ps</td>
</tr>
<tr>
<td>Pashto (Afghanistan)</td>
<td>ps</td>
<td>AF</td>
<td>values-ps-rAF</td>
</tr>
<tr>
<td>Portuguese</td>
<td>pt</td>
<td></td>
<td>values-pt</td>
</tr>
<tr>
<td>Romansh</td>
<td>rm</td>
<td></td>
<td>values-rm</td>
</tr>
<tr>
<td>Romansh (Switzerland)</td>
<td>rm</td>
<td>CH</td>
<td>values-rm-rCH</td>
</tr>
<tr>
<td>Rundi</td>
<td>rn</td>
<td></td>
<td>values-rn</td>
</tr>
<tr>
<td>Rundi (Burundi)</td>
<td>rn</td>
<td>BI</td>
<td>values-rn-rBI</td>
</tr>
<tr>
<td>Romanian</td>
<td>ro</td>
<td></td>
<td>values-ro</td>
</tr>
<tr>
<td>Romanian (Moldova)</td>
<td>ro</td>
<td>MD</td>
<td>values-ro-rMD</td>
</tr>
<tr>
<td>Romanian (Romania)</td>
<td>ro</td>
<td>RO</td>
<td>values-ro-rRO</td>
</tr>
<tr>
<td>Rombo</td>
<td>rof</td>
<td></td>
<td>values-rof</td>
</tr>
<tr>
<td>Rombo (Tanzania)</td>
<td>rof</td>
<td>TZ</td>
<td>values-rof-rTZ</td>
</tr>
<tr>
<td>Russian</td>
<td>ru</td>
<td></td>
<td>values-ru</td>
</tr>
<tr>
<td>Kinyarwanda</td>
<td>rw</td>
<td></td>
<td>values-rw</td>
</tr>
<tr>
<td>Kinyarwanda (Rwanda)</td>
<td>rw</td>
<td>RW</td>
<td>values-rw-rRW</td>
</tr>
<tr>
<td>Rwa</td>
<td>rwk</td>
<td></td>
<td>values-rwk</td>
</tr>
<tr>
<td>Rwa (Tanzania)</td>
<td>rwk</td>
<td>TZ</td>
<td>values-rwk-rTZ</td>
</tr>
<tr>
<td>Samburu</td>
<td>saq</td>
<td></td>
<td>values-saq</td>
</tr>
<tr>
<td>Samburu (Kenya)</td>
<td>saq</td>
<td>KE</td>
<td>values-saq-rKE</td>
</tr>
<tr>
<td>Sangu</td>
<td>sbp</td>
<td></td>
<td>values-sbp</td>
</tr>
<tr>
<td>Sangu (Tanzania)</td>
<td>sbp</td>
<td>TZ</td>
<td>values-sbp-rTZ</td>
</tr>
<tr>
<td>Shona</td>
<td>sn</td>
<td></td>
<td>values-sn</td>
</tr>
<tr>
<td>Shona (Zimbabwe)</td>
<td>sn</td>
<td>ZW</td>
<td>values-sn-rZW</td>
</tr>
<tr>
<td>Somali</td>
<td>so</td>
<td></td>
<td>values-so</td>
</tr>
<tr>
<td>Albanian</td>
<td>sq</td>
<td></td>
<td>values-sq</td>
</tr>
<tr>
<td>Serbian</td>
<td>sr</td>
<td></td>
<td>values-sr</td>
</tr>
<tr>
<td>Swedish</td>
<td>sv</td>
<td></td>
<td>values-sv</td>
</tr>
<tr>
<td>Swahili</td>
<td>sw</td>
<td></td>
<td>values-sw</td>
</tr>
<tr>
<td>Congo Swahili</td>
<td>swc</td>
<td></td>
<td>values-swc</td>
</tr>
<tr>
<td>Congo Swahili (Congo (DRC))</td>
<td>swc</td>
<td>CD</td>
<td>values-swc-rCD</td>
</tr>
<tr>
<td>Tamil</td>
<td>ta</td>
<td></td>
<td>values-ta</td>
</tr>
<tr>
<td>Telugu</td>
<td>te</td>
<td></td>
<td>values-te</td>
</tr>
<tr>
<td>Urdu</td>
<td>ur</td>
<td></td>
<td>values-ur</td>
</tr>
<tr>
<td>Uzbek</td>
<td>uz</td>
<td></td>
<td>values-uz</td>
</tr>
<tr>
<td>Vai</td>
<td>vai</td>
<td></td>
<td>values-vai</td>
</tr>
<tr>
<td>Vietnamese</td>
<td>vi</td>
<td></td>
<td>values-vi</td>
</tr>
<tr>
<td>Vietnamese (Vietnam)</td>
<td>vi</td>
<td>VN</td>
<td>values-vi-rVN</td>
</tr>
<tr>
<td>Vunjo</td>
<td>vun</td>
<td></td>
<td>values-vun</td>
</tr>
<tr>
<td>Chinese</td>
<td>zh</td>
<td></td>
<td>values-zh</td>
</tr>
<tr>
<td>Zulu</td>
<td>zu</td>
<td></td>
<td>values-zu</td>
</tr>
<tr>
<td>Zulu (South Africa)</td>
<td>zu</td>
<td>ZA</td>
<td>values-zu-rZA</td>
</tr>
</tbody>
</table>
</article>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer container-lg px-3" role="contentinfo">
<div class="position-relative d-flex flex-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "></div>
</div>
<div id="changelog">
<p>You can also get more language related ISO codes from <a href="https://github.com/championswimmer/android-locales"><strong><span style="color: #0000ff;">here</span></strong></a>.</p>
</div>
<p><strong><span style="color: #000080;">Note</span> :</strong> Right now I used <strong><a class="link" href="https://translate.google.co.in/" target="_blank" rel="nofollow noopener">Google Translate</a></strong> service to translate the strings into other languages.</p>
<p>I hope this tutorial is helpful for you in understanding how to build <span style="color: #000080;"><strong>MultiLanguage</strong></span> supported app.</p>
</div>
</div>


