{
  "entity_model_features.config.animate_once": "为每个实体设置一次模型动画",
  "entity_model_features.config.animate_once.tooltip": "默认情况下启用。\n此设置使实体模型对每个渲染的实体仅进行一次动画处理。\n这在游戏中是完全正常的，但是：\n物品栏屏幕中可见的生物可能会奇怪地闪烁；\n特别是如果它代表您已经可以看到的世界中的真实生物。",
  "entity_model_features.config.debug": "调试",
  "entity_model_features.config.debug.tooltip": "调试选项，有助于解决一些问题。",
  "entity_model_features.config.debug_hover": "仅在悬停时调试渲染",
  "entity_model_features.config.debug_hover.tooltip": "使上述渲染设置仅适用于客户端悬停的实体。\n即您直接查看的实体。",
  "entity_model_features.config.debug_right_click": "右键点击实体时显示 EMF 调试数据",
  "entity_model_features.config.debug_right_click.tooltip": "如果启用，当实体被右键点击时，\n会将 EMF 调试信息打印到日志和聊天记录中。",
  "entity_model_features.config.double_chest_fix": "修复大箱子模型日志错误",
  "entity_model_features.config.double_chest_fix.tooltip": "因为大箱子模型“chest_large.jem”必须在代码中分成两个半模型，所以关于缺失的左/右半部分可能会出现过多的日志垃圾信息。如果启用此选项，则可以解决该问题，并且还可以在一定程度上修复涉及箱子另一侧的动画。我们仍然强烈建议您将左右半动画分开。这是一个选项，因为影响箱子模型的其他模组可能会出现此问题。",
  "entity_model_features.config.ebe_config_modify": "Enhanced Block Entities (EBE) 模组补丁",
  "entity_model_features.config.ebe_config_modify.tooltip": "如果启用，这将允许 EMF 修改 EBE 模组的设置，\n以便在特定方块实体实际加载了自定义 EMF 模型时\n停用该方块实体的 EBE。\nEMF 之后无法自动重新启用这些设置，\n如果需要，您必须手动执行。",
  "entity_model_features.config.ebe_warn.1": "一些 EBE 模组选项已被 EMF 强制停用",
  "entity_model_features.config.ebe_warn.2": "发生这种情况是因为资源包正在加载该方块实体的自定义模型",
  "entity_model_features.config.ebe_warn.3": "目前停用以下选项：",
  "entity_model_features.config.ebe_warn.4": "这可以在 EMF 的模型设置中更改",
  "entity_model_features.config.force_models": "尽量防止 EMF 模型被覆盖",
  "entity_model_features.config.force_models.tooltip": "将尝试强制实体渲染器使用 EMF\n设置的模型，这可以覆盖其他模组更改的原版模型。\n这不适用于所有模组。",
  "entity_model_features.config.function_explanation.abs": "abs(x)\n获取数字的绝对值。将负数变为正数。",
  "entity_model_features.config.function_explanation.acos": "acos(x)\n获取 x 的反余弦。",
  "entity_model_features.config.function_explanation.asin": "asin(x)\n获取 x 的反正弦。",
  "entity_model_features.config.function_explanation.atan": "atan(x)\n获取 x 的反正切。",
  "entity_model_features.config.function_explanation.atan2": "atan2(y, x)\n获取正 x 轴与点 (x, y) 之间的角度。",
  "entity_model_features.config.function_explanation.between": "between(x, min, max)\n检查值是否介于最小值和最大值之间。",
  "entity_model_features.config.function_explanation.catch": "catch(x, c, id)\n将会返回 x，但是如果 x 是 NaN 或导致其他动画错误，则会改为返回 c。\nid 是可选的，如果添加它，catch 函数将会使用此 ID 将使用 c 的原因输出到游戏日志中。\n主要用于动画调试，如果有可能触发这类情况，您应该真正修正它。",
  "entity_model_features.config.function_explanation.catmullrom": "catmullrom(k, x, y, z, w)\n使用 Catmull-Rom 样条函数和控制点 z 和 w 在 x 和 y 之间插值。",
  "entity_model_features.config.function_explanation.ceil": "ceil(x)\n将 x 向上舍入到最接近的整数。",
  "entity_model_features.config.function_explanation.clamp": "clamp(x, min, max)\n将数字限制在最小值和最大值之间。",
  "entity_model_features.config.function_explanation.cos": "cos(x)\n获取 x 的余弦。",
  "entity_model_features.config.function_explanation.cubicbezier": "cubicbezier(k, x, y, z, w)\n使用三次贝塞尔曲线样条函数和控制点 z 和 w 在 x 和 y 之间插值。",
  "entity_model_features.config.function_explanation.degdiff": "degdiff(x, y)\n返回两个角度值 x 和 y 之间的最短角度差。",
  "entity_model_features.config.function_explanation.easeinback": "easeinback(k, x, y)\n使用 ease in back 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinbounce": "easeinbounce(k, x, y)\n使用 ease in bounce 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeincirc": "easeincirc(k, x, y)\n使用 ease in circ 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeincubic": "easeincubic(k, x, y)\n使用 ease in cubic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinelastic": "easeinelastic(k, x, y)\n使用 ease in elastic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinexpo": "easeinexpo(k, x, y)\n使用 ease in expo 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutback": "easeinoutback(k, x, y)\n使用 ease in 和 ease out back 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutbounce": "easeinoutbounce(k, x, y)\n使用 ease in 和 ease out bounce 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutcirc": "easeinoutcirc(k, x, y)\n使用 ease in 和 ease out circ 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutcubic": "easeinoutcubic(k, x, y)\n使用 ease in 和 ease out cubic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutelastic": "easeinoutelastic(k, x, y)\n使用 ease in 和 ease out elastic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutexpo": "easeinoutexpo(k, x, y)\n使用 ease in 和 ease out expo 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutquad": "easeinoutquad(k, x, y)\n使用 ease in 和 ease out quad 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutquart": "easeinoutquart(k, x, y)\n使用 ease in 和 ease out quart 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutquint": "easeinoutquint(k, x, y)\n使用 ease in 和 ease out quint 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinoutsine": "easeinoutsine(k, x, y)\n使用 ease in 和 ease out sine 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinquad": "easeinquad(k, x, y)\n使用 ease in quad 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinquart": "easeinquart(k, x, y)\n使用 ease in quart 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinquint": "easeinquint(k, x, y)\n使用 ease in quint 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeinsine": "easeinsine(k, x, y)\n使用 ease in sine 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutback": "easeoutback(k, x, y)\n使用 ease out back 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutbounce": "easeoutbounce(k, x, y)\n使用 ease out bounce 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutcirc": "easeoutcirc(k, x, y)\n使用 ease out circ 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutcubic": "easeoutcubic(k, x, y)\n使用 ease out cubic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutelastic": "easeoutelastic(k, x, y)\n使用 ease out elastic 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutexpo": "easeoutexpo(k, x, y)\n使用 ease out expo 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutquad": "easeoutquad(k, x, y)\n使用 ease out quad 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutquart": "easeoutquart(k, x, y)\n使用 ease out quart 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutquint": "easeoutquint(k, x, y)\n使用 ease out quint 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.easeoutsine": "easeoutsine(k, x, y)\n使用 ease out sine 函数在 x 和 y 之间插值。\n\n范例：https://easings.net/",
  "entity_model_features.config.function_explanation.equals": "equals(x, y, epsilon)\n比较两个浮点值，带有误差范围。",
  "entity_model_features.config.function_explanation.exp": "exp(x)\n获取 e（欧拉常数）的 x 次方。",
  "entity_model_features.config.function_explanation.floor": "floor(x)\n将 x 向下舍入到最接近的整数。",
  "entity_model_features.config.function_explanation.fmod": "fmod(x, y)\n类似于 % 运算符，但返回的值始终与除数具有相同的符号。",
  "entity_model_features.config.function_explanation.frac": "frac(x)\n获取 x 的小数部分（小数点后的内容）。",
  "entity_model_features.config.function_explanation.hermite": "hermite(k, x, y, z, w)\n使用 Hermite 样条函数和控制点 z 和 w 在 x 和 y 之间插值。",
  "entity_model_features.config.function_explanation.if": "if(cond, val, [cond2, val2, ...], val_else)\n根据一个或多个条件选择一个值。",
  "entity_model_features.config.function_explanation.ifb": "if(cond, val, [cond2, val2, ...], val_else)\n根据一个或多个条件选择一个值。\n仅返回布尔值。",
  "entity_model_features.config.function_explanation.in": "in(x, val1, val2, ...)\n检查值是否等于多个值中的一个。",
  "entity_model_features.config.function_explanation.keyframe": "keyframe(k, a, b, c,...)\n根据当前的帧「k」和关键帧在值之间插值，「a」是「k=0」，「b」是「k=1」，「c」是「k=2」，依此类推。",
  "entity_model_features.config.function_explanation.keyframeloop": "keyframeloop(k, a, b, c,...)\n根据当前的帧「k」和关键帧在值之间插值，「a」是「k=0」，「b」是「k=1」，「c」是「k=2」，依此类推，但当「k」大于关键帧数量时，动画会循环回帧「a」。",
  "entity_model_features.config.function_explanation.lerp": "lerp(k, x, y)\n在 X 和 Y 之间进行线性插值。",
  "entity_model_features.config.function_explanation.log": "log(x)\n获取 x 的自然对数。",
  "entity_model_features.config.function_explanation.max": "max(x, y, ...)\n从数字列表中获取最大值。",
  "entity_model_features.config.function_explanation.min": "min(x, y ,...)\n从数字列表中获取最小值。",
  "entity_model_features.config.function_explanation.nbt": "nbt(x,y)\n布尔函数，如果实体具有与查询 y 匹配的 NBT 标签 x，则返回 true。\nx 等效于 NBT 随机属性中 'nbt.<n>.' 之后的内容。\ny 等效于 NBT 随机属性中 '=' 之后的内容。\n例如：NBT 属性中的 'nbt.1.SleepingX=exists:true' 在动画函数中将是 'nbt(SleepingX,exists:true)'。",
  "entity_model_features.config.function_explanation.pow": "pow(x, y)\n获取 x 的 y 次方。",
  "entity_model_features.config.function_explanation.print": "print(id, n, x)\n每 N 个帧打印一次值「x」。",
  "entity_model_features.config.function_explanation.printb": "printb(id, n, x)\n每 N 个帧打印一次布尔值「x」。",
  "entity_model_features.config.function_explanation.quadbezier": "quadbezier(k, x, y, z)\n使用二次贝塞尔曲线样条函数和控制点 z 在 x 和 y 之间插值。",
  "entity_model_features.config.function_explanation.raddiff": "raddiff(x, y)\n返回两个弧度值 x 和 y 之间的最短弧度差。",
  "entity_model_features.config.function_explanation.random": "random(seed)\n0 到 1 之间的随机数。提供种子将始终返回相同的结果。种子是可选的。",
  "entity_model_features.config.function_explanation.randomb": "random(seed)\n随机布尔值 true|false。提供种子将始终返回相同的结果。种子是可选的。",
  "entity_model_features.config.function_explanation.round": "round(x)\n将 x 舍入到最接近的整数。",
  "entity_model_features.config.function_explanation.signum": "signum(x)\n获取 x 的符号（正或负）。",
  "entity_model_features.config.function_explanation.sin": "sin(x)\n获取 x 的正弦。",
  "entity_model_features.config.function_explanation.sqrt": "sqrt(x)\n获取 x 的平方根。",
  "entity_model_features.config.function_explanation.tan": "tan(x)\n获取 x 的正切。",
  "entity_model_features.config.function_explanation.todeg": "todeg(rad)\n将弧度转换为角度。",
  "entity_model_features.config.function_explanation.torad": "torad(deg)\n将角度转换为弧度。",
  "entity_model_features.config.function_explanation.wrapdeg": "wrapdeg(x)\n将角度值 x 限制在 -180 到 180 的范围内。",
  "entity_model_features.config.function_explanation.wraprad": "wraprad(x)\n将弧度值 x 限制在 -pi 到 pi 的范围内。",
  "entity_model_features.config.functions": "函数",
  "entity_model_features.config.functions.explain": "目前注册用于 EMF 自定义实体模型动画的所有数学函数列表。\n点击每个函数将会提供更多详细信息。",
  "entity_model_features.config.general": "常规",
  "entity_model_features.config.general.tooltip": "常规设置。",
  "entity_model_features.config.green_render": "使自定义模型变绿",
  "entity_model_features.config.green_render.tooltip": "使 CEM 生物显示为绿色，\n以便将它们与原版模型区分开来，\n并检查它们是否被正确加载。",
  "entity_model_features.config.iris_shadow_skip": "跳过动画 Iris 阴影传递",
  "entity_model_features.config.iris_shadow_skip.tooltip": "这将使实体模型不会\n在每个帧为绘制和 Iris 阴影传递动画两次。\n这应该始终保持开启状态，并且仅在\n将来发生 Iris API 变更的情况下才会出现。",
  "entity_model_features.config.large_mob_lod": "保留较大型生物的 LOD",
  "entity_model_features.config.large_mob_lod.tooltip": "如果启用，这将根据生物的大小\n减少上述设置的细节层级 (LOD) 影响。\n较大型生物的跳过帧现象\n将比小型生物更不明显。",
  "entity_model_features.config.load_warn.1": "EMF 遇到加载错误",
  "entity_model_features.config.load_warn.2": "EMF 可以从 模型 > 调试 > 再次记录这些错误",
  "entity_model_features.config.load_warn.3": "检查您的日志或 EMF 设置以获取详细信息",
  "entity_model_features.config.load_warn.title": "再次记录所有加载错误",
  "entity_model_features.config.load_warn.title2": "再次记录所有加载错误（带堆栈跟踪）",
  "entity_model_features.config.load_warn.tooltip": "如果启用，此选项将重新打印所有遇到的 EMF 加载错误，从上次资源重新加载开始，按遇到顺序重新打印到日志中。\n并非所有这里的错误都会很有帮助，因为它们可能缺少周围的日志上下文。",
  "entity_model_features.config.lod": "动画 LOD 距离",
  "entity_model_features.config.lod.tooltip": "设定动画开始跳过帧的距离，\n降低细节层级 (LOD)，这有助于提升性能。\n无 = 不跳过帧\n16 = 每距离玩家 16 格就会跳过 1 个帧\n较小的数字表示跳过更多帧和提升性能，\n但当然动画的帧率会越低，\nLOD 距离设置得越近。",
  "entity_model_features.config.log_math": "记录动画计算",
  "entity_model_features.config.log_math.tooltip": "将动画计算调试数据打印到日志中。\n警告：会导致极大的滞后！",
  "entity_model_features.config.log_models": "记录模型构建信息",
  "entity_model_features.config.log_models.tooltip": "打印模型的创建调试数据到日志中。",
  "entity_model_features.config.low_fps_lod": "在低 FPS 时保留 LOD",
  "entity_model_features.config.low_fps_lod.tooltip": "如果启用，这将根据您的 FPS\n减少上述设置的细节层级 (LOD) 影响。\n仅在 FPS 低于 60 时适用，因为跳过帧\n在较低的 FPS 下会越来越明显。",
  "entity_model_features.config.math": "动画数学详细信息",
  "entity_model_features.config.math.explain": "本节提供有关可用于 EMF 自定义实体模型动画的数学函数和变量的详细信息。\n包括使用其 API 从其他模组新增到 EMF 的任何内容。\n点击每个函数和变量将会提供更多详细信息。",
  "entity_model_features.config.models": "所有模型",
  "entity_model_features.config.models.arrows": "arrow.jem 和 spectral_arrow.jem 不会出现在这里，但都支持。",
  "entity_model_features.config.models.cape": "\nplayer_cape.jem 不会出现在这里，但也支持，它是 player.jem 的精确副本，但只有「斗篷」部分。",
  "entity_model_features.config.models.enabled": "启用模型",
  "entity_model_features.config.models.enabled.tooltip": "设定是否加载指定的 .jem 模型文件。",
  "entity_model_features.config.models.explain": "并非所有可见的部分都可以导出。\n只有声明的部分才会导出。\n您可以在导出后通过检查游戏日志来找出缺失部分的变换详细信息。",
  "entity_model_features.config.models.export": "将模型导出为 .jem 文件",
  "entity_model_features.config.models.export.fail": "无法导出模型，因为：",
  "entity_model_features.config.models.export.success": "成功导出模型",
  "entity_model_features.config.models.export.tooltip": "将此模型导出为 .jem 文件到目录 \"MC_DIRECTORY/emf/export\"。\n此文件可以在 Blockbench 中打开，并且包含自定义模型所需的所有数据，\n包括枢轴点、方块和 UV。\n日志中还会打印其他数据，例如将此 .jem 文件放在哪里才能在资源包中使用。",
  "entity_model_features.config.models.file_names": "文件名和位置",
  "entity_model_features.config.models.part_names": "该模型的部件名称",
  "entity_model_features.config.models_text": "这些是所有可通过 EMF 修改的模型。\n这些画面只会显示/导出这些模型未修改状态的信息。\n如果您想查看模型的当前状态，则必须在游戏中查看模型。",
  "entity_model_features.config.only_client": "仅修改玩家模型",
  "entity_model_features.config.only_client.tooltip": "如果启用，则只会将自定义玩家模型应用于自己的玩家，\n忽略多人游戏中的所有其他玩家。",
  "entity_model_features.config.optifine_fallback_properties": "使用备用 .properties 文件",
  "entity_model_features.config.optifine_fallback_properties.tooltip": "如果启用，这将使 EMF 尝试加载备用 .properties 文件，如果找不到常规文件。\n例如，如果 pig_baby.properties 不存在，pig_baby.jem 将回退到使用 pig.properties。\nOptiFine 只适用于这些回退，实际上不允许像 pig_baby.properties 这样的按模型示例。",
  "entity_model_features.config.optifine_floor": "自定义方块 UV 的底数",
  "entity_model_features.config.optifine_floor.tooltip": "OptiFine 会将自定义方块 UV 的所有值都设为底数，\n也就是将它们都设为整数。\n此设置将使 EMF 也这样做，\nEMF 也会记录它是否找到没有底数 UV 的模型。",
  "entity_model_features.config.optifine_subfolders": "子文件夹模型必须变化",
  "entity_model_features.config.optifine_subfolders.tooltip": "在 OptiFine 中，模型文件的子文件夹选项仅在该模型发生变化时才有效。\n例如，只有当“optifine/cem/skeleton/skeleton.jem”具有变体时才会加载，\n例如“optifine/cem/skeleton/skeleton2.jem”或 .properties 文件。\n此设置将使实体模型特征模组也强制执行此设置，\n如果 EMF 发现一个不变化的模型，它将记录此信息。",
  "entity_model_features.config.optifine_syntax": "CEM 动画语法限制",
  "entity_model_features.config.optifine_syntax.tooltip": "如果启用，这将强制执行 OptiFine 的 CEM 语法限制，例如：\n动画中的骨骼 ID 不能以 _ 或数字开头；\n数字不能以 '.' 开头，例如 '.9'；\n名为 'render' 的骨骼不能被动画引用。\n启用此设置时，将记录违反这些规则的任何动画的错误并使其失效。",
  "entity_model_features.config.optimizations": "优化",
  "entity_model_features.config.optimizations.tooltip": "动画优化的相关设置。",
  "entity_model_features.config.options": "选项和修复",
  "entity_model_features.config.options.tooltip": "基本功能或模组兼容性修复的各种选项。",
  "entity_model_features.config.performance": "性能设定",
  "entity_model_features.config.physics": "Physics 模组补丁 #2",
  "entity_model_features.config.physics.1": "使用原版模型",
  "entity_model_features.config.physics.2": "使用 EMF（CEM）模型",
  "entity_model_features.config.physics.tooltip": "如果启用了 Physics 模组，则只会在死亡时渲染原始的原版模型零件。\n这部分有效，但不是一个完美的解决方案。",
  "entity_model_features.config.player_settings": "玩家设定",
  "entity_model_features.config.prevent_hand": "防止第一人称手部动画",
  "entity_model_features.config.prevent_hand.tooltip": "如果启用，将阻止所有自定义 EMF 动画在第一人称手部模型播放。",
  "entity_model_features.config.print_mode": "模型导出",
  "entity_model_features.config.print_mode.all_log": "所有模型 - 仅记录",
  "entity_model_features.config.print_mode.all_log_jem": "所有模型 - 记录和 .jem",
  "entity_model_features.config.print_mode.log": "未知模型 - 仅记录",
  "entity_model_features.config.print_mode.log_jem": "未知模型 - 记录和 .jem",
  "entity_model_features.config.print_mode.tooltip": "这将打印出部件信息或完整的 .jem 文件，\n适用于 EMF 可以访问的任何模型，每次重新加载都会打印！！\n重新加载后，可以在「MC_DIRECTORY/emf/export」中找到 .jem 文件。\n.jem 文件是 Blockbench 可用的文件，具有\n正确的枢轴点、方块和 UV。\n未知模型是指 OptiFine CEM 不支持的模型。",
  "entity_model_features.config.render": "如何呈现自定义模型部件",
  "entity_model_features.config.render.green": "闪烁绿色",
  "entity_model_features.config.render.lines": "轮廓",
  "entity_model_features.config.render.lines_texture": "轮廓覆盖材质",
  "entity_model_features.config.render.lines_texture_flash": "材质上的闪烁轮廓",
  "entity_model_features.config.render.none": "已禁用",
  "entity_model_features.config.render.normal": "正常",
  "entity_model_features.config.render.tooltip": "更改自定义模型零件的渲染方式，这不会影响原版模型零件。\n正常 = 正常渲染\n绿色闪烁 = 自定义零件将闪烁绿色\n轮廓 = 模型零件的轮廓将呈现\n禁用 = 自定义模型零件将不渲染",
  "entity_model_features.config.reset_player": "每次渲染时重置玩家模型",
  "entity_model_features.config.reset_player.tooltip": "这使得实体模型特征模组在每次渲染之前重置玩家模型的所有原始部分变换。\n仅适用于玩家的自定义模型。\n然而，这不是许多模组改变玩家动画的典型行为。\n此设置大大降低了模组和动画包之间玩家动画兼容性的难度。\n例如玩家表情模组。\n这种兼容性仍然需要包制造商的工作。",
  "entity_model_features.config.show_reload_error_toast": "显示重新加载错误提示",
  "entity_model_features.config.show_reload_error_toast.tooltip": "如果启用，这将在资源重新加载期间发生错误时显示一个提示消息。\n这有助于了解重新加载期间是否出现问题。",
  "entity_model_features.config.substitute_vanilla": "替换丢失的模型部分",
  "entity_model_features.config.substitute_vanilla.tooltip": "EMF 将尝试用原版文件替换 .jem\n模型文件中缺失的部分。",
  "entity_model_features.config.texture_override_mode": "子模型纹理处理",
  "entity_model_features.config.texture_override_mode.dont": "忽略纹理覆盖",
  "entity_model_features.config.texture_override_mode.emf": "尝试使用 EMF 代码",
  "entity_model_features.config.texture_override_mode.iris": "先尝试使用 Iris",
  "entity_model_features.config.texture_override_mode.tooltip": "这将控制 EMF 如何处理具有覆盖纹理集的渲染子模型。\n例如，如果苦力怕模型具有头部子模型的单独纹理。\n有两种方法可以做到这一点，依靠我的代码，或者依靠 Iris 模组的怪癖。\n我的代码“有效”，但我不是渲染缓冲区的专家，这可能会导致问题。\nIris 怪癖使用非常简单且看似安全/稳定的方法，但我被告知它不是预期的 Iris 行为。\n如果未安装 Iris，Iris 选项将默认为 EMF 代码。\n这几乎总是应该保持默认值，除非在子模型中调试纹理覆盖。",
  "entity_model_features.config.tools": "工具",
  "entity_model_features.config.tools.tooltip": "帮助模型制作或区分自定义模型的可选工具。",
  "entity_model_features.config.unknown_model_print_mode": "打印出未知型号信息",
  "entity_model_features.config.unknown_model_print_mode.log": "仅日志",
  "entity_model_features.config.unknown_model_print_mode.log_jem": "日志和 .jem 文件",
  "entity_model_features.config.unknown_model_print_mode.tooltip": "这将打印出 EMF 可以访问的任何未知或修改模型的信息或完整的 .jem 文件。\n注意：.jem 文件还不完美，但会为您提供一个起点。",
  "entity_model_features.config.update": "模型更新率",
  "entity_model_features.config.update.tooltip": "设定生物的模型更新\n生命值和年龄等变化的频率。\n永不 = 永不更新\n慢 = 3-5 秒\n平均 = 约 1 秒\n快 = 不到 1 秒\n立即 = 立即（可能有数百个生物的延迟）",
  "entity_model_features.config.vanilla_render": "显示原版模型模式",
  "entity_model_features.config.vanilla_render.normal": "普通",
  "entity_model_features.config.vanilla_render.offset": "偏移",
  "entity_model_features.config.vanilla_render.tooltip": "尝试将原版模型与自定义模型一起渲染以进行比较。\n它不会有动画，因此一些位置可能会有些奇怪。",
  "entity_model_features.config.variable_explanation.age": "以刻为单位的年龄。",
  "entity_model_features.config.variable_explanation.anger_time": "剩余的实体愤怒时间（以刻为单位）。在攻击时从 400-780 开始，然后在目标消失时倒数至 0。",
  "entity_model_features.config.variable_explanation.anger_time_start": "anger_time 的起始值。",
  "entity_model_features.config.variable_explanation.day_count": "当前的日数。",
  "entity_model_features.config.variable_explanation.day_time": "当前的日时间（以刻为单位）（0-24000）。",
  "entity_model_features.config.variable_explanation.death_time": "实体死亡的时间。从 0 计数到 20。",
  "entity_model_features.config.variable_explanation.dimension": "当前的维度。主世界：0，下界：-1，末地：1。",
  "entity_model_features.config.variable_explanation.distance": "实体与玩家之间的距离（以方块为单位）。\n\n虽然新增了距离变量以方便使用，但在 OptiFine 中可以使用以下代码实现相同的目的：\n\"var.distance\": \"sqrt(pow(pos_x - player_pos_x, 2) + pow(pos_y - player_pos_y, 2) + pow(pos_z - player_pos_z, 2))\"",
  "entity_model_features.config.variable_explanation.e": "欧拉常数。\n2.718281.....",
  "entity_model_features.config.variable_explanation.entity_variable": "实体变量以「var.<名称>」（浮点数）或「varb.<名称>」（布尔值）的格式指定。\n\n名称可以是任何字符串，例如「var.xyz」、「var.last_rx」等。\n\n变量附加到绘制的实体，默认值为 0 或 false。\n\n实体变量可用于储存帧之间的动画数据。",
  "entity_model_features.config.variable_explanation.entity_variable.title": "实体变量",
  "entity_model_features.config.variable_explanation.false": "常数值。\nfalse",
  "entity_model_features.config.variable_explanation.fluid_depth": "淹没实体上方和下方的液体深度，如果未淹没则为 0。",
  "entity_model_features.config.variable_explanation.fluid_depth_down": "淹没实体下方的液体深度，如果未淹没则为 0。",
  "entity_model_features.config.variable_explanation.fluid_depth_up": "淹没实体上方的液体深度，如果未淹没则为 0。",
  "entity_model_features.config.variable_explanation.frame_counter": "当前帧的索引（0 到 720719，然后重设为 0）。",
  "entity_model_features.config.variable_explanation.frame_time": "自上一帧以来经过的时间（以秒为单位）。",
  "entity_model_features.config.variable_explanation.global_variable": "全局变量以「global_var.<名称>」（浮点数）或「global_varb.<名称>」（布尔值）的格式指定。\n名称可以是任何字符串，例如「global_var.xyz」、「global_var.last_rx」等。\n变量是全局存储的，默认值为 0 或 false。\n全局变量可用于存储多个实体使用的动画数据。",
  "entity_model_features.config.variable_explanation.global_variable.title": "全局变量",
  "entity_model_features.config.variable_explanation.head_pitch": "头部俯仰角（x 旋转）。",
  "entity_model_features.config.variable_explanation.head_yaw": "头部偏航角（y 旋转）。",
  "entity_model_features.config.variable_explanation.health": "实体当前的健康值。",
  "entity_model_features.config.variable_explanation.height_above_ground": "实体距离地面的高度。\n地面是实体下方具有可碰撞方块的最高点。",
  "entity_model_features.config.variable_explanation.hurt_time": "实体受伤的时间。从 10 倒数到 0。",
  "entity_model_features.config.variable_explanation.id": "实体的唯一数值识别符。\n对于同一个实体始终相同。",
  "entity_model_features.config.variable_explanation.is_aggressive": "如果实体对玩家或其他实体具有攻击性。",
  "entity_model_features.config.variable_explanation.is_alive": "如果实体还活着。",
  "entity_model_features.config.variable_explanation.is_blocking": "如果实体正在用盾牌格挡。",
  "entity_model_features.config.variable_explanation.is_burning": "如果实体着火了。",
  "entity_model_features.config.variable_explanation.is_child": "如果实体处于幼年状态。",
  "entity_model_features.config.variable_explanation.is_climbing": "如果实体正在攀爬可攀爬的方块，或者是一只在墙上的蜘蛛。",
  "entity_model_features.config.variable_explanation.is_crawling": "如果实体正在爬行。",
  "entity_model_features.config.variable_explanation.is_first_person_hand": "如果游戏目前正在渲染第一人称手部。",
  "entity_model_features.config.variable_explanation.is_gliding": "如果实体正在滑翔。",
  "entity_model_features.config.variable_explanation.is_glowing": "如果实体具有发光效果。",
  "entity_model_features.config.variable_explanation.is_holding_item_left": "如果物品被放置在实体左侧的插槽中。",
  "entity_model_features.config.variable_explanation.is_holding_item_right": "如果物品被放置在实体的右侧插槽中。",
  "entity_model_features.config.variable_explanation.is_hurt": "如果实体正在受到伤害。",
  "entity_model_features.config.variable_explanation.is_in_ground": "如果三叉戟插在地上。",
  "entity_model_features.config.variable_explanation.is_in_gui": "如果实体在界面内。",
  "entity_model_features.config.variable_explanation.is_in_hand": "如果实体被拿在手中。",
  "entity_model_features.config.variable_explanation.is_in_item_frame": "如果实体在物品展示框中。",
  "entity_model_features.config.variable_explanation.is_in_lava": "如果实体接触到熔岩。",
  "entity_model_features.config.variable_explanation.is_in_water": "如果实体接触到水。",
  "entity_model_features.config.variable_explanation.is_invisible": "如果实体具有隐形效果/NBT 标签。",
  "entity_model_features.config.variable_explanation.is_jumping": "如果一只生物正在跳跃。",
  "entity_model_features.config.variable_explanation.is_on_ground": "如果实体接触到地面。",
  "entity_model_features.config.variable_explanation.is_on_head": "如果实体戴在另一个实体的头上。",
  "entity_model_features.config.variable_explanation.is_on_shoulder": "如果一只鹦鹉坐在你的肩膀上。",
  "entity_model_features.config.variable_explanation.is_ridden": "如果实体被另一个实体骑乘。",
  "entity_model_features.config.variable_explanation.is_riding": "如果实体正在骑乘另一个实体。",
  "entity_model_features.config.variable_explanation.is_right_handed": "如果玩家惯用手是右手。",
  "entity_model_features.config.variable_explanation.is_sitting": "如果一只猫/狼/鹦鹉正在坐下。",
  "entity_model_features.config.variable_explanation.is_sneaking": "如果一只猫/豹猫正在潜行。",
  "entity_model_features.config.variable_explanation.is_sprinting": "如果一只猫/豹猫正在冲刺。",
  "entity_model_features.config.variable_explanation.is_swimming": "如果实体正在游泳。",
  "entity_model_features.config.variable_explanation.is_swinging_left_arm": "如果实体正在挥动左臂，则为 True。请注意，false 并不表示另一只手臂正在挥动。",
  "entity_model_features.config.variable_explanation.is_swinging_right_arm": "如果实体正在挥动右臂，则为 True。请注意，false 并不表示另一只手臂正在挥动。",
  "entity_model_features.config.variable_explanation.is_tamed": "如果一只猫/狼/鹦鹉被驯服了。",
  "entity_model_features.config.variable_explanation.is_using_item": "如果实体当前正在使用某个物品，例如玩家用水桶右键点击。",
  "entity_model_features.config.variable_explanation.is_wet": "如果实体在水中/雨中。",
  "entity_model_features.config.variable_explanation.limb_speed": "肢体移动速度。范围从 0 到 1（静止 = 0，冲刺 = 1）。",
  "entity_model_features.config.variable_explanation.limb_swing": "肢体动画计数器。实体移动时以刻为单位计数。",
  "entity_model_features.config.variable_explanation.max_health": "实体的最大生命值。",
  "entity_model_features.config.variable_explanation.model_part": "模型变量以以下格式指定：\n \"<模型>.<变量名称>\"\n\n模型可以是：\n \"this\" - 当前的自定义模型\n \"part\" - 附加自定义模型的原版模型部分\n \"<部件>\" - 按部件名称指定的原版模型\n \"<ID>\" - 按 ID 指定的自定义模型\n \"<部件>:<子 ID>:<子子 ID>:...\" -（分层）从按部件名称指定的原版模型开始，然后按 ID 查找子项\n \"<ID>:<子 ID>:<子子 ID>:...\" -（分层）从按 ID 指定的模型开始，然后按 ID 查找子项\n\n如果存在重复项，则使用按部件名称或 ID 找到的第一个模型。\n按 ID 搜索模型是深度搜索，在分层规范中使用时也是如此。\n\n分层规范允许模型组（json 部件模型）被重复使用于不同的部件。\n例如，一只手模型（\"shoulder:upper_arm:elbow:forearm:palm:finger[1.5]\"）可以用于左右手。\n动画可以使用 \"left_hand:finger1\" 表示左手拇指，\"right_hand:finger1\" 表示右手拇指。\n分层规范中的中间父项可以省略。\n\n变量名称：\n tx, ty, tz - 平移 x、y、z\n rx, ry, rz - 旋转 x、y、z\n sx, sy, sz - 缩放 x、y、z\n visible - 显示模型和子模型（布尔值）\n visible_boxes - 仅显示模型，不影响子模型（布尔值）",
  "entity_model_features.config.variable_explanation.model_part.title": "模型部件变量",
  "entity_model_features.config.variable_explanation.move_forward": "实体目前朝其面向方向的移动量。范围从 -1 到 1，表示玩家当前移动向量单位圆的 Y 轴截距。1 表示向前，-1 表示向后。",
  "entity_model_features.config.variable_explanation.move_strafing": "实体目前朝其面向方向右边 90 度方向的移动量。范围从 -1 到 1，表示玩家当前移动向量单位圆的 X 轴截距。",
  "entity_model_features.config.variable_explanation.nan": "非数字。\n在运行时抛出异常。\n用于调试。",
  "entity_model_features.config.variable_explanation.optifine_parts": "OptiFine 部件名称：",
  "entity_model_features.config.variable_explanation.pi": "常数值。\n3.1415926",
  "entity_model_features.config.variable_explanation.player_pos": "玩家当前的所在世界的坐标。",
  "entity_model_features.config.variable_explanation.player_rot": "玩家当前的所在世界的旋转角度。北方为 0。",
  "entity_model_features.config.variable_explanation.pos": "实体当前的所在世界的坐标。",
  "entity_model_features.config.variable_explanation.render_variable": "绘制变量\n render.shadow_size\n - 实体下方阴影的大小\n render.shadow_opacity\n - 阴影的透明度\n render.shadow_offset_x, render.shadow_offset_z\n - 阴影的位置\n render.leash_offset_x, render.leash_offset_y, render.leash_offset_z\n - 拴绳连接点的位置",
  "entity_model_features.config.variable_explanation.render_variable.title": "绘制变量",
  "entity_model_features.config.variable_explanation.rot": "实体当前的所在世界的旋转角度。北方为 0。",
  "entity_model_features.config.variable_explanation.rule_index": "当前匹配的随机模型规则的索引。默认为 0。",
  "entity_model_features.config.variable_explanation.swing_progress": "实体攻击的进度。从 0 计数到 1。",
  "entity_model_features.config.variable_explanation.time": "游戏总时间（以刻为单位），与昼夜循环无关。",
  "entity_model_features.config.variable_explanation.true": "常数值。\ntrue",
  "entity_model_features.config.variable_explanation.unknown_parts": "未映射的部件名称：",
  "entity_model_features.config.variables": "变量",
  "entity_model_features.config.variables.explain": "目前注册用于 EMF 自定义实体模型动画的所有数学变量列表。\n点击每个变量将会提供更多详细信息。",
  "entity_model_features.config.variation_base": "需要基础模型进行变化",
  "entity_model_features.config.variation_base.tooltip": "OptiFine 需要“基础”模型才能进行变化。这意味着如果没有“pig.jem”，则“pig2.jem”不会发生变化。\nEMF 不需要此功能，但默认情况下会强制执行此功能，因为最好尽可能保留 OptiFine 兼容性。\n您可以通过“模型 > 所有模型 > *模型* > 导出”在实体模型特征模组设置中导出默认模型，从而轻松获取默认模型。\n或者只需禁用此设置即可。",
  "entity_model_features.global_var_property": "全局变量浮点数（可选）\n匹配 CEM 动画全局变量值\n默认为 0\n范例：（对于动画变量「global_var.xyz」）global_var.1.xyz= 2 4 6\n§aglobal_var.<n>.<变量>=<列表>",
  "entity_model_features.global_varb_property": "全局变量布尔值（可选）\n匹配 CEM 动画全局变量值\n默认为 false\n范例：（对于动画变量「global_varb.xyz」）global_varb.1.xyz=true\n§aglobal_varb.<n>.<变量>=<true|false>",
  "entity_model_features.rule_property": "模型规则（可选）\n匹配实体模型匹配的最后一个随机模型规则编号\n默认为 0\n范例：modelRule.1= 2 4 6\n§amodelRule.<n>=<列表>",
  "entity_model_features.suffix_property": "模型后缀（可选）\n匹配实体模型设置的最后一个随机模型后缀编号\n默认为 0\n范例：modelSuffix.1= 2 4 6\n§amodelSuffix.<n>=<列表>",
  "entity_model_features.title": "实体模型加载",
  "entity_model_features.var_property": "实体变量浮点数（可选）\n匹配实体的 CEM 动画变量值\n默认为 0\n范例：（对于动画变量「var.xyz」）var.1.xyz= 2 4 6\n§avar.<n>.<变量>=<列表>",
  "entity_model_features.varb_property": "实体变量布尔值（可选）\n匹配实体的 CEM 动画变量值\n默认为 false\n范例：（对于动画变量「varb.xyz」）varb.1.xyz=true\n§avarb.<n>.<变量>=<true|false>",
  "modmenu.descriptionTranslation.entity_model_features": "这是 ETF 模组的扩展，它增加了对 OptiFine 格式自定义实体模型 (CEM) 资源包的支持。\n同时仍允许您禁用此功能以使用不同的模型模组:)"
}