flutter/flutter-localizing-apps

Configure une application Flutter pour prendre en charge plusieurs langues et régions. À utiliser lors de la préparation d'une application pour les marchés internationaux et les paramètres régionaux diversifiés.

Qu'est-ce que flutter-localizing-apps ?

Ce skill automatise la configuration de la localisation dans une application Flutter, en s'appuyant sur le package `flutter_localizations` et les outils intégrés de Flutter. Il permet de détecter et de charger la langue préférée de l'utilisateur, de fournir des traductions structurées via des fichiers ARB, et de configurer correctement le `MaterialApp` pour la prise en charge des régions. Utile pour les développeurs souhaitant rendre leur application accessible à un public mondial, il supporte nativement Flutter et nécessite une configuration minimale. Le skill génère également du code pour la gestion des traductions et l'adaptation aux formats régionaux (dates, nombres, etc.), facilitant ainsi l'internationalisation sans effort manuel répétitif.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/flutter/skills/tree/main/skills/flutter-localizing-apps

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait flutter-localizing-apps ?

Configure une application Flutter pour prendre en charge plusieurs langues et régions. À utiliser lors de la préparation d'une application pour les marchés internationaux et les paramètres régionaux diversifiés.

Pourquoi utiliser ce skill ?

  • Portée mondiale : Atteignez des utilisateurs de différentes langues et régions.
  • Expérience utilisateur : Fournissez des traductions et des formats (dates, devises) adaptés au paramètre régional de chaque utilisateur.
  • Maintenabilité : Structurez vos traductions dans des fichiers ARB standardisés, faciles à gérer et à mettre à jour.

Comment ça fonctionne

  1. Ajout de dépendances : Le skill ajoute flutter_localizations (de la SDK Flutter) et optionnellement intl au fichier pubspec.yaml.
  2. Configuration régionale : Modifie la méthode build du MaterialApp pour inclure localizationsDelegates et supportedLocales.
  3. Fichiers de traduction : Crée un dossier lib/l10n avec des fichiers ARB (par exemple app_en.arb, app_fr.arb).
  4. Génération de code : Utilise le générateur de localisation de Flutter (flutter gen-l10n) pour créer des classes Dart typées à partir des fichiers ARB.

Exemple d'utilisation

import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'generated/l10n.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        S.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: S.delegate.supportedLocales,
      // ...
    );
  }
}

Fichier ARB d'exemple (lib/l10n/app_fr.arb)

{
  "@@locale": "fr",
  "title": "Bienvenue",
  "message": "Bonjour le monde !"
}

Utilisation dans l'interface utilisateur

text: S.of(context).title,

Commandes

  • flutter gen-l10n : Génère les classes Dart de localisation.
  • Ajoutez --arb-dir=lib/l10n si vos fichiers ARB sont dans un dossier personnalisé.

Ressources

Dépannage

  • Traductions non chargées : Vérifiez que localizationsDelegates et supportedLocales sont correctement configurés dans MaterialApp.
  • Clé manquante : Assurez-vous que toutes les clés utilisées dans le code sont définies dans chaque fichier ARB.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

flutter/flutter-accessibility

Configure your Flutter app to support assistive technologies like Screen Readers

flutter/flutter-accessibility-audit

Triggers an accessibility scan through the widget_inspector and automatically adds Semantics widgets or missing labels to the source code.

flutter/flutter-adding-home-screen-widgets

Adds home screen widgets to a Flutter app for Android and iOS. Use when providing glanceable app information or quick actions on the device home screen.

flutter/flutter-add-integration-test

Configures Flutter Driver for app interaction and converts MCP actions into permanent integration tests. Use when adding integration testing to a project, exploring UI components via MCP, or automating user flows with the integration_test package.

flutter/flutter-add-widget-preview

Adds interactive widget previews to the project using the previews.dart system. Use when creating new UI components or updating existing screens to ensure consistent design and interactive testing.

flutter/flutter-add-widget-test

Implement a component-level test using `WidgetTester` to verify UI rendering and user interactions (tapping, scrolling, entering text). Use when validating that a specific widget displays correct data and responds to events as expected.

flutter/flutter-animating-apps

Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.

flutter/flutter-animation

Add animated effects to your Flutter app

flutter/flutter-apply-architecture-best-practices

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-app-size

Measure and reduce the size of the Flutter app bundle, APK, or IPA

flutter/flutter-architecting-apps

Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.

flutter/flutter-architecture

Use the Flutter team's recommended app architecture

flutter/flutter-building-forms

Builds Flutter forms with validation and user input handling. Use when creating login screens, data entry forms, or any multi-field user input.

flutter/flutter-building-layouts

Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.

flutter/flutter-building-plugins

Builds Flutter plugins that provide native interop for other apps to use. Use when creating reusable packages that bridge Flutter with platform-specific functionality.

flutter/flutter-build-responsive-layout

Use `LayoutBuilder`, `MediaQuery`, or `Expanded/Flexible` to create a layout that adapts to different screen sizes. Use when you need the UI to look good on both mobile and tablet/desktop form factors.

flutter/flutter-caching

Cache data in a Flutter app

flutter/flutter-caching-data

Implements caching strategies for Flutter apps to improve performance and offline support. Use when retaining app data locally to reduce network requests or speed up startup.

flutter/flutter-concurrency

Execute long-running tasks in a background thread in Flutter

flutter/flutter-databases

Work with databases in a Flutter app

Skills associés