Locale

최종 수정: 2026년 6월 22일

LocaleSpace가 지원하는 언어 설정입니다. 각 Locale은 언어 코드(code, 예: ko-KR), Space의 기본 Locale인지 여부(default), 필수 필드 채움에서 선택적인지 여부(optional), 값이 없을 때 대신 찾아볼 Locale(fallbackCode)을 가집니다. CDA(Content Delivery API)는 이 목록을 읽기 전용으로 전달합니다. Locale을 만들거나 고치는 작업은 CMA Locale 소관입니다.

ContentMedia를 조회할 때 넘기는 locale 쿼리 파라미터 값이 바로 이 Localecode입니다. 어떤 코드를 넣을 수 있는지 알려면 먼저 이 엔드포인트로 Space가 지원하는 Locale 목록을 읽어, 거기 담긴 code를 사용합니다.

리소스 구조

다음은 데모 SpaceLocale 한 건("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: 이 LocaleSpace의 기본 Locale인지 여부입니다. Space에는 기본 Locale이 하나 있고, 그 Locale에서만 defaulttrue입니다.
  • sys.name: 사람이 읽는 이름입니다(예: "Korean (South Korea)"). 조회 파라미터에는 이 이름이 아니라 code를 씁니다.
  • optional: 필수(required) 필드를 채울 때 이 Locale을 비워 둘 수 있는지 여부입니다. 위 예시의 두 Locale은 모두 optionalfalse입니다.
  • fallbackCode: 값이 없을 때 대신 찾아볼 다른 Localecode입니다(옵션). 설정했을 때만 응답에 나타납니다. 위 예시에는 설정돼 있지 않아 키가 보이지 않습니다.

시스템 속성 (sys)와 본문

space·createdBy·updatedByRefer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.

속성타입설명
idstring리소스 고유 식별자.
typestring리소스 종류. Locale은 항상 "Locale".
spaceRefer<Space>Locale이 속한 Space.
namestring사람이 읽는 이름(예: "Korean (South Korea)").
codestring언어 코드(예: ko-KR). Content·Media 조회의 locale 값이 됩니다.
defaultbooleanSpace의 기본 Locale인지 여부. Space에 하나만 true.
createdByRefer<User>생성한 사용자.
createdAtstring (date-time)생성 시각.
updatedByRefer<User>마지막으로 수정한 사용자.
updatedAtstring (date-time)마지막 수정 시각.
versioninteger현재 버전. 수정할 때마다 올라갑니다.

Locale은 발행 스냅샷이 아니라 Space의 설정 리소스이므로, Contentsys에 있는 revision·status·publish는 담기지 않습니다.

본문 속성:

속성타입설명
optionalboolean필수(required) 필드를 채울 때 이 Locale을 비워 둘 수 있는지 여부. 기본 Locale은 보통 false(반드시 채움).
fallbackCodestring값이 없을 때 대신 찾아볼 Localecode(옵션, 체인 가능). 설정하지 않으면 키 자체가 응답에 없습니다.

동작 메모

defaulttrueLocaleContent 생성 시 반드시 채워야 하며, 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 쿼리 파라미터를 받지 않습니다.