diff --git a/language/languages/druidic/README.md b/language/languages/druidic/README.md new file mode 100644 index 0000000..9024b6d --- /dev/null +++ b/language/languages/druidic/README.md @@ -0,0 +1,13 @@ +### Gnomish + +Several distinct dialects of Gnomish exist; a provincial Rock Gnome may not +understand a Forest Gnome at all! This is "Golden Gnomish," the mother tongue +of these localized variants, and functions much like Common -- a trader's +tongue of common understanding. + +*Nuio duy lao guey houe lo nouo, pia roa tai.* + +**Gnomish Names:** +* Fuey Voii +* Juio See +* Tuai Reaa diff --git a/language/languages/druidic/__init__.py b/language/languages/druidic/__init__.py new file mode 100644 index 0000000..8c23fe0 --- /dev/null +++ b/language/languages/druidic/__init__.py @@ -0,0 +1,7 @@ +""" +Druidic +""" +from .base import Language +from .names import Name, NobleName + +__all__ = [Language, Name, NobleName] diff --git a/language/languages/druidic/base.py b/language/languages/druidic/base.py new file mode 100644 index 0000000..5e406f8 --- /dev/null +++ b/language/languages/druidic/base.py @@ -0,0 +1,67 @@ +from language import types + +from .rules import rules + +# surexit tutbulc filius liuit hagener tutri dierchi tir telih haioid ilau elcu +# filius gelhig haluidt iuguret amgucant pel amtanndi ho diued diprotant gener +# tutri o guir imguodant ir degion guragon tagc rodesit elcu guetig equs tres +# uache, tres uache nouidligi namin ir ni be cas igridu dimedichat guetig hit +# did braut grefiat guetig nis minn tutbulc hai cenetl in ois oisau + +consonants = types.WeightedSet( + ("b", 0.2), + ("c", 0.8), + ("d", 0.5), + ("f", 0.2), + ("g", 1.0), + ("h", 0.5), + ("l", 1.0), + ("m", 0.5), + ("n", 1.0), + ("p", 0.5), + ("r", 1.0), + ("s", 0.8), + ("t", 1.0), + ("ll", 0.5), + ("dd", 0.5), +) + +vowels = types.WeightedSet( + ("a", 0.8), + ("e", 0.5), + ("i", 1.0), + ("o", 0.5), + ("u", 1.0) +) + +suffixes = types.equal_weights( + [ + "t", + "lc", + "r", + "h", + "g", + "i", + "s", + + ], + 0.5, + blank=True, +) + +Language = types.Language( + name="druidic", + vowels=vowels, + consonants=consonants, + prefixes=None, + suffixes=suffixes, + syllables=types.SyllableSet( + (types.Syllable(template="vowel"), 0.3), + (types.Syllable(template="consonant,vowel"), 0.33), + (types.Syllable(template="consonant|vowel,vowel"), 0.33), + (types.Syllable(template="consonant|vowel,vowel,consonant|vowel"), 1.0), + (types.Syllable(template="consonant,vowel,vowel,consonant,vowel"), 1.0), + ), + rules=rules, + minimum_grapheme_count=1, +) diff --git a/language/languages/druidic/names.py b/language/languages/druidic/names.py new file mode 100644 index 0000000..78cd9dd --- /dev/null +++ b/language/languages/druidic/names.py @@ -0,0 +1,10 @@ +from language import types +from language.languages.druidic import Language + +Name = types.NameGenerator( + language=Language, + templates=types.NameSet( + (types.NameTemplate("name,surname"), 1.0), + ), +) +NobleName = Name diff --git a/language/languages/druidic/rules.py b/language/languages/druidic/rules.py new file mode 100644 index 0000000..09d965f --- /dev/null +++ b/language/languages/druidic/rules.py @@ -0,0 +1,7 @@ +import logging + +from language.rules import default_rules + +logger = logging.getLogger() + +rules = default_rules