Pakete, Repositories und App-Kategorien suchen

Paketdetailsv1.1.1

ez_localization

Richten Sie schnell und einfach ein leistungsstarkes Lokalisierungssystem in Ihrer Flutter-Anwendung ein.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
193
Likes
23
Pub-Punkte
150

Paket installieren

flutter pub add ez_localization

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

ez_localization ist ein Flutter-Paket, das die Einrichtung eines robusten Lokalisierungssystems vereinfacht und Entwicklern ermöglicht, Internationale Sprachunterstützung schnell in ihren Anwendungen umzusetzen. Es unterstützt mehrere Sprachen und bietet eine intuitive API zur Verwaltung von Übersetzungen für Android, iOS, Web, macOS, Windows und Linux. Mit minimaler Konfiguration ermöglicht es nahtlose Umschaltungen zwischen Sprachvarianten und effiziente Handhabung dynamischer Inhalte. Das Paket ist ideal für Anwendungen mit globalen Zielgruppen, da es Boilerplate-Code reduziert, während Flexibilität und Skalierbarkeit erhalten bleiben.

Anwendungsfälle

  • Mehrsprachige App-Unterstützung
  • Einfache Übersetzungsverwaltung
  • Dynamisches Wechseln der Lokalisierung
  • Plattformübergreifende Internationalisierung
  • Einfache i18n-Einrichtung
  • App-Lokalisierung für globale Nutzer

Hauptmerkmale

  • Minimale Einrichtung erforderlich
  • Unterstützt alle wichtigen Plattformen
  • Eingebaute Sprachumschaltung
  • Saubere und lesbare Übersetzungs-Syntax
  • Erweiterbare Übersetzungsdateistruktur
  • Automatischer Fallback auf die Standardsprache

Geeignet für

  • Entwickler, die mehrsprachige Apps erstellen
  • Teams, die Übersetzungsworkflows verwalten
  • Projekte, die eine schnelle i18n-Integration erfordern
  • Apps für internationale Märkte
  • Flutter-Anfänger lernen Lokalisierung
  • Projekte mit häufigen Sprachaktualisierungen

Hinweise

  • Erforderliche ordnungsgemäße Organisation der Übersetzungsdatei
  • Eingeschränkte integrierte Übersetzungs-Editoren
  • Manuelle Behandlung komplexer Pluralformen
  • Abhängig von korrekten Lokalisierungsnamenskonventionen
  • Keine integrierte Übersetzungs-Speicherung oder Synchronisierung
  • Am besten mit strukturierten Übersetzungsdateien verwendet

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

EzLocalization

This package allows you to setup a powerful localization system with ease and in only a few minutes.

Features

Here are some features:

  • Easy, lightweight, open-source.
  • MIT licensed.
  • Easily extensible.

Getting started

It only takes a few steps in order to get EzLocalization to work !
First, add the following code to your MaterialApp definition (usually in main.dart) :

EzLocalizationDelegate ezLocalization = EzLocalizationDelegate(supportedLocales: [Locale('en'), Locale('fr')]); // The first language is your default language.

return MaterialApp(
  // ...
  localizationsDelegates: ezLocalization.localizationDelegates,
  supportedLocales: ezLocalization.supportedLocales,
  localeResolutionCallback: ezLocalization.localeResolutionCallback,
);

Then you create a folder named languages in your assets directory with the defined languages in it. An example structure could be :

assets
└── languages
    ├── en.json
    └── fr.json

Here's an example of en.json :

{
  "hello": "Hello !"
}

And a translated fr.json :

{
  "hello": "Bonjour !"
}

Don't forget to add the assets in your pubspec.yml :

flutter:
  # ...
  assets:
    - "assets/languages/"

That's it ! To get your string you only have to call EzLocalization.of(context)!.get('hello').

Advanced

Extension method

With the extension method, it's even easier to get a localized string ! The only thing you have to do is to replace EzLocalization.of(context)!.get('key') by context.getString('key').

You may have to manually import EzLocalization in your file.

Builder widget

EzLocalization provides a builder widget called EzLocalizationBuilder. You can use it as such :

const EzLocalizationBuilder(
  delegate: EzLocalizationDelegate(
    supportedLocales: [
      Locale('en'),
      Locale('fr'),
      Locale('es'),
    ],
  ),
  builder: (context, localizationDelegate) => MaterialApp(
    title: 'Beautifully localized app',
    home: MyMainWidget(),
    localizationsDelegates: localizationDelegate.localizationDelegates,
    supportedLocales: localizationDelegate.supportedLocales,
    localeResolutionCallback: localizationDelegate.localeResolutionCallback,
  ),
);

It has two advantages :

  • It helps reducing boilerplate.
  • You can dynamically change the current locale using EzLocalizationBuilder.of(context)!.changeLocale(yourLocale).
Nested strings

You can nest translation strings as such :

{
  "tabs": {
    "home": "Home"
  }
}

And it can be access using EzLocalization.of(context)!.get('tabs.home').

Format arguments

In your translation string, you may add arguments using {} :

{
  "greeting": "Hello {target}, my name is {me} !"
}

You can then fill them with EzLocalization.of(context)!.get('greeting', {'target': 'John', 'me': 'Bob'}). Also, instead of a map you can pass a list and get your arguments by their indexes.

Change the files path

You can change from the default path of assets/languages/$languageCode.json by passing getPathFunction to EzLocalizationDelegate. You will then have to provide a valid asset path according to the specified locale.

Don't forget to update your assets entry in your pubspec !

Updating the iOS app bundle

See the official flutter.dev documentation about updating the iOS app bundle.

Contributing

You have a lot of options to contribute to this project ! You can :

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.