implemented generic filters
- what which index does needs to be implemented in the implementation - differences to wowhead * strings in criteria are more lenient and will also work with partial matches * the ? and * wildcards are supported
This commit is contained in:
parent
58316679bf
commit
c045fe1081
22 changed files with 3312 additions and 2072 deletions
254
includes/class.filter.php
Normal file
254
includes/class.filter.php
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
<?php
|
||||
if(!defined('AOWOW_REVISION'))
|
||||
die("illegal access");
|
||||
|
||||
abstract class Filter
|
||||
{
|
||||
private static $pattern = "/[^\p{L}0-9\s\-\'\?\*]/ui";// delete any char not in unicode, number, hyphen, single quote or common wildcard
|
||||
private static $wildcards = ['*' => '%', '?' => '_'];
|
||||
private static $criteria = ['cr', 'crs', 'crv']; // [cr]iterium, [cr].[s]ign, [cr].[v]alue
|
||||
|
||||
private $fiData = ['c' => [], 'v' =>[]];
|
||||
private $query = '';
|
||||
private $form = []; // unsanitized: needed to preselect form-fields
|
||||
private $setCr = []; // unsanitized: needed to preselect criteria
|
||||
|
||||
public $error = false; // erronous search fields
|
||||
|
||||
// parse the provided request into a usable format; recall self with GET-params if nessecary
|
||||
public function init()
|
||||
{
|
||||
// prefer POST over GET, translate to url
|
||||
if (!empty($_POST))
|
||||
{
|
||||
foreach ($_POST as $k => $v)
|
||||
{
|
||||
if (is_array($v)) // array -> max depths:1
|
||||
{
|
||||
if ($k == 'cr' && empty($v[0]))
|
||||
continue;
|
||||
|
||||
$sub = [];
|
||||
foreach ($v as $sk => $sv)
|
||||
{
|
||||
$sv = str_replace("'", "\'", stripslashes($sv));
|
||||
$sub[$sk] = is_numeric($sv) ? (int)$sv : urlencode($sv);
|
||||
}
|
||||
if (!empty($sub) && in_array($k, Filter::$criteria))
|
||||
$this->fiData['c'][$k] = $sub;
|
||||
else if (!empty($sub))
|
||||
$this->fiData['v'][$k] = $sub;
|
||||
}
|
||||
else // stings and integer
|
||||
{
|
||||
$v = str_replace("'", "\'", stripslashes($v));
|
||||
|
||||
if (in_array($k, Filter::$criteria))
|
||||
$this->fiData['c'][$k] = is_numeric($v) ? (int)$v : urlencode($v);
|
||||
else
|
||||
$this->fiData['v'][$k] = is_numeric($v) ? (int)$v : urlencode($v);
|
||||
}
|
||||
}
|
||||
|
||||
// create get-data
|
||||
$tmp = [];
|
||||
foreach (array_merge($this->fiData['c'], $this->fiData['v']) as $k => $v)
|
||||
{
|
||||
if ($v == '')
|
||||
continue;
|
||||
else if (is_array($v))
|
||||
$tmp[$k] = $k."=".implode(':', $v);
|
||||
else
|
||||
$tmp[$k] = $k."=".$v;
|
||||
}
|
||||
|
||||
// do get request
|
||||
$this->redirect(implode(';', $tmp));
|
||||
}
|
||||
// sanitize input and build sql
|
||||
else if (!empty($_GET['filter']))
|
||||
{
|
||||
$tmp = explode(';', $_GET['filter']);
|
||||
$cr = $crs = $crv = [];
|
||||
|
||||
foreach (Filter::$criteria as $c)
|
||||
{
|
||||
foreach ($tmp as $i => $term)
|
||||
{
|
||||
if (strpos($term, $c.'=') === 0)
|
||||
{
|
||||
$$c = explode(':', explode('=', $term)[1]);
|
||||
$this->setCr[$c] = json_encode($$c, JSON_NUMERIC_CHECK);
|
||||
unset($tmp[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for ($i = 0; $i < max(count($cr), count($crv), count($crs)); $i++)
|
||||
{
|
||||
if (!isset($cr[$i]) || !isset($crs[$i]) || !isset($crv[$i]) ||
|
||||
!intVal($cr[$i]) || $crs[$i] == '' || $crv[$i] == '')
|
||||
{
|
||||
$this->error = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->sanitize($crv[$i]);
|
||||
|
||||
if ($crv[$i] != '')
|
||||
{
|
||||
$this->fiData['c']['cr'][] = intVal($cr[$i]);
|
||||
$this->fiData['c']['crs'][] = $crs[$i];
|
||||
$this->fiData['c']['crv'][] = $crv[$i];
|
||||
}
|
||||
else
|
||||
$this->error = true;
|
||||
|
||||
}
|
||||
|
||||
foreach ($tmp as $v)
|
||||
{
|
||||
$w = explode('=', $v);
|
||||
|
||||
if (strstr($w[1], ':'))
|
||||
{
|
||||
$tmp2 = explode(':', $w[1]);
|
||||
|
||||
$this->form[$w[0]] = $tmp2;
|
||||
|
||||
array_walk($tmp2, function(&$v) { $v = intVal($v); });
|
||||
$this->fiData['v'][$w[0]] = $tmp2;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->form[$w[0]] = $w[1];
|
||||
|
||||
$this->sanitize($w[1]);
|
||||
|
||||
if ($w[1] != '')
|
||||
$this->fiData['v'][$w[0]] = is_numeric($w[1]) ? (int)$w[1] : $w[1];
|
||||
else
|
||||
$this->error = true;
|
||||
}
|
||||
}
|
||||
|
||||
return $this->fiData;
|
||||
}
|
||||
}
|
||||
|
||||
public function buildQuery()
|
||||
{
|
||||
if (!empty($this->query))
|
||||
return $this->query;
|
||||
|
||||
$parts = [];
|
||||
|
||||
// values
|
||||
$parts = $this->createSQLForValues($this->fiData['v']);
|
||||
|
||||
// criteria
|
||||
$c = &$this->fiData['c'];
|
||||
if (!empty($c))
|
||||
{
|
||||
if (is_array($c['cr']))
|
||||
{
|
||||
for ($i = 0; $i < count($c['cr']); $i++)
|
||||
$parts[] = $this->createSQLForCriterium(array($c['cr'][$i], $c['crs'][$i], $c['crv'][$i]));
|
||||
}
|
||||
else
|
||||
$parts[] = $this->createSQLForCriterium(array($c['cr'], $c['crs'], $c['crv']));
|
||||
}
|
||||
|
||||
$this->query = empty($parts) ? '' : '('.implode(empty($this->fiData['v']['ma']) ? ' AND ' : ' OR ', $parts).')';
|
||||
return $this->query;
|
||||
}
|
||||
|
||||
public function getQuery()
|
||||
{
|
||||
return $this->query;
|
||||
}
|
||||
|
||||
public function getForm()
|
||||
{
|
||||
return $this->form;
|
||||
}
|
||||
|
||||
public function getSetCriteria()
|
||||
{
|
||||
if (!empty($this->setCr['cr']))
|
||||
return sprintf(Util::$setCriteriaString, $this->setCr['cr'], $this->setCr['crs'], $this->setCr['crv']);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
// santas little helper..
|
||||
protected function int2Op($int)
|
||||
{
|
||||
switch ($int)
|
||||
{
|
||||
case 1: return '>';
|
||||
case 2: return '>=';
|
||||
case 3: return '=';
|
||||
case 4: return '<=';
|
||||
case 5: return '<';
|
||||
default: die('invalid op');
|
||||
}
|
||||
}
|
||||
|
||||
protected function int2Bool($int)
|
||||
{
|
||||
switch ($int)
|
||||
{
|
||||
case 1: return true;
|
||||
case 2: return false;
|
||||
default: die('invalid op');
|
||||
}
|
||||
}
|
||||
|
||||
protected function list2Mask($list)
|
||||
{
|
||||
$mask = 0x0;
|
||||
|
||||
if (is_array($list))
|
||||
{
|
||||
foreach ($list as $itm)
|
||||
$mask += (1 << intVal($itm));
|
||||
}
|
||||
else
|
||||
$mask = (1 << intVal($list));
|
||||
|
||||
return $mask;
|
||||
}
|
||||
|
||||
private function sanitize(&$str)
|
||||
{
|
||||
$str = preg_replace(Filter::$pattern, '', trim($str));
|
||||
$str = strtr($str, Filter::$wildcards);
|
||||
}
|
||||
|
||||
// if called with POST-data, convert to GET request and call self
|
||||
private function redirect($get)
|
||||
{
|
||||
header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace('index.php', '', $_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING'].'='.$get);
|
||||
}
|
||||
|
||||
protected function createSQLForCommunity($cr)
|
||||
{
|
||||
switch ($cr[0])
|
||||
{
|
||||
case 14: // has Comments [y|n]
|
||||
return ''; // IN / NOT IN (select Ids FROM aowow_comments ON type = X AND id Y and flags = valid)
|
||||
case 15: // has Screenshots [y|n]
|
||||
return ''; // IN / NOT IN (select Ids FROM aowow_screenshots ON type = X AND id Y and flags = valid)
|
||||
case 16: // has Videos [y|n]
|
||||
return ''; // IN / NOT IN (select Ids FROM aowow_videos ON type = X AND id Y and flags = valid)
|
||||
}
|
||||
}
|
||||
|
||||
// apply Util::sqlEscape() and intVal() in the implementation of these
|
||||
abstract protected function createSQLForCriterium($cr);
|
||||
abstract protected function createSQLForValues($vl);
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -503,7 +503,7 @@ class ItemList extends BaseType
|
|||
// required skill
|
||||
if ($this->curTpl['RequiredSkill'])
|
||||
{
|
||||
$skillText = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillId = ?d', $this->curTpl['RequiredSkill']);
|
||||
$skillText = DB::Aowow()->selectRow('SELECT * FROM ?_skill WHERE skillID = ?d', $this->curTpl['RequiredSkill']);
|
||||
$x .= '<br />'.Lang::$game['requires'].' <a class="q1" href="?skill='.$this->curTpl['RequiredSkill'].'">'.Util::localizedString($skillText, 'name').'</a>';
|
||||
if ($this->curTpl['RequiredSkillRank'])
|
||||
$x .= ' ('.$this->curTpl['RequiredSkillRank'].')';
|
||||
|
|
@ -832,8 +832,9 @@ class ItemList extends BaseType
|
|||
{
|
||||
$eqpSplList = new SpellList(array(['id', $equipSpells]));
|
||||
$stats = $eqpSplList->getStatGain();
|
||||
foreach ($stats as $mId => $qty)
|
||||
if ($qty > 0)
|
||||
|
||||
foreach ($stats as $stat)
|
||||
foreach ($stat as $mId => $qty)
|
||||
@$this->itemMods[$this->id][$mId] += $qty;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ class ItemsetList extends BaseType
|
|||
private $classes = []; // used to build g_classes
|
||||
public $pieceToSet = []; // used to build g_items and search
|
||||
|
||||
protected $setupQuery = 'SELECT *, id AS ARRAY_KEY FROM ?_itemset WHERE [filter] [cond] ORDER BY maxlevel ASC';
|
||||
protected $setupQuery = 'SELECT *, id AS ARRAY_KEY FROM ?_itemset WHERE [filter] [cond] ORDER BY maxlevel DESC';
|
||||
protected $matchQuery = 'SELECT COUNT(1) FROM ?_itemset WHERE [filter] [cond]';
|
||||
|
||||
public function __construct($data)
|
||||
public function __construct($data, $applyFilter = false)
|
||||
{
|
||||
parent::__construct($data);
|
||||
parent::__construct($data, $applyFilter);
|
||||
|
||||
// post processing
|
||||
while ($this->iterate())
|
||||
|
|
@ -62,7 +62,8 @@ class ItemsetList extends BaseType
|
|||
'heroic' => $this->curTpl['heroic'] == 1, // we want to be bool
|
||||
'reqclass' => $this->curTpl['classMask'],
|
||||
'classes' => $this->curTpl['classes'],
|
||||
'pieces' => $this->curTpl['pieces']
|
||||
'pieces' => $this->curTpl['pieces'],
|
||||
'heroic' => $this->curTpl['heroic']
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +76,7 @@ class ItemsetList extends BaseType
|
|||
(new CharClassList(array(['id', $this->classes])))->addGlobalsToJscript($refs);
|
||||
|
||||
if ($this->pieceToSet)
|
||||
(new ItemList(array(['i.entry', array_keys($this->pieceToSet)])))->addGlobalsToJscript($refs);
|
||||
(new ItemList(array(['i.entry', array_keys($this->pieceToSet)], 0)))->addGlobalsToJscript($refs);
|
||||
}
|
||||
|
||||
public function addRewardsToJScript(&$ref) { }
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ class SpellList extends BaseType
|
|||
protected $setupQuery = 'SELECT *, id AS ARRAY_KEY FROM ?_spell WHERE [filter] [cond] GROUP BY Id ORDER BY Id ASC';
|
||||
protected $matchQuery = 'SELECT COUNT(1) FROM ?_spell WHERE [filter] [cond]';
|
||||
|
||||
public function __construct($conditions)
|
||||
public function __construct($conditions, $applyFilter = false)
|
||||
{
|
||||
parent::__construct($conditions);
|
||||
parent::__construct($conditions, $applyFilter);
|
||||
|
||||
if ($this->error)
|
||||
return;
|
||||
|
|
@ -50,10 +50,12 @@ class SpellList extends BaseType
|
|||
// required for itemSet-bonuses and socket-bonuses
|
||||
public function getStatGain()
|
||||
{
|
||||
$stats = [];
|
||||
$data = [];
|
||||
|
||||
while ($this->iterate())
|
||||
{
|
||||
$stats = [];
|
||||
|
||||
for ($i = 1; $i <= 3; $i++)
|
||||
{
|
||||
if (!in_array($this->curTpl["effect".$i."AuraId"], [13, 22, 29, 34, 35, 83, 84, 85, 99, 124, 135, 143, 158, 161, 189, 230, 235, 240, 250]))
|
||||
|
|
@ -216,9 +218,11 @@ class SpellList extends BaseType
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$data[$this->id] = $stats;
|
||||
}
|
||||
|
||||
return $stats;
|
||||
return $data;
|
||||
}
|
||||
|
||||
// description-, buff-parsing component
|
||||
|
|
@ -247,7 +251,7 @@ class SpellList extends BaseType
|
|||
}
|
||||
|
||||
// description-, buff-parsing component
|
||||
private function resolveVariableString($variable, $level)
|
||||
private function resolveVariableString($variable, $level, $interactive)
|
||||
{
|
||||
$signs = ['+', '-', '/', '*', '%', '^'];
|
||||
|
||||
|
|
@ -323,7 +327,7 @@ class SpellList extends BaseType
|
|||
}
|
||||
// Aura end
|
||||
|
||||
if ($rType)
|
||||
if ($rType && $interactive)
|
||||
$str .= '<!--rtg'.$rType.'-->'.$base." <small>(".Util::setRatingLevel($level, $rType, $base).")</small>";
|
||||
else
|
||||
$str .= $base;
|
||||
|
|
@ -439,7 +443,7 @@ class SpellList extends BaseType
|
|||
}
|
||||
// Aura end
|
||||
|
||||
if ($rType)
|
||||
if ($rType && $interactive)
|
||||
return '<!--rtg'.$rType.'-->'.abs($base)." <small>(".Util::setRatingLevel($level, $rType, abs($base)).")</small>";
|
||||
else
|
||||
return $base;
|
||||
|
|
@ -549,7 +553,7 @@ class SpellList extends BaseType
|
|||
}
|
||||
// Aura end
|
||||
|
||||
if ($rType && $equal)
|
||||
if ($rType && $equal && $interactive)
|
||||
return '<!--rtg'.$rType.'-->'.$min." <small>(".Util::setRatingLevel($level, $rType, $min).")</small>";
|
||||
else
|
||||
return $min . (!$equal ? Lang::$game['valueDelim'] . $max : null);
|
||||
|
|
@ -603,7 +607,7 @@ class SpellList extends BaseType
|
|||
}
|
||||
|
||||
// description-, buff-parsing component
|
||||
private function resolveFormulaString($formula, $precision = 0, $level)
|
||||
private function resolveFormulaString($formula, $precision = 0, $level, $interactive)
|
||||
{
|
||||
// step 1: formula unpacking redux
|
||||
while (($formStartPos = strpos($formula, '${')) !== false)
|
||||
|
|
@ -639,7 +643,7 @@ class SpellList extends BaseType
|
|||
++$formCurPos; // for some odd reason the precision decimal survives if wo dont increment further..
|
||||
}
|
||||
|
||||
$formOutStr = $this->resolveFormulaString($formOutStr, $formPrecision, $level);
|
||||
$formOutStr = $this->resolveFormulaString($formOutStr, $formPrecision, $level, $interactive);
|
||||
|
||||
$formula = substr_replace($formula, $formOutStr, $formStartPos, ($formCurPos - $formStartPos));
|
||||
}
|
||||
|
|
@ -663,7 +667,7 @@ class SpellList extends BaseType
|
|||
continue;
|
||||
}
|
||||
$pos += strlen($result[0]);
|
||||
$str .= $this->resolveVariableString($result, $level);
|
||||
$str .= $this->resolveVariableString($result, $level, $interactive);
|
||||
}
|
||||
$str .= substr($formula, $pos);
|
||||
$str = str_replace('#', '$', $str); // reset marks
|
||||
|
|
@ -676,7 +680,7 @@ class SpellList extends BaseType
|
|||
|
||||
// should probably used only once to create ?_spell. come to think of it, it yields the same results every time.. it absolutely has to!
|
||||
// although it seems to be pretty fast, even on those pesky test-spells with extra complex tooltips (Ron Test Spell X))
|
||||
public function parseText($type = 'description', $level = MAX_LEVEL)
|
||||
public function parseText($type = 'description', $level = MAX_LEVEL, $interactive = false)
|
||||
{
|
||||
// oooo..kaaayy.. parsing text in 6 or 7 easy steps
|
||||
// we don't use the internal iterator here. This func has to be called for the individual template.
|
||||
|
|
@ -902,7 +906,7 @@ class SpellList extends BaseType
|
|||
++$formCurPos; // for some odd reason the precision decimal survives if wo dont increment further..
|
||||
}
|
||||
|
||||
$formOutStr = $this->resolveFormulaString($formOutStr, $formPrecision, $level);
|
||||
$formOutStr = $this->resolveFormulaString($formOutStr, $formPrecision, $level, $interactive);
|
||||
|
||||
$data = substr_replace($data, $formOutStr, $formStartPos, ($formCurPos - $formStartPos));
|
||||
}
|
||||
|
|
@ -929,7 +933,7 @@ class SpellList extends BaseType
|
|||
|
||||
$pos += strlen($result[0]);
|
||||
|
||||
$resolved = $this->resolveVariableString($result, $level);
|
||||
$resolved = $this->resolveVariableString($result, $level, $interactive);
|
||||
$str .= intVal($resolved) ? abs($resolved) : $resolved;
|
||||
}
|
||||
$str .= substr($data, $pos);
|
||||
|
|
|
|||
|
|
@ -106,6 +106,11 @@ define('ITEMINFO_LOOT', 0x8);
|
|||
|
||||
define('MAX_LEVEL', 80);
|
||||
|
||||
// Sides
|
||||
define('SIDE_ALLIANCE', 1);
|
||||
define('SIDE_HORDE', 2);
|
||||
define('SIDE_BOTH', 3);
|
||||
|
||||
// ClassMask
|
||||
define('CLASS_WARRIOR', 0x1);
|
||||
define('CLASS_PALADIN', 0x2);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ require 'includes/class.database.php';
|
|||
|
||||
// autoload any List-Classes
|
||||
spl_autoload_register(function ($class) {
|
||||
if (strpos($class, 'List'))
|
||||
if (strpos($class, 'List') && !strpos($class, 'Filter'))
|
||||
require 'includes/class.'.strtr($class, ['List' => '']).'.php';
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -35,20 +35,20 @@ abstract class BaseType
|
|||
* results in
|
||||
* WHERE id = 45 OR name NOT LIKE %test% LIMIT 5;
|
||||
*/
|
||||
public function __construct($conditions = [])
|
||||
public function __construct($conditions = [], $applyFilter = false)
|
||||
{
|
||||
global $AoWoWconf; // yes i hate myself..
|
||||
|
||||
$sql = [];
|
||||
$linking = ' AND ';
|
||||
$limit = ' LIMIT '.$AoWoWconf['sqlLimit'];
|
||||
$className = strtr(get_class($this), ['List' => '']);
|
||||
$className = get_class($this);
|
||||
|
||||
if (!$this->setupQuery || !$this->matchQuery)
|
||||
return;
|
||||
|
||||
// may be called without filtering
|
||||
if (class_exists($className.'Filter'))
|
||||
if ($applyFilter && class_exists($className.'Filter'))
|
||||
{
|
||||
$fiName = $className.'Filter';
|
||||
$this->filter = new $fiName();
|
||||
|
|
@ -78,20 +78,29 @@ abstract class BaseType
|
|||
|
||||
if (is_array($c[1]))
|
||||
{
|
||||
$val = implode(',', Util::sqlEscape($c[1]));
|
||||
if (!$val)
|
||||
continue;
|
||||
|
||||
$op = (isset($c[2]) && $c[2] == '!') ? 'NOT IN' : 'IN';
|
||||
$val = '('.implode(',', Util::sqlEscape($c[1])).')';
|
||||
$val = '('.$val.')';
|
||||
}
|
||||
else if (is_string($c[1]))
|
||||
{
|
||||
$op = (isset($c[2]) && $c[2] == '!') ? 'NOT LIKE' : 'LIKE';
|
||||
$val = '"%'.Util::sqlEscape($c[1]).'%"';
|
||||
$val = Util::sqlEscape($c[1]);
|
||||
if (!$val)
|
||||
continue;
|
||||
|
||||
$op = (isset($c[2]) && $c[2] == '!') ? 'NOT LIKE' : 'LIKE';
|
||||
$val = '"%'.$val.'%"';
|
||||
}
|
||||
else if (is_int($c[1]))
|
||||
{
|
||||
$op = (isset($c[2]) && $c[2] == '!') ? '<>' : '=';
|
||||
$val = Util::sqlEscape($c[1]);
|
||||
}
|
||||
else // null for example
|
||||
continue;
|
||||
|
||||
if (isset($c[2]) && $c[2] != '!')
|
||||
$op = $c[2];
|
||||
|
|
@ -104,16 +113,15 @@ abstract class BaseType
|
|||
$limit = $c > 0 ? ' LIMIT '.$c : '';
|
||||
else
|
||||
continue; // ignore other possibilities
|
||||
|
||||
}
|
||||
|
||||
// todo: add strings propperly without them being escaped by simpleDB..?
|
||||
$this->setupQuery = str_replace('[filter]', $this->filter && $this->filter->buildFilterQuery() ? $this->filter->query.' AND ' : NULL, $this->setupQuery);
|
||||
$this->setupQuery = str_replace('[cond]', empty($sql) ? '1' : '('.implode($linking, $sql).')', $this->setupQuery);
|
||||
$this->setupQuery = str_replace('[filter]', $this->filter && $this->filter->buildQuery() ? $this->filter->getQuery().' AND ' : NULL, $this->setupQuery);
|
||||
$this->setupQuery = str_replace('[cond]', empty($sql) ? '1' : '('.implode($linking, $sql).')', $this->setupQuery);
|
||||
$this->setupQuery .= $limit;
|
||||
|
||||
$this->matchQuery = str_replace('[filter]', $this->filter && $this->filter->buildFilterQuery() ? $this->filter->query.' AND ' : NULL, $this->matchQuery);
|
||||
$this->matchQuery = str_replace('[cond]', empty($sql) ? '1' : '('.implode($linking, $sql).')', $this->matchQuery);
|
||||
$this->matchQuery = str_replace('[filter]', $this->filter && $this->filter->buildQuery() ? $this->filter->getQuery().' AND ' : NULL, $this->matchQuery);
|
||||
$this->matchQuery = str_replace('[cond]', empty($sql) ? '1' : '('.implode($linking, $sql).')', $this->matchQuery);
|
||||
|
||||
$rows = DB::Aowow()->Select($this->setupQuery);
|
||||
if (!$rows)
|
||||
|
|
@ -162,10 +170,10 @@ abstract class BaseType
|
|||
return $this->curTpl[$field];
|
||||
}
|
||||
|
||||
public function filterGetJs()
|
||||
public function filterGetSetCriteria()
|
||||
{
|
||||
if ($this->filter && isset($this->filter->fiData['c']['cr']))
|
||||
return "fi_setCriteria([".@implode(',',$this->filter->fiData['c']['cr'])."], [".@implode(',',$this->filter->fiData['c']['crs'])."], ['".@implode('\', \'',$this->filter->fiData['c']['crv'])."']);";
|
||||
if ($this->filter)
|
||||
return $this->filter->getSetCriteria();
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
|
@ -173,11 +181,19 @@ abstract class BaseType
|
|||
public function filterGetForm()
|
||||
{
|
||||
if ($this->filter)
|
||||
return $this->filter->form;
|
||||
return $this->filter->getForm();
|
||||
else
|
||||
return [];
|
||||
}
|
||||
|
||||
public function filterGetError()
|
||||
{
|
||||
if ($this->filter)
|
||||
return $this->filter->error;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// should return data required to display a listview of any kind
|
||||
// this is a rudimentary example, that will not suffice for most Types
|
||||
abstract public function getListviewData();
|
||||
|
|
@ -233,14 +249,15 @@ class Lang
|
|||
public static $main;
|
||||
public static $search;
|
||||
public static $game;
|
||||
public static $filter;
|
||||
public static $error;
|
||||
|
||||
public static $account;
|
||||
public static $achievement;
|
||||
public static $compare;
|
||||
public static $currency;
|
||||
public static $event;
|
||||
public static $item;
|
||||
public static $itemset;
|
||||
public static $maps;
|
||||
public static $spell;
|
||||
public static $talent;
|
||||
|
|
@ -411,7 +428,7 @@ class SmartyAoWoW extends Smarty
|
|||
$this->left_delimiter = '{';
|
||||
$this->right_delimiter = '}';
|
||||
$this->caching = false; // Total Cache, this site does not work
|
||||
$this->assign('app_name', $config['page']['name']);
|
||||
$this->assign('appName', $config['page']['name']);
|
||||
$this->assign('AOWOW_REVISION', AOWOW_REVISION);
|
||||
$this->_tpl_vars['page'] = array(
|
||||
'reqJS' => [], // <[string]> path to required JSFile
|
||||
|
|
@ -438,18 +455,14 @@ class SmartyAoWoW extends Smarty
|
|||
public function display($tpl)
|
||||
{
|
||||
// since it's the same for every page, except index..
|
||||
if (!$this->_tpl_vars['query'][0])
|
||||
return;
|
||||
if ($this->_tpl_vars['query'][0] && !preg_match('/[^a-z]/i', $this->_tpl_vars['query'][0]))
|
||||
{
|
||||
$ann = DB::Aowow()->Select('SELECT * FROM ?_announcements WHERE flags & 0x10 AND (page = ?s OR page = "*")', $this->_tpl_vars['query'][0]);
|
||||
foreach ($ann as $k => $v)
|
||||
$ann[$k]['text'] = Util::localizedString($v, 'text');
|
||||
|
||||
// sanitize
|
||||
if (preg_match('/[^a-z]/i', $this->_tpl_vars['query'][0]))
|
||||
return;
|
||||
|
||||
$ann = DB::Aowow()->Select('SELECT * FROM ?_announcements WHERE flags & 0x10 AND (page = ?s OR page = "*")', $this->_tpl_vars['query'][0]);
|
||||
foreach ($ann as $k => $v)
|
||||
$ann[$k]['text'] = Util::localizedString($v, 'text');
|
||||
|
||||
$this->_tpl_vars['announcements'] = $ann;
|
||||
$this->_tpl_vars['announcements'] = $ann;
|
||||
}
|
||||
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
|
@ -597,6 +610,7 @@ class Util
|
|||
|
||||
public static $filterResultString = 'sprintf(%s, %s, %s) + LANG.dash + LANG.lvnote_tryfiltering.replace(\'<a>\', \'<a href="javascript:;" onclick="fi_toggle()">\')';
|
||||
public static $narrowResultString = 'sprintf(%s, %s, %s) + LANG.dash + LANG.lvnote_trynarrowing';
|
||||
public static $setCriteriaString = "fi_setCriteria(%s, %s, %s);\n";
|
||||
|
||||
public static $expansionString = array( // 3 & 4 unused .. obviously
|
||||
null, 'bc', 'wotlk', 'cata', 'mop'
|
||||
|
|
@ -1232,18 +1246,14 @@ class Util
|
|||
return 0;
|
||||
}
|
||||
|
||||
private static function db_conform_array_callback(&$item, $key)
|
||||
public static function sqlEscape($data)
|
||||
{
|
||||
$item = Util::sqlEscape($item);
|
||||
}
|
||||
if (!is_array($data))
|
||||
return mysql_real_escape_string(trim($data));
|
||||
|
||||
public static function sqlEscape($string)
|
||||
{
|
||||
if (!is_array($string))
|
||||
return mysql_real_escape_string(trim($string));
|
||||
array_walk($data, function(&$item, $key) { $item = Util::sqlEscape($item); });
|
||||
|
||||
array_walk($string, 'Util::db_conform_array_callback');
|
||||
return $string;
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function jsEscape($string)
|
||||
|
|
@ -1260,16 +1270,26 @@ class Util
|
|||
|
||||
public static function localizedString($data, $field)
|
||||
{
|
||||
$sqlLocales = ['EN', 2 => 'FR', 3 => 'DE', 6 => 'ES', 8 => 'RU'];
|
||||
|
||||
// default back to enUS if localization unavailable
|
||||
|
||||
// default case: selected locale available
|
||||
if (!empty($data[$field.'_loc'.User::$localeId]))
|
||||
return $data[$field.'_loc'.User::$localeId];
|
||||
|
||||
// dbc-case
|
||||
else if (!empty($data[$field.$sqlLocales[User::$localeId]]))
|
||||
return $data[$field.$sqlLocales[User::$localeId]];
|
||||
|
||||
// locale not enUS; aowow-type localization available; add brackets
|
||||
else if (User::$localeId != LOCALE_EN && isset($data[$field.'_loc0']) && !empty($data[$field.'_loc0']))
|
||||
return '['.$data[$field.'_loc0'].']';
|
||||
|
||||
// dbc-case
|
||||
else if (User::$localeId != LOCALE_EN && isset($data[$field.$sqlLocales[0]]) && !empty($data[$field.$sqlLocales[0]]))
|
||||
return '['.$data[$field.$sqlLocales[0]].']';
|
||||
|
||||
// locale not enUS; TC localization; add brackets
|
||||
else if (User::$localeId != LOCALE_EN && isset($data[$field]) && !empty($data[$field]))
|
||||
return '['.$data[$field].']';
|
||||
|
|
@ -1367,11 +1387,12 @@ class Util
|
|||
break;
|
||||
case 3:
|
||||
case 7:
|
||||
$spl = new SpellList(array(['id', (int)$enchant['object'.$h]]));
|
||||
$gain = $spl->getStatGain();
|
||||
$spl = new SpellList(array(['id', (int)$enchant['object'.$h]]));
|
||||
$gains = $spl->getStatGain();
|
||||
|
||||
foreach ($gain as $k => $v) // array_merge screws up somehow...
|
||||
@$jsonStats[$k] += $v;
|
||||
foreach ($gains as $gain)
|
||||
foreach ($gain as $k => $v) // array_merge screws up somehow...
|
||||
@$jsonStats[$k] += $v;
|
||||
break;
|
||||
case 4:
|
||||
switch ($enchant['object'.$h])
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ $lang = array(
|
|||
'profiles' => "Deine Charaktere",
|
||||
'links' => "Links",
|
||||
'pageNotFound' => "Diese|Dieser|Dieses %s existiert nicht.", // todo: dämliche Fälle...
|
||||
'both' => "Beide",
|
||||
'gender' => "Geschlecht",
|
||||
'sex' => [null, 'Mann', 'Frau'],
|
||||
'quickFacts' => "Kurzübersicht",
|
||||
|
|
@ -50,61 +49,20 @@ $lang = array(
|
|||
// pwd_err = Gib bitte dein Passwort ein
|
||||
// signin_msg = Gib bitte deinen Accountnamen ein
|
||||
// c_pwd = Passwort wiederholen
|
||||
// create_filter = Filter erstellen
|
||||
// loading = Lädt ...
|
||||
// soldby = Verkauft von
|
||||
// droppedby = Gedroppt von
|
||||
// containedinobject = Enthalten in
|
||||
// containedinitem = Enthalten in Item
|
||||
// contain = Enthält
|
||||
// objectiveof = Ziel von
|
||||
// rewardof = Belohnung von
|
||||
// facts = Übersicht
|
||||
// pickpocketingloot = Gestohlen von
|
||||
// prospectedfrom = Sondiert aus
|
||||
// canbeplacedin = Kann abgelegt werden in
|
||||
// minedfromobject = Abgebaut aus
|
||||
// gatheredfromobject = Gesammelt von
|
||||
// items = Gegenstände
|
||||
// objects = Objekte
|
||||
// quests = Quests
|
||||
// npcs = NPCs
|
||||
// drop = Drop
|
||||
// starts = Startet
|
||||
// ends = Beendet
|
||||
// skinning = Kürschnerei
|
||||
// pickpocketing = Taschendiebstahl
|
||||
// sells = Verkauft
|
||||
// reputationwith = Ruf mit der Fraktion
|
||||
// experience = Erfahrung
|
||||
// uponcompletionofthisquestyouwillgain = Bei Abschluss dieser Quest erhaltet Ihr
|
||||
// reagentfor = Reagenz für
|
||||
// skinnedfrom = Gekürschnert von
|
||||
// disenchanting = Entzaubern
|
||||
// This_Object_cant_be_found = Der Standort dieses Objekts ist nicht bekannt.
|
||||
// itemsets = Sets
|
||||
// Spells = Zauber
|
||||
// Items = Gegenstände
|
||||
// Quests = Quests
|
||||
// Factions = Fraktionen
|
||||
// Item_Sets = Sets
|
||||
// Compare = Gegenstandsvergleichswerkzeug
|
||||
// NPCs = NPCs
|
||||
// Objects = Objekte
|
||||
// My_account = Mein Account
|
||||
// Comments = Kommentare
|
||||
// Latest_Comments = Neuste Kommentare
|
||||
// day = Tag.
|
||||
// hr = Std.
|
||||
// min = Min.
|
||||
// sec = Sek.
|
||||
// Respawn = Respawn
|
||||
// Class = Klasse
|
||||
// class = Klasse
|
||||
// race = Volk
|
||||
// Race = Volk
|
||||
// Races = Völker
|
||||
|
||||
// filter
|
||||
'extSearch' => "Erweiterte Suche",
|
||||
'addFilter' => "Weiteren Filter hinzufügen",
|
||||
'match' => "Verwendete Filter",
|
||||
'allFilter' => "Alle Filters",
|
||||
'oneFilter' => "Mindestens einer",
|
||||
'applyFilter' => "Filter anwenden",
|
||||
'resetForm' => "Formular zurücksetzen",
|
||||
'refineSearch' => "Tipp: Präzisiere deine Suche mit Durchsuchen einer <a href=\"javascript:;\" id=\"fi_subcat\">Unterkategorie</a>.",
|
||||
|
||||
// infobox
|
||||
'disabled' => "Deaktiviert",
|
||||
'disabledHint' => "Kann nicht erhalten oder abgeschlossen werden.",
|
||||
'serverside' => "Serverseitig",
|
||||
|
|
@ -117,10 +75,10 @@ $lang = array(
|
|||
'tryAgain' => "Bitte versucht es mit anderen Suchbegriffen oder überprüft deren Schreibweise.",
|
||||
),
|
||||
'game' => array(
|
||||
'alliance' => "Allianz",
|
||||
'horde' => "Horde",
|
||||
'class' => "Klasse",
|
||||
'classes' => "Klassen",
|
||||
'currency' => "Währung",
|
||||
'currencies' => "Währungen",
|
||||
'races' => "Völker",
|
||||
'title' => "Titel",
|
||||
'titles' => "Titel",
|
||||
|
|
@ -128,15 +86,18 @@ $lang = array(
|
|||
'event' => "Weltereigniss",
|
||||
'events' => "Weltereignisse",
|
||||
'cooldown' => "%s Abklingzeit",
|
||||
'itemset' => "Ausrüstungsset",
|
||||
'itemsets' => "Ausrüstungssets",
|
||||
'requires' => "Benötigt",
|
||||
'reqLevel' => "Benötigt Stufe %s",
|
||||
'reqLevelHlm' => "Benötigt Stufe %s",
|
||||
'valueDelim' => " - ", // " bis "
|
||||
'si' => array(-2 => "Nur für Horde", -1 => "Nur für Allianz", null, "Allianz", "Horde", "Beide"),
|
||||
'resistances' => array(null, 'Heiligwiderstand', 'Feuerwiderstand', 'Naturwiderstand', 'Frostwiderstand', 'Schattenwiderstand', 'Arkanwiderstand'),
|
||||
'sc' => array("Körperlich", "Heilig", "Feuer", "Natur", "Frost", "Schatten", "Arkan"),
|
||||
'di' => array(null, "Magie", "Fluch", "Krankheit", "Gift", "Verstohlenheit", "Unsichtbarkeit", null, null, "Wut"),
|
||||
'cl' => array("UNK_CL0", "Krieger", "Paladin", "Jäger", "Schurke", "Priester", "Todesritter", "Schamane", "Magier", "Hexenmeister", 'UNK_CL10', "Druide"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Allianz", "Beide", "Mensch", "Orc", "Zwerg", "Nachtelf", "Untoter", "Taure", "Gnom", "Troll", 'UNK_RA9', "Blutelf", "Draenei"),
|
||||
'cl' => array(null, "Krieger", "Paladin", "Jäger", "Schurke", "Priester", "Todesritter", "Schamane", "Magier", "Hexenmeister", null, "Druide"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Allianz", "Beide", "Mensch", "Orc", "Zwerg", "Nachtelf", "Untoter", "Taure", "Gnom", "Troll", null, "Blutelf", "Draenei"),
|
||||
'rep' => array("Hasserfüllt", "Feindselig", "Unfreundlich", "Neutral", "Freundlich", "Wohlwollend", "Respektvoll", "Ehrfürchtig"),
|
||||
'st' => array(
|
||||
null, "Katzengestalt", "Baum des Lebens", "Reisegestalt", "Wassergestalt",
|
||||
|
|
@ -155,18 +116,6 @@ $lang = array(
|
|||
"Marschall / Kriegsherr", "Feldmarschall / Kriegsfürst", "Großmarschall / Oberster Kriegsfürst"
|
||||
),
|
||||
),
|
||||
'filter' => array(
|
||||
'extSearch' => "Erweiterte Suche",
|
||||
'onlyAlliance' => "Nur für Allianz",
|
||||
'onlyHorde' => "Nur für Horde",
|
||||
'addFilter' => "Weiteren Filter hinzufügen",
|
||||
'match' => "Verwendete Filter",
|
||||
'allFilter' => "Alle Filters",
|
||||
'oneFilter' => "Mindestens einer",
|
||||
'applyFilter' => "Filter anwenden",
|
||||
'resetForm' => "Formular zurücksetzen",
|
||||
'refineSearch' => "Tipp: Präzisiere deine Suche mit Durchsuchen einer <a href=\"javascript:;\" id=\"fi_subcat\">Unterkategorie</a>.",
|
||||
),
|
||||
'error' => array(
|
||||
'errNotFound' => "Seite nicht gefunden",
|
||||
'errPage' => "Was? Wie hast du... vergesst es!\n<br>\n<br>\nAnscheinend konnte die von Euch angeforderte Seite nicht gefunden werden. Wenigstens nicht in dieser Dimension.\n<br>\n<br>\nVielleicht lassen einige Justierungen an der\n<span class=\"q4\">\n<ins>[WH-799 Großkonfabulierungsmaschine]</ins>\n</span>\ndie Seite plötzlich wieder auftauchen!\n<div class=\"pad\"></div>\n<div class=\"pad\"></div>\nOder, Ihr könnt es auch \n<a href=\"/?aboutus#contact\">uns melden</a>\n- die Stabilität des WH-799 ist umstritten, und wir möchten gern noch so ein Problem vermeiden...",
|
||||
|
|
@ -264,6 +213,27 @@ $lang = array(
|
|||
'Allgemein', 'Spieler gegen Spieler', 'Ruf', 'Dungeon & Schlachtzug', 'Quests', 'Berufe', 'Weltereignisse'
|
||||
)
|
||||
),
|
||||
'currency' => array(
|
||||
'cat' => array(
|
||||
1 => "Verschiedenes", 2 => "Spieler gegen Spieler", 4 => "Classic", 21 => "Wrath of the Lich King", 22 => "Dungeon und Schlachtzug", 23 => "Burning Crusade", 41 => "Test", 3 => "Unbenutzt"
|
||||
)
|
||||
),
|
||||
'itemset' => array(
|
||||
'notes' => array(
|
||||
null, "Dungeon-Set 1", "Dungeon-Set 2", "Tier 1 Raid-Set",
|
||||
"Tier 2 Raid-Set", "Tier 3 Raid-Set", "Level 60 PvP-Set (Rar)", "Level 60 PvP-Set (Rar, alt)",
|
||||
"Level 60 PvP-Set (Episch)", "Set der Ruinen von Ahn'Qiraj", "Set des Tempels von Ahn'Qiraj", "Set von Zul'Gurub",
|
||||
"Tier 4 Raid-Set", "Tier 5 Raid-Set", "Dungeon-Set 3", "Set des Arathibeckens",
|
||||
"Level 70 PvP-Set (Rar)", "Arena-Set Saison 1", "Tier 6 Raid-Set", "Arena-Set Saison 2",
|
||||
"Arena-Set Saison 3", "Level 70 PvP-Set 2 (Rar)", "Arena-Set Saison 4", "Tier 7 Raid-Set",
|
||||
"Arena-Set Saison 5", "Tier 8 Raid-Set", "Arena-Set Saison 6", "Tier 9 Raid-Set",
|
||||
"Arena-Set Saison 7", "Tier 10 Raid-Set", "Arena-Set Saison 8"
|
||||
),
|
||||
'types' => array(
|
||||
null, "Stoff", "Leder", "Schwere R\u00fcstung", "Platte", "Dolch", "Ring",
|
||||
"Faustwaffe", "Einhandaxt", "Einhandstreitkolben", "Einhandschwert", "Schmuck", "Amulett"
|
||||
)
|
||||
),
|
||||
'spell' => array(
|
||||
'remaining' => "Noch %s",
|
||||
'untilCanceled' => "bis Abbruch",
|
||||
|
|
@ -317,6 +287,10 @@ $lang = array(
|
|||
'socket' => array (
|
||||
"Metasockel", "Roter Sockel", "Gelber Sockel", "Blauer Sockel", -1 => "Prismatischer Sockel"
|
||||
),
|
||||
'quality' => array (
|
||||
"Schlecht", "Verbreitet", "Selten", "Rar",
|
||||
"Episch", "Legendär", "Artefakt", "Erbstücke",
|
||||
),
|
||||
'trigger' => array (
|
||||
"Benutzen: ", "Anlegen: ", "Chance bei Treffer: ", null, null,
|
||||
null, null
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ $lang = array(
|
|||
'profiles' => "Your Characters",
|
||||
'links' => "Links",
|
||||
'pageNotFound' => "This %s doesn't exist.",
|
||||
'both' => "Both",
|
||||
'gender' => "Gender",
|
||||
'sex' => [null, 'Male', 'Female'],
|
||||
'quickFacts' => "Quick Facts",
|
||||
|
|
@ -49,63 +48,20 @@ $lang = array(
|
|||
// pwd_err = Enter your password
|
||||
// signin_msg = Enter your game account
|
||||
// c_pwd = Repeat password
|
||||
// create_filter = Create a filter
|
||||
// loading = Loading ...
|
||||
// soldby = Sold by
|
||||
// droppedby = Dropped by
|
||||
// containedinobject = Contained in
|
||||
// containedinitem = Contained in item
|
||||
// contain = Contains
|
||||
// objectiveof = Objective of
|
||||
// rewardof = Reward of
|
||||
// facts = Facts
|
||||
// pickpocketingloot = Pickpocketing
|
||||
// prospectedfrom = Prospect from
|
||||
// canbeplacedin = Can be placed in
|
||||
// minedfromobject = Mined from
|
||||
// gatheredfromobject = Gathered from
|
||||
// items = Items
|
||||
// objects = Objects
|
||||
// quests = Quests
|
||||
// npcs = NPCs
|
||||
// drop = Drop
|
||||
// starts = Starts
|
||||
// ends = Ends
|
||||
// skinning = Skinning
|
||||
// pickpocketing = Pickpocketing
|
||||
// sells = Sells
|
||||
// reputationwith = Reputation with
|
||||
// experience = experience
|
||||
// uponcompletionofthisquestyouwillgain = Upon completion of quests, get
|
||||
// reagentfor = Reagent for
|
||||
// skinnedfrom = Skinned from
|
||||
// disenchanting = Disenchanting
|
||||
// This_Object_cant_be_found = Object map not available, Object may be spawned via a script
|
||||
// itemsets = Item Sets
|
||||
// Spells = Spells
|
||||
// Items = Items
|
||||
// Quests = Quests
|
||||
// Factions = Factions
|
||||
// Item_Sets = Item sets
|
||||
// NPCs = NPCs
|
||||
// Objects = Objects
|
||||
// Compare = Item Comparison Tool
|
||||
// My_account = My account
|
||||
// Comments = Comments
|
||||
// Latest_Comments = Latest comments
|
||||
// day = days
|
||||
// hr = hr
|
||||
// min = min
|
||||
// sec = sec
|
||||
// Respawn = Respawn
|
||||
// Class = Class
|
||||
// class = class
|
||||
// race = race
|
||||
// Race = Race
|
||||
// Races = Races
|
||||
// name = name
|
||||
// Name = Name
|
||||
// slain = slain
|
||||
|
||||
// filter
|
||||
'extSearch' => "Extended search",
|
||||
'addFilter' => "Add another Filter",
|
||||
'match' => "Match",
|
||||
'allFilter' => "All filters",
|
||||
'oneFilter' => "At least one",
|
||||
'applyFilter' => "Apply filter",
|
||||
'resetForm' => "Reset Form",
|
||||
'refineSearch' => "Tip: Refine your search by browsing a <a href=\"javascript:;\" id=\"fi_subcat\">subcategory</a>.",
|
||||
|
||||
// infobox
|
||||
'name' => "Name",
|
||||
'disabled' => "Disabled",
|
||||
'disabledHint' => "Cannot be attained or completed",
|
||||
|
|
@ -119,10 +75,10 @@ $lang = array(
|
|||
'tryAgain' => "Please try some different keywords or check your spelling.",
|
||||
),
|
||||
'game' => array(
|
||||
'alliance' => "Alliance",
|
||||
'horde' => "Horde",
|
||||
'class' => "class",
|
||||
'classes' => "Classes",
|
||||
'currency' => "currency",
|
||||
'currencies' => "Currencies",
|
||||
'races' => "Races",
|
||||
'title' => "title",
|
||||
'titles' => "Titles",
|
||||
|
|
@ -130,15 +86,18 @@ $lang = array(
|
|||
'event' => "World Event",
|
||||
'events' => "World Events",
|
||||
'cooldown' => "%s cooldown",
|
||||
'itemset' => "item Set",
|
||||
'itemsets' => "Item Sets",
|
||||
'requires' => "Requires",
|
||||
'reqLevel' => "Requires Level %s",
|
||||
'reqLevelHlm' => "Requires Level %s",
|
||||
'valueDelim' => " to ",
|
||||
'si' => array(-2 => "Horde only", -1 => "Alliance only", null, "Alliance", "Horde", "Both"),
|
||||
'resistances' => array(null, 'Holy Resistance', 'Fire Resistance', 'Nature Resistance', 'Frost Resistance', 'Shadow Resistance', 'Arcane Resistance'),
|
||||
'di' => array(null, "Magic", "Curse", "Disease", "Poison", "Stealth", "Invisibility", null, null, "Enrage"),
|
||||
'sc' => array("Physical", "Holy", "Fire", "Nature", "Frost", "Shadow", "Arcane"),
|
||||
'cl' => array("UNK_CL0", "Warrior", "Paladin", "Hunter", "Rogue", "Priest", "Death Knight", "Shaman", "Mage", "Warlock", 'UNK_CL10', "Druid"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Alliance", "Both", "Human", "Orc", "Dwarf", "Night Elf", "Undead", "Tauren", "Gnome", "Troll", 'UNK_RA9', "Blood Elf", "Draenei"),
|
||||
'cl' => array(null, "Warrior", "Paladin", "Hunter", "Rogue", "Priest", "Death Knight", "Shaman", "Mage", "Warlock", null, "Druid"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Alliance", "Both", "Human", "Orc", "Dwarf", "Night Elf", "Undead", "Tauren", "Gnome", "Troll", null, "Blood Elf", "Draenei"),
|
||||
'rep' => array("Hated", "Hostile", "Unfriendly", "Neutral", "Friendly", "Honored", "Revered", "Exalted"),
|
||||
'st' => array(
|
||||
null, "Cat Form", "Tree of Life", "Travel Form", "Aquatic Form",
|
||||
|
|
@ -157,18 +116,6 @@ $lang = array(
|
|||
"Marshal / General", "Field Marshal / Warlord", "Grand Marshal / High Warlord"
|
||||
),
|
||||
),
|
||||
'filter' => array(
|
||||
'extSearch' => "Extended search",
|
||||
'onlyAlliance' => "Alliance only",
|
||||
'onlyHorde' => "Horde only",
|
||||
'addFilter' => "Add another Filter",
|
||||
'match' => "Match",
|
||||
'allFilter' => "All filters",
|
||||
'oneFilter' => "At least one",
|
||||
'applyFilter' => "Apply filter",
|
||||
'resetForm' => "Reset Form",
|
||||
'refineSearch' => "Tip: Refine your search by browsing a <a href=\"javascript:;\" id=\"fi_subcat\">subcategory</a>.",
|
||||
),
|
||||
'error' => array(
|
||||
'errNotFound' => "Page not found",
|
||||
'errPage' => "What? How did you... nevermind that!\n<br>\n<br>\nIt appears that the page you have requested cannot be found. At least, not in this dimension.\n<br>\n<br>\nPerhaps a few tweaks to the <span class=\"q4\">[WH-799 Major Confabulation Engine]</span> may result in the page suddenly making an appearance!\n<div class=\"pad\"></div>\n<div class=\"pad\"></div>\nOr, you can try \n<a href=\"http://www.wowhead.com/?aboutus#contact\">contacting us</a>\n- the stability of the WH-799 is debatable, and we wouldn't want another accident...",
|
||||
|
|
@ -266,6 +213,27 @@ $lang = array(
|
|||
'General', 'Player vs. Player', 'Reputation', 'Dungeons & Raids', 'Quests', 'Professions', 'World Events'
|
||||
)
|
||||
),
|
||||
'currency' => array(
|
||||
'cat' => array(
|
||||
1 => "Miscellaneous", 2 => "Player vs. Player", 4 => "Classic", 21 => "Wrath of the Lich King", 22 => "Dungeon and Raid", 23 => "Burning Crusade", 41 => "Test", 3 => "Unused"
|
||||
)
|
||||
),
|
||||
'itemset' => array(
|
||||
'notes' => array(
|
||||
null, "Dungeon Set 1", "Dungeon Set 2", "Tier 1 Raid Set",
|
||||
"Tier 2 Raid Set", "Tier 3 Raid Set", "Level 60 PvP Rare Set", "Level 60 PvP Rare Set (Old)",
|
||||
"Level 60 PvP Epic Set", "Ruins of Ahn'Qiraj Set", "Temple of Ahn'Qiraj Set", "Zul'Gurub Set",
|
||||
"Tier 4 Raid Set", "Tier 5 Raid Set", "Dungeon Set 3", "Arathi Basin Set",
|
||||
"Level 70 PvP Rare Set", "Arena Season 1 Set", "Tier 6 Raid Set", "Arena Season 2 Set",
|
||||
"Arena Season 3 Set", "Level 70 PvP Rare Set 2", "Arena Season 4 Set", "Tier 7 Raid Set",
|
||||
"Arena Season 5 Set", "Tier 8 Raid Set", "Arena Season 6 Set", "Tier 9 Raid Set",
|
||||
"Arena Season 7 Set", "Tier 10 Raid Set", "Arena Season 8 Set"
|
||||
),
|
||||
'types' => array(
|
||||
null, "Cloth", "Leather", "Mail", "Plate", "Dagger", "Ring",
|
||||
"Fist Weapon", "One-Handed Axe", "One-Handed Mace", "One-Handed Sword", "Trinket", "Amulet"
|
||||
)
|
||||
),
|
||||
'spell' => array(
|
||||
'remaining' => "%s remaining",
|
||||
'untilCanceled' => "until canceled",
|
||||
|
|
@ -319,6 +287,10 @@ $lang = array(
|
|||
'socket' => array(
|
||||
"Meta Socket", "Red Socket", "Yellow Socket", "Blue Socket", -1 => "Prismatic Socket"
|
||||
),
|
||||
'quality' => array (
|
||||
"Poor", "Common", "Uncommon", "Rare",
|
||||
"Epic", "Legendary", "Artifact", "Heirloom"
|
||||
),
|
||||
'trigger' => array (
|
||||
"Use: ", "Equip: ", "Chance on hit: ", null, null,
|
||||
null, null
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ $lang = array(
|
|||
'profiles' => "Tus personajes", // translate.google :x
|
||||
'links' => "Enlaces",
|
||||
'pageNotFound' => "Este %s no existe.",
|
||||
'both' => "Ambos",
|
||||
'gender' => "Género",
|
||||
'sex' => [null, 'Hombre', 'Mujer'],
|
||||
'quickFacts' => "Notas rápidas",
|
||||
|
|
@ -46,6 +45,17 @@ $lang = array(
|
|||
'millisecsAbbr' => "[ms]",
|
||||
'name' => "Nombre",
|
||||
|
||||
// filter
|
||||
'extSearch' => "Extender búsqueda",
|
||||
'addFilter' => "Añadir otro filtro",
|
||||
'match' => "Aplicar",
|
||||
'allFilter' => "Todos los filtros",
|
||||
'oneFilter' => "Por lo menos uno",
|
||||
'applyFilter' => "Aplicar filtro",
|
||||
'resetForm' => "Reiniciar formulario",
|
||||
'refineSearch' => "Sugerencia: Refina tu búsqueda llendo a una <a href=\"javascript:;\" id=\"fi_subcat\">subcategoría</a>.",
|
||||
|
||||
// infobox
|
||||
'disabled' => "[Disabled]",
|
||||
'disabledHint' => "[Cannot be attained or completed]",
|
||||
'serverside' => "[Serverside]",
|
||||
|
|
@ -58,10 +68,10 @@ $lang = array(
|
|||
'tryAgain' => "Por favor, introduzca otras palabras claves o verifique el término ingresado.",
|
||||
),
|
||||
'game' => array(
|
||||
'alliance' => "Alianza",
|
||||
'horde' => "Horda",
|
||||
'class' => "clase",
|
||||
'classes' => "Clases",
|
||||
'currency' => "monedas",
|
||||
'currencies' => "Monedas",
|
||||
'races' => "Razas",
|
||||
'title' => "título",
|
||||
'titles' => "Títulos",
|
||||
|
|
@ -69,15 +79,18 @@ $lang = array(
|
|||
'event' => "Suceso mundial ",
|
||||
'events' => "Eventos del mundo",
|
||||
'cooldown' => "%s de reutilización",
|
||||
'itemset' => "conjunto de objetos",
|
||||
'itemsets' => "Conjuntos de objetos",
|
||||
'requires' => "Requiere",
|
||||
'reqLevel' => "Necesitas ser de nivel %s",
|
||||
'reqLevelHlm' => "Necesitas ser de nivel %s",
|
||||
'valueDelim' => " - ",
|
||||
'si' => array(-2 => "Horda solamente", -1 => "Alianza solamente", null, "Alianza", "Horda", "Ambos"),
|
||||
'resistances' => array(null, 'Resistencia a lo Sagrado', 'v', 'Resistencia a la Naturaleza', 'Resistencia a la Escarcha', 'Resistencia a las Sombras', 'Resistencia a lo Arcano'),
|
||||
'sc' => array("Física", "Sagrado", "Fuego", "Naturaleza", "Escarcha", "Sombras", "Arcano"),
|
||||
'di' => array(null, "Magia", "Maldición", "Enfermedad", "Veneno", "Sigilo", "Invisibilidad", null, null, "Enfurecer"),
|
||||
'cl' => array("UNK_CL0", "Guerrero", "Paladín", "Cazador", "Pícaro", "Sacerdote", "Caballero de la Muerte", "Chamán", "Mago", "Brujo", 'UNK_CL10', "Druida"),
|
||||
'ra' => array(-2 => "Horda", -1 => "Alianza", "Ambos", "Humano", "Orco", "Enano", "Elfo de la noche", "No-muerto", "Tauren", "Gnomo", "Trol ", 'UNK_RA9', "Blood Elf", "Elfo de sangre"),
|
||||
'cl' => array(null, "Guerrero", "Paladín", "Cazador", "Pícaro", "Sacerdote", "Caballero de la Muerte", "Chamán", "Mago", "Brujo", null, "Druida"),
|
||||
'ra' => array(-2 => "Horda", -1 => "Alianza", "Ambos", "Humano", "Orco", "Enano", "Elfo de la noche", "No-muerto", "Tauren", "Gnomo", "Trol ", null, "Blood Elf", "Elfo de sangre"),
|
||||
'rep' => array("Odiado", "Hostil", "Adverso", "Neutral", "Amistoso", "Honorable", "Reverenciado", "Exaltado"),
|
||||
'st' => array(
|
||||
null, "Forma felina", "Árbol de vida", "Forma de viaje", "Forma acuática",
|
||||
|
|
@ -96,18 +109,6 @@ $lang = array(
|
|||
"Marshal / General", "Field Marshal / Warlord", "Grand Marshal / High Warlord"
|
||||
),
|
||||
),
|
||||
'filter' => array(
|
||||
'extSearch' => "Extender búsqueda",
|
||||
'onlyAlliance' => "Alianza solamente",
|
||||
'onlyHorde' => "Horda solamente",
|
||||
'addFilter' => "Añadir otro filtro",
|
||||
'match' => "Aplicar",
|
||||
'allFilter' => "Todos los filtros",
|
||||
'oneFilter' => "Por lo menos uno",
|
||||
'applyFilter' => "Aplicar filtro",
|
||||
'resetForm' => "Reiniciar formulario",
|
||||
'refineSearch' => "Sugerencia: Refina tu búsqueda llendo a una <a href=\"javascript:;\" id=\"fi_subcat\">subcategoría</a>.",
|
||||
),
|
||||
'error' => array(
|
||||
'errNotFound' => "Page not found",
|
||||
'errPage' => "What? How did you... nevermind that!\n<br>\n<br>\nIt appears that the page you have requested cannot be found. At least, not in this dimension.\n<br>\n<br>\nPerhaps a few tweaks to the <span class=\"q4\">[WH-799 Major Confabulation Engine]</span> may result in the page suddenly making an appearance!\n<div class=\"pad\"></div>\n<div class=\"pad\"></div>\nOr, you can try \n<a href=\"http://www.wowhead.com/?aboutus#contact\">contacting us</a>\n- the stability of the WH-799 is debatable, and we wouldn't want another accident...",
|
||||
|
|
@ -165,6 +166,27 @@ $lang = array(
|
|||
'General', 'Jugador contra Jugador', 'Reputación', 'Mazmorras y bandas', 'Misiones', 'Profesiones', 'Eventos del mundo'
|
||||
)
|
||||
),
|
||||
'currency' => array(
|
||||
'cat' => array(
|
||||
1 => "Miscelánea", 2 => "Jugador contra Jugador", 4 => "Clásico", 21 => "Wrath of the Lich King", 22 => "Mazmorra y banda", 23 => "Burning Crusade", 41 => "Prueba", 3 => "No las uso"
|
||||
)
|
||||
),
|
||||
'itemset' => array(
|
||||
'notes' => array(
|
||||
null, "Set de mazmorra 1", "Set de mazmorra 2", "Set de banda tier 1",
|
||||
"Set de banda tier 2", "Set de banda tier 3", "Set JcJ nivel 60 superior", "Set JcJ nivel 60 superior (obsoleto)",
|
||||
"Set JcJ nivel 60 épico", "Set de las Ruinas de Ahn'Qiraj", "Set del Templo de Ahn'Qiraj", "Set de Zul'Gurub",
|
||||
"Set de banda tier 4", "Set de banda tier 5", "Set de mazmorra 3", "Set de la Cuenca de Arathi",
|
||||
"Set JcJ nivel 70 superior", "Set de la Temporada de Arenas 1", "Set de banda tier 6", "Set de la Temporada de Arenas 2",
|
||||
"Set de la Temporada de Arenas 3", "Set JcJ nivel 70 superior 2", "Set de la Temporada de Arenas 4", "Set de banda tier 7",
|
||||
"Set de la Temporada de Arenas 5", "Set de banda tier 8", "Set de la Temporada de Arenas 6", "Set de banda tier 9",
|
||||
"Set de la Temporada de Arenas 7", "Set de banda tier 10", "Set de la Temporada de Arenas 8"
|
||||
),
|
||||
'types' => array(
|
||||
null, "Tela", "Cuero", "Malla", "Placas", "Daga", "Anillo",
|
||||
"Arma de puño", "Hacha de uno mano", "Maza de uno mano", "Espada de uno mano", "Abalorio", "Amuleto"
|
||||
)
|
||||
),
|
||||
'spell' => array(
|
||||
'remaining' => "%s restantes",
|
||||
'untilCanceled' => "hasta que se cancela",
|
||||
|
|
@ -218,6 +240,10 @@ $lang = array(
|
|||
'socket' => array(
|
||||
"Ranura meta", "Ranura roja", "Ranura amarilla", "Ranura azul", -1 => "Ranura prismática "
|
||||
),
|
||||
'quality' => array (
|
||||
"Pobre", "Común", "Poco Común", "Raro",
|
||||
"Épica", "Legendaria", "Artefacto", "Reliquia"
|
||||
),
|
||||
'trigger' => array (
|
||||
"Uso: ", "Equipar: ", "Probabilidad al acertar: ", null, null,
|
||||
null, null
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ $lang = array(
|
|||
'profiles' => "Vos personnages", // translate.google :x
|
||||
'links' => "Liens",
|
||||
'pageNotFound' => "Ce %s n'existe pas.",
|
||||
'both' => "Les deux",
|
||||
'gender' => "Genre",
|
||||
'sex' => [null, 'Homme', 'Femme'],
|
||||
'quickFacts' => "En bref",
|
||||
|
|
@ -46,6 +45,17 @@ $lang = array(
|
|||
'millisecsAbbr' => "[ms]",
|
||||
'name' => "Nom",
|
||||
|
||||
// filter
|
||||
'extSearch' => "Recherche avancée",
|
||||
'addFilter' => "Ajouter un autre filtre",
|
||||
'match' => "Critère",
|
||||
'allFilter' => "Tous les filtres",
|
||||
'oneFilter' => "Au moins un",
|
||||
'applyFilter' => "Appliquer le filtre",
|
||||
'resetForm' => "Rétablir",
|
||||
'refineSearch' => "Astuce : Affinez votre recherche en utilisant une <a href=\"javascript:;\" id=\"fi_subcat\">sous-catégorie</a>.",
|
||||
|
||||
// infobox
|
||||
'disabled' => "[Disabled]",
|
||||
'disabledHint' => "[Cannot be attained or completed]",
|
||||
'serverside' => "[Serverside]",
|
||||
|
|
@ -58,10 +68,10 @@ $lang = array(
|
|||
'tryAgain' => "Veuillez essayer d'autres mots ou vérifiez l'orthographe des termes de recherche.",
|
||||
),
|
||||
'game' => array (
|
||||
'alliance' => "Alliance",
|
||||
'horde' => "Horde",
|
||||
'class' => "classe",
|
||||
'classes' => "Classes",
|
||||
'currency' => "monnaies",
|
||||
'currencies' => "Monnaies",
|
||||
'races' => "Races",
|
||||
'title' => "titre",
|
||||
'titles' => "Titres",
|
||||
|
|
@ -69,15 +79,18 @@ $lang = array(
|
|||
'event' => "Évènement mondial",
|
||||
'events' => "Évènements mondiaux",
|
||||
'cooldown' => "%s de recharge",
|
||||
'itemset' => "ensemble d'objets",
|
||||
'itemsets' => "Ensembles d'objets",
|
||||
'requires' => "Requiert",
|
||||
'reqLevel' => "Niveau %s requis",
|
||||
'reqLevelHlm' => "Requiert Niveau %s",
|
||||
'valueDelim' => " - ",
|
||||
'si' => array(-2 => "Horde seulement", -1 => "Alliance seulement", null, "Alliance", "Horde", "Les deux"),
|
||||
'resistances' => array(null, 'Résistance au Sacré', 'Résistance au Feu', 'Résistance à la Nature', 'Résistance au Givre', 'Résistance à l\'Ombre', 'Résistance aux Arcanes'),
|
||||
'di' => array(null, "Magie", "Malédiction", "Maladie", "Poison", "Camouflage", "Invisibilité", null, null, "Enrager"),
|
||||
'sc' => array("Physique", "Sacré", "Feu", "Nature", "Givre", "Ombre", "Arcane"),
|
||||
'cl' => array("UNK_CL0", "Guerrier", "Paladin", "Chasseur", "Voleur", "Prêtre", "DeathChevalier de la mort", "Chaman", "Mage", "Démoniste", 'UNK_CL10', "Druide"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Alliance", "Les deux", "Humain", "Orc", "Nain", "Elfe de la nuit", "Mort-vivant", "Tauren", "Gnome", "Troll", 'UNK_RA9', "Elfe de sang", "Draeneï"),
|
||||
'cl' => array(null, "Guerrier", "Paladin", "Chasseur", "Voleur", "Prêtre", "DeathChevalier de la mort", "Chaman", "Mage", "Démoniste", null, "Druide"),
|
||||
'ra' => array(-2 => "Horde", -1 => "Alliance", "Les deux", "Humain", "Orc", "Nain", "Elfe de la nuit", "Mort-vivant", "Tauren", "Gnome", "Troll", null, "Elfe de sang", "Draeneï"),
|
||||
'rep' => array("Détesté", "Hostile", "Inamical", "Neutre", "Amical", "Honoré", "Révéré", "Exalté"),
|
||||
'st' => array(
|
||||
null, "Forme de félin", "Arbre de vie", "Forme de voyage", "Aquatic Form",
|
||||
|
|
@ -96,18 +109,6 @@ $lang = array(
|
|||
"Marshal / General", "Field Marshal / Warlord", "Grand Marshal / High Warlord"
|
||||
),
|
||||
),
|
||||
'filter' => array(
|
||||
'extSearch' => "Recherche avancée",
|
||||
'onlyAlliance' => "Alliance seulement",
|
||||
'onlyHorde' => "Horde seulement",
|
||||
'addFilter' => "Ajouter un autre filtre",
|
||||
'match' => "Critère",
|
||||
'allFilter' => "Tous les filtres",
|
||||
'oneFilter' => "Au moins un",
|
||||
'applyFilter' => "Appliquer le filtre",
|
||||
'resetForm' => "Rétablir",
|
||||
'refineSearch' => "Astuce : Affinez votre recherche en utilisant une <a href=\"javascript:;\" id=\"fi_subcat\">sous-catégorie</a>.",
|
||||
),
|
||||
'error' => array(
|
||||
'errNotFound' => "Page not found",
|
||||
'errPage' => "What? How did you... nevermind that!\n<br>\n<br>\nIt appears that the page you have requested cannot be found. At least, not in this dimension.\n<br>\n<br>\nPerhaps a few tweaks to the <span class=\"q4\">[WH-799 Major Confabulation Engine]</span> may result in the page suddenly making an appearance!\n<div class=\"pad\"></div>\n<div class=\"pad\"></div>\nOr, you can try \n<a href=\"http://www.wowhead.com/?aboutus#contact\">contacting us</a>\n- the stability of the WH-799 is debatable, and we wouldn't want another accident...",
|
||||
|
|
@ -165,6 +166,27 @@ $lang = array(
|
|||
'Général', 'Joueur ctr. Joueur', 'Réputation', 'Donjons & raids', 'Quêtes', 'Métiers', 'Évènements mondiaux'
|
||||
)
|
||||
),
|
||||
'currency' => array(
|
||||
'cat' => array(
|
||||
1 => "Divers", 2 => "JcJ", 4 => "Classique", 21 => "Wrath of the Lich King", 22 => "Raid", 23 => "Burning Crusade", 41 => "Test", 3 => "Inutilisées"
|
||||
)
|
||||
),
|
||||
'itemset' => array(
|
||||
'notes' => array(
|
||||
null, "Ensemble de donjon 1", "Ensemble de donjon 2", "Ensemble de raid palier 1",
|
||||
"Ensemble de raid palier 2", "Ensemble de raid palier 3", "Ensemble JcJ niveau 60 supérieur", "Ensemble JcJ niveau 60 supérieur (désuet)",
|
||||
"Ensemble JcJ niveau 60 épique", "Ensemble des ruines d'Ahn'Qiraj", "Ensemble d'Ahn'Qiraj", "Ensemble de Zul'Gurub",
|
||||
"Ensemble de raid palier 4", "Ensemble de raid palier 5", "Ensemble de donjon 3", "Ensemble du bassin d'Arathi",
|
||||
"Ensemble JcJ niveau 70 supérieur", "Ensemble d'arène saison 1", "Ensemble de raid palier 6", "Ensemble d'arène saison 2",
|
||||
"Ensemble d'arène saison 3", "Ensemble JcJ niveau 70 supérieur 2", "Ensemble d'arène saison 4", "Ensemble de raid palier 7",
|
||||
"Ensemble d'arène saison 5", "Ensemble de raid palier 8", "Ensemble d'arène saison 6", "Ensemble de raid palier 9",
|
||||
"Ensemble d'arène saison 7", "Ensemble de raid palier 10", "Set d'Arena de la Saison 8"
|
||||
),
|
||||
'types' => array(
|
||||
null, "Tissu", "Cuir", "Mailles", "Plaques", "Dague", "Anneau",
|
||||
"Arme de pugilat", "Hache à une main", "Masse à une main", "Épée à une main", "Bijou", "Amulette"
|
||||
)
|
||||
),
|
||||
'spell' => array(
|
||||
'remaining' => "%s restantes",
|
||||
'untilCanceled' => "jusqu’à annulation",
|
||||
|
|
@ -218,6 +240,10 @@ $lang = array(
|
|||
'socket' => array(
|
||||
"Méta-châsse", "Châsse rouge", "Châsse jaune", "Châsse bleue", -1 => "Châsse prismatique"
|
||||
),
|
||||
'quality' => array (
|
||||
"Médiocre", "Classique", "Bonne", "Rare",
|
||||
"Épique", "Légendaire", "Artefact", "Héritage"
|
||||
),
|
||||
'trigger' => array (
|
||||
"Utilise: ", "Équipé : ", "Chances quand vous touchez : ", null, null,
|
||||
null, null
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ $lang = array(
|
|||
'profiles' => "Ваши персонажи", // translate.google :x
|
||||
'links' => "Ссылки",
|
||||
'pageNotFound' => "Такое %s не существует.",
|
||||
'both' => "Обе",
|
||||
'gender' => "Пол",
|
||||
'sex' => [null, 'Мужчина', 'Женщина'],
|
||||
'quickFacts' => "Краткая информация",
|
||||
|
|
@ -46,6 +45,17 @@ $lang = array(
|
|||
'millisecsAbbr' => "[ms]",
|
||||
'name' => "Название",
|
||||
|
||||
// filter
|
||||
'extSearch' => "Расширенный поиск",
|
||||
'addFilter' => "Добавить другой фильтр",
|
||||
'match' => "Совпадение",
|
||||
'allFilter' => "Все фильтры",
|
||||
'oneFilter' => "Любое совпадение",
|
||||
'applyFilter' => "Применить фильтр",
|
||||
'resetForm' => "Очистить форму",
|
||||
'refineSearch' => "Совет: Уточните поиск, добавив <a href=\"javascript:;\" id=\"fi_subcat\">подкатегорию</a>.",
|
||||
|
||||
// infobox
|
||||
'disabled' => "[Disabled]",
|
||||
'disabledHint' => "[Cannot be attained or completed]",
|
||||
'serverside' => "[Serverside]",
|
||||
|
|
@ -58,10 +68,10 @@ $lang = array(
|
|||
'tryAgain' => "Пожалуйста, попробуйте другие ключевые слова или проверьте правильность запроса.",
|
||||
),
|
||||
'game' => array(
|
||||
'alliance' => "Альянс",
|
||||
'horde' => "Орда",
|
||||
'class' => "класс",
|
||||
'classes' => "Классы",
|
||||
'currency' => "валюта",
|
||||
'currencies' => "Валюта",
|
||||
'races' => "Расы",
|
||||
'title' => "звание",
|
||||
'titles' => "Звания",
|
||||
|
|
@ -69,15 +79,18 @@ $lang = array(
|
|||
'event' => "Событие",
|
||||
'events' => "Игровые события",
|
||||
'cooldown' => "Восстановление: %s",
|
||||
'itemset' => "комплект",
|
||||
'itemsets' => "Комплекты",
|
||||
'requires' => "Требует:",
|
||||
'reqLevel' => "Требуется уровень: %s",
|
||||
'reqLevelHlm' => "Требуется уровень: %s",
|
||||
'valueDelim' => " - ",
|
||||
'si' => array(-2 => "Орда только", -1 => "Альянс только", null, "Альянс", "Орда", "Обе"),
|
||||
'resistances' => array(null, 'Сопротивление светлой магии', 'Сопротивление огню', 'Сопротивление силам природы', 'Сопротивление магии льда', 'Сопротивление темной магии', 'Сопротивление тайной магии'),
|
||||
'di' => array(null, "Magic", "Curse", "Disease", "Poison", "Stealth", "Invisibility", null, null, "Enrage"),
|
||||
'sc' => array("Физический урон", "Свет", "Огонь", "природа", "Лед", "Тьма", "Тайная магия"),
|
||||
'cl' => array("UNK_CL0", "Воин", "Паладин", "Охотник", "Разбойник", "Жрец", "Рыцарь смерти", "Шаман", "Маг", "Чернокнижник", 'UNK_CL10', "Друид"),
|
||||
'ra' => array(-2 => "Орда", -1 => "Альянс", "Обе", "Человек", "Орк", "Дворф", "Ночной эльф", "Нежить", "Таурен", "Гном", "Тролль", 'UNK_RA9', "Эльф крови", "Дреней"),
|
||||
'cl' => array(null, "Воин", "Паладин", "Охотник", "Разбойник", "Жрец", "Рыцарь смерти", "Шаман", "Маг", "Чернокнижник", null, "Друид"),
|
||||
'ra' => array(-2 => "Орда", -1 => "Альянс", "Обе", "Человек", "Орк", "Дворф", "Ночной эльф", "Нежить", "Таурен", "Гном", "Тролль", null, "Эльф крови", "Дреней"),
|
||||
'rep' => array("Ненависть", "Враждебность", "Неприязнь", "Равнодушие", "Дружелюбие", "Уважение", "Почтение", "Превознесение"),
|
||||
'st' => array(
|
||||
null, "Облик кошки", "TОблик Древа жизни", "Походный облик", "Водный облик",
|
||||
|
|
@ -96,18 +109,6 @@ $lang = array(
|
|||
"Marshal / General", "Field Marshal / Warlord", "Grand Marshal / High Warlord"
|
||||
),
|
||||
),
|
||||
'filter' => array(
|
||||
'extSearch' => "Расширенный поиск",
|
||||
'onlyAlliance' => "Альянс только",
|
||||
'onlyHorde' => "Орда только",
|
||||
'addFilter' => "Добавить другой фильтр",
|
||||
'match' => "Совпадение",
|
||||
'allFilter' => "Все фильтры",
|
||||
'oneFilter' => "Любое совпадение",
|
||||
'applyFilter' => "Применить фильтр",
|
||||
'resetForm' => "Очистить форму",
|
||||
'refineSearch' => "Совет: Уточните поиск, добавив <a href=\"javascript:;\" id=\"fi_subcat\">подкатегорию</a>.",
|
||||
),
|
||||
'error' => array(
|
||||
'errNotFound' => "Page not found",
|
||||
'errPage' => "What? How did you... nevermind that!\n<br>\n<br>\nIt appears that the page you have requested cannot be found. At least, not in this dimension.\n<br>\n<br>\nPerhaps a few tweaks to the <span class=\"q4\">[WH-799 Major Confabulation Engine]</span> may result in the page suddenly making an appearance!\n<div class=\"pad\"></div>\n<div class=\"pad\"></div>\nOr, you can try \n<a href=\"http://www.wowhead.com/?aboutus#contact\">contacting us</a>\n- the stability of the WH-799 is debatable, and we wouldn't want another accident...",
|
||||
|
|
@ -165,6 +166,27 @@ $lang = array(
|
|||
'Общее', 'PvP', 'Репутация', 'Подземелья и рейды', 'Задания', 'Профессии', 'Игровые события'
|
||||
)
|
||||
),
|
||||
'currency' => array(
|
||||
'cat' => array(
|
||||
1 => "Разное", 2 => "PvP", 4 => "World of Warcraft", 21 => "Wrath of the Lich King", 22 => "Подземелья и рейды", 23 => "Burning Crusade", 41 => "Test", 3 => "Неактивно"
|
||||
)
|
||||
),
|
||||
'itemset' => array(
|
||||
'notes' => array(
|
||||
null, "Комплект подземелий 1", "Комплект подземелий 2", "Рейдовый комплект Tier 1",
|
||||
"Рейдовый комплект Tier 2", "Рейдовый комплект Tier 3", "PvP Комплект для 60 уровня", "PvP Комплект для 60 уровня (старая версия)",
|
||||
"Эпический PvP Комплект для 60 уровня", "Комплект из Руин Ан'Киража", "Комплект из Храма Ан'Киража", "Комплект Зул'Гуруба",
|
||||
"Рейдовый комплект Tier 4", "Рейдовый комплект Tier 5", "Комплект подземелий 3", "Комплект Низин Арати",
|
||||
"Редкий PvP Комплект для 70 уровня", "Комплект Арены 1 сезона", "Рейдовый комплект Tier 6", "Комплект Арены 2 сезона",
|
||||
"Комплект Арены 3 сезона", "PvP Комплект для 70 уровня 2", "Комплект Арены 4 сезона", "Рейдовый комплект Tier 7",
|
||||
"Комплект Арены 5 сезона", "Рейдовый комплект Tier 8", "Комплект Арены 6 сезона", "Рейдовый комплект Tier 9",
|
||||
"Комплект Арены 7 сезона", "Рейдовый комплект Tier 10", "Комплект Арены 8 сезона"
|
||||
),
|
||||
'types' => array(
|
||||
null, "Ткань", "Кожа", "Кольчуга", "Латы", "Кинжал", "Кольцо",
|
||||
"Кистевое оружие", "Одноручный топор", "Одноручное дробящее", "Одноручный меч", "Аксессуар", "Амулет"
|
||||
)
|
||||
),
|
||||
'spell' => array(
|
||||
'remaining' => "Осталось: %s",
|
||||
'untilCanceled' => "до отмены",
|
||||
|
|
@ -218,6 +240,10 @@ $lang = array(
|
|||
'socket' => array(
|
||||
"Особое гнездо", "Красное гнездо", "Желтое гнездо", "Синее гнездо", -1 => "Бесцветное гнездо"
|
||||
),
|
||||
'quality' => array (
|
||||
"Низкий", "Обычный", "Необычный", "Редкий",
|
||||
"Эпический", "Легендарный", "Артефакт", "Фамильная черта"
|
||||
),
|
||||
'trigger' => array (
|
||||
"Использование: ", "Если на персонаже: ", "Возможный эффект при попадании: ", null,
|
||||
null, null, null
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ if ($compareString)
|
|||
$pageData['summary'] = json_encode($outSet, JSON_NUMERIC_CHECK);
|
||||
|
||||
$iList = new ItemList(array(['i.entry', $items]));
|
||||
$data = $iList->getListviewData(ITEMINFO_SUBITEMS | ITEMINFO_JSON);
|
||||
$data = $iList->getListviewData(ITEMINFO_SUBITEMS | ITEMINFO_JSON);
|
||||
foreach ($data as $id => $item)
|
||||
{
|
||||
while ($iList->id != $id)
|
||||
|
|
|
|||
|
|
@ -22,12 +22,12 @@ if (!$smarty->loadCache($cacheKeyPage, $pageData))
|
|||
$infobox = [];
|
||||
$colon = User::$localeId == LOCALE_FR ? ' : ' : ': '; // Je suis un prick! <_<
|
||||
|
||||
if ($title->getField('side') == 1)
|
||||
$infobox[] = Lang::$main['side'].$colon.'[span class=alliance-icon]'.Lang::$game['alliance'].'[/span]';
|
||||
else if ($title->getField('side') == 2)
|
||||
$infobox[] = Lang::$main['side'].$colon.'[span class=horde-icon]'.Lang::$game['horde'].'[/span]';
|
||||
if ($title->getField('side') == SIDE_ALLIANCE)
|
||||
$infobox[] = Lang::$main['side'].$colon.'[span class=alliance-icon]'.Lang::$game['si'][SIDE_ALLIANCE].'[/span]';
|
||||
else if ($title->getField('side') == SIDE_HORDE)
|
||||
$infobox[] = Lang::$main['side'].$colon.'[span class=horde-icon]'.Lang::$game['si'][SIDE_HORDE].'[/span]';
|
||||
else
|
||||
$infobox[] = Lang::$main['side'].$colon.Lang::$main['both'];
|
||||
$infobox[] = Lang::$main['side'].$colon.Lang::$game['si'][SIDE_BOTH];
|
||||
|
||||
if ($g = $title->getField('gender'))
|
||||
$infobox[] = Lang::$main['gender'].$colon.'[span class='.($g == 2 ? 'female' : 'male').'-icon]'.Lang::$main['sex'][$g].'[/span]';
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ if ($searchMask & 0x10)
|
|||
if ($data = $money->getListviewData())
|
||||
{
|
||||
while ($money->iterate())
|
||||
$data[$money->id]['param1'] = strToLower($money->getField('iconString'));
|
||||
$data[$money->id]['param1'] = '"'.strToLower($money->getField('iconString')).'"';
|
||||
|
||||
$found['currency'] = array(
|
||||
'type' => TYPE_CURRENCY,
|
||||
|
|
@ -249,7 +249,7 @@ if ($searchMask & 0x10)
|
|||
// 6 Itemsets
|
||||
if ($searchMask & 0x20)
|
||||
{
|
||||
$sets = new ItemsetList(array($maxResults, ['name_loc'.User::$localeId, $query]));
|
||||
$sets = new ItemsetList(array($maxResults, ['item1', 0, '!'], ['name_loc'.User::$localeId, $query])); // remove empty sets from search
|
||||
$sets->addGlobalsToJscript($jsGlobals);
|
||||
|
||||
if ($data = $sets->getListviewData())
|
||||
|
|
@ -274,19 +274,21 @@ if ($searchMask & 0x20)
|
|||
if ($searchMask & 0x40)
|
||||
{
|
||||
if (($searchMask & SEARCH_TYPE_JSON) && $type == TYPE_ITEMSET && isset($found['itemset']))
|
||||
$conditions = [['i.entry', array_keys($found['itemset']['pcsToSet'])]];
|
||||
$conditions = [['i.entry', array_keys($found['itemset']['pcsToSet'])], 0];
|
||||
else if (($searchMask & SEARCH_TYPE_JSON) && $type == TYPE_ITEM)
|
||||
$conditions = [['i.class', [2, 4]], [User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], $AoWoWconf['sqlLimit']];
|
||||
else
|
||||
$conditions = [[User::$localeId ? 'name_loc'.User::$localeId : 'name', $query], $maxResults];
|
||||
|
||||
$items = new ItemList($conditions, @$found['itemset']['pcsToSet']);
|
||||
|
||||
$items->addGlobalsToJscript($jsGlobals);
|
||||
|
||||
if ($data = $items->getListviewData($searchMask & SEARCH_TYPE_JSON ? (ITEMINFO_SUBITEMS | ITEMINFO_JSON) : 0))
|
||||
{
|
||||
while ($items->iterate())
|
||||
{
|
||||
$data[$items->id]['name'] = substr($data[$items->id]['name'], 1);
|
||||
$data[$items->id]['param1'] = '"'.$items->getField('icon').'"';
|
||||
$data[$items->id]['param2'] = $items->getField('Quality');
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -4461,6 +4461,24 @@ Listview.prototype = {
|
|||
ae(m, b);
|
||||
ae(m, ct(")"))
|
||||
}
|
||||
|
||||
if (this._errors) {
|
||||
var
|
||||
sp = ce('small'),
|
||||
b = ce('b');
|
||||
|
||||
b.className = 'q10 report-icon';
|
||||
if (m.innerHTML) {
|
||||
b.style.marginLeft = '10px';
|
||||
}
|
||||
|
||||
g_addTooltip(sp, LANG.lvnote_witherrors, 'q')
|
||||
|
||||
st(b, LANG.error);
|
||||
ae(sp, b);
|
||||
ae(m, sp);
|
||||
}
|
||||
|
||||
if (!m.firstChild && this.mode != Listview.MODE_CHECKBOX) {
|
||||
ae(m, ct(String.fromCharCode(160)))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1125,52 +1125,55 @@ var g_item_subsubclasses = {
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
var g_itemset_types = {
|
||||
1:"Stoff",
|
||||
2:"Leder",
|
||||
3:"Schwere R\u00fcstung",
|
||||
4:"Platte",
|
||||
5:"Dolch",
|
||||
6:"Ring",
|
||||
7:"Faustwaffe",
|
||||
8:"Einhandaxt",
|
||||
9:"Einhandstreitkolben",
|
||||
10:"Einhandschwert",
|
||||
11:"Schmuck",
|
||||
12:"Amulett"
|
||||
1: "Stoff",
|
||||
2: "Leder",
|
||||
3: "Schwere R\u00fcstung",
|
||||
4: "Platte",
|
||||
5: "Dolch",
|
||||
6: "Ring",
|
||||
7: "Faustwaffe",
|
||||
8: "Einhandaxt",
|
||||
9: "Einhandstreitkolben",
|
||||
10: "Einhandschwert",
|
||||
11: "Schmuck",
|
||||
12: "Amulett"
|
||||
};
|
||||
|
||||
var g_itemset_notes = {
|
||||
1:"Dungeon-Set 1",
|
||||
2:"Dungeon-Set 2",
|
||||
14:"Dungeon-Set 3",
|
||||
3:"Tier 1 Raid-Set",
|
||||
4:"Tier 2 Raid-Set",
|
||||
5:"Tier 3 Raid-Set",
|
||||
12:"Tier 4 Raid-Set",
|
||||
13:"Tier 5 Raid-Set",
|
||||
18:"Tier 6 Raid-Set",
|
||||
23:"Tier 7 Raid-Set",
|
||||
25:"Tier 8 Raid-Set",
|
||||
27:"Tier 9 Raid-Set",
|
||||
29:"Tier 10 Raid-Set",
|
||||
6:"Level 60 PvP-Set (Rar)",
|
||||
7:"Level 60 PvP-Set (Rar, alt)",
|
||||
8:"Level 60 PvP-Set (Episch)",
|
||||
16:"Level 70 PvP-Set (Rar)",
|
||||
21:"Level 70 PvP-Set 2 (Rar)",
|
||||
17:"Arena-Set Saison 1",
|
||||
19:"Arena-Set Saison 2",
|
||||
20:"Arena-Set Saison 3",
|
||||
22:"Arena-Set Saison 4",
|
||||
24:"Arena-Set Saison 5",
|
||||
26:"Arena-Set Saison 6",
|
||||
28:"Arena-Set Saison 7",
|
||||
30:"Arena-Set Saison 8",
|
||||
15:"Set des Arathibeckens",
|
||||
9:"Set der Ruinen von Ahn'Qiraj",
|
||||
10:"Set des Tempels von Ahn'Qiraj",
|
||||
11:"Set von Zul'Gurub"
|
||||
1: "Dungeon-Set 1",
|
||||
2: "Dungeon-Set 2",
|
||||
14: "Dungeon-Set 3",
|
||||
3: "Tier 1 Raid-Set",
|
||||
4: "Tier 2 Raid-Set",
|
||||
5: "Tier 3 Raid-Set",
|
||||
12: "Tier 4 Raid-Set",
|
||||
13: "Tier 5 Raid-Set",
|
||||
18: "Tier 6 Raid-Set",
|
||||
23: "Tier 7 Raid-Set",
|
||||
25: "Tier 8 Raid-Set",
|
||||
27: "Tier 9 Raid-Set",
|
||||
29: "Tier 10 Raid-Set",
|
||||
6: "Level 60 PvP-Set (Rar)",
|
||||
7: "Level 60 PvP-Set (Rar, alt)",
|
||||
8: "Level 60 PvP-Set (Episch)",
|
||||
16: "Level 70 PvP-Set (Rar)",
|
||||
21: "Level 70 PvP-Set 2 (Rar)",
|
||||
17: "Arena-Set Saison 1",
|
||||
19: "Arena-Set Saison 2",
|
||||
20: "Arena-Set Saison 3",
|
||||
22: "Arena-Set Saison 4",
|
||||
24: "Arena-Set Saison 5",
|
||||
26: "Arena-Set Saison 6",
|
||||
28: "Arena-Set Saison 7",
|
||||
30: "Arena-Set Saison 8",
|
||||
15: "Set des Arathibeckens",
|
||||
9: "Set der Ruinen von Ahn'Qiraj",
|
||||
10: "Set des Tempels von Ahn'Qiraj",
|
||||
11: "Set von Zul'Gurub"
|
||||
};
|
||||
|
||||
var g_npc_classifications = {
|
||||
0:"Normal",
|
||||
1:"Elite",
|
||||
|
|
@ -2096,6 +2099,7 @@ var LANG = {
|
|||
hyphen: " - ",
|
||||
colon: ": ",
|
||||
qty: " ($1)",
|
||||
error: "Fehler",
|
||||
|
||||
date: "Datum",
|
||||
date_colon: "Datum: ",
|
||||
|
|
@ -2294,6 +2298,7 @@ var LANG = {
|
|||
lvnote_tryfiltering: "Versucht es mit <a>gefilterten</a> Suchergebnissen.",
|
||||
lvnote_trynarrowing: "Versucht, Eure Suche weiter einzugrenzen",
|
||||
lvnote_upgradesfor: 'Sucht nach Verbesserungen f\u00fcr <a href="?item=$1" class="q$2"><b>$3</b></a>.',
|
||||
lvnote_witherrors: "Einige Filter in Eurer Suche waren nicht gültig und wurden ignoriert.",
|
||||
|
||||
lvnote_itemsfound: "$1 Gegenst\u00e4nde gefunden ($2 angezeigt)",
|
||||
lvnote_itemsetsfound: "$1 Sets gefunden ($2 angezeigt)",
|
||||
|
|
@ -2730,37 +2735,51 @@ var LANG = {
|
|||
myaccount_purged: "Gel\u00f6scht",
|
||||
myaccount_purgefailed: "L\u00f6schen fehlgeschlagen :(",
|
||||
myaccount_purgesuccess: "Bekanntmachungsdaten wurden erfolgreich gel\u00f6scht!",
|
||||
types: {
|
||||
1: ["NPC", "NPC", "NPCs", "NPCs"],
|
||||
2: ["Objekt", "Objekt", "Objekte", "Objekte"],
|
||||
3: ["Gegenstand", "Gegenstand", "Gegenst\u00e4nde", "Gegenst\u00e4nde"],
|
||||
4: ["Set", "Set", "Sets", "Sets"],
|
||||
5: ["Quest", "Quest", "Quests", "Quests"],
|
||||
6: ["Zauber", "Zauber", "Zauber", "Zauber"],
|
||||
7: ["Zone", "Zone", "Gebiete", "Gebiete"],
|
||||
8: ["Fraktion", "fraktion", "Fraktionen", "Fraktionen"],
|
||||
9: ["Begleiter", "Begleiter", "Begleiter", "Begleiter"],
|
||||
10: ["Erfolg", "Erfolg", "Erfolge", "Erfolge"],
|
||||
11: ["Titel", "Titel", "Titel", "Titel"],
|
||||
12: ["Weltereignis", "Weltereignis", "Weltereignisse", "Weltereignisse"],
|
||||
13: ["Klasse", "Klasse", "Klassen", "Klassen"],
|
||||
14: ["Volk", "Volk", "V\u00f6lker", "V\u00f6lker"],
|
||||
15: ["Fertigkeit", "Fertigkeit", "Fertigkeiten", "Fertigkeiten"],
|
||||
16: ["Statistik", "Statistik", "Statistiken", "Statistiken"]
|
||||
},
|
||||
timeunitssg: ["Jahr", "Monat", "Woche", "Tag", "Stunde", "Minute", "Sekunde"],
|
||||
timeunitspl: ["Jahre", "Monate", "Wochen", "Tagen", "Stunden", "Minuten", "Sekunden"],
|
||||
|
||||
types: {
|
||||
1: ["NPC", "NPC" , "NPCs", "NPCs"],
|
||||
2: ["Objekt", "Objekt", "Objekte", "Objekte"],
|
||||
3: ["Gegenstand", "Gegenstand", "Gegenstände", "Gegenstände"],
|
||||
4: ["Ausrüstungsset", "Ausrüstungsset", "Ausrüstungssets", "Ausrüstungssets"],
|
||||
5: ["Quest", "Quest", "Quests", "Quests"],
|
||||
6: ["Zauber", "Zauber", "Zauber", "Zauber"],
|
||||
7: ["Zone", "Zone", "Gebiete", "Gebiete"],
|
||||
8: ["Fraktion", "Fraktion", "Fraktionen", "Fraktionen"],
|
||||
9: ["Begleiter", "Begleiter", "Begleiter", "Begleiter"],
|
||||
10: ["Erfolg", "Erfolg", "Erfolge", "Erfolge"],
|
||||
11: ["Titel", "Titel", "Titel", "Titel"],
|
||||
12: ["Weltereignis", "Weltereignis", "Weltereignisse", "Weltereignisse"],
|
||||
13: ["Klasse", "Klasse", "Klassen", "Klassen"],
|
||||
14: ["Volk", "Volk", "Völker", "Völker"],
|
||||
15: ["Fertigkeit", "Fertigkeit", "Fertigkeiten", "Fertigkeiten"],
|
||||
16: ["Statistik", "Statistik", "Statistiken", "Statistiken"],
|
||||
17: ["Währung", "Währung", "Währungen", "Währungen"]
|
||||
},
|
||||
|
||||
timeunitssg: ["Jahr", "Monat", "Woche", "Tag", "Stunde", "Minute", "Sekunde"],
|
||||
timeunitspl: ["Jahre", "Monate", "Wochen", "Tagen", "Stunden", "Minuten", "Sekunden"],
|
||||
timeunitsab: ["J.", "M.", "W.", "Tag", "Std.", "Min", "Sek."],
|
||||
fishow: "Filter erstellen",
|
||||
fihide: "Filteroptionen ausblenden",
|
||||
fiany: "Beliebig",
|
||||
finone: "Nichts",
|
||||
firemove: "entfernen",
|
||||
ficlear: "leeren",
|
||||
fishowdetails: "Details anzeigen",
|
||||
fihidedetails: "Details ausblenden",
|
||||
message_fillsomecriteria: "Bitte gebt einige Kriterien ein.",
|
||||
tooltip_jconlygems: "Wenn aktiviert, werden auch spezielle<br />\nJuwelenschleifer-Edelsteine für die<br />\nGewichtung von Werten in Betracht gezogen.",
|
||||
|
||||
fishow: "Filter erstellen",
|
||||
fihide: "Filteroptionen ausblenden",
|
||||
|
||||
fiany: "Beliebig",
|
||||
finone: "Nichts",
|
||||
|
||||
firemove: "entfernen",
|
||||
ficlear: "leeren",
|
||||
ficustom: "Individuell",
|
||||
|
||||
fishowdetails: "Details anzeigen",
|
||||
fihidedetails: "Details ausblenden",
|
||||
fisavescale: "Speichern",
|
||||
fideletescale: "Löschen",
|
||||
|
||||
message_fillsomecriteria: "Bitte gebt einige Kriterien ein.",
|
||||
|
||||
tooltip_jconlygems: "Wenn aktiviert, werden auch spezielle<br />\nJuwelenschleifer-Edelsteine für die<br />\nGewichtung von Werten in Betracht gezogen.",
|
||||
tooltip_genericrating: "<span class=\"q2\">Anlegen: Erhöht Eure $1 um <!--rtg$2-->$3 <small>(<!--rtg%$2-->0 @ L<!--lvl-->0)</small>.</span><br />",
|
||||
|
||||
fidropdowns: {
|
||||
yn: [[1, "Ja"], [2, "Nein"]],
|
||||
num: [[1, ">"], [2, ">="], [3, "="], [4, "<="], [5, "<"]],
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1125,52 +1125,55 @@ var g_item_subsubclasses = {
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
var g_itemset_types = {
|
||||
1:"Tela",
|
||||
2:"Cuero",
|
||||
3:"Malla",
|
||||
4:"Placas",
|
||||
5:"Daga",
|
||||
6:"Anillo",
|
||||
7:"Arma de puño",
|
||||
8:"Hacha de uno mano",
|
||||
9:"Maza de uno mano",
|
||||
10:"Espada de uno mano",
|
||||
11:"Abalorio",
|
||||
12:"Amuleto"
|
||||
1: "Tela",
|
||||
2: "Cuero",
|
||||
3: "Malla",
|
||||
4: "Placas",
|
||||
5: "Daga",
|
||||
6: "Anillo",
|
||||
7: "Arma de puño",
|
||||
8: "Hacha de uno mano",
|
||||
9: "Maza de uno mano",
|
||||
10: "Espada de uno mano",
|
||||
11: "Abalorio",
|
||||
12: "Amuleto"
|
||||
};
|
||||
|
||||
var g_itemset_notes = {
|
||||
1:"Set de mazmorra 1",
|
||||
2:"Set de mazmorra 2",
|
||||
14:"Set de mazmorra 3",
|
||||
3:"Set de banda tier 1",
|
||||
4:"Set de banda tier 2",
|
||||
5:"Set de banda tier 3",
|
||||
12:"Set de banda tier 4",
|
||||
13:"Set de banda tier 5",
|
||||
18:"Set de banda tier 6",
|
||||
23:"Set de banda tier 7",
|
||||
25:"Set de banda tier 8",
|
||||
27:"Set de banda tier 9",
|
||||
29:"Set de banda tier 10",
|
||||
6:"Set JcJ nivel 60 superior",
|
||||
7:"Set JcJ nivel 60 superior (obsoleto)",
|
||||
8:"Set JcJ nivel 60 épico",
|
||||
16:"Set JcJ nivel 70 superior",
|
||||
21:"Set JcJ nivel 70 superior 2",
|
||||
17:"Set de la Temporada de Arenas 1",
|
||||
19:"Set de la Temporada de Arenas 2",
|
||||
20:"Set de la Temporada de Arenas 3",
|
||||
22:"Set de la Temporada de Arenas 4",
|
||||
24:"Set de la Temporada de Arenas 5",
|
||||
26:"Set de la Temporada de Arenas 6",
|
||||
28:"Set de la Temporada de Arenas 7",
|
||||
30:"Set de la Temporada de Arenas 8",
|
||||
15:"Set de la Cuenca de Arathi",
|
||||
9:"Set de las Ruinas de Ahn'Qiraj",
|
||||
10:"Set del Templo de Ahn'Qiraj",
|
||||
11:"Set de Zul'Gurub"
|
||||
1: "Set de mazmorra 1",
|
||||
2: "Set de mazmorra 2",
|
||||
14: "Set de mazmorra 3",
|
||||
3: "Set de banda tier 1",
|
||||
4: "Set de banda tier 2",
|
||||
5: "Set de banda tier 3",
|
||||
12: "Set de banda tier 4",
|
||||
13: "Set de banda tier 5",
|
||||
18: "Set de banda tier 6",
|
||||
23: "Set de banda tier 7",
|
||||
25: "Set de banda tier 8",
|
||||
27: "Set de banda tier 9",
|
||||
29: "Set de banda tier 10",
|
||||
6: "Set JcJ nivel 60 superior",
|
||||
7: "Set JcJ nivel 60 superior (obsoleto)",
|
||||
8: "Set JcJ nivel 60 épico",
|
||||
16: "Set JcJ nivel 70 superior",
|
||||
21: "Set JcJ nivel 70 superior 2",
|
||||
17: "Set de la Temporada de Arenas 1",
|
||||
19: "Set de la Temporada de Arenas 2",
|
||||
20: "Set de la Temporada de Arenas 3",
|
||||
22: "Set de la Temporada de Arenas 4",
|
||||
24: "Set de la Temporada de Arenas 5",
|
||||
26: "Set de la Temporada de Arenas 6",
|
||||
28: "Set de la Temporada de Arenas 7",
|
||||
30: "Set de la Temporada de Arenas 8",
|
||||
15: "Set de la Cuenca de Arathi",
|
||||
9: "Set de las Ruinas de Ahn'Qiraj",
|
||||
10: "Set del Templo de Ahn'Qiraj",
|
||||
11: "Set de Zul'Gurub"
|
||||
};
|
||||
|
||||
var g_npc_classifications = {
|
||||
0:"Normal",
|
||||
1:"Élite",
|
||||
|
|
@ -2088,13 +2091,15 @@ var g_socket_names = {
|
|||
8:"Ranura azul",
|
||||
14:"Ranura prismática"
|
||||
};
|
||||
var LANG = {and:" y ",
|
||||
comma:", ",
|
||||
ellipsis:"…",
|
||||
dash:" – ",
|
||||
hyphen:" - ",
|
||||
colon:": ",
|
||||
qty:" ($1)",
|
||||
var LANG = {
|
||||
and: " y ",
|
||||
comma: ", ",
|
||||
ellipsis: "…",
|
||||
dash: " – ",
|
||||
hyphen: " - ",
|
||||
colon: ": ",
|
||||
qty: " ($1)",
|
||||
error: "Error",
|
||||
|
||||
date: "Fecha",
|
||||
date_colon: "Fecha: ",
|
||||
|
|
@ -2294,9 +2299,10 @@ var LANG = {and:" y ",
|
|||
lvnodata_vi2:"¡Sé el primero en <a>sugerir un vídeo</a> para esta página!",
|
||||
lvnodata_vi3:"Por favor <a>inicia sesión</a> para sugerir un vídeo, o <a>crea tu cuenta</a> si aun no tienes una.",
|
||||
|
||||
lvnote_tryfiltering: "Trata de filtrar tus resultados",
|
||||
lvnote_tryfiltering: "Trata de <a>filtrar</a> tus resultados",
|
||||
lvnote_trynarrowing: "Trata de ser más específica(o) en tu búsqueda",
|
||||
lvnote_upgradesfor: 'Buscando mejoras para <a href="?item=$1" class="q$2"><b>$3</b></a>.',
|
||||
lvnote_witherrors: "Algunos filtros en tus búsquedas eran inválidos y han sido ignorados.",
|
||||
|
||||
lvnote_itemsfound: "$1 objetos encontrados (mostrando $2)",
|
||||
lvnote_itemsetsfound: "$1 conjuntos de objetos encontrados (mostrando $2)",
|
||||
|
|
@ -2802,23 +2808,27 @@ var LANG = {and:" y ",
|
|||
myaccount_purged:"Purgado",
|
||||
myaccount_purgefailed:"La purga ha fallado :(",
|
||||
myaccount_purgesuccess:"¡Se han purgado los datos de los anuncios correctamente!",
|
||||
types:{
|
||||
1:["PNJ","PNJ","PNJs","PNJs"],
|
||||
2:["Entidad","entidad","Entidades","entidades"],
|
||||
3:["Objeto","objeto","Objetos","objetos"],
|
||||
4:["Conjunto de objetos","conjunto de objetos","Conjuntos de objetos","conjuntos de objetos"],
|
||||
5:["Misión","misión","Misiones","misiones"],
|
||||
6:["Hechizo","hechizo","Hechizos","hechizos"],
|
||||
7:["Zona","zona","Zonas","zonas"],
|
||||
8:["Facción","facción","Facciones","facciones"],
|
||||
9:["Mascota","mascota","Mascotas","mascotas"],
|
||||
10:["Logro","logro","Logros","logros"],
|
||||
11:["Título","título","Títulos","títulos"],
|
||||
12:["Suceso mundial","evento del mundo","Eventos del mundo","eventos del mundo"],
|
||||
13:["Clase","Clase","Clases","Clases"],
|
||||
14:["Raza","raza","Razas","razas"],
|
||||
15:["Habilidad","habilidad","Habilidades","habilidades"]
|
||||
|
||||
types:{
|
||||
1: ["PNJ", "PNJ" , "PNJs", "PNJs"],
|
||||
2: ["Entidad", "entidad", "Entidades", "entidades"],
|
||||
3: ["Objeto", "objeto", "Objetos", "objetos"],
|
||||
4: ["Conjunto de objetos", "conjunto de objetos", "Conjuntos de objetos", "conjuntos de objetos"],
|
||||
5: ["Misión", "misión", "Misiones", "misiones"],
|
||||
6: ["Hechizo", "hechizo", "Hechizos", "hechizos"],
|
||||
7: ["Zona", "zona", "Zonas", "zonas"],
|
||||
8: ["Facción", "facción", "Facciones", "facciones"],
|
||||
9: ["Mascota", "mascota", "Mascotas", "mascotas"],
|
||||
10: ["Logro", "logro", "Logros", "logros"],
|
||||
11: ["Título", "título", "Títulos", "títulos"],
|
||||
12: ["Suceso mundial", "evento del mundo", "Eventos del mundo", "eventos del mundo"],
|
||||
13: ["Clase", "Clase", "Clases", "Clases"],
|
||||
14: ["Raza", "raza", "Razas", "razas"],
|
||||
15: ["Habilidad", "habilidad", "Habilidades", "habilidades"],
|
||||
16: ["Atributo", "atributo", "Atributos", "atributos"],
|
||||
17: ["Monedas", "monedas", "Monedas", "monedas"]
|
||||
},
|
||||
|
||||
timeunitssg:["año","mes","semana","día","hora","minuto","segundo"],
|
||||
timeunitspl:["años","meses","semanas","dias","horas","minutos","segundos"],
|
||||
timeunitsab:["año","mes","sem","","h","min","seg"],
|
||||
|
|
@ -2942,16 +2952,27 @@ var LANG = {and:" y ",
|
|||
sta:["Aguante","Agu","Agu"],
|
||||
str:["Fuerza","Fue","Fue"]
|
||||
},
|
||||
fishow:"Crear un filtro",
|
||||
fihide:"Esconder opciones de filtros",
|
||||
fiany:"Cualquiera",
|
||||
finone:"Ninguno",
|
||||
firemove:"remover",
|
||||
ficlear:"borrar",
|
||||
fishowdetails:"mostrar detalles",
|
||||
fihidedetails:"ocultar detalles",
|
||||
message_fillsomecriteria:"Por favor ingrese algún criterio.",
|
||||
tooltip_jconlygems:"Si está marcado, las gemas exclusivas de<br />\njoyero, se usarán para determinar las posibles<br/>\nmejores gemas para una puntuación de objeto.",
|
||||
|
||||
fishow: "Crear un filtro",
|
||||
fihide: "Esconder opciones de filtros",
|
||||
|
||||
fiany: "Cualquiera",
|
||||
finone: "Ninguno",
|
||||
|
||||
firemove: "remover",
|
||||
ficlear: "borrar",
|
||||
ficustom: "Personalizado",
|
||||
|
||||
fishowdetails: "Mostrar detalles",
|
||||
fihidedetails: "Ocultar detalles",
|
||||
fisavescale: "Guardar",
|
||||
fideletescale: "Borrar",
|
||||
|
||||
message_fillsomecriteria: "Por favor ingrese algún criterio.",
|
||||
|
||||
tooltip_jconlygems: "Si está marcado, las gemas exclusivas de<br />\njoyero, se usarán para determinar las posibles<br/>\nmejores gemas para una puntuación de objeto.",
|
||||
tooltip_genericrating: "<span class=\"q2\">Equipar: Aumenta tu $1 en <!--rtg$2-->$3 <small>(<!--rtg%$2-->0 @ L<!--lvl-->0)</small>.</span><br />",
|
||||
|
||||
fidropdowns:{
|
||||
yn:[[1,"Sí"],[2,"No"]],
|
||||
num:[[1,">"],[2,">="],[3,"="],[4,"<="],[5,"<"]],
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue