A flutter plugin to facilitate the localization of a RichText.
Install the library in your pubspec.yaml
.
dependencies:
localized_rich_text: ^0.0.2
final textToLocalize = "Hi #name, how are you?";
final userName = "Jhon";
...
LocalizedRichText(
text: textToLocalize,
defaultTextStyle: Theme.of(context).textTheme.bodyText1!,
keys: [
LocalizedRichTextKey(
key: '#name',
value: userName,
textStyle: Theme.of(context).textTheme.subtitle1!,
),
],
)
This must be the String
to localize.
The dynamic
values inside the text have to be unique,
you can mark them with a special character, or you can use a unique value.
The string could be:
final textToLocalize = "Hi #name, how are you?";
or
AppLocalizations.of(context)!.title,
For more info about internationalization
you can check the
flutter documentation.
This is the TextStyle
used for the static words.
This is the List
that has to contain the dynamic
values.
Each dynamic
value has to be passed like an LocalizedRichTextKey object.
This list cannot be empty
.
The keys
will be ordered by the order in which they are been inserted in the String
to localize.
This means that the order in which you pass the keys
inside the keys array
isn't important.
LocalizedRichText(
...,
keys: [
LocalizedRichTextKey(
key: '#name',
value: userName,
textStyle: Theme.of(context).textTheme.subtitle1!,
),
],
)