跳转到正文

多语言支持

本指南介绍了如何启用和配置多语言支持,包括对话翻译、系统消息、NPC 文本翻译以及游戏内语言切换。


1. 启用多语言支持

要启用多语言支持,请编辑 customs.properties 文件并设置:

MultiLangEnable = True

同时请确保定义了服务器的默认语言:

MultiLangDefault = en
  • 使用 ISO 639 语言代码
  • 默认为 en (英语)

然后,指定允许使用的语言:

MultiLangAllowed = en,es,pt

2. 对话框本地化

配置

MultiLangEnable = True 时,对话框本地化将自动启用。

如何添加翻译后的对话框

  1. 进入您的 Datapack 项目
  2. 按照此路径操作:
data/lang/<ISO 639 代码>/data/html/
  1. 添加翻译后的文件,文件名须与原始文件相同

示例

路径:

data/lang/es/data/html/noquest.htm

内容:

<html>
<body>
No estás en una misión que involucre a este NPC o no cumples con los requisitos mínimos.
</body>
</html>

3. 游戏内语言切换

要允许玩家在游戏内更改语言,请启用语言处理器:

MultiLangHandler = True

启用后,玩家可以使用语音命令:

.lang

这将打开一个菜单,玩家可以在其中选择首选语言。


4. 系统消息本地化

配置

启用系统消息本地化:

MultiLangSystemMessageEnable = True
MultiLangSystemMessageAllowed = en,es,pt

如何添加翻译后的系统消息

  1. 进入您的 Datapack 项目
  2. 按照此路径操作:
data/lang/<ISO 639 代码>/sm/
  1. 添加一个名为以下名称的文件:
SystemMessageLocalisation.xml

示例

路径:

data/lang/es/sm/SystemMessageLocalisation.xml

内容:

<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../xsd/SystemMessageLocalisation.xsd">
<sm id="0" text="Has sido desconectado del servidor." />
<sm id="1" text="El servidor se apagará en $s1 segundo(s). Por favor, busca un lugar seguro para desconectarte." />
</list>

5. NPC 文本 (NPC String) 本地化

配置

启用 NPC 文本本地化:

MultiLangNpcStringEnable = True
MultiLangNpcStringAllowed = en,es,pt

如何添加翻译后的 NPC 文本

  1. 进入您的 Datapack 项目
  2. 按照此路径操作:
data/lang/<ISO 639 代码>/ns/
  1. 添加一个名为以下名称的文件:
NpcStringLocalisation.xml

示例

路径:

data/lang/es/ns/NpcStringLocalisation.xml

内容:

<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../xsd/NpcStringLocalisation.xsd">
<ns id="1010221" text="Una luna negra... ¿Ahora entiendes que ha abierto los ojos?" />
<ns id="1010222" text="Nubes de sangre se están congregando. Pronto empezará a llover. La lluvia de sangre carmesí..." />
<ns id="1010223" text="Mientras la luz insensata permanece dormida, la oscuridad será la primera en despertar. Hmmm..." />
</list>