You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a Dart runtime implementation of Project Fluent, a localization framework designed to unleash the entire expressive power of natural language translations.
Project Fluent keeps simple things simple and makes complex things possible. The syntax used for describing translations is easy to read and understand. At the same time it allows, when necessary, to represent complex concepts from natural languages like gender, plurals, conjugations, and others.
Getting Started
Learn the FTL syntax
FTL is a localization file format used for describing translation
resources. FTL stands for Fluent Translation List.
FTL is designed to be simple to read, but at the same time allows to
represent complex concepts from natural languages like gender, plurals,
conjugations, and others.
hello-user = Hello, { $username }!
In order to use fluent.runtime, you will need to create FTL files. Read the Fluent Syntax Guide <https://projectfluent.org/fluent/guide/>_ in order to
learn more about the syntax.
Using FluentBundle
Once you have some FTL files, you can generate translations using the fluent package. You start with the FluentBundle class:
import 'package:fluent/fluent.dart';
You pass a locale to the constructor:
final bundle = FluentBundle('en-GB');
You must then add messages. These would normally come from a .ftl
file stored on disk, here we will just add them directly:
bundle.addMessages('''
welcome = Welcome to this great app!
greet-by-name = Hello, { $name }!
''');
To generate translations, use the format method, passing a message
ID and an optional dictionary of substitution parameters. If the the
message ID is not found, null is returned. Otherwise, as per
the Fluent philosophy, the implementation tries hard to recover from any
formatting errors and generate the most human readable representation of
the value.