[flutter] shared_preferences로 앱 내부에서 다국어 지원을 위해 설정된 언어를 저장하는 방법은?

먼저, shared_preferences 패키지를 프로젝트에 추가해야 합니다. 이를 위해 pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다:

dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^2.0.6 // 최신 버전 사용 가능

패키지를 추가한 후에는 SharedPreferences 클래스를 사용하여 설정된 언어를 저장할 수 있습니다. 예를 들어, 앱이 한국어와 영어를 지원하는 경우, 사용자가 변경한 언어 설정을 저장하려면 다음과 같이 할 수 있습니다:

import 'package:shared_preferences/shared_preferences.dart';

void setLanguage(String language) async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  await prefs.setString('language', language);
}

위의 코드에서는 setLanguage 함수를 통해 설정된 언어를 SharedPreferences에 저장하게 됩니다. 이렇게 저장된 설정은 사용자가 앱을 다시 실행할 때도 유지됩니다.

이후에는 앱 시작 시에 저장된 설정을 가져와서 해당 언어로 앱을 초기화하면 됩니다. Flutter Internationalization이나 Flutter Localizations와 같은 패키지를 사용하여 다국어 지원을 구현할 수 있습니다.

추가로, Intl 패키지를 사용하여 날짜, 숫자 등의 지역화된 형식을 처리할 수도 있습니다.

이와 같이 shared_preferences를 사용하여 앱 내부에서 설정된 언어를 저장하고 관리할 수 있습니다.