Support multi-language in Android:
It’s always a good practice to extract UI strings from your app code and keep them in an external file. Android makes this easy with a resources directory in each Android project.
If you created your project using the Android SDK Tools (readCreating an Android Project), the tools create a
res/
directory in the top level of the project. Within this res/
directory are subdirectories for various resource types. There are also a few default files such as res/values/strings.xml
, which holds your string values.
Create Locale Directories and String Files
To add support for more languages, create additional
values
directories inside res/
that include a hyphen and the ISO language code at the end of the directory name. For example, values-es/
is the directory containing simple resourcess for the Locales with the language code "es". Android loads the appropriate resources according to the locale settings of the device at run time. For more information, see Providing Alternative Resources.
This is the sample code for support multi-language in android applications.Please follow the simple steps to create multi-language support applications.
It is support multi-languages like french,dutch,Italian,Japanese,hindi.Likewise we can create localised strings to any language all texts,inputs. CLICK HERE for more details.
Step 1:
In res folder below create the five values folder named values-de,values-fr,values-hi,values-it,values-ja inside that folder create strings.xml
values-de/strings.xml :(Dutch)
<string name="welcome">Welkom!</string> <string name="Username">e-mail adres</string> <string name="password">wachtwoord</string> <string name="Login">Login</string> <string name="SignIn">inloggen</string> <string name="forgot_password">wachtwoord vergeten?</string> |
values-fr/strings.xml:(French)
<string name="welcome">Accueil !</string> <string name="Username">adresse e-mail</string> <string name="password">mot de passe</string> <string name="Login">connexion</string> <string name="SignIn">se connecter</string> <string name="forgot_password">mot de passe oublié?</string> |
values-hi/strings.xml :(Hindi)
<string name="welcome">स्वागतम</string> <string name="Username">ईमेल पता</string> <string name="password">पासवर्ड</string> <string name="Login">लॉगिन</string> <string name="SignIn">साइन इन</string> <string name="forgot_password">भूल गया पासवर्ड ?</string> |
Step 2:
create the activity_main.xml and copy the below code
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/RelativeLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#4682B4" android:orientation="vertical" > <LinearLayout android:id="@+id/TopLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="#778899" android:gravity="center" android:orientation="horizontal" android:weightSum="10" > <TextView android:id="@+id/Logintitle" android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center" android:text="@string/Login" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#FFFFFF" android:textSize="20dp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/loginEmail" android:layout_alignParentLeft="true" android:layout_marginBottom="37dp" android:gravity="right" android:orientation="horizontal" > <TextView android:id="@+id/txtEmailid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.03" android:text="@string/Username" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" /> </LinearLayout> <EditText android:id="@+id/loginEmail" android:layout_width="match_parent" android:layout_height="40dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:ems="10" android:inputType="textEmailAddress" android:textStyle="bold" > <requestFocus /> </EditText> <TextView android:id="@+id/forgotPassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" android:layout_marginTop="23dp" android:autoLink="all" android:linksClickable="true" android:text="@string/forgot_password" android:textStyle="bold" /> <Button android:id="@+id/submit" style="?android:attr/buttonStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/forgotPassword" android:text="@string/SignIn" android:textStyle="bold" /> <TextView android:id="@+id/welcome" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/linearLayout1" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/TopLayout" android:layout_centerHorizontal="true" android:text="@string/welcome" android:gravity="center" android:textColor="#483D8B" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="24sp" android:textStyle="bold" /> </RelativeLayout> |
create the MainActivity.java and copy the below code
import android.app.Activity; import android.os.Bundle; import android.view.Window; public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); } } |
Screenshots:
1 comment:
To translate Android software, you can use the localization tool https://poeditor.com which is very simple to use and makes managing collaborative software localization a lot faster.
Post a Comment