floca 0.1.6+16 copy "floca: ^0.1.6+16" to clipboard
floca: ^0.1.6+16 copied to clipboard

Library for Flutter app localization. Generates Dart code with string constants, ready to plug into MaterialApp.

floca #

Floca is a Flutter localization library.

Say, you have an Excel spreadsheet like this:

property en es ru hi
greeting hi! hola! привет! हाय!
farewell bye adiós пока अलविदा

Floca will let you access its content like this:

Widget build(BuildContext context) {
  // getting the strings in proper language
  var a = context.i18n.greeting;
  var b = context.i18n.farewell;
  ...
}  

How Floca works #

Floca is a command-line app, that takes your .csv spreadsheet and generates a .dart file.

Then you import the generated file in the project and get all the needed functionality, including the localized strings:

import "newly_generated.dart";

This approach gives you maximum compatibility and performance. In addition, many potential errors are prevented at compile time.

Install #

Update pubspec.yaml:

dependencies:
  flutter_localizations:
    sdk: flutter
    
dev_dependencies:
  floca: any

Get:

$ flutter pub get

Check it runs:

$ flutter pub run floca --help

Use #

1. Create the spreadsheet

property en es ru hi
greeting hi! hola! привет! हाय!
farewell bye adiós пока अलविदा

Save it as .csv file, say, string_constants.csv.

2. Generate a .dart file from it

$ flutter pub run floca string_constants.csv lib/string_constants.dart

3. Provide arguments to MaterialApp

import 'string_constants.dart'; // file we created with floca

MaterialApp(
  ...
  supportedLocales: supportedLocales, // add this
  localizationsDelegates: localizationsDelegates, // and this
  ...
);

4. Get localized text in your app

import 'string_constants.dart'; // file we created with floca

Widget build(BuildContext context) {
  // now [context] has a new property [.i18n]  
  String s = context.i18n.greeting;
  return Text(s); 
}
2
likes
50
pub points
0%
popularity

Publisher

verified publisherrevercode.com

Library for Flutter app localization. Generates Dart code with string constants, ready to plug into MaterialApp.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

csv, flutter, flutter_lints, flutter_localizations, intl

More

Packages that depend on floca