पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv1.1.1

ez_localization

अपने फ्लटर एप्लिकेशन में तेजी से और आसानी से एक शक्तिशाली स्थानीयकरण प्रणाली सेट करें।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
193
लाइक
23
Pub अंक
150

पैकेज इंस्टॉल करें

flutter pub add ez_localization

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

ez_localization एक Flutter पैकेज है जो एक विश्वसनीय स्थानीयकरण प्रणाली की स्थापना को सरल बनाता है, जिससे डेवलपर्स अपने एप्लिकेशन में अंतर्राष्ट्रीयकरण को तेजी से लागू कर सकते हैं। यह कई भाषाओं का समर्थन करता है और Android, iOS, Web, macOS, Windows और Linux पर अनुवाद प्रबंधित करने के लिए एक सुगम API प्रदान करता है। न्यूनतम कॉन्फ़िगरेशन के साथ, यह लोकेल्स के बीच बिना किसी रुकावट के स्विच करने और डायनामिक कंटेंट को कुशलता से संभालने में सक्षम है। यह पैकेज वैश्विक दर्शकों के लिए अनुकूल एप्लिकेशन के लिए आदर्श है, जो बॉइलरप्लेट कोड को कम करता है जबकि लचीलापन और स्केलेबिलिटी बनाए रखता है।

उपयोग

  • बहुभाषी ऐप समर्थन
  • आसान अनुवाद प्रबंधन
  • डायनामिक लोकेल स्विचिंग
  • क्रॉस-प्लेटफॉर्म अंतरराष्ट्रीयकरण
  • सरल आई18एन सेटअप
  • विश्व उपयोगकर्ताओं के लिए ऐप स्थानीयीकरण

मुख्य विशेषताएँ

  • आवश्यक सेटअप न्यूनतम
  • सभी प्रमुख प्लेटफॉर्म का समर्थन करता है
  • एम्बेडेड लोकेल स्विचिंग
  • स्पष्ट और पाठ्य अनुवाद वाक्य रचना
  • विस्तारशील अनुवाद फ़ाइल संरचना
  • डिफ़ॉल्ट भाषा के लिए स्वचालित फॉलबैक

इनके लिए उपयुक्त

  • बहुभाषी ऐप बना रहे विकासकर्मी
  • अनुवाद कार्य प्रवाह प्रबंधित कर रही टीमें
  • त्वरित i18n एकीकरण की आवश्यकता वाले प्रोजेक्ट
  • अंतरराष्ट्रीय बाजारों के लिए लक्षित ऐप्स
  • Flutter शुरुआती लोकलाइजेशन सीख रहे हैं
  • अक्सर भाषा अपडेट करने वाले प्रोजेक्ट

विचार योग्य बातें

  • सही अनुवाद फ़ाइल संगठन की आवश्यकता है
  • सीमित निर्मित अनुवाद संपादन उपकरण
  • जटिल बहुवचन रूपों का हस्तक्षेप
  • सही क्षेत्रीय नामकरण अभ्यास पर निर्भर करता है
  • कोई बिल्ट-इन अनुवाद स्टोरेज या सिंक नहीं
  • संरचित अनुवाद फ़ाइलों के साथ सबसे अच्छा उपयोग किया जाता है

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

EzLocalization

This package allows you to setup a powerful localization system with ease and in only a few minutes.

Features

Here are some features:

  • Easy, lightweight, open-source.
  • MIT licensed.
  • Easily extensible.

Getting started

It only takes a few steps in order to get EzLocalization to work !
First, add the following code to your MaterialApp definition (usually in main.dart) :

EzLocalizationDelegate ezLocalization = EzLocalizationDelegate(supportedLocales: [Locale('en'), Locale('fr')]); // The first language is your default language.

return MaterialApp(
  // ...
  localizationsDelegates: ezLocalization.localizationDelegates,
  supportedLocales: ezLocalization.supportedLocales,
  localeResolutionCallback: ezLocalization.localeResolutionCallback,
);

Then you create a folder named languages in your assets directory with the defined languages in it. An example structure could be :

assets
└── languages
    ├── en.json
    └── fr.json

Here's an example of en.json :

{
  "hello": "Hello !"
}

And a translated fr.json :

{
  "hello": "Bonjour !"
}

Don't forget to add the assets in your pubspec.yml :

flutter:
  # ...
  assets:
    - "assets/languages/"

That's it ! To get your string you only have to call EzLocalization.of(context)!.get('hello').

Advanced

Extension method

With the extension method, it's even easier to get a localized string ! The only thing you have to do is to replace EzLocalization.of(context)!.get('key') by context.getString('key').

You may have to manually import EzLocalization in your file.

Builder widget

EzLocalization provides a builder widget called EzLocalizationBuilder. You can use it as such :

const EzLocalizationBuilder(
  delegate: EzLocalizationDelegate(
    supportedLocales: [
      Locale('en'),
      Locale('fr'),
      Locale('es'),
    ],
  ),
  builder: (context, localizationDelegate) => MaterialApp(
    title: 'Beautifully localized app',
    home: MyMainWidget(),
    localizationsDelegates: localizationDelegate.localizationDelegates,
    supportedLocales: localizationDelegate.supportedLocales,
    localeResolutionCallback: localizationDelegate.localeResolutionCallback,
  ),
);

It has two advantages :

  • It helps reducing boilerplate.
  • You can dynamically change the current locale using EzLocalizationBuilder.of(context)!.changeLocale(yourLocale).
Nested strings

You can nest translation strings as such :

{
  "tabs": {
    "home": "Home"
  }
}

And it can be access using EzLocalization.of(context)!.get('tabs.home').

Format arguments

In your translation string, you may add arguments using {} :

{
  "greeting": "Hello {target}, my name is {me} !"
}

You can then fill them with EzLocalization.of(context)!.get('greeting', {'target': 'John', 'me': 'Bob'}). Also, instead of a map you can pass a list and get your arguments by their indexes.

Change the files path

You can change from the default path of assets/languages/$languageCode.json by passing getPathFunction to EzLocalizationDelegate. You will then have to provide a valid asset path according to the specified locale.

Don't forget to update your assets entry in your pubspec !

Updating the iOS app bundle

See the official flutter.dev documentation about updating the iOS app bundle.

Contributing

You have a lot of options to contribute to this project ! You can :

श्रेणियाँ

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।