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.
- English
- French
- Italian
- Spanish
- Japanese
- Korean
- Portuguese
- Czech
- Chinese (Traditional)
- Chinese (Simplified)
- 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
Add this to your package's pubspec.yaml file:
dependencies:
multi_language_words: ^1.0.0Then run:
dart pub getimport '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"]
}final generator = WordGenerator();
final languages = generator.getAvailableLanguages();
print(languages); // [Language.english, Language.spanish, ...]final generator = WordGenerator();
final allWords = generator.getAllWords(Language.english);
print(allWords.length); // prints total number of words in EnglishGenerates 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
Returns a list of all supported languages.
- Returns:
List<Language>containing all available languages
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
Available languages include:
Language.englishLanguage.frenchLanguage.italianLanguage.spanishLanguage.japaneseLanguage.koreanLanguage.portugueseLanguage.czechLanguage.chineseTraditionalLanguage.chineseSimplified
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"
}- 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
This package uses word lists from the bip39_multi_language package by bhoomit74.
MIT License
Copyright (c) 2024
Contributions are welcome! Please feel free to submit a Pull Request.