本帖最后由 Lne 于 2019-11-14 22:17 编辑
个人感觉"predicate"还是翻译成"断言"更好一些,因为"谓词"总是让人联想到(人类的)语言语法(比如SVO)而不是数据包
不知道各位意见如何
(更新:刚刚想到的另一个译法:"判据")

知乎上搜到的讨论
个人感觉"predicate"还是翻译成"断言"更好一些,因为"谓词"总是让人联想到(人类的)语言语法(比如SVO)而不是数据包
不知道各位意见如何

知乎上搜到的讨论
这本来就是语言语法啊,你说mcfunction不是语言?要不CB圈内部打一架统一下口径?
全国科学技术名词审定委员会已经钦定了:
http://www.termonline.cn/list.htm?k=predicate
全国科学技术名词审定委员会已经钦定了:
http://www.termonline.cn/list.htm?k=predicate
似乎crowdin中的predicate和数据包中的不一样。可以有不同说法。
这东西明明就是战利品表条件,Mojang 只是搞个挂羊头卖狗肉起个好听的名字而已。
https://minecraft.gamepedia.com/Loot_table#Conditions 原版 1.15 新战利品表条件里面就有 reference 调用/指向条件(调用/指向一个从 predicates 里面加载的战利品表)
战利品表条件是干什么的?是收集一些环境信息(比如实体、方块等属性)然后断定战利品表里面的一个战利品池是否应该被调用的。
而现在用在指令选择器和 /execute if predicate 里面,照样是判定,但是判定的结果变成影响选择器是否选择一个实体/是否继续 execute了。
总之这就是一种判定类的东西,“判断”“断定”肯定比“谓词”正确。
@森林蝙蝠 希望你下次决定前先看看源代码。
不过具体最终结果我也不知道,毕竟我不知道翻译的目的是和 fabric yarn 一样要正确合理的名称还是靠近官方(Mojang)名称的名称(看 Mojang 的尿性就知道官方名称实际上很不靠谱,比如所谓的 resource location 官方还起了 namespaced string 和 resource identifier 两个名字 https://minecraft.gamepedia.com/Namespaced_ID)
https://minecraft.gamepedia.com/Loot_table#Conditions 原版 1.15 新战利品表条件里面就有 reference 调用/指向条件(调用/指向一个从 predicates 里面加载的战利品表)
战利品表条件是干什么的?是收集一些环境信息(比如实体、方块等属性)然后断定战利品表里面的一个战利品池是否应该被调用的。
而现在用在指令选择器和 /execute if predicate 里面,照样是判定,但是判定的结果变成影响选择器是否选择一个实体/是否继续 execute了。
总之这就是一种判定类的东西,“判断”“断定”肯定比“谓词”正确。
@森林蝙蝠 希望你下次决定前先看看源代码。
不过具体最终结果我也不知道,毕竟我不知道翻译的目的是和 fabric yarn 一样要正确合理的名称还是靠近官方(Mojang)名称的名称(看 Mojang 的尿性就知道官方名称实际上很不靠谱,比如所谓的 resource location 官方还起了 namespaced string 和 resource identifier 两个名字 https://minecraft.gamepedia.com/Namespaced_ID)
又蜂一个。这当然不是谓词。
非说它是谓词,请问它的输入是什么?你说某个条件里面的 test 函数是个谓词我还能接受,你非说数据包里的 predicate 是谓词我可完全不同意。
同意楼主,「断言」不论是在含义上还是含义上都比「谓词」合适。不过我其实认为「皮迪凯特」是一个更佳的译名。
非说它是谓词,请问它的输入是什么?你说某个条件里面的 test 函数是个谓词我还能接受,你非说数据包里的 predicate 是谓词我可完全不同意。
同意楼主,「断言」不论是在含义上还是含义上都比「谓词」合适。不过我其实认为「皮迪凯特」是一个更佳的译名。
本帖最后由 森林蝙蝠 于 2019-11-14 16:52 编辑
老实说,编程语言里的predicate也是一种判定啊,比如stream.filter(predicate),如果你认同mcfunction里的东西叫断言,是不是也要给Java里的东西翻个案?
yarn的东西不叫“正确”,只能叫“尽力而为的还原”,mojang的才叫“正确”,mojang说这东西叫predicate,那自然要从predicate的角度,采取标准认为这是“谓词”,而不是靠一个非官方的命名,反过来批判官方的命名,然后从自己的认知去否定官方。
说句难听的,mojang就是管这玩意叫trionyx sinensis egg,作为译者也只能老老实实地叫“王八蛋”,如果实在是不满意,可以跟mojang提意见嘛,毕竟事在人为。
liach 发表于 2019-11-14 16:24
这东西明明就是战利品表条件,Mojang 只是搞个挂羊头卖狗肉起个好听的名字而已。
https://minecraft.gamep ...
老实说,编程语言里的predicate也是一种判定啊,比如stream.filter(predicate),如果你认同mcfunction里的东西叫断言,是不是也要给Java里的东西翻个案?
yarn的东西不叫“正确”,只能叫“尽力而为的还原”,mojang的才叫“正确”,mojang说这东西叫predicate,那自然要从predicate的角度,采取标准认为这是“谓词”,而不是靠一个非官方的命名,反过来批判官方的命名,然后从自己的认知去否定官方。
说句难听的,mojang就是管这玩意叫trionyx sinensis egg,作为译者也只能老老实实地叫“王八蛋”,如果实在是不满意,可以跟mojang提意见嘛,毕竟事在人为。