[개발 상식] 다국어가 포함된 페이지를 제공하는 방식

웹 사이트를 다국어 페이지로 제공하는 방식에는 다양한 방법이 있습니다.

😀1. 다국어 컨텐츠를 일일이 번역, 제공

각 언어별로 웹 페이지의 컨텐츠를 번역하여 제공하는 방식입니다. 각 페이지마다 해당 언어의 텍스트가 포함되는 방식으로 예를 들면 “kr” 폴더에는 한국어, “en”폴더에는 영어 버전의 웹 페이지 파일이 들어가 있습니다.

하지만 일일이 번역하기 때문에 비용과 시간이 많이 들고, 여러 언어로 된 컨텐츠를 일관성 있게 유지하기가 힘듭니다.

😀2. URL 언어 서브디렉터리

각 언어의 웹 페이지를 서브디렉터리에 저장하는 방식입니다. 각 언어별로 별도의 서브 디렉터리를 생성하고 해당 언어의 컨텐츠를 디렉터리에 배치합니다. 예를 들어“/en/”은 영어, “/kr/”은 한국어 디렉터리에 배치합니다.

이는 URL구조를 보다 명화가게 만들어주며, SEO(검색 엔진 최적화)에 유리합니다. 하지만 별도의 디렉토리 구조를 유지해야하기 때문에 새로운 언어를 지원할 때마다 새로운 서브디렉토리를 만들어야 합니다.

😀3. URL 언어 매개 변수

쿼리 문자열을 사용하여 식별하는 방식으로, “/page?lang=kr”은 한국어, “/page?lang=en”은 영어와 같은 방식으로 페이지를 연결합니다.

URL구조를 간단하게 유지할 수 있기 때문에 빠르게 구현하고 테스트하기 용이합니다. 그렇기 때문에 유지 보수가 쉬운 편이지만, SEO제한이 있습니다. 검색 엔진은 언어별로 페이지를 인식하기 어려울 수 있기 때문입니다.

😀4. 브라우저 언어 혹은 사용자 언어 감지

사용자 혹은 브라우저의 언어를 감지하고, 해당 언어에 맞는 컨텐츠를 동적으로 제공하는 방식입니다. 서버 혹은 클라이언트 사이드에서 구현하여 제공할 수 있습니다.

사용자의 언어 선호를 고려하여 사용자 경험 중심의 웹 페이지를 제공할 수 있지만, 사용자 설정을 기반으로 하기 때문에 올바르지 못한 설정일시 혼란이 발생할 수 있고, 언어 변경에 번거로움이 있을 수 있습니다.

 

위와 같은 장단점을 알고 적절한 방식을 선택하여 사용하면 될 것 같습니다!