#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from blib import msg

language_specific_alt_form_of_templates = [
  "be-Taraškievica",
  "bg-pre-reform",
  # FIXME: remove from lang-independent category
  "ceb-superseded spelling of",
  # FIXME: remove from lang-independent category
  "egy-alternative transliteration of", "egy-alt",
  # FIXME: remove from lang-independent category
  "en-ing form of",
  "fr-post-1990",
  "fr-pre-1990",
  "hy-reformed",
  "jbo-rafsi of",
  "morse code abbreviation",
  "morse code for",
  "morse code prosign",
  "my-ICT of",
  "pt-superseded-paroxytone",
  "ru-pre-reform",
  "uk-pre-reform",
  "yi-alternatively pointed form of",
  "yi-phonetic spelling of",
  "yi-unpointed form of",
]

language_specific_form_of_templates = [
  "ar-verbal noun of",
  "blk-past of",
  "cu-Glag spelling of",
  # FIXME: remove from lang-independent category
  "da-e-form of",
  "da-pl-genitive",
  "de-du contraction",
  "de-inflected form of",
  "egy-verb form of",
  "el-form-of-verb", "el-verb form of",
  # FIXME: el-mono-of, el-poly-of should not be main form; also remove from lang-independent category
  "el-monotonic form of",
  "el-polytonic form of",
  # FIXME: remove from lang-independent category
  "en-archaic second-person singular of",
  "en-comparative of",
  "en-irregular plural of",
  "en-past of",
  "en-simple past of",
  "en-superlative of",
  "ga-emphatic of",
  "ga-lenition of",
  "hu-exaggerated of",
  "hy-traditional",
  "ia-form of",
  "ie-past and pp of",
  "ja-kyujitai spelling of", "ja-kyu sp",
  "ja-new/r", "jaro",
  "ja-past of verb",
  "ja-romanization of", "ja-romanization-of",
  "ja-te form of verb",
  "ja-verb form of",
  "lb-inflected form of",
  "mn-verb form of",
  "pt-cardinal form of",
  "pt-pronoun-with-l",
  "pt-pronoun-with-n",
  "ro-adj-form of", "ro-form-adj",
  "ru-alt-ё",
  "ru-abbrev of",
  "ru-acronym of",
  "ru-clipping of",
  "ru-initialism of",
  "ru-participle of",
  "sa-desiderative of", "desiderative of", "sa-desi",
  "sa-frequentative of", "sa-inten", "sa-freq",
  "sa-root form of",
  "sce-verb form of",
  "sco-past of",
  "sco-simple past of",
  "sga-verbnec of",
  "sino-vietnamese reading of",
  "ug-uly of",
  "ug-uyy of",
  "yi-inflected form of",
  "za-sawndip form of",
]

language_specific_manual_form_of_templates = [
  "han tu form of",
  "ja-form of",
  "jyutping reading of",
  "pinyin reading of",
  "la-praenominal abbreviation of",
]

form_of_templates = [
  ("abbreviation of", {"aliases": ["abbr of"], "withcap": True, "withdot": True, "cat": "abbreviations"}),
  ("abstract noun of", {"withfrom": True, "cat": "abstract nouns"}),
  ("accusative of", {}),
  ("accusative singular of", {}),
  ("acronym of", {"withcap": True, "withdot": True, "cat": "acronyms"}),
  ("active participle of", {}),
  ("adj form of", {"withtags": True}),
  ("agent noun of", {"cat": "agent nouns"}),
  ("akkadogram of", {"cat": "agent nouns"}),
  ("alternative case form of", {"aliases": ["alt case"], "withcap": True}),
  ("alternative form of", {"aliases": ["alt form", "altform"], "deprecated-aliases": ["alt form of"], "withcap": True, "withfrom": True}),
  ("alternative plural of", {"comment": "has built-in non-suppressable period"}),
  ("alternative reconstruction of", {}),
  ("alternative spelling of", {"aliases": ["alt sp"], "withcap": True, "withfrom": True}),
  ("alternative typography of", {}),
  ("aphetic form of", {"withcap": True, "cat": "aphetic forms"}),
  ("apocopic form of", {"cat": "apocopic forms"}),
  ("archaic form of", {"withcap": True, "withdot": True, "cat": "archaic forms"}),
  ("archaic inflection of", {"withcap": True, "withdot": True, "withtags": True, "cat": "archaic forms"}),
  ("archaic spelling of", {"withcap": True, "withdot": True, "cat": "archaic forms"}),
  ("aspirate mutation of", {"withcap": True, "withdot": True, "cat": "aspirate-mutation forms"}),
  ("attributive form of", {}),
  # FIXME: Fix Rua revert
  ("augmentative of", {"withcap": True, "withPOS": True, "cat": "augmentative {{pluralize|{{{p|{{{POS|noun}}}}}}}}"}),
  ("broad form of", {"withfrom": True}),
  ("causative of", {"withPOS": True, "cat": "causative {{pluralize|{{{p|{{{POS|verb}}}}}}}}"}),
  ("clipping of", {"aliases": ["clip of"], "withcap": True, "withdot": True, "cat": "clippings"}),
  ("combining form of", {"cat": "combining forms"}),
  ("comparative of", {"withPOS": True, "cat": "comparative {{pluralize|{{{p|{{{POS|adjective}}}}}}}}"}),
  ("contraction of", {"withcap": True, "withdot": True, "cat": "contractions"}),
  ("conversion of", {"withcap": True, "withdot": True, "cat": "conversions"}),
  ("dated form of", {"withcap": True, "withdot": True, "cat": "dated forms"}),
  ("dated spelling of", {"withcap": True, "withdot": True, "cat": "dated forms"}),
  ("dative of", {}),
  ("dative plural of", {}),
  ("dative singular of", {}),
  ("definite plural of", {"deprecated-aliases": ["plural definite of"]}),
  ("definite singular of", {}),
  ("deliberate misspelling of", {"withcap": True, "withdot": True, "cat": "intentional misspellings"}),
  ("desiderative of", {"cat": "desiderative verbs"}),
  # FIXME: Fix Rua revert
  ("diminutive of", {"aliases": ["dim of"], "withPOS": True, "cat": "diminutive {{pluralize|{{{p|{{{POS|noun}}}}}}}}"}),
  ("dual of", {}),
  ("eclipsis of", {"withcap": True, "withdot": True, "cat": "eclipsed forms"}),
  ("eggcorn of", {"withcap": True, "withdot": True, "cat": "eggcorns"}),
  ("elative of", {}),
  # FIXME: Who changed to withdot and withfrom?
  ("ellipsis of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "ellipses"}),
  ("elongated form of", {"withcap": True, "withdot": True, "cat": "elongated forms"}),
  ("endearing diminutive of", {"withPOS": True, "cat": ["diminutive {{pluralize|{{{p|{{{POS|noun}}}}}}}}", "endearing terms"]}),
  ("endearing form of", {"cat": "endearing terms"}),
  ("equative of", {"withPOS": True, "cat": "equative {{pluralize|{{{p|{{{POS|adjective}}}}}}}}"}),
  ("euphemistic form of", {"withcap": True, "withdot": True, "cat": "euphemisms"}),
  ("euphemistic spelling of", {"withcap": True, "withdot": True, "cat": "euphemisms"}),
  ("eye dialect of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "eye dialect"}),
  ("female equivalent of", {"withPOS": True, "cat": "female equivalent {{pluralize|{{{p|{{{POS|noun}}}}}}}}"}),
  ("feminine of", {}),
  ("feminine plural of", {}),
  ("feminine plural past participle of", {"cat": "past participle forms"}),
  ("feminine singular of", {}),
  ("feminine singular past participle of", {"cat": "past participle forms"}),
  ("form of", {}),
  ("former name of", {"withcap": True, "withdot": True}),
  ("frequentative of", {"withPOS": True, "cat": "frequentative {{pluralize|{{{p|{{{POS|verb}}}}}}}}"}),
  ("future participle of", {}),
  ("genitive of", {}),
  ("genitive plural of", {}),
  ("genitive singular of", {}),
  ("gerund of", {"cat": "gerunds"}),
  ("h-prothesis of", {"cat": "h-prothesized forms"}),
  ("hard mutation of", {"withcap": True, "withdot": True, "cat": "hard-mutation forms"}),
  ("harmonic variant of", {}),
  ("honorific alternative case form of", {"aliases": ["honor alt case"], "withcap": True}), # FIXME, rewrite with withdot=
  ("imperative of", {}),
  ("imperfective form of", {"cat": "imperfective {{pluralize|{{{p|{{{POS|verb}}}}}}}}", "withPOS": True}),
  ("indefinite plural of", {"deprecated-aliases": ["plural indefinite of"]}),
  ("inflection of", {"aliases": ["infl of"], "deprecated-aliases": ["conjugation of"], "withPOS": True}),
  ("informal form of", {"withcap": True, "withdot": True, "cat": "informal forms"}),
  ("informal spelling of", {"withcap": True, "withdot": True, "cat": "informal forms"}),
  ("initialism of", {"aliases": ["init of"], "withcap": True, "withdot": True, "cat": "initialisms"}),
  ("iterative of", {"withPOS": True, "cat": "iterative {{pluralize|{{{p|{{{POS|verb}}}}}}}}"}),
  ("lenition of", {"withcap": True, "withdot": True, "cat": "lenited forms"}),
  ("masculine noun of", {}),
  ("masculine of", {}),
  ("masculine plural of", {}),
  ("masculine plural past participle of", {"cat": "past participle forms"}),
  ("medieval spelling of", {"cat": "medieval spellings"}),
  ("men's speech form of", {"cat": "men's speech terms"}),
  ("misconstruction of", {"withcap": True, "cat": "misconstructions"}),
  ("misromanization of", {"withcap": True, "withdot": True, "cat": "misromanizations"}),
  ("misspelling of", {"aliases": ["missp"], "withcap": True, "withdot": True, "cat": "misspellings"}),
  ("mixed mutation of", {"withcap": True, "withdot": True, "cat": "mixed-mutation forms"}),
  ("nasal mutation of", {"withcap": True, "withdot": True, "cat": "nasal-mutation forms"}),
  ("negative of", {"withPOS": True, "cat": "iterative {{pluralize|{{{p|{{{POS|verb}}}}}}}}"}),
  ("neuter plural of", {}),
  ("neuter singular of", {}),
  ("neuter singular past participle of", {"cat": "past participle forms"}),
  ("nomen sacrum form of", {"withcap": True, "withdot": True, "cat": "nomina sacra"}),
  ("nominalization of", {}),
  ("nominative plural of", {}),
  ("nonstandard form of", {"withcap": True, "withdot": True, "cat": "nonstandard forms"}),
  ("nonstandard spelling of", {"withcap": True, "withdot": True, "cat": "nonstandard forms"}),
  ("noun form of", {"withtags": True}),
  ("nuqtaless form of", {"cat": "nuqtaless forms"}),
  ("obsolete form of", {"withcap": True, "withdot": True, "cat": "obsolete forms"}),
  ("obsolete spelling of", {"aliases": ["obs sp"], "withcap": True, "cat": "obsolete forms"}),
  ("obsolete typography of", {"cat": "obsolete forms"}),
  ("participle of", {"cat": "participles", "withtags": True}),
  ("passive of", {"cat": "verb passive forms"}),
  ("passive participle of", {}),
  ("passive past tense of", {}),
  ("past active participle of", {"cat": "past active participles"}),
  ("past participle form of", {"cat": "past participle forms"}),
  ("past participle of", {"cat": "past participles"}),
  ("past passive participle of", {"cat": "past passive participles"}),
  ("past tense of", {}),
  ("pejorative of", {"withcap": True, "cat": "derogatory terms"}),
  ("perfect participle of", {"cat": "perfect participles"}),
  ("perfective form of", {"cat": "perfective {{pluralize|{{{p|{{{POS|verb}}}}}}}}", "withPOS": True}),
  # FIXME: pi-nr-inflection of: remove from category
  ("plural of", {"deprecated-aliases": ["plural form of"]}),
  ("present active participle of", {"cat": "present active participles"}),
  ("present participle of", {"cat": "present participles"}),
  ("present tense of", {}),
  ("pronunciation spelling of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "pronunciation spellings"}),
  ("pronunciation variant of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "pronunciation variants"}),
  ("rare form of", {"withcap": True, "withdot": True, "cat": "rare forms"}),
  ("rare spelling of", {"aliases": ["rare sp"], "withcap": True, "withdot": True, "cat": "rare forms"}),
  ("reflexive of", {"withPOS": True, "cat": "reflexive {{pluralize|{{{p|{{{POS|verb}}}}}}}}"}),
  ("rfform", {}),
  ("romanization of", {"withcap": True}),
  ("short for", {"withcap": True, "withdot": True, "cat": "short forms"}),
  ("singular of", {}),
  ("singulative of", {}),
  ("slender form of", {"withfrom": True}),
  ("soft mutation of", {"withcap": True, "withdot": True, "cat": "soft-mutation forms"}),
  ("spelling of", {"cat": "{{#if:{{{lang|}}}|{{{1}}} forms|{{{2}}} forms}}"}),
  ("standard form of", {"withcap": True, "withdot": True}),
  ("standard spelling of", {"aliases": ["stand sp"], "withcap": True, "withdot": True}),
  ("superlative attributive of", {}),
  ("superlative of", {"withPOS": True, "cat": "superlative {{pluralize|{{{p|{{{POS|adjective}}}}}}}}"}),
  ("superlative predicative of", {}),
  ("superseded spelling of", {"aliases": ["sup sp"], "withcap": True, "withdot": True, "cat": "superseded forms"}),
  ("supine of", {}),
  ("syncopic form of", {"cat": "syncopic forms"}),
  ("synonym of", {"aliases": ["syn of"], "withcap": True}),
  ("t-prothesis of", {"cat": "t-prothesized forms"}),
  ("uncommon form of", {"withcap": True, "withdot": True, "cat": "uncommon forms"}),
  ("uncommon spelling of", {"withcap": True, "withdot": True, "cat": "uncommon forms"}),
  ("verbal noun of", {"cat": "verbal nouns"}),
  ("verb form of", {"withtags": True}),
  ("vocative plural of", {}),
  ("vocative singular of", {}),
]

form_of_template_map = dict(form_of_templates)

misc_definition_line_templates = [
  "native or resident of",
]

if __name__ == "__main__":
  for template, spec in form_of_templates:
    msg("Template:%s" % template)
