파일 명은 언어 코드를 사용합니다. 예를 들어 영어는 en_US.json, 한국어는 ko_KR.json 파일을 만듭니다. 추가로, 지역 코드를 사용하는 경우 지역 코드를 파일 명에 포함시킵니다. 예를 들어 미국 영어는 en_US.json 파일을 만듭니다.
확장자는 JSON,CSV,HTTP,XML,Yaml 등을 지원한다고 합니다. 자세한 내용은 공식 문서 - Easy Localization Loader↗를 참고해 주세요.
{ "money": { "zero": "You not have money", "one": "You have {} dollar", "many": "You have {} dollars", "other": "You have {} dollars" }, "money_named_args": { // 이름 지정 "zero": "{name} has no money", "one": "{name} has {money} dollar", "many": "{name} has {money} dollars", "other": "{name} has {money} dollars" }}
Note: intl is pinned to version 0.19.0 by flutter_localizations from the flutter SDK.See https://dart.dev/go/sdk-version-pinning for details.The current Dart SDK version is 3.5.4.Because easy_localization >=2.3.4-nullsafety <3.0.0-dev.0 depends on flutter_localizations from sdk and easy_localization >=3.0.0-dev.0 <3.0.0-nullsafety doesn't support null safety, easy_localization >=2.3.4-nullsafety <3.0.0-nullsafety requires flutter_localizations from sdk.And because easy_localization <2.3.4-nullsafety doesn't support null safety, easy_localization <3.0.0-nullsafety requires flutter_localizations from sdk.And because easy_localization >=3.0.0-nullsafety depends on flutter_localizations from sdk which depends on intl 0.19.0, every version of easy_localization requires intl 0.19.0.So, because nftcam_flutter depends on both intl ^0.20.1 and easy_localization any, version solving failed.The lower bound of "sdk: '>=2.0.0-dev.68.0 <3.0.0'" must be 2.12.0 or higher to enable null safety.For details, see https://dart.dev/null-safetyThe lower bound of "sdk: '>=2.7.0 <3.0.0'" must be 2.12.0 or higher to enable null safety.For details, see https://dart.dev/null-safety
앱을 글로벌 런칭해야 할 일이 있어 이 라이브러리를 사용해 봤습니다. 꽤 기능이 강력하고 쉽게 사용할 수 있네요. 또 서칭중에 발견한 flutter_localizations_generator↗ 라이브러리를 사용하면 구글 시트로 언어 팩을 관리할 수 있다고 해요.
첫 기획에 글로벌화를 고려하지 않더라도 만일을 위해 언어 팩을 미리 적용해 두면 중간중간 문구를 수정할 때에도 좋을 것 같습니다. 이번에 꽤 볼륨이 있는 프로젝트에서 막바지에 언어 팩을 적용하느라 고생했네요...😂