Dengan pelokalan model, Anda dapat menyesuaikan tampilan label dan deskripsi model sesuai dengan lokalitas pengguna.
Pelokalan tidak harus didasarkan pada lokasi geografis atau bahasa. Anda dapat menggunakan lokalitas untuk merepresentasikan faktor pembeda lainnya, seperti pengguna internal atau eksternal, atau pengelola atau kontributor individual, lalu menyesuaikan label dan deskripsi sebagaimana mestinya.
Halaman ini menjelaskan langkah-langkah pelokalan project:
- Tentukan elemen yang akan dilokalkan dengan menambahkan label, label kelompok, dan deskripsi ke model Anda.
- Berikan definisi pelokalan untuk project Anda dengan membuat file string lokalitas.
- Aktifkan pelokalan untuk project Anda dengan menambahkan setelan pelokalan ke file manifes project.
- Tentukan tampilan untuk berbagai pengguna dengan menetapkan pengguna ke lokalitas.
Pelokalan model sering kali terjadi bersama dengan admin yang menentukan setelan pelokalan format angka dan bahasa antarmuka pengguna.
Melokalkan label dan deskripsi dalam model Anda
Anda dapat melokalkan label, label grup, dan deskripsi dalam model, termasuk hal berikut:
label
untuk field, model, Explore, atau tampilanlabel
untuk aplikasi di framework ekstensi Lookergroup_label
untuk Jelajahi dangroup_label
untuk kolomgroup_item_label
untuk kolomdescription
untuk Jelajahi dandescription
untuk kolom
Anda juga dapat membuat dasbor LookML yang dilokalkan di project. Parameter dasbor LookML berikut dapat dilokalkan:
title
description
text
(yang merupakan subparameter dari parameternote
dan dapat diterapkan ke semua jenis elemen dasbor, selain elementype: text
)comparison_label
single_value_title
Untuk melihat semua kolom dalam project yang dapat dilokalkan, Anda dapat menetapkan tingkat pelokalan project ke strict
. Dengan setelan ini, Looker IDE akan menampilkan error validasi LookML untuk elemen LookML apa pun yang dapat dilokalkan tetapi tidak memiliki label, dan untuk string apa pun dalam model LookML Anda yang dapat dilokalkan tetapi tidak didefinisikan dalam file string lokalitas Anda.
Dalam contoh LookML berikut, label diberikan untuk tampilan flights
serta kolom id
, country
, dan number_of_engines
. Deskripsi juga disediakan untuk kolom country
.
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
dimension: id {
label: "id"
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
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 ;;
}
Pada contoh yang mengikuti halaman ini, kita akan melokalkan nilai ini dalam file string menggunakan tingkat pelokalan permissive
. Perhatikan bahwa dimensi location
tidak memiliki label, sehingga kita dapat menunjukkan bagaimana dimensi tanpa pelokalan akan ditampilkan.
Membuat file string lokalitas
File string lokalitas menggunakan key-value pair untuk menentukan cara label dan deskripsi dalam model Anda ditampilkan untuk setiap lokalitas. Di sisi kiri setiap pasangan nilai kunci terdapat kunci pelokalan, yang merupakan label atau string deskripsi dari model Anda. Di sisi kanan key-value pair adalah tempat Anda menentukan cara string tersebut ditampilkan di UI Looker.
Untuk setiap lokalitas yang ingin digunakan untuk project, Anda harus membuat file string khusus. Buat satu file string saja untuk setiap lokalitas. Anda harus memiliki file string yang diberi nama agar cocok dengan lokalitas default. Misalnya, jika telah menentukan default_locale: en
dalam file manifes project, Anda harus memiliki file dalam model yang bernama en.strings.json
. Setiap string harus ditentukan dalam file string lokalitas default atau tidak akan dilokalkan.
Contoh file en.strings.json
ini akan digunakan untuk semua pengguna yang memiliki nilai Locale en
. Dalam contoh LookML berikut, en
juga ditentukan sebagai lokalitas default, sehingga semua string harus ditentukan dalam file ini agar dapat dilokalkan.
{
"flight_info": "Flights",
"id": "Identifier",
"country_of_departure": "Country of Departure",
"number_engines": "Number of Engines"
}
Tabel berikut menunjukkan tampilan yang akan dilihat oleh pengguna yang menyetel lokalitasnya ke en
di tabel data Jelajah Looker:
Flights Identifier | Flights country | Flights Location | Flights Number of Engines |
---|---|---|---|
493 | Congo | Kisangani, Congo | 3 |
2167 | Saudi Arabia | Riyadh, Saudi Arabia | 3 |
2657 | Austria | Vienna, Austria | 2 |
17992 | United States | Kansas City, MO | 2 |
18893 | United States | Anchorage, AK | 4 |
Perhatikan hal-hal berikut:
- Dalam
flights
contoh tampilan LookML yang ditampilkan sebelumnya, kita tidak memberikan label sama sekali untuk dimensilocation
, sehingga Looker menampilkan nama dimensi, yang ditulis dengan huruf kapital: "Lokasi". - Kita tidak menentukan pelokalan untuk label "country" dalam file
en.strings.json
, sehingga Looker menampilkan label seperti yang ditentukan dalam file tampilan, tanpa menggunakan huruf besar: "country".
Sebagai contoh lainnya, kita dapat membuat file es_ES.strings.json
yang digunakan untuk semua pengguna dengan nilai Locale es_ES
:
{
"flight_info": "Vuelos",
"id": "Identificador",
"country": "País",
"country_of_departure": "País de Partida",
"number_engines": "Número de Motores"
}
Tabel berikut menunjukkan apa yang akan dilihat oleh pengguna yang menyetel lokalitasnya ke es_ES
di Looker:
Vuelos Identificador | Vuelos country | Vuelos Location | Vuelos Número de Motores |
---|---|---|---|
493 | Congo | Kisangani, Congo | 3 |
2167 | Saudi Arabia | Riyadh, Saudi Arabia | 3 |
2657 | Austria | Vienna, Austria | 2 |
17992 | United States | Kansas City, MO | 2 |
18893 | United States | Anchorage, AK | 4 |
Perhatikan hal-hal berikut:
- Seperti pada contoh sebelumnya, di tampilan asli dengan label dan deskripsi yang ditambahkan, kita tidak memberikan label sama sekali untuk dimensi
location
, sehingga Looker menampilkan nama dimensi, yang ditulis dengan huruf kapital: "Lokasi". - Kita tidak menentukan pelokalan untuk label "country" dalam file
en.strings.json
, yang merupakan file string lokalitas default. Jadi, meskipun kita menentukan "country" di filees_ES.strings.json
, Looker tidak akan melokalkan string ini dan menampilkan label seperti yang ditentukan dalam file tampilan: "country".
Menambahkan setelan pelokalan ke file manifes project Anda
Guna mengaktifkan pelokalan untuk project Anda, tambahkan parameter localization_settings
ke file manifes project Anda.
Di file manifes, tambahkan setelan pelokalan Anda. Berikut contohnya:
localization_settings: {
default_locale: en
localization_level: permissive
}
default_locale
Parameter default_locale
menetapkan nama file string lokalitas default dalam project Anda.
File string lokalitas default menentukan string mana dari model Anda yang dilokalkan. Meskipun label atau string deskripsi ditentukan dalam file string lokalitas lain, jika tidak ditentukan dalam file string lokalitas default, UI Looker akan menampilkan string yang tidak dilokalkan.
Lokalitas default untuk project Anda jangan disalahartikan sebagai lokalitas default untuk pengguna Looker. Admin Looker dapat menetapkan lokalitas default untuk instance Anda. Jika tidak ada default yang ditetapkan, Looker akan ditetapkan secara default ke en
. Jika admin Anda tidak secara khusus memasukkan nilai Locale untuk pengguna atau grup pengguna yang mencakup pengguna tersebut, Looker akan menetapkan pengguna tersebut ke lokalitas instance default. Selain itu, jika admin belum menetapkan lokalitas instance default, Looker akan menetapkan pengguna ke lokalitas en
.
Karena alasan ini, kecuali jika Anda yakin admin Looker akan menetapkan nilai Locale untuk semua pengguna Looker, Anda harus menetapkan parameter default_locale
project ke lokalitas default untuk instance Anda (atau ke en
jika tidak ada default yang ditetapkan), dan menentukan pelokalan untuk semua label dan deskripsi di file .strings.json
untuk lokalitas tersebut.
localization_level
Tingkat pelokalan project Anda menentukan apakah elemen yang tidak dilokalkan diizinkan dalam model Anda:
- Tetapkan level pelokalan ke
strict
agar mewajibkan label yang dilokalkan untuk semua model, Jelajah, tampilan, dan kolom dalam project Anda. Looker IDE akan menampilkan error validasi LookML untuk salah satu elemen ini yang tidak memiliki label, serta untuk setiap label dan deskripsi yang tidak ditentukan dalam file string lokalitas default. - Tetapkan tingkat pelokalan ke
permissive
untuk mengizinkan elemen tanpa label, serta untuk mengizinkan label dan deskripsi yang tidak ditentukan dalam file string pelokalan default.
Meskipun Anda menginginkan tingkat pelokalan strict
, sebaiknya tetapkan tingkat pelokalan project ke permissive
saat mengembangkan project untuk mencegah error validasi. Setelah selesai melokalkan semua label dan deskripsi, Anda dapat menetapkan tingkat pelokalan ke strict
untuk melihat error.
Menetapkan pengguna ke lokalitas
Setelah file string lokalitas disiapkan, Anda dapat menetapkan pengguna ke lokalitas yang sesuai dengan salah satu file string lokalitas. Hal ini dapat dilakukan di tingkat instance, grup pengguna, atau pengguna individual, menggunakan kolom Locale atau atribut pengguna locale
.
Misalnya, jika Anda ingin pengguna melihat label dan deskripsi yang ditentukan dalam file es_ES.strings.json
, admin Looker Anda harus menetapkan setelan Locale pengguna ke es_ES
.
Lokal kustom yang Anda buat dengan file string dapat dimasukkan di kolom Locale dengan mengklik kolom dan mengetik nama file string, bukan memilih lokal bawaan dari menu drop-down. Untuk informasi selengkapnya, lihat halaman dokumentasi Pengguna.
Menyetel lokalitas untuk pengguna sematan bertanda tangan
Anda dapat menyertakan nilai lokalitas pengguna dalam URL sematan yang ditandatangani seperti atribut pengguna lainnya. Format persis yang diperlukan untuk sematan bertanda tangan bergantung pada bahasa pemrograman yang digunakan untuk membuat skrip URL sematan bertanda tangan, tetapi nama atribut pengguna adalah locale
. Lihat halaman dokumentasi Penyematan yang ditandatangani untuk informasi selengkapnya tentang URL sematan yang ditandatangani dan alat untuk membuat URL sematan yang ditandatangani.
Menggunakan lokalitas dalam variabel Liquid
Seperti dijelaskan di atas, pelokalan model memungkinkan Anda menyesuaikan tampilan label dan deskripsi model untuk lokal yang berbeda. Namun, Anda juga dapat menyertakan kunci pelokalan dalam Variabel cair, yang juga memungkinkan Anda melokalkan nilai data.
Misalnya, dalam file string lokalitas default bernama en.strings.json
, kita dapat membuat kunci pelokalan domestic
dan international
dengan entri berikut:
{
"domestic": "Domestic",
"international": "International"
}
Kemudian, di file es_ES.strings.json
, kita dapat memberikan kunci pelokalan dalam versi bahasa Spanyol:
{
"domestic": "Nacional",
"international": "Internacional"
}
Dari sana, kita dapat menggunakan kunci pelokalan domestic
dan international
dalam variabel Liquid untuk melokalkan output dimensi:
dimension: from_US {
label: "from_us"
type: string
sql: CASE
WHEN ${TABLE}.country = 'United States' THEN '{{ _localization['domestic'] }}'
ELSE '{{ _localization['international'] }}'
END;;
}
Pengguna dengan lokalitas en
akan melihat hasil berikut:
Flights Identifier | Flights country | Flights From the US? |
---|---|---|
289 | United States | Domestic |
400 | Canada | International |
493 | Congo | International |
936 | United States | Domestic |
Pengguna dengan lokalitas es_ES
akan melihat hasil berikut:
Vuelos Identificador | Vuelos País | Vuelos ¿De Los Estados Unidos? |
---|---|---|
289 | United States | Nacional |
400 | Canada | Internacional |
493 | Congo | Internacional |
936 | United States | Nacional |
Pengguna dengan lokalitas es_ES
` masing-masing akan melihat data " Domestik" dan "Internasional" yang dilokalkan ke "Nacional" dan "Internacional", masing-masing.
Anda juga dapat menggunakan Liquid di filter dasbor LookML dan filter elemen dasbor LookML untuk melokalkan nilai default dalam filter. Misalnya, jika dasbor LookML memiliki kartu dari Explore di atas, dan ada filter pada kartu tersebut yang ditentukan dalam LookML sebagai berikut:
filters:
flights.from_US: "{{ _localization['domestic'] }}"
Saat pengguna dengan lokalitas en
menjelajahi dari ubin tersebut di dasbor, Jelajah akan difilter pada nilai Domestic untuk kolom Flights From the US?, dan tabel data di Eksplorasi akan menyertakan hasil berikut:
Flights Identifier | Flights country | Flights From the US? |
---|---|---|
289 | United States | Domestic |
936 | United States | Domestic |
Saat pengguna dengan lokalitas es_ES
menjelajahi dari ubin tersebut di dasbor, Jelajah difilter pada nilai Nacional untuk kolom Vuelos ¿De Los Estados Unidos?, dan tabel data di Eksplorasi akan menyertakan hasil berikut:
Vuelos Identificador | Vuelos País | Vuelos ¿De Los Estados Unidos? |
---|---|---|
289 | United States | Nacional |
936 | United States | Nacional |
Memahami penerapan aturan pelokalan pada objek yang diperluas dan yang disempurnakan
Perhatikan bahwa aturan pelokalan berlaku saat Anda memperluas tampilan, Jelajah, atau dasbor LookML, dan saat Anda menyaring tampilan atau Jelajah.
Jika Anda telah memperluas atau meningkatkan objek, lalu menambahkan label atau deskripsi baru, Anda harus memberikan definisi pelokalan dalam file string lokalitas.
Misalnya, jika kita memiliki tampilan flights
:
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
...
}
Selanjutnya, kita membuat tampilan baru yang memperluas tampilan flights
:
include: "/views/flights.view"
view: flights_enhanced {
extends: [flights]
label: "enhanced_flight_info"
}
Dalam file string lokalitas, kita perlu menentukan kedua string label tampilan ("flight_info"
dan "enhanced_flight_info"
). Jika tingkat pelokalan project disetel ke strict
, kita tidak akan dapat melakukan update apa pun hingga kita menentukan label atau deskripsi baru.