CodeIgniter User Guide Version 1.7.2


언어 Language Class

언어 클래스는 국제화를 위해서 언어파일에서 데이터를 추출하여 텍스트를 채워넣습니다.

CodeIgniter의 system 폴더안에 있는 language 폴더에는 언어파일 셋이 있습니다. 여러분이 직접 언어 파일을 만들어서 에러메세지등을 다른 언어로 표시하게 할수 있습니다.

언어파일은 일반적으로 system/language 디렉토리에 저장됩니다. 다른방법으로 application 폴더안에 language 폴더를 만든후 언어파일을 저장할수도 있습니다. CodeIgniter 는 system/application/language 디렉토리를 먼저 찾아볼 것입니다. 만약 디렉토리가 존재하지 않거나, 지정된 언어가 거기에 없다면 CI 는 system/language 폴더를 뒤져봅니다.

참고:  각 언어파일은 각 언어 폴더안에 위치해야합니다. 예를들어, 영어(english)는 다음 폴더에 위치합니다: system/language/english

언어파일 생성 Creating Language Files

언어파일은 _lang.php 라는 접미어와 확장자를 갖습니다. 예를들어, 에러메세지를 포함한 파일을 만든다고 합시다. 그파일이름은 다음과 같겠지요: error_lang.php

언어파일안에서는 데이터는 아래 예제와 같이 $lang 라는 배열안에 한줄씩 추가해줍니다. :

$lang['language_key'] = "The actual message to be shown";

참고: 특정파일안에서 공통적으로 사용하는 접두어를 배열 키에 지정하는것이 좋습니다. 그렇게하면 같은 이름을 가진것이 다른파일에 있다고 해도 충돌할 염려가 없습니다. 예를들어 , 아래와같이 에러메세지를 추가할때 error_ 접두어를 붙이면 좋습니다.

$lang['error_email_missing'] = "You must submit an email address";
$lang['error_url_missing'] = "You must submit a URL";
$lang['error_username_missing'] = "You must submit a username";

언어파일 로드 Loading A Language File

특정파일의 한줄을 가져오고싶다면, 파일을 먼저 로드해야합니다. 언어파일은 다음과같이 로드합니다:

$this->lang->load('filename', 'language');

filename 은 로드하고자하는 파일이름이며 확장자는 붙이지 않습니다, 그리고 language 는 포함하고 있는 언어셋입니다(예, english). 두번째 파라미터를 빠뜨린다면, application/config/config.php에 설정되어 있는 기본언어파일이 로드 됩니다.

텍스트 한줄 가져오기 Fetching a Line of Text

언어파일이 로드된후 ,다음 함수를 이용하여 한줄의 텍스트를 가져올수 있습니다:

$this->lang->line('language_key');

language_key 는 가져오고자 하는 줄의 배열키 입니다.

참고: 이 함수는 한줄을 리턴하며, 화면에 출력하지는 않습니다.

언어파일로 폼 레이블 입히기 Using language lines as form labels

이 기능은 언어 라이브러리에서 더이상 사용하지않으며 언어헬퍼(Language helper) 의 lang() 함수로 옮겨졌습니다.

언어 자동로드 Auto-loading Languages

특정 언어를 전역적으로 사용해야한다면, 시스템이 초기화 될때 CodeIgniter 에서 자동로드(auto-load) 하도록 할수 있습니다. application/config/autoload.php 파일을 열어서 autoload 배열에 language(s) 를 추가하시면 됩니다.