Flutter와 Back4App을 사용하여 AI 음성 번역기 앱을 만드는 방법
이 튜토리얼에서는 Flutter를 프론트엔드 프레임워크로 사용하고 Back4App를 백엔드 서비스로 사용하여 AI 음성 번역기 앱을 만드는 방법을 배웁니다. 이 앱은 사용자가 여러 언어로 음성, 텍스트 및 이미지를 번역할 수 있도록 합니다. AI 기반 번역, 광학 문자 인식(OCR) 및 음성 인식 기능이 포함됩니다. 이 튜토리얼이 끝나면 실시간 번역을 처리하고 향후 사용을 위해 Back4App에 기록을 저장할 수 있는 앱을 만들게 됩니다.
이 튜토리얼을 완료하려면 다음이 필요합니다:
- Google Cloud Translation 또는 DeepL과 같은 번역 API 제공업체의 계정이 필요합니다.
- REST API와 비동기 프로그래밍에 대한 친숙함이 필요합니다.
이 단계에서는 Back4App 애플리케이션을 설정하고, 데이터 모델을 정의하며, 번역 기록, 언어 및 사용자 데이터를 저장하기 위해 백엔드를 구성합니다.
- "새 앱 만들기"를 클릭합니다.
- 앱 이름 (예: "AI 음성 번역기")을 입력하고 앱 아이콘을 선택합니다.
- 프롬프트가 표시되면 서버 위치를 선택합니다.
- "생성"을 클릭합니다.
- 애플리케이션 대시보드에서 앱 설정 > 보안 및 키로 이동합니다.
- 애플리케이션 ID와 클라이언트 키를 적어두십시오. 이는 Flutter 앱 구성에 필요합니다.
우리는 Back4App에서 다음 클래스를 생성할 것입니다:
- 사용자 (기본)
- 번역
- 언어
- 구문
- 사전 항목
1.3.1. 번역 클래스 생성하기
- 이동하십시오 데이터베이스 > 브라우저.
- 클릭하십시오 "클래스 만들기".
- 선택하십시오 "사용자 정의" 및 이름을 번역으로 지정하십시오.
- 클릭하십시오 "클래스 만들기".
다음 열을 추가하십시오 번역:
- 사용자 (Pointer<_User>): 사용자 객체를 가리킵니다.
- sourceLanguage (문자열): 원본 언어 코드.
- targetLanguage (문자열): 대상 언어 코드.
- sourceText (문자열): 번역할 원본 텍스트.
- translatedText (문자열): 번역된 텍스트.
- translationType (문자열): 번역 유형 (음성, 텍스트, 이미지).
- timestamp (날짜 시간).
1.3.2. 언어 클래스 생성하기
- 새로운 클래스를 생성하는 단계를 반복하여 Language라는 이름의 클래스를 만듭니다.
다음 열을 추가합니다: Language:
- name (문자열): 언어의 이름 (예: "영어").
- code (문자열): 언어의 ISO 코드 (예: "en").
- flagIconUrl (문자열): 언어를 나타내는 국기 이미지의 URL.
1.3.3. 구문 클래스 생성하기
- Phrase라는 이름의 클래스를 생성합니다.
다음 열을 추가하십시오 구:
- 카테고리 (문자열): 구의 카테고리 (예: "인사").
- sourceLanguage (문자열): 원본 언어 코드.
- targetLanguage (문자열): 대상 언어 코드.
- sourceText (문자열): 원본 구.
- translatedText (문자열): 번역된 구.
1.3.4. DictionaryEntry 클래스 생성
- 다음과 같은 이름의 클래스를 생성하십시오 DictionaryEntry.
다음 열을 추가하십시오 DictionaryEntry:
- 단어 (문자열): 정의되는 단어.
- 언어 (문자열): 단어의 언어.
- 정의 (문자열): 단어의 정의.
- 예시 (배열): 단어를 사용한 예문.
인증된 사용자만 자신의 데이터에 접근할 수 있도록 하십시오:
- 각 클래스에 대해 보안 > 클래스 수준 권한 (CLP)로 이동하십시오.
- CLP를 설정하여 인증된 사용자만 읽기/쓰기 접근을 허용하십시오.
이 단계에서는 Flutter 프로젝트를 설정하고 Back4App에 연결하도록 구성합니다.
터미널을 열고 다음을 실행하세요:
프로젝트 디렉토리로 이동하세요:
pubspec.yaml 파일을 열고 다음 종속성을 추가하세요:
flutter pub get 명령어를 실행하여 패키지를 설치하세요.
새 파일을 생성하세요 lib/config/back4app_config.dart:
'YOUR_APPLICATION_ID' 및 'YOUR_CLIENT_KEY'를 Back4App에서 가져온 키로 교체하세요.
In lib/main.dart, Parse를 초기화합니다:
Create lib/app.dart:
구현할 첫 번째 기능은 기본 텍스트 번역입니다.
Create lib/services/translation_service.dart 번역 API(Google Cloud Translation API 또는 DeepL)와의 상호작용을 관리합니다.
Create lib/models/language.dart 지원되는 언어를 나타냅니다.
생성 lib/screens/text_translation_screen.dart 텍스트 입력 및 번역을 처리합니다:
이 단계에서는 음성 인식 및 텍스트 음성 변환 기능을 통합하여 음성 번역을 추가합니다.
생성하기 lib/services/speech_recognition_service.dart 사용하여 speech_to_text 패키지:
생성하기 lib/services/tts_service.dart 사용하여 flutter_tts 패키지:
생성 lib/screens/voice_translation_screen.dart 음성 번역을 처리하기 위해:
생성 lib/services/ocr_service.dart 다음을 사용하여 google_ml_kit 패키지:
생성 lib/screens/image_translation_screen.dart 이미지를 입력하고 OCR을 처리합니다:
이 단계에서는 번역 기록을 저장하고 구문집을 관리하는 기능을 구현합니다.
업데이트 lib/services/translation_service.dart 번역 기록을 Back4App에 저장하기 위해:
생성 lib/screens/phrase_book_screen.dart 일반 구문을 관리하기 위해:
이 튜토리얼을 따라 하면서 AI 음성 번역기 앱을 Flutter와 Back4App을 사용하여 기능이 풍부한 앱을 구축했습니다. 다음을 구현했습니다:
- 기본 및 고급 텍스트 번역.
- 음성 대 음성 번역 음성 인식 및 텍스트 음성 변환을 사용하여.
- 이미지 대 텍스트 번역 OCR을 사용하여.
- 번역 기록 관리 및 일반 표현을 위한 구문집.
- UI/UX 개선: 앱의 인터페이스를 개선하여 더 매끄러운 사용자 경험을 제공합니다.
- 오류 처리 개선: API 실패에 대한 오류 처리 및 대체 메커니즘을 추가합니다.
- 오프라인 모드 구현: 오프라인 접근을 위해 일반 번역, 구문 및 기록을 캐시합니다.
- 앱 배포: iOS 및 Android 플랫폼에 배포할 준비를 합니다.