Quantcast

Switching Localization to AceLocale-3.0

Xruptor [08-23-16 - 16:20]
Switching Localization to AceLocale-3.0
-Added some global function statics to prevent tainting
Filename
BagSync.lua
BagSync.toc
libs/AceLocale-3.0/AceLocale-3.0.lua
libs/AceLocale-3.0/AceLocale-3.0.xml
locale/deDE.lua
locale/enUS.lua
locale/frFR.lua
locale/koKR.lua
locale/ptBR.lua
locale/ruRU.lua
locale/zhCN.lua
locale/zhTW.lua
localization/localization.lua
modules/blacklist.lua
modules/config.lua
modules/minimap.lua
modules/professions.lua
modules/profiles.lua
modules/search.lua
modules/test.lua
modules/tokens.lua
diff --git a/BagSync.lua b/BagSync.lua
index 1017b23..fd80b90 100644
--- a/BagSync.lua
+++ b/BagSync.lua
@@ -9,7 +9,9 @@

 --]]

-local L = BAGSYNC_L
+local ADDON_NAME, addon = ...
+
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local lastItem
 local lastDisplayed = {}
 local currentPlayer
@@ -32,6 +34,12 @@ local atVoidBank = false
 local atGuildBank = false
 local isCheckingMail = false

+local strsub, strsplit, strlower, strmatch, strtrim = string.sub, string.split, string.lower, string.match, string.trim
+local format, tonumber, tostring, tostringall = string.format, tonumber, tostring, tostringall
+local tsort, tinsert, unpack = table.sort, table.insert, unpack
+local select, pairs, next, type = select, pairs, next, type
+local error, assert = error, assert
+
 local debugf = tekDebug and tekDebug:GetFrame("BagSync")
 local function Debug(...)
     if debugf then debugf:AddMessage(string.join(", ", tostringall(...))) end
diff --git a/BagSync.toc b/BagSync.toc
index 37dea92..a63a92c 100644
--- a/BagSync.toc
+++ b/BagSync.toc
@@ -6,16 +6,26 @@
 ## OptionalDeps: tekDebug
 ## SavedVariables: BagSyncDB, BagSyncOpt, BagSyncGUILD_DB, BagSyncTOKEN_DB, BagSyncCRAFT_DB, BagSyncBLACKLIST_DB, BagSync_REALMKEY

-localization\localization.lua
 libs\LibStub\LibStub.lua
 libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
 libs\AceGUI-3.0\AceGUI-3.0.xml
 libs\AceConfig-3.0\AceConfig-3.0.xml
+libs\AceLocale-3.0\AceLocale-3.0.xml
 libs\Unfit-1.0\Unfit-1.0.lua
 libs\CustomSearch-1.0\CustomSearch-1.0.lua
 libs\LibItemSearch-1.2\LibItemSearch-1.2.lua
 libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
 libs\tekKonfigScroll.lua
+
+locale\enUS.lua
+locale\deDE.lua
+locale\frFR.lua
+locale\koKR.lua
+locale\ruRU.lua
+locale\zhCN.lua
+locale\zhTW.lua
+locale\ptBR.lua
+
 modules\minimap.lua
 modules\search.lua
 modules\tokens.lua
@@ -23,4 +33,6 @@ modules\professions.lua
 modules\blacklist.lua
 modules\profiles.lua
 modules\config.lua
+modules\test.lua
+
 BagSync.lua
\ No newline at end of file
diff --git a/libs/AceLocale-3.0/AceLocale-3.0.lua b/libs/AceLocale-3.0/AceLocale-3.0.lua
new file mode 100644
index 0000000..e133781
--- /dev/null
+++ b/libs/AceLocale-3.0/AceLocale-3.0.lua
@@ -0,0 +1,137 @@
+--- **AceLocale-3.0** manages localization in addons, allowing for multiple locale to be registered with fallback to the base locale for untranslated strings.
+-- @class file
+-- @name AceLocale-3.0
+-- @release $Id: AceLocale-3.0.lua 1035 2011-07-09 03:20:13Z kaelten $
+local MAJOR,MINOR = "AceLocale-3.0", 6
+
+local AceLocale, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
+
+if not AceLocale then return end -- no upgrade needed
+
+-- Lua APIs
+local assert, tostring, error = assert, tostring, error
+local getmetatable, setmetatable, rawset, rawget = getmetatable, setmetatable, rawset, rawget
+
+-- Global vars/functions that we don't upvalue since they might get hooked, or upgraded
+-- List them here for Mikk's FindGlobals script
+-- GLOBALS: GAME_LOCALE, geterrorhandler
+
+local gameLocale = GetLocale()
+if gameLocale == "enGB" then
+	gameLocale = "enUS"
+end
+
+AceLocale.apps = AceLocale.apps or {}          -- array of ["AppName"]=localetableref
+AceLocale.appnames = AceLocale.appnames or {}  -- array of [localetableref]="AppName"
+
+-- This metatable is used on all tables returned from GetLocale
+local readmeta = {
+	__index = function(self, key) -- requesting totally unknown entries: fire off a nonbreaking error and return key
+		rawset(self, key, key)      -- only need to see the warning once, really
+		geterrorhandler()(MAJOR..": "..tostring(AceLocale.appnames[self])..": Missing entry for '"..tostring(key).."'")
+		return key
+	end
+}
+
+-- This metatable is used on all tables returned from GetLocale if the silent flag is true, it does not issue a warning on unknown keys
+local readmetasilent = {
+	__index = function(self, key) -- requesting totally unknown entries: return key
+		rawset(self, key, key)      -- only need to invoke this function once
+		return key
+	end
+}
+
+-- Remember the locale table being registered right now (it gets set by :NewLocale())
+-- NOTE: Do never try to register 2 locale tables at once and mix their definition.
+local registering
+
+-- local assert false function
+local assertfalse = function() assert(false) end
+
+-- This metatable proxy is used when registering nondefault locales
+local writeproxy = setmetatable({}, {
+	__newindex = function(self, key, value)
+		rawset(registering, key, value == true and key or value) -- assigning values: replace 'true' with key string
+	end,
+	__index = assertfalse
+})
+
+-- This metatable proxy is used when registering the default locale.
+-- It refuses to overwrite existing values
+-- Reason 1: Allows loading locales in any order
+-- Reason 2: If 2 modules have the same string, but only the first one to be
+--           loaded has a translation for the current locale, the translation
+--           doesn't get overwritten.
+--
+local writedefaultproxy = setmetatable({}, {
+	__newindex = function(self, key, value)
+		if not rawget(registering, key) then
+			rawset(registering, key, value == true and key or value)
+		end
+	end,
+	__index = assertfalse
+})
+
+--- Register a new locale (or extend an existing one) for the specified application.
+-- :NewLocale will return a table you can fill your locale into, or nil if the locale isn't needed for the players
+-- game locale.
+-- @paramsig application, locale[, isDefault[, silent]]
+-- @param application Unique name of addon / module
+-- @param locale Name of the locale to register, e.g. "enUS", "deDE", etc.
+-- @param isDefault If this is the default locale being registered (your addon is written in this language, generally enUS)
+-- @param silent If true, the locale will not issue warnings for missing keys. Must be set on the first locale registered. If set to "raw", nils will be returned for unknown keys (no metatable used).
+-- @usage
+-- -- enUS.lua
+-- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "enUS", true)
+-- L["string1"] = true
+--
+-- -- deDE.lua
+-- local L = LibStub("AceLocale-3.0"):NewLocale("TestLocale", "deDE")
+-- if not L then return end
+-- L["string1"] = "Zeichenkette1"
+-- @return Locale Table to add localizations to, or nil if the current locale is not required.
+function AceLocale:NewLocale(application, locale, isDefault, silent)
+
+	-- GAME_LOCALE allows translators to test translations of addons without having that wow client installed
+	local gameLocale = GAME_LOCALE or gameLocale
+
+	local app = AceLocale.apps[application]
+
+	if silent and app and getmetatable(app) ~= readmetasilent then
+		geterrorhandler()("Usage: NewLocale(application, locale[, isDefault[, silent]]): 'silent' must be specified for the first locale registered")
+	end
+
+	if not app then
+		if silent=="raw" then
+			app = {}
+		else
+			app = setmetatable({}, silent and readmetasilent or readmeta)
+		end
+		AceLocale.apps[application] = app
+		AceLocale.appnames[app] = application
+	end
+
+	if locale ~= gameLocale and not isDefault then
+		return -- nop, we don't need these translations
+	end
+
+	registering = app -- remember globally for writeproxy and writedefaultproxy
+
+	if isDefault then
+		return writedefaultproxy
+	end
+
+	return writeproxy
+end
+
+--- Returns localizations for the current locale (or default locale if translations are missing).
+-- Errors if nothing is registered (spank developer, not just a missing translation)
+-- @param application Unique name of addon / module
+-- @param silent If true, the locale is optional, silently return nil if it's not found (defaults to false, optional)
+-- @return The locale table for the current language.
+function AceLocale:GetLocale(application, silent)
+	if not silent and not AceLocale.apps[application] then
+		error("Usage: GetLocale(application[, silent]): 'application' - No locales registered for '"..tostring(application).."'", 2)
+	end
+	return AceLocale.apps[application]
+end
diff --git a/libs/AceLocale-3.0/AceLocale-3.0.xml b/libs/AceLocale-3.0/AceLocale-3.0.xml
new file mode 100644
index 0000000..e017af0
--- /dev/null
+++ b/libs/AceLocale-3.0/AceLocale-3.0.xml
@@ -0,0 +1,4 @@
+<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">
+	<Script file="AceLocale-3.0.lua"/>
+</Ui>
\ No newline at end of file
diff --git a/locale/deDE.lua b/locale/deDE.lua
new file mode 100644
index 0000000..2491046
--- /dev/null
+++ b/locale/deDE.lua
@@ -0,0 +1,61 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "deDE")
+if not L then return end
+
+--special thanks to GrimPala from wowinterface.com
+
+L["Bags: %d"] = "Taschen: %d"
+L["Bank: %d"] = "Bank: %d"
+L["Equip: %d"] = "Angelegt: %d"
+L["Guild: %d"] = "Gilde: %d"
+L["Mail: %d"] = "Post: %d"
+L["Void: %d"] = "Leerenlager"
+L["Reagent: %d"] = "Materiallager: %d"
+L["AH: %d"] = "AH: %d"
+L["Search"] = "Suche"
+L["Total:"] = "Gesamt:"
+L["Tokens"] = "Abzeichen"
+L["Profiles"] = "Profile"
+L["Professions"] = "Berufe"
+L["Blacklist"] = "Blacklist"
+L["Gold"] = "Gold"
+L["Close"] = "Schließen"
+L["FixDB"] = "FixDB"
+L["Config"] = "Einstellungen"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "Wähle ein Profil zum löschen aus.\nINFO: Dies ist nicht umkehrbar!"
+L["Delete"] = "Löschen"
+L["Confirm"] = "Bestätigen"
+L["Toggle Search"] = "Öffne/Schließe Suche"
+L["Toggle Tokens"] = "Öffne/Schließe Abzeichen"
+L["Toggle Profiles"] = "Öffne/Schließe Profile"
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = "Die Funktion FixDB wurde ausgeführt! Die Datenbank wurde optimiert!"
+L["ON"] = "An"
+L["OFF"] = "Aus"
+L["Left Click = Search Window"] = "Links Klick = Suchen"
+L["Right Click = BagSync Menu"] = "Rechts Klick = BagSync Menu"
+L["Click Here"] = "Klicke hier"
+L["BagSync: Error user not found!"] = "BagSync: Fehler, Benutzer nicht gefunden!"
+L["Please enter an itemid. (Use Wowhead.com)"] = "Trage bitte eine ItemID ein. (Benutze wowhead.com)"
+L["Remove ItemID"] = "Entferne ItemID"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [itemname] - Nach einem Item suchen"
+L["/bgs search - Opens the search window"] = "/bgs search - Öffnet das Suchfenster"
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - Zeigt einen Tooltip mit dem Gold eines jeden Charakters."
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - Öffnet das Abzeichenfenster."
+L["/bgs profiles - Opens the profiles window."] = "/bgs profiles - Öffnet das Profilfenster."
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Führt eine Reparatur der Datenbank (FixDB) aus."
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs config - Öffnet die Einstellungen für BagSync"
+L["/bgs professions - Opens the professions window."] = "/bgs professions - Öffnet das Berufefenster."
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - Öffnet das Blacklistfenster."
+L["Display [Total] amount."] = "[Gesamt] Anzeige in Tooltips für Items und in der Goldanzeige."
+L["Display [Guild Name] for guild bank items."] = "Anzeige [Name der Gilde] in Tooltips zeigen"
+L["Display guild bank items."] = "Aktiviere Gildenbank Items"
+L["Display mailbox items."] = "Aktiviere Briefkasten Items"
+L["Display auction house items."] = "Aktiviere Auktionshaus Items"
+L["Display BagSync minimap button."] = "Zeige BagSync Minimap Button"
+L["Display items for both factions (Alliance/Horde)."] = "Zeige Items beider Fraktionen (Allianz/Horde)."
+L["Display class colors for characters."] = "Zeige Klassenfarben für Charaktere"
+L["Display BagSync tooltip ONLY in the search window."] = "Zeige modifizierte Tooltips NUR im BagSync Suchfenster."
+L["Enable BagSync Tooltips"] = "Aktiviere BagSync Tooltips"
+L["Display empty line seperator."] = "Aktiviere eine leere Linie als Seperator über der BagSync Tooltip Anzeige."
+L["Display Cross-Realms characters."] = "Altiviere Items für Cross-Realm Charaktere."
+L["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = "Aktiviere Items für die aktuellen Battle.net Account Charaktere |cFFDF2B2B(Nicht empfohlen!)|r."
diff --git a/locale/enUS.lua b/locale/enUS.lua
new file mode 100644
index 0000000..ff50251
--- /dev/null
+++ b/locale/enUS.lua
@@ -0,0 +1,89 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "enUS", true)
+if not L then return end
+
+L["Bags: %d"] = true
+L["Bank: %d"] = true
+L["Equip: %d"] = true
+L["Guild: %d"] = true
+L["Mail: %d"] = true
+L["Void: %d"] = true
+L["Reagent: %d"] = true
+L["AH: %d"] = true
+L["Search"] = true
+L["Total:"] = true
+L["Tokens"] = true
+L["Profiles"] = true
+L["Professions"] = true
+L["Blacklist"] = true
+L["Gold"] = true
+L["Close"] = true
+L["FixDB"] = true
+L["Config"] = true
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = true
+L["Delete"] = true
+L["Confirm"] = true
+L["Toggle Search"] = true
+L["Toggle Tokens"] = true
+L["Toggle Profiles"] = true
+L["Toggle Professions"] = true
+L["Toggle Blacklist"] = true
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = true
+L["ON"] = true
+L["OFF"] = true
+L["Left Click = Search Window"] = true
+L["Right Click = BagSync Menu"] = true
+L["Left Click = Link to view tradeskill."] = true
+L["Right Click = Insert tradeskill link."] = true
+L["Click to view profession: "] = true
+L["Click Here"] = true
+L["BagSync: Error user not found!"] = true
+L["Please enter an itemid. (Use Wowhead.com)"] = true
+L["Add ItemID"] = true
+L["Remove ItemID"] = true
+-- ----THESE ARE FOR SLASH COMMANDS
+L["[itemname]"] = true
+L["search"] = true
+L["gold"] = true
+L["tokens"] = true
+L["fixdb"] = true
+L["profiles"] = true
+L["professions"] = true
+L["blacklist"] = true
+------------------------
+L["/bgs [itemname] - Does a quick search for an item"] = true
+L["/bgs search - Opens the search window"] = true
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = true
+L["/bgs tokens - Opens the tokens/currency window."] = true
+L["/bgs profiles - Opens the profiles window."] = true
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = true
+L["/bgs config - Opens the BagSync Config Window"] = true
+L["/bgs professions - Opens the professions window."] = true
+L["/bgs blacklist - Opens the blacklist window."] = true
+L["Display [Total] amount."] = true
+L["Display [Guild Name] for guild bank items."] = true
+L["Display guild bank items."] = true
+L["Display mailbox items."] = true
+L["Display auction house items."] = true
+L["Display BagSync minimap button."] = true
+L["Display items for both factions (Alliance/Horde)."] = true
+L["Display class colors for characters."] = true
+L["Display BagSync tooltip ONLY in the search window."] = true
+L["Enable BagSync Tooltips"] = true
+L["Display empty line seperator."] = true
+L["Display Cross-Realms characters."] = true
+L["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = true
+L["Primary BagSync tooltip color."] = true
+L["Secondary BagSync tooltip color."] = true
+L["BagSync [Total] tooltip color."] = true
+L["BagSync [Guild] tooltip color."] = true
+L["BagSync [Cross-Realms] tooltip color."] = true
+L["BagSync [Battle.Net] tooltip color."] = true
+L["Settings for various BagSync features"] = true
+L["Display"] = true
+L["Settings for the displayed BagSync tooltip information."] = true
+L["Color"] = true
+L["Color settings for BagSync tooltip information."] = true
+L["Main"] = true
+L["Main settings for BagSync."] = true
+L["WARNING: A total of [%d] items were not searched!\nBagSync is still waiting for the server/cache to respond.\nPress the Search button again to retry."] = true
diff --git a/locale/frFR.lua b/locale/frFR.lua
new file mode 100644
index 0000000..65a782d
--- /dev/null
+++ b/locale/frFR.lua
@@ -0,0 +1,10 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "frFR")
+if not L then return end
+
+--Really wish someone would do the french translation
+
+L["Bags: %d"] = "Sacs: %d"
+L["Bank: %d"] = "Banque: %d"
+L["Equip: %d"] = "Équipé: %d"
+L["Guild: %d"] = "Guilde: %d"
\ No newline at end of file
diff --git a/locale/koKR.lua b/locale/koKR.lua
new file mode 100644
index 0000000..a6893c1
--- /dev/null
+++ b/locale/koKR.lua
@@ -0,0 +1,73 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "koKR")
+if not L then return end
+
+L["Bags: %d"] = "가방: %d"
+L["Bank: %d"] = "은행: %d"
+L["Equip: %d"] = "착용중: %d"
+L["Guild: %d"] = "길드은행: %d"
+L["Mail: %d"] = "우편함: %d"
+L["Void: %d"] = "공허보관소: %d"
+L["Reagent: %d"] = "재료은행: %d"
+L["AH: %d"] = "경매장: %d"
+L["Search"] = "검색"
+L["Total:"] = "총:"
+L["Tokens"] = "문장"
+L["Profiles"] = "프로필"
+L["Professions"] = "전문기술"
+L["Blacklist"] = "차단목록"
+L["Gold"] = "골드"
+L["Close"] = "닫기"
+L["FixDB"] = "FixDB"
+L["Config"] = "설정"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "삭제할 프로필을 선택하세요.\nNOTE: 되돌릴수 없습니다!!!"
+L["Delete"] = "삭제"
+L["Confirm"] = "확인"
+L["Toggle Search"] = "검색 토글"
+L["Toggle Tokens"] = "문장 토글"
+L["Toggle Profiles"] = "프로필 토글"
+L["Toggle Professions"] = "전문기술 토글"
+L["Toggle Blacklist"] = "차단목록 토글"
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = "BagSync에 FixDB가 실행되었습니다! 데이터베이스가 최적화됩니다!"
+L["ON"] = "ON"
+L["OFF"] = "OFF"
+L["Left Click = Search Window"] = "클릭 = 검색창"
+L["Right Click = BagSync Menu"] = "오른쪽 클릭 = BagSync 메뉴"
+L["Left Click = Link to view tradeskill."] = "클릭 = 전문기술 링크하기"
+L["Right Click = Insert tradeskill link."] = "오른쪽 클릭 = 전문기술 링크 삽입"
+L["Click to view profession: "] = "클릭하여 볼 전문기술: "
+L["Click Here"] = "클릭하세요"
+L["BagSync: Error user not found!"] = "BagSync: 오류 사용자를 찾을 수 없음!"
+L["Please enter an itemid. (Use Wowhead.com)"] = "아이템ID를 입력해주세요. (Wowhead.com 이용)"
+L["Add ItemID"] = "아이템ID 추가"
+L["Remove ItemID"] = "아이템ID 제거"
+L["[itemname]"] = "[아이템이름]"
+L["search"] = "search"
+L["gold"] = "gold"
+L["tokens"] = "tokens"
+L["fixdb"] = "fixdb"
+L["profiles"] = "profiles"
+L["professions"] = "professions"
+L["blacklist"] = "blacklist"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [아이템이름] - 빠른 아이템 찾기"
+L["/bgs search - Opens the search window"] = "/bgs search - 검색창 열기"
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 툴팁에 각 케릭터의 골드량을 표시합니다."
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 문장/화폐창을 엽니다"
+L["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 프로필 창을 엽니다."
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - BagSync에 데이터베이스 개선 (FixDB) 실행"
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs config - BagSync 설정 창 열기"
+L["/bgs professions - Opens the professions window."] = "/bgs proffessions - 전문기술 창 열기."
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 차단목록 창 열기."
+L["Display [Total] amount."] = "툴팁과 골드 표시 창에 [총] 항목 표시하기."
+L["Display [Guild Name] for guild bank items."] = "툴팁에 [길드 이름] 표시하기."
+L["Display guild bank items."] = "길드 은행 아이템 사용."
+L["Display mailbox items."] = "우편함 아이템 사용."
+L["Display auction house items."] = "경매장 아이템 사용."
+L["Display BagSync minimap button."] = "BagSync 미니맵 아이콘 표시."
+L["Display items for both factions (Alliance/Horde)."] = "양 진영 아이템 표시 (얼라이언스/호드)."
+L["Display class colors for characters."] = "캐릭터에 직업 색상 표시"
+L["Display BagSync tooltip ONLY in the search window."] = "BagSync 검색 창에만 수정된 툴팁 표시."
+L["Enable BagSync Tooltips"] = "BagSync 툴팁 사용"
+L["Display empty line seperator."] = "BagSync 툴팁 표시 위에 빈 줄 삽입 사용,"
+L["Display Cross-Realms characters."] = "다른 서버 캐릭터의 아이템 사용."
+L["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = "현재 Battle.Net 계정 캐릭터의 아이템 사용 |cFFDF2B2B(권장하지 않음)|r."
diff --git a/locale/ptBR.lua b/locale/ptBR.lua
new file mode 100644
index 0000000..199d142
--- /dev/null
+++ b/locale/ptBR.lua
@@ -0,0 +1,72 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "ptBR")
+if not L then return end
+
+--special thanks to kubito from wowinterface.com
+
+L["Bags: %d"] = "Bolsa: %d"
+L["Bank: %d"] = "Banco: %d"
+L["Equip: %d"] = "Equipado: %d"
+L["Guild: %d"] = "Guilda: %d"
+L["Mail: %d"] = "Correio: %d"
+L["Void: %d"] = "Cofre Etéreo: %d"
+L["Reagent: %d"] = "Banco de Reagentes: %d"
+L["AH: %d"] = "Casa de Leilão: %d"
+L["Search"] = "Pesquisar"
+L["Total:"] = "Total"
+L["Tokens"] = "Fichas"
+L["Profiles"] = "Perfis"
+L["Professions"] = "Profissões"
+L["Blacklist"] = "Lista Negra"
+L["Gold"] = "Ouro"
+L["Close"] = "Fechar"
+L["Config"] = "Configuração"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "Selecione o perfil para deletar.\nOBS: Isto é irreversível"
+L["Delete"] = "Deletar"
+L["Confirm"] = "Confirmar"
+L["Toggle Search"] = "Ativar Pesquisa"
+L["Toggle Tokens"] = "Ativar Fichas"
+L["Toggle Profiles"] = "Ativar Perfis"
+L["Toggle Professions"] = "Ativar Profissões"
+L["Toggle Blacklist"] = "Ativar Lista Negra"
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = "O FixDB foi realizado no BagSync! O banco de dados agora esta otimizado!"
+L["ON"] = "Ligar"
+L["OFF"] = "Desligar"
+L["Left Click = Search Window"] = "Botão Esquerdo = Procurar na Janela"
+L["Right Click = BagSync Menu"] = "Botão Direito = Opções do BagSync"
+L["Left Click = Link to view tradeskill."] = "Botão Esquerdo = Link para vizualizar profissão"
+L["Right Click = Insert tradeskill link."] = "Botão Direito = Inserir link de profissão"
+L["Click to view profession: "] = "Clicar para vizualizar profissões"
+L["Click Here"] = "Clique Aqui"
+L["BagSync: Error user not found!"] = "BagSync: Erro, usuário não achado"
+L["Please enter an itemid. (Use Wowhead.com)"] = "Por favor, entre com o itemid. (Use Wowhead.com)"
+L["Add ItemID"] = "Add ItemID"
+L["Remove ItemID"] = "Remover ItemID"
+L["[itemname]"] = "itemnome"
+L["search"] = "pesquisar"
+L["gold"] = "ouro"
+L["tokens"] = "ficha"
+L["fixdb"] = "fixdb"
+L["profiles"] = "perfis"
+L["professions"] = "profissoes"
+L["blacklist"] = "listanegra"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [itemnome] - Faz uma rápida pesquisa para um item"
+L["/bgs search - Opens the search window"] = "/bgs pesquisar - Abre a janela de pesquisar"
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs ouro - Exibe em dica com a quantidade de ouro em cada personagem."
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs ficha - Abre uma janela com a quantidade de fichas/moedas."
+L["/bgs profiles - Opens the profiles window."] = "/bgs perfis - Abre uma janela de perfis."
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Executa a correção de banco de dados (FixDB) no BagSync."
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs configuração - Abre uma janela de configuração do BagSync"
+L["/bgs professions - Opens the professions window."] = "/bgs profissões - Abre a janela de profissões."
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs listanegra - Abre a janela de lista negra."
+L["Display [Total] amount."] = "Exibe [Total] nas dicas o indicador de ouro."
+L["Display [Guild Name] for guild bank items."] = "Exbie [Nome da Guilda] nas dicas."
+L["Display guild bank items."] = "Ativar itens do banco da guilda."
+L["Display mailbox items."] = "Ativar itens da caixa de correio."
+L["Display auction house items."] = "Ativar itens da casa de leilão."
+L["Display BagSync minimap button."] = "Exibir icone no minimapa do BagSync."
+L["Display items for both factions (Alliance/Horde)."] = "Exibir itens para ambas as facções (Aliança/Horda)."
+L["Display class colors for characters."] = "Exibir cor de classe para personagens"
+L["Display BagSync tooltip ONLY in the search window."] = "Exibir dicas de modificado APENAS na Janela de Pesquisa do BagSync"
+L["Enable BagSync Tooltips"] = "Ativar dicas do BagSync"
+L["Display empty line seperator."] = "Ativar um separador de linha acima na tela de dicas do BagSync"
\ No newline at end of file
diff --git a/locale/ruRU.lua b/locale/ruRU.lua
new file mode 100644
index 0000000..216a68e
--- /dev/null
+++ b/locale/ruRU.lua
@@ -0,0 +1,52 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "ruRU")
+if not L then return end
+
+--special thanks to senryo
+
+L["Bags: %d"] = "В сумке: %d"
+L["Bank: %d"] = "В банке: %d"
+L["Equip: %d"] = "На персонаже: %d"
+L["Guild: %d"] = "В гильдбанке: %d"
+L["Mail: %d"] = "На почте: %d"
+L["Reagent: %d"] = "Банк материалов: %d"
+L["AH: %d"] = "Аукцион: %d"
+L["Search"] = "Поиск"
+L["Total:"] = "Всего:"
+L["Tokens"] = "Токены"
+L["Profiles"] = "Профили"
+L["Professions"] = "Профессии"
+L["Blacklist"] = "Черный список"
+L["Gold"] = "Золото"
+L["Close"] = "Закрыть"
+L["FixDB"] = "Исправить БД"
+L["Config"] = "Опции"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "Выберите профиль для удаления.\nВНИМАНИЕ: это необратимо!"
+L["Delete"] = "Удалить"
+L["Confirm"] = "Подтвердить"
+L["Left Click = Search Window"] = "Левый клик = Окно Поиска"
+L["Right Click = BagSync Menu"] = "Правый клик = Меню BagSync"
+L["Click Here"] = "Кликните здесь"
+L["Please enter an itemid. (Use Wowhead.com)"] = "Введите ItemID"
+L["Add ItemID"] = "Добавить ItemID"
+L["Remove ItemID"] = "Удалить ItemID"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [имя предмета] - Быстрый поиск предмета."
+L["/bgs search - Opens the search window"] = "/bgs search - Открыть окно поиска."
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - Показать количество золота на всех персонажах."
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - Открыть окно токенов/валюты."
+L["/bgs profiles - Opens the profiles window."] = "/bgs profiles - Открыть окно профилей."
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Запустить исправление БД в BagSync."
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs config - Открыть окно опций BagSync."
+L["/bgs professions - Opens the professions window."] = "/bgs professions - Открыть окно профессий."
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - Открыть черный список."
+L["Display [Total] amount."] = "Показывать [Всего] в тултипах и окне золота."
+L["Display [Guild Name] for guild bank items."] = "Показывать [Название Гильдии] в тултипах."
+L["Display guild bank items."] = "Включить предметы в гильдбанках."
+L["Display mailbox items."] = "Включить предметы на почте."
+L["Display auction house items."] = "Включить предметы на аукционе."
+L["Display BagSync minimap button."] = "Показывать кнопку BagSync у миникарты."
+L["Display items for both factions (Alliance/Horde)."] = "Показывать предметы обеих фракций."
+L["Display class colors for characters."] = "Включить цвета классов для персонажей."
+L["Display BagSync tooltip ONLY in the search window."] = "Показывать модифицированные тултипы ТОЛЬКО в окне поиска BagSync."
+L["Enable BagSync Tooltips"] = "Включить тултипы BagSync."
+L["Display empty line seperator."] = "Включить пустую строку над текстом BagSync в тултипах."
\ No newline at end of file
diff --git a/locale/zhCN.lua b/locale/zhCN.lua
new file mode 100644
index 0000000..a83e4e0
--- /dev/null
+++ b/locale/zhCN.lua
@@ -0,0 +1,64 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "zhCN")
+if not L then return end
+
+--special thanks to ytzyt at Curse for the zhCN and zhTW translations!
+
+L["Bags: %d"] = "背包: %d"
+L["Bank: %d"] = "银行: %d"
+L["Equip: %d"] = "已装备: %d"
+L["Mail: %d"] = "信箱: %d"
+L["Void: %d"] = "虚空仓库: %d"
+L["Reagent: %d"] = "材料银行: %d"
+L["AH: %d"] = "拍卖: %d"
+L["Search"] = "搜索"
+L["Total:"] = "总计: "
+L["Tokens"] = "货币"
+L["Profiles"] = "设定档"
+L["Professions"] = "专业"
+L["Blacklist"] = "忽略例表"
+L["Gold"] = "金钱"
+L["Close"] = "关闭"
+L["FixDB"] = "优化数据库"
+L["Config"] = "设定"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "选择要删除的设定档.\n注意: 不可逆!"
+L["Delete"] = "删除"
+L["Confirm"] = "确认"
+L["Toggle Search"] = "切换搜索"
+L["Toggle Tokens"] = "切换货币"
+L["Toggle Profiles"] = "切换设定档"
+L["Toggle Professions"] = "切换专业"
+L["Toggle Blacklist"] = "切换忽略例表"
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = "已执行FixDB, 数据库已优化!"
+L["ON"] = "开[ON]"
+L["OFF"] = "关[OFF]"
+L["Left Click = Search Window"] = "左键 = 搜索窗"
+L["Right Click = BagSync Menu"] = "右键 = 菜单"
+L["Left Click = Link to view tradeskill."] = "左键 = 查看专业技能链接"
+L["Right Click = Insert tradeskill link."] = "右键 = 插入专业技能链接"
+L["Click to view profession: "] = "点击查看专业"
+L["Click Here"] = "点这里"
+L["BagSync: Error user not found!"] = "BagSync: 错误,未找到用户!"
+L["Please enter an itemid. (Use Wowhead.com)"] = "输入物品ID(用wowhead.com查询)"
+L["Add ItemID"] = "添加物品ID"
+L["Remove ItemID"] = "移除物品ID"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [物品名称] - 快速搜索一件物品"
+L["/bgs search - Opens the search window"] = "/bgs search - 开启搜索窗"
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 显示各角色的金钱统计"
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 开启货币窗口"
+L["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 开启设置窗口"
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - 优化BagSync数据库"
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs config - 设置"
+L["/bgs professions - Opens the professions window."] = "/bgs professions - 开启专业窗口"
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 开启忽略例表"
+L["Display [Total] amount."] = "在金钱和统计上显示总计"
+L["Display [Guild Name] for guild bank items."] = "在提示上显示公会名"
+L["Display guild bank items."] = "包括公会仓物品"
+L["Display mailbox items."] = "包括信箱内物品"
+L["Display auction house items."] = "包括拍卖行物品"
+L["Display BagSync minimap button."] = "显示小地图按纽"
+L["Display items for both factions (Alliance/Horde)."] = "同时显示部落和联盟的物品"
+L["Display class colors for characters."] = "显示职业颜色"
+L["Display BagSync tooltip ONLY in the search window."] = "只在BagSync搜索窗内显示修改过的鼠标提示"
+L["Enable BagSync Tooltips"] = "启用BagSync鼠标提示"
+L["Display empty line seperator."] = "在鼠标提示上方添加空行分割线"
diff --git a/locale/zhTW.lua b/locale/zhTW.lua
new file mode 100644
index 0000000..bcae1c2
--- /dev/null
+++ b/locale/zhTW.lua
@@ -0,0 +1,65 @@
+
+local L = LibStub("AceLocale-3.0"):NewLocale("BagSync", "zhTW")
+if not L then return end
+
+--special thanks to ytzyt at Curse for the zhCN and zhTW translations!
+
+L["Bags: %d"] = "背包: %d"
+L["Bank: %d"] = "銀行: %d"
+L["Equip: %d"] = "已裝備: %d"
+L["Guild: %d"] = "公會倉: %d"
+L["Mail: %d"] = "信箱: %d"
+L["Void: %d"] = "虛空倉庫: %d"
+L["Reagent: %d"] = "材料銀行: %d"
+L["AH: %d"] = "拍賣: %d"
+L["Search"] = "搜索"
+L["Total:"] = "總: "
+L["Tokens"] = "貨幣"
+L["Profiles"] = "設定檔"
+L["Professions"] = "專業"
+L["Blacklist"] = "忽略例表"
+L["Gold"] = "金錢"
+L["Close"] = "關閉"
+L["FixDB"] = "優化數據庫"
+L["Config"] = "設定"
+L["Select a profile to delete.\nNOTE: This is irreversible!"] = "選擇要刪除的設定檔.\n注意:此操作不可逆!"
+L["Delete"] = "刪除"
+L["Confirm"] = "確認"
+L["Toggle Search"] = "切換搜索"
+L["Toggle Tokens"] = "切換貨幣"
+L["Toggle Profiles"] = "切換設定檔"
+L["Toggle Professions"] = "切換專業"
+L["Toggle Blacklist"] = "切換忽略例表"
+L["A FixDB has been performed on BagSync!  The database is now optimized!"] = "已執行FixDB, 數據庫已優化!"
+L["ON"] = "開[ON]"
+L["OFF"] = "關[OFF]"
+L["Left Click = Search Window"] = "左鍵 = 搜索窗"
+L["Right Click = BagSync Menu"] = "右鍵 = 選單"
+L["Left Click = Link to view tradeskill."] = "左鍵 = 查看專業技能鏈接"
+L["Right Click = Insert tradeskill link."] = "右鍵 = 插入專業技能鏈接"
+L["Click to view profession: "] = "點擊查看專業"
+L["Click Here"] = "點這裡"
+L["BagSync: Error user not found!"] = "BagSync: 錯誤, 未找到用戶!"
+L["Please enter an itemid. (Use Wowhead.com)"] = "輸入物品ID(用wowhead.com查詢)"
+L["Add ItemID"] = "添加物品ID"
+L["Remove ItemID"] = "移除物品ID"
+L["/bgs [itemname] - Does a quick search for an item"] = "/bgs [物品名稱] - 快速搜索一件物品"
+L["/bgs search - Opens the search window"] = "/bgs search - 開啟搜索窗"
+L["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 顯示各角色的金錢統計提示"
+L["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 開啟貨幣視窗"
+L["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 開啟設定檔視窗"
+L["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - 優化數據庫"
+L["/bgs config - Opens the BagSync Config Window"] = "/bgs config - 設置"
+L["/bgs professions - Opens the professions window."] = "/bgs professions - 開啟專業視窗"
+L["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 開啟忽略例表"
+L["Display [Total] amount."] = "在金錢和統計上顯示總數"
+L["Display [Guild Name] for guild bank items."] = "在資訊上顯示公會名"
+L["Display guild bank items."] = "包括公會倉物品"
+L["Display mailbox items."] = "包括信箱內物品"
+L["Display auction house items."] = "包括拍賣行物品"
+L["Display BagSync minimap button."] = "顯示小地圖按鈕"
+L["Display items for both factions (Alliance/Horde)."] = "同時顯示聯盟和部落的物品"
+L["Display class colors for characters."] = "職業顏色"
+L["Display BagSync tooltip ONLY in the search window."] = "僅在BagSync搜索視窗內顯示修改過的提示資訊"
+L["Enable BagSync Tooltips"] = "啟用BagSync提示資訊"
+L["Display empty line seperator."] = "在提示資訊上方添加空行分割線"
diff --git a/localization/localization.lua b/localization/localization.lua
deleted file mode 100644
index 3de861a..0000000
--- a/localization/localization.lua
+++ /dev/null
@@ -1,521 +0,0 @@
-
---[[
-	BagSync Localization
---]]
-
--- ["Bags: %d"] = "",
--- ["Bank: %d"] = "",
--- ["Equip: %d"] = "",
--- ["Guild: %d"] = "",
--- ["Mail: %d"] = "",
--- ["Void: %d"] = "",
--- ["Reagent: %d"] = "",
--- ["AH: %d"] = "",
--- ["Search"] = "",
--- ["Total:"] = "",
--- ["Tokens"] = "",
--- ["Profiles"] = "",
--- ["Professions"] = "",
--- ["Blacklist"] = "",
--- ["Gold"] = "",
--- ["Close"] = "",
--- ["FixDB"] = "",
--- ["Config"] = "",
--- ["Select a profile to delete.\nNOTE: This is irreversible!"] = "",
--- ["Delete"] = "",
--- ["Confirm"] = "",
--- ["Toggle Search"] = "",
--- ["Toggle Tokens"] = "",
--- ["Toggle Profiles"] = "",
--- ["Toggle Professions"] = "",
--- ["Toggle Blacklist"] = "",
--- ["A FixDB has been performed on BagSync!  The database is now optimized!"] = "",
--- ["ON"] = "",
--- ["OFF"] = "",
--- ["Left Click = Search Window"] = "",
--- ["Right Click = BagSync Menu"] = "",
--- ["Left Click = Link to view tradeskill."] = "",
--- ["Right Click = Insert tradeskill link."] = "",
--- ["Click to view profession: "] = "",
--- ["Click Here"] = "",
--- ["BagSync: Error user not found!"] = "",
--- ["Please enter an itemid. (Use Wowhead.com)"] = "",
--- ["Add ItemID"] = "",
--- ["Remove ItemID"] = "",
--- ----THESE ARE FOR SLASH COMMANDS
--- ["[itemname]"] = "",
--- ["search"] = "",
--- ["gold"] = "",
--- ["tokens"] = "",
--- ["fixdb"] = "",
--- ["profiles"] = "",
--- ["professions"] = "",
--- ["blacklist"] = "",
--- ----------------------
--- ["/bgs [itemname] - Does a quick search for an item"] = "",
--- ["/bgs search - Opens the search window"] = "",
--- ["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "",
--- ["/bgs tokens - Opens the tokens/currency window."] = "",
--- ["/bgs profiles - Opens the profiles window."] = "",
--- ["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "",
--- ["/bgs config - Opens the BagSync Config Window"] = "",
--- ["/bgs professions - Opens the professions window."] = "",
--- ["/bgs blacklist - Opens the blacklist window."] = "",
--- ["Display [Total] amount."] = "",
--- ["Display [Guild Name] for guild bank items."] = "",
--- ["Display guild bank items."] = "",
--- ["Display mailbox items."] = "",
--- ["Display auction house items."] = "",
--- ["Display BagSync minimap button."] = "",
--- ["Display items for both factions (Alliance/Horde)."] = "",
--- ["Display class colors for characters."] = "",
--- ["Display BagSync tooltip ONLY in the search window."] = "",
--- ["Enable BagSync Tooltips"] = "",
--- ["Display empty line seperator."] = "",
--- ["Display Cross-Realms characters."] = "",
--- ["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = "",
--- ["Primary BagSync tooltip color."] = "",
--- ["Secondary BagSync tooltip color."] = "",
--- ["BagSync [Total] tooltip color."] = "",
--- ["BagSync [Guild] tooltip color."] = "",
--- ["BagSync [Cross-Realms] tooltip color."] = "",
--- ["BagSync [Battle.Net] tooltip color."] = "",
--- ["Settings for various BagSync features"] = "",
--- ["Display"] = "",
--- ["Settings for the displayed BagSync tooltip information."] = "",
--- ["Color"] = "",
--- ["Color settings for BagSync tooltip information."] = "",
--- ["Minimap"] = "",
--- ["Settings for BagSync minimap button."] = "",
--- ["Search"] = "",
--- ["Settings for BagSync search window."] = "",
-
-
----------------------
---Major shout out and special thanks to ytzyt at Curse for the zhCN and zhTW translations!  Thanks!
----------------------
-
-BAGSYNC_L = GetLocale() == "zhCN" and {
-	["Bags: %d"] = "背包: %d",
-	["Bank: %d"] = "银行: %d",
-	["Equip: %d"] = "已装备: %d",
-	["Mail: %d"] = "信箱: %d",
-	["Void: %d"] = "虚空仓库: %d",
-	["Reagent: %d"] = "材料银行: %d",
-	["AH: %d"] = "拍卖: %d",
-	["Search"] = "搜索",
-	["Total:"] = "总计: ",
-	["Tokens"] = "货币",
-	["Profiles"] = "设定档",
-	["Professions"] = "专业",
-	["Blacklist"] = "忽略例表",
-	["Gold"] = "金钱",
-	["Close"] = "关闭",
-	["FixDB"] = "优化数据库",
-	["Config"] = "设定",
-	["Select a profile to delete.\nNOTE: This is irreversible!"] = "选择要删除的设定档.\n注意: 不可逆!",
-	["Delete"] = "删除",
-	["Confirm"] = "确认",
-	["Toggle Search"] = "切换搜索",
-	["Toggle Tokens"] = "切换货币",
-	["Toggle Profiles"] = "切换设定档",
-	["Toggle Professions"] = "切换专业",
-	["Toggle Blacklist"] = "切换忽略例表",
-	["A FixDB has been performed on BagSync!  The database is now optimized!"] = "已执行FixDB, 数据库已优化!",
-	["ON"] = "开[ON]",
-	["OFF"] = "关[OFF]",
-	["Left Click = Search Window"] = "左键 = 搜索窗",
-	["Right Click = BagSync Menu"] = "右键 = 菜单",
-	["Left Click = Link to view tradeskill."] = "左键 = 查看专业技能链接",
-	["Right Click = Insert tradeskill link."] = "右键 = 插入专业技能链接",
-	["Click to view profession: "] = "点击查看专业",
-	["Click Here"] = "点这里",
-	["BagSync: Error user not found!"] = "BagSync: 错误,未找到用户!",
-	["Please enter an itemid. (Use Wowhead.com)"] = "输入物品ID(用wowhead.com查询)",
-	["Add ItemID"] = "添加物品ID",
-	["Remove ItemID"] = "移除物品ID",
--- ----------------------
-	["/bgs [itemname] - Does a quick search for an item"] = "/bgs [物品名称] - 快速搜索一件物品",
-	["/bgs search - Opens the search window"] = "/bgs search - 开启搜索窗",
-	["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 显示各角色的金钱统计",
-	["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 开启货币窗口",
-	["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 开启设置窗口",
-	["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - 优化BagSync数据库",
-	["/bgs config - Opens the BagSync Config Window"] = "/bgs config - 设置",
-	["/bgs professions - Opens the professions window."] = "/bgs professions - 开启专业窗口",
-	["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 开启忽略例表",
-	["Display [Total] amount."] = "在金钱和统计上显示总计",
-	["Display [Guild Name] for guild bank items."] = "在提示上显示公会名",
-	["Display guild bank items."] = "包括公会仓物品",
-	["Display mailbox items."] = "包括信箱内物品",
-	["Display auction house items."] = "包括拍卖行物品",
-	["Display BagSync minimap button."] = "显示小地图按纽",
-	["Display items for both factions (Alliance/Horde)."] = "同时显示部落和联盟的物品",
-	["Display class colors for characters."] = "显示职业颜色",
-	["Display BagSync tooltip ONLY in the search window."] = "只在BagSync搜索窗内显示修改过的鼠标提示",
-	["Enable BagSync Tooltips"] = "启用BagSync鼠标提示",
-	["Display empty line seperator."] = "在鼠标提示上方添加空行分割线",
-
-} or GetLocale() == "ruRU" and {
-	["Bags: %d"] = "В сумке: %d",
-	["Bank: %d"] = "В банке: %d",
-	["Equip: %d"] = "На персонаже: %d",
-	["Guild: %d"] = "В гильдбанке: %d",
-	["Mail: %d"] = "На почте: %d",
---	["Void: %d"] = "",
-	["Reagent: %d"] = "Банк материалов: %d",
-	["AH: %d"] = "Аукцион: %d",
-	["Search"] = "Поиск",
-	["Total:"] = "Всего:",
-	["Tokens"] = "Токены",
-	["Profiles"] = "Профили",
-	["Professions"] = "Профессии",
-	["Blacklist"] = "Черный список",
-	["Gold"] = "Золото",
-	["Close"] = "Закрыть",
-	["FixDB"] = "Исправить БД",
-	["Config"] = "Опции",
-	["Select a profile to delete.\nNOTE: This is irreversible!"] = "Выберите профиль для удаления.\nВНИМАНИЕ: это необратимо!",
-	["Delete"] = "Удалить",
-	["Confirm"] = "Подтвердить",
---	["Toggle Search"] = "",
---	["Toggle Tokens"] = "",
---	["Toggle Profiles"] = "",
---	["Toggle Professions"] = "",
---	["Toggle Blacklist"] = "",
---	["A FixDB has been performed on BagSync!  The database is now optimized!"] = "",
---	["ON"] = "",
---	["OFF"] = "",
-	["Left Click = Search Window"] = "Левый клик = Окно Поиска",
-	["Right Click = BagSync Menu"] = "Правый клик = Меню BagSync",
---	["Left Click = Link to view tradeskill."] = "",
---	["Right Click = Insert tradeskill link."] = "",
---	["Click to view profession: "] = "",
-	["Click Here"] = "Кликните здесь",
---	["BagSync: Error user not found!"] = "",
-	["Please enter an itemid. (Use Wowhead.com)"] = "Введите ItemID",
-	["Add ItemID"] = "Добавить ItemID",
-	["Remove ItemID"] = "Удалить ItemID",
-	----THESE ARE FOR SLASH COMMANDS
---[[	Не переводите на русский эту секцию, иначе консольные команды вида "/bgs gold" не будут работать, потребуется
-	писать в консоли "/bgs золото". Что не очень удобно и не эстетично. При желании, пользователь может просто
-	раскомментировать эту секцию на локальном компьютере.
-	["[itemname]"] = "[имя предмета]",
-	["search"] = "поиск",
-	["gold"] = "золото",
-	["tokens"] = "токены",
-	["fixdb"] = "исправить БД",
-	["profiles"] = "профили",
-	["professions"] = "профессии",
-	["blacklist"] = "черный список",
- --]]
-	----------------------
-	["/bgs [itemname] - Does a quick search for an item"] = "/bgs [имя предмета] - Быстрый поиск предмета.",
-	["/bgs search - Opens the search window"] = "/bgs search - Открыть окно поиска.",
-	["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - Показать количество золота на всех персонажах.",
-	["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - Открыть окно токенов/валюты.",
-	["/bgs profiles - Opens the profiles window."] = "/bgs profiles - Открыть окно профилей.",
-	["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Запустить исправление БД в BagSync.",
-	["/bgs config - Opens the BagSync Config Window"] = "/bgs config - Открыть окно опций BagSync.",
-	["/bgs professions - Opens the professions window."] = "/bgs professions - Открыть окно профессий.",
-	["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - Открыть черный список.",
-	["Display [Total] amount."] = "Показывать [Всего] в тултипах и окне золота.",
-	["Display [Guild Name] for guild bank items."] = "Показывать [Название Гильдии] в тултипах.",
-	["Display guild bank items."] = "Включить предметы в гильдбанках.",
-	["Display mailbox items."] = "Включить предметы на почте.",
-	["Display auction house items."] = "Включить предметы на аукционе.",
-	["Display BagSync minimap button."] = "Показывать кнопку BagSync у миникарты.",
-	["Display items for both factions (Alliance/Horde)."] = "Показывать предметы обеих фракций.",
-	["Display class colors for characters."] = "Включить цвета классов для персонажей.",
-	["Display BagSync tooltip ONLY in the search window."] = "Показывать модифицированные тултипы ТОЛЬКО в окне поиска BagSync.",
-	["Enable BagSync Tooltips"] = "Включить тултипы BagSync.",
-	["Display empty line seperator."] = "Включить пустую строку над текстом BagSync в тултипах.",
-
-} or GetLocale() == "zhTW" and {
-	["Bags: %d"] = "背包: %d",
-	["Bank: %d"] = "銀行: %d",
-	["Equip: %d"] = "已裝備: %d",
-	["Guild: %d"] = "公會倉: %d",
-	["Mail: %d"] = "信箱: %d",
-	["Void: %d"] = "虛空倉庫: %d",
-	["Reagent: %d"] = "材料銀行: %d",
-	["AH: %d"] = "拍賣: %d",
-	["Search"] = "搜索",
-	["Total:"] = "總: ",
-	["Tokens"] = "貨幣",
-	["Profiles"] = "設定檔",
-	["Professions"] = "專業",
-	["Blacklist"] = "忽略例表",
-	["Gold"] = "金錢",
-	["Close"] = "關閉",
-	["FixDB"] = "優化數據庫",
-	["Config"] = "設定",
-	["Select a profile to delete.\nNOTE: This is irreversible!"] = "選擇要刪除的設定檔.\n注意:此操作不可逆!",
-	["Delete"] = "刪除",
-	["Confirm"] = "確認",
-	["Toggle Search"] = "切換搜索",
-	["Toggle Tokens"] = "切換貨幣",
-	["Toggle Profiles"] = "切換設定檔",
-	["Toggle Professions"] = "切換專業",
-	["Toggle Blacklist"] = "切換忽略例表",
-	["A FixDB has been performed on BagSync!  The database is now optimized!"] = "已執行FixDB, 數據庫已優化!",
-	["ON"] = "開[ON]",
-	["OFF"] = "關[OFF]",
-	["Left Click = Search Window"] = "左鍵 = 搜索窗",
-	["Right Click = BagSync Menu"] = "右鍵 = 選單",
-	["Left Click = Link to view tradeskill."] = "左鍵 = 查看專業技能鏈接",
-	["Right Click = Insert tradeskill link."] = "右鍵 = 插入專業技能鏈接",
-	["Click to view profession: "] = "點擊查看專業",
-	["Click Here"] = "點這裡",
-	["BagSync: Error user not found!"] = "BagSync: 錯誤, 未找到用戶!",
-	["Please enter an itemid. (Use Wowhead.com)"] = "輸入物品ID(用wowhead.com查詢)",
-	["Add ItemID"] = "添加物品ID",
-	["Remove ItemID"] = "移除物品ID",
--- ----------------------
-	["/bgs [itemname] - Does a quick search for an item"] = "/bgs [物品名稱] - 快速搜索一件物品",
-	["/bgs search - Opens the search window"] = "/bgs search - 開啟搜索窗",
-	["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 顯示各角色的金錢統計提示",
-	["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 開啟貨幣視窗",
-	["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 開啟設定檔視窗",
-	["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - 優化數據庫",
-	["/bgs config - Opens the BagSync Config Window"] = "/bgs config - 設置",
-	["/bgs professions - Opens the professions window."] = "/bgs professions - 開啟專業視窗",
-	["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 開啟忽略例表",
-	["Display [Total] amount."] = "在金錢和統計上顯示總數",
-	["Display [Guild Name] for guild bank items."] = "在資訊上顯示公會名",
-	["Display guild bank items."] = "包括公會倉物品",
-	["Display mailbox items."] = "包括信箱內物品",
-	["Display auction house items."] = "包括拍賣行物品",
-	["Display BagSync minimap button."] = "顯示小地圖按鈕",
-	["Display items for both factions (Alliance/Horde)."] = "同時顯示聯盟和部落的物品",
-	["Display class colors for characters."] = "職業顏色",
-	["Display BagSync tooltip ONLY in the search window."] = "僅在BagSync搜索視窗內顯示修改過的提示資訊",
-	["Enable BagSync Tooltips"] = "啟用BagSync提示資訊",
-	["Display empty line seperator."] = "在提示資訊上方添加空行分割線",
-
-} or GetLocale() == "frFR" and {
-	["Bags: %d"] = "Sacs: %d",
-	["Bank: %d"] = "Banque: %d",
-	["Equip: %d"] = "Équipé: %d",
-	["Guild: %d"] = "Guilde: %d",
-
-} or GetLocale() == "koKR" and {
-	["Bags: %d"] = "가방: %d",
-	["Bank: %d"] = "은행: %d",
-	["Equip: %d"] = "착용중: %d",
-	["Guild: %d"] = "길드은행: %d",
-	["Mail: %d"] = "우편함: %d",
-	["Void: %d"] = "공허보관소: %d",
-	["Reagent: %d"] = "재료은행: %d",
-	["AH: %d"] = "경매장: %d",
-	["Search"] = "검색",
-	["Total:"] = "총:",
-	["Tokens"] = "문장",
-	["Profiles"] = "프로필",
-	["Professions"] = "전문기술",
-        ["Blacklist"] = "차단목록",
-        ["Gold"] = "골드",
-        ["Close"] = "닫기",
-        ["FixDB"] = "FixDB",
-        ["Config"] = "설정",
-	["Select a profile to delete.\nNOTE: This is irreversible!"] = "삭제할 프로필을 선택하세요.\nNOTE: 되돌릴수 없습니다!!!",
-	["Delete"] = "삭제",
-	["Confirm"] = "확인",
-	["Toggle Search"] = "검색 토글",
-	["Toggle Tokens"] = "문장 토글",
-        ["Toggle Profiles"] = "프로필 토글",
-        ["Toggle Professions"] = "전문기술 토글",
-        ["Toggle Blacklist"] = "차단목록 토글",
-        ["A FixDB has been performed on BagSync!  The database is now optimized!"] = "BagSync에 FixDB가 실행되었습니다! 데이터베이스가 최적화됩니다!",
-        ["ON"] = "ON",
-        ["OFF"] = "OFF",
-        ["Left Click = Search Window"] = "클릭 = 검색창",
-        ["Right Click = BagSync Menu"] = "오른쪽 클릭 = BagSync 메뉴",
-        ["Left Click = Link to view tradeskill."] = "클릭 = 전문기술 링크하기",
-        ["Right Click = Insert tradeskill link."] = "오른쪽 클릭 = 전문기술 링크 삽입",
-        ["Click to view profession: "] = "클릭하여 볼 전문기술: ",
-        ["Click Here"] = "클릭하세요",
-        ["BagSync: Error user not found!"] = "BagSync: 오류 사용자를 찾을 수 없음!",
-        ["Please enter an itemid. (Use Wowhead.com)"] = "아이템ID를 입력해주세요. (Wowhead.com 이용)",
-        ["Add ItemID"] = "아이템ID 추가",
-        ["Remove ItemID"] = "아이템ID 제거",
--- ----THESE ARE FOR SLASH COMMANDS
-        ["[itemname]"] = "[아이템이름]",
-        ["search"] = "search",
-        ["gold"] = "gold",
-        ["tokens"] = "tokens",
-        ["fixdb"] = "fixdb",
-        ["profiles"] = "profiles",
-        ["professions"] = "professions",
-        ["blacklist"] = "blacklist",
--- ----------------------
-	["/bgs [itemname] - Does a quick search for an item"] = "/bgs [아이템이름] - 빠른 아이템 찾기",
-	["/bgs search - Opens the search window"] = "/bgs search - 검색창 열기",
-	["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - 툴팁에 각 케릭터의 골드량을 표시합니다.",
-	["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - 문장/화폐창을 엽니다",
-	["/bgs profiles - Opens the profiles window."] = "/bgs profiles - 프로필 창을 엽니다.",
-	["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - BagSync에 데이터베이스 개선 (FixDB) 실행",
-        ["/bgs config - Opens the BagSync Config Window"] = "/bgs config - BagSync 설정 창 열기",
-        ["/bgs professions - Opens the professions window."] = "/bgs proffessions - 전문기술 창 열기.",
-        ["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - 차단목록 창 열기.",
-        ["Display [Total] amount."] = "툴팁과 골드 표시 창에 [총] 항목 표시하기.",
-        ["Display [Guild Name] for guild bank items."] = "툴팁에 [길드 이름] 표시하기.",
-        ["Display guild bank items."] = "길드 은행 아이템 사용.",
-        ["Display mailbox items."] = "우편함 아이템 사용.",
-        ["Display auction house items."] = "경매장 아이템 사용.",
-        ["Display BagSync minimap button."] = "BagSync 미니맵 아이콘 표시.",
-        ["Display items for both factions (Alliance/Horde)."] = "양 진영 아이템 표시 (얼라이언스/호드).",
-        ["Display class colors for characters."] = "캐릭터에 직업 색상 표시",
-        ["Display BagSync tooltip ONLY in the search window."] = "BagSync 검색 창에만 수정된 툴팁 표시.",
-        ["Enable BagSync Tooltips"] = "BagSync 툴팁 사용",
-        ["Display empty line seperator."] = "BagSync 툴팁 표시 위에 빈 줄 삽입 사용,",
-        ["Display Cross-Realms characters."] = "다른 서버 캐릭터의 아이템 사용.",
-        ["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = "현재 Battle.Net 계정 캐릭터의 아이템 사용 |cFFDF2B2B(권장하지 않음)|r.",
-
-} or GetLocale() == "deDE" and {
-	--special thanks to GrimPala from wowinterface.com
-		["Bags: %d"] = "Taschen: %d",
-		["Bank: %d"] = "Bank: %d",
-		["Equip: %d"] = "Angelegt: %d",
-		["Guild: %d"] = "Gilde: %d",
-		["Mail: %d"] = "Post: %d",
-		["Void: %d"] = "Leerenlager",
-		["Reagent: %d"] = "Materiallager: %d",
-		["AH: %d"] = "AH: %d",
-		["Search"] = "Suche",
-		["Total:"] = "Gesamt:",
-		["Tokens"] = "Abzeichen",
-		["Profiles"] = "Profile",
-		["Professions"] = "Berufe",
-		["Blacklist"] = "Blacklist",
-		["Gold"] = "Gold",
-		["Close"] = "Schließen",
-		["FixDB"] = "FixDB",
-		["Config"] = "Einstellungen",
-		["Select a profile to delete.\nNOTE: This is irreversible!"] = "Wähle ein Profil zum löschen aus.\nINFO: Dies ist nicht umkehrbar!",
-		["Delete"] = "Löschen",
-		["Confirm"] = "Bestätigen",
-		["Toggle Search"] = "Öffne/Schließe Suche",
-		["Toggle Tokens"] = "Öffne/Schließe Abzeichen",
-		["Toggle Profiles"] = "Öffne/Schließe Profile",
-		-- ["Toggle Professions"] = "",
-		-- ["Toggle Blacklist"] = "",
-		["A FixDB has been performed on BagSync!  The database is now optimized!"] = "Die Funktion FixDB wurde ausgeführt! Die Datenbank wurde optimiert!",
-		["ON"] = "An",
-		["OFF"] = "Aus",
-		["Left Click = Search Window"] = "Links Klick = Suchen",
-		["Right Click = BagSync Menu"] = "Rechts Klick = BagSync Menu",
-		-- ["Left Click = Link to view tradeskill."] = "",
-		-- ["Right Click = Insert tradeskill link."] = "",
-		-- ["Click to view profession: "] = "",
-		["Click Here"] = "Klicke hier",
-		["BagSync: Error user not found!"] = "BagSync: Fehler, Benutzer nicht gefunden!",
-		["Please enter an itemid. (Use Wowhead.com)"] = "Trage bitte eine ItemID ein. (Benutze wowhead.com)",
-		-- ["Add ItemID"] = "",
-		["Remove ItemID"] = "Entferne ItemID",
-		-- ----THESE ARE FOR SLASH COMMANDS
-		-- ["[itemname]"] = "",
-		-- ["search"] = "",
-		-- ["gold"] = "",
-		-- ["tokens"] = "",
-		-- ["fixdb"] = "",
-		-- ["profiles"] = "",
-		-- ["professions"] = "",
-		-- ["blacklist"] = "",
-		-- ----------------------
-		["/bgs [itemname] - Does a quick search for an item"] = "/bgs [itemname] - Nach einem Item suchen",
-		["/bgs search - Opens the search window"] = "/bgs search - Öffnet das Suchfenster",
-		["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs gold - Zeigt einen Tooltip mit dem Gold eines jeden Charakters.",
-		["/bgs tokens - Opens the tokens/currency window."] = "/bgs tokens - Öffnet das Abzeichenfenster.",
-		["/bgs profiles - Opens the profiles window."] = "/bgs profiles - Öffnet das Profilfenster.",
-		["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Führt eine Reparatur der Datenbank (FixDB) aus.",
-		["/bgs config - Opens the BagSync Config Window"] = "/bgs config - Öffnet die Einstellungen für BagSync",
-		["/bgs professions - Opens the professions window."] = "/bgs professions - Öffnet das Berufefenster.",
-		["/bgs blacklist - Opens the blacklist window."] = "/bgs blacklist - Öffnet das Blacklistfenster.",
-		["Display [Total] amount."] = "[Gesamt] Anzeige in Tooltips für Items und in der Goldanzeige.",
-		["Display [Guild Name] for guild bank items."] = "Anzeige [Name der Gilde] in Tooltips zeigen",
-		["Display guild bank items."] = "Aktiviere Gildenbank Items",
-		["Display mailbox items."] = "Aktiviere Briefkasten Items",
-		["Display auction house items."] = "Aktiviere Auktionshaus Items",
-		["Display BagSync minimap button."] = "Zeige BagSync Minimap Button",
-		["Display items for both factions (Alliance/Horde)."] = "Zeige Items beider Fraktionen (Allianz/Horde).",
-		["Display class colors for characters."] = "Zeige Klassenfarben für Charaktere",
-		["Display BagSync tooltip ONLY in the search window."] = "Zeige modifizierte Tooltips NUR im BagSync Suchfenster.",
-		["Enable BagSync Tooltips"] = "Aktiviere BagSync Tooltips",
-		["Display empty line seperator."] = "Aktiviere eine leere Linie als Seperator über der BagSync Tooltip Anzeige.",
-		["Display Cross-Realms characters."] = "Altiviere Items für Cross-Realm Charaktere.",
-		["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."] = "Aktiviere Items für die aktuellen Battle.net Account Charaktere |cFFDF2B2B(Nicht empfohlen!)|r.",
-
-} or GetLocale() == "ptBR" and {
-	--special thanks to kubito from wowinterface.com
-	["Bags: %d"] = "Bolsa: %d",
-	["Bank: %d"] = "Banco: %d",
-	["Equip: %d"] = "Equipado: %d",
-	["Guild: %d"] = "Guilda: %d",
-	["Mail: %d"] = "Correio: %d",
-	["Void: %d"] = "Cofre Etéreo: %d",
-	["Reagent: %d"] = "Banco de Reagentes: %d",
-	["AH: %d"] = "Casa de Leilão: %d",
-	["Search"] = "Pesquisar",
-	["Total:"] = "Total",
-	["Tokens"] = "Fichas",
-	["Profiles"] = "Perfis",
-	["Professions"] = "Profissões",
-	["Blacklist"] = "Lista Negra",
-	["Gold"] = "Ouro",
-	["Close"] = "Fechar",
-	["Config"] = "Configuração",
-	["Select a profile to delete.\nNOTE: This is irreversible!"] = "Selecione o perfil para deletar.\nOBS: Isto é irreversível",
-	["Delete"] = "Deletar",
-	["Confirm"] = "Confirmar",
-	["Toggle Search"] = "Ativar Pesquisa",
-	["Toggle Tokens"] = "Ativar Fichas",
-	["Toggle Profiles"] = "Ativar Perfis",
-	["Toggle Professions"] = "Ativar Profissões",
-	["Toggle Blacklist"] = "Ativar Lista Negra",
-	["A FixDB has been performed on BagSync!  The database is now optimized!"] = "O FixDB foi realizado no BagSync! O banco de dados agora esta otimizado!",
-	["ON"] = "Ligar",
-	["OFF"] = "Desligar",
-	["Left Click = Search Window"] = "Botão Esquerdo = Procurar na Janela",
-	["Right Click = BagSync Menu"] = "Botão Direito = Opções do BagSync",
-	["Left Click = Link to view tradeskill."] = "Botão Esquerdo = Link para vizualizar profissão",
-	["Right Click = Insert tradeskill link."] = "Botão Direito = Inserir link de profissão",
-	["Click to view profession: "] = "Clicar para vizualizar profissões",
-	["Click Here"] = "Clique Aqui",
-	["BagSync: Error user not found!"] = "BagSync: Erro, usuário não achado",
-	["Please enter an itemid. (Use Wowhead.com)"] = "Por favor, entre com o itemid. (Use Wowhead.com)",
-	["Add ItemID"] = "Add ItemID",
-	["Remove ItemID"] = "Remover ItemID",
-	["[itemname]"] = "itemnome",
-	["search"] = "pesquisar",
-	["gold"] = "ouro",
-	["tokens"] = "ficha",
-	["fixdb"] = "fixdb",
-	["profiles"] = "perfis",
-	["professions"] = "profissoes",
-	["blacklist"] = "listanegra",
-	["/bgs [itemname] - Does a quick search for an item"] = "/bgs [itemnome] - Faz uma rápida pesquisa para um item",
-	["/bgs search - Opens the search window"] = "/bgs pesquisar - Abre a janela de pesquisar",
-	["/bgs gold - Displays a tooltip with the amount of gold on each character."] = "/bgs ouro - Exibe em dica com a quantidade de ouro em cada personagem.",
-	["/bgs tokens - Opens the tokens/currency window."] = "/bgs ficha - Abre uma janela com a quantidade de fichas/moedas.",
-	["/bgs profiles - Opens the profiles window."] = "/bgs perfis - Abre uma janela de perfis.",
-	["/bgs fixdb - Runs the database fix (FixDB) on BagSync."] = "/bgs fixdb - Executa a correção de banco de dados (FixDB) no BagSync.",
-	["/bgs config - Opens the BagSync Config Window"] = "/bgs configuração - Abre uma janela de configuração do BagSync",
-	["/bgs professions - Opens the professions window."] = "/bgs profissões - Abre a janela de profissões.",
-	["/bgs blacklist - Opens the blacklist window."] = "/bgs listanegra - Abre a janela de lista negra.",
-	["Display [Total] amount."] = "Exibe [Total] nas dicas o indicador de ouro.",
-	["Display [Guild Name] for guild bank items."] = "Exbie [Nome da Guilda] nas dicas.",
-	["Display guild bank items."] = "Ativar itens do banco da guilda.",
-	["Display mailbox items."] = "Ativar itens da caixa de correio.",
-	["Display auction house items."] = "Ativar itens da casa de leilão.",
-	["Display BagSync minimap button."] = "Exibir icone no minimapa do BagSync.",
-	["Display items for both factions (Alliance/Horde)."] = "Exibir itens para ambas as facções (Aliança/Horda).",
-	["Display class colors for characters."] = "Exibir cor de classe para personagens",
-	["Display BagSync tooltip ONLY in the search window."] = "Exibir dicas de modificado APENAS na Janela de Pesquisa do BagSync",
-	["Enable BagSync Tooltips"] = "Ativar dicas do BagSync",
-	["Display empty line seperator."] = "Ativar um separador de linha acima na tela de dicas do BagSync",
-
-} or { }
-
-setmetatable(BAGSYNC_L, {__index = function(self, key) rawset(self, key, key); return key; end})
-
diff --git a/modules/blacklist.lua b/modules/blacklist.lua
index 36b8681..3f845dd 100644
--- a/modules/blacklist.lua
+++ b/modules/blacklist.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local blacklistTable = {}
 local tRows, tAnchor = {}
 local currentPlayer = UnitName("player")
diff --git a/modules/config.lua b/modules/config.lua
index ce142ce..4e07e0b 100644
--- a/modules/config.lua
+++ b/modules/config.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local currentPlayer = UnitName("player")
 local currentRealm = select(2, UnitFullName("player"))
 local ver = GetAddOnMetadata("BagSync","Version") or 0
@@ -56,12 +56,12 @@ options.args.heading = {
 	width = "full",
 }

-options.args.display = {
+options.args.main = {
 	type = "group",
 	order = 2,
-	name = L["Display"],
-	desc = L["Settings for the displayed BagSync tooltip information."],
-	args = {
+	name = L["Main"],
+	desc = L["Main settings for BagSync."],
+	args = {
 		tooltip = {
 			order = 1,
 			type = "toggle",
@@ -70,11 +70,40 @@ options.args.display = {
 			descStyle = "hide",
 			get = get,
 			set = set,
-			arg = "display.enableTooltips",
+			arg = "main.enableTooltips",
 		},
-		seperator = {
+		enable = {
 			order = 2,
 			type = "toggle",
+			name = L["Display BagSync tooltip ONLY in the search window."],
+			width = "full",
+			descStyle = "hide",
+			get = get,
+			set = set,
+			arg = "main.tooltipOnlySearch",
+		},
+		enable = {
+			order = 3,
+			type = "toggle",
+			name = L["Display BagSync minimap button."],
+			width = "full",
+			descStyle = "hide",
+			get = get,
+			set = set,
+			arg = "minimap.enableMinimap",
+		},
+	},
+}
+
+options.args.display = {
+	type = "group",
+	order = 3,
+	name = L["Display"],
+	desc = L["Settings for the displayed BagSync tooltip information."],
+	args = {
+		seperator = {
+			order = 1,
+			type = "toggle",
 			name = L["Display empty line seperator."],
 			width = "full",
 			descStyle = "hide",
@@ -83,7 +112,7 @@ options.args.display = {
 			arg = "display.enableTooltipSeperator",
 		},
 		total = {
-			order = 3,
+			order = 2,
 			type = "toggle",
 			name = L["Display [Total] amount."],
 			width = "full",
@@ -93,7 +122,7 @@ options.args.display = {
 			arg = "display.showTotal",
 		},
 		guildbank = {
-			order = 4,
+			order = 3,
 			type = "toggle",
 			name = L["Display guild bank items."],
 			width = "full",
@@ -103,7 +132,7 @@ options.args.display = {
 			arg = "display.enableGuild",
 		},
 		guildname = {
-			order = 5,
+			order = 4,
 			type = "toggle",
 			name = L["Display [Guild Name] for guild bank items."],
 			width = "full",
@@ -113,7 +142,7 @@ options.args.display = {
 			arg = "display.showGuildNames",
 		},
 		faction = {
-			order = 6,
+			order = 5,
 			type = "toggle",
 			name = L["Display items for both factions (Alliance/Horde)."],
 			width = "full",
@@ -123,7 +152,7 @@ options.args.display = {
 			arg = "display.enableFaction",
 		},
 		class = {
-			order = 7,
+			order = 6,
 			type = "toggle",
 			name = L["Display class colors for characters."],
 			width = "full",
@@ -133,7 +162,7 @@ options.args.display = {
 			arg = "display.enableUnitClass",
 		},
 		mailbox = {
-			order = 8,
+			order = 7,
 			type = "toggle",
 			name = L["Display mailbox items."],
 			width = "full",
@@ -143,7 +172,7 @@ options.args.display = {
 			arg = "display.enableMailbox",
 		},
 		auction = {
-			order = 9,
+			order = 8,
 			type = "toggle",
 			name = L["Display auction house items."],
 			width = "full",
@@ -153,7 +182,7 @@ options.args.display = {
 			arg = "display.enableAuction",
 		},
 		crossrealm = {
-			order = 10,
+			order = 9,
 			type = "toggle",
 			name = L["Display Cross-Realms characters."],
 			width = "full",
@@ -163,7 +192,7 @@ options.args.display = {
 			arg = "display.enableCrossRealmsItems",
 		},
 		battlenet = {
-			order = 11,
+			order = 10,
 			type = "toggle",
 			name = L["Display Battle.Net Account characters |cFFDF2B2B(Not Recommended)|r."],
 			width = "full",
@@ -178,7 +207,7 @@ options.args.display = {

 options.args.color = {
 	type = "group",
-	order = 3,
+	order = 4,
 	name = L["Color"],
 	desc = L["Color settings for BagSync tooltip information."],
 	args = {
@@ -251,43 +280,5 @@ options.args.color = {
 	},
 }

-options.args.minimap = {
-	type = "group",
-	order = 4,
-	name = L["Minimap"],
-	desc = L["Settings for BagSync minimap button."],
-	args = {
-		enable = {
-			order = 1,
-			type = "toggle",
-			name = L["Display BagSync minimap button."],
-			width = "full",
-			descStyle = "hide",
-			get = get,
-			set = set,
-			arg = "minimap.enableMinimap",
-		},
-	},
-}
-
-options.args.search = {
-	type = "group",
-	order = 5,
-	name = L["Search"],
-	desc = L["Settings for BagSync search window."],
-	args = {
-		enable = {
-			order = 1,
-			type = "toggle",
-			name = L["Display BagSync tooltip ONLY in the search window."],
-			width = "full",
-			descStyle = "hide",
-			get = get,
-			set = set,
-			arg = "search.tooltipOnlySearch",
-		},
-	},
-}
-
 config:RegisterOptionsTable("BagSync", options)
 configDialog:AddToBlizOptions("BagSync", "BagSync")
diff --git a/modules/minimap.lua b/modules/minimap.lua
index ba2383d..edca01d 100644
--- a/modules/minimap.lua
+++ b/modules/minimap.lua
@@ -1,6 +1,6 @@
 --Minimap Button for BagSync

-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)

 local bgMinimapButton = CreateFrame("Frame","BagSync_MinimapButton", Minimap)

diff --git a/modules/professions.lua b/modules/professions.lua
index 675dfe3..fe2d5a4 100644
--- a/modules/professions.lua
+++ b/modules/professions.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local craftsTable = {}
 local tRows, tAnchor = {}
 local currentPlayer = UnitName("player")
diff --git a/modules/profiles.lua b/modules/profiles.lua
index 665043d..a1d0d64 100644
--- a/modules/profiles.lua
+++ b/modules/profiles.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local currentPlayer = UnitName("player")
 local currentRealm = select(2, UnitFullName("player"))
 local bgProfiles = CreateFrame("Frame","BagSync_ProfilesFrame", UIParent)
diff --git a/modules/search.lua b/modules/search.lua
index ae3f7ec..c3d709f 100644
--- a/modules/search.lua
+++ b/modules/search.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local searchTable = {}
 local rows, anchor = {}
 local currentRealm = select(2, UnitFullName("player"))
diff --git a/modules/test.lua b/modules/test.lua
new file mode 100644
index 0000000..3d0217e
--- /dev/null
+++ b/modules/test.lua
@@ -0,0 +1,247 @@
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
+local testTable = {}
+local rows, anchor = {}
+local currentRealm = select(2, UnitFullName("player"))
+local GetItemInfo = _G["GetItemInfo"]
+local currentPlayer = UnitName("player")
+
+local AceGUI = LibStub("AceGUI-3.0")
+local customSearch = LibStub('CustomSearch-1.0')
+local ItemSearch = LibStub("LibItemSearch-1.2")
+
+local frame = AceGUI:Create("Frame")
+
+frame:SetTitle("Example Frame")
+frame:SetStatusText("AceGUI-3.0 Example Container Frame")
+
+local scrollframe = AceGUI:Create("ScrollFrame");
+scrollframe:SetFullWidth(true)
+scrollframe:SetLayout("List")
+
+frame:AddChild(scrollframe)
+
+--:ReleaseChildren()
+
+--[[ local itemTexture = select(10, GetItemInfo(71354))
+
+local myILabel
+
+for i = 1, 50 do
+	myILabel = AceGUI:Create("InteractiveLabel")
+	--myILabel:SetText("20")
+	myILabel:SetWidth(48)
+	myILabel:SetHeight(48)
+	myILabel:SetImage(itemTexture)
+	myILabel:SetImageSize(48,48)
+	myILabel:SetText("lala")
+	scrollframe:AddChild(myILabel)
+end ]]
+
+
+local function addEntry(entry, counter)
+
+	local color = {0.7, 0.7, 0.7}
+	local highlightColor = {1, 0, 0}
+	local label = AceGUI:Create("InteractiveLabel")
+
+	local name, link, rarity = entry.name, entry.link, entry.rarity
+
+	label:SetText(name)
+	label:SetFont("Fonts\\FRIZQT__.TTF", 14, THICKOUTLINE)
+	label:SetFullWidth(true)
+	label:SetColor(unpack(color))
+	label:SetCallback(
+		"OnClick",
+		function (widget, sometable, button)
+			if "LeftButton" == button then
+				print("left")
+			elseif "RightButton" == button then
+				print("right")
+			end
+		end)
+	label:SetCallback(
+		"OnEnter",
+		function (widget, sometable)
+			label:SetColor(unpack(highlightColor))
+		end)
+	label:SetCallback(
+		"OnLeave",
+		function (widget, sometable)
+			label:SetColor(unpack(color))
+		end)
+
+	scrollframe:AddChild(label)
+
+end
+
+local function DoSearch()
+	if not BagSync or not BagSyncDB then return end
+	local searchStr = "red"
+
+	searchStr = searchStr:lower()
+
+	local tempList = {}
+	local previousGuilds = {}
+	local count = 0
+	local playerSearch = false
+	local countWarning = 0
+
+	if strlen(searchStr) > 0 then
+
+		scrollframe:ReleaseChildren() --clear out the scrollframe
+
+		local playerFaction = UnitFactionGroup("player")
+		local allowList = {
+			["bag"] = 0,
+			["bank"] = 0,
+			["equip"] = 0,
+			["mailbox"] = 0,
+			["void"] = 0,
+			["auction"] = 0,
+			["guild"] = 0,
+			["reagentbank"] = 0,
+		}
+
+		if string.len(searchStr) > 1 and string.find(searchStr, "@") and allowList[string.sub(searchStr, 2)] ~= nil then playerSearch = true end
+
+		local xDB = BagSync:getFilteredDB()
+
+		--loop through our characters
+		--k = player, v = stored data for player
+		for k, v in pairs(xDB) do
+
+			local pFaction = v.faction or playerFaction --just in case ;) if we dont know the faction yet display it anyways
+			local yName, yRealm  = strsplit("^", k)
+
+			--check if we should show both factions or not
+			if BagSyncOpt.enableFaction or pFaction == playerFaction then
+
+				--now count the stuff for the user
+				--q = bag name, r = stored data for bag name
+				for q, r in pairs(v) do
+					--only loop through table items we want
+					if allowList[q] and type(r) == "table" then
+						--bagID = bag name bagID, bagInfo = data of specific bag with bagID
+						for bagID, bagInfo in pairs(r) do
+							--slotID = slotid for specific bagid, itemValue = data of specific slotid
+							if type(bagInfo) == "table" then
+								for slotID, itemValue in pairs(bagInfo) do
+									local dblink, dbcount = strsplit(",", itemValue)
+									if dblink then
+										local dName, dItemLink, dRarity = GetItemInfo(dblink)
+										if dName then
+											--are we checking in our bank,void, etc?
+											if playerSearch and string.sub(searchStr, 2) == q and string.sub(searchStr, 2) ~= "guild" and yName == currentPlayer and not tempList[dblink] then
+												addEntry({ name=dName, link=dItemLink, rarity=dRarity }, count)
+												tempList[dblink] = dName
+												count = count + 1
+											--we found a match
+											elseif not playerSearch and not tempList[dblink] and ItemSearch:Matches(dItemLink, searchStr) then
+												addEntry({ name=dName, link=dItemLink, rarity=dRarity }, count)
+												tempList[dblink] = dName
+												count = count + 1
+											end
+										else
+											countWarning = countWarning + 1
+										end
+									end
+								end
+							end
+						end
+					end
+				end
+
+				if BagSyncOpt.enableGuild then
+					local guildN = v.guild or nil
+
+					--check the guild bank if the character is in a guild
+					if BagSyncGUILD_DB and guildN and BagSyncGUILD_DB[v.realm][guildN] then
+						--check to see if this guild has already been done through this run (so we don't do it multiple times)
+						--check for XR/B.Net support
+						local gName = BagSync:getGuildRealmInfo(guildN, v.realm)
+
+						if not previousGuilds[gName] then
+							--we only really need to see this information once per guild
+							for q, r in pairs(BagSyncGUILD_DB[v.realm][guildN]) do
+								local dblink, dbcount = strsplit(",", r)
+								if dblink then
+									local dName, dItemLink, dRarity = GetItemInfo(dblink)
+									if dName then
+										if playerSearch and string.sub(searchStr, 2) == "guild" and GetGuildInfo("player") and guildN == GetGuildInfo("player") and not tempList[dblink] then
+											addEntry({ name=dName, link=dItemLink, rarity=dRarity }, count)
+											tempList[dblink] = dName
+											count = count + 1
+										--we found a match
+										elseif not playerSearch and not tempList[dblink] and ItemSearch:Matches(dItemLink, searchStr) then
+											addEntry({ name=dName, link=dItemLink, rarity=dRarity }, count)
+											tempList[dblink] = dName
+											count = count + 1
+										end
+									else
+										countWarning = countWarning + 1
+									end
+								end
+							end
+							previousGuilds[gName] = true
+						end
+					end
+				end
+
+			end
+
+		end
+		print("countWarning: ".. countWarning)
+		--table.sort(searchTable, function(a,b) return (a.name < b.name) end)
+	end
+
+end
+
+
+local OKbutton = AceGUI:Create("Button")
+OKbutton:SetText("Search")
+OKbutton:SetCallback("OnClick", function()
+      DoSearch()
+   end
+)
+frame:AddChild(OKbutton)
+
+--lets create the warning frame.
+
+local warning = AceGUI:Create("Frame")
+--f.statusbg:Hide()
+--f:SetWidth(400) f:SetHeight(320)
+
+frame:Show()
+
+--[[ scrollcontainer = AceGUI:Create("SimpleGroup") -- "InlineGroup" is also good
+scrollcontainer:SetFullWidth(true)
+scrollcontainer:SetFullHeight(true) -- probably?
+scrollcontainer:SetLayout("Fill") -- important!
+
+topContainer:AddChild(scrollcontainer)
+
+scroll = AceGUI:Create("ScrollFrame")
+scroll:SetLayout("Flow") -- probably?
+scrollcontainer:AddChild(scroll) ]]
+
+--[[ 		scrollframe = AceGUI:Create("ScrollFrame");
+		scrollframe:SetLayout("Flow");
+		scrollframe:SetFullHeight(true);
+		scrollframe:SetWidth(80);
+
+		LMMainFrame_Loot_BottomLeftCntr:AddChild(scrollframe);
+
+		local _, _, _, _, _, _, _, _, _, itemTexture = GetItemInfo(71354);
+
+		for i = 1, 5 do
+			myILabel = AceGUI:Create("InteractiveLabel");
+			--myILabel:SetText("20");
+			myILabel:SetWidth(48);
+			myILabel:SetHeight(48);
+			myILabel:SetImage(itemTexture);
+			myILabel:SetImageSize(48,48);
+			scrollframe:AddChild(myILabel);
+		end
+ ]]
+
+
\ No newline at end of file
diff --git a/modules/tokens.lua b/modules/tokens.lua
index 6f60cc5..9e9dcf8 100644
--- a/modules/tokens.lua
+++ b/modules/tokens.lua
@@ -1,4 +1,4 @@
-local L = BAGSYNC_L
+local L = LibStub("AceLocale-3.0"):GetLocale("BagSync", true)
 local tokensTable = {}
 local tRows, tAnchor = {}
 local currentPlayer = UnitName("player")