Necesito traducir un programa en otros idiomas, de hecho tengo el mismo programa en 3 idiomas (inglés, español, portugués), pero traduje, volví a compilar, y tengo 3 ejecutables por separado. Y agregar más idiomas y mantener enlaces, y agregar nuevas funciones me está volviendo loco.¿Cómo detectar el idioma del sistema en Delphi para proyectos en varios idiomas?
Así que ahora decidí mantener un único archivo ejecutable y un archivo de idioma externo, por lo que agregar nuevos idiomas no necesita recompilar, solo edita el archivo de idioma con un editor de texto, y todo está bien.
Quiero mantener todos los idiomas en un solo archivo externo. como international.lang
[portuguese]
greeting="Bem-vindo"
[spanish]
greeting="Ben venido"
si el archivo international.lang
no está allí, o su idioma no está en el archivo, el programa se iniciará en Inglés por defecto, sin errores. Al igual que la mayoría de los programas de varios idiomas basados en recursos.
Así que la pregunta es, cómo detectar el lenguaje de Windows en delphi? ¿Alguna idea sobre mi enfoque? ¿Hay alguna manera de reemplazar todos los subtítulos en los diálogos programáticamente?
pd: Estoy usando delphi7, y no puedo encontrar ningún componente que sea gratuito que sea bueno.
¿Ha considerado simplemente dejar que el USUARIO seleccione el idioma? Quizás cuando se instalan. Use la información a continuación para establecer el valor predeterminado, pero tal vez permita que el usuario decida en el momento de la instalación, o incluso en el tiempo de ejecución, ¿qué idioma quiere? En segundo lugar, este problema ya está resuelto por DxGetText. Verifique esto: http://dxgettext.po.dk/ –
@WarrenP Sí, lo haré, solo quiero preseleccionar el idioma para el mismo idioma predeterminado para el sistema. Entonces, en muchos casos, el usuario no necesitará tocar la configuración. –