﻿# -*- coding: utf-8 -*-

"""
Enumerazione delle lingue.
"""

from src.element import EnumElement, finalize_enumeration


#-------------------------------------------------------------------------------

name = __name__[__name__.rfind(".")+1 : ]
elements = []
cycle_on_last = True


#-------------------------------------------------------------------------------

class LanguageElement(EnumElement):
    def __init__(self, name, description=""):
        super(LanguageElement, self).__init__(name, description)
        self.learnable = True      # Indica se la lingua è imparabile o meno (di norma lo è)
        self.pre_conversions = []  # Conversione delle parole prima dell'applicazione dell'alfabeto della lingua
        self.alphabet = ""         # Alfabeto della lingua, viene utilizzato per "codificare" l'alfabeto originale
        self.post_conversions = [] # Conversione delle parole dopo l'applicazione dell'alfabeto della lingua
    #- Fine Inizializzazione -


#-------------------------------------------------------------------------------

NONE      = LanguageElement("nessuno")
COMMON    = LanguageElement("comune",       "Lingua comune, quasi tutte le razze intelligenti conoscono questa lingua")
DWARVEN   = LanguageElement("nanica",       "Il nanico è opposto alla lingua degli Elfi grazie ai suoi suoni aspri e duri")
KHAJIT    = LanguageElement("khajit",       "Il linguaggio dei Felar, dalle molte rrr")
ARIAL     = LanguageElement("arial",        "L'incantevole lingua delle creature che popolano il cielo")
ARGONIAN  = LanguageElement("argoniano",    "La lingua dei Thepa, formata da esse sibilanti e da forti *click*, rumore che fa la loro lingua contro il palato superiore")
GNOME     = LanguageElement("gnomese",      "La veloce lingua degli Gnomi")
ORCISH    = LanguageElement("orchesca",     "L'orchesco è simile al linguaggio dei goblin, ma è ancora più 'sporco'")
FRIJEN    = LanguageElement("frijen",       "Il frijen è la lingua parlata nelle Terre del Nord dalle Frijen")
GOBLIN    = LanguageElement("globin",       "La lingua dei Goblin è una versione imbastardita dell'elfico")
TROLLISH  = LanguageElement("trollese",     "Il trollese, simile all'orchesco, è assimilabile ai grugniti di queste creature")
OGRISH    = LanguageElement("ogrese",       "Il linguaggio degli Ogre, fatto essenzialmente di suoni aspri e gutturali")
TAUREN    = LanguageElement("tauren",       "Il linguaggio dei Minotauri, è simile per certi versi a quello nanico, tanto che alcuni pensano ad un antico legame di vicinato tra le due razze.")
PIXIE     = LanguageElement("pixie",        "Il linguaggio garrullo dei Pixie")
CENTAUR   = LanguageElement("centaurese",   "È la lingua dei Centauri, dura ma pratica")
ELVEN     = LanguageElement("elfico",       "Il melodioso e delicato linguaggio elfico")
DROW      = LanguageElement("drow",         "Il linguaggio degli elfi scuri")
DRACONIAN = LanguageElement("draconiano",   "Il linguaggio dei draghi e razze draconiane")
GITH      = LanguageElement("gith",         "Il linguaggio astrale dei Githyanki")
GNOLL     = LanguageElement("gnoll",        "Il linguaggio degli Gnoll")
DEMONIAC  = LanguageElement("demoniaco",    "È la lingua che serve a comunicare coi Demoni ed altre creature evocate, questa lingua è molto ricca di consonanti")
ANCIENT   = LanguageElement("antico",       "L'antica lingua delle ere precedenti conosciuta solo da alcune creature millenarie")
MORTIS    = LanguageElement("mortis",       "La lingua mortis è il linguaggio delle anime dei morti. Consiste in un suono molto aereo")
DIVINE    = LanguageElement("divina",       "L'impescrutabile lingua degli Dei")
MAMMAL    = LanguageElement("mammiferi",    "Il linguaggio di comunicazione dei principali animali mammiferi")  # (TD) bisogna renderla simile a quello dei centauri, o viceversa
CANINE    = LanguageElement("canidi",       "Il linguaggio di cani e lupi e simili")
FELINE    = LanguageElement("felini",       "Il linguaggio di tutti i felini, dai gatti alle tigri")
REPTILE   = LanguageElement("rettili",      "Il velenoso sibilare dei rettili e dei serpenti")
AVIS      = LanguageElement("uccelli",      "Il cinguettare degli uccelli")  # (TD) bisogna renderla simile alla lingua degli arial
MARINE    = LanguageElement("marini",       "Il silenzioso linguaggio dei pesci e di molte delle creature di mari, laghi e fiumi")
RODENT    = LanguageElement("roditori",     "Le semplice espressioni dei roditori sono sostanzialmente una serie di Eek in diverse forme.")
INSECTOID = LanguageElement("insetti",      "Il silenzioso bisbigliare degli insetti")
TREELEAF  = LanguageElement("alberofoglia", "È il linguaggio di alberi, piante o creature vegetali (come gli Ent)")
MONSTER   = LanguageElement("mostri",       "L'incomprensibile lingua di alcuni mostri")


# Lingue che non si possono apprendere:
DIVINE.learnable = False


#                     abcdefghijklmnopqrstuvwxyz
DWARVEN.alphabet   = "ubkdukggagkrzrypkdztibmzgo"
KHAJIT.alphabet    = "ekjrugtlohfqbxyvndwmaczsip"  # (TD) Questo è uguale al FELINE per ora, bisogna "errizzarlo" maggiormente
ARIAL.alphabet     = "evctifjhojcrblutxvcdabpmos"
ARGONIAN.alphabet  = "zscsvfshrssesnlssistaowxyu"  # Preso in prestito da quello dei rettili, penso che possa andare bene
GNOME.alphabet     = "lvkdafhcyikbnnupcrzdmuukiz"
ORCISH.alphabet    = "oktpabkhugzpnmuxrgztebyzow"
FRIJEN.alphabet    = "iqqdakvtujfwghepcrslybszoz"
GOBLIN.alphabet    = "oktpabkhugzpnmuxrgztebyzow"
TROLLISH.alphabet  = "ufkdubrgugzpnmugkgztabtzom"
OGRISH.alphabet    = "ufkdubrgugzpnmugkgztabtzom"
TAUREN.alphabet    = "itaeihblheyopaiwkaritspwof"
PIXIE.alphabet     = "jdhsidulyywfmieopaexoqybac"
CENTAUR.alphabet   = "epcdalbhojcrnmigqfsbuvvxyz"
ELVEN.alphabet     = "iqqdakvtujfwghepcrslybszoz"
DROW.alphabet      = "ekjrugtlohfqbxyvndwmaczsip"
DRACONIAN.alphabet = "izsjrulfijhlsjifzrshyvlsyz"
GITH.alphabet      = "zetipkwazhjzaoevliczupziyy"
GNOLL.alphabet     = "lubwrearnwoirwgvcnoquytnvb"
DEMONIAC.alphabet  = "ngiwygvgcadkdrekrlzsroywxz"
ANCIENT.alphabet   = "ydkdyfxfygklmvopprsdyvvxys"
MORTIS.alphabet    = "ascedlkhhiscchliprreuuprcw"
DIVINE.alphabet    = "xknjxwruxbsflaxhqzvyxgmjie"
MAMMAL.alphabet    = "rghcrtkrsilshgrkshlcrgtkgi"
CANINE.alphabet    = "ekjrugtlohfqbxyvndwmaczsip"
FELINE.alphabet    = "ekjrugtlohfqbxyvndwmaczsip"
REPTILE.alphabet   = "zscsvfshrssesnlssistaowxyu"
AVIS.alphabet      = "ekjrugtlohfqbxyvndwmaczsip"
MARINE.alphabet    = "ekjrugtlohfqbxyvndwmaczsip"
RODENT.alphabet    = "akusekkaiukqquoseakkusskei"
INSECTOID.alphabet = "zckizrhbzbxhxyzyrbkczxhric"
TREELEAF.alphabet  = "ekjrugtlohfqbxyvndwmaczsip"
MONSTER.alphabet   = "ekjrugtlohfqbxyvndwmaczsip"


DWARVEN.pre_conversions = [
    ("argento",        "kibil"),
    ("asce",           "baruk"),
    ("ascia",          "burk"),
    ("atrio",          "dum"),
    ("cesello",        "felak"),
    ("corno",          "inbar"),
    ("corna",          "inbar"),
    ("cunicolo",       "gunud"),
    ("filone",         "nala"),
    ("fortezza",       "gathol"),
    ("gesto",          "iglishmek"),
    ("grande",         "gabil"),
    ("nano",           "khazl"),
    ("nani",           "khazad"),
    ("lago",           "zaram"),
    ("letto",          "nala"),
    ("linguaggio",     "aglab"),
    ("lungo",          "sigin"),
    ("mansione",       "dum"),
    ("nanesco",        "khazlyth"),
    ("nuvole",         "shathur"),
    ("orco",           "rukhs"),
    ("passo",          "nala"),
    ("pozza d'acqua",  "zaram"),
    ("rosso",          "baraz"),
    ("scavo",          "dum"),
    ("scherzoso",      "bizar"),
    ("signore",        "uzbad"),
    ("sottosuolo",     "gundu"),
    ("spaccare",       "felek"),
    ("spuntone",       "zigil"),
    ("su di te",       "ai-menu"),
    ("sopra di te",    "ai-menu"),
    ("su",             "aya"),
    ("testa",          "bund"),
    ("testimonianze",  "mazarbul"),
    ("valle",          "bizar"),
    ("ar",             "az"),
    ("ath",            "ak"),
    ("ch",             "k"),
    ("dw",             "kh"),
    ("ee",             "au"),
    ("en",             "yth"),
    ("es",             "ad"),
    ("eth",            "ok"),
    ("ick",            "uzk"),
    ("ion",            "um"),
    ("ith",            "uk"),
    ("io",             "ka"),
    ("mio",            "kaz"),
    ("di",             "uv"),
    ("ome",            "um"),
    ("oo",             "uu"),
    ("ove",            "uzo"),
    ("rf",             "zl"),
    ("th",             "gn"),
    ("a",              "or"),
    ("tu",             "enu"),
    ("ul",             "uzl"),
    ("uth",            "uz")]


# (TD) Mancano un po' di parole di pre-conversione dei felar

ARIAL.pre_conversions = [
    ("abilità",          "corr"),
    ("anello",           "lithorob"),
    ("arciere",          "echiv"),
    ("area",             "evie"),
    ("arma",             "pietul"),
    ("armatura",         "eburr"),
    ("assassino",        "coriv"),
    ("assassina",        "coriv"),
    ("auguro",           "eajavirr"),
    ("centauro",         "cildearr"),
    ("centaura",         "cildearr"),
    ("chierico",         "crivoc"),
    ("chierica",         "crivoc"),
    ("condizioni",       "codedic"),
    ("curare",           "hoot"),
    ("draconico",        "teculoel"),
    ("druido",           "taot"),
    ("druida",           "taot"),
    ("elfo marino",      "cirf"),
    ("elfa marina",      "cirf"),
    ("elfo",             "irf"),
    ("elfa",             "irf"),
    ("equipaggiamento",  "irotbild"),
    ("est",              "oocid"),
    ("fuoco",            "phovi"),
    ("gargoyle",         "jejuori"),
    ("gith",             "jong"),
    ("giù",              "tupil"),
    ("gruppo",           "jout"),
    ("guerriero",        "pevourr"),
    ("guerriera",        "pevourr"),
    ("gnomo",            "herphiv"),
    ("gnoma",            "herphiv"),
    ("immortale",        "obyvder"),
    ("incantesimo",      "cotir"),
    ("ladro",            "angoiph"),
    ("ladra",            "angoiph"),
    ("livello",          "ribir"),
    ("magico",           "bejoc"),
    ("magica",           "bejoc"),
    ("mago",             "bejociv"),
    ("maga",             "bejociv"),
    ("stregone",         "bejociv"),
    ("strega",           "bejociv"),
    ("mezz'elfo",        "herphirf"),
    ("mezzelfo",         "herphirf"),
    ("mezzo elfo",       "herphirf"),
    ("mezz'orco",        "herphuc"),
    ("mezzorco",         "herphuc"),
    ("mezzo orco",       "herphuc"),
    ("mezz'ogre",        "herphuji"),
    ("mezzogre",         "herphuji"),
    ("mezzo ogre",       "herphuji"),
    ("mezzotroll",       "herphdurr"),
    ("mezzo troll",      "herphdurr"),
    ("mortale",          "buder"),
    ("mostro",           "buv"),
    ("nano",             "topeph"),
    ("nana",             "topeph"),
    ("nord",             "lung"),
    ("oro",              "jurt"),
    ("ovest",            "picod"),
    ("paladino",         "teretol"),
    ("paladina",         "teretol"),
    ("ranger",           "veljirr"),
    ("ramingo",          "veljirr"),
    ("raminga",          "veljirr"),
    ("santuario",        "celdaevo"),
    ("scudo",            "cort"),
    ("sud",              "cuang"),
    ("titano",           "dodel"),
    ("lizardmen",        "rostbel"),
    ("lizardman",        "rostbel"),
    ("thepa",            "rostbel"),
    ("uccidere",         "cor"),
    ("umano",            "habel"),
    ("umana",            "habel"),
    ("si",               "oic"),
    ("no",               "lu"),
    ("su",               "at"),
    ("ee",               "ai"),
    ("oo",               "ul"),
    ("ie",               "o"),
    ("ea",               "oo"),
    ("th",               "ng"),
    ("qu",               "tr"),
    ("r ",               "rr"),
    ("k",                "ch"),
    ("f",                "ph"),
    ("s",                "c")]


ARGONIAN.pre_conversions = [
    ("ciao",           "bica"),
    ("addio",          "bica"),
    ("salve",          "bica"),
    ("no",             "'click"),
    ("si",             "sseth"),
    ("onirik",         "'click-iriass"),
    ("visita",         "eppa"),
    ("io",             "isili"),
    ("tu",             "tosa"),
    ("mostro",         "kri'kla"),
    ("abbastanza",     "ossli"),
    ("dammi",          "sel'a"),
    ("straniero",      "sor'click"),
    ("straniera",      "sor'click"),
    ("nemico",         "sorr"),
    ("nemica",         "sorr"),
    ("ruba",           "sorra"),
    ("rubare",         "sorra"),
    ("lizardmen",      "thepa"),
    ("lizardman",      "thepa"),
    ("aiuto",          "sstresh"),
    ("odio",           "thes'click"),
    ("odiare",         "thes'click"),
    ("piace",          "thesh"),
    ("bisogno",        "thit"),
    ("amico",          "yeshor'click"),
    ("amica",          "yeshor'click"),
    ("uccido",         "yethe"),
    ("uccidi",         "yethe"),
    ("cibo",           "zekka")]


GNOME.pre_conversions = [
    ("amico",        "dizrkad"),
    ("amica",        "dizrkad"),
    ("drow",         "zziim"),
    ("elfo oscuro",  "zziim"),
    ("elfa oscura",  "zziim"),
    ("elfo scuro",   "zziim"),
    ("elfa scura",   "zziim"),
    ("est",          "yuuk"),
    ("gnomesco",     "dizrkadie"),
    ("gnomesca",     "dizrkadie"),
    ("gnomo",        "dizrkad"),
    ("gnoma",        "dizrkad"),
    ("nemico",       "zzi"),
    ("nemica",       "zzi"),
    ("nord",         "cnar"),
    ("ovest",        "kllaf"),
    ("sud",          "dizr"),
    ("a ",           "yh "),
    ("a",            "ll"),
    ("come",         "uc"),
    ("da",           "lama"),
    ("di",           "che"),
    ("i ",           "ku "),
    ("il",           "szyh"),
    ("ella",         "numyk"),
    ("lei",          "numyr"),
    ("essi",         "hizrim"),
    ("loro",         "numim"),
    ("egli",         "num"),
    ("lui",          "numr"),
    ("io",           "kur"),
    ("noi",          "kuim"),
    ("questo",       "num"),
    ("s",            "im"),
    ("tu",           "hizr"),
    ("un",           "yh")]


ORCISH.pre_conversions = [
    ("anello",        "nazg"),
    ("bastardo",      "sha"),
    ("bastarda",      "sha"),
    ("borsa",         "cess"),
    ("borsone",       "cess"),
    ("zaino",         "cess"),
    ("ciao",          "gorg"),
    ("comandare",     "durbat"),
    ("comando",       "durb"),
    ("comprare",      "muk"),
    ("con",           "bat"),
    ("e",             "agh"),
    ("folle",         "glob"),
    ("fuoco",         "ghash"),
    ("gente",         "hai"),
    ("grande",        "bubhosh"),
    ("in",            "ishi"),
    ("incatena",      "krimp"),
    ("incatenare",    "krimpat"),
    ("ira",           "gul"),
    ("loro",          "ul"),
    ("non",           "um"),
    ("orco",          "uruk"),
    ("orca",          "uruk"),
    ("oscuro",        "burz"),
    ("oscura",        "burz"),
    ("pazzo",         "glob"),
    ("pazza",         "glob"),
    ("porta",         "thrak"),
    ("portare",       "thrakat"),
    ("pozza",         "ronk"),
    ("prendere",      "kham"),
    ("rubare",        "kzam"),  # prendere e rubare per la lingua orchesca sono la stessa cosa! :D
    ("salve",         "khalok"),
    ("schiavo",       "snaga"),
    ("schiava",       "snaga"),
    ("stupido",       "shai"),
    ("stupida",       "shai"),
    ("sudiciume",     "dug"),
    ("torre",         "lug"),
    ("troll",         "olog"),
    ("trova",         "gimb"),
    ("trovato",       "gimbat"),
    ("trovare",       "gimbata"),
    ("tutti",         "uk"),
    ("uccidere",      "vak"),
    ("uno",           "ash"),
    ("una",           "ash"),
    ("vecchio uomo",  "sharku"),
    ("uomo vecchio",  "sharku"),
    ("venire",        "kurta"),
    ("mio",           "mal"),
    ("me",            "mok"),
    ("a",             "sek"),
    ("ar",            "arg"),
    ("ath",           "ohk"),
    ("ch",            "k"),
    ("di",            "tuk"),
    ("ee",            "ou"),
    ("en",            "yth"),
    ("es",            "ac"),
    ("eth",           "om"),
    ("ick",           "uk"),
    ("ion",           "um"),
    ("ith",           "uuk"),
    ("ome",           "ask"),
    ("oo",            "uu"),
    ("ove",           "aah"),
    ("th",            "gn"),
    ("tu",            "snar"),
    ("ul",            "um"),
    ("uth",           "um")]


GOBLIN.pre_conversions = [
    ("ciao",      "gorg"),
    ("comprare",  "muk"),
    ("con",       "bat"),
    ("prendere",  "kham"),
    ("rubare",    "kzam"),
    ("salve",     "khalok"),
    ("uccidere",  "vak"),
    ("venire",    "kurta"),
    ("a",         "sek"),
    ("ar",        "arg"),
    ("ath",       "ohk"),
    ("ch",        "k"),
    ("ee",        "ou"),
    ("en",        "yth"),
    ("es",        "ac"),
    ("eth",       "om"),
    ("ick",       "uk"),
    ("ion",       "um"),
    ("ith",       "uuk"),
    ("me",        "mok"),
    ("mio",       "mal"),
    ("of",        "tuk"),
    ("ome",       "ask"),
    ("oo",        "uu"),
    ("ove",       "aah"),
    ("th",        "gn"),
    ("tu",        "snar"),
    ("ul",        "um"),
    ("uth",       "um")]


TROLLISH.pre_conversions = [
    ("ciao",      "grug"),
    ("con",       "(grunt)"),
    ("comprare",  "tog"),
    ("prendere",  "tog"),
    ("rubare",    "tog"),  # comprare, prendere e rubare sono la stessa cosa per i troll, peggio degli orchi! :D
    ("salve",     "grog"),
    ("uccidere",  "hak"),
    ("venire",    "rawg"),
    ("a",         "og"),
    ("ar",        "arg"),
    ("ath",       "ak"),
    ("ch",        "k"),
    ("di",        "uguf"),
    ("ee",        "au"),
    ("en",        "yth"),
    ("es",        "ad"),
    ("eth",       "ok"),
    ("ick",       "uk"),
    ("ion",       "um"),
    ("ith",       "uk"),
    ("me",        "ug"),
    ("mio",       "ug"),
    ("ome",       "um"),
    ("oo",        "uu"),
    ("ove",       "umm"),
    ("th",        "gn"),
    ("tu",        "guk"),
    ("ul",        "um"),
    ("uth",       "uz")]


# Praticamente uguale a quella troll
OGRISH.pre_conversions = [
    ("ciao",      "grug"),
    ("con",       "(grunt)"),
    ("comprare",  "tog"),
    ("prendere",  "tog"),
    ("rubare",    "tog"),
    ("salve",     "grog"),
    ("uccidere",  "hak"),
    ("venire",    "rawg"),
    ("a",         "og"),
    ("ar",        "arg"),
    ("ath",       "ak"),
    ("ch",        "k"),
    ("di",        "uguf"),
    ("ee",        "au"),
    ("en",        "yth"),
    ("es",        "ad"),
    ("eth",       "ok"),
    ("ick",       "uk"),
    ("ion",       "um"),
    ("ith",       "uk"),
    ("me",        "ug"),
    ("mio",       "ug"),
    ("ome",       "um"),
    ("oo",        "uu"),
    ("ove",       "umm"),
    ("th",        "gn"),
    ("tu",        "guk"),
    ("ul",        "um"),
    ("uth",       "uz")]


TAUREN.pre_conversions = [
    ("acqua",          "otha"),
    ("angelo",         "uvart"),
    ("angela",         "uvart"),
    ("buono",          "uvart"),
    ("buona",          "uvart"),
    ("cadavere",       "irinir"),
    ("caverna",        "tutha"),
    ("cibo",           "baan"),
    ("combattere",     "irithan"),
    ("combattimento",  "irithan"),
    ("corpo",          "baanir"),
    ("demone",         "vatar"),
    ("diavolo",        "vaeait"),
    ("diavolessa",     "vaeait"),
    ("dio",            "uatia"),
    ("dea",            "uatia"),
    ("dolore",         "ethoani"),
    ("dormire",        "biliv"),
    ("drow",           "ilarn"),
    ("elfo scuro",     "ilarn"),
    ("elfa scura",     "ilarn"),
    ("est",            "yati"),
    ("formula",        "izarous"),
    ("formulare",      "izarous"),
    ("fuoco",          "etho"),
    ("giù",            "qati"),
    ("gnomo",          "arith"),
    ("gnoma",          "arith"),
    ("luce",           "ethosa"),
    ("magia",          "izar"),
    ("magie",          "izar"),
    ("magico",         "izar"),
    ("magica",         "izar"),
    ("male",           "va"),
    ("martello",       "estariu"),
    ("mio",            "est"),
    ("mia",            "est"),
    ("morto",          "irik"),
    ("morta",          "irik"),
    ("muovere",        "ard"),
    ("nano",           "raith"),
    ("nana",           "raith"),
    ("nani",           "raita"),
    ("nanico",         "raith"),
    ("nord",           "mati"),
    ("ovest",          "yatr"),
    ("pattume",        "prith"),
    ("pietra focaia",  "tus"),
    ("pietra",         "tus"),
    ("prendere",       "estir"),
    ("quiete",         "tse"),
    ("riposare",       "yart"),
    ("roccia",         "tus"),
    ("stanco",         "gart"),
    ("stanca",         "gart"),
    ("sud",            "matr"),
    ("terra",          "tus"),
    ("uccidere",       "ilk"),
    ("tu",             "tari"),
    ("sedere",         "yavi"),
    ("me",             "utha"),
    ("noi",            "taru"),
    ("su",             "qatr")]


PIXIE.pre_conversions = [
    ("abilità",          "ewyf"),
    ("anello",           "iioly fym"),
    ("arciere",          "jahlia"),
    ("area",             "jai"),
    ("arma",             "yi joei"),
    ("armatura",         "jamea"),
    ("assassino",        "jee nooc"),
    ("assassina",        "jee nooc"),
    ("indovino",         "jousunee"),
    ("centauro",         "hii joa"),
    ("centaura",         "hii joa"),
    ("chierico",         "hiay"),
    ("chierica",         "hiay"),
    ("condizioni",       "eje ii"),
    ("curare",           "lij aif"),
    ("draconico",        "sajheiji"),
    ("draconica",        "sajheiji"),
    ("druido",           "saoy"),
    ("druida",           "saoy"),
    ("eer",              "s"),
    ("elfo marino",      "eij ifi"),
    ("elfa marina",      "eij ifi"),
    ("elfo",             "ifi"),
    ("elfa",             "ifi"),
    ("equipaggiamento",  "iarth tuyomii"),
    ("est",              "ijex"),
    ("folla",            "med"),
    ("fuoco",            "dyai"),
    ("gargoyle",         "ujau eafi"),
    ("gith",             "uyxl"),
    ("giù",              "seyi"),
    ("gruppo",           "uae oo"),
    ("guerriero",        "jaayea"),
    ("guerriera",        "jaayea"),
    ("immortale",        "ymeaf"),
    ("incantesimo",      "muyh eoif"),
    ("ladro",            "xlyid"),
    ("ladra",            "xlyid"),
    ("livello",          "fii"),
    ("magico",           "muyh"),
    ("mago",             "mjui"),
    ("mezzo uomo",       "lii jee"),
    ("mezzuomo",         "lii jee"),
    ("mezz'uomo",        "lii jee"),
    ("mezzo elfo",       "lii ifi"),
    ("mezzelfo",         "lii ifi"),
    ("mezz'elfo",        "lii ifi"),
    ("mezzo orco",       "lii eah"),
    ("mezzorco",         "lii eah"),
    ("mezz'orco",        "lii eah"),
    ("mezzo ogre",       "lii euai"),
    ("mezzogre",         "lii euai"),
    ("mezz'ogre",        "lii euai"),
    ("mezzo troll",      "lii jaef"),
    ("mezzotroll",       "lii jaef"),
    ("mortale",          "meaf"),
    ("nano",             "syjad"),
    ("nana",             "syjad"),
    ("no",               "ie"),
    ("nord",             "ieal"),
    ("oro",              "uef"),
    ("ovest",            "yiex"),
    ("paladino",         "osi"),
    ("paladina",         "osi"),
    ("prendere",         "ggtz"),
    ("qu",               "arth tv"),
    ("ranger",           "aji uia"),
    ("ramingo",          "aji uia"),
    ("raminga",          "aji uia"),
    ("santuario",        "ejih ojaa"),
    ("scudo",            "elis"),
    ("si",               "aie"),
    ("su",               "oo"),
    ("sud",              "eeol"),
    ("thepa",            "fyjasmi"),
    ("titano",           "ujyx"),
    ("titani",           "ujyx"),
    ("tr",               "mmps"),
    ("ts",               "uths"),
    ("uccidere",         "nooc"),
    ("uhm",              "luf"),
    ("umano",            "lomji"),
    ("umana",            "lomji"),
    ("lar",              "sgz"),
    ("ll",               "fr tpa"),
    ("lm",               "ml")]

PIXIE.post_conversions = [
    ("dfs",   "sstg d"),
    ("r",     "grud"),
    ("tyrl",  "x")]


CENTAUR.pre_conversions = [
    ("acqua",          "nin"),
    ("allegro",        "kali"),
    ("allegra",        "kali"),
    ("arruffare",      "luthran"),
    ("birra",          "him"),
    ("borsa",          "laban"),
    ("zaino",          "laban"),
    ("burro",          "zilib"),
    ("capanna",        "hloth"),
    ("capra",          "gamba"),
    ("casetta",        "hloth"),
    ("che",            "bas"),
    ("comune",         "soval"),
    ("confine",        "branda"),
    ("coniglio",       "tapuc"),
    ("coniglia",       "tapuc"),
    ("patria",         "suza"),
    ("corno",          "ras"),
    ("cotone",         "hlothran"),
    ("felice",         "kali"),
    ("fine",           "neg"),
    ("gioco",          "galab"),
    ("gioioso",        "kali"),
    ("gioiosa",        "kali"),
    ("guardia",        "tudnas"),
    ("gnomo",          "banakil"),
    ("inebriante",     "bralda"),
    ("interlocutore",  "batta"),
    ("marcia",         "branda"),
    ("mela",           "razar"),
    ("metà",           "ban"),
    ("moneta",         "castar"),
    ("nano",           "narag"),
    ("nana",           "narag"),
    ("oro",            "castar"),
    ("orribile",       "balc"),
    ("parlato",        "phare"),
    ("pelo",           "luthran"),
    ("peli",           "luthran"),
    ("peluria",        "luthran"),
    ("persone",        "nas"),
    ("protegge",       "tudnas"),
    ("protuberanza",   "bolg"),
    ("quarto",         "tharantin"),
    ("ricercare",      "phur"),
    ("rimanere",       "gad"),
    ("ronzare",        "raph"),
    ("saggio",         "zir"),
    ("semplice",       "banazir"),
    ("soffiare",       "put"),
    ("soffiatore",     "puta"),
    ("sorriso",        "tran"),
    ("spaccato",       "karnin"),
    ("straniero",      "raza"),
    ("straniera",      "raza"),
    ("uomo",           "na"),
    ("uomini",         "nas"),
    ("valle",          "gul"),
    ("vecchio",        "zara"),
    ("vecchia",        "zara"),
    ("veloce",         "bara"),
    ("villaggio",      "ran"),
    ("villaggi",       "ran")]


ELVEN.pre_conversions = [
    ("albero",             "alda"),
    ("amico",              "mellon"),
    ("amica",              "mellon"),
    ("appassito",          "quelle"),
    ("appassita",          "quelle"),
    ("arco",               "luva"),
    ("aria",               "vilya"),
    ("autunno",            "yavie"),
    ("bocca",              "anto"),
    ("brezza",             "hwesta"),
    ("cancello",           "ando"),
    ("cancelli",           "andoi"),
    ("cielo",              "vilya"),
    ("concavità",          "unque"),
    ("cresciuto",          "loa"),
    ("cresciuta",          "loa"),
    ("cuore",              "ore"),
    ("dire",               "pedo"),
    ("dono",               "anna"),
    ("entrare",            "minno"),
    ("est",                "romen"),
    ("estate",             "laire"),
    ("fato",               "umbar"),
    ("fatto",              "echant"),
    ("fauci",              "anca"),
    ("ferro",              "anga"),
    ("foga",               "ure"),
    ("foschia",            "hisime"),
    ("furia",              "aha"),
    ("incontro",           "omentielvo"),
    ("inverno",            "hrive"),
    ("l'ora",              "lumenn"),
    ("lampada",            "calma"),
    ("libro",              "parma"),
    ("lingua",             "lambe"),
    ("loro",               "hain"),
    ("luce delle stelle",  "silme"),
    ("luce solare",        "are"),
    ("luna",               "isil"),
    ("metallo",            "tinco"),
    ("nome",               "esse"),
    ("nord",               "formen"),
    ("oro",                "malta"),
    ("ovest",              "numen"),
    ("pietra",             "ssar"),
    ("pietre",             "ssar"),
    ("piuma",              "quesse"),
    ("piume",              "quesse"),
    ("ponte",              "yanta"),
    ("ponti",              "yanta"),
    ("potere",             "vala"),
    ("primavera",          "thuile"),
    ("questi",             "thiw"),
    ("regione",            "arda"),
    ("regioni",            "arda"),
    ("rete",               "ungwe"),
    ("reti",               "ungwe"),
    ("ridestato",          "coire"),
    ("secolo",             "haranye"),
    ("segni",              "hin"),
    ("settimana",          "enquie"),
    ("sogno",              "lorien"),
    ("spirito",            "thule"),
    ("splendente",         "sila"),
    ("luminoso",           "sila"),
    ("stella",             "elen"),
    ("sud",                "hyarmen"),
    ("tesoro",             "harma"),
    ("tirato",             "teithant"),
    ("tormento",           "nwalme"),
    ("uncino",             "ampa"),
    ("ck",                 "ss"),
    ("d",                  "ng"),
    ("di",                 "ane"),
    ("e",                  "owe"),
    ("es",                 "a"),
    ("g z",                "s v"),
    ("j",                  "sh"),
    ("ng",                 "r"),
    ("p",                  "st"),
    ("r",                  "th"),
    ("sc",                 "a"),
    ("sh",                 "vr"),
    ("st",                 "ma"),
    ("th",                 "n"),
    ("xx",                 "sth"),
    ("z",                  "dh")]

ELVEN.post_conversions = [
    ("qq",  "q"),
    ("rr",  "r")]


# (TD) Mancano un po' di parole di pre-conversione dei drow


DRACONIAN.pre_conversions = [
    ("aiuto",     "ssijfzhssrz"),
    ("amico",     "ssijfzh"),
    ("amica",     "ssijfzh"),
    ("cibo",      "ssyzz"),
    ("dio",       "uursh"),
    ("dea",       "uursh"),
    ("draco",     "ssij"),
    ("drago",     "ssij"),
    ("elfo",      "ssijfzhrr"),
    ("elfa",      "ssijfzhrr"),
    ("est",       "ilh"),
    ("fare",      "ssrz"),
    ("ferire",    "ssijfzhssrzrr"),
    ("fu",        "jrrhrr"),
    ("furono",    "jrrhrrzh"),
    ("giovane",   "srzif"),
    ("giù",       "iirr"),
    ("il",        "zz"),
    ("lui",       "fls"),
    ("lei",       "lsjj"),
    ("loro",      "frrh"),
    ("essi",      "rrh"),
    ("lì",        "frsrr"),
    ("magia",     "ssyzzuursh"),
    ("magico",    "ssyzzuursh"),
    ("magica",    "ssyzzuursh"),
    ("mezzo",     "ifj"),
    ("mezza",     "ifj"),
    ("morire",    "hhifj"),
    ("morto",     "jrrhrrhh"),
    ("morta",     "jrrhrrhh"),
    ("nemico",    "ssijfzhrr"),
    ("nemica",    "ssijfzhrr"),
    ("nord",      "vvyl"),
    ("ora",       "jrrh"),
    ("ovest",     "ilhrr"),
    ("qui",       "frs"),
    ("scaglia",   "zji"),
    ("sei",       "hhzh"),
    ("serpente",  "ssijfzh"),
    ("sono",      "hhzh"),
    ("sud",       "vvylrr"),
    ("tu",        "fi"),
    ("uccidere",  "jrrhrrhhssrz"),
    ("vecchio",   "srzifrr"),
    ("vecchia",   "srzifrr"),
    ("è",         "hh"),
    ("su",        "ii"),
    ("me",        "fz"),
    ("noi",       "fzh"),
    ("un",        "zs"),
    ("una",       "zs"),
    ("come",      "sih"),
    ("questo",    "lsjj"),
    ("questa",    "lsjj"),
    ("noi",       "zh"),
    ("di",        "ji"),
    ("da",        "fu"),
    ("essere",    "hh"),
    ("no",        "rr"),
    ("fare",      "ssrz"),
    ("a ",        "zs "),
    ("i ",        "z "),
    ("s ",        "yz "),
    ("a",         "lsz"),
    ("i",         "iz"),
    ("s",         "yjz")]


GITH.pre_conversions = [
    ("acqua",          "adira"),
    ("amico",          "vairk"),
    ("amica",          "vairk"),
    ("angelo",         "hartiz"),
    ("angela",         "hartiz"),
    ("aria",           "aruan"),
    ("assassino",      "githarizk"),
    ("assassina",      "githarizk"),
    ("astrale",        "atr"),
    ("bene",           "atirhto"),
    ("chierico",       "iathirina"),
    ("chierica",       "iathirina"),
    ("cibo",           "adira"),
    ("cielo",          "iatian"),
    ("combattere",     "fight"),
    ("combattimento",  "eart"),
    ("demone",         "aritha"),
    ("diavolo",        "arikan"),
    ("diavolessa",     "arikan"),
    ("dio",            "iathi"),
    ("dea",            "iathi"),
    ("drago",          "varithavid"),
    ("filo",           "kariv"),
    ("formulare",      "bari"),
    ("freddo",         "zari"),
    ("fuoco",          "airth"),
    ("gith",           "gith"),
    ("githyanki",      "githyanki"),
    ("impeto",         "yzar"),
    ("incantesimo",    "baruthis"),
    ("inferno",        "aribhan"),
    ("lupo mannaro",   "laiyrith"),
    ("magico",         "barus"),
    ("magica",         "barus"),
    ("male",           "verhto"),
    ("mind flayer",    "earikar"),
    ("nemico",         "earik"),
    ("nemica",         "earik"),
    ("neutrale",       "dethohto"),
    ("straniero",      "avzi"),
    ("straniera",      "avzi"),
    ("piano",          "vat"),
    ("piana",          "vat"),
    ("pirata",         "zarit"),
    ("pronunciare",    "bari"),
    ("regina",         "ti"),
    ("lich",           "bia"),
    ("sacerdote",      "itharine"),
    ("sacerdotessa",   "itharip"),
    ("stregone",       "barithai"),
    ("terra",          "viipla"),
    ("uccidere",       "eath"),
    ("vampiro",        "parthiva")]


GNOLL.pre_conversions = [
    ("amore",     "durngi"),
    ("anello",    "ruccka"),
    ("anziano",   "viruna"),
    ("anziana",   "viruna"),
    ("bambino",   "organya"),
    ("bambina",   "organya"),
    ("cane",      "cruck"),
    ("centauro",  "undricka"),
    ("centaura",  "undricka"),
    ("compagno",  "darana"),
    ("compagna",  "darana"),
    ("dio",       "yukina"),
    ("deà",       "yukina"),
    ("divinità",  "yukina"),
    ("uomo",      "dirin"),
    ("donna",     "daran"),
    ("umano",     "cakana"),
    ("elfo",      "orika"),
    ("elfa",      "orika"),
    ("morte",     "viruka"),
    ("morto",     "viru"),
    ("morta",     "viru"),
    ("nemico",    "virun"),
    ("nemica",    "virun"),
    ("odio",      "pornog"),
    ("smorfia",   "croccka"),
    ("a ",        "ae "),
    ("e ",        "ei "),
    ("i ",        "io "),
    ("o ",        "ou "),
    ("u ",        "ua "),
    (" a",        " ad"),
    (" e",        " ed"),
    (" i",        " id"),
    (" o",        " od"),
    (" u",        " ud"),
    ("a",         "e a"),
    ("e",         "i e"),
    ("i",         "o i"),
    ("o",         "u o"),
    ("u",         "a u")]


DEMONIAC.pre_conversions = [
    ("alleato",       "yrgydx"),
    ("alleata",       "yrgydx"),
    ("amico",         "arygdx"),
    ("amica",         "arygdx"),
    ("angelo",        "nrgvyhvl"),
    ("angela",        "nrgvyhvl"),
    ("bandire",       "grcizg"),
    ("buono",         "vreg"),
    ("buona",         "vreg"),
    ("caos",          "ignexh"),
    ("credere",       "whslrh"),
    ("credo",         "whslrh"),
    ("debole",        "zeerwynw"),
    ("demone",        "wrgdrk"),
    ("diavolo",       "wrgdrk"),
    ("diavolessa",    "wrgdrk"),
    ("devozione",     "kexkvxs"),
    ("favorito",      "vhrgerg"),
    ("favorita",      "vhrgerg"),
    ("immortale",     "ignsx"),
    ("imprigionare",  "garczx"),
    ("inferiore",     "vrgyhvel"),
    ("infernale",     "rgyhlrgnk"),
    ("invocare",      "wdkgxyz"),
    ("libertà",       "glyxwdk"),
    ("maestro",       "dnhsyhl"),
    ("maestra",       "dnhsyhl"),
    ("mortale",       "vurgug"),
    ("morte",         "yyndryzz"),
    ("nemico",        "yhouk"),
    ("nemica",        "yhouk"),
    ("nemici",        "yhrgyhdx"),
    ("ordine",        "ghynx"),
    ("pazzo",         "gekg"),
    ("sangue",        "kcgy"),
    ("superiore",     "wrgdnrg"),
    ("vita",          "zslyrvsg"),
    ("e",             "yh"),
    ("n",             "rg")]


ANCIENT.pre_conversions = [
    ("aiuto",     "fyld"),
    ("amico",     "sfylg"),
    ("amica",     "sfylg"),
    ("animale",   "pomyx"),
    ("antico",    "fylg"),
    ("antica",    "fylg"),
    ("bestia",    "pomyx"),
    ("cibo",      "pov"),
    ("creatura",  "pomyx"),
    ("drago",     "pomyx-mogy-osvoy-syf"),  # letteralmente: creatura che uccide noi
    ("est",       "smoyf"),
    ("fare",      "mogy"),
    ("ferire",    "mogy-ofyld"),
    ("fummo",     "ogy"),
    ("giovane",   "voy"),
    ("giù",       "dos"),
    ("loro",      "xos"),
    ("lì",        "opp "),
    ("magia",     "myddl"),
    ("magico",    "myddl"),
    ("magica",    "myddl"),
    ("morente",   "dyp"),
    ("morto",     "osvoy"),
    ("morta",     "osvoy"),
    ("nemico",    "osfylg"),
    ("nemica",    "osfylg"),
    ("nord",      "moyf"),
    ("ovest",     "osmoyf"),
    ("qui",       "ypo"),
    ("saggio",    "fylg"),
    ("saggia",    "fylg"),
    ("sud",       "omoyf"),
    ("uccidere",  "mogy-osvoy"),
    ("vecchio",   "fylg"),
    ("vecchia",   "fylg"),
    ("vivo",      "svoy"),
    ("tu",        "osy"),
    ("dio",       "yyvf"),
    ("dea",       "yyvf"),
    ("divinità",  "yyvf"),
    ("ora",       "doo"),
    ("fu",        "odoo"),
    ("il",        "yth"),
    ("lei",       "spo"),
    ("sono",      "gy"),
    ("lui",       "po"),
    ("questo",    "opo"),
    ("questa",    "opo"),
    ("è",         "sho"),
    ("noi",       "syf"),
    ("sono",      "sy-sho"),
    ("su",        "odos"),
    ("un",        "yth"),
    ("come",      "ffo"),
    ("di",        "shoff"),
    ("da",        "mox"),
    ("ph",        "ff"),
    ("a ",        "yth"),
    ("i ",        "sy"),
    ("t",         "th")]


MORTIS.pre_conversions = [
    ("amico",     "k`leath"),
    ("amica",     "k`leath"),
    ("amici",     "ul`kitha"),
    ("amore",     "u`liktha"),
    ("anziano",   "sh`adill"),
    ("anziana",   "sh`adill"),
    ("bambino",   "sh`oh`dela"),
    ("bambina",   "sh`oh`dela"),
    ("benevolo",  "sh`adelou"),
    ("benevola",  "sh`adelou"),
    ("dio",       "sh`ad"),
    ("dea",       "sh`ad"),
    ("divinita",  "sh`adelia"),
    ("uomo",      "sh`idel"),
    ("donna",     "sh`idelan"),
    ("nemico",    "l`keath"),
    ("nemica",    "l`keath"),
    ("odio",      "u`ledthatush"),
    ("a ",        "u`loth "),
    ("e ",        "o`sha "),
    ("i ",        "i`lith "),
    ("o ",        "e`lhu "),
    ("u ",        "a`leth "),
    (" a",        " e`shi"),
    (" e",        " o`shu"),
    (" i",        " a`she"),
    (" o",        " i`sho"),
    (" u",        " u`sha"),
    ("a",         "a`u"),
    ("e",         "e`o"),
    ("i",         "i`i"),
    ("o",         "o`e"),
    ("u",         "y`a")]


DIVINE.pre_conversions = [
    ("amico",        "jaela"),
    ("amica",        "jaela"),
    ("amore",        "raeh"),
    ("bene",         "orea"),
    ("cibo",         "kuda"),
    ("degno",        "greaa"),
    ("degna",        "greaa"),
    ("demone",       "kaes"),
    ("diavolo",      "kaes"),
    ("diavolessa",   "kaes"),
    ("disprezzare",  "skrit"),
    ("femmina",      "laera"),
    ("lentamente",   "suuk"),
    ("uomo",         "malor"),
    ("maschio",      "sukoor"),
    ("mio",          "raan"),
    ("mortale",      "suukan"),
    ("nemico",       "jaela"),
    ("nemica",       "jaela"),
    ("neutrale",     "lival"),
    ("odio",         "skith"),
    ("potere",       "naem"),
    ("scorgere",     "jukkat"),
    ("lizardmen",    "seth"),
    ("lizardman",    "seth"),
    ("uccidere",     "suuth"),
    ("vostri",       "tiad"),
    ("zaffiro",      "zephyr"),
    ("tu",           "ti"),
    ("il",           "en"),
    ("dio",          "jae"),
    ("dea",          "jae"),
    ("divinità",     "jae"),
    ("lei",          "laed"),
    ("me",           "ra"),
    ("lui",          "sukat"),
    ("a ",           "vu "),
    ("i ",           "ka "),
    ("a",            "ou"),
    ("e",            "ai"),
    ("i",            "ei"),
    ("o",            "eo"),
    ("u",            "io")]


MAMMAL.pre_conversions = [
    ("amico",          "thrrgc"),
    ("amica",          "thrrgc"),
    ("arma",           "trrkrg"),
    ("cadere",         "rtss"),
    ("capo",           "ukthrrgc"),
    ("combattere",     "rlrtrrkrg"),
    ("combattimento",  "rlrtrrkrg"),
    ("correre",        "hrg"),
    ("dio",            "krc"),
    ("dea",            "krc"),
    ("divinità",       "krc"),
    ("est",            "grctrlc"),
    ("gambe",          "srkl"),
    ("giù",            "grcrk"),
    ("grande",         "grk"),
    ("magia",          "krckrtrc"),
    ("magico",         "krckrtrc"),
    ("magica",         "krckrtrc"),
    ("molti",          "hrgg"),
    ("nemico",         "grcthrrgc"),
    ("nemica",         "grcthrrgc"),
    ("non",            "grc"),
    ("nord",           "grhcr"),
    ("ovest",          "trlc"),
    ("potere",         "krtrc"),
    ("saltare",        "irhk"),
    ("si",             "grcgr"),
    ("sud",            "grcgrhcr"),
    ("usare",          "rlr"),
    ("veloce",         "trlc"),
    ("no",             "gr"),
    ("su",             "rk"),
    ("noi",            "rl"),
    ("a",              "r")]


REPTILE.pre_conversions = [
    ("amico",     "dargonie"),
    ("amica",     "dargonie"),
    ("amore",     "ferasss"),
    ("anziano",   "gothirasss"),
    ("anziana",   "gothirasss"),
    ("bambino",   "dargonae"),
    ("bambina",   "dargonae"),
    ("cane",      "gorassstu"),
    ("compagno",  "ferusss"),
    ("compagna",  "ferusss"),
    ("dio",       "darthsss"),
    ("dea",       "darthsss"),
    ("divini",    "godarthsss"),
    ("divinità",  "gothrutasss"),
    ("uomo",      "dartusss"),
    ("donna",     "girdonie"),
    ("morte",     "sssouwasss"),
    ("nemico",    "girdonae"),
    ("nemica",    "girdonae"),
    ("odio",      "suvasss"),
    ("santo",     "vorchasss"),
    ("santa",     "vorchasss"),
    (" s",        " sss"),
    ("s ",        "sss "),
    ("s",         "sss")]


RODENT.pre_conversions = [
    ("anello",     "kekeoeek"),
    ("buono",      "ksquak"),
    ("buona",      "ksquak"),
    ("cane",       "keauk"),
    ("cagna",      "keauk"),
    ("cibo",       "eek eek eekuak"),
    ("comprare",   "eeek"),
    ("criceto",    "kekeoeek"),
    ("criceta",    "kekeoeek"),
    ("dare",       "eeek"),
    ("formaggio",  "eeeeeeeeeaaaaak"),
    ("mio",        "eeek"),
    ("mia",        "eeek"),
    ("prendere",   "eeek"),
    ("roditore",   "kekeoeek"),
    ("roditori",   "kekeoeek"),
    ("rubare",     "eeek"),
    ("squittii",   "ke"),
    ("squittire",  "ke"),
    ("topo",       "kekeoeek"),
    ("topa",       "kekeoeek"),
    ("gatto",      "akkazziriko"),
    ("gatta",      "akkazziriko"),
    ("felino",     "akkazziriko"),
    ("felar",      "akkazziriko"),
    ("tuo",        "eeek"),
    ("tua",        "eeek"),
    ("umano",      "keauk"),
    ("umana",      "keauk"),
    ("vostri",     "eeek"),
    ("aq",         "ek")]


INSECTOID.pre_conversions = [
    ("amico",          "rbzzyi"),
    ("amica",          "rbzzyi"),
    ("arma",           "hzzyzy"),
    ("cadere",         "hzhkizhy"),
    ("capo",           "czhhzhk"),
    ("combattere",     "zkzhzzyzy"),
    ("combattimento",  "zkzhzzyzy"),
    ("correre",        "bzy"),
    ("dio",            "hzi"),
    ("dea",            "hzi"),
    ("est",            "yzchzkc"),
    ("gambe",          "hzhk"),
    ("giù",            "izhy"),
    ("grande",         "czh"),
    ("magia",          "hziyzrzb"),
    ("magico",         "hziyzrzb"),
    ("magica",         "hziyzrzb"),
    ("molti",          "xzyi"),
    ("nemico",         "yzcrbzzyi"),
    ("nemica",         "yzcrbzzyi"),
    ("non",            "yzc"),
    ("nord",           "yzbcb"),
    ("ovest",          "hzkc"),
    ("potere",         "yzrzb"),
    ("saltare",        "hzhkzy"),
    ("si",             "izk"),
    ("sud",            "yzcyzbcb"),
    ("usare",          "zkz"),
    ("veloce",         "bzyhzhk"),
    ("no",             "yz"),
    ("su",             "zy"),
    ("noi",            "zk"),
    ("a",              "z")]


#-------------------------------------------------------------------------------

# Bisogna ordinare le tuple di pre conversione e post conversione in ordine di
# lunghezza della prima parola in maniera tale che la scramble_language nel
# modulo channel.py funzioni correttamente nel punto in cui esegue il controllo
# con la is_prefix
def compare_words(words1, words2):
    lenght1 = len(words1[0])
    lenght2 = len(words2[0])
    return lenght2 - lenght1

def sort_languages():
    global elements
    for element in elements:
        element.pre_conversions.sort(cmp=compare_words)
        element.post_conversions.sort(cmp=compare_words)

sort_languages()


#-------------------------------------------------------------------------------

finalize_enumeration(__name__)
