sgcLocalization: traduce tus aplicaciones Delphi y cambia el idioma mientras se ejecutan

· Componentes
sgcLocalization: traduce tus aplicaciones Delphi y cambia el idioma mientras se ejecutan
Nuevo producto · sgcLocalization

Una aplicación. Cinco idiomas.
Cambiados mientras se ejecuta.

sgcLocalization traduce tus propias aplicaciones Delphi, C++Builder y Lazarus. Cada formulario, cada mensaje, cada plural, con un editor y una línea de código para cambiar el idioma.

  • English
  • Deutsch
  • Español
  • Français
  • Italiano
El panel de la misma aplicación Delphi mostrado cinco veces, en inglés, alemán, español, francés e italiano, con temas claro y oscuro
1línea para cambiar
3frameworks
7 a 13versiones de Delphi
0coste extra con sgcUI

La imagen de arriba es un único ejecutable. El mismo panel, los mismos datos, en inglés, alemán, español, francés e italiano, y el usuario cambia el idioma desde un combo mientras la aplicación se ejecuta. Sin reiniciar y sin una segunda compilación.

Esa aplicación se tradujo con sgcLocalization, un nuevo producto de la suite sgcUI. Funciona con VCL, FireMonkey y LCL, desde Delphi 7 hasta Delphi 13, en C++Builder y en Lazarus, y está incluido en todas las ediciones de sgcUI y en cada producto individual.

sgcLocalization en un minuto: analiza, traduce y cambia el idioma de una aplicación real. También en YouTube.

Cambia el idioma con una línea

Este es todo el código que necesita el cambio de idioma:

uses
  sgcLocalization_Engine;

procedure TfrmMain.btnGermanClick(Sender: TObject);
begin
  sgcSetLanguage('de');
end;

Si prefieres no escribir código, coloca en el formulario el combo de idiomas listo para usar (TsgcVCLLanguageCombo o TsgcFMXLanguageCombo). Muestra los idiomas de tu proyecto y cambia cuando el usuario elige uno.

La página de pedidos de la misma aplicación en inglés, alemán e italiano: la barra de herramientas, la navegación, el cuadro de búsqueda, las cabeceras de la cuadrícula, los datos y los formatos de número cambian
La misma página en inglés, alemán e italiano. La barra de herramientas, la navegación, las cabeceras de la cuadrícula, las ayudas y los datos siguen el idioma.

El cambio hace más que reemplazar títulos:

Para empezar en el idioma del sistema del usuario, basta con una propiedad:

sgcVCLLocalizer1.Language := 'auto';

Cuánto poco trabajo hace falta

1SueltaColoca un componente localizador en el formulario principal.
2AnalizaRecoge los textos de tus formularios, marcos y módulos de datos.
3TraduceA mano, con un traductor mediante XLIFF o con propuestas de IA.
4CambiaUna línea de código o el combo de idiomas.

El localizador (TsgcVCLLocalizer para VCL, TsgcFMXLocalizer para FireMonkey) encuentra cada propiedad de texto mediante RTTI. No marcas propiedades, no renombras componentes y no cambias tus formularios.

Las reglas de exclusión integradas omiten lo que nunca es texto: nombres de componentes, nombres de campos, SQL, nombres de archivo, cadenas de formato y las propiedades que no son texto de los propios controles sgcUI. Puedes añadir tus propias reglas. Un formulario que mezcla controles estándar y controles sgcUI se analiza limpiamente, así que la lista que traduces contiene textos y nada más.

Textos en el código: fragmentos

No todos los textos viven en un formulario. Los mensajes, las líneas de estado y los títulos construidos en código son fragmentos. Envuelve el texto en sgcT y se vuelve traducible:

if MessageDlg(sgcT('Save changes?'), mtConfirmation,
  [mbYes, mbNo], 0) = mrYes then
  SaveOrder;

La misma palabra puede necesitar dos traducciones. En inglés "Open" es a la vez un comando y el estado de un pedido. sgcTC añade un contexto, de modo que cada significado recibe su propia traducción:

btnOpen.Caption := sgcTC('command', 'Open');
lblState.Caption := sgcTC('order status', 'Open');

Los plurales usan sgcTN. Escribes el singular y el plural del idioma de origen, y la traducción aporta tantas formas como necesite el idioma de destino:

lblSelected.Caption := sgcTN('%d order selected', '%d orders selected',
  Count, [Count]);

Las reglas de plurales provienen de CLDR, así que son correctas para cada idioma. El polaco, por ejemplo, tiene cuatro formas, y el editor pide al traductor cada una de ellas.

Un editor de traducción

Todas las traducciones se editan en un solo lugar. Haz clic derecho en el localizador en tiempo de diseño para abrir el editor dentro del IDE, o usa la herramienta independiente fuera de él.

El editor de traducción de sgcLocalization con temas claro y oscuro: una cuadrícula con el texto de origen y las traducciones al alemán, español y francés de cada elemento, filtros de estado y un panel de edición con origen, traducción, nota y propuesta
El editor de traducción, claro y oscuro. Una fila por texto, una columna por idioma, el estado de cada elemento de un vistazo.

Una validación que detecta los errores habituales

Una traducción que pierde un %d o una tecla de acceso es fácil de escribir y difícil de detectar. sgcLocalization comprueba cada traducción, ya se haya escrito, importado o propuesto por la IA:

La pestaña de validación del editor de traducción, con un error por especificadores de formato distintos del origen y una advertencia por saltos de línea distintos
El texto alemán perdió un especificador de formato. Se informa como error antes de que llegue a un cliente.

Un elemento con un error no puede marcarse como revisado, así que un texto defectuoso no se cuela en una versión como trabajo terminado.

Traducción con IA, como propuestas

El editor puede traducir con servicios de IA como ChatGPT, Claude, Gemini y Ollama. Elige los idiomas de destino, dale un glosario e instrucciones sobre el tono, y empieza.

El diálogo de traducción con IA: idiomas de destino alemán y francés seleccionados, ámbito de textos nuevos y modificados, un glosario e instrucciones para un tono formal
Idiomas de destino, ámbito, glosario e instrucciones para la traducción con IA.

Los resultados llegan como propuestas. Aceptas o rechazas cada una, y una propuesta nunca sobrescribe un texto que ya está traducido. Se les aplica la misma validación.

Conviene saber. La traducción con IA pasa por el proveedor de IA de sgcUI. Los servicios con nombre necesitan sgcWebSockets. Sin él, un evento te permite llamar a cualquier servicio que quieras desde tu propio código.

XLIFF para traductores profesionales

Las agencias de traducción trabajan con XLIFF. sgcLocalization exporta XLIFF 1.2 para un idioma, e importa el archivo cuando vuelve.

Una importación nunca escribe directamente en tu proyecto. Abre una lista de revisión con cada cambio: el texto anterior, el texto nuevo, el tipo de cambio y cualquier problema encontrado. Solo se aplican las filas que marcas.

La lista de revisión de la importación XLIFF de un archivo en francés: cada fila muestra el elemento, el tipo de cambio, el texto anterior y el nuevo, el nuevo estado y los problemas, con una casilla para aplicarlo
La revisión de una importación XLIFF. Las filas con problemas quedan sin marcar y no se aplica nada hasta que pulsas Aplicar.

Un archivo de proyecto

Las traducciones de una aplicación viven en un archivo de proyecto con la extensión .sgcloc. Es JSON, así que se lleva bien con el control de versiones: una traducción modificada es un diff pequeño que puedes leer en una revisión de código. Si prefieres un único ejecutable sin nada a su lado, el proyecto puede incrustarse en el archivo del formulario.

Velo en una aplicación real

La demo de muestra es Order Desk, una aplicación de negocio completa: un panel, pedidos, clientes, un planificador, análisis dinámico, un asistente y una vista previa de impresión. Está traducida al inglés, alemán, español, francés e italiano, y viene en versiones VCL, FireMonkey y Lazarus.

La página del planificador de la demo Order Desk en francés: vista semanal con entregas, nombres de los días en francés, barra de herramientas y navegación
El planificador de Order Desk en francés. Los nombres de los días, las vistas y las citas siguen el idioma.

La carpeta de la demo incluye además tres inicios rápidos, la herramienta independiente del editor de traducción y una guía de primeros pasos que te lleva de un formulario vacío a una aplicación traducida.

Incluido con sgcUI

sgcLocalization se entrega con sgcUI 2026.12.0. No se vende por separado: está incluido en todas las ediciones de sgcUI y en cada producto individual, y viene seleccionado por defecto en el instalador.

Tu aplicación, en el idioma de tu cliente

Descarga sgcUI, abre la demo Order Desk y cambia el idioma mientras se ejecuta. Después coloca un localizador en tu propio formulario principal.

¿Preguntas o comentarios? Ponte en contacto, recibirás respuesta de las personas que escribieron el código.