服务器使用量
未统计
服务玩家数
未统计
下载量
15,033
插件详细介绍
欢迎使用 Advanced Multi Language 插件!本插件允许玩家通过简单的命令选择自己的语言,并借助易用的 API,让开发者能够根据玩家所选语言发送对应的服务器消息。请注意,它仅用于发送服务器消息,不会翻译游戏内的聊天内容。
概述
本插件基于 Spigot 1.14.4 开发,但兼容 1.8.x 及以上版本。自 1.4 版起支持 BungeeCord。
功能特性
- 玩家可通过简单命令(如
/language <语言>)设置语言。 - 提供易于集成的 API,供开发者获取玩家语言并发送对应消息。
- 支持 MySQL 或本地文件存储语言数据。
- 可在配置中禁用特定语言,限制玩家选择。
- 若使用 BungeeCord,推荐使用 MySQL 以保证网络内数据同步。
安装与配置
- 将插件放入服务器的
plugins文件夹并重启。 - 若使用 MySQL,需手动创建数据库,插件会自动生成数据表。
- 在
config.yml中配置存储方式(MySQL 或 FlatFile)及可用的语言。
命令列表
玩家可使用以下任一命令设置语言(将 <语言> 替换为语言代码,如 EN):
/language <language>/langue <langue>/sprache <sprache>/taal <taal>/idioma <idioma>/язык <язык>/valoda <valoda>/sprog <sprog>/език <език>/语言 <语言>/nyelv <nyelv>/lingua <lingua>/język <język>/jezik <jezik>/linguagem <linguagem>/jezik <jezik>/kalba <kalba>/dil <dil>/jazyk <jazzyk>/언어 <언어>/limba <limba>
支持的语言
当前支持的语言及其代码
- English: EN
- French: FR
- German: DE
- Dutch: NL
- Spanish: ES
- Russian: RU
- Latvian: LV
- Italian: IT
- Bulgarian: BG
- Hungarian: HU
- Dansk: DK
- Chinese: CHS
- Polish: PL
- Portuguese: PT
- Slovenia: SLO
- Lithuanian: LT
- Turkish: TK
- Slovak: SK
- Czech: CS
- Korean: KO
- Romanian: RO
> 更多语言即将添加。
开发者与 API
获取玩家语言
使用以下代码获取玩家语言(返回语言代码,如 "EN"):
String language = AdvancedMultiLanguageAPI.getLanguageOfUuid(String uuid);其中 uuid 为玩家的 UUID 字符串(例如 player.getUniqueId().toString())。
根据语言发送消息
示例:在玩家加入事件中发送欢迎消息
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
String uuid = player.getUniqueId().toString();
String language = AdvancedMultiLanguage.getLanguageOfUuid(uuid);
if(language.equalsIgnoreCase("EN")) {
player.sendMessage(ChatColor.YELLOW + "Welcome to the server " + player.getName() + "!");
}
if(language.equalsIgnoreCase("NL")) {
player.sendMessage(ChatColor.YELLOW + "Welkom op de server " + player.getName() + "!");
}
if(language.equalsIgnoreCase("FR")) {
player.sendMessage(ChatColor.YELLOW + "Bienvenue sur le serveur " + player.getName() + "!");
}
}从文件获取翻译消息
假设翻译文件位于 plugins/<你的插件>/messages/ 目录下(如 EN.yml),可使用:
String message = AdvancedMultiLanguageAPI.getMessage(p.getUniqueId().toString(), "配置路径", Main.plugin.getName());示例
Player p = (Player) sender;
String message = AdvancedMultiLanguageAPI.getMessage(p.getUniqueId().toString(), "usage", Main.plugin.getName());
sender.sendMessage(message);监听语言更改事件
当玩家更改语言时,会触发 LanguageChangeEvent:
@EventHandler
public void onPlayerChangeLanguage(LanguageChangeEvent event) {
Player player = event.getPlayer(); // 获取玩家
Language language = event.getLanguage(); // 获取新语言
event.setCancelled(true); // 可取消事件
}教程视频
由 @x9nico 制作的 API 使用教程(法语)可供参考。
建议新语言
如需添加新语言,请通过私信提交以下翻译内容(以荷兰语为例):
- "Usage: /language <language>" → "Gebruik: /taal <taal>"
- "This language is disabled." → "Deze taal is uitgeschakeld."
- 语言的本土名称 → "Nederlands"
- 语言的英文名称 → "Dutch"
- "Your language is set to {English}" → "Uw taal is ingesteld op English."
- "Only ingame players can set their language." → "Enkel ingame spelers kunnen hun taal instellen."
- 语言代码 → "NL"
- "Language {English} not found." → "Taal Engels niet gevonden."
- "Attention! You may not speak {English} in the chat." → "Opgelet! Je mag geen Engels spreken in de chat."
默认配置
完整默认配置可查看:http://pastebin.com/zLkhLBEb
开发计划
- 添加更多语言支持
- 增加 messages.yml 功能
- 欢迎通过私信提出建议
使用本 API 的插件
> 如果你的插件使用了此 API,欢迎私信告知插件链接。
支持与关于
如果你喜欢这个插件并愿意支持开发,欢迎捐赠以激励更多创作。
关于开发者
- 本插件由我自豪地开发,希望更多开发者能在其插件中使用此 API。
- 你可以在 Twitter 关注 @smessie_ 获取更新。
- 我运营一个荷兰语 Minecraft 网络,欢迎荷兰语玩家或对荷兰文化感兴趣的朋友加入:play.SmessieCraft.com。
测试支持版本
版本分布
基本信息
插件名称
Advanced Multi Language
作者
smessie
平台
Bukkit / Spigot
支持版本
1.8 - 1.16
点赞数
13
最近版本
暂无数据
-