translations_keychain 0.0.3 copy "translations_keychain: ^0.0.3" to clipboard
translations_keychain: ^0.0.3 copied to clipboard

A Dart builder to convert the JSON translation files into an abstract class for label suggestions.

translations_keychain #

translations_keychain is a small Dart builder that converts the local JSON files used for translations into a Dart abstract class.

When translations_keychain is running in watch mode, you could simply edit your JSON file and the abstract class will be automatically updated.

Features #

  • Merges all JSON keys in one single file
  • Supports for nested JSON objects for grouped labels
  • Sorts the final class properties
  • Use UpperCamelCase for class name and snake_case for file name

Getting Started #

Install #

Add this to your package's pubspec.yaml file:

dev_dependencies:
  # stable version install from https://pub.dev/packages
  translations_keychain: <last_version>
  build_runner: ^1.8.1

  # Dev version install from git REPO
  translations_keychain:
    git: https://github.com/lcaprini/translations_keychain.git

Configure #

By default translations_keychain scans every JSON file into the /assets/langs directory and generates the translations_keychain.dart file into /lib/i18n directory.

If you want to change the default behaviour you could create or update the build.yaml file of your project with:

targets:
  $default:
    builders:
      translations_keychain:
        options:
          path: <langs_assets_directory>
          output: <output_directory>
          class_name: <class_and_file_name>

Use with Dart #

With build_runner installed, you could semply launch the build task

pub run build_runner build --delete-conflicting-outputs

or launch in watch mode if you want to update the final class file automagically.

pub run build_runner watch --delete-conflicting-outputs

Use with Flutter #

Of course this package could be used also in a flutter app; the build_runner tasks became:

flutter pub run build_runner build --delete-conflicting-outputs

flutter pub run build_runner watch --delete-conflicting-outputs

Example #

An example showing how to setup and use translations_keychain.

1
likes
40
pub points
0%
popularity

Publisher

unverified uploader

A Dart builder to convert the JSON translation files into an abstract class for label suggestions.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

basic_utils, build, glob, path

More

Packages that depend on translations_keychain