thematic_names 0.4.0
thematic_names: ^0.4.0 copied to clipboard
The package generates an infinite number of thematic calibrated unique names.
Thematic Unique Name Generator #

Generate an infinite number of thematic calibrated unique names. Easy-to-use and well-tested Dart package.
Features #
Contains exactly 1000 unique, calibrated (see the Principles below) names for
- artificial general intelligence (AGIs)
Names.agis() - bakeries
Names.bakeries() - fantasy countries
Names.fantasyCountries() - planets
Names.planets() - stars
Names.stars() - volcanos
Names.volcanos()
on the English language (now). You can easily add your own language.
See enum SupportedLanguage.
To generate unique names, the name generator ThematicNames adds a number to the name each time
it reaches 1000 names.
Usage #
Get a set of base 1000 unique volcano names #
final names = Names.volcanos();
Output all available thematic names #
print(names.title);
Generate 4 names #
for (var i = 0; i < 4; ++i) {
print(names.next.title);
}
Principles #
These rules are enforced for each set of names.
-
Every set of names contains exactly 1000 unique thematic names.
-
All names for initialize class
Namesordered by abc. Case insensetivity. -
Names doesn't contain numbers.
-
Names doesn't contain trailing spaces.
-
Names doesn't contain double spaces.
-
Any new word in name starts with capital letter with language-dependent exceptions. Excluded words: ['a', 'and', 'by', 'in', 'of', 'on', 'or'].
-
Names contains only accepted abc in the language.
-
The length of names is from 2 characters and does not exceed 120 characters.
-
Any word in the name contains at least 2 characters with language-dependent exceptions. Exluded words: see the principle 6.
-
The first word in the name has no such word in it: ['above', 'ahead', 'behind', 'below', 'bottom', 'down', 'east', 'far', 'great', 'greater', 'left', 'lower', 'near', 'nearest', 'new', 'newest', 'north', 'next', 'old', 'oldest', 'previos', 'previuos', 'right', 'south', 'top', 'up', 'upper', 'west'].
Welcome #
Welcome to add your own sets of 1000 unique names for... anything on any language.
The shared table can help do it. Also you can use this sheets for multiply substitutes words.
When you create your own nameset, please, include it in thenames_principles_test.dart` file.
This package is open-source, stable and well-tested. Development happens on GitHub. Feel free to report issues or create a pull-request there.
General questions are best asked on StackOverflow.
TODO #
- Principles and tests for synopses.
- Example with external own set of names.
- Names and synopses in other languages.