我不知道这里是否有人会说(或写)“死语言”拉丁语。但也许你甚至可以在不懂这门语言的情况下帮助我......
我有一个单词数据库(包括名词和动词)。现在我想生成这些名词和动词的所有不同(屈折)形式。这样做的最佳策略是什么?
由于拉丁语是一种高度屈折的语言,因此有:
a) the declension of nouns
b) the conjugation of verbs
有关动词变位(“mandare”)的示例,请参阅此翻译页面:conjugation
我不想手动输入所有单词的所有这些表格。那么如何自动生成它们呢?最好的方法是什么?
非常感谢您提前!
编辑(可能的解决方案?):
我现在发现有一个程序叫做“威廉·惠特克的话”。它也为拉丁词创造了屈折变化,所以它正是我想做的。
Wikipedia 说这个程序是这样工作的:“单词使用一组基于自然前置、中和后缀、变格和共轭的规则来确定一个词条的可能性。作为这种分析结构的方法的结果词,即使程序找到了给定词的可能含义,也不能保证这些词曾经在拉丁文学或演讲中使用过。”
该程序的源代码也可用 here 。但我真的不明白这是如何工作的。你能帮助我吗?也许这将是我问题的解决方案......
最佳答案
您可以执行类似于 hunspell 字典格式的操作(请参阅 http://www.manpagez.com/man/4/hunspell/ )
您定义了 2 个表。一个包含单词的词根(永远不会改变的部分),另一个包含对给定类的修改。对于给定的类,对于每个变格(或变位),它告诉在词根的末尾(或开头)添加哪些字符。它甚至可以指定替换给定数量的字符。现在,要获得一个特定变格的单词,您需要获取词根,应用它所属类的转换,瞧!
例如,对于 mandare,根将是 mand ,并且该类将包含后缀,如 o 、 as 、 ate 、 表示事件的 ...