Los mensajes localizados se generan en el código fuente, no en un paquete sintético.
Al usar `package:flutter_localizations`, la ubicación generada por defecto (y, eventualmente, la única ubicación posible) se encuentra dentro de tu directorio de código fuente (`lib/`), y no en el paquete sintético `package:flutter_gen`.
Resumen
#La herramienta flutter ya no generará un paquete sintético package:flutter_gen
ni modificará el archivo package_config.json de la app.
Las aplicaciones o herramientas que hacían referencia a package:flutter_gen deben en su lugar
hacer referencia directamente a los archivos fuente generados en el directorio de código fuente de la app.
Además, la propiedad generate: true ahora es obligatoria cuando se utiliza código fuente
l10n generado.
Contexto
#flutter_gen es un paquete virtual (sintético) que es
creado por la herramienta de línea de comandos flutter para permitir a los desarrolladores
importar ese paquete para acceder a los símbolos y funcionalidades generados,
como por ejemplo para la internacionalización.
Dado que el paquete no está listado en el pubspec.yaml de una app, y
se crea reescribiendo el archivo package_config.json generado,
se han originado muchos problemas.
Guía de migración
#Este cambio solo afecta a las apps que tienen la
siguiente entrada en su pubspec.yaml:
flutter:
generate: true
Si tu app utilizaba previamente gen-l10n sin esta propiedad, ahora es
obligatoria.
Se crea un paquete sintético (package:flutter_gen) que es
referenciado por la app:
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
// ...
const MaterialApp(
title: 'Localizations Sample App',
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
);
Existe una forma de migrar y dejar de importar package:flutter_gen:
-
Especifica
synthetic-package: falseen el archivol10n.yamladjunto:l10n.yamlyamlsynthetic-package: false # The files are generated into the path specified by `arb-dir` arb-dir: lib/i18n # Or, specifically provide an output path: output-dir: lib/src/generated/i18n
Timeline
#Lanzado en la versión: 3.28.0-0.0.pre
Versión estable: 3.32.0
En la próxima versión estable después de que se aplique este cambio,
se eliminará el soporte de package:flutter_gen.
Referencias
#Issues relevantes:
- Issue 73870, donde se encontraron por primera vez los problemas
de pub con
package:flutter_gen. - Issue 102983, donde se detallan los problemas de
package:flutter_gen. - Issue 157819, donde se discute
--implicit-pubspec-resolution.
Artículos relevantes:
- Internationalizing Flutter apps, la documentación canónica para esta funcionalidad.
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.