McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
Languagy

Languagy - 多语言支持插件

轻松支持玩家选择的语言
Bukkit / Spigot 作者 SamB440 支持版本 1.8 - 1.19
服务器使用量
未统计
服务玩家数
未统计
下载量
55,769
插件详细介绍

关于 Languagy

Languagy 是一个面向插件开发者的 Spigot API,旨在简化插件对玩家个体语言的支持。它并非一个可直接安装在服务器上的插件,而是供其他插件集成使用的库。服务器管理员无需直接安装 Languagy,但使用基于 Languagy 开发的插件时,可以了解其工作原理。

工作原理与目的

Languagy 的核心功能是让插件能够根据玩家客户端设置的语言,自动提供对应的翻译文本。它本身不提供自动翻译,而是要求插件开发者自行准备翻译文件,Languagy 则作为一个高效的包装器来处理语言匹配和文本获取。

为何使用 Languagy?

  • 当前服务器插件普遍缺乏多语言支持。
  • 即使支持,也常通过复杂的 GUI 实现,影响用户体验。
  • Languagy 使多语言支持变得简单、自动化且对用户无感,从而提升服务器质量。
  • 它易于集成,代码简洁,并支持通过 Gradle/Maven 进行依赖管理。

支持的插件

以下插件已集成 Languagy

  • MCRealistic
  • AnvilLogin
  • SamB440's Reporter
  • RPGRegions
  • ForcePack

希望你的插件也出现在这里?请通过私信、讨论区留言或发表评论联系作者。

集成指南 (Shading)

Languagy 必须被着色(shaded)并重定位(relocate)到你的插件中。

Gradle (Kotlin DSL)

repositories {
    maven("https://repo.convallyria.com/releases")
}

dependencies {
    implementation("com.convallyria.languagy:api:3.0.2") {
        exclude("com.convallyria.languagy.libs")
    }
}

tasks {
    shadowJar {
        relocate("com.convallyria.languagy", "YOUR_PACKAGE.libs.languagy")
    }
}

Maven

请参考上述 Gradle 配置中需要排除和重定位的包路径,在 Maven 中完成相应配置。作者未提供 Maven 示例,需要自行查找方法。

<repositories>
    <repository>
        <url>https://repo.convallyria.com/releases</url>
    </repository>
</repositories>
<dependency>
    <groupId>net.islandearth.languagy</groupId>
    <artifactId>api</artifactId>
    <version>3.0.2</version>
</dependency>

API 使用方法 (v3)

成功添加依赖后,需要进行以下设置以使 Languagy 正常工作。

初始化与关闭

在你的插件主类的 onEnable 方法中初始化 Translator,并在 onDisable 中关闭它。

private Translator translator;

public Translator getTranslator() {
    return translator;
}

@Override
public void onEnable() {
    this.translator = Translator.of(this);
}

@Override
public void onDisable() {
    translator.close(); // 非常重要!见下方说明。
}
  • 初始化 Translator 有多种方式,详情请查阅 JavaDocs。
  • 重要:必须在 onDisable 中调用 Translator#close() 方法,以确保文件监听系统正确关闭。忽略此步骤可能导致问题。

使用翻译

  • 通过 Translator#getTranslationFor 获取特定玩家的翻译。
  • 使用 Translation#colour 方法为翻译文本着色。
  • 或者,直接使用 Translation#send 方法,它会自动处理着色并通过 Player#sendMessage 发送给玩家。
  • 如果玩家客户端的语言没有对应的翻译文件,系统将回退到默认语言(默认为英语)。

语言文件

你需要从插件 JAR 中提取语言文件。可以参考 ForcePack 插件中的示例类:

https://gitlab.com/SamB440/ForcePac...orcepack/spigot/translation/Translations.java

常见问题 (FAQ)

  • 需要重启/重载服务器来更新消息吗?

不需要。文件保持实时更新,你可以在服务器运行时修改翻译文件,更改会立即生效。

  • 性能影响如何?

影响极小。Languagy 已在拥有 70 多名玩家的大型服务器和小型服务器上运行测试。它会在可能的情况下异步处理任务。

编译说明

Languagy 基于 Java JDK 1.8 构建,并使用 Gradle 管理依赖。

通过 bash 编译

cd Languagy
./gradlew build

编译输出的 JAR 文件位于 build/libs 目录中。

支持与反馈

  • Bug 报告/问题支持:请在 GitLab 的 Issues 页面提交问题。提交前请先搜索是否已有类似问题。
  • 所有 Bug 报告:必须提供包含问题日志的调试日志。
  • 请勿在评论中报告问题!请加入我们的 Discord 或创建 Issue 来反馈。
测试支持版本
1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19
版本分布
基本信息
插件名称 Languagy
作者 SamB440
平台 Bukkit / Spigot
支持版本 1.8 - 1.19
点赞数 6
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人次:3,028,300  |  今日访问人次:12,428  |  昨日访问人次:11,147

独立 IP:4,877  |  最近24小时有3,877人访问本站

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6