- 版权类型
- 转载
- 插件中文名称
- 语言实用工具
- 插件英文名称
- LangUtils, LanguageUtils
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- PufferFish
- Leaves
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8
- 1.7
LangUtils
正如其名,这是一个前置插件,用于获取包括物品、实体、附魔等原版内容的中文或其它语言翻译。不支持Mod服物品,因为语言键对应关系是写死的。下载
1.7 - 1.12
,到 原作者的仓库 下载,或者到 MCIO Plugins 下载(推荐)1.13 - 1.17
,到 NyaaCat 的 Jenkins 下载1.18
及以上,NyaaCat 社区放弃了这个项目,请到 Pull Requests 下载其他人提交的源代码,自行构建
1.19.3
及以上,由于 Spigot 及其衍生服务端上,Translatable 接口的添加,不再需要 LangUtils 即可获取原版内容的翻译键。配合本地化文本组件可以在客户端达到同样的效果。可以使用 BungeeCord Chat API 或者 Adventure + MiniMessage 来实现文本组件的相关操作。
Java:
ItemStack item = player.getInventory().getItemInMainHand();
// 获取物品翻译键
String key = item.getTranslationKey();
// 以 MiniMessage 为例
Component component = miniMessage.deserialize("物品名: <lang:" + key + ">");
audiences.player(player).sendMessage(component);
// 以 BungeeCord Chat API (Spigot 1.8+) 为例
BaseComponent[] components = new BaseComponent[] {
new TextComponent("物品名: "),
new TranslatableComponent(key)
};
player.spigot().sendMessage(components);
使用翻译键配合文本组件,就已经能够满足大部分使用场景了。
开发者
要为你的插件添加引用,建议使用 NyaaCat 社区的仓库而非原作者的仓库。
代码:
// Gradle
repositories {
maven("https://ci.nyaacat.com/maven/")
}
dependencies {
compileOnly("com.meowj:LangUtils:2.3-SNAPSHOT")
}
XML:
<!-- Maven -->
<repositories>
<repository>
<id>lang-utils-repo</id>
<url>https://ci.nyaacat.com/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.meowj</groupId>
<artifactId>LangUtils</artifactId>
<version>2.3-SNAPSHOT</version>
</dependency>
</dependencies>
基本使用方法请见示例插件。基本用法为
Java:
(ItemStack|Entity|Enchantment) whatever = get();
// 第二个参数为玩家实例,根据玩家客户端语言来获取文本
String result1 = LanguageHelper.getXXX(whatever, player);
// 第二个参数为语言代码,如 zh_cn,根据参数输入的语言来获取文本
String result2 = LanguageHelper.getXXX(whatever, locale);