240912 TIL

나고수·2024년 9월 13일
0

2024 TIL

목록 보기
67/94
post-thumbnail

① 배운 것

easy_localization 서버에서 문구 받아서 영문화 적용하기

  • 기본적인 세팅은 문서 참고
  • 파일을 에셋에 넣고 사용할 수도 있지만 앱 배포 없이 문구 수정이 필요한 경우라면 json파일을 서버에 넣어두고 그걸 이용할 수도 있다.
  • assetLoader에 HttpAssetLoader를 설정하고 path에는 json파일이 있는 곳 주소를 넣으면 됨 (https://example.com/translations)
  • 일단 로컬호스트로 되는지 테스트 해봤다.

  • 이렇게 json파일을 로컬에 만든다
  • path: 'http://wifi ip:8080'로 설정
  • json 파일이 있는 디렉토리에서 터미널을 실행해 python3 -m http.server 8080 를 실행 해 로컬호스트를 실행한다.
  • 실기기 사용 시 : adb reverse tcp:8080 tcp:8080를 사용해 디바이스 포트를 8080으로 맞춘다.
  • 원래 HttpAssetLoader을 사용하려면 easy_localization_loader를 추가해야하지만 우리는 필요한 부분만 프로젝트에 직접 추가해 용량을 줄이자

  Future<Map<String, dynamic>> load(String path, Locale locale) async {
    log('easy localization loader: load http $path');
    try {
      var url = Uri.parse('$path/${locale.toLanguageTag()}.json');
      return http
          .get(url)
          .then((response) => json.decode(utf8.decode(response.bodyBytes)));
    } catch (e) {
      //Catch network exceptions
      return {};
    }
  
  • 디바이스 언어를 영어, 한글로 바꿔가면서 앱을 실행하면 잘 작동한다!

② 회고 (restropective)
안해본것 해보는것이 재미있다.

③ 개선을 위한 방법

profile
되고싶다

1개의 댓글

comment-user-thumbnail
2024년 9월 20일

easy_localization vs flutter_localizations

likes와 popularity 둘다 easy_localization이 flutter_localizations보다 높고 flutter_localizations은 문구를 가져올때마다 Context를 넘겨줘야한다는 단점이있음

답글 달기