Pular para o conteúdo principal

Metadados de i18n

Documentação multilíngue no tlppCore usa três padrões distintos. Todos aparecem neste repositório.

1. description="<ID>" + TRANSLATE

Na annotation REST, aponte para um ID numérico:

@Get(endpoint="/rest/sample/doc/basic/03", description="<1>")

O JSON de documentação fica em blocos TRANSLATE no arquivo i18n, um por locale:

TRANSLATE 1#URI#BRA# ;
{ ;
"title" : "DOC simples 03", ;
"description" : "...", ;
"params": [ ... ]
}

TRANSLATE 1#URI#EUA# ;
{ ;
"title" : "simple DOC 03", ;
...
}

2. translate:Funcao:ID:texto no JSON DOC

Dentro do JSON retornado pela função _DOC, marque textos traduzíveis:

"title" : "translate:sample_complete_DOC:1:Exemplo completo",;

O motor resolve usando entradas TRANSLATE com o mesmo ID no arquivo i18n da função.

3. Localize() no fonte REST

Para mensagens da API (não OpenAPI), use Localize() no código REST:

cMsg := Localize(1, 'Parâmetro param1 recebido pela cadeia de consulta é inválido')

As traduções ficam em TRANSLATE 1#URI#BRA#... no arquivo i18n correspondente.

Escopo

Localize() documenta mensagens de runtime da API. O REST-DOC usa os padrões 1 e 2 para montar o OpenAPI.

Locales na geração

O parâmetro aLocales de tlpp.doc.generate() define quais idiomas exportar — ex.: {'en-us','pt-br'}.

Exemplos no GitHub

Fontes .tlpp da abordagem: Dicionário i18n.