제목 | 나라마다 표시되는 언어를 다르게 하고싶은데요. | ||
---|---|---|---|
글쓴이 | 초보프로그래머 | 작성시각 | 2015/02/11 18:40:41 |
|
|||
일단 테이블에 langSet 으로 국가 필드를 다 정해놓았는데 문제는 뷰단입니다 ㅠㅠ 만약에 뭐 메뉴바에 자유게시판. 이라는 메뉴가 있는데 그거는 다 일일이 디비에 넣지 못하니, 뷰단에서 하드 코딩을 해야할것같은데 ㅠㅠ 뷰를 2개 만드는 수밖에 없는것일까요?ㅠㅠ 여기저기 홈페이지 돌아다녀보면, 큰 사이트들은 아예 페이지 자체가 주소/ko_kr/ 이런식으로 함수적용 되있고, 작은데는 브라우저 언어인지는 몰겠지만, get으로 lang=ko 이런식으로 따라다니기도 하고 음.. 무슨 방법이 있나요? ci 선배님들. |
|||
다음글 | CI 선배님들 쿠키에 대해서 질문! (4) | ||
이전글 | DB 커넥션이 어디서 연결되고 있는지 알수있나요? (3) | ||
변종원(웅파)
/
2015/02/11 21:59:55 /
추천
0
|
한대승(불의회상)
/
2015/02/12 09:35:58 /
추천
0
세상일 쉬운게 어디 있나요... 이거는 이거대로 저거는 저거대로...
뭔가 제대로 해보려면 손 가는게 참 많네요. ^^ |
초보프로그래머
/
2015/02/12 16:54:15 /
추천
0
다들 감사합니다!
|
나라별로 디렉토리 생성후 똑같은 파일명으로 언어파일을 만들고 안의 내용만 변경해줍니다.
한글디렉토리의 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');
이렇게 하면 영문이 출력됩니다.
이 같은 방식으로 하나의 프로그램으로 다국어 지원하는 현지화 사이트를 만들었었습니다.