다양한 국가에서의 출시를 노리고 있는 어플리케이션이라면 초기 언어 설정을 위해 사용자 기기의 언어 설정을 받아올 필요가 있다.
react-native-localize 모듈을 활용할 것이다.
npm i react-native-localize
cd iOS
pod install
구현은 아주 간단하다. 빌드 세팅도 필요 없다.
import {getLocales} from “react-native-localize”
console.log(getLocales());
사용자가 기기에 다운받아놓은 언어 목록이 다음과 같이 출력된다.
type getLocales = () => Array<{
languageCode: string;
scriptCode?: string;
countryCode: string;
languageTag: string;
isRTL: boolean;
}>;
// output example
[
{ countryCode: "GB", languageTag: "en-GB", languageCode: "en", isRTL: false },
{ countryCode: "US", languageTag: "en-US", languageCode: "en", isRTL: false },
{ countryCode: "FR", languageTag: "fr-FR", languageCode: "fr", isRTL: false },
]
Array의 첫 번째 요소가 바로 기기의 현재 언어이다.
만약 다른 언어를 다운받지 않았다면 해당 언어만 출력될 것이다.
getCountry()를 활용해서 나라 정보를 받아올 수도 있다.
이때 나라 정보는 기기의 현재 위치가 아니라, 기기에 설정해둔 국가 및 언어 설정이다.
import { getCountry } from "react-native-localize";
console.log(getCountry());
// -> "FR"
해당 모듈을 활용하면 언어뿐 아니라 시간 등 다양한 locale 정보를 확인할 수 있다.