multi_language_words 1.0.0
multi_language_words: ^1.0.0 copied to clipboard
A package containing words in 10 different languages and some utility functions.
Multi-Language Word Generator #
A Dart package for generating random words in multiple languages. This package provides a simple way to generate unique random words from predefined word lists in various languages. Based on the word lists from bip39_multi_language.
Supported Languages #
- English
- French
- Italian
- Spanish
- Japanese
- Korean
- Portuguese
- Czech
- Chinese (Traditional)
- Chinese (Simplified)
Features #
- Generate random unique words in multiple languages
- Get complete word lists for supported languages
- Retrieve list of available languages
- Default English language support with optional language selection
- No external dependencies required
- Efficient random selection algorithm
Installation #
Add this to your package's pubspec.yaml file:
dependencies:
multi_language_words: ^1.0.0
Then run:
dart pub get
Usage #
Basic Usage #
import 'package:multi_language_words/multi_language_words.dart';
void main() {
final generator = WordGenerator();
// Generate 5 random English words (default language)
final words = generator.generateRandomWords(5);
print(words); // e.g., ["network", "turtle", "cannon", "design", "market"]
// Generate words in a specific language
final spanishWords = generator.generateRandomWords(3, Language.spanish);
print(spanishWords); // e.g., ["casa", "tiempo", "vida"]
}
Get Available Languages #
final generator = WordGenerator();
final languages = generator.getAvailableLanguages();
print(languages); // [Language.english, Language.spanish, ...]
Get Complete Word List #
final generator = WordGenerator();
final allWords = generator.getAllWords(Language.english);
print(allWords.length); // prints total number of words in English
API Reference #
WordGenerator Class #
generateRandomWords(int count, [Language? language])
Generates a list of random unique words.
count: Number of words to generatelanguage: Optional language selection (defaults to English)- Returns:
List<String>of unique random words - Throws:
ArgumentErrorif count is less than 1 or exceeds available words
getAvailableLanguages()
Returns a list of all supported languages.
- Returns:
List<Language>containing all available languages
getAllWords([Language? language])
Returns the complete word list for a specified language.
language: Optional language selection (defaults to English)- Returns:
List<String>containing all words in the specified language
Language Enum #
Available languages include:
Language.englishLanguage.frenchLanguage.italianLanguage.spanishLanguage.japaneseLanguage.koreanLanguage.portugueseLanguage.czechLanguage.chineseTraditionalLanguage.chineseSimplified
Error Handling #
The package includes proper error handling:
try {
// This will throw an ArgumentError if count exceeds available words
final words = generator.generateRandomWords(1000000);
} catch (e) {
print(e); // "Not enough words, only having X and not Y"
}
try {
// This will throw an ArgumentError
final words = generator.generateRandomWords(0);
} catch (e) {
print(e); // "Count must be greater than 0"
}
Implementation Details #
- Uses Dart's built-in
Randomclass for random number generation - Ensures no duplicate words in generated lists
- Efficient selection algorithm using dynamic index list
- Memory-efficient implementation for large word lists
Attribution #
This package uses word lists from the bip39_multi_language package by bhoomit74.
License #
MIT License
Copyright (c) 2024
Contributing #
Contributions are welcome! Please feel free to submit a Pull Request.