Ola pessoal, estou com probleminha para elaborar um sistema em 2 idiomas.
Para desenvolver a aplicação eu utilizo o Delphi com Zeos e DxGettext.
O problema é na hora de exibir os erros do db, algo do tipo "Failed:
ERROR: duplicate key violates unique constraint " traduzido no idioma
do usuário.
Na aplicação eu não consigo pegar os error codes do postgre para
definir qual foi o erro, tenho que procuram na string do erro
retornado algumas palavras-chaves como " violates unique constraint"
para definir o tipo de erro e exibir a tradução certa como "Não foi
possível realizar o cadastro pois estes dados já foram cadastrados".
Na procedure do db (PL) eu passo por parâmetro o idioma escolhido e
dentro tem 2 ifs para cada mensagens das exceções, diferente da
aplicação onde a tradução vem de um arquivo externo e o gettext faz a
alteração automática das strings.
Em um, a tradução é feita na aplicação, no outro a tradução é feita
dentro das stored procedures. Outro problema é que em cada query pode
ter várias mensagens para cada tipo de erro possível, pois em um
insert poderia ocorrer um "not null violation", "restrict violation",
"foreign key violation"...
Gostaria de saber se há uma maneira correta de fazer essas traduções,
se é no DB mesmo ou na aplicação e como fazer?

Obrigado.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a