This commit is contained in:
Andrew6810
2022-10-21 06:44:05 -07:00
parent cc1c5078b7
commit b27c043acb
26 changed files with 5164 additions and 2 deletions
+762
View File
@@ -0,0 +1,762 @@
--[[---------------------------------------------------------------------------------
Clique by Cladhaire <cladhaire@gmail.com>
----------------------------------------------------------------------------------]]
Clique = {Locals = {}}
assert(DongleStub, string.format("Clique requires DongleStub."))
DongleStub("Dongle-1.2"):New("Clique", Clique)
Clique.version = GetAddOnMetadata("Clique", "Version")
if Clique.version == "wowi:revision" then Clique.version = "SVN" end
local L = Clique.Locals
function Clique:Enable()
-- Grab the localisation header
L = Clique.Locals
self.ooc = {}
self.defaults = {
profile = {
clicksets = {
[L.CLICKSET_DEFAULT] = {},
[L.CLICKSET_HARMFUL] = {},
[L.CLICKSET_HELPFUL] = {},
[L.CLICKSET_OOC] = {},
},
blacklist = {
},
tooltips = false,
},
char = {
switchSpec = false,
downClick = false,
},
}
self.db = self:InitializeDB("CliqueDB", self.defaults)
self.profile = self.db.profile
self.clicksets = self.profile.clicksets
self.editSet = self.clicksets[L.CLICKSET_DEFAULT]
ClickCastFrames = ClickCastFrames or {}
self.ccframes = ClickCastFrames
local newindex = function(t,k,v)
if v == nil then
Clique:UnregisterFrame(k)
rawset(self.ccframes, k, nil)
else
Clique:RegisterFrame(k)
rawset(self.ccframes, k, v)
end
end
ClickCastFrames = setmetatable({}, {__newindex=newindex})
Clique:OptionsOnLoad()
Clique:EnableFrames()
-- Register for dongle events
self:RegisterMessage("DONGLE_PROFILE_CHANGED")
self:RegisterMessage("DONGLE_PROFILE_DELETED")
self:RegisterMessage("DONGLE_PROFILE_RESET")
self:RegisterEvent("PLAYER_REGEN_ENABLED")
self:RegisterEvent("PLAYER_REGEN_DISABLED")
self:RegisterEvent("LEARNED_SPELL_IN_TAB")
self:RegisterEvent("COMMENTATOR_SKIRMISH_QUEUE_REQUEST")
self:RegisterEvent("ADDON_LOADED")
-- Change to correct profile based on talent spec
if self.db.char.switchSpec then
self.silentProfile = true
self.talentGroup = CA_GetActiveSpecId() + 1
if self.db.char["spec"..self.talentGroup.."Profile"] then
self.db:SetProfile(self.db.char["spec"..self.talentGroup.."Profile"])
end
self.silentProfile = false
end
self:UpdateClicks()
-- Register all frames that snuck in before we did =)
for frame in pairs(self.ccframes) do
self:RegisterFrame(frame)
end
-- Securehook CreateFrame to catch any new raid frames
local raidFunc = function(type, name, parent, template)
if template == "RaidPulloutButtonTemplate" then
ClickCastFrames[getglobal(name.."ClearButton")] = true
end
end
local oldotsu = GameTooltip:GetScript("OnTooltipSetUnit")
if oldotsu then
GameTooltip:SetScript("OnTooltipSetUnit", function(...)
Clique:AddTooltipLines()
return oldotsu(...)
end)
else
GameTooltip:SetScript("OnTooltipSetUnit", function(...)
Clique:AddTooltipLines()
end)
end
hooksecurefunc("CreateFrame", raidFunc)
-- Create our slash command
self.cmd = self:InitializeSlashCommand("Clique commands", "CLIQUE", "clique")
self.cmd:RegisterSlashHandler("debug - Enables extra messages for debugging purposes", "debug", "ShowAttributes")
self.cmd:InjectDBCommands(self.db, "copy", "delete", "list", "reset", "set")
self.cmd:RegisterSlashHandler("tooltip - Enables binding lists in tooltips.", "tooltip", "ToggleTooltip")
self.cmd:RegisterSlashHandler("showbindings - Shows a window that contains the current bindings", "showbindings", "ShowBindings")
-- Place the Clique tab
self:LEARNED_SPELL_IN_TAB()
-- Register the arena frames, if they're already loaded
if IsAddOnLoaded("Blizzard_ArenaUI") then
self:EnableArenaFrames()
end
end
function Clique:EnableFrames()
local tbl = {
PlayerFrame,
PetFrame,
PartyMemberFrame1,
PartyMemberFrame2,
PartyMemberFrame3,
PartyMemberFrame4,
PartyMemberFrame1PetFrame,
PartyMemberFrame2PetFrame,
PartyMemberFrame3PetFrame,
PartyMemberFrame4PetFrame,
TargetFrame,
TargetFrameToT,
FocusFrame,
FocusFrameToT,
Boss1TargetFrame,
Boss2TargetFrame,
Boss3TargetFrame,
Boss4TargetFrame,
}
for i,frame in pairs(tbl) do
rawset(self.ccframes, frame, true)
end
end
function Clique:SpellBookButtonPressed(frame, button)
local texture = getglobal(frame:GetParent():GetName().."IconTexture"):GetTexture()
local name = getglobal(frame:GetParent():GetName().."SpellName"):GetText()
local rank = getglobal(frame:GetParent():GetName().."SubSpellName"):GetText()
if rank == L.RACIAL_PASSIVE or rank == L.PASSIVE then
StaticPopup_Show("CLIQUE_PASSIVE_SKILL")
return
end
local type = "spell"
if self.editSet == self.clicksets[L.CLICKSET_HARMFUL] then
button = string.format("%s%d", "harmbutton", self:GetButtonNumber(button))
elseif self.editSet == self.clicksets[L.CLICKSET_HELPFUL] then
button = string.format("%s%d", "helpbutton", self:GetButtonNumber(button))
else
button = self:GetButtonNumber(button)
end
-- Clear the rank if "Show all spell ranks" is selected
if not GetCVarBool("ShowAllSpellRanks") then
rank = nil
end
-- Build the structure
local t = {
["button"] = button,
["modifier"] = self:GetModifierText(),
["texture"] = texture,
["type"] = type,
["arg1"] = name,
["arg2"] = rank,
}
local key = t.modifier .. t.button
if self:CheckBinding(key) then
StaticPopup_Show("CLIQUE_BINDING_PROBLEM")
return
end
self.editSet[key] = t
self:ListScrollUpdate()
self:UpdateClicks()
-- We can only make changes when out of combat
self:PLAYER_REGEN_ENABLED()
end
-- Player is LEAVING combat
function Clique:PLAYER_REGEN_ENABLED()
self:ApplyClickSet(L.CLICKSET_DEFAULT)
self:RemoveClickSet(L.CLICKSET_HARMFUL)
self:RemoveClickSet(L.CLICKSET_HELPFUL)
self:ApplyClickSet(self.ooc)
end
-- Player is ENTERING combat
function Clique:PLAYER_REGEN_DISABLED()
self:RemoveClickSet(self.ooc)
self:ApplyClickSet(L.CLICKSET_DEFAULT)
self:ApplyClickSet(L.CLICKSET_HARMFUL)
self:ApplyClickSet(L.CLICKSET_HELPFUL)
end
function Clique:UpdateClicks()
local ooc = self.clicksets[L.CLICKSET_OOC]
local harm = self.clicksets[L.CLICKSET_HARMFUL]
local help = self.clicksets[L.CLICKSET_HELPFUL]
-- Since harm/help buttons take priority over any others, we can't
--
-- just apply the OOC set last. Instead we use the self.ooc pseudo
-- set (which we build here) which contains only those help/harm
-- buttons that don't conflict with those defined in OOC.
self.ooc = table.wipe(self.ooc or {})
-- Create a hash map of the "taken" combinations
local takenBinds = {}
for name, entry in pairs(ooc) do
local key = string.format("%s:%s", entry.modifier, entry.button)
takenBinds[key] = true
table.insert(self.ooc, entry)
end
for name, entry in pairs(harm) do
local button = string.gsub(entry.button, "harmbutton", "")
local key = string.format("%s:%s", entry.modifier, button)
if not takenBinds[key] then
table.insert(self.ooc, entry)
end
end
for name, entry in pairs(help) do
local button = string.gsub(entry.button, "helpbutton", "")
local key = string.format("%s:%s", entry.modifier, button)
if not takenBinds[key] then
table.insert(self.ooc, entry)
end
end
self:UpdateTooltip()
end
function Clique:RegisterFrame(frame)
local name = frame:GetName()
if self.profile.blacklist[name] then
rawset(self.ccframes, frame, false)
return
end
if not ClickCastFrames[frame] then
rawset(self.ccframes, frame, true)
if CliqueTextListFrame then
Clique:TextListScrollUpdate()
end
end
-- Register AnyUp or AnyDown on this frame, depending on configuration
self:SetClickType(frame)
if frame:CanChangeAttribute() or frame:CanChangeProtectedState() then
if InCombatLockdown() then
self:ApplyClickSet(L.CLICKSET_DEFAULT, frame)
self:ApplyClickSet(L.CLICKSET_HELPFUL, frame)
self:ApplyClickSet(L.CLICKSET_HARMFUL, frame)
else
self:ApplyClickSet(L.CLICKSET_DEFAULT, frame)
self:ApplyClickSet(self.ooc, frame)
end
end
end
function Clique:ApplyClickSet(name, frame)
local set = self.clicksets[name] or name
if frame then
for modifier,entry in pairs(set) do
self:SetAttribute(entry, frame)
end
else
for modifier,entry in pairs(set) do
self:SetAction(entry)
end
end
end
function Clique:RemoveClickSet(name, frame)
local set = self.clicksets[name] or name
if frame then
for modifier,entry in pairs(set) do
self:DeleteAttribute(entry, frame)
end
else
for modifier,entry in pairs(set) do
self:DeleteAction(entry)
end
end
end
function Clique:UnregisterFrame(frame)
assert(not InCombatLockdown(), "An addon attempted to unregister a frame from Clique while in combat.")
for name,set in pairs(self.clicksets) do
for modifier,entry in pairs(set) do
self:DeleteAttribute(entry, frame)
end
end
end
function Clique:DONGLE_PROFILE_CHANGED(event, db, parent, svname, profileKey)
if db == self.db then
if not self.silentProfile then
self:PrintF(L.PROFILE_CHANGED, profileKey)
end
for name,set in pairs(self.clicksets) do
self:RemoveClickSet(set)
end
self:RemoveClickSet(self.ooc)
self.profile = self.db.profile
self.clicksets = self.profile.clicksets
self.editSet = self.clicksets[L.CLICKSET_DEFAULT]
self.profileKey = profileKey
-- Refresh the profile editor if it exists
self.textlistSelected = nil
self:TextListScrollUpdate()
self:ListScrollUpdate()
self:UpdateClicks()
self:PLAYER_REGEN_ENABLED()
end
end
function Clique:DONGLE_PROFILE_RESET(event, db, parent, svname, profileKey)
if db == self.db then
for name,set in pairs(self.clicksets) do
self:RemoveClickSet(set)
end
self:RemoveClickSet(self.ooc)
self.profile = self.db.profile
self.clicksets = self.profile.clicksets
self.editSet = self.clicksets[L.CLICKSET_DEFAULT]
self.profileKey = profileKey
-- Refresh the profile editor if it exists
self.textlistSelected = nil
self:TextListScrollUpdate()
self:ListScrollUpdate()
self:UpdateClicks()
self:PLAYER_REGEN_ENABLED()
self:Print(L.PROFILE_RESET, profileKey)
end
end
function Clique:DONGLE_PROFILE_DELETED(event, db, parent, svname, profileKey)
if db == self.db then
self:PrintF(L.PROFILE_DELETED, profileKey)
self.textlistSelected = nil
self:TextListScrollUpdate()
self:ListScrollUpdate()
end
end
function Clique:SetAttribute(entry, frame)
local name = frame:GetName()
if self.profile.blacklist and self.profile.blacklist[name] then
return
end
-- Set up any special attributes
local type,button,value
if not tonumber(entry.button) then
type,button = select(3, string.find(entry.button, "(%a+)button(%d+)"))
frame:SetAttribute(entry.modifier..entry.button, type..button)
assert(frame:GetAttribute(entry.modifier..entry.button, type..button))
button = string.format("-%s%s", type, button)
end
button = button or entry.button
if entry.type == "actionbar" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."action"..button, entry.arg1)
elseif entry.type == "action" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."action"..button, entry.arg1)
if entry.arg2 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg2)
end
elseif entry.type == "pet" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."action"..button, entry.arg1)
if entry.arg2 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg2)
end
elseif entry.type == "spell" then
local rank = entry.arg2
local cast
if rank then
if tonumber(rank) then
-- The rank is a number (pre-2.3) so fill in the format
cast = L.CAST_FORMAT:format(entry.arg1, rank)
else
-- The whole rank string is saved (post-2.3) so use it
cast = string.format("%s(%s)", entry.arg1, rank)
end
else
cast = entry.arg1
end
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."spell"..button, cast)
frame:SetAttribute(entry.modifier.."bag"..button, entry.arg2)
frame:SetAttribute(entry.modifier.."slot"..button, entry.arg3)
frame:SetAttribute(entry.modifier.."item"..button, entry.arg4)
if entry.arg5 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg5)
end
elseif entry.type == "item" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."bag"..button, entry.arg1)
frame:SetAttribute(entry.modifier.."slot"..button, entry.arg2)
frame:SetAttribute(entry.modifier.."item"..button, entry.arg3)
if entry.arg4 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg4)
end
elseif entry.type == "macro" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
if entry.arg1 then
frame:SetAttribute(entry.modifier.."macro"..button, entry.arg1)
else
local unit = SecureButton_GetModifiedUnit(frame, entry.modifier.."unit"..button)
local macro = tostring(entry.arg2)
if unit and macro then
macro = macro:gsub("target%s*=%s*clique", "target="..unit)
end
frame:SetAttribute(entry.modifier.."macro"..button, nil)
frame:SetAttribute(entry.modifier.."macrotext"..button, macro)
end
elseif entry.type == "stop" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
elseif entry.type == "target" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
if entry.arg1 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg1)
end
elseif entry.type == "focus" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
if entry.arg1 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg1)
end
elseif entry.type == "assist" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
if entry.arg1 then
frame:SetAttribute(entry.modifier.."unit"..button, entry.arg1)
end
elseif entry.type == "click" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
frame:SetAttribute(entry.modifier.."clickbutton"..button, getglobal(entry.arg1))
elseif entry.type == "menu" then
frame:SetAttribute(entry.modifier.."type"..button, entry.type)
end
end
function Clique:DeleteAttribute(entry, frame)
local name = frame:GetName()
if self.profile.blacklist and self.profile.blacklist[name] then
return
end
local type,button,value
if not tonumber(entry.button) then
type,button = select(3, string.find(entry.button, "(%a+)button(%d+)"))
frame:SetAttribute(entry.modifier..entry.button, nil)
button = string.format("-%s%s", type, button)
end
button = button or entry.button
entry.delete = true
frame:SetAttribute(entry.modifier.."type"..button, nil)
frame:SetAttribute(entry.modifier..entry.type..button, nil)
end
function Clique:SetAction(entry)
for frame,enabled in pairs(self.ccframes) do
if enabled then
self:SetAttribute(entry, frame)
end
end
end
function Clique:DeleteAction(entry)
for frame in pairs(self.ccframes) do
self:DeleteAttribute(entry, frame)
end
end
function Clique:ShowAttributes()
self:Print("Enabled enhanced debugging.")
PlayerFrame:SetScript("OnAttributeChanged", function(...) self:Print(...) end)
self:UnregisterFrame(PlayerFrame)
self:RegisterFrame(PlayerFrame)
end
local tt_ooc = {}
local tt_help = {}
local tt_harm = {}
local tt_default = {}
function Clique:UpdateTooltip()
local ooc = self.ooc
local default = self.clicksets[L.CLICKSET_DEFAULT]
local harm = self.clicksets[L.CLICKSET_HARMFUL]
local help = self.clicksets[L.CLICKSET_HELPFUL]
for k,v in pairs(tt_ooc) do tt_ooc[k] = nil end
for k,v in pairs(tt_help) do tt_help[k] = nil end
for k,v in pairs(tt_harm) do tt_harm[k] = nil end
for k,v in pairs(tt_default) do tt_default[k] = nil end
-- Build the ooc lines, which includes both helpful and harmful
for k,v in pairs(ooc) do
local button = self:GetButtonText(v.button)
local mod = string.format("%s%s", v.modifier or "", button)
local action = string.format("%s (%s)", v.arg1 or "", v.type)
table.insert(tt_ooc, {mod = mod, action = action})
end
-- Build the default lines
for k,v in pairs(default) do
local button = self:GetButtonText(v.button)
local mod = string.format("%s%s", v.modifier or "", button)
local action = string.format("%s (%s)", v.arg1 or "", v.type)
table.insert(tt_default, {mod = mod, action = action})
end
-- Build the harm lines
for k,v in pairs(harm) do
local button = self:GetButtonText(v.button)
local mod = string.format("%s%s", v.modifier or "", button)
local action = string.format("%s (%s)", v.arg1 or "", v.type)
table.insert(tt_harm, {mod = mod, action = action})
end
-- Build the help lines
for k,v in pairs(help) do
local button = self:GetButtonText(v.button)
local mod = string.format("%s%s", v.modifier or "", button)
local action = string.format("%s (%s)", v.arg1 or "", v.type)
table.insert(tt_help, {mod = mod, action = action})
end
local function sort(a,b)
return a.mod < b.mod
end
table.sort(tt_ooc, sort)
table.sort(tt_default, sort)
table.sort(tt_harm, sort)
table.sort(tt_help, sort)
end
function Clique:AddTooltipLines()
if not self.profile.tooltips then return end
local frame = GetMouseFocus()
if not frame then return end
if not self.ccframes[frame] then return end
-- Add a buffer line
GameTooltip:AddLine(" ")
if UnitAffectingCombat("player") then
if #tt_default ~= 0 then
GameTooltip:AddLine("Default bindings:")
for k,v in ipairs(tt_default) do
GameTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
if #tt_help ~= 0 and not UnitCanAttack("player", "mouseover") then
GameTooltip:AddLine("Helpful bindings:")
for k,v in ipairs(tt_help) do
GameTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
if #tt_harm ~= 0 and UnitCanAttack("player", "mouseover") then
GameTooltip:AddLine("Hostile bindings:")
for k,v in ipairs(tt_harm) do
GameTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
else
if #tt_ooc ~= 0 then
GameTooltip:AddLine("Out of combat bindings:")
for k,v in ipairs(tt_ooc) do
GameTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
end
end
function Clique:ToggleTooltip()
self.profile.tooltips = not self.profile.tooltips
self:PrintF("Listing of bindings in tooltips has been %s",
self.profile.tooltips and "Enabled" or "Disabled")
end
function Clique:ShowBindings()
if not CliqueTooltip then
CliqueTooltip = CreateFrame("GameTooltip", "CliqueTooltip", UIParent, "GameTooltipTemplate")
CliqueTooltip:SetPoint("CENTER", 0, 0)
CliqueTooltip.close = CreateFrame("Button", nil, CliqueTooltip)
CliqueTooltip.close:SetHeight(32)
CliqueTooltip.close:SetWidth(32)
CliqueTooltip.close:SetPoint("TOPRIGHT", 1, 0)
CliqueTooltip.close:SetScript("OnClick", function()
CliqueTooltip:Hide()
end)
CliqueTooltip.close:SetNormalTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Up")
CliqueTooltip.close:SetPushedTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Down")
CliqueTooltip.close:SetHighlightTexture("Interface\\Buttons\\UI-Panel-MinimizeButton-Highlight")
CliqueTooltip:EnableMouse()
CliqueTooltip:SetMovable()
CliqueTooltip:SetPadding(16)
CliqueTooltip:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b);
CliqueTooltip:SetBackdropColor(TOOLTIP_DEFAULT_BACKGROUND_COLOR.r, TOOLTIP_DEFAULT_BACKGROUND_COLOR.g, TOOLTIP_DEFAULT_BACKGROUND_COLOR.b);
CliqueTooltip:RegisterForDrag("LeftButton")
CliqueTooltip:SetScript("OnDragStart", function(self)
self:StartMoving()
end)
CliqueTooltip:SetScript("OnDragStop", function(self)
self:StopMovingOrSizing()
ValidateFramePosition(self)
end)
CliqueTooltip:SetOwner(UIParent, "ANCHOR_PRESERVE")
end
if not CliqueTooltip:IsShown() then
CliqueTooltip:SetOwner(UIParent, "ANCHOR_PRESERVE")
end
-- Actually fill it with the bindings
CliqueTooltip:SetText("Clique Bindings")
if #tt_default > 0 then
CliqueTooltip:AddLine(" ")
CliqueTooltip:AddLine("Default bindings:")
for k,v in ipairs(tt_default) do
CliqueTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
if #tt_help > 0 then
CliqueTooltip:AddLine(" ")
CliqueTooltip:AddLine("Helpful bindings:")
for k,v in ipairs(tt_help) do
CliqueTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
if #tt_harm > 0 then
CliqueTooltip:AddLine(" ")
CliqueTooltip:AddLine("Hostile bindings:")
for k,v in ipairs(tt_harm) do
CliqueTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
if #tt_ooc > 0 then
CliqueTooltip:AddLine(" ")
CliqueTooltip:AddLine("Out of combat bindings:")
for k,v in ipairs(tt_ooc) do
CliqueTooltip:AddDoubleLine(v.mod, v.action, 1, 1, 1, 1, 1, 1)
end
end
CliqueTooltip:Show()
end
function Clique:COMMENTATOR_SKIRMISH_QUEUE_REQUEST(event, typeName, newGroup)
if typeName ~= "ASCENSION_CA_SPECIALIZATION_ACTIVE_ID_CHANGED" then return end
if self.db.char.switchSpec then
self:Print("Detected a talent spec change, changing profile")
-- self:Print("Detected "..typeName..", changing profile to "..newGroup)
newGroup = newGroup + 1
if self.db.char["spec"..newGroup.."Profile"] then
self.db:SetProfile(self.db.char["spec"..newGroup.."Profile"])
end
if CliqueFrame then
CliqueFrame.title:SetText("Clique v. " .. Clique.version .. " - " .. tostring(Clique.db.keys.profile));
end
end
end
function Clique:SetClickType(frame)
local clickType = Clique.db.char.downClick and "AnyDown" or "AnyUp"
if frame then
frame:RegisterForClicks(clickType)
else
for frame, enabled in pairs(self.ccframes) do
if enabled then
frame:RegisterForClicks(clickType)
end
end
end
end
function Clique:EnableArenaFrames()
local arenaFrames = {
ArenaEnemyFrame1,
ArenaEnemyFrame2,
ArenaEnemyFrame3,
ArenaEnemyFrame4,
ArenaEnemyFrame5,
}
for idx,frame in ipairs(arenaFrames) do
rawset(self.ccframes, frame, true)
end
end
function Clique:ADDON_LOADED(event, addon)
if addon == "Blizzard_ArenaUI" then
self:EnableArenaFrames()
end
end
+26
View File
@@ -0,0 +1,26 @@
## Interface: 30300
## Title: Clique
## Author: Cladhaire, Jobus
## Version: wowi:revision
## Notes: Simply powerful click-casting interface. Tailored for Ascension.
## SavedVariables: CliqueDB
## OptionalDeps: Dongle
## X-Curse-Packaged-Version: r143-release
## X-Curse-Project-Name: Clique
## X-Curse-Project-ID: clique
## X-Curse-Repository-ID: wow/clique/mainline
Dongle.lua
Clique.xml
Clique.lua
Localization.enUS.lua
Localization.esES.lua
Localization.esMX.lua
Localization.frFR.lua
Localization.deDE.lua
Localization.koKR.lua
Localization.ruRU.lua
Localization.zhCN.lua
Localization.zhTW.lua
CliqueOptions.lua
CliqueUtils.lua
+96
View File
@@ -0,0 +1,96 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<CheckButton name="CliqueIconTemplate" virtual="true">
<Size>
<AbsDimension x="36" y="36"/>
</Size>
<Layers>
<Layer level="BACKGROUND">
<Texture file="Interface\Buttons\UI-EmptySlot-Disabled">
<Size>
<AbsDimension x="64" y="64"/>
</Size>
<Anchors>
<Anchor point="CENTER">
<Offset>
<AbsDimension x="0" y="-1"/>
</Offset>
</Anchor>
</Anchors>
</Texture>
</Layer>
</Layers>
<NormalTexture name="$parentIcon">
<Size>
<AbsDimension x="36" y="36"/>
</Size>
<Anchors>
<Anchor point="CENTER">
<Offset>
<AbsDimension x="0" y="-1"/>
</Offset>
</Anchor>
</Anchors>
</NormalTexture>
<HighlightTexture alphaMode="ADD" file="Interface\Buttons\ButtonHilight-Square"/>
<CheckedTexture alphaMode="ADD" file="Interface\Buttons\CheckButtonHilight"/>
<Scripts>
<OnClick>
Clique:SetSpellIcon(self)
</OnClick>
</Scripts>
</CheckButton>
<Frame name="CliqueEditTemplate" virtual="true" hidden="true">
<Size>
<AbsDimension x="286" y="106"/>
</Size>
<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\Tooltips\UI-Tooltip-Border" tile="true">
<BackgroundInsets>
<AbsInset left="4" right="4" top="4" bottom="4" />
</BackgroundInsets>
<TileSize>
<AbsValue val="16" />
</TileSize>
<EdgeSize>
<AbsValue val="16" />
</EdgeSize>
</Backdrop>
<Frames>
<ScrollFrame name="$parentScrollFrame" inherits="UIPanelScrollFrameTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset><AbsDimension x="8" y="-8"/></Offset>
</Anchor>
<Anchor point="BOTTOMRIGHT">
<Offset><AbsDimension x="-8" y="8"/></Offset>
</Anchor>
</Anchors>
<ScrollChild>
<EditBox name="$parentEditBox" multiLine="true" letters="255" autoFocus="false">
<Size>
<AbsDimension x="270" y="90"/>
</Size>
<Scripts>
<OnTextChanged>
local scrollBar = getglobal(this:GetParent():GetName().."ScrollBar")
this:GetParent():UpdateScrollChildRect();
local min;
local max;
min, max = scrollBar:GetMinMaxValues();
if ( max > 0 and (this.max ~= max) ) then
this.max = max;
scrollBar:SetValue(max);
end
</OnTextChanged>
<OnEscapePressed>
this:ClearFocus();
</OnEscapePressed>
</Scripts>
<FontString inherits="GameFontHighlightSmall"/>
</EditBox>
</ScrollChild>
</ScrollFrame>
</Frames>
</Frame>
</Ui>
File diff suppressed because it is too large Load Diff
+47
View File
@@ -0,0 +1,47 @@
local buttonMap = setmetatable({
[1] = "LeftButton",
[2] = "RightButton",
[3] = "MiddleButton",
}, {
__index = function(t, k)
return "Button" .. k
end
})
function Clique:GetModifierText()
local modifier = ""
if IsShiftKeyDown() then
modifier = "Shift-"..modifier
end
if IsControlKeyDown() then
modifier = "Ctrl-"..modifier
end
if IsAltKeyDown() then
modifier = "Alt-"..modifier
end
return modifier
end
function Clique:GetButtonNumber(button)
return SecureButton_GetButtonSuffix(button)
end
function Clique:GetButtonText(num)
if not num then return "" end
if type(num) == "string" then
num = num:gsub("helpbutton", "")
num = num:gsub("harmbutton", "")
end
num = tonumber(num) and tonumber(num) or num
return buttonMap[num] or ""
end
function Clique:CheckBinding(key)
for k,v in pairs(self.editSet) do
if k == key then
return v
end
end
end
+1434
View File
File diff suppressed because it is too large Load Diff
+110
View File
@@ -0,0 +1,110 @@
--[[---------------------------------------------------------------------------------
Localisation for deDE. Any commented lines need to be updated
----------------------------------------------------------------------------------]]
local L = Clique.Locals
if GetLocale() == "deDE" then
L.RANK = "Rang"
L.RANK_PATTERN = "Rang (%d+)"
L.CAST_FORMAT = "%s(Rang %s)"
L.RACIAL_PASSIVE = "Volk Passiv"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "Standard"
L.CLICKSET_HARMFUL = "Schadhafte Aktionen"
L.CLICKSET_HELPFUL = "Hilfreiche Aktionen"
L.CLICKSET_OOC = "Au\195\159erhalb des Kampfes"
L.CLICKSET_BEARFORM = "B\195\164ren Gestalt"
L.CLICKSET_CATFORM = "Katzen Gestalt"
L.CLICKSET_AQUATICFORM = "Wasser Gestalt"
L.CLICKSET_TRAVELFORM = "Reise Gestalt"
L.CLICKSET_MOONKINFORM = "Moonkin Gestalt"
L.CLICKSET_TREEOFLIFE = "Baum des Lebens Gestalt"
L.CLICKSET_SHADOWFORM = "Schattengestalt"
L.CLICKSET_STEALTHED = "Getarnt"
L.CLICKSET_BATTLESTANCE = "Kampfhaltung"
L.CLICKSET_DEFENSIVESTANCE = "Verteidigungshaltung"
L.CLICKSET_BERSERKERSTANCE = "Berserkerhaltung"
L.BEAR_FORM = "B\195\164ren Gestalt"
L.DIRE_BEAR_FORM = "Dire B\195\164ren Gestalt"
L.CAT_FORM = "Katzen Gestalt"
L.AQUATIC_FORM = "Wasser Gestalt"
L.TRAVEL_FORM = "Reise Gestalt"
L.TREEOFLIFE = "Baum des Lebens"
L.MOONKIN_FORM = "oonkin Gestalt"
L.STEALTH = "Tarnen"
L.SHADOWFORM = "Schattengestalt"
L.BATTLESTANCE = "Kampfhaltung"
L.DEFENSIVESTANCE = "Verteidigungshaltung"
L.BERSERKERSTANCE = "Berserkerhaltung"
L.BINDING_NOT_DEFINED = "Belegung nicht definiert."
L.CANNOT_CHANGE_COMBAT = "\195\132nderungen w\195\164rend des Kampfes nicht m\195\182glich. \195\132nderungen werden bis Kampfende verschoben."
L.APPLY_QUEUE = "Au\195\159erhalb des Kampfes. Ausstehende \195\132nderungen werden durchgef\195\188hrt."
L.PROFILE_CHANGED = "Profil gewechselt zu '%s'."
L.PROFILE_DELETED = "Profile '%s' wurde gel\195\182scht."
L.ACTION_ACTIONBAR = "Wechsel Aktionsleiste"
L.ACTION_ACTION = "Aktion Taste"
L.ACTION_PET = "Tier Aktion Taste"
L.ACTION_SPELL = "Zauber ausf\195\188hren"
L.ACTION_ITEM = "Benutze Gegenstand"
L.ACTION_MACRO = "Starte eigenes Makro"
L.ACTION_STOP = "Zauber Unterbrechen"
L.ACTION_TARGET = "Ziel ausw\195\164hlen"
L.ACTION_FOCUS = "Setze Fokus"
L.ACTION_ASSIST = "Assistiere Einheit"
L.ACTION_CLICK = "Klicke Taste"
L.ACTION_MENU = "Zeige Men\195\188"
L.HELP_TEXT = "Willkomen zu Clique. Zuerst suchst du einfach im Zauberbuch einen Spruch aus, welchen du an eine Taste binden m\195\182chtest. Dann klickst du mit der entsprechenden Taste diesen Zauber an. Als Beispiel, gehe zu \"Blitzheilung\" und klicke darauf mit Shift+LinkeMaustaste um diesen Zauber auf Shift+LinkeMaustaste zu legen."
L.CUSTOM_HELP = "Dies ist das Clique konfigurations Fenster. Von hier aus kannst du alle Klick-Kombinationen, die uns die UI erlaubt, konfigurieren. W\195\164hle eine Grundfunktion aus der linken Spalte. Klicke dann auf den unteren Button mit einer Tastenkombination deiner Wahl, und erg\195\164nze (falls ben\195\182tigt) die Parameter."
L.BS_ACTIONBAR_HELP = "Wechselt die Aktionsleiste. 'increment' Wechselt eine Leiste rauf, 'decrement' mach das Gegenteil. Gibst du eine Zahl ein, wird nur die enstprechende Leiste gezeigt. Die Eingabe von 1,3 w\195\188rde zwischen Leiste 1 und 3 wechseln"
L.BS_ACTIONBAR_ARG1_LABEL = "Aktion:"
L.BS_ACTION_HELP = "Simuliert einen Klick auf eine Aktions Taste. Gebe die Nummer der Aktions Taste an."
L.BS_ACTION_ARG1_LABEL = "Tasten Nummer:"
L.BS_ACTION_ARG2_LABEL = "(Optional) Unit:"
L.BS_PET_HELP = "Simuliert einen Klick auf eine Tier Aktions Taste. Gebe die Nummer der Aktions Taste an."
L.BS_PET_ARG1_LABEL = "Tier Tasten Nummer:"
L.BS_PET_ARG2_LABEL = "(Optional) Unit:"
L.BS_SPELL_HELP = "F\195\188hrt einen Zauber aus dem Zauberbuch aus. M\195\182glich sind Zaubername, und optional Rucksack/Platz, oder Gegenstand-Name als Ziel eines Zaubers.(zB. Tier f\195\188ttern)"
L.BS_SPELL_ARG1_LABEL = "Zauber Name:"
L.BS_SPELL_ARG2_LABEL = "*Rang/Rucksack Nr:"
L.BS_SPELL_ARG3_LABEL = "*Platz Nummer:"
L.BS_SPELL_ARG4_LABEL = "*Gegenstands Name:"
L.BS_SPELL_ARG5_LABEL = "(Optional) Unit:"
L.BS_ITEM_HELP = "Benutze Gegenstand. Angabe von Rucksack/Platz, oder Gegenstand-Name."
L.BS_ITEM_ARG1_LABEL = "Rucksack Nummer:"
L.BS_ITEM_ARG2_LABEL = "Platz Nummer:"
L.BS_ITEM_ARG3_LABEL = "Gegenstands Name:"
L.BS_ITEM_ARG4_LABEL = "(Optional) Unit:"
L.BS_MACRO_HELP = "Benutzt eigenes Makro aus vorhandenem index"
L.BS_ARG1_LABEL = "Makro Index:"
L.BS_ARG2_LABEL = "Makro Text:"
L.BS_STOP_HELP = "Unterbricht den laufenden Zauberspruch"
L.BS_TARGET_HELP = "Visiert \"unit\" als Ziel an"
L.BS_TARGET_ARG1_LABEL = "(Optional) Unit:"
L.BS_FOCUS_HELP = "W\195\164hlt \"focus\" Einheit aus."
L.BS_FOCUS_ARG1_LABEL = "(Optional) Unit:"
L.BS_ASSIST_HELP = "Assistiert der Einheit \"unit\""
L.BS_ASSIST_ARG1_LABEL = "(Optional) Unit:"
L.BS_CLICK_HELP = "Simuliert Klick auf eine Aktions Taste"
L.BS_CLICK_ARG1_LABEL = "Tasten Name:"
L.BS_MENU_HELP = "Zeigt das Einheiten Pop-Up Men\195\188"
end
+134
View File
@@ -0,0 +1,134 @@
--[[---------------------------------------------------------------------------------
Localisation for English
----------------------------------------------------------------------------------]]
local L = Clique.Locals
-- This is the default locale.
if GetLocale() then
L.RANK = "Rank"
L.RANK_PATTERN = "Rank (%d+)"
L.CAST_FORMAT = "%s(Rank %s)"
L.RACIAL_PASSIVE = "Racial Passive"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "Default"
L.CLICKSET_HARMFUL = "Harmful actions"
L.CLICKSET_HELPFUL = "Helpful actions"
L.CLICKSET_OOC = "Out of Combat"
L.CLICKSET_BEARFORM = "Bear Form"
L.CLICKSET_CATFORM = "Cat Form"
L.CLICKSET_AQUATICFORM = "Aquatic Form"
L.CLICKSET_TRAVELFORM = "Travel Form"
L.CLICKSET_MOONKINFORM = "Moonkin Form"
L.CLICKSET_TREEOFLIFE = "Tree of Life Form"
L.CLICKSET_SHADOWFORM = "Shadowform"
L.CLICKSET_STEALTHED = "Stealthed"
L.CLICKSET_BATTLESTANCE = "Battle Stance"
L.CLICKSET_DEFENSIVESTANCE = "Defensive Stance"
L.CLICKSET_BERSERKERSTANCE = "Berserker Stance"
L.BEAR_FORM = "Bear Form"
L.DIRE_BEAR_FORM = "Dire Bear Form"
L.CAT_FORM = "Cat Form"
L.AQUATIC_FORM = "Aquatic Form"
L.TRAVEL_FORM = "Travel Form"
L.TREEOFLIFE = "Tree of Life"
L.MOONKIN_FORM = "Moonkin Form"
L.STEALTH = "Stealth"
L.SHADOWFORM = "Shadowform"
L.BATTLESTANCE = "Battle Stance"
L.DEFENSIVESTANCE = "Defensive Stance"
L.BERSERKERSTANCE = "Berserker Stance"
L.BINDING_NOT_DEFINED = "Binding not defined"
L.CANNOT_CHANGE_COMBAT = "Cannot make changes in combat. These changes will be delayed until you exit combat."
L.APPLY_QUEUE = "Out of combat. Applying all queued changes."
L.PROFILE_CHANGED = "Profile has changed to '%s'."
L.PROFILE_DELETED = "Profile '%s' has been deleted."
L.PROFILE_RESET = "Your profile '%s' has been reset."
L.ACTION_ACTIONBAR = "Change ActionBar"
L.ACTION_ACTION = "Action Button"
L.ACTION_PET = "Pet Action Button"
L.ACTION_SPELL = "Cast Spell"
L.ACTION_ITEM = "Use Item"
L.ACTION_MACRO = "Run Custom Macro"
L.ACTION_STOP = "Stop Casting"
L.ACTION_TARGET = "Target Unit"
L.ACTION_FOCUS = "Set Focus"
L.ACTION_ASSIST = "Assist Unit"
L.ACTION_CLICK = "Click Button"
L.ACTION_MENU = "Show Menu"
L.HELP_TEXT = "Welcome to Clique. For basic operation, you can navigate the spellbook and decide what spell you'd like to bind to a specific click. Then click on that spell with whatever click-binding you would like. For example, navigate to \"Flash Heal\" and shift-LeftClick on it to bind that spell to Shift-LeftClick."
L.CUSTOM_HELP = "This is the Clique custom edit screen. From here you can configure any of the combinations that the UI makes available to us in response to clicks. Select a base action from the left column. You can then click on the button below to set the binding you'd like, and then supply the arguments required (if any)."
L.BS_ACTIONBAR_HELP = "Change the actionbar. 'increment' will move it up one page, 'decrement' does the opposite. If you supply a number, the action bar will be turned to that page. You can specify 1,3 to toggle between pages 1 and 3"
L.BS_ACTIONBAR_ARG1_LABEL = "Action:"
L.BS_ACTION_HELP = "Simulate a click on an action button. Specify the number of the action button."
L.BS_ACTION_ARG1_LABEL = "Button Number:"
L.BS_ACTION_ARG2_LABEL = "(Optional) Unit:"
L.BS_PET_HELP = "Simulate a click on an pet's action button. Specify the number of the button."
L.BS_PET_ARG1_LABEL = "Pet Button Number:"
L.BS_PET_ARG2_LABEL = "(Optional) Unit:"
L.BS_SPELL_HELP = "Cast a spell from the spellbook. Takes a spell name, and optionally a bag and slot, or item name to use as the target of the spell (i.e. Feed Pet)"
L.BS_SPELL_ARG1_LABEL = "Spell Name:"
L.BS_SPELL_ARG2_LABEL = "*Rank/Bag Number:"
L.BS_SPELL_ARG3_LABEL = "*Slot Number:"
L.BS_SPELL_ARG4_LABEL = "*Item Name:"
L.BS_SPELL_ARG5_LABEL = "(Optional) Unit:"
L.BS_ITEM_HELP = "Use an item. Can take either a bag and slot, or an item name."
L.BS_ITEM_ARG1_LABEL = "Bag Number:"
L.BS_ITEM_ARG2_LABEL = "Slot Number:"
L.BS_ITEM_ARG3_LABEL = "Item Name:"
L.BS_ITEM_ARG4_LABEL = "(Optional) Unit:"
L.BS_MACRO_HELP = "Use a custom macro in a given index"
L.BS_MACRO_ARG1_LABEL = "Macro Index:"
L.BS_MACRO_ARG2_LABEL = "Macro Text:"
L.BS_STOP_HELP = "Stops casting the current spell"
L.BS_TARGET_HELP = "Targets the unit"
L.BS_TARGET_ARG1_LABEL = "(Optional) Unit:"
L.BS_FOCUS_HELP = "Sets your \"focus\" unit"
L.BS_FOCUS_ARG1_LABEL = "(Optional) Unit:"
L.BS_ASSIST_HELP = "Assists the unit"
L.BS_ASSIST_ARG1_LABEL = "(Optional) Unit:"
L.BS_CLICK_HELP = "Simulate click on a button"
L.BS_CLICK_ARG1_LABEL = "Button Name:"
L.BS_MENU_HELP = "Shows the unit pop up menu"
L.CUSTOM = "Custom"
L.FRAMES = "Frames"
L.PROFILES = "Profiles"
L.DELETE = "Delete"
L.EDIT = "Edit"
L["Clique Options"] = "Clique Options"
L["Spec 1:"] = "Spec 1:"
L["Spec 2:"] = "Spec 2:"
L["Spec 3:"] = "Spec 3:"
L["Spec 4:"] = "Spec 4:"
L["Spec 5:"] = "Spec 5:"
L["Spec 6:"] = "Spec 6:"
L["Spec 7:"] = "Spec 7:"
L["Spec 8:"] = "Spec 8:"
L["Spec 9:"] = "Spec 9:"
L["Spec 10:"] = "Spec 10:"
L["Spec 11:"] = "Spec 11:"
L["Spec 12:"] = "Spec 12:"
L.DOWNCLICK_LABEL = "Trigger clicks on the 'down' portion of the click"
L.SPECSWITCH_LABEL = "Change profile when switching talent specs"
end
+110
View File
@@ -0,0 +1,110 @@
--[[---------------------------------------------------------------------------------
Localisation for esES (Spanish)
----------------------------------------------------------------------------------]]
local L = Clique.Locals
-- This is the default locale.
if GetLocale() == "esES" then
L.RANK = "Rango"
L.RANK_PATTERN = "Rango (%d+)"
L.CAST_FORMAT = "%s(Rango %s)"
L.RACIAL_PASSIVE = "Pasivo racial"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "Por Defecto"
L.CLICKSET_HARMFUL = "Aciones de Daño"
L.CLICKSET_HELPFUL = "Acciones de Ayuda"
L.CLICKSET_OOC = "Fuera de Combate"
L.CLICKSET_BEARFORM = "Forma de Oso"
L.CLICKSET_CATFORM = "Forma Felina"
L.CLICKSET_AQUATICFORM = "Forma Acuática"
L.CLICKSET_TRAVELFORM = "Forma de Viaje"
L.CLICKSET_MOONKINFORM = "Forma de Moonkin"
L.CLICKSET_TREEOFLIFE = "Forma de Arbol de Vida"
L.CLICKSET_SHADOWFORM = "Forma de las Sombras"
L.CLICKSET_STEALTHED = "En Sigilo"
L.CLICKSET_BATTLESTANCE = "Actitud de Batalla"
L.CLICKSET_DEFENSIVESTANCE = "Actitud Defensiva"
L.CLICKSET_BERSERKERSTANCE = "Actitud Rabiosa"
L.BEAR_FORM = "Forma de Oso"
L.DIRE_BEAR_FORM = "Forma de Oso Temible"
L.CAT_FORM = "Forma Felina"
L.AQUATIC_FORM = "Forma Acuática"
L.TRAVEL_FORM = "Forma de Viaje"
L.TREEOFLIFE = "Arbol de Vida"
L.MOONKIN_FORM = "Forma de Moonkin"
L.STEALTH = "Sigilo"
L.SHADOWFORM = "Forma de las Sombras"
L.BATTLESTANCE = "Actitud de Batalla"
L.DEFENSIVESTANCE = "Actitud Defensiva"
L.BERSERKERSTANCE = "Actitud Rabiosa"
L.BINDING_NOT_DEFINED = "Binding no definido"
L.CANNOT_CHANGE_COMBAT = "No puede hacer cambios en combate. Los cambios se realizarán cuando salga de combate."
L.APPLY_QUEUE = "Fuera de combate. Aplicando todos los cambios pendientes."
L.PROFILE_CHANGED = "El perfil ha cambiado a '%s'."
L.PROFILE_DELETED = "El perfil '%s' ha sido borrado."
L.PROFILE_RESET = "Su perfil '%s' ha sido resetiado."
L.ACTION_ACTIONBAR = "Cambiar Barra de Acción"
L.ACTION_ACTION = "Botón de Acción"
L.ACTION_PET = "Botón de Acción Mascota"
L.ACTION_SPELL = "Lanzar Hechizo"
L.ACTION_ITEM = "Usar Item"
L.ACTION_MACRO = "Ejecutar macro por defecto"
L.ACTION_STOP = "Parar Lanzamiento"
L.ACTION_TARGET = "Apuntar Unidad"
L.ACTION_FOCUS = "Fijar Foco"
L.ACTION_ASSIST = "Asistir Unidad"
L.ACTION_CLICK = "Click Botón"
L.ACTION_MENU = "Mostrar Menú"
L.HELP_TEXT = "Bienvenido a Clique. Para su operación básica, usted puede navegar por el Libro de Hechizos (Spellbook) y determinar que hechizo le gustaría asociar a un click específico. Luego haga click sobre el hechizo, con la combinación de teclas que a usted le guste (click o click + teclado). Por ejemplo, un sacerdote puede buscar en su libro de hechizos la \"Sanación Relámpago\" (Flash Heal) y realizar sobre este un Shift+LeftClick, lo cual asociará dicho hechizo a las combinación de teclas Shift+LeftClick."
L.CUSTOM_HELP = "Esta es la pantalla de edición por defecto de Clique. Desde aquí usted puede configurar cualquiera de las combinaciones que el UI tiene disponible para nosotros en respuesta a los clicks. Seleccione una acción base de la columna izquierda. Usted puede hacer clic en el botón de abajo para asociar las convinaciones de clicks + teclas que desee, y entonces proporcionar los argumentos requeridos (if any)."
L.BS_ACTIONBAR_HELP = "Cambie la barra de acción. 'increment' lo moverá arriba de una pagina, 'decrement' hará lo contrario. Si usted proporciona un número, la barra de acción será girada a esa página. Usted puede especificar 1,3 para alternar entre las páginas 1 y 3."
L.BS_ACTIONBAR_ARG1_LABEL = "Acción:"
L.BS_ACTION_HELP = "Simular un click sobre un botón de acción. Especificar el número del botón de acción."
L.BS_ACTION_ARG1_LABEL = "Número de Botón:"
L.BS_ACTION_ARG2_LABEL = "(Opcional) Unidad:"
L.BS_PET_HELP = "Simular un click sobre el botón de acción de mascotas. Especificar el número de botón."
L.BS_PET_ARG1_LABEL = "Número de Boton Mascota:"
L.BS_PET_ARG2_LABEL = "(Opcional) Unidad:"
L.BS_SPELL_HELP = "Lanzar un hechizo desde el libro de hechizos. Toma un nombre de hechizo y opcionalmente una bolsa (bag) y ranura (slot) o un nombre de ítem para usar como objetivo del hechizo (i.e. Alimentar Mascota)"
L.BS_SPELL_ARG1_LABEL = "Nombre del Hechizo:"
L.BS_SPELL_ARG2_LABEL = "*Número de Rango/Bolsa:"
L.BS_SPELL_ARG3_LABEL = "*Número de Ranura (Slot):"
L.BS_SPELL_ARG4_LABEL = "*Nombre del Item:"
L.BS_SPELL_ARG5_LABEL = "(Opcional) Unidad:"
L.BS_ITEM_HELP = "Use un item. Puede tomar una bolsa y ranura o un nombre de item."
L.BS_ITEM_ARG1_LABEL = "Número de Bolsa:"
L.BS_ITEM_ARG2_LABEL = "Número de Ranura (Slot):"
L.BS_ITEM_ARG3_LABEL = "Nombre del Item:"
L.BS_ITEM_ARG4_LABEL = "(Opcional) Unidad:"
L.BS_MACRO_HELP = "Use una macro por defecto en un indice en particular"
L.BS_MACRO_ARG1_LABEL = "Indice Macro:"
L.BS_MACRO_ARG2_LABEL = "Texto Macro:"
L.BS_STOP_HELP = "Parar de lanzar hechizos en curso"
L.BS_TARGET_HELP = "Apuntar unidad"
L.BS_TARGET_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_FOCUS_HELP = "Fijar su \"foco\" en unidad"
L.BS_FOCUS_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_ASSIST_HELP = "Asistir la unidad"
L.BS_ASSIST_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_CLICK_HELP = "Simular click sobre un botón"
L.BS_CLICK_ARG1_LABEL = "Nombre del Botón:"
L.BS_MENU_HELP = "Muestra menú emergente de la unidad"
end
+110
View File
@@ -0,0 +1,110 @@
--[[---------------------------------------------------------------------------------
Localisation for esMX (Spanish)
----------------------------------------------------------------------------------]]
local L = Clique.Locals
-- This is the default locale.
if GetLocale() == "esMX" then
L.RANK = "Rango"
L.RANK_PATTERN = "Rango (%d+)"
L.CAST_FORMAT = "%s(Rango %s)"
L.RACIAL_PASSIVE = "Pasivo racial"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "Por Defecto"
L.CLICKSET_HARMFUL = "Aciones de Daño"
L.CLICKSET_HELPFUL = "Acciones de Ayuda"
L.CLICKSET_OOC = "Fuera de Combate"
L.CLICKSET_BEARFORM = "Forma de Oso"
L.CLICKSET_CATFORM = "Forma Felina"
L.CLICKSET_AQUATICFORM = "Forma Acuática"
L.CLICKSET_TRAVELFORM = "Forma de Viaje"
L.CLICKSET_MOONKINFORM = "Forma de Moonkin"
L.CLICKSET_TREEOFLIFE = "Forma de Arbol de Vida"
L.CLICKSET_SHADOWFORM = "Forma de las Sombras"
L.CLICKSET_STEALTHED = "En Sigilo"
L.CLICKSET_BATTLESTANCE = "Actitud de Batalla"
L.CLICKSET_DEFENSIVESTANCE = "Actitud Defensiva"
L.CLICKSET_BERSERKERSTANCE = "Actitud Rabiosa"
L.BEAR_FORM = "Forma de Oso"
L.DIRE_BEAR_FORM = "Forma de Oso Temible"
L.CAT_FORM = "Forma Felina"
L.AQUATIC_FORM = "Forma Acuática"
L.TRAVEL_FORM = "Forma de Viaje"
L.TREEOFLIFE = "Arbol de Vida"
L.MOONKIN_FORM = "Forma de Moonkin"
L.STEALTH = "Sigilo"
L.SHADOWFORM = "Forma de las Sombras"
L.BATTLESTANCE = "Actitud de Batalla"
L.DEFENSIVESTANCE = "Actitud Defensiva"
L.BERSERKERSTANCE = "Actitud Rabiosa"
L.BINDING_NOT_DEFINED = "Binding no definido"
L.CANNOT_CHANGE_COMBAT = "No puede hacer cambios en combate. Los cambios se realizarán cuando salga de combate."
L.APPLY_QUEUE = "Fuera de combate. Aplicando todos los cambios pendientes."
L.PROFILE_CHANGED = "El perfil ha cambiado a '%s'."
L.PROFILE_DELETED = "El perfil '%s' ha sido borrado."
L.PROFILE_RESET = "Su perfil '%s' ha sido resetiado."
L.ACTION_ACTIONBAR = "Cambiar Barra de Acción"
L.ACTION_ACTION = "Botón de Acción"
L.ACTION_PET = "Botón de Acción Mascota"
L.ACTION_SPELL = "Lanzar Hechizo"
L.ACTION_ITEM = "Usar Item"
L.ACTION_MACRO = "Ejecutar macro por defecto"
L.ACTION_STOP = "Parar Lanzamiento"
L.ACTION_TARGET = "Apuntar Unidad"
L.ACTION_FOCUS = "Fijar Foco"
L.ACTION_ASSIST = "Asistir Unidad"
L.ACTION_CLICK = "Click Botón"
L.ACTION_MENU = "Mostrar Menú"
L.HELP_TEXT = "Bienvenido a Clique. Para su operación básica, usted puede navegar por el Libro de Hechizos (Spellbook) y determinar que hechizo le gustaría asociar a un click específico. Luego haga click sobre el hechizo, con la combinación de teclas que a usted le guste (click o click + teclado). Por ejemplo, un sacerdote puede buscar en su libro de hechizos la \"Sanación Relámpago\" (Flash Heal) y realizar sobre este un Shift+LeftClick, lo cual asociará dicho hechizo a las combinación de teclas Shift+LeftClick."
L.CUSTOM_HELP = "Esta es la pantalla de edición por defecto de Clique. Desde aquí usted puede configurar cualquiera de las combinaciones que el UI tiene disponible para nosotros en respuesta a los clicks. Seleccione una acción base de la columna izquierda. Usted puede hacer clic en el botón de abajo para asociar las convinaciones de clicks + teclas que desee, y entonces proporcionar los argumentos requeridos (if any)."
L.BS_ACTIONBAR_HELP = "Cambie la barra de acción. 'increment' lo moverá arriba de una pagina, 'decrement' hará lo contrario. Si usted proporciona un número, la barra de acción será girada a esa página. Usted puede especificar 1,3 para alternar entre las páginas 1 y 3."
L.BS_ACTIONBAR_ARG1_LABEL = "Acción:"
L.BS_ACTION_HELP = "Simular un click sobre un botón de acción. Especificar el número del botón de acción."
L.BS_ACTION_ARG1_LABEL = "Número de Botón:"
L.BS_ACTION_ARG2_LABEL = "(Opcional) Unidad:"
L.BS_PET_HELP = "Simular un click sobre el botón de acción de mascotas. Especificar el número de botón."
L.BS_PET_ARG1_LABEL = "Número de Boton Mascota:"
L.BS_PET_ARG2_LABEL = "(Opcional) Unidad:"
L.BS_SPELL_HELP = "Lanzar un hechizo desde el libro de hechizos. Toma un nombre de hechizo y opcionalmente una bolsa (bag) y ranura (slot) o un nombre de ítem para usar como objetivo del hechizo (i.e. Alimentar Mascota)"
L.BS_SPELL_ARG1_LABEL = "Nombre del Hechizo:"
L.BS_SPELL_ARG2_LABEL = "*Número de Rango/Bolsa:"
L.BS_SPELL_ARG3_LABEL = "*Número de Ranura (Slot):"
L.BS_SPELL_ARG4_LABEL = "*Nombre del Item:"
L.BS_SPELL_ARG5_LABEL = "(Opcional) Unidad:"
L.BS_ITEM_HELP = "Use un item. Puede tomar una bolsa y ranura o un nombre de item."
L.BS_ITEM_ARG1_LABEL = "Número de Bolsa:"
L.BS_ITEM_ARG2_LABEL = "Número de Ranura (Slot):"
L.BS_ITEM_ARG3_LABEL = "Nombre del Item:"
L.BS_ITEM_ARG4_LABEL = "(Opcional) Unidad:"
L.BS_MACRO_HELP = "Use una macro por defecto en un indice en particular"
L.BS_MACRO_ARG1_LABEL = "Indice Macro:"
L.BS_MACRO_ARG2_LABEL = "Texto Macro:"
L.BS_STOP_HELP = "Parar de lanzar hechizos en curso"
L.BS_TARGET_HELP = "Apuntar unidad"
L.BS_TARGET_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_FOCUS_HELP = "Fijar su \"foco\" en unidad"
L.BS_FOCUS_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_ASSIST_HELP = "Asistir la unidad"
L.BS_ASSIST_ARG1_LABEL = "(Opcional) Unidad:"
L.BS_CLICK_HELP = "Simular click sobre un botón"
L.BS_CLICK_ARG1_LABEL = "Nombre del Botón:"
L.BS_MENU_HELP = "Muestra menú emergente de la unidad"
end
+23
View File
@@ -0,0 +1,23 @@
--[[---------------------------------------------------------------------------------
Localisation for frFR. Any commented lines need to be updated
----------------------------------------------------------------------------------]]
local L = Clique.Locals
if GetLocale() == "frFR" then
L.RANK = "Rang"
L.RANK_PATTERN = "Rang (%d+)"
L.CAST_FORMAT = "%s(Rang %d)"
-- L.RACIAL_PASSIVE = "Racial Passive"
-- L.CLICKSET_DEFAULT = "Default"
-- L.CLICKSET_HARMFUL = "Harmful actions"
-- L.CLICKSET_HELPFUL = "Helpful actions"
-- L.CLICKSET_OOC = "Out of Combat"
-- L.BINDING_NOT_DEFINED = "Binding not defined"
-- L.HELP_TEXT = "Welcome to Clique. For basic operation, you can navigate the spellbook and decide what spell you'd like to bind to a specific click. Then click on that spell with whatever click-binding you would like. For example, navigate to \"Flash Heal\" and shift-LeftClick on it to bind that spell to Shift-LeftClick."
-- L.CUSTOM_HELP = "This is the Clique custom edit screen. From here you can configure any of the combinations that the UI makes available to us in response to clicks. Select a base action from the left column. You can then click on the button below to set the binding you'd like, and then supply the arguments required (if any)."
end
+23
View File
@@ -0,0 +1,23 @@
--[[---------------------------------------------------------------------------------
Localisation for koKR. Any commented lines need to be updated
----------------------------------------------------------------------------------]]
local L = Clique.Locals
if GetLocale() == "koKR" then
L.RANK = "레벨"
L.RANK_PATTERN = "(%d+) 레벨"
L.CAST_FORMAT = "%s(%d 레벨)"
-- L.RACIAL_PASSIVE = "Racial Passive"
-- L.CLICKSET_DEFAULT = "Default"
-- L.CLICKSET_HARMFUL = "Harmful actions"
-- L.CLICKSET_HELPFUL = "Helpful actions"
-- L.CLICKSET_OOC = "Out of Combat"
-- L.BINDING_NOT_DEFINED = "Binding not defined"
-- L.HELP_TEXT = "Welcome to Clique. For basic operation, you can navigate the spellbook and decide what spell you'd like to bind to a specific click. Then click on that spell with whatever click-binding you would like. For example, navigate to \"Flash Heal\" and shift-LeftClick on it to bind that spell to Shift-LeftClick."
-- L.CUSTOM_HELP = "This is the Clique custom edit screen. From here you can configure any of the combinations that the UI makes available to us in response to clicks. Select a base action from the left column. You can then click on the button below to set the binding you'd like, and then supply the arguments required (if any)."
end
+112
View File
@@ -0,0 +1,112 @@
--[[---------------------------------------------------------------------------------
Localisation for Russian
Перевод на русский от Сини
----------------------------------------------------------------------------------]]
local L = Clique.Locals
-- This is the default locale.
if GetLocale() == "ruRU" then
L.RANK = "Уровень"
L.RANK_PATTERN = "Уровень (%d+)"
L.CAST_FORMAT = "%s(Уровень %s)"
L.RACIAL_PASSIVE = "Пассивный расовый навык"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "Стандартный"
L.CLICKSET_HARMFUL = "Вредящие действия"
L.CLICKSET_HELPFUL = "Помогающие действия"
L.CLICKSET_OOC = "Вне боя"
L.CLICKSET_BEARFORM = "Облик медведя"
L.CLICKSET_CATFORM = "Облик кошки"
L.CLICKSET_AQUATICFORM = "Водный облик"
L.CLICKSET_TRAVELFORM = "Походный облик"
L.CLICKSET_MOONKINFORM = "Облик лунного совуха"
L.CLICKSET_TREEOFLIFE = "Древо Жизни"
L.CLICKSET_SHADOWFORM = "Облик Тьмы"
L.CLICKSET_STEALTHED = "Незаметность"
L.CLICKSET_BATTLESTANCE = "Боевая стойка"
L.CLICKSET_DEFENSIVESTANCE = "Оборонительная стойка"
L.CLICKSET_BERSERKERSTANCE = "Стойка берсерка"
L.BEAR_FORM = "Облик медведя"
L.DIRE_BEAR_FORM = "Облик лютого медведя"
L.CAT_FORM = "Облик кошки"
L.AQUATIC_FORM = "Водный облик"
L.TRAVEL_FORM = "Походный облик"
L.TREEOFLIFE = "Древо Жизни"
L.MOONKIN_FORM = "Облик лунного совуха"
L.STEALTH = "Незаметность"
L.SHADOWFORM = "Облик Тьмы"
L.BATTLESTANCE = "Боевая стойка"
L.DEFENSIVESTANCE = "Оборонительная стойка"
L.BERSERKERSTANCE = "Стойка берсерка"
L.BINDING_NOT_DEFINED = "Действие не определено"
L.CANNOT_CHANGE_COMBAT = "Во время боя применить изменения невозможно. Они будут отложены, пока Вы не выйдете из боя."
L.APPLY_QUEUE = "Бой окончен. Применяю все запланированные изменения."
L.PROFILE_CHANGED = "Профиль сменен на '%s'."
L.PROFILE_DELETED = "Профить '%s' был удален."
L.PROFILE_RESET = "Ваш профиль '%s' был сброшен."
L.ACTION_ACTIONBAR = "Сменить панель команд"
L.ACTION_ACTION = "Кнопка действия"
L.ACTION_PET = "Кнопка действия питомца"
L.ACTION_SPELL = "Колдовать заклинание"
L.ACTION_ITEM = "Использовать предмет"
L.ACTION_MACRO = "Выполнить макрос"
L.ACTION_STOP = "Прекратить колдование"
L.ACTION_TARGET = "Выбрать цель"
L.ACTION_FOCUS = "Установить фокус"
L.ACTION_ASSIST = "Помочь"
L.ACTION_CLICK = "Щелкнуть кнопкой"
L.ACTION_MENU = "Показать меню"
L.HELP_TEXT = "Добро пожаловать в Clique. Для начала простого использования, откройте книгу заклинаний и выберите заклинание, которое Вы хотели бы назначить на определенный щелчок мышью. Затем щелкните по заклинанию именно таким щелчком, какой Вы выбрали. Например, зайдите на страницу с заклинанием \"Быстрое исцеление\" и щелкните по нему, удерживая Shift, чтобы закрепить \"Shift+Щелчок\" за этим заклинанием."
L.CUSTOM_HELP = "Это экран ручной настройки Clique. Отсюда Вы можете настроить любую комбинацию, которая предоставляется интерфейсом Warcraft как цель для щелчков мышью. Выберите базовое действие из левой колонки. Затем Вы сможете щелкнуть по кнопке внизу, чтобы установить любое нужно действие, и ввести требуемые аргументы (если необходимо)."
L.BS_ACTIONBAR_HELP = "Сменить панель команд. 'increment' сдвинет на одну панель вверх, 'decrement' - в обратную сторону. Если Вы введете номер, то будет выбираться соответсвующая панель команд. Вы можете ввести 1,3 чтобы переключаться между 1-ой и 3-ей панелями."
L.BS_ACTIONBAR_ARG1_LABEL = "Действие:"
L.BS_ACTION_HELP = "Эмулировать щелчок мышью по кнопке действия. Введите номер кнопки действия."
L.BS_ACTION_ARG1_LABEL = "Номер кнопки:"
L.BS_ACTION_ARG2_LABEL = "(необязательно) Цель:"
L.BS_PET_HELP = "Эмулировать щелчок мышью по кнопке действия питомца. Введите номер кнопки."
L.BS_PET_ARG1_LABEL = "Номер кнопки питомца:"
L.BS_PET_ARG2_LABEL = "(необязательно) Цель:"
L.BS_SPELL_HELP = "Колдовать заклинание из книги заклинаний. В качестве аргументов принимается название заклинания, необязательно - номер сумки и позиция внутри сумки, или название предмета как цели заклинания (например \"Накормить питомца\")."
L.BS_SPELL_ARG1_LABEL = "Название заклинания:"
L.BS_SPELL_ARG2_LABEL = "*Уровень/Номер сумки:"
L.BS_SPELL_ARG3_LABEL = "*Номер позиции:"
L.BS_SPELL_ARG4_LABEL = "*Название предмета:"
L.BS_SPELL_ARG5_LABEL = "(необязательно) Цель:"
L.BS_ITEM_HELP = "Использовать предмет. Принимается номер сумки и позиции внутри сумки, или название предмета."
L.BS_ITEM_ARG1_LABEL = "Номер сумки:"
L.BS_ITEM_ARG2_LABEL = "Номер позиции:"
L.BS_ITEM_ARG3_LABEL = "Название предмета:"
L.BS_ITEM_ARG4_LABEL = "(необязательно) Цель:"
L.BS_MACRO_HELP = "Использовать макрос из указанного номера ячейки."
L.BS_MACRO_ARG1_LABEL = "Номер ячейки макроса:"
L.BS_MACRO_ARG2_LABEL = "Текст макроса:"
L.BS_STOP_HELP = "Прекратить колдование текущего заклинания."
L.BS_TARGET_HELP = "Выбрать цель."
L.BS_TARGET_ARG1_LABEL = "(необязательно) Цель:"
L.BS_FOCUS_HELP = "Установаить \"фокус\" на цели."
L.BS_FOCUS_ARG1_LABEL = "(необязательно) Цель:"
L.BS_ASSIST_HELP = "Помочь цели."
L.BS_ASSIST_ARG1_LABEL = "(необязательно) Цель:"
L.BS_CLICK_HELP = "Эмулировать щелчок по кнопке."
L.BS_CLICK_ARG1_LABEL = "Название кнопки:"
L.BS_MENU_HELP = "Показать всплывающее меню цели."
end
+111
View File
@@ -0,0 +1,111 @@
-------------------------------------------------------------------------------
-- Localization --
-- Simple Chinese Translated by 昏睡墨鱼&Costa<CWDG> --
-------------------------------------------------------------------------------
local L = Clique.Locals
if GetLocale() == "zhCN" then
L.RANK = "等级"
L.RANK_PATTERN = "等级 (%d+)"
L.CAST_FORMAT = "%s(等级 %s)"
L.RACIAL_PASSIVE = "种族被动技能"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "默认"
L.CLICKSET_HARMFUL = "对敌方动作"
L.CLICKSET_HELPFUL = "对友方动作"
L.CLICKSET_OOC = "非战斗中动作"
L.CLICKSET_BEARFORM = "熊形态"
L.CLICKSET_CATFORM = "猎豹形态"
L.CLICKSET_AQUATICFORM = "水栖形态"
L.CLICKSET_TRAVELFORM = "旅行形态"
L.CLICKSET_MOONKINFORM = "枭兽形态"
L.CLICKSET_TREEOFLIFE = "树形"
L.CLICKSET_SHADOWFORM = "暗影形态"
L.CLICKSET_STEALTHED = "潜行状态"
L.CLICKSET_BATTLESTANCE = "战斗姿态"
L.CLICKSET_DEFENSIVESTANCE = "防御姿态"
L.CLICKSET_BERSERKERSTANCE = "狂暴姿态"
L.BEAR_FORM = "熊形态"
L.DIRE_BEAR_FORM = "巨熊形态"
L.CAT_FORM = "猎豹形态"
L.AQUATIC_FORM = "水栖形态"
L.TRAVEL_FORM = "旅行形态"
L.TREEOFLIFE = "树形"
L.MOONKIN_FORM = "枭兽形态"
L.STEALTH = "潜行状态"
L.SHADOWFORM = "暗影形态"
L.BATTLESTANCE = "战斗姿态"
L.DEFENSIVESTANCE = "防御姿态"
L.BERSERKERSTANCE = "狂暴姿态"
L.BINDING_NOT_DEFINED = "未定义绑定"
L.CANNOT_CHANGE_COMBAT = "战斗状态中无法改变. 这些改变被推迟到脱离战斗状态后."
L.APPLY_QUEUE = "脱离战斗状态. 进行所有预定了的改变."
L.PROFILE_CHANGED = "已经切换到设置 '%s'."
L.PROFILE_DELETED = "你的设置 '%s' 已经被删除."
L.PROFILE_RESET = "你的设置 '%s' 已经被重值."
L.ACTION_ACTIONBAR = "切换动作条"
L.ACTION_ACTION = "动作按钮"
L.ACTION_PET = "宠物动作按钮"
L.ACTION_SPELL = "释放法术"
L.ACTION_ITEM = "使用物品"
L.ACTION_MACRO = "运行自定义宏"
L.ACTION_STOP = "终止施法"
L.ACTION_TARGET = "目标单位"
L.ACTION_FOCUS = "指定目标单位"
L.ACTION_ASSIST = "协助某单位"
L.ACTION_CLICK = "点击按钮"
L.ACTION_MENU = "显示菜单"
L.HELP_TEXT = "欢迎使用Clique. 最基本的操作,你可以浏览法术书然后给喜欢的法术绑定按键.例如,你可以找到\快速治疗\ 然后按住shift点左键,这样shift+左键就被设置为释放快速治疗了."
L.CUSTOM_HELP = "这是Clique自定义窗口.在这里,你可以设置任何点击影射到界面允许的组合按键. 从左侧选择一个基本的动作,然后可以可以点击下边的按钮来映射到任何你希望的操作. "
L.BS_ACTIONBAR_HELP = "切换动作条. 'increment' 会向后翻一页, 'decrement' 则相反. 如果你提供了一个编号, 动作条就会翻到那一页.你可以定义1,3来在1和3页之间翻动."
L.BS_ACTIONBAR_ARG1_LABEL = "动作条:"
L.BS_ACTION_HELP = "将一种点击影射到某动作条的按钮上. 请指定动作条的编号."
L.BS_ACTION_ARG1_LABEL = "按钮编号:"
L.BS_ACTION_ARG2_LABEL = "(可选) 单位:"
L.BS_PET_HELP = "将一种点击影射到宠物动作条的按钮上. 请指定按钮编号."
L.BS_PET_ARG1_LABEL = "宠物按钮编号:"
L.BS_PET_ARG2_LABEL = "(可选) 单位:"
L.BS_SPELL_HELP = "从法术书上选择施法. 设定法术名称, 以及包裹与物品槽编号或者物品名称(可选), 来对目标进行施法 (例如喂养宠物)"
L.BS_SPELL_ARG1_LABEL = "法术名称:"
L.BS_SPELL_ARG2_LABEL = "*包裹编号:"
L.BS_SPELL_ARG3_LABEL = "*物品槽编号:"
L.BS_SPELL_ARG4_LABEL = "*物品名称:"
L.BS_SPELL_ARG5_LABEL = "(可选) 单位:"
L.BS_ITEM_HELP = "使用一个物品. 可以通过包裹与物品槽的编号,或者物品名称来指定."
L.BS_ITEM_ARG1_LABEL = "包裹编号:"
L.BS_ITEM_ARG2_LABEL = "物品槽编号:"
L.BS_ITEM_ARG3_LABEL = "物品名称:"
L.BS_ITEM_ARG4_LABEL = "(可选) 单位:"
L.BS_MACRO_HELP = "使用给定索引的自定义宏"
L.BS_MACRO_ARG1_LABEL = "宏索引:"
L.BS_MACRO_ARG2_LABEL = "宏内容:"
L.BS_STOP_HELP = "中断当前施法"
L.BS_TARGET_HELP = "将单位设定为目标"
L.BS_TARGET_ARG1_LABEL = "(可选) 单位:"
L.BS_FOCUS_HELP = "设定你的 \"目标\" 单位"
L.BS_FOCUS_ARG1_LABEL = "(可选) 单位:"
L.BS_ASSIST_HELP = "协助某单位"
L.BS_ASSIST_ARG1_LABEL = "(可选) 单位:"
L.BS_CLICK_HELP = "使用按钮模拟点击"
L.BS_CLICK_ARG1_LABEL = "按钮名称:"
L.BS_MENU_HELP = "显示单位的弹出菜单"
end
+111
View File
@@ -0,0 +1,111 @@
-------------------------------------------------------------------------------
-- Localization --
-- Simple Chinese Translated by 昏睡墨魚&Costa<CWDG> --
-------------------------------------------------------------------------------
local L = Clique.Locals
if GetLocale() == "zhTW" then
L.RANK = "等級"
L.RANK_PATTERN = "等級 (%d+)"
L.CAST_FORMAT = "%s(等級 %s)"
L.RACIAL_PASSIVE = "種族被動技能"
L.PASSIVE = SPELL_PASSIVE
L.CLICKSET_DEFAULT = "默認"
L.CLICKSET_HARMFUL = "對敵方動作"
L.CLICKSET_HELPFUL = "對友方動作"
L.CLICKSET_OOC = "非戰鬥中動作"
L.CLICKSET_BEARFORM = "熊形態"
L.CLICKSET_CATFORM = "獵豹形態"
L.CLICKSET_AQUATICFORM = "水棲形態"
L.CLICKSET_TRAVELFORM = "旅行形態"
L.CLICKSET_MOONKINFORM = "梟獸形態"
L.CLICKSET_TREEOFLIFE = "樹形"
L.CLICKSET_SHADOWFORM = "暗影形態"
L.CLICKSET_STEALTHED = "潛行狀態"
L.CLICKSET_BATTLESTANCE = "戰鬥姿態"
L.CLICKSET_DEFENSIVESTANCE = "防禦姿態"
L.CLICKSET_BERSERKERSTANCE = "狂暴姿態"
L.BEAR_FORM = "熊形態"
L.DIRE_BEAR_FORM = "巨熊形態"
L.CAT_FORM = "獵豹形態"
L.AQUATIC_FORM = "水棲形態"
L.TRAVEL_FORM = "旅行形態"
L.TREEOFLIFE = "樹形"
L.MOONKIN_FORM = "梟獸形態"
L.STEALTH = "潛行狀態"
L.SHADOWFORM = "暗影形態"
L.BATTLESTANCE = "戰鬥姿態"
L.DEFENSIVESTANCE = "防禦姿態"
L.BERSERKERSTANCE = "狂暴姿態"
L.BINDING_NOT_DEFINED = "未定義綁定"
L.CANNOT_CHANGE_COMBAT = "戰鬥狀態中無法改變. 這些改變被推遲到脫離戰鬥狀態後."
L.APPLY_QUEUE = "脫離戰鬥狀態. 進行所有預定了的改變."
L.PROFILE_CHANGED = "已經切換到設置 '%s'."
L.PROFILE_DELETED = "你的設置 '%s' 已經被刪除."
L.PROFILE_RESET = "你的設置 '%s' 已經被重值."
L.ACTION_ACTIONBAR = "切換動作條"
L.ACTION_ACTION = "動作按鈕"
L.ACTION_PET = "寵物動作按鈕"
L.ACTION_SPELL = "釋放法術"
L.ACTION_ITEM = "使用物品"
L.ACTION_MACRO = "運行自定義宏"
L.ACTION_STOP = "終止施法"
L.ACTION_TARGET = "目標單位"
L.ACTION_FOCUS = "指定目標單位"
L.ACTION_ASSIST = "協助某單位"
L.ACTION_CLICK = "點擊按鈕"
L.ACTION_MENU = "顯示功能表"
L.HELP_TEXT = "歡迎使用Clique. 最基本的操作,你可以流覽法術書然後給喜歡的法術綁定按鍵.例如,你可以找到\快速治療\ 然後按住shift點左鍵,這樣shift+左鍵就被設置為釋放快速治療了."
L.CUSTOM_HELP = "這是Clique自定義視窗.在這裏,你可以設置任何點擊影射到介面允許的組合按鍵. 從左側選擇一個基本的動作,然後可以可以點擊下邊的按鈕來映射到任何你希望的操作. "
L.BS_ACTIONBAR_HELP = "切換動作條. 'increment' 會向後翻一頁, 'decrement' 則相反. 如果你提供了一個編號, 動作條就會翻到那一頁.你可以定義1,3來在1和3頁之間翻動."
L.BS_ACTIONBAR_ARG1_LABEL = "動作條:"
L.BS_ACTION_HELP = "將一種點擊影射到某動作條的按鈕上. 請指定動作條的編號."
L.BS_ACTION_ARG1_LABEL = "按鈕編號:"
L.BS_ACTION_ARG2_LABEL = "(可選) 單位:"
L.BS_PET_HELP = "將一種點擊影射到寵物動作條的按鈕上. 請指定按鈕編號."
L.BS_PET_ARG1_LABEL = "寵物按鈕編號:"
L.BS_PET_ARG2_LABEL = "(可選) 單位:"
L.BS_SPELL_HELP = "從法術書上選擇施法. 設定法術名稱, 以及包裹與物品槽編號或者物品名稱(可選), 來對目標進行施法 (例如餵養寵物)"
L.BS_SPELL_ARG1_LABEL = "法術名稱:"
L.BS_SPELL_ARG2_LABEL = "*包裹編號:"
L.BS_SPELL_ARG3_LABEL = "*物品槽編號:"
L.BS_SPELL_ARG4_LABEL = "*物品名稱:"
L.BS_SPELL_ARG5_LABEL = "(可選) 單位:"
L.BS_ITEM_HELP = "使用一個物品. 可以通過包裹與物品槽的編號,或者物品名稱來指定."
L.BS_ITEM_ARG1_LABEL = "包裹編號:"
L.BS_ITEM_ARG2_LABEL = "物品槽編號:"
L.BS_ITEM_ARG3_LABEL = "物品名稱:"
L.BS_ITEM_ARG4_LABEL = "(可選) 單位:"
L.BS_MACRO_HELP = "使用給定索引的自定義巨集"
L.BS_MACRO_ARG1_LABEL = "巨集索引:"
L.BS_MACRO_ARG2_LABEL = "巨集內容:"
L.BS_STOP_HELP = "中斷當前施法"
L.BS_TARGET_HELP = "將單位設定為目標"
L.BS_TARGET_ARG1_LABEL = "(可選) 單位:"
L.BS_FOCUS_HELP = "設定你的 \"目標\" 單位"
L.BS_FOCUS_ARG1_LABEL = "(可選) 單位:"
L.BS_ASSIST_HELP = "協助某單位"
L.BS_ASSIST_ARG1_LABEL = "(可選) 單位:"
L.BS_CLICK_HELP = "使用按鈕類比點擊"
L.BS_CLICK_ARG1_LABEL = "按鈕名稱:"
L.BS_MENU_HELP = "顯示單位的彈出功能表"
end
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -1,3 +1,3 @@
# Addon Name
# Clique
This is the repository for <Addon Name>. Modified for Ascension.gg.
This is the repository for Clique. Modified for Ascension.gg.