CI 묻고 답하기

제목 나라마다 표시되는 언어를 다르게 하고싶은데요.
글쓴이 초보프로그래머 작성시각 2015/02/11 18:40:41
댓글 : 3 추천 : 0 스크랩 : 1 조회수 : 15659   RSS
일단 테이블에 langSet 으로 국가 필드를 다 정해놓았는데

문제는 뷰단입니다 ㅠㅠ

만약에 뭐 메뉴바에 자유게시판. 이라는 메뉴가 있는데

그거는 다 일일이 디비에 넣지 못하니,

뷰단에서 하드 코딩을 해야할것같은데 ㅠㅠ

뷰를 2개 만드는 수밖에 없는것일까요?ㅠㅠ

여기저기 홈페이지 돌아다녀보면,

큰 사이트들은 아예 페이지 자체가 주소/ko_kr/ 이런식으로 함수적용 되있고,

작은데는 브라우저 언어인지는 몰겠지만, get으로 lang=ko 이런식으로 따라다니기도 하고

음.. 무슨 방법이 있나요? ci 선배님들.
 다음글 CI 선배님들 쿠키에 대해서 질문! (4)
 이전글 DB 커넥션이 어디서 연결되고 있는지 알수있나요? (3)

댓글

변종원(웅파) / 2015/02/11 21:59:55 / 추천 0
매뉴얼 보시고 language 라이브러리를 이용하시면 됩니다.

나라별로 디렉토리 생성후 똑같은 파일명으로 언어파일을 만들고 안의 내용만 변경해줍니다.

한글디렉토리의 lang.php $lang['error_username_missing'] = "유저네임을 입력해야 합니다.";
영어디렉토리의 lang.php   $lang['
error_username_missing'] = "You must submit a username";

화면의 모든 메뉴명, 알림내용, 버튼 등등 모두 위의 언어 라이브러리에서 불러서 화면에 출력해줍니다.

최초 접속시 언어파일을 해당 나라의 것으로 로딩을 해주고 언어파일 내용을 불러오면 됩니다.
$this->lang->load('
lang', 'korea');
echo $this->lang->line('
error_username_missing');
이와 같이 하면 한글이 출력되고

$this->lang->load('
lang', 'english');
echo $this->lang->line('
error_username_missing');
이렇게 하면 영문이 출력됩니다.


이 같은 방식으로 하나의 프로그램으로 다국어 지원하는 현지화 사이트를 만들었었습니다.
 
한대승(불의회상) / 2015/02/12 09:35:58 / 추천 0
세상일 쉬운게 어디 있나요... 이거는 이거대로 저거는 저거대로...
뭔가 제대로 해보려면 손 가는게 참 많네요. ^^
초보프로그래머 / 2015/02/12 16:54:15 / 추천 0
다들 감사합니다!