ブラウザ or OSの言語設定を読み取り、処理を分岐鎖せる方法です。
index.html
<script>
// 日本語
if( browserLanguage() == 'ja' ){
location.href = '/ja';
}
// その他
else{
location.href = '/en';
}
</script>
browserLanguage.js
var browserLanguage = function() {
var ua = window.navigator.userAgent.toLowerCase();
try {
// chrome
if( ua.indexOf( 'chrome' ) != -1 ){
return ( navigator.languages[0] || navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0,2);
}
// それ以外
else{
return ( navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0,2);
}
}
catch( e ) {
return undefined;
}
}
Chormeのみ下記の場所に言語設定が置かれるようで、それ以外のブラウザではエラーになるのでUAを調べて分岐しています。
- navigator.languages[0]