
-- returns a localised string, will print errors with the right traces on.

	KLHTM_MyLocale = GetLocale()
	local stringvalue = "" 

function KLHTM_String(Key1, Key2, Key3)
	
	stringvalue = KLHTM_StringInternal(KLHTM_MyLocale, Key1, Key2, Key3)
	
	if stringvalue == nil then
		-- no string for your locale. Check enUS
		
		if KLHTM_MyLocale ~= "enUS" then
			stringvalue = KLHTM_StringInternal("enUS", Key1, Key2, Key3)
			
			if stringvalue == nil then
				-- no string at all. invalid key set
				KLHTM_PrintTrace("LocalInvalidKey", "No string is defined for the value '" .. KLHTM_KeySetToString(Key1, Key2, Key3) .. "'.")
				return "."
			end
			
			KLHTM_PrintTrace("LocalNoOverride", "No localised string for the locale '" .. KLHTM_MyLocale .. "' is defined for the value '" .. KLHTM_KeySetToString(Key1, Key2, Key3) .. "'.")
			return stringvalue
			
		else
			KLHTM_PrintTrace("LocalInvalidKey", "No string is defined for the value '" .. KLHTM_KeySetToString(Key1, Key2, Key3) .. "'.")
			return "."
		end
	end
	
	return stringvalue
	
end

function KLHTM_KeySetToString(Key1, Key2, Key3)
	
	local message = ""
	local keys = {Key1, Key2, Key3}
	
	for _, key in keys do
		message = message .. "." .. key
	end
	
	return message
	
end

	local mykeys = { "a", "b", "c" }
	KLHTM_stringhits = 0
	
function KLHTM_StringInternal(Locale, Key1, Key2, Key3)

	KLHTM_stringhits = KLHTM_stringhits + 1

	mykeys[1] = Key1
	mykeys[2] = Key2
	mykeys[3] = Key3

	--local keys = { Key1, Key2, Key3}
	local value = KLHTM_Localisation[Locale]
	local key
		
	for _, key in mykeys do
		if value == nil then
			return nil
		end
		
		if type(value) ~= "table" then
			return nil
		end
		
		value = value[key]
	end
	
	return value
	
end

KLHTM_Localisation = 
{
	["enUS"] = 
	{
		["spell"] = 
		{
			["heroicstrike"] = "Heroic Strike",
			["maul"] = "Maul",
			["swipe"] = "Swipe",
			["shieldslam"] = "Shield Slam",
			["revenge"] = "Revenge",
			["shieldbash"] = "Shield Bash",
			["sunder"] = "Sunder Armor",
			["feint"] = "Feint",
			["cower"] = "Cower",
			["taunt"] = "Taunt",
			["growl"] = "Growl",
			["vanish"] = "Vanish",
			["frostbolt"] = "Frostbolt",
			["fireball"] = "Fireball",
			["arcanemissiles"] = "Arcane Missiles",
			["scorch"] = "Scorch",
			
			-- Items / Buffs:
			["burningadrenaline"] = "Burning Adrenaline",
			["arcaneshroud"] = "Arcane Shroud",
			["reducethreat"] = "Reduce Threat",
			["twinteleport"] = "Twin Teleport", 
			
			-- Spell Sets
			-- warlock descruction
			["shadowbolt"] = "Shadow Bolt",
			["immolate"] = "Immolate",
			["conflagrate"] = "Conflagrate",
			["searingpain"] = "Searing Pain",
			["rainoffire"] = "Rain of Fire",
			["soulfire"] = "Soul Fire",
			["shadowburn"] = "Shadowburn",
			["hellfire"] = "Hellfire",
			
			-- mage offensive arcane
			["arcaneexplosion"] = "Arcane Explosion",
			["counterspell"] = "Counterspell",
			
			-- priest shadow
			["mindflay"] = "Mind Flay",
			["devouringplague"] = "Devouring Plague",
			["shadowwordpain"] = "Shadow Word: Pain",
			["mindblast"] = "Mind Blast",
			["manaburn"] = "Mana Burn",
		},
		["power"] = 
		{
			["mana"] = "Mana",
			["rage"] = "Rage",
			["energy"] = "Energy",
		},
		["threatsource"] = 
		{
			["powergain"] = "Power Gain",
			["total"] = "Total",
			["special"] = "Specials",
			["healing"] = "Healing",
			["dot"] = "Dots",
			["threatwipe"] = "Threat Wipes",
			["damageshield"] = "Damage Shields",
			["whitedamage"] = "White Damage",
		},
		["talent"] = 
		{
			["defiance"] = "Defiance",
			["impale"] = "Impale",
			["silentresolve"] = "Silent Resolve",
			["shadowaffinity"] = "Shadow Affinity",
			["druidsubtlety"] = "Druid Subtlety",
			["feralinstinct"] = "Feral Instinct",
			["ferocity"] = "Ferocity",
			["savagefury"] = "Savage Fury",
			["masterdemonologist"] = "Master Demonologist",
			["arcanesubtlety"] = "Arcane Subtlety",
			["righteousfury"] = "Righteous Fury",
		},
		["threatmod"] = 
		{
			["tranquilair"] = "Tranquil Air Totem",
			["salvation"] = "Blessing of Salvation",
			["battlestance"] = "Battle Stance",
			["defensivestance"] = "Defensive Stance",
			["berserkerstance"] = "Berserker Stance",
			["defiance"] = "Defiance",
			["basevalue"] = "Base Value",
			["bearform"] = "Bear Form",	
			["glovethreatenchant"] = "+Threat Enchant to Gloves",
			["backthreatenchant"] = "-Threat Enchant to Back",
		},
		["class"] = 
		{
			["warrior"] = "Warrior",
			["druid"] = "Druid",
			["shaman"] = "Shaman",
			["rogue"] = "Rogue",
			["hunter"] = "Hunter",
			["warlock"] = "Warlock",
			["mage"] = "Mage",
			["paladin"] = "Paladin",
			["priest"] = "Priest",
		},
		["sets"] = 
		{
			["bloodfang"] = "Bloodfang",
			["nemesis"] = "Nemesis",
			["netherwind"] = "Netherwind",
			["might"] = "Might",
			["arcanist"] = "Arcanist",
		},
		["mobs"] = 
		{
			["onyxia"] = "Onyxia",
			["ebonroc"] = "Ebonroc",
			["razorgore"] = "Razorgore the Untamed",
		},
		["knockbacks"] = 
		{
			["knockaway"] = "Knock Away",
			["wingbuffet"] = "Wing Buffet",
			["uppercut"] = "Uppercut",
		},
		["misc"] = 
		{
			["imp"] = "Imp", -- UnitCreatureFamily("pet")
			["spellrank"] = "Rank (%d+)", -- second value of GetSpellName(x, "spell")
			["aggrogain"] = "Aggro Gain",
		},
		["combatlog"] = 
		{
			["razorphase2"] = "flee as the controlling power of the orb is drained.",
			["onyxiaphase3"] = "It seems you'll need another lesson",
			["whiteattackhit"] = "You hit (.+) for (%d+)", -- COMBATHITSELFOTHER and COMBATHITSCHOOLSELFOTHER
			["whiteattackcrit"] = "You crit (.+) for (%d+)", -- COMBATHITCRITSELFOTHER and COMBATHITCRITSCHOOLSELFOTHER
			["damageshield"] = "You reflect (%d+) (.+) damage to (.+)%.", -- DAMAGESHIELDSELFOTHER
			["abilityhit"] = "Your (.+) hits (.+) for (%d+)%.", -- SPELLLOGSELFOTHER
			["abilitycrit"] = "Your (.+) crits (.+) for (%d+)%.", -- SPELLLOGCRITSELFOTHER
			["spellhit"] = "Your (.+) hits (.+) for (%d+) (.+) damage%.", --SPELLLOGSCHOOLSELFOTHER
			["spellcrit"] = "Your (.+) crits (.+) for (%d+) (.+) damage%.", -- SPELLLOGCRITSCHOOLSELFOTHER
			["perform"] = "You perform (.+) on (.+)%.", -- SPELLPERFORMGOSELFTARGETTED
			["dot"] = "(.+) suffers (%d+) (.+) damage from your (.+)%.", -- PERIODICAURADAMAGESELFOTHER
			["yourhotonother"] = "(.+) gains (%d+) health from your (.+)%.", -- PERIODICAURAHEALSELFOTHER
			["othershotonyou"] = "You gain (%d+) health from (.+)'s (.+)%.", -- PERIODICAURAHEALOTHERSELF
			["hotonself"] = "You gain (%d+) health from (.+)%.", -- PERIODICAURAHEALSELFSELF
			["powergain"] = "You gain (%d+) (.+) from (.+)%.", -- POWERGAINSELFSELF
			["healcritonself"] = "Your (.+) critically heals you for (.+)%.", -- HEALEDCRITSELFSELF
			["healcritonother"] = "Your (.+) critically heals (.+) for (.+)%.", -- HEALEDCRITSELFOTHER 
			["healhitonself"] = "Your (.+) heals you for (%d+)%.", -- HEALEDSELFSELF
			["healhitonother"] = "Your (.+) heals (.+) for (%d+)%.", -- HEALEDSELFOTHER
			["enemyspellhit"] = "(.+)'s (.+) hits you for (%d+)%.", -- SPELLLOGOTHERSELF
			["buffstart"] = "You gain (.+)%.", -- AURAADDEDSELFHELPFUL
			["debuffstart"] = "You are afflicted by (.+)%.", -- AURAADDEDSELFHARMFUL
			["buffend"] = "(.+) fades from you.", -- AURAREMOVEDSELF
			["spellcast"] = "You cast (.+) on (.+)%.", -- SPELLCASTGOSELFTARGETTED
		},
		["gui"] = 
		{
			["raidlabel"] = "Raid Threat",
			["raidshortlabel"] = "Raid",
			["column"] = 
			{
				["name"] = "Name",
				["hits"] = "Hits",
				["damage"] = "Damage",
				["threat"] = "Threat",
				["%max"] = "%Max",
			}
		},
		["print"] = 
		{
			["main"] = 
			{
				["startupmessage"] = "KLHThreatMeter Release |cff33ff33%s|r Revision |cff33ff33%s|r loaded. Type |cffffff00/ktm|r for help.",
			},
			["data"] = 
			{
				["abilityrank"] = "Your %s ability is rank %s.",
				["globalthreat"] = "Your global threat multiplier is %s.",
				["globalthreatmod"] = "%s gives you %s.",
				["multiplier"] = "As a %s, your threat from %s is multiplied by %s.",
				["damage"] = "damage",
				["shadowspell"] = "shadow spells",
				["arcanespell"] = "arcane spells",
				["holyspell"] = "holy spells",
				["setactive"] = "%s %d piece active? ... %s.",
				["true"] = "true",
				["false"] = "false",
				["healing"] = "Your healing causes %s threat (before global threat multiplier).",
				["talentpoint"] = "You have %d talent points in %s.",
				["talent"] = "Found %d %s talents.",
			},
			["combat"] = 
			{
				["razorphase2"] = "The raid threat was reset by Razorgore, who is now the master target.",
				["onyxiaphase3"] = "The raid threat was reset by Onyxia.",
			},
			["network"] = 
			{
				["newmttargetnil"] = "Could not confirm the master target %s, because %s has no target.",
				["newmttargetmismatch"] = "%s sets the master target to %s, but his own target is %s. Using his own target instead, check this!",
				["threatreset"] = "The raid threat meter was cleared by %s.",
				["newmt"] = "The master target has been set to '%s' by %s.",
				["mtclear"] = "The master target has been cleared by %s.",
				["knockbackstart"] = "Knockback discovery has been activated by %s.",
				["knockbackstop"] = "Knockback discovery has been stopped by %s.",
				["aggrogain"] = "%s reports gaining aggro with %d threat.",
				["aggroloss"] = "%s reports losing aggro with %d threat.",
				["knockback"] = "%s reports suffering a knock away. He's down to %d threat.",
				["knockbackstring"] = "%s reports this knockback text: '%s'.",
				["upgraderequest"] = "%s urges you to upgrade to Release %d of KLHThreatMeter. You are currently using Release %d.",
				["remoteoldversion"] = "%s is using the outdated Release %d of KLHThreatMeter. Please tell him to upgrade to Release %d.",
				["knockbackvaluechange"] = "|cffffff00%s|r has set the threat reduction of %s's |cffffff00%s|r attack to |cffffff00%d%%|r.",
				["raidpermission"] = "You need to be the raid leader or an assistant to do that!",
				["needmastertarget"] = "You have to set a master target first!",
				["knockbackinactive"] = "Knockback discovery is not active in the raid.",
				["versionrequest"] = "Requesting version information from the raid. Responses in 3 seconds.",
				["versionrecent"] = "These people have release %s: { ",
				["versionold"] = "These people have older versions: { ",
				["versionnone"] = "These people do not have KLHThreatMeter, or are not in the right CTRA channel: { ",	
			}			
		}
	},
 	["frFR"] =
	{
		["spell"] =
		{
			["heroicstrike"] = "Frappe h\195\169ro\195\175que",
			["maul"] = "Mutiler",
			["swipe"] = "Balayage",
			["shieldslam"] = "Heurt de bouclier",
			["revenge"] = "Vengeance",
			["shieldbash"] = "Coup de bouclier",
			["sunder"] = "Fracasser armure",
			["feint"] = "Feinte",
			["cower"] = "Effrayer une b\195\170te",
			["taunt"] = "Provocation",
			["growl"] = "Grondement",
			["vanish"] = "Disparition",
			["frostbolt"] = "Eclair de glace",
			["fireball"] = "Boule de feu",
			["arcanemissiles"] = "Projectiles des arcanes",
			["scorch"] = "Br\195\187lure",

			-- Items / Buffs:
			--["burningadrenaline"] = "Burning Adrenaline",
			--["arcaneshroud"] = "Arcane Shroud",
			--["reducethreat"] = "Reduce Threat",

			-- Spell Sets
			-- warlock descruction
			["shadowbolt"] = "Trait de l'ombre",
			["immolate"] = "Immolation",
			["conflagrate"] = "Conflagration",
			["searingpain"] = "Douleur br\195\187lante",
			["rainoffire"] = "Pluie de Feu",
			["soulfire"] = "Feu de l'\195\162me",
			["shadowburn"] = "Br\195\187lure de l'ombre",
			["hellfire"] = "Flammes infernales",

			-- mage offensive arcane
			["arcaneexplosion"] = "Explosion des arcanes",
			["counterspell"] = "Contresort",

			-- priest shadow
			["mindflay"] = "Fouet Mental",
			["devouringplague"] = "Peste D\195\169vorante",
			["shadowwordpain"] = "Mot des T\195\169n\195\168bres: Douleur",
			["mindblast"] = "Attaque Mentale",
			["manaburn"] = "Br\195\187lure de mana",
		},
		["power"] =
		{
			["mana"] = "Mana",
			["rage"] = "Rage",
			["energy"] = "Energie",
		},
		["threatsource"] =
		{
			["powergain"] = "Power Gain",
			["total"] = "Total",
			["special"] = "Specials",
			["healing"] = "Soins",
			["dot"] = "Dots",
			["threatwipe"] = "Reduction Aggro",
			["damageshield"] = "Damage Shields",
			["whitedamage"] = "White Damage",
		},
		["talent"] =
		{
			["defiance"] = "D\195\169fi",
			["impale"] = "Empaler",
			["silentresolve"] = "R\195\169solution silencieuse",
			["shadowaffinity"] = "Affinit\195\169 avec les t\195\169nebres",
			["druidsubtlety"] = "Discr\195\169tion",
			["feralinstinct"] = "Instinct farouche",
			["ferocity"] = "F\195\169rocit\195\169",
			["savagefury"] = "Furie sauvage",
			["masterdemonologist"] = "Ma\195\174tre d\195\169monologue",
			["arcanesubtlety"] = "Subtilit\195\169 des arcanes",
			["righteousfury"] = "Fureur vertueuse",
		},
		["threatmod"] =
		{
			["tranquilair"] = "Totem de Tranquillit\195\169",
			["salvation"] = "B\195\169n\195\169diction de salut",
			["battlestance"] = "Posture de combat",
			["defensivestance"] = "Posture d\195\169fensive",
			["berserkerstance"] = "Posture berserker",
			["defiance"] = "D\195\169fi",
			["basevalue"] = "Valeur de base",
			["bearform"] = "Forme d'ours sinistre",
			--["glovethreatenchant"] = "+Threat Enchant to Gloves",
			--["backthreatenchant"] = "-Threat Enchant to Back",
		},
		["class"] =
		{
			["warrior"] = "Guerrier",
			["druid"] = "Druide",
			["shaman"] = "Chaman",
			["rogue"] = "Voleur",
			["hunter"] = "Chasseur",
			["warlock"] = "D\195\169moniste",
			["mage"] = "Mage",
			["paladin"] = "Paladin",
			["priest"] = "Pr\195\170tre",
		},
		["sets"] =
		{
			["bloodfang"] = "Rougecroc",
			["nemesis"] = "N\195\169m\195\169sis",
			["netherwind"] = "Vent du n\195\170ant",
			["might"] = "Courroux",
			["arcanist"] = "Arcaniste",
		},
		["mobs"] =
		{
			["onyxia"] = "Onyxia",
			["ebonroc"] = "Schattenschwinge",
			["razorgore"] = "Razorgore l'Indompt\195\169",
		},
		["knockbacks"] =
		{
			["knockaway"] = "Renversement",
			["wingbuffet"] = "Frappe des ailes",
			["uppercut"] = "Uppercut",
		},
		["misc"] =
		{
			["imp"] = "Diablotin", -- UnitCreatureFamily("pet")
			["spellrank"] = "Rang (%d+)", -- second value of GetSpellName(x, "spell")
			["aggrogain"] = "Aggro Gain",
		},
		["combatlog"] =
		{
			["razorphase2"] = "le pouvoir de l'orbe vient de se terminer.",
			["onyxiaphase3"] = "Il semble que vous ayez besoin d'une autre le\195\167on",
			["whiteattackhit"] = "Vous touchez (.+) et infligez (%d+) points de d\195\169g\195\162ts", -- COMBATHITSELFOTHER and COMBATHITSCHOOLSELFOTHER
			["whiteattackcrit"] = "Vous infligez un coup critique \195\160 (.+) .(%d+) points de", -- COMBATHITCRITSELFOTHER and COMBATHITCRITSCHOOLSELFOTHER
			-- "Vous infligez un coup critique à %s (%d points de dégâts)."
			
			["damageshield"] = "Vous renvoyez (%d+) points de d\195\169g\195\162ts DE (.+) \195\160 (.+)%.", -- DAMAGESHIELDSELFOTHER
			["abilityhit"] = "Votre (.+) touche (.+) et inflige (%d+) points de d\195\169g\195\162ts%.", -- SPELLLOGSELFOTHER
			["abilitycrit"] = "Votre (.+) inflige un coup critique \195\160 (.+) %((%d+) points de d\195\169g\195\162ts%)%.", -- SPELLLOGCRITSELFOTHER
			["spellhit"] = "Votre (.+) touche (.+) et lui inflige (%d+) points de d\195\169g\195\162ts DE (.+)%.", -- SPELLLOGSCHOOLSELFOTHER
			["spellcrit"] = "Votre (.+) inflige un coup critique \195\160 (.+) %((%d+) points de d\195\169g\195\162ts DE (.+)%)%.", -- SPELLLOGCRITSCHOOLSELFOTHER
			["perform"] = "Vous ex\195\169cutez (.+) sur (.+)%.", -- SPELLPERFORMGOSELFTARGETTED
			["dot"] = "Votre (.+) inflige (%d+) points de d\195\169g\195\162ts DE (.+) \195\160 (.+)%.", -- PERIODICAURADAMAGESELFOTHER
			-- Note argument reversal for "dot" = {4, 2, 3, 1}: "Votre %4$s inflige %2$d points de dégâts de %3$s à %1$s."
			
			["yourhotonother"] = "Votre (.+) rend (%d+) points de vie \195\160 (.+)%.", -- PERIODICAURAHEALSELFOTHER
			-- Note argument reversal for "yourhotonother" = {3, 2, 1}: "Votre %3$s rend %2$d points de vie à %1$s."
			
			["othershotonyou"] = "Le (.+) de (.+) vous fait gagner (%d+) points de vie%.", -- PERIODICAURAHEALOTHERSELF
			-- Note argument reversal for "othershotonyou" = {3, 2, 1}: "Le %3$s de %2$s vous fait gagner %1$d points de vie."
			
			["hotonself"] = "(.+) vous rend (%d+) points de vie%.", -- PERIODICAURAHEALSELFSELF
			-- Note argument reversal for "hotonself" = {2, 1}: "%2$s vous rend %1$d points de vie."
			
			["powergain"] = "(.+) vous fait gagner (%d+) (.+)%.",
			-- Note argument reversal for "powergain" = {3, 1, 2}: "%3$s vous fait gagner %1$d %2$s."
			
			["healcritonself"] = "Votre (.+) a un effet critique et vous rend (%d+) points de vie%.", -- HEALEDCRITSELFSELF
			["healcritonother"] = "Votre (.+) soigne (.+) avec un effet critique et lui rend (%d+) points de vie%.", -- HEALEDCRITSELFOTHER 
			["healhitonself"] = "Votre (.+) vous soigne pour (%d+) points de vie%.", -- HEALEDSELFSELF
			["healhitonother"] = "Votre (.+) soigne (.+) pour (%d+) points de vie%.", -- HEALEDSELFOTHER
			["enemyspellhit"] = "(.+) de (.+) vous inflige (%d+) points de d\195\169g\195\162ts%.", -- SPELLLOGOTHERSELF. Order is {2, 1, 3}
			["buffstart"] = "Vous gagnez (.+)%.", -- AURAADDEDSELFHELPFUL
			["debuffstart"] = "Vous subissez les effets de (.+)%.", -- AURAADDEDSELFHARMFUL
			["buffend"] = "(.+) vient de se dissiper%.", -- AURAREMOVEDSELF
			["dispellcast"] = "Vous lancez (.+) sur (.+)%.", -- SPELLCASTGOSELFTARGETTED 
		},
		["gui"] =
		{
			["raidlabel"] = "Raid Aggro",
			["raidshortlabel"] = "Raid",
			["column"] =
			{
				["name"] = "Noms",
				["hits"] = "Hits",
				["damage"] = "Dommages",
				["threat"] = "Aggro",
				["%max"] = "%Max",
			}
		},
		["print"] =
		{
			["main"] =
			{
				["startupmessage"] = "KLHThreatMeter Version |cff33ff33%s|r Revision |cff33ff33%s|r chargé. Taper |cffffff00/ktm|r pour l\'aide.",
			},
			["data"] =
			{
				["abilityrank"] = "Votre %s est au rang %s.",
				["globalthreat"] = "Votre multiplicateur d'aggro est de %s.",
				["globalthreatmod"] = "%s vous donnent %s.",
				["multiplier"] = "En tant que %s, votre aggro de %s est multipli\195\169 par %s.",
				["damage"] = "dommage",
				["shadowspell"] = "sorts d'ombre ",
				["arcanespell"] = "sorts d'arcane",
				["holyspell"] = "sorts de sacr\195\169",
				["setactive"] = "%s %d pi\195\168ces actives ? ... %s.",
				["true"] = "vrai",
				["false"] = "faux",
				["healing"] = "Votre soin g195\169n\195\168re %s d'aggro (avant le calcul global d'aggro).",
				["talentpoint"] = "Vous avez %d points de talent dans %s.",
				["talent"] = "%d %s talents trouv\195\169s.",
			},
			["combat"] =
			{
				["razorphase2"] = "L'aggro du raid a \195\169t\195\169 reset par Razorgore.",
				["onyxiaphase3"] = "L'aggro du raid a \195\169t\195\169 reset par Onyxia (phase3).",
			},
			["network"] =
			{
				--["newmttargetnil"] = "Could not confirm the master target %s, because %s has no target.",
				--["newmttargetmismatch"] = "%s sets the master target to %s, but his own target is %s. Using his own target instead, check this!",
				["threatreset"] = "Le raid aggro meter a \195\169t\195\169 nettoyé par %s.",
				["newmt"] = "La cible principale est '%s' design\195\169e par %s.",
				["mtclear"] = "La cible principale a \195\169t\195\169 nettoyée par %s.",
				["knockbackstart"] = "Knockback discovery a \195\169t\195\169 demand\195\169 par %s.",
				["knockbackstop"] = "Knockback discovery a \195\169t\195\169 stopp\195\169 par%s.",
				["aggrogain"] = "%s reporte un gain d'aggro de %d.",
				["aggroloss"] = "%s reporte une perte d'aggro de %d.",
				["knockback"] = "%s reporte avoir subi un kock away. Il perd %d d'aggro.",
				["knockbackstring"] = "%s reporte le kockback: '%s'.",
				["upgraderequest"] = "%s est urgent que vous changiez de version %d de KLHThreatMeter. Vous utilisez la version  %d.",
				["remoteoldversion"] = "%s utilise une version ancienne %d de KLHThreatMeter. Whisper le pour mettre a jour vers la version %d.",
				["knockbackvaluechange"] = "|cffffff00%s|r has set the threat red ction of %s's |cffffff00%s|r attack to |cffffff00%d%%|r.",
				["raidpermission"] = "Vous devez \195\170tre promu ou le leader pour faire ca!",
				["needmastertarget"] = "Choississez une cible principale avant!",
				["knockbackinactive"] = "La d\195\169couverte du Knockback n'est pas active dans le raid.",
				["versionrequest"] = "Verification des versions sur le raid. Reponses dans 3 seconds.",
				["versionrecent"] = "Ces personnes ont la version %s: { ",
				["versionold"] = "Ces personnes ont d'anciennes version: { ",
				["versionnone"] = "Ces personnes n'ont pas KHL ou ne sont pas dans le bon canal CTRAID: { ",
			}
		}
	},
	["deDE"] = 
	{
		["spell"] = 
		{
			["heroicstrike"] = "Heldenhafter Sto\195\159",
			["maul"] = "Zermalmen",
			["swipe"] = "Prankenhieb",
			["shieldslam"] = "Schildschlag",
			["revenge"] = "Rache",
			["shieldbash"] = "Schildhieb",
			["sunder"] = "R\195\188stung zerrei\195\159en",
			["feint"] = "Finte",
			["cower"] = "Ducken",
			["taunt"] = "Spott",
			["growl"] = "Knurren",
			["vanish"] = "Entschwinden",
			["frostbolt"] = "Frostblitz",
			["fireball"] = "Feuerball",
			["arcanemissiles"] = "Arkane Geschosse",
			["scorch"] = "Versengen",
			
			-- Items / Buffs:
			--["burningadrenaline"] = "Burning Adrenaline",
			--["arcaneshroud"] = "Arcane Shroud",
			--["reducethreat"] = "Reduce Threat",
			
			-- Spell Sets
			-- warlock descruction
			["shadowbolt"] = "Schattenblitz",
			["immolate"] = "Feuerbrand",
			["conflagrate"] = "Feuersbrunst",
			["searingpain"] = "Sengender Schmerz",
			["rainoffire"] = "Feuerregen",
			["soulfire"] = "Seelenfeuer",
			["shadowburn"] = "Schattenbrand",
			["hellfire"] = "H\195\182llenfeuer",
			
			-- mage offensive arcane
			["arcaneexplosion"] = "Arkane Explosion",
			["counterspell"] = "Gegenzauber",
			
			-- priest shadow
			["mindflay"] = "Gedankenschinden",
			["devouringplague"] = "Verschlingende Seuche",
			["shadowwordpain"] = "Schattenwort: Schmerz",
			["mindblast"] = "Gedankenschlag",
			["manaburn"] = "Manabrand",
		},
		["power"] = 
		{
			["mana"] = "Mana",
			["rage"] = "Wut",
			["energy"] = "Energie",
		},
		["threatsource"] = 
		{
			["powergain"] = "Power Gain",
			["total"] = "Total",
			["special"] = "Spezial",
			["healing"] = "Heilung",
			["dot"] = "Dots",
			["threatwipe"] = "Threat Wipes",
			["damageshield"] = "Schadensschild",
			["whitedamage"] = "Weisser Schaden",
		},
		["talent"] = 
		{
			["defiance"] = "Trotz",
			["impale"] = "Durchbohren",
			["silentresolve"] = "Schweigsame Entschlossenheit",
			["shadowaffinity"] = "Schattenaffinit\195\164t",
			["druidsubtlety"] = "Druide Feingef\195\188hl",
			["feralinstinct"] = "Instinkt der Wildnis",
			["ferocity"] = "Wildheit",
			["savagefury"] = "Ungez\195\164hmte Wut",
			["masterdemonologist"] = "Meister der D\195\164monologie",
			["arcanesubtlety"] = "Arkanes Feingef\195\188hl",
			["righteousfury"] = "Zorn der Gerechtigkeit",
		},
		["threatmod"] = 
		{
			["tranquilair"] = "Beruhigende Winde",
			["salvation"] = "Segen der Rettung",
			["battlestance"] = "Kampfhaltung",
			["defensivestance"] = "Verteidigungshaltung",
			["berserkerstance"] = "Berserkerhaltung",
			["defiance"] = "Trotz",
			["basevalue"] = "Basiswert",
			["bearform"] = "B\195\164rform",
			--["glovethreatenchant"] = "+Threat Enchant to Gloves",
			--["backthreatenchant"] = "-Threat Enchant to Back",
		},
		["class"] = 
		{
			["warrior"] = "Krieger",
			["druid"] = "Druide",
			["shaman"] = "Schamane",
			["rogue"] = "Schurke",
			["hunter"] = "J\195\164ger",
			["warlock"] = "Hexenmeister",
			["mage"] = "Magier",
			["paladin"] = "Paladin",
			["priest"] = "Priester",
		},
		["sets"] = 
		{
			["bloodfang"] = "Blutfang",
			["nemesis"] = "Nemesis",
			["netherwind"] = "Netherwind",
			["might"] = "der Macht",
			["arcanist"] = "des Arkanisten",
		},
		["mobs"] = 
		{
			["onyxia"] = "Onyxia",
			["ebonroc"] = "Ebonroc",
			["razorgore"] = "Razorgore der Ungez\195\164hmte",
		},
		["knockbacks"] = 
		{
			["knockaway"] = "Wegschlagen",
			["wingbuffet"] = "Fl\195\188gelpuffer", -- "Fl\195\188gelsto\195\159", ?? Please confirm
			["uppercut"] = "Aufw\195\164rtshaken",
		},
		["misc"] = 
		{
			["imp"] = "Wichtel", -- UnitCreatureFamily("pet")
			["spellrank"] = "Rang (%d+)", -- second value of GetSpellName(x, "spell")
			["aggrogain"] = "Aggro bekommen",
		},
		["combatlog"] = 
		{
			["razorphase2"] = "flieht w\195\164hrend die kontrollierenden Kr\195\164fte der Kugel schwinden",
			["onyxiaphase3"] = "Mir scheint, dass Ihr noch eine Lektion braucht, sterbliche Wesen!",
			["whiteattackhit"] = "Ihr trefft (.+). Schaden: (%d+)%.", -- COMBATHITSELFOTHER and COMBATHITSCHOOLSELFOTHER
			-- for German we don't cover COMBATHITSCHOOLSELFOTHER on "whiteattackhit", but i don't think this can happen anyway
			
			["whiteattackcrit"] = "Ihr trefft (.+) kritisch f\195\188r (%d+) Schaden%.", -- COMBATHITCRITSELFOTHER and COMBATHITCRITSCHOOLSELFOTHER
			-- same as above for "whiteattackcrit"
			
			["damageshield"] = "Ihr reflektiert (%d+) (.+)schaden auf (.+)%.", -- DAMAGESHIELDSELFOTHER
			["abilityhit"] = "(.+) von Euch trifft (.+) f\195\188r (%d+) Schaden%.", -- SPELLLOGSELFOTHER
			["abilitycrit"] = "Euer (.+) trifft (.+) kritisch%. Schaden: (%d+)%.", -- SPELLLOGCRITSELFOTHER
			["spellhit"] = "Euer (.+) trifft (.+)%. Schaden: (%d+) (.+)%.", -- SPELLLOGSCHOOLSELFOTHER
			["spellcrit"] = "Euer (.+) trifft (.+) kritisch%. Schaden: (%d+) (.+)%.", -- SPELLLOGCRITSCHOOLSELFOTHER
			["perform"] = "Ihr f\195\188hrt (.+) auf (.+) aus%.", -- SPELLPERFORMGOSELFTARGETTED
			["dot"] = "(.+) erleidet (%d+) (.+)schaden %(durch (.+)%)%.", -- PERIODICAURADAMAGESELFOTHER
			["yourhotonother"] = "(.+) erh\195\164lt (%d+) Gesundheit durch (.+)%.", -- PERIODICAURAHEALSELFOTHER
			["othershotonyou"] = "Ihr erhaltet (%d+) Gesundheit von (.+) %(durch (.+)%)%.", -- PERIODICAURAHEALOTHERSELF
			["hotonself"] = "Ihr erhaltet (%d+) Gesundheit durch (.+)%.", -- PERIODICAURAHEALSELFSELF
			["powergain"] = "Ihr bekommt (%d+) (.+) durch (.+)%.", -- POWERGAINSELFSELF
			["healcritonself"] = "Besondere Heilung: (.+) heilt Euch  um (%d+) Punkte%.", -- HEALEDCRITSELFSELF
			["healcritonother"] = "Besondere Heilung: (.+) heilt (.+) um (%d+) Punkte%.", -- HEALEDCRITSELFOTHER 
			["healhitonself"] = "(.+) heilt Euch um (%d+) Punkte%.", -- HEALEDSELFSELF
			["healhitonother"] = "(.+) heilt (.+) um (%d+) Punkte%.", -- HEALEDSELFOTHER
			["enemyspellhit"] = "(.+) trifft Euch .mit (.+).%. Schaden: (%d+)%.", -- SPELLLOGOTHERSELF
			["buffstart"] = "Ihr bekommt '(.+)'%.", -- AURAADDEDSELFHELPFUL
			["debuffstart"] = "Ihr seid von (.+) betroffen%.", -- AURAADDEDSELFHARMFUL
			["buffend"] = "(.+) schwindet von Euch%.", -- AURAREMOVEDSELF
			["dispellcast"] = "Ihr wirkt (.+) auf (.+)%." -- SPELLCASTGOSELFTARGETTED 
		},
		["gui"] = 
		{
			["raidlabel"] = "Raid Threat",
			["raidshortlabel"] = "Raid",
			["column"] = 
			{
				["name"] = "Name",
				["hits"] = "Treffer",
				["damage"] = "Schaden",
				["threat"] = "Threat",
				["%max"] = "%Max",
			}
		},
		["print"] = 
		{
			["main"] = 
			{
				["startupmessage"] = "KLHThreatMeter Release |cff33ff33%s|r Revision |cff33ff33%s|r geladen. Tippe |cffffff00/ktm|r f\195\188r hilfe.",
			},
			["data"] = 
			{
				["abilityrank"] = "Deine %s F\195\164higkeit ist Rang %s.",
				["globalthreat"] = "Dein globaler threat multiplikator ist %s.",
				["globalthreatmod"] = "%s gibt dir %s.",
				["multiplier"] = "Als %s wird dein threat durch %s mit %s multipliziert.",
				["damage"] = "Schaden",
				["shadowspell"] = "Schattenzaubern",
				["arcanespell"] = "Arkanzaubern",
				["holyspell"] = "Heiligzaubern",
				["setactive"] = "%s %d Teile aktiv? ... %s.",
				["true"] = "ja",
				["false"] = "nein",
				["healing"] = "Deine Heilung verursacht %s threat (vor globalem threat Multiplikator).",
				["talentpoint"] = "Du hast %d talent punkte in %s.",
				["talent"] = "%d %s Talente gefunden.",
			},
			["combat"] = 
			{
				["razorphase2"] = "Der raid threat wurde von Razorgore zur\195\188ckgesetzt. Er ist jetzt master target.",
				["onyxiaphase3"] = "Der raid threat wurde von Onyxia zur\195\188ckgesetzt.",
			},
			["network"] = 
			{
				["newmttargetnil"] = "Konnte kein neues master target %s setzen da %s kein Ziel hat.",
				["newmttargetmismatch"] = "%s setzt das master target auf %s, aber sein eigenes Ziel ist %s. Sein eigenes Ziel wird stattdessen benutzt, \195\188berprüfen!",
				["threatreset"] = "Das raid threat meter wurde von %s gel\195\182scht.",
				["newmt"] = "Das master target wurde auf '%s' festgelegt. (von %s)",
				["mtclear"] = "Das master target wurde von %s gel\195\182scht.",
				["knockbackstart"] = "Knockback Ausfindung wurde von %s aktiviert.",
				["knockbackstop"] = "Knockback Ausfindung wurde von %s gestoppt.",
				["aggrogain"] = "%s meldet 'aggro bekommen' mit %d threat.",
				["aggroloss"] = "%s meldet 'aggro verloren' mit %d threat.",
				["knockback"] = "%s meldet 'knock away abbekommen'. Er ist runter auf %d threat.",
				["knockbackstring"] = "%s meldet diesen knockback text: '%s'.",
				["upgraderequest"] = "%s bittet dich um Upgrade auf Release %d von KLHThreatMeter. Du benutzt gerade Release %d.",
				["remoteoldversion"] = "%s benutzt den veralteten Release %d von KLHThreatMeter. Bitte sag Ihm er soll auf Release %d upgraden.",
				["knockbackvaluechange"] = "|cffffff00%s|r hat die threat reduzierung von %s's |cffffff00%s|r Angriff auf |cffffff00%d%%|r gesetzt.",
				["raidpermission"] = "Du musst Raid Leader oder Assistant sein um das zu tun!",
				["needmastertarget"] = "Du musst zuerst ein master target setzen!",
				["knockbackinactive"] = "Knockback Ausfindung ist nicht aktiv im Raid.",
				["versionrequest"] = "Fordere Versionsinformationen des Raids an. Antwort in 3 Sekunden.",
				["versionrecent"] = "Diese Leute haben Release %s: { ",
				["versionold"] = "Diese Leute haben \195\164ltere Versionen: { ",
				["versionnone"] = "Diese Leute haben kein KLHThreatMeter, oder sind nicht im richtigen CTRA channel: { ",	
			}			
		}
	},
	["zhTW"] =
	{
		["spell"] =
		{
			["heroicstrike"] = "英勇打擊",
			["maul"] = "搥擊",
			["swipe"] = "揮擊",
			["shieldslam"] = "盾牌猛擊",
			["revenge"] = "復仇",
			["shieldbash"] = "盾擊",
			["sunder"] = "破甲攻擊",
			["feint"] = "佯攻",
			["cower"] = "畏縮",
			["taunt"] = "嘲諷",
			["growl"] = "低吼",
			["vanish"] = "消失",
			["frostbolt"] = "寒冰箭",
			["fireball"] = "火球術",
			["arcanemissiles"] = "祕法飛彈",
			["scorch"] = "灼燒",

			-- Items / Buffs:
			["burningadrenaline"] = "Burning Adrenaline",
			["arcaneshroud"] = "Arcane Shroud",
			["reducethreat"] = "Reduce Threat",
			["twinteleport"] = "Twin Teleport",

			-- Spell Sets
			-- warlock descruction
			["shadowbolt"] = "暗影箭",
			["immolate"] = "獻祭",
			["conflagrate"] = "燃燒",
			["searingpain"] = "灼熱之痛",
			["rainoffire"] = "火焰之雨",
			["soulfire"] = "靈魂之火",
			["shadowburn"] = "暗影灼燒",
			["hellfire"] = "地獄烈焰",

			-- mage offensive arcane
			["arcaneexplosion"] = "魔爆術",
			["counterspell"] = "法術法制",

			-- priest shadow
			["mindflay"] = "精神鞭笞",
			["devouringplague"] = "吸血鬼的擁抱",
			["shadowwordpain"] = "暗言術：痛",
			["mindblast"] = "心靈震爆",
			["manaburn"] = "法力燃燒",
		},
		["power"] =
		{
			["mana"] = "法力",
			["rage"] = "怒氣",
			["energy"] = "能量",
		},
		["threatsource"] =
		{
			["powergain"] = "能源產生",
			["total"] = "總計",
			["special"] = "特殊",
			["healing"] = "治療",
			["dot"] = "持續傷害",
			["threatwipe"] = "仇恨減免",
			["damageshield"] = "傷害盾",
			["whitedamage"] = "白字傷害",
		},
		["talent"] =
		{
			["defiance"] = "挑釁",
			["impale"] = "穿刺",
			["priestsubtlety"] = "微妙",
			["silentresolve"] = "無聲消退",
			["shadowaffinity"] = "精神治療",
			["druidsubtlety"] = "微妙",
			["feralinstinct"] = " 野性本能",
			["ferocity"] = "兇暴",
			["savagefury"] = "野蠻暴怒",
			["masterdemonologist"] = "惡魔學識大師",
			["arcanesubtlety"] = "祕法精妙",
			["righteousfury"] = "強化憤怒聖印",
		},
		["threatmod"] =
		{
			["tranquilair"] = "寧靜之風圖騰",
			["salvation"] = "拯救祝福",
			["battlestance"] = "戰鬥姿態",
			["defensivestance"] = "防禦姿態",
			["berserkerstance"] = "狂暴姿態",
			["defiance"] = "挑釁",
			["basevalue"] = "基本值",
			["bearform"] = "熊型態",
			["glovethreatenchant"] = "手套附魔增加威脅值",
			["backthreatenchant"] = "披風附魔減少威脅值",
		},
		["class"] =
		{
			["warrior"] = "戰士",
			["druid"] = "德魯伊",
			["shaman"] = "薩滿",
			["rogue"] = "盜賊",
			["hunter"] = "獵人",
			["warlock"] = "術士",
			["mage"] = "法師",
			["paladin"] = "聖騎士",
			["priest"] = "牧師",
		},
		["sets"] =
		{
			["bloodfang"] = "血牙",    -- Rog, 5件 增加佯攻減少的威脅值 25%
			["nemesis"] = "復仇",      -- WLK, 8件 降低毀滅系法術所產生的威脅值 20%
			["netherwind"] = "靈風",   -- Mag, 3件 使你的灼燒、祕法飛彈、火球術和寒冰箭所造成的威脅值降低
			["might"] = "力量",        -- War, 8件 增加破甲產生的威脅值 15%
			["arcanist"] = "祕法師",   -- Mag, 8件 使你因攻擊而產生的威脅值減少15%
		},
		["mobs"] =
		{
			["onyxia"] = "奧妮克希亞",
			["ebonroc"] = "埃博諾克",
			["razorgore"] = "狂野的拉佐格爾",
		},
		["knockbacks"] =
		{
			["knockaway"] = "擊飛",
			["wingbuffet"] = "龍翼攻擊",
			["uppercut"] = "上鉤拳",
		},
		["misc"] =
		{
			["imp"] = "小鬼", -- UnitCreatureFamily("pet")
			["spellrank"] = "等級 (%d+)", -- second value of GetSpellName(x, "spell")
			["aggrogain"] = "取得 Aggro",
		},
		["combatlog"] =
		{
			["razorphase2"] = "flee as the controlling power of the orb is drained.",  -- Help me! I never tried BWL!
			["onyxiaphase3"] = "看起來需要再給你一次教訓",
			["whiteattackhit"] = "你擊中(.+)造成(%d+)點(.*)傷害。", -- COMBATHITSELFOTHER and COMBATHITSCHOOLSELFOTHER
			["whiteattackcrit"] = "你對(.+)造成(%d+)的致命一擊傷害。", -- COMBATHITCRITSELFOTHER
			["whiteattackcrit2"] = "你的致命一擊對(.+)造成(%d+)點(.+)傷害。", -- COMBATHITCRITSCHOOLSELFOTHER
			["damageshield"] = "你將(%d+)點(.+)傷害反彈給(.+)。", -- DAMAGESHIELDSELFOTHER
			["abilityhit"] = "你的(.+)擊中(.+)造成(%d+)點傷害。", -- SPELLLOGSELFOTHER
			["abilitycrit"] = "你的(.+)對(.+)造成(%d+)的致命一擊傷害。", -- SPELLLOGCRITSELFOTHER
			["spellhit"] = "你的(.+)擊中(.+)造成(%d+)點(.+)傷害。", -- SPELLLOGSCHOOLSELFOTHER
  			["spellcrit"] = "你的(.+)對(.+)致命一擊造成(%d+)點(.+)傷害。", -- SPELLLOGCRITSCHOOLSELFOTHER
			["perform"] = "你對(.+)使用(.+)。", -- SPELLPERFORMGOSELFTARGETTED (zhTW: (2, 1))
			["dot"] = "你的(.+)使(.+)受到了(%d+)點(.+)傷害。", -- PERIODICAURADAMAGESELFOTHER (zhTW: (4, 1, 2, 3))
			["yourhotonother"] = "(.+)獲得(%d+)點生命力（你的(.+)）。", -- PERIODICAURAHEALSELFOTHER
			["othershotonyou"] = "你因(.+)的(.+)而獲得了(%d+)點生命力。", -- PERIODICAURAHEALOTHERSELF (zhTW: (2, 3, 1))
			["hotonself"] = "你因(.+)而獲得了(%d+)點生命力。", -- PERIODICAURAHEALSELFSELF (zhTW: (2, 1))
			["powergain"] = "你從(.+)獲得了(%d+) (.+)。", -- POWERGAINSELFSELF (zhTW: (3, 1, 2))
			["healcritonself"] = "你的(.+)對你造成極效治療，恢復了(.+)點生命力。", -- HEALEDCRITSELFSELF
			["healcritonother"] = "你的(.+)對(.+)產生極效治療效果，恢復了(%d+)點生命力。", -- HEALEDCRITSELFOTHER
			["healhitonself"] = "你的(.+)治療了你(%d+)點生命力。", -- HEALEDSELFSELF
			["healhitonother"] = "你的(.+)治療了(.+)(%d+)點生命力。", -- HEALEDSELFOTHER
			--["enemyspellhit"] = "(.+)'s (.+) hits you for (%d+)%.", -- SPELLLOGOTHERSELF
			["buffstart"] = "你獲得了(.+)的效果。", -- AURAADDEDSELFHELPFUL
			["debuffstart"] = "你受到了(.+)效果的影響。", -- AURAADDEDSELFHARMFUL
			["buffend"] = "(.+)效果從你身上消失了。", -- AURAREMOVEDSELF
			["spellcast"] = "你對(.+)施放了(.+)。", -- SPELLCASTGOSELFTARGETTED (zhTW: (2, 1))
		},
		["gui"] =
		{
			["raidlabel"] = "團隊仇恨",
			["raidshortlabel"] = "團隊",
			["column"] =
			{
				["name"] = "名稱",
				["hits"] = "命中",
				["damage"] = "傷害",
				["threat"] = "仇恨",
				["%max"] = "%Max",
			}
		},
		["print"] =
		{
			["main"] =
			{
				["startupmessage"] = "KLHThreatMeter Release |cff33ff33%s|r Revision |cff33ff33%s|r 已載入. 輸入 |cffffff00/ktm|r 以取得幫助.",
			},
			["data"] =
			{
				["abilityrank"] = "你的 %s 技能排名 %s.",
				["globalthreat"] = "你的整體仇恨倍率為 %s.",
				["globalthreatmod"] = "%s 給予你 %s.",
				["multiplier"] = "作為一個%s, 你的%s仇恨倍率為 %s.",
				["damage"] = "傷害",
				["shadowspell"] = "暗影法術",
				["arcanespell"] = "祕法法術",
				["holyspell"] = "神聖法術",
				["setactive"] = "是否正裝著 %s 套裝 %d 件? ... %s.",
				["true"] = "是",
				["false"] = "否",
				["healing"] = "你的治療產生了 %s 仇恨 (在經過整體仇恨修正之前).",
				["talentpoint"] = "你有 %d 點天賦點數在 %s.",
				["talent"] = "發現 %d 點 %s 天賦.",
			},
			["combat"] =
			{
				["razorphase2"] = "團隊仇恨值已被拉佐格爾(Razorgore)清除, 現在誰是主要目標.",
				["onyxiaphase3"] = "團隊仇恨值已被奧妮克希亞(Onyxia)清除.",
			},
			["network"] =
			{
				["newmttargetnil"] = "無法確認主要目標 %s, 因為 %s 沒有目標.",
				["newmttargetmismatch"] = "%s 設定主要目標為 %s, 但是他的目標是 %s. 將使用他的目標替代, 並確認這一點!!",
				["threatreset"] = "團隊仇恨測量器已被 %s 清除.",
				["newmt"] = "主要目標已更改為 '%s', 由 %s 變更.",
				["mtclear"] = "主要目標已被 %s 清除.",
				["knockbackstart"] = "擊飛偵測在已被 %s 啟用.",
				["knockbackstop"] = "擊飛偵測在已被 %s 停用.",
				["aggrogain"] = "%s 回報, 在產生了 %d 仇恨後取得 aggro.",
				["aggroloss"] = "%s 回報, %d 仇恨失去了 aggro.",
				["knockback"] = "%s 回報受到傷害被擊飛. 他的仇恨值下降到 %d.",
				["knockbackstring"] = "%s 回報這個踢飛的文字: '%s'.",
				["upgraderequest"] = "%s 促使你更新 KLHThreatMeter 到版本 Release %d. 你現在正使用 Release %d.",
				["remoteoldversion"] = "%s 正在使用過期的 KLHThreatMeter Release %d. 請告訴他該更新到 Release %d 了.",
				["knockbackvaluechange"] = "|cffffff00%s|r 設定 %s 的 |cffffff00%s|r 攻擊仇恨減少至 |cffffff00%d%%|r.",
				["raidpermission"] = "你必須是領隊或是隊長才能夠這樣作!",
				["needmastertarget"] = "你必須先設定一個主要目標!",
				["knockbackinactive"] = "擊飛偵測在本團隊中被關閉.",
				["versionrequest"] = "正在向團隊查詢版本資訊, 將在 3 秒內回應.",
				["versionrecent"] = "這些人使用 release %s: { ",
				["versionold"] = "這些人使用舊的版本: { ",
				["versionnone"] = "這些人沒有使用 KLHThreatMeter, 或是他們沒有在正確的 CTRA 頻道: { ",
			}
        }
    },
	["zhCN"] = 
	{
		["spell"] = 
		{
			["heroicstrike"] = "英勇打击",
			["maul"] = "槌击",
			["swipe"] = "挥击",
			["shieldslam"] = "盾牌猛击",
			["revenge"] = "复仇",
			["shieldbash"] = "盾击",
			["sunder"] = "破甲",
			["feint"] = "佯攻",
			["cower"] = "畏缩",
			["taunt"] = "嘲讽",
			["growl"] = "低吼",
			["vanish"] = "消失",
			["frostbolt"] = "寒冰箭",
			["fireball"] = "火球术",
			["arcanemissiles"] = "奥术飞弹",
			["scorch"] = "灼烧",
			
			-- Items / Buffs:
			["burningadrenaline"] = "燃烧刺激",
			["arcaneshroud"] = "Arcane Shroud",
			["reducethreat"] = "Reduce Threat",
			["twinteleport"] = "Twin Teleport", 
			
			-- Spell Sets
			-- warlock descruction
			["shadowbolt"] = "暗影箭",
			["immolate"] = "献祭",
			["conflagrate"] = "燃烧",
			["searingpain"] = "灼热之痛",
			["rainoffire"] = "火焰之雨",
			["soulfire"] = "灵魂之火",
			["shadowburn"] = "暗影灼烧",
			["hellfire"] = "地狱烈焰",
			
			-- mage offensive arcane
			["arcaneexplosion"] = "魔爆术",
			["counterspell"] = "法术反制",
			
			-- priest shadow
			["mindflay"] = "精神鞭笞",
			["devouringplague"] = "吸血鬼的拥抱",
			["shadowwordpain"] = "暗言术：痛",
			["mindblast"] = "心灵震爆",
			["manaburn"] = "法力燃烧",
		},
		["power"] = 
		{
			["mana"] = "法力",
			["rage"] = "怒气",
			["energy"] = "能量",
		},
		["threatsource"] = 
		{
			["powergain"] = "获得能力",
			["total"] = "总共",
			["special"] = "技能",
			["healing"] = "治疗",
			["dot"] = "Dots",
			["threatwipe"] = "仇恨清除",
			["damageshield"] = "伤害护盾",
			["whitedamage"] = "普通攻击",
		},
		["talent"] = 
		{
			["defiance"] = "挑衅",
			["impale"] = "穿刺",
			["silentresolve"] = "无声消退",
			["shadowaffinity"] = "暗影亲和",
			["druidsubtlety"] = "微妙",
			["feralinstinct"] = "野性本能",
			["ferocity"] = "凶暴",
			["savagefury"] = "野蛮暴怒",
			["masterdemonologist"] = "恶魔学识大师",
			["arcanesubtlety"] = "奥术精妙",
			["righteousfury"] = "强化愤怒圣印",
		},
		["threatmod"] = 
		{
			["tranquilair"] = "宁静之风图腾",
			["salvation"] = "拯救祝福",
			["battlestance"] = "战斗姿态",
			["defensivestance"] = "防御姿态",
			["berserkerstance"] = "狂暴姿态",
			["defiance"] = "挑衅",
			["basevalue"] = "基础值",
			["bearform"] = "熊形态",	
			["glovethreatenchant"] = "+Threat Enchant to Gloves",
			["backthreatenchant"] = "-Threat Enchant to Back",
		},
		["class"] = 
		{
			["warrior"] = "战士",
			["druid"] = "德鲁伊",
			["shaman"] = "萨满",
			["rogue"] = "盗贼",
			["hunter"] = "猎人",
			["warlock"] = "术士",
			["mage"] = "法师",
			["paladin"] = "圣骑士",
			["priest"] = "牧师",
		},
		["sets"] = 
		{
			["bloodfang"] = "血牙",
			["nemesis"] = "复仇",
			["netherwind"] = "灵风",
			["might"] = "力量",
			["arcanist"] = "奥术师",
		},
		["mobs"] = 
		{
			["onyxia"] = "奥妮克希亚",
			["ebonroc"] = "埃博诺克",
			["razorgore"] = "狂野的拉佐格尔",
		},
		["knockbacks"] = 
		{
			["knockaway"] = "击飞",
			["wingbuffet"] = "龙翼打击",
			["uppercut"] = "上钩拳",
		},
		["misc"] = 
		{
			["imp"] = "小鬼", -- UnitCreatureFamily("pet")
			["spellrank"] = "等级 (%d+)", -- second value of GetSpellName(x, "spell")
			["aggrogain"] = "获得Aggro",
		},
		["combatlog"] = 
		{
			["razorphase2"] = "在宝珠的控制力消失之前逃走",
			["onyxiaphase3"] = "看起来需要再给你一次教训",
			["whiteattackhit"] = "你击中(.+)造成(%d+)点伤害。", -- COMBATHITSELFOTHER and COMBATHITSCHOOLSELFOTHER
			["whiteattackcrit"] = "你对(.+)造成(%d+)的致命一击伤害。", -- COMBATHITCRITSELFOTHER and COMBATHITCRITSCHOOLSELFOTHER
			["damageshield"] = "你将(%d+)点(.+)伤害反弹给(.+)。", -- DAMAGESHIELDSELFOTHER
			["abilityhit"] = "你的(.+)击中(.+)造成(%d+)点伤害。", -- SPELLLOGSELFOTHER
			["abilitycrit"] = "你的(.+)对(.+)造成(%d+)的致命一击伤害。", -- SPELLLOGCRITSELFOTHER
			["spellhit"] = "你的(.+)击中(.+)造成(%d+)点(.+)伤害。", --SPELLLOGSCHOOLSELFOTHER
			["spellcrit"] = "你的(.+)致命一击对(.+)造成(%d+)点(.+)伤害。", -- SPELLLOGCRITSCHOOLSELFOTHER
			["perform"] = "你对(.+)使用(.+)。", -- SPELLPERFORMGOSELFTARGETTED
			["dot"] = "你的(.+)使(.+)受到了(%d+)点(.+)伤害。", -- PERIODICAURADAMAGESELFOTHER
			["yourhotonother"] = "(.+)获得(%d+)点生命值 （你的(.+)）。", -- PERIODICAURAHEALSELFOTHER
			["othershotonyou"] = "你获得(%d+)点生命值（(.+)的(.+)）。", -- PERIODICAURAHEALOTHERSELF
			["hotonself"] = "你因(.+)而获得了(%d+)点生命值。", -- PERIODICAURAHEALSELFSELF
			["powergain"] = "你从(.+)获得了(%d+)点(.+)。", -- POWERGAINSELFSELF
			["healcritonself"] = "你的(.+)对你产生极效治疗效果，恢复了(%d+)点生命值。", -- HEALEDCRITSELFSELF
			["healcritonother"] = "你的(.+)对(.+)产生极效治疗效果，恢复了(%d+)点生命值。", -- HEALEDCRITSELFOTHER 
			["healhitonself"] = "你的(.+)治疗了你(%d+)点生命值。", -- HEALEDSELFSELF
			["healhitonother"] = "你的(.+)治疗了(.+[^%d])(%d+)点生命值。", -- HEALEDSELFOTHER
			["enemyspellhit"] = "(.+)的(.+)击中你造成(%d+)点伤害。", -- SPELLLOGOTHERSELF
			["buffstart"] = "你获得了(.+)的效果。", -- AURAADDEDSELFHELPFUL
			["debuffstart"] = "你受到(.+)效果的影响。", -- AURAADDEDSELFHARMFUL
			["buffend"] = "(.+)效果从你身上消失了。", -- AURAREMOVEDSELF
			["spellcast"] = "你对(.+)施放了(.+)。", -- SPELLCASTGOSELFTARGETTED
		},
		["gui"] = 
		{
			["raidlabel"] = "团队仇恨",
			["raidshortlabel"] = "团队",
			["column"] = 
			{
				["name"] = "团队",
				["hits"] = "命中",
				["damage"] = "伤害",
				["threat"] = "仇恨",
				["%max"] = "%Max",
			}
		},
		["print"] = 
		{
			["main"] = 
			{
				["startupmessage"] = "KLHThreatMeter Release |cff33ff33%s|r Revision |cff33ff33%s|r 已经加载。 输入 |cffffff00/ktm|r 取得更多帮助。",
			},
			["data"] = 
			{
				["abilityrank"] = "你的 %s 技能等级是 %s。",
				["globalthreat"] = "你的总体仇恨修正值是 %s。",
				["globalthreatmod"] = "%s 给予你 %s。",
				["multiplier"] = "作为一个%s，你的%s仇恨修正值是 %s。",
				["damage"] = "伤害",
				["shadowspell"] = "暗影术",
				["arcanespell"] = "奥术",
				["holyspell"] = "神圣法术",
				["setactive"] = "是否穿着 %s 套装 %d 件? ... %s。",
				["true"] = "是",
				["false"] = "否",
				["healing"] = "你的治疗造成了 %s 仇恨（被总体修正值修正前）。",
				["talentpoint"] = "你有 %d 点天赋值在 %s。",
				["talent"] = "发现 %d 点 %s 天赋。",
			},
			["combat"] = 
			{
				["razorphase2"] = "团队仇恨已经被拉佐格尔清除，现在谁是主要目标。",
				["onyxiaphase3"] = "团队仇恨已经被奥妮克希亚清除。",
			},
			["network"] = 
			{
				["newmttargetnil"] = "无法确认主要目标 %s, 因为 %s 没有目标。",
				["newmttargetmismatch"] = "%s 设定主要目标为 %s，但是他的主要目标是 %s， 将会使用他的主要目标替代，请注意。",
				["threatreset"] = "团队仇恨列表已经被 %s 清除。",
				["newmt"] = "主要目标已经被更改为'%s'，被 %s 改变。",
				["mtclear"] = "主要目标已经被 %s 清除。",
				["knockbackstart"] = "击飞侦测已经被 %s 启用。",
				["knockbackstop"] = "击飞侦测已经被 %s 停用。",
				["aggrogain"] = "%s 报告，在产生了 %d 仇恨后获得Aggro。",
				["aggroloss"] = "%s 报告，%d 仇恨失去了Aggro。",
				["knockback"] = "%s 报告被击飞，他的仇恨值下降到 %d 。",
				["knockbackstring"] = "%s 报告了这个击飞的文字：'%s'。",
				["upgraderequest"] = "%s 请你升级KLHThreatMeter到 %d 版本。你目前使用的是 %d。",
				["remoteoldversion"] = "%s 正在使用KLHThreatMeter的 %d 版本。请告诉他升级到 %d。",
				["knockbackvaluechange"] = "|cffffff00%s|r 设定了 %s 的 |cffffff00%s|r 仇恨减少到 |cffffff00%d%%|r。",
				["raidpermission"] = "只有队长才能这样做。",
				["needmastertarget"] = "你必须设置一个主目标。",
				["knockbackinactive"] = "击飞侦测在团队中被关闭。",
				["versionrequest"] = "查询团队内的版本信息，将在3秒钟后报告。",
				["versionrecent"] = "这些人使用版本 %s: { ",
				["versionold"] = "这些人使用旧版本: { ",
				["versionnone"] = "这些人没有使用KLHThreatMeter，或者不在正确的CTRA频道: { ",	
			}			
		}
	}	
}


function KLHTM_LocaliseConsoleIO()
	
	-- e.g. to override the description of the "/ktm scale" command:
	-- KLHTM_Clui.Branches[4].Description = "Changes the scale of the windows and fonts."
	
	
	
end
