diff --git a/includes/defines.php b/includes/defines.php index 386e3826..f91971bc 100644 --- a/includes/defines.php +++ b/includes/defines.php @@ -155,6 +155,7 @@ define('U_GROUP_PREMIUM_PERMISSIONS', (U_GROUP_PREMIUM|U_GROUP_STAFF|U_GRO define('LOCALE_EN', 0); define('LOCALE_FR', 2); define('LOCALE_DE', 3); +define('LOCALE_CN', 4); define('LOCALE_ES', 6); define('LOCALE_RU', 8); diff --git a/includes/types/achievement.class.php b/includes/types/achievement.class.php index 75ba06aa..340c6ec5 100644 --- a/includes/types/achievement.class.php +++ b/includes/types/achievement.class.php @@ -36,14 +36,16 @@ class AchievementList extends BaseType $rewards = DB::World()->select(' SELECT ar.ID AS ARRAY_KEY, ar.TitleA, ar.TitleH, ar.ItemID, ar.Sender AS sender, ar.MailTemplateID, - ar.Subject AS subject_loc0, IFNULL(arl2.Subject, "") AS subject_loc2, IFNULL(arl3.Subject, "") AS subject_loc3, IFNULL(arl6.Subject, "") AS subject_loc6, IFNULL(arl8.Subject, "") AS subject_loc8, - ar.Text AS text_loc0, IFNULL(arl2.Text, "") AS text_loc2, IFNULL(arl3.Text, "") AS text_loc3, IFNULL(arl6.Text, "") AS text_loc6, IFNULL(arl8.Text, "") AS text_loc8 + ar.Subject AS subject_loc0, IFNULL(arl2.Subject, "") AS subject_loc2, IFNULL(arl3.Subject, "") AS subject_loc3, IFNULL(arl4.Subject, "") AS subject_loc4, IFNULL(arl6.Subject, "") AS subject_loc6, IFNULL(arl8.Subject, "") AS subject_loc8, + ar.Text AS text_loc0, IFNULL(arl2.Text, "") AS text_loc2, IFNULL(arl3.Text, "") AS text_loc3, IFNULL(arl4.Text, "") AS text_loc4, IFNULL(arl6.Text, "") AS text_loc6, IFNULL(arl8.Text, "") AS text_loc8 FROM achievement_reward ar LEFT JOIN achievement_reward_locale arl2 ON arl2.ID = ar.ID AND arl2.Locale = "frFR" LEFT JOIN achievement_reward_locale arl3 ON arl3.ID = ar.ID AND arl3.Locale = "deDE" + LEFT JOIN + achievement_reward_locale arl4 ON arl4.ID = ar.ID AND arl4.Locale = "zhCN" LEFT JOIN achievement_reward_locale arl6 ON arl6.ID = ar.ID AND arl6.Locale = "esES" LEFT JOIN diff --git a/includes/types/creature.class.php b/includes/types/creature.class.php index 191f14ec..c22c3b6b 100644 --- a/includes/types/creature.class.php +++ b/includes/types/creature.class.php @@ -14,7 +14,7 @@ class CreatureList extends BaseType protected $queryBase = 'SELECT ct.*, ct.id AS ARRAY_KEY FROM ?_creature ct'; public $queryOpts = array( - 'ct' => [['ft', 'qse', 'dct1', 'dct2', 'dct3'], 's' => ', IFNULL(dct1.id, IFNULL(dct2.id, IFNULL(dct3.id, 0))) AS parentId, IFNULL(dct1.name_loc0, IFNULL(dct2.name_loc0, IFNULL(dct3.name_loc0, ""))) AS parent_loc0, IFNULL(dct1.name_loc2, IFNULL(dct2.name_loc2, IFNULL(dct3.name_loc2, ""))) AS parent_loc2, IFNULL(dct1.name_loc3, IFNULL(dct2.name_loc3, IFNULL(dct3.name_loc3, ""))) AS parent_loc3, IFNULL(dct1.name_loc6, IFNULL(dct2.name_loc6, IFNULL(dct3.name_loc6, ""))) AS parent_loc6, IFNULL(dct1.name_loc8, IFNULL(dct2.name_loc8, IFNULL(dct3.name_loc8, ""))) AS parent_loc8, IF(dct1.difficultyEntry1 = ct.id, 1, IF(dct2.difficultyEntry2 = ct.id, 2, IF(dct3.difficultyEntry3 = ct.id, 3, 0))) AS difficultyMode'], + 'ct' => [['ft', 'qse', 'dct1', 'dct2', 'dct3'], 's' => ', IFNULL(dct1.id, IFNULL(dct2.id, IFNULL(dct3.id, 0))) AS parentId, IFNULL(dct1.name_loc0, IFNULL(dct2.name_loc0, IFNULL(dct3.name_loc0, ""))) AS parent_loc0, IFNULL(dct1.name_loc2, IFNULL(dct2.name_loc2, IFNULL(dct3.name_loc2, ""))) AS parent_loc2, IFNULL(dct1.name_loc3, IFNULL(dct2.name_loc3, IFNULL(dct3.name_loc3, ""))) AS parent_loc3, IFNULL(dct1.name_loc4, IFNULL(dct2.name_loc4, IFNULL(dct3.name_loc4, ""))) AS parent_loc4, IFNULL(dct1.name_loc6, IFNULL(dct2.name_loc6, IFNULL(dct3.name_loc6, ""))) AS parent_loc6, IFNULL(dct1.name_loc8, IFNULL(dct2.name_loc8, IFNULL(dct3.name_loc8, ""))) AS parent_loc8, IF(dct1.difficultyEntry1 = ct.id, 1, IF(dct2.difficultyEntry2 = ct.id, 2, IF(dct3.difficultyEntry3 = ct.id, 3, 0))) AS difficultyMode'], 'dct1' => ['j' => ['?_creature dct1 ON ct.cuFlags & 0x02 AND dct1.difficultyEntry1 = ct.id', true]], 'dct2' => ['j' => ['?_creature dct2 ON ct.cuFlags & 0x02 AND dct2.difficultyEntry2 = ct.id', true]], 'dct3' => ['j' => ['?_creature dct3 ON ct.cuFlags & 0x02 AND dct3.difficultyEntry3 = ct.id', true]], @@ -49,7 +49,7 @@ class CreatureList extends BaseType public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_creature WHERE id = ?d', $id); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_creature WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } diff --git a/includes/types/enchantment.class.php b/includes/types/enchantment.class.php index cb245818..e049d095 100644 --- a/includes/types/enchantment.class.php +++ b/includes/types/enchantment.class.php @@ -73,7 +73,7 @@ class EnchantmentList extends BaseType // use if you JUST need the name public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_itemenchantment WHERE id = ?d', $id ); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_itemenchantment WHERE id = ?d', $id ); return Util::localizedString($n, 'name'); } // end static use diff --git a/includes/types/faction.class.php b/includes/types/faction.class.php index f327e95c..3a6ab6af 100644 --- a/includes/types/faction.class.php +++ b/includes/types/faction.class.php @@ -37,7 +37,7 @@ class FactionList extends BaseType public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_factions WHERE id = ?d', $id); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_factions WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } diff --git a/includes/types/gameobject.class.php b/includes/types/gameobject.class.php index 7838ac21..30b30c62 100644 --- a/includes/types/gameobject.class.php +++ b/includes/types/gameobject.class.php @@ -59,7 +59,7 @@ class GameObjectList extends BaseType public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_objects WHERE id = ?d', $id); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_objects WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } diff --git a/includes/types/item.class.php b/includes/types/item.class.php index 06a92848..1eb1e015 100644 --- a/includes/types/item.class.php +++ b/includes/types/item.class.php @@ -77,7 +77,7 @@ class ItemList extends BaseType // use if you JUST need the name public static function getName($id) { - $n = DB::Aowow()->selectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_items WHERE id = ?d', $id); + $n = DB::Aowow()->selectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_items WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } @@ -814,7 +814,7 @@ class ItemList extends BaseType if ($_ = $this->curTpl['socketBonus']) { $sbonus = DB::Aowow()->selectRow('SELECT * FROM ?_itemenchantment WHERE Id = ?d', $_); - $x .= ''.Lang::item('socketBonus').Lang::main('colon').''.Util::localizedString($sbonus, 'name').'
'; + $x .= ''.Lang::item('socketBonus', [''.Util::localizedString($sbonus, 'name').'']).'
'; } // durability @@ -954,7 +954,7 @@ class ItemList extends BaseType if (!$itemset->error && $itemset->pieceToSet) { $pieces = DB::Aowow()->select(' - SELECT b.id AS ARRAY_KEY, b.name_loc0, b.name_loc2, b.name_loc3, b.name_loc6, b.name_loc8, GROUP_CONCAT(a.id SEPARATOR \':\') AS equiv + SELECT b.id AS ARRAY_KEY, b.name_loc0, b.name_loc2, b.name_loc3, b.name_loc4, b.name_loc6, b.name_loc8, GROUP_CONCAT(a.id SEPARATOR \':\') AS equiv FROM ?_items a, ?_items b WHERE a.slotBak = b.slotBak AND a.itemset = b.itemset AND b.id IN (?a) GROUP BY b.id;', diff --git a/includes/types/quest.class.php b/includes/types/quest.class.php index 417d8797..f730222d 100644 --- a/includes/types/quest.class.php +++ b/includes/types/quest.class.php @@ -112,7 +112,7 @@ class QuestList extends BaseType // static use START public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_quests WHERE id = ?d', $id); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_quests WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } // static use END diff --git a/includes/types/skill.class.php b/includes/types/skill.class.php index 2aa2dd13..c9063b40 100644 --- a/includes/types/skill.class.php +++ b/includes/types/skill.class.php @@ -40,7 +40,7 @@ class SkillList extends BaseType public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_skillline WHERE id = ?d', $id); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_skillline WHERE id = ?d', $id); return Util::localizedString($n, 'name'); } diff --git a/includes/types/spell.class.php b/includes/types/spell.class.php index 9bc9cb4a..cabc047e 100644 --- a/includes/types/spell.class.php +++ b/includes/types/spell.class.php @@ -57,7 +57,7 @@ class SpellList extends BaseType 's' => [['src', 'sr', 'ic', 'ica']], // 6: TYPE_SPELL 'ic' => ['j' => ['?_icons ic ON ic.id = s.iconId', true], 's' => ', ic.name AS iconString'], 'ica' => ['j' => ['?_icons ica ON ica.id = s.iconIdAlt', true], 's' => ', ica.name AS iconStringAlt'], - 'sr' => ['j' => ['?_spellrange sr ON sr.id = s.rangeId'], 's' => ', sr.rangeMinHostile, sr.rangeMinFriend, sr.rangeMaxHostile, sr.rangeMaxFriend, sr.name_loc0 AS rangeText_loc0, sr.name_loc2 AS rangeText_loc2, sr.name_loc3 AS rangeText_loc3, sr.name_loc6 AS rangeText_loc6, sr.name_loc8 AS rangeText_loc8'], + 'sr' => ['j' => ['?_spellrange sr ON sr.id = s.rangeId'], 's' => ', sr.rangeMinHostile, sr.rangeMinFriend, sr.rangeMaxHostile, sr.rangeMaxFriend, sr.name_loc0 AS rangeText_loc0, sr.name_loc2 AS rangeText_loc2, sr.name_loc3 AS rangeText_loc3, sr.name_loc4 AS rangeText_loc4, sr.name_loc6 AS rangeText_loc6, sr.name_loc8 AS rangeText_loc8'], 'src' => ['j' => ['?_source src ON type = 6 AND typeId = s.id', true], 's' => ', src1, src2, src3, src4, src5, src6, src7, src8, src9, src10, src11, src12, src13, src14, src15, src16, src17, src18, src19, src20, src21, src22, src23, src24'] ); @@ -138,7 +138,7 @@ class SpellList extends BaseType // use if you JUST need the name public static function getName($id) { - $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_spell WHERE id = ?d', $id ); + $n = DB::Aowow()->SelectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_spell WHERE id = ?d', $id ); return Util::localizedString($n, 'name'); } // end static use diff --git a/includes/types/worldevent.class.php b/includes/types/worldevent.class.php index b124771c..bdf8ceb1 100644 --- a/includes/types/worldevent.class.php +++ b/includes/types/worldevent.class.php @@ -71,6 +71,7 @@ class WorldEventList extends BaseType IFNULL(h.name_loc0, e.description) AS name_loc0, h.name_loc2, h.name_loc3, + h.name_loc4, h.name_loc6, h.name_loc8 FROM diff --git a/includes/types/zone.class.php b/includes/types/zone.class.php index e1e97d98..1cc127f1 100644 --- a/includes/types/zone.class.php +++ b/includes/types/zone.class.php @@ -54,7 +54,7 @@ class ZoneList extends BaseType // use if you JUST need the name public static function getName($id) { - $n = DB::Aowow()->selectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 FROM ?_zones WHERE id = ?d', $id ); + $n = DB::Aowow()->selectRow('SELECT name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_zones WHERE id = ?d', $id ); return Util::localizedString($n, 'name'); } diff --git a/includes/user.class.php b/includes/user.class.php index 265593c9..351533d7 100644 --- a/includes/user.class.php +++ b/includes/user.class.php @@ -183,10 +183,11 @@ class User { $loc = strtolower(substr($_SERVER["HTTP_ACCEPT_LANGUAGE"], 0, 2)); switch ($loc) { - case 'ru': $loc = LOCALE_RU; break; - case 'es': $loc = LOCALE_ES; break; - case 'de': $loc = LOCALE_DE; break; case 'fr': $loc = LOCALE_FR; break; + case 'de': $loc = LOCALE_DE; break; + case 'zh': $loc = LOCALE_CN; break; // may cause issues in future with zh-tw + case 'es': $loc = LOCALE_ES; break; + case 'ru': $loc = LOCALE_RU; break; default: $loc = LOCALE_EN; } } diff --git a/includes/utilities.php b/includes/utilities.php index 35591265..5e87ac55 100644 --- a/includes/utilities.php +++ b/includes/utilities.php @@ -278,11 +278,11 @@ class Util private static $perfectGems = null; public static $localeStrings = array( // zero-indexed - 'enus', null, 'frfr', 'dede', null, null, 'eses', null, 'ruru' + 'enus', null, 'frfr', 'dede', 'zhcn', null, 'eses', null, 'ruru' ); public static $subDomains = array( - 'www', null, 'fr', 'de', null, null, 'es', null, 'ru' + 'www', null, 'fr', 'de', 'cn', null, 'es', null, 'ru' ); public static $typeClasses = array( @@ -652,6 +652,10 @@ class Util // default back to enUS if localization unavailable public static function localizedString($data, $field, $silent = false) { + // only display placeholder markers for staff + if (!User::isInGroup(U_GROUP_EMPLOYEE | U_GROUP_TESTER | U_GROUP_LOCALIZER)) + $silent = true; + // default case: selected locale available if (!empty($data[$field.'_loc'.User::$localeId])) return $data[$field.'_loc'.User::$localeId]; diff --git a/localization/lang.class.php b/localization/lang.class.php index c699079b..ff151f98 100644 --- a/localization/lang.class.php +++ b/localization/lang.class.php @@ -388,6 +388,7 @@ class Lang LOCALE_EN => [',', '.'], LOCALE_FR => [' ', ','], LOCALE_DE => ['.', ','], + LOCALE_CN => [',', '.'], LOCALE_ES => ['.', ','], LOCALE_RU => [' ', ','] ); diff --git a/localization/locale_dede.php b/localization/locale_dede.php index d281ed11..bf3c04dc 100644 --- a/localization/locale_dede.php +++ b/localization/locale_dede.php @@ -1101,7 +1101,7 @@ $lang = array( 'ammo' => ["Verursacht %g zusätzlichen Schaden pro Sekunde.", "Verursacht %g zusätzlichen %sschaden pro Sekunde", "+ %g Schaden pro Sekunde", "+ %g %sschaden pro Sekunde"] ), 'gems' => "Edelsteine", - 'socketBonus' => "Sockelbonus", + 'socketBonus' => "Sockelbonus: %s", 'socket' => array( "Metasockel", "Roter Sockel", "Gelber Sockel", "Blauer Sockel", -1 => "Prismatischer Sockel" ), diff --git a/localization/locale_enus.php b/localization/locale_enus.php index c0cea906..f9160cee 100644 --- a/localization/locale_enus.php +++ b/localization/locale_enus.php @@ -1101,7 +1101,7 @@ $lang = array( 'ammo' => ["Adds %g damage per second", "Adds %g %s damage per second", "+ %g damage per second", "+ %g %s damage per second" ] ), 'gems' => "Gems", - 'socketBonus' => "Socket Bonus", // ITEM_SOCKET_BONUS + 'socketBonus' => "Socket Bonus: %s", // ITEM_SOCKET_BONUS 'socket' => array( // EMPTY_SOCKET_* "Meta Socket", "Red Socket", "Yellow Socket", "Blue Socket", -1 => "Prismatic Socket" ), diff --git a/localization/locale_eses.php b/localization/locale_eses.php index c189a2d9..e25bd537 100644 --- a/localization/locale_eses.php +++ b/localization/locale_eses.php @@ -1101,7 +1101,7 @@ $lang = array( 'ammo' => ["Añade %g daño por segundo", "Añade %g %s daño por segundo", "+ %g daño por segundo", "+ %g %s daño por segundo"] ), 'gems' => "Gemas", - 'socketBonus' => "Bono de ranura", + 'socketBonus' => "Bono de ranura: %s", 'socket' => array( "Ranura meta", "Ranura roja", "Ranura amarilla", "Ranura azul", -1 => "Ranura prismática" ), diff --git a/localization/locale_frfr.php b/localization/locale_frfr.php index f19400a7..85f2e269 100644 --- a/localization/locale_frfr.php +++ b/localization/locale_frfr.php @@ -1102,7 +1102,7 @@ $lang = array( 'ammo' => ["Ajoute %g dégâts par seconde", "Ajoute %g points de dégâts (%s) par seconde", "+ %g points de dégâts par seconde", "+ %g points de dégâts (%s) par seconde" ] ), 'gems' => "Gemmes", - 'socketBonus' => "Bonus de châsse", + 'socketBonus' => "Bonus de châsse: %s", 'socket' => array( "Méta-châsse", "Châsse rouge", "Châsse jaune", "Châsse bleue", -1 => "Châsse prismatique" ), diff --git a/localization/locale_ruru.php b/localization/locale_ruru.php index 17b86eaf..ada5abbb 100644 --- a/localization/locale_ruru.php +++ b/localization/locale_ruru.php @@ -1101,7 +1101,7 @@ $lang = array( 'ammo' => ["Добавляет %g ед. урона в секунду", "Добавляет %g ед. урона (%s) в секунду", "+ ед. урона в секунду от боеприпасов (%g)", "+ %g %s ед. урона в секунду" ] ), 'gems' => "Самоцветы", - 'socketBonus' => "При соответствии цвета", + 'socketBonus' => "При соответствии цвета: %s", 'socket' => array( "Особое гнездо", "Красное гнездо", "Желтое гнездо", "Синее гнездо", -1 => "Бесцветное гнездо" ), diff --git a/localization/locale_zhcn.php b/localization/locale_zhcn.php new file mode 100644 index 00000000..d6a71897 --- /dev/null +++ b/localization/locale_zhcn.php @@ -0,0 +1,1259 @@ + array( + 'sg' => ["年", "月", "周", "天", "小时", "分钟", "秒", "毫秒"], + 'pl' => ["年", "月", "周", "天", "小时", "分钟", "秒", "毫秒"], + 'ab' => ["年", "月", "周", "天", "小时", "分钟", "秒", "毫秒"] + ), + 'main' => array( + 'name' => "名字", + 'link' => "链接", + 'signIn' => "登录 / 注册", + 'jsError' => "请确认你启用了javascript。", + 'language' => "语言", + 'feedback' => "反馈", + 'numSQL' => "数据库查询次数", + 'timeSQL' => "数据库查询时间", + 'noJScript' => '本站点基于JavaScript。
请在你的浏览器里启用JavaScript。', + 'userProfiles' => "我的简介", + 'pageNotFound' => "%s不存在。", + 'gender' => "性别", + 'sex' => [null, "男性", "女性"], + 'players' => "玩家", + 'quickFacts' => "相关信息", + 'screenshots' => "截图", + 'screenshots' => "屏幕截图", + 'videos' => "视频", + 'side' => "阵营", + 'related' => "相关", + 'contribute' => "贡献", + // 'replyingTo' => "The answer to a comment from", + 'submit' => "提交", + 'cancel' => "取消", + 'rewards' => "奖励", + 'gains' => "获得", + 'login' => "登录", + 'forum' => "论坛", + 'n_a' => "n/a", + 'siteRep' => "站点声望", + 'yourRepHistory'=> "您的声望历史", + 'aboutUs' => "关于我们 & 联系我们", + 'and' => "和", + 'or' => "或", + 'back' => "返回", + 'reputationTip' => "声望点数", + 'byUserTimeAgo' => '由%1$s%s之前', + 'help' => "帮助", + + // filter + 'extSearch' => "扩展搜索", + 'addFilter' => "添加一个过滤器", + 'match' => "匹配", + 'allFilter' => "所有过滤器", + 'oneFilter' => "至少一个", + 'applyFilter' => "应用过滤", + 'resetForm' => "清除表单", + 'refineSearch' => '提示: 通过浏览 子类别搜索。', + 'clear' => "清除", + 'exactMatch' => "精确匹配", + '_reqLevel' => "要求等级", + + // infobox + 'unavailable' => "对玩家不可用", // alternative wording found: "No longer available to players" ... aw screw it <_< + 'disabled' => "禁用", + 'disabledHint' => "不能达到或完成", + 'serverside' => "服务器端", + 'serversideHint'=> "这些信息不存在于客户端,但是已通过嗅探和/或猜测获得。", + + // red buttons + 'links' => "链接", + 'compare' => "比较", + 'view3D' => "3D查看", + 'findUpgrades' => "查找升级…", + + // misc Tools + 'errPageTitle' => "页面未找到", + 'nfPageTitle' => "错误", + 'subscribe' => "订阅", + 'mostComments' => ["昨天", "%d天前"], + 'utilities' => array( + "最新添加", "最新文章", "最新评论", "最新截图", null, + "未评级评论", 11 => "最新视频", 12 => "最多评论", 13 => "缺失截图" + ), + + // article & infobox + 'englishOnly' => "该页面仅以英语提供。", + + // calculators + 'preset' => "预设", + 'addWeight' => "添加另一个权重", + 'createWS' => "创建一个权重比例", + 'jcGemsOnly' => "包含JC-only宝石", + 'cappedHint' => 'Tip: Remove weights for capped statistics such as Hit rating.', + 'groupBy' => "按组", + 'gb' => array( + ["无", "none"], ["Slot", "slot"], ["等级", "level"], ["来源", "source"] + ), + 'compareTool' => "物品比较工具", + 'talentCalc' => "天赋模拟器", + 'petCalc' => "猎人宠物模拟器", + 'chooseClass' => "选择一个职业", + 'chooseFamily' => "选择一个宠物家族", + + // search + 'search' => "搜索", + 'searchButton' => "搜索", + 'foundResult' => "搜索结果关于", + 'noResult' => "没有搜索结果关于", + 'tryAgain' => "请尝试不同的关键词或检查你的拼写。", + 'ignoredTerms' => "以下词语在搜索中已被忽略:%s", + + // formating + 'colon' => ':', + 'dateFmtShort' => "Y/m/d", + 'dateFmtLong' => "Y/m/d \a\\t H:i", + + // error + 'intError' => "发生内部错误。", + 'intError2' => "发生内部错误。(%s)", + 'genericError' => "发生错误,请刷新页面再试一次。如果错误持续存在,请联系反馈。", # LANG.genericerror + 'bannedRating' => "你评级评论的权力已被冻结。", # LANG.tooltip_banned_rating + 'tooManyVotes' => "你已经达到每日投票上限。请明天再来!", # LANG.tooltip_too_many_votes + + 'moreTitles' => array( + 'reputation' => "网站声望", + 'whats-new' => "新内容", + 'searchbox' => "搜索框", + 'tooltips' => "工具提示", + 'faq' => "常见问答", + 'aboutus' => "什么是AoWoW?", + 'searchplugins' => "搜索插件", + 'privileges' => "特权", + 'top-users' => "高级用户", + 'help' => array( + 'commenting-and-you' => "评论和你", 'modelviewer' => "模型查看器", 'screenshots-tips-tricks' => "截图:提示和技巧", + 'stat-weighting' => "Stat Weighting", 'talent-calculator' => "天赋模拟器", 'item-comparison' => "物品比较工具", + 'profiler' => "Profiler", 'markup-guide' => "标记指南" + ) + ) + ), + 'profiler' => array( + 'realm' => "服务器", + 'region' => "区域", + 'viewCharacter' => "查看角色", + '_cpHint' => "The Character Profiler lets you edit your character, find gear upgrades, check your gearscore and more!", + '_cpHelp' => "To get started, just follow the steps below. If you'd like more information, check out our extensive help page.", + '_cpFooter' => "If you want a more refined search try out our advanced search options. You can also create a new custom profile.", + 'firstUseTitle' => "%s of %s", + 'complexFilter' => "Complex filter selected! Search results are limited to cached Characters.", + 'customProfile' => " (Custom Profile)", + 'resync' => "Resync", + 'guildRoster' => "Guild Roster for <%s>", + 'arenaRoster' => "Arena Team Roster for <%s>", + 'atCaptain' => "Arena Team Captain", + + 'profiler' => "Character Profiler", + 'arenaTeams' => "Arena Teams", + 'guilds' => "Guilds", + + 'notFound' => array( + 'guild' => "This Guild doesn't exist or is not yet in the database.", + 'arenateam' => "This Arena Team doesn't exist or is not yet in the database.", + 'profile' => "This character doesn't exist or is not yet in the database." + ), + 'dummyNPCs' => array( + 100001 => "Gunship Battle", + 200001 => "Northrend Beasts", 200002 => "Faction Champions", 200003 => "Val'kyr Twins", + 300001 => "The Four Horsemen", + 400001 => "Assembly of Iron" + ), + ), + 'screenshot' => array( + 'submission' => "截图提交", + 'selectAll' => "选择全部", + 'cropHint' => "您可以裁剪您的截图并输入标题。", + 'displayOn' => "显示在:[br]%s - [%s=%d]", + 'caption' => "标题", + 'charLimit' => "可选,最多200个字符", + 'thanks' => array( + 'contrib' => "非常感谢你的贡献!", + 'goBack' => '点击这里返回上一页。', + 'note' => "注意: 你的截图显示在网站前需要审核。这需要最多72小时。" + ), + 'error' => array( + 'unkFormat' => "未知图像格式。", + 'tooSmall' => "你的截图太小了。 (< ".CFG_SCREENSHOT_MIN_SIZE."x".CFG_SCREENSHOT_MIN_SIZE.").", + 'selectSS' => "请选择截图上传。", + 'notAllowed' => "你不允许上传截图!", + ) + ), + 'game' => array( + 'achievement' => "成就", + 'achievements' => "成就", + 'class' => "职业", + 'classes' => "职业", + 'currency' => "货币", + 'currencies' => "货币", + 'difficulty' => "难度", + 'dispelType' => "驱散类型", + 'duration' => "持续时间", + 'emote' => "表情", + 'emotes' => "表情", + 'enchantment' => "附魔", + 'enchantments' => "附魔", + 'object' => "对象", + 'objects' => "对象", + 'glyphType' => "雕文类型", + 'race' => "种族", + 'races' => "种族", + 'title' => "头衔", + 'titles' => "头衔", + 'eventShort' => "事件", + 'event' => "世界事件", + 'events' => "世界事件", + 'faction' => "阵营", + 'factions' => "阵营", + 'cooldown' => "%s冷却时间", + 'icon' => "图标", + 'icons' => "图标", + 'item' => "物品", + 'items' => "物品", + 'itemset' => "套装", + 'itemsets' => "套装", + 'mechanic' => "机制", + 'mechAbbr' => "机制", + 'meetingStone' => "集合石", + 'npc' => "NPC", + 'npcs' => "NPC", + 'pet' => "猎人宠物", + 'pets' => "猎人宠物", + 'profile' => "简介", + 'profiles' => "简介", + 'quest' => "任务", + 'quests' => "任务", + 'requires' => "需要%s", + 'requires2' => "需要", + 'reqLevel' => "需要等级%s", + 'reqSkillLevel' => "需要技能等级", + 'level' => "等级", + 'school' => "类型", + 'skill' => "技能", + 'skills' => "技能", + 'sound' => "声音", + 'sounds' => "声音", + 'spell' => "法术", + 'spells' => "法术", + 'type' => "类型", + 'valueDelim' => "到", + 'zone' => "区域", + 'zones' => "区域", + + 'pvp' => "PvP", + 'honorPoints' => "荣誉点数", + 'arenaPoints' => "竞技场点数", + 'heroClass' => "英雄职业", + 'resource' => "资源", + 'resources' => "资源", + 'role' => "角色", + 'roles' => "职责", + 'specs' => "专精", + '_roles' => ["治疗者", "近距离伤害输出者", "远距离伤害输出者", "坦克"], + + 'phases' => "阶段", + 'mode' => "模式", + 'modes' => [-1 => "任何", "普通 / 普通 10人", "英雄 / 普通 25人", "英雄 10人", "英雄 25人"], + 'expansions' => ["经典旧世", "燃烧的远征", "巫妖王之怒"], + 'stats' => ["力量", "敏捷", "耐力", "智力", "精神"], + 'sources' => array( + "未知", "已制造", "掉落", "PvP", "任务", + "商人", "训练师", "发现", "救赎", "天赋", + "新手", "活动", "成就", null, "黑市", + "取消附魔", "可钓", "已采集", "经研磨", "开采", + "已加工", "失窃", "废弃", "已剥皮", "游戏商店" + ), + 'languages' => array( + 1 => "兽人语", 2 => "达纳苏斯语", 3 => "牛头人语", 6 => "矮人语", 7 => "通用语", 8 => "恶魔语", + 9 => "泰坦语", 10 => "萨拉斯语", 11 => "龙语", 12 => "卡利姆多语", 13 => "侏儒语", 14 => "巨魔语", + 33 => "亡灵语", 35 => "德莱尼语", 36 => "僵尸语", 37 => "侏儒二进制", 38 => "地精二进制" + ), + 'gl' => [null, "大", "小"], + 'si' => [1 => "联盟", -1 => "仅限联盟", 2 => "部落", -2 => "仅限部落", 3 => "双方"], + 'resistances' => [null, '神圣抗性', '火焰抗性', '自然抗性', '冰霜抗性', '暗影抗性', '奥术抗性'], + 'dt' => [null, "魔法", "诅咒", "疾病", "中毒", "潜行", "隐形", null, null, "激怒"], + 'sc' => ["物理", "神圣", "火焰", "自然", "冰霜", "暗影", "奥术"], + 'cl' => [null, "战士", "圣骑士", "猎人", "潜行者", "牧师", "死亡骑士", "萨满祭司", "法师", "术士", null, "德鲁伊"], + 'ra' => [-2 => "部落", -1 => "联盟", "双方", "人类", "兽人", "矮人", "暗夜精灵", "亡灵", "牛头人", "侏儒", "巨魔", null, "血精灵", "德莱尼"], + 'rep' => ["仇恨", "敌对", "冷淡", "中立", "友善", "尊敬", "崇敬", "崇拜"], + 'st' => array( + "Default", "猎豹形态", "生命之树形态", "旅行形态", "水生形态", "熊形态", + null, null, "巨熊形态", null, null, null, + null, "暗影之舞", null, null, "幽魂之狼", "战斗姿态", + "防御姿态", "狂暴姿态", null, null, "恶魔变身", null, + null, null, null, "迅捷飞行形态", "暗影形态", "飞行形态", + "潜行", "枭兽形态", "救赎之魂" + ), + 'me' => array( + null, "被魅惑", "混乱", "缴械", "扰乱", "感觉", + "抓住", "定身", "减缓", "缄默", "睡眠中", "被诱捕", + "昏迷中", "冰封", "能力丧失", "流血", "治疗中", "变形术", + "驱逐", "防御", "束缚", "骑乘", "感染", "策反", + "战栗", "坚强", "中断", "眩晕", "发现", "无敌", + "挨闷棍", "暴怒" + ), + 'ct' => array( + "Uncategorized", "野兽", "龙类", "恶魔", "元素生物", "巨人", + "亡灵", "人型生物", "小动物", "机械", "未指定", "图腾", + "非战斗宠物", "气体云雾" + ), + 'fa' => array( + 1 => "狼", 2 => "豹", 3 => "蜘蛛", 4 => "熊", 5 => "野猪", 6 => "鳄鱼", + 7 => "食腐鸟", 8 => "螃蟹", 9 => "猩猩", 11 => "迅猛龙", 12 => "陆行鸟", 20 => "蝎子", + 21 => "海龟", 24 => "蝙蝠", 25 => "土狼", 26 => "猛禽", 27 => "风蛇", 30 => "龙鹰", + 31 => "掠食者", 32 => "迁跃捕猎者", 33 => "孢子蝠", 34 => "虚空鳐", 35 => "蛇", 37 => "蛾子", + 38 => "奇美拉", 39 => "魔暴龙", 41 => "异种虫", 42 => "蠕虫", 43 => "犀牛", 44 => "巨蜂", + 45 => "熔岩犬", 46 => "灵魂兽", + ), + 'pvpRank' => array( + null, "下士 / 斥候", "下士 / 步兵", + "中士 / 中士", "军士长 / 高阶军士", "士官长 / 一等军士长", + "骑士 / 石头守卫", "骑士中尉 / 血卫士", "骑士队长 / 军团士兵", + "护卫骑士 / 百夫长", "少校 / 勇士", "司令 / 中将", + "统帅 / 将军", "元帅 / 督军", "大元帅 / 高阶督军" + ), + ), + 'account' => array( + 'title' => "Aowow账号", + 'email' => "电子邮箱地址", + 'continue' => "继续", + 'groups' => array( + -1 => "无", "测试员", "管理员", "编辑器", "管理员", "官僚", + "开发者", "VIP", "博主", "特级", "本地化人员", "销售代理", + "截屏管理器", "视频管理员", "API伙伴", "等待中" + ), + // signIn + 'doSignIn' => "登录你的AoWoW账号", + 'signIn' => "登录", + 'user' => "用户名", + 'pass' => "密码", + 'rememberMe' => "保持登录", + 'forgot' => "忘记", + 'forgotUser' => "用户名", + 'forgotPass' => "密码", + 'accCreate' => '没有账号?现在创建一个!', + + // recovery + 'recoverUser' => "用户名需求", + 'recoverPass' => "密码重置:步骤 %s / 2", + 'newPass' => "新密码", + + // creation + 'register' => "注册 - 步骤 %s / 2", + 'passConfirm' => "确认密码", + + // dashboard + 'ipAddress' => "IP地址", + 'lastIP' => "上次使用IP地址", + 'myAccount' => "我的账号", + 'editAccount' => "只需使用以下表格就能更新你的帐户信息", + 'viewPubDesc' => '在你的简介页面查看你公共描述', + + // bans + 'accBanned' => "这个账号已被关闭", + 'bannedBy' => "冻结操作者", + 'ends' => "结束于", + 'permanent' => "永久冻结", + 'reason' => "理由", + 'noReason' => "没有理由提供。", + + // form-text + 'emailInvalid' => "该电子邮件地址无效。", // message_emailnotvalid + 'emailNotFound' => "你输入的电子邮件地址与任何帐户不关联。

If you forgot the email you registered your account with email ".CFG_CONTACT_EMAIL." for assistance.", + 'createAccSent' => "电子邮件发送到%s。只需按照说明创建你的帐户。", + 'recovUserSent' => "电子邮件发送到%s。只需按照说明恢复你的用户名。", + 'recovPassSent' => "电子邮件发送到%s。只需按照说明重置你的密码。", + 'accActivated' => '你的帐户已被激活。
继续登录', + 'userNotFound' => "输入的用户名不存在。", + 'wrongPass' => "密码无效。", + // 'accInactive' => "That account has not yet been confirmed active.", + 'loginExceeded' => "这个IP最大登录次数已超过。请在%s后再次尝试。", + 'signupExceeded'=> "这个IP最大注册次数已超过。请在%s后再次尝试。", + 'errNameLength' => "你的用户名必须至少4个字符长度。", // message_usernamemin + 'errNameChars' => "你的用户名只能包含字母和数字。", // message_usernamenotvalid + 'errPassLength' => "你的密码必须至少6个字符长度。", // message_passwordmin + 'passMismatch' => "你输入的密码不匹配。", + 'nameInUse' => "用户名已被占用。", + 'mailInUse' => "该电子邮件已注册到一个帐户。", + 'isRecovering' => "此帐户已恢复。按照电子邮件中的说明或等待%s后令牌过期。", + 'passCheckFail' => "密码不匹配。", // message_passwordsdonotmatch + 'newPassDiff' => "你的新密码必须与以前的密码不同。" // message_newpassdifferent + ), + 'user' => array( + 'notFound' => "用户 \"%s\" 未找到", + 'removed' => "(已移除)", + 'joinDate' => "加入", + 'lastLogin' => "上次访问", + 'userGroups' => "角色", + 'consecVisits' => "Consecutive visits", + 'publicDesc' => "公共描述", + 'profileTitle' => "%s的简介", + 'contributions' => "Contributions", + 'uploads' => "Data uploads", + 'comments' => "评论", + 'screenshots' => "截图", + 'videos' => "视频", + 'posts' => "Forum posts" + ), + 'mail' => array( + 'tokenExpires' => "此令牌将在%s过期。", + 'accConfirm' => ["Account Confirmation", "Welcome to ".CFG_NAME_SHORT."!\r\n\r\nClick the Link below to activate your account.\r\n\r\n".HOST_URL."?account=signup&token=%s\r\n\r\nIf you did not request this mail simply ignore it."], + 'recoverUser' => ["User Recovery", "Follow this link to log in.\r\n\r\n".HOST_URL."?account=signin&token=%s\r\n\r\nIf you did not request this mail simply ignore it."], + 'resetPass' => ["Password Reset", "Follow this link to reset your password.\r\n\r\n".HOST_URL."?account=forgotpassword&token=%s\r\n\r\nIf you did not request this mail simply ignore it."] + ), + 'emote' => array( + 'notFound' => "这个表情不存在。", + 'self' => "对你自己", + 'target' => "对别人并且选择了目标", + 'noTarget' => "对别人并且不选择目标", + 'isAnimated' => "使用动画", + 'aliases' => "别名", + 'noText' => "这个表情没有文字。", + ), + 'enchantment' => array( + 'details' => "细节", + 'activation' => "激活", + 'notFound' => "这个附魔不存在。", + 'types' => array( + 1 => "触发法术", 3 => "装备法术", 7 => "使用法术", 8 => "棱形插槽", + 5 => "统计", 2 => "武器伤害", 6 => "DPS", 4 => "防御" + ) + ), + 'gameObject' => array( + 'notFound' => "这个对象不存在。", + 'cat' => [0 => "Other", 9 => "Books", 3 => "Containers", -5 => "Chests", 25 => "Fishing Pools", -3 => "Herbs", -4 => "Mineral Veins", -2 => "Quest", -6 => "Tools"], + 'type' => [ 9 => "Book", 3 => "Container", -5 => "Chest", 25 => "", -3 => "Herb", -4 => "Mineral Vein", -2 => "Quest", -6 => ""], + 'unkPosition' => "这个对象的位置未知。", + 'npcLootPH' => '这个%s包含战利品,与%s的作战后,在他/她/它死亡后刷新。', + 'key' => "Key", + 'focus' => "Spell Focus", + 'focusDesc' => "Spells requiring this Focus can be cast near this Object", + 'trap' => "Trap", + 'triggeredBy' => "触发由", + 'capturePoint' => "Capture Point", + 'foundIn' => "这个对象能在以下地区找到:", + 'restock' => "Restocks every %s." + ), + 'npc' => array( + 'notFound' => "这个NPC不存在。", + 'classification'=> "分类", + 'petFamily' => "宠物家族", + 'react' => "反应", + 'worth' => "价值", + 'unkPosition' => "这个NPC的位置未知。", + 'difficultyPH' => "这个NPC是不同模式下的占位符,是", + 'seat' => "Seat", + 'accessory' => "附件", + 'accessoryFor' => "这个NPC是载具的附件", + 'quotes' => "引用", + 'gainsDesc' => "杀死这个NPC后你将得到", + 'repWith' => "点声望点数在", + 'stopsAt' => "在%s停止", + 'vehicle' => "载具", + 'stats' => "状态", + 'melee' => "近战", + 'ranged' => "远程", + 'armor' => "护甲", + 'foundIn' => "这个NPC能在以下地区找到:", + 'tameable' => "可驯服的(%s)", + 'waypoint' => "路径点", + 'wait' => "等待", + 'respawnIn' => "重生", + 'rank' => [0 => "普通", 1 => "稀有", 4 => "精英", 2 => "稀有精英", 3 => "首领"], + 'textRanges' => [null, "发送到地区", "发送到区域", "发送到地图", "发送到世界"], + 'textTypes' => [null, "喊道", "说", "悄悄地说"], + 'modes' => array( + 1 => ["普通", "英雄"], + 2 => ["10人普通", "25人普通", "10人英雄", "25人英雄"] + ), + 'cat' => array( + "未分类", '野兽', '龙类', '恶魔', '元素生物', '巨人', '亡灵', + '人型生物', '小动物', '机械', '未指定', '图腾', '非战斗宠物', '气体云雾' + ), + ), + 'event' => array( + 'notFound' => "这个世界事件不存在。", + 'start' => "开始", + 'end' => "结束", + 'interval' => "间隔", + 'inProgress' => "事件正在进行中", + 'category' => ["未分类", "节日", "循环", "PvP"] + ), + 'achievement' => array( + 'notFound' => "这个成就不存在。", + 'criteria' => "达成条件", + 'points' => "点数", + 'series' => "系列", + 'outOf' => "/", + 'criteriaType' => "Criterium Type-Id:", + 'itemReward' => "你将得到", + 'titleReward' => '你将被授予头衔"%s"', + 'slain' => "杀死", + 'reqNumCrt' => "要求", + 'rfAvailable' => "Available on realm: ", + '_transfer' => '这个成就将被转换到%s,如果你转移到%s。', + ), + 'chrClass' => array( + 'notFound' => "这个职业不存在。" + ), + 'race' => array( + 'notFound' => "这个种族不存在。", + 'racialLeader' => "种族领袖", + 'startZone' => "起始区域" + ), + 'maps' => array( + 'maps' => "地图", + 'linkToThisMap' => "链接到这个地图", + 'clear' => "清除", + 'EasternKingdoms' => "东部王国", + 'Kalimdor' => "卡利姆多", + 'Outland' => "外域", + 'Northrend' => "诺森德", + 'Instances' => "副本", + 'Dungeons' => "地下城", + 'Raids' => "团队副本", + 'More' => "更多", + 'Battlegrounds' => "战场", + 'Miscellaneous' => "其他", + 'Azeroth' => "艾泽拉斯", + 'CosmicMap' => "宇宙地图" + ), + 'privileges' => array( + 'main' => "Here on our Site you can generate reputation. The main way to generate it is to get your comments upvotes.

So, reputation is a rough measure of how much you contributed to the community.

As you amass reputation you earn the community's trust and you will be granted with additional privileges. You can find a full list below.", + 'privilege' => "Privilege", + 'privileges' => "Privileges", + 'requiredRep' => "Reputation Required", + 'reqPoints' => "This privilege requires %s reputation points.", + '_privileges' => array( + null, "Post comments", "Post external links", null, + "No CAPTCHAs", "Comment votes worth more", null, null, + null, "More votes per day", "Upvote comments", "Downvote comments", + "Post comment replies", "Border: Uncommon", "Border: Rare", "Border: Epic", + "Border: Legendary", "AoWoW Premium" + ) + ), + 'zone' => array( + 'notFound' => "这个区域不存在。", + 'attunement' => ["Attunement", "Heroic attunement"], + 'key' => ["钥匙", "英雄钥匙"], + 'location' => "位置", + 'raidFaction' => "团队副本阵营", + 'boss' => "最终首领", + 'reqLevels' => "要求等级: [tooltip=instancereqlevel_tip]%d[/tooltip], [tooltip=lfgreqlevel_tip]%d[/tooltip]", + 'zonePartOf' => "这个区域是[zone=%s]的一部分。", + 'autoRez' => "自动复活", + 'city' => "城市", + 'territory' => "领地", + 'instanceType' => "副本类型", + 'hcAvailable' => "英雄模式可用 (%d)", + 'numPlayers' => "玩家人数", + 'noMap' => "这个区域没有可用地图。", + 'instanceTypes' => ["区域", "运送", "地下城", "团队副本", "战场", "地下城", "竞技场", "团队副本", "团队副本"], + 'territories' => ["联盟", "部落", "争夺中", "安全区域", "PvP", "世界PvP"], + 'cat' => array( + "东部王国", "卡利姆多", "地下城", "团队副本", "未使用", null, + "战场", null, "外域", "竞技场", "诺森德" + ) + ), + 'quest' => array( + 'notFound' => "这个任务不存在。", + '_transfer' => '这个任务将被转换到%s,如果你转移到%s。', + 'questLevel' => "等级%s", + 'requirements' => "要求", + 'reqMoney' => "需要金钱", + 'money' => "金钱", + 'additionalReq' => "获得这个任务的额外要求", + 'reqRepWith' => '你%s的声望需要%s %s', + 'reqRepMin' => "至少", + 'reqRepMax' => "低于", + 'progress' => "进行", + 'provided' => "提供的", + 'providedItem' => "提供的物品", + 'completion' => "完成", + 'description' => "描述", + 'playerSlain' => "玩家被杀", + 'profession' => "专业", + 'timer' => "Timer", + 'loremaster' => "博学者", + 'suggestedPl' => "建议玩家数", + 'keepsPvpFlag' => "保持你的PvP标记", + 'daily' => "每日", + 'weekly' => "每周", + 'monthly' => "每月", + 'sharable' => "可共享的", + 'notSharable' => "不可共享的", + 'repeatable' => "可重复的", + 'reqQ' => "要求", + 'reqQDesc' => "要完成这个任务,你必须完成所有这些任务", + 'reqOneQ' => "需要其中之一", + 'reqOneQDesc' => "要完成此任务,必须完成下列任务之一", + 'opensQ' => "打开任务", + 'opensQDesc' => "完成此任务需要接取到这个任务", + 'closesQ' => "关闭任务", + 'closesQDesc' => "完成此任务后,您将无法接取到这些任务", + 'enablesQ' => "可用", + 'enablesQDesc' => "当这个任务是活跃的,这些任务也可用", + 'enabledByQ' => "启用自", + 'enabledByQDesc'=> "只有当这些任务中的一个活跃时,这个任务才可用", + 'gainsDesc' => "完成这个任务后,你将获得", + 'theTitle' => '头衔 "%s"', + 'mailDelivery' => "你会收到这封信%s%s", + 'mailBy' => '由%s所写', + 'mailIn' => " after %s", + 'unavailable' => "这项任务已被标记为过时,无法获得或完成。", + 'experience' => "经验", + 'expConvert' => "(或%s如果在等级%d完成)", + 'expConvert2' => "%s如果在等级%d完成", + 'chooseItems' => "你可以从这些奖励品中选择一件", + 'receiveItems' => "你将得到", + 'receiveAlso' => "你还将得到", + 'spellCast' => "该法术将被施放在你身上", + 'spellLearn' => "你将学会", + 'bonusTalents' => "%d天赋|4点数:点数;", + 'spellDisplayed'=> ' (%s is displayed)', + 'attachment' => "附件", + 'questInfo' => array( + 0 => "普通", 1 => "组队", 21 => "职业", 41 => "PvP", 62 => "团队", 81 => "地下城", 82 => "世界事件", + 83 => "传说", 84 => "护送", 85 => "英雄", 88 => "团队(10)", 89 => "团队(25)" + ), + 'cat' => array( + 0 => array( "东部王国", + 1 => "丹莫罗", 3 => "荒芜之地", 4 => "诅咒之地", 8 => "悲伤沼泽", 9 => "北郡山谷", + 10 => "暮色森林", 11 => "湿地", 12 => "艾尔文森林", 25 => "黑石山", 28 => "西瘟疫之地", + 33 => "荆棘谷", 36 => "奥特兰克山脉", 38 => "洛克莫丹", 40 => "西部荒野", 41 => "逆风小径", + 44 => "赤脊山", 45 => "阿拉希高地", 46 => "燃烧平原", 47 => "辛特兰", 51 => "灼热峡谷", + 85 => "提瑞斯法林地", 130 => "银松森林", 132 => "寒脊山谷", 139 => "东瘟疫之地", 154 => "丧钟镇", + 267 => "希尔斯布莱德丘陵", 1497 => "幽暗城", 1519 => "暴风城", 1537 => "铁炉堡", 2257 => "矿道地铁", + 3430 => "永歌森林", 3431 => "逐日岛", 3433 => "幽魂之地", 3487 => "银月城", 4080 => "奎尔丹纳斯岛", + 4298 => "血色领地" + ), + 1 => array( "卡利姆多", + 14 => "杜隆塔尔", 15 => "尘泥沼泽", 16 => "艾萨拉", 17 => "贫瘠之地", 141 => "泰达希尔", + 148 => "黑海岸", 188 => "幽影谷", 215 => "莫高雷", 220 => "红云台地", 331 => "灰谷", + 357 => "菲拉斯", 361 => "费伍德森林", 363 => "试炼谷", 400 => "千针石林", 405 => "凄凉之地", + 406 => "石爪山脉", 440 => "塔纳利斯", 490 => "安戈洛环形山", 493 => "月光林地", 618 => "冬泉谷", + 1377 => "希利苏斯", 1637 => "奥格瑞玛", 1638 => "雷霆崖", 1657 => "达纳苏斯", 1769 => "木喉要塞", + 3524 => "秘蓝岛", 3525 => "秘血岛", 3526 => "埃门谷", 3557 => "埃索达" + ), + 2 => array( "地下城", + 206 => "乌特加德城堡", 209 => "影牙城堡", 491 => "剃刀沼泽", 717 => "监狱", 718 => "哀嚎洞穴", + 719 => "黑暗深渊", 721 => "诺莫瑞根", 722 => "剃刀高地", 796 => "血色修道院", 1176 => "祖尔法拉克", + 1196 => "乌特加德之巅", 1337 => "奥达曼", 1417 => "沉没的神庙", 1581 => "死亡矿井", 1583 => "黑石塔", + 1584 => "黑石深渊", 1941 => "时光之穴", 2017 => "斯坦索姆", 2057 => "通灵学院", 2100 => "玛拉顿", + 2366 => "黑色沼泽", 2367 => "旧希尔斯布莱德丘陵", 2437 => "怒焰裂谷", 2557 => "厄运之槌", 3535 => "地狱火堡垒", + 3562 => "地狱火城墙", 3688 => "奥金顿", 3713 => "鲜血熔炉", 3714 => "破碎大厅", 3715 => "蒸汽地窟", + 3716 => "幽暗沼泽", 3717 => "奴隶围栏", 3789 => "暗影迷宫", 3790 => "奥金尼地穴", 3791 => "塞泰克大厅", + 3792 => "法力陵墓", 3842 => "风暴要塞", 3847 => "生态船", 3848 => "禁魔监狱", 3849 => "能源舰", + 3905 => "盘牙水库", 4100 => "净化斯坦索姆", 4131 => "魔导师平台", 4196 => "达克萨隆要塞", 4228 => "魔环", + 4264 => "岩石大厅", 4265 => "魔枢", 4272 => "闪电大厅", 4277 => "艾卓-尼鲁布", 4415 => "紫罗兰监狱", + 4416 => "古达克", 4494 => "安卡赫特:古代王国", 4522 => "冰冠堡垒", 4723 => "冠军的试炼", 4809 => "灵魂洪炉", + 4813 => "萨隆矿坑", 4820 => "映像大厅" + ), + 3 => array( "团队副本", + 1977 => "祖尔格拉布", 2159 => "奥妮克希亚的巢穴", 2677 => "黑翼之巢", 2717 => "熔火之心", 3428 => "安其拉", + 3429 => "安其拉废墟", 3456 => "纳克萨玛斯", 3457 => "卡拉赞", 3606 => "海加尔峰", 3607 => "毒蛇神殿", + 3805 => "祖阿曼", 3836 => "玛瑟里顿的巢穴", 3845 => "风暴要塞", 3923 => "格鲁尔的巢穴", 3959 => "黑暗神殿", + 4075 => "太阳之井高地", 4273 => "奥杜尔", 4493 => "黑曜石圣殿", 4500 => "永恒之眼", 4603 => "阿尔卡冯的宝库", + 4722 => "十字军的试炼", 4812 => "冰冠堡垒", 4987 => "红玉圣殿" + ), + 4 => array( "职业", + -61 => "术士", -81 => "战士", -82 => "萨满祭司", -141 => "圣骑士", -161 => "法师", + -162 => "潜行者", -261 => "猎人", -262 => "牧师", -263 => "德鲁伊", -372 => "死亡骑士" + ), + 5 => array( "专业", + -24 => "草药学", -101 => "钓鱼", -121 => "锻造", -181 => "炼金术", -182 => "制皮", + -201 => "工程学", -264 => "裁缝", -304 => "烹饪", -324 => "急救", -371 => "铭文", + -373 => "珠宝加工" + ), + 6 => array( "战场", + 2597 => "奥特兰克山谷", 3277 => "战歌峡谷", 3358 => "阿拉希盆地", 3820 => "风暴之眼", 4384 => "远古海滩", + 4710 => "征服之岛", -25 => "战场" + ), + 7 => array( "杂项", + -1 => "史诗", -241 => "锦标赛", -344 => "传说", -365 => "安其拉战争", -367 => "声望", + -368 => "天灾入侵", -1010 => "地下城查找器" + ), + 8 => array( "外域", + 3483 => "地狱火半岛", 3518 => "纳格兰", 3519 => "泰罗卡森林", 3520 => "影月谷", 3521 => "赞加沼泽", + 3522 => "刀锋山", 3523 => "虚空风暴", 3679 => "斯克提斯", 3703 => "沙塔斯城" + ), + 9 => array( "世界事件", + -22 => "季节性", -41 => "悼念日", -364 => "暗月马戏团", -366 => "新年", -369 => "仲夏", + -370 => "美酒节", -374 => "复活节", -375 => "感恩节", -376 => "情人节", -1001 => "冬幕节", + -1002 => "儿童周", -1003 => "万圣节", -1005 => "收获节" + ), + 10 => array( "诺森德", + 65 => "龙骨荒野", 66 => "祖达克", 67 => "风暴峭壁", 210 => "冰冠冰川", 394 => "灰熊丘陵", + 495 => "嚎风峡湾", 3537 => "北风苔原", 3711 => "索拉查盆地", 4024 => "考达拉", 4197 => "冬拥湖", + 4395 => "达拉然", 4742 => "洛斯加尔登陆点" + ), + -2 => "大陆" + ) + ), + 'icon' => array( + 'notFound' => "这个图标不存在。" + ), + 'title' => array( + 'notFound' => "这个头衔不存在。", + '_transfer' => '这个头衔将被转换到%s,如果你转移到%s。', + 'cat' => array( + "一般", "PvP", "声望", "地下城和团队", "任务", "专业", "世界事件" + ) + ), + 'skill' => array( + 'notFound' => "这个技能不存在。", + 'cat' => array( + -6 => "伙伴", -5 => "坐骑", -4 => "种族特性", 5 => "属性", 6 => "武器技能", 7 => "职业技能", 8 => "护甲精通", + 9 => "辅助技能", 10 => "语言", 11 => "专业" + ) + ), + 'currency' => array( + 'notFound' => "这个货币不存在。", + 'cap' => "总共上限", + 'cat' => array( + 1 => '其它', 2 => 'PvP', 3 => '未使用', 4 => '经典旧世', 21 => '巫妖王之怒',22 => '地下城与团队', 23 => '燃烧的远征', 41 => '测试' + ) + ), + 'sound' => array( + 'notFound' => "这个音频不存在。", + 'foundIn' => "这个声音可以找到在", + 'goToPlaylist' => "转到我的播放列表", + 'music' => "音乐", + 'intro' => "介绍音乐", + 'ambience' => "背景音乐", + 'cat' => array( + null, "法术", "用户界面", "脚步", "武器碰撞", null, "武器格挡", null, null, "拿起/放下", + "NPC攻击", null, "错误", "自然", "对象", null, "死亡", "NPC问候", null, "护甲", + "Footstep Splash", "水(角色)", "水", "交易技能", "环境气氛", "装饰物", "法术失败", "NPC循环", "区域音乐", "表情", + "叙事音乐", "叙事", 50 => "区域气氛", 52 => "发射器", 53 => "载具", 1000 => "我的播放列表" + ) + ), + 'pet' => array( + 'notFound' => "这个宠物家族不存在。", + 'exotic' => "异域的", + 'cat' => ["狂野", "坚韧", "狡诈"], + 'food' => ["肉", "鱼", "奶酪", "面包", "蘑菇", "水果", "生肉", "生鱼"] + ), + 'faction' => array( + 'notFound' => "这个阵营不存在。", + 'spillover' => "声望额外效果", + 'spilloverDesc' => "获得这个阵营的声望也将按比例获得下列阵营的声望。", + 'maxStanding' => "最大关系", + 'quartermaster' => "军需官", + 'customRewRate' => "自定义奖励率", + '_transfer' => '这个阵营的声望将被转换到%s,如果你转移到%s。', + 'cat' => array( + 1118 => ["经典旧世", 469 => "联盟", 169 => "热砂港", 67 => "部落", 891 => "联盟部队", 892 => "部落军队"], + 980 => ["燃烧的远征", 936 => "沙塔斯城"], + 1097 => ["巫妖王之怒", 1052 => "部落先遣军", 1117 => "索拉查盆地", 1037 => "联盟先遣军"], + 0 => "其他" + ) + ), + 'itemset' => array( + 'notFound' => "这个物品套装不存在。", + '_desc' => "%s%s。它包含%s件。", + '_descTagless' => "%s是物品套装包含%s件。", + '_setBonuses' => "套装奖励", + '_conveyBonus' => "穿更多这个套装的部分将会提供给你角色奖励。", + '_pieces' => "件", + '_unavailable' => "这个物品套装对玩家不可用。", + '_tag' => "标签", + 'summary' => "摘要", + 'notes' => array( + null, "地下城套装1", "地下城套装2", "T1副本套装", + "T2副本套装", "T3副本套装", "60级PVP稀有套装", "60级PVP稀有套装(旧)", + "60级PVP史诗套装", "安其拉废墟套装", "安其拉神庙团本套装", "祖尔格拉布套装", + "T4副本套装", "T5副本套装", "地下城套装3", "阿拉希盆地套装", + "70级PVP稀有套装", "竞技场第1季套装", "T6副本套装", "竞技场第2季套装", + "竞技场第3季套装", "70级PVP稀有套装 2", "竞技场第4季套装", "T7副本套装", + "竞技场第5季套装", "T8副本套装", "竞技场第6季套装", "T9副本套装", + "竞技场第7季套装", "T10副本套装", "竞技场第8季套装" + ), + 'types' => array( + null, "布甲", "皮甲", "锁甲", "板甲", "匕首", "戒指", + "拳套", "单手斧", "单手杖", "单手剑", "饰品", "项链" + ) + ), + 'spell' => array( + 'notFound' => "这个法术不存在。", + '_spellDetails' => "法术细节", + '_cost' => "花费", + '_range' => "范围", + '_castTime' => "施法时间", + '_cooldown' => "冷却时间", + '_distUnit' => "码", + '_forms' => "Forms", + '_aura' => "光环", + '_effect' => "效果", + '_none' => "无", + '_gcd' => "GCD", + '_globCD' => "公共冷却时间", + '_gcdCategory' => "GCD类别", + '_value' => "值", + '_radius' => "半径", + '_interval' => "Interval", //Interval + '_inSlot' => "in slot", + '_collapseAll' => "折叠全部", + '_expandAll' => "展开全部", + '_transfer' => '这个法术将被转换到%s,如果你转移到%s。', + 'discovered' => "Learned via discovery", + 'ppm' => "%s每分钟触发几率", + 'procChance' => "触发几率", + 'starter' => "Starter spell", + 'trainingCost' => "训练成本", + 'remaining' => "持续%s", + 'untilCanceled' => "直到主动取消", + 'castIn' => "%s秒施法时间", + 'instantPhys' => "瞬发", + 'instantMagic' => "瞬发", + 'channeled' => "需引导", + 'range' => "%s码范围", + 'meleeRange' => "近战范围", + 'unlimRange' => "无限范围", + 'reagents' => "材料", + 'tools' => "工具", + 'home' => "<旅店>", + 'pctCostOf' => "的基础%s", + 'costPerSec' => ",加%s每秒", + 'costPerLevel' => ",加%s每级", + 'stackGroup' => "Stack Group", + 'linkedWith' => "Linked with", + '_scaling' => "缩放比例", + 'scaling' => array( + 'directSP' => "+%.2f%% of spell power to direct component", 'directAP' => "+%.2f%% of attack power to direct component", + 'dotSP' => "+%.2f%% of spell power per tick", 'dotAP' => "+%.2f%% of attack power per tick" + ), + 'powerRunes' => ["冰霜", "邪恶", "鲜血", "死亡"], + 'powerTypes' => array( + // conventional + -2 => "生命值", 0 => "法力值", 1 => "怒气", 2 => "集中", 3 => "能量", 4 => "快乐", + 5 => "符文", 6 => "符文能量", + // powerDisplay + -1 => "Ammo", -41 => "蓝铁", -61 => "蒸汽动力", -101 => "Heat", -121 => "Ooze", -141 => "Blood Power", + -142 => "Wrath" + ), + 'relItems' => array( + 'base' => "Show %s related to %s", + 'link' => "或", + 'recipes' => '制作物品', + 'crafted' => '手工制作物品' + ), + 'cat' => array( + 7 => "技能", + -13 => "雕文", + -11 => ["精通", 8 => "护甲", 6 => "武器", 10 => "语言"], + -4 => "种族特性", + -2 => "天赋", + -6 => "伙伴", + -5 => "坐骑", + -3 => array( + "宠物能力", 782 => "食尸鬼", 270 => "通用", 653 => "蝙蝠", 210 => "熊", 655 => "猛禽", 211 => "野猪", + 213 => "食腐鸟", 209 => "豹", 780 => "奇美拉", 787 => "熔岩犬", 214 => "螃蟹", 212 => "鳄鱼", 781 => "魔暴龙", + 763 => "龙鹰", 215 => "猩猩", 654 => "土狼", 775 => "蛾子", 764 => "虚空鳐", 217 => "迅猛龙", 767 => "掠食者", + 786 => "犀牛", 236 => "蝎子", 768 => "蛇", 783 => "异种虫", 203 => "蜘蛛", 788 => "灵魂兽", 765 => "孢子蝠", + 218 => "陆行鸟", 251 => "海龟", 766 => "迁跃捕猎者", 785 => "巨蜂", 656 => "风蛇", 208 => "狼", 784 => "蠕虫", + 761 => "恶魔卫士", 189 => "地狱猎犬", 188 => "小鬼", 205 => "魅魔", 204 => "虚空行者" + ), + -7 => ["宠物天赋", 410 => "狡诈", 411 => "狂野", 409 => "坚韧"], + 11 => array( + "专业", + 171 => "炼金术", + 164 => ["锻造", 9788 => "防具锻造", 9787 => "武器锻造", 17041 => "大师级铸斧", 17040 => "大师级铸锤", 17039 => "大师级铸剑"], + 333 => "附魔", + 202 => ["工程学", 20219 => "侏儒工程学", 20222 => "地精工程师"], + 182 => "草药学", + 773 => "铭文", + 755 => "珠宝加工", + 165 => ["制皮", 10656 => "龙鳞制皮", 10658 => "元素制皮", 10660 => "部族制皮"], + 186 => "采矿", + 393 => "剥皮", + 197 => ["裁缝", 26798 => "月布裁缝", 26801 => "暗纹裁缝", 26797 => "魔焰裁缝"], + ), + 9 => ["辅助专业", 185 => "烹饪", 129 => "急救", 356 => "钓鱼", 762 => "骑术"], + -8 => "NPC能力", + -9 => "GM能力", + 0 => "未分类" + ), + 'armorSubClass' => array( + "杂项", "布甲", "皮甲", "锁甲", "板甲", + null, "盾牌", "圣契", "神像", "图腾", + "魔印" + ), + 'weaponSubClass' => array( // ordered by content firts, then alphabeticaly + 15 => "匕首", 13 => "拳套", 0 => "单手斧", 4 => "单手杖", 7 => "单手剑", + 6 => "长柄武器", 10 => "法杖", 1 => "双手斧", 5 => "双手锤", 8 => "双手剑", + 2 => "弓", 18 => "弩", 3 => "枪", 16 => "投掷", 19 => "魔杖", + 20 => "鱼竿", 14 => "杂项" + ), + 'subClassMasks' => array( + 0x02A5F3 => "近战武器", 0x0060 => "盾牌", 0x04000C => "远程武器", 0xA091 => "单手近战武器" + ), + 'traitShort' => array( + 'atkpwr' => "AP", 'rgdatkpwr' => "RAP", 'splpwr' => "SP", 'arcsplpwr' => "ArcP", 'firsplpwr' => "FireP", + 'frosplpwr' => "FroP", 'holsplpwr' => "HolP", 'natsplpwr' => "NatP", 'shasplpwr' => "ShaP", 'splheal' => "Heal", + 'str' => "Str", 'agi' => "Agi", 'sta' => "Sta", 'int' => "Int", 'spi' => "Spi" + ), + 'spellModOp' => array( + "伤害", "持续时间", "Thread", "效果1", "可使用次数", + "范围", "半径", "Critical Hit Chance", "所有效果", "Casting Time loss", + "Casting Time", "冷却时间", "效果2", "无视护甲", "花费", + "Critical Damage Bonus", "Chance to Fail", "Jump Targets", "Proc Chance", "Intervall", + "Multiplier (Damage)", "公共冷却时间", "Damage over Time", "效果3", "Multiplier (Bonus)", + null, "Procs per Minute", "Multiplier (Value)", "Chance to Resist Dispel", "Critical Damage Bonus2", + "Refund Cost on Fail" + ), + 'combatRating' => array( + "Weapon Skill", "Defense Skill", "Dodge", "Parry", "Block", + "武器技能", "防御", "躲闪", "招架", "格挡", + "Critical Spell Hit Chance", "Taken Melee Hit Chance", "Taken Ranged Hit Chance", "Taken Spell Hit Chance", "Taken Critical Melee Hit Chance", + "Taken Critical Ranged Hit Chance", "Taken Critical Spell Hit Chance", "Melee Haste", "Ranged Haste", "Spell Haste", + "Mainhand Weapon Skill", "Offhand Weapon Skill", "Ranged Weapon Skill", "Expertise", "Armor Penetration" + ), + 'lockType' => array( + null, "锁上的物品", "药草", "矿点", "陷阱", + "未锁上的物品", "宝物", "Calcified Elven Gems", "未锁上的物品", "陷阱", + "未锁上的物品", "未锁上的物品", "未锁上的物品", "未锁上的物品", "未锁上的物品", + "加兹瑞迪安", "锁上的物品", "未锁上的物品", "未锁上的物品", "钓鱼", + "书典", "未锁上的物品" + ), + 'stealthType' => ["General", "Trap"], + 'invisibilityType' => ["General", 3 => "Trap", 6 => "Drunk"], + 'unkEffect' => '未知效果', + 'effects' => array( +/*0-5 */ '无', '杀死', '类型伤害', 'Dummy', '传送门', '传送单位', +/*6+ */ '应用光环', '环境伤害', 'Power Drain', 'Health Leech', 'Heal', 'Bind', +/*12+ */ 'Portal', 'Ritual Base', 'Ritual Specialize', 'Ritual Activate Portal', '任务完成', 'Weapon Damage NoSchool', +/*18+ */ '复活', 'Add Extra Attacks', '躲闪', '闪避', '招架', '格挡', +/*24+ */ '创建物品', '可以使用武器', '防御', 'Persistent Area Aura', '召唤', 'Leap', +/*30+ */ 'Energize', '武器伤害百分比', 'Trigger Missile', 'Open Lock', 'Summon Change Item', 'Apply Area Aura Party', +/*36+ */ '学习法术', '法术防御', '驱散', 'Language', 'Dual Wield', 'Jump', +/*42+ */ 'Jump Dest', 'Teleport Units Face Caster','Skill Step', 'Add Honor', 'Spawn', 'Trade Skill', +/*48+ */ 'Stealth', 'Detect', 'Trans Door', 'Force Critical Hit', 'Guarantee Hit', 'Enchant Item Permanent', +/*54+ */ 'Enchant Item Temporary', 'Tame Creature', 'Summon Pet', 'Learn Pet Spell', 'Weapon Damage Flat', 'Create Random Item', +/*60+ */ 'Proficiency', 'Send Event', 'Power Burn', 'Threat', 'Trigger Spell', 'Apply Area Aura Raid', +/*66+ */ 'Create Mana Gem', 'Heal Max Health', 'Interrupt Cast', 'Distract', 'Pull', '偷窃', +/*72+ */ 'Add Farsight', 'Untrain Talents', 'Apply Glyph', 'Heal Mechanical', 'Summon Object Wild', 'Script Effect', +/*78+ */ 'Attack', 'Sanctuary', 'Add Combo Points', 'Create House', 'Bind Sight', 'Duel', +/*84+ */ 'Stuck', 'Summon Player', 'Activate Object', 'WMO Damage', 'WMO Repair', 'WMO Change', +/*90+ */ 'Kill Credit', 'Threat All', 'Enchant Held Item', 'Force Deselect', 'Self Resurrect', 'Skinning', +/*96+ */ '可使用次数', 'Cast Button', 'Knock Back', 'Disenchant', 'Inebriate', 'Feed Pet', +/*102+ */ 'Dismiss Pet', 'Reputation', 'Summon Object Slot1', 'Summon Object Slot2', 'Summon Object Slot3', 'Summon Object Slot4', +/*108+ */ 'Dispel Mechanic', 'Summon Dead Pet', 'Destroy All Totems', 'Durability Damage', 'Summon Demon', 'Resurrect Flat', +/*114+ */ 'Attack Me', 'Durability Damage Percent','Skin Player Corpse', 'Spirit Heal', 'Skill', 'Apply Area Aura Pet', +/*120+ */ 'Teleport Graveyard', 'Weapon Damage Normalized', null, 'Send Taxi', 'Pull Towards', 'Modify Threat Percent', +/*126+ */ 'Steal Beneficial Buff', 'Prospecting', 'Apply Area Aura Friend', 'Apply Area Aura Enemy', 'Redirect Threat', 'Play Sound', +/*132+ */ 'Play Music', 'Unlearn Specialization', 'Kill Credit2', 'Call Pet', 'Heal Percent', 'Energize Percent', +/*138+ */ 'Leap Back', 'Clear Quest', 'Force Cast', 'Force Cast With Value', 'Trigger Spell With Value', 'Apply Area Aura Owner', +/*144+ */ 'Knock Back Dest', 'Pull Towards Dest', 'Activate Rune', 'Quest Fail', null, 'Charge Dest', +/*150+ */ 'Quest Start', 'Trigger Spell 2', null, 'Create Tamed Pet', 'Discover Taxi', 'Dual Wield 2H Weapons', +/*156+ */ 'Enchant Item Prismatic', 'Create Item 2', 'Milling', 'Allow Rename Pet', null, 'Talent Spec Count', +/*162-164*/ 'Talent Spec Select', null, 'Remove Aura' + ), + 'unkAura' => '未知光环', + 'auras' => array( +/*0- */ '无', 'Bind Sight', 'Mod Possess', 'Periodic Damage', 'Dummy', +/*5+ */ 'Mod Confuse', 'Mod Charm', 'Mod Fear', 'Periodic Heal', 'Mod Attack Speed', + 'Mod Threat', 'Taunt', 'Stun', 'Mod Damage Done Flat', 'Mod Damage Taken Flat', + 'Damage Shield', 'Mod Stealth', 'Mod Stealth Detection', 'Mod Invisibility', 'Mod Invisibility Detection', + 'Mod Health Percent', 'Mod Power Percent', 'Mod Resistance Flat', 'Periodic Trigger Spell', 'Periodic Energize', +/*25+ */ 'Pacify', 'Root', 'Silence', 'Reflect Spells', 'Mod Stat Flat', + 'Mod Skill', 'Mod Increase Speed', 'Mod Increase Mounted Speed', 'Mod Decrease Speed', 'Mod Increase Health', + 'Mod Increase Power', 'Shapeshift', 'Spell Effect Immunity', 'Spell Aura Immunity', 'School Immunity', + 'Damage Immunity', 'Dispel Immunity', 'Proc Trigger Spell', 'Proc Trigger Damage', 'Track Creatures', + 'Track Resources', 'Mod Parry Skill', 'Mod Parry Percent', null, 'Mod Dodge Percent', +/*50+ */ 'Mod Critical Healing Amount', 'Mod Block Percent', 'Mod Physical Crit Percent', 'Periodic Health Leech', 'Mod Hit Chance', + 'Mod Spell Hit Chance', 'Transform', 'Mod Spell Crit Chance', 'Mod Increase Swim Speed', 'Mod Damage Done Versus Creature', + 'Pacify Silence', 'Mod Scale', 'Periodic Health Funnel', 'Periodic Mana Funnel', 'Periodic Mana Leech', + 'Mod Casting Speed (not stacking)', 'Feign Death', 'Disarm', 'Stalked', 'School Absorb', + 'Extra Attacks', 'Mod Spell Crit Chance School', 'Mod Power Cost School Percent', 'Mod Power Cost School Flat', 'Reflect Spells School', +/*75+ */ 'Language', 'Far Sight', 'Mechanic Immunity', 'Mounted', 'Mod Damage Done Percent', + 'Mod Stat Percent', 'Split Damage Percent', 'Water Breathing', 'Mod Base Resistance Flat', 'Mod Health Regeneration', + 'Mod Power Regeneration', 'Channel Death Item', 'Mod Damage Taken Percent', 'Mod Health Regeneration Percent', 'Periodic Damage Percent', + 'Mod Resist Chance', 'Mod Detect Range', 'Prevent Fleeing', 'Unattackable', 'Interrupt Regeneration', + 'Ghost', 'Spell Magnet', 'Mana Shield', 'Mod Skill Value', 'Mod Attack Power', +/*100+ */ 'Auras Visible', 'Mod Resistance Percent', 'Mod Melee Attack Power Versus', 'Mod Total Threat', 'Water Walk', + 'Feather Fall', 'Hover', 'Add Flat Modifier', 'Add Percent Modifier', 'Add Target Trigger', + 'Mod Power Regeneration Percent', 'Add Caster Hit Trigger', 'Override Class Scripts', 'Mod Ranged Damage Taken Flat', 'Mod Ranged Damage Taken Percent', + 'Mod Healing', 'Mod Regeneration During Combat', 'Mod Mechanic Resistance', 'Mod Healing Taken Percent', 'Share Pet Tracking', + 'Untrackable', 'Empathy', 'Mod Offhand Damage Percent', 'Mod Target Resistance', 'Mod Ranged Attack Power', +/*125+ */ 'Mod Melee Damage Taken Flat', 'Mod Melee Damage Taken Percent', 'Ranged Attack Power Attacker Bonus', 'Possess Pet', 'Mod Speed Always', + 'Mod Mounted Speed Always', 'Mod Ranged Attack Power Versus', 'Mod Increase Energy Percent', 'Mod Increase Health Percent', 'Mod Mana Regeneration Interrupt', + 'Mod Healing Done Flat', 'Mod Healing Done Percent', 'Mod Total Stat Percentage', 'Mod Melee Haste', 'Force Reaction', + 'Mod Ranged Haste', 'Mod Ranged Ammo Haste', 'Mod Base Resistance Percent', 'Mod Resistance Exclusive', 'Safe Fall', + 'Mod Pet Talent Points', 'Allow Tame Pet Type', 'Mechanic Immunity Mask', 'Retain Combo Points', 'Reduce Pushback', +/*150+ */ 'Mod Shield Blockvalue Percent', 'Track Stealthed', 'Mod Detected Range', 'Split Damage Flat', 'Mod Stealth Level', + 'Mod Water Breathing', 'Mod Reputation Gain', 'Pet Damage Multi', 'Mod Shield Blockvalue', 'No PvP Credit', + 'Mod AoE Avoidance', 'Mod Health Regeneration In Combat', 'Power Burn Mana', 'Mod Crit Damage Bonus', null, + 'Melee Attack Power Attacker Bonus', 'Mod Attack Power Percent', 'Mod Ranged Attack Power Percent', 'Mod Damage Done Versus', 'Mod Crit Percent Versus', + 'Change Model', 'Mod Speed (not stacking)', 'Mod Mounted Speed (not stacking)', null, 'Mod Spell Damage Of Stat Percent', +/*175+ */ 'Mod Spell Healing Of Stat Percent', 'Spirit Of Redemption', 'AoE Charm', 'Mod Debuff Resistance', 'Mod Attacker Spell Crit Chance', + 'Mod Spell Damage Versus', null, 'Mod Resistance Of Stat Percent', 'Mod Critical Threat', 'Mod Attacker Melee Hit Chance', + 'Mod Attacker Ranged Hit Chance', 'Mod Attacker Spell Hit Chance', 'Mod Attacker Melee Crit Chance', 'Mod Attacker Ranged Crit Chance', 'Mod Rating', + 'Mod Faction Reputation Gain', 'Use Normal Movement Speed', 'Mod Melee Ranged Haste', 'Mod Haste', 'Mod Target Absorb School', + 'Mod Target Ability Absorb School', 'Mod Cooldown', 'Mod Attacker Spell And Weapon Crit Chance', null, 'Mod Increases Spell Percent to Hit', +/*200+ */ 'Mod XP Percent', 'Fly', 'Ignore Combat Result', 'Mod Attacker Melee Crit Damage', 'Mod Attacker Ranged Crit Damage', + 'Mod School Crit Damage Taken', 'Mod Increase Vehicle Flight Speed', 'Mod Increase Mounted Flight Speed', 'Mod Increase Flight Speed', 'Mod Mounted Flight Speed Always', + 'Mod Vehicle Speed Always', 'Mod Flight Speed (not stacking)', 'Mod Ranged Attack Power Of Stat Percent', 'Mod Rage from Damage Dealt', 'Tamed Pet Passive', + 'Arena Preparation', 'Haste Spells', 'Killing Spree', 'Haste Ranged', 'Mod Mana Regeneration from Stat', + 'Mod Rating from Stat', 'Ignore Threat', null, 'Raid Proc from Charge', null, +/*225+ */ 'Raid Proc from Charge With Value', 'Periodic Dummy', 'Periodic Trigger Spell With Value', 'Detect Stealth', 'Mod AoE Damage Avoidance', + 'Mod Increase Health', 'Proc Trigger Spell With Value', 'Mod Mechanic Duration', 'Mod Display Model', 'Mod Mechanic Duration (not stacking)', + 'Mod Dispel Resist', 'Control Vehicle', 'Mod Spell Damage Of Attack Power', 'Mod Spell Healing Of Attack Power', 'Mod Scale 2', + 'Mod Expertise', 'Force Move Forward', 'Mod Spell Damage from Healing', 'Mod Faction', 'Comprehend Language', + 'Mod Aura Duration By Dispel', 'Mod Aura Duration By Dispel (not stacking)', 'Clone Caster', 'Mod Combat Result Chance', 'Convert Rune', +/*250+ */ 'Mod Increase Health 2', 'Mod Enemy Dodge', 'Mod Speed Slow All', 'Mod Block Crit Chance', 'Mod Disarm Offhand', + 'Mod Mechanic Damage Taken Percent', 'No Reagent Use', 'Mod Target Resist By Spell Class', 'Mod Spell Visual', 'Mod HoT Percent', + 'Screen Effect', 'Phase', 'Ability Ignore Aurastate', 'Allow Only Ability', null, + null, null, 'Mod Immune Aura Apply School', 'Mod Attack Power Of Stat Percent', 'Mod Ignore Target Resist', + 'Mod Ability Ignore Target Resist', 'Mod Damage Taken Percent From Caster', 'Ignore Melee Reset', 'X Ray', 'Ability Consume No Ammo', +/*275+ */ 'Mod Ignore Shapeshift', 'Mod Mechanic Damage Done Percent', 'Mod Max Affected Targets', 'Mod Disarm Ranged', 'Initialize Images', + 'Mod Armor Penetration Percent', 'Mod Honor Gain Percent', 'Mod Base Health Percent', 'Mod Healing Received', 'Linked', + 'Mod Attack Power Of Armor', 'Ability Periodic Crit', 'Deflect Spells', 'Ignore Hit Direction', null, + 'Mod Crit Percent', 'Mod XP Quest Percent', 'Open Stable', 'Override Spells', 'Prevent Power Regeneration', + null, 'Set Vehicle Id', 'Block Spell Family', 'Strangulate', null, +/*300+ */ 'Share Damage Percent', 'School Heal Absorb', null, 'Mod Damage Done Versus Aurastate', 'Mod Fake Inebriate', + 'Mod Minimum Speed', null, 'Heal Absorb Test', 'Hunter Trap', null, + 'Mod Creature AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', +/* -316*/ 'Underwater Walking', 'Periodic Haste' + ) + ), + 'item' => array( + 'notFound' => "这个物品不存在。", + 'armor' => "%d点护甲", + 'block' => "%d格挡", + 'charges' => "%d次", + 'locked' => "已锁", + 'ratingString' => "%s @ L%s", + 'heroic' => "英雄级别", + 'startQuest' => "该物品将触发一个任务", + 'bagSlotString' => "%d格%s", + 'fap' => "在猎豹、熊、巨熊和枭兽形态下的攻击强度", + 'durability' => "耐久度 %d / %d", + 'realTime' => "real time", + 'conjured' => "魔法制造的物品", + 'sellPrice' => "卖价", + 'itemLevel' => "物品等级%d", + 'randEnchant' => "<随机附魔>", + 'readClick' => "<右键点击阅读>", + 'openClick' => "<右键点击打开>", + 'setBonus' => "(%d) 套装:%s", + 'setName' => "%s(%d/%d)", + 'partyLoot' => "Party loot", + 'smartLoot' => "Smart loot", + 'indestructible'=> "不能被摧毁", + 'deprecated' => "过时的", + 'useInShape' => "可在变形形态下使用", //shapeshifted=变形 + 'useInArena' => "可在竞技场状态下使用", + 'refundable' => "可退还的", + 'noNeedRoll' => "Cannot roll Need", + 'atKeyring' => "可以放在钥匙链", + 'worth' => "Worth", + 'consumable' => "消耗品", + 'nonConsumable' => "非消耗品", + 'accountWide' => "Account-wide", + 'millable' => "可研磨", + 'noEquipCD' => "没有装备的冷却时间", + 'prospectable' => "可选矿", + 'disenchantable'=> "可分解", + 'cantDisenchant'=> "无法分解", + 'repairCost' => "修理花费", + 'tool' => "Tool", + 'cost' => "花费", + 'content' => "内容", + '_transfer' => '这个物品将被转换到%s,如果你转移到%s。', + '_unavailable' => "这个物品对玩家不可用。", + '_rndEnchants' => "随机附魔", + '_chance' => "(%s%%几率)", + 'slot' => "Slot", + '_quality' => "质量", + 'usableBy' => "Usable by", + 'buyout' => "一口价", + 'each' => "每个", + 'tabOther' => "其他", + 'reqMinLevel' => "需要等级 %d", + 'reqLevelRange' => "需要等级 %d到%d (%s)", + 'unique' => ["唯一", "唯一(%d)", "唯一:%s(%d)" ], + 'uniqueEquipped'=> ["装备唯一", null, "装备唯一:%s (%d)"], + 'speed' => "速度", + 'dps' => "(每秒伤害%.1f)", + 'damage' => array( + // basic, basic /w school, add basic, add basic /w school + 'single' => ["%d点伤害", "%d点%s伤害", "+ %d伤害", "+%d %s伤害" ], + 'range' => ["%d - %d伤害", "%d - %d 点%s伤害", "+ %d - %d伤害", "+%d - %d 点%s伤害" ], + 'ammo' => ["每秒伤害提高%g", "每秒增加%g点%s系伤害", "每秒伤害+%g", "每秒+%g点%s伤害" ] + ), + 'gems' => "宝石", + 'socketBonus' => "镶孔奖励:%s", + 'socket' => array( + "多彩插槽", "红色插槽", "黄色插槽", "蓝色插槽", -1 => "棱彩插槽" + ), + 'gemColors' => array( + "多彩", "红色", "黄色", "蓝色" + ), + 'gemConditions' => array( + 2 => "少于%d颗%s宝石", + 3 => "%s宝石的数量多于%s宝石", + 5 => "至少%d颗%s宝石" + ), + 'reqRating' => array( + "需要个人竞技场等级和战队竞技场等级达到%d", + "需要3v3或5v5的个人竞技场等级和战队竞技场等级达到%d|n", + "需要5v5的个人竞技场等级和战队竞技场等级达到%d|n" + ), + 'quality' => array( + "粗糙", "普通", "优秀", "精良", + "史诗", "传说", "神器", "传家宝" + ), + 'trigger' => array( + "使用: ", "装备: ", "击中时可能: ", "", "", + "", "" + ), + 'bonding' => array( + "账号绑定", "拾取后绑定", "装备后绑定", + "使用后绑定", "任务物品", "任务物品" + ), + "bagFamily" => array( + "容器", "箭袋", "弹药袋", "灵魂袋", "制皮材料包", + "铭文包", "草药袋", "附魔材料袋", "工程学材料袋", null, /*Key*/ + "宝石袋", "矿石袋" + ), + 'inventoryType' => array( + null, "头部", "颈部", "肩部", "衬衣", + "胸部", "腰部", "腿部", "脚", "手腕", + "手", "手指", "饰品", "单手", "副手", /*Shield*/ + "远程", "背部", "双手", "背包", "战袍", + null, /*Robe*/ "主手", "副手", "副手物品", "弹药", + "投掷", null, /*Ranged2*/ "箭袋", "圣物" + ), + 'armorSubClass' => array( + "其它", "布甲", "皮甲", "锁甲", "板甲", + null, "盾牌", "圣契", "神像", "图腾", + "魔印" + ), + 'weaponSubClass'=> array( + "斧", "斧", "弓", "枪械", "锤", + "锤", "长柄武器", "剑", "剑", null, + "法杖", null, null, "拳套", "其它", + "匕首", "投掷武器", null, "弩", "魔杖", + "鱼竿" + ), + 'projectileSubClass' => array( + null, null, "箭", "子弹", null + ), + 'elixirType' => [null, "战斗", "守护"], + 'cat' => array( // ordered by content first, then alphabeticaly + 2 => "武器", // self::$spell['weaponSubClass'] + 4 => array("护甲", array( + 1 => "布甲", 2 => "皮甲", 3 => "锁甲", 4 => "板甲", 6 => "盾", 7 => "圣契", + 8 => "神像", 9 => "图腾", 10 => "魔印", -6 => "斗篷", -5 => "副手", -8 => "衬衫", + -7 => "战袍", -3 => "项链", -2 => "戒指", -4 => "饰品", 0 => "杂项" + )), + 1 => array("容器", array( + 0 => "背包", 3 => "附魔材料包", 4 => "工程学材料包", 5 => "宝石袋", 2 => "草药包", 8 => "铭文包", + 7 => "制皮材料包", 6 => "矿石袋", 1 => "灵魂袋" + )), + 0 => array("消耗品", array( + -3 => "物品强化(临时)", 6 => "物品强化(永久)", 2 => ["药剂", [1 => "战斗", 2 => "守护"]], + 1 => "药水", 4 => "卷轴", 7 => "绷带", 0 => "消耗品", 3 => "合剂", 5 => "食物和饮料", + 8 => "其他" + )), + 16 => array("雕文", array( + 1 => "战士", 2 => "圣骑士", 3 => "猎人", 4 => "潜行者", 5 => "牧师", 6 => "死亡骑士", + 7 => "萨满", 8 => "法师", 9 => "术士", 11 => "德鲁伊" + )), + 7 => array("贸易品", array( + 14 => "护甲附魔", 5 => "布甲", 3 => "装置", 10 => "元素", 12 => "附魔", 2 => "爆炸物", + 9 => "草药", 4 => "珠宝加工", 6 => "皮甲", 13 => "原料", 8 => "肉类", 7 => "金属和矿石", + 1 => "零件", 15 => "武器附魔", 11 => "其他" + )), + 6 => ["弹药", [ 2 => "箭", 3 => "子弹" ]], + 11 => ["箭袋", [ 2 => "箭袋", 3 => "弹药袋" ]], + 9 => array("配方", array( + 0 => "书籍", 6 => "炼金术", 4 => "锻造", 5 => "烹饪", 8 => "附魔", 3 => "工程学", + 7 => "急救", 9 => "钓鱼", 11 => "铭文", 10 => "珠宝加工", 1 => "制皮", 12 => "采矿", + 2 => "裁缝" + )), + 3 => array("珠宝", array( + 6 => "多彩", 0 => "红色", 1 => "蓝色", 2 => "黄色", 3 => "紫色", 4 => "绿色", + 5 => "橙色", 8 => "棱彩", 7 => "简单" + )), + 15 => array("杂项", array( + -2 => "护甲兑换", 3 => "节日", 0 => "垃圾", 1 => "施法材料", 5 => "坐骑", -7 => "飞行", + 2 => "伙伴", 4 => "其他" + )), + 10 => "货币", + 12 => "任务", + 13 => "钥匙", + ), + 'statType' => array( + "法力值", + "生命值", + null, + "敏捷", + "力量", + "智力", + "精神", + "耐力", + null, null, null, null, + "防御等级提高%d。", + "使你的躲闪等级提高%d。", + "使你的招架等级提高%d。", + "使你的盾牌格挡等级提高%d。", + "近战命中等级提高%d。", + "远程命中等级提高%d。", + "法术命中等级提高%d。", + "近战爆击等级提高%d。", + "远程爆击等级提高%d。", + "法术爆击等级提高%d。", + "近战命中躲闪等级提高%d。", + "远程命中躲闪等级提高%d。", + "法术命中躲闪等级提高%d。", + "近战爆击躲闪等级提高%d。", + "远程爆击躲闪等级提高%d。", + "法术爆击躲闪等级提高%d。", + "近战急速等级提高%d。", + "远程急速等级提高%d。", + "法术急速等级提高%d。", + "命中等级提高%d。", + "爆击等级提高%d。", + "命中躲闪等级提高%d。", + "爆击躲闪等级提高%d。", + "韧性等级提高%d。", + "急速等级提高%d。", + "使你的精准等级提高%d。", + "攻击强度提高%d点。", + "远程攻击强度提高%d点。", + "在猎豹、熊、巨熊和枭兽形态下的攻击强度提高%d点。", + "法术和魔法效果的伤害量提高最多%d点。", + "法术和魔法效果的治疗量提高最多%d点。", + "每5秒回复%d点法力值。", + "使你的护甲穿透等级提高%d。", + "法术强度提高%d点。", + "每5秒恢复%d点生命值。", + "法术穿透提高%d。", + "使你的盾牌格挡值提高%d。", + "Unknown Bonus #%d (%d)", + ) + ) +); + +?> diff --git a/pages/enchantment.php b/pages/enchantment.php index f3e8b502..e437969c 100644 --- a/pages/enchantment.php +++ b/pages/enchantment.php @@ -195,7 +195,7 @@ class EnchantmentPage extends GenericPage { $this->lvTabs[] = ['item', array( 'data' => array_values($socketsList->getListviewData()), - 'name' => '$LANG.tab_usedby + \' \' + \''.Lang::item('socketBonus').'\'', + 'name' => '$LANG.tab_socketbonus', 'id' => 'used-by-socketbonus', )]; diff --git a/setup/db_structure.sql b/setup/db_structure.sql index 22500da3..4025fa67 100644 --- a/setup/db_structure.sql +++ b/setup/db_structure.sql @@ -242,16 +242,19 @@ CREATE TABLE `aowow_achievement` ( `name_loc0` varchar(78) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(79) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(86) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(86) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(78) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(76) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `description_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `reward_loc0` varchar(74) COLLATE utf8mb4_unicode_ci NOT NULL, `reward_loc2` varchar(88) COLLATE utf8mb4_unicode_ci NOT NULL, `reward_loc3` varchar(92) COLLATE utf8mb4_unicode_ci NOT NULL, + `reward_loc4` varchar(92) COLLATE utf8mb4_unicode_ci NOT NULL, `reward_loc6` varchar(83) COLLATE utf8mb4_unicode_ci NOT NULL, `reward_loc8` varchar(95) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -272,6 +275,7 @@ CREATE TABLE `aowow_achievementcategory` ( `name_loc0` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -299,6 +303,7 @@ CREATE TABLE `aowow_achievementcriteria` ( `name_loc0` varchar(92) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(104) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(119) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(118) COLLATE utf8mb4_unicode_ci NOT NULL, `completionFlags` tinyint(3) unsigned NOT NULL, @@ -328,6 +333,7 @@ CREATE TABLE `aowow_announcements` ( `text_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `text_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -367,6 +373,7 @@ CREATE TABLE `aowow_classes` ( `name_loc0` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `powerType` tinyint(4) NOT NULL, @@ -476,11 +483,13 @@ CREATE TABLE `aowow_creature` ( `name_loc0` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0', `name_loc2` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc3` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name_loc4` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc6` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc8` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subname_loc0` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subname_loc2` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subname_loc3` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `subname_loc4` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subname_loc6` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `subname_loc8` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `minLevel` tinyint(3) unsigned NOT NULL DEFAULT 1, @@ -624,11 +633,13 @@ CREATE TABLE `aowow_currencies` ( `name_loc0` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc0` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc2` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc3` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, + `description_loc4` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc6` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc8` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -666,16 +677,19 @@ CREATE TABLE `aowow_emotes` ( `target_loc0` varchar(65) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `target_loc2` varchar(70) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `target_loc3` varchar(95) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `target_loc4` varchar(95) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `target_loc6` varchar(90) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `target_loc8` varchar(70) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `noTarget_loc0` varchar(65) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `noTarget_loc2` varchar(110) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `noTarget_loc3` varchar(85) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `noTarget_loc4` varchar(85) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `noTarget_loc6` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `noTarget_loc8` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `self_loc0` varchar(65) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `self_loc2` varchar(115) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `self_loc3` varchar(85) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `self_loc4` varchar(85) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `self_loc6` varchar(75) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `self_loc8` varchar(70) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) @@ -793,6 +807,7 @@ CREATE TABLE `aowow_factions` ( `name_loc0` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(49) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(47) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -846,11 +861,13 @@ CREATE TABLE `aowow_holidays` ( `name_loc0` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(42) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(49) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(29) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `looping` tinyint(2) NOT NULL, @@ -881,6 +898,7 @@ CREATE TABLE `aowow_home_featuredbox` ( `text_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `text_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -904,6 +922,7 @@ CREATE TABLE `aowow_home_featuredbox_overlay` ( `title_loc0` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `title_loc2` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `title_loc3` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', + `title_loc4` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `title_loc6` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `title_loc8` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', KEY `FK_home_featurebox` (`featureId`), @@ -926,6 +945,7 @@ CREATE TABLE `aowow_home_oneliner` ( `text_loc0` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc2` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc3` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, + `text_loc4` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc6` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc8` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -1089,6 +1109,7 @@ CREATE TABLE `aowow_itemenchantment` ( `name_loc0` varchar(65) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(91) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(84) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(84) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(89) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(96) COLLATE utf8mb4_unicode_ci NOT NULL, `conditionId` tinyint(3) unsigned NOT NULL, @@ -1171,6 +1192,7 @@ CREATE TABLE `aowow_itemlimitcategory` ( `name_loc0` varchar(31) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(34) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(34) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(40) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL, `count` tinyint(3) unsigned NOT NULL, @@ -1191,6 +1213,7 @@ CREATE TABLE `aowow_itemrandomenchant` ( `name_loc0` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `nameINT` char(250) COLLATE utf8mb4_unicode_ci NOT NULL, @@ -1254,6 +1277,7 @@ CREATE TABLE `aowow_items` ( `name_loc0` varchar(127) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `name_loc2` varchar(127) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc3` varchar(127) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name_loc4` varchar(127) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc6` varchar(127) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc8` varchar(127) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `iconId` smallint(5) unsigned NOT NULL DEFAULT 0, @@ -1363,6 +1387,7 @@ CREATE TABLE `aowow_items` ( `description_loc0` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `description_loc2` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc3` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `description_loc4` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc6` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `description_loc8` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `pageTextId` mediumint(8) unsigned NOT NULL DEFAULT 0, @@ -1437,6 +1462,7 @@ CREATE TABLE `aowow_itemset` ( `name_loc0` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `item1` mediumint(11) unsigned NOT NULL, @@ -1468,6 +1494,7 @@ CREATE TABLE `aowow_itemset` ( `bonusText_loc0` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `bonusText_loc2` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `bonusText_loc3` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, + `bonusText_loc4` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `bonusText_loc6` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `bonusText_loc8` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL, `bonusParsed` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'serialized itemMods', @@ -1542,11 +1569,13 @@ CREATE TABLE `aowow_mailtemplate` ( `subject_loc0` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `subject_loc2` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `subject_loc3` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `subject_loc4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `subject_loc6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `subject_loc8` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `text_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `text_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -1569,6 +1598,7 @@ CREATE TABLE `aowow_objects` ( `name_loc0` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc2` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc3` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name_loc4` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc6` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc8` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `faction` smallint(5) unsigned NOT NULL DEFAULT 0, @@ -1612,6 +1642,7 @@ CREATE TABLE `aowow_pet` ( `name_loc0` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `iconId` smallint(5) unsigned NOT NULL DEFAULT 0, @@ -1968,36 +1999,43 @@ CREATE TABLE `aowow_quests` ( `name_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `name_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `name_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectives_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectives_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectives_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `objectives_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectives_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectives_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `details_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `details_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `end_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `end_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `offerReward_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `offerReward_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `offerReward_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `offerReward_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `offerReward_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `offerReward_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `requestItems_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `requestItems_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `requestItems_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `requestItems_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `requestItems_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `requestItems_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `completed_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `completed_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `completed_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `completed_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `completed_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `completed_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `reqNpcOrGo1` mediumint(8) NOT NULL DEFAULT 0, @@ -2031,21 +2069,25 @@ CREATE TABLE `aowow_quests` ( `objectiveText1_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText1_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText1_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `objectiveText1_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText1_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText1_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText2_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText2_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText2_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `objectiveText2_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText2_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText2_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText3_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText3_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText3_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `objectiveText3_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText3_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText3_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText4_loc0` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText4_loc2` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText4_loc3` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `objectiveText4_loc4` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText4_loc6` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, `objectiveText4_loc8` mediumtext COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`), @@ -2091,6 +2133,7 @@ CREATE TABLE `aowow_races` ( `name_loc0` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `expansion` int(1) NOT NULL, @@ -2278,11 +2321,13 @@ CREATE TABLE `aowow_skillline` ( `name_loc0` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `description_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `iconId` smallint(5) unsigned NOT NULL DEFAULT 0, @@ -2392,6 +2437,7 @@ CREATE TABLE `aowow_sourcestrings` ( `source_loc0` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `source_loc2` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `source_loc3` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, + `source_loc4` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `source_loc6` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, `source_loc8` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -2574,21 +2620,25 @@ CREATE TABLE `aowow_spell` ( `name_loc0` varchar(85) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(85) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(85) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(85) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(91) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `rank_loc0` varchar(21) COLLATE utf8mb4_unicode_ci NOT NULL, `rank_loc2` varchar(24) COLLATE utf8mb4_unicode_ci NOT NULL, `rank_loc3` varchar(22) COLLATE utf8mb4_unicode_ci NOT NULL, + `rank_loc4` varchar(22) COLLATE utf8mb4_unicode_ci NOT NULL, `rank_loc6` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, `rank_loc8` varchar(29) COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `description_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `description_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `buff_loc0` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `buff_loc2` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `buff_loc3` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, + `buff_loc4` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `buff_loc6` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `buff_loc8` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL, `maxTargetLevel` tinyint(3) unsigned NOT NULL, @@ -2681,6 +2731,7 @@ CREATE TABLE `aowow_spellfocusobject` ( `name_loc0` varchar(83) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(89) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(95) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(95) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(90) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(91) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -2722,6 +2773,7 @@ CREATE TABLE `aowow_spellrange` ( `name_loc0` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(27) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -2783,6 +2835,7 @@ CREATE TABLE `aowow_taxinodes` ( `name_loc0` varchar(46) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(62) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(55) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(55) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(63) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -2824,11 +2877,13 @@ CREATE TABLE `aowow_titles` ( `male_loc0` varchar(33) COLLATE utf8mb4_unicode_ci NOT NULL, `male_loc2` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL, `male_loc3` varchar(37) COLLATE utf8mb4_unicode_ci NOT NULL, + `male_loc4` varchar(37) COLLATE utf8mb4_unicode_ci NOT NULL, `male_loc6` varchar(34) COLLATE utf8mb4_unicode_ci NOT NULL, `male_loc8` varchar(37) COLLATE utf8mb4_unicode_ci NOT NULL, `female_loc0` varchar(33) COLLATE utf8mb4_unicode_ci NOT NULL, `female_loc2` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL, `female_loc3` varchar(39) COLLATE utf8mb4_unicode_ci NOT NULL, + `female_loc4` varchar(39) COLLATE utf8mb4_unicode_ci NOT NULL, `female_loc6` varchar(35) COLLATE utf8mb4_unicode_ci NOT NULL, `female_loc8` varchar(41) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), @@ -2848,6 +2903,7 @@ CREATE TABLE `aowow_totemcategory` ( `name_loc0` varchar(29) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc2` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(31) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(31) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(36) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(69) COLLATE utf8mb4_unicode_ci NOT NULL, `category` tinyint(3) unsigned NOT NULL, @@ -2915,6 +2971,7 @@ CREATE TABLE `aowow_zones` ( `name_loc0` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Map Name', `name_loc2` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc3` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, + `name_loc4` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc6` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, `name_loc8` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`) @@ -3003,7 +3060,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_announcements` WRITE; /*!40000 ALTER TABLE `aowow_announcements` DISABLE KEYS */; -INSERT INTO `aowow_announcements` VALUES (4,'compare','Help: Item Comparison Tool',0,'padding-left: 55px; background-image: url(STATIC_URL/images/announcements/help-small.png); background-position: 10px center',1,1,'First time? - Don\'t be shy! Just check out our [url=?help=item-comparison]Help page[/url]!','Première visite? - Ne soyez pas intimidé! Vous n\'avez qu\'à lire notre [url=?help=item-comparison]page d\'aide[/url] !','Euer erstes Mal? Nur keine falsche Scheu! Schaut einfach auf unsere [url=?help=item-comparison]Hilfeseite[/url]!','¿Tu primera vez? ¡No seas vergonzoso! !Mira nuestra [url=?help=item-comparison]página de ayuda[/url]!','Впервые? Не стесняйтесь посетить нашу [url=?help=item-comparison]справочную страницу[/url]!'),(3,'profile','Help: Profiler',0,'padding-left: 80px; background-image: url(STATIC_URL/images/announcements/help-large.gif); background-position: 10px center',1,1,'[h3]First Time?[/h3]\r\n\r\nThe [b]Profiler[/b] tool lets you [span class=tip title=\"e.g. See how\'d you look as a different race, try different gear or talents, and more!\"]edit your character[/span], find gear upgrades, check your gear score, and more!\r\n\r\n[ul]\r\n[li][b]Right-click[/b] slots to change items, add gems/enchants, or find upgrades.[/li]\r\n[li]Use the [b]Claim character[/b] button to add your own characters to your [url=/?user]user page[/url].[/li]\r\n[li]Save a modified character to your Aowow account by using the [b]Save as[/b] button.[/li]\r\n[li][b]Statistics[/b] will update in real time as you make tweaks.[/li]\r\n[/ul]\r\n\r\nFor more information, check out our extensive [url=?help=profiler]help page[/url]!','','[h3]Euer erster Besuch?[/h3]\n\nDas [b]Profiler[/b]-Werkzeug erlaubt es euch [span class=tip title=\"z.B. Seht, wie Ihr als anderes Volk aussehen würdet, probiert andere Ausrüstung oder Talente aus, und mehr!\"]euren Charakter zu bearbeiten[/span], besser Ausrüstung zu finden, eure Ausrüstungswertung zu vergleichen, und vieles mehr!\n\n[ul]\n[li][b]Rechts-klickt[/b] Plätze um Gegenstände zu tauschen, Edelsteine/Verzauberungen hinzuzufügen, oder bessere AUsrüstung zu finden.[/li]\n[li]Benutzt [b]Charakter beanspruchen[/b] um eure eigenen Charaktere Eurer [url=?user]Benutzerseite[/url] hinzuzufügen.[/li]\n[li]Speichert einen modifizierten Charakter in Eurem Aowow-Konto, indem Ihr [b]Speichern als[/b] benutzt.[/li]\n[li]Die [b]Statistiken[/b] aktualisieren sich in Echtzeit, während Ihr Änderungen durchführt.[/li]\n[/ul]\n\nWeitere Informationen findet Ihr auf unserer umfangreichen [url=?help=profiler]Hilfeseite[/url]!','',''),(2,'profiler','Help: Profiler',0,'padding-left: 80px; background-image: url(STATIC_URL/images/announcements/help-large.gif); background-position: 10px center',1,1,'[h3]First Time?[/h3]\r\n\r\nThe [b]Profiler[/b] tool lets you [span class=tip title=\"e.g. See how\'d you look as a different race, try different gear or talents, and more!\"]edit your character[/span], find gear upgrades, check your gear score, and more!\r\n\r\n[ul]\r\n[li][b]Right-click[/b] slots to change items, add gems/enchants, or find upgrades.[/li]\r\n[li]Use the [b]Claim character[/b] button to add your own characters to your [url=/?user]user page[/url].[/li]\r\n[li]Save a modified character to your Aowow account by using the [b]Save as[/b] button.[/li]\r\n[li][b]Statistics[/b] will update in real time as you make tweaks.[/li]\r\n[/ul]\r\n\r\nFor more information, check out our extensive [url=?help=profiler]help page[/url]!','','[h3]Euer erster Besuch?[/h3]\n\nDas [b]Profiler[/b]-Werkzeug erlaubt es euch [span class=tip title=\"z.B. Seht, wie Ihr als anderes Volk aussehen würdet, probiert andere Ausrüstung oder Talente aus, und mehr!\"]euren Charakter zu bearbeiten[/span], besser Ausrüstung zu finden, eure Ausrüstungswertung zu vergleichen, und vieles mehr!\n\n[ul]\n[li][b]Rechts-klickt[/b] Plätze um Gegenstände zu tauschen, Edelsteine/Verzauberungen hinzuzufügen, oder bessere AUsrüstung zu finden.[/li]\n[li]Benutzt [b]Charakter beanspruchen[/b] um eure eigenen Charaktere Eurer [url=?user]Benutzerseite[/url] hinzuzufügen.[/li]\n[li]Speichert einen modifizierten Charakter in Eurem Aowow-Konto, indem Ihr [b]Speichern als[/b] benutzt.[/li]\n[li]Die [b]Statistiken[/b] aktualisieren sich in Echtzeit, während Ihr Änderungen durchführt.[/li]\n[/ul]\n\nWeitere Informationen findet Ihr auf unserer umfangreichen [url=?help=profiler]Hilfeseite[/url]!','',''); +INSERT INTO `aowow_announcements` VALUES (4,'compare','Help: Item Comparison Tool',0,'padding-left: 55px; background-image: url(STATIC_URL/images/announcements/help-small.png); background-position: 10px center',1,1,'First time? - Don\'t be shy! Just check out our [url=?help=item-comparison]Help page[/url]!','Première visite? - Ne soyez pas intimidé! Vous n\'avez qu\'à lire notre [url=?help=item-comparison]page d\'aide[/url] !','Euer erstes Mal? Nur keine falsche Scheu! Schaut einfach auf unsere [url=?help=item-comparison]Hilfeseite[/url]!','','¿Tu primera vez? ¡No seas vergonzoso! !Mira nuestra [url=?help=item-comparison]página de ayuda[/url]!','Впервые? Не стесняйтесь посетить нашу [url=?help=item-comparison]справочную страницу[/url]!'),(3,'profile','Help: Profiler',0,'padding-left: 80px; background-image: url(STATIC_URL/images/announcements/help-large.gif); background-position: 10px center',1,1,'[h3]First Time?[/h3]\n\nThe [b]Profiler[/b] tool lets you [span class=tip title=\"e.g. See how\'d you look as a different race, try different gear or talents, and more!\"]edit your character[/span], find gear upgrades, check your gear score, and more!\n\n[ul]\n[li][b]Right-click[/b] slots to change items, add gems/enchants, or find upgrades.[/li]\n[li]Use the [b]Claim character[/b] button to add your own characters to your [url=?user]user page[/url].[/li]\n[li]Save a modified character to your Aowow account by using the [b]Save as[/b] button.[/li]\n[li][b]Statistics[/b] will update in real time as you make tweaks.[/li]\n[/ul]\n\nFor more information, check out our extensive [url=?help=profiler]help page[/url]!','','[h3]Euer erster Besuch?[/h3]\n\nDas [b]Profiler[/b]-Werkzeug erlaubt es euch [span class=tip title=\"z.B. Seht, wie Ihr als anderes Volk aussehen würdet, probiert andere Ausrüstung oder Talente aus, und mehr!\"]euren Charakter zu bearbeiten[/span], besser Ausrüstung zu finden, eure Ausrüstungswertung zu vergleichen, und vieles mehr!\n\n[ul]\n[li][b]Rechts-klickt[/b] Plätze um Gegenstände zu tauschen, Edelsteine/Verzauberungen hinzuzufügen, oder bessere AUsrüstung zu finden.[/li]\n[li]Benutzt [b]Charakter beanspruchen[/b] um eure eigenen Charaktere Eurer [url=?user]Benutzerseite[/url] hinzuzufügen.[/li]\n[li]Speichert einen modifizierten Charakter in Eurem Aowow-Konto, indem Ihr [b]Speichern als[/b] benutzt.[/li]\n[li]Die [b]Statistiken[/b] aktualisieren sich in Echtzeit, während Ihr Änderungen durchführt.[/li]\n[/ul]\n\nWeitere Informationen findet Ihr auf unserer umfangreichen [url=?help=profiler]Hilfeseite[/url]!','','',''),(2,'profiler','Help: Profiler',0,'padding-left: 80px; background-image: url(STATIC_URL/images/announcements/help-large.gif); background-position: 10px center',1,1,'[h3]First Time?[/h3]\n\nThe [b]Profiler[/b] tool lets you [span class=tip title=\"e.g. See how\'d you look as a different race, try different gear or talents, and more!\"]edit your character[/span], find gear upgrades, check your gear score, and more!\n\n[ul]\n[li][b]Right-click[/b] slots to change items, add gems/enchants, or find upgrades.[/li]\n[li]Use the [b]Claim character[/b] button to add your own characters to your [url=?user]user page[/url].[/li]\n[li]Save a modified character to your Aowow account by using the [b]Save as[/b] button.[/li]\n[li][b]Statistics[/b] will update in real time as you make tweaks.[/li]\n[/ul]\n\nFor more information, check out our extensive [url=?help=profiler]help page[/url]!','','[h3]Euer erster Besuch?[/h3]\n\nDas [b]Profiler[/b]-Werkzeug erlaubt es euch [span class=tip title=\"z.B. Seht, wie Ihr als anderes Volk aussehen würdet, probiert andere Ausrüstung oder Talente aus, und mehr!\"]euren Charakter zu bearbeiten[/span], besser Ausrüstung zu finden, eure Ausrüstungswertung zu vergleichen, und vieles mehr!\n\n[ul]\n[li][b]Rechts-klickt[/b] Plätze um Gegenstände zu tauschen, Edelsteine/Verzauberungen hinzuzufügen, oder bessere AUsrüstung zu finden.[/li]\n[li]Benutzt [b]Charakter beanspruchen[/b] um eure eigenen Charaktere Eurer [url=?user]Benutzerseite[/url] hinzuzufügen.[/li]\n[li]Speichert einen modifizierten Charakter in Eurem Aowow-Konto, indem Ihr [b]Speichern als[/b] benutzt.[/li]\n[li]Die [b]Statistiken[/b] aktualisieren sich in Echtzeit, während Ihr Änderungen durchführt.[/li]\n[/ul]\n\nWeitere Informationen findet Ihr auf unserer umfangreichen [url=?help=profiler]Hilfeseite[/url]!','','',''); /*!40000 ALTER TABLE `aowow_announcements` ENABLE KEYS */; UNLOCK TABLES; @@ -3023,7 +3080,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_config` WRITE; /*!40000 ALTER TABLE `aowow_config` DISABLE KEYS */; -INSERT INTO `aowow_config` VALUES ('sql_limit_search','500',1,129,'default: 500 - max results for search'),('sql_limit_default','300',1,129,'default: 300 - max results for listviews'),('sql_limit_quicksearch','10',1,129,'default: 10 - max results for suggestions'),('sql_limit_none','0',1,129,'default: 0 - unlimited results (i wouldn\'t change that mate)'),('ttl_rss','60',1,129,'default: 60 - time to live for RSS (in seconds)'),('name','Aowow Database Viewer (ADV)',1,136,' - website title'),('name_short','Aowow',1,136,' - feed title'),('board_url','http://www.wowhead.com/forums?board=',1,136,' - another halfbaked javascript thing..'),('contact_email','feedback@aowow.org',1,136,' - displayed sender for auth-mails, ect'),('battlegroup','Pure Pwnage',1,136,' - pretend, we belong to a battlegroup to satisfy profiler-related Jscripts'),('debug','0',1,132,'default: 0 - disable cache, enable sql-errors, enable error_reporting'),('maintenance','1',1,132,'default: 0 - display brb gnomes and block access for non-staff'),('user_max_votes','50',1,129,'default: 50 - vote limit per day'),('force_ssl','0',1,132,'default: 0 - enforce SSL, if the server is behind a load balancer'),('locales','333',1,161,'default: 0x14D - allowed locales - 0:English, 2:French, 3:German, 6:Spanish, 8:Russian'),('screenshot_min_size','200',1,129,'default: 200 - minimum dimensions of uploaded screenshots in px (yes, it\'s square)'),('site_host','',1,136,' - points js to executable files'),('static_host','',1,136,' - points js to images & scripts'),('cache_decay','25200',2,129,'default: 60 * 60 * 7 - time to keep cache in seconds'),('cache_mode','1',2,161,'default: 1 - set cache method - 0:filecache, 1:memcached'),('cache_dir','',2,136,'default: cache/template - generated pages are saved here (requires CACHE_MODE: filecache)'),('acc_failed_auth_block','900',3,129,'default: 15 * 60 - how long an account is closed after exceeding FAILED_AUTH_COUNT (in seconds)'),('acc_failed_auth_count','5',3,129,'default: 5 - how often invalid passwords are tolerated'),('acc_allow_register','1',3,132,'default: 1 - allow/disallow account creation (requires AUTH_MODE: aowow)'),('acc_auth_mode','0',3,145,'default: 0 - source to auth against - 0:aowow, 1:TC auth-table, 2:external script'),('acc_create_save_decay','604800',3,129,'default: 604800 - time in wich an unconfirmed account cannot be overwritten by new registrations'),('acc_recovery_decay','300',3,129,'default: 300 - time to recover your account and new recovery requests are blocked'),('session_timeout_delay','3600',4,129,'default: 60 * 60 - non-permanent session times out in time() + X'),('session.gc_maxlifetime','604800',4,200,'default: 7*24*60*60 - lifetime of session data'),('session.gc_probability','1',4,200,'default: 0 - probability to remove session data on garbage collection'),('session.gc_divisor','100',4,200,'default: 100 - probability to remove session data on garbage collection'),('session_cache_dir','',4,136,'default: - php sessions are saved here. Leave empty to use php default directory.'),('rep_req_upvote','125',5,129,'default: 125 - required reputation to upvote comments'),('rep_req_downvote','250',5,129,'default: 250 - required reputation to downvote comments'),('rep_req_comment','75',5,129,'default: 75 - required reputation to write a comment'),('rep_req_reply','75',5,129,'default: 75 - required reputation to write a reply'),('rep_req_supervote','2500',5,129,'default: 2500 - required reputation for double vote effect'),('rep_req_votemore_base','2000',5,129,'default: 2000 - gains more votes past this threshold'),('rep_reward_register','100',5,129,'default: 100 - activated an account'),('rep_reward_upvoted','5',5,129,'default: 5 - comment received upvote'),('rep_reward_downvoted','0',5,129,'default: 0 - comment received downvote'),('rep_reward_good_report','10',5,129,'default: 10 - filed an accepted report'),('rep_reward_bad_report','0',5,129,'default: 0 - filed a rejected report'),('rep_reward_dailyvisit','5',5,129,'default: 5 - daily visit'),('rep_reward_user_warned','-50',5,129,'default: -50 - moderator imposed a warning'),('rep_reward_comment','1',5,129,'default: 1 - created a comment (not a reply) '),('rep_req_premium','25000',5,129,'default: 25000 - required reputation for premium status through reputation'),('rep_reward_upload','10',5,129,'default: 10 - suggested / uploaded video / screenshot was approved'),('rep_reward_article','100',5,129,'default: 100 - submitted an approved article/guide'),('rep_reward_user_suspended','-200',5,129,'default: -200 - moderator revoked rights'),('rep_req_votemore_add','250',5,129,'default: 250 - required reputation per additional vote past threshold'),('serialize_precision','5',0,65,' - some derelict code, probably unused'),('memory_limit','1500M',0,200,'default: 1500M - parsing spell.dbc is quite intense'),('default_charset','UTF-8',0,72,'default: UTF-8'),('analytics_user','',6,136,'default: - enter your GA-user here to track site stats'),('profiler_enable','0',7,132,'default: 0 - enable/disable profiler feature'),('profiler_queue_delay','3000',7,129,'default: 3000 - min. delay between queue cycles (in ms)'),('profiler_resync_ping','5000',7,129,'default: 5000 - how often the javascript asks for for updates, when queued (in ms)'),('profiler_resync_delay','3600',7,129,'default: 1*60*60 - how often a character can be refreshed (in sec)'); +INSERT INTO `aowow_config` VALUES ('sql_limit_search','500',1,129,'default: 500 - max results for search'),('sql_limit_default','300',1,129,'default: 300 - max results for listviews'),('sql_limit_quicksearch','10',1,129,'default: 10 - max results for suggestions'),('sql_limit_none','0',1,129,'default: 0 - unlimited results (i wouldn\'t change that mate)'),('ttl_rss','60',1,129,'default: 60 - time to live for RSS (in seconds)'),('name','Aowow Database Viewer (ADV)',1,136,' - website title'),('name_short','Aowow',1,136,' - feed title'),('board_url','http://www.wowhead.com/forums?board=',1,136,' - another halfbaked javascript thing..'),('contact_email','feedback@aowow.org',1,136,' - displayed sender for auth-mails, ect'),('battlegroup','Pure Pwnage',1,136,' - pretend, we belong to a battlegroup to satisfy profiler-related Jscripts'),('debug','0',1,132,'default: 0 - disable cache, enable sql-errors, enable error_reporting'),('maintenance','1',1,132,'default: 0 - display brb gnomes and block access for non-staff'),('user_max_votes','50',1,129,'default: 50 - vote limit per day'),('force_ssl','0',1,132,'default: 0 - enforce SSL, if the server is behind a load balancer'),('locales','349',1,161,'default: 0x15D - allowed locales - 0:English, 2:French, 3:German, 4:Chinese, 6:Spanish, 8:Russian'),('screenshot_min_size','200',1,129,'default: 200 - minimum dimensions of uploaded screenshots in px (yes, it\'s square)'),('site_host','',1,136,' - points js to executable files'),('static_host','',1,136,' - points js to images & scripts'),('cache_decay','25200',2,129,'default: 60 * 60 * 7 - time to keep cache in seconds'),('cache_mode','1',2,161,'default: 1 - set cache method - 0:filecache, 1:memcached'),('cache_dir','',2,136,'default: cache/template - generated pages are saved here (requires CACHE_MODE: filecache)'),('acc_failed_auth_block','900',3,129,'default: 15 * 60 - how long an account is closed after exceeding FAILED_AUTH_COUNT (in seconds)'),('acc_failed_auth_count','5',3,129,'default: 5 - how often invalid passwords are tolerated'),('acc_allow_register','1',3,132,'default: 1 - allow/disallow account creation (requires AUTH_MODE: aowow)'),('acc_auth_mode','0',3,145,'default: 0 - source to auth against - 0:aowow, 1:TC auth-table, 2:external script'),('acc_create_save_decay','604800',3,129,'default: 604800 - time in wich an unconfirmed account cannot be overwritten by new registrations'),('acc_recovery_decay','300',3,129,'default: 300 - time to recover your account and new recovery requests are blocked'),('session_timeout_delay','3600',4,129,'default: 60 * 60 - non-permanent session times out in time() + X'),('session.gc_maxlifetime','604800',4,200,'default: 7*24*60*60 - lifetime of session data'),('session.gc_probability','1',4,200,'default: 0 - probability to remove session data on garbage collection'),('session.gc_divisor','100',4,200,'default: 100 - probability to remove session data on garbage collection'),('session_cache_dir','',4,136,'default: - php sessions are saved here. Leave empty to use php default directory.'),('rep_req_upvote','125',5,129,'default: 125 - required reputation to upvote comments'),('rep_req_downvote','250',5,129,'default: 250 - required reputation to downvote comments'),('rep_req_comment','75',5,129,'default: 75 - required reputation to write a comment'),('rep_req_reply','75',5,129,'default: 75 - required reputation to write a reply'),('rep_req_supervote','2500',5,129,'default: 2500 - required reputation for double vote effect'),('rep_req_votemore_base','2000',5,129,'default: 2000 - gains more votes past this threshold'),('rep_reward_register','100',5,129,'default: 100 - activated an account'),('rep_reward_upvoted','5',5,129,'default: 5 - comment received upvote'),('rep_reward_downvoted','0',5,129,'default: 0 - comment received downvote'),('rep_reward_good_report','10',5,129,'default: 10 - filed an accepted report'),('rep_reward_bad_report','0',5,129,'default: 0 - filed a rejected report'),('rep_reward_dailyvisit','5',5,129,'default: 5 - daily visit'),('rep_reward_user_warned','-50',5,129,'default: -50 - moderator imposed a warning'),('rep_reward_comment','1',5,129,'default: 1 - created a comment (not a reply) '),('rep_req_premium','25000',5,129,'default: 25000 - required reputation for premium status through reputation'),('rep_reward_upload','10',5,129,'default: 10 - suggested / uploaded video / screenshot was approved'),('rep_reward_article','100',5,129,'default: 100 - submitted an approved article/guide'),('rep_reward_user_suspended','-200',5,129,'default: -200 - moderator revoked rights'),('rep_req_votemore_add','250',5,129,'default: 250 - required reputation per additional vote past threshold'),('serialize_precision','5',0,65,' - some derelict code, probably unused'),('memory_limit','1500M',0,200,'default: 1500M - parsing spell.dbc is quite intense'),('default_charset','UTF-8',0,72,'default: UTF-8'),('analytics_user','',6,136,'default: - enter your GA-user here to track site stats'),('profiler_enable','0',7,132,'default: 0 - enable/disable profiler feature'),('profiler_queue_delay','3000',7,129,'default: 3000 - min. delay between queue cycles (in ms)'),('profiler_resync_ping','5000',7,129,'default: 5000 - how often the javascript asks for for updates, when queued (in ms)'),('profiler_resync_delay','3600',7,129,'default: 1*60*60 - how often a character can be refreshed (in sec)'); /*!40000 ALTER TABLE `aowow_config` ENABLE KEYS */; UNLOCK TABLES; @@ -3043,7 +3100,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_home_featuredbox` WRITE; /*!40000 ALTER TABLE `aowow_home_featuredbox` DISABLE KEYS */; -INSERT INTO `aowow_home_featuredbox` VALUES (1,NULL,0,0,0,0,'',NULL,NULL,'[pad]Welcome to [b][span class=q5]AoWoW[/span][/b]!','[pad]Bienvenue à [b][span class=q5]AoWoW[/span][/b]!','[pad]Willkommen bei [b][span class=q5]AoWoW[/span][/b]!','','Добро[pad] пожаловать на [b][span class=q5]AoWoW[/span][/b]!'),(2,NULL,0,0,0,1,'STATIC_URL/images/logos/newsbox-explained.png',NULL,NULL,'[ul]\n[li][i]just demoing the newsbox here..[/i][/li]\n[li][b][url=http://www.example.com]..with urls[/url][/b][/li]\n[li][b]..typeLinks [item=45533][/b][/li]\n[li][b]..also, over there to the right is an overlay-trigger =>[/b][/li]\n[/ul]\n\n[ul]\n[li][tooltip name=demotip]hey, it hints you stuff![/tooltip][b][span class=tip tooltip=demotip]..hover me[/span][/b][/li]\n[/ul]','','','',''); +INSERT INTO `aowow_home_featuredbox` VALUES (1,NULL,0,0,0,0,'',NULL,NULL,'[pad]Welcome to [b][span class=q5]AoWoW[/span][/b]!','[pad]Bienvenue à [b][span class=q5]AoWoW[/span][/b]!','[pad]Willkommen bei [b][span class=q5]AoWoW[/span][/b]!','','','Добро[pad] пожаловать на [b][span class=q5]AoWoW[/span][/b]!'),(2,NULL,0,0,0,1,'STATIC_URL/images/logos/newsbox-explained.png',NULL,NULL,'[ul]\n[li][i]just demoing the newsbox here..[/i][/li]\n[li][b][url=http://www.example.com]..with urls[/url][/b][/li]\n[li][b]..typeLinks [item=45533][/b][/li]\n[li][b]..also, over there to the right is an overlay-trigger =>[/b][/li]\n[/ul]\n\n[ul]\n[li][tooltip name=demotip]hey, it hints you stuff![/tooltip][b][span class=tip tooltip=demotip]..hover me[/span][/b][/li]\n[/ul]','','','','',''); /*!40000 ALTER TABLE `aowow_home_featuredbox` ENABLE KEYS */; UNLOCK TABLES; @@ -3053,7 +3110,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_home_featuredbox_overlay` WRITE; /*!40000 ALTER TABLE `aowow_home_featuredbox_overlay` DISABLE KEYS */; -INSERT INTO `aowow_home_featuredbox_overlay` VALUES (2,405,100,'http://example.com','example overlay','','','',''); +INSERT INTO `aowow_home_featuredbox_overlay` VALUES (2,405,100,'http://example.com','example overlay','','','','',''); /*!40000 ALTER TABLE `aowow_home_featuredbox_overlay` ENABLE KEYS */; UNLOCK TABLES; @@ -3083,7 +3140,7 @@ UNLOCK TABLES; LOCK TABLES `aowow_sourcestrings` WRITE; /*!40000 ALTER TABLE `aowow_sourcestrings` DISABLE KEYS */; -INSERT INTO `aowow_sourcestrings` VALUES (1,'Arena Season 1','Saison 1 des combats d\'arène','Arenasaison 1','Temporada de arena 1','Сезон арены 1'),(2,'Arena Season 2','Saison 2 des combats d\'arène','Arenasaison 2','Temporada de arena 2','Сезон арены 2'),(3,'Arena Season 3','Saison 3 des combats d\'arène','Arenasaison 3','Temporada de arena 3','Сезон арены 3'),(4,'Arena Season 4','Saison 4 des combats d\'arène','Arenasaison 4','Temporada de arena 4','Сезон арены 4'),(5,'Arena Season 5','Saison 5 des combats d\'arène','Arenasaison 5','Temporada de arena 5','Сезон арены 5'),(6,'Arena Season 6','Saison 6 des combats d\'arène','Arenasaison 6','Temporada de arena 6','Сезон арены 6'),(7,'Arena Season 7','Saison 7 des combats d\'arène','Arenasaison 7','Temporada de arena 7','Сезон арены 7'),(8,'Arena Season 8','Saison 8 des combats d\'arène','Arenasaison 8','Temporada de arena 8','Сезон арены 8'),(9,'2009 Arena Tournament','Tournoi 2009 des combats d\'arène','2009 Arena-Turnier','Torneo de arena 2009','Турнир арены 2009'); +INSERT INTO `aowow_sourcestrings` VALUES (1,'Arena Season 1','Saison 1 des combats d\'arène','Arenasaison 1','Arena Season 1','Temporada de arena 1','Сезон арены 1'),(2,'Arena Season 2','Saison 2 des combats d\'arène','Arenasaison 2','Arena Season 2','Temporada de arena 2','Сезон арены 2'),(3,'Arena Season 3','Saison 3 des combats d\'arène','Arenasaison 3','Arena Season 3','Temporada de arena 3','Сезон арены 3'),(4,'Arena Season 4','Saison 4 des combats d\'arène','Arenasaison 4','Arena Season 4','Temporada de arena 4','Сезон арены 4'),(5,'Arena Season 5','Saison 5 des combats d\'arène','Arenasaison 5','Arena Season 5','Temporada de arena 5','Сезон арены 5'),(6,'Arena Season 6','Saison 6 des combats d\'arène','Arenasaison 6','Arena Season 6','Temporada de arena 6','Сезон арены 6'),(7,'Arena Season 7','Saison 7 des combats d\'arène','Arenasaison 7','Arena Season 7','Temporada de arena 7','Сезон арены 7'),(8,'Arena Season 8','Saison 8 des combats d\'arène','Arenasaison 8','Arena Season 8','Temporada de arena 8','Сезон арены 8'),(9,'2009 Arena Tournament','Tournoi 2009 des combats d\'arène','2009 Arena-Turnier','2009 Arena Tournament','Torneo de arena 2009','Турнир арены 2009'); /*!40000 ALTER TABLE `aowow_sourcestrings` ENABLE KEYS */; UNLOCK TABLES; diff --git a/setup/tools/CLISetup.class.php b/setup/tools/CLISetup.class.php index 36f9fa72..5991f827 100644 --- a/setup/tools/CLISetup.class.php +++ b/setup/tools/CLISetup.class.php @@ -21,6 +21,7 @@ class CLISetup '' => LOCALE_EN, 'enGB' => LOCALE_EN, 'enUS' => LOCALE_EN, 'frFR' => LOCALE_FR, 'deDE' => LOCALE_DE, + 'zhCN' => LOCALE_CN, 'enCN' => LOCALE_CN, 'esES' => LOCALE_ES, 'esMX' => LOCALE_ES, 'ruRU' => LOCALE_RU ); @@ -41,8 +42,8 @@ class CLISetup if (!empty($_['locales'])) { // engb and enus are identical for all intents and purposes - $from = ['engb', 'esmx']; - $to = ['enus', 'eses']; + $from = ['engb', 'esmx', 'encn']; + $to = ['enus', 'eses', 'zhcn']; $_['locales'] = str_ireplace($from, $to, strtolower($_['locales'])); self::$locales = array_intersect(Util::$localeStrings, explode(',', $_['locales'])); diff --git a/setup/tools/dbc.class.php b/setup/tools/dbc.class.php index 811549ad..b98bdee0 100644 --- a/setup/tools/dbc.class.php +++ b/setup/tools/dbc.class.php @@ -40,21 +40,21 @@ if (!CLI) */ class DBC { - private $_formats = array( // locales block for copy pasta: sxssxxsxsxxxxxxxx | xxxxxxxxxxxxxxxxx - 'achievement' => 'niiisxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxiiiiisxssxxsxsxxxxxxxxii', - 'achievement_category' => 'nisxssxxsxsxxxxxxxxx', - 'achievement_criteria' => 'niiiiiiiisxssxxsxsxxxxxxxxiixii', - 'areatable' => 'niixixxiiixsxssxxsxsxxxxxxxxixxxxxxx', + private $_formats = array( // locales block for copy pasta: sxsssxsxsxxxxxxxx | xxxxxxxxxxxxxxxxx + 'achievement' => 'niiisxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxiiiiisxsssxsxsxxxxxxxxii', + 'achievement_category' => 'nisxsssxsxsxxxxxxxxx', + 'achievement_criteria' => 'niiiiiiiisxsssxsxsxxxxxxxxiixii', + 'areatable' => 'niixixxiiixsxsssxsxsxxxxxxxxixxxxxxx', 'areatrigger' => 'niffxxxxxx', 'battlemasterlist' => 'niixxxxxxixxxxxxxxxxxxxxxxxxixii', 'charbaseinfo' => 'bb', 'charstartoutfit' => 'nbbbXiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - 'chartitles' => 'nxsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxi', - 'chrclasses' => 'nxixsxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsxixi', - 'chrraces' => 'niixxxxixxxsxisxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi', + 'chartitles' => 'nxsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxi', + 'chrclasses' => 'nxixsxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsxixi', + 'chrraces' => 'niixxxxixxxsxisxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi', 'creaturedisplayinfo' => 'niiixxssssxxixxx', 'creaturedisplayinfoextra' => 'nxxxxxxxxxxxxxxxxxxxs', - 'creaturefamily' => 'nxxxxixiiisxssxxsxsxxxxxxxxs', + 'creaturefamily' => 'nxxxxixiiisxsssxsxsxxxxxxxxs', 'creaturemodeldata' => 'nxxxxxxxxxxxxixxxxxxxxxxxxxx', 'creaturesounddata' => 'niiiixiiiiiiiiixxxxixxxxixiiiiixxiiiix', 'currencytypes' => 'niix', @@ -63,9 +63,9 @@ class DBC 'durabilityquality' => 'nf', 'emotes' => 'nxixxxx', 'emotestext' => 'nsiixxxixixxxxxxxxx', - 'emotestextdata' => 'nsxssxxsxsxxxxxxxx', + 'emotestextdata' => 'nsxsssxsxsxxxxxxxx', 'emotestextsound' => 'niiii', - 'faction' => 'niiiiiiiiiiiiiixxxiffixsxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxx', + 'faction' => 'niiiiiiiiiiiiiixxxiffixsxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxx', 'factiontemplate' => 'nixiiiiiiiiiii', 'gemproperties' => 'nixxi', 'glyphproperties' => 'niii', @@ -79,20 +79,20 @@ class DBC 'gtregenmpperspt' => 'f', 'gtregenhpperspt' => 'f', 'holidays' => 'nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixxxxxxxxxxiisxix', - 'holidaydescriptions' => 'nsxssxxsxsxxxxxxxx', - 'holidaynames' => 'nsxssxxsxsxxxxxxxx', + 'holidaydescriptions' => 'nsxsssxsxsxxxxxxxx', + 'holidaynames' => 'nsxsssxsxsxxxxxxxx', 'itemdisplayinfo' => 'nssxxsxxxxxiixxxxxxxxxxxx', 'itemgroupsounds' => 'niixx', 'itemextendedcost' => 'niiiiiiiiiiiiiix', - 'itemlimitcategory' => 'nsxssxxsxsxxxxxxxxii', - 'itemrandomproperties' => 'nsiiiiisxssxxsxsxxxxxxxx', - 'itemrandomsuffix' => 'nsxssxxsxsxxxxxxxxsiiiiiiiiii', - 'itemset' => 'nsxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiii', + 'itemlimitcategory' => 'nsxsssxsxsxxxxxxxxii', + 'itemrandomproperties' => 'nsiiiiisxsssxsxsxxxxxxxx', + 'itemrandomsuffix' => 'nsxsssxsxsxxxxxxxxsiiiiiiiiii', + 'itemset' => 'nsxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxxiiiiiiiiiiiiiiiiii', 'itemsubclass' => 'iixxxxxxxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - 'lfgdungeons' => 'nsxssxxsxsxxxxxxxxiiiiiiixiixixixxxxxxxxxxxxxxxxx', + 'lfgdungeons' => 'nsxsssxsxsxxxxxxxxiiiiiiixiixixixxxxxxxxxxxxxxxxx', 'lock' => 'niiiiixxxiiiiixxxiiiiixxxxxxxxxxx', - 'mailtemplate' => 'nsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxx', - 'map' => 'nsixisxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiffxixi', + 'mailtemplate' => 'nsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxx', + 'map' => 'nsixisxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiffxixi', 'mapdifficulty' => 'niixxxxxxxxxxxxxxxxxxis', 'material' => 'nxxii', 'npcsounds' => 'niiix', @@ -103,33 +103,33 @@ class DBC 'randproppoints' => 'niiiiiiiiiiiiiii', 'scalingstatdistribution' => 'niiiiiiiiiiiiiiiiiiiii', 'scalingstatvalues' => 'xniiiiiiiiiiiiiiiiiiiiii', - 'skillline' => 'nixsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxixxxxxxxxxxxxxxxxxx', + 'skillline' => 'nixsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxixxxxxxxxxxxxxxxxxx', 'skilllineability' => 'niiiixxixiiixx', 'skillraceclassinfo' => 'niiiiixx', 'soundambience' => 'nii', 'soundemitters' => 'nffxxxxiix', 'soundentries' => 'nisssssssssssxxxxxxxxxxsxixxxx', - 'spell' => 'niiiuuuuuuuuixixxxixxxxxxxxxiiixxxxiiiiiiiiiiiixxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiixsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxsxssxxsxsxxxxxxxxiiiiiiiiiixxfffxxxiixiixifffii', + 'spell' => 'niiiuuuuuuuuixixxxixxxxxxxxxiiixxxxiiiiiiiiiiiixxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiixsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxsxsssxsxsxxxxxxxxiiiiiiiiiixxfffxxxiixiixifffii', 'spellcasttimes' => 'nixx', 'spelldescriptionvariables' => 'ns', 'spelldifficulty' => 'xiiii', 'spellduration' => 'nixx', - 'spellfocusobject' => 'nsxssxxsxsxxxxxxxx', + 'spellfocusobject' => 'nsxsssxsxsxxxxxxxx', 'spellicon' => 'ns', - 'spellitemenchantment' => 'niiiiiiixxxiiisxssxxsxsxxxxxxxxxxxiiii', + 'spellitemenchantment' => 'niiiiiiixxxiiisxsssxsxsxxxxxxxxxxxiiii', 'spellitemenchantmentcondition' => 'nbbbbbxxxxxbbbbbbbbbbiiiiiXXXXX', 'spellradius' => 'nfxf', - 'spellrange' => 'nffffisxssxxsxsxxxxxxxxxxxxxxxxxxxxxxxxx', + 'spellrange' => 'nffffisxsssxsxsxxxxxxxxxxxxxxxxxxxxxxxxx', 'spellrunecost' => 'niiii', - 'spellshapeshiftform' => 'nxsxssxxsxsxxxxxxxxiixxiixxiiiiiiii', + 'spellshapeshiftform' => 'nxsxsssxsxsxxxxxxxxiixxiixxiiiiiiii', 'spellvisual' => 'niiiiiixxxxiixiixxxxxxiiiixxxxxx', 'spellvisualkit' => 'nxxxxxxxxxxxxxxixxxxxxxxxxxxxxxxxxxxxx', 'talent' => 'niiiiiiiixxxxixxixxixii', - 'talenttab' => 'nsxssxxsxsxxxxxxxxiiiiis', - 'taxinodes' => 'niffxsxssxxsxsxxxxxxxxxx', + 'talenttab' => 'nsxsssxsxsxxxxxxxxiiiiis', + 'taxinodes' => 'niffxsxsssxsxsxxxxxxxxxx', 'taxipath' => 'niix', 'taxipathnode' => 'niiiffxxxxx', - 'totemcategory' => 'nsxssxxsxsxxxxxxxxiu', + 'totemcategory' => 'nsxsssxsxsxxxxxxxxiu', 'vocaluisounds' => 'nxiiixx', 'weaponimpactsounds' => 'nixiiiiiiiiiiiiiiiiiiii', 'weaponswingsounds2' => 'nixi', @@ -142,20 +142,20 @@ class DBC ); private $_fields = array( - 'achievement' => 'id,faction,map,previous,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,description_loc0,description_loc2,description_loc3,description_loc6,description_loc8,category,points,orderInGroup,flags,iconId,reward_loc0,reward_loc2,reward_loc3,reward_loc6,reward_loc8,reqCriteriaCount,refAchievement', - 'achievement_category' => 'id,parentCategory,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', - 'achievement_criteria' => 'id,refAchievementId,type,value1,value2,value3,value4,value5,value6,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,completionFlags,groupFlags,timeLimit,order', - 'areatable' => 'id,mapId,areaTable,flags,soundAmbience,zoneMusic,zoneIntroMusic,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,factionGroupMask', + 'achievement' => 'id,faction,map,previous,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,description_loc0,description_loc2,description_loc3,description_loc4,description_loc6,description_loc8,category,points,orderInGroup,flags,iconId,reward_loc0,reward_loc2,reward_loc3,reward_loc4,reward_loc6,reward_loc8,reqCriteriaCount,refAchievement', + 'achievement_category' => 'id,parentCategory,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', + 'achievement_criteria' => 'id,refAchievementId,type,value1,value2,value3,value4,value5,value6,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,completionFlags,groupFlags,timeLimit,order', + 'areatable' => 'id,mapId,areaTable,flags,soundAmbience,zoneMusic,zoneIntroMusic,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,factionGroupMask', 'areatrigger' => 'id,mapId,posY,posX', 'battlemasterlist' => 'id,mapId,moreMapId,areaType,maxPlayers,minLevel,maxLevel', 'charbaseinfo' => 'raceId,classId', 'charstartoutfit' => 'id,raceId,classId,gender,item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,item11,item12,item13,item14,item15,item16,item17,item18,item19,item20', - 'chartitles' => 'id,male_loc0,male_loc2,male_loc3,male_loc6,male_loc8,female_loc0,female_loc2,female_loc3,female_loc6,female_loc8,bitIdx', - 'chrclasses' => 'id,powerType,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,fileString,flags,expansion', - 'chrraces' => 'id,flags,factionId,baseLanguage,fileString,side,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,expansion', + 'chartitles' => 'id,male_loc0,male_loc2,male_loc3,male_loc4,male_loc6,male_loc8,female_loc0,female_loc2,female_loc3,female_loc4,female_loc6,female_loc8,bitIdx', + 'chrclasses' => 'id,powerType,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,fileString,flags,expansion', + 'chrraces' => 'id,flags,factionId,baseLanguage,fileString,side,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,expansion', 'creaturedisplayinfo' => 'id,modelId,creatureSoundId,extraInfoId,skin1,skin2,skin3,iconString,npcSoundId', 'creaturedisplayinfoextra' => 'id,textureString', - 'creaturefamily' => 'id,skillLine1,petFoodMask,petTalentType,categoryEnumID,name_loc0,name_loc2,name_loc3,name_lo6,name_loc8,iconString', + 'creaturefamily' => 'id,skillLine1,petFoodMask,petTalentType,categoryEnumID,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,iconString', 'creaturemodeldata' => 'id,creatureSoundId', 'creaturesounddata' => 'id,exertion,exertionCritical,injury,injuryCritical,death,stun,stand,footstepTerrainId,aggro,wingFlap,wingGlide,alert,fidget,customAttack,loop,jumpStart,jumpEnd,petAttack,petOrder,petDismiss,birth,spellcast,submerge,submerged', 'currencytypes' => 'id,itemId,category', @@ -165,8 +165,8 @@ class DBC 'emotes' => 'id,animationId', 'emotestext' => 'id,command,emoteId,targetId,noTargetId,selfId', 'emotestextsound' => 'id,emotesTextId,raceId,gender,soundId', - 'emotestextdata' => 'id,text_loc0,text_loc2,text_loc3,text_loc6,text_loc8', - 'faction' => 'id,repIdx,baseRepRaceMask1,baseRepRaceMask2,baseRepRaceMask3,baseRepRaceMask4,baseRepClassMask1,baseRepClassMask2,baseRepClassMask3,baseRepClassMask4,baseRepValue1,baseRepValue2,baseRepValue3,baseRepValue4,repFlags1,parentFaction,spilloverRateIn,spilloverRateOut,spilloverMaxRank,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', + 'emotestextdata' => 'id,text_loc0,text_loc2,text_loc3,text_loc4,text_loc6,text_loc8', + 'faction' => 'id,repIdx,baseRepRaceMask1,baseRepRaceMask2,baseRepRaceMask3,baseRepRaceMask4,baseRepClassMask1,baseRepClassMask2,baseRepClassMask3,baseRepClassMask4,baseRepValue1,baseRepValue2,baseRepValue3,baseRepValue4,repFlags1,parentFaction,spilloverRateIn,spilloverRateOut,spilloverMaxRank,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'factiontemplate' => 'id,factionId,ourMask,friendlyMask,hostileMask,enemyFactionId1,enemyFactionId2,enemyFactionId3,enemyFactionId4,friendFactionId1,friendFactionId2,friendFactionId3,friendFactionId4', 'gemproperties' => 'id,enchantmentId,colorMask', 'glyphproperties' => 'id,spellId,typeFlags,iconId', @@ -180,20 +180,20 @@ class DBC 'gtregenmpperspt' => 'ratio', 'gtregenhpperspt' => 'ratio', 'holidays' => 'id,looping,nameId,descriptionId,textureString,scheduleType', - 'holidaydescriptions' => 'id,description_loc0,description_loc2,description_loc3,description_loc6,description_loc8', - 'holidaynames' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', + 'holidaydescriptions' => 'id,description_loc0,description_loc2,description_loc3,description_loc4,description_loc6,description_loc8', + 'holidaynames' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'itemdisplayinfo' => 'id,leftModelName,rightModelName,inventoryIcon1,spellVisualId,groupSoundId', 'itemgroupsounds' => 'id,pickUpSoundId,dropDownSoundId', 'itemextendedcost' => 'id,reqHonorPoints,reqArenaPoints,reqArenaSlot,reqItemId1,reqItemId2,reqItemId3,reqItemId4,reqItemId5,itemCount1,itemCount2,itemCount3,itemCount4,itemCount5,reqPersonalRating', - 'itemlimitcategory' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,count,isGem', - 'itemrandomproperties' => 'id,nameINT,enchantId1,enchantId2,enchantId3,enchantId4,enchantId5,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', - 'itemrandomsuffix' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,nameINT,enchantId1,enchantId2,enchantId3,enchantId4,enchantId5,allocationPct1,allocationPct2,allocationPct3,allocationPct4,allocationPct5', - 'itemset' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,spellId1,spellId2,spellId3,spellId4,spellId5,spellId6,spellId7,spellId8,itemCount1,itemCount2,itemCount3,itemCount4,itemCount5,itemCount6,itemCount7,itemCount8,reqSkillId,reqSkillLevel', + 'itemlimitcategory' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,count,isGem', + 'itemrandomproperties' => 'id,nameINT,enchantId1,enchantId2,enchantId3,enchantId4,enchantId5,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', + 'itemrandomsuffix' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,nameINT,enchantId1,enchantId2,enchantId3,enchantId4,enchantId5,allocationPct1,allocationPct2,allocationPct3,allocationPct4,allocationPct5', + 'itemset' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,spellId1,spellId2,spellId3,spellId4,spellId5,spellId6,spellId7,spellId8,itemCount1,itemCount2,itemCount3,itemCount4,itemCount5,itemCount6,itemCount7,itemCount8,reqSkillId,reqSkillLevel', 'itemsubclass' => 'class,subClass,weaponSize', - 'lfgdungeons' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,levelMin,levelMax,targetLevel,targetLevelMin,targetLevelMax,mapId,difficulty,type,faction,expansion,groupId', + 'lfgdungeons' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,levelMin,levelMax,targetLevel,targetLevelMin,targetLevelMax,mapId,difficulty,type,faction,expansion,groupId', 'lock' => 'id,type1,type2,type3,type4,type5,properties1,properties2,properties3,properties4,properties5,reqSkill1,reqSkill2,reqSkill3,reqSkill4,reqSkill5', - 'mailtemplate' => 'id,subject_loc0,subject_loc2,subject_loc3,subject_loc6,subject_loc8,text_loc0,text_loc2,text_loc3,text_loc6,text_loc8', - 'map' => 'id,nameINT,areaType,isBG,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,parentMapId,parentX,parentY,expansion,maxPlayers', + 'mailtemplate' => 'id,subject_loc0,subject_loc2,subject_loc3,subject_loc4,subject_loc6,subject_loc8,text_loc0,text_loc2,text_loc3,text_loc4,text_loc6,text_loc8', + 'map' => 'id,nameINT,areaType,isBG,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,parentMapId,parentX,parentY,expansion,maxPlayers', 'mapdifficulty' => 'id,mapId,difficulty,nPlayer,nPlayerString', 'material' => 'id,sheatheSoundId,unsheatheSoundId', 'npcsounds' => 'id,greetSoundId,byeSoundId,angrySoundId', @@ -204,33 +204,33 @@ class DBC 'randproppoints' => 'id,epic1,epic2,epic3,epic4,epic5,rare1,rare2,rare3,rare4,rare5,uncommon1,uncommon2,uncommon3,uncommon4,uncommon5', 'scalingstatdistribution' => 'id,statMod1,statMod2,statMod3,statMod4,statMod5,statMod6,statMod7,statMod8,statMod9,statMod10,modifier1,modifier2,modifier3,modifier4,modifier5,modifier6,modifier7,modifier8,modifier9,modifier10,maxLevel', 'scalingstatvalues' => 'id,shoulderMultiplier,trinketMultiplier,weaponMultiplier,rangedMultiplier,clothShoulderArmor,leatherShoulderArmor,mailShoulderArmor,plateShoulderArmor,weaponDPS1H,weaponDPS2H,casterDPS1H,casterDPS2H,rangedDPS,wandDPS,spellPower,primBudged,tertBudged,clothCloakArmor,clothChestArmor,leatherChestArmor,mailChestArmor,plateChestArmor', - 'skillline' => 'id,categoryId,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,description_loc0,description_loc2,description_loc3,description_loc6,description_loc8,iconId', + 'skillline' => 'id,categoryId,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,description_loc0,description_loc2,description_loc3,description_loc4,description_loc6,description_loc8,iconId', 'skilllineability' => 'id,skillLineId,spellId,reqRaceMask,reqClassMask,reqSkillLevel,acquireMethod,skillLevelGrey,skillLevelYellow', 'skillraceclassinfo' => 'id,skillLine,raceMask,classMask,flags,reqLevel', 'soundambience' => 'id,soundIdDay,soundIdNight', 'soundemitters' => 'id,posY,posX,soundId,mapId', 'soundentries' => 'id,type,name,file1,file2,file3,file4,file5,file6,file7,file8,file9,file10,path,flags', - 'spell' => 'id,category,dispelType,mechanic,attributes0,attributes1,attributes2,attributes3,attributes4,attributes5,attributes6,attributes7,stanceMask,stanceMaskNot,spellFocus,castTimeId,recoveryTime,recoveryTimeCategory,procChance,procCharges,maxLevel,baseLevel,spellLevel,durationId,powerType,powerCost,powerCostPerLevel,powerPerSecond,powerPerSecondPerLevel,rangeId,stackAmount,tool1,tool2,reagent1,reagent2,reagent3,reagent4,reagent5,reagent6,reagent7,reagent8,reagentCount1,reagentCount2,reagentCount3,reagentCount4,reagentCount5,reagentCount6,reagentCount7,reagentCount8,equippedItemClass,equippedItemSubClassMask,equippedItemInventoryTypeMask,effect1Id,effect2Id,effect3Id,effect1DieSides,effect2DieSides,effect3DieSides,effect1RealPointsPerLevel,effect2RealPointsPerLevel,effect3RealPointsPerLevel,effect1BasePoints,effect2BasePoints,effect3BasePoints,effect1Mechanic,effect2Mechanic,effect3Mechanic,effect1ImplicitTargetA,effect2ImplicitTargetA,effect3ImplicitTargetA,effect1ImplicitTargetB,effect2ImplicitTargetB,effect3ImplicitTargetB,effect1RadiusId,effect2RadiusId,effect3RadiusId,effect1AuraId,effect2AuraId,effect3AuraId,effect1Periode,effect2Periode,effect3Periode,effect1ValueMultiplier,effect2ValueMultiplier,effect3ValueMultiplier,effect1ChainTarget,effect2ChainTarget,effect3ChainTarget,effect1CreateItemId,effect2CreateItemId,effect3CreateItemId,effect1MiscValue,effect2MiscValue,effect3MiscValue,effect1MiscValueB,effect2MiscValueB,effect3MiscValueB,effect1TriggerSpell,effect2TriggerSpell,effect3TriggerSpell,effect1PointsPerComboPoint,effect2PointsPerComboPoint,effect3PointsPerComboPoint,effect1SpellClassMaskA,effect2SpellClassMaskA,effect3SpellClassMaskA,effect1SpellClassMaskB,effect2SpellClassMaskB,effect3SpellClassMaskB,effect1SpellClassMaskC,effect2SpellClassMaskC,effect3SpellClassMaskC,spellVisualId1,spellVisualId2,iconId,iconIdActive,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,rank_loc0,rank_loc2,rank_loc3,rank_loc6,rank_loc8,description_loc0,description_loc2,description_loc3,description_loc6,description_loc8,buff_loc0,buff_loc2,buff_loc3,buff_loc6,buff_loc8,powerCostPercent,startRecoveryCategory,startRecoveryTime,maxTargetLevel,spellFamilyId,spellFamilyFlags1,spellFamilyFlags2,spellFamilyFlags3,maxAffectedTargets,damageClass,effect1DamageMultiplier,effect2DamageMultiplier,effect3DamageMultiplier,toolCategory1,toolCategory2,schoolMask,runeCostId,powerDisplayId,effect1BonusMultiplier,effect2BonusMultiplier,effect3BonusMultiplier,spellDescriptionVariable,spellDifficulty', + 'spell' => 'id,category,dispelType,mechanic,attributes0,attributes1,attributes2,attributes3,attributes4,attributes5,attributes6,attributes7,stanceMask,stanceMaskNot,spellFocus,castTimeId,recoveryTime,recoveryTimeCategory,procChance,procCharges,maxLevel,baseLevel,spellLevel,durationId,powerType,powerCost,powerCostPerLevel,powerPerSecond,powerPerSecondPerLevel,rangeId,stackAmount,tool1,tool2,reagent1,reagent2,reagent3,reagent4,reagent5,reagent6,reagent7,reagent8,reagentCount1,reagentCount2,reagentCount3,reagentCount4,reagentCount5,reagentCount6,reagentCount7,reagentCount8,equippedItemClass,equippedItemSubClassMask,equippedItemInventoryTypeMask,effect1Id,effect2Id,effect3Id,effect1DieSides,effect2DieSides,effect3DieSides,effect1RealPointsPerLevel,effect2RealPointsPerLevel,effect3RealPointsPerLevel,effect1BasePoints,effect2BasePoints,effect3BasePoints,effect1Mechanic,effect2Mechanic,effect3Mechanic,effect1ImplicitTargetA,effect2ImplicitTargetA,effect3ImplicitTargetA,effect1ImplicitTargetB,effect2ImplicitTargetB,effect3ImplicitTargetB,effect1RadiusId,effect2RadiusId,effect3RadiusId,effect1AuraId,effect2AuraId,effect3AuraId,effect1Periode,effect2Periode,effect3Periode,effect1ValueMultiplier,effect2ValueMultiplier,effect3ValueMultiplier,effect1ChainTarget,effect2ChainTarget,effect3ChainTarget,effect1CreateItemId,effect2CreateItemId,effect3CreateItemId,effect1MiscValue,effect2MiscValue,effect3MiscValue,effect1MiscValueB,effect2MiscValueB,effect3MiscValueB,effect1TriggerSpell,effect2TriggerSpell,effect3TriggerSpell,effect1PointsPerComboPoint,effect2PointsPerComboPoint,effect3PointsPerComboPoint,effect1SpellClassMaskA,effect2SpellClassMaskA,effect3SpellClassMaskA,effect1SpellClassMaskB,effect2SpellClassMaskB,effect3SpellClassMaskB,effect1SpellClassMaskC,effect2SpellClassMaskC,effect3SpellClassMaskC,spellVisualId1,spellVisualId2,iconId,iconIdActive,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,rank_loc0,rank_loc2,rank_loc3,rank_loc4,rank_loc6,rank_loc8,description_loc0,description_loc2,description_loc3,description_loc4,description_loc6,description_loc8,buff_loc0,buff_loc2,buff_loc3,buff_loc4,buff_loc6,buff_loc8,powerCostPercent,startRecoveryCategory,startRecoveryTime,maxTargetLevel,spellFamilyId,spellFamilyFlags1,spellFamilyFlags2,spellFamilyFlags3,maxAffectedTargets,damageClass,effect1DamageMultiplier,effect2DamageMultiplier,effect3DamageMultiplier,toolCategory1,toolCategory2,schoolMask,runeCostId,powerDisplayId,effect1BonusMultiplier,effect2BonusMultiplier,effect3BonusMultiplier,spellDescriptionVariable,spellDifficulty', 'spellcasttimes' => 'id,baseTime', 'spelldescriptionvariables' => 'id,vars', 'spellduration' => 'id,baseTime', 'spelldifficulty' => 'normal10,normal25,heroic10,heroic25', - 'spellfocusobject' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', + 'spellfocusobject' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'spellicon' => 'id,iconPath', - 'spellitemenchantment' => 'id,charges,type1,type2,type3,amount1,amount2,amount3,object1,object2,object3,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,conditionId,skillLine,skillLevel,requiredLevel', + 'spellitemenchantment' => 'id,charges,type1,type2,type3,amount1,amount2,amount3,object1,object2,object3,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,conditionId,skillLine,skillLevel,requiredLevel', 'spellitemenchantmentcondition' => 'id,color1,color2,color3,color4,color5,comparator1,comparator2,comparator3,comparator4,comparator5,cmpColor1,cmpColor2,cmpColor3,cmpColor4,cmpColor5,value1,value2,value3,value4,value5', 'spellradius' => 'id,radiusMin,radiusMax', - 'spellrange' => 'id,rangeMinHostile,rangeMinFriend,rangeMaxHostile,rangeMaxFriend,rangeType,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', + 'spellrange' => 'id,rangeMinHostile,rangeMinFriend,rangeMaxHostile,rangeMaxFriend,rangeType,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'spellrunecost' => 'id,costBlood,costUnholy,costFrost,runicPowerGain', - 'spellshapeshiftform' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,flags,creatureType,displayIdA,displayIdH,spellId1,spellId2,spellId3,spellId4,spellId5,spellId6,spellId7,spellId8', + 'spellshapeshiftform' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,flags,creatureType,displayIdA,displayIdH,spellId1,spellId2,spellId3,spellId4,spellId5,spellId6,spellId7,spellId8', 'spellvisual' => 'id,precastKitId,castKitId,impactKitId,stateKitId,statedoneKitId,channelKitId,missileSoundId,animationSoundId,casterImpactKitId,targetImpactKitId,missileTargetingKitId,instantAreaKitId,impactAreaKitId,persistentAreaKitId', 'spellvisualkit' => 'id,soundId', 'talent' => 'id,tabId,row,column,rank1,rank2,rank3,rank4,rank5,reqTalent,reqRank,talentSpell,petCategory1,petCategory2', - 'talenttab' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,iconId,raceMask,classMask,creatureFamilyMask,tabNumber,textureFile', - 'taxinodes' => 'id,mapId,posX,posY,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8', + 'talenttab' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,iconId,raceMask,classMask,creatureFamilyMask,tabNumber,textureFile', + 'taxinodes' => 'id,mapId,posX,posY,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8', 'taxipath' => 'id,startNodeId,endNodeId', 'taxipathnode' => 'id,pathId,nodeIdx,mapId,posX,posY', - 'totemcategory' => 'id,name_loc0,name_loc2,name_loc3,name_loc6,name_loc8,category,categoryMask', + 'totemcategory' => 'id,name_loc0,name_loc2,name_loc3,name_loc4,name_loc6,name_loc8,category,categoryMask', 'vocaluisounds' => 'id,raceId,soundIdMale,soundIdFemale', 'weaponimpactsounds' => 'id,subClass,hit1,hit2,hit3,hit4,hit5,hit6,hit7,hit8,hit9,hit10,crit1,crit2,crit3,crit4,crit5,crit6,crit7,crit8,crit9,crit10', 'weaponswingsounds2' => 'id,weaponSize,soundId', @@ -270,7 +270,7 @@ class DBC $this->fields = explode(',', $this->_fields[$file]); $this->format = $this->_formats[$file]; $this->file = $file; - $this->localized = !!strstr($this->format, 'sxssxxsxsxxxxxxxx'); + $this->localized = !!strstr($this->format, 'sxsssxsxsxxxxxxxx'); if (count($this->fields) != strlen(str_ireplace('x', '', $this->format))) { diff --git a/setup/tools/filegen/enchants.func.php b/setup/tools/filegen/enchants.func.php index 66d2cc0f..4727df56 100644 --- a/setup/tools/filegen/enchants.func.php +++ b/setup/tools/filegen/enchants.func.php @@ -66,7 +66,7 @@ if (!CLI) equippedItemClass, equippedItemInventoryTypeMask, equippedItemSubClassMask, skillLine1, IFNULL(i.name, "inv_misc_questionmark") AS iconString, - name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 + name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM ?_spell s LEFT JOIN diff --git a/setup/tools/filegen/gems.func.php b/setup/tools/filegen/gems.func.php index ad3fa090..f1719e7e 100644 --- a/setup/tools/filegen/gems.func.php +++ b/setup/tools/filegen/gems.func.php @@ -30,7 +30,7 @@ if (!CLI) // id < 36'000 || ilevel < 70 ? BC : WOTLK $gems = DB::Aowow()->Select( 'SELECT i.id AS itemId, - i.name_loc0, i.name_loc2, i.name_loc3, i.name_loc6, i.name_loc8, + i.name_loc0, i.name_loc2, i.name_loc3, i.name_loc4, i.name_loc6, i.name_loc8, IF (i.id < 36000 OR i.itemLevel < 70, 1 , 2) AS expansion, i.quality, ic.name AS icon, diff --git a/setup/tools/filegen/locales.func.php b/setup/tools/filegen/locales.func.php index 69a07859..abb9de21 100644 --- a/setup/tools/filegen/locales.func.php +++ b/setup/tools/filegen/locales.func.php @@ -32,6 +32,12 @@ if (!CLI) " domain: 'de',\r\n" . " description: 'Deutsch'\r\n" . " }", + LOCALE_CN => " 4:{ // Chinese\r\n" . + " id: LOCALE_ZHCN,\r\n" . + " name: 'zhcn',\r\n" . + " domain: 'cn',\r\n" . + " description: String.fromCharCode(31616, 20307, 20013, 25991)\r\n" . + " }", LOCALE_ES => " 6: { // Spanish\r\n" . " id: LOCALE_ESES,\r\n" . " name: 'eses',\r\n" . diff --git a/setup/tools/filegen/pets.func.php b/setup/tools/filegen/pets.func.php index ad1712ec..371511df 100644 --- a/setup/tools/filegen/pets.func.php +++ b/setup/tools/filegen/pets.func.php @@ -34,7 +34,7 @@ if (!CLI) $locations = []; $petList = DB::Aowow()->Select( 'SELECT cr.id, - cr.name_loc0, cr.name_loc2, cr.name_loc3, cr.name_loc6, cr.name_loc8, + cr.name_loc0, cr.name_loc2, cr.name_loc3, cr.name_loc4, cr.name_loc6, cr.name_loc8, cr.minLevel, cr.maxLevel, ft.A, diff --git a/setup/tools/filegen/talentCalc.func.php b/setup/tools/filegen/talentCalc.func.php index ee1aee4b..025c0e9e 100644 --- a/setup/tools/filegen/talentCalc.func.php +++ b/setup/tools/filegen/talentCalc.func.php @@ -45,7 +45,7 @@ if (!CLI) for ($tabIdx = 0; $tabIdx < count($tabs); $tabIdx++) { - $talents = DB::Aowow()->select('SELECT t.id AS tId, t.*, s.name_loc0, s.name_loc2, s.name_loc3, s.name_loc6, s.name_loc8, LOWER(SUBSTRING_INDEX(si.iconPath, "\\\\", -1)) AS iconString FROM dbc_talent t, dbc_spell s, dbc_spellicon si WHERE si.`id` = s.`iconId` AND t.`tabId`= ?d AND s.`id` = t.`rank1` ORDER by t.`row`, t.`column`', $tabs[$tabIdx]['id']); + $talents = DB::Aowow()->select('SELECT t.id AS tId, t.*, s.name_loc0, s.name_loc2, s.name_loc3, s.name_loc4, s.name_loc6, s.name_loc8, LOWER(SUBSTRING_INDEX(si.iconPath, "\\\\", -1)) AS iconString FROM dbc_talent t, dbc_spell s, dbc_spellicon si WHERE si.`id` = s.`iconId` AND t.`tabId`= ?d AND s.`id` = t.`rank1` ORDER by t.`row`, t.`column`', $tabs[$tabIdx]['id']); $result[$tabIdx] = array( 'n' => Util::localizedString($tabs[$tabIdx], 'name'), 't' => [] diff --git a/setup/tools/filegen/templates/locale.js.in b/setup/tools/filegen/templates/locale.js.in index 7c4933b0..6786ca94 100644 --- a/setup/tools/filegen/templates/locale.js.in +++ b/setup/tools/filegen/templates/locale.js.in @@ -5,6 +5,7 @@ Locale class var LOCALE_ENUS = 0; var LOCALE_FRFR = 2; var LOCALE_DEDE = 3; +var LOCALE_ZHCN = 4; var LOCALE_ESES = 6; var LOCALE_RURU = 8; diff --git a/setup/tools/filegen/templates/power.js.in b/setup/tools/filegen/templates/power.js.in index aee4548c..8ca01cf5 100644 --- a/setup/tools/filegen/templates/power.js.in +++ b/setup/tools/filegen/templates/power.js.in @@ -90,6 +90,7 @@ if (typeof $WowheadPower == "undefined") { 0: "enus", 2: "frfr", 3: "dede", + 4: "zhcn", 6: "eses", 8: "ruru" }, @@ -353,12 +354,12 @@ if (typeof $WowheadPower == "undefined") { locale = $WH.g_getLocaleFromDomain(domain); /* edit start */ - if ($WH.in_array(['fr', 'de', 'es', 'ru', 'en'], domain) == -1) { + if ($WH.in_array(['fr', 'de', 'cn', 'es', 'ru', 'en'], domain) == -1) { for (i in document.scripts) { if (!document.scripts[i].src) continue; - var dmn = document.scripts[i].src.match(/widgets\/power.js\?(lang|locale)=(en|fr|de|es|ru)/i); + var dmn = document.scripts[i].src.match(/widgets\/power.js\?(lang|locale)=(en|fr|de|cn|es|ru)/i); if (dmn) { domain = dmn[2]; locale = $WH.g_getLocaleFromDomain(dmn[2]); diff --git a/setup/tools/sqlgen/achievement.func.php b/setup/tools/sqlgen/achievement.func.php index fc789b80..1ab10d85 100644 --- a/setup/tools/sqlgen/achievement.func.php +++ b/setup/tools/sqlgen/achievement.func.php @@ -44,9 +44,9 @@ function achievement(array $ids = []) a.refAchievement, 0, 0, - a.name_loc0, a.name_loc2, a.name_loc3, a.name_loc6, a.name_loc8, - a.description_loc0, a.description_loc2, a.description_loc3, a.description_loc6, a.description_loc8, - a.reward_loc0, a.reward_loc2, a.reward_loc3, a.reward_loc6, a.reward_loc8 + a.name_loc0, a.name_loc2, a.name_loc3, a.name_loc4, a.name_loc6, a.name_loc8, + a.description_loc0, a.description_loc2, a.description_loc3, a.description_loc4, a.description_loc6, a.description_loc8, + a.reward_loc0, a.reward_loc2, a.reward_loc3, a.reward_loc4, a.reward_loc6, a.reward_loc8 FROM dbc_achievement a LEFT JOIN @@ -63,9 +63,9 @@ function achievement(array $ids = []) $ids ?: DBSIMPLE_SKIP ); foreach ($serverAchievements as $sa) - DB::Aowow()->query('REPLACE INTO ?_achievement (id, faction, map, points, flags, reqCriteriaCount, refAchievement, cuFlags, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8) VALUES (?d, ?d, ?d, ?d, ?d, ?d, ?d, ?d, ?, ?, ?, ?, ?)', + DB::Aowow()->query('REPLACE INTO ?_achievement (id, faction, map, points, flags, reqCriteriaCount, refAchievement, cuFlags, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8) VALUES (?d, ?d, ?d, ?d, ?d, ?d, ?d, ?d, ?, ?, ?, ?, ?, ?)', $sa['ID'], $sa['faction'], $sa['mapID'], $sa['points'], $sa['flags'], $sa['count'], $sa['refAchievement'], CUSTOM_SERVERSIDE, - 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'] + 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'], 'Serverside - #'.$sa['ID'] ); if ($ids) diff --git a/setup/tools/sqlgen/creature.func.php b/setup/tools/sqlgen/creature.func.php index 00c37617..749ee89a 100644 --- a/setup/tools/sqlgen/creature.func.php +++ b/setup/tools/sqlgen/creature.func.php @@ -32,8 +32,8 @@ function creature(array $ids = []) 0 AS modelId, -- modelId 0 AS humanoid, -- uses creaturedisplayinfoextra "" AS iconString, -- iconString - ct.name, IFNULL(ctl2.`Name`, "") AS n2, IFNULL(ctl3.`Name`, "") AS n3, IFNULL(ctl6.`Name`, "") AS n6, IFNULL(ctl8.`Name`, "") AS n8, - subname, IFNULL(ctl2.`Title`, "") AS t2, IFNULL(ctl3.`Title`, "") AS t3, IFNULL(ctl6.`Title`, "") AS t6, IFNULL(ctl8.`Title`, "") AS t8, + ct.name, IFNULL(ctl2.`Name`, "") AS n2, IFNULL(ctl3.`Name`, "") AS n3, IFNULL(ctl4.`Name`, "") AS n4, IFNULL(ctl6.`Name`, "") AS n6, IFNULL(ctl8.`Name`, "") AS n8, + subname, IFNULL(ctl2.`Title`, "") AS t2, IFNULL(ctl3.`Title`, "") AS t3, IFNULL(ctl4.`Title`, "") AS t4, IFNULL(ctl6.`Title`, "") AS t6, IFNULL(ctl8.`Title`, "") AS t8, minLevel, maxLevel, exp, faction, @@ -86,6 +86,8 @@ function creature(array $ids = []) creature_template_locale ctl2 ON ct.entry = ctl2.entry AND ctl2.`locale` = "frFR" LEFT JOIN creature_template_locale ctl3 ON ct.entry = ctl3.entry AND ctl3.`locale` = "deDE" + LEFT JOIN + creature_template_locale ctl4 ON ct.entry = ctl4.entry AND ctl4.`locale` = "zhCN" LEFT JOIN creature_template_locale ctl6 ON ct.entry = ctl6.entry AND ctl6.`locale` = "esES" LEFT JOIN diff --git a/setup/tools/sqlgen/currencies.func.php b/setup/tools/sqlgen/currencies.func.php index f7f46781..db6d21e3 100644 --- a/setup/tools/sqlgen/currencies.func.php +++ b/setup/tools/sqlgen/currencies.func.php @@ -35,7 +35,7 @@ function currencies(array $ids = []) $moneyNames = DB::World()->select(' SELECT it.entry AS ARRAY_KEY, - it.name AS name_loc0, IFNULL(itl2.Name, "") AS name_loc2, IFNULL(itl3.Name, "") AS name_loc3, IFNULL(itl6.Name, "") AS name_loc6, IFNULL(itl8.Name, "") AS name_loc8, + it.name AS name_loc0, IFNULL(itl2.Name, "") AS name_loc2, IFNULL(itl3.Name, "") AS name_loc3, IFNULL(itl4.Name, "") AS name_loc4, IFNULL(itl6.Name, "") AS name_loc6, IFNULL(itl8.Name, "") AS name_loc8, it.maxCount AS cap FROM item_template it @@ -43,6 +43,8 @@ function currencies(array $ids = []) item_template_locale itl2 ON it.entry = itl2.ID AND itl2.locale = "frFR" LEFT JOIN item_template_locale itl3 ON it.entry = itl3.ID AND itl3.locale = "deDE" + LEFT JOIN + item_template_locale itl4 ON it.entry = itl4.ID AND itl4.locale = "zhCN" LEFT JOIN item_template_locale itl6 ON it.entry = itl6.ID AND itl6.locale = "esES" LEFT JOIN diff --git a/setup/tools/sqlgen/emotes.func.php b/setup/tools/sqlgen/emotes.func.php index 0bb234d7..0c188d68 100644 --- a/setup/tools/sqlgen/emotes.func.php +++ b/setup/tools/sqlgen/emotes.func.php @@ -50,9 +50,9 @@ function emotes(/*array $ids = [] */) LOWER(et.command), IF(e.animationId, 1, 0), 0, -- cuFlags - etdT.text_loc0, etdT.text_loc2, etdT.text_loc3, etdT.text_loc6, etdT.text_loc8, - etdNT.text_loc0, etdNT.text_loc2, etdNT.text_loc3, etdNT.text_loc6, etdNT.text_loc8, - etdS.text_loc0, etdS.text_loc2, etdS.text_loc3, etdS.text_loc6, etdS.text_loc8 + etdT.text_loc0, etdT.text_loc2, etdT.text_loc3, etdT.text_loc4, etdT.text_loc6, etdT.text_loc8, + etdNT.text_loc0, etdNT.text_loc2, etdNT.text_loc3, etdNT.text_loc4, etdNT.text_loc6, etdNT.text_loc8, + etdS.text_loc0, etdS.text_loc2, etdS.text_loc3, etdS.text_loc4, etdS.text_loc6, etdS.text_loc8 FROM dbc_emotestext et LEFT JOIN diff --git a/setup/tools/sqlgen/factions.func.php b/setup/tools/sqlgen/factions.func.php index 1bd48974..52648017 100644 --- a/setup/tools/sqlgen/factions.func.php +++ b/setup/tools/sqlgen/factions.func.php @@ -63,7 +63,7 @@ function factions() 0, -- cuFlags parentFaction, spilloverRateIn, spilloverRateOut, spilloverMaxRank, - name_loc0, name_loc2, name_loc3, name_loc6, name_loc8 + name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8 FROM dbc_faction f LEFT JOIN diff --git a/setup/tools/sqlgen/holidays.func.php b/setup/tools/sqlgen/holidays.func.php index 5397321b..0790ae76 100644 --- a/setup/tools/sqlgen/holidays.func.php +++ b/setup/tools/sqlgen/holidays.func.php @@ -41,9 +41,9 @@ function holidays() { $query = ' REPLACE INTO - ?_holidays (id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, description_loc0, description_loc2, description_loc3, description_loc6, description_loc8, looping, scheduleType, textureString) + ?_holidays (id, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, description_loc0, description_loc2, description_loc3, description_loc4, description_loc6, description_loc8, looping, scheduleType, textureString) SELECT - h.id, n.name_loc0, n.name_loc2, n.name_loc3, n.name_loc6, n.name_loc8, d.description_loc0, d.description_loc2, d.description_loc3, d.description_loc6, d.description_loc8, h.looping, h.scheduleType, h.textureString + h.id, n.name_loc0, n.name_loc2, n.name_loc3, n.name_loc4, n.name_loc6, n.name_loc8, d.description_loc0, d.description_loc2, d.description_loc3, d.description_loc4, d.description_loc6, d.description_loc8, h.looping, h.scheduleType, h.textureString FROM dbc_holidays h LEFT JOIN diff --git a/setup/tools/sqlgen/itemenchantment.func.php b/setup/tools/sqlgen/itemenchantment.func.php index 2ddd46f0..fd5e1e0f 100644 --- a/setup/tools/sqlgen/itemenchantment.func.php +++ b/setup/tools/sqlgen/itemenchantment.func.php @@ -17,7 +17,7 @@ function itemenchantment() REPLACE INTO ?_itemenchantment SELECT - Id, charges, 0, 0, 0, type1, type2, type3, amount1, amount2, amount3, object1, object2, object3, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, conditionId, skillLine, skillLevel, requiredLevel + Id, charges, 0, 0, 0, type1, type2, type3, amount1, amount2, amount3, object1, object2, object3, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, conditionId, skillLine, skillLevel, requiredLevel FROM dbc_spellitemenchantment'; diff --git a/setup/tools/sqlgen/itemrandomenchant.func.php b/setup/tools/sqlgen/itemrandomenchant.func.php index 471ac05c..63c1c3b1 100644 --- a/setup/tools/sqlgen/itemrandomenchant.func.php +++ b/setup/tools/sqlgen/itemrandomenchant.func.php @@ -15,9 +15,9 @@ function itemrandomenchant() { $query = ' REPLACE INTO ?_itemrandomenchant - SELECT -id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, nameINT, enchantId1, enchantId2, enchantId3, enchantId4, enchantId5, allocationPct1, allocationPct2, allocationPct3, allocationPct4, allocationPct5 FROM dbc_itemrandomsuffix + SELECT -id, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, nameINT, enchantId1, enchantId2, enchantId3, enchantId4, enchantId5, allocationPct1, allocationPct2, allocationPct3, allocationPct4, allocationPct5 FROM dbc_itemrandomsuffix UNION - SELECT id, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, nameINT, enchantId1, enchantId2, enchantId3, enchantId4, enchantId5, 0, 0, 0, 0, 0 FROM dbc_itemrandomproperties'; + SELECT id, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, nameINT, enchantId1, enchantId2, enchantId3, enchantId4, enchantId5, 0, 0, 0, 0, 0 FROM dbc_itemrandomproperties'; DB::Aowow()->query($query); diff --git a/setup/tools/sqlgen/items.func.php b/setup/tools/sqlgen/items.func.php index 44016423..5ef7d702 100644 --- a/setup/tools/sqlgen/items.func.php +++ b/setup/tools/sqlgen/items.func.php @@ -35,7 +35,7 @@ function items(array $ids = []) subclass, subclass AS subClassBak, SoundOverrideSubclass, IFNULL(sg.id, 0) AS subSubClass, - it.name, IFNULL(itl2.Name, ""), IFNULL(itl3.Name, ""), IFNULL(itl6.Name, ""), IFNULL(itl8.Name, ""), + it.name, IFNULL(itl2.Name, ""), IFNULL(itl3.Name, ""), IFNULL(itl4.Name, ""), IFNULL(itl6.Name, ""), IFNULL(itl8.Name, ""), 0 AS iconId, displayid, 0 AS spellVisualId, @@ -84,7 +84,7 @@ function items(array $ids = []) spellid_4, spelltrigger_4, spellcharges_4, spellppmRate_4, spellcooldown_4, spellcategory_4, spellcategorycooldown_4, spellid_5, spelltrigger_5, spellcharges_5, spellppmRate_5, spellcooldown_5, spellcategory_5, spellcategorycooldown_5, bonding, - it.description, IFNULL(itl2.Description, ""), IFNULL(itl3.Description, ""), IFNULL(itl6.Description, ""), IFNULL(itl8.Description, ""), + it.description, IFNULL(itl2.Description, ""), IFNULL(itl3.Description, ""), IFNULL(itl4.Description, ""), IFNULL(itl6.Description, ""), IFNULL(itl8.Description, ""), PageText, LanguageID, startquest, @@ -122,6 +122,8 @@ function items(array $ids = []) item_template_locale itl2 ON it.entry = itl2.ID AND itl2.locale = "frFR" LEFT JOIN item_template_locale itl3 ON it.entry = itl3.ID AND itl3.locale = "deDE" + LEFT JOIN + item_template_locale itl4 ON it.entry = itl4.ID AND itl4.locale = "zhCN" LEFT JOIN item_template_locale itl6 ON it.entry = itl6.ID AND itl6.locale = "esES" LEFT JOIN diff --git a/setup/tools/sqlgen/objects.func.php b/setup/tools/sqlgen/objects.func.php index aa10c57b..d5f5b557 100644 --- a/setup/tools/sqlgen/objects.func.php +++ b/setup/tools/sqlgen/objects.func.php @@ -33,6 +33,7 @@ function objects(array $ids = []) go.name, IFNULL(gtl2.`name`, "") AS name_loc2, IFNULL(gtl3.`name`, "") AS name_loc3, + IFNULL(gtl4.`name`, "") AS name_loc4, IFNULL(gtl6.`name`, "") AS name_loc6, IFNULL(gtl8.`name`, "") AS name_loc8, IFNULL(goa.faction, 0), @@ -71,6 +72,8 @@ function objects(array $ids = []) gameobject_template_locale gtl2 ON go.entry = gtl2.entry AND gtl2.`locale` = "frFR" LEFT JOIN gameobject_template_locale gtl3 ON go.entry = gtl3.entry AND gtl3.`locale` = "deDE" + LEFT JOIN + gameobject_template_locale gtl4 ON go.entry = gtl4.entry AND gtl4.`locale` = "zhCN" LEFT JOIN gameobject_template_locale gtl6 ON go.entry = gtl6.entry AND gtl6.`locale` = "esES" LEFT JOIN diff --git a/setup/tools/sqlgen/pet.func.php b/setup/tools/sqlgen/pet.func.php index b861c9c0..18f4f433 100644 --- a/setup/tools/sqlgen/pet.func.php +++ b/setup/tools/sqlgen/pet.func.php @@ -32,7 +32,7 @@ function pet(array $ids = []) petTalentType, 0, -- exotic 0, -- expansion - name_loc0, name_loc2, name_loc3, name_lo6, name_loc8, + name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, ic.id, skillLine1, 0, 0, 0, 0, -- spell[1-4] diff --git a/setup/tools/sqlgen/quests.func.php b/setup/tools/sqlgen/quests.func.php index c033b96f..c44de292 100644 --- a/setup/tools/sqlgen/quests.func.php +++ b/setup/tools/sqlgen/quests.func.php @@ -76,23 +76,23 @@ function quests(array $ids = []) IF (RewardFactionOverride3 <> 0, RewardFactionOverride3 / 100, RewardFactionValue3), IF (RewardFactionOverride4 <> 0, RewardFactionOverride4 / 100, RewardFactionValue4), IF (RewardFactionOverride5 <> 0, RewardFactionOverride5 / 100, RewardFactionValue5), - q.LogTitle, IFNULL(qtl2.Title, ""), IFNULL(qtl3.Title, ""), IFNULL(qtl6.Title, ""), IFNULL(qtl8.Title, ""), - q.LogDescription, IFNULL(qtl2.Objectives, ""), IFNULL(qtl3.Objectives, ""), IFNULL(qtl6.Objectives, ""), IFNULL(qtl8.Objectives, ""), - q.QuestDescription, IFNULL(qtl2.Details, ""), IFNULL(qtl3.Details, ""), IFNULL(qtl6.Details, ""), IFNULL(qtl8.Details, ""), - q.AreaDescription, IFNULL(qtl2.EndText, ""), IFNULL(qtl3.EndText, ""), IFNULL(qtl6.EndText, ""), IFNULL(qtl8.EndText, ""), - IFNULL(qor.RewardText, ""), IFNULL(qtl2.OfferRewardText, ""), IFNULL(qtl3.OfferRewardText, ""), IFNULL(qtl6.OfferRewardText, ""), IFNULL(qtl8.OfferRewardText, ""), - IFNULL(qri.CompletionText, ""), IFNULL(qtl2.RequestItemsText, ""), IFNULL(qtl3.RequestItemsText, ""), IFNULL(qtl6.RequestItemsText, ""), IFNULL(qtl8.RequestItemsText, ""), - q.QuestCompletionLog, IFNULL(qtl2.CompletedText, ""), IFNULL(qtl3.CompletedText, ""), IFNULL(qtl6.CompletedText, ""), IFNULL(qtl8.CompletedText, ""), + q.LogTitle, IFNULL(qtl2.Title, ""), IFNULL(qtl3.Title, ""), IFNULL(qtl4.Title, ""), IFNULL(qtl6.Title, ""), IFNULL(qtl8.Title, ""), + q.LogDescription, IFNULL(qtl2.Objectives, ""), IFNULL(qtl3.Objectives, ""), IFNULL(qtl4.Objectives, ""), IFNULL(qtl6.Objectives, ""), IFNULL(qtl8.Objectives, ""), + q.QuestDescription, IFNULL(qtl2.Details, ""), IFNULL(qtl3.Details, ""), IFNULL(qtl4.Details, ""), IFNULL(qtl6.Details, ""), IFNULL(qtl8.Details, ""), + q.AreaDescription, IFNULL(qtl2.EndText, ""), IFNULL(qtl3.EndText, ""), IFNULL(qtl4.EndText, ""), IFNULL(qtl6.EndText, ""), IFNULL(qtl8.EndText, ""), + IFNULL(qor.RewardText, ""), IFNULL(qtl2.OfferRewardText, ""), IFNULL(qtl3.OfferRewardText, ""), IFNULL(qtl4.OfferRewardText, ""), IFNULL(qtl6.OfferRewardText, ""), IFNULL(qtl8.OfferRewardText, ""), + IFNULL(qri.CompletionText, ""), IFNULL(qtl2.RequestItemsText, ""), IFNULL(qtl3.RequestItemsText, ""), IFNULL(qtl4.RequestItemsText, ""), IFNULL(qtl6.RequestItemsText, ""), IFNULL(qtl8.RequestItemsText, ""), + q.QuestCompletionLog, IFNULL(qtl2.CompletedText, ""), IFNULL(qtl3.CompletedText, ""), IFNULL(qtl4.CompletedText, ""), IFNULL(qtl6.CompletedText, ""), IFNULL(qtl8.CompletedText, ""), RequiredNpcOrGo1, RequiredNpcOrGo2, RequiredNpcOrGo3, RequiredNpcOrGo4, RequiredNpcOrGoCount1, RequiredNpcOrGoCount2, RequiredNpcOrGoCount3, RequiredNpcOrGoCount4, ItemDrop1, ItemDrop2, ItemDrop3, ItemDrop4, ItemDropQuantity1, ItemDropQuantity2, ItemDropQuantity3, ItemDropQuantity4, RequiredItemId1, RequiredItemId2, RequiredItemId3, RequiredItemId4, RequiredItemId5, RequiredItemId6, RequiredItemCount1, RequiredItemCount2, RequiredItemCount3, RequiredItemCount4, RequiredItemCount5, RequiredItemCount6, - q.ObjectiveText1, IFNULL(qtl2.ObjectiveText1, ""), IFNULL(qtl3.ObjectiveText1, ""), IFNULL(qtl6.ObjectiveText1, ""), IFNULL(qtl8.ObjectiveText1, ""), - q.ObjectiveText2, IFNULL(qtl2.ObjectiveText2, ""), IFNULL(qtl3.ObjectiveText2, ""), IFNULL(qtl6.ObjectiveText2, ""), IFNULL(qtl8.ObjectiveText2, ""), - q.ObjectiveText3, IFNULL(qtl2.ObjectiveText3, ""), IFNULL(qtl3.ObjectiveText3, ""), IFNULL(qtl6.ObjectiveText3, ""), IFNULL(qtl8.ObjectiveText3, ""), - q.ObjectiveText4, IFNULL(qtl2.ObjectiveText4, ""), IFNULL(qtl3.ObjectiveText4, ""), IFNULL(qtl6.ObjectiveText4, ""), IFNULL(qtl8.ObjectiveText4, "") + q.ObjectiveText1, IFNULL(qtl2.ObjectiveText1, ""), IFNULL(qtl3.ObjectiveText1, ""), IFNULL(qtl4.ObjectiveText1, ""), IFNULL(qtl6.ObjectiveText1, ""), IFNULL(qtl8.ObjectiveText1, ""), + q.ObjectiveText2, IFNULL(qtl2.ObjectiveText2, ""), IFNULL(qtl3.ObjectiveText2, ""), IFNULL(qtl4.ObjectiveText2, ""), IFNULL(qtl6.ObjectiveText2, ""), IFNULL(qtl8.ObjectiveText2, ""), + q.ObjectiveText3, IFNULL(qtl2.ObjectiveText3, ""), IFNULL(qtl3.ObjectiveText3, ""), IFNULL(qtl4.ObjectiveText3, ""), IFNULL(qtl6.ObjectiveText3, ""), IFNULL(qtl8.ObjectiveText3, ""), + q.ObjectiveText4, IFNULL(qtl2.ObjectiveText4, ""), IFNULL(qtl3.ObjectiveText4, ""), IFNULL(qtl4.ObjectiveText4, ""), IFNULL(qtl6.ObjectiveText4, ""), IFNULL(qtl8.ObjectiveText4, "") FROM quest_template q LEFT JOIN @@ -105,6 +105,8 @@ function quests(array $ids = []) quest_template_locale qtl2 ON q.ID = qtl2.ID AND qtl2.locale = "frFR" LEFT JOIN quest_template_locale qtl3 ON q.ID = qtl3.ID AND qtl3.locale = "deDE" + LEFT JOIN + quest_template_locale qtl4 ON q.ID = qtl4.ID AND qtl4.locale = "zhCN" LEFT JOIN quest_template_locale qtl6 ON q.ID = qtl6.ID AND qtl6.locale = "esES" LEFT JOIN diff --git a/setup/tools/sqlgen/races.func.php b/setup/tools/sqlgen/races.func.php index 89035073..33ca09e8 100644 --- a/setup/tools/sqlgen/races.func.php +++ b/setup/tools/sqlgen/races.func.php @@ -33,7 +33,7 @@ function races() REPLACE INTO ?_races SELECT - id, 0, flags, 0, factionId, 0, 0, baseLanguage, IF(side = 2, 0, side + 1), fileString, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, expansion + id, 0, flags, 0, factionId, 0, 0, baseLanguage, IF(side = 2, 0, side + 1), fileString, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, expansion FROM dbc_chrraces'; diff --git a/setup/tools/sqlgen/skillline.func.php b/setup/tools/sqlgen/skillline.func.php index 7fdb5081..9d63b159 100644 --- a/setup/tools/sqlgen/skillline.func.php +++ b/setup/tools/sqlgen/skillline.func.php @@ -34,7 +34,7 @@ function skillline() REPLACE INTO ?_skillline SELECT - id, categoryId, 0, categoryId, name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, description_loc0, description_loc2, description_loc3, description_loc6, description_loc8, 0, iconId, 0, 0, "" + id, categoryId, 0, categoryId, name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, description_loc0, description_loc2, description_loc3, description_loc4, description_loc6, description_loc8, 0, iconId, 0, 0, "" FROM dbc_skillline'; diff --git a/setup/tools/sqlgen/spell.func.php b/setup/tools/sqlgen/spell.func.php index 82d2e85e..9c8bd1a4 100644 --- a/setup/tools/sqlgen/spell.func.php +++ b/setup/tools/sqlgen/spell.func.php @@ -88,10 +88,10 @@ function spell() EffectSpellClassMaskC1, EffectSpellClassMaskC2, EffectSpellClassMaskC3, 0 AS iconId, 0 AS iconIdAlt, 0 AS rankId, 0 AS spellVisualId1, - CONCAT("Serverside - ",Comment) AS name_loc0,CONCAT("Serverside - ",Comment) AS name_loc2,CONCAT("Serverside - ",Comment) AS name_loc3,CONCAT("Serverside - ",Comment) AS name_loc6,CONCAT("Serverside - ",Comment) AS name_loc8, - "" AS rank_loc0, "" AS rank_loc2, "" AS rank_loc3, "" AS rank_loc6, "" AS rank_loc8, - "" AS description_loc0, "" AS description_loc2, "" AS description_loc3, "" AS description_loc6, "" AS description_loc8, - "" AS buff_loc0, "" AS buff_loc2, "" AS buff_loc3, "" AS buff_loc6, "" AS buff_loc8, + CONCAT("Serverside - ",Comment) AS name_loc0,CONCAT("Serverside - ",Comment) AS name_loc2,CONCAT("Serverside - ",Comment) AS name_loc3,CONCAT("Serverside - ",Comment) AS name_loc4,CONCAT("Serverside - ",Comment) AS name_loc6,CONCAT("Serverside - ",Comment) AS name_loc8, + "" AS rank_loc0, "" AS rank_loc2, "" AS rank_loc3, "" AS rank_loc4, "" AS rank_loc6, "" AS rank_loc8, + "" AS description_loc0, "" AS description_loc2, "" AS description_loc3, "" AS description_loc4, "" AS description_loc6, "" AS description_loc8, + "" AS buff_loc0, "" AS buff_loc2, "" AS buff_loc3, "" AS buff_loc4, "" AS buff_loc6, "" AS buff_loc8, 0 AS powerCostPercent, 0 AS startRecoveryCategory, 0 AS startRecoveryTime, @@ -178,10 +178,10 @@ function spell() effect1BonusMultiplier, effect2BonusMultiplier, effect3BonusMultiplier, 0 AS iconId, iconId AS iconIdBak, 0 AS iconIdAlt, 0 AS rankId, spellVisualId1, - name_loc0, name_loc2, name_loc3, name_loc6, name_loc8, - rank_loc0, rank_loc2, rank_loc3, rank_loc6, rank_loc8, - description_loc0, description_loc2, description_loc3, description_loc6, description_loc8, - buff_loc0, buff_loc2, buff_loc3, buff_loc6, buff_loc8, + name_loc0, name_loc2, name_loc3, name_loc4, name_loc6, name_loc8, + rank_loc0, rank_loc2, rank_loc3, rank_loc4, rank_loc6, rank_loc8, + description_loc0, description_loc2, description_loc3, description_loc4, description_loc6, description_loc8, + buff_loc0, buff_loc2, buff_loc3, buff_loc4, buff_loc6, buff_loc8, maxTargetLevel, spellFamilyId, spellFamilyFlags1, spellFamilyFlags2, spellFamilyFlags3, diff --git a/setup/tools/sqlgen/taxi.func.php b/setup/tools/sqlgen/taxi.func.php index f6b09084..44b32e27 100644 --- a/setup/tools/sqlgen/taxi.func.php +++ b/setup/tools/sqlgen/taxi.func.php @@ -56,7 +56,7 @@ function taxi() // path & nodes 0 AS typeId, 1 AS reactA, 1 AS reactH, - tn.name_loc0, tn.name_loc2, tn.name_loc3, tn.name_loc6, tn.name_loc8, + tn.name_loc0, tn.name_loc2, tn.name_loc3, tn.name_loc4, tn.name_loc6, tn.name_loc8, tn.mapId AS origMap, tn.posX AS origPosX, tn.posY AS origPosY @@ -87,7 +87,7 @@ function taxi() // path & nodes 0 AS typeId, 1 AS reactA, 1 AS reactH, - tn.name_loc0, tn.name_loc2, tn.name_loc3, tn.name_loc6, tn.name_loc8, + tn.name_loc0, tn.name_loc2, tn.name_loc3, tn.name_loc4, tn.name_loc6, tn.name_loc8, tn.mapId AS origMap, tn.posX AS origPosX, tn.posY AS origPosY diff --git a/setup/tools/sqlgen/titles.func.php b/setup/tools/sqlgen/titles.func.php index cb0cd58d..23625b47 100644 --- a/setup/tools/sqlgen/titles.func.php +++ b/setup/tools/sqlgen/titles.func.php @@ -49,7 +49,7 @@ function titles() WHERE qt.RewardTitle <> 0'; - DB::Aowow()->query('REPLACE INTO ?_titles SELECT id, 0, 0, 0, 0, 0, 0, 0, bitIdx, male_loc0, male_loc2, male_loc3, male_loc6, male_loc8, female_loc0, female_loc2, female_loc3, female_loc6, female_loc8 FROM dbc_chartitles'); + DB::Aowow()->query('REPLACE INTO ?_titles SELECT id, 0, 0, 0, 0, 0, 0, 0, bitIdx, male_loc0, male_loc2, male_loc3, male_loc4, male_loc6, male_loc8, female_loc0, female_loc2, female_loc3, female_loc4, female_loc6, female_loc8 FROM dbc_chartitles'); // hide unused titles DB::Aowow()->query('UPDATE ?_titles SET cuFlags = ?d WHERE id BETWEEN 85 AND 123 AND id NOT IN (113, 120, 121, 122)', CUSTOM_EXCLUDE_FOR_LISTVIEW); diff --git a/setup/tools/sqlgen/zones.func.php b/setup/tools/sqlgen/zones.func.php index 2d5dde11..f044fb6c 100644 --- a/setup/tools/sqlgen/zones.func.php +++ b/setup/tools/sqlgen/zones.func.php @@ -85,6 +85,7 @@ function zones() IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc0, m.name_loc0), IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc2, m.name_loc2), IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc3, m.name_loc3), + IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc4, m.name_loc4), IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc6, m.name_loc6), IF(wma.id IS NULL OR m.areaType = 0 OR a.mapId IN (269, 560) OR a.areaTable, a.name_loc8, m.name_loc8) FROM diff --git a/setup/updates/1525726941_01.sql b/setup/updates/1525726941_01.sql new file mode 100644 index 00000000..0cc98418 --- /dev/null +++ b/setup/updates/1525726941_01.sql @@ -0,0 +1,121 @@ +ALTER TABLE `aowow_achievement` + ADD COLUMN `name_loc4` VARCHAR(86) NOT NULL AFTER `name_loc3`, + ADD COLUMN `description_loc4` TEXT NOT NULL AFTER `description_loc3`, + ADD COLUMN `reward_loc4` VARCHAR(92) NOT NULL AFTER `reward_loc3`; + +ALTER TABLE `aowow_achievementcategory` + ADD COLUMN `name_loc4` VARCHAR(255) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_achievementcriteria` + ADD COLUMN `name_loc4` VARCHAR(128) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_announcements` + ADD COLUMN `text_loc4` TEXT NOT NULL AFTER `text_loc3`; + +ALTER TABLE `aowow_classes` + ADD COLUMN `name_loc4` VARCHAR(128) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_creature` + ADD COLUMN `name_loc4` VARCHAR(100) NULL DEFAULT NULL AFTER `name_loc3`, + ADD COLUMN `subname_loc4` VARCHAR(100) NULL DEFAULT NULL AFTER `subname_loc3`; + +ALTER TABLE `aowow_currencies` + ADD COLUMN `name_loc4` VARCHAR(64) NOT NULL AFTER `name_loc3`, + ADD COLUMN `description_loc4` VARCHAR(256) NOT NULL AFTER `description_loc3`; + +ALTER TABLE `aowow_emotes` + ADD COLUMN `target_loc4` VARCHAR(95) NULL DEFAULT NULL AFTER `target_loc3`, + ADD COLUMN `noTarget_loc4` VARCHAR(85) NULL DEFAULT NULL AFTER `noTarget_loc3`, + ADD COLUMN `self_loc4` VARCHAR(85) NULL DEFAULT NULL AFTER `self_loc3`; + +ALTER TABLE `aowow_factions` + ADD COLUMN `name_loc4` VARCHAR(40) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_holidays` + ADD COLUMN `name_loc4` VARCHAR(36) NOT NULL AFTER `name_loc3`, + ADD COLUMN `description_loc4` TEXT NULL AFTER `description_loc3`; + +ALTER TABLE `aowow_home_featuredbox` + ADD COLUMN `text_loc4` TEXT NOT NULL AFTER `text_loc3`; + +ALTER TABLE `aowow_home_featuredbox_overlay` + ADD COLUMN `title_loc4` VARCHAR(100) NOT NULL AFTER `title_loc3`; + +ALTER TABLE `aowow_home_oneliner` + ADD COLUMN `text_loc4` VARCHAR(200) NOT NULL AFTER `text_loc3`; + +ALTER TABLE `aowow_itemenchantment` + ADD COLUMN `name_loc4` VARCHAR(100) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_itemlimitcategory` + ADD COLUMN `name_loc4` VARCHAR(34) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_itemrandomenchant` + ADD COLUMN `name_loc4` VARCHAR(250) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_items` + ADD COLUMN `name_loc4` VARCHAR(127) NULL DEFAULT NULL AFTER `name_loc3`, + ADD COLUMN `description_loc4` VARCHAR(255) NULL DEFAULT NULL AFTER `description_loc3`; + +ALTER TABLE `aowow_itemset` + ADD COLUMN `name_loc4` VARCHAR(255) NOT NULL AFTER `name_loc3`, + ADD COLUMN `bonusText_loc4` VARCHAR(256) NOT NULL AFTER `bonusText_loc3`; + +ALTER TABLE `aowow_mailtemplate` + ADD COLUMN `subject_loc4` VARCHAR(128) NOT NULL AFTER `subject_loc3`, + ADD COLUMN `text_loc4` TEXT NOT NULL AFTER `text_loc3`; + +ALTER TABLE `aowow_objects` + ADD COLUMN `name_loc4` VARCHAR(100) NULL DEFAULT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_pet` + ADD COLUMN `name_loc4` VARCHAR(64) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_quests` + ADD COLUMN `name_loc4` TEXT NULL AFTER `name_loc3`, + ADD COLUMN `objectives_loc4` TEXT NULL AFTER `objectives_loc3`, + ADD COLUMN `details_loc4` TEXT NULL AFTER `details_loc3`, + ADD COLUMN `end_loc4` TEXT NULL AFTER `end_loc3`, + ADD COLUMN `offerReward_loc4` TEXT NULL AFTER `offerReward_loc3`, + ADD COLUMN `requestItems_loc4` TEXT NULL AFTER `requestItems_loc3`, + ADD COLUMN `completed_loc4` TEXT NULL AFTER `completed_loc3`, + ADD COLUMN `objectiveText1_loc4` TEXT NULL AFTER `objectiveText1_loc3`, + ADD COLUMN `objectiveText2_loc4` TEXT NULL AFTER `objectiveText2_loc3`, + ADD COLUMN `objectiveText3_loc4` TEXT NULL AFTER `objectiveText3_loc3`, + ADD COLUMN `objectiveText4_loc4` TEXT NULL AFTER `objectiveText4_loc3`; + +ALTER TABLE `aowow_races` + ADD COLUMN `name_loc4` VARCHAR(64) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_skillline` + ADD COLUMN `name_loc4` VARCHAR(64) NOT NULL AFTER `name_loc3`, + ADD COLUMN `description_loc4` TEXT NOT NULL AFTER `description_loc3`; + +ALTER TABLE `aowow_sourcestrings` + ADD COLUMN `source_loc4` VARCHAR(128) NOT NULL AFTER `source_loc3`; + +ALTER TABLE `aowow_spell` + ADD COLUMN `name_loc4` VARCHAR(85) NOT NULL AFTER `name_loc3`, + ADD COLUMN `rank_loc4` VARCHAR(22) NOT NULL AFTER `rank_loc3`, + ADD COLUMN `description_loc4` TEXT NOT NULL AFTER `description_loc3`, + ADD COLUMN `buff_loc4` TEXT NOT NULL AFTER `buff_loc3`; + +ALTER TABLE `aowow_spellfocusobject` + ADD COLUMN `name_loc4` VARCHAR(95) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_spellrange` + ADD COLUMN `name_loc4` VARCHAR(27) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_taxinodes` + ADD COLUMN `name_loc4` VARCHAR(55) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_titles` + ADD COLUMN `male_loc4` VARCHAR(37) NOT NULL AFTER `male_loc3`, + ADD COLUMN `female_loc4` VARCHAR(39) NOT NULL AFTER `female_loc3`; + +ALTER TABLE `aowow_totemcategory` + ADD COLUMN `name_loc4` VARCHAR(31) NOT NULL AFTER `name_loc3`; + +ALTER TABLE `aowow_zones` + ADD COLUMN `name_loc4` VARCHAR(120) NOT NULL AFTER `name_loc3`; + diff --git a/setup/updates/1525726941_02.sql b/setup/updates/1525726941_02.sql new file mode 100644 index 00000000..784944a3 --- /dev/null +++ b/setup/updates/1525726941_02.sql @@ -0,0 +1,34 @@ +-- drop deprecated dbc data +DROP TABLE IF EXISTS `dbc_achievement_category`; +DROP TABLE IF EXISTS `dbc_achievement_criteria`; +DROP TABLE IF EXISTS `dbc_achievement`; +DROP TABLE IF EXISTS `dbc_areatable`; +DROP TABLE IF EXISTS `dbc_chartitles`; +DROP TABLE IF EXISTS `dbc_chrclasses`; +DROP TABLE IF EXISTS `dbc_creaturefamily`; +DROP TABLE IF EXISTS `dbc_emotestexxtdata`; +DROP TABLE IF EXISTS `dbc_faction`; +DROP TABLE IF EXISTS `dbc_holidaydescriptions`; +DROP TABLE IF EXISTS `dbc_holidaynames`; +DROP TABLE IF EXISTS `dbc_itemlimitcategory`; +DROP TABLE IF EXISTS `dbc_itemrandomproperties`; +DROP TABLE IF EXISTS `dbc_itemrandomsuffix`; +DROP TABLE IF EXISTS `dbc_itemset`; +DROP TABLE IF EXISTS `dbc_lfgdungeons`; +DROP TABLE IF EXISTS `dbc_mailtemplate`; +DROP TABLE IF EXISTS `dbc_map`; +DROP TABLE IF EXISTS `dbc_skillline`; +DROP TABLE IF EXISTS `dbc_spell`; +DROP TABLE IF EXISTS `dbc_spellfocusobject`; +DROP TABLE IF EXISTS `dbc_spellitemenchantment`; +DROP TABLE IF EXISTS `dbc_spellrange`; +DROP TABLE IF EXISTS `dbc_spellshapeshiftform`; +DROP TABLE IF EXISTS `dbc_talenttab`; +DROP TABLE IF EXISTS `dbc_taxinodes`; +DROP TABLE IF EXISTS `dbc_totemcategory`; + +-- update config +UPDATE `aowow_config` SET `comment` = 'default: 0x15D - allowed locales - 0:English, 2:French, 3:German, 4:Chinese, 6:Spanish, 8:Russian' WHERE `key` = 'locales'; + +-- rebuild affected files +UPDATE `aowow_dbversion` SET `sql` = CONCAT(IFNULL(`sql`, ''), ' achievementcategory achievementcriteria itemenchantment itemlimitcategory mailtemplate spellfocusobject spellrange totemcategory classes factions holidays itemrandomenchant races shapeshiftforms skillline emotes achievement creature currencies objects pet quests spell taxi titles items zones itemset'), `build` = CONCAT(IFNULL(`build`, ''), ' complexImg locales statistics talentCalc pets glyphs itemsets enchants gems profiler'); diff --git a/static/ZYHei.ttf b/static/ZYHei.ttf new file mode 100644 index 00000000..0d787a30 Binary files /dev/null and b/static/ZYHei.ttf differ diff --git a/static/css/locale_zhcn.css b/static/css/locale_zhcn.css new file mode 100644 index 00000000..4df5a2bf --- /dev/null +++ b/static/css/locale_zhcn.css @@ -0,0 +1,114 @@ +/* >>> custom >>> */ +@font-face { + font-family: ZYHei; + src: url(../ZYHei.ttf) format('truetype'); +} + +.wowhead-tooltip td, .wowhead-tooltip th { + font-family: ZYHei; + font-size: 15px; + line-height: 20px; +} + +.listview-mode-default th { + line-height: 21px; +} + +/* <<< custom <<< */ + +div.modelviewer-quality div { + float: left; + width: 61px; + height: 22px; + margin-right: 10px; + background: url(../images/zhcn/modelviewer-picshures.gif) left center no-repeat; +} + +div.modelviewer-model div { + margin-left: 40px; + margin-right: 10px; + float: left; + width: 50px; + height: 22px; + background: url(../images/zhcn/modelviewer-picshures.gif) -506px center no-repeat; +} + +a.modelviewer-help span { + display: block; + width: 52px; + height: 22px; + background: url(../images/zhcn/modelviewer-picshures.gif) -100px center no-repeat; +} + +a:hover.modelviewer-help span { + background-position: -200px center; +} + +a.modelviewer-close span { + display: block; + width: 66px; + height: 22px; + background: url(../images/zhcn/modelviewer-picshures.gif) -300px center no-repeat; +} + +a:hover.modelviewer-close span { + background-position: -400px center; +} + +a.screenshotviewer-prev b { + display: block; + width: 88px; + height: 22px; + background: url(../images/zhcn/screenshotviewer-picshures.gif?2) -200px center no-repeat; +} + +a.screenshotviewer-next b { + display: block; + width: 53px; + height: 22px; + background: url(../images/zhcn/screenshotviewer-picshures.gif?2) -300px center no-repeat; +} + +a.screenshotviewer-cover span { + width: 66px; + height: 22px; +} + +a.screenshotviewer-cover b { + display: block; + width: 66px; + height: 22px; + background: url(../images/zhcn/screenshotviewer-picshures.gif?2) -100px center no-repeat; +} + +a.screenshotviewer-original span { + display: block; + width: 93px; + height: 22px; + background: url(../images/zhcn/screenshotviewer-picshures.gif?2) -400px center no-repeat; +} + +a:hover.screenshotviewer-original span { + background-position: -500px center; +} + +a.screenshotviewer-close span { + display: block; + width: 66px; + height: 22px; + background: url(../images/zhcn/screenshotviewer-picshures.gif?2) 0 center no-repeat; +} + +a:hover.screenshotviewer-close span { + background-position: -100px center; +} + +#su_searchbox { + left: -25px !important; +} + +/* +#su_weights { + width: 550px !important; +} + */ diff --git a/static/images/zhcn/character.gif b/static/images/zhcn/character.gif new file mode 100644 index 00000000..975fc888 Binary files /dev/null and b/static/images/zhcn/character.gif differ diff --git a/static/images/zhcn/mainpage-bg-news.jpg b/static/images/zhcn/mainpage-bg-news.jpg new file mode 100644 index 00000000..804ff3a3 Binary files /dev/null and b/static/images/zhcn/mainpage-bg-news.jpg differ diff --git a/static/images/zhcn/modelviewer-picshures.gif b/static/images/zhcn/modelviewer-picshures.gif new file mode 100644 index 00000000..d200a698 Binary files /dev/null and b/static/images/zhcn/modelviewer-picshures.gif differ diff --git a/static/images/zhcn/screenshotviewer-picshures.gif b/static/images/zhcn/screenshotviewer-picshures.gif new file mode 100644 index 00000000..76e24898 Binary files /dev/null and b/static/images/zhcn/screenshotviewer-picshures.gif differ diff --git a/static/js/Markup.js b/static/js/Markup.js index b00ceefe..5d23ba60 100644 --- a/static/js/Markup.js +++ b/static/js/Markup.js @@ -29,7 +29,7 @@ MarkupSourceMap[MARKUP_SOURCE_BETA] = 'beta'; var MarkupDomainRegexMap = { betaPtrLang: /^(beta|legion|wod|mop|ptr|www|ko|fr|de|cn|es|ru|pt|it)$/, - lang: /^(www|fr|de|es|ru)$/ // Aowowo - /^(www|ko|fr|de|cn|es|ru|pt|it)$/ + lang: /^(www|fr|de|cn|es|ru)$/ // Aowowo - /^(www|ko|fr|de|cn|es|ru|pt|it)$/ }; var Markup = { @@ -75,6 +75,7 @@ var Markup = { 'mop': 'beta', 'fr': 'frfr', 'de': 'dede', + 'cn': 'zhcn', 'es': 'eses', 'ru': 'ruru', 'pt': 'ptbr' diff --git a/static/js/basic.js b/static/js/basic.js index 50f387fc..46758474 100644 --- a/static/js/basic.js +++ b/static/js/basic.js @@ -909,6 +909,7 @@ $WH.g_getLocaleFromDomain = function(domain) { $WH.g_getLocaleFromDomain.L = { fr: 2, de: 3, + cn: 4, es: 6, ru: 8, www: 0 diff --git a/static/js/locale_dede.js b/static/js/locale_dede.js index 7936dc2d..58a3caf8 100644 --- a/static/js/locale_dede.js +++ b/static/js/locale_dede.js @@ -3089,6 +3089,7 @@ var LANG = { tab_skills: "Fertigkeiten", tab_skinnedfrom: "Gekürschnert von", tab_skinning: "Kürschnerei", + tab_socketbonus: "Sockelbonus", // aowow - custom tab_soldby: "Verkauft von", tab_spells: "Zauber", tab_starts: "Startet Quests", diff --git a/static/js/locale_enus.js b/static/js/locale_enus.js index b79522c0..e0fe9a4d 100644 --- a/static/js/locale_enus.js +++ b/static/js/locale_enus.js @@ -3138,6 +3138,7 @@ var LANG = { tab_skills: "Skills", tab_skinnedfrom: "Skinned from", tab_skinning: "Skinning", + tab_socketbonus: "Socket Bonus", // aowow - custom tab_soldby: "Sold by", tab_spells: "Spells", tab_starts: "Starts", diff --git a/static/js/locale_eses.js b/static/js/locale_eses.js index d3206d07..aecc97e6 100644 --- a/static/js/locale_eses.js +++ b/static/js/locale_eses.js @@ -2670,7 +2670,7 @@ var LANG = { lvpage_next: "Siguiente ", lvpage_last: "Última ", - lvsearchresults: "Buscar en resultados", + lvsearchresults: "Buscar en resultados", lvsearchdisplayedresults: "Buscar en los resultados mostrados", lvscreenshot_submit: "Envia una captura de pantalla", @@ -3089,6 +3089,7 @@ var LANG = { tab_skills: "Habilidades", tab_skinnedfrom: "Desollado de", tab_skinning: "Desuello", + tab_socketbonus: "Bono de ranura", // aowow - custom tab_soldby: "Vendido por", tab_spells: "Hechizos", tab_starts: "Empieza", diff --git a/static/js/locale_frfr.js b/static/js/locale_frfr.js index 2c8a2ff3..26d32a6a 100644 --- a/static/js/locale_frfr.js +++ b/static/js/locale_frfr.js @@ -3091,6 +3091,7 @@ var LANG = { tab_skills: "Compétences", tab_skinnedfrom: "Dépecé depuis", tab_skinning: "Dépeçage", + tab_socketbonus: "Bonus de châsse", // aowow - custom tab_soldby: "Vendu par", tab_spells: "Sorts", tab_starts: "Débute", diff --git a/static/js/locale_ruru.js b/static/js/locale_ruru.js index 26341612..d053c893 100644 --- a/static/js/locale_ruru.js +++ b/static/js/locale_ruru.js @@ -3091,6 +3091,7 @@ var LANG = { tab_skills: "Умения", tab_skinnedfrom: "Снимается с", tab_skinning: "Снятие шкур", + tab_socketbonus: "При соответствии цвета", // aowow - custom tab_soldby: "Продается у", tab_spells: "Заклинания", tab_starts: "Начинает", diff --git a/static/js/locale_zhcn.js b/static/js/locale_zhcn.js new file mode 100644 index 00000000..8cdc1849 --- /dev/null +++ b/static/js/locale_zhcn.js @@ -0,0 +1,4593 @@ +var l_reputation_names = [ + '', // 0 + "注册账户", + "每日访问", + "发表评论", + "评论被顶", + "评论被踩", + "提交屏幕截图", + "投票", + "已上传的数据", + "举报通过审核", + "举报被拒绝", // 10 + "铜牌成就", + "银牌成就", + "金牌成就", + 'Test 1', + 'Test 2', + "指南通过审核", + "管理员警告", + "管理员封号" +]; + +var mn_classes = [ + [6,"死亡骑士",,,{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊",,,{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人",,,{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师",,,{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士",,,{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师",,,{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者",,,{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满",,,{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士",,,{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士",,,{className:"c1",tinyIcon:"class_warrior"}] +]; +var mn_races = [ + [,"联盟",,,{tinyIcon:"side_alliance"}], + [11,"德莱尼",,,{tinyIcon:"race_draenei_female"}], + [3,"矮人",,,{tinyIcon:"race_dwarf_female"}], + [7,"侏儒",,,{tinyIcon:"race_gnome_female"}], + [1,"人类",,,{tinyIcon:"race_human_female"}], + [4,"暗夜精灵",,,{tinyIcon:"race_nightelf_female"}], + [,"部落",,,{tinyIcon:"side_horde"}], + [10,"血精灵",,,{tinyIcon:"race_bloodelf_female"}], + [2,"兽人",,,{tinyIcon:"race_orc_female"}], + [6,"牛头人",,,{tinyIcon:"race_tauren_female"}], + [8,"巨魔",,,{tinyIcon:"race_troll_female"}], + [5,"亡灵",,,{tinyIcon:"race_scourge_female"}] +]; +var mn_items = [ + [2,"武器",,[ + [,"单手",'?items=2&filter=ty=15:13:0:4:7'], + [15,"匕首"], + [13,"拳套"], + [0,"单手斧"], + [4,"单手杖"], + [7,"单手剑"], + [,"双手",'?items=2&filter=ty=6:10:1:5:8'], + [6,"长柄武器"], + [10,"法杖"], + [1,"双手斧"], + [5,"双手锤"], + [8,"双手剑"], + [,"远程",'?items=2&filter=ty=2:18:3:16:19'], + [2,"弓"], + [18,"弩"], + [3,"枪"], + [16,"投掷"], + [19,"魔杖"], + [,"其他",'?items=2&filter=ty=20:14'], + [20,"钓鱼竿"], + [14,"杂项"] + ]], + [4,"护甲",,[ + [,"类型",'?items=4&filter=ty=1:2:3:4'], + [1,"布甲",,[ + [5,"胸","?items=4.1&filter=sl=5"], + [8,"脚","?items=4.1&filter=sl=8"], + [10,"手","?items=4.1&filter=sl=10"], + [1,"头","?items=4.1&filter=sl=1"], + [7,"腿","?items=4.1&filter=sl=7"], + [3,"肩膀","?items=4.1&filter=sl=3"], + [6,"腰","?items=4.1&filter=sl=6"], + [9,"手腕","?items=4.1&filter=sl=9"] + ]], + [2,"皮甲",,[ + [5,"胸","?items=4.2&filter=sl=5"], + [8,"脚","?items=4.2&filter=sl=8"], + [10,"手","?items=4.2&filter=sl=10"], + [1,"头","?items=4.2&filter=sl=1"], + [7,"腿","?items=4.2&filter=sl=7"], + [3,"肩膀","?items=4.2&filter=sl=3"], + [6,"腰","?items=4.2&filter=sl=6"], + [9,"手腕","?items=4.2&filter=sl=9"] + ]], + [3,"锁甲",,[ + [5,"胸","?items=4.3&filter=sl=5"], + [8,"脚","?items=4.3&filter=sl=8"], + [10,"手","?items=4.3&filter=sl=10"], + [1,"头","?items=4.3&filter=sl=1"], + [7,"腿","?items=4.3&filter=sl=7"], + [3,"肩膀","?items=4.3&filter=sl=3"], + [6,"腰","?items=4.3&filter=sl=6"], + [9,"手腕","?items=4.3&filter=sl=9"] + ]], + [4,"板甲",,[ + [5,"胸","?items=4.4&filter=sl=5"], + [8,"脚","?items=4.4&filter=sl=8"], + [10,"手","?items=4.4&filter=sl=10"], + [1,"头","?items=4.4&filter=sl=1"], + [7,"腿","?items=4.4&filter=sl=7"], + [3,"肩膀","?items=4.4&filter=sl=3"], + [6,"腰","?items=4.4&filter=sl=6"], + [9,"手腕","?items=4.4&filter=sl=9"] + ]], + [,"其他",'?items=4&filter=ty=-6:-5:-7:6:-8:0'], + [-6,"斗篷"], + [-5,"副手"], + [6,"盾"], + [-8,"衬衫"], + [-7,"战袍"], + [0,"杂项"], + [,"饰品",'?items=4&filter=ty=-3:-2:-4'], + [-3,"项链"], + [-2,"戒指"], + [-4,"饰品"], + [,"圣物",'?items=4&filter=ty=7:8:9:10'], + [8,"神像"], + [7,"圣契"], + [9,"图腾"], + [10,"魔印"] + ]], + [1,"容器",,[ + [0,"背包"], + [3,"附魔材料包"], + [4,"工程学材料包"], + [5,"宝石袋"], + [2,"草药包"], + [8,"铭文包"], + [7,"制皮材料包"], + [6,"矿石袋"], + [1,"灵魂袋"] + ]], + [0,"消耗品",,[ + [7,"绷带"], + [0,"消耗品"], + [2,"药剂",,[[1,"战斗"],[2,"守护"]]], + [3,"合剂"], + [5,"食物和饮料"], + [6,"物品强化(永久)"], + [-3,"物品强化(临时)"], + [1,"药水"], + [4,"卷轴"], + [8,"其他"] + ]], + [16,"雕文",,[ + [6,"死亡骑士",,[[1,"大"],[2,"小"]],{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊",,[[1,"大"],[2,"小"]],{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人",,[[1,"大"],[2,"小"]],{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师",,[[1,"大"],[2,"小"]],{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士",,[[1,"大"],[2,"小"]],{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师",,[[1,"大"],[2,"小"]],{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者",,[[1,"大"],[2,"小"]],{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满",,[[1,"大"],[2,"小"]],{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士",,[[1,"大"],[2,"小"]],{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士",,[[1,"大"],[2,"小"]],{className:"c1",tinyIcon:"class_warrior"}] + ]], + [7,"贸易品",,[ + [14,"护甲附魔"], + [5,"布甲"], + [3,"装置"], + [10,"元素"], + [12,"附魔"], + [2,"爆炸物"], + [9,"草药"], + [4,"珠宝加工"], + [6,"皮甲"], + [13,"原料"], + [8,"肉类"], + [7,"金属和矿石"], + [1,"零件"], + [15,"武器附魔"], + [11,"其他"] + ]], + [6,"弹药",,[[2,"箭"],[3,"子弹"]]], + [11,"箭袋",,[[3,"弹药袋"],[2,"箭袋"]]], + [9,"配方",,[ + [0,"书籍",,,{tinyIcon:"inv_misc_book_03"}], + [6,"炼金术",,,{tinyIcon:"trade_alchemy"}], + [4,"锻造",,,{tinyIcon:"trade_blacksmithing"}], + [5,"烹饪",,,{tinyIcon:"inv_misc_food_15"}], + [8,"附魔",,,{tinyIcon:"trade_engraving"}], + [3,"工程学",,,{tinyIcon:"trade_engineering"}], + [7,"急救",,,{tinyIcon:"spell_holy_sealofsacrifice"}], + [9,"钓鱼",,,{tinyIcon:"trade_fishing"}], + [11,"铭文",,,{tinyIcon:'inv_inscription_tradeskill01'}], + [10,"珠宝加工",,,{tinyIcon:"inv_misc_gem_01"}], + [1,"制皮",,,{tinyIcon:"inv_misc_armorkit_17"}], + [12,"采矿",,,{tinyIcon:'trade_mining'}], + [2,"裁缝",,,{tinyIcon:"trade_tailoring"}] + ]], + [3,"珠宝",,[ + [,"颜色"], + [6,"多彩",,,{className:"gem1"}], + [0,"红色",,,{className:"gem2"}], + [1,"蓝色",,,{className:"gem8"}], + [2,"黄色",,,{className:"gem4"}], + [3,"紫色",,,{className:"gem10"}], + [4,"绿色",,,{className:"gem12"}], + [5,"橙色",,,{className:"gem6"}], + [8,"棱彩",,,{className:"gem14"}], + [,"其他"], + [7,"简单"] + ]], + [15,"杂项",,[ + [-2,"护甲兑换"], + [3,"节日"], + [0,"垃圾"], + [1,"施法材料"], + [5,"坐骑"], + [-7,"飞行"], + [2,"伙伴"], + [4,"其他"] + ]], + [10,"货币"], + [12,"任务"], + [13,"钥匙"] +]; +var mn_itemSets = [ + [,"按职业"], + [6,"死亡骑士",,,{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊",,,{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人",,,{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师",,,{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士",,,{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师",,,{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者",,,{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满",,,{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士",,,{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士",,,{className:"c1",tinyIcon:"class_warrior"}] +]; +var mn_npcs = [ + [1,"野兽",,[ + [24,"蝙蝠","?npcs=1&filter=fa=24"], + [4,"熊","?npcs=1&filter=fa=4"], + [26,"猛禽","?npcs=1&filter=fa=26"], + [5,"野猪","?npcs=1&filter=fa=5"], + [7,"食腐鸟","?npcs=1&filter=fa=7"], + [2,"豹","?npcs=1&filter=fa=2"], + [38,"奇美拉","?npcs=1&filter=fa=38"], + [45,"熔岩犬","?npcs=1&filter=fa=45"], + [8,"螃蟹","?npcs=1&filter=fa=8"], + [6,"鳄鱼","?npcs=1&filter=fa=6"], + [39,"魔暴龙","?npcs=1&filter=fa=39"], + [30,"龙鹰","?npcs=1&filter=fa=30"], + [9,"猩猩","?npcs=1&filter=fa=9"], + [25,"土狼","?npcs=1&filter=fa=25"], + [37,"蛾子","?npcs=1&filter=fa=37"], + [34,"虚空鳐","?npcs=1&filter=fa=34"], + [11,"迅猛龙","?npcs=1&filter=fa=11"], + [31,"掠食者","?npcs=1&filter=fa=31"], + [43,"犀牛","?npcs=1&filter=fa=43"], + [20,"蝎子","?npcs=1&filter=fa=20"], + [35,"蛇","?npcs=1&filter=fa=35"], + [41,"异种虫","?npcs=1&filter=fa=41"], + [3,"蜘蛛","?npcs=1&filter=fa=3"], + [46,"灵魂兽","?npcs=1&filter=fa=46"], + [33,"孢子蝠","?npcs=1&filter=fa=33"], + [12,"陆行鸟","?npcs=1&filter=fa=12"], + [21,"海龟","?npcs=1&filter=fa=21"], + [32,"迁跃捕猎者","?npcs=1&filter=fa=32"], + [44,"巨蜂","?npcs=1&filter=fa=44"], + [27,"风蛇","?npcs=1&filter=fa=27"], + [1,"狼","?npcs=1&filter=fa=1"], + [42,"蠕虫","?npcs=1&filter=fa=42"] + ]], + [8,"小生物"], + [3,"恶魔"], + [2,"龙类"], + [4,"元素"], + [5,"巨人"], + [7,"人型"], + [9,"机械"], + [6,"亡灵"], + [10,"未分类"], + [11,"图腾"], + [12,"非战斗宠物"], + [13,"气体云雾"] +]; +var mn_objects = [ + [9,"书籍"], + [3,"容器"], + [-5,"提箱"], + [25,"钓鱼池"], + [-3,"草药"], + [-4,"矿点"], + [-2,"任务"], + [-6,"工具"] +]; +var mn_quests = [ + [,"大陆"], + [0,"东部王国",,[ + [1,"丹莫罗", , [[132, "寒脊山谷", "?quests=0.132"]]], // Dun Morogh, + [3,"荒芜之地"], // Badlands, + [4,"诅咒之地"], // Blasted Lands, + [8,"悲伤沼泽"], // Swamp of Sorrows, + [10,"暮色森林"], // Duskwood, + [11,"湿地"], // Wetlands, + [12,"艾尔文森林", , [[9, "北郡山谷", "?quests=0.9"]]], // Elwynn Forest, + [28,"西瘟疫之地"], // Western Plaguelands, + [33,"荆棘谷"], // Stranglethorn Vale, + [36,"奥特兰克山脉"], // Alterac Mountains, + [38,"洛克莫丹"], // Loch Modan, + [40,"西部荒野"], // Westfall, + [41,"逆风小径"], // Deadwind Pass, + [44,"赤脊山"], // Redridge Mountains, + [45,"阿拉希高地"], // Arathi Highlands, + [46,"燃烧平原", , [[25, "黑石山", "?quests=0.25"]]], // Burning Steppes, + [47,"辛特兰"], // The Hinterlands, + [51,"灼热峡谷"], // Searing Gorge, + [85,"提瑞斯法林地", , [[154, "丧钟镇", "?quests=0.154"]]], // Tirisfal Glades, + [130,"银松森林"], // Silverpine Forest, + [139,"东瘟疫之地"], // Eastern Plaguelands, + [267,"希尔斯布莱德丘陵"], // Hillsbrad Foothills, + [1497,"幽暗城"], // Undercity, + [1519,"暴风城"], // Stormwind City, + [1537,"铁炉堡"], // Ironforge, + [2257,"矿道地铁"], // Deeprun Tram, + [3430,"永歌森林", , [[3431, "逐日岛", "?quests=0.3431"]]], // Eversong Woods, + [3433,"幽魂之地"], // Ghostlands, + [3487,"银月城"], // Silvermoon City, + [4080,"奎尔丹纳斯岛"], // Isle of Quel'Danas, + [4298,"血色领地"] // Plaguelands: The Scarlet Enclave, + ]], + [1,"卡利姆多",,[ + [14,"杜隆塔尔", , [[363, "试炼谷", "?quests=1.363"]]], // Durotar, + [15,"尘泥沼泽"], // Dustwallow Marsh, + [16,"艾萨拉"], // Azshara, + [17,"贫瘠之地"], // The Barrens, + [141,"泰达希尔", , [[188, "幽影谷", "?quests=1.188"]]], // Teldrassil, + [148,"黑海岸"], // Darkshore, + [215,"莫高雷", , [[220, "红云台地", "?quests=1.220"]]], // Mulgore, + [331,"灰谷"], // Ashenvale, + [357,"菲拉斯"], // Feralas, + [361,"费伍德森林", , [[1769, "木喉要塞", "?quests=1.1769"]]], // Felwood, + [400,"千针石林"], // Thousand Needles, + [405,"凄凉之地"], // Desolace, + [406,"石爪山脉"], // Stonetalon Mountains, + [440,"塔纳利斯"], // Tanaris, + [490,"安戈洛环形山"], // Un'Goro Crater, + [493,"月光林地"], // Moonglade, + [618,"冬泉谷"], // Winterspring, + [1377,"希利苏斯"], // Silithus, + [1637,"奥格瑞玛"], // Orgrimmar, + [1638,"雷霆崖"], // Thunder Bluff, + [1657,"达纳苏斯"], // Darnassus, + [3524,"秘蓝岛", , [[3526, "埃门谷", "?quests=1.3526"]]], // Azuremyst Isle, + [3525,"秘血岛"], // Bloodmyst Isle, + [3557,"埃索达"] // The Exodar, + ]], + [8,"外域",,[ + [3483,"地狱火半岛"], // Hellfire Peninsula, + [3518,"纳格兰"], // Nagrand, + [3519,"泰罗卡森林", , [[3679, "斯克提斯", "?quests=8.3679"]]], // Terokkar Forest, + [3520,"影月谷"], // Shadowmoon Valley, + [3521,"赞加沼泽"], // Zangarmarsh, + [3522,"刀锋山"], // Blade's Edge Mountains, + [3523,"虚空风暴"], // Netherstorm, + [3703,"沙塔斯城"] // Shattrath City, + ]], + [10,"诺森德",,[ + [65,"龙骨荒野"], // Dragonblight, + [66,"祖达克"], // Zul'Drak, + [67,"风暴峭壁"], // The Storm Peaks, + [210,"冰冠冰川"], // Icecrown, + [394,"灰熊丘陵"], // Grizzly Hills, + [495,"嚎风峡湾"], // Howling Fjord, + [2817,"晶歌森林"], // Crystalsong Forest, + [3537,"北风苔原", , [[4024, "考达拉", "?quests=10.4024"]]], // Borean Tundra, + [3711,"索拉查盆地"], // Sholazar Basin, + [4197,"冬拥湖"], // Wintergrasp, + [4395,"达拉然"], // Dalaran, + [4742,"洛斯加尔登陆点"] // Hrothgar's Landing, + ]], + [,"其他"], + [2,"地下城",,[ + [206,"乌特加德城堡"], // Utgarde Keep, + [209,"影牙城堡"], // Shadowfang Keep, + [491,"剃刀沼泽"], // Razorfen Kraul, + [717,"监狱"], // The Stockade, + [718,"哀嚎洞穴"], // Wailing Caverns, + [719,"黑暗深渊"], // Blackfathom Deeps, + [721,"诺莫瑞根"], // Gnomeregan, + [722,"剃刀高地"], // Razorfen Downs, + [796,"血色修道院"], // Scarlet Monastery, + [1176,"祖尔法拉克"], // Zul'Farrak, + [1196,"乌特加德之巅"], // Utgarde Pinnacle, + [1337,"奥达曼"], // Uldaman, + [1417,"沉没的神庙"], // Sunken Temple + [1581,"死亡矿井"], // The Deadmines, + [1583,"黑石塔"], // Blackrock Spire, + [1584,"黑石深渊"], // Blackrock Depths, + [1941,"时光之穴", , [ + [2366,"黑色沼泽", "?quests=2.2366"], // The Black Morass, + [2367,"旧希尔斯布莱德丘陵", "?quests=2.2367"], // Old Hillsbrad Foothills, + [4100,"净化斯坦索姆", "?quests=2.4100"] // The Culling of Stratholme, + ]], // Caverns of Time, + [2017,"斯坦索姆"], // Stratholme, + [2057,"通灵学院"], // Scholomance, + [2100,"玛拉顿"], // Maraudon, + [2437,"怒焰裂谷"], // Ragefire Chasm, + [2557,"厄运之槌"], // Dire Maul, + [3535,"地狱火堡垒", , [ + [3562,"地狱火城墙", "?quests=2.3562"], // Hellfire Ramparts, + [3713,"鲜血熔炉", "?quests=2.3713"], // The Blood Furnace, + [3714,"破碎大厅", "?quests=2.3714"] // The Shattered Halls, + ]], // Hellfire Citadel, + [3688, "奥金顿", , [ + [3789,"暗影迷宫", "?quests=2.3789"], // Shadow Labyrinth, + [3790,"奥金尼地穴", "?quests=2.3790"], // Auchenai Crypts, + [3791,"塞泰克大厅", "?quests=2.3791"], // Sethekk Halls, + [3792,"法力陵墓", "?quests=2.3792"] // Mana-Tombs, + ]], // Auchindoun + [3842,"风暴要塞", , [ + [3847,"生态船", "?quests=2.3847"], // The Botanica, + [3848,"禁魔监狱", "?quests=2.3848"], // The Arcatraz, + [3849,"能源舰", "?quests=2.3849"] // The Mechanar, + ]], // Tempest Keep, + [3905,"盘牙水库", , [ + [3715,"蒸汽地窟", "?quests=2.3715"], // The Steamvault, + [3716,"幽暗沼泽", "?quests=2.3716"], // The Underbog, + [3717,"奴隶围栏", "?quests=2.3717"] // The Slave Pens, + ]], // Coilfang Reservoir, + [4131,"魔导师平台"], // Magisters' Terrace, + [4196,"达克萨隆要塞"], // Drak'Tharon Keep, + [4228,"魔环"], // The Oculus, + [4264,"岩石大厅"], // Halls of Stone, + [4265,"魔枢"], // The Nexus, + [4272,"闪电大厅"], // Halls of Lightning, + [4277,"艾卓-尼鲁布"], // Azjol-Nerub, + [4415,"紫罗兰监狱"], // Violet Hold, + [4416,"古达克"], // Gundrak, + [4494,"安卡赫特:古代王国"], // Ahn'kahet: The Old Kingdom, + [4522, "冰冠堡垒", , [ + [4809,"灵魂洪炉", "?quests=2.4809"], // The Forge of Souls, + [4813,"萨隆深渊", "?quests=2.4813"], // Pit of Saron, + [4820,"映像大厅", "?quests=2.4820"] // Halls of Reflection, + ]], // Icecrown Citadel + [4723,"冠军的试炼"] // Trial of the Champion, + ]], + [3,"团队副本",,[ + [1977,"祖尔格拉布"], // Zul'Gurub, + [2159,"奥妮克希亚的巢穴"], // Onyxia's Lair, + [2677,"黑翼之巢"], // Blackwing Lair, + [2717,"熔火之心"], // Molten Core, + [3428,"安其拉"], // Ahn'Qiraj, + [3429,"安其拉废墟"], // Ruins of Ahn'Qiraj, + [3456,"纳克萨玛斯"], // Naxxramas, + [3457,"卡拉赞"], // Karazhan, + [3606,"海加尔峰"], // Hyjal Summit, + [3607,"毒蛇神殿"], // Serpentshrine Cavern, + [3805,"祖阿曼"], // Zul'Aman, + [3836,"玛瑟里顿的巢穴"], // Magtheridon's Lair, + [3845,"风暴要塞"], // Tempest Keep, + [3923,"格鲁尔的巢穴"], // Gruul's Lair, + [3959,"黑暗神殿"], // Black Temple, + [4075,"太阳之井高地"], // Sunwell Plateau, + [4273,"奥杜尔"], // Ulduar, + [4493,"黑曜石圣殿"], // The Obsidian Sanctum, + [4500,"永恒之眼"], // The Eye of Eternity, + [4603,"阿尔卡冯的宝库"], // Vault of Archavon, + [4722,"十字军的试炼"], // Trial of the Crusader, + [4812,"冰冠堡垒"], // Icecrown Citadel, + [4987, "红玉圣殿"] // The Ruby Sanctum + ]], + [4,"职业",,[ + [-61,"术士"], + [-81,"战士"], + [-82,"萨满"], + [-141,"圣骑士"], + [-161,"法师"], + [-162,"潜行者"], + [-261,"猎人"], + [-262,"牧师"], + [-263,"德鲁伊"], + [-372,"死亡骑士"] + ]], + [5,"专业",,[ + [-24,"草药学"], + [-101,"钓鱼"], + [-121,"锻造"], + [-181,"炼金术"], + [-182,"制皮"], + [-201,"工程学"], + [-264,"裁缝"], + [-304,"烹饪"], + [-324,"急救"], + [-371,"铭文"], + [-373,"珠宝加工"] + ]], + [6,"战场",,[ + [-25,"战场"], + [2597,"奥特兰克山谷"], // Alterac Valley, + [3277,"战歌峡谷"], // Warsong Gulch, + [3358,"阿拉希盆地"], // Arathi Basin, + [3820,"风暴之眼"], // Eye of the Storm, + [4384,"远古海滩"], // Strand of the Ancients, + [4710,"征服之岛"] // Isle of Conquest, + ]], + [9,"世界事件",,[ + [-41,"悼念日"], + [-364,"暗月马戏团"], + [-366,"春节"], + [-369,"仲夏火焰节"], + [-370,"美酒节"], + [-374,"复活节"], + [-375,"感恩节"], + [-376,"情人节"], + [-1001,"冬幕节"], + [-1002,"儿童周"], + [-1003,"万圣节"], + [-1005,"收获节"], + ]], + [7,"杂项",,[ + [-1,"史诗"], + [-241,"锦标赛"], + [-344,"传说"], + [-365,"安其拉战争"], + [-367,"声望"], + [-368,"天灾入侵"], + [-1010,"地下城查找器"] + ]], + [-2,"未分类"] +]; +var mn_titles = [ + [0,"一般"], + [4,"任务"], + [1,"PvP"], + [3,"地下城和团队"], + [5,"专业"], + [2,"声望"], + [6,"世界事件"] +]; +var mn_skills = [ + [,"专业","?skills=11"], + [171,"炼金术","?skill=171",,{tinyIcon:"trade_alchemy"}], + [164,"锻造","?skill=164",,{tinyIcon:"trade_blacksmithing"}], + [333,"附魔","?skill=333",,{tinyIcon:"trade_engraving"}], + [202,"工程学","?skill=202",,{tinyIcon:"trade_engineering"}], + [182,"草药学","?skill=182",,{tinyIcon:"spell_nature_naturetouchgrow"}], + [773,"铭文","?skill=773",,{tinyIcon:"inv_inscription_tradeskill01"}], + [755,"珠宝加工","?skill=755",,{tinyIcon:"inv_misc_gem_01"}], + [165,"制皮","?skill=165",,{tinyIcon:"inv_misc_armorkit_17"}], + [186,"采矿","?skill=186",,{tinyIcon:"trade_mining"}], + [393,"剥皮","?skill=393",,{tinyIcon:"inv_misc_pelt_wolf_01"}], + [197,"裁缝","?skill=197",,{tinyIcon:"trade_tailoring"}], + [,"辅助技能","?skills=9"], + [185,"烹饪","?skill=185",,{tinyIcon:"inv_misc_food_15"}], + [129,"急救","?skill=129",,{tinyIcon:"spell_holy_sealofsacrifice"}], + [356,"钓鱼","?skill=356",,{tinyIcon:"trade_fishing"}], + [762,"骑术","?skill=762",,{tinyIcon:"spell_nature_swiftness"}], + [,"其他"], + [8,"护甲精通","?skills=8"], + [10,"语言","?skills=10"], + [6,"武器技能","?skills=6"], + [7,"职业技能","?skills=7"] +]; +var mn_spells = [ + [,"角色"], + [7,"技能",,[ + [6,"死亡骑士",,[[770,"鲜血",,,{tinyIcon:"Spell_Deathknight_BloodPresence"}],[771,"冰霜",,,{tinyIcon:"Spell_Deathknight_FrostPresence"}],[772,"邪恶",,,{tinyIcon:"Spell_Deathknight_UnholyPresence"}],[776,"符文熔铸"]],{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊",,[[574,"平衡",,,{tinyIcon:"Spell_Nature_StarFall"}],[134,"野性战斗",,,{tinyIcon:"Ability_Racial_BearForm"}],[573,"恢复",,,{tinyIcon:"Spell_Nature_HealingTouch"}]],{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人",,[[50,"野兽控制",,,{tinyIcon:"Ability_Hunter_BeastTaming"}],[163,"射击",,,{tinyIcon:"Ability_Marksmanship"}],[51,"生存技能",,,{tinyIcon:"Ability_Hunter_SwiftStrike"}]],{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师",,[[237,"奥术",,,{tinyIcon:"Spell_Holy_MagicalSentry"}],[8,"火焰",,,{tinyIcon:"Spell_Fire_FireBolt02"}],[6,"冰霜",,,{tinyIcon:"Spell_Frost_FrostBolt02"}]],{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士",,[[594,"神圣",,,{tinyIcon:"Spell_Holy_HolyBolt"}],[267,"防护",,,{tinyIcon:"Spell_Holy_DevotionAura"}],[184,"惩戒",,,{tinyIcon:"Spell_Holy_AuraOfLight"}]],{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师",,[[613,"戒律",,,{tinyIcon:"Spell_Holy_WordFortitude"}],[56,"神圣",,,{tinyIcon:"Spell_Holy_GuardianSpirit"}],[78,"暗影魔法",,,{tinyIcon:"Spell_Shadow_ShadowWordPain"}]],{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者",,[[253,"刺杀",,,{tinyIcon:"Ability_Rogue_Eviscerate"}],[38,"战斗",,,{tinyIcon:"Ability_BackStab"}],[39,"敏锐",,,{tinyIcon:"Ability_Stealth"}]],{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满",,[[375,"元素战斗",,,{tinyIcon:"Spell_Nature_Lightning"}],[373,"增强",,,{tinyIcon:"Spell_Nature_LightningShield"}],[374,"恢复",,,{tinyIcon:"Spell_Nature_MagicImmunity"}]],{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士",,[[355,"痛苦",,,{tinyIcon:"Spell_Shadow_DeathCoil"}],[354,"恶魔学识",,,{tinyIcon:"Spell_Shadow_Metamorphosis"}],[593,"毁灭",,,{tinyIcon:"Spell_Shadow_RainOfFire"}]],{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士",,[[26,"武器",,,{tinyIcon:"Ability_Rogue_Eviscerate"}],[256,"狂怒",,,{tinyIcon:"Ability_Warrior_InnerRage"}],[257,"防护",,,{tinyIcon:"INV_Shield_06"}]],{className:"c1",tinyIcon:"class_warrior"}] + ]], + [-13, "雕文",, [ + [6, "死亡骑士",, [[1, "大", '?spells=-13.6&filter=gl=1'],[2, "小", '?spells=-13.6&filter=gl=2']], {className:'c6', tinyIcon:'class_deathknight'}], + [11, "德鲁伊",, [[1, "大", '?spells=-13.11&filter=gl=1'],[2, "小", '?spells=-13.11&filter=gl=2']], {className:'c11', tinyIcon:'class_druid'}], + [3, "猎人",, [[1, "大", '?spells=-13.3&filter=gl=1'],[2, "小", '?spells=-13.3&filter=gl=2']], {className:'c3', tinyIcon:'class_hunter'}], + [8, "法师",, [[1, "大", '?spells=-13.8&filter=gl=1'],[2, "小", '?spells=-13.8&filter=gl=2']], {className:'c8', tinyIcon:'class_mage'}], + [2, "圣骑士",, [[1, "大", '?spells=-13.2&filter=gl=1'],[2, "小", '?spells=-13.2&filter=gl=2']], {className:'c2', tinyIcon:'class_paladin'}], + [5, "牧师",, [[1, "大", '?spells=-13.5&filter=gl=1'],[2, "小", '?spells=-13.5&filter=gl=2']], {className:'c5', tinyIcon:'class_priest'}], + [4, "潜行者",, [[1, "大", '?spells=-13.4&filter=gl=1'],[2, "小", '?spells=-13.4&filter=gl=2']], {className:'c4', tinyIcon:'class_rogue'}], + [7, "萨满",, [[1, "大", '?spells=-13.7&filter=gl=1'],[2, "小", '?spells=-13.7&filter=gl=2']], {className:'c7', tinyIcon:'class_shaman'}], + [9, "术士",, [[1, "大", '?spells=-13.9&filter=gl=1'],[2, "小", '?spells=-13.9&filter=gl=2']], {className:'c9', tinyIcon:'class_warlock'}], + [1, "战士",, [[1, "大", '?spells=-13.1&filter=gl=1'],[2, "小", '?spells=-13.1&filter=gl=2']], {className:'c1', tinyIcon:'class_warrior'}] + ]], + [-11,"精通",, [ + [8,"护甲"], + [6,"武器"], + [10,"语言"] + ]], + [-4,"种族特性"], + [-2,"天赋",,[ + [6,"死亡骑士",,[[770,"鲜血",,,{tinyIcon:"Spell_Deathknight_BloodPresence"}],[771,"冰霜",,,{tinyIcon:"Spell_Deathknight_FrostPresence"}],[772,"邪恶",,,{tinyIcon:"Spell_Deathknight_UnholyPresence"}],[776,"符文熔铸"]],{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊",,[[574,"平衡",,,{tinyIcon:"Spell_Nature_StarFall"}],[134,"野性战斗",,,{tinyIcon:"Ability_Racial_BearForm"}],[573,"恢复",,,{tinyIcon:"Spell_Nature_HealingTouch"}]],{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人",,[[50,"野兽控制",,,{tinyIcon:"Ability_Hunter_BeastTaming"}],[163,"射击",,,{tinyIcon:"Ability_Marksmanship"}],[51,"生存技能",,,{tinyIcon:"Ability_Hunter_SwiftStrike"}]],{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师",,[[237,"奥术",,,{tinyIcon:"Spell_Holy_MagicalSentry"}],[8,"火焰",,,{tinyIcon:"Spell_Fire_FireBolt02"}],[6,"冰霜",,,{tinyIcon:"Spell_Frost_FrostBolt02"}]],{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士",,[[594,"神圣",,,{tinyIcon:"Spell_Holy_HolyBolt"}],[267,"防护",,,{tinyIcon:"Spell_Holy_DevotionAura"}],[184,"惩戒",,,{tinyIcon:"Spell_Holy_AuraOfLight"}]],{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师",,[[613,"戒律",,,{tinyIcon:"Spell_Holy_WordFortitude"}],[56,"神圣",,,{tinyIcon:"Spell_Holy_GuardianSpirit"}],[78,"暗影魔法",,,{tinyIcon:"Spell_Shadow_ShadowWordPain"}]],{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者",,[[253,"刺杀",,,{tinyIcon:"Ability_Rogue_Eviscerate"}],[38,"战斗",,,{tinyIcon:"Ability_BackStab"}],[39,"敏锐",,,{tinyIcon:"Ability_Stealth"}]],{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满",,[[375,"元素战斗",,,{tinyIcon:"Spell_Nature_Lightning"}],[373,"增强",,,{tinyIcon:"Spell_Nature_LightningShield"}],[374,"恢复",,,{tinyIcon:"Spell_Nature_MagicImmunity"}]],{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士",,[[355,"痛苦",,,{tinyIcon:"Spell_Shadow_DeathCoil"}],[354,"恶魔学识",,,{tinyIcon:"Spell_Shadow_Metamorphosis"}],[593,"毁灭",,,{tinyIcon:"Spell_Shadow_RainOfFire"}]],{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士",,[[26,"武器",,,{tinyIcon:"Ability_Rogue_Eviscerate"}],[256,"狂怒",,,{tinyIcon:"Ability_Warrior_InnerRage"}],[257,"防护",,,{tinyIcon:"INV_Shield_06"}]],{className:"c1",tinyIcon:"class_warrior"}] + ]], + [,"宠物"], + [-6,"伙伴"], + [-5,"坐骑"], + [-3,"宠物能力",,[ + [,"死亡骑士"], + [782,"食尸鬼",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], + [,"猎人"], + [270,"通用",,,{tinyIcon:"Ability_GhoulFrenzy"}], + [653,"蝙蝠",,,{tinyIcon:"Ability_Hunter_Pet_Bat"}], + [210,"熊",,,{tinyIcon:"Ability_Hunter_Pet_Bear"}], + [655,"猛禽",,,{tinyIcon:"Ability_Hunter_Pet_Owl"}], + [211,"野猪",,,{tinyIcon:"Ability_Hunter_Pet_Boar"}], + [213,"食腐鸟",,,{tinyIcon:"Ability_Hunter_Pet_Vulture"}], + [209,"豹",,,{tinyIcon:"Ability_Hunter_Pet_Cat"}], + [780,"奇美拉",,,{tinyIcon:"Ability_Hunter_Pet_Chimera"}], + [787,"熔岩犬",,,{tinyIcon:"Ability_Hunter_Pet_CoreHound"}], + [214,"螃蟹",,,{tinyIcon:"Ability_Hunter_Pet_Crab"}], + [212,"鳄鱼",,,{tinyIcon:"Ability_Hunter_Pet_Crocolisk"}], + [781,"魔暴龙",,,{tinyIcon:"Ability_Hunter_Pet_Devilsaur"}], + [763,"龙鹰",,,{tinyIcon:"Ability_Hunter_Pet_DragonHawk"}], + [215,"猩猩",,,{tinyIcon:"Ability_Hunter_Pet_Gorilla"}], + [654,"土狼",,,{tinyIcon:"Ability_Hunter_Pet_Hyena"}], + [775,"蛾子",,,{tinyIcon:"Ability_Hunter_Pet_Moth"}], + [764,"虚空鳐",,,{tinyIcon:"Ability_Hunter_Pet_NetherRay"}], + [217,"迅猛龙",,,{tinyIcon:"Ability_Hunter_Pet_Raptor"}], + [767,"掠食者",,,{tinyIcon:"Ability_Hunter_Pet_Ravager"}], + [786,"犀牛",,,{tinyIcon:"Ability_Hunter_Pet_Rhino"}], + [236,"蝎子",,,{tinyIcon:"Ability_Hunter_Pet_Scorpid"}], + [768,"蛇",,,{tinyIcon:"Spell_Nature_GuardianWard"}], + [783,"异种虫",,,{tinyIcon:"Ability_Hunter_Pet_Silithid"}], + [203,"蜘蛛",,,{tinyIcon:"Ability_Hunter_Pet_Spider"}], + [788,"灵魂兽",,,{tinyIcon:"Ability_Druid_PrimalPrecision"}], + [765,"孢子蝠",,,{tinyIcon:"Ability_Hunter_Pet_Sporebat"}], + [218,"陆行鸟",,,{tinyIcon:"Ability_Hunter_Pet_TallStrider"}], + [251,"海龟",,,{tinyIcon:"Ability_Hunter_Pet_Turtle"}], + [766,"迁跃捕猎者",,,{tinyIcon:"Ability_Hunter_Pet_WarpStalker"}], + [785,"巨蜂",,,{tinyIcon:"Ability_Hunter_Pet_Wasp"}], + [656,"风蛇",,,{tinyIcon:"Ability_Hunter_Pet_WindSerpent"}], + [208,"狼",,,{tinyIcon:"Ability_Hunter_Pet_Wolf"}], + [784,"蠕虫",,,{tinyIcon:"Ability_Hunter_Pet_Worm"}], + [,"术士"], + [761,"恶魔卫士",,,{tinyIcon:"Spell_Shadow_SummonFelguard"}], + [189,"地狱猎犬",,,{tinyIcon:"Spell_Shadow_SummonFelhunter"}], + [188,"小鬼",,,{tinyIcon:"Spell_Shadow_SummonImp"}], + [205,"魅魔",,,{tinyIcon:"Spell_Shadow_SummonSuccubus"}], + [204,"虚空行者",,,{tinyIcon:"Spell_Shadow_SummonVoidwalker"}] + ]], + [-7,"宠物天赋",,[ + [410,"狡诈",,,{tinyIcon:"Ability_Hunter_CombatExperience"}], + [411,"狂野",,,{tinyIcon:"Ability_Druid_Swipe"}], + [409,"坚韧",,,{tinyIcon:"Ability_Hunter_Pet_Bear"}] + ]], + [,"专业和生活技能"], + [11,"专业",,[ + [171,"炼金术",,,{tinyIcon:"trade_alchemy"}], + [164,"锻造",,[[9788,"防具锻造"],[9787,"武器锻造"],[17041,"大师级铸斧"],[17040,"大师级铸锤"],[17039,"大师级铸剑"]],{tinyIcon:"trade_blacksmithing"}], + [333,"附魔",,,{tinyIcon:"trade_engraving"}], + [202,"工程学",,[[20219,"侏儒工程学"],[20222,"地精工程师"]],{tinyIcon:"trade_engineering"}], + [182,"草药学",,,{tinyIcon:"spell_nature_naturetouchgrow"}], + [773,"铭文",,,{tinyIcon:"inv_inscription_tradeskill01"}], + [755,"珠宝加工",,,{tinyIcon:"inv_misc_gem_01"}], + [165,"制皮",,[[10656,"龙鳞制皮"],[10658,"元素制皮"],[10660,"部族制皮"]],{tinyIcon:"inv_misc_armorkit_17"}], + [186,"采矿",,,{tinyIcon:"trade_mining"}], + [393,"剥皮",,,{tinyIcon:"inv_misc_pelt_wolf_01"}], + [197,"裁缝",,[[26798,"月布裁缝"],[26801,"暗纹裁缝"],[26797,"魔焰裁缝"]],{tinyIcon:"trade_tailoring"}] + ]], + [9,"辅助专业",,[ + [185,"烹饪",,,{tinyIcon:"inv_misc_food_15"}], + [129,"急救",,,{tinyIcon:"spell_holy_sealofsacrifice"}], + [356,"钓鱼",,,{tinyIcon:"trade_fishing"}], + [762,"骑术",,,{tinyIcon:"spell_nature_swiftness"}] + ]], + [,"其他"], + [-8,"NPC能力"], + [-9,"GM能力"], + [0,"未分类"] +]; +var mn_zones = [ + [,"大陆"], + [0,"东部王国"], + [1,"卡利姆多"], + [8,"外域"], + [10,"诺森德"], + [,"其他"], + [2,"地下城",,[[0,"经典旧世"],[1,"燃烧的远征"],[2,"巫妖王之怒"]]], + [3,"团队副本",,[[0,"经典旧世"],[1,"燃烧的远征"],[2,"巫妖王之怒"]]], + [6,"战场"], + [9,"竞技场"] +]; +var mn_factions = [ + [1118,"经典旧世",,[[469,"联盟"],[891,"联盟部队"],[67,"部落"],[892,"部落军队"],[169,"热砂港"]]], + [980,"燃烧的远征",,[[936,"沙塔斯城"]]], + [1097,"巫妖王之怒",,[[1037,"联盟先遣军"],[1052,"部落先遣军"],[1117,"索拉查盆地"]]], + [0,"其他"] +]; +var mn_pets = [ + [2,"狡诈",,,{tinyIcon:"Ability_Hunter_CombatExperience"}], + [0,"狂野",,,{tinyIcon:"Ability_Druid_Swipe"}], + [1,"坚韧",,,{tinyIcon:"Ability_Hunter_Pet_Bear"}] +]; +var mn_achievements = [ + [92,"综合"], + [96,"任务",,[ + [14861,"经典旧世"], // Classic, + [14862,"燃烧的远征"], // The Burning Crusade, + [14863,"巫妖王之怒"] // Wrath of the Lich King, + ]], + [97,"探索",,[ + [14777,"东部王国"], // Eastern Kingdoms, + [14778,"卡利姆多"], // Kalimdor, + [14779,"外域"], // Outland, + [14780,"诺森德"] // Northrend, + ]], + [95,"PvP",,[ + [165,"竞技场"], // Arena, + [14801,"奥特兰克山谷"], // Alterac Valley, + [14802,"阿拉希盆地"], // Arathi Basin, + [14803,"风暴之眼"], // Eye of the Storm, + [14804,"战歌峡谷"], // Warsong Gulch, + [14881,"远古海滩"], // Strand of the Ancients, + [14901,"冬拥湖"], // Wintergrasp, + [15003,"征服之岛"] // Isle of Conquest, + ]], + [168,"地下城和团队",,[ + [14808,"经典旧世"], // Classic, + [14805,"燃烧的远征"], // The Burning Crusade, + [14806,"巫妖王 - 地下城"], // Lich King Dungeon, + [14921,"巫妖王 - 英雄地下城"], // Lich King Heroic, + [14922,"巫妖王 - 10人团队"], // Lich King 10-Player Raid, + [14923,"巫妖王 - 25人团队"], // Lich King 25-Player Raid, + [14961,"奥杜尔的秘密 - 10人团队"], // Secrets of Ulduar 10-Player Raid, + [14962,"奥杜尔的秘密 - 25人团队"], // Secrets of Ulduar 25-Player Raid, + [15001,"北伐的召唤 - 10人团队"], // Call of the Crusade 10-Player Raid, + [15002,"北伐的召唤 - 25人团队"], // Call of the Crusade 25-Player Raid, + [15041,"巫妖王的陨落 - 10人团队"], // Fall of the Lich King 10-Player Raid, + [15042,"巫妖王的陨落 - 25人团队"] // Fall of the Lich King 25-Player Raid, + ]], + [169,"专业",,[ + [170,"烹饪"], // Cooking, + [171,"钓鱼"], // Fishing, + [172,"急救"] // First Aid, + ]], + [201,"声望",,[ + [14864,"经典旧世"], // Classic, + [14865,"燃烧的远征"], // The Burning Crusade, + [14866,"巫妖王之怒"] // Wrath of the Lich King, + ]], + [155,"世界事件",,[ + [156,"冬幕节"], // Winter Veil, + [158,"万圣节"], // Hallow's End, + [159,"复活节"], // Noblegarden, + [160,"春节"], // Lunar Festival, + [161,"仲夏节"], // Midsummer, + [162,"美酒节"], // Brewfest, + [163,"儿童周"], // Children's Week, + [187,"情人节"], // Love is in the Air, + [14941,"银色锦标赛"], // Argent Tournament, + [14981,"感恩节"] // Pilgrim's Bounty, + ]], + [81,"光辉事迹"], + [1,"属性",,[ + [130,"角色",,[ + [140,"财富"], // Wealth, + [145,"消耗品"], // Consumables, + [147,"声望"], // Reputation, + [191,"装备"] // Gear, + ]], + [141,"战斗"], + [128,"杀敌",,[ + [135,"怪物"], // Creatures, + [136,"荣誉杀敌"], // Honorable Kills, + [137,"击杀"] // Killing Blows, + ]], + [122,"死亡",,[ + [123,"竞技场"], // Arenas, + [124,"战场"], // Battlegrounds, + [125,"地下城"], // Dungeons, + [126,"世界"], // World, + [127,"复活"] // Resurrection, + ]], + [133,"任务"], + [14807,"地下城与团队",,[ + [14821,"经典旧世"], // Classic, + [14822,"燃烧的远征"], // The Burning Crusade, + [14823,"巫妖王之怒"], // Wrath of the Lich King, + [14963,"奥杜尔的秘密"], // Secrets of Ulduar, + [15021,"北伐的召唤"], // Call of the Crusade, + [15062,"巫妖王的陨落"] // Fall of the Lich King, + ]], + [132,"技能",,[ + [173,"专业"], // Professions, + [178,"辅助技能"] // Secondary Skills, + ]], + [134,"旅行"], + [131,"社交"], + [21,"PvP",,[ + [152,"竞技场积分赛"], // Rated Arenas, + [153,"战场"], // Battlegrounds, + [154,"世界"] // World, + ]] + ]] +]; +var mn_holidays = [ + [1,"节日","?events=1"], + [2,"循环","?events=2"], + [3,"PvP","?events=3"] +]; +var mn_currencies = [ + [22,"地下城与团队","?currencies=22"], + [1,"其它","?currencies=1"], + [2,"PvP","?currencies=2"] +]; +var mn_enchantments = [ + [1,"触发法术","?enchantments&filter=ty=1"], + [3,"装备法术","?enchantments&filter=ty=3"], + [7,"使用法术","?enchantments&filter=ty=7"], + [8,"棱彩插槽","?enchantments&filter=ty=8"], + [5,"统计","?enchantments&filter=ty=5"], + [2,"武器伤害","?enchantments&filter=ty=2"], + [6,"DPS","?enchantments&filter=ty=6"], + [4,"防御","?enchantments&filter=ty=4"] +]; +var mn_sounds = [ + [1000, "我的播放列表", "?sound&playlist"], + [, "类型"], + [19,"护甲","?sounds&filter=ty=19"], + [16,"死亡","?sounds&filter=ty=16"], + [25,"装饰物","?sounds&filter=ty=25"], + [52,"发射器","?sounds&filter=ty=52"], + [29,"表情","?sounds&filter=ty=29"], + [12,"错误","?sounds&filter=ty=12"], + [20,"Footstep Splash","?sounds&filter=ty=20"], + [3,"脚步","?sounds&filter=ty=3"], + [24,"环境气氛","?sounds&filter=ty=24"], + [10,"NPC攻击","?sounds&filter=ty=10"], + [17,"NPC问候","?sounds&filter=ty=17"], + [27,"NPC循环","?sounds&filter=ty=27"], + [31,"叙事","?sounds&filter=ty=31"], + [30,"叙事音乐","?sounds&filter=ty=30"], + [13,"自然","?sounds&filter=ty=13"], + [14,"对象","?sounds&filter=ty=14"], + [9,"拿起/放下","?sounds&filter=ty=9"], + [26,"法术失败","?sounds&filter=ty=26"], + [1,"法术","?sounds&filter=ty=1"], + [23,"交易技能","?sounds&filter=ty=23"], + [2,"用户界面","?sounds&filter=ty=2"], + [53,"载具","?sounds&filter=ty=53"], + [22,"水","?sounds&filter=ty=22"], + [21,"水 (角色)","?sounds&filter=ty=21"], + [4,"武器碰撞","?sounds&filter=ty=4"], + [6,"武器格挡","?sounds&filter=ty=6"], + [50,"区域气氛","?sounds&filter=ty=50"], + [28,"区域音乐","?sounds&filter=ty=28"] +]; +mn_icons = [ + [3, "成就", "?icons&filter=cr=3;crs=1;crv=0"], + // [4, "战斗宠物", "?icons&filter=cr=4;crs=1;crv=0"], + // [5, "对战宠物能力", "?icons&filter=cr=5;crs=1;crv=0"], + [11, "职业", "?icons&filter=cr=11;crs=1;crv=0"], + [6, "货币", "?icons&filter=cr=6;crs=1;crv=0"], + // [7, "任务技能", "?icons&filter=cr=7;crs=1;crv=0"], + // [8, "要塞建筑", "?icons&filter=cr=8;crs=1;crv=0"], + [1, "物品", "?icons&filter=cr=1;crs=1;crv=0"], + [9, "猎人宠物", "?icons&filter=cr=9;crs=1;crv=0"], + [2, "技能", "?icons&filter=cr=2;crs=1;crv=0"], + // [10, "威胁", "?icons&filter=cr=10;crs=1;crv=0"], + [13, "未使用", "?icons&filter=cr=13;crs=3;crv=0"] +]; +var mn_talentCalc = [ + [6,"死亡骑士","?talent#j",,{className:"c6",tinyIcon:"class_deathknight"}], + [11,"德鲁伊","?talent#0",,{className:"c11",tinyIcon:"class_druid"}], + [3,"猎人","?talent#c",,{className:"c3",tinyIcon:"class_hunter"}], + [8,"法师","?talent#o",,{className:"c8",tinyIcon:"class_mage"}], + [2,"圣骑士","?talent#s",,{className:"c2",tinyIcon:"class_paladin"}], + [5,"牧师","?talent#b",,{className:"c5",tinyIcon:"class_priest"}], + [4,"潜行者","?talent#f",,{className:"c4",tinyIcon:"class_rogue"}], + [7,"萨满","?talent#h",,{className:"c7",tinyIcon:"class_shaman"}], + [9,"术士","?talent#I",,{className:"c9",tinyIcon:"class_warlock"}], + [1,"战士","?talent#L",,{className:"c1",tinyIcon:"class_warrior"}] +]; +var mn_petCalc = [ + [,"狡诈",,,{tinyIcon:"Ability_Hunter_CombatExperience"}], + [24,"蝙蝠","?petcalc#MR",,{tinyIcon:"Ability_Hunter_Pet_Bat"}], + [26,"猛禽","?petcalc#Mb",,{tinyIcon:"Ability_Hunter_Pet_Owl"}], + [38,"奇美拉","?petcalc#cw",,{tinyIcon:"Ability_Hunter_Pet_Chimera"}], + [30,"龙鹰","?petcalc#c0",,{tinyIcon:"Ability_Hunter_Pet_DragonHawk"}], + [34,"虚空鳐","?petcalc#cR",,{tinyIcon:"Ability_Hunter_Pet_NetherRay"}], + [31,"掠食者","?petcalc#cM",,{tinyIcon:"Ability_Hunter_Pet_Ravager"}], + [35,"蛇","?petcalc#ca",,{tinyIcon:"Spell_Nature_GuardianWard"}], + [41,"异种虫","?petcalc#mM",,{tinyIcon:"Ability_Hunter_Pet_Silithid"}], + [3,"蜘蛛","?petcalc#0o",,{tinyIcon:"Ability_Hunter_Pet_Spider"}], + [33,"孢子蝠","?petcalc#co",,{tinyIcon:"Ability_Hunter_Pet_Sporebat"}], + [27,"风蛇","?petcalc#Mr",,{tinyIcon:"Ability_Hunter_Pet_WindSerpent"}], + [,"狂野",,,{tinyIcon:"Ability_Druid_Swipe"}], + [7,"食腐鸟","?petcalc#0r",,{tinyIcon:"Ability_Hunter_Pet_Vulture"}], + [2,"豹","?petcalc#0m",,{tinyIcon:"Ability_Hunter_Pet_Cat"}], + [45,"熔岩犬","?petcalc#ma",,{tinyIcon:"Ability_Hunter_Pet_CoreHound"}], + [39,"魔暴龙","?petcalc#ch",,{tinyIcon:"Ability_Hunter_Pet_Devilsaur"}], + [25,"土狼","?petcalc#Ma",,{tinyIcon:"Ability_Hunter_Pet_Hyena"}], + [37,"蛾子","?petcalc#cr",,{tinyIcon:"Ability_Hunter_Pet_Moth"}], + [11,"迅猛龙","?petcalc#zM",,{tinyIcon:"Ability_Hunter_Pet_Raptor"}], + [46,"灵魂兽","?petcalc#mb",,{tinyIcon:"Ability_Druid_PrimalPrecision"}], + [12,"陆行鸟","?petcalc#zm",,{tinyIcon:"Ability_Hunter_Pet_TallStrider"}], + [44,"巨蜂","?petcalc#mR",,{tinyIcon:"Ability_Hunter_Pet_Wasp"}], + [1,"狼","?petcalc#0M",,{tinyIcon:"Ability_Hunter_Pet_Wolf"}], + [,"坚韧",,,{tinyIcon:"Ability_Hunter_Pet_Bear"}], + [4,"熊","?petcalc#0R",,{tinyIcon:"Ability_Hunter_Pet_Bear"}], + [5,"野猪","?petcalc#0a",,{tinyIcon:"Ability_Hunter_Pet_Boar"}], + [8,"螃蟹","?petcalc#0w",,{tinyIcon:"Ability_Hunter_Pet_Crab"}], + [6,"鳄鱼","?petcalc#0b",,{tinyIcon:"Ability_Hunter_Pet_Crocolisk"}], + [9,"猩猩","?petcalc#0h",,{tinyIcon:"Ability_Hunter_Pet_Gorilla"}], + [43,"犀牛","?petcalc#mo",,{tinyIcon:"Ability_Hunter_Pet_Rhino"}], + [20,"蝎子","?petcalc#M0",,{tinyIcon:"Ability_Hunter_Pet_Scorpid"}], + [21,"海龟","?petcalc#MM",,{tinyIcon:"Ability_Hunter_Pet_Turtle"}], + [32,"迁跃捕猎者","?petcalc#cm",,{tinyIcon:"Ability_Hunter_Pet_WarpStalker"}], + [42,"蠕虫","?petcalc#mm",,{tinyIcon:"Ability_Hunter_Pet_Worm"}] +]; +var mn_database = [ + [, "物品"], + [0,"物品","?items",mn_items], + [2,"物品组合","?itemsets",mn_itemSets], + [101,"附魔","?enchantments",mn_enchantments], + [, "角色"], + [9,"成就","?achievements",mn_achievements], + [12,"职业","?classes",mn_classes], + [100,"表情","?emotes",null], + [8,"猎人宠物","?pets",mn_pets], + [14,"专业和生活技能","?skills",mn_skills], + [13,"种族","?races",mn_races], + [1,"技能","?spells",mn_spells], + [10,"头衔","?titles",mn_titles], + [, "世界"], + [15,"货币","?currencies",mn_currencies], + [7,"阵营","?factions",mn_factions], + [4,"NPCs","?npcs",mn_npcs], + [5,"道具","?objects",mn_objects], + [3,"任务","?quests",mn_quests], + [11,"世界事件","?events",mn_holidays], + [6,"地区","?zones",mn_zones], + [, "其他"], + [31,"图标", "?icons", mn_icons], + [19,"声音","?sounds",mn_sounds] +]; +var mn_tools = [ + [0,"天赋模拟器","?talent",mn_talentCalc], + [2,"猎人宠物模拟器","?petcalc",mn_petCalc], + [3,"物品比较","?compare"], + [5,"Profiler","?profiler",[ + [0,"角色","?profiles"], + [2,"公会","?guilds"], + [3,"竞技场队伍","?arena-teams"], + [1,"New","?profile&new"] + ]], + [1,"地图","?maps"], + [,"其他"], + [6,"指南","",[ + [,"世界事件"], + ["lunar-festival","春节","?guide=lunar-festival"], + ["love-is-in-the-air","情人节","?guide=love-is-in-the-air"], + ["noblegarden","复活节","?guide=noblegarden"], + ["childrens-week","儿童周","?guide=childrens-week"], + ["midsummer-fire-festival","仲夏火焰节","?guide=midsummer-fire-festival"], + ["brewfest","美酒节","?guide=brewfest"], + ["hallows-end","万圣节","?guide=hallows-end"], + ["pilgrims-bounty","感恩节","?guide=pilgrims-bounty"], + ["winter-veil","冬幕节","?guide=winter-veil"] + ]], + [8,"Utilities",,[ + [,"数据库"], + [0,"最新插件","?latest-additions"], + [1,"最新文章","?latest-articles"], + [2,"最新评论","?latest-comments"], + [3,"最新截屏","?latest-screenshots"], + [11,"最新视频","?latest-videos"], + [12,"更多评论",,[ + [1,"昨天","?most-comments"], + [7,"过去7天","?most-comments=7"], + [30,"过去30天","?most-comments=30"] + ]], + [5,"未评分评论","?unrated-comments"], + [13,"缺少屏幕截图","?missing-screenshots"], + [4,"随机页面","?random"] + ]] +]; +var mn_reputation = [ + [0, "显示全部特权", "?privileges"], + [, "特权"], + [1, "发表评论", "?privilege=1"], + // [2, "发表外部链接", "?privilege=2"], + // [4, "无验证码", "?privilege=4"], + [5, "名旺言重,投票更有价值", "?privilege=5"], + [9, "每天更多投票次数", "?privilege=9"], + [10, "顶评论", "?privilege=10"], + [11, "踩评论", "?privilege=11"], + [12, "发布评论回复", "?privilege=12"], + // [13, "边界:罕见", "?privilege=13"], + // [14, "边界:稀有", "?privilege=14"], + // [15, "边界:史诗", "?privilege=15"], + // [16, "边界:传奇", "?privilege=16"], + [17, "Aowow会员", "?privilege=17"] +]; +var mn_community = [ + [3,"论坛","http://forums.battle.net",null,{tinyIcon: g_staticUrl + "/images/icons/forum.png"}], + [7,"博客","http://worldpress.com",null,{tinyIcon: g_staticUrl + "/images/icons/blog.png"}], + [4,"IRC频道","http://webchat.quakenet.org/",null,{tinyIcon: g_staticUrl + "/images/icons/irc.png"}], + [,"社区"], + [10, "网站声望", "?reputation", mn_reputation], + [11, "用户排行榜", "?top-users"], + [,"社交"], + [6,"Facebook页面","http://www.facebook.com",null,{tinyIcon: g_staticUrl + "/images/icons/facebook.png"}], + [5,"推特页面","http://twitter.com",null,{tinyIcon: g_staticUrl + "/images/icons/twitter.png"}] +]; +var mn_more = [ + [,"关于AoWoW"], + [0,"关于我们与联系方式","?aboutus"], + [3,"常见问题","?faq"], + [13,"帮助",,[ + [0,"评论与你","?help=commenting-and-you"], + [5,"物品比较","?help=item-comparison"], + [1,"模型查看器","?help=modelviewer"], + [6,"Profiler","?help=profiler"], + [2,"截屏:技巧与窍门","?help=screenshots-tips-tricks"], + [3,"数据权重","?help=stat-weighting"], + [4,"天赋模拟器","?help=talent-calculator"], + [7,"标记指南","?help=markup-guide"] + ]], + [7,"新闻","?whats-new"], + [,"精品资源"], + [16, "搜索栏","?searchbox"], + [8,"搜索插件","?searchplugins"], + [10,"工具提示","?tooltips"] +]; +var mn_path = [ + [0,"数据库",,mn_database], + [1,"工具",,mn_tools], + [3,"社区","",mn_community], + [2,"更多",,mn_more] +]; + +var g_contact_reasons = { + 1: "整体反馈", + 2: "Bug报告", + 3: "打字错误/误译", + 4: "跟我们一起广而告之", + 5: "合作机遇", + 6: "媒体问题", + 7: "其他", + 8: "文章错误", + 15: "广告", + 16: "不准确", + 17: "过期", + 18: "垃圾邮件", + 19: "粗俗/不当", + 20: "其他", + 30: "广告", + 31: "不准确", + 32: "过期", + 33: "垃圾邮件", + 34: "置顶要求", + 35: "粗俗/不当", + 36: "其他", + 37: "人物", + 45: "不准确", + 46: "过期", + 47: "粗俗/不当", + 48: "其他", + 60: 'Inaccurate completion data', + 61: '其他' +}; + +var g_chr_classes = { + 1: '战士', + 2: '圣骑士', + 3: '猎人', + 4: '潜行者', + 5: '牧师', + 6: '死亡骑士', + 7: '萨满', + 8: '法师', + 9: '术士', + 11: '德鲁伊' +}; + +var g_chr_races = { + 1: '人类', + 2: '兽人', + 3: '矮人', + 4: '暗夜精灵', + 5: '亡灵', + 6: '牛头人', + 7: '侏儒', + 8: '巨魔', + 10: '血精灵', + 11: '德莱尼' +}; + +var g_chr_specs = { + "-1": '没有天赋', + 0: '混合', + 6: ['鲜血', '冰霜', '邪恶'], + 11: ['平衡', '野性战斗', '恢复'], + 3: ['野兽控制', '射击', '生存'], + 8: ['奥术', '火焰', '冰霜'], + 2: ['神圣', '防护', '惩戒'], + 5: ['戒律', '神圣', '暗影'], + 4: ['刺杀', '战斗', '敏锐'], + 7: ['元素', '增强', '恢复'], + 9: ['痛苦', '恶魔学识', '毁灭'], + 1: ['武器', '狂怒', '防护'] +}; + +var g_item_glyphs = { + 1: '大', + 2: '小' +}; + +var g_item_slots = { + 1: "头", + 2: "颈", + 3: "肩膀", + 4: "衬衫", + 5: "胸", + 6: "腰", + 7: "腿", + 8: "脚", + 9: "手腕", + 10: "手", + 11: "手指", + 12: "饰品", + 13: "单手", + 14: "盾", + 15: "远程", + 16: "后背", + 17: "双手", + 18: "背包", + 19: "战袍", + 21: "主手", + 22: "副手", + 23: "副手持有", + 24: "抛射", + 25: "投掷", + 28: "遗迹" +}; + +var g_item_classes = { + 0: "消耗品", + 1: "容器", + 2: "武器", + 3: "宝石", + 4: "护甲", + 5: "施法材料", + 6: "抛射", + 7: "贸易品", + 9: "配方", + 10: "货币", + 11: "箭袋", + 12: "任务", + 13: "钥匙", + 15: "杂项", + 16: "雕文" +}; + +var g_item_subclasses = { + 0: { + 0: "消耗品", + 1: "药水", + 2: "药剂", + 3: "合剂", + 4: "卷轴", + 5: "食物和饮料", + 6: "永久附魔", + "-3": "临时附魔", + 7: "绷带", + 8: "其他(消耗品)" + }, + 1: { + 0: "背包", + 1: "灵魂袋", + 2: "草药包", + 3: "附魔材料包", + 4: "工程学材料包", + 5: "宝石袋", + 6: "矿石袋", + 7: "制皮材料包", + 8: "铭文包" + }, + 2: { + 0: "单手斧", + 1: "双手斧", + 2: "弓", + 3: "枪", + 4: "单手杖", + 5: "双手锤", + 6: "长柄武器", + 7: "单手剑", + 8: "双手剑", + 10: "法杖", + 13: "拳套", + 14: "杂项(武器)", + 15: "匕首", + 16: "投掷", + 18: "弩", + 19: "魔杖", + 20: "钓鱼竿" + }, + 3: { + 0: "红色宝石", + 1: "蓝色宝石", + 2: "黄色宝石", + 3: "紫色宝石", + 4: "绿色宝石", + 5: "橙色宝石", + 6: "多彩宝石", + 7: "简单宝石", + 8: "棱彩宝石" + }, + 4: { + "-8": "衬衫", + "-7": "战袍", + "-6": "斗篷", + "-5": "副手", + "-4": "饰品", + "-3": "项链", + "-2": "戒指", + 0: "杂项(护甲)", + 1: "布甲", + 2: "皮甲", + 3: "锁甲", + 4: "板甲", + 6: "盾", + 7: "圣契", + 8: "偶像", + 9: "图腾", + 10: "魔印" + }, + 6: { + 2: "箭", + 3: "子弹" + }, + 7: { + 1: "部分", + 2: "爆炸物", + 3: "装置", + 4: "珠宝加工", + 5: "布甲", + 6: "皮甲", + 7: "金属和矿石", + 8: "肉类", + 9: "草药", + 10: "元素", + 12: "附魔", + 13: "原料", + 14: "护甲附魔", + 15: "武器附魔", + 11: "其他(贸易品)" + }, + 9: { + 0: "书籍", + 1: "制皮图样", + 2: "裁缝图样", + 3: "工程学结构图", + 4: "锻造设计图", + 5: "烹饪配方", + 6: "炼金配方", + 7: "急救手册", + 8: "附魔方程", + 9: "钓鱼书籍", + 10: "宝石加工设计", + 11: "铭文技能", + }, + 11: { + 2: '箭袋', + 3: '弹药袋' + }, + 15: { + "-7": "飞行坐骑", + "-6": '战斗宠物', + "-2": "护甲徽记", + 0: "垃圾", + 1: "施法材料", + 2: "伙伴", + 3: "节日", + 4: "其他(杂货)", + 5: "坐骑" + }, + 16: { + 6: "死亡骑士雕文", + 11: "德鲁伊雕文", + 3: "猎人雕文", + 8: "法师雕文", + 2: "圣骑士雕文", + 5: "牧师雕文", + 4: "潜行者雕文", + 7: "萨满雕文", + 9: "术士雕文", + 1: "战士雕文" + } +}; + +var g_item_subsubclasses = { + 0: { + 2: { + 1: "战斗药剂", + 2: "守护药剂" + } + } +}; + +var g_itemset_types = { + 1: "布甲", + 2: "皮甲", + 3: "锁甲", + 4: "板甲", + 5: "匕首", + 6: "戒指", + 7: "拳套", + 8: "单手斧", + 9: "单手杖", + 10: "单手剑", + 11: "饰品", + 12: "项链", +}; + +var g_itemset_notes = { + 1: '地下城套装1', + 2: '地下城套装2', + 14: '地下城套装3', + 3: 'T1副本套装', + 4: 'T2副本套装', + 5: 'T3副本套装', + 12: 'T4副本套装', + 13: 'T5副本套装', + 18: 'T6副本套装', + 23: 'T7副本套装', + 25: 'T8副本套装', + 27: 'T9副本套装', + 29: 'T10副本套装', + 6: '60级PVP稀有套装', + 7: '60级PVP稀有套装(旧)', + 8: '60级PVP史诗套装', + 16: '70级PVP稀有套装', + 21: '70级PVP稀有套装 2', + 17: '竞技场第1季套装', + 19: '竞技场第2季套装', + 20: '竞技场第3季套装', + 22: '竞技场第4季套装', + 24: '竞技场第5季套装', + 26: '竞技场第6季套装', + 28: '竞技场第7季套装', + 30: '竞技场第8季套装', + 15: '阿拉希盆地套装', + 9: '安其拉废墟套装', + 10: '安其拉神庙团本套装', + 11: '祖尔格拉布套装' +}; + +var g_npc_classifications = { + 0: "普通", + 1: "精英", + 2: "稀有精英", + 3: "首领", + 4: "稀有" +}; + +var g_npc_types = { + 0: '未分类', + 1: '野兽', + 8: '小动物', + 3: '恶魔', + 4: '元素生物', + 2: '龙类', + 5: '巨人', + 7: '人型生物', + 6: '亡灵', + 9: '机械', + 10: '未指定', + 11: '图腾', + 12: '非战斗宠物', + 13: '气体云雾' +}; + +var g_pet_families = { + 1: '狼', + 2: '豹', + 3: '蜘蛛', + 4: '熊', + 5: '野猪', + 6: '鳄鱼', + 7: '食腐鸟', + 8: '螃蟹', + 9: '猩猩', + 11: '迅猛龙', + 12: '陆行鸟', + 20: '蝎子', + 21: '海龟', + 24: '蝙蝠', + 25: '土狼', + 26: '猛禽', + 27: '风蛇', + 30: '龙鹰', + 31: '掠食者', + 32: '迁跃捕猎者', + 33: '孢子蝠', + 34: '虚空鳐', + 35: '蛇', + 37: '蛾子', + 38: '奇美拉', + 39: '魔暴龙', + 41: '异种虫', + 42: '蠕虫', + 43: '犀牛', + 44: '巨蜂', + 45: '熔岩犬', + 46: '灵魂兽' +}; + +var g_pet_types = { + 0: '狂野', + 1: '坚韧', + 2: '狡诈' +}; + +var g_pet_foods = { + 1: "肉类", + 2: "鱼", + 4: "奶酪", + 8: "面包", + 16: "真菌", + 32: "水果", + 64: "生肉", + 128: "生鱼" +}; + +var g_object_types = { + 0: '其他', + 9: "书籍", + 3: "容器", + "-5": "提箱", + 25: "钓鱼水池", + "-3": "草药", + "-4": '矿点', + "-2": "任务", + "-6": "工具" +}; + +var g_reputation_standings = { + 0: "仇恨", + 1: "敌对", + 2: "敌意", + 3: "中立", + 4: "友善", + 5: "尊敬", + 6: "崇敬", + 7: "崇拜" +}; + +var g_quest_categories = { + "-2": "未分类", + 0: "东部王国", + 1: "卡利姆多", + 2: "地下城", + 3: "团队副本", + 4: "职业", + 5: "专业", + 6: "战场", + 7: "杂项", + 8: "外域", + 9: "世界事件", + 10: "诺森德" +}; + +var g_quest_sorts = { + "-1001": '冬幕节', + "-1002": '儿童周', + "-1003": '万圣节', + "-1005": '收获节', + "-1010": '地下城查找器', + "-1": '史诗', + "-22": '季节性', + "-24": '草药学', + "-25": '战场', + "-41": '悼念日', + "-61": '术士', + "-81": '战士', + "-82": '萨满祭司', + "-101": '钓鱼', + "-121": '锻造', + "-141": '圣骑士', + "-161": '法师', + "-162": '潜行者', + "-181": '炼金术', + "-182": '制皮', + "-201": '工程学', + "-241": '锦标赛', + "-261": '猎人', + "-262": '牧师', + "-263": '德鲁伊', + "-264": '裁缝', + "-304": '烹饪', + "-324": '急救', + "-344": '传说', + "-364": '暗月马戏团', + "-365": '安其拉战争', + "-366": '新年', + "-367": '声望', + "-368": '天灾入侵', + "-369": '仲夏', + "-370": '美酒节', + "-371": '铭文', + "-372": '死亡骑士', + "-373": '珠宝加工', + "-374": '复活节', + "-375": '感恩节', + "-376": '情人节', + 1: '丹莫罗', + 3: '荒芜之地', + 4: '诅咒之地', + 8: '悲伤沼泽', + 9: '北郡山谷', + 10: '暮色森林', + 11: '湿地', + 12: '艾尔文森林', + 14: '杜隆塔尔', + 15: '尘泥沼泽', + 16: '艾萨拉', + 17: '贫瘠之地', + 25: '黑石山', + 28: '西瘟疫之地', + 33: '荆棘谷', + 36: '奥特兰克山脉', + 38: '洛克莫丹', + 40: '西部荒野', + 41: '逆风小径', + 44: '赤脊山', + 45: '阿拉希高地', + 46: '燃烧平原', + 47: '辛特兰', + 51: '灼热峡谷', + 65: '龙骨荒野', + 66: '祖达克', + 67: '风暴峭壁', + 85: '提瑞斯法林地', + 130: '银松森林', + 132: '寒脊山谷', + 139: '东瘟疫之地', + 141: '泰达希尔', + 148: '黑海岸', + 154: '丧钟镇', + 188: '幽影谷', + 206: '乌特加德城堡', + 209: '影牙城堡', + 210: '冰冠冰川', + 215: '莫高雷', + 220: '红云台地', + 267: '希尔斯布莱德丘陵', + 331: '灰谷', + 357: '菲拉斯', + 361: '费伍德森林', + 363: '试炼谷', + 394: '灰熊丘陵', + 400: '千针石林', + 405: '凄凉之地', + 406: '石爪山脉', + 440: '塔纳利斯', + 490: '安戈洛环形山', + 491: '剃刀沼泽', + 493: '月光林地', + 495: '嚎风峡湾', + 618: '冬泉谷', + 717: '监狱', + 718: '哀嚎洞穴', + 719: '黑暗深渊', + 721: '诺莫瑞根', + 722: '剃刀高地', + 796: '血色修道院', + 1176: '祖尔法拉克', + 1196: '乌特加德之巅', + 1337: '奥达曼', + 1377: '希利苏斯', + 1417: '沉没的神庙', + 1497: '幽暗城', + 1517: '奥达曼', + 1519: '暴风城', + 1537: '铁炉堡', + 1581: '死亡矿井', + 1583: '黑石塔', + 1584: '黑石深渊', + 1637: '奥格瑞玛', + 1638: '雷霆崖', + 1657: '达纳苏斯', + 1769: '木喉要塞', + 1941: '时光之穴', + 1977: '祖尔格拉布', + 2017: '斯坦索姆', + 2057: '通灵学院', + 2100: '玛拉顿', + 2159: '奥妮克希亚的巢穴', + 2257: '矿道地铁', + 2366: '黑色沼泽', + 2367: '旧希尔斯布莱德丘陵', + 2437: '怒焰裂谷', + 2557: '厄运之槌', + 2597: '奥特兰克山谷', + 2677: '黑翼之巢', + 2717: '熔火之心', + 2817: '晶歌森林', + 3277: '战歌峡谷', + 3358: '阿拉希盆地', + 3428: '安其拉', + 3429: '安其拉废墟', + 3430: '永歌森林', + 3431: '逐日岛', + 3433: '幽魂之地', + 3456: '纳克萨玛斯', + 3457: '卡拉赞', + 3483: '地狱火半岛', + 3487: '银月城', + 3518: '纳格兰', + 3519: '泰罗卡森林', + 3520: '影月谷', + 3521: '赞加沼泽', + 3522: '刀锋山', + 3523: '虚空风暴', + 3524: '秘蓝岛', + 3525: '秘血岛', + 3526: '埃门谷', + 3535: '地狱火堡垒', + 3537: '北风苔原', + 3557: '埃索达', + 3562: '地狱火城墙', + 3606: '海加尔峰', + 3607: '毒蛇神殿', + 3679: '斯克提斯', + 3688: '奥金顿', + 3703: '沙塔斯城', + 3711: '索拉查盆地', + 3713: '鲜血熔炉', + 3714: '破碎大厅', + 3715: '蒸汽地窟', + 3716: '幽暗沼泽', + 3717: '奴隶围栏', + 3789: '暗影迷宫', + 3790: '奥金尼地穴', + 3791: '塞泰克大厅', + 3792: '法力陵墓', + 3805: '祖阿曼', + 3820: '风暴之眼', + 3836: '玛瑟里顿的巢穴', + 3842: '风暴要塞', + 3845: '风暴要塞', + 3847: '生态船', + 3848: '禁魔监狱', + 3849: '能源舰', + 3905: '盘牙水库', + 3923: '格鲁尔的巢穴', + 3959: '黑暗神殿', + 4024: '考达拉', + 4075: '太阳之井高地', + 4080: '奎尔丹纳斯岛', + 4100: '净化斯坦索姆', + 4131: '魔导师平台', + 4196: '达克萨隆要塞', + 4197: '冬拥湖', + 4228: '魔环', + 4264: '岩石大厅', + 4265: '魔枢', + 4272: '闪电大厅', + 4273: '奥杜尔', + 4277: '艾卓-尼鲁布', + 4298: '血色领地', + 4384: '远古海滩', + 4395: '达拉然', + 4415: '紫罗兰监狱', + 4416: '古达克', + 4493: '黑曜石圣殿', + 4494: '安卡赫特:古代王国', + 4500: '永恒之眼', + 4522: '冰冠堡垒', + 4603: '阿尔卡冯的宝库', + 4710: '征服之岛', + 4722: '十字军的试炼', + 4723: '冠军的试炼', + 4742: '洛斯加尔登陆点', + 4809: '灵魂洪炉', + 4812: '冰冠堡垒', + 4813: '萨隆矿坑', + 4820: '映像大厅', + 4987: '红玉圣殿' +}; + +var g_quest_types = { + 0: '普通', + 1: '组队', + 21: '职业', + 41: 'PvP', + 62: '团队', + 81: '地下城', + 82: '世界事件', + 83: '传说', + 84: '护送', + 85: '英雄', + 88: '团队(10)', + 89: '团队(25)' +}; + +var g_sides = { + 1: '联盟', + 2: '部落', + 3: "双方" +}; + +var g_sources = { + 1: "已制造", + 2: "掉落", + 3: "PvP", + 4: "任务", + 5: "商人", + 6: "训练师", + 7: "发现", + 8: "救赎", + 9: "天赋", + 10: "新手", + 11: "活动", + 12: "成就", + // 13: string from db table + 14: "黑市", + 15: "取消附魔", + 16: "可钓", + 17: "已采集", + 18: "经研磨", + 19: "开采", + 20: "已加工", + 21: "失窃", + 22: "废弃", + 23: "已剥皮", + 24: "游戏商店" +}; + +var g_sources_pvp = { + 1: "竞技场", + 2: "战场", + 4: "世界" +}; + +var g_spell_resistances = { + 0: "身体", + 1: "神圣", + 2: "火焰", + 3: "自然", + 4: "冰霜", + 5: "暗影", + 6: "奥术" +}; + +var g_spell_categories = { + "-13": "雕文", + "-11": "精通", + "-8": "NPC能力", + "-7": "宠物天赋", + "-6": "伙伴", + "-5": "坐骑", + "-4": "种族特性", + "-3": "宠物能力", + "-2": "天赋", + 7: "技能", + 9: "辅助专业", + 11: "专业" +}; + +var g_spell_types = { + "-11": { + 1: "武器", + 2: "护甲", + 4: "语言" + } +}; + +var g_spell_skills = { + 6: '冰霜', + 8: '火焰', + 26: '武器', + 38: '战斗', + 39: '敏锐', + 43: '单手剑', + 44: '单手斧', + 45: '弓', + 46: '枪械', + 50: '野兽控制', + 51: '生存技能', + 54: '单手锤', + 55: '双手剑', + 56: '神圣', + 78: '暗影魔法', + 95: '防御', + 98: '语言:通用语', + 101: '矮人种族特长', + 109: '语言:兽人语', + 111: '语言:矮人语', + 113: '语言:达纳苏斯语', + 115: '语言:牛头人语', + 118: '双武器', + 124: '牛头人种族特长', + 125: '兽人种族特长', + 126: '暗夜精灵种族特长', + 129: '急救', + 134: '野性战斗', + 136: '法杖', + 137: '语言:萨拉斯语', + 138: '语言:龙语', + 139: '语言:恶魔语', + 140: '语言:泰坦语', + 141: '语言:古代语', + 142: '生存技能', + 148: '骑术:马', + 149: '骑术:狼', + 150: '骑术:豹', + 152: '骑术:羊', + 155: '游泳', + 160: '双手锤', + 162: '徒手战斗', + 163: '射击', + 164: '锻造', + 165: '制皮', + 171: '炼金术', + 172: '双手斧', + 173: '匕首', + 176: '投掷武器', + 182: '草药学', + 183: 'GENERIC (DND)', + 184: '惩戒', + 185: '烹饪', + 186: '采矿', + 188: '宠物 - 小鬼', + 189: '宠物 - 地狱猎犬', + 197: '裁缝', + 202: '工程学', + 203: '宠物 - 蜘蛛', + 204: '宠物 - 虚空行者', + 205: '宠物 - 魅魔', + 206: '宠物 - 地狱火', + 207: '宠物 - 末日守卫', + 208: '宠物 - 狼', + 209: '宠物 - 豹', + 210: '宠物 - 熊', + 211: '宠物 - 野猪', + 212: '宠物 - 鳄鱼', + 213: '宠物 - 食腐鸟', + 214: '宠物 - 螃蟹', + 215: '宠物 - 猩猩', + 217: '宠物 - 迅猛龙', + 218: '宠物 - 陆行鸟', + 220: '亡灵种族特长', + 226: '弩', + 228: '魔杖', + 229: '长柄武器', + 236: '宠物 - 蝎子', + 237: '奥术', + 251: '宠物 - 海龟', + 253: '刺杀', + 256: '狂怒', + 257: '防护', + 267: '防护', + 270: '宠物 - 猎人宠物', + 293: '板甲', + 313: '语言:侏儒语', + 315: '语言:巨魔语', + 333: '附魔', + 354: '恶魔学识', + 355: '痛苦', + 356: '钓鱼', + 373: '增强', + 374: '恢复', + 375: '元素战斗', + 393: '剥皮', + 413: '锁甲', + 414: '皮甲', + 415: '布甲', + 433: '盾牌', + 473: '拳套', + 533: '骑术:迅猛龙', + 553: '骑术:机械陆行鸟', + 554: '骑术:骸骨战马', + 573: '恢复', + 574: '平衡', + 593: '毁灭', + 594: '神圣', + 613: '戒律', + 633: '开锁', + 653: '宠物 - 蝙蝠', + 654: '宠物 - 土狼', + 655: '宠物 - 猛禽', + 656: '宠物 - 风蛇', + 673: '语言:亡灵语', + 713: '骑术:科多兽', + 733: '种族特长 - 巨魔', + 753: '种族特长 - 侏儒', + 754: '种族特长 - 人类', + 755: '珠宝加工', + 756: '血精灵种族特长', + 758: 'Pet - Event - Remote Control', + 759: '语言:德莱尼语', + 760: '德莱尼种族特长', + 761: '宠物 - 恶魔卫士', + 762: '骑术', + 763: '宠物 - 龙鹰', + 764: '宠物 - 虚空鳐', + 765: '宠物 - 孢子蝠', + 766: '宠物 - 迁跃跟踪者', + 767: '宠物 - 掠食者', + 768: '宠物 - 蛇', + 769: '内部', + 770: '鲜血', + 771: '冰霜', + 772: '邪恶', + 773: '铭文', + 775: '宠物 - 蛾子', + 776: '符文熔铸', + 777: '坐骑', + 778: '小伙伴', + 780: '宠物 - 奇美拉(特殊)', + 781: '宠物 - 魔暴龙(特殊)', + 782: '宠物 - 食尸鬼', + 783: '宠物 - 异种虫(特殊)', + 784: '宠物 - 蠕虫(特殊)', + 785: '宠物 - 巨蜂', + 786: '宠物 - 犀牛(特殊)', + 787: '宠物 - 熔火犬(特殊)', + 788: '宠物 - 灵魂兽(特殊)', +}; + +var g_skill_categories = { + "-6": "伙伴", + "-5": "坐骑", + "-4": "种族特性", + 5: '属性', + 6: "武器技能", + 7: "职业技能", + 8: "护甲精通", + 9: "辅助技能", + 10: "语言", + 11: "专业", +}; + +var g_zones = { + 1: '丹莫罗', + 3: '荒芜之地', + 4: '诅咒之地', + 8: '悲伤沼泽', + 9: '北郡山谷', + 10: '暮色森林', + 11: '湿地', + 12: '艾尔文森林', + 14: '杜隆塔尔', + 15: '尘泥沼泽', + 16: '艾萨拉', + 17: '贫瘠之地', + 25: '黑石山', + 28: '西瘟疫之地', + 33: '荆棘谷', + 36: '奥特兰克山脉', + 38: '洛克莫丹', + 40: '西部荒野', + 41: '逆风小径', + 44: '赤脊山', + 45: '阿拉希高地', + 46: '燃烧平原', + 47: '辛特兰', + 51: '灼热峡谷', + 65: '龙骨荒野', + 66: '祖达克', + 67: '风暴峭壁', + 85: '提瑞斯法林地', + 130: '银松森林', + 132: '寒脊山谷', + 139: '东瘟疫之地', + 141: '泰达希尔', + 148: '黑海岸', + 154: '丧钟镇', + 188: '幽影谷', + 206: '乌特加德城堡', + 209: '影牙城堡', + 210: '冰冠冰川', + 215: '莫高雷', + 220: '红云台地', + 267: '希尔斯布莱德丘陵', + 331: '灰谷', + 357: '菲拉斯', + 361: '费伍德森林', + 363: '试炼谷', + 394: '灰熊丘陵', + 400: '千针石林', + 405: '凄凉之地', + 406: '石爪山脉', + 440: '塔纳利斯', + 457: '迷雾之海', + 490: '安戈洛环形山', + 491: '剃刀沼泽', + 493: '月光林地', + 495: '嚎风峡湾', + 618: '冬泉谷', + 717: '监狱', + 718: '哀嚎洞穴', + 719: '黑暗深渊', + 721: '诺莫瑞根', + 722: '剃刀高地', + 796: '血色修道院', + 1176: '祖尔法拉克', + 1196: '乌特加德之巅', + 1337: '奥达曼', + 1377: '希利苏斯', + 1477: '阿塔哈卡神庙', + 1497: '幽暗城', + 1519: '暴风城', + 1537: '铁炉堡', + 1581: '死亡矿井', + 1583: '黑石塔', + 1584: '黑石深渊', + 1637: '奥格瑞玛', + 1638: '雷霆崖', + 1657: '达纳苏斯', + 1769: '木喉要塞', + 1977: '祖尔格拉布', + 2017: '斯坦索姆', + 2057: '通灵学院', + 2100: '玛拉顿', + 2159: '奥妮克希亚的巢穴', + 2257: '矿道地铁', + 2366: '黑色沼泽', + 2367: '旧希尔斯布莱德丘陵', + 2437: '怒焰裂谷', + 2557: '厄运之槌', + 2597: '奥特兰克山谷', + 2677: '黑翼之巢', + 2717: '熔火之心', + 2817: '晶歌森林', + 3277: '战歌峡谷', + 3358: '阿拉希盆地', + 3428: '安其拉', + 3429: '安其拉废墟', + 3430: '永歌森林', + 3431: '逐日岛', + 3433: '幽魂之地', + 3456: '纳克萨玛斯', + 3457: '卡拉赞', + 3483: '地狱火半岛', + 3487: '银月城', + 3518: '纳格兰', + 3519: '泰罗卡森林', + 3520: '影月谷', + 3521: '赞加沼泽', + 3522: '刀锋山', + 3523: '虚空风暴', + 3524: '秘蓝岛', + 3525: '秘血岛', + 3526: '埃门谷', + 3537: '北风苔原', + 3557: '埃索达', + 3562: '地狱火城墙', + 3606: '海加尔峰', + 3607: '毒蛇神殿', + 3679: '斯克提斯', + 3698: '纳格兰竞技场', + 3702: '刀锋山竞技场', + 3703: '沙塔斯城', + 3711: '索拉查盆地', + 3713: '鲜血熔炉', + 3714: '破碎大厅', + 3715: '蒸汽地窟', + 3716: '幽暗沼泽', + 3717: '奴隶围栏', + 3789: '暗影迷宫', + 3790: '奥金尼地穴', + 3791: '塞泰克大厅', + 3792: '法力陵墓', + 3805: '祖阿曼', + 3820: '风暴之眼', + 3836: '玛瑟里顿的巢穴', + 3842: '风暴要塞', + 3845: '风暴要塞', + 3847: '生态船', + 3848: '禁魔监狱', + 3849: '能源舰', + 3923: '格鲁尔的巢穴', + 3959: '黑暗神殿', + 3968: '洛丹伦废墟', + 4024: '考达拉', + 4075: '太阳之井高地', + 4080: '奎尔丹纳斯岛', + 4100: '净化斯坦索姆', + 4131: '魔导师平台', + 4196: '达克萨隆要塞', + 4197: '冬拥湖', + 4228: '魔环', + 4264: '岩石大厅', + 4265: '魔枢', + 4272: '闪电大厅', + 4273: '奥杜尔', + 4277: '艾卓-尼鲁布', + 4298: '血色领地', + 4378: '达拉然竞技场', + 4384: '远古海滩', + 4395: '达拉然', + 4406: '勇气竞技场', + 4415: '紫罗兰监狱', + 4416: '古达克', + 4493: '黑曜石圣殿', + 4494: '安卡赫特:古代王国', + 4500: '永恒之眼', + 4603: '阿尔卡冯的宝库', + 4710: '征服之岛', + 4722: '十字军的试炼', + 4723: '冠军的试炼', + 4742: '洛斯加尔登陆点', + 4809: '灵魂洪炉', + 4812: '冰冠堡垒', + 4813: '萨隆矿坑', + 4820: '映像大厅', + 4987: '红玉圣殿' +}; + +var g_zone_areas = { + 206: ['诺迪尔备战区', '掠龙氏族高台', '提尔之台'], + 209: ['庭院', '饭厅', '空巢', '下层瞭望台', '上层瞭望台', '高弗雷勋爵的大厅', '城墙走道'], + 719: ['阿斯卡之池', '月神圣地密室', '遗忘之池'], + 721: ['齿轮大厅', '宿舍', '发射台', '工匠议会'], + 796: ['Graveyard', 'Library', 'Armory', 'Cathedral'], + 1196: ['尖塔下层', '尖塔上层'], + 1337: ['守护者大厅', '卡兹格罗斯之座'], + 1581: ['死亡矿井', '铁甲湾'], + 1583: ['塔萨洛尔', '蛛网隧道', '霍德玛尔城', '黑手大厅', '哈雷肯之巢', '战斗之厅'], + 1584: ['禁闭室', '暗炉城'], + 2017: ['十字军广场', '街巷'], + 2057: ['遗骨之穴', '召唤大厅', '书房上层', '院长的书房'], + 2100: ['玛拉顿的洞穴', '扎尔塔之墓'], + 2557: ['戈多克议会', '中心花园', '上层精灵庭院', '伊莫塔尔的牢笼', '扭木广场', '艾德雷斯神殿'], + 2677: ['龙喉兵营', '征战大厅', '血色实验室', '奈法利安的巢穴'], + 3428: ['地下虫巢', '神殿大门', '克苏恩地穴'], + 3456: ['构造区', '蜘蛛区', '军事区', '瘟疫区', '大墓地下层', '大墓地上层'], + 3457: ['仆役宿舍', '上层马厩', '宴会厅', '会客间', '歌剧院楼座', '主宰的露台', '下层断阶', '上层断阶', '展览馆', '守护者的图书馆', '储藏室', '上层图书馆', '观星大厅', '象棋大厅', '麦迪文的房间', '能量站', '虚空异界'], + 3715: ['蒸汽地窟', '冷却池'], + 3790: ['转生大厅', '灵魂之桥'], + 3791: ['塞泰克鸦巢', '哀悼大厅'], + 3848: ['静止隔间:特雷奥', '静止隔间:玛克希姆', '密封核心'], + 3849: ['能源舰', '计算密室'], + 3959: ['伊利达雷训练场', '卡拉波下水道', '暗影圣殿', '苦痛大厅', '血魔之厅', '欢愉之园', '命令大厅', '神殿之巅'], + 4075: ['太阳之井高地', '日蚀神殿'], + 4100: ['斯坦索姆外围', '斯坦索姆城'], + 4131: ['大魔导师的圣堂', '观测台'], + 4196: ['达克萨隆前庭', '达克萨隆悬崖'], + 4228: ['突变之环', '加速之环', '转化之环', '校准之环'], + 4272: ['坚韧军营', '造物者步道'], + 4273: ['壮阔大道', '奥杜尔的前厅', '奥杜尔的内部圣殿', '尤格-萨隆的监狱', '思想火花', '心灵之眼'], + 4277: ['孵化深渊', '哈多诺克斯之巢', '镀金之门'], + 4395: ['达拉然城', '达拉然下水道'], + 4494: ['安卡赫特', 'Level 2'], + 4722: ['银色演武场', '寒冰深渊'], + 4812: ['堡垒下层', '颅骨之墙', '死亡使者之台', '冰霜女王的巢穴', '上层区域', '皇家区', '冰封王座', '霜之哀伤'] +}; + +var g_zone_categories = { + 0: "东部王国", + 1: "卡利姆多", + 2: "地下城", + 3: "团队副本", + 4: 'Unused', + 6: "战场", + 8: "外域", + 9: "竞技场", + 10: "诺森德" +}; + +var g_zone_instancetypes = { + 1: "转移", + 2: "地下城", + 3: "团队副本", + 4: "战场", + 5: "地下城", + 6: "竞技场", + 7: "团队副本", + 8: "团队副本" +}; + +var g_zone_territories = { + 0: "联盟", + 1: "部落", + 2: "有争议的", + 3: "避难所", + 4: "PvP", + 5: "世界PvP" +}; + +var g_faction_categories = { + 0: '其他', + 469: '联盟', + 891: '联盟部队', + 1037: '联盟先遣军', + 1118: '经典旧世', + 67: '部落', + 1052: '部落先遣军', + 892: '部落军队', + 936: '沙塔斯城', + 1117: '索拉查盆地', + 169: '热砂港', + 980: '燃烧的远征', + 1097: '巫妖王之怒' +}; + +var g_achievement_categories = { + 1: '属性', + 21: 'PvP', + 81: '光辉事迹', + 92: '综合', + 95: 'PvP', + 96: '任务', + 97: '探索', + 122: '死亡', + 123: '竞技场', + 124: '战场', + 125: '地下城', + 126: '世界', + 127: '复活', + 128: '杀敌', + 130: '角色', + 131: '社交', + 132: '技能', + 133: '任务', + 134: '旅行', + 135: '怪物', + 136: '荣誉杀敌', + 137: '击杀', + 140: '财富', + 141: '战斗', + 145: '消耗品', + 147: '声望', + 152: '竞技场积分赛', + 153: '战场', + 154: '世界', + 155: '世界事件', + 156: '冬幕节', + 158: '万圣节', + 159: '复活节', + 160: '春节', + 161: '仲夏节', + 162: '美酒节', + 163: '儿童周', + 165: '竞技场', + 168: '地下城和团队', + 169: '专业', + 170: '烹饪', + 171: '钓鱼', + 172: '急救', + 173: '专业', + 178: '辅助技能', + 187: '情人节', + 191: '装备', + 201: '声望', + 14777: '东部王国', + 14778: '卡利姆多', + 14779: '外域', + 14780: '诺森德', + 14801: '奥特兰克山谷', + 14802: '阿拉希盆地', + 14803: '风暴之眼', + 14804: '战歌峡谷', + 14805: '燃烧的远征', + 14806: '巫妖王 - 地下城', + 14807: '地下城与团队', + 14808: '经典旧世', + 14821: '经典旧世', + 14822: '燃烧的远征', + 14823: '巫妖王之怒', + 14861: '经典旧世', + 14862: '燃烧的远征', + 14863: '巫妖王之怒', + 14864: '经典旧世', + 14865: '燃烧的远征', + 14866: '巫妖王之怒', + 14881: '远古海滩', + 14901: '冬拥湖', + 14921: '巫妖王 - 英雄地下城', + 14922: '巫妖王 - 10人团队', + 14923: '巫妖王 - 25人团队', + 14941: '银色锦标赛', + 14961: '奥杜尔的秘密 - 10人团队', + 14962: '奥杜尔的秘密 - 25人团队', + 14963: '奥杜尔的秘密', + 14981: '感恩节', + 15001: '北伐的召唤 - 10人团队', + 15002: '北伐的召唤 - 25人团队', + 15003: '征服之岛', + 15021: '北伐的召唤', + 15041: '巫妖王的陨落 - 10人团队', + 15042: '巫妖王的陨落 - 25人团队', + 15062: '巫妖王的陨落' +}; + +var g_title_categories = { + 0: "一般", + 1: "PvP", + 2: "声望", + 3: "地下城与团队副本", + 4: "任务", + 5: "专业", + 6: "世界事件" +}; + +var g_holiday_categories = { + 1: "节日", + 2: "循环", + 3: "PvP", + 0: "未分类" +}; + +var g_currency_categories = { + 1: '其它', + 2: 'PvP', + 3: '未使用', + 4: '经典旧世', + 21: '巫妖王之怒', + 22: '地下城与团队', + 23: '燃烧的远征', + 41: '测试' +}; + +var g_user_roles = { + 1: "测试员", + 2: "管理员", + 3: "编辑器", + 4: "管理员", + 5: "官僚", + 6: "开发者", + 7: "VIP", + 8: "博主", + 9: "特级", + 10: "本地化人员", + 11: "销售代理", + 12: "截屏管理器", + 13: "视频管理员", + 14: "API伙伴", + 15: "等待中" +}; + +var g_gem_colors = { + 1: "多彩", + 2: "红色", + 4: "黄色", + 6: "橙色", + 8: "蓝色", + 10: "紫色", + 12: "绿色", + 14: "棱彩" +}; + +var g_socket_names = { + 1: '多彩插槽', + 2: '红色插槽', + 4: '黄色插槽', + 8: '蓝色插槽', + 14: '棱彩插槽' +}; + +/* custom */ +// DRUNK_MESSAGE_* +var g_drunk_states = { + 0: 'sober', + 1: 'tipsy', + 2: 'drunk', + 3: 'smashed' +}; + +var g_operators = { + 0: 'exact', + 1: '超过', + 2: '小于', + 3: 'more than or exact', + 4: 'less than or exact' +}; + +var g_world_object_types = { + 3: '生物', + 4: '玩家', + 5: '对象', + 7: '玩家尸体' +}; + +var g_condition_types = { + 1: ['Looting', 'If the conditions are met, this item can be dropped by [npc=$1].'], // CND_SRC_CREATURE_LOOT_TEMPLATE + 2: ['Disenchanting', 'If the conditions are met, this item can be found when disenchanting [item=$1].'], // CND_SRC_DISENCHANT_LOOT_TEMPLATE + 3: ['Fishing', 'If the conditions are met, fishing in [zone=$1] can yield this item.'], // CND_SRC_FISHING_LOOT_TEMPLATE + 4: ['Object Opening', 'If the conditions are met, this item can be found in [object=$1].'], // CND_SRC_GAMEOBJECT_LOOT_TEMPLATE + 5: ['Item Opening', 'If the conditions are met, this item can be found in [item=$1].'], // CND_SRC_ITEM_LOOT_TEMPLATE + 6: ['Mail Attachm.', 'If the conditions are met, this item can be attached to this mail.'], // CND_SRC_MAIL_LOOT_TEMPLATE + 7: ['Milling', 'If the conditions are met, this item can be milled from [item=$1].'], // CND_SRC_MILLING_LOOT_TEMPLATE + 8: ['Pickpocketing', 'If the conditions are met, this item can be picked from [npc=$1].'], // CND_SRC_PICKPOCKETING_LOOT_TEMPLATE + 9: ['Prospecting', 'If the conditions are met, this item can be prospected from [item=$1].'], // CND_SRC_PROSPECTING_LOOT_TEMPLATE + 10: ['Ref. Looting', ''], // CND_SRC_REFERENCE_LOOT_TEMPLATE + 11: ['Skinning', 'If the conditions are met, this item can be skinned from [npc=$1].'], // CND_SRC_SKINNING_LOOT_TEMPLATE + 12: ['Crafting', 'If the conditions are met, casting [spell=$1] may also create this item.'], // CND_SRC_SPELL_LOOT_TEMPLATE + 13: ['Auto Target', 'Only targets matching the conditions can be affected by the spell.'], // CND_SRC_SPELL_IMPLICIT_TARGET + 14: ['Gossip', 'Display the related Gossip entry on [npc=$2], if the conditions are met.'], // CND_SRC_GOSSIP_MENU + 15: ['Gossip Menu', 'Display the related Gossip menu, if the conditions are met.'], // CND_SRC_GOSSIP_MENU_OPTION + 16: ['Vehicle', 'This Creature can be used as a vehicle, if the conditions are met.'], // CND_SRC_CREATURE_TEMPLATE_VEHICLE + 17: ['Spell', 'This Spell can only be cast, if the conditions are met.'], // CND_SRC_SPELL + 18: ['Spell Click', 'If the conditions are met, [npc=$2] casts [spell=$1] if clicked on.'], // CND_SRC_SPELL_CLICK_EVENT + 19: ['Quest Accept', 'The Player can accept this quest, if the condition is met.'], // CND_SRC_QUEST_SHOW_MARK + 20: ['Quest Sign', 'A [icon name=quest_startend] [/icon] will be shown for this quest, if the condition is met.'], // CND_SRC_QUEST_ACCEPT + 21: ['Vehicle Spell', 'If the conditions are met, vehicle [npc=$2] has [spell=$1] available.'], // CND_SRC_VEHICLE_SPELL + 22: ['SmartAI', 'If the conditions are met, the creatures AI may perform additional actions.'], // CND_SRC_SMART_EVENT + 23: ['Vendor', 'If the conditions are met, the vendor will have this item available.'], // CND_SRC_NPC_VENDOR + 24: ['Spell Proc', 'If the conditions are met, the spell is allowed to proc.'] // CND_SRC_SPELL_PROC +}; + +var g_conditions = { + 1: 'The Player $has:does not have; an aura of $1', + 2: 'The Player $owns: does not own; $1', + 3: 'The Player $has:does not have; $1 equipped', + 4: 'The Player is$: not; in $1', // also used by 22, 23 + 5: '玩家声望关系和$1是$:不是;$2', + 6: '玩家是$:不是;$1', + 7: 'The Player $knows: does not know; $1', + 8: 'The Player has$: not; finished $1', + 9: '玩家已经$:没有;接受$1', + 10: 'The Player is$: not; $1', + 11: 'WorldState #$1 is$: not; $2', + 12: '$1 must$: not; be active', + 13: 'The instance $has:does not have; a certain state', // nyi + 14: 'The Player has $never:; interacted with $1', + 15: 'The Player is$: not; a $1', // also used by 16 + 17: 'The Player has$: not; achieved $1', + 18: 'The Player has$: not; obtained $1', + 20: 'The Player\'s gender is$: not; [span class=icon-$2]$1[/span]', + 21: 'The target $has:does not have; a certain state', // nyi + 24: '', // not used + 25: 'The Player $knows: does not know; $1', + 26: 'The Creature is$: not; in phase $1', + 27: 'The target\'s level is$: not; $2 $1', + 28: 'The Player has$: not; completed $1', + 29: 'The Player is$: not; within $2yd of $1', // also used by 30 + 31: 'Casters\'s target is$: not; $1', // also used by 32 + 33: 'The Player $has:does not have; a certain relation to the target', // nyi + 34: 'The target $has:does not have; a certain reaction to the Player', // nyi + 35: 'The target is$: not; $2 $1yd away', + 36: 'The target is$: not; alive', + 37: 'The target\'s health is$: not; $2 $1', + 37: 'The target\'s health is$: not; $2 $1%' +}; +/* end custom */ + +var LANG = { + alltime_stc: "全天候", + lastmonth_stc: "上个月", + lastweek_stc: "上周", + + linkremoved: "链接被移除", + linkremoved_tip: "新注册用户无法
发布链接。", + + and: "和", + or: "或", + comma: "、", + ellipsis: "…", + dash: " – ", + hyphen: "—", + colon: ":", + qty: "($1)", + error: "错误", + + date: "日期", + date_colon: "日期:", + date_on: "在", + date_ago: "$1前", + date_at: "于", + date_to: "至", + date_simple: "$3/$2/$1", + unknowndate_stc: "未知日期", + date_months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "12月"], + date_days: ["星期天", "周一", "星期二", "星期三", "星期四", "星期五", "星期六"], + + amount: "数量", + abilities: "技能", + activity: "活动", + add: "添加", + animation: "动作", + armor: "护甲", + text: "文本", + author: "作者", + battlegroup: "战场组", + subregion: "分区", + blueposts: "蓝贴", + branch: "分支", + cancel: "取消", + category: "分类", + classes: "职业", + classs: "职业", + close: "关闭", + completed: "已完成", + contactus: "联系我们", + cost: "成本", + count: "计数", + currency: "货币", + daily: "日常", + weekly: "每周", + damage: "伤害", + 'delete': "删除", + diet: "饮食", + dps: "DPS", + earned: "赢得", + enchant: "附魔", + entitycount: "$1 $2", + exp: "经验", + faction: "阵营", + gains: "收获", + gender: "性别", + gems: "珠宝\n", + gearscore: "装备", + gearscore_real: "装备得分", + glyphtype: "雕文类型", + group: "组队", + guild: "公会", + guildleader: "公会会长", + guildrank: "公会等级", + health: "生命", + help: "帮助", + heroiclevel: "英雄等级", + icon: "图标", + instancetype: "副本类型", + lastpost: "最近帖子", + lastbluepost: "最新蓝贴", + level: "等级", + location: "地点", + losses: "损失", + losses: "损失", + model: "模型", + money: "金钱", + name: "名称", + next: "下一个", + no: "无", + ok: "确定", + original: "原创", + players: "玩家", + previous: "上一个", + quality: "质量", + race: "种族", + races: "种族", + rankno: "排名$1", + rating: "评分", + react: "反应", + ready: "就绪", + realm: "服务器", + reagents: "施法材料", + region: "地区", + rejected: "拒绝", + rep: "声望", + req: "需要等级", + requires: "要求", + reputation: "声望", + rewards: "奖励", + petfamily: "宠物家族", + pieces: "件", + points: "点数", + posted: "已发送", + posts: "帖子", + premiumupgrade: "高级会员升级", + preview: "预览", + privateprofile: "私人", + prize: "奖品", + profiler: "Profiler", // enUS + progress: "进行", + purge: "清除", + publicprofile: "公开", + relevance: "相关度", + replies: "回复", + report: "报告", + report_tooltip: "此帖子需管理员处理。", + replyreportwarning_tip: "您确定要向管理员举报此回复?", + school: "类型", + score: "分数", + settings: "设置", + side: "阵营", + signature: "签名", + signout: "登出", + sockets: "插槽", + source: "来源", + skill: "技能", + skillpoints: "技能点", + skin: "皮肤", + slot: "物品栏", + slots: "物品栏", + smartloot: "靶向拾取", + speed: "速度", + stack: "堆栈", + standing: "声望", + stock: "贮存量", + statistic: "数据", + subject: "对象", + submit: "提交", + talents: "天赋", + territory: "领域", + tier: "等级", + topics: "主题", + tp: "天赋点", + trending: "热门趋势", + type: "类型", + unused: "未使用", + up: "上层", + cooldown: "冷却", + duration: "持续时间", + user: "用户", + views: "浏览量", + userpage: "用户页", + wins: "胜", + when: "时间", + today: "今日", + yes: "是", + yields: "产出", + allday: "全天", + yesterday: "昨天", + dayatnoon: "$1 at noon", // enUS + noon: "正午", + dayatmidnight: "$1 at midnight", // enUS + midnight: "午夜", + dayatam: "$1 at $2 AM", // enUS + am: "AM", + dayatpm: "$1 at $2 PM", // enUS + pm: "PM", + + male: "男性", + female: "女性", + + searchdb: "在数据库中搜索", + + source_bossdrop: "Boss掉落", + source_zonedrop: "地图掉落", + source_quests: "任务", + source_vendors: "商人", + + infobox_noneyet: "尚无– $1!", + infobox_submitone: "提交一个", + infobox_suggestone: "建议一个", + infobox_showall: "显示全部 ($1)", + + lvclass_hero: "英雄职业", + + lvcomment_add: "添加评论", + + sort: "排序", + newestfirst_stc: "由新到旧", + oldestfirst_stc: "由旧到新", + highestrated_stc: "最高评分", + + lvcomment_patchfilter: "按补丁筛选:", + lvcomment_by: "发自", + lvcomment_patch: " (补丁 $1)", + lvcomment_show: "显示评论", + lvcomment_hide: "隐藏评论", + lvcomment_rating: "等级:", + lvcomment_lastedit: "最近一次编辑由", + lvcomment_deletedby: "删除者", + lvcomment_nedits: "已编辑$1次", + lvcomment_edit: "编辑", + lvcomment_delete: "删除", + lvcomment_undelete: "恢复", + lvcomment_detach: "分离", + lvcomment_reply: "回复", + lvcomment_report: "报告", + lvcomment_reported: "已报告!", + + lvcomment_uptodate: "最新", + lvcomment_uptodateresponse: "评论标记为当前", + lvcomment_outofdate: "失去时效", + lvcomment_outofdateresponse: "评论被标记为失去时效", + lvcomment_outofdateresponsequeued: "评论进入失去时效队列", + lvcomment_outofdate_tip: "您确定要标记此评论过时?如是,请在下方输入理由。恶意标记会受到惩罚!", + + lvcomment_deleted: "(已删除)", + lvcomment_purged: "(已清除)", + + lvdrop_outof: "$1之一", + + lvitem_dd: "($1$2)", + lvitem_normal: "普通", + lvitem_heroic: "英雄", + lvitem_raid10: "10", + lvitem_raid25: "25", + lvitem_heroicitem: "英雄", + lvitem_vendorin: "商人所在地:", + lvitem_reqlevel: "需要等级", + + lvnpc_alliance: "联盟", + lvnpc_horde: "部落", + + lvquest_daily: "每日 $1", + lvquest_weekly: "每周 $1", + lvquest_pickone: "选取其中一个:", + lvquest_alsoget: "同时得到:", + lvquest_removed: "已移除", + lvquest_disabled: "致残", + lvquest_autoaccept: "自动接收", + lvquest_hostile: "(敌对)", + lvquest_xp: "$1 XP", // enUS + + lvzone_xman: "$1-玩家", + lvzone_xvx: "$1v$2", + + lvpet_exotic: "异域的", + + lvpage_of: "的", + lvpage_first: "第一", + lvpage_previous: "上一个", + lvpage_next: "下一个", + lvpage_last: "最后", + + lvsearchresults: "在结果中搜索", + lvsearchdisplayedresults: "在已显示结果中搜索...", + + lvscreenshot_submit: "提交截图", + lvscreenshot_from: "来自", + lvscreenshot_hires: "视图", + lvscreenshot_hires2: "更高分辨率版本 ($1x$2)", + + lvvideo_suggest: "建议视频", + lvvideo_from: "来自", + + lvnodata: "没有可现实的数据。", + lvnodata2: "没有找到配对。", + lvnodata3: "请选择类别。", + lvnodata4: "你没有排除任何条目。", + lvnodata_co1: "还无人发表过评论。", + lvnodata_co2: "成为第一个在此页面 留言的人!", + lvnodata_co3: '请登录以添加评论,如果您没有账号,请注册 。', + lvnodata_ss1: "尚未上传屏幕截图。", + lvnodata_ss2: "成为第一个为此页面 上传屏幕截图的人!", + lvnodata_ss3: '您没有登录。请登录后提交截屏或注册如果您还没有账号。', + lvnodata_vi1: "尚未上传视频。", + lvnodata_vi2: " 做第一个为此页面建议视频的人吧!", + lvnodata_vi3: '请 登录来上传视频或注册如果您还没有账号。', + + lvnote_sort: "分类:", + + lvnote_tryfiltering: "试试筛选您的结果", + lvnote_trynarrowing: "请尝试缩小搜索范围", + lvnote_upgradesfor: '寻找升级 $3.', + lvnote_witherrors: "您搜索中的部分筛选词无效,已被忽略。", + + lvnote_entitiesfound: "找到$1$2 (显示$3)", + lvnote_itemsfound: "找到$1件物品 (显示$2件)", + lvnote_itemsetsfound: "找到$1个物品组合 (显示$2个)", + lvnote_npcsfound: "找到$1个NPC (显示$2个) ", + lvnote_objectsfound: "找到$1件物品 (显示$2件)", + lvnote_questsfound: "找到$1个任务 (显示$2个)", + lvnote_questsind: '任务位于分类 $3。', + lvnote_spellsfound: "找到$1个法术 (显示$2个)", + lvnote_skillsfound: "找到$1个技能 (显示$2个)", + lvnote_abilitiesfound: "找到$1种技能 (显示$2种)", + lvnote_talentsfound: "找到$1个天赋 (显示$2个)", + lvnote_professionfound: "找到$1个专业 (显示$2个)", + lvnote_mountsfound: "找到$1只坐骑 (显示$2只)", + lvnote_zonesfound: "找到$1个区域 (显示$2个)", + lvnote_companionsfound: "发现$1个小伙伴 (显示$2个)", + lvnote_factionsfound: "发现$1个阵营 (显示$2个)", + lvnote_petsfound: "找到$1个宠物 (显示$2个)", + lvnote_achievementsfound: "找到$1个成就 (显示$2个)", + lvnote_achievementsind: '成就分类目录$3.', + lvnote_statisticsfound: "$1 statistics found ($2 displayed)", // enUS + lvnote_charactersfound: "$1 total characters", // enUS + lvnote_charactersfound2: "$1 total characters, $2 matching", // enUS + lvnote_guildsfound: "$1 total guilds", // enUS + lvnote_guildsfound2: "$1 total guilds, $2 matching", // enUS + lvnote_arenateamsfound: "$1 total arena teams", // enUS + lvnote_arenateamsfound2: "$1 total arena teams, $2 matching", // enUS + lvnote_currenciesfound: "发现$1种货币 (显示$2种)", + lvnote_enchantmentsfound: "$1 enchantments found ($2 displayed)", // enUS + lvnote_soundsfound: "$1 sounds found ($2 displayed)", + + lvnote_createafilter: '创建筛选条件', + lvnote_filterresults: '筛选这些结果', + lvnote_questgivers: '查看任务赋予者$2  |  Filter 任务奖励', + lvnote_allpets: 'All pets can learn all of the passive skills', // enUS + lvnote_pettalents: '查看宠物 可习得此天赋', + lvnote_zonequests: '浏览任务$3目录  |  Filter 任务奖励', + lvnote_crafteditems: '过滤 加工物品', + lvnote_viewmoreslot: '关于此槽,查看 获得更多结果 ', + lvnote_viewmorelevel: '关于此物品等级,查看获得更多结果 ', + lvnote_viewmoresource: '关于此来源,查看获得更多结果 ', + + lvnote_itemdisenchanting: "该物品被去附魔$1次。", + lvnote_itemdropsinnormalonly: "该物品只在普通模式下掉落。", + lvnote_itemdropsinheroiconly: "该物品只在英雄模式下掉落。", + lvnote_itemdropsinnormalheroic: "此物品在普通模式和英雄模式中都会掉落。", + lvnote_itemdropsinnormal10only: "该物品只在10人普通模式下掉落。", + lvnote_itemdropsinnormal25only: "该物品只在25人普通模式下掉落。", + lvnote_itemdropsinheroic10only: "该物品只在10人英雄模式下掉落。", + lvnote_itemdropsinheroic25only: "该物品只在25人英雄模式下掉落。", + lvnote_itemmilling: "该草药已被研磨过$1次。", + lvnote_itemopening: "该物品被打开过$1次。", + lvnote_itemprospecting: "此矿脉已被勘探$1次。", + + lvnote_npcdrops: "此NPC已被洗劫$1次。", + lvnote_npcdropsnormal: "此NPC在普通模式已被洗劫$1次。", + lvnote_npcdropsheroic: "此NPC在英雄模式已被洗劫$1次。", + lvnote_npcdropsnormalX: "此NPC在普通模式$2已被洗劫$1次。", + lvnote_npcdropsheroicX: "此NPC在英雄$2模式已被洗劫$1次。", + lvnote_npcobject: '$2 已被打开$3次。.', + lvnote_npcobjectnormal: '$2 在普通模式被打开$3次。', + lvnote_npcobjectheroic: '$2 在英雄模式被打开$3次。', + lvnote_npcobjectnormalX: '$2 在普通 $4 模式被打开$3次。', + lvnote_npcobjectheroicX: '$2 在英雄 $4模式被打开$3次。', + lvnote_npcobjectsource: '显示 $2掉落', + lvnote_npcherbgathering: "此NPC已用草药学剥皮$1次。", + lvnote_npcsalvaging: "此NPC已用工程学回收$1次。", + lvnote_npcmining: "此NPC已用采矿学剥皮$1次。", + lvnote_npcpickpocketing: "此NPC已遭$1次扒窃。", + lvnote_npcskinning: "此NPC已被剥皮$1次。", + + lvnote_objectherbgathering: "该草药已被采集过$1次。", + lvnote_objectmining: "此矿脉已被开采$1次。", + lvnote_objectopening: "此物品已被打开$1次。", + lvnote_objectopeningnormal: "此物品在普通模式已被打开$1次。", + lvnote_objectopeningheroic: "此物品在英雄模式已被打开$1次。", + lvnote_objectopeningnormalX: "此物品在普通$2模式已被打开$1次。", + lvnote_objectopeningheroicX: "此物品在英雄$2模式中已被打开$1次。", + + lvnote_zonefishing: "此地图中的水体已被垂钓过$1次。", + + lvnote_achieveevent: '查看 项目页面 for $2', + + lvnote_usercomments: "用户共发表$1条评论。", + lvnote_userscreenshots: "此用户共上传$1张屏幕截图。", + lvnote_uservideos: "此用户共上传$1个视频。", + lvnote_usertopics: "此用户共发表$1个话题。", + lvnote_userreplies: "此用户共发表$1条回复。", + + button_compare: "比较", + button_delete: "删除", + button_deselect: "取消选择", + button_edit: "编辑", + button_equip: "装备", + button_exclude: "排除", + button_include: "包括", + button_makepriv: "设为隐私", + button_makepub: "设为公开", + button_new: "新", + button_newavatar: "上传新的", + button_quickexclude: "隐藏项管理", + button_remove: "移除", + button_resync: "重新同步", + button_selectall: "全选", + button_upgrades: "查找更新", + button_viewin3d: "3D查看", + button_markup: "标记", + button_link: "链接", + + dialog_cantdisplay: "注意:您选中的部分物品被忽略了。请单独选中他们进行3D显示。", + dialog_compare: "物品比较", + dialog_image: "图片", + dialog_imagedetails: "图片细节", + dialog_imagename: "名称:", + dialog_imageselector: "图片挑选", + dialog_losechanges: "您正在查看装备库角色,除非保存为自定义档案,所做的任何改变都会丢失。", + dialog_nosaveandview: "查看后不保存", + dialog_saveandview: "保存并立即浏览", + dialog_saveforlater: "存后再说", + dialog_selecteditem: "$1物品已被选中。", + dialog_selecteditems: "$1 物品已被选中。", + dialog_seeallusingicon: "查看所有$1, $2, 或使用此图标查看$3。", + dialog_mouseovertoload: "鼠标移到目标来加载…", + + message_ajaxnotsupported: '请升级到较新的支持"Ajax"请求的浏览器(如火狐)。', + message_browsernoaudio: "抱歉, 您的浏览器无法播放$1格式的音频.", + message_cantdeletecomment: "此评论由于负分评价已被自动清除,无法删除。", + message_cantdetachcomment: "此评论已分离。", + message_codenotentered: "您没有输入验证码。", + message_commentdetached: "此评论已被分离。", + message_commenttooshort: "消息不可为空。", + message_descriptiontooshort: "您的描述至少要10个字符,请多写一些。", + message_emailnotvalid: "该邮箱无效。", + message_entercurrpass: "请输入当前密码。", + message_enteremailorpass: "请务必输入你的新邮件地址或密码。", + message_enteremail: "请输入邮件地址。", + message_enternewemail: "请输入新的邮件地址。", + message_enternewpass: "请输入新密码。", + message_enterpassword: "请输入密码。", + message_enterusername: "请输入您的用户名。", + message_forumposttooshort: "您的帖子是空的!", + message_invalidfilter: "无效的筛选条件", + message_invalidname: "图片名无效。必须使用字母和数字,最多20个字符,以字母开头。", + message_newemaildifferent: "您的新邮箱地址必须不同于旧地址。", + message_newpassdifferent: "您的新密码必须不同于旧密码。", + message_noscreenshot: "请选择要上传的截屏。", + message_novideo: "请输入有效的视频信息。", + message_nothingtoviewin3d: "没有选中可以3D浏览的物品。", + message_passwordmin: "您的密码长度至少为6个字符。", + message_passwordsdonotmatch: "密码不匹配", + message_savebeforeexit: "您将失去所有未保存的修改。", + message_startedpost: "您已经开始输入信息了。", + message_sharetheurlbelow: "在下方分享URL", + message_usernamemin: "用户名至少需要4个字符。", + message_usernamenotvalid: "用户名只能包含字母和数字。", + message_weightscalesaveerror: "错误:无法保存权重标尺。Wowhead账号上限为5套自定义标尺。每个标尺需至少有一个属性权重。", + + comments: "评论", + posts: "帖子", + screenshots: "屏幕截图", + reports: "报告", + votes: "投票", + uploads: "上传", + username: "用户名", + created: "已创建", + + confirm_addtosaved: "添加至以保存的对比?", + confirm_commenttoolong: "你的评论超过$1个字,会被删减:\n\n$2\n\n仍然要继续吗?", + confirm_deletecomment: "您确定要删除此条评论吗?", + votetodelete_tip: "您确定要投票删除此评论?\n\n评论只有符合下列条件才可删除:\n- 评论过期\n- 评论包含露骨辱骂或广告", + votetodelete2_tip: "您确定要投票删除此评论?\n\n评论只有符合下列条件才可删除:\n- 评论过期\n- 评论包含露骨辱骂或广告\n\n若要删除此评论,请说明原因:", + votetodelete3_tip: "[在此处输入原因]", + youmustprovideareason_stc: "您必须给出一个理由。", + votetoundelete_tip: "确定要投票取消删除这条评论?", + votedtodelete_tip: "谢谢,如果其他高声望用户同意您的决定,评论将被删除。", + votedtoundelete_tip: "谢谢,如果其他高声望用户同意您的决定,评论将被取消删除。", + confirm_descriptiontoolong: "你的描述超过$1个字,会被删减:\n\n$2\n\n仍然要继续吗?", + confirm_detachcomment: "您确定要独立此评论?", + confirm_forumposttoolong: "您的帖子超过了$1字将被删节: \n\n$2\n\n仍然继续吗?", + confirm_report2: "您确定要举报此帖子$1吗?", + confirm_report3: "您确定要举报此头像粗俗/不当?", + confirm_report4: "您确定要举报此图片粗俗/不当?", + confirm_report: "您确定要举报这条评论 $1?", + confirm_signaturetoolong: "您的签名超过了$1个汉字,将在\n$2后被删减:\n\n$2\n\n仍然继续吗?", + confirm_signaturetoomanylines: "您的签名超过了$1行,将被删减。\n\n仍然继续吗?", + confirm_deleteweightscale: "您确定要删除此自定义权重标尺吗?", + + prompt_colfilter1: "您可谓$1栏设置过滤器:", + prompt_colfilter2: '如 "剑"', + prompt_colfilter3: '如">100", "32-34" 或 "!<=10"', + prompt_customrating: "请输入 -$1至$2间的等级值:", + prompt_details: "请在下方提供详情:", + prompt_gotopage: "请输入您想跳转的页面($1 - $2):", + prompt_ingamelink: "将下列内容复制粘贴到您的游戏聊天栏:", + prompt_linkurl: "请输入链接的URL:", + prompt_ratinglevel: "请输入用于模拟器的等级 ($1 - $2):", + prompt_signaturemarkup: "将下列内容复制粘贴到您的Wowhead签名:", + prompt_signaturedirect: "复制粘贴下列内容直接连接到此图片:", + prompt_nameweightscale: "请为该权重标尺命名。", + prompt_tcbuild: "复制并粘贴下列URL至此配置:", + + genericerror: '发生了一个错误,刷新页面并重试。如果错误仍然存在,请联系 feedback', // enUS + + tooltip_activeholiday: "该事件正在进行中", + tooltip_achievementcomplete: "$1在$2/$3/$4上获得成就", + tooltip_achievementnotfound: "无法找到成就 :(", + tooltip_achievementpoints: "成就点", + tooltip_allianceonly: "仅限联盟", + tooltip_arenapoints: "Arena Points", // enUS + tooltip_armorbonus: "有$1额外护甲", + tooltip_avgmoneycontained: "平均含有金钱", + tooltip_avgmoneydropped: "平均掉落金钱", + tooltip_banned_rating: "您禁止评价评论。", + tooltip_too_many_votes: "您已达今日投票上限,请明天再来!", + tooltip_buyoutprice: "平均购买价(AH)", + tooltip_changelevel2: "拖动来改变等级", + tooltip_changelevel: "点击更改等级", + tooltip_colfilter1: "筛选条件: $1", + tooltip_colfilter2: "逆向筛选: $1", + tooltip_combatrating: "$1 @ L$2", + tooltip_completionavail: "$1 that the Blizzard API does not indicate
your character has completed.", // enUS + tooltip_completionunavail: "$1 (or equivalents) that the Blizzard API
indicates your character has completed.", // enUS + tooltip_consumedonuse: "使用时消耗", + tooltip_customrating: "自定义评分", + tooltip_dailyquest: "你每天只能完成最多
25个每日任务。", + tooltip_downrate: "贫乏/过剩", + tooltip_equip: "Display this item on your pinned character.", // enUS + tooltip_exactprofilesearch: "Check this option to only match exact
character, guild, and team names.", // enUS + tooltip_extendedachievementsearch: "选择此选项,去
描述里搜索。", + tooltip_extendednpcsearch: "Check this option to search in the
<tag> as well.", // enUS + tooltip_extendedquestsearch: "勾选此项
在目标于描述中搜索。", + tooltip_extendedspellsearch: "勾选此项
在描述与增益中搜索。", + tooltip_flight: "飞行", + tooltip_gotopage: "点击进入具体页面。", + tooltip_ground: "陆地", + tooltip_heroclass: "玩家账户上若有一个等级达到
55的角色就可以创建
一个等级55的英雄职业角色。", + tooltip_heroicmodeavailable: "英雄模式可用", + tooltip_honorpoints: "荣誉点数", + tooltip_hordeonly: "仅限部落", + tooltip_autores: "死亡后释放灵魂,
您就能自动复活,而无需
回到尸体处。", + tooltip_itemnotfound: "物品未找到 :(", + tooltip_loading: "载入中…", + tooltip_lvheader1: "点击排序", + tooltip_lvheader2: "右键筛选", + tooltip_lvheader3: "Shift-单击来筛选", + tooltip_noresponse: "服务器没有响应 :(", + tooltip_normal: "普通", + tooltip_notconsumedonuse: "使用时不损耗", + tooltip_npcnotfound: "没有找到NPC :(", + tooltip_objectnotfound: "没有找到物品 :(", + tooltip_partyloot: "此物品掉落时,每一名
团队成员都能得到一个。", + tooltip_pending: "等待中", + tooltip_ppbheroic: "英雄", + tooltip_ppbraid: "团队副本", + tooltip_questnotfound: "没有找到任务 :(", + tooltip_refundable: "购买2小时内
可返回商人处退货。", + tooltip_repgain: "声望增长", + tooltip_reqenchanting: "需要附魔技能", + tooltip_reqinscription: "需要铭文技能", + tooltip_reqjewelcrafting: "需要珠宝加工技能", + tooltip_reqlevel: "需要等级", + tooltip_reqlockpicking: "需要撬锁技能", + tooltip_smartloot: "仅限
有该专业且还没有
改配方的玩家。", + tooltip_deprecated: "不可使用或装备", + tooltip_realduration: "该物品的耐久度以现实时间,而非游戏时间计时。
注销后仍在计时。", + tooltip_cannotrollneed: "您无法为此物品投掷”需要“。", + tooltip_spellnotfound: "未找到法术 :(", + tooltip_statweighting: '属性权重
\n找到最适合您职业/专精的物品。', + tooltip_sticky: "置顶", + tooltip_totaldatauploads: "[Total size of all their data uploads]", // enUS + tooltip_totalratings: "全部评论评分汇总", + tooltip_trainingpoints: "训练点", + tooltip_uprate: "犀利/有趣", + tooltip_zonelink: "点击此链接就能够
跳转到地区页。", + + reputationhistory: "声望历史", + reputationaction: "声望行动", + + outofdate_stc: "过期", + + tab_pettrainer: "驯兽师", + tab_feedback: "反馈", + tab_abilities: "技能", + tab_achievements: "成就", + tab_addyourcomment: "添加评论", + tab_giveyourfeedback: "给出您的反馈", + tab_armorproficiencies: "护甲精通", + tab_article: "文章", + tab_articles: "文章", + tab_avatars: "人物", + tab_bosses: "Boss", + tab_calendar: "日历", + tab_canbeplacedin: "可放置于", + tab_cancontain: "可包含", + tab_characters: "角色", + tab_classes: "职业", + tab_comments: "评论", + tab_replies: "回复", + tab_companions: "伙伴", + tab_containedin: "包含于", + tab_contains: "包含", + tab_controlledabilities: "受制技能", + tab_crafteditems: "锻造物品", + tab_createdby: "创建者", + tab_creates: "创建", + tab_criteriaof: "条件信息", + tab_currencyfor: "货币", + tab_currencies: "货币", + tab_disenchantedfrom: "取消附魔从", + tab_disenchanting: "分解", + tab_droppedby: "掉落于", + tab_drops: "掉落", + tab_encounter: "地下城日志", + tab_ends: "结束", + tab_factions: "阵营", + tab_fishedin: "钓鱼地", + tab_fishing: "钓鱼", + tab_gallery: "展示柜", + tab_gatheredfrom: "采集源", + tab_gatheredfromnpc: "从NPC处采集", + tab_glyphs: "雕文", + tab_armorspecializations: "护甲转进", + tab_engineering: "工程学", + tab_englishcomments: "英语评论", + tab_herbalism: "草药学", + tab_heroicdrops: "英雄掉落", + tab_heroicXdrops: "英雄$1掉落", + tab_heroic: "英雄", + tab_heroicX: "英雄$1", + tab_holidays: "世界事件", + tab_info: "信息", + tab_items: "物品", + tab_itemsets: "物品组", + tab_languages: "语言", + tab_latestcomments: "最新评论", + tab_latestreplies: "最新回复", + tab_latestscreenshots: "最新截屏", + tab_latestvideos: "最新视频", + tab_latesttopics: "最新主题", + tab_members: "成员", + tab_milledfrom: "研磨母体", + tab_milling: "研磨", + tab_minedfrom: "矿产来源", + tab_minedfromnpc: "NPC处开采", + tab_mining: "采矿", + tab_modifiedby: "修改人", + tab_modifies: "修改", + tab_mounts: "坐骑", + tab_normaldrops: "普通掉落", + tab_normalXdrops: "普通 $1 掉落", + tab_normal: "普通", + tab_normalX: "普通 $1", + tab_noteworthy: "值得一提", + tab_npcs: "NPCs", + tab_npcabilities: "NPC能力", + tab_objectiveof: "目标", + tab_objects: "道具", + tab_pets: "猎人宠物", + tab_pickpocketedfrom: "盗窃人", + tab_pickpocketing: "偷窃", + tab_proficiencies: "精通", + tab_professions: "专业", + tab_profiles: "档案", + tab_prospectedfrom: "加工原料", + tab_prospecting: "加工中", + tab_providedfor: "使用者", + tab_questrewards: "任务奖励", + tab_quests: "任务", + tab_races: "种族", + tab_racialtraits: "种族特性", + tab_reagentfor: "施法材料", + tab_recipes: "配方", + tab_recipeitems: "配方物品", + tab_replies: "回复", + tab_commentreplies: "评论回复", + tab_requiredby: "需求者", + tab_rewardfrom: "给予者", + tab_samemodelas: "相同模型", + tab_salvagedfrom: "拾取于", + tab_screenshots: "屏幕截图", + tab_seealso: "查看相关", + tab_sells: "卖", + tab_sharedcooldown: "共享冷却", + tab_signatureimages: "签名背景", + tab_signatures: "签名", + tab_skills: "技能", + tab_skinnedfrom: "动物", + tab_skinning: "剥皮", + tab_socketbonus: "镶孔奖励", // aowow - custom + tab_soldby: "卖家", + tab_spells: "技能", + tab_starts: "开始", + tab_startsquest: "启动任务", + tab_submitascreenshot: "提交截图", + tab_suggestavideo: "建议视频", + tab_summonedby: "召唤者", + tab_statistics: "属性", + tab_talents: "天赋", + tab_tameable: "可驯服", + tab_taughtby: "传授人", + tab_teaches: "可学会", + tab_titles: "头衔", + tab_toolfor: "工具用途", + tab_topics: "主题", + tab_trainers: "训练师", + tab_triggeredby: "触发点", + tab_uncategorizedspells: "未分类法术", + tab_unlocks: "解锁", + tab_usedby: "使用者", + tab_videos: "视频", + tab_weaponskills: "武器技能", + tab_world: "世界", + tab_zones: "地区", + + numberofupvotesreceived_tip: "收到顶票数量", + deletethisreply_stc: "删除本评论", + editthisreply_stc: "编辑此回复", + save: "保存", + reportthisreply_stc: "向管理员举报此回复", + deletereplyconfirmation_tip: "您确定要永久删除此回复吗?", + upvote_tip: "此评论有帮助(再次点击撤销)", + upvoted_tip: "您顶了此评论;再次点击撤销", + downvote_tip: "此评论没有帮助(再次点击撤销)", + downvoted_tip: "您踩了此评论;再次点击撤销", + commentdeleted_tip: "此评论已被删除;当前只有您和管理员能够看见。", + addreply: "添加回复", + replylength1_format: "输入至少$1汉字", + replylength2_format: "还需要$1才能…", + replylength3_format: "剩余$1汉字", + replylength4_format: "剩余1汉字", + + votelogin_tip: '必须有注册账号才能给评论投票。请 登录注册。', + voteself_tip: "不能给自己的评论投票。", + votedeleted_tip: "无法投票给被删除评论。", + upvotenorep_tip: '您至少需要 $1 声望 才能顶评论。', + downvotenorep_tip: '您需要至少 $1 点声望才能踩评论。', + stickycomment_tip: "此评论已被管理员置顶。", + addreply_stc: "添加回复", + show1morereply_stc: "再显示一条回复", + showmorereplies_format: "再显示$1条评论", + addshow1morereply_stc: "再添加/显示一条回复", + addshowmorereplies_format: "添加/显示$1更多回复", + + menu_browse: "浏览", + + mapper_tipzoom: "建议:点击地图缩放", + mapper_tippin: "提示: 点击地图来添加/移除标记", + mapper_hidepins: "隐藏固定", + mapper_showpins: "显示固定", + mapper_floor: "修改地板…", + + mapper_relevantlocs: "相关地点", + mapper_entiretyinzone: "此任务完整发生于$$", + mapper_happensin: "此任务部分发生于$$。", + mapper_objectives: { + ox: "该任务在$$有目标。", + sx: "此任务开始于$$。", + ex: "此任务结束于$$。", + sex: "此任务开始并结束于$$。", + osx: "该任务的目标与起点都在$$。", + oex: "该任务的目标与终点都在$$。", + osx_ey: "此任务有目标,始于 $$,结束于$$。", + oex_sy: "此任务有目标,始于$$,终结于$$。 ", + sx_ey: "此任务开始于$$,结束于$$。", + ox_sy: "此任务开始于$$,并需要在$$达成目标。", + ox_ey: "该任务在$$有目标,结束于$$。", + ox_sey: "此任务在$$起始,并在 $$有目标。", + ox_sy_ez: "此任务开始于$$,要在$$达成目标并结束于$$。" + }, + mapper_startsquest: "启动任务", + mapper_endsquest: "结束任务", + mapper_requiredquest: "任务目标", + mapper_sourcestart: "任务起始来源:", + mapper_sourceend: "任务终结来源:", + mapper_sourcereq: "任务目标来源:", + mapper_clicktoview: "单击查看 $1", + + showonmap: "显示在地图上…", + som_nothing: "无", + som_questgivers: "任务发布者", + som_viewnpc: "点击查看此NPC", + som_viewobj: "点击查看此物品", + som_view: "点击查看…", + som_startsquest: "开启下列任务:", + som_startsquestpl: "开启下列任务:", + som_legend: "传说:", + som_legend_alliance: "联盟", + som_legend_horde: "部落", + som_legend_neutral: "中立", + som: { + all: "全部", + alliance: "联盟", + horde: "部落", + quest: "任务发布者", + daily: "任务发布者(每日)", + alliancequests: "任务发布者", + hordequests: "任务发布者", + repair: "修理工", + rare: "稀有NPC", + auctioneer: "拍卖行", + banker: "银行家", + battlemaster: "战斗大师", + innkeeper: "旅店老板", + guildmaster: "公会大师", + stablemaster: "兽栏管理员", + flightmaster: "飞行大师", + trainer: "训练师", + vendor: "商人", + book: "书籍", + herb: "草药", + forge: "熔炉", + anvil: "铁砧", + vein: "矿点", + spirithealer: "灵魂医者", + boss: "首领", + }, + + markup_b: "勇敢", + markup_i: "斜体字", + markup_u: "下划线", + markup_s: "删除线", + markup_small: "短文本", + markup_url: "链接", + markup_quote: "引用框", + markup_code: "代码盒子", + markup_ul: "未排序列表(子弹标题)", + markup_ol: "排序列表(数字)", + markup_li: "列表物品", + markup_img: "图片", + markup_del: "已删除", + markup_ins: "插入", + markup_pre: "预定义格式", + markup_sub: "订阅", + markup_sup: "上标", + markup_spoiler: "剧透盒子", + cantdeletelowratedcomment_tip: "试着给评论打低分。负分评论会自动被删除。", + + markup_said: "说:", + markup_spoil: "剧透:", + markup_toc: "目录", + markup_links: "链接", + markup_prompt: "请输入$1的ID。", + markup_helpdoc: '您还可以添加数据库链接,且自动键入标题与信息。
欲知详情,请阅读我们的标记帮助文件。', + markup_help1: "输入", + markup_help2: "所见:", + + ct_dialog_captcha: "请输入你看到的字符:", + ct_dialog_contactwowhead: "联系AoWoW", + ct_dialog_description: "描述", + ct_dialog_desc_caption: "请尽可能具体详细。", + ct_dialog_email: "邮箱地址:", + ct_dialog_email_caption: "表示您愿意被联系。", + ct_dialog_optional: "任选", + ct_dialog_reason: "原因:", + ct_dialog_relatedurl: "相关链接", + ct_dialog_currenturl: "当前URL:", + ct_dialog_report: "报告", + ct_dialog_reportchar: "Report Character", // enUS + ct_dialog_reportcomment: "举报$1的评论", + ct_dialog_reportpost: "举报$1的帖子", + ct_dialog_reportscreen: "举报$1的屏幕截图", + ct_dialog_reportvideo: "举报来自$1的视频", + ct_dialog_reporttopic: "举报$1的话题", + ct_dialog_thanks: "您的信息已收到,感谢联系我们!", + ct_dialog_thanks_user: "收到您的消息,$1。非常感谢!", + ct_dialog_noemailwarning: "重要: 如果不输入邮箱,我们将无法跟进您的反馈。我们不会出售或公开您的邮箱地址。", + + ct_dialog_error_captcha: "无效CAPTCHA。请再试一次。", + ct_dialog_error_desc: "请提供详尽描述,并控制字数。", + ct_dialog_error_email: "请输入有效的邮箱地址。", + ct_dialog_error_emaillen: "请输入邮箱地址,不超过100字符。", + ct_dialog_error_reason: "请选择联系我们的理由。", + ct_dialog_error_relatedurl: "请提供不超过250个字符的相关URL链接。", + ct_dialog_error_invalidurl: "请输入有效的URL。", + + ct_resp_error1: "无效CAPTCHA。请再试一次。", + ct_resp_error2: "请提供详尽描述,并控制字数。", + ct_resp_error3: "请选择联系我们的理由。", + ct_resp_error7: "您已报告。", + + compose_mode: "模式:", + compose_edit: "编辑", + compose_preview: "预览", + compose_livepreview: "实时预览", + compose_formattinghelp: "格式帮助", + compose_save: "保存", + compose_cancel: "取消", + compose_limit: "最多$1字符。", + compose_limit2: "最多$1字符以及/或$2行。", + compose_remaining: "剩余$1字符。", + + user_nodescription: "此用户尚未完成公开描述。", + user_nodescription2: "您还没有写过描述。", + user_composeone: "马上来组合吧!", + user_editdescription: "编辑", + + myaccount_passmatch: "密码匹配", + myaccount_passdontmatch: "密码不匹配", + myaccount_purged: "清除", + myaccount_purgefailed: "净化失败", + myaccount_purgesuccess: "公告数据已被成功清除!", + + favorites: "收藏", + clicktologin: "点击登录", + favorites_login: "Log in to save your favorites to a custom menu!", // enUS + favorites_duplicate: "This %s is already favorited!", // enUS + addtofavorites: "加入收藏", + removefromfavorites: "从收藏中移除", + + types: { + 1: ["NPC", "NPC", "NPCs", "NPCs"], + 2: ["物件", "物品", "道具", "道具"], + 3: ["物品", "物品", "物品", "物品"], + 4: ["物品组合", "物品组合", "物品组合", "物品组合"], + 5: ["任务", "任务", "任务", "任务"], + 6: ["法术", "法术", "技能", "法术"], + 7: ["地区", "地区", "地区", "地区"], + 8: ["阵营", "派别", "阵营", "阵营"], + 9: ["猎人宠物", "猎人宠物", "猎人宠物", "猎人宠物"], + 10: ["成就", "成就", "成就", "成就"], + 11: ["头衔", "头衔", "头衔", "头衔"], + 12: ["世界事件", "世界事件", "世界事件", "世界事件"], + 13: ["职业", "职业", "职业", "职业"], + 14: ["种族", "种族", "种族", "种族"], + 15: ["技能", "技能", "技能", "技能"], + 16: ["统计", "统计", "统计", "统计"], + 17: ["货币", "货币", "货币", "货币"], + 19: ["声音", "音效", "声音", "声音"], + 29: ["图标", "图标", "图标", "图标"], + 501: ["表情", "表情", "表情", "表情"], + 502: ["附魔", "附魔", "附魔", "附魔"] + }, + + timeunitssg: ["年", "月", "周", "天", "小时", "分钟", "秒"], + timeunitspl: ["年", "月", "周", "天", "小时", "分钟", "秒"], + timeunitsab: ["年", "月", "周", "天", "小时", "分钟", "秒"], + + presets: { + pve: "PvE", + pvp: "PvP", + afflic: "痛苦", + arcane: "奥术", + arms: "武器", + assas: "刺杀", + balance: "平衡", + beast: "野兽控制", + blooddps: "Blood (DPS)", // enUS + bloodtank: "Blood (Tank)", // enUS + combat: "狂徒", + demo: "恶魔学识", + destro: "毁灭", + disc: "戒律", + elem: "元素", + enhance: "增强", + feraldps: "Feral (DPS)", // enUS + feraltank: "Feral (Tank)", // enUS + fire: "火焰", + frost: "冰霜", + frostdps: "Frost (DPS)", // enUS + frosttank: "Frost (Tank)", // enUS + fury: "狂怒", + generic: "通用", + holy: "神圣", + marks: "射击", + prot: "防护", + resto: "恢复", + retrib: "惩戒", + shadow: "暗影", + subtle: "敏锐", + surv: "生存", + unholydps: "Unholy (DPS)" // enUS + }, + + traits: { + agi: ["敏捷", "敏捷", "敏"], + arcres: ["奥术抗性", "奥术抗性", "奥抗"], + arcsplpwr: ["奥术法术强度", "奥术强化", "奥强"], + armor: ["护甲", "护甲", "护甲"], + armorbonus: ["额外护甲", "额外护甲", "额外护甲"], + armorpenrtng: ["护甲穿透等级", "护甲穿透", "穿透"], + atkpwr: ["攻击伤害", "攻强", "攻强"], + avgbuyout: ["平均购买价", "一口价", "AH"], + avgmoney: ["平均含有金钱", "Money", "Money"], // enUS + block: ["格挡价值", "格挡值", "格挡"], + blockrtng: ["格挡等级", "格挡", "格挡"], + buyprice: ["购买价格(铜)", "购买", "购买"], + cooldown: ["冷却(数秒)", "冷却时间", "冷却时间"], + critstrkrtng: ["暴击等级", "暴击", "暴击"], + defrtng: ["防御等级", "防御", "防御"], + dmg: ["武器破坏", "伤害", "伤害"], + dmgmax1: ["最大伤害", "最大伤害", "最大"], + dmgmin1: ["最小伤害", "最小伤害", "分钟"], + dodgertng: ["闪避等级", "躲闪", "躲闪"], + dps: ["每秒伤害", "每秒伤害", "每秒伤害"], + dura: ["耐久度", "耐久度", "耐久度"], + exprtng: ["专业等级", "专业", "经验"], + feratkpwr: ["在猎豹、熊、巨熊和枭兽形态下的攻击强度", "变形形态下的攻击强度", "变形形态下的攻击强度"], + firres: ["火焰抗性", "火焰抗性", "抗火"], + firsplpwr: ["火魔法力量", "火药", "火药"], + frores: ["霜寒抗性", "冰霜抗性", "抗霜"], + frosplpwr: ["霜寒法力", "冰霜能量", "霜力"], + hastertng: ["加速等级", "加速", "加速"], + health: ["生命", "生命", "生命"], + healthrgn: ["生命回复", "每5秒回复生命值", "每5秒回复生命值"], + hitrtng: ["命中等级", "命中", "命中"], + holres: ["神圣抗性", "神圣抗力", "抗圣"], + holsplpwr: ["神圣魔法力量", "神圣技能", "圣力"], + "int": ["智力", "智力", "智力"], + level: ["等级", "等级", "Lvl"], + mana: ["法力", "法力", "法力"], + manargn: ["法力回复", "每5秒回复法力值", "每5秒回复法力值"], + mleatkpwr: ["近战攻击强度", "近战AP", "攻强"], + mlecritstrkrtng: ["近战暴击等级", "近战暴击", "暴击"], + mledmgmax: ["近战最大伤害", "近战最大伤害", "最大"], + mledmgmin: ["近战最小伤害", "近战最小伤害", "分钟"], + mledps: ["近战DPS", "近战DPS", "DPS"], + mlehastertng: ["近战加速等级", "近战加速", "加速"], + mlehitrtng: ["近战命中等级", "近战命中", "命中"], + mlespeed: ["近战速度", "近战速度", "速度"], + natres: ["自然抗性", "自然抗性", "抗自"], + natsplpwr: ["自然法术力量", "自然力量", "自然力"], + nsockets: ["插槽数量", "插槽", "插槽"], + parryrtng: ["招教等级", "招架", "招架"], + reqarenartng: ["需要个人与团队竞技场等级", "需要评分", "评分"], + reqlevel: ["需要等级", "需要等级", "等级"], + reqskillrank: ["需要能力等级", "要求技能", "技能"], + resirtng: ["PvP韧性等级", "PvP韧性", "韧性"], + rgdatkpwr: ["远程攻击强度", "远程攻击强度", "远程攻击强度"], + rgdcritstrkrtng: ["远程暴击等级", "远程暴击", "暴击"], + rgddmgmax: ["远程最大伤害", "远程最大伤害", "最大"], + rgddmgmin: ["远程最小伤害", "远程最小伤害", "分钟"], + rgddps: ["远程DPS", "远程DPS", "DPS"], + rgdhastertng: ["远程加速等级", "远程加速", "加速"], + rgdhitrtng: ["远程命中等级", "远程命中", "命中"], + rgdspeed: ["远程速度", "远程速度", "速度"], + sellprice: ["售价(铜)", "Sell", "Sell"], // enUS + sepbasestats: "基本属性", + sepdefensivestats: "防御属性", + sepgeneral: "一般", + sepindividualstats: "个人属性", + sepmisc: "其他", + sepoffensivestats: "攻击属性", + sepresistances: "韧性", + sepweaponstats: "武器状态", + shares: ["暗影抗性", "暗影抗性", "抗暗"], + shasplpwr: ["暗影法术强度", "暗影能量", "暗影力"], + speed: ["速度", "速度", "速度"], + spi: ["精神", "精神", "精神"], + splcritstrkrtng: ["法术暴击等级", "法术暴击", "暴击"], + spldmg: ["法术伤害", "法术伤害", "伤害"], + splheal: ["法术治疗", "治疗中", "治疗"], + splpwr: ["法术强度", "法术强度", "法力"], + splhastertng: ["法术加速等级", "法术加速", "加速"], + splhitrtng: ["法术命中等级", "法师命中", "命中"], + splpen: ["法术穿透", "法术穿透", "穿透"], + sta: ["耐力", "耐力", "耐力"], + str: ["力量", "力量", "强度"] + }, + + fishow: "创建筛选条件", + fihide: "隐藏筛选选项", + + fiany: "任意", + finone: "无", + + firemove: "移除", + ficlear: "清除", + ficustom: "自定义", + + fishowdetails: "定制", + fihidedetails: "", + fisavescale: "保存", + fideletescale: "删除", + + message_fillsomecriteria: "请填入条件。", + + tooltip_jconlygems: "勾选后,宝石加工匠专属宝石
\n也将纳入考虑,以最大限度
为物品的加权分数选择宝石。", + tooltip_genericrating: '装备:将您的$1提升$3 (0 @ L0).
', + + fidropdowns: { + yn: [ [1, "是"], [2, "无"] ], + num: [ [1, ">"], [2, ">="], [3, "="], [4, "<="], [5, "<"], [6, "!="] ], + side: [ [1, "是"], [2, "联盟"], [3, "部落"], [4, "双方"], [5, "无"] ], + faction: [ + [21, "藏宝海湾"], [47, "铁炉堡"], [54, "诺莫瑞根流亡者"], [59, "瑟银兄弟会"], [67, "部落"], + [68, "幽暗城"], [69, "达纳苏斯"], [70, "辛迪加"], [72, "暴风城"], [76, "奥格瑞玛"], + [81, "雷霆崖"], [87, "血帆海盗"], [92, "吉尔吉斯半人马"], [93, "玛格拉姆半人马"], [169, "热砂港"], + [270, "赞达拉部族"], [349, "拉文霍德"], [369, "加基森"], [469, "联盟"], [470, "棘齿城"], + [509, "阿拉索联军"], [510, "污染者"], [529, "银色黎明"], [530, "暗矛巨魔"], [576, "木喉要塞"], + [577, "永望镇"], [589, "冬刃豹训练师"], [609, "塞纳里奥议会"], [729, "霜狼氏族"], [730, "雷矛卫队"], + [749, "海达希亚水元素"], [809, "辛德拉"], [889, "战歌氏族"], [890, "银翼要塞"], [909, "暗月马戏团"], + [910, "诺兹多姆的子嗣"], [911, "银月城"], [922, "塔奎林"], [930, "埃索达"], [932, "奥尔多"], + [933, "星界财团"], [934, "占星者"], [935, "沙塔尔"], [941, "玛格汉"], [942, "塞纳里奥远征队"], + [946, "荣耀堡"], [947, "萨尔玛"], [967, "紫罗兰之眼"], [970, "孢子村"], [978, "库雷尼"], + [989, "时光守护者"], [990, "流沙之鳞"], [1011, "贫民窟"], [1012, "灰舌死誓者"], [1015, "灵翼之龙"], + [1031, "沙塔尔天空卫队"], [1037, "联盟先遣军"], [1038, "奥格瑞拉"], [1050, "无畏远征军"], [1052, "部落先遣军"], + [1064, "牦牛人"], [1067, "复仇之手"], [1068, "探险者协会"], [1073, "卡鲁亚克"], [1077, "破碎残阳"], + [1085, "战歌远征军"], [1090, "肯瑞托"], [1091, "龙眠联军"], [1094, "银色盟约"], [1098, "黑锋骑士团"], + [1104, "狂心氏族"], [1105, "神谕者"], [1106, "银色北伐军"], [1119, "霍迪尔之子"], [1124, "夺日者"], + [1126, "霜脉矮人"], [1156, "灰烬审判军"] + ], + zone: [ + [1, "丹莫罗"], [3, "荒芜之地"], [4, "诅咒之地"], [8, "悲伤沼泽"], [10, "暮色森林"], + [11, "湿地"], [12, "艾尔文森林"], [14, "杜隆塔尔"], [15, "尘泥沼泽"], [16, "艾萨拉"], + [17, "贫瘠之地"], [25, "黑石山"], [28, "西瘟疫之地"], [33, "荆棘谷"], [36, "奥特兰克山脉"], + [38, "洛克莫丹"], [40, "西部荒野"], [41, "逆风小径"], [44, "赤脊山"], [45, "阿拉希高地"], + [46, "燃烧平原"], [47, "辛特兰"], [51, "灼热峡谷"], [65, "龙骨荒野"], [66, "祖达克"], + [67, "风暴峭壁"], [85, "提瑞斯法林地"], [130, "银松森林"], [139, "东瘟疫之地"], [141, "泰达希尔"], + [148, "黑海岸"], [206, "乌特加德城堡"], [209, "影牙城堡"], [210, "冰冠冰川"], [215, "莫高雷"], + [267, "希尔斯布莱德丘陵"], [331, "灰谷"], [357, "菲拉斯"], [361, "费伍德森林"], [393, "暗矛海滩"], + [394, "灰熊丘陵"], [400, "千针石林"], [405, "凄凉之地"], [406, "石爪山脉"], [440, "塔纳利斯"], + [457, "迷雾之海"], [490, "安戈洛环形山"], [491, "剃刀沼泽"], [493, "月光林地"], [495, "嚎风峡湾"], + [618, "冬泉谷"], [717, "监狱"], [718, "哀嚎洞穴"], [719, "黑暗深渊"], [721, "诺莫瑞根"], + [722, "剃刀高地"], [796, "血色修道院"], [1176, "祖尔法拉克"], [1196, "乌特加德之巅"], [1216, "木喉要塞"], + [1337, "奥达曼"], [1377, "希利苏斯"], [1477, "阿塔哈卡神庙"], [1497, "幽暗城"], [1519, "暴风城"], + [1537, "铁炉堡"], [1581, "死亡矿井"], [1583, "黑石塔"], [1584, "黑石深渊"], [1637, "奥格瑞玛"], + [1638, "雷霆崖"], [1657, "达纳苏斯"], [1941, "时光之穴"], [1977, "祖尔格拉布"], [2017, "斯坦索姆"], + [2057, "通灵学院"], [2100, "玛拉顿"], [2159, "奥妮克希亚的巢穴"], [2257, "矿道地铁"], [2366, "黑色沼泽"], + [2367, "旧希尔斯布莱德丘陵"], [2437, "怒焰裂谷"], [2557, "厄运之槌"], [2597, "奥特兰克山谷"], [2677, "黑翼之巢"], + [2717, "熔火之心"], [2817, "晶歌森林"], [2917, "传说大厅"], [2918, "勇士大厅"], [3277, "战歌峡谷"], + [3358, "阿拉希盆地"], [3428, "安其拉"], [3429, "安其拉废墟"], [3430, "永歌森林"], [3433, "幽魂之地"], + [3456, "纳克萨玛斯"], [3457, "卡拉赞"], [3483, "地狱火半岛"], [3487, "银月城"], [3518, "纳格兰"], + [3519, "泰罗卡森林"], [3520, "影月谷"], [3521, "赞加沼泽"], [3522, "刀锋山"], [3523, "虚空风暴"], + [3524, "秘蓝岛"], [3525, "秘血岛"], [3537, "北风苔原"], [3557, "埃索达"], [3562, "地狱火城墙"], + [3606, "海加尔峰"], [3607, "毒蛇神殿"], [3679, "斯克提斯"], [3698, "纳格兰竞技场"], [3702, "刀锋山竞技场"], + [3703, "沙塔斯城"], [3711, "索拉查盆地"], [3713, "鲜血熔炉"], [3714, "破碎大厅"], [3715, "蒸汽地窟"], + [3716, "幽暗沼泽"], [3717, "奴隶围栏"], [3775, "鲜血之环"], [3789, "暗影迷宫"], [3790, "奥金尼地穴"], + [3791, "塞泰克大厅"], [3792, "法力陵墓"], [3805, "祖阿曼"], [3820, "风暴之眼"], [3836, "玛瑟里顿的巢穴"], + [3840, "黑暗神殿"], [3845, "风暴要塞"], [3847, "生态船"], [3848, "禁魔监狱"], [3849, "能源舰"], + [3905, "盘牙水库"], [3923, "格鲁尔的巢穴"], [3959, "黑暗神殿"], [3968, "洛丹伦废墟"], [4024, "考达拉"], + [4075, "太阳之井高地"], [4080, "奎尔丹纳斯岛"], [4100, "净化斯坦索姆"], [4131, "魔导师平台"], [4196, "达克萨隆要塞"], + [4197, "冬拥湖"], [4228, "魔环"], [4264, "岩石大厅"], [4265, "魔枢"], [4272, "闪电大厅"], + [4273, "奥杜尔"], [4277, "艾卓-尼鲁布"], [4298, "血色领地"], [4378, "达拉然竞技场"], [4384, "远古海滩"], + [4395, "达拉然"], [4406, "勇气竞技场"], [4415, "紫罗兰监狱"], [4416, "古达克"], [4493, "黑曜石圣殿"], + [4494, "安卡赫特:古代王国"], [4500, "永恒之眼"], [4603, "阿尔卡冯的宝库"], [4710, "征服之岛"], [4722, "十字军的试炼"], + [4723, "冠军的试炼"], [4742, "洛斯加尔登陆点"], [4809, "灵魂洪炉"], [4812, "冰冠堡垒"], [4813, "萨隆矿坑"], + [4820, "映像大厅"] + ], + resistance: [ + [6, "奥术"], [2, "火焰"], [3, "自然"], [4, "冰霜"], [5, "暗影"], + [1, "神圣"], [0, "身体"] + ], + gem: [ + [5, "是"], [1, "多彩"], [2, "红色"], [3, "黄色"], [4, "蓝色"], + [6, "无"] + ], + profession: [ + [11, "是"], [8, "\u5236\u76ae"], [5, "\u5de5\u7a0b\u5b66"], [6, "\u6025\u6551"], [1, "\u70bc\u91d1\u672f"], + [3, "\u70f9\u996a"], [7, "\u73e0\u5b9d\u52a0\u5de5"], [14, "\u8349\u836f\u5b66"], [10, "\u88c1\u7f1d"], [9, "\u91c7\u77ff"], + [13, "\u9493\u9c7c"], [15, "\u94ed\u6587"], [2, "\u953b\u9020"], [4, "\u9644\u9b54"], [12, "无"] + ], + expansion: [ [3, "巫妖王之怒"], [2, "燃烧的远征"], [1, "无"] ], + totemcategory: [ + [2, "大地图腾"], [3, "空气图腾"], [4, "火焰图腾"], [5, "水之图腾"], [6, "符文铜棒"], + [7, "符文银棒"], [8, "符文金棒"], [9, "符文真银棒"], [10, "符文奥金棒"], [12, "点金石"], + [14, "扳手"], [15, "侏儒微调器"], [21, "大师图腾"], [41, "符文魔铁棒"], [62, "符文精金棒"], + [63, "符文恒金棒"], [81, "羽毛笔"], [101, "符文蓝铜棒"], [121, "学者的书写工具"], [141, "战鼓"], + [161, "侏儒军刀"], [162, "铁匠锤"], [165, "矿工锄"], [166, "剥皮刀"], [167, "锤头锄"], + [168, "锋刃锄"], [169, "燧石和火绒"], [189, "符文钴棒"], [190, "符文泰坦神铁棒"] + ], + heroicdungeon: [ + [206, "乌特加德城堡"], [1196, "乌特加德之巅"], [2366, "黑色沼泽"], [2367, "旧希尔斯布莱德丘陵"], [3562, "地狱火城墙"], + [3713, "鲜血熔炉"], [3714, "破碎大厅"], [3715, "蒸汽地窟"], [3716, "幽暗沼泽"], [3717, "奴隶围栏"], + [3789, "暗影迷宫"], [3790, "奥金尼地穴"], [3791, "塞泰克大厅"], [3792, "法力陵墓"], [3847, "生态船"], + [3848, "禁魔监狱"], [3849, "能源舰"], [4100, "净化斯坦索姆"], [4131, "魔导师平台"], [4196, "达克萨隆要塞"], + [4228, "魔环"], [4264, "岩石大厅"], [4265, "魔枢"], [4272, "闪电大厅"], [4277, "艾卓-尼鲁布"], + [4415, "紫罗兰监狱"], [4416, "古达克"], [4494, "安卡赫特:古代王国"], [4723, "冠军的试炼"], [4809, "灵魂洪炉"], + [4813, "萨隆矿坑"], [4820, "映像大厅"] + ], + heroicraid: [ [4987, "红玉圣殿"], [4812, "冰冠堡垒"], [4722, "十字军的试炼"] ], + multimoderaid: [ + [2159, "奥妮克希亚的巢穴"], [3456, "纳克萨玛斯"], [4273, "奥杜尔"], [4493, "黑曜石圣殿"], [4500, "永恒之眼"], + [4603, "阿尔卡冯的宝库"], [4722, "十字军的试炼"], [4812, "冰冠堡垒"], [4987, "红玉圣殿"] + ], + event: [ + [141, "冬幕节"], [181, "复活节"], [201, "儿童周"], [283, "战斗的召唤:奥特兰克山谷"], [284, "战斗的召唤:战歌峡谷"], + [285, "战斗的召唤:阿拉希盆地"], [301, "荆棘谷钓鱼大赛"], [321, "收获节"], [324, "万圣节"], [327, "春节"], + [335, "情人节"], [341, "仲夏火焰节"], [353, "战斗的召唤:风暴之眼"], [372, "美酒节"], [374, "暗月马戏团"], + [398, "海盗日"], [400, "战斗的召唤:远古海滩"], [404, "感恩节"], [409, "悼念日"], [420, "战斗的召唤:征服之岛"], + [424, "卡鲁亚克钓鱼大赛"] + ], + pvp: [ [1, "是"], [3, "竞技场"], [4, "战场"], [5, "世界"], [2, "无"] ], + currency: [ + [4291, "丝线"], [20558, "战歌峡谷荣誉奖章"], [20559, "阿拉希盆地荣誉奖章"], [20560, "奥特兰克山谷荣誉奖章"], [22484, "死灵符文"], + [23247, "燃烧之花"], [24245, "亮顶蘑菇"], [24368, "盘牙武器"], [24579, "荣耀堡印记"], [24581, "萨尔玛印记"], + [26044, "哈兰研究勋章"], [26045, "哈兰作战勋章"], [28558, "幽魂碎片"], [29024, "风暴之眼荣誉奖章"], [29434, "公正徽章"], + [29735, "神圣之尘"], [29736, "奥术符文"], [32569, "埃匹希斯碎片"], [32572, "埃匹希斯水晶"], [32897, "伊利达雷印记"], + [34052, "梦境碎片"], [34597, "冬鳞蚌壳"], [34664, "太阳之尘"], [37829, "美酒节奖币"], [37836, "风险硬币"], + [38425, "厚北地皮"], [40752, "英雄纹章"], [40753, "勇气纹章"], [41596, "达拉然珠宝匠硬币"], [43016, "达拉然烹饪奖牌"], + [43228, "岩石守卫者的碎片"], [43589, "冬拥湖荣誉奖章"], [44128, "极地毛皮"], [44990, "冠军的徽记"], [45624, "征服纹章"], + [47241, "凯旋纹章"], [47242, "北伐奖章"], [49426, "寒冰纹章"], [52025, "胜利者的圣洁印记"], [52026, "保护者的圣洁徽记"], + [52027, "征服者的圣洁徽记"], [52028, "胜利者的圣洁印记"], [52029, "保护者的圣洁徽记"], [52030, "征服者的圣洁徽记"] + ], + itemcurrency: [ + [29753, "阵亡卫士的胸甲"], [29754, "阵亡勇士的胸甲"], [29755, "阵亡英雄的胸甲"], [29756, "阵亡英雄的手套"], [29757, "阵亡勇士的手套"], + [29758, "阵亡卫士的手套"], [29759, "阵亡英雄的头盔"], [29760, "阵亡勇士的头盔"], [29761, "阵亡卫士的头盔"], [29762, "阵亡英雄的护肩"], + [29763, "阵亡勇士的护肩"], [29764, "阵亡卫士的护肩"], [29765, "阵亡英雄的护腿"], [29766, "阵亡勇士的护腿"], [29767, "阵亡卫士的护腿"], + [30236, "战败勇士的胸甲"], [30237, "战败卫士的胸甲"], [30238, "战败英雄的胸甲"], [30239, "战败勇士的手套"], [30240, "战败卫士的手套"], + [30241, "战败英雄的手套"], [30242, "战败勇士的头盔"], [30243, "战败卫士的头盔"], [30244, "战败英雄的头盔"], [30245, "战败勇士的护腿"], + [30246, "战败卫士的护腿"], [30247, "战败英雄的护腿"], [30248, "战败勇士的护肩"], [30249, "战败卫士的护肩"], [30250, "战败英雄的护肩"], + [31089, "遗忘征服者的胸甲"], [31090, "遗忘胜利者的胸甲"], [31091, "遗忘保卫者的胸甲"], [31092, "遗忘征服者的手套"], [31093, "遗忘胜利者的手套"], + [31094, "遗忘保卫者的手套"], [31095, "遗忘保卫者的头盔"], [31096, "遗忘胜利者的头盔"], [31097, "遗忘征服者的头盔"], [31098, "遗忘征服者的护腿"], + [31099, "遗忘胜利者的护腿"], [31100, "遗忘保卫者的护腿"], [31101, "遗忘征服者的护肩"], [31102, "遗忘胜利者的护肩"], [31103, "遗忘保卫者的护肩"], + [34167, "神圣信仰腿铠"], [34169, "自然侵攻护腿"], [34170, "止战马裤"], [34180, "魔怒腿铠"], [34186, "雷暴锁链护腿"], + [34192, "坚定肩铠"], [34193, "萨拉斯救世主护肩"], [34195, "盛怒护肩"], [34202, "奇迹披肩"], [34208, "均衡肩饰"], + [34209, "拓荒护肩"], [34211, "野兽本能外套"], [34212, "阳光外衣"], [34215, "鲁莽怒火战甲"], [34216, "英勇仲裁者胸甲"], + [34229, "静谧海岸外衣"], [34233, "幻化光芒长袍"], [34234, "暗影爆发护手"], [34243, "燃烧的正义"], [34244, "狡诈之盔"], + [34245, "智者乌索尔之帽"], [34332, "古尔丹的兜帽"], [34339, "纯净圣光兜帽"], [34342, "黎明护手"], [34345, "安纳斯特里亚的王冠"], + [34350, "上古影月护手"], [34351, "稳固王权护手"], [34848, "遗忘征服者的护腕"], [34851, "遗忘保卫者的护腕"], [34852, "遗忘胜利者的护腕"], + [34853, "遗忘征服者的腰带"], [34854, "遗忘保卫者的腰带"], [34855, "遗忘胜利者的腰带"], [34856, "遗忘征服者的长靴"], [34857, "遗忘保卫者的长靴"], + [34858, "遗忘胜利者的长靴"], [40610, "失落征服者的护胸"], [40611, "失落保卫者的护胸"], [40612, "失落胜利者的护胸"], [40613, "失落征服者的手套"], + [40614, "失落保卫者的手套"], [40615, "失落胜利者的手套"], [40616, "失落征服者的头盔"], [40617, "失落保卫者的头盔"], [40618, "失落胜利者的头盔"], + [40619, "失落征服者的护腿"], [40620, "失落保卫者的护腿"], [40621, "失落胜利者的护腿"], [40622, "失落征服者的护肩"], [40623, "失落保卫者的护肩"], + [40624, "失落胜利者的护肩"], [40625, "失落征服者的胸甲"], [40626, "失落保卫者的胸甲"], [40627, "失落胜利者的胸甲"], [40628, "失落征服者的护手"], + [40629, "失落保卫者的护手"], [40630, "失落胜利者的护手"], [40631, "失落征服者的头冠"], [40632, "失落保卫者的头冠"], [40633, "失落胜利者的头冠"], + [40634, "失落征服者的腿甲"], [40635, "失落保卫者的腿甲"], [40636, "失落胜利者的腿甲"], [40637, "失落征服者的肩甲"], [40638, "失落保卫者的肩甲"], + [40639, "失落胜利者的肩甲"], [45632, "固执征服者的胸甲"], [45633, "固执保卫者的胸甲"], [45634, "固执胜利者的胸甲"], [45635, "固执征服者的护胸"], + [45636, "固执保卫者的护胸"], [45637, "固执胜利者的护胸"], [45638, "固执征服者的头冠"], [45639, "固执保卫者的头冠"], [45640, "固执胜利者的头冠"], + [45641, "固执征服者的护手"], [45642, "固执保卫者的护手"], [45643, "固执胜利者的护手"], [45644, "固执征服者的手套"], [45645, "固执保卫者的手套"], + [45646, "固执胜利者的手套"], [45647, "固执征服者的头盔"], [45648, "固执保卫者的头盔"], [45649, "固执胜利者的头盔"], [45650, "固执征服者的护腿"], + [45651, "固执保卫者的护腿"], [45652, "固执胜利者的护腿"], [45653, "固执征服者的腿甲"], [45654, "固执保卫者的腿甲"], [45655, "固执胜利者的腿甲"], + [45656, "固执征服者的衬肩"], [45657, "固执保卫者的衬肩"], [45658, "固执胜利者的衬肩"], [45659, "固执征服者的护肩"], [45660, "固执保卫者的护肩"], + [45661, "固执胜利者的护肩"], [47557, "无上征服者的圣装"], [47558, "无上保卫者的圣装"], [47559, "无上胜利者的圣装"] + ], + queststart: [ [3, "物品"], [1, "NPC"], [2, "物件"] ], + questend: [ [1, "NPC"], [2, "物件"] ], + spellsource: [ + [1, "任意"], [3, "已制造"], [9, "发现"], [4, "掉落"], [6, "任务"], + [10, "天赋"], [8, "训练师"], [7, "商人"], [2, "无"] + ], + itemsource: [ + [1, "任意"], [11, "成就"], [3, "已制造"], [4, "掉落"], [10, "活动"], + [5, "PvP"], [6, "任务"], [9, "新手"], [7, "商人"], [2, "无"] + ], + glyphtype: [ [1, "大"], [2, "小"] ], + classs: [ + [12, "任意"], [1, "战士"], [2, "圣骑士"], [3, "猎人"], [4, "潜行者"], + [5, "牧师"], [6, "死亡骑士"], [7, "萨满祭司"], [8, "法师"], [9, "术士"], + [11, "德鲁伊"], [13, "无"] + ], + race: [ + [12, "任意"], [1, "人类"], [2, "兽人"], [3, "矮人"], [4, "暗夜精灵"], + [5, "亡灵"], [6, "牛头人"], [7, "侏儒"], [8, "巨魔"], [10, "血精灵"], + [11, "德莱尼"], [13, "无"] + ], + disenchanting: [ + [10938, "次级魔法精华"], [10939, "强效魔法精华"], [10940, "奇异之尘"], [10978, "小块微光碎片"], [10998, "次级星界精华"], + [11082, "强效星界精华"], [11083, "灵魂之尘"], [11084, "大块微光碎片"], [11134, "次级秘法精华"], [11135, "强效秘法精华"], + [11137, "幻象之尘"], [11138, "小块闪光碎片"], [11139, "大块闪光碎片"], [11174, "次级虚空精华"], [11175, "强效虚空精华"], + [11176, "梦境之尘"], [11177, "小块强光碎片"], [11178, "大块强光碎片"], [14343, "小块魔光碎片"], [14344, "大块魔光碎片"], + [16202, "次级不灭精华"], [16203, "强效不灭精华"], [16204, "幻影之尘"], [20725, "连结水晶"], [22445, "奥法之尘"], + [22446, "强效位面精华"], [22447, "次级位面精华"], [22448, "小块棱光碎片"], [22449, "大块棱光碎片"], [22450, "虚空水晶"], + [34052, "梦境碎片"], [34053, "小块梦境碎片"], [34054, "无限之尘"], [34055, "强效宇宙精华"], [34056, "次级宇宙精华"], + [34057, "深渊水晶"] + ], + flags: [ + [1, '0x00000001'], [2, '0x00000002'], [3, '0x00000004'], [4, '0x00000008'], [5, '0x00000010'], + [6, '0x00000020'], [7, '0x00000040'], [8, '0x00000080'], [9, '0x00000100'], [10,'0x00000200'], + [11,'0x00000400'], [12,'0x00000800'], [13,'0x00001000'], [14,'0x00002000'], [15,'0x00004000'], + [16,'0x00008000'], [17,'0x00010000'], [18,'0x00020000'], [19,'0x00040000'], [20,'0x00080000'], + [21,'0x00100000'], [22,'0x00200000'], [23,'0x00400000'], [24,'0x00800000'], [25,'0x01000000'], + [26,'0x02000000'], [27,'0x04000000'], [28,'0x08000000'], [29,'0x10000000'], [30,'0x20000000'], + [31,'0x40000000'], [32,'0x80000000'] + ] + }, + + fiitems: { + sepgeneral: "一般", + availabletoplayers: "向玩家开放", + avgbuyout: "平均购买价", + avgmoney: "平均含有金钱", + bindonequip: "装备时绑定", + bindonpickup: "拾取后绑定", + bindonuse: "使用时绑定", + bindtoaccount: "与战网账号绑定", + classspecific: "职业专属", + conjureditem: "召唤物品", + cooldown: "冷却(数秒)", + damagetype: "伤害类型", + deprecated: "弃用", + disenchantable: "可分解", + disenchantsinto: "去除附魔", + dura: "耐久度", + effecttext: "效果文字", + fitsgemslot: "适合宝石槽", + flavortext: "附加说明", + glyphtype: "雕文类型", + hasflavortext: "带附加说明", + hassockets: "有插槽", + heroicitem: "英雄物品", + icon: "图标", + id: "ID", + locked: "已锁", + millable: "可研磨", + notavailable: "不对玩家开放", + objectivequest: "任务目标", + openable: "可开启", + partofset: "物品套装一部分", + partyloot: "团队拾取", + prospectable: "可加工", + questitem: "任务物品", + racespecific: "种族特定", + randomenchants: "随机附魔", + randomlyenchanted: "随机附魔", + readable: "可读", + reagentforability: "技能/专业材料", + refundable: "可退款", + relatedevent: "相关世界事件", + repaircost: "修理费用(铜)", + reqskillrank: "需要能力等级", + requiresevent: "需要世界事件", + requiresprof: "需要职业", + requiresprofspec: "需要专业专精", + requiresrepwith: "取代声望…", + sellprice: "售价(铜)", + smartloot: "靶向拾取", + startsquest: "启动任务", + teachesspell: "传授法术", + tool: "工具", + unique: "独特", + uniqueequipped: "唯一装备", + usableinarenas: "可在竞技场使用", + usablewhenshapeshifted: "可在变形时使用", + + sepsource: "来源", + craftedprof: "由专业锻造", + dropsin: "掉落... (地区)", + dropsinheroic: "英雄模式掉落... (地下城)", + dropsinheroic10: "英雄10人模式掉落... (团队副本)", + dropsinheroic25: "英雄25人模式掉落... (团队副本)", + dropsinnormal: "普通10人模式掉落... (地下城)", + dropsinnormal10: "普通0人模式掉落... (团队副本)", + dropsinnormal25: "普通25人模式掉落... (团队副本)", + otdisenchanting: "通过取消附魔获得", + otfishing: "通过钓鱼获得", + otherbgathering: "通过草药采集获得", + otitemopening: "通过打开物品获得", + otlooting: "通过拾取获得", + otmilling: "通过研磨获得", + otmining: "通过采矿获得", + otobjectopening: "通过打开物品获得", + otpickpocketing: "通过扒窃获得", + otprospecting: "通过勘探获得", + otpvp: "通过PvP获得", + otredemption: "通过赎回获得", + otskinning: "通过剥皮获得", + purchasablewithitem: "可用物品购买…", + purchasablewithhonor: "Purchasable with honor points", // enUS + purchasablewitharena: "Purchasable with arena points", // enUS + purchasablewithcurrency: "可用货币购买…", + rewardedbyachievement: "成就奖励", + rewardedbyfactionquest: "任务奖励", + rewardedbyquestin: "奖励任务发生于…", + soldbynpc: "由NPC #... 出售", + soldbyvendor: "商人出售", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频", + + sepstaffonly: "仅限员工", + flags: "标记", + flags2: "标记 (2)" + }, + + fiitemsets: { + sepgeneral: "一般", + availabletoplayers: "向玩家开放", + id: "ID", + pieces: "碎片数量", + bonustext: "加成效果文本", + heroic: "英雄", + relatedevent: "相关世界事件", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频" + }, + + finpcs: { + sepgeneral: "一般", + canrepair: "可维修", + faction: "阵营", + relatedevent: "相关世界事件", + foundin: "发现于…", + health: "生命", + mana: "法力", + instanceboss: "副本BOSS", + startsquest: "启动任务", + endsquest: "结束任务", + usemodel: "使用模型 #...", + useskin: "使用皮…", + id: "ID", + + seploot: "掉落物品与奖励", + averagemoneydropped: "平均掉落金钱", + gatherable: "可采集(草药学)", + salvageable: "可回收(工程学)", + lootable: "可拾取", + minable: "可采矿", + pickpocketable: "可扒窃", + skinnable: "可剥皮", + increasesrepwith: "提高声望…", + decreasesrepwith: "减少声望…", + + sepgossipoptions: "效用", + auctioneer: "拍卖行", + banker: "银行家", + battlemaster: "战斗大师", + flightmaster: "飞行大师", + guildmaster: "公会大师", + innkeeper: "旅店老板", + talentunlearner: "职业训练师", + tabardvendor: "战袍商人", + stablemaster: "兽栏管理员", + trainer: "训练师", + vendor: "商人", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频", + + sepstaffonly: "仅限员工", + haslocation: "有地点" + }, + + fiobjects: { + sepgeneral: "一般", + foundin: "发现于…", + requiredskilllevel: "需要等级能力(草药、矿脉、提箱)", + relatedevent: "相关世界事件", + startsquest: "启动任务", + endsquest: "结束任务", + id: "ID", + + seploot: "拾取", + averagemoneycontained: "平均含有金钱", + openable: "可开启", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频" + }, + + fiquests: { + sepgeneral: "一般", + relatedevent: "相关世界事件", + daily: "日常", + weekly: "每周", + repeatable: "可重复", + objectiveearnrepwith: "目标:获得声望…", + countsforloremaster_stc: "博学者任务", + sharable: "可分享", + startsfrom: "始于…", + endsat: "结束于…", + suggestedplayers: "建议玩家数", + timer: "计时器(秒)", + availabletoplayers: "向玩家开放", + id: "ID", + classspecific: "职业专属", + racespecific: "种族特定", + + sepgainsrewards: "收获/奖励", + experiencegained: "获得的经验", + arenagained: "获得竞技场点数", + honorgained: "获得荣誉", + itemchoices: "物品选择", + itemrewards: "物品奖励", + moneyrewarded: "金钱奖励", + spellrewarded: "法术奖励", + titlerewarded: "奖励头衔", + currencyrewarded: "奖励货币…", + increasesrepwith: "提高声望…", + decreasesrepwith: "减少声望…", + + sepseries: "系列", + firstquestseries: "系列首个任务", + lastquestseries: "系列最后一个任务", + partseries: "系列的一部分", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频", + lacksstartend: "缺乏起始与结束", + + sepstaffonly: "仅限员工", + flags: "标记" + }, + + fispells: { + sepgeneral: "一般", + prcntbasemanarequired: "需 % 法力值", + firstrank: "首排名", + lastrank: "末排名", + rankno: "排位 #...", + rewardsskillups: "奖励技能点", + manaenergyragecost: "资源花费", + requiresnearbyobject: "需要附近物品", + hasreagents: "具备施法材料", + scaling: "按等级缩放", + requiresprofspec: "需要专业专精", + source: "来源", + trainingcost: "训练成本", + id: "ID", + icon: "图标", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频" + }, + + fiachievements: { + sepgeneral: "一般", + givesreward: "授予奖励", + rewardtext: "奖励文字", + location: "地点…", + relatedevent: "相关世界事件", + id: "ID", + icon: "图标", + + sepseries: "系列", + firstseries: "系列首个", + lastseries: "系列最后一个", + partseries: "系列的一部分", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频", + + sepstaffonly: "仅限员工", + flags: "标记" + }, + + fiprofiles: { // enUS + sepgeneral: "一般", + gearscore: "Gear score", + achievementpoints: "成就点数", + wearingitem: "Wearing item #...", + wearingpermenchant: "Wearing enchantment #...", + completedachievement: "Completed achievement #...", + + sepprofession: "Professions", + alchemy: "Alchemy skill", + blacksmithing: "Blacksmithing skill", + enchanting: "Enchanting skill", + engineering: "Engineering skill", + herbalism: "Herbalism skill", + inscription: "Inscription skill", + jewelcrafting: "Jewelcrafting skill", + leatherworking: "Leatherworking skill", + mining: "Mining skill", + skinning: "Skinning skill", + tailoring: "Tailoring skill", + + septalent: "天赋", + talenttree1: "第一个天赋树里点数花费", + talenttree2: "第二个天赋树里点数花费", + talenttree3: "第三个天赋树里点数花费", + + sepguild: "公会", + hasguild: "有一个公会", + guildname: "公会名字", + guildrank: "公会会员等级", + + separenateam: "竞技场队伍", + teamname2v2: "2v2竞技场队伍名字", + teamrtng2v2: "2v2竞技场队伍等级", + teamcontrib2v2: "2v2竞技场队伍贡献", + teamname3v3: "3v3竞技场队伍名字", + teamrtng3v3: "3v3竞技场队伍等级", + teamcontrib3v3: "3v3竞技场队伍贡献", + teamname5v5: "5v5竞技场队伍名字", + teamrtng5v5: "5v5竞技场队伍等级", + teamcontrib5v5: "5v5竞技场队伍贡献" + }, + + fiicons: { // derived from from LANG.filters_icons + sepgeneral: "一般", + sepuses: "用户", + used: "使用次数", + items: "被$1使用".replace("$1", "物品"), + spells: "被$1使用".replace("$1", "技能"), + achievements: "被$1使用".replace("$1", "成就"), + // battlepets: "被$1使用".replace("$1", "战斗宠物"), + // battlepetabilities: "被$1使用".replace("$1", "对战宠物能力"), + currencies: "被$1使用".replace("$1", "货币"), + // missionabilities: "被$1使用".replace("$1", "任务技能"), + // garrisonbuildings: "被$1使用".replace("$1", "要塞建筑"), + hunterpets: "被$1使用".replace("$1", "猎人宠物"), + // threats: "被$1使用".replace("$1", "威胁"), + classes: "被$1使用".replace("$1", "职业") + }, + + // custom + fienchantments: { + id: "ID", + hascondition: "Requires a combination of gems", + requiresprof: "需要专业", + + sepcommunity: "社区", + hascomments: "有评论", + hasscreenshots: "有截屏", + hasvideos: "有视频", + }, + + pr_notice: 'First time? – Don\'t be shy! Just check out our Help page!   close', // enUS + pr_datasource: 'Data in this tab was last updated $2 by $1.', // enUS + pr_purgedata: "Click to delete all completion data in the current tab.
Only the user who uploaded the data may purge it.", // enUS + + message_nocharacterselected: "No characters selected.", + message_toomanycharacters: "Please select only 1 character.", + message_noprofileselected: "No profiles selected.", + message_norowselected: "Please select one or more items to $1 from this list.", + message_characterresync: "An Armory resync has been requested for the selected characters.", + message_resyncerror: "An error occurred when resyncing:", + message_saveerror: "Error: Your profile could not be saved. Accounts have a limit of ten profiles. Please delete some from your user page, or upgrade your account to Premium for more space.", + message_saveok: "Save successful!", + message_saveasinvalidname: "Invalid name.", + message_invalidlevel: "Death Knights must be at least level 55.", + message_missingregion: "Please select a region.", + message_missingrealm: "Please select a realm.", + message_missingcharacter: "Please enter a character name.", + message_profilenotsaved: "$1Warning:$2 Your changes haven't been saved!", + message_nosignatureselected: "No signatures selected.", + message_toomanysignatures: "Please select only 1 signature.", + message_nosigbookmarks: "You have not bookmarked any characters. Please add some to continue.", + message_bookmarkforsig: "Please bookmark this character before creating a signature.", + + confirm_linkcharacter: "This character will be added to your list of characters.\n\nDo you want to continue?", + confirm_linkedcharacter: "This character has been added to your list.\n\nDo you want to be taken there?", + confirm_unlinkcharacter: "Are you sure that you want to remove the selected characters from your list?", + confirm_deleteprofile: "Are you sure that you want to delete the selected profiles?", + confirm_deleteprofile2: "Are you sure that you want to delete this profile?", + confirm_privateprofile: "Are you sure that you want to make the selected profiles private?", + confirm_publicprofile: "Are you sure that you want to make the selected profiles public?", + confirm_purgedata: "Are you sure you wish to purge your $1?", + confirm_newprofile: "Create a new profile?\n\nYou will be redirected upon saving the profile.", + confirm_resetexclusions: "This will reset your exclusion settings to the default. Are you sure you want to proceed?", + confirm_pincharacter: "This character will be pinned as your default character throughout the site.\n\nDo you want to continue?", + confirm_unpincharacter: "You will no longer have a pinned character.\n\nDo you want to continue?", + confirm_deletesigimages: "Are you sure you want to delete these signature backgrounds?", + confirm_deletesignature: "Are you sure that you want to delete the selected signatures?", + + loremasteryes_tip: "This quest counts towards
loremaster achievements", + loremasterno_tip: "This quest does not count
towards loremaster achievements", + + prompt_charlookup: "Please enter the name of the character you wish to view:", + prompt_nameprofile: "Please provide a name for this profile.\n(i.e. Resistance Gear, PvP Set, Wishlist, etc.)\n\nYou will be redirected upon saving the profile.", + + dialog_notavail: "Not available to players", + dialog_tcg: "Obtained via TCG loot redemption", + dialog_collector: "Reward from a Collector's Edition", + dialog_promo: "Obtained from a promotion", + dialog_nonus: "Not available on US servers", + dialog_faction: "Favored by opposite faction", + dialog_profession: "Requires another profession", + dialog_exclude: "Excluding entries lets you remove things you can't or don't plan on completing. Individual inclusions/exclusions will override the quick categories below.

Your exclusion settings are shared between all characters.", + dialog_noexalted: "Impossible to reach exalted", + + dialog_manageexclusions: "Manage Personal Exclusions", + dialog_resetexclusions: "Reset all exclusions", + + tab_arenateams: "Arena teams", + tab_character: "Character", + tab_characters: "Characters", + tab_guilds: "Guilds", + tab_reputation: "Reputation", + + lvnote_clicksubcatg: "Click on a subcategory below to filter the other tabs.", + + button_save: "保存", + button_saveas: "Save as", + button_bookmark: "Bookmark", + button_pin: "Pin", + button_unpin: "Unpin", + button_claimchar: "Claim character", + button_resync: "Resync", + button_signature: "签名", + + button_customprofile: "Custom profile", + button_armorychar: "Manage character", + + pr_clienttab: "$1
If this is your character, you can track your
$2 using the Wowhead Client!

Click to learn more", + pr_lookup: "Lookup: ", + pr_noneitem: "无", + pr_nonegem: "无", + pr_noneenchant: "无", + pr_nonepet: "无", + pr_specifyitem: "Please enter an item name to search for.", + pr_searching: 'Searching for items named "$1"...', + pr_noresults: 'No results found for "$1"!', + pr_region: "(Region)", + pr_realm: "(Realm)", + pr_selectregion: "Select a region", + pr_vendorsin: "商人在", + pr_yes: "Yes", + pr_dungeons: "Dungeons", + + pr_tt_items: "物品", + pr_tt_enchants: "Enchants", + pr_tt_gems: "Gems", + pr_tt_normal: "$1 (10人)", + pr_tt_heroic: "$1 (25人)", + pr_tt_earned: "$1 has earned $2 of $3 achievements ($4%).", + pr_tt_earned2: "$1 has killed all bosses in this instance.", + pr_tt_progress: "Progress", + pr_tt_obtained: "Total number obtained: $1", + pr_tt_nodata: "This statistic is not currently available in-game
and cannot be tracked.", + pr_tt_enchreq: "Enchantment Requires Level $1", + pr_tt_new: 'New
Create a new custom profile from scratch.', + pr_tt_saveas: 'Save as
Save the current character as a custom
profile tied to your account.', + pr_tt_resync: 'Resync
Resync the character with the latest
version available on the Armory.', + pr_tt_claim: 'Claim character
Add this character to your list of characters.', + pr_tt_include: 'Include
Move selected entries out of your exclusion list.', + pr_tt_exclude: 'Exclude
Move selected entries to your exclusion list.
This can be useful to hide things you don\'t
consider important to reach 100% completion.', + pr_tt_noqexcl: '
Note: Quick exclusions aren\'t currently available for this tab.', + pr_tt_excldone: "Complete but excluded", + pr_tt_questtip: "Repeatable quests and quests that don't
appear in your quest log aren't tracked.", + + pr_tip_rclkopt: "Tip: Right-click slots for more options.", + pr_tip_sclkopt: "Tip: Shift-click items for more options.", + pr_tip_rclkopt2: "Tip: Right-click items, gems and enchants for more options.", + pr_tip_sclkopt2: "Tip: Shift-click items, gems and enchants for more options.", + pr_tip_quests: "Note: Certain quests aren't tracked by Blizzard's API.", + + pr_header_noname: "Noname", + pr_header_character: '等级 $1 $2 $3', + pr_header_edit: "编辑", + pr_header_armory: "Armory", + pr_header_help: "帮助", + pr_header_print: "打印", + + pr_dialog_chardetails: "角色细节", + pr_dialog_name: "名字:", + pr_dialog_level: "等级:", + pr_dialog_class: "职业:", + pr_dialog_race: "种族:", + pr_dialog_gender: "性别:", + pr_dialog_icon: "图标:", + pr_dialog_iconeg: "e.g. INV_Axe_54", + pr_dialog_description: "Description: ", + pr_dialog_public: "Visibility: ", + + pr_qf_quickfacts: "相关信息", + pr_qf_progress: "Progress", + pr_qf_toc: "Table of Contents", + pr_qf_owner: "Owner: ", + pr_qf_character: "Character: ", + pr_qf_profiles: "Profiles: ", + pr_qf_playedtime: "Played time: ", + pr_qf_gearscore: "Gear score: ", + pr_qf_itemlevel: "物品等级:", + pr_qf_talents: "天赋:", + pr_qf_achievements: "成就:", + pr_qf_xvxteam: "$1v$1 team: ", + pr_qf_updated: "Updated ", + pr_qf_resynced: "Resynced ", + pr_qf_notsaved: "Profile has not been saved!", + pr_qf_gearmeter: "Gear", + pr_qf_raidactivity1: "All Raid Activity", + pr_qf_raidactivity2: "Recent Raid Activity", + pr_qf_activitytip1: "Click to display recent raid activity", + pr_qf_activitytip2: "Click to display all raid activity", + pr_qf_activitypct1: "$1%的全部活动", + pr_qf_activitypct2: "$1%的最近活动", + pr_qf_raidcomplete: "$1%完成", + + pr_qf_gear0: "Trivial", + pr_qf_gear1: "Easy", + pr_qf_gear2: "Ideal", + pr_qf_gear3: "Challenging", + pr_qf_gear4: "Difficult", + pr_qf_gear5: "Futile", + + menu_charlookup: "Lookup by name...", + menu_newprofile: "New Custom Profile", + menu_chooseclassspec: "选择你的职业/专精", + + pr_menu_equip: "Equip...", + pr_menu_replace: "Replace...", + pr_menu_add: "Add...", + pr_menu_unequip: "Unequip", + pr_menu_remove: "移除", + pr_menu_addgem: "Add Gem...", + pr_menu_repgem: "Replace Gem...", + pr_menu_addenchant: "Add Enchant...", + pr_menu_repenchant: "Replace Enchant...", + pr_menu_addsubitem: "Add Random Property...", + pr_menu_repsubitem: "Replace Random Property...", + pr_menu_extrasock: "Extra Socket", + pr_menu_display: "Display on Character", + pr_menu_clearenh: "Clear Enhancements", + pr_menu_links: "链接", + pr_menu_compare: "比较", + pr_menu_upgrades: "查找升级", + pr_menu_whowears: "谁会穿这个?", + + pr_queue_unknown: "Unknown", + pr_queue_noprocess: "The queue is not currently running.", + pr_queue_resyncreq: "An Armory resync has been requested.", + pr_queue_addqueue: "Adding to the Armory queue...", + pr_queue_status1: "Position in queue: $1 – Estimated time: $2", + pr_queue_status2: "Fetching data now...", + pr_queue_status3: 'Data is ready! Reload to view.', + pr_queue_status4: 'Unable to resync from the Armory: $1. Try resyncing again.', + pr_queue_batch: "Queue: $1 – Processing: $2 – Ready: $3 – Error: $4", + + pr_error_armory0: "Error unknown", + pr_error_armory1: "Character does not exist", + pr_error_armory2: "The Armory could not be reached", + + pr_inv_title: "Gear Summary", + pr_inv_missing: "Missing: ", + pr_inv_lowlevel: "Low level: ", + pr_inv_metareq: "Meta condition: ", + pr_inv_item: "$1 item", + pr_inv_items: "$1 items", + pr_inv_gem: "$1 gem", + pr_inv_gems: "$1 gems", + pr_inv_enchant: "$1 enchant", + pr_inv_enchants: "$1 enchants", + pr_inv_socket: "$1插槽", + pr_inv_sockets: "$1插槽", + + pr_print_none: "无", + pr_print_yes: "是", + pr_print_no: "否", + pr_print_normal: "Normal", + pr_print_heroic: "英雄", + + pr_stats_warning: "警告:一些统计数据(尤其是闪避)可能不完全准确。", + + pr_stats_title: "统计", + pr_stats_base: "基础", + pr_stats_melee: "近战", + pr_stats_ranged: "远程", + pr_stats_spell: "法术", + pr_stats_defenses: "防御", + pr_stats_resistances: "抗性", + pr_stats_beta: "beta", + + pr_stats_agi: "敏捷", + pr_stats_arcres: "奥术抗性", + pr_stats_armor: "护甲", + pr_stats_armorpenpct: "穿透", + pr_stats_blockpct: "格挡", + pr_stats_def: "防御", + pr_stats_dodgepct: "躲闪", + pr_stats_energy: "能量", + pr_stats_exp: "精准", + pr_stats_firres: "火焰抗性", + pr_stats_frores: "冰霜抗性", + pr_stats_health: "生命值", + pr_stats_holres: "神圣抗性", + pr_stats_int: "智力", + pr_stats_mana: "法力值", + pr_stats_mleatkpwr: "强度", + pr_stats_mlecritstrkpct: "爆击", + pr_stats_mlehastepct: "急速", + pr_stats_mlehitpct: "命中", + pr_stats_natres: "自然抗性", + pr_stats_oocmanargn: "法力回复", + pr_stats_parrypct: "招架", + pr_stats_rage: "怒气值", + pr_stats_resipct: "韧性", + pr_stats_rgdatkpwr: "强度", + pr_stats_rgdcritstrkpct: "爆击", + pr_stats_rgdhastepct: "急速", + pr_stats_rgdhitpct: "命中", + pr_stats_runic: "符文能量", + pr_stats_shares: "暗影抗性", + pr_stats_spi: "精神", + pr_stats_splcritstrkpct: "爆击", + pr_stats_spldmg: "伤害加成", + pr_stats_splhastepct: "急速", + pr_stats_splheal: "治疗加成", + pr_stats_splhitpct: "命中", + pr_stats_splpen: "穿透", + pr_stats_sta: "耐力", + pr_stats_str: "力量", + + pr_statstt_arc: "奥术", + pr_statstt_fir: "火焰", + pr_statstt_fro: "冰霜", + pr_statstt_hol: "神圣", + pr_statstt_nat: "自然", + pr_statstt_sha: "暗影", + + pr_statstt_agi: "Increases attack power by $1
Increases physical critical hit chance by $2%
Increases armor by $3", + pr_statstt_armor: "Reduces physical damage taken by $2%", + pr_statstt_armor2: "Reduces physical damage taken by $2%
Increases your pet's armor by $1", + pr_statstt_armorpenpct: 'Armor penetration rating $1 (+$2% armor penetration)
Reduces enemy armor by $3%', + pr_statstt_blockpct: 'Block rating $1 (+$2% block)
Increases chance to block by $4%
Your block stops $3 damage', + pr_statstt_def: 'Defense rating $1 (+$2 defense)
Increases chance to dodge, block and parry by $3%
Decreases chance to be hit and critically hit by $4%', + pr_statstt_dodgepct: 'Dodge rating $1 (+$2% dodge)
Increases chance to dodge by $3%
(Before diminishing returns)', + pr_statstt_exp: 'Expertise rating $1 (+$2 expertise)
Reduces chance to be dodged or parried by $3%', + pr_statstt_int: "Increases mana by $1
Increases spell critical hit chance by $2%", + pr_statstt_int2: "Increases mana by $1
Increases spell critical hit chance by $2%
Increases your pet's intellect by $3", + pr_statstt_mleatkpwr: "Increases damage with melee weapons by $1 per second", + pr_statstt_mlecritstrkpct: 'Crit rating $1 (+$2% crit chance)
Increases melee critical strike chance by $3%', + pr_statstt_mlehastepct: 'Haste rating $1 (+$2% haste)
Increases melee attack speed by $3%', + pr_statstt_mlehitpct: 'Hit rating $1 (+$2% hit chance)
Increases melee chance to hit a level $4 target by $3%', + pr_statstt_oocmanargn: "$1 mana regenerated every 5 seconds while not casting
$2 mana regenerated every 5 seconds while casting", + pr_statstt_parrypct: 'Parry rating $1 (+$2% parry)
Increases chance to parry by $3%
(Before diminishing returns)', + pr_statstt_resipct: 'Resilience rating $1 (+$2% resilience)
Reduces chance to be critically hit by $3%
Reduces the effect of mana-drains and the damage of critical strikes by $4%
Provides $5% additional damage reduction against all damage done by players and their pets or minions', + pr_statstt_resist: "Increases resistance to $1-based attacks, spells, and abilities.
Average resistance against spells cast by level $3: $1%", + pr_statstt_rgdatkpwr: "Increases damage with ranged weapons by $1 per second", + pr_statstt_rgdatkpwr2: "Increases damage with ranged weapons by $1 per second
Increases your pet's attack power by $2
Increases your pet's spell damage by $3", + pr_statstt_rgdcritstrkpct: 'Crit rating $1 (+$2% crit chance)
Increases ranged critical strike chance by $3%', + pr_statstt_rgdhastepct: 'Haste rating $1 (+$2% haste)
Increases ranged attack speed by $3%', + pr_statstt_rgdhitpct: 'Hit rating $1 (+$2% hit chance)
Increases ranged chance to hit a level $4 target by $3%', + pr_statstt_spi: "Increases health regeneration by $1 per 5 seconds while not in combat
Increases mana regeneration by $2 per 5 seconds while not casting", + pr_statstt_splcritstrkpct: 'Crit rating $2 (+$3% crit chance)
$1', + pr_statstt_spldmg: "$1", + pr_statstt_spldmg2: "$1
Increases your pet's attack power by $3
Increases your pet's spell damage by $4", + pr_statstt_splhastepct: 'Haste rating $1 (+$2% haste)
Increases spell casting speed by $3%', + pr_statstt_splheal: "Increases healing by up to $1", + pr_statstt_splhitpct: 'Hit rating $1 (+$2% hit chance)
Increases spell chance to hit a level $4 target by $3%', + pr_statstt_splpen: "Reduces enemy resistances by $1", + pr_statstt_sta: "Increases health by $1", + pr_statstt_sta2: "Increases health by $1
Increases your pet's stamina by $2", + pr_statstt_str: "Increases attack power by $1", + pr_statstt_str2: "Increases attack power by $1
Increases block value by $2", + + pr_ach_overall: "总体进度", + + pr_note_color: "颜色:", + pr_note_source: "来源:", + pr_note_view: "浏览:", + pr_note_type: "类型:", + pr_note_name: "名称:", + pr_note_family: "家族:", + pr_note_sort: "分类:", + + ddaysago: "$1天前", + + pr_note_all: "全部", + pr_note_bc: "TBC", + pr_note_subcategories: "Subcategories", + pr_note_earned: "赢得", + pr_note_complete: "完成", + pr_note_incomplete: "未完成", + pr_note_excluded: "Excluded", + pr_note_items: "物品", + pr_note_match: "匹配", + pr_note_profs: "专业", + pr_note_wotlk: "WotLK", + pr_note_usable: "可用", + pr_note_known: "Known", + pr_note_missing: "Missing", + pr_note_normal: "Normal", + pr_note_exotic: "Exotic", + pr_note_gearscore: "装备", + pr_note_weighted: "Weighted", + + su_note_stats: "任务基本属性", + su_note_other: "其他", + + su_notice: '第一次? – 别害羞! 快去阅读我们的帮助页面!   关闭', + su_itemtip: "小建议:按Shift或单击右键获得更多选项。", + + su_additems: "添加物品来开始。", + su_autosaving: "自动保存", + su_viewsaved: "查看保存的对比数据", + su_savecompare: "保存", + su_linkcompare: "此对比的链接", + su_clear: "清除", + su_help: "帮助", + su_addscale: "权重标尺", + su_additem: "物品", + su_addset: "物品组", + su_toggle: "点击切换视图", + + su_preset: "预制:", + su_name: "名称:", + su_level: "等级:", + su_addweight: "添加另一个权重", + su_applyweight: "添加", + su_resetweight: "重置", + + su_export: "出口", + su_viewin3d: "3D查看", + su_split: "分拆", + + su_customscale: "自定义标尺 #$1", + su_comparing: "比较中", + su_comparewith: "与", + + su_note_name: "名称:", + su_searching3: '所搜名为"$1"的物品...', + su_searching4: '所搜名为"$1"的物品组合...', + su_specifyitem3: "请输入物品名称开始搜索。", + su_specifyitem4: "请输入物品套装名开始搜索。", + su_added3: '添加物品 [$3] to comparison.', + su_added4: '添加物品组合 [$3] to comparison.', + su_noresults: '没有找到 "$1"的结果!', + + tooltip_setfocus: '设置焦点
全部列与此列比较。', + tooltip_removefocus: "移除焦点", + tooltip_gains: "Bonuses you gain above the minimum
shared stats between all columns.", // enUS + + instancereqlevel_tip: "进入副本有等级要求", + lfgreqlevel_tip: "需要一定等级才能通过地下城查找器
排队进入副本。", + + message_deleteitem: "删除$1?", + message_deletegroup: "删除此群组?", + achievements_label: "成就:", + + tc_rank: "排名$1/$2", + tc_tier: "需要$2 天赋$1点", + tc_prereq: "需要$2点 $1 ", + tc_prereqpl: "需要$2 点$1 ", + tc_learn: "点击学习", + tc_unlearn: "右键忘却", + tc_unlearn2: "Shift-click to unlearn", // enUS + tc_nextrank: "下一级别:", + tc_inccap: "点击提高等级上限至85", + tc_deccap: "点击将等级上限降低到80", + tc_addbon: "点击增加4个加成点,从
野兽掌握天赋", + tc_rembon: "点击从野兽掌握中移除奖励
点数", + tc_level: "等级%s", + + tc_point: "点数", + tc_points: "点数", + tc_none: "无", + tc_printh: "等级$1 $2", + + tc_link: "此配置的链接", + tc_resetall: "全部重置", + tc_resettree: "重置树木", + tc_resetglyphs: "重置雕文", + tc_lock: "锁", + tc_unlock: "解锁", + tc_reset: "重置", + tc_ptsleft: "剩余点数:", + tc_ptsspent: "花费点数:", + tc_reqlevel: "需要等级: ", + tc_levelcap: "等级上限:", + tc_bonuspts: "奖励点数:", + tc_help: "帮助", + tc_import: "导入", + tc_export: "导出", + tc_summary: "总结", + tc_restore: "恢复", + tc_print: "打印", + + tc_glyphs: "雕文", + tc_empty: "空白", + tc_locked: "已锁", + tc_majgly: "大雕文", + tc_mingly: "小雕文", + tc_lockgly: "等级$1时解锁", + tc_addgly: "点击铭刻您的法术书", + tc_remgly: "右键移除", + tc_remgly2: "Shift-click to remove", // enUS + tc_nonegly: "无", + tc_glyphnote: "部分雕文由于等级限制已被筛除。", + + tc_viewtalents: "查看天赋树", + tc_viewsummary: "查看总结", + + alert_invalidurl: "无效URL", + alert_chooseclass: "请先选择一个职业。", + alert_choosefamily: "请先选择宠物家族。", + alert_buildempty: "你的build是空的。", + + prompt_importwh: "请粘贴用Wowhead天赋模拟器制作的配置URL:", + prompt_importblizz: "请粘贴用暴雪天赋模拟器制作的配置URL:", + + stackof_format: "$1堆叠: $2%", + + charactersremaining_format: "还剩$1字符。", + + reputationtip: "声望值", + + // Context-less terms + added: "已添加", + build: "版本", + calculators: "模拟器", + patch: "补丁", + + sound_activities: { + greeting: "问候", + farewell: "再见", + angry: "愤怒", + exertion: "攻击", + exertioncritical: "暴击", + injury: "受伤", + injurycritical: "暴击伤害", + death: "死亡", + stun: "昏迷中", + stand: "站立", + footstep: "脚步", + aggro: "仇恨", + wingflap: "振翅", + wingglide: "滑翔", + alert: "警告", + fidget: "烦躁", + customattack: "自定义", + loop: "循环", + jumpstart: "跳跃", + jumpend: "落地", + petattack: "宠物攻击", + petorder: "宠物指令", + petdismiss: "遣散宠物", + birth: "已创建", + spellcast: "法术", + submerge: "潜水", + submerged: "潜水中", + transform: "变形", + transformanimated: "变形", + animation: "动作", + ready: "就绪", + precast: "施法前", + cast: "施法", + impact: "影响", + state: "状态", + statedone: "完成", + channel: "瞄准", + casterimpact: "施法者影响", + targetimpact: "目标影响", + castertargeting: "施法者目标", + missiletargeting: "导弹瞄准时间", + instantarea: "瞬发区域", + persistentarea: "持续范围", + casterstate: "施法者状态", + targetstate: "目标状态" + }, + + /* custom */ + note_condition: "每一个条件必须满足要求。", + note_condition_group: "Any one of these groups must be met in full to satisfy the requirement." // enUS + /* end custom */ +}; diff --git a/template/localized/contrib_4.tpl.php b/template/localized/contrib_4.tpl.php new file mode 100644 index 00000000..ae39d44d --- /dev/null +++ b/template/localized/contrib_4.tpl.php @@ -0,0 +1,91 @@ + + + diff --git a/template/localized/ssReminder_4.tpl.php b/template/localized/ssReminder_4.tpl.php new file mode 100644 index 00000000..d23afe15 --- /dev/null +++ b/template/localized/ssReminder_4.tpl.php @@ -0,0 +1,10 @@ +

提醒

+ 你的截图将不会 通过审查假设不符合下列准则。 + +