[flutter] shared_preferences를 통해 사용자가 선택한 언어를 앱 내에서 로드하는 방법은?

앱 내에서 사용자가 선택한 언어를 로드하기 위해서는 shared_preferences 라이브러리를 사용할 수 있습니다. 이 라이브러리를 이용하면 사용자의 설정을 저장하고 불러올 수 있어 편리합니다.

1. shared_preferences 라이브러리 추가

먼저, shared_preferences 라이브러리를 pubspec.yaml 파일에 추가합니다.

dependencies:
  shared_preferences: ^2.0.8

해당 내용을 추가한 후에는 터미널에서 flutter pub get 명령어를 실행하여 라이브러리를 다운로드 받습니다.

2. 사용자 언어 설정 저장하기

사용자가 선택한 언어를 shared_preferences를 통해 저장합니다. 아래는 예시 코드입니다.

import 'package:shared_preferences/shared_preferences.dart';

void saveUserLanguage(String languageCode) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('user_language', languageCode);
}

위의 코드에서 saveUserLanguage 함수는 사용자가 선택한 언어 코드를 받아와서 SharedPreferences에 저장하는 역할을 합니다.

3. 저장된 언어 설정 불러오기

이제 저장된 사용자 언어 설정을 불러와서 앱에서 사용할 수 있습니다. 예시 코드는 아래와 같습니다.

import 'package:shared_preferences/shared_preferences.dart';

Future<String> loadUserLanguage() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String userLanguage = prefs.getString('user_language') ?? 'en'; // 기본 언어는 영어로 설정
  return userLanguage;
}

위의 코드에서 loadUserLanguage 함수는 저장된 사용자 언어 설정을 불러와서 반환합니다.

이제 이 불러온 사용자 언어 설정을 이용하여 앱의 다국어 지원을 구현할 수 있습니다.

위의 방법을 통해 shared_preferences를 사용하여 사용자가 선택한 언어를 앱 내에서 로드할 수 있습니다.

참고 자료