IT/Flutter
플러터 앱 다국어 기능 설정하는법
binary?
2024. 12. 5. 08:16
플러터 앱 다국어 기능 설정하는법
안녕하세요.
이번에 플러터로 앱을 개발하고 있습니다. ㅎㅎ
다국어를 지원하면 좋을거 같아서 다국어 기능을 넣어봤는데요.
SpringBoot에서 다국어 지원하는 것과 유사하게 동작을 하더라구요.
아래에 그 내용을 정리해보겠습니다.
먼저 결과부터 보여드리겠습니다.
앱화면에서 언어를 선택하는 버튼이 있고 그 버튼을 클릭하면 자동으로 번역이 됩니다.



- pubspec.lock 빼고 총 6개 파일만 추가하고 수정했네요

1. 플러그인 설치
- file - settings 클릭

- Pulgins에서 Flutter intl 검색 후 Install 클릭

- 설치가 완료되면 Restart IDE

2. pubspec.yaml 파일
- pubspec.yaml 파일에서 intl 의존성 추가
- 좀더 아래쪽에 generate: true추가


3. 다국어 설정 파일 - arb 생성
- 다국어는 번역을 하여 직접 세팅해야합니다.
- 하나의 언어마다 하나의 파일을 생성하면 됩니다.
- 저는 일단 한국어와 영어만 설정했네요.
- lib 디렉토리 하위에 'l10n' 디렉토리 생성
- 'l10n' 디렉토리 하위에 app_ko.arb 파일 생성
- 'l10n' 디렉토리 하위에 app_en.arb 파일 생성

- 화면에서 사용하는 텍스트들을 한국어, 영어 각각 만들어줍니다.


4. l10n.yaml 파일 생성
- 프로젝트 root에 'l10n.yaml'파일 생성후 내용추가


5. main.dart 코드 생성
- main.dart 파일에 아래 import
- flutter_localization으로 자동화된 다국어 로딩을 지원한답니다.

- 아래도 세팅해주고 터미널에서 flutter pub get을 해주면 빨간색 밑줄이 사라집니다.

6. 번역이 필요한 화면 - 언어 설정 버튼 생성
- 아래 내용을 추가해줍니다.



텍스트가 필요한 부분을 모조리 아래처럼 변경해줘야합니다.
수정 전: Text('오늘의 비주얼', style: AppStyle.titleStyle)
수정 후: Text(AppLocalizations.of(context)!.title, style: AppStyle.titleStyle),
그리고 우측에 주석을 달아놓으면 다음에 코드보고 찾아가기 쉽습니다.

7. arb 추가 및 수정시 적용사항
- arb 파일에 내용을 추가하거나 수정한 후에도 터미널에서 아래 명령어 입력해야 합니다.
- flutter pub run intl_utils:generate
SpringBoot에서 다국어를 사용하고 있기 때문에 내용 파악하는데는 수월했네요.
알고나면 생각보다 간단합니다.
dart언어가 어려운건 비밀..
고생하셨습니다~