A localização de modelos geralmente ocorre em conjunto com a localização do formato de número e a seleção de idioma da interface do usuário. Para saber mais sobre esses tópicos, acesse as páginas de documentação Formatação de números de localização e Idiomas da interface do usuário compatíveis.
Com a localização de modelos, é possível personalizar como os rótulos e as descrições do modelo são exibidos de acordo com a localidade do usuário.
A localização não precisa ser baseada em localização geográfica ou idioma. Você pode usar localidades para representar outros fatores característicos, como usuários internos x externos, ou gerentes versus colaboradores individuais, e personalizar seus rótulos e descrições de acordo.
No momento, a localização de modelos não é compatível com a importação de projetos.
Nesta página, descrevemos as etapas para localizar o projeto:
- Determine quais elementos serão localizados adicionando rótulos, rótulos de grupos e descrições ao seu modelo.
- Forneça as definições de localização para seu projeto criando arquivos de strings de localidade.
- Ative a localização para o seu projeto adicionando configurações de localização ao arquivo de manifesto do projeto.
- Determine a exibição para diferentes usuários atribuindo usuários às localidades.
Para saber mais sobre como localizar a interface do usuário do Looker ou localizar a formatação de números, acesse as páginas de documentação Idiomas da interface do usuário compatíveis e Como localizar a formatação de números.
Como usar elementos localizados nos arquivos de modelo
É possível localizar rótulos, rótulos de grupos e descrições em seu modelo, incluindo o seguinte:
label
no nível do campo, modelo, exploração ou visualizaçãolabel
para aplicativos no framework de extensões do Lookergroup_label
no nível do campo Explorargroup_item_label
no nível do campodescription
no nível do campo Explorar
Não há suporte para localização para dimension_group
. Em vez disso, use group_label
e group_item_label
para criar seu próprio conjunto de dimensões que podem ser localizadas.
Você também pode criar painéis do LookML localizados no seu projeto. Os seguintes parâmetros do painel do LookML podem ser localizados:
title
description
text
(que é um subparâmetro do parâmetronote
e pode ser aplicado a todos os tipos de elementos do painel, além dos elementos detype: text
)comparison_label
single_value_title
Para ver todos os campos do projeto que podem ser localizados, defina o nível de localização do projeto como strict
. Com essa configuração, o ambiente de desenvolvimento integrado do Looker retorna um erro de validação do LookML para qualquer elemento LookML que possa ser localizado, mas não tenha rótulos, e para qualquer string no modelo do LookML que possa ser localizada, mas não definida nos seus arquivos de strings de localidade.
Veja um exemplo de arquivo com alguns rótulos e descrições:
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"
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 ;;
}
Localizaremos esses valores nos arquivos de strings usando um nível de localização permissive
. A dimensão location
não tem um rótulo para que possamos demonstrar como uma dimensão sem localização é exibida.
Como criar arquivos de strings de localidade
Os arquivos de strings de localidade usam pares de chave-valor para definir como os rótulos e as descrições no seu modelo são exibidos em cada localidade. À esquerda de cada par de chave-valor está a chave de localização, que é uma string de descrição ou rótulo do seu modelo. O lado direito do par de chave-valor é onde você define como quer que a string seja exibida na IU do Looker.
Para cada localidade do projeto, crie um arquivo de strings dedicado. Crie apenas um arquivo de strings para cada localidade no seu projeto. Deve haver um arquivo de strings com o nome correspondente à localidade padrão. Por exemplo, se você tiver especificado default_locale: en
no arquivo de manifesto do seu projeto, será necessário ter um arquivo no modelo chamado en.strings.json
. Cada string precisa ser definida no arquivo de strings de localidade default. Caso contrário, ela não será localizada.
A localização de modelos não precisa ser baseada em localização geográfica ou idioma. No entanto, se você estiver usando a localização de modelos e também quiser usar o painel nativo e a interface do usuário de visualização localizada no Looker, será preciso corresponder o título do arquivo de strings com os códigos de localidade compatíveis do Looker.
Veja um exemplo de arquivo en.strings.json
que será usado por todos os usuários com o valor Locale de en
. Neste exemplo, en
também é especificado como nossa localidade padrão. Portanto, todas as strings precisam ser definidas nesse arquivo para serem localizadas.
{
"flight_info": "Flights",
"id": "Identifier",
"airline": "Air Carrier",
"country_of_departure": "Country of Departure",
"number_engines": "Number of Engines"
}
Um usuário do en
veria isso no Looker:
Observações:
- No arquivo de visualização acima, não fornecemos nenhum rótulo para a dimensão
location
. Por isso, o Looker exibe o nome da dimensão em letras maiúsculas: "Local". - Não definimos a localização do rótulo "country" no arquivo
en.strings.json
, então o Looker exibe o rótulo conforme definido no arquivo de visualização, sem colocar em letra maiúscula: "country".
Como outro exemplo, podemos criar um arquivo es_ES.strings.json
que é usado para todos os usuários com o valor Locale de es_ES
:
{
"flight_info": "Vuelos",
"id": "Identificador",
"airline": "Aerolínea",
"country": "País",
"country_of_departure": "País de Partida",
"number_engines": "Número de Motores"
}
Um usuário do es_ES
veria isso no Looker:
Observações:
- Como no exemplo anterior, no arquivo de visualização acima, não fornecemos um rótulo para a dimensão
location
. Por isso, o Looker mostra o nome da dimensão em letras maiúsculas: "Local". - Não definimos a localização do rótulo "país" no arquivo
en.strings.json
, que é o arquivo de strings da localidade padrão. Portanto, mesmo que tenhamos definido "country" no arquivoes_ES.strings.json
, o Looker não localiza essa string e exibe o rótulo conforme definido no arquivo de visualização: "country".
Como adicionar configurações de localização ao arquivo de manifesto do seu projeto
Para ativar a localização do seu projeto, adicione o parâmetro localization_settings
ao arquivo de manifesto do projeto.
Se o projeto ainda não tiver um arquivo de manifesto, crie um no ícone + na parte superior do navegador de arquivos do ambiente de desenvolvimento integrado do Looker.
No arquivo de manifesto, adicione as configurações de localização. Veja um exemplo:
localization_settings: {
default_locale: en
localization_level: permissive
}
default_locale
O parâmetro default_locale
especifica o nome do arquivo de strings de localidade padrão no seu projeto.
O arquivo de strings de localidade padrão determina quais strings do seu modelo estão localizadas. Mesmo que uma string de rótulo ou descrição seja definida em outro arquivo de strings de localidade, se não estiver definida no arquivo de strings de localidade padrão, a IU do Looker exibirá a string não localizada. Consulte esta seção acima para mais informações sobre como configurar arquivos de strings de localidade.
A localidade padrão do seu projeto não deve ser confundida com a localidade padrão para usuários do Looker. O administrador do Looker pode definir uma localidade padrão para sua instância. Se nenhum padrão for definido, o Looker usará en
como padrão. Se o administrador não inserir um valor de Locale específico para um usuário ou um grupo de usuários ao qual o usuário pertence, o Looker atribuirá o usuário à localidade padrão da instância. Se o administrador não tiver definido uma localidade de instância padrão, o Looker atribuirá o usuário à localidade en
.
Por esse motivo, a menos que você tenha certeza de que o administrador do Looker definirá o valor de Locale para todos os usuários do Looker, defina o parâmetro default_locale
do projeto como a localidade padrão da instância (ou como en
se nenhum padrão tiver sido definido) e defina a localização de todos os rótulos e descrições no arquivo .strings.json
dessa localidade.
localization_level
O nível de localização do seu projeto especifica se elementos não localizados são permitidos no seu modelo:
- Defina o nível de localização como
strict
para exigir rótulos localizados para todos os modelos, explorações, visualizações e campos no seu projeto. O ambiente de desenvolvimento integrado do Looker retorna um erro de validação do LookML para qualquer um desses elementos que não têm rótulos e para qualquer rótulo e descrição que não esteja definido no arquivo de strings de localidade padrão. - Defina o nível de localização como
permissive
para permitir elementos sem rótulos e permitir rótulos e descrições que não estejam definidos no arquivo de strings de localização padrão.
Mesmo que você queira o nível de localização do strict
, pode ser útil definir o nível de localização do projeto como permissive
ao desenvolver seu projeto para evitar erros de validação. Depois de localizar todos os rótulos e descrições, é possível definir o nível de localização como strict
para ver os erros.
Atribuir usuários a uma localidade
Depois de configurar os arquivos de strings de localidade, você pode atribuir usuários a uma localidade que corresponde a um dos arquivos de strings de localidade. Isso pode ser feito no nível da instância, do grupo de usuários ou do usuário individual usando o campo Local ou o atributo de usuário locale
.
Por exemplo, se você quiser que um usuário veja os rótulos e as descrições definidos no arquivo es_ES.strings.json
, o administrador do Looker precisa definir a configuração de Localidade como es_ES
:
Para inserir localidades personalizadas criadas com arquivos de string no campo Localidade, clique no campo e digite o nome do arquivo da string em vez de selecionar uma localidade integrada no menu suspenso. Para mais informações, consulte a página de documentação Usuários.
Quando uma localidade não é definida para usuários no nível individual ou no grupo de usuários, o Looker atribui usuários à localidade da instância. No entanto, se não houver um arquivo
.strings
configurado para a localidade da instância, a localização do modelo não funcionará para esses usuários. Por isso, um arquivo.strings
precisa ser configurado para a localidade padrão de cada instância. Saiba mais nas seçõesdefault_locale
ou Como criar arquivos de strings de localidade.
Como definir a localidade para usuários de incorporação de SSO
É possível incluir o valor de localidade de um usuário em um URL de incorporação de SSO como qualquer outro atributo de usuário. O formato exato necessário para incorporações de SSO depende da linguagem de programação usada para criar seu script de URL de incorporação de SSO, mas o nome do atributo do usuário é locale
. Consulte a página da documentação de Incorporação de Logon único (SSO) para ver mais informações sobre URLs de incorporação de SSO e ferramentas para criar seu URL de incorporação de SSO.
Como usar a localidade em variáveis Liquid
Conforme descrito acima, a localização de modelos permite personalizar a exibição dos rótulos e descrições de modelos para diferentes localidades. Também é possível incluir chaves de localização em Variáveis líquidas, que também permitem localizar valores de dados.
Por exemplo, em nosso arquivo de strings de localidade padrão chamado en.strings.json
, podemos criar as chaves de localização domestic
e international
com as seguintes entradas:
{
"domestic": "Domestic",
"international": "International"
}
Em seguida, no arquivo es_ES.strings.json
, podemos fornecer versões em espanhol destas chaves de localização:
{
"domestic": "Nacional",
"international": "Internacional"
}
A partir daí, podemos usar as chaves de localização domestic
e international
nas variáveis Liquid para localizar a saída de uma dimensão:
dimension: from_US {
label: "from_us"
type: string
sql: CASE
WHEN ${TABLE}.country = 'United States' THEN '{{ _localization['domestic'] }}'
ELSE '{{ _localization['international'] }}'
END;;
}
Agora, os usuários da localidade en
veem o seguinte:
Veja o que nossos usuários da localidade es_ES
veem:
Também é possível usar o filtro "Liquid" nos filtros do painel e do elemento do painel para localizar o valor padrão em um filtro. Por exemplo, se um painel do LookML tiver um bloco da guia Explorar acima e houver um filtro nesse bloco definido da seguinte maneira:
filters:
flights.from_US: "{{ _localization['domestic'] }}"
Veja o que os usuários da localidade en
veriam ao explorar a partir do bloco no painel:
Veja o que os usuários da localidade es_ES
veriam ao explorar a partir do bloco no painel:
Como as regras de localização se aplicam a objetos refinados e estendidos
Lembre-se de que as regras de localização se aplicam quando você estende visualizações, painéis de exploração ou LookML e ao refinar visualizações ou explorações.
Se você tiver estendido ou refinado um objeto e adicionado novos rótulos ou descrições, forneça definições de localização nos arquivos de strings de localidade.
Por exemplo, se tivermos uma visualização flights
:
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
...
}
Em seguida, criamos uma nova visualização que estende a visualização flights
:
include: "/views/flights.view"
view: flights_enhanced {
extends: [flights]
label: "enhanced_flight_info"
}
Nos arquivos de strings de localidade, precisamos definir as duas strings do rótulo de visualização ("flight_info"
e "enhanced_flight_info"
). Se o nível de localização do projeto estiver definido como strict
, não será possível confirmar nenhuma atualização até definirmos os novos rótulos ou descrições.