Class LanguageService
java.lang.Object
io.github.theword.queqiao.core.localize.LanguageService
语言翻译服务类。
该服务负责从本地文件系统加载 JSON 格式的翻译库,并为事件消息提供多语言转换支持。 翻译数据通过不可变快照发布,因此翻译调用不需要获取锁。
- Since:
- 0.6.0
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
LanguageService
public LanguageService(boolean isModServer, org.slf4j.Logger logger) 构造并初始化翻译服务。- Parameters:
isModServer- 是否为模组服务端环境logger- 外部传入的日志记录器
-
-
Method Details
-
isInternalEnable
public boolean isInternalEnable()获取翻译服务当前的内部启用状态。- Returns:
- true 表示服务已准备就绪且存在载入的翻译条目。
-
reload
public void reload()重新读取当前翻译目录并发布新状态。所有文件先加载到局部 Map,完成后再整体发布。读取线程只读取 volatile 状态, 不会观察到清空和填充之间的中间状态。并发 reload/disable 由实例锁串行化。
-
translate
对外翻译接口。 根据传入的翻译键映射对应文本,并使用 String.format 填充参数。- Parameters:
key- 翻译键(例如 death.attack.player)args- 翻译参数数组,对应模板中的 %s 等占位符- Returns:
- 翻译并格式化后的文本,或原始 Key
-
disable
public void disable()停用翻译服务。通过发布空状态完成清理,不修改任何已发布 Map。
-