mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
Tooltips/TimeFMT
* use strings from globalstrings.lua to format time in item and spell tooltips * fixed item filter ItemCooldown * fixed timeAgo format * move item duration to correct position in tooltip
This commit is contained in:
@@ -942,7 +942,7 @@ abstract class Filter
|
||||
|
||||
public function getExtraCols()
|
||||
{
|
||||
return $this->formData['extraCols'];
|
||||
return array_unique($this->formData['extraCols']);
|
||||
}
|
||||
|
||||
public function getSetCriteria()
|
||||
|
||||
@@ -604,16 +604,6 @@ class ItemList extends BaseType
|
||||
$x .= '<br />'.sprintf(Lang::item($limit['isGem'] ? 'uniqueEquipped' : 'unique', 2), Util::localizedString($limit, 'name'), $limit['count']);
|
||||
}
|
||||
|
||||
// max duration
|
||||
if ($dur = $this->curTpl['duration'])
|
||||
{
|
||||
$rt = '';
|
||||
if ($this->curTpl['flagsCustom'] & 0x1)
|
||||
$rt = $interactive ? ' ('.sprintf(Util::$dfnString, 'LANG.tooltip_realduration', Lang::item('realTime')).')' : ' ('.Lang::item('realTime').')';
|
||||
|
||||
$x .= "<br />".Lang::game('duration').Lang::main('colon').Util::formatTime(abs($dur) * 1000).$rt;
|
||||
}
|
||||
|
||||
// required holiday
|
||||
if ($eId = $this->curTpl['eventId'])
|
||||
if ($hName = DB::Aowow()->selectRow('SELECT h.* FROM ?_holidays h JOIN ?_events e ON e.holidayId = h.id WHERE e.id = ?d', $eId))
|
||||
@@ -875,6 +865,16 @@ class ItemList extends BaseType
|
||||
if ($dur = $this->curTpl['durability'])
|
||||
$x .= sprintf(Lang::item('durability'), $dur, $dur).'<br />';
|
||||
|
||||
// max duration
|
||||
if ($dur = $this->curTpl['duration'])
|
||||
{
|
||||
$rt = '';
|
||||
if ($this->curTpl['flagsCustom'] & 0x1)
|
||||
$rt = $interactive ? ' ('.sprintf(Util::$dfnString, 'LANG.tooltip_realduration', Lang::item('realTime')).')' : ' ('.Lang::item('realTime').')';
|
||||
|
||||
$x .= Lang::formatTime(abs($dur) * 1000, 'item', 'duration').$rt."<br />";
|
||||
}
|
||||
|
||||
$jsg = [];
|
||||
// required classes
|
||||
if ($classes = Lang::getClassString($this->curTpl['requiredClass'], $jsg))
|
||||
@@ -959,12 +959,18 @@ class ItemList extends BaseType
|
||||
|
||||
$extra = [];
|
||||
if ($cd >= 5000)
|
||||
$extra[] = Lang::game('cooldown', [Util::formatTime($cd, true)]);
|
||||
{
|
||||
$pt = Util::parseTime($cd);
|
||||
if (count(array_filter($pt)) == 1) // simple time: use simple method
|
||||
$extra[] = Lang::formatTime($cd, 'item', 'cooldown');
|
||||
else // build block with generic time
|
||||
$extra[] = Lang::item('cooldown', 0, [Lang::formatTime($cd, 'game', 'timeAbbrev', true)]);
|
||||
}
|
||||
if ($this->curTpl['spellTrigger'.$j] == 2)
|
||||
if ($ppm = $this->curTpl['spellppmRate'.$j])
|
||||
$extra[] = Lang::spell('ppm', [$ppm]);
|
||||
|
||||
$itemSpellsAndTrigger[$this->curTpl['spellId'.$j]] = [$this->curTpl['spellTrigger'.$j], $extra ? ' ('.implode(', ', $extra).')' : ''];
|
||||
$itemSpellsAndTrigger[$this->curTpl['spellId'.$j]] = [$this->curTpl['spellTrigger'.$j], $extra ? ' '.implode(', ', $extra) : ''];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2437,7 +2443,7 @@ class ItemListFilter extends Filter
|
||||
$cr[2] *= 1000; // field supplied in milliseconds
|
||||
|
||||
$this->formData['extraCols'][] = $cr[0];
|
||||
$this->extraOpts['is']['s'][] = ', IF(spellCooldown1 > 1, spellCooldown1, IF(spellCooldown2 > 1, spellCooldown2, IF(spellCooldown3 > 1, spellCooldown3, IF(spellCooldown4 > 1, spellCooldown4, IF(spellCooldown5 > 1, spellCooldown5,))))) AS cooldown';
|
||||
$this->extraOpts['is']['s'][] = ', GREATEST(spellCooldown1, spellCooldown2, spellCooldown3, spellCooldown4, spellCooldown5) AS cooldown';
|
||||
|
||||
return [
|
||||
'OR',
|
||||
|
||||
@@ -1123,10 +1123,7 @@ class SpellList extends BaseType
|
||||
case 'D': // todo (med): min/max?; /w unit?
|
||||
$base = $srcSpell->getField('duration');
|
||||
|
||||
if ($base <= 0)
|
||||
$result[2] = Lang::spell('untilCanceled');
|
||||
else
|
||||
$result[2] = Util::formatTime($base, true);
|
||||
$result[2] = Lang::formatTime($srcSpell->getField('duration'), 'spell', 'duration');
|
||||
|
||||
if (in_array($op, $signs) && is_numeric($oparg) && is_numeric($base))
|
||||
eval("\$base = $base $op $oparg;");
|
||||
@@ -1907,7 +1904,7 @@ class SpellList extends BaseType
|
||||
|
||||
// duration
|
||||
if ($this->curTpl['duration'] > 0)
|
||||
$x .= '<span class="q">'.sprintf(Lang::spell('remaining'), Util::formatTime($this->curTpl['duration'])).'<span>';
|
||||
$x .= '<span class="q">'.Lang::formatTime($this->curTpl['duration'], 'spell', 'timeRemaining').'<span>';
|
||||
|
||||
$x .= '</td></tr></table>';
|
||||
|
||||
|
||||
@@ -573,7 +573,7 @@ abstract class Util
|
||||
return $money;
|
||||
}
|
||||
|
||||
private static function parseTime(int $msec) : array
|
||||
public static function parseTime(int $msec) : array
|
||||
{
|
||||
$time = [0, 0, 0, 0, 0];
|
||||
|
||||
@@ -671,7 +671,7 @@ abstract class Util
|
||||
else if ($h) // hours, minutes ago
|
||||
return Lang::main('timeAgo', [$h . ' ' . Lang::timeUnits('ab', 4) . ' ' . $m . ' ' . Lang::timeUnits('ab', 5)]);
|
||||
else if ($m) // minutes, seconds ago
|
||||
return Lang::main('timeAgo', [$m . ' ' . Lang::timeUnits('ab', 5) . ' ' . $m . ' ' . Lang::timeUnits('ab', 6)]);
|
||||
return Lang::main('timeAgo', [$m . ' ' . Lang::timeUnits('ab', 5) . ' ' . $s . ' ' . Lang::timeUnits('ab', 6)]);
|
||||
else // seconds ago
|
||||
return Lang::main('timeAgo', [$s . ' ' . Lang::timeUnits($s == 1 ? 'sg' : 'pl', 6)]);
|
||||
}
|
||||
|
||||
@@ -487,8 +487,39 @@ class Lang
|
||||
return Util::ucFirst(self::game(Type::getFileString($type)));
|
||||
}
|
||||
|
||||
public static function formatTime(int $msec, string $prop = 'game', string $src = 'timeAbbrev', bool $concat = false) : string
|
||||
{
|
||||
if ($msec < 0)
|
||||
$msec = 0;
|
||||
|
||||
private static function vspf($var, $args)
|
||||
[$ms, $s, $m, $h, $d] = Util::parseTime($msec);
|
||||
$ref = [];
|
||||
$result = [];
|
||||
|
||||
if (is_array(self::$$prop[$src]))
|
||||
$ref = &self::$$prop[$src];
|
||||
else
|
||||
{
|
||||
trigger_error('Lang::formatTime - tried to access undefined property Lang::$'.$prop, E_USER_WARNING);
|
||||
return '';
|
||||
}
|
||||
|
||||
if ($d >= 1)
|
||||
$result[] = self::vspf($ref[4], [$d + $h / 24]);
|
||||
if ($h >= 1 && ($concat || !$result))
|
||||
$result[] = self::vspf($ref[3], [$h + $m / 60]);
|
||||
if ($m >= 1 && ($concat || !$result))
|
||||
$result[] = self::vspf($ref[2], [$m + $s / 60]);
|
||||
if ($s >= 1 && ($concat || !$result))
|
||||
$result[] = self::vspf($ref[1], [$s]);
|
||||
|
||||
if (!$result)
|
||||
$result[] = self::vspf($ref[0]);
|
||||
|
||||
return implode(', ', $result);
|
||||
}
|
||||
|
||||
private static function vspf($var, array $args = [])
|
||||
{
|
||||
if (is_array($var))
|
||||
{
|
||||
|
||||
@@ -358,6 +358,13 @@ $lang = array(
|
||||
'modes' => [-1 => "Beliebig", "Normal / Normal 10", "Heroisch / Normal 25", "Heroisch 10", "Heroisch 25"],
|
||||
'expansions' => ["Classic", "The Burning Crusade", "Wrath of the Lich King"],
|
||||
'stats' => ["Stärke", "Beweglichkeit", "Ausdauer", "Intelligenz", "Willenskraft"],
|
||||
'timeAbbrev' => array(
|
||||
'',
|
||||
"%d |4Sek.:Sek.;",
|
||||
"%d |4Min.:Min.;",
|
||||
"%d |4Std.:Std.;",
|
||||
"%d |4Tag:Tage;"
|
||||
),
|
||||
'sources' => array(
|
||||
"Unbekannt", "Hergestellt", "Drop", "PvP", "Quest", "Händler",
|
||||
"Lehrer", "Entdeckung", "Einlösung", "Talent", "Startausrüstung", "Ereignis",
|
||||
@@ -1445,12 +1452,10 @@ $lang = array(
|
||||
'_transfer' => 'Dieser Zauber wird mit <a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a> vertauscht, wenn Ihr zur <span class="icon-%s">%s</span> wechselt.',
|
||||
'currentArea' => '<Momentanes Gebiet>',
|
||||
'discovered' => "Durch Geistesblitz erlernt",
|
||||
'ppm' => "%s Auslösungen pro Minute",
|
||||
'ppm' => "(%s Auslösungen pro Minute)",
|
||||
'procChance' => "Procchance",
|
||||
'starter' => "Basiszauber",
|
||||
'trainingCost' => "Trainingskosten",
|
||||
'remaining' => "Noch %s",
|
||||
'untilCanceled' => "bis Abbruch",
|
||||
'castIn' => "Wirken in %s Sek.",
|
||||
'instantPhys' => "Sofort",
|
||||
'instantMagic' => "Spontanzauber",
|
||||
@@ -1467,6 +1472,20 @@ $lang = array(
|
||||
'stackGroup' => "Stack Gruppierung",
|
||||
'linkedWith' => "Verknüpft mit",
|
||||
'_scaling' => "Skalierung",
|
||||
'duration' => array(
|
||||
"bis Abbruch",
|
||||
"%.2G Sek.",
|
||||
"%.2G Min.",
|
||||
"%.2G |4Stunde:Stunden;",
|
||||
"%.2G |4Tag:Tage;"
|
||||
),
|
||||
'timeRemaining' => array(
|
||||
"",
|
||||
"Noch %d |4Sekunde:Sekunden;",
|
||||
"Noch %d |4Minute:Minuten;",
|
||||
"Noch %d |4Stunde:Stunden;",
|
||||
"Noch %d |4Tag:Tage;"
|
||||
),
|
||||
'scaling' => array(
|
||||
'directSP' => "+%.2f%% der Zaubermacht zum direkten Effekt", 'directAP' => "+%.2f%% der Angriffskraft zum direkten Effekt",
|
||||
'dotSP' => "+%.2f%% der Zaubermacht pro Tick", 'dotAP' => "+%.2f%% der Angriffskraft pro Tick"
|
||||
@@ -1783,6 +1802,20 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["Einzigartig anlegbar", null, "Einzigartig angelegt: %s (%d)"],
|
||||
'speed' => "Tempo",
|
||||
'dps' => "(%.1f Schaden pro Sekunde)",
|
||||
'duration' => array( // ITEM_DURATION_*
|
||||
'',
|
||||
"Dauer: %d Sek.",
|
||||
"Dauer: %d Min.",
|
||||
"Dauer: %d |4Stunde:Stunden;",
|
||||
"Dauer: %d |4Tag:Tage;"
|
||||
),
|
||||
'cooldown' => array( // ITEM_COOLDOWN_TOTAL*
|
||||
'(%s Abklingzeit)',
|
||||
"(%d Sek. Abklingzeit)",
|
||||
"(%d Min. Abklingzeit)",
|
||||
"(%d |4Stunde:Stunden; Abklingzeit)",
|
||||
"(%d |4Tag:Tage; Abklingzeit)"
|
||||
),
|
||||
'damage' => array( // *DAMAGE_TEMPLATE*
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
'single' => ['%d Schaden', '%1$d %2$sschaden', '+ %1$d Schaden', '+ %1$d %2$sschaden' ],
|
||||
|
||||
@@ -358,6 +358,13 @@ $lang = array(
|
||||
'modes' => [-1 => "Any", "Normal / Normal 10", "Heroic / Normal 25", "Heroic 10", "Heroic 25"],
|
||||
'expansions' => ["Classic", "The Burning Crusade", "Wrath of the Lich King"],
|
||||
'stats' => ["Strength", "Agility", "Stamina", "Intellect", "Spirit"],
|
||||
'timeAbbrev' => array( // <time>S_ABBR
|
||||
'',
|
||||
"%d |4Sec:Sec;",
|
||||
"%d |4Min:Min;",
|
||||
"%d |4Hr:Hr;",
|
||||
"%d |4Day:Days;"
|
||||
),
|
||||
'sources' => array(
|
||||
"Unknown", "Crafted", "Drop", "PvP", "Quest", "Vendor",
|
||||
"Trainer", "Discovery", "Redemption", "Talent", "Starter", "Event",
|
||||
@@ -1445,12 +1452,10 @@ $lang = array(
|
||||
'_transfer' => 'This spell will be converted to <a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a> if you transfer to <span class="icon-%s">%s</span>.',
|
||||
'currentArea' => '<current area>',
|
||||
'discovered' => "Learned via discovery",
|
||||
'ppm' => "%s procs per minute",
|
||||
'ppm' => "(%s procs per minute)",
|
||||
'procChance' => "Proc chance",
|
||||
'starter' => "Starter spell",
|
||||
'trainingCost' => "Training cost",
|
||||
'remaining' => "%s remaining", // SPELL_TIME_REMAINING_*
|
||||
'untilCanceled' => "until cancelled", // SPELL_DURATION_UNTIL_CANCELLED
|
||||
'castIn' => "%s sec cast", // SPELL_CAST_TIME_SEC
|
||||
'instantPhys' => "Instant", // SPELL_CAST_TIME_INSTANT_NO_MANA
|
||||
'instantMagic' => "Instant cast", // SPELL_CAST_TIME_INSTANT
|
||||
@@ -1467,6 +1472,20 @@ $lang = array(
|
||||
'stackGroup' => "Stack Group",
|
||||
'linkedWith' => "Linked with",
|
||||
'_scaling' => "Scaling",
|
||||
'duration' => array( // SPELL_DURATION_*
|
||||
"until cancelled",
|
||||
"%.2G sec",
|
||||
"%.2G min",
|
||||
"%.2G |4hour:hrs;",
|
||||
"%.2G |4day:days;"
|
||||
),
|
||||
'timeRemaining' => array( // SPELL_TIME_REMAINING_*
|
||||
"",
|
||||
"%d |4second:seconds; remaining",
|
||||
"%d |4minute:minutes; remaining",
|
||||
"%d |4hour:hours; remaining",
|
||||
"%d |4day:days; remaining"
|
||||
),
|
||||
'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"
|
||||
@@ -1783,6 +1802,20 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["Unique-Equipped", null, "Unique-Equipped: %s (%d)"], // ITEM_UNIQUE_EQUIPPABLE, null, ITEM_LIMIT_CATEGORY_MULTIPLE
|
||||
'speed' => "Speed", // SPEED
|
||||
'dps' => "(%.1f damage per second)", // DPS_TEMPLATE
|
||||
'duration' => array( // ITEM_DURATION_*
|
||||
'',
|
||||
"Duration: %d sec",
|
||||
"Duration: %d min",
|
||||
"Duration: %d |4hour:hrs;",
|
||||
"Duration: %d |4day:days;"
|
||||
),
|
||||
'cooldown' => array( // ITEM_COOLDOWN_TOTAL*
|
||||
"(%s Cooldown)",
|
||||
"(%d Sec Cooldown)",
|
||||
"(%d Min Cooldown)",
|
||||
"(%d |4Hour:Hours; Cooldown)",
|
||||
"(%d |4Day:Days; Cooldown)"
|
||||
),
|
||||
'damage' => array( // *DAMAGE_TEMPLATE*
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
'single' => ["%d Damage", "%d %s Damage", "+ %d Damage", "+%d %s Damage" ],
|
||||
|
||||
@@ -358,6 +358,13 @@ $lang = array(
|
||||
'modes' => [-1 => "Cualquiera", "Normal / Normal 10", "Heroico / Normal 25", "Heróico 10", "Heróico 25"],
|
||||
'expansions' => ["World of Warcraft", "The Burning Crusade", "Wrath of the Lich King"],
|
||||
'stats' => ["Fuerza", "Agilidad", "Aguante", "Intelecto", "Espíritu"],
|
||||
'timeAbbrev' => array(
|
||||
'',
|
||||
"%d |4s:s;",
|
||||
"%d |4min:min;",
|
||||
"%d |4h:h;",
|
||||
"%d |4Día:Días;"
|
||||
),
|
||||
'sources' => array(
|
||||
"Desconocido", "Creado", "Encontrado", "JcJ", "Misión", "Vendedor",
|
||||
"Entrenador", "Descubierto", "Redención", "Talento", "Habilidad Inicial", "Evento",
|
||||
@@ -1445,12 +1452,10 @@ $lang = array(
|
||||
'_transfer' => 'Este hechizo será convertido a <a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a> si lo transfieres a la <span class="icon-%s">%s</span>.',
|
||||
'currentArea' => '<current area>',
|
||||
'discovered' => "Aprendido via descubrimiento",
|
||||
'ppm' => "%s procs por minuto",
|
||||
'ppm' => "(%s procs por minuto)",
|
||||
'procChance' => "Probabilidad de que accione",
|
||||
'starter' => "Hechizo inicial",
|
||||
'trainingCost' => "Costo de enseñanza",
|
||||
'remaining' => "%s restantes",
|
||||
'untilCanceled' => "hasta que se cancela",
|
||||
'castIn' => "Hechizo de %s seg",
|
||||
'instantPhys' => "Instante",
|
||||
'instantMagic' => "Hechizo instantáneo",
|
||||
@@ -1467,6 +1472,20 @@ $lang = array(
|
||||
'stackGroup' => "Grupo de aplilamiento",
|
||||
'linkedWith' => "Asociado con",
|
||||
'_scaling' => "Escala",
|
||||
'duration' => array(
|
||||
"hasta cancelación",
|
||||
"%.2G s",
|
||||
"%.2G min",
|
||||
"%.2G |4hora:horas;",
|
||||
"%.2G |4día:días;"
|
||||
),
|
||||
'timeRemaining' => array(
|
||||
"",
|
||||
"%d |4segundo restante:segundos restantes;",
|
||||
"%d |4minuto restante:minutos restantes;",
|
||||
"%d |4hora restante:horas restantes;",
|
||||
"%d |4día restante:días restantes;"
|
||||
),
|
||||
'scaling' => array(
|
||||
'directSP' => "+%.2f%% del poder de hechizo al componente directo", 'directAP' => "+%.2f%% del poder de ataque al componente directo",
|
||||
'dotSP' => "+%.2f%% del poder de hechizo por tick", 'dotAP' => "+%.2f%% del poder de ataque por tick"
|
||||
@@ -1783,6 +1802,20 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["Único-Equipado", null, "Único-Equipado: %s (%d)"],
|
||||
'speed' => "Veloc.",
|
||||
'dps' => "(%.1f daño por segundo)",
|
||||
'duration' => array(
|
||||
'',
|
||||
"Duración: %d s",
|
||||
"Duración: %d min",
|
||||
"Duración: %d |4h:h;",
|
||||
"Duración: %d |4día:días;"
|
||||
),
|
||||
'cooldown' => array(
|
||||
"(%s tiempo de reutilización)",
|
||||
"(Tiempo de reutilización: %d s)",
|
||||
"(Tiempo de reutilización: %d min)",
|
||||
"(%d |4Hora:Horas; Tiempo de reutilización)",
|
||||
"(%d |4Día:Días; Tiempo de reutilización)"
|
||||
),
|
||||
'damage' => array( // *DAMAGE_TEMPLATE*
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
"single" => ["%d Daño", "%d %s Daño", "+ %d daño", "+%d %s daños" ],
|
||||
|
||||
@@ -358,6 +358,13 @@ $lang = array(
|
||||
'modes' => [-1 => "Tout", "Standard / Normal 10", "Héroïque / Normal 25", "10 héroïque", "25 héroïque"],
|
||||
'expansions' => ["Classique", "The Burning Crusade", "Wrath of the Lich King"],
|
||||
'stats' => ["Force", "Agilité", "Endurance", "Intelligence", "Esprit"],
|
||||
'timeAbbrev' => array(
|
||||
'',
|
||||
"%d |4sec:sec;",
|
||||
"%d |4min:min;",
|
||||
"%d |4h:h;",
|
||||
"%d |4jour:jours;"
|
||||
),
|
||||
'sources' => array(
|
||||
"Inconnu", "Fabriqué", "Butin", "JcJ", "Quête", "Vendeur",
|
||||
"Maître", "Découverte", "Échange d'un code", "Talent", "Débutant", "Événement",
|
||||
@@ -1445,12 +1452,10 @@ $lang = array(
|
||||
'_transfer' => 'Cet sort sera converti en <a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a> si vous transférez en <span class="icon-%s">%s</span>.',
|
||||
'currentArea' => '<current area>',
|
||||
'discovered' => "Appris via une découverte",
|
||||
'ppm' => "%s déclenchements par minute",
|
||||
'ppm' => "(%s déclenchements par minute)",
|
||||
'procChance' => "Chance",
|
||||
'starter' => "Sortilège initiaux",
|
||||
'trainingCost' => "Coût d'entraînement",
|
||||
'remaining' => "%s restantes",
|
||||
'untilCanceled' => "jusqu’à annulation",
|
||||
'castIn' => "%s s d'incantation",
|
||||
'instantPhys' => "Incantation immédiate",
|
||||
'instantMagic' => "Instantanée",
|
||||
@@ -1467,6 +1472,20 @@ $lang = array(
|
||||
'stackGroup' => "[Stack Group]",
|
||||
'linkedWith' => "[Linked with]",
|
||||
'_scaling' => "[Scaling]",
|
||||
'duration' => array(
|
||||
"jusqu’à annulation",
|
||||
"%.2G sec.",
|
||||
"%.2G min",
|
||||
"%.2G h",
|
||||
"%.2G |4jour:jours;"
|
||||
),
|
||||
'timeRemaining' => array(
|
||||
"",
|
||||
"%d |4seconde restante:secondes restantes;",
|
||||
"%d |4minute restante:minutes restantes;",
|
||||
"%d |4heure restante:heures restantes;",
|
||||
"%d |4jour restant:jours restants;"
|
||||
),
|
||||
'scaling' => array(
|
||||
'directSP' => "+%.2f%% de la puissance des sorts directe", 'directAP' => "+%.2f%% de la puissance d'attaque directe",
|
||||
'dotSP' => "+%.2f%% de la puissance des sorts par tick", 'dotAP' => "+%.2f%% de la puissance d'attaque par tick"
|
||||
@@ -1783,6 +1802,20 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["Unique - Equipé", null, "Unique - Equipé: %s (%d)"], // ITEM_UNIQUE_EQUIPPABLE, null, ITEM_LIMIT_CATEGORY_MULTIPLE
|
||||
'speed' => "Vitesse",
|
||||
'dps' => "(%.1f dégâts par seconde)",
|
||||
'duration' => array(
|
||||
'',
|
||||
"Durée : %d sec",
|
||||
"Durée : %d min",
|
||||
"Durée : %d |4heure:heures;",
|
||||
"Durée : %d |4jour:jours;"
|
||||
),
|
||||
'cooldown' => array(
|
||||
"(%s de recharge)",
|
||||
"(%d sec. de recharge)",
|
||||
"(%d min de recharge)",
|
||||
"(%d |4heure:heures; de recharge)",
|
||||
"(%d |4jour:jours; de recharge)"
|
||||
),
|
||||
'damage' => array( // *DAMAGE_TEMPLATE*
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
'single' => ["%d Dégâts", "%d points de dégâts (%s)", "+ %d points de dégâts", "+ %d points de dégâts (%s)" ],
|
||||
|
||||
@@ -358,6 +358,13 @@ $lang = array(
|
||||
'modes' => [-1 => "Все", "Обычный / 10-норм.", "Героический / 25-норм.", "10-героич", "25-героич"],
|
||||
'expansions' => array("World of Warcraft", "The Burning Crusade", "Wrath of the Lich King"),
|
||||
'stats' => array("к силе", "к ловкости", "к выносливости", "к интеллекту", "к духу"),
|
||||
'timeAbbrev' => array(
|
||||
'',
|
||||
"%d с.",
|
||||
"%d мин.",
|
||||
"%d ч.",
|
||||
"%d д."
|
||||
),
|
||||
'sources' => array(
|
||||
"Неизвестно", "Ремесло", "Добыча", "PvP", "Задание", "Продавец",
|
||||
"Тренер", "Открытие", "Рекламная акция", "Талант", "Начальное заклинание", "Мероприятие",
|
||||
@@ -1445,12 +1452,10 @@ $lang = array(
|
||||
'_transfer' => 'Этот предмет превратится в <a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a>, если вы перейдете за <span class="icon-%s">%s</span>.',
|
||||
'currentArea' => '<current area>',
|
||||
'discovered' => "Изучается путём освоения местности",
|
||||
'ppm' => "Срабатывает %s раз в минуту",
|
||||
'ppm' => "(Срабатывает %s раз в минуту)",
|
||||
'procChance' => "Шанс срабатывания",
|
||||
'starter' => "Начальное заклинание",
|
||||
'trainingCost' => "Цена обучения",
|
||||
'remaining' => "Осталось: %s",
|
||||
'untilCanceled' => "до отмены",
|
||||
'castIn' => "Применение: %s сек.",
|
||||
'instantPhys' => "Мгновенное действие",
|
||||
'instantMagic' => "Мгновенное действие",
|
||||
@@ -1467,6 +1472,20 @@ $lang = array(
|
||||
'stackGroup' => "[Stack Group]",
|
||||
'linkedWith' => "[Linked with]",
|
||||
'_scaling' => "[Scaling]",
|
||||
'duration' => array(
|
||||
"до отмены",
|
||||
"%.2G сек",
|
||||
"%.2G мин",
|
||||
"%.2G ч",
|
||||
"%.2G д"
|
||||
),
|
||||
'timeRemaining' => array(
|
||||
"",
|
||||
"Осталось: %d |4секунда:секунды:секунд;",
|
||||
"Осталось: %d |4минута:минуты:минут;",
|
||||
"Осталось: %d |4час:часа:часов;",
|
||||
"Осталось: %d |4день:дня:дней;"
|
||||
),
|
||||
'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]"
|
||||
@@ -1783,6 +1802,21 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["Уникальный использующийся", null, "Уникальный использующийся предмет: %s (%d)"],
|
||||
'speed' => "Скорость",
|
||||
'dps' => "(%.1f ед. урона в секунду)",
|
||||
'duration' => array(
|
||||
'',
|
||||
"Срок действия: %d |4секунда:секунды:секунд;",
|
||||
"Срок действия: %d |4минута:минуты:минут;",
|
||||
"Исчезнет через %d ч.",
|
||||
"Исчезнет через %d д."
|
||||
),
|
||||
|
||||
'cooldown' => array(
|
||||
"(Восстановление: %s)",
|
||||
"(Восстановление: %d сек.)",
|
||||
"(Восстановление: %d мин.)",
|
||||
"(Восстановление: %d |4час:часа:часов;)",
|
||||
"(Восстановление: %d |4день:дня:дней;)"
|
||||
),
|
||||
'damage' => array( // *DAMAGE_TEMPLATE*
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
'single' => ["Урон: %d", "%d ед. |3-6(%s)", "+ %d ед. урона", "+%d ед. урона (%s)" ],
|
||||
|
||||
@@ -357,6 +357,13 @@ $lang = array(
|
||||
'modes' => [-1 => "任何", "普通 / 普通 10人", "英雄 / 普通 25人", "英雄 10人", "英雄 25人"],
|
||||
'expansions' => ["经典旧世", "燃烧的远征", "巫妖王之怒"],
|
||||
'stats' => ["力量", "敏捷", "耐力", "智力", "精神"],
|
||||
'timeAbbrev' => array(
|
||||
'',
|
||||
"%d|4秒:秒;",
|
||||
"%d|4分钟:分钟;",
|
||||
"%d|4小时:小时;",
|
||||
"%d|4天:天;"
|
||||
),
|
||||
'sources' => array(
|
||||
"未知", "已制造", "掉落", "PvP", "任务",
|
||||
"商人", "训练师", "发现", "救赎", "天赋",
|
||||
@@ -1444,12 +1451,10 @@ $lang = array(
|
||||
'_transfer' => '这个法术将被转换到<a href="?spell=%d" class="q%d icontiny tinyspecial" style="background-image: url('.STATIC_URL.'/images/wow/icons/tiny/%s.gif)">%s</a>,如果你转移到<span class="icon-%s">%s</span>。',
|
||||
'currentArea' => '<current area>',
|
||||
'discovered' => "Learned via discovery",
|
||||
'ppm' => "%s每分钟触发几率",
|
||||
'ppm' => "(%s每分钟触发几率)",
|
||||
'procChance' => "触发几率",
|
||||
'starter' => "Starter spell",
|
||||
'trainingCost' => "训练成本",
|
||||
'remaining' => "持续%s",
|
||||
'untilCanceled' => "直到主动取消",
|
||||
'castIn' => "%s秒施法时间",
|
||||
'instantPhys' => "瞬发",
|
||||
'instantMagic' => "瞬发",
|
||||
@@ -1466,6 +1471,20 @@ $lang = array(
|
||||
'stackGroup' => "Stack Group",
|
||||
'linkedWith' => "Linked with",
|
||||
'_scaling' => "缩放比例",
|
||||
'duration' => array(
|
||||
"直到主动取消",
|
||||
"%.2G秒",
|
||||
"%.2G分钟",
|
||||
"%.2G小时",
|
||||
"%.2G天"
|
||||
),
|
||||
'timeRemaining' => array(
|
||||
"",
|
||||
"剩余%d秒",
|
||||
"剩余%d分钟",
|
||||
"剩余%d小时",
|
||||
"剩余%d天"
|
||||
),
|
||||
'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"
|
||||
@@ -1782,6 +1801,20 @@ $lang = array(
|
||||
'uniqueEquipped'=> ["装备唯一", null, "装备唯一:%s (%d)"],
|
||||
'speed' => "速度",
|
||||
'dps' => "(每秒伤害%.1f)",
|
||||
'duration' => array(
|
||||
'',
|
||||
"持续时间:%d秒",
|
||||
"持续时间:%d分钟",
|
||||
"持续时间:%d小时",
|
||||
"持续时间:%d天"
|
||||
),
|
||||
'cooldown' => array(
|
||||
"(%s冷却)",
|
||||
"(%d秒冷却时间)",
|
||||
"(%d分钟冷却时间)",
|
||||
"(%d小时冷却时间)",
|
||||
"(%d天冷却时间)"
|
||||
),
|
||||
'damage' => array(
|
||||
// basic, basic /w school, add basic, add basic /w school
|
||||
'single' => ["%d点伤害", "%d点%s伤害", "+ %d伤害", "+%d %s伤害" ],
|
||||
|
||||
Reference in New Issue
Block a user