플러터 템플릿

Flutter와 Back4App을 사용하여 AI 음성 번역기 앱을 만드는 방법

34min

소개

이 튜토리얼에서는 Flutter를 프론트엔드 프레임워크로 사용하고 Back4App를 백엔드 서비스로 사용하여 AI 음성 번역기 앱을 만드는 방법을 배웁니다. 이 앱은 사용자가 여러 언어로 음성, 텍스트 및 이미지를 번역할 수 있도록 합니다. AI 기반 번역, 광학 문자 인식(OCR) 및 음성 인식 기능이 포함됩니다. 이 튜토리얼이 끝나면 실시간 번역을 처리하고 향후 사용을 위해 Back4App에 기록을 저장할 수 있는 앱을 만들게 됩니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • Back4App 계정. Back4App에서 무료 계정에 가입하세요.
  • Flutter SDK가 로컬 머신에 설치되어 있어야 합니다. 공식 Flutter 설치 가이드를 따라 설치하세요.
  • DartFlutter에 대한 기본 지식이 필요합니다. Flutter가 처음이라면 Flutter 문서를 검토한 후 진행하세요.
  • Google Cloud Translation 또는 DeepL과 같은 번역 API 제공업체의 계정이 필요합니다.
  • REST API비동기 프로그래밍에 대한 친숙함이 필요합니다.

1단계 — Back4App 백엔드 설정하기

이 단계에서는 Back4App 애플리케이션을 설정하고, 데이터 모델을 정의하며, 번역 기록, 언어 및 사용자 데이터를 저장하기 위해 백엔드를 구성합니다.

1.1. Back4App에서 새 애플리케이션 만들기

  1. 귀하의 Back4App 대시보드에 로그인합니다.
  2. "새 앱 만들기"를 클릭합니다.
  3. 앱 이름 (예: "AI 음성 번역기")을 입력하고 앱 아이콘을 선택합니다.
  4. 프롬프트가 표시되면 서버 위치를 선택합니다.
  5. "생성"을 클릭합니다.

1.2. 애플리케이션 키 가져오기

  1. 애플리케이션 대시보드에서 앱 설정 > 보안 및 키로 이동합니다.
  2. 애플리케이션 ID와 클라이언트 키를 적어두십시오. 이는 Flutter 앱 구성에 필요합니다.

1.3. 데이터 모델 정의하기

우리는 Back4App에서 다음 클래스를 생성할 것입니다:

  • 사용자 (기본)
  • 번역
  • 언어
  • 구문
  • 사전 항목

1.3.1. 번역 클래스 생성하기

  1. 이동하십시오 데이터베이스 > 브라우저.
  2. 클릭하십시오 "클래스 만들기".
  3. 선택하십시오 "사용자 정의" 및 이름을 번역으로 지정하십시오.
  4. 클릭하십시오 "클래스 만들기".

다음 열을 추가하십시오 번역:

  • 사용자 (Pointer<_User>): 사용자 객체를 가리킵니다.
  • sourceLanguage (문자열): 원본 언어 코드.
  • targetLanguage (문자열): 대상 언어 코드.
  • sourceText (문자열): 번역할 원본 텍스트.
  • translatedText (문자열): 번역된 텍스트.
  • translationType (문자열): 번역 유형 (음성, 텍스트, 이미지).
  • timestamp (날짜 시간).

1.3.2. 언어 클래스 생성하기

  1. 새로운 클래스를 생성하는 단계를 반복하여 Language라는 이름의 클래스를 만듭니다.

다음 열을 추가합니다: Language:

  • name (문자열): 언어의 이름 (예: "영어").
  • code (문자열): 언어의 ISO 코드 (예: "en").
  • flagIconUrl (문자열): 언어를 나타내는 국기 이미지의 URL.

1.3.3. 구문 클래스 생성하기

  1. Phrase라는 이름의 클래스를 생성합니다.

다음 열을 추가하십시오 :

  • 카테고리 (문자열): 구의 카테고리 (예: "인사").
  • sourceLanguage (문자열): 원본 언어 코드.
  • targetLanguage (문자열): 대상 언어 코드.
  • sourceText (문자열): 원본 구.
  • translatedText (문자열): 번역된 구.

1.3.4. DictionaryEntry 클래스 생성

  1. 다음과 같은 이름의 클래스를 생성하십시오 DictionaryEntry.

다음 열을 추가하십시오 DictionaryEntry:

  • 단어 (문자열): 정의되는 단어.
  • 언어 (문자열): 단어의 언어.
  • 정의 (문자열): 단어의 정의.
  • 예시 (배열): 단어를 사용한 예문.

1.4. 클래스 수준 권한 설정

인증된 사용자만 자신의 데이터에 접근할 수 있도록 하십시오:

  1. 각 클래스에 대해 보안 > 클래스 수준 권한 (CLP)로 이동하십시오.
  2. CLP를 설정하여 인증된 사용자만 읽기/쓰기 접근을 허용하십시오.

2단계 — Flutter 프로젝트 초기화

이 단계에서는 Flutter 프로젝트를 설정하고 Back4App에 연결하도록 구성합니다.

2.1. 새 Flutter 프로젝트 만들기

터미널을 열고 다음을 실행하세요:

Bash


프로젝트 디렉토리로 이동하세요:

Bash


2.2. 필수 종속성 추가

pubspec.yaml 파일을 열고 다음 종속성을 추가하세요:

YAML


flutter pub get 명령어를 실행하여 패키지를 설치하세요.

2.3. Flutter 앱에서 Parse 초기화

새 파일을 생성하세요 lib/config/back4app_config.dart:

Dart


'YOUR_APPLICATION_ID''YOUR_CLIENT_KEY'를 Back4App에서 가져온 키로 교체하세요.

In lib/main.dart, Parse를 초기화합니다:

Dart


Create lib/app.dart:

Dart


3단계 — 텍스트 번역 구현

구현할 첫 번째 기능은 기본 텍스트 번역입니다.

3.1. 번역 서비스 구성

Create lib/services/translation_service.dart 번역 API(Google Cloud Translation API 또는 DeepL)와의 상호작용을 관리합니다.

Dart


3.2. 언어 모델 구현

Create lib/models/language.dart 지원되는 언어를 나타냅니다.

Dart

Dart

Dart

Dart

Dart

Dart

Dart

Dart

Dart


3.3. 텍스트 번역 화면 만들기

생성 lib/screens/text_translation_screen.dart 텍스트 입력 및 번역을 처리합니다:

Dart


4단계 — 음성 번역 구현하기

이 단계에서는 음성 인식텍스트 음성 변환 기능을 통합하여 음성 번역을 추가합니다.

4.1. 음성 인식 설정하기

생성하기 lib/services/speech_recognition_service.dart 사용하여 speech_to_text 패키지:

Dart


4.2. 텍스트 음성 변환 (TTS) 추가하기

생성하기 lib/services/tts_service.dart 사용하여 flutter_tts 패키지:

Dart


4.3. 음성 번역 화면 만들기

생성 lib/screens/voice_translation_screen.dart 음성 번역을 처리하기 위해:

Dart


5단계 — 이미지 번역 구현 (OCR)

5.1. OCR 서비스 설정

생성 lib/services/ocr_service.dart 다음을 사용하여 google_ml_kit 패키지:

Dart


5.2. 이미지 번역 화면 만들기

생성 lib/screens/image_translation_screen.dart 이미지를 입력하고 OCR을 처리합니다:

Dart


6단계 — 번역 기록 및 구문집

이 단계에서는 번역 기록을 저장하고 구문집을 관리하는 기능을 구현합니다.

6.1. 번역 기록 저장하기

업데이트 lib/services/translation_service.dart 번역 기록을 Back4App에 저장하기 위해:

Dart


6.2. 구문집 구현

생성 lib/screens/phrase_book_screen.dart 일반 구문을 관리하기 위해:

Dart


결론

이 튜토리얼을 따라 하면서 AI 음성 번역기 앱FlutterBack4App을 사용하여 기능이 풍부한 앱을 구축했습니다. 다음을 구현했습니다:

  • 기본 및 고급 텍스트 번역.
  • 음성 대 음성 번역 음성 인식텍스트 음성 변환을 사용하여.
  • 이미지 대 텍스트 번역 OCR을 사용하여.
  • 번역 기록 관리 및 일반 표현을 위한 구문집.

다음 단계

  • UI/UX 개선: 앱의 인터페이스를 개선하여 더 매끄러운 사용자 경험을 제공합니다.
  • 오류 처리 개선: API 실패에 대한 오류 처리 및 대체 메커니즘을 추가합니다.
  • 오프라인 모드 구현: 오프라인 접근을 위해 일반 번역, 구문 및 기록을 캐시합니다.
  • 앱 배포: iOS 및 Android 플랫폼에 배포할 준비를 합니다.