Пример #1
0
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)
Пример #2
0
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)