def meus(): items = [] # 所有形容詞 items += latin_adj.decline_adj_type1(u'meus', u'mea', \ {'ja':'私の', 'base':u'meus', 'desc':'所有形容詞'}, False) items += latin_adj.decline_adj_type1(u'noster', u'nostra', \ {'ja':'私たちの', 'base':u'noster', 'desc':'所有形容詞'}, False) items += latin_adj.decline_adj_type1(u'tuus', u'tua', \ {'ja':'あなたの', 'base':u'tuus', 'desc':'所有形容詞'}, False) items += latin_adj.decline_adj_type1(u'vester', u'vestra', \ {'ja':'あなたたちの', 'base':u'vester', 'desc':'所有形容詞'}, False) items = util.remove_matched_items(items, {'surface':u'mee'}) items += [{'case':'Voc', 'number':'sg', 'gender':'m', 'base':u'meus', 'surface':u'mī', 'ja':'私の', 'desc':'所有形容詞'}] return util.aggregate_cases(items)
def conjugate_participle(pres_stem, supinum, tags={}): items = [] jas = tags.get('ja', '').split(',') javs = map(JaVerb, jas) def forms(flag): return ','.join([jav.form(flag) for jav in javs]) # 現在分詞 # prūdēns型; 〜しつつある nom_sg_m = pres_stem + u'ns' if pres_stem[-1] == u'ā': gen_sg = pres_stem[:-1] + u'antis' elif pres_stem == u'iē': gen_sg = u'euntis' else: # pres_stem[-1] = 'ē' gen_sg = pres_stem[:-1] + u'entis' items += latin_adj.decline_adj_type2(nom_sg_m, gen_sg, '-', util.aggregate_dicts(tags, {'pos':'participle', 'tense':'present', 'ja':forms(Verb.PARTICIPLE_PRESENT)})) # 未来分詞 if supinum == 'es##': nom_sg_m = supinum[:-2] + u'urus' else: nom_sg_m = supinum[:-2] + u'ūrus' nom_sg_f = nom_sg_m[:-2] + u'a' items += latin_adj.decline_adj_type1(nom_sg_m, nom_sg_f, util.aggregate_dicts(tags, {'pos':'participle', 'tense':'future', 'ja':forms(Verb.PARTICIPLE_FUTURE)})) # 完了分詞 nom_sg_m = supinum[:-2] + u'us' nom_sg_f = nom_sg_m[:-2] + u'a' items += latin_adj.decline_adj_type1(nom_sg_m, nom_sg_f, util.aggregate_dicts(tags, {'pos':'participle', 'tense':'past', 'ja':forms(Verb.PARTICIPLE_PERFECT)})) return util.aggregate_cases(items)