我正在创建一个语言应用程序,目前只有中文和西班牙语。
目前,我已经创建了自己的字典,只是简单地加载为JSON而不存储在DB中,但是我已经找到了完整的可下载字典,比如CEDICT for Chinese来为我做定义。也就是说,这个文件有115k行长,每行有6列。
我还需要做西班牙语,然后我计划包括所有其他语言。
笔记:
MySQL数据库
拉韦尔ORM(PHP)
也就是说,存储这些数据的最佳方法是什么?
我假设是单独的表,dictionary_zhdictionary_es,但我也可以将每个字典存储在字典表中,并为locale添加一个列,并基于该列进行查询。This SO answer声明对于一个表来说,一百万条记录不是“太多”可以处理的,它只是定义了如何索引表。
顺便问一下,有人推荐一本好的可下载的西班牙语-英语词典吗?
注意:我正在下载字典,并将其剪切为可以加载到CSV中的内容

Traditional Simplified  Pinyin  Meaning       Level Quest
佟               佟       Tong2   surname Tong    1     2
...

我只是通过传递识别字符来翻译它,在本例中是,并获取它的含义。

最佳答案

我会将每个字典存储在一个单独的表中,以根据语言环境抽象出如何获取单词的定义,而不需要知道字典(在下图中映射为Dictionary类型)如何操作其翻译。当您可能有不在数据库中的字典(例如通过API翻译的字典)时,这非常有用。
php - 在数据库中存储语言词典-LMLPHP
对于每种类型的translate()(在您的情况下DictionaryChineseDictionary)来说,方法SpanishDictionary的实现是不同的。
从数据管理的角度来看,这种方法的另一个优点是,当字典的新版本发布时,您不必对数据进行大量操作,这使得维护成本很低。

10-04 10:55
查看更多