다국어 관리
최종 수정: 2026년 6월 25일
옷가게 쇼핑몰을 한국 고객뿐 아니라 영어권 고객에게도 열고 싶다고 생각해 보세요. 텀블러 상품 하나를 한국어로는 "스테인리스 텀블러 500ml", 영어로는 "Stainless Tumbler 500ml"로 보여 주고 싶을 때가 있습니다. 상품은 같은 텀블러 하나인데, 보는 사람의 언어에 따라 글자만 다르게 나가야 합니다.
이럴 때 쓰는 것이 다국어 기능입니다. 상품을 언어 수만큼 따로 등록하지 않고, 하나의 텀블러 Content에 언어별 글을 함께 담아 둡니다. 그러면 방문자는 자기 언어에 맞는 글을 받아 보고, 가격이나 사진처럼 언어와 상관없는 정보는 한 번만 관리하면 됩니다.
이 페이지에서는 다국어가 어떻게 동작하는지 살펴본 뒤, 텀블러의 상품명과 상세 설명을 영어로도 보여 주도록 직접 설정해 봅니다.
언어마다 다른 값을 한 칸에 담습니다
WEEGLOO에서 언어는 Locale로 다룹니다. Locale(콘텐츠를 보여줄 언어. 지역까지 구분해서 한국어는 ko-KR, 영어는 en-US처럼 표기합니다)은 스페이스 단위로 정합니다. 옷가게 스페이스에 한국어와 영어 두 Locale을 두면, 그때부터 상품 정보를 두 언어로 채울 수 있습니다.
스페이스의 여러 Locale 중 하나는 기준 Locale이 됩니다. 기준 Locale은 이 스페이스의 중심 언어입니다. 한국에서 시작한 옷가게라면 보통 한국어(ko-KR)가 기준 Locale입니다.
상품명처럼 언어마다 글이 달라지는 Field를 다국어로 설정하면, 그 칸은 언어별 값을 함께 담는 칸이 됩니다. 텀블러의 상품명 Field 하나에 한국어 값과 영어 값이 나란히 들어가는 식입니다.
| Locale | 상품명 | 상세 설명 |
|---|---|---|
| 한국어 (ko-KR, 기준) | 스테인리스 텀블러 500ml | 이중 진공 단열로 보온·보냉이 오래갑니다. 500ml 대용량. |
| 영어 (en-US) | Stainless Tumbler 500ml | Vacuum-insulated to keep drinks hot or cold for hours. 500ml. |
안 채운 언어 칸은 어떻게 보일까
다국어 Field에서 어떤 언어 값을 아직 안 채웠다면, 그 언어로 보는 방문자에게 무엇이 보일지는 그 언어(Locale)에 대신 보여줄 언어를 정해 두었는지에 따라 달라집니다. 이 "대신 보여줄 언어"를 Fallback이라고 합니다.
- Fallback을 정해 두지 않았다면, 그 칸은 비어서 나갑니다. 텀블러 상세 설명의 영어 값을 안 적었다면, 영어권 방문자에게는 그 자리가 빈 채로 전달됩니다.
- Fallback을 정해 두었다면, 정해 둔 그 언어의 값이 대신 나갑니다. 예를 들어 영어(en-US)의 Fallback을 한국어(ko-KR)로 정해 두면, 영어 값이 비었을 때 한국어 값이 대신 보입니다.
Fallback은 기준 Locale로만 정해야 하는 것은 아닙니다. 원하는 다른 언어로 이어 둘 수도 있고, 한 언어에서 다음 언어로 단계적으로 이어지게 할 수도 있습니다. Fallback은 스페이스에 Locale을 추가하거나 편집할 때 설정합니다.
여기까지는 "읽을 때" 이야기입니다. 어떤 언어 칸을 꼭 채워야 하는지(저장 규칙)는 Fallback과 다른 문제로, 그 Field의 필수 설정이 정합니다. 아래 "설정한 다음 알아 둘 것"에서 다룹니다.
모든 Field를 다국어로 만들 필요는 없습니다
언어가 달라도 값이 같은 Field는 다국어로 켜지 않습니다. 텀블러로 보면 상품명과 상세 설명은 다국어로 켜고, 가격과 대표 사진은 켜지 않습니다. 언어가 바뀌어도 값이 그대로이기 때문입니다.
- 다국어로 켜는 칸: 상품명, 상세 설명. 언어마다 글이 달라야 합니다.
- 켜지 않는 칸: 가격(
18000), 대표 사진. 영어 고객이 봐도 가격은 18000이고 사진도 같은 텀블러 사진입니다.
다국어로 켜지 않은 Field는 기준 Locale 한 칸에만 값이 저장됩니다. 그래서 이 값을 다른 언어 화면에서도 보이게 하려면, 그 언어에 기준 Locale로 이어지는 Fallback을 정해 두어야 합니다. 예를 들어 가격을 다국어로 켜지 않았다면, 영어(en-US)의 Fallback을 한국어(기준)로 정해 두어야 영어 화면에서도 가격이 보입니다. Fallback이 없으면 그 언어 화면에서는 가격 칸이 비어 보입니다.
한 칸에 값을 여러 개 담는 "목록 타입으로 사용"(예: 상품 사진 여러 장)과 다국어는 다릅니다. 목록은 같은 종류의 값을 여러 개 모으는 것이고, 다국어는 한 값을 언어별로 나눠 담는 것입니다.
스페이스에 언어 추가하기
다국어로 채우려면 먼저 스페이스에 그 언어(Locale)가 있어야 합니다. 옷가게 스페이스에 영어(en-US)를 추가한다고 하겠습니다. 한국어(ko-KR)는 기준 Locale로 이미 있다고 보겠습니다.
- 왼쪽 메뉴에서 스페이스 설정을 열고 Locale 관리 화면으로 이동하세요.
- 오른쪽 위 + 추가 버튼을 눌러 영어(en-US)를 추가하세요.
- 영어(en-US)의 Fallback(값이 비었을 때 대신 보여줄 언어)을 한국어(ko-KR)로 지정하세요. 이렇게 해야 영어 값을 비워 둔 칸과 다국어로 켜지 않은 칸(가격 등)이 영어 화면에서 한국어 값으로 채워집니다. 지정하지 않으면 그 칸들은 영어 화면에서 비어 보입니다. 추가한 영어(en-US)를 목록에서 다시 눌러 "Locale 수정" 다이얼로그를 여세요. Fallback Locale 드롭다운에서 "Korean (South Korea) (ko-KR)"를 고르고 저장을 누르세요. (영어를 추가할 때 뜨는 "Locale 추가" 다이얼로그에도 같은 Fallback Locale 항목이 있어, 추가하면서 바로 지정해도 됩니다.)

- 목록에서 "Korean (South Korea) (ko-KR)" 항목에 Default 배지가 붙어 있는지 확인하세요. 이 배지가 기준 Locale 표시입니다.

상품 정보를 다국어로 설정하기
언어가 준비됐으면, 어떤 Field를 언어별로 채울지 정합니다. 텀블러의 상품명과 상세 설명을 다국어로 켭니다. 가격과 대표 사진은 그대로 둡니다.
Field를 처음 만드는 방법은 Content 모델링에서 다룹니다. 여기서는 이미 만든 상품명 Field를 열어 다국어로 바꾸는 부분만 봅니다.
- 왼쪽 메뉴에서 Content Type을 누르고 "상품"을 여세요.
- 상품명 Field를 눌러 Field 상세 설정 다이얼로그를 여세요.
- 설정 탭에서 이 Field의 다국어 허용 체크박스를 켜세요.
- 저장을 누르세요.
- 상세 설명 Field에도 같은 설정을 켜세요.

텀블러를 영어로도 채우기
이제 텀블러 Content를 열면, 상품명과 상세 설명 칸에서 언어를 바꿔 가며 값을 넣을 수 있습니다. 기준 Locale인 한국어 값은 앞에서 이미 채워 두었습니다.
- 왼쪽 메뉴에서 Content를 눌러 "스테인리스 텀블러 500ml"을 여세요.
- 편집 화면의 번역 섹션에서 오른쪽 드롭다운을 누르고 English (United States) (en-US) 항목을 고르세요. 그러면 다국어로 설정된 각 Field 아래에 en-US 입력 칸이 나란히 나타납니다.
- 상품명 칸의 en-US 줄에
Stainless Tumbler 500ml을 입력하세요. - 상세 설명 칸의 en-US 줄에 영어 설명을 입력하세요.
- 오른쪽 위의 저장을 누르세요.
- 텀블러 Content를 Publish하세요.

Publish가 무엇이고 어디서 누르는지는 Content 작성과 발행에서 다룹니다. 발행하고 나면 영어 값이 외부 공개에 함께 실립니다. 영어권 방문자는 영어 상품명과 설명을 받아 보고, 한국어 방문자는 한국어 값을 받아 봅니다. 어느 한 언어 값을 비워 둔 경우, 그 언어에 Fallback을 정해 두었으면 정해 둔 언어(예: 기준인 한국어) 값이 대신 나가고, 정해 두지 않았으면 그 자리는 비어서 나갑니다.
사진(Media)도 언어별로 담깁니다
다국어는 상품 같은 Content에만 있는 기능이 아닙니다. 사진·파일(Media)도 언어별로 다르게 담을 수 있습니다. 예를 들어 텀블러 대표 사진에 "보온·보냉"이라는 한국어 문구가 박혀 있다면, 영어권 방문자에게는 같은 자리에 영어 문구가 박힌 사진을 따로 보여 줄 수 있습니다. 파일뿐 아니라 사진의 제목과 설명도 언어별로 나뉩니다.
켜는 방식은 Content와 다릅니다. Content는 Field마다 다국어를 켜야 하지만(위 "상품 정보를 다국어로 설정하기"), Media는 처음부터 언어별로 담도록 되어 있어 따로 켤 것이 없습니다. 한 Media를 열어 언어를 바꿔 가며 각 언어의 파일·제목·설명을 넣으면 됩니다.
안 채운 언어 처리는 Content와 같습니다. 어떤 언어를 비워 두면, 그 언어에 정해 둔 Fallback의 값이 대신 나가고, 정해 두지 않았으면 그 자리는 비어서 나갑니다(위 "안 채운 언어 칸은 어떻게 보일까" 참조).
Media 편집 폼에는 번역 섹션이 있습니다. 기준 Locale 칩("ko-KR default") 옆 드롭다운에서 언어를 고르면, 그 언어의 제목 칸이 나타납니다. ko-KR과 en-US를 각각 골라 제목(및 해당 언어의 파일)을 채우면 됩니다.

Media를 올리고 Content에 연결하는 기본 방법은 Media에서 다룹니다.
설정한 다음 알아 둘 것
비워 둘 수 있는지는 Field의 필수 설정이 정합니다. 어떤 Field를 필수로 켜지 않았다면(유효성 검사의 필수 Field), 그 Field는 어느 언어도 채우지 않고 비워 둔 채 저장됩니다. 필수로 켰다면 값을 채워야 하고, 다국어 Field라면 스페이스에서 필수로 정해 둔 언어마다 채워야 합니다. 기준 Locale은 보통 필수라 채워야 하고, 선택으로 둔 언어는 비워 두어도 됩니다. 어떤 언어를 선택으로 둘지는 Locale 설정에서 정합니다. 빈 언어 칸을 다른 언어 값으로 메우는 Fallback은 이 규칙과 별개입니다.
다국어로 켜지 않은 Field는 기준 Locale에 한 번만 저장됩니다. 텀블러 가격을 16000으로 고치면 그 한 값이 바뀝니다. 언어별로 따로 관리할 필요는 없습니다. 다만 영어 화면에서도 이 값이 보이려면 영어(en-US)의 Fallback이 한국어(기준)로 이어져 있어야 합니다. Fallback이 없으면 비기준 언어 화면에서는 이 칸이 비어 보입니다(위 "안 채운 언어 칸은 어떻게 보일까" 참조).
다음으로 할 일
- Content 모델링: Field를 만들고 종류를 정하는 기본 방법을 다룹니다.
- Content 작성과 발행: 텀블러 Content를 만들고 Publish하는 방법을 다룹니다.
- API 레퍼런스: 언어별 값을 코드로 직접 넣고, 외부 공개에서 특정 언어로 받아가는 요청 형식 같은 기술 명세를 다룹니다.
