다국어 작성


지니PHP는 다국어 페이지를 처리하여 웹서비스를 생성할 수 있습니다.

단일언어


단일언어로 사이트를 운영하고자 할 경우에는 파일명을 파일명.확장자형태로 작성을 해주시면 됩니다.

다국어


여러개의 언어로 리소스 페이지를 분리할 수 있습니다.

url 도메인에서 http://도메인/언어/페이지 형태로 중간에 언어코드를 작성해 주시면 됩니다. 언어 코드는 부트스트랩의 locale에서 자동으로 추출되고 프레임워크에 적용이 됩니다.

이렇게 적용된 locale은 language() 헬퍼 함수를 통하여 확인을 할 수 있습니다.

다국어 파일명


로케일이 설정이 되어 있는 경우 는 자동으로 로케일 설정된 페이지의 접근을 처리합니다. 로케일 페이지는 페이지명.언어.확장자 형태로 이름을 사용하면 됩니다.

다음은 뷰 소스코드의 일부 입니다. 파일이름을 입력되면 중간에 다국어 코드를 삽입하게 됩니다.

public function read($name)
{
    if ($this->_lang) {
        $multi = str_replace(".md", ".".$this->_lang.".md", $name);
        if(file_exists($multi)){
            return file_get_contents($multi);
        }
    }
    return file_get_contents($name);
}

만일 로케일 설정 리소스 파일이 없는 경우에는 기본 파일명.확장자형태로 적용이 됩니다.

템플릿 적용


로케일을 이용하여 다국어를 입력할 경우, 템플릿 안에서도 이를 같이 사용할 수 있습니다.

다음은 liquid 템플릿에서 다국어를 처리하는 예제 코드입니다.


    

뷰로 전달되는 데이터의 language 키값으로 다국어 설정 값을 확인할 수 있습니다.

이 설정은 request 요청의 처리도중에 setCountry()메소드에서 설정값으로 저장을 하기 때문입니다.