translations_code_gen 1.0.1
translations_code_gen: ^1.0.1 copied to clipboard
An application to generate translations keys and values for a dart/flutter application from .json file.
Translations code generator #
This is a simple tool to generate the translations code for the Dart/Flutter projects.
Install #
1. Add the dependency #
dependencies:
translations_code_gen: ^1.0.0
then run flutter pub get
2. Run this commend #
$ flutter pub global activate translations_code_gen
Usage #
1. Create a translations files in assets folder #
Create a folder called assets in the root of your project and create a file called en.json and ar.json and add the following content:
example: assets/translations/en.json
{
"GENERAL": {
"HELLO": "Hello",
"WELCOME": "Welcome"
},
"HOME": {
"TITLE": "Home"
}
}
example: assets/translations/ar.json
{
"GENERAL": {
"HELLO": "مرحبا",
"WELCOME": "أهلا بك"
},
"HOME": {
"TITLE": "الرئيسية"
}
}
2. Generate the translations keys #
Run this command to generate the translations keys:
$ translations_code_gen keys assets/translations/en.json lib/translations/keys.dart
The 1st argument is the command name, the 2nd argument is the path to the translations file, the 3rd argument is the path to the output file.
This will generate the following code:
// GENERATED CODE - DO NOT MODIFY BY HAND
3. Generate the translations values #
Run this command to generate the translations values:
$ translations_code_gen values assets/translations lib/translations/values.dart
The 1st argument is the command name, the 2nd argument is the path to the translations folder, the 3rd argument is the path to the output file.
4. Use the generated code #
import 'package:flutter/material.dart';
import 'package:my_app/translations/keys.dart';
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(TranslationsKeys.home.title.tr()),
),
body: Center(
child: Text(TranslationsKeys.general.hello.tr()),
),
);
}
}