Extra Form
PHP PHP 5.6
CMS XpressEngine

안녕하세요.

XE를 이용하는 것은 물론이거니와, 웹사이트 제작이라는 것 자체가 완전 처음인 생초보입니다.

이번에 랜딩 페이지 제작을 하게되면서 문제점이 생겼어요.

다국어 지원이 그 문제인데요, 별도 버튼을 만들어서 ko / en 전환은 성공했습니다. 문제가 되는 부분은 "첫 접속시 언어"인데요, 현재 제 페이지 디폴트 언어는 영어로 설정 되어 있습니다만

제가 원하는 동작은 [기본 언어 → 영어, 한국에서 접속시→한국어] 인 상태로 접속이 되는 것입니다.

물론 쿠키가 있기 때문에 한번 버튼을 눌러 바꿔 둔 언어 세팅은 쿠키를 지우기 전까지 남아있습니다.

그렇지만 첫 접속시에 기본으로 보여지는 언어.. 그게 문제입니다.

 

자동 언어 선택 관련한 애드온 세 개를 설치해봤는데

쿠키를 지우고 테스트해도 잘 작동이 되지 않습니다.

 

현재 제 사이트는 기본 설정 영어에 "언어 자동 선택" 애드온이 설치되어있는 상태입니다.

 

혹시 접속국가별로 언어 설정을 바꾸는 방법을 아시는 분 계신가요??

  • Lv6
    xe는 설정을 잘 모르겠지만 라이믹스를 사용하시면 애드온없이 원하시는대로 동작합니다.
  • Lv6

    그리고 접속 국가를 판단하는 것에서 GPS나 IP로 판단하는게 아니라 접속하는 브라우저의 언어로 구분하는걸로 보여집니다.

  • Lv6 ?
    라이믹스로 옮기기에 호환문제로 걱정되어서 그래요.
    말씀하신 방법대로 브라우저 언어를 인식하는 쪽으로 계속 시도했었습니다.
    애드온을 쓰지 않고 수동으로 html수정해서 해볼려했는데, 브라우저 언어 안식까지는 성공했으나 현재 페이지가 무슨 언어인지를 못 가져오더라고요. $lang_type에 담기는 줄 알았는데..
    if ($lang_type == 'ko') 요런식으로 될 줄 알았는데 안되더라고요. ㅠㅠ
  • Lv6 ?
    더불어, 현재 페이지 언어를 구하려는 이유는,
    1. 현재 웹브라우저 언어가 ko이다
    2. 웹사이트를 ko 언어로 바꾼다.
    3. (새로고침됐으니) 현재 웹 브라우저 설정이 ko이다
    4. 다시 사이트를 ko로 바꾼다
    ...
    이런 사태가 일어나서요 ㅠㅠ
    1. 현재 웹 브라우저 언어가 ko이고 사이트 언어는 en이다
    2. ko로 사이트 언어를바꾼다

    이렇게 만들 요량이었습니다.
  • ? Lv15
    1. 현재 웹브라우저 언어가 ko이다
    2. 웹사이트를 ko 언어로 바꾼다.
    3. (새로고침됐으니) 현재 웹 브라우저 설정이 ko이다
    4. 다시 사이트를 ko로 바꾼다

    요 문제는...

    if(!쿠키언어 && 브라우저언어 !=웹사이트언어) {
    명령어: 브라우저언어사이트로 이동
    }

    요렇게 하면 쿠키에 언어설정값이 들어가면 더이상 동작안하겠죠.
    쿠키가 없고, 브라우저와 웹사이트언어가 다를때만 동작할테니까요.
  • Lv15 ?
    결론적으로 웹사이트 언어를 알아올 필요성은 있는게 문제입니다.
    $lang_type을 이용해도 잘 안되네요 ㅠㅠ
  • ?
    "언어 자동 선택" 에 부족한 점이 있었던건가요?
  • ? ?
    혹시 제작자분이신가요? 어제는 언어 자동선택 애드온이 세 가지였는데 오늘 찾아보니 두 가지네요. misol이라는 닉네임을 분명 본 것 같은데요,,, ㅠㅠ
    애드온 자체의 문제라기보다는 제 레이아웃과 잘 안맞는 것 같습니다. 희한하게 잘 작동을 안하더라고요. 쿠키를 지우면서 테스트해도요..ㅠㅠ
    브라우저는 비발디/사파리로 테스트 했습니다.
  • ? ?
    애드온을 만든지도 오래되기도 했고, 다른 분께서 더 낫게 고쳐주셔서 더이상 관심을 안 가지기도 했고, 라이믹스에는 이미 기본 기능이라서 더더욱 관심이 없기도 했지만, 레이아웃을 가리도록 제작하지는 않았던 기억입니다.
    제 기억이 맞다면, 쿠키를 지우셔도 무관하게 동작하도록 되어 있습니다.
  • Lv19
    해당 애드온을 사용해보지 않아서 잘 모르지만 페이지 새로고침을 꼭 해야만 하는 거예요? 그래도 이름이 '언어 자동 선택'인데요. 조금 헷갈리네요^^;
  • Lv19 ?

    첫 접속 시 언어를 골라주는 것으로 알고있습니다. 그래서 새로고침은 물론이거니와 아예 브라우저 언어를 바꾼 후 쿠키를 지우고, 브라우저를 재시작 한 후에 홈페이지에 접속했을 때의 언어가 브라우저의 언어와 일치하는지 봐야하는것으로 알고있습니다.
    그리고.. 언어가 바뀌는데 새로고침이 안되기는 힘들지 않을까요?

  • ?
    https://xetown.com/questions/1231106
    스스로 해결해보려고 했으나 다른 부분에서 막히네요 ㅠㅠ 열심히 배우겠습니다.
  • ? Lv19
    xe에서 현재 페이지의 언어모드는 js 전역변수로 이미 설정되어 있을 거예요.
    if ( xe.current_lang == 'ko' )
    이런 식으로 활용하심 될 듯합니다.
  • ? Lv19

    그리고 기진곰님 애드온이라면 페이지를 새로고침시키는 번거로움을 초래하진 않을 것 같은데요.

    1. 콘텐츠 로드 전에 브라우저 언어를 미리 감지해서
    2. xe의 언어모드를 거기에 맞춰주는 동작..

    3. 그리고나서 콘텐츠 로드..
    이지 않을까요?

    그래서 페이지 새로고침이 잘 이해가 안 되고 다른 사정이 있으신가 하는 이야기였어요.

  • Lv19 ?

    앗.. 저 새로고침 이야기는 애드온이 아닌 수동으로 만들때 이야기였어요. 제가 잘 못 봤었네요 원 댓글을.
    dochangelangtype을 쓰니까 새로고침이 되더라고요.

    전역변수로 xe.current_lang이 있는지는 몰랐네요. 정말 감사합니다. 이거로 해결할 수 있을 것 같아요.