LocalizedString is an implementation of String that depends on BuildContext.
It can be helpful if you need to return a string which should be localized in the future but you don't have a context. Simple example is validator, it should return localized string but it can't use the context because validator is encapsulated from it.
To create localized string use this snippet:
LocalizedString((context) => AppLoc.of(context).title);
To compare localized string you should specify key for each of them:
s1 = LocalizedString((context) => AppLoc.of(context).title, "title"); s2 = LocalizedString((context) => AppLoc.of(context).title, "title"); s3 = LocalizedString((context) => AppLoc.of(context).desc, "desc"); assert(s1 == s2); assert(s1 != s3);
Also you can create LocalizedString from regular string:
it will create LocalizedString with the same key as its value.
To localize string, just call
s1 = LocalizedString((context) => AppLoc.of(context).title, "title"); s1.localize(context);
- updated pubspec.yaml
- initial release.
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies: localized_string: ^0.0.2
2. Install it
You can install packages from the command line:
$ flutter pub get
Alternatively, your editor might support
flutter pub get.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Feb 27, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
- Dart: 2.7.1
- pana: 0.13.5
- Flutter: 1.12.13+hotfix.8
Maintain an example. (-10 points)
Create a short demo in the
example/ directory to show how to use this package.
Common filename patterns include
localized_string.dart. Packages with multiple examples should provide
For more information see the pub package layout conventions.
Package is pre-v0.1 release. (-10 points)
While nothing is inherently wrong with versions of
0.0.*, it might mean that the author is still experimenting with the general direction of the API.