多语言支持
本指南介绍了如何启用和配置多语言支持,包括对话翻译、系统消息、NPC 文本翻译以及游戏内语言切换。
1. 启用多语言支持
要启用多语言支持,请编辑 customs.properties 文件并设置:
MultiLangEnable = True
同时请确保定义了服务器的默认语言:
MultiLangDefault = en
- 使用 ISO 639 语言代码
- 默认为
en(英语)
然后,指定允许使用的语言:
MultiLangAllowed = en,es,pt
2. 对话框本地化
配置
当 MultiLangEnable = True 时,对话框本地化将自动启用。
如何添加翻译后的对话框
- 进入您的 Datapack 项目
- 按照此路径操作:
data/lang/<ISO 639 代码>/data/html/
- 添加翻译后的文件,文件名须与原始文件相同
示例
路径:
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
如何添加翻译后的系统消息
- 进入您的 Datapack 项目
- 按照此路径操作:
data/lang/<ISO 639 代码>/sm/
- 添加一个名为以下名称的文件:
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 文本
- 进入您的 Datapack 项目
- 按照此路径操作:
data/lang/<ISO 639 代码>/ns/
- 添加一个名为以下名称的文件:
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>