Técnicas de Idiomatização
Olá,
Aqui na empresa, tenho um sistema que desenvolvemos em 3 idiomas:
Português, Inglês e Espanhol.
Para idiomatizá-lo, fizemos assim: Criamos 3 arquivos .pas (um para cada idioma) de ResourceStrings contendo as constantes que armazenam os valores para cada idioma. Ex.:
Arquivo IdiomaPt.pas (Português)
MENU_ARQUIVO = ´Arquivo´;
MENU_EDITAR = ´Editar´;
Arquivo IdiomaEN.pas (Inglês)
MENU_ARQUIVO = ´File´;
MENU_EDITAR = ´Edit´;
E por aí vai...
O problema é que toda vez que vamos compilar os executáveis (que são mais de 15 no sistema todo !!!) temos muito trabalho pois precisamos renomear os arquivos IdiomaXX.pas para Idioma.pas (que é o nome da Unit dos projetos) e regerar todos executáveis 3 vezes, uma para cada idioma.
Dei uma olhada no recurso de Idiomatização do Delphi7, mas não resolve nosso problema, pois teríamos que digitar tudo de novo nos arquivos de Recursos que ele gera, o que daria muito trabalho pois temos milhares de constantes idiomatizadas.
Pensei em gravar os arquivos no diretório da aplicação e colocar algum arquivo de configuração para escolha do idioma, e quando o sistema fosse iniciado, carregasse o idioma correspondente a partir daquele arquivo. Semelhante ao que se faz com os arquivos .properties do Java. Mas como implemento isso em Delphi já que ele inclui o idioma em tempo de compilação ? Alguém sabe se é possível fazer como no Java que tem o getProperties() ?
Gostaria de saber se alguém tem uma técnica melhor para idiomatizar os sistemas, e se puder, dar umas dicas de como acelerar o processo de idiomatização.
Obrigado
Franklin
Aqui na empresa, tenho um sistema que desenvolvemos em 3 idiomas:
Português, Inglês e Espanhol.
Para idiomatizá-lo, fizemos assim: Criamos 3 arquivos .pas (um para cada idioma) de ResourceStrings contendo as constantes que armazenam os valores para cada idioma. Ex.:
Arquivo IdiomaPt.pas (Português)
MENU_ARQUIVO = ´Arquivo´;
MENU_EDITAR = ´Editar´;
Arquivo IdiomaEN.pas (Inglês)
MENU_ARQUIVO = ´File´;
MENU_EDITAR = ´Edit´;
E por aí vai...
O problema é que toda vez que vamos compilar os executáveis (que são mais de 15 no sistema todo !!!) temos muito trabalho pois precisamos renomear os arquivos IdiomaXX.pas para Idioma.pas (que é o nome da Unit dos projetos) e regerar todos executáveis 3 vezes, uma para cada idioma.
Dei uma olhada no recurso de Idiomatização do Delphi7, mas não resolve nosso problema, pois teríamos que digitar tudo de novo nos arquivos de Recursos que ele gera, o que daria muito trabalho pois temos milhares de constantes idiomatizadas.
Pensei em gravar os arquivos no diretório da aplicação e colocar algum arquivo de configuração para escolha do idioma, e quando o sistema fosse iniciado, carregasse o idioma correspondente a partir daquele arquivo. Semelhante ao que se faz com os arquivos .properties do Java. Mas como implemento isso em Delphi já que ele inclui o idioma em tempo de compilação ? Alguém sabe se é possível fazer como no Java que tem o getProperties() ?
Gostaria de saber se alguém tem uma técnica melhor para idiomatizar os sistemas, e se puder, dar umas dicas de como acelerar o processo de idiomatização.
Obrigado
Franklin
Franklinbenini
Curtidas 0