কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড অ্যাপে প্রোগ্রাম্যাটিক্যালি লোকেল (ভাষা) সেট করার পদ্ধতি


ভূমিকা

এই উদাহরণটি দেখাবে কিভাবে অ্যাপ্লিকেশনের ভিতর থেকে প্রোগ্রাম্যাটিক্যালি ভাষা (Locale) পরিবর্তন করতে হয়, যাতে ব্যবহারকারী সেটিংস-এ যাবার দরকার না পড়ে।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project নির্বাচন করুন।

ধাপ ২: লেআউট ফাইল (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:tools="https://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 
    <TextView 
        android:id="@+id/textView" 
        android:text="@string/Have_a_nice_day" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:textStyle="bold" 
        android:textSize="24sp"/> 
</RelativeLayout>

ধাপ ৩: স্পেনিশ স্ট্রিং রিসোর্স তৈরি করুন (values-es/strings.xml)

values ফোল্ডারের অনুলিপি করে values-es নামে একটি নতুন ফোল্ডার তৈরি করুন এবং strings.xml-এ স্পেনিশ অনুবাদ যোগ করুন:

<resources> 
    <string name="app_name">Sample</string> 
    <string name="Have_a_nice_day">Que tengas un buen día</string> 
</resources>

ধাপ ৪: মেইন এক্টিভিটি কোড (src/MainActivity.java)

import android.content.res.Configuration; 
import android.content.res.Resources; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.DisplayMetrics; 
import java.util.Locale; 

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setAppLocale("es"); // স্পেনিশ লোকেল সেট করুন
        setContentView(R.layout.activity_main); 
    } 

    private void setAppLocale(String localeCode){ 
        Resources resources = getResources(); 
        DisplayMetrics displayMetrics = resources.getDisplayMetrics(); 
        Configuration configuration = resources.getConfiguration(); 
        configuration.setLocale(new Locale(localeCode.toLowerCase())); 
        resources.updateConfiguration(configuration, displayMetrics); 
        configuration.locale = new Locale(localeCode.toLowerCase()); 
        resources.updateConfiguration(configuration, displayMetrics); 
    } 
}

ধাপ ৫: মেনিফেস্ট ফাইল (androidManifest.xml)

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> 
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/ic_launcher" 
        android:label="@string/app_name" 
        android:roundIcon="@mipmap/ic_launcher_round" 
        android:supportsRtl="true" 
        android:theme="@style/AppTheme"> 
        <activity android:name=".MainActivity"> 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
</manifest>

অ্যাপ্লিকেশন চালান

অ্যাপটি চালান। এটি স্বয়ংক্রিয়ভাবে স্পেনিশ ভাষায় "Que tengas un buen día" টেক্সটটি দেখাবে।


  1. অ্যান্ড্রয়েডে টেক্সটভিউয়ের লেআউট ওয়েট প্রোগ্রামেটিক্যালি সেট করা

  2. অ্যান্ড্রয়েডে প্রোগ্রামেটিক্যালি ব্যাকগ্রাউন্ড ড্রয়েবল সেট করা

  3. অ্যান্ড্রয়েডে Toast মেসেজ দেখানোর পদ্ধতি

  4. অ্যান্ড্রয়েড অ্যাপে প্রোগ্রামেটিক্যালি টেক্সট কপি-পেস্ট করা (Ctrl+C/V)