esmaulhusna_muslimbg 0.0.4 copy "esmaulhusna_muslimbg: ^0.0.4" to clipboard
esmaulhusna_muslimbg: ^0.0.4 copied to clipboard

A Flutter package providing access to the 99 Names of Allah (Esmaul Husna) in English,Turkish and Bulgarian with descriptions.

Esmaul Husna - 99 Names of Allah | MuslimBG #

A Flutter package providing access to the 99 Names of Allah (Esmaul Husna) in multiple languages with descriptions and meanings.

Features #

  • 📚 Support for multiple languages:
    • English
    • Turkish
    • Bulgarian
  • 🔍 Detailed descriptions and meanings
  • ⚡ Async loading for better performance
  • 🛡️ Type-safe API
  • 🌐 Proper Unicode support for Arabic text

Installation #

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

dependencies:
  esmaulhusna_muslimbg: latest_version

Usage #

Basic Usage #

import 'package:esmaulhusna_muslimbg/esmaulhusna.dart';

// Get names in English
final englishNames = await EsmaulHusna.getNames('bg');

// Access first name (Al-Rahman)
print(englishNames[0]['name']);       // The Most Gracious
print(englishNames[0]['arabic']);     // الرَّحْمَنُ
print(englishNames[0]['translation']); // The description/meaning

Available Languages #

// Get names in different languages
final arabicNames = await EsmaulHusna.getNames('bg');
final turkishNames = await EsmaulHusna.getNames('tr');
final bulgarianNames = await EsmaulHusna.getNames('en');
// Get a random name in Bulgarian. This can be used for daily notification or random name.
final randomName = await EsmaulHusna.getRandomName('bg');
print(randomName['name']); // Name in Bulgarian
print(randomName['arabic']); // Arabic text of the name
print(randomName['translation']); // Description/meaning in Bulgarian

Response Format #

Each name in the returned list contains:

{
  'arabic': 'Arabic text of the name',
  'name': 'Name in requested language',
  'translation': 'Description/meaning in requested language'
}

Error Handling #

The package includes proper error handling:

try {
  final names = await EsmaulHusna.getNames('bg');
  // Use the names...
} catch (e) {
  print('Error loading names: $e');
}

Example #

A complete example showing how to display the names in a ListView:

class NamesListView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FutureBuilder<List<Map<String, String>>>(
      future: EsmaulHusna.getNames('bg'),
      builder: (context, snapshot) {
        if (snapshot.hasData) {
          return ListView.builder(
            itemCount: snapshot.data!.length,
            itemBuilder: (context, index) {
              final name = snapshot.data![index];
              return ListTile(
                title: Text(name['name']!),
                subtitle: Text(name['translation']!),
                leading: Text(name['arabic']!),
              );
            },
          );
        }
        if (snapshot.hasError) {
          return Center(child: Text('Error: ${snapshot.error}'));
        }
        return Center(child: CircularProgressIndicator());
      },
    );
  }
}

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

4
likes
0
points
180
downloads

Publisher

verified publishercemalkarabulakli.com

Weekly Downloads

A Flutter package providing access to the 99 Names of Allah (Esmaul Husna) in English,Turkish and Bulgarian with descriptions.

Repository (GitHub)
View/report issues

Topics

#islam #religion #names #translation

Documentation

Documentation

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on esmaulhusna_muslimbg