Triton - 翻译您的服务器

高级插件 Triton - 翻译您的服务器 3.11.2

用不同的语言发送相同的消息...挂钩到所有插件!
原贴 开源构建
你有没有想过把你的服务器翻译成多种语言?
好吧,不要再看了!Triton 在许多其他令人敬畏的功能中提供了此功能!此插件使用一个占位符,该占位符将被替换为语言文件中定义的消息(动态地,每个玩家)。

该文档可以在 Triton 的网站上找到。

请务必阅读以下要求和限制


Triton v2.0.1 设置指南


Triton v2.4.0 设置指南 - 西班牙语


Triton v0.2.2b (MultiLanguagePlugin v0.2.2b)


[IMG]

语言选择 GUI 的视频展示。可以在配置文件中添加和删除语言。

[图片]

全息影像/实体显示名称的翻译


[图片]


注意:Triton 不是自动/机器翻译器。必须使用所需的语言手动配置所有消息。
从 v2.0.0 开始,所有插件都应该能够被翻译,即使它们没有可配置的消息。请查看下面的限制部分。
  • 翻译任何聊天消息、动作栏、标题/副标题、库存标题、全息图、NPC 名称、踢/禁止消息、标签页眉/页脚、自定义标签、项目名称/传说、标志、bossbar¹、书籍、MOTD、记分牌²、进步³ 和死亡屏幕。
  • BungeeCord 支持
  • Partial Velocity 支持(查看文档))
  • 无限的语言
  • 面向开发人员的 API
  • 带标志的语言 GUI 选择器
  • 使用TWIN(Triton Web INterface)在线编辑您的消息
  • 在游戏中重新加载您的配置,而无需重新启动服务器
  • 根据消息类型(聊天、记分板、项目等)更改占位符的外观
  • 使用命令更改其他玩家的语言(在线和离线)
  • 当玩家更改其语言时运行命令
  • 已翻译的消息和标志中的动态值
  • 支持自 Spigot 1.8.8 以来的所有稳定 Spigot 版本
  • 完整的 MySQL 支持
  • 自动生成器工具,帮助批量翻译插件
  • 不允许玩家在聊天中输入占位符
  • 将您的终端(控制台输出)翻译成主要语言
  • 可配置的内部消息
¹ Bossbar 翻译需要 Spigot 1.9+
² 记分牌翻译可能只能部分工作,需要 Spigot 1.13+;可以通过 PlaceholderAPI 进行完整翻译,请参阅下面的
限制部分 ³ 高级翻译需要 Spigot 1.12+

一些很棒的人使用 Triton 的 API 创建了附加组件,添加了更多功能!
剧透:社区附加组件

[IMG]


支持是通过 Discord 完成的。您可以使用以下邀请码加入 Triton 的 Discord 服务器9FsawxR

Bug 报告和功能请求
应通过 GitHub 问题完成。可以在 GitHub 上找到已知问题。

如果您无法使用 Discord,请随时在 Spigot 上私信我。请记住,我通常不检查 Spigot,因此我可能需要一段时间才能回复。

[图片]


Triton 需要以下内容才能运行:
  • Spigot 1.8.8+(Spigot 1.8 到 1.8.7 不受官方支持)
  • BungeeCord 或 Velocity 代理(可选)
  • Java 8+(对于 Spigot 1.17+,需要 Java 16)
  • ProtocolLib 5.3.0 或更高版本(截至 2024-06-19,此 ProtocolLib 版本仅作为开发版本提供)
  • PlaceholderAPI(可选)
注意事项 (2024-06-19):ProtocolLib 的最新开发版本似乎已经中断了对 Minecraft 1.8.8 的支持;您可能需要使用可以与旧版本的 ProtocolLib 一起使用的旧版本的 Triton。

为了获得更好的兼容性,请仅使用每个主要版本的最新版本。目前,(官方)支持的版本有:1.8.8、1.9.2、1.10.2、1.11.2、1.12.2、1.13.2、1.14.4、1.15.2、1.16.5、1.17.1、1.18.1、1.19.4、1.20.6 和 1.21。
如果您的服务器不满足这些要求,请不要购买此插件。有责任确保此插件在您的服务器环境中运行。我们不提供退款。

Spigot 和 BungeeCord 叉子,如 Paper 和 Waterfall,也将收到错误修复,即使内部测试是在原版 Spigot 和 BungeeCord 上进行的。

[图片]


重要提示:Triton不是自动翻译器,也不会翻译玩家之间的消息。它只是帮助您以他们选择的语言向每个玩家发送(手动翻译)消息。

Triton 的工作原理是拦截数据包并扫描它们以查找占位符。如果您无法用占位符替换原始文本,Triton 将对此无能为力。
这意味着您要翻译的插件需要具有某种配置,您可以在其中编辑它输出的消息内容。
从 Triton v2.0.0 开始,这不再是一个限制。请参阅我们的文档,了解如何在不使用占位符的情况下进行翻译。

由于技术挑战,记分牌无法直接翻译。
但是,由于 Triton 支持 PlaceholderAPI,因此如果记分牌插件支持,则可以使用 PAPI 占位符

[图片]


TWIN 代表 Triton Web Interface,它是一个网络应用程序,您可以在其中轻松管理您的翻译。
从 Triton v1.0.0 开始,我们意识到新的 languages.json 文件对某些人来说很复杂,因此我们创建了一个 Web 应用程序,使创建新翻译变得容易!

[图片]

TWIN v2.1.0 - 仪表板

随意尝试TWIN演示

[图片]


您可以使用 Triton API 从您的插件与 Triton 进行交互。
注意:该 API 不是插件,不会在您的服务器上运行。如果您想测试这些功能,您将需要通过网络所有者的许可证或您自己的许可证获得插件的副本。

[图片]


  1. 我仍然不明白插件到底是做什么的......你能给我解释一下吗?
    • 请随时与我联系;(见 #4)。
  2. 如果 API 是免费的,我为什么要为插件付费?
    • API 不包含任何插件代码或功能,它只包含文档和方法名称 - 允许开发人员编译自己的插件。API 本身不做任何事情,也不会作为插件运行。
  3. 我在哪里可以请求功能或报告错误?
  4. 我有关于这个插件的问题,我该如何联系你?
  5. 命令/权限和安装说明在哪里?
  6. 该插件对我不起作用,或者我遇到了一些问题。
    • 请不要只说“它不起作用”。通过任何可行的联系方式向我发送以下内容(见#4):
      • 问题的完整描述。
      • 您采取的导致问题的步骤。
      • Triton 配置文件和语言文件。
      • 您尝试翻译的插件的配置文件(如果这是问题所在)。
      • 控制台上与 Triton 相关的所有错误。
      • 任何可用的屏幕截图。
  7. 为什么这不是自动翻译器?
  8. 如何翻译记分牌?
  9. 在配置上打开“bungeecord”后,我在控制台上收到错误
    • 重新启动代理或在代理控制台上运行“/triton reload”。

[图片]


购买/下载此插件,即表示您同意:
  • 您不会以任何方式(朋友、云、论坛等)重新分发您的TWIN代币;
  • 对于此插件或相关服务直接或间接造成的任何损害,开发人员概不负责。
如果您违反服务条款,我们可能会取消您对TWIN的访问权,并拒绝为您提供支持。

每个许可证对整个网络(通过代理连接)和该网络的测试服务器有效。

不予退款!

版权所有 © 2018 by SamJakob, © 2016-2024 by Rexcantor64

此插件以前称为 MultiLanguagePlugin。出于兼容性原因,在安装 v0 时,它仍然被称为 MultiLanguagePlugin。
  • 点赞
反馈: jgcf666
无下载权限
贡献者

帖子交流

0

点赞金锭

0

贡献资源

0

资源版本 3.11.2
下载量 45
热度 1,117
更新时间
{评级}星 1 星

最新更新

  1. 更新日志

    特征 蹦极:翻译记分牌数据包 #13,#476 (Diogo Correia)) 在组件解析器中支持 1.21.4+ shadowColor #14,#479 (Diogo Correia)...

最新评价

1.12.2Spigot无法运行
Xiaolajix issued server command: /plugman load Triton
[17:18:40 WARN]: org.bukkit.plugin.InvalidPluginException: Cannot find main class `com.rexcantor64.triton.plugin.SpigotPlugin'
[17:18:40 WARN]: at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:80)
[17:18:40 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129)
[17:18:40 WARN]: at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327)
[17:18:40 WARN]: at com.rylinaux.plugman.pluginmanager.BukkitPluginManager.load(BukkitPluginManager.java:372)
[17:18:40 WARN]: at com.rylinaux.plugman.command.LoadCommand.execute(LoadCommand.java:114)
[17:18:40 WARN]: at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:94)
[17:18:40 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[17:18:40 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
[17:18:40 WARN]: at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1234)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13)
[17:18:40 WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[17:18:40 WARN]: at java.util.concurrent.FutureTask.run(Unknown Source)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679)
[17:18:40 WARN]: at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577)
[17:18:40 WARN]: at java.lang.Thread.run(Unknown Source)
[17:18:40 WARN]: Caused by: java.lang.ClassNotFoundException: com.rexcantor64.triton.plugin.SpigotPlugin
[17:18:40 WARN]: at java.net.URLClassLoader.findClass(Unknown Source)
[17:18:40 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152)
[17:18:40 WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:100)
[17:18:40 WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)
[17:18:40 WARN]: at java.lang.ClassLoader.loadClass(Unknown Source)
[17:18:40 WARN]: at java.lang.Class.forName0(Native Method)
[17:18:40 WARN]: at java.lang.Class.forName(Unknown Source)
[17:18:40 WARN]: at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:78)
[17:18:40 WARN]: ... 21 more
回忆 0
顶部