사용자의 언어를 확인하는 방법에 대해서 알아봅니다.
MDN https://developer.mozilla.org/en-US/docs/Web/API/Navigator
사용자의 언어를 확인하는 방법은 Navigator를 사용하는 것입니다.
Navigate 인터페이스는 사용자 에이어전트의 상태를 나타냅니다.
(읽기전용 객체입니다.)
Navigator API는 97.86%의 웹/앱 환경에서 사용가능합니다.
(navigator.language는 97.71%)
can I use navigator.language
메소드 | 내용 | 유형 | chrome | firefox | IE | safari | 그 외 |
---|---|---|---|---|---|---|---|
.language | 사용자가 선호하는 언어(일반적으로 브라우저 UI의 언어)를 나타내는 문자열을 반환합니다. 알 null수 없는 경우 값이 반환됩니다. | “ko” 또는 “ko-KR” (firefox) | O | O | X | O | X |
.languages | 선호도에 따라 사용자에게 알려진 언어를 나타내는 문자열 배열을 반환합니다. | [’ko-KR’, ‘ko’, ‘en-US’, ‘en’] | O | O | X | O | X |
.userLanguage | IE에서 사용했었음 | “ko” | X | X | O | - | - |
.systemLanguage | IE에서 사용했었음 | “ko” | X | X | O | - | - |
레퍼런스 = https://gist.github.com/ksol/62b489572944ca70b4ba
window.navigator.language // -> "fr"
window.navigator.languages // -> ["fr-FR", "fr", "en-US", "en", "es", "de"]
window.navigator.userLanguage // -> undefined
window.navigator.browserLanguage // -> undefined
window.navigator.systemLanguage // -> undefined
window.navigator.language // -> "fr"
window.navigator.languages // -> [ "fr", "fr-FR", "en-US", "en" ]
window.navigator.userLanguage // -> undefined
window.navigator.browserLanguage // -> undefined
window.navigator.systemLanguage // -> undefined
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
window.navigator.language // -> undefined
window.navigator.languages // -> undefined
window.navigator.userLanguage // -> 'en-us'
window.navigator.browserLanguage // -> 'en-us'
window.navigator.systemLanguage // -> 'en-us'
function getLanguage() {
return navigator.language || navigator.userLanguage || navigator.systemLanguage;
}
// 언어 확인
const lang = getLanguage().toLowerCase(); // 소문자로 변경
const isKor = lang.includes("ko"); // 공통으로 들어가는 "ko"로 확인
...
<h2 data-lang={lang}> // 추후 번역 등에 활용
{isKor ? "로그인" : "LoginForm"}
</h2>
...