LookML 모델 현지화

모델 현지화는 종종 숫자 형식 현지화 및 사용자 인터페이스 언어 선택과 함께 발생합니다. 이러한 주제에 대한 자세한 내용은 숫자 형식 현지화지원되는 사용자 인터페이스 언어 문서 페이지를 참조하세요.

모델 현지화를 사용하면 사용자의 언어에 따라 모델의 라벨 및 설명이 표시되는 방식을 맞춤설정할 수 있습니다.

현지화는 지리적 위치 또는 언어를 기반으로 하지 않아도 됩니다. 언어를 사용하면 내부 사용자와 외부 사용자, 관리자 또는 개별 참여자 등 다른 차별화 요소를 나타내고 그에 따라 라벨과 설명을 맞춤설정할 수 있습니다.

모델 현지화는 현재 프로젝트 가져오기와 호환되지 않습니다.

이 페이지에서는 프로젝트를 현지화하는 단계를 설명합니다.

Looker 사용자 인터페이스 현지화 또는 숫자 형식 지정 현지화에 대해 자세히 알아보려면 지원되는 사용자 인터페이스 언어숫자 형식 지정 문서 페이지를 참조하세요.

모델 파일에서 현지화된 요소 사용

다음을 포함하여 모델의 라벨, 그룹 라벨, 설명을 현지화할 수 있습니다.

dimension_group에는 현지화가 지원되지 않습니다. 대신 group_labelgroup_item_label을 사용하여 현지화할 수 있는 나만의 측정기준을 만듭니다.

프로젝트에서 현지화된 LookML 대시보드를 만들 수도 있습니다. 현지화할 수 있는 LookML 대시보드 매개변수는 다음과 같습니다.

프로젝트에서 현지화할 수 있는 모든 필드를 보려면 프로젝트의 현지화 수준strict로 설정하면 됩니다. 이 설정을 사용하면 현지화할 수 있지만 라벨이 없는 LookML 요소와 현지화할 수 있지만 로케일 문자열 파일에 정의되지 않은 LookML 모델의 문자열에 대해 LookML 검증 오류를 반환합니다.

다음은 몇 가지 라벨과 설명이 포함된 뷰 파일의 예입니다.

view: flights {
  label: "flight_info"
  sql_table_name: flightstats.accidents ;;

  dimension: id {
    label: "id"
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

  dimension: air_carrier {
    label: "airline"
    type: string
    sql: ${TABLE}.air_carrier ;;
  }

  dimension: country {
    label: "country"
    description: "country_of_departure"
    type: string
    map_layer_name: countries
    sql: ${TABLE}.country ;;
  }

  dimension: number_of_engines {
    label: "number_of_engines"
    type: string
    sql: ${TABLE}.number_of_engines ;;
  }

  dimension: location {
    type: string
    sql: ${TABLE}.location ;;
  }

이 값은 permissive 현지화 수준을 사용하여 문자열 파일로 현지화됩니다. location 측정기준에는 라벨이 없으므로 현지화가 없는 측정기준이 표시되는 방식을 설명할 수 있습니다.

언어 문자열 파일 만들기

언어 문자열 파일은 키-값 쌍을 사용하여 모델의 라벨과 설명이 각 언어에 표시되는 방법을 정의합니다. 각 키-값 쌍의 왼쪽에는 모델의 라벨 또는 설명 문자열인 현지화 키가 있습니다. 키-값 쌍의 오른쪽에는 문자열이 Looker UI에 표시되는 방식을 정의할 수 있습니다.

프로젝트에 사용할 언어별로 전용 문자열 파일을 만드세요. 프로젝트의 언어별로 문자열 파일을 하나만 만들어야 합니다. 기본 언어와 일치하도록 이름이 지정된 문자열 파일이 있어야 합니다. 예를 들어 프로젝트의 매니페스트 파일default_locale: en을 지정한 경우 모델에는 en.strings.json라는 파일이 있어야 합니다. 각 문자열은 기본 언어 문자열 파일에 정의되어야 하며 그렇지 않으면 현지화되지 않습니다.

모델 현지화는 지리적 위치 또는 언어를 기반으로 하지 않아도 됩니다. 하지만 모델 현지화를 사용하고 있으며 Looker의 기본 현지화된 대시보드와 시각화 사용자 인터페이스도 사용하려는 경우, 문자열 파일의 제목을 Looker의 지원되는 언어 코드와 일치시켜야 합니다.

다음은 언어 값이 en인 모든 사용자에게 활용될 en.strings.json 파일의 예입니다. 이 예에서는 en도 기본 언어로 지정되므로 이 파일에서 현지화하려면 모든 문자열을 정의해야 합니다.

{
  "flight_info": "Flights",
  "id": "Identifier",
  "airline": "Air Carrier",
  "country_of_departure": "Country of Departure",
  "number_engines": "Number of Engines"
}

en 사용자가 Looker에서 보는 내용은 다음과 같습니다.

다음에 유의하세요.

  • 위의 보기 파일에서는 location 측정기준의 라벨을 아예 제공하지 않았으므로 Looker에서 측정기준의 이름(대문자: '위치')이 표시됩니다.
  • en.strings.json 파일에서 'country' 라벨의 현지화를 정의하지 않았으므로 Looker는 뷰 파일에 정의된 라벨을 대문자로 표시하며 'country'는 표시하지 않습니다.

또 다른 예로, 언어 값이 es_ES인 모든 사용자에게 사용되는 es_ES.strings.json 파일을 만들 수 있습니다.

{
  "flight_info": "Vuelos",
  "id": "Identificador",
  "airline": "Aerolínea",
  "country": "País",
  "country_of_departure": "País de Partida",
  "number_engines": "Número de Motores"
}

es_ES 사용자가 Looker에서 보는 내용은 다음과 같습니다.

다음에 유의하세요.

  • 이전 예와 같이 위의 보기 파일에서 location 측정기준의 라벨을 아예 제공하지 않았으므로 Looker에서 측정기준의 이름(대문자: "Location")을 표시합니다.
  • 기본 언어 문자열 파일인 en.strings.json 파일에서 'country' 라벨의 현지화를 정의하지 않았습니다. 따라서 es_ES.strings.json 파일에서 'country'를 정의했지만 Looker는 이 문자열을 현지화하지 않으며 뷰 파일에 정의된 라벨("country")을 표시합니다.

프로젝트의 매니페스트 파일에 현지화 설정 추가

프로젝트에 현지화를 사용 설정하려면 프로젝트의 매니페스트 파일에 localization_settings 매개변수를 추가하세요.

프로젝트에 매니페스트 파일이 아직 없는 경우 Looker IDE의 파일 브라우저 상단에 있는 + 아이콘에서 파일을 생성할 수 있습니다.

매니페스트 파일에 현지화 설정을 추가합니다. 예를 들면 다음과 같습니다.

localization_settings: {
  default_locale: en
  localization_level: permissive
}

default_locale

default_locale 매개변수는 프로젝트의 기본 언어 문자열 파일 이름을 지정합니다.

기본 언어 문자열 파일은 모델의 어떤 문자열이 현지화되는지 결정합니다. 라벨 또는 설명 문자열이 다른 언어 문자열 파일에 정의되어 있더라도 기본 언어 문자열 파일에 정의되지 않으면 Looker UI에 현지화되지 않은 문자열이 표시됩니다. 언어 문자열 파일 설정에 관한 자세한 내용은 위의 이 섹션을 참고하세요.

프로젝트의 기본 언어가 Looker 사용자의 기본 언어와 혼동되지 않아야 합니다. Looker 관리자가 인스턴스의 기본 언어를 설정할 수 있습니다. 기본값을 설정하지 않으면 Looker의 기본값은 en입니다. 관리자가 사용자가 속한 사용자 또는 사용자 그룹에 대한 언어 값을 구체적으로 입력하지 않으면 Looker에서 사용자를 기본 인스턴스 언어에 할당합니다. 관리자가 기본 인스턴스 언어를 설정하지 않은 경우 Looker에서 en 언어에 사용자를 할당합니다.

따라서 Looker 관리자가 모든 Looker 사용자의 언어 값을 설정할 것이라고 확신하지 않는 한, 프로젝트의 default_locale 매개변수를 인스턴스의 기본 언어 (기본값이 설정되지 않은 경우 en)로 설정하고 해당 언어의 .strings.json 파일에 모든 라벨 및 설명의 현지화를 정의해야 합니다.

localization_level

프로젝트의 현지화 수준은 모델에서 현지화되지 않은 요소를 허용할지 여부를 지정합니다.

  • 현지화 수준을 strict로 설정하여 프로젝트의 모든 모델, 탐색 분석, 뷰, 필드에 현지화된 라벨을 요청합니다. Looker IDE에서는 라벨이 없는 요소와 기본 언어 문자열 파일에 정의되어 있지 않은 라벨 및 설명의 경우 LookML 유효성 검사 오류를 반환합니다.
  • 현지화 수준을 permissive으로 설정하여 라벨이 없는 요소를 허용하고 기본 현지화 문자열 파일에 정의되지 않은 라벨과 설명을 허용합니다.

프로젝트를 strict 현지화하고 싶은 경우에도 유효성 검사 오류를 방지하기 위해 프로젝트를 개발할 때 프로젝트의 현지화 수준을 permissive로 설정하는 것이 편리할 수 있습니다. 모든 라벨 및 설명의 현지화를 완료하면 현지화 수준을 strict로 설정하여 오류를 확인할 수 있습니다.

사용자를 언어로 할당

언어 문자열 파일을 설정한 후 언어 문자열 파일 중 하나에 해당하는 언어에 사용자를 할당할 수 있습니다. 이 작업은 언어 필드 또는 locale 사용자 속성을 사용하여 인스턴스, 사용자 그룹, 개별 사용자 수준에서 수행할 수 있습니다.

예를 들어 사용자가 es_ES.strings.json 파일에 정의된 라벨과 설명을 볼 수 있게 하려면 Looker 관리자가 사용자의 언어 설정을 es_ES로 설정해야 합니다.

문자열 파일로 만든 맞춤 언어는 드롭다운 메뉴에서 필드를 클릭하고 대신 문자열 언어를 클릭하고 파일 언어 입력란에 입력할 수 있습니다. 자세한 내용은 사용자 문서 페이지를 참고하세요.

개별 또는 사용자 그룹 수준의 사용자가 언어를 설정하지 않으면 Looker에서 인스턴스 언어에 사용자를 할당합니다. 하지만 인스턴스 언어에 .strings 파일이 설정되어 있지 않으면 해당 사용자에게 모델 현지화가 작동하지 않습니다. 따라서 각 인스턴스의 기본 언어에 .strings 파일을 설정해야 합니다. default_locale 또는 언어 문자열 파일 만들기 섹션에서 자세히 알아보세요.

SSO 삽입 사용자의 언어 설정

다른 사용자 속성과 마찬가지로 SSO 삽입 URL에 사용자의 언어 값을 포함할 수 있습니다. SSO 삽입에 필요한 정확한 형식은 SSO 삽입 URL 스크립트를 빌드하는 데 사용된 프로그래밍 언어에 따라 다르지만 사용자 속성의 이름은 locale입니다. SSO 삽입 URL 및 SSO 삽입 URL 빌드를 위한 도구에 대한 자세한 내용은 싱글 사인온 (SSO) 삽입 문서 페이지를 참고하세요.

Liquid 변수에서 로케일 사용

위에서 설명한 대로 모델 현지화를 사용하면 다양한 언어의 모델 라벨과 설명을 표시할 수 있습니다. 하지만 Liquid 변수에 현지화 키를 포함하여 데이터 값을 현지화할 수도 있습니다.

예를 들어 기본 언어 문자열 파일 en.strings.json의 경우 다음 항목을 사용하여 현지화 키 domesticinternational를 만들 수 있습니다.

{
  "domestic": "Domestic",
  "international": "International"
}

그런 다음 es_ES.strings.json 파일에서 다음 현지화 키의 스페인어 버전을 제공할 수 있습니다.

{
  "domestic": "Nacional",
  "international": "Internacional"
}

여기에서 domesticinternational 현지화 키를 사용하여 Liquid 변수에서 측정기준의 출력을 현지화할 수 있습니다.

dimension: from_US {
    label: "from_us"
    type: string
    sql: CASE
         WHEN ${TABLE}.country = 'United States' THEN '{{ _localization['domestic'] }}'
         ELSE '{{ _localization['international'] }}'
         END;;
  }

이제 en 언어를 사용하는 사용자는 다음과 같습니다.

es_ES 언어를 사용하는 사용자는 다음과 같습니다.

대시보드대시보드 요소 필터에서 액체를 사용하여 필터의 기본값을 현지화할 수도 있습니다. 예를 들어 LookML 대시보드에 위의 탐색 타일이 있고 타일에 다음과 같이 정의된 필터가 있다고 가정해 보겠습니다.

filters:
  flights.from_US: "{{ _localization['domestic'] }}"

en 언어를 사용하는 사용자는 대시보드에서 해당 타일을 탐색할 때 다음과 같이 표시됩니다.

그리고 es_ES 언어가 있는 사용자가 대시보드에서 이 타일을 탐색할 때 다음과 같이 표시됩니다.

현지화 및 확장된 객체에 현지화 규칙이 적용되는 방식 이해하기

현지화 규칙은 뷰, 탐색 분석 또는 LookML 대시보드를 확장하거나 뷰 또는 탐색 분석을 세분화할 때 적용됩니다.

객체를 확장하거나 수정한 다음 새 라벨 또는 설명을 추가한 경우 언어 문자열 파일에 현지화 정의를 제공해야 합니다.

예를 들어 flights 뷰가 있는 경우:


view: flights {
  label: "flight_info"
  sql_table_name: flightstats.accidents ;;
  ...
}

그런 다음 flights 뷰를 확장하는 새 뷰를 만듭니다.

include: "/views/flights.view"

view: flights_enhanced {
  extends: [flights]
  label: "enhanced_flight_info"
}

언어 문자열 파일에서 뷰 라벨 문자열 ("flight_info""enhanced_flight_info")을 모두 정의해야 합니다. 프로젝트의 현지화 수준strict으로 설정된 경우 새 라벨이나 설명을 정의할 때까지 업데이트를 커밋할 수 없습니다.