Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Android 기기에서 현재 설정된 언어 확인하는 방법

Android 애플리케이션을 개발할 때 다국어 지원(국제화, i18n)을 구현하려면 현재 기기에 설정된 언어가 무엇인지 파악해야 하는 경우가 많습니다. 이 글에서는 Locale 클래스를 활용해 Android 기기의 현재 언어와 국가 정보를 가져오는 방법을 단계별로 알아보겠습니다.

1단계: 새 프로젝트 생성

Android Studio를 실행하고 메뉴에서 File → New Project를 선택한 후, 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.

2단계: 레이아웃 파일 작성

res/layout/activity_main.xml 파일에 아래 코드를 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="#dde4dd"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:id="@+id/language"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <Button
        android:id="@+id/click"
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="click"/>
</LinearLayout>

위 레이아웃에는 하나의 TextView와 Button이 배치되어 있습니다. 사용자가 버튼을 클릭하면 기기의 국가명과 언어 정보를 가져와 TextView에 표시하도록 구성됩니다.

3단계: MainActivity 코드 작성

src/MainActivity.java 파일에 아래 코드를 추가합니다.

package com.example.andy.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {
    TextView language;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        language = findViewById(R.id.language);
        Button button = findViewById(R.id.click);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String languagename = Locale.getDefault().getDisplayLanguage();
                String country = Locale.getDefault().getCountry();
                language.setText("Language " + languagename + " Country name " + country);
            }
        });
    }
}

위 코드의 핵심은 Locale 클래스입니다. 이 클래스를 통해 기기에 설정된 표시 언어(Display Language)와 국가 코드(Country)를 손쉽게 조회할 수 있습니다.

String languagename = Locale.getDefault().getDisplayLanguage();
String country = Locale.getDefault().getCountry();
  • getDisplayLanguage(): 현재 설정된 언어 이름을 반환합니다. (예: 한국어, English)
  • getCountry(): 현재 설정된 국가 코드를 반환합니다. (예: KR, US)

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 Android 스마트폰을 컴퓨터에 연결한 상태라고 가정합니다. Android Studio에서 프로젝트의 액티비티 파일 중 하나를 열고 툴바의 Run 아이콘을 클릭한 후, 목록에서 자신의 모바일 기기를 선택하면 됩니다.

앱이 실행되면 초기 화면이 나타나고, 버튼을 클릭하면 아래와 같이 기기에 설정된 국가명과 언어가 화면에 표시됩니다.

Android 기기에서 현재 설정된 언어 확인하는 방법

Android 기기에서 현재 설정된 언어 확인하는 방법

추가 팁

참고로 최신 Android 개발 환경에서는 android.support.v7.app.AppCompatActivity 대신 androidx.appcompat.app.AppCompatActivity를 사용하는 것이 권장됩니다. 또한 언어 태그 전체(예: ko-KR)가 필요하다면 Locale.getDefault().toLanguageTag() 메서드를 활용할 수도 있습니다.