Github上第一个开源的中文取名项目(The first chinese name create tool in github
)
[TOR]
本程序适用于单个姓或双个姓, 起2个名的情况. (如:独孤, 李张, 张, 王)
一个好名字伴随人的一生, FATE让你取一个好名字.
特定版本会单独出release,以后每次提交都会生成二进制文件的pre_release提供下载.
最新版使用Sqlite3数据库,不在需要导入数据库文件了. 直接下载下面的Sqlite3数据库到本地就能使用.
【v3.5.5下载】 【Sqlite3数据库】
【最新自编译版本】 【旧版SQL数据库文件:20200331】
编写运行go代码,接口调用生成姓名
// 使用前请导入database的数据(测试字库已基本完善, 保险起见生成姓名后可以去一些测名网站验证下)
// 加载配置(具体参数参考example/create_a_name)
cfg := config.Default()
// 生日:
born := chronos.New("2020/01/23 11:31")
// 姓氏:
lastName := "张"
// 第一参数:姓氏
// 第二参数:生日
f := fate.NewFate(lastName, born.Solar().Time(), fate.ConfigOption(cfg))
e := f.MakeName(context.Background())
if e != nil {
t.Fatal(e)
}
使用预编译二进制文件生成姓名
#没有安装go环境的请下载master下的zoneinfo文件和fate二进制文件放一起
#生成配置文件, 可修改数据库, 及一些基本参数
fate.exe init
#输出姓名
fate.exe name -l 张 -b "2020/02/06 15:04"
针对没有安装Go环境的用户,使用二进制文件在运行前务必把zoneinfo.zip下载并和二进制文件放在一起(不要解压),不然会报错.
zoneinfo文件
最新编译的版本使用了Go新版编译, 已经不再需要手动下载zoneinfo.zip
文件了.
报错: count total error:The system cannot find the path specified
zoneinfo缺失导致的时间转换失败问题(一般发生在windows环境下),
下载上面的zoneinfo文件并放到执行文件相同的目录下即可解决.
最新版会检查根目录,已无需重新init.
地址:https://github.com/babyname/fate/blob/master/zoneinfo.zip
如何导入数据(Mysql)
//链接到mysql数据库
mysql -u用户名 -p密码
//创建数据库
CREATE schema `fate` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
//使用fate数据库
use fate;
//导入数据库文件
source /path/to/sql/file;
PS:建议使用Navicat等工具导入,导入速度较快
数据库配置, 替换config.json中相关部分
"database": {
"host": "127.0.0.1",
"port": "3306",
"user": "root",
"pwd": "111111",
"name": "fate",
"max_idle_con": 0,
"max_open_con": 0,
"driver": "mysql",
"file": "",
"dsn": "",
"show_sql": false,
"show_exec_time": false
},
"database": {
"name": "fate",
"driver": "sqlite3",
},
第一版: 大部分是手动工作,现已废弃
第二版: 可自动生成名字字符 + 手工筛选
第三版(开发中):
第四版(计划中): 优化算法,调整接口,数据库,完善文档以及修复一些bug.
第七版(计划中): 通过AI,大数据匹配算法,取出更好更佳的名字.
FATE使用了以下算法,查询字典库自动生成匹配规则的名字. 按照每种算法的准确度,使用程度也有高有低,不会一概而否,也不会偏向单独某种算法. 不会按照个人喜好做出选择.
目前Fate以六大派为基准综合计算生成名字:
目前使用到的一些库:
全国及各省重名查询网址汇总
网友提供:https://zhuanlan.zhihu.com/p/89654568
(请谨慎访问非本站点地址)
本仓库地址
在过去的几年中虽然Fate经过了好几个版本的改进, 但是仍然有许多不足之处. 包括生成的名字太多不容易筛选, 有些用户遇到了一些和Go相关的问题, 一些用户不知道如何导入数据库等. 这些问题都只能慢慢想办法去解决.
还有些用户因为字典库生成的名字中有些字的寓意不好, 你可以手动删掉你不喜欢字, 却来恶意中伤作者. 我想说的是这个字也不是我造的, 你如果有问题可以去找造那个字的人. 如果觉得这个工具不好你可以不用.
最近一年中因为作者个人原因导致Fate更新缓慢, 在这里向大家道个歉. 大家也知道现在国内的IT环境, 毕竟我也要生活, 生活所迫没有太多时间放在业余的项目上. 我只能尽量抽出时间来完善Fate的规则和代码. 在这里同样要感谢支持我的朋友们, 大家的出发点我相信是一样的. 用这个工具目的都是为了给孩子取一个好名字.