📄 enxlocale.lua
字号:
--[[ Enchantrix Addon for World of Warcraft(tm). Version: 3.5.0.0917 (Platypus) Revision: $Id: EnxLocale.lua 881 2006-05-28 18:31:04Z aradan $ Localization routines License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program(see GLP.txt); if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.]]-- Global functionslocal addonLoaded -- Enchantrix.Locale.AddonLoaded()local delocalizeFilterVal -- Enchantrix.Locale.DelocalizeFilterVal()local localizeFilterVal -- Enchantrix.Locale.LocalizeFilterVal()local getLocalizedFilterVal -- Enchantrix.Locale.GetLocalizedFilterVal()local delocalizeCommand -- Enchantrix.Locale.DelocalizeCommand()local localizeCommand -- Enchantrix.Locale.LocalizeCommand()-- Local functionslocal buildCommandMaplocal getLocalizedCmdStringlocal customLocalizations = { ['TextGeneral'] = GetLocale(), ['TextCombat'] = GetLocale(), ['ArgSpellname'] = GetLocale(), ['PatReagents'] = GetLocale(),}Enchantrix.State.Locale_Changed = true --This needs to be initialy set to true so that the following tables get built at startup.local commandMap, commandMapRev;function addonLoaded() buildCommandMap()endfunction _ENCH(stringKey, locale) if locale then if type(locale) == "string" then return Babylonian.FetchString(EnchantrixLocalizations, locale, stringKey) else return Babylonian.FetchString(EnchantrixLocalizations, GetLocale(), stringKey) end elseif (customLocalizations[stringKey]) then return Babylonian.FetchString(EnchantrixLocalizations, customLocalizations[stringKey], stringKey) else return Babylonian.GetString(EnchantrixLocalizations, stringKey) endendfunction buildCommandMap() commandMap = {} commandMapRev = {} commandMap = { [_ENCH('CmdOn')] = 'on', [_ENCH('CmdOff')] = 'off', [_ENCH('CmdBarker')] = 'barker', [_ENCH('CmdHelp')] = 'help', [_ENCH('CmdToggle')] = 'toggle', [_ENCH('CmdDisable')] = 'disable', [_ENCH('CmdClear')] = 'clear', [_ENCH('CmdLocale')] = 'locale', [_ENCH('CmdDefault')] = 'default', [_ENCH('CmdPrintin')] = 'print-in', [_ENCH('CmdFindBidauct')] = 'bidbroker', [_ENCH('CmdFindBidauctShort')] = 'bidbroker', [_ENCH('CmdFindBuyauct')] = 'percentless', [_ENCH('CmdFindBuyauctShort')] = 'percentless', [_ENCH('ShowEmbed')] = 'embed', [_ENCH('ShowCount')] = 'counts', [_ENCH('ShowTerse')] = 'terse', [_ENCH('ShowValue')] = 'valuate', [_ENCH('ShowGuessAuctioneerHsp')] = 'valuate-hsp', [_ENCH('ShowGuessAuctioneerMed')] = 'valuate-median', [_ENCH('ShowGuessBaseline')] = 'valuate-baseline', } for k, v in pairs(commandMap) do commandMapRev[v] = k endendfunction getLocalizedCmdString(value) return _ENCH('Cmd'..string.upper(string.sub(value,1,1))..string.sub(value,2))endfunction delocalizeFilterVal(value) if value == _ENCH('CmdOn') then return true elseif value == _ENCH('CmdOff') then return false elseif value == _ENCH('CmdDefault') then return 'default' elseif value == _ENCH('CmdToggle') then return 'toggle' else return value endendfunction localizeFilterVal(value) if (value == 'on') or (value == true) then return _ENCH("CmdOn") elseif (value == 'off') or (value == false) then return _ENCH("CmdOff") elseif (value == 'default') or (value == nil) then return _ENCH("CmdDefault") else return value endendfunction getLocalizedFilterVal(key) return localizeFilterVal(Enchantrix.Config.GetFilter(key))end-- Turns a localized slash command into the generic English version of the commandfunction delocalizeCommand(cmd) if Enchantrix.State.Locale_Changed then buildCommandMap() Enchantrix.State.Locale_Changed = nil end return commandMap[cmd] or cmdend-- Translate a generic English slash command to the localized version, if availablefunction localizeCommand(cmd) if Enchantrix.State.Locale_Changed then buildCommandMap() Enchantrix.State.Locale_Changed = nil end return commandMapRev[cmd] or cmdendEnchantrix.Locale = { Revision = "$Revision: 881 $", AddonLoaded = addonLoaded, DelocalizeFilterVal = delocalizeFilterVal, LocalizeFilterVal = localizeFilterVal, GetLocalizedFilterVal = getLocalizedFilterVal, DelocalizeCommand = delocalizeCommand, LocalizeCommand = localizeCommand,}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -