插件使用的客户端有多种语言版本,那么一个优秀的插件需要为尽可能多的语言版本提供本地化的配置。Studio提供了基于IGAS的一整套本地化管理措施。
创建本地化文件
- 首先,enUS作为blz的本土语言,是一般性需要支持的语种,Studio也有一个要求,界面上的文字尽可能使用英文,你在界面上和其他地方使用的文字,都会作为enUS的默认文字保存,如果喜欢在界面上使用中文或者其他语种,那么Studio很难去区分你使用的语种,只能全部作为基础语种enUS处理。因此造成的问题,请自行解决。
那么,同样适用插件菜单中的Add File,这次我们在Type中选择Localization,那么下面的输入框会变成选择框,首先创建默认语种enUS的文件。点击Okay之后,再次添加一个Localization文件,这次选择zhCN(繁体版选择zhTW),同样点击Okay创建好。
- 如图示,我们创建好了两个语种的本地化配置文件。
在修改本地化配置文件之前,我们先来调整下MyAddon中的代码如下,修改后,记得保存。
1 IGAS:NewAddon("MyAddon")
2
3 function _Addon:ADDON_LOADED(name)
4 -- 判断是否是MyAddon被载入
5 if name == "MyAddon" then
6 -- IGAS:MsgBox("XXX") 是IGAS提供的消息框,使用简便,以后会介绍更多关于它的用法。
7 IGAS:MsgBox(L["MyAddon is Loaded!!!"])
8 end
9 end
10
11 function _Addon:PLAYER_LOGIN()
12 _Addon:AddSlashCmd("/mycmd", "/mycmd2", "/mycmd3")
13 end
14
15 function _Addon:OnSlashCmd(msg)
16 if msg and msg ~= "" then
17 -- 如果msg不为空,那么弹出消息
18 IGAS:MsgBox(L["Message is "]..msg)
19 end
20 end
- 在上面的代码中,注意一下,和以前的代码的区别,L在前面谈及Initialize文件时,提起过,这个是在Initialize文件里面定义好的本地化配置对象,使用的方式就是下面这种形式。如果括起来的字符串在本地化配置对象中有对应的字符串,那么本地化的字符串将被返回,如果没有,那么直接返回括起来的字符串。
1 -- 使用 L[ 和 ] 将字符串括起来了
2 IGAS:MsgBox(L["MyAddon is Loaded!!!"])
3 IGAS:MsgBox(L["Message is "]..msg)
最后,让我们在两个本地化文件中随便一个上面点击右键打开本地化文件菜单,选择Update All,之后,打开两个文件查看,我们可以看到,我们在MyAddon中使用的字符串出现在里面,enUS是默认的文件,所以无需进行修改,我们修改下zhCN中的文件如下图
好了,那么再次启动插件,输入/mycmd Hello World 看看效果吧。记得最后停止MyAddon。


