dynamic_i18n 0.0.5 copy "dynamic_i18n: ^0.0.5" to clipboard
dynamic_i18n: ^0.0.5 copied to clipboard

Add dynamic translation to your app

Dynamically load translation in your app.

Getting started #

Initiate I18n in your dart's main() {}

void main() {
    // ...

    I18n.init(
        url: 'https://www.example.com',
        locale: 'hi',
        locales: ['en', 'hi', 'pa'],
    );

    // ... 
}

Now you can use I18n.builder anywhere in your code

Column(
    children: [
        // example 1: for Text
        I18n.text('Who am I ?'), // Text('मैं कौन हूँ ?')

        // example 2: with builder
        // first build with given locale
        // rebuild after translation fetching
        I18n.builder('Who am I ?', (translatedText) {
            return Text(translatedText);
        }),

        // example 3: with childBuilder
        I18n.childBuilder(
            'Who am I ?',
            (translatedText, child) {
                return Column(
                children: [
                    Text(translatedText),
                    child, // same on both first and second build
                ],
                );
            },
            Container(), // will be reused in rebuild
        ),
    ],
);

Server Setup #

Set your server to respond in this way.

Request Method: GET
Request URL: https://www.example.com/hi.json

Response
Content-Type: application/json

[
    {'en': 'How are you ?', 'hi': 'आप कैसे हो ?'},
    {'en': 'Who am I ?', 'hi': 'मैं कौन हूँ ?'},
]

For single translation request library will send POST request in this format to url you have provided in I18n.init, according to above example it will be

Request Method: POST
Request URL: https://www.example.com/hi

{
    'en': sourceText,
    'target': targetLocale,
}

Response
Content-Type: application/json

{'en': 'How are you ?', 'hi': 'आप कैसे हो ?'}
2
likes
110
points
23
downloads

Publisher

verified publisherensorta.com

Weekly Downloads

Add dynamic translation to your app

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

crypto, flutter, http

More

Packages that depend on dynamic_i18n