csv_localizations 0.7.0 copy "csv_localizations: ^0.7.0" to clipboard
csv_localizations: ^0.7.0 copied to clipboard

outdated

CSV localization package built on LocalizationsDelegate

csv_localizations #

CSV localization package for Flutter.

Store translations for multiple languages in a single CSV file.

Consider using toml_localizations or yaml_localizations for separate files per language.

Usage #

See example.

Install #

Add to your pubspec.yaml

dependencies:
  csv_localizations:

Add CSV asset file #

Add a CSV file as an asset and describe it in your pubspec.yaml

flutter:
  assets:
    - assets/translations.csv

Example CSV file

key,en,nb
Hi,Hi,Hei
my_img,assets/en.png,assets/nb.png
Multiline,"This
  is a multiline 
string","Denne
  teksten går over flere 
linjer"

Tip: keys can point to local assets like images etc.

Format #

key en nb
Hi Hi Hei
Bike Bike Sykkel
Dog Dog Hund

First row lists supported language codes.

First column are keys for localized values.

You can wrap multiline strings in quotation marks.

API #

Translate strings using

CsvLocalizations.instance.string('Hi')

We keep the API simple, but you can easily add an extension method to String like this:

extension LocalizedString on String {
  String tr(BuildContext context) => CsvLocalizations.instance.string(this);
}

We use \n as the default eol (end-of-line) char, but you can set this via CsvLocalizations.instance.eol.

Check if the translation file is loaded using CsvLocalizations.instance.loaded. Only necessary if called before initializing the global localizationDelegates.

MaterialApp #

Add CsvLocalizationsDelegate to MaterialApp and set supportedLocales using language codes.

MaterialApp(
  localizationsDelegates: [
    ... // global delegates
    CsvLocalizationsDelegate(
      assetPath: 'assets/lang.csv',
      supportedLanguageCodes: [ 'en', 'nb', ],
    ),
  ],
  supportedLocales: [ Locale('en'), Locale('nb'), ],
}

Note on iOS #

Add supported languages to ios/Runner/Info.plist as described here.

Example:

<key>CFBundleLocalizations</key>
<array>
	<string>en</string>
	<string>nb</string>
</array>
6
likes
0
pub points
76%
popularity

Publisher

verified publisherapptakk.com

CSV localization package built on LocalizationsDelegate

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

csv, flutter

More

Packages that depend on csv_localizations