Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

모바일 앱(안드로이드)

Android Kotlin으로 동적인 다국어 번역기 앱 만들기

Billcorea 2025. 1. 16. 15:01
반응형

이미지

 

Android Kotlin으로 동적인 다국어 번역기 앱 만들기

안녕하세요! 이번 포스트에서는 Google Translate API를 사용하여 여러 언어를 동적으로 번역할 수 있는 Android 앱을 만드는 방법을 소개하려고 합니다. 이 앱을 통해 사용자는 입력한 텍스트를 원하는 언어로 번역할 수 있습니다.

1. Google Translate API 설정

먼저 Google Translate API를 사용하기 위해 Google Cloud 프로젝트를 설정해야 합니다.

Google Cloud 프로젝트 설정

  1. Google Cloud Console에 접속하여 프로젝트를 생성합니다.
  2. "API 및 서비스" 섹션에서 "라이브러리"로 이동하여 "Cloud Translation API"를 활성화합니다.
  3. "사용자 인증 정보" 섹션에서 API 키를 생성합니다.

2. Gradle 설정

프로젝트의 build.gradle 파일에 다음 종속성을 추가합니다:

 
dependencies {
    implementation 'com.google.cloud:google-cloud-translate:2.0.0'
}

3. 번역 기능 구현

다음은 Google Translate API를 사용한 번역 기능의 구현 예제입니다:

 
import com.google.cloud.translate.Translate
import com.google.cloud.translate.TranslateOptions

class Translator(private val apiKey: String) {

    private val translate: Translate = TranslateOptions.newBuilder().setApiKey(apiKey).build().service

    fun translateText(text: String, targetLanguage: String): String {
        val translation = translate.translate(
            text,
            Translate.TranslateOption.targetLanguage(targetLanguage)
        )
        return translation.translatedText
    }
}

4. Android UI 구현

간단한 UI를 통해 사용자가 입력한 텍스트를 여러 언어로 번역할 수 있도록 합니다. activity_main.xml 파일을 다음과 같이 설정합니다:

 
<!-- res/layout/activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/inputText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter text to translate" />

    <Spinner
        android:id="@+id/languageSpinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/language_codes" />

    <Button
        android:id="@+id/translateButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Translate" />

    <TextView
        android:id="@+id/translatedText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="16dp" />
</LinearLayout>

5. MainActivity 구현

MainActivity에서 번역 기능을 호출하도록 설정합니다:

 
// MainActivity.kt
import android.os.Bundle
import android.widget.*
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    private lateinit var translator: Translator

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // API 키를 입력하세요
        translator = Translator("YOUR_API_KEY")

        val inputText = findViewById<EditText>(R.id.inputText)
        val languageSpinner = findViewById<Spinner>(R.id.languageSpinner)
        val translateButton = findViewById<Button>(R.id.translateButton)
        val translatedText = findViewById<TextView>(R.id.translatedText)

        translateButton.setOnClickListener {
            val textToTranslate = inputText.text.toString()
            val targetLanguage = languageSpinner.selectedItem.toString()
            val translated = translator.translateText(textToTranslate, targetLanguage)
            translatedText.text = translated
        }
    }
}

6. 언어 코드 설정

번역할 언어 코드를 배열로 설정합니다. res/values/strings.xml 파일에 다음 내용을 추가합니다:

 
<resources>
    <string-array name="language_codes">
        <item>en</item>
        <item>es</item>
        <item>fr</item>
        <item>de</item>
        <item>zh</item>
        <!-- 필요한 언어 코드 추가 -->
    </string-array>
</resources>

마무리

이제 Google Translate API를 활용한 동적인 다국어 번역기 앱이 완성되었습니다. 이 앱을 통해 사용자는 여러 언어로 텍스트를 번역할 수 있습니다. Google Translate API를 사용하면 다양한 언어를 쉽게 지원할 수 있으며, 높은 번역 정확도를 제공합니다.

이 포스트가 도움이 되길 바랍니다! 질문이 있거나 도움이 필요하시면 언제든지 댓글로 남겨주세요.

반응형