mirror of
https://github.com/parnic/LibDogTag-3.0.git
synced 2025-06-16 20:20:14 -05:00
212 lines
14 KiB
Lua
212 lines
14 KiB
Lua
local MAJOR_VERSION = "LibDogTag-3.0"
|
||
local MINOR_VERSION = tonumber(("@project-date-integer@"):match("%d+")) or 33333333333333
|
||
|
||
if MINOR_VERSION > _G.DogTag_MINOR_VERSION then
|
||
_G.DogTag_MINOR_VERSION = MINOR_VERSION
|
||
end
|
||
|
||
if GetLocale() == "zhCN" then
|
||
|
||
DogTag_funcs[#DogTag_funcs+1] = function(DogTag)
|
||
local L = DogTag.L
|
||
|
||
L["True"] = "True"
|
||
|
||
-- Namespaces
|
||
L["Base"] = "基本"
|
||
L["Unit"] = "单位"
|
||
|
||
-- Categories
|
||
L["Mathematics"] = "数学"
|
||
L["Operators"] = "运算符"
|
||
L["Text manipulation"] = "文字处理"
|
||
L["Miscellaneous"] = "其它"
|
||
|
||
-- Colors
|
||
L["White"] = "白色"
|
||
L["Red"] = "红色"
|
||
L["Green"] = "绿色"
|
||
L["Blue"] = "蓝色"
|
||
L["Cyan"] = "青色"
|
||
L["Fuchsia"] = "紫红色"
|
||
L["Yellow"] = "黄色"
|
||
L["Gray"] = "灰色"
|
||
|
||
-- Helps
|
||
L["DogTag Help"] = "DogTag帮助"
|
||
L["Test area:"] = "测试区域:"
|
||
L["Output:"] = "输出结果:"
|
||
L["Test on: "] = "测试单位:"
|
||
L["Player"] = "玩家"
|
||
L["Target"] = "目标"
|
||
L["Pet"] = "宠物"
|
||
L["Search:"] = "搜索;"
|
||
L["Syntax"] = "语法"
|
||
L["Search results"] = "搜索结果"
|
||
L["Type your search into the search box in the upper-left corner of DogTag Help"] = "在DogTag帮助窗口左上的搜索框里输入你的搜索信息"
|
||
L["Tags matching %q"] = "符合%q的标签"
|
||
L["alias for "] = "相当于 "
|
||
L["SyntaxHTML"] = [=[<html><body>
|
||
<h1>语法</h1>
|
||
<p>
|
||
LibDogTag-3.0标签本质是一些以方括号括起来的普通标签文本,例如 {这是一个[标签]} 。一般的语法是“OO {[标签]} XX”这样的形式,其中oo和xx都是普通的文字,而 {[标签]} 会被替换成其所代表的动态文字。所有的标签和操作符都不是大小写敏感的,但是如果标签没写错,将会被自动纠正为正常的大小写格式。
|
||
<br/><br/>
|
||
</p>
|
||
<h2>修饰符</h2>
|
||
<p>
|
||
修饰符用于更改标签的输出文字的样子。例如 {{:Hide(0)}} 修饰符在标签输出结果等于数字 {{0}} 的时候会隐藏该结果文本,因此 {[HP:Hide(0)]} 将会显示玩家当前的HP值,等到HP值为0时则什么都不显示。你也可以连续设置多个修饰符,例如:{[MissingHP:Hide(0):Red]} 将会以红色显示当前缺少的HP值,并且在该值为0时不显示东西。修饰符其实是一种标签的语法简化,所以 {[HP:Hide(0)]} 和 {[Hide(HP, 0)]} 的作用是完全一致的。所有的修饰符都可以这样使用,同时所有的标签都可以当作参数,前提是这个修饰符接受参数。
|
||
<br/><br/>
|
||
</p>
|
||
<h2>参数</h2>
|
||
<p>
|
||
标签和修饰符都可以接受参数,以类似 {[标签(参数)]} 或者 {[标签:修饰符(参数)]} 这样的格式输入。你也可以不按照顺序来指定参数,但是要附带参数名称,例如 {[HP(unit='player')]} ,这跟 {[HP('player')]} 以及 {['player':HP]} 的效果是一样的。
|
||
<br/><br/>
|
||
</p>
|
||
<h2>文本</h2>
|
||
<p>
|
||
字符串需要用双引号或者单引号括起来,例如 {["你" '好']} 。数字则可以正常按照数字输入,例如 {[1234 56.78 1e6]} 。也有跟标签同样作用的文本,例如 {{nil}},{{true}} 以及 {{false}} 。
|
||
<br/><br/>
|
||
</p>
|
||
<h2>逻辑判断 ( if 语句 )</h2>
|
||
<p>
|
||
* 运算符 {{&}} 以及 {{and}} 实现了逻辑与的效果,例如 {[OO and XX]} 将会检查OO是不是值为 非false ,如果是,则运行XX。<br />
|
||
* 运算符 {{||}} 以及 {{or}} 实现了逻辑或的效果,例如 {[OO or XX]} 将会检查OO是不是值为 false ,如果是,则运行XX,否则显示OO。<br />
|
||
* 运算符 {{?}} 实现了 if 语句的效果,它可以与 {{!}} 运算符结合用以创建一个 if-else 语句。例如 {[IsPlayer ? "Player"]} 或者 {[IsPlayer ? "Player" ! "NPC"]} 。<br />
|
||
* 运算符 {{if}} 实现了 if 语句的效果,它可以与 {{else}} 运算符结合用以创建一个 if-else 语句。例如 {[if IsPlayer then "Player" end]} or {[if IsPlayer then "Player" else "NPC" end]} 或者 {[if IsPlayer then "Player" elseif IsPet then "Pet" else "NPC"]} 。<br />
|
||
* 运算符 {{not}} 以及 {{~}} 会将一个 false 值转为 true ,或者将一个 true 值转为 false 。例如 {[not IsPlayer]} 或者 {[~IsPlayer]}
|
||
<br/><br/>
|
||
</p>
|
||
<h3>举例</h3>
|
||
<p>
|
||
{[Status || FractionalHP(known=true) || PercentHP]}<br />
|
||
将会返回以下列几种情况其中的一种(只会是一种):<br /><br />
|
||
* "|cffffffff死亡|r", "|cffffffff离线|r", "|cffffffff鬼魂|r" 等 - 因为 || 运算符已经指明存在一个合法的返回值了,所以不会有更多的返回值了<br />
|
||
* "|cffffffff3560/8490|r" 或者 "|cffffffff130/6575|r" (不会是 "|cffffffff62/100|r" 这个样子的,除非目标真的只有 {{100}} 点HP) -- 而且也不会是 "|cffffffff0/2340|r" 或者 "|cffffffff0/3592|r" ,因为这样则表明单位已经死亡,从而会按照顺序被第一个标签给处理了<br />
|
||
* "|cffffffff25|r" 或者 "|cffffffff35|r" 或者 "|cffffffff72|r" (百分比生命) - 如果单位没有死,也没有离线等,并且你的插件也无法确定当前目标的具体生命值时,就会显示百分比形式的生命值。<br /><br />
|
||
{[Status || (IsPlayer ? HP(known=true)) || PercentHP:Percent]} 会返回跟上面差不多的结果,其中的细微差别已经表现的很明显。<br /><br />
|
||
不过还是要说明清楚,嵌套句 {{(IsPlayer ? HP(known=true))}} 创建了一个 if 语句,该语句描述了如果 {{IsPlayer}} 的值为 false ,那么整个标签值就为 false ,如果你都能读到这里,你应该被奖励一块饼干。假如 {{IsPlayer}} 值为 true ,在这个例子里,这个嵌套句的实际返回值应该遵循逻辑与的规则,即返回的是 {{HP(known=true)}} 。所以这行代码在 {{IsPlayer}} 值为 true 的情况下(即单位是一个玩家单位)将会显示 {{HP(known=true)}} 的值。<br/>
|
||
<br/>
|
||
{[if IsFriend then -MissingHP:Green else HP:Red end]}<br />
|
||
将会返回以下列几种情况其中的一种(只会是一种):<br /><br />
|
||
* 假如单位是友好单位,这将会显示他所需的治疗量数字,以回满到他的最大生命值。整个字将会以绿色显示,并且在前面还有一个负号。<br />
|
||
* 假如单位是敌对单位,这将会显示他当前的生命值,就像是这个序列所写的那样,它不会检测是不是存在一个具体的生命值。对于生命值不能确定具体值的敌人,它会显示百分比数字(但是没有百分号),直到可以检测到一个更精确的数字为止。这个值将会以红色显示。
|
||
<br/><br/>
|
||
</p>
|
||
<h2>目标指定</h2>
|
||
<p>
|
||
一般使用DogTag的插件会预先定义好所作用于的单位了,比如 {{"player"}} 或者 {{"mouseover"}} 以及其他的。你也可以指定一个单位覆盖掉标签或者修饰符默认的,以这样的形式:{[标签(unit="myunit")]} 或者 {[标签:修饰符(unit="myunit")]}。例如 {[HP(unit='player')]} 会返回玩家自己的生命值。
|
||
<br/><br/>
|
||
</p>
|
||
<h3>示例单位列表</h3>
|
||
<p>
|
||
* player - 你自己的角色<br />
|
||
* target - 你的目标<br />
|
||
* targettarget - 你的目标的目标<br />
|
||
* pet - 你的宠物<br />
|
||
* mouseover - 你当前鼠标所指向的单位<br />
|
||
* focus - 你的焦点目标<br />
|
||
* party1 - 你小队里的第一名队友<br />
|
||
* partypet2 - 你小队里的第二名队友的宠物<br />
|
||
* raid3 - 你团队里的第三名队友<br />
|
||
* raidpet4 - 你团队里的第四名队友的宠物
|
||
<br/><br/>
|
||
</p>
|
||
<h2>算术运算符</h2>
|
||
<p>
|
||
你可以在你的DogTag序列里面使用算术运算符,它们符合算术的常规运算顺序规则。<br/><br/>
|
||
* {{+}} - 加<br />
|
||
* {{-}} - 减<br />
|
||
* {{*}} - 乘<br />
|
||
* {{/}} - 除<br />
|
||
* {{%}} - 取余数<br />
|
||
* {{^}} - 求幂
|
||
<br/><br/>
|
||
</p>
|
||
<h2>比较运算符</h2>
|
||
<p>
|
||
你可以在你的DogTag序列里面使用比较运算符,就像使用算术运算符那样。<br /><br />
|
||
* {{=}} - 相等<br />
|
||
* {{~=}} - 不等<br />
|
||
* {{<}} - 小于<br />
|
||
* {{>}} - 大于<br />
|
||
* {{<=}} - 小于等于<br />
|
||
* {{>=}} - 大于等于
|
||
<br/><br/>
|
||
</p>
|
||
<h2>拼接</h2>
|
||
<p>
|
||
拼接(将两个文本连在一起)非常简单,你只需要将每个字符串一个接一个放置,每两个之间添加一个空格,例如 {['你' "好"]} => "|cffffffff你好|r"。举个更现实点的例子,{[HP '/' MaxHP]} => "|cffffffff50/100|r" 。
|
||
</p>
|
||
</body></html>]=]
|
||
|
||
-- Docs
|
||
-- Math
|
||
L["Round number to the one's place or the place specified by digits"] = "四舍五入数字到个位,或者到所指定的位数"
|
||
L["Take the floor of number"] = "返回小于等于指定数字的最大整数"
|
||
L["Take the ceiling of number"] = "返回小于等于指定数字的最小整数"
|
||
L["Take the absolute value of number"] = "返回指定数字的绝对值"
|
||
L["Take the signum of number"] = "返回指定数字的符号"
|
||
L["Return the greatest value of the given arguments"] = "返回给定参数中的最大值"
|
||
L["Return the smallest value of the given arguments"] = "返回给定参数中的最小值"
|
||
L["Return the mathematical number π, or %s"] = "返回π的值,即%s"
|
||
L["Convert radian into degrees"] = "将弧度转换为角度"
|
||
L["Convert degree into radians"] = "将角度转换为弧度"
|
||
L["Return the cosine of radian"] = "返回弧度的余弦值"
|
||
L["Return the sin of radian"] = "返回弧度的正弦值"
|
||
L["Return the natural log of number"] = "返回指定数字的自然对数"
|
||
L["Return the log base 10 of number"] = "返回指定数字以10为底的对数"
|
||
-- Operators
|
||
L["Add left and right together"] = "将左右值相加"
|
||
L["Subtract right from left"] = "从左值中减去右值"
|
||
L["Multiple left and right together"] = "将左右值相乘"
|
||
L["Divide left by right"] = "用左值除以右值"
|
||
L["Take the modulus of left and right"] = "用左值除以右值,返回余数"
|
||
L["Raise left to the right power"] = "返回左值的右值次幂"
|
||
L["Check if left is less than right, if so, return left"] = "如果左值比右值小,则返回左值"
|
||
L["Check if left is greater than right, if so, return left"] = "如果左值比右值大,则返回左值"
|
||
L["Check if left is less than or equal to right, if so, return left"] = "如果左值小于等于右值,则返回左值"
|
||
L["Check if left is greater than or equal to right, if so, return left"] = "如果左值大于等于右值,则返回左值"
|
||
L["Check if left is equal to right, if so, return left"] = "如果左右两值相等,则返回左值"
|
||
L["Check if left is not equal to right, if so, return left"] = "如果左右两值不等,则返回左值"
|
||
L["Return the negative of number"] = "返回指定数字的相反值"
|
||
-- Text manipulation
|
||
L["Append a percentage sign to the end of number"] = "在数字后面添加一个百分数符号"
|
||
L["Shorten value to have at maximum 3 decimal places showing"] = "将数字简写到最多只有3位的显示方式"
|
||
L["Shorten value to its closest denomination"] = "将数字简写到最贴近的千位值"
|
||
L["Turn value into an uppercase string"] = "将值转换为全部大写的形式"
|
||
L["Turn value into an lowercase string"] = "将值转换为全部小写的形式"
|
||
L["Wrap value with square brackets"] = "将值用方括号括起来"
|
||
L["Wrap value with angle brackets"] = "将值用尖括号括起来"
|
||
L["Wrap value with braces"] = "将值用大括号括起来"
|
||
L["Wrap value with parentheses"] = "将值用小括号括起来"
|
||
L["Truncate value to the length specified by number, adding ellipses by default"] = "将值截断到指定的长度,默认添加省略号"
|
||
L["Return the characters specified by start and finish. If either are negative, it means take from the end instead of the beginning"] = "返回两个参数所指定的位置之间的字符串。如果其中一个参数为负,则表明是从后往前而不是从前往后"
|
||
L["Repeat value number times"] = "将值重复拼接指定的次数"
|
||
L["Return the length of value"] = "返回值的长度"
|
||
L["Turn number_value into a roman numeral."] = "将一个数字值转化为罗马样式"
|
||
L["Abbreviate value if a space is found"] = "如果值有空格,则返回整个值的首字母缩写"
|
||
L["Concatenate the values of ... as long as they are all non-blank"] = "当所有给定值都不为空时,拼接所有的值"
|
||
L["Append right to left if right exists"] = "如果右值存在,则将右值附加在左值之后"
|
||
L["Prepend left to right if right exists"] = "如果右值存在,则将右值附加在左值之前"
|
||
-- Misc
|
||
L["Return True if the Alt key is held down"] = "如果Alt正在按下则返回True"
|
||
L["Return True if the Shift key is held down"] = "如果Shift正在按下则返回True"
|
||
L["Return True if the Ctrl key is held down"] = "如果Ctrl正在按下则返回True"
|
||
L["Return the current time in seconds, specified by WoW's internal format"] = "以魔兽的内部格式返回当前的时间,以秒为单位"
|
||
L["Set the transparency of the FontString according to argument"] = "依据参数设置FontString的透明度"
|
||
L["Set the FontString to be outlined"] = "让FontString有外描线"
|
||
L["Set the FontString to be outlined thickly"] = "让FontString有较粗的外描线"
|
||
L["Return True if currently mousing over the Frame the FontString is harbored in"] = "如果当前鼠标悬停框体是FontString所停靠的话,返回True"
|
||
L["Return the color or wrap value with the rrggbb color of argument"] = "返回颜色,或者依据参数用颜色代码(rrggbb)将值括起来"
|
||
L["Return the color or wrap value with %s color"] = "返回颜色,或者用%s代码将值括起来"
|
||
L["Return value if value is within ..."] = "如果值存在于参数中,则返回值"
|
||
L["Hide value if value is within ..."] = "如果值不存在于参数中,则返回值"
|
||
L["Return left if left contains right"] = "如果左值包含了右值,则返回左值"
|
||
L["Return True if non-blank"] = "如果值不为空则返回True"
|
||
L["Return a string formatted by format"] = "返回按指定格式格式化的字符串"
|
||
L["Return a string formatted by format. Use 'e' for extended, 'f' for full, 's' for short, 'c' for compressed."] = "返回按指定格式格式化的字符串。'e'为扩展格式,'f'为完整格式,'s'为简短格式,'c'为压缩格式。"
|
||
L["Return an icon using the given path"] = "返回依据指定的路径和大小所生成的图标"
|
||
end
|
||
|
||
end
|