Locale
최종 수정: 2026년 6월 22일
Locale은 Space가 지원하는 언어 설정입니다. 각 Locale은 언어 코드(code, 예: ko-KR), Space의 기본 Locale인지 여부(default), 필수 필드 채움에서 선택적인지 여부(optional), 값이 없을 때 대신 찾아볼 Locale(fallbackCode)을 가집니다. CDA(Content Delivery API)는 이 목록을 읽기 전용으로 전달합니다. Locale을 만들거나 고치는 작업은 CMA Locale 소관입니다.
Content나 Media를 조회할 때 넘기는 locale 쿼리 파라미터 값이 바로 이 Locale의 code입니다. 어떤 코드를 넣을 수 있는지 알려면 먼저 이 엔드포인트로 Space가 지원하는 Locale 목록을 읽어, 거기 담긴 code를 사용합니다.
리소스 구조
다음은 데모 Space의 Locale 한 건("Korean (South Korea)")을 CDA가 전달하는 형태입니다. sys(시스템 속성)와 함께, Locale의 본문 속성인 optional을 가집니다.
{
"sys": {
"id": "3trmXRM3RqbgSnifyg7OGfZoXmkOU8",
"type": "Locale",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"name": "Korean (South Korea)",
"default": false,
"code": "ko-KR",
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-15T15:14:11.710Z",
"updatedAt": "2026-06-17T10:43:32.034Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"version": 3
},
"optional": false
}주요 키:
sys.code: 이 Locale의 언어 코드입니다. Content·Media 조회의locale파라미터에 이 값을 넣습니다.sys.default: 이 Locale이 Space의 기본 Locale인지 여부입니다. Space에는 기본 Locale이 하나 있고, 그 Locale에서만default가true입니다.sys.name: 사람이 읽는 이름입니다(예:"Korean (South Korea)"). 조회 파라미터에는 이 이름이 아니라code를 씁니다.optional: 필수(required) 필드를 채울 때 이 Locale을 비워 둘 수 있는지 여부입니다. 위 예시의 두 Locale은 모두optional이false입니다.fallbackCode: 값이 없을 때 대신 찾아볼 다른 Locale의code입니다(옵션). 설정했을 때만 응답에 나타납니다. 위 예시에는 설정돼 있지 않아 키가 보이지 않습니다.
시스템 속성 (sys)와 본문
space·createdBy·updatedBy는 Refer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.
| 속성 | 타입 | 설명 |
|---|---|---|
id | string | 리소스 고유 식별자. |
type | string | 리소스 종류. Locale은 항상 "Locale". |
space | Refer<Space> | 이 Locale이 속한 Space. |
name | string | 사람이 읽는 이름(예: "Korean (South Korea)"). |
code | string | 언어 코드(예: ko-KR). Content·Media 조회의 locale 값이 됩니다. |
default | boolean | Space의 기본 Locale인지 여부. Space에 하나만 true. |
createdBy | Refer<User> | 생성한 사용자. |
createdAt | string (date-time) | 생성 시각. |
updatedBy | Refer<User> | 마지막으로 수정한 사용자. |
updatedAt | string (date-time) | 마지막 수정 시각. |
version | integer | 현재 버전. 수정할 때마다 올라갑니다. |
Locale은 발행 스냅샷이 아니라 Space의 설정 리소스이므로, Content의 sys에 있는 revision·status·publish는 담기지 않습니다.
본문 속성:
| 속성 | 타입 | 설명 |
|---|---|---|
optional | boolean | 필수(required) 필드를 채울 때 이 Locale을 비워 둘 수 있는지 여부. 기본 Locale은 보통 false(반드시 채움). |
fallbackCode | string | 값이 없을 때 대신 찾아볼 Locale의 code(옵션, 체인 가능). 설정하지 않으면 키 자체가 응답에 없습니다. |
동작 메모
default가 true인 Locale은 Content 생성 시 반드시 채워야 하며, Content·Media 조회에서 locale을 그 code로 지정해 그 언어의 값을 받습니다. fallbackCode가 설정돼 있으면, 요청한 Locale에 값이 없을 때 fallbackCode가 가리키는 Locale로 넘어가 값을 찾습니다(그 Locale에도 fallbackCode가 있으면 계속 이어지는 체인). fallbackCode가 없는 Locale은 값이 없을 때 그대로 null이 됩니다. 기본 Locale·fallback·필수 채움 규칙은 다국어 (개념)에서 다룹니다.
API
아래 엔드포인트의 기준 URL은 https://cda.weegloo.com/v1이며, Authorization 헤더에 CDA를 인증하는 Bearer 토큰이 필요합니다. Locale 목록은 언어 설정 자체이므로, Content·Media 조회와 달리 locale 쿼리 파라미터를 받지 않습니다.
관련 문서
- CDA 개요: CDA 전체와 공통 전달 동작.
- CDA Content: locale로 받을 언어를 정해 Content 전달받기.
- 다국어 (개념): 기본 Locale·fallback·필수 채움 규칙.
