Skip to content

关系链语法

relationship-ts 内部使用关系链符号来表示亲属关系。理解这些符号有助于你自定义方言模式或调试问题。

基础符号

符号含义符号含义
f父亲m母亲
h丈夫w妻子
s儿子d女儿
xb兄弟xs姐妹
ob哥哥lb弟弟
os姐姐ls妹妹

修饰符

符号含义
1男性
0女性
&o年长
&l年幼
&数字排行(如 &2 表示老二)

关系链格式

关系链使用逗号分隔:

f,m,xb

表示"父亲的母亲的兄弟"(舅外公)。

示例

关系链含义常见称谓
f父亲爸爸
m母亲妈妈
f,f父亲的父亲爷爷
f,m父亲的母亲奶奶
m,f母亲的父亲姥爷/外公
m,m母亲的母亲姥姥/外婆
f,xb父亲的兄弟伯伯/叔叔
f,xs父亲的姐妹姑姑
m,xb母亲的兄弟舅舅
m,xs母亲的姐妹姨妈
xb,w兄弟的妻子嫂子/弟媳
xs,h姐妹的丈夫姐夫/妹夫

带修饰符的关系链

修饰符用于更精确地描述关系:

性别修饰符

s,1    // 儿子(男性)
s,0    // 女儿(女性)

年龄修饰符

xb,o   // 哥哥(年长)
xb,l   // 弟弟(年幼)
s&o    // 儿子(年长)
s&l    // 儿子(年幼)

排行修饰符

s&2    // 二儿子
s&3    // 三儿子

自定义方言示例

了解关系链语法后,你可以创建自定义的方言模式:

ts
import relationship from 'relationship-ts';

// 自定义北方方言
relationship.setMode('northern', {
  'm,f': ['姥爷'],
  'm,m': ['姥姥'],
  'f,f': ['爷爷'],
  'f,m': ['奶奶'],
});

// 自定义粤语方言
relationship.setMode('cantonese', {
  'f': ['老豆'],
  'm': ['妈咪'],
  'f,f': ['阿公'],
  'f,m': ['阿嫲'],
});

// 自定义带修饰符的关系
relationship.setMode('custom', {
  'f,xb,o': ['大伯'],
  'f,xb,l': ['叔叔'],
  'm,xb,o': ['大舅'],
  'm,xb,l': ['舅舅'],
});

完整符号参考

家庭成员

符号中文
f父亲
m母亲
h丈夫
w妻子
s儿子
d女儿

兄弟姐妹

符号中文
xb兄弟
xs姐妹
ob哥哥
lb弟弟
os姐姐
ls妹妹

修饰符

符号中文
&o年长
&l年幼
&1, &2, ...排行
,0女性
,1男性

下一步

基于 MIT 许可发布