translate tournament names - WIP
parent
5b006658da
commit
6bcbf85e2e
|
@ -2,7 +2,7 @@ const fs = require('fs-extra');
|
|||
const parseString = require('xml2js').parseString;
|
||||
|
||||
const baseDir = 'translation/source';
|
||||
const dbs = 'site arena emails learn activity coordinates study clas contact patron coach broadcast streamer tfa settings preferences team perfStat search'.split(' ');
|
||||
const dbs = 'site arena emails learn activity coordinates study clas contact patron coach broadcast streamer tfa settings preferences team perfStat search tourname'.split(' ');
|
||||
|
||||
function ucfirst(s) {
|
||||
return s.charAt(0).toUpperCase() + s.slice(1);
|
||||
|
|
|
@ -76,7 +76,7 @@ lazy val i18n = module("i18n",
|
|||
MessageCompiler(
|
||||
sourceDir = new File("translation/source"),
|
||||
destDir = new File("translation/dest"),
|
||||
dbs = "site arena emails learn activity coordinates study class contact patron coach broadcast streamer tfa settings preferences team perfStat search".split(' ').toList,
|
||||
dbs = "site arena emails learn activity coordinates study class contact patron coach broadcast streamer tfa settings preferences team perfStat search tourname".split(' ').toList,
|
||||
compileTo = (sourceManaged in Compile).value
|
||||
)
|
||||
}.taskValue,
|
||||
|
|
|
@ -1579,4 +1579,46 @@ val `searchInXGames` = new I18nKey("search:searchInXGames")
|
|||
val `xGamesFound` = new I18nKey("search:xGamesFound")
|
||||
}
|
||||
|
||||
object tourname {
|
||||
val `hourlyRapidArena` = new I18nKey("tourname:hourlyRapidArena")
|
||||
val `hourlyRapid` = new I18nKey("tourname:hourlyRapid")
|
||||
val `hourlyXArena` = new I18nKey("tourname:hourlyXArena")
|
||||
val `hourlyX` = new I18nKey("tourname:hourlyX")
|
||||
val `dailyRapidArena` = new I18nKey("tourname:dailyRapidArena")
|
||||
val `dailyRapid` = new I18nKey("tourname:dailyRapid")
|
||||
val `dailyClassicalArena` = new I18nKey("tourname:dailyClassicalArena")
|
||||
val `dailyClassical` = new I18nKey("tourname:dailyClassical")
|
||||
val `dailyXArena` = new I18nKey("tourname:dailyXArena")
|
||||
val `dailyX` = new I18nKey("tourname:dailyX")
|
||||
val `easternRapidArena` = new I18nKey("tourname:easternRapidArena")
|
||||
val `easternRapid` = new I18nKey("tourname:easternRapid")
|
||||
val `easternClassicalArena` = new I18nKey("tourname:easternClassicalArena")
|
||||
val `easternClassical` = new I18nKey("tourname:easternClassical")
|
||||
val `easternXArena` = new I18nKey("tourname:easternXArena")
|
||||
val `easternX` = new I18nKey("tourname:easternX")
|
||||
val `weeklyRapidArena` = new I18nKey("tourname:weeklyRapidArena")
|
||||
val `weeklyRapid` = new I18nKey("tourname:weeklyRapid")
|
||||
val `weeklyClassicalArena` = new I18nKey("tourname:weeklyClassicalArena")
|
||||
val `weeklyClassical` = new I18nKey("tourname:weeklyClassical")
|
||||
val `weeklyXArena` = new I18nKey("tourname:weeklyXArena")
|
||||
val `weeklyX` = new I18nKey("tourname:weeklyX")
|
||||
val `monthlyRapidArena` = new I18nKey("tourname:monthlyRapidArena")
|
||||
val `monthlyRapid` = new I18nKey("tourname:monthlyRapid")
|
||||
val `monthlyClassicalArena` = new I18nKey("tourname:monthlyClassicalArena")
|
||||
val `monthlyClassical` = new I18nKey("tourname:monthlyClassical")
|
||||
val `monthlyXArena` = new I18nKey("tourname:monthlyXArena")
|
||||
val `monthlyX` = new I18nKey("tourname:monthlyX")
|
||||
val `yearlyRapidArena` = new I18nKey("tourname:yearlyRapidArena")
|
||||
val `yearlyRapid` = new I18nKey("tourname:yearlyRapid")
|
||||
val `yearlyClassicalArena` = new I18nKey("tourname:yearlyClassicalArena")
|
||||
val `yearlyClassical` = new I18nKey("tourname:yearlyClassical")
|
||||
val `yearlyXArena` = new I18nKey("tourname:yearlyXArena")
|
||||
val `yearlyX` = new I18nKey("tourname:yearlyX")
|
||||
val `xShieldArena` = new I18nKey("tourname:xShieldArena")
|
||||
val `xShield` = new I18nKey("tourname:xShield")
|
||||
val `openingRapidArena` = new I18nKey("tourname:openingRapidArena")
|
||||
val `openingRapid` = new I18nKey("tourname:openingRapid")
|
||||
val `teamBattle` = new I18nKey("tourname:teamBattle")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -15,6 +15,19 @@ case class Schedule(
|
|||
conditions: Condition.All = Condition.All.empty
|
||||
) {
|
||||
|
||||
def transName(implicit lang: Lang) = freq match {
|
||||
case m @ Schedule.Freq.ExperimentalMarathon => m.name
|
||||
case _ if variant.standard && position.initial =>
|
||||
(conditions.minRating, conditions.maxRating) match {
|
||||
case (None, None) => s"${freq.toString} ${speed.toString}"
|
||||
case (Some(_), _) => s"Elite ${speed.toString}"
|
||||
case (_, Some(max)) => s"U${max.rating} ${speed.toString}"
|
||||
}
|
||||
case _ if variant.standard => s"${position.shortName} ${speed.toString}"
|
||||
case Schedule.Freq.Hourly => s"${variant.name} ${speed.toString}"
|
||||
case _ => s"${freq.toString} ${variant.name}"
|
||||
}
|
||||
|
||||
def name = freq match {
|
||||
case m @ Schedule.Freq.ExperimentalMarathon => m.name
|
||||
case _ if variant == chess.variant.Crazyhouse && conditions.minRating.isDefined => "Elite Crazyhouse"
|
||||
|
|
|
@ -2,10 +2,12 @@ package lila.tournament
|
|||
|
||||
import org.joda.time.{ DateTime, Duration, Interval }
|
||||
import ornicar.scalalib.Random
|
||||
import play.api.i18n.Lang
|
||||
|
||||
import chess.Clock.{ Config => ClockConfig }
|
||||
import chess.{ Mode, Speed, StartingPosition }
|
||||
import lila.game.PerfPicker
|
||||
import lila.i18n.I18nKeys.{ tourname => iname }
|
||||
import lila.rating.PerfType
|
||||
import lila.user.User
|
||||
|
||||
|
@ -40,6 +42,8 @@ case class Tournament(
|
|||
|
||||
def isTeamBattle = teamBattle.isDefined
|
||||
|
||||
def transName(implicit lang: Lang) = schedule.fold(name)(_.transName)
|
||||
|
||||
def fullName =
|
||||
if (isTeamBattle) s"$name Team Battle"
|
||||
else
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<resources>
|
||||
<string name="hourlyRapidArena">Hourly Rapid Arena</string>
|
||||
<string name="hourlyRapid">Hourly Rapid</string>
|
||||
<string name="hourlyXArena">Hourly %s Arena</string>
|
||||
<string name="hourlyX">Hourly %s</string>
|
||||
<string name="dailyRapidArena">Daily Rapid Arena</string>
|
||||
<string name="dailyRapid">Daily Rapid</string>
|
||||
<string name="dailyClassicalArena">Daily Classical Arena</string>
|
||||
<string name="dailyClassical">Daily Classical</string>
|
||||
<string name="dailyXArena">Daily %s Arena</string>
|
||||
<string name="dailyX">Daily %s</string>
|
||||
<string name="easternRapidArena">Eastern Rapid Arena</string>
|
||||
<string name="easternRapid">Eastern Rapid</string>
|
||||
<string name="easternClassicalArena">Eastern Classical Arena</string>
|
||||
<string name="easternClassical">Eastern Classical</string>
|
||||
<string name="easternXArena">Eastern %s Arena</string>
|
||||
<string name="easternX">Eastern %s</string>
|
||||
<string name="weeklyRapidArena">Weekly Rapid Arena</string>
|
||||
<string name="weeklyRapid">Weekly Rapid</string>
|
||||
<string name="weeklyClassicalArena">Weekly Classical Arena</string>
|
||||
<string name="weeklyClassical">Weekly Classical</string>
|
||||
<string name="weeklyXArena">Weekly %s Arena</string>
|
||||
<string name="weeklyX">Weekly %s</string>
|
||||
<string name="monthlyRapidArena">Monthly Rapid Arena</string>
|
||||
<string name="monthlyRapid">Monthly Rapid</string>
|
||||
<string name="monthlyClassicalArena">Monthly Classical Arena</string>
|
||||
<string name="monthlyClassical">Monthly Classical</string>
|
||||
<string name="monthlyXArena">Monthly %s Arena</string>
|
||||
<string name="monthlyX">Monthly %s</string>
|
||||
<string name="yearlyRapidArena">Yearly Rapid Arena</string>
|
||||
<string name="yearlyRapid">Yearly Rapid</string>
|
||||
<string name="yearlyClassicalArena">Yearly Classical Arena</string>
|
||||
<string name="yearlyClassical">Yearly Classical</string>
|
||||
<string name="yearlyXArena">Yearly %s Arena</string>
|
||||
<string name="yearlyX">Yearly %s</string>
|
||||
<string name="xShieldArena">%s Shield Arena</string>
|
||||
<string name="xShield">%s Shield</string>
|
||||
<string name="openingRapidArena">%s Rapid Arena</string>
|
||||
<string name="openingRapid">%s Rapid</string>
|
||||
<string name="teamBattle">%s Team Battle</string>
|
||||
</resources>
|
Loading…
Reference in New Issue