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 mewakili faktor pembeda lainnya, seperti pengguna internal versus eksternal, atau pengelola versus kontributor individu, dan menyesuaikan label serta deskripsi Anda.
Halaman ini menjelaskan langkah-langkah untuk melokalkan project Anda:
- Tentukan elemen yang akan dilokalkan dengan menambahkan label, label grup, 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 pengguna yang berbeda dengan menetapkan pengguna ke lokalitas.
Pelokalan model sering terjadi bersamaan 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:
labeluntuk kolom, model, Eksplorasi, atau tabel virtuallabeluntuk aplikasi dalam framework ekstensi Lookergroup_labeluntuk Eksplorasi dangroup_labeluntuk kolomgroup_item_labeluntuk kolomdescriptionuntuk Eksplorasi dandescriptionuntuk kolom
Anda juga dapat membuat dasbor LookML yang dilokalkan di project Anda. Parameter dasbor LookML berikut dapat dilokalkan:
titledescriptiontext(yang merupakan subparameter dari parameternotedan dapat diterapkan ke semua jenis elemen dasbor, selain elementype: text)comparison_labelsingle_value_title
Untuk melihat semua kolom di project Anda 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 yang dapat dilokalkan tetapi tidak ditentukan dalam file string lokalitas Anda.
Dalam contoh LookML berikut, label disediakan untuk tabel virtual flights dan 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 ;;
}
}
Dalam contoh yang mengikuti di 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 cara dimensi tanpa pelokalan 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 key-value pair adalah kunci pelokalan, yang merupakan string label atau deskripsi dari model Anda. Sisi kanan key-value pair adalah tempat Anda menentukan cara string tersebut ditampilkan di UI Looker.
Untuk setiap lokalitas yang ingin Anda gunakan untuk project, Anda harus membuat file string khusus. Buat hanya satu file string untuk setiap lokalitas. Anda harus memiliki file string yang diberi nama agar cocok dengan lokalitas default. Misalnya, jika Anda telah menentukan default_locale: en dalam file manifes project, Anda harus memiliki file dalam model yang disebut 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 Lokalitas 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 apa yang akan dilihat pengguna dengan lokalitas yang ditetapkan ke en di tabel data Eksplorasi 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 berikut:
- Dalam contoh LookML tabel virtual
flightsyang ditampilkan sebelumnya di halaman ini, tidak ada label yang diberikan untuk dimensilocation, sehingga Looker menggunakan huruf kapital pada nama dimensi dan menampilkannya sebagai "Location". - Pelokalan untuk label "country" tidak ditentukan dalam file
en.strings.json, sehingga Looker menampilkan label seperti yang ditentukan dalam file tabel virtual, tanpa menggunakan huruf kapital: "country".
Sebagai contoh lain, kita dapat membuat file es_ES.strings.json yang digunakan untuk semua pengguna dengan nilai Lokalitas 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 pengguna dengan lokalitas yang ditetapkan 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 berikut:
- Seperti pada contoh sebelumnya, dalam tampilan klasik dengan label dan deskripsi yang ditambahkan, tidak ada label yang diberikan untuk dimensi lokasi, sehingga Looker menggunakan huruf kapital dan menampilkan nama dimensi sebagai "Location".
- Pelokalan tidak ditentukan untuk label "country" dalam file en.strings.json, yang merupakan file string lokalitas default. Artinya, meskipun "country" ditentukan dalam file es_ES.strings.json, Looker tidak melokalkan string ini dan menampilkan label seperti yang ditentukan dalam file tabel virtual: "country".
Menambahkan setelan pelokalan ke file manifes project
Untuk mengaktifkan pelokalan untuk project Anda, tambahkan parameter localization_settings ke file manifes project.
Di file manifes, tambahkan setelan pelokalan Anda. Berikut contohnya:
localization_settings: {
default_locale: en
localization_level: permissive
}
default_locale
Parameter default_locale menentukan nama file string lokalitas default di project Anda.
File string lokalitas default menentukan string dari model Anda yang dilokalkan. Meskipun string label atau deskripsi ditentukan dalam file string lokalitas lain, jika tidak ditentukan dalam file string lokalitas default, UI Looker akan menampilkan string yang tidak dilokalkan.
Jangan bingung antara lokalitas default untuk project Anda dengan lokalitas default untuk pengguna Looker. Admin Looker Anda dapat menetapkan lokalitas default untuk instance Anda. Jika tidak ada default yang ditetapkan, Looker akan menggunakan en sebagai default. Jika admin Anda tidak secara khusus memasukkan nilai Lokalitas untuk pengguna atau grup pengguna yang menjadi anggota pengguna, Looker akan menetapkan pengguna ke lokalitas instance default. Selain itu, jika admin belum menetapkan lokalitas instance default, Looker akan menetapkan pengguna ke lokalitas en.
Oleh karena itu, kecuali jika Anda yakin admin Looker akan menetapkan nilai Lokalitas 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 Anda dalam file .strings.json untuk lokalitas tersebut.
localization_level
Tingkat pelokalan project Anda menentukan apakah elemen yang tidak dilokalkan diizinkan dalam model Anda:
- Tetapkan tingkat pelokalan ke
strictuntuk mewajibkan label yang dilokalkan untuk semua model, Eksplorasi, tabel virtual, dan kolom di project Anda. Looker IDE akan menampilkan error validasi LookML untuk elemen yang tidak memiliki label serta untuk label dan deskripsi yang tidak ditentukan dalam file string lokalitas default. - Tetapkan tingkat pelokalan ke
permissiveuntuk mengizinkan elemen tanpa label, dan 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 Anda 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 menyiapkan file string lokalitas, 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 individu, menggunakan kolom Lokalitas 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 Lokalitas pengguna ke es_ES.
Lokalitas kustom yang Anda buat dengan file string dapat dimasukkan di kolom Lokalitas dengan mengklik kolom dan mengetik nama file string, bukan memilih lokalitas bawaan dari menu dropdown. Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Pengguna.
Menetapkan lokalitas untuk pengguna sematan bertanda tangan
Anda dapat menyertakan nilai lokalitas pengguna dalam URL sematan bertanda tangan 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 Sematan bertanda tangan untuk mengetahui informasi selengkapnya tentang URL sematan bertanda tangan dan alat untuk membuat URL sematan bertanda tangan.
Menggunakan lokalitas dalam variabel Liquid
Seperti yang dijelaskan sebelumnya, pelokalan model memungkinkan Anda menyesuaikan tampilan label dan deskripsi model untuk lokalitas yang berbeda. Namun, Anda juga dapat menyertakan kunci pelokalan dalam variabel Liquid, yang memungkinkan Anda melokalkan nilai data juga.
Misalnya, dalam file string lokalitas default yang bernama en.strings.json, kita dapat membuat kunci pelokalan domestic dan international dengan entri berikut:
{
"domestic": "Domestic",
"international": "International"
}
Kemudian, dalam file es_ES.strings.json, kita dapat menyediakan versi Spanyol dari kunci pelokalan ini:
{
"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 melihat data "Domestic" dan "International" dilokalkan menjadi "Nacional" dan "Internacional".
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 yang menggunakan data dari model yang dilokalkan ini, dan ada filter pada kartu tersebut yang ditentukan di LookML sebagai berikut:
filters:
flights.from_US: "{{ _localization['domestic'] }}"
Saat pengguna dengan lokalitas en menjelajahi dari kartu tersebut di dasbor, Eksplorasi akan difilter berdasarkan 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 kartu tersebut di dasbor, Eksplorasi akan difilter berdasarkan 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 cara aturan pelokalan berlaku untuk objek yang diperluas dan disempurnakan
Perhatikan bahwa aturan pelokalan berlaku saat Anda memperluas tabel virtual, Eksplorasi, atau dasbor LookML, dan saat Anda menyempurnakan tabel virtual atau Eksplorasi.
Jika Anda telah memperluas atau menyempurnakan objek, lalu menambahkan label atau deskripsi baru, Anda harus memberikan definisi pelokalan dalam file string lokalitas.
Misalnya, jika kita memiliki tabel virtual flights:
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
...
}
Kemudian, 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 harus menentukan kedua string label tabel virtual ("flight_info" dan "enhanced_flight_info"). Jika tingkat pelokalan project ditetapkan ke strict, kita tidak akan dapat melakukan commit update apa pun hingga kita menentukan label atau deskripsi baru.