Saltar para o conteúdo principal

Agrupamento e i18n

Esta página explica duas funcionalidades importantes que tornam os editores de template mais fáceis para os utilizadores:

  • Agrupar campos em separadores
  • Internacionalizar títulos, etiquetas e descrições

São especialmente úteis quando um template tem mais do que um punhado de campos.

Por que agrupar campos

Sem agrupamento, todos os campos aparecem numa lista longa.

Está bem para um template muito pequeno, mas torna-se difícil de usar quando um template inclui:

  • campos de conteúdo
  • definições de aparência
  • definições de animação
  • seletores de ficheiro
  • listas repetidas

O agrupamento permite-lhe dividir tudo isso em secções claras para que os utilizadores encontrem rapidamente o que precisam.

Como funciona o agrupamento

O agrupamento usa duas partes:

  1. uma lista de grupos ao nível da raiz
  2. uma atribuição de grupo por campo

Grupos da raiz

Defina grupos na raiz com gddOptions.groups:

"gddOptions": {
"groups": [
{ "id": "content", "label": { "en": "Content" } },
{ "id": "appearance", "label": { "en": "Appearance" } },
{ "id": "timing", "label": { "en": "Timing" } }
]
}

Cada grupo precisa de:

  • um id
  • um label

Atribuição por campo

Atribua um campo a um grupo com gddOptions.group:

"headline": {
"type": "string",
"label": "Headline",
"gddOptions": {
"group": "content"
}
}

O valor de grupo do campo tem de corresponder a um dos IDs de grupo na raiz.

O que os utilizadores veem no 7CG

Quando o agrupamento está bem configurado:

  • os campos agrupados aparecem em separadores
  • cada separador mostra apenas os campos atribuídos a esse grupo
  • os campos sem grupo aparecem num separador Outros de fallback

Os separadores só aparecem quando o 7CG encontra campos efetivamente agrupados. Se houver grupos definidos mas nenhum campo os usar, o editor recorre a uma lista plana normal.

Bons padrões de agrupamento

Padrão: Conteúdo + Aparência

O melhor padrão de uso geral para muitos gráficos.

  • content para texto, nomes, títulos e corpo
  • appearance para cores, logos, fundos e escolhas de estilo

Padrão: Conteúdo + Estilo + Tempo

Útil para templates animados mais avançados.

  • content para a mensagem em si
  • style para cores e layout
  • timing para durações, atrasos e velocidades de animação

Padrão: Principal + Avançado

Útil quando a maioria dos operadores só precisa de alguns campos.

  • main para os controlos comuns
  • advanced para opções alteradas com menos frequência

Exemplo de agrupamento

{
"$schema": "https://superflytv.github.io/GraphicsDataDefinition/gdd-meta-schema/v1/schema.json",
"title": "Grouped Lower Third",
"type": "object",
"gddOptions": {
"groups": [
{ "id": "content", "label": { "en": "Content" } },
{ "id": "appearance", "label": { "en": "Appearance" } }
]
},
"properties": {
"line1": {
"type": "string",
"label": "Line 1",
"gddOptions": { "group": "content" }
},
"line2": {
"type": "string",
"label": "Line 2",
"gddOptions": { "group": "content" }
},
"textColor": {
"type": "string",
"label": "Text Color",
"gddType": "color-rrggbb",
"gddOptions": { "group": "appearance" }
},
"backgroundColor": {
"type": "string",
"label": "Background Color",
"gddType": "color-rrggbb",
"gddOptions": { "group": "appearance" }
}
}
}

Por que i18n importa

O 7CG pode mostrar texto traduzido no editor em vez de obrigar todos os utilizadores a ler o idioma predefinido.

Melhora:

  • títulos no seletor de templates
  • etiquetas dos campos
  • texto de ajuda dos campos

É especialmente útil em ambientes partilhados onde os operadores usam idiomas diferentes na UI.

O que pode ser traduzido

O 7CG suporta valores traduzidos para:

  • title do template
  • label do campo
  • description do campo

i18n ao nível do campo

Use gddOptions.i18n dentro da definição do campo:

"speakerName": {
"type": "string",
"label": "Speaker Name",
"description": "Name shown on screen",
"gddOptions": {
"i18n": {
"label": {
"en": "Speaker Name",
"pt": "Nome do Orador",
"es": "Nombre del Ponente"
},
"description": {
"en": "Name shown on screen",
"pt": "Nome mostrado no ecrã",
"es": "Nombre mostrado en pantalla"
}
}
}
}

i18n ao nível do template

Também pode traduzir o título do template:

{
"title": "Speaker Graphic",
"gddOptions": {
"i18n": {
"title": {
"en": "Speaker Graphic",
"pt": "Gráfico do Orador",
"es": "Gráfico del Ponente"
}
}
}
}

Afeta a forma como o template aparece nos seletores e listas pendentes do 7CG.

Comportamento de fallback

O 7CG resolve o texto traduzido nesta ordem:

  1. idioma atual da UI
  2. inglês
  3. valor predefinido do campo no esquema

Significa que:

  • não precisa de traduzir todos os idiomas de imediato
  • o inglês é um fallback partilhado útil
  • o template continua a funcionar mesmo com traduções incompletas

label vs description

Mantenha os papéis separados:

  • label é o nome visível do campo
  • description é texto de ajuda

Bom padrão:

"speed": {
"type": "number",
"label": "Scroll Speed",
"description": "Higher values make the credits move faster"
}

Dá ao utilizador um título curto mais contexto útil.

Boas práticas

  • Agrupe apenas quando melhorar genuinamente a navegação
  • Mantenha as etiquetas dos grupos curtas e óbvias
  • Coloque os campos editados com mais frequência no primeiro separador
  • Use label para nomes concisos e description para orientação
  • Adicione pelo menos valores de fallback em inglês mesmo que o seu idioma principal seja outro
  • Mantenha consistência da redação traduzida entre templates relacionados

Erros comuns

IDs de grupo não correspondem

Se um campo referenciar um ID de grupo que não existe na raiz, esse campo não se comportará como esperado.

Excesso de agrupamento em templates pequenos

Se um template tem poucos campos, os separadores podem fazê-lo parecer mais complexo em vez de mais simples.

Colocar instruções longas no label

Etiquetas longas dificultam o varrimento do editor. Use description para explicações extra.

Falta de fallback em inglês

Mesmo que o seu público-alvo principal não seja inglês, este é um fallback útil em ambientes mistos.

Checklist prática de testes

Ao testar agrupamento e i18n no 7CG, confirme que:

  • os separadores esperados aparecem
  • os campos estão nos separadores corretos
  • os campos sem grupo aparecem em Outros quando o agrupamento está ativo
  • os títulos dos templates são apresentados no idioma esperado
  • as etiquetas dos campos são apresentadas no idioma esperado
  • o texto de ajuda faz fallback corretamente quando uma tradução falta

Páginas relacionadas

Passos seguintes