Merge branch 'master' into ScalaEvaluator
* master: (98 commits) restore lila logger pt "Português" translation #12166. Author: josevitor91. brazilian portuguese uk "українська" translation #12164. Author: chesshater. ca "Català, valencià" translation #12161. Author: Catalan_player. cs "čeština" translation #12151. Author: xslyepov. sl "slovenščina" translation #12141. Author: woodswoods. Better translation of some special words. tweak logger uk "українська" translation #12136. Author: IvTK. a lot of work to do!!! ru "русский язык" translation #12119. Author: bishop_rope-dancer. In Russian language is not the word "Мозайка" (the correct word is "Мозаика"). But the best translation into Russian: 319/417 Puzzles = "Головоломки". Please fix it. fix japanese translation fa "فارسی" translation #12114. Author: ar123. sl "slovenščina" translation #12112. Author: woodswoods. ja "日本語" translation #12110. Author: hitsujyun. ar "العربية" translation #12109. Author: Abd0. ar "العربية" translation #12108. Author: Abd0. nl "Nederlands" translation #12107. Author: joachimvhw. ar "العربية" translation #12106. Author: Abd0. pt "Português" translation #12103. Author: BearJr. nl "Nederlands" translation #12102. Author: centrumspits. nl "Nederlands" translation #12101. Author: bobflob. ...pull/259/head
commit
922e119ccb
2
LICENSE
2
LICENSE
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2012-2014 Thibault Duplessis
|
||||
Copyright (c) 2012-2015 Thibault Duplessis
|
||||
|
||||
The MIT license
|
||||
|
||||
|
|
36
README.md
36
README.md
|
@ -356,42 +356,6 @@ This returns the raw PGN for a game.
|
|||
1. e4 e5 2. Nf3 Nc6 3. Bc4 { Italian Game, General } Qf6?! { (0.13 → 0.98) Inaccuracy. The best move was Nf6. } (3... Nf6 4. d3 Bc5 5. O-O O-O 6. Bg5 Be7 7. a3 d6 8. h3 a6) 4. d3 h6 5. Be3 d6 6. h3?! { (0.84 → 0.31) Inaccuracy. The best move was Nc3. } (6. Nc3 Be6 7. Nd5 Qd8 8. d4 exd4 9. Nxd4 Nxd4 10. Qxd4 c6 11. Nc3 Bxc4 12. Qxc4 Nf6 13. O-O Be7) 6... a6 7. Nbd2 Be6 8. Qe2 Bxc4 9. Nxc4 Nge7 10. a3 Nd4?! { (0.29 → 0.79) Inaccuracy. The best move was O-O-O. } (10... O-O-O 11. O-O g5 12. a4 Bg7 13. Bd2 Kb8 14. Rae1 Qe6 15. b4 f5 16. b5 fxe4) 11. Bxd4 exd4 12. O-O-O Nc6 13. Rhe1 O-O-O 14. e5 dxe5 15. Nfxe5 Nxe5 16. Qxe5 Qxe5? { (0.35 → 1.78) Mistake. The best move was Qxf2. } (16... Qxf2 17. Re2 Qf6 18. Qxf6 gxf6 19. Rf1 Bg7 20. Nd2 h5 21. Ne4 Rhe8 22. Ref2 Re5 23. b3 Rdd5 24. Kb2) 17. Nxe5 Rg8?! { (1.76 → 2.32) Inaccuracy. The best move was Rd7. } (17... Rd7 18. Nxd7 Kxd7 19. Re4 c5 20. c3 dxc3 21. bxc3 Bd6 22. Kc2 b5 23. a4 Ra8 24. d4 Kc6 25. dxc5) 18. Nxf7 Rd7? { (2.35 → Mate in 2) Checkmate is now unavoidable. The best move was Rd5. } (18... Rd5 19. Re8+ Kd7 20. Rde1 Bb4 21. Rxg8 Bxe1 22. Rxg7 Bxf2 23. Nxh6+ Kc6 24. Kd1 Rb5 25. b3 Rh5 26. Nf7) 19. Re8+ { Black resigns } 1-0
|
||||
```
|
||||
|
||||
### `GET /api/puzzle/<id>` fetch one puzzle
|
||||
|
||||
```
|
||||
> curl http://en.lichess.org/api/puzzle/23045
|
||||
```
|
||||
|
||||
```javascript
|
||||
{
|
||||
"id": 16177,
|
||||
"url": "http://lichess.org/training/16177", // URL of the puzzle
|
||||
"color": "black", // color of the player
|
||||
"position": "6NK/5k2/2r5/2n3PP/8/8/8/8 w - - 7 39", // FEN initial position
|
||||
"solution": ["c6h6", "g5h6", "c5e6", "h8h7", "e6g5",
|
||||
"h7h8", "f7f8", "h6h7", "g5f7"], // solution moves
|
||||
"rating": 1799 // puzzle glicko2 rating
|
||||
}
|
||||
```
|
||||
|
||||
### `GET /api/puzzle/daily` fetch daily puzzle
|
||||
|
||||
```
|
||||
> curl http://en.lichess.org/api/puzzle/daily
|
||||
```
|
||||
|
||||
```javascript
|
||||
{
|
||||
"id": 16177,
|
||||
"url": "http://lichess.org/training/16177", // URL of the puzzle
|
||||
"color": "black", // color of the player
|
||||
"position": "6NK/5k2/2r5/2n3PP/8/8/8/8 w - - 7 39", // FEN initial position
|
||||
"solution": ["c6h6", "g5h6", "c5e6", "h8h7", "e6g5",
|
||||
"h7h8", "f7f8", "h6h7", "g5f7"], // solution moves
|
||||
"rating": 1799 // puzzle glicko2 rating
|
||||
}
|
||||
```
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
|
|
|
@ -82,16 +82,30 @@ object Game extends LilaController with BaseGame {
|
|||
}
|
||||
|
||||
def export(user: String) = Auth { implicit ctx =>
|
||||
me =>
|
||||
if (me.id == user.toLowerCase) fuccess {
|
||||
play.api.Logger("export").info(s"$user from ${ctx.req.remoteAddress}")
|
||||
import org.joda.time.DateTime
|
||||
import org.joda.time.format.DateTimeFormat
|
||||
val date = (DateTimeFormat forPattern "yyyy-MM-dd") print new DateTime
|
||||
Ok.chunked(Env.game export user).withHeaders(
|
||||
CONTENT_TYPE -> ContentTypes.TEXT,
|
||||
CONTENT_DISPOSITION -> ("attachment; filename=" + s"lichess_${me.username}_$date.pgn"))
|
||||
_ =>
|
||||
Env.security.forms.emptyWithCaptcha map {
|
||||
case (form, captcha) => Ok(html.game.export(user, form, captcha))
|
||||
}
|
||||
}
|
||||
|
||||
def exportConfirm(user: String) = AuthBody { implicit ctx =>
|
||||
me =>
|
||||
implicit val req = ctx.body
|
||||
val userId = user.toLowerCase
|
||||
if (me.id == userId)
|
||||
Env.security.forms.empty.bindFromRequest.fold(
|
||||
err => Env.security.forms.anyCaptcha map { captcha =>
|
||||
BadRequest(html.game.export(userId, err, captcha))
|
||||
},
|
||||
_ => fuccess {
|
||||
play.api.Logger("export").info(s"$user from ${ctx.req.remoteAddress}")
|
||||
import org.joda.time.DateTime
|
||||
import org.joda.time.format.DateTimeFormat
|
||||
val date = (DateTimeFormat forPattern "yyyy-MM-dd") print new DateTime
|
||||
Ok.chunked(Env.game export userId).withHeaders(
|
||||
CONTENT_TYPE -> ContentTypes.TEXT,
|
||||
CONTENT_DISPOSITION -> ("attachment; filename=" + s"lichess_${me.username}_$date.pgn"))
|
||||
})
|
||||
else notFound
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,11 +18,13 @@ object Opening extends LilaController {
|
|||
|
||||
private def env = Env.opening
|
||||
|
||||
private def identify(opening: OpeningModel) =
|
||||
env.api.identify(opening.fen, 5)
|
||||
|
||||
private def renderShow(opening: OpeningModel)(implicit ctx: Context) =
|
||||
env userInfos ctx.me zip
|
||||
(env.api.name find opening.fen) map {
|
||||
case (infos, names) =>
|
||||
views.html.opening.show(opening, names, infos, env.AnimationDuration)
|
||||
env userInfos ctx.me zip identify(opening) map {
|
||||
case (infos, identified) =>
|
||||
views.html.opening.show(opening, identified, infos, env.AnimationDuration)
|
||||
}
|
||||
|
||||
private def makeData(
|
||||
|
@ -31,10 +33,10 @@ object Opening extends LilaController {
|
|||
play: Boolean,
|
||||
attempt: Option[Attempt],
|
||||
win: Option[Boolean])(implicit ctx: Context): Fu[Result] =
|
||||
env.api.name find opening.fen map { names =>
|
||||
identify(opening) map { identified =>
|
||||
Ok(JsData(
|
||||
opening,
|
||||
names,
|
||||
identified,
|
||||
infos,
|
||||
play = play,
|
||||
attempt = attempt,
|
||||
|
|
|
@ -62,6 +62,13 @@ object Relation extends LilaController {
|
|||
}
|
||||
}
|
||||
|
||||
def blocks = Auth { implicit ctx =>
|
||||
me =>
|
||||
env.api.blocks(me.id) flatMap followship(me) map { rels =>
|
||||
html.relation.blocks(me, rels)
|
||||
}
|
||||
}
|
||||
|
||||
private def followship(user: UserModel)(userIds: Set[String])(implicit ctx: Context): Fu[List[Related]] =
|
||||
UserRepo byIds userIds flatMap { users =>
|
||||
(ctx.isAuth ?? { Env.pref.api.followableIds(users map (_.id)) }) flatMap { followables =>
|
||||
|
|
|
@ -6,6 +6,8 @@ import lila.setup.TimeMode
|
|||
import lila.api.Context
|
||||
import lila.tournament.System
|
||||
import lila.report.Reason
|
||||
import lila.pref.Pref
|
||||
import lila.pref.Pref.Difficulty
|
||||
|
||||
trait SetupHelper { self: I18nHelper =>
|
||||
|
||||
|
@ -68,4 +70,47 @@ trait SetupHelper { self: I18nHelper =>
|
|||
}
|
||||
}, none)
|
||||
}
|
||||
|
||||
def translatedAnimationChoices(implicit ctx: Context) = List(
|
||||
(Pref.Animation.NONE, trans.none.str()),
|
||||
(Pref.Animation.FAST, trans.fast.str()),
|
||||
(Pref.Animation.NORMAL, trans.normal.str()),
|
||||
(Pref.Animation.SLOW, trans.slow.str())
|
||||
)
|
||||
|
||||
def translatedBoardCoordinateChoices(implicit ctx: Context) = List(
|
||||
(Pref.Coords.NONE, trans.no.str()),
|
||||
(Pref.Coords.INSIDE, trans.insideTheBoard.str()),
|
||||
(Pref.Coords.OUTSIDE, trans.outsideTheBoard.str())
|
||||
)
|
||||
|
||||
def translatedMoveListWhilePlayingChoices(implicit ctx: Context) = List(
|
||||
(Pref.Replay.NEVER, trans.never.str()),
|
||||
(Pref.Replay.SLOW, trans.onSlowGames.str()),
|
||||
(Pref.Replay.ALWAYS, trans.always.str())
|
||||
)
|
||||
|
||||
def translatedTakebackChoices(implicit ctx: Context) = List(
|
||||
(Pref.Takeback.NEVER, trans.never.str()),
|
||||
(Pref.Takeback.ALWAYS, trans.always.str()),
|
||||
(Pref.Takeback.CASUAL, trans.inCasualGamesOnly.str())
|
||||
)
|
||||
|
||||
def translatedAutoQueenChoices(implicit ctx: Context) = List(
|
||||
(Pref.AutoQueen.NEVER, trans.never.str()),
|
||||
(Pref.AutoQueen.ALWAYS, trans.always.str()),
|
||||
(Pref.AutoQueen.PREMOVE, trans.whenPremoving.str())
|
||||
)
|
||||
|
||||
def translatedAutoThreefoldChoices(implicit ctx: Context) = List(
|
||||
(Pref.AutoThreefold.NEVER, trans.never.str()),
|
||||
(Pref.AutoThreefold.ALWAYS, trans.always.str()),
|
||||
(Pref.AutoThreefold.TIME, trans.whenTimeRemainingLessThanThirtySeconds.str())
|
||||
)
|
||||
|
||||
def translatedDifficultyChoices(implicit ctx: Context) = List(
|
||||
(Pref.Difficulty.EASY, trans.difficultyEasy.str()),
|
||||
(Pref.Difficulty.NORMAL, trans.difficultyNormal.str()),
|
||||
(Pref.Difficulty.HARD, trans.difficultyHard.str())
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,23 +1,22 @@
|
|||
@(u: User)(implicit ctx: Context)
|
||||
|
||||
@title = @{ "%s - close account".format(u.username) }
|
||||
@title = @{ "%s - ${trans.closeAccount.str()}".format(u.username) }
|
||||
|
||||
@account.layout(title = title, active = "close") {
|
||||
<div class="content_box small_box">
|
||||
<div class="signup_box">
|
||||
<h1 class="lichess_title">Close your account</h1>
|
||||
<h1 class="lichess_title">@trans.closeYourAccount()</h1>
|
||||
<p class="explanation">
|
||||
Are you sure you want to close your account? Closing your account is a permanent decision.
|
||||
You will no longer be able to login, and your profile page will no longer be accessible.
|
||||
@trans.closeAccountExplanation()
|
||||
</p>
|
||||
<form action="@routes.Account.closeConfirm" method="POST">
|
||||
<br /><br />
|
||||
<a href="@routes.User.show(u.username)">
|
||||
I changed my mind, don't close my account
|
||||
@trans.changedMindDoNotCloseAccount()
|
||||
</a>
|
||||
<br /><br />
|
||||
<br /><br />
|
||||
<input type="submit" class="submit button" value="Close my account" />
|
||||
<input type="submit" class="submit button" value="@trans.closeYourAccount()" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
@trans.changeEmail()
|
||||
</a>
|
||||
<a class="@active.active("close")" href="@routes.Account.close()">
|
||||
Close account
|
||||
@trans.closeAccount()
|
||||
</a>
|
||||
}
|
||||
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
</h1>
|
||||
<form action="@routes.Account.passwdApply" method="POST">
|
||||
<ul>
|
||||
@account.passwdFormField(form("oldPasswd"), "Current password")
|
||||
@account.passwdFormField(form("newPasswd1"), "New password")
|
||||
@account.passwdFormField(form("newPasswd2"), "New password (again)")
|
||||
@account.passwdFormField(form("oldPasswd"), trans.currentPassword.str())
|
||||
@account.passwdFormField(form("newPasswd1"), trans.newPassword.str())
|
||||
@account.passwdFormField(form("newPasswd2"), trans.newPasswordAgain.str())
|
||||
<li>
|
||||
@errMsg(form)
|
||||
</li>
|
||||
|
|
|
@ -14,90 +14,90 @@
|
|||
<ul>
|
||||
<li>
|
||||
<h2>@trans.pieceAnimation()</h2>
|
||||
@base.radios(form("animation"), Pref.Animation.choices)
|
||||
@base.radios(form("animation"), translatedAnimationChoices)
|
||||
</li>
|
||||
<li>
|
||||
<h2>@trans.materialDifference()</h2>
|
||||
@base.radios(form("captured"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Board highlights (last move and check)</h2>
|
||||
<h2>@trans.boardHighlights()</h2>
|
||||
@base.radios(form("highlight"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Piece destinations (valid moves and premoves)</h2>
|
||||
<h2>@trans.pieceDestinations()</h2>
|
||||
@base.radios(form("destination"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Board coordinates (A-H, 1-8)</h2>
|
||||
@base.radios(form("coords"), Pref.Coords.choices)
|
||||
<h2>@trans.boardCoordinates()</h2>
|
||||
@base.radios(form("coords"), translatedBoardCoordinateChoices)
|
||||
</li>
|
||||
<li>
|
||||
<h2>Move list while playing</h2>
|
||||
@base.radios(form("replay"), Pref.Replay.choices)
|
||||
<h2>@trans.moveListWhilePlaying()</h2>
|
||||
@base.radios(form("replay"), translatedMoveListWhilePlayingChoices)
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Chess clock</legend>
|
||||
<legend>@trans.chessClock()</legend>
|
||||
<ul>
|
||||
<li>
|
||||
<h2>Tenths of seconds</h2>
|
||||
@base.radios(form("clockTenths"), Seq(0 -> "Never", 1 -> "When time remaining < 10 seconds"))
|
||||
<h2>@trans.tenthsOfSeconds()</h2>
|
||||
@base.radios(form("clockTenths"), Seq(0 -> trans.never.str(), 1 -> trans.whenTimeRemainingLessThanTenSeconds.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Horizontal green progress bars</h2>
|
||||
<h2>@trans.horizontalGreenProgressBars()</h2>
|
||||
@base.radios(form("clockBar"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Sound when time gets critical</h2>
|
||||
<h2>@trans.soundWhenTimeGetsCritical()</h2>
|
||||
@base.radios(form("clockSound"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Game behavior</legend>
|
||||
<legend>@trans.gameBehavior()</legend>
|
||||
<ul>
|
||||
<li>
|
||||
<h2>Premoves (playing during opponent turn)</h2>
|
||||
<h2>@trans.premovesPlayingDuringOpponentTurn()</h2>
|
||||
@base.radios(form("premove"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Takebacks (with opponent approval)</h2>
|
||||
@base.radios(form("takeback"), Pref.Takeback.choices)
|
||||
<h2>@trans.takebacksWithOpponentApproval()</h2>
|
||||
@base.radios(form("takeback"), translatedTakebackChoices)
|
||||
</li>
|
||||
<li>
|
||||
<h2>Promote to Queen automatically</h2>
|
||||
@base.radios(form("autoQueen"), Pref.AutoQueen.choices)
|
||||
<h2>@trans.promoteToQueenAutomatically()</h2>
|
||||
@base.radios(form("autoQueen"), translatedAutoQueenChoices)
|
||||
</li>
|
||||
<li>
|
||||
<h2>Claim draw on <a href="http://en.wikipedia.org/wiki/Threefold_repetition">threefold repetition</a> automatically</h2>
|
||||
@base.radios(form("autoThreefold"), Pref.AutoThreefold.choices)
|
||||
<h2>@trans.claimDrawOnThreefoldRepetitionAutomatically("<a href=\"http://en.wikipedia.org/wiki/Threefold_repetition\">", "</a>")</h2>
|
||||
@base.radios(form("autoThreefold"), translatedAutoThreefoldChoices)
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Privacy</legend>
|
||||
<legend>@trans.privacy()</legend>
|
||||
<ul>
|
||||
<li>
|
||||
<h2>Let other players follow you</h2>
|
||||
<h2>@trans.letOtherPlayersFollowYou()</h2>
|
||||
@base.radios(form("follow"), Seq(0 -> trans.no.str(), 1 -> trans.yes.str()))
|
||||
</li>
|
||||
<li>
|
||||
<h2>Let other players challenge you</h2>
|
||||
<h2>@trans.letOtherPlayersChallengeYou()</h2>
|
||||
@base.radios(form("challenge"), Pref.Challenge.choices)
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Sound</legend>
|
||||
<legend>@trans.sound()</legend>
|
||||
<ul>
|
||||
<li>
|
||||
The sound control is in the top bar of every page, on the right side.
|
||||
@trans.soundControlInTheTopBarOfEveryPage()
|
||||
</li>
|
||||
</ul>
|
||||
</fieldset>
|
||||
<p data-icon="E"> Your preferences have been saved.</p>
|
||||
<p data-icon="E"> @trans.yourPreferencesHaveBeenSaved()</p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="content_box small_box">
|
||||
<div class="signup_box">
|
||||
<h1 class="lichess_title">@trans.editProfile()</h1>
|
||||
<p>All information is public and optional.</p>
|
||||
<p>@trans.allInformationIsPublicAndOptional()</p>
|
||||
<form action="@routes.Account.profileApply" method="POST">
|
||||
<ul>
|
||||
<li class="field">
|
||||
|
@ -20,13 +20,13 @@
|
|||
<li class="field">
|
||||
<label for="@form("location").id">@trans.location()</label>
|
||||
@base.input(form("location"))
|
||||
<p class="help">Your city, region, or department.</p>
|
||||
<p class="help">@trans.yourCityRegionOrDepartment()</p>
|
||||
</li>
|
||||
<li class="field">
|
||||
<label for="@form("bio").id">@trans.biography()</label>
|
||||
<textarea name="@form("bio").name" id="@form("bio").id" cols="25" rows="7">@form("bio").value</textarea>
|
||||
<p class="help">Tell about you, what you like in chess, your favorite openings, games, players…</p>
|
||||
<p class="help">Maximum: 400 characters.</p>
|
||||
<p class="help">@trans.biographyDescription()</p>
|
||||
<p class="help">@trans.maximumNbCharacters(400)</p>
|
||||
</li>
|
||||
<li class="field">
|
||||
<label for="@form("firstName").id">@trans.firstName()</label>
|
||||
|
|
|
@ -115,13 +115,13 @@ openGraph = povOpenGraph(pov)) {
|
|||
}.getOrElse {
|
||||
@if(analysis.isEmpty) {
|
||||
<form class="future_game_analysis@if(ctx.isAnon) { must_login }" action="@routes.Analyse.requestAnalysis(gameId)" method="post">
|
||||
<button type="submit" class="button"><span class="is3" data-icon="A"> @trans.requestAComputerAnalysis()</span></button>
|
||||
<button type="submit" class="button text"><span class="is3 text" data-icon="^">@trans.requestAComputerAnalysis()</span></button>
|
||||
</form>
|
||||
}
|
||||
}
|
||||
<div class="view_game_analysis future_game_analysis" data-href="@routes.Round.watcher(pov.gameId, pov.color.name)">
|
||||
<a class="button" href="@routes.Round.watcher(pov.gameId, pov.color.name)">
|
||||
<span class="is3" data-icon="A"> @trans.viewTheComputerAnalysis()</span>
|
||||
<span class="is3 text" data-icon="^">@trans.viewTheComputerAnalysis()</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -172,7 +172,7 @@ openGraph = povOpenGraph(pov)) {
|
|||
@analysis.filter(_.old && ctx.isAuth).map { a =>
|
||||
<form class="better_analysis" action="@routes.Analyse.betterAnalysis(gameId, color.name)" method="post">
|
||||
<button type="submit" class="button">
|
||||
<span class="is3" data-icon="A"> Request a better computer analysis</span>
|
||||
<span class="is3 text" data-icon="^">Request a better computer analysis</span>
|
||||
</button>
|
||||
</form>
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ zen = true) {
|
|||
</li>
|
||||
@errMsg(form)
|
||||
<li>
|
||||
<button type="submit" class="submit button" data-icon="F"> Email me a link</button>
|
||||
<button type="submit" class="submit button" data-icon="F"> @trans.emailMeALink()</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
|
|
|
@ -14,7 +14,7 @@ data: @Html(play.api.libs.json.Json.stringify(data)),
|
|||
routes: roundRoutes.controllers,
|
||||
i18n: @round.jsI18n()
|
||||
};
|
||||
lichess.user_analysis.data.inGame = true;
|
||||
lichess.user_analysis.data.inGame = @pov.isDefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<td class="last_post">
|
||||
@categ.lastPost.map {
|
||||
case (topic, post, page) => {
|
||||
<a href="@routes.ForumTopic.show(categ.slug, topic.slug, page)#@post.number">@momentFromNow(post.createdAt)</a><br />by @Html(authorName(post))
|
||||
<a href="@routes.ForumTopic.show(categ.slug, topic.slug, page)#@post.number">@momentFromNow(post.createdAt)</a><br />@trans.by(Html(authorName(post)))
|
||||
}
|
||||
}
|
||||
</td>
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
@(userId: String, form: Form[_], captcha: lila.common.Captcha)(implicit ctx: Context)
|
||||
|
||||
@auth.layout(
|
||||
title = trans.exportGames.str(),
|
||||
zen = true) {
|
||||
<div class="content_box small_box signup">
|
||||
<div class="signup_box">
|
||||
<h1 class="lichess_title">@trans.exportGames()</h1>
|
||||
<form action="@routes.Game.exportConfirm(userId)" method="POST">
|
||||
<ul>
|
||||
<li>
|
||||
@base.captcha(form("move"), form("gameId"), captcha)
|
||||
</li>
|
||||
@errMsg(form)
|
||||
<li>
|
||||
<button type="submit" class="text submit button" data-icon="F">@trans.exportGames()</button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
}
|
|
@ -83,7 +83,7 @@
|
|||
<br /><br />
|
||||
}
|
||||
<div class="metadata">
|
||||
@if(g.metadata.analysed) {<span data-icon="A"> Computer analysis available</span><br />}
|
||||
@if(g.metadata.analysed) {<span data-icon="^"> Computer analysis available</span><br />}
|
||||
@g.pgnImport.flatMap(_.user).map { user =>
|
||||
PGN import by @userIdLinkMini(user)<br />
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ openGraph = Map(
|
|||
}
|
||||
<div class="open_tournaments undertable">
|
||||
<div class="undertable_top">
|
||||
<a class="more hint--bottom" data-hint="See all tournaments" href="@routes.Tournament.home()">@trans.more() »</a>
|
||||
<a class="more hint--bottom" data-hint="@trans.seeAllTournaments()" href="@routes.Tournament.home()">@trans.more() »</a>
|
||||
<span class="title"> @trans.openTournaments()</span>
|
||||
</div>
|
||||
<div id="enterable_tournaments" class="undertable_inner scroll-shadow-hard">
|
||||
|
|
|
@ -12,7 +12,7 @@ object JsData extends lila.Steroids {
|
|||
|
||||
def apply(
|
||||
opening: Opening,
|
||||
names: List[String],
|
||||
identified: List[Identified],
|
||||
userInfos: Option[lila.opening.UserInfos],
|
||||
play: Boolean,
|
||||
attempt: Option[Attempt],
|
||||
|
@ -35,7 +35,11 @@ object JsData extends lila.Steroids {
|
|||
"quality" -> quality.name)
|
||||
}),
|
||||
"url" -> s"$netBaseUrl${routes.Opening.show(opening.id)}",
|
||||
"names" -> names
|
||||
"identified" -> identified.map { ident =>
|
||||
Json.obj(
|
||||
"name" -> ident.name,
|
||||
"moves" -> ident.moves)
|
||||
}
|
||||
),
|
||||
"animation" -> Json.obj(
|
||||
"duration" -> ctx.pref.animationFactor * animationDuration.toMillis
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@(opening: lila.opening.Opening, names: List[String], userInfos: Option[lila.opening.UserInfos], animationDuration: scala.concurrent.duration.Duration)(implicit ctx: Context)
|
||||
@(opening: lila.opening.Opening, identified: List[lila.opening.Identified], userInfos: Option[lila.opening.UserInfos], animationDuration: scala.concurrent.duration.Duration)(implicit ctx: Context)
|
||||
|
||||
@evenMoreJs = {
|
||||
@helper.javascriptRouter("openingRoutes")(
|
||||
|
@ -6,7 +6,7 @@
|
|||
@embedJs {
|
||||
LichessOpening(
|
||||
document.querySelector('#lichess .round'),
|
||||
@JsData(opening, names, userInfos, play = true, attempt = none, win = none, animationDuration = animationDuration),
|
||||
@JsData(opening, identified, userInfos, play = true, attempt = none, win = none, animationDuration = animationDuration),
|
||||
openingRoutes.controllers,
|
||||
@Html(J.stringify(i18nJsObject(
|
||||
trans.training,
|
||||
|
@ -33,7 +33,10 @@ trans.thisMoveGivesYourOpponentTheAdvantage,
|
|||
trans.analysis,
|
||||
trans.puzzles,
|
||||
trans.coordinates,
|
||||
trans.openings
|
||||
trans.openings,
|
||||
trans.continueFromHere,
|
||||
trans.playWithTheMachine,
|
||||
trans.playWithAFriend
|
||||
)))
|
||||
);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ object JsData extends lila.Steroids {
|
|||
},
|
||||
"difficulty" -> ctx.isAuth.option {
|
||||
Json.obj(
|
||||
"choices" -> JsArray(lila.pref.Pref.Difficulty.choices.map {
|
||||
"choices" -> JsArray(translatedDifficultyChoices.map {
|
||||
case (k, v) => Json.arr(k, v)
|
||||
}),
|
||||
"current" -> ctx.pref.puzzleDifficulty
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
@(u: User, users: List[lila.relation.Related])(implicit ctx: Context)
|
||||
|
||||
@user.layout(title = u.username + " - " + trans.blocks(users.size)) {
|
||||
<div class="content_box no_padding">
|
||||
<h1>
|
||||
@userLink(u, withOnline = false)
|
||||
@trans.blocks(users.size)
|
||||
</h1>
|
||||
@user.simpleTable(users)
|
||||
</div>
|
||||
}
|
||||
|
|
@ -17,19 +17,19 @@ case ForumPost(userId, topicName, postId) => {
|
|||
@trans.xPostedInForumY(userIdLink(userId.some, withOnline = false), """<a href="%s"> %s</a>""".format(routes.ForumPost.redirect(postId), shorten(topicName, 30)))
|
||||
}
|
||||
case NoteCreate(fromId, toId) => {
|
||||
@userIdLink(fromId.some, withOnline = false) left a note on @userIdLink(toId.some, withOnline = false, params = "?note")
|
||||
@trans.xLeftANoteOnY(userIdLink(fromId.some, withOnline = false), userIdLink(toId.some, withOnline = false, params = "?note"))
|
||||
}
|
||||
case TourJoin(userId, tourId, tourName) => {
|
||||
@userIdLink(userId.some, withOnline = false) competes in <a href="@routes.Tournament.show(tourId)">@tourName</a>
|
||||
@trans.xCompetesInY(userIdLink(userId.some, withOnline = false), """<a href="%s">%s</a>""".format(routes.Tournament.show(tourId), tourName))
|
||||
}
|
||||
case QaQuestion(userId, id, title) => {
|
||||
@userIdLink(userId.some, withOnline = false) asked <a href="@routes.QaQuestion.show(id, "redirect")">@title</a>
|
||||
@trans.xAskedY(userIdLink(userId.some, withOnline = false), """<a href="%s">%s</a>""".format(routes.QaQuestion.show(id, "redirect"), title))
|
||||
}
|
||||
case QaAnswer(userId, id, title, answerId) => {
|
||||
@userIdLink(userId.some, withOnline = false) answered <a href="@routes.QaQuestion.show(id, "redirect")#answer-@answerId">@title</a>
|
||||
@trans.xAnsweredY(userIdLink(userId.some, withOnline = false), """<a href="%s#answer-%s">%s</a>""".format(routes.QaQuestion.show(id, "redirect"), answerId, title))
|
||||
}
|
||||
case QaComment(userId, id, title, commentId) => {
|
||||
@userIdLink(userId.some, withOnline = false) commented <a href="@routes.QaQuestion.show(id, "redirect")#comment-@commentId">@title</a>
|
||||
@trans.xCommentedY(userIdLink(userId.some, withOnline = false), """<a href="%s#comment-%s">%s</a>""".format(routes.QaQuestion.show(id, "redirect"), commentId, title))
|
||||
}
|
||||
}
|
||||
@momentFromNow(e.date)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@(entries: List[lila.timeline.Entry])(implicit ctx: Context)
|
||||
|
||||
@base.layout(title = "Timeline") {
|
||||
@base.layout(title = trans.timeline.str()) {
|
||||
<style type="text/css">
|
||||
#timeline_more td {
|
||||
padding: 1em 25px;
|
||||
|
@ -19,7 +19,7 @@
|
|||
}
|
||||
</style>
|
||||
<div id="timeline_more" class="content_box small_box no_padding">
|
||||
<h1>Timeline</h1>
|
||||
<h1>@trans.timeline()</h1>
|
||||
<table class="datatable"><tbody>
|
||||
@entries.map { e =>
|
||||
<tr>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
@Html(J.stringify(i18nJsObject(
|
||||
trans.standing,
|
||||
trans.isPrivate,
|
||||
trans.starting,
|
||||
trans.tournamentIsStarting,
|
||||
trans.tournamentPoints,
|
||||
trans.viewTournament,
|
||||
|
|
|
@ -8,7 +8,7 @@ robots = false) {
|
|||
<h1 class="lichess_title">@u.username</h1>
|
||||
</div>
|
||||
<div class="content_box_content clearfix">
|
||||
This account is closed.
|
||||
@trans.thisAccountIsClosed()
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
|
|
@ -115,6 +115,9 @@ openGraph = Map(
|
|||
<a class="button hint--bottom-left" href="@routes.Account.profile" data-hint="@trans.editProfile()">
|
||||
<span data-icon="%"></span>
|
||||
</a>
|
||||
<a class="button hint--bottom-left" href="@routes.Relation.blocks" data-hint="@trans.listBlockedPlayers()">
|
||||
<span data-icon="k"></span>
|
||||
</a>
|
||||
}
|
||||
@if(isGranted(_.UserSpy)) {
|
||||
<a class="button mod_zone_toggle hint--bottom-left" href="@routes.User.mod(u.username)" data-hint="Mod zone"><span data-icon="n"></span></a>
|
||||
|
|
|
@ -336,8 +336,6 @@ replyToThisTopic=Reply to this topic
|
|||
reply=Reply
|
||||
message=Message
|
||||
createTheTopic=Create the topic
|
||||
reopenTheTopic=Reopen the topic
|
||||
closeTheTopic=Close the topic
|
||||
reportAUser=Report a user
|
||||
user=User
|
||||
reason=Reason
|
||||
|
@ -360,3 +358,62 @@ typePrivateNotesHere=Type private notes here
|
|||
gameDisplay=Game display
|
||||
pieceAnimation=Piece animation
|
||||
materialDifference=Material difference
|
||||
closeAccount=Close account
|
||||
closeYourAccount=Close your account
|
||||
changedMindDoNotCloseAccount=I changed my mind, don't close my account
|
||||
closeAccountExplanation=Are you sure you want to close your account? Closing your account is a permanent decision. You will no longer be able to login, and your profile page will no longer be accessible.
|
||||
thisAccountIsClosed=This account is closed.
|
||||
invalidUsernameOrPassword=Invalid username or password
|
||||
emailMeALink=Email me a link
|
||||
currentPassword=Current password
|
||||
newPassword=New password
|
||||
newPasswordAgain=New password (again)
|
||||
boardHighlights=Board highlights (last move and check)
|
||||
pieceDestinations=Piece destinations (valid moves and premoves)
|
||||
boardCoordinates=Board coordinates (A-H, 1-8)
|
||||
moveListWhilePlaying=Move list while playing
|
||||
chessClock=Chess clock
|
||||
tenthsOfSeconds=Tenths of seconds
|
||||
never=Never
|
||||
whenTimeRemainingLessThanTenSeconds=When time remaining < 10 seconds
|
||||
horizontalGreenProgressBars=Horizontal green progress bars
|
||||
soundWhenTimeGetsCritical=Sound when time gets critical
|
||||
gameBehavior=Game behavior
|
||||
premovesPlayingDuringOpponentTurn=Premoves (playing during opponent turn)
|
||||
takebacksWithOpponentApproval=Takebacks (with opponent approval)
|
||||
promoteToQueenAutomatically=Promote to Queen automatically
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Claim draw on %sthreefold repetition%s automatically
|
||||
privacy=Privacy
|
||||
letOtherPlayersFollowYou=Let other players follow you
|
||||
letOtherPlayersChallengeYou=Let other players challenge you
|
||||
sound=Sound
|
||||
soundControlInTheTopBarOfEveryPage=The sound control is in the top bar of every page, on the right side.
|
||||
yourPreferencesHaveBeenSaved=Your preferences have been saved.
|
||||
none=None
|
||||
fast=Fast
|
||||
normal=Normal
|
||||
slow=Slow
|
||||
insideTheBoard=Inside the board
|
||||
outsideTheBoard=Outside the board
|
||||
onSlowGames=On slow games
|
||||
always=Always
|
||||
inCasualGamesOnly=In casual games only
|
||||
whenPremoving=When premoving
|
||||
whenTimeRemainingLessThanThirtySeconds=When time remaining < 30 seconds
|
||||
difficultyEasy=Easy
|
||||
difficultyNormal=Normal
|
||||
difficultyHard=Hard
|
||||
xLeftANoteOnY=%s left a note on %s
|
||||
xCompetesInY=%s competes in %s
|
||||
xAskedY=%s asked %s
|
||||
xAnsweredY=%s answered %s
|
||||
xCommentedY=%s commented %s
|
||||
timeline=Timeline
|
||||
seeAllTournaments=See all tournaments
|
||||
starting=Starting:
|
||||
allInformationIsPublicAndOptional=All information is public and optional.
|
||||
yourCityRegionOrDepartment=Your city, region, or department.
|
||||
biographyDescription=Tell about you, what you like in chess, your favorite openings, games, players…
|
||||
maximumNbCharacters=Maximum: %s characters.
|
||||
blocks=%s blocks
|
||||
listBlockedPlayers=List players that you have blocked
|
||||
|
|
|
@ -85,6 +85,7 @@ password=Wagwoord
|
|||
haveAnAccount=Klaar geregistreer?
|
||||
allYouNeedIsAUsernameAndAPassword=Dis vinnig, jy't net 'n gebruiker-naam en wagwoord nodig.
|
||||
changePassword=Verander wagwoord
|
||||
forgotPassword=vergeet my waagword
|
||||
learnMoreAboutLichess=Leer meer oor Lichess
|
||||
rank=Vlak
|
||||
gamesPlayed=Gespeel
|
||||
|
@ -246,3 +247,6 @@ watchLichessTV=Kyk Lichess TV
|
|||
previouslyOnLichessTV=Voorigekeer op Lichess TV
|
||||
todaysLeaders=Vandag se voorloopers
|
||||
onlinePlayers=Online Speelers
|
||||
progressToday=vordering vandag
|
||||
progressThisWeek=vorder hierdie week
|
||||
progressThisMonth=vorder hierdie maand
|
||||
|
|
133
conf/messages.ar
133
conf/messages.ar
|
@ -127,13 +127,13 @@ mode=النمط
|
|||
casual=غير مقيّمة
|
||||
rated=مقيّمة
|
||||
thisGameIsRated=هذه المبارة مقيّمة
|
||||
rematch=إعادة المبارة
|
||||
rematchOfferSent=تم إرسال عرض مباراة ثانية
|
||||
rematchOfferAccepted=تم قبول عرض المباراة الثانية
|
||||
rematch=إعادة اللعب
|
||||
rematchOfferSent=تم إرسال عرض إعادة اللعب
|
||||
rematchOfferAccepted=تم قبول عرض إعادة اللعب
|
||||
rematchOfferCanceled=تم إلغاء عرض إعادة اللعب
|
||||
rematchOfferDeclined=تم رفض عرض إعادة اللعب
|
||||
cancelRematchOffer=إلغاء عرض إعادة اللعب
|
||||
viewRematch=مشاهدة إعادة المباراة
|
||||
viewRematch=مشاهدة إعادة اللعب
|
||||
play=إلعب
|
||||
inbox=صندوق الرسائل
|
||||
chatRoom=غرفة الدردشة
|
||||
|
@ -149,10 +149,10 @@ spectators=المتفرجون
|
|||
nbWins=%s ربح
|
||||
nbLosses=%s خسر
|
||||
nbDraws=%s تعادل
|
||||
exportGames=تصدير اللعب
|
||||
exportGames=تصديراللعبات
|
||||
ratingRange=تصنيف Elo
|
||||
giveNbSeconds=اعطاء %s ثوان
|
||||
premoveEnabledClickAnywhereToCancel=لديك نقلة مسبقة"اضغط في أي مكان للإلغاء"
|
||||
giveNbSeconds=اعطاء %s ثانية
|
||||
premoveEnabledClickAnywhereToCancel=لديك نقلة إستباقية" اضغط في أي مكان للإلغاء"
|
||||
thisPlayerUsesChessComputerAssistance=هذا اللاعب يستعين ببرامج شطرنج
|
||||
opening=افتتاحية
|
||||
takeback=تراجع عن النقلة
|
||||
|
@ -165,11 +165,11 @@ yourOpponentProposesATakeback=خصمك يقترح تراجع عن النقلة
|
|||
bookmarkThisGame=أضف هذه اللعبة للمفضلة
|
||||
search=بحث
|
||||
advancedSearch=بحث متقدم
|
||||
tournament=بطولة
|
||||
tournaments=بطولات
|
||||
tournamentPoints=نقاط البطولة
|
||||
viewTournament=شاهد البطولة
|
||||
backToTournament=عودة الى البطولة
|
||||
tournament=مسابقة
|
||||
tournaments=مسابقات
|
||||
tournamentPoints=نقاط المسابقة
|
||||
viewTournament=شاهد المسابقة
|
||||
backToTournament=عودة الى المسابقة
|
||||
backToGame=العودة للعبة
|
||||
freeOnlineChessGamePlayChessNowInACleanInterfaceNoRegistrationNoAdsNoPluginRequiredPlayChessWithComputerFriendsOrRandomOpponents=.لعبة شطرنج اون لاين مجانية. العب شطرنج الآن بواجهة نظيفه. لا تسجيل. لا دعايات. لا حاجه لوجود أي إضافات. العب الشطرنج مع الحاسوب، أو مع أصدقائك أو مع خصم عشوائي.
|
||||
teams=الفِرق
|
||||
|
@ -236,7 +236,7 @@ required=مطلوب
|
|||
openTournaments=المسابقات المفتوحة
|
||||
duration=المدة
|
||||
winner=الفائز
|
||||
standing=المكانه
|
||||
standing=المكانة
|
||||
createANewTournament=أنشئ مسابقة جديدة
|
||||
join=انضم
|
||||
withdraw=انسحب
|
||||
|
@ -245,14 +245,14 @@ wins=الفوز
|
|||
losses=الخسارة
|
||||
winStreak=فوز متتالي
|
||||
createdBy=أُنشئت بواسطة
|
||||
waitingForNbPlayers=بانتظار %s لاعبين
|
||||
waitingForNbPlayers=بانتظار %s لاعب
|
||||
tournamentIsStarting=المسابقة بدأت
|
||||
membersOnly=للأعضاء فقط
|
||||
boardEditor=محرر الرقعه
|
||||
startPosition=وضع البدايه
|
||||
clearBoard=مسح الرقعه
|
||||
savePosition=تخزين الوضعية
|
||||
loadPosition=موقف الحمل
|
||||
loadPosition=تحميل وضعية
|
||||
isPrivate=خاص
|
||||
reportXToModerators=التبليغ عن %s
|
||||
profile=الملف الشخصي
|
||||
|
@ -262,8 +262,8 @@ lastName=اللقب
|
|||
biography=نبذة عن الشخصية
|
||||
country=البلد
|
||||
preferences=خیارات
|
||||
watchLichessTV=تفرج على Lichess TV
|
||||
previouslyOnLichessTV=سابقا على Liches TV
|
||||
watchLichessTV=شاهد Lichess TV
|
||||
previouslyOnLichessTV=سابقاً على Liches TV
|
||||
todaysLeaders=قياديي اليوم
|
||||
onlinePlayers=لاعبين على الشبكة
|
||||
progressToday=تقدم اليوم
|
||||
|
@ -316,3 +316,102 @@ thisMoveGivesYourOpponentTheAdvantage=هذه النقلة تعطي خصمك ال
|
|||
openingFailed=خسرت الإفتتاحية
|
||||
openingSolved=ربحت الإفتتاحية
|
||||
recentlyPlayedOpenings=إفتتاحيات تم لعبها مؤخراً
|
||||
puzzles=ألغاز
|
||||
coordinates=إحداثيات
|
||||
openings=إفتتاحيات
|
||||
latestUpdates=آخر التحديثات
|
||||
tournamentWinners=فائزوا المسابقة
|
||||
name=الإسم
|
||||
description=الوصف
|
||||
no=لا
|
||||
yes=نعم
|
||||
help=مساعدة:
|
||||
createANewTopic=أنشئ موضوع جديد
|
||||
topics=المواضيع
|
||||
posts=المنشورات
|
||||
lastPost=آخر منشور
|
||||
views=المشاهدات
|
||||
replies=الردود
|
||||
replyToThisTopic=رد على هذا الموضوع
|
||||
reply=رد
|
||||
message=الرسالة
|
||||
createTheTopic=أنشىء الموضوع
|
||||
reportAUser=إخبار عن مستخدم
|
||||
user=المستخدم
|
||||
reason=السبب
|
||||
whatIsIheMatter=ماهي المشكلة؟
|
||||
cheat=غش
|
||||
insult=إهانة
|
||||
troll=تلاعب
|
||||
other=أخرى
|
||||
reportDescriptionHelp=ألصق رابط اللعبة/اللعب واشرح ماهو الخطأ في سلوك هذا المستخدم
|
||||
by=بواسطة %s
|
||||
thisTopicIsNowClosed=هذا الموضوع مغلق الآن
|
||||
theming=السمات
|
||||
donate=التبرع
|
||||
blog=المدونة
|
||||
map=الخريطة
|
||||
realTimeWorldMapOfChessMoves=خريطة عالمية آنية لتفاعلات الشطرنج
|
||||
questionsAndAnswers=أسئلة و أجوبة
|
||||
notes=ملاحظات
|
||||
typePrivateNotesHere=أكتب ملاحظات خاصة هنا
|
||||
gameDisplay=عرض اللعبة
|
||||
pieceAnimation=الرسم الحركي للقطعة
|
||||
materialDifference=الفرق المادي
|
||||
closeAccount=إغلاق الحساب
|
||||
closeYourAccount=أغلق حسابك
|
||||
changedMindDoNotCloseAccount=لقد غيّرت رأيي, لاتغلق حسابي
|
||||
closeAccountExplanation=هل أنت متأكد أنك تريد إغلاق حسابك؟ إن إغلاق حسابك هو قرار نهائي. فلن تكون قادراً على الدخول مرة أخرى, ولايمكنك الوصول لصفحة حسابك بعد الآن.
|
||||
thisAccountIsClosed=هذا الحساب مغلق.
|
||||
invalidUsernameOrPassword=إسم المستخدم أو كلمة المرور غير صحيح
|
||||
emailMeALink=أرسل الرابط لي عبر الإيميل
|
||||
currentPassword=كلمة المرور الحالية
|
||||
newPassword=كلمة المرور الجديدة
|
||||
newPasswordAgain=كلمة المرور الجديدة (إعادة)
|
||||
boardHighlights=تلوين اللوح (آخر نقلة والقطعة المراد تحريكها)
|
||||
pieceDestinations=وجهات القطعة ( النقلات المتاحة والنقلات الإستباقية)
|
||||
boardCoordinates=إحداثيات اللوح (A-H, 1-8)
|
||||
moveListWhilePlaying=لائحة النقلات خلال اللعب
|
||||
chessClock=ساعة الشطرنج
|
||||
tenthsOfSeconds=عشر ثوانٍ
|
||||
never=أبداً
|
||||
whenTimeRemainingLessThanTenSeconds=عندما يكون الوقت المتبقي أقل من 10 ثوانٍ
|
||||
horizontalGreenProgressBars=الشريط الأخضر الأفقي للتقدم
|
||||
soundWhenTimeGetsCritical=الصوت عندما يقارب الوقت على الإنتهاء
|
||||
gameBehavior=سلوكيات اللعبة
|
||||
premovesPlayingDuringOpponentTurn=النقلات الإستباقية (اللعب خلال دور الخصم)
|
||||
takebacksWithOpponentApproval=التراجع عن النقلات (بموافقة الخصم)
|
||||
promoteToQueenAutomatically=الترقية إلى وزير آلياً
|
||||
claimDrawOnThreefoldRepetitionAutomatically=إعلان التعادل آلياً عند التكرار الثلاثي %sthreefold repetition%s
|
||||
privacy=الخصوصية
|
||||
letOtherPlayersFollowYou=اسمح للّاعبين الآخرين بمتابعتك
|
||||
letOtherPlayersChallengeYou=اسمح للّاعبين الآخرين بأن يتحدوك
|
||||
sound=الصوت
|
||||
soundControlInTheTopBarOfEveryPage=متحكم الصوت موجود في الشرط العلوي في كل صفحة, على الجانب الأيمن.
|
||||
yourPreferencesHaveBeenSaved=تم حفظ تفضيلاتك.
|
||||
none=لاشئ
|
||||
fast=سريع
|
||||
normal=عادي
|
||||
slow=بطيء
|
||||
insideTheBoard=داخل اللوح
|
||||
outsideTheBoard=خارج اللوح
|
||||
onSlowGames=في اللعبات البطيئة
|
||||
always=دائماً
|
||||
inCasualGamesOnly=في اللعبات غير المقيمة فقط
|
||||
whenPremoving=عند الحركة الإستباقية
|
||||
whenTimeRemainingLessThanThirtySeconds=عندما يكون الوقت المتبقي أقل من 30 ثانية
|
||||
difficultyEasy=سهل
|
||||
difficultyNormal=عادي
|
||||
difficultyHard=صعب
|
||||
xLeftANoteOnY=ترك %s ملاحظة على %s
|
||||
xCompetesInY=%s تنافس في %s
|
||||
xAskedY=%s سأل %s
|
||||
xAnsweredY=%s أجاب %s
|
||||
xCommentedY=%s علّق %s
|
||||
timeline=الخط الزمني
|
||||
seeAllTournaments=شاهد كل المسابقات
|
||||
starting=تبدأ خلال:
|
||||
allInformationIsPublicAndOptional=كل المعلومات متاحة للجميع وهي إختيارية.
|
||||
yourCityRegionOrDepartment=مدينتك, منطقتك. أو المقاطعة.
|
||||
biographyDescription=أخبر عن نفسك, ماذا تحب في الشطرنج, ماذا تفضل من الإفتتاحيات, اللعبات, اللاعبين....
|
||||
maximumNbCharacters=الحد الأقصى: %s حرف.
|
||||
|
|
|
@ -316,3 +316,15 @@ thisMoveGivesYourOpponentTheAdvantage=Bu gediş rəqibinə üstünlük verir
|
|||
openingFailed=Uğursuz başlanğıc
|
||||
openingSolved=Həll olunmuş başlanğıc
|
||||
recentlyPlayedOpenings=Oynanmış son başlanğıclar
|
||||
puzzles=Puzzlelar
|
||||
coordinates=Kordinatlar
|
||||
openings=Açılışlar
|
||||
latestUpdates=Son yeniliklər
|
||||
tournamentWinners=Turnirin qalibləri
|
||||
name=Komanda adı
|
||||
description=Təsvir
|
||||
no=Hayır
|
||||
yes=Evət
|
||||
help=Yardım
|
||||
createANewTopic=Yeni mövzu yarat
|
||||
topics=Mövzular
|
||||
|
|
|
@ -316,3 +316,45 @@ thisMoveGivesYourOpponentTheAdvantage=Ovaj potez daje prednost vašem protivniku
|
|||
openingFailed=Neuspješno riješeno otvaranje
|
||||
openingSolved=Uspješno riješeno otvaranje
|
||||
recentlyPlayedOpenings=Nedavno odigrana otvaranja
|
||||
puzzles=Slagalice
|
||||
coordinates=Koordinate
|
||||
openings=Otvaranja
|
||||
latestUpdates=Najnovija ažuriranja
|
||||
tournamentWinners=Pobjednici turnira
|
||||
name=Ime
|
||||
description=Opis
|
||||
no=Ne
|
||||
yes=Da
|
||||
help=Pomoć:
|
||||
createANewTopic=Napravi novu temu
|
||||
topics=Teme
|
||||
posts=Postovi
|
||||
lastPost=Zadnji post
|
||||
views=Pregledi
|
||||
replies=Odgovori
|
||||
replyToThisTopic=Odgovor za ovu temu
|
||||
reply=Odgovor
|
||||
message=Poruka
|
||||
createTheTopic=Napravi temu
|
||||
reportAUser=Prijavi korisnika
|
||||
user=Korisnik
|
||||
reason=Razlog
|
||||
whatIsIheMatter=Šta se desilo?
|
||||
cheat=Varanje
|
||||
insult=Uvreda
|
||||
troll=Mamljenje
|
||||
other=Ostalo
|
||||
reportDescriptionHelp=Zalijepiti link za igru (e) i objasniti šta je pogrešno u ponašanju ovog korisnika.
|
||||
by=od %s
|
||||
thisTopicIsNowClosed=Ova tema je sada zatvorena.
|
||||
theming=Izgled
|
||||
donate=Donacija
|
||||
blog=Blog
|
||||
map=Karta
|
||||
realTimeWorldMapOfChessMoves=Realno vrijeme šahovskih poteza na karti svijeta
|
||||
questionsAndAnswers=Pitanja i odgovori
|
||||
notes=Bilješke
|
||||
typePrivateNotesHere=Ovdje upiši ličnu bilješku
|
||||
gameDisplay=Prikaz igre
|
||||
pieceAnimation=Animacija figura
|
||||
materialDifference=Razlika materijala
|
||||
|
|
|
@ -358,3 +358,54 @@ typePrivateNotesHere=Escriu notes privades aquí
|
|||
gameDisplay=Display del joc
|
||||
pieceAnimation=Animació de les peces
|
||||
materialDifference=Diferència de material
|
||||
closeAccount=Tancar el compte
|
||||
closeYourAccount=Tanca el teu compte
|
||||
changedMindDoNotCloseAccount=He canviat d'opinió, no vull tancar el meu compte
|
||||
closeAccountExplanation=Estàs segur que vols tancar el teu compte? Tancar-lo és una decisió permanent. Ja no podràs iniciar la sessió, i la teva pàgina de perfil no serà accessible.
|
||||
thisAccountIsClosed=Aquest compte està tancat
|
||||
invalidUsernameOrPassword=Nom d'usuari o contrasenya incorrectes
|
||||
emailMeALink=Envieu-me per correu electrònic un enllaç
|
||||
currentPassword=Contrasenya actual
|
||||
newPassword=Nova contrasenya
|
||||
newPasswordAgain=Nova contrasenya (de nou)
|
||||
boardHighlights=Llums del tauler (últim moviment i escac)
|
||||
pieceDestinations=Destinacions de la peça (moviments vàlids i moviments anticipats)
|
||||
boardCoordinates=Coordenades del tauler (A-H, 1-8)
|
||||
moveListWhilePlaying=Moure llista durant la partida
|
||||
chessClock=Rellotge d'escacs
|
||||
tenthsOfSeconds=Dècimes de segon
|
||||
never=Mai
|
||||
whenTimeRemainingLessThanTenSeconds=Quan restin menys de 10 segons
|
||||
horizontalGreenProgressBars=Barres horitzontals verdes de temps
|
||||
soundWhenTimeGetsCritical=Que soni quan quedi poc temps
|
||||
gameBehavior=Comportament del joc
|
||||
premovesPlayingDuringOpponentTurn=Moviments anticipats (moure durant el torn de l'oponent)
|
||||
promoteToQueenAutomatically=Corona la Dama automàticament
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Reclama l'empat en %s repeticions, automàticament
|
||||
privacy=Intimitat
|
||||
letOtherPlayersFollowYou=Deixa que altres jugadors et segueixin
|
||||
letOtherPlayersChallengeYou=Deixa que altres jugadors et reptin
|
||||
sound=So
|
||||
soundControlInTheTopBarOfEveryPage=El control de so es troba a la barra superior de cada pàgina, a la part dreta
|
||||
yourPreferencesHaveBeenSaved=Les teves preferències s'han desat
|
||||
none=Cap
|
||||
fast=Ràpid
|
||||
normal=Normal
|
||||
slow=Lent
|
||||
insideTheBoard=Dins del tauler
|
||||
outsideTheBoard=Fora del tauler
|
||||
onSlowGames=En els jocs lents
|
||||
always=Sempre
|
||||
inCasualGamesOnly=Només en els jocs amistosos
|
||||
whenTimeRemainingLessThanThirtySeconds=Quan restin < 30 segons
|
||||
difficultyEasy=Fàcil
|
||||
difficultyNormal=Normal
|
||||
difficultyHard=Dur
|
||||
xLeftANoteOnY=%s ha deixat una nota a %s
|
||||
timeline=Cronologia
|
||||
seeAllTournaments=Veure tots els tornejos
|
||||
starting=Començant
|
||||
allInformationIsPublicAndOptional=Tota la informació és pública i opcional
|
||||
yourCityRegionOrDepartment=La teva ciutat, comarca o regió
|
||||
biographyDescription=Parla sobre tu, què t'agrada dels escacs, les teves obertures preferides, jocs, jugadors ...
|
||||
maximumNbCharacters=Màxim: %s caràcters
|
||||
|
|
|
@ -316,3 +316,8 @@ thisMoveGivesYourOpponentTheAdvantage=Tento tah dá přebahu tvému soupeři
|
|||
openingFailed=Zahájení bylo neúspěšné
|
||||
openingSolved=Zahájení vyřešeno
|
||||
recentlyPlayedOpenings=Posledně hraná zahájení
|
||||
puzzles=Puzzle
|
||||
openings=Zahájení
|
||||
latestUpdates=Poslední upgrait
|
||||
tournamentWinners=Vítěz turnaje
|
||||
name=Jméno
|
||||
|
|
|
@ -316,3 +316,17 @@ thisMoveGivesYourOpponentTheAdvantage=Dette trekket gir motstanderen fordel
|
|||
openingFailed=Åpningen mislykket
|
||||
openingSolved=Åpningen løst
|
||||
recentlyPlayedOpenings=Nylig spilte åpninger
|
||||
openings=Åbninger
|
||||
tournamentWinners=Turneringsvindere
|
||||
name=Navn
|
||||
description=Beskrivelse
|
||||
no=Nej
|
||||
yes=Ja
|
||||
help=Hjælp:
|
||||
createANewTopic=Lav et nyt emne
|
||||
topics=Emner
|
||||
posts=Opslag
|
||||
lastPost=Seneste opslag
|
||||
views=Visninger
|
||||
replies=Svar
|
||||
materialDifference=Materialeforskel
|
||||
|
|
|
@ -316,3 +316,102 @@ thisMoveGivesYourOpponentTheAdvantage=Dieser Zug gibt deinem Gegner den Vorteil
|
|||
openingFailed=Eröffnung nicht bestanden
|
||||
openingSolved=Eröffnung bestanden
|
||||
recentlyPlayedOpenings=Kürzlich gespielte Eröffnungen
|
||||
puzzles=Rätsel
|
||||
coordinates=Koordinaten
|
||||
openings=Eröffnungen
|
||||
latestUpdates=Neueste Updates
|
||||
tournamentWinners=Turniergewinner
|
||||
name=Name
|
||||
description=Beschreibung
|
||||
no=Nein
|
||||
yes=Ja
|
||||
help=Hilfe
|
||||
createANewTopic=Eröffne ein neues Thema
|
||||
topics=Themen
|
||||
posts=Beiträge
|
||||
lastPost=Letzter Beitrag
|
||||
views=Angesehen
|
||||
replies=Antworten
|
||||
replyToThisTopic=Auf diesen Beitrag antworten
|
||||
reply=Antwort
|
||||
message=Nachricht
|
||||
createTheTopic=Thema erstellen
|
||||
reportAUser=Benutzer melden
|
||||
user=Benutzer
|
||||
reason=Grund
|
||||
whatIsIheMatter=Was ist das Problem?
|
||||
cheat=Betrug
|
||||
insult=Beleidigung
|
||||
troll=Troll
|
||||
other=Anderes
|
||||
reportDescriptionHelp=Füge den Link zum Spiel ein und erkläre die Auffälligkeiten bezüglich des Spielerverhaltens.
|
||||
by=von %s
|
||||
thisTopicIsNowClosed=Das Thema ist jetzt geschlossen.
|
||||
theming=Erscheinungsbild
|
||||
donate=Spenden
|
||||
blog=Blog
|
||||
map=Weltkarte
|
||||
realTimeWorldMapOfChessMoves=Weltkarte der Schachzüge in Echtzeit
|
||||
questionsAndAnswers=Fragen & Antworten
|
||||
notes=Notizen
|
||||
typePrivateNotesHere=Private Notizen hier eingeben
|
||||
gameDisplay=Erscheinungsbild
|
||||
pieceAnimation=Figurenanimation
|
||||
materialDifference=Materialunterschiede
|
||||
closeAccount=Mitgliedschaft beenden
|
||||
closeYourAccount=Deine Mitgliedschaft beenden
|
||||
changedMindDoNotCloseAccount=Habe meine Meinung geändert, die Mitgliedschaft doch nicht beenden
|
||||
closeAccountExplanation=Möchten Sie die Mitgliedschaft wirklich beenden? Diese Entscheidung ist endgültig. Ein Login ist danach nicht mehr möglich und die Profilseite nicht mehr verfügbar.
|
||||
thisAccountIsClosed=Dieses Mitgliedskonto ist geschlossen.
|
||||
invalidUsernameOrPassword=Ungültiger Benutzername oder Passwort
|
||||
emailMeALink=Mir einen Link per E-Mail senden
|
||||
currentPassword=Derzeitiges Passwort
|
||||
newPassword=Neues Passwort
|
||||
newPasswordAgain=Neues Passwort (wiederholen)
|
||||
boardHighlights=Hervorhebungen auf Brett (letzter Zug und Schach)
|
||||
pieceDestinations=Zielfelder hervorheben (gültige Züge und Vorauszüge)
|
||||
boardCoordinates=Brettkoordinaten (A-H, 1-8)
|
||||
moveListWhilePlaying=Zugliste während des Spiels zeigen
|
||||
chessClock=Schachuhr
|
||||
tenthsOfSeconds=Zehntelsekunden
|
||||
never=Nie
|
||||
whenTimeRemainingLessThanTenSeconds=Wenn Restzeit < 10 Sekunden
|
||||
horizontalGreenProgressBars=Horizontale grüne Fortschrittsbalken
|
||||
soundWhenTimeGetsCritical=Ton, wenn die Zeit knapp wird
|
||||
gameBehavior=Spielverhalten
|
||||
premovesPlayingDuringOpponentTurn=Vorauszüge (während der Gegner am Zug ist)
|
||||
takebacksWithOpponentApproval=Zugrücknahme (mit Erlaubnis des Gegners)
|
||||
promoteToQueenAutomatically=Automatische Umwandlung zur Dame
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Erzwinge automatisch remis bei %sdreifacher Stellungswiederholung%s
|
||||
privacy=Privatsphäre
|
||||
letOtherPlayersFollowYou=Anderen erlauben mir zu folgen
|
||||
letOtherPlayersChallengeYou=Anderen erlauben mich herauszufordern
|
||||
sound=Ton
|
||||
soundControlInTheTopBarOfEveryPage=Die Lautstärke kann auf jeder Seite im rechten oberen Bildrand geändert werden.
|
||||
yourPreferencesHaveBeenSaved=Die Einstellungen wurden gespeichert.
|
||||
none=Keine
|
||||
fast=Schnell
|
||||
normal=Normal
|
||||
slow=Langsam
|
||||
insideTheBoard=Auf dem Brett
|
||||
outsideTheBoard=Neben dem Brett
|
||||
onSlowGames=Bei langsamen Spielen
|
||||
always=Immer
|
||||
inCasualGamesOnly=Nur in ungewerteten Spielen
|
||||
whenPremoving=Bei Vorauszug
|
||||
whenTimeRemainingLessThanThirtySeconds=Wenn Restzeit < 30 Sekunden
|
||||
difficultyEasy=Leicht
|
||||
difficultyNormal=Mittel
|
||||
difficultyHard=Schwer
|
||||
xLeftANoteOnY=%s hat eine Notiz über %s hinterlassen
|
||||
xCompetesInY=%s nimmt teil bei %s
|
||||
xAskedY=%s fragte %s
|
||||
xAnsweredY=%s antwortete %s
|
||||
xCommentedY=%s kommentierte %s
|
||||
timeline=Zeitleiste
|
||||
seeAllTournaments=Alle Turniere zeigen
|
||||
starting=beginnt:
|
||||
allInformationIsPublicAndOptional=Alle Infos sind öffentlich und optional.
|
||||
yourCityRegionOrDepartment=Deine Stadt, Region, Kanton oder Bundesland.
|
||||
biographyDescription=Über dich, was du am Schach magst, Lieblingseröffnungen, Spiele, Spieler…
|
||||
maximumNbCharacters=Maximal: %s Zeichen.
|
||||
|
|
|
@ -316,6 +316,8 @@ thisMoveGivesYourOpponentTheAdvantage=Αυτή η κίνηση δίνει στο
|
|||
openingFailed=Άνοιγμα απέτυχε
|
||||
openingSolved=Επιτυχής ολοκλήρωση ανοίγματος
|
||||
recentlyPlayedOpenings=Ανοίγματα που παίξατε πρόσφατα
|
||||
puzzles=Γρίφοι
|
||||
coordinates=Συντεταγμένες
|
||||
openings=Ανοίγματα
|
||||
latestUpdates=Τελευταίες ενημερώσεις
|
||||
tournamentWinners=Νικητές τουρνουά
|
||||
|
@ -324,18 +326,26 @@ description=Περιγραφή
|
|||
no=Όχι
|
||||
yes=Ναι
|
||||
help=Βοήθεια:
|
||||
createANewTopic=Δημιουργήστε καινούργιο θέμα
|
||||
topics=Θέματα
|
||||
posts=Δημοσιεύσεις
|
||||
lastPost=Τελευταία δημοσίευση
|
||||
views=Εμφανίσεις
|
||||
replies=Απαντήσεις
|
||||
replyToThisTopic=Ξαναπαίξτε σε αυτό το θέμα
|
||||
reply=Απάντηση
|
||||
message=Μήνυμα
|
||||
createTheTopic=Δημιουργήστε το θέμα
|
||||
reportAUser=Αναφορά χρήστη
|
||||
user=Χρήστης
|
||||
reason=Αιτία
|
||||
whatIsIheMatter=Τι είδους;
|
||||
cheat=Απάτη
|
||||
insult=Προσβολή
|
||||
troll=Τρολ
|
||||
other=Άλλο
|
||||
reportDescriptionHelp=Κάντε επικόλληση το link του παιχνιδιου και εξηγήστε τι είναι παράξενο στη συμπεριφορά αυτού του χρήστη
|
||||
by=Από τον %s
|
||||
map=Χάρτης
|
||||
questionsAndAnswers=Ερωτήσεις & Απαντήσεις
|
||||
notes=Σημειώσεις
|
||||
|
|
|
@ -358,3 +358,58 @@ typePrivateNotesHere=Podés escribir tus notas privadas acá
|
|||
gameDisplay=Configuración visual del juego
|
||||
pieceAnimation=Animación de las piezas
|
||||
materialDifference=Diferencia material
|
||||
closeAccount=Cerrar cuenta
|
||||
closeYourAccount=Cerrar su cuenta
|
||||
changedMindDoNotCloseAccount=Cambié de opinión, no cierre mi cuenta.
|
||||
closeAccountExplanation=¿Estás seguro de que quieres cerrar tu cuenta? Cerrar tu cuenta es una decisión permanente. No podrás iniciar sesión, y tu perfil no volverá a estar disponible.
|
||||
thisAccountIsClosed=Esta cuenta ha sido cerrada.
|
||||
invalidUsernameOrPassword=Nombre de usuario o palabra clave inválidas
|
||||
emailMeALink=Envíame por correo electrónico un link.
|
||||
currentPassword=Contraseña actual.
|
||||
newPassword=Nueva contraseña.
|
||||
newPasswordAgain=Nueva contraseña (de nuevo)
|
||||
boardHighlights=Destacar casillas del tablero. (último movimiento y jaque)
|
||||
pieceDestinations=Destino de las piezas (movimientos válidos y premovimientos)
|
||||
boardCoordinates=Coordenadas de tablero (A-H, 1-8)
|
||||
moveListWhilePlaying=Lista de movimientos durante el juego.
|
||||
chessClock=Reloj de ajedrez
|
||||
tenthsOfSeconds=Decenas de segundo
|
||||
never=Nunca
|
||||
whenTimeRemainingLessThanTenSeconds=Cuando en el tiempo quede < 10 segundos
|
||||
horizontalGreenProgressBars=Barra de progreso horizontal verde
|
||||
soundWhenTimeGetsCritical=Sonido cuando quede poco tiempo
|
||||
gameBehavior=Comportamiento del juego
|
||||
premovesPlayingDuringOpponentTurn=Premovimiento (jugar durante el turno del oponente)
|
||||
takebacksWithOpponentApproval=Deshacer jugada (con consentimiento del oponente)
|
||||
promoteToQueenAutomatically=Pormocionar automaticamente a dama
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Reclamar tablas por %striple repetición%s automaticamente
|
||||
privacy=Privacidad
|
||||
letOtherPlayersFollowYou=Permitir que otros jugadores te sigan
|
||||
letOtherPlayersChallengeYou=Permitir que otros jugadores te desafien
|
||||
sound=Sonido
|
||||
soundControlInTheTopBarOfEveryPage=El control de sonido se encuentra en la barra superior de la página, en el lado derecho.
|
||||
yourPreferencesHaveBeenSaved=Tus preferencias han sido guardadas
|
||||
none=Ninguna
|
||||
fast=Rapida
|
||||
normal=Normal
|
||||
slow=Lenta
|
||||
insideTheBoard=Dentro del tablero
|
||||
outsideTheBoard=Fuera del tablero
|
||||
onSlowGames=En partidas lentas
|
||||
always=Siempre
|
||||
inCasualGamesOnly=En partidas amistosas solamente
|
||||
whenPremoving=Con premovimiento
|
||||
whenTimeRemainingLessThanThirtySeconds=Cuando queden < 30 segundos
|
||||
difficultyEasy=fácil
|
||||
difficultyNormal=Normal
|
||||
difficultyHard=Difícil
|
||||
xCompetesInY=%s completó en %s
|
||||
xAskedY=%s preguntó %s
|
||||
xAnsweredY=%s prguntó %s
|
||||
xCommentedY=%s comentó %s
|
||||
seeAllTournaments=Ver todos los torneos
|
||||
starting=Comienzo:
|
||||
allInformationIsPublicAndOptional=Toda la información es pública y opcional
|
||||
yourCityRegionOrDepartment=Tu ciudad, región o departamento
|
||||
biographyDescription=Cuéntanos, que te gusta en ajedrez, tu apertura favorita, partidad, jugadores...
|
||||
maximumNbCharacters=Máximo: %s caracteres.
|
||||
|
|
|
@ -316,3 +316,23 @@ thisMoveGivesYourOpponentTheAdvantage=این حرکت به گشایش شما ا
|
|||
openingFailed=گشایش را اشتباه حل کردید
|
||||
openingSolved=گشایش حل شد
|
||||
recentlyPlayedOpenings=اخیرا گشایش را بازی کردید
|
||||
puzzles=پازل ها
|
||||
coordinates=مختصات
|
||||
openings=افتتاح ها
|
||||
latestUpdates=آخرین به روز رسانی ها
|
||||
tournamentWinners=برندگان مسابقات
|
||||
name=نام
|
||||
description=شرح
|
||||
no=نه
|
||||
yes=بله
|
||||
help=راهنما:
|
||||
createANewTopic=ایجاد یک موضوع جدید
|
||||
topics=مباحث
|
||||
posts=پست ها
|
||||
lastPost=آخرین ارسال
|
||||
views=نمایش ها
|
||||
replies=پاسخ ها
|
||||
replyToThisTopic=پاسخ به این موضوع
|
||||
reply=پاسخ
|
||||
message=پیام
|
||||
createTheTopic=ایجاد موضوع
|
||||
|
|
|
@ -316,3 +316,54 @@ thisMoveGivesYourOpponentTheAdvantage=Valittu siirto antaa edun vastustajalle
|
|||
openingFailed=Avaus epäonnistui
|
||||
openingSolved=Avaus onnistui
|
||||
recentlyPlayedOpenings=Viimeksi pelatut avaukset
|
||||
puzzles=Tehtävät
|
||||
coordinates=Koordinaatit
|
||||
openings=Avaukset
|
||||
latestUpdates=Viimeiset päivitykset
|
||||
tournamentWinners=Turnausvoittajat
|
||||
name=Nimi
|
||||
description=Kuvaus
|
||||
no=Ei
|
||||
yes=Kyllä
|
||||
help=Apu:
|
||||
createANewTopic=Luo uusi aihe
|
||||
topics=Aiheet
|
||||
views=Katseltu
|
||||
replies=Vastaukset
|
||||
replyToThisTopic=Vastaa tähän aiheeseen
|
||||
reply=Vastaa
|
||||
message=Viesti
|
||||
createTheTopic=Luo aihe
|
||||
user=Käyttäjä
|
||||
reason=Syy
|
||||
cheat=Huijaus
|
||||
insult=Loukkaus
|
||||
troll=Trolli
|
||||
other=Muu
|
||||
by=%s
|
||||
thisTopicIsNowClosed=Tämä aihe on nyt suljettu.
|
||||
donate=Lahjoita
|
||||
blog=Blogi
|
||||
map=Kartta
|
||||
questionsAndAnswers=Kysymykset ja vastaukset
|
||||
gameDisplay=Ulkoasu
|
||||
pieceAnimation=Nappuloiden animaatio
|
||||
materialDifference=Materiaaliero
|
||||
invalidUsernameOrPassword=Virheellinen käyttäjätunnus tai salasana
|
||||
currentPassword=Nykyinen salasana
|
||||
newPassword=Uusi salasana
|
||||
newPasswordAgain=Varmista uusi salasana
|
||||
never=Ei koskaan
|
||||
whenTimeRemainingLessThanTenSeconds=Kun aikaa jäljellä <10 sekuntia
|
||||
promoteToQueenAutomatically=Korota automaattisesti kuningattareksi
|
||||
privacy=Yksityisyys
|
||||
none=Ei ollenkaan
|
||||
fast=Nopea
|
||||
normal=Normaali
|
||||
slow=Hidas
|
||||
insideTheBoard=Laudan sisäpuolella
|
||||
outsideTheBoard=Laudan ulkopuolella
|
||||
always=Aina
|
||||
difficultyEasy=Helppo
|
||||
difficultyNormal=Keskitaso
|
||||
difficultyHard=Vaikea
|
||||
|
|
|
@ -319,8 +319,8 @@ recentlyPlayedOpenings=Ouvertures jouées dernièrement
|
|||
puzzles=Puzzles
|
||||
coordinates=Coordonnées
|
||||
openings=Ouvertures
|
||||
latestUpdates=Articles récents
|
||||
tournamentWinners=Vainqueurs des tournois
|
||||
latestUpdates=Dernières mises à jour
|
||||
tournamentWinners=Vainqueurs du tournoi
|
||||
name=Nom
|
||||
description=Description
|
||||
no=Non
|
||||
|
@ -328,8 +328,8 @@ yes=Oui
|
|||
help=Aide:
|
||||
createANewTopic=Créer un nouveau sujet
|
||||
topics=Sujets
|
||||
posts=Sujets
|
||||
lastPost=Derniers sujets
|
||||
posts=Messages
|
||||
lastPost=Dernier message
|
||||
views=Vues
|
||||
replies=Réponses
|
||||
replyToThisTopic=Répondre à ce sujet
|
||||
|
@ -338,23 +338,68 @@ message=Message
|
|||
createTheTopic=Créer un sujet
|
||||
reportAUser=Signaler un utilisateur
|
||||
user=Utilisateur
|
||||
reason=Raison
|
||||
whatIsIheMatter=Qu'est ce qui ne va pas?
|
||||
reason=Motif
|
||||
whatIsIheMatter=Quel est le problème ?
|
||||
cheat=Triche
|
||||
insult=Insulte
|
||||
troll=Troll
|
||||
other=Autre
|
||||
reportDescriptionHelp=Renseigner le lien vers la(s) partie(s) et expliquer ce qui ne va pas avec le comportement de cet utilisateur.
|
||||
by=Par %s
|
||||
thisTopicIsNowClosed=Ce sujet est clos
|
||||
theming=Thèmes
|
||||
donate=Donation
|
||||
reportDescriptionHelp=Copiez le(s) lien(s) vers les partie(s) et expliquez ce qui ne va pas avec le comportement de cet utilisateur
|
||||
by=de %s
|
||||
thisTopicIsNowClosed=Ce sujet est maintenant fermé
|
||||
theming=Thème
|
||||
donate=Faire un don
|
||||
blog=Blog
|
||||
map=Carte
|
||||
realTimeWorldMapOfChessMoves=Carte en temps réel des coups à travers le monde
|
||||
questionsAndAnswers=Questions & Réponses
|
||||
map=Mappemonde
|
||||
realTimeWorldMapOfChessMoves=Coups en temps réel sur la mappemonde
|
||||
questionsAndAnswers=Question et réponses
|
||||
notes=Notes
|
||||
typePrivateNotesHere=Taper vos notes personnelles ici.
|
||||
gameDisplay=Affichage de la partie
|
||||
pieceAnimation=Déplacements des pièces
|
||||
materialDifference=Différence de pièces
|
||||
typePrivateNotesHere=Ecrivez vos notes privées ici
|
||||
gameDisplay=Affichage du jeu
|
||||
pieceAnimation=Animation des pièces
|
||||
materialDifference=Différence de matériel
|
||||
closeAccount=Clôturer votre compte
|
||||
closeYourAccount=Clôturer votre compte
|
||||
changedMindDoNotCloseAccount=J'ai changé d'avis, ne clôturez pas mon compte
|
||||
closeAccountExplanation=Êtes-vous sûr de vouloir clôturer votre compte ? Clôturer votre compte est une décision définitive. Vous ne pourrez plus vous connecter, et votre profil ne sera plus accessible.
|
||||
thisAccountIsClosed=Ce compte a été clôturé.
|
||||
invalidUsernameOrPassword=Nom d'utilisateur ou mot de passe invalide
|
||||
emailMeALink=Envoyez-moi un lien par email
|
||||
currentPassword=Mot de passe actuel
|
||||
newPassword=Nouveau mot de passe
|
||||
newPasswordAgain=Nouveau mot de passe (confirmation)
|
||||
boardHighlights=Surligner les cases (dernier coup, echec)
|
||||
pieceDestinations=Cases de destination (coups et pré-coups valides)
|
||||
boardCoordinates=Coordonnées (A-H, 1-8)
|
||||
moveListWhilePlaying=Liste de coups durant la partie
|
||||
chessClock=Horloge
|
||||
tenthsOfSeconds=Dixièmes de seconde
|
||||
never=Jamais
|
||||
whenTimeRemainingLessThanTenSeconds=Quand il reste moins de 10 secondes
|
||||
horizontalGreenProgressBars=Barres horizontales vertes de progression
|
||||
soundWhenTimeGetsCritical=Alerte quand le temps restant devient critique
|
||||
gameBehavior=Actions en cours de partie
|
||||
premovesPlayingDuringOpponentTurn=Pré-coups
|
||||
takebacksWithOpponentApproval=Annulations du dernier coup
|
||||
promoteToQueenAutomatically=Promouvoir en dame automatiquement
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Forcer automatiquement le %snul par répétition%s
|
||||
privacy=Confidentialité
|
||||
letOtherPlayersFollowYou=Autoriser les autres joueurs à vous suivre
|
||||
letOtherPlayersChallengeYou=Autoriser les autres joueurs à vous défier
|
||||
sound=Volume
|
||||
soundControlInTheTopBarOfEveryPage=Le contrôle du volume est en haut de chaque page, du côté droit.
|
||||
yourPreferencesHaveBeenSaved=Vos préférences ont été sauvegardées.
|
||||
none=Aucun
|
||||
fast=Rapide
|
||||
normal=Normal
|
||||
slow=Lent
|
||||
insideTheBoard=Sur l'échiquier
|
||||
outsideTheBoard=En dehors de l'échiquier
|
||||
onSlowGames=Durant les parties lentes
|
||||
always=Toujours
|
||||
inCasualGamesOnly=Durant les parties amicales seulement
|
||||
whenPremoving=En pré-coup
|
||||
whenTimeRemainingLessThanThirtySeconds=Quand il reste moins de 30 secondes
|
||||
difficultyEasy=Facile
|
||||
difficultyNormal=Normal
|
||||
difficultyHard=Difficile
|
||||
|
|
|
@ -314,3 +314,13 @@ thisMoveGivesYourOpponentTheAdvantage=מהלך זה נותן ליריבך את
|
|||
openingFailed=פתיחה נכשלה
|
||||
openingSolved=פתיחה נפתרה
|
||||
recentlyPlayedOpenings=פתיחות אחרונות ששוחקו
|
||||
puzzles=פאזלים
|
||||
openings=פתיחות
|
||||
name=שם
|
||||
no=לא
|
||||
yes=כן
|
||||
help=:עזרה
|
||||
createANewTopic=צור נושא חדש
|
||||
topics=נושאים
|
||||
views=צפיות
|
||||
replies=תגובות
|
||||
|
|
|
@ -316,3 +316,43 @@ thisMoveGivesYourOpponentTheAdvantage=Ez a lépés kedvezőtlen
|
|||
openingFailed=Megnyitás sikertelen
|
||||
openingSolved=Megnyitás sikeres
|
||||
recentlyPlayedOpenings=Legutóbbi megnyitások
|
||||
puzzles=Kirakós
|
||||
coordinates=Koordináták
|
||||
openings=Nyitások
|
||||
latestUpdates=Utolsó frissítések
|
||||
tournamentWinners=Verseny győztesek
|
||||
name=Név
|
||||
description=Leírás
|
||||
no=Nem
|
||||
yes=Igen
|
||||
help=Segítség
|
||||
createANewTopic=Új topik létrehozása
|
||||
topics=Topik
|
||||
posts=Poszt
|
||||
lastPost=Utolsó poszt
|
||||
views=Nézetek
|
||||
replies=Hozzászólások
|
||||
replyToThisTopic=Hozzászólás
|
||||
reply=Hozzászólás küldése
|
||||
message=Üzenet
|
||||
createTheTopic=Topik létrehozása
|
||||
reportAUser=Jelenteni egy felhasználót
|
||||
user=Felhasználó
|
||||
reason=Indoklás
|
||||
whatIsIheMatter=Mi újság
|
||||
cheat=Csevegő
|
||||
insult=Sértegetés
|
||||
troll=Trollkodás
|
||||
other=Más
|
||||
thisTopicIsNowClosed=Ez a téma jelenleg lezárt
|
||||
donate=Támogatás
|
||||
map=Térkép
|
||||
questionsAndAnswers=Kérdések & Válaszok
|
||||
notes=Jegyzetek
|
||||
typePrivateNotesHere=Ide írd a saját jegyzeteidet
|
||||
gameDisplay=Játék megjelenítés
|
||||
pieceAnimation=Bábúk animációja
|
||||
materialDifference=Különböző anyagok
|
||||
closeAccount=Fiók zárolása
|
||||
closeYourAccount=Fiók zárolása
|
||||
changedMindDoNotCloseAccount=Meggondoltam magam, mégsem zárolom a fiókomat
|
||||
|
|
100
conf/messages.it
100
conf/messages.it
|
@ -316,3 +316,103 @@ thisMoveGivesYourOpponentTheAdvantage=Questa mossa porta in vantaggio l'avversar
|
|||
openingFailed=Apertura fallita
|
||||
openingSolved=Apertura risolta
|
||||
recentlyPlayedOpenings=Aperture giocate recentemente
|
||||
puzzles=Puzzle
|
||||
coordinates=Coordinate
|
||||
openings=Aperture
|
||||
latestUpdates=Ultimi aggiornamenti
|
||||
tournamentWinners=Vincitori del torneo
|
||||
name=Nome
|
||||
description=Descrizione
|
||||
no=No
|
||||
yes=Si
|
||||
help=Aiuto:
|
||||
createANewTopic=Crea una nuova discussione
|
||||
topics=Discussioni
|
||||
posts=Messaggi
|
||||
lastPost=Ultimo messaggio
|
||||
views=Visualizzazioni
|
||||
replies=Risposte
|
||||
replyToThisTopic=Risposte a questa discussione
|
||||
reply=Rispondi
|
||||
message=Messaggio
|
||||
createTheTopic=Crea la discussione
|
||||
reportAUser=Riporta un utente
|
||||
user=Utente
|
||||
reason=Ragione
|
||||
whatIsIheMatter=Qual è il motivo?
|
||||
cheat=Imbroglio
|
||||
insult=Insulto
|
||||
troll=Spam
|
||||
other=Altro
|
||||
reportDescriptionHelp=Incolla il link alla/e partita/e e spiega cosa c'è di sbagliato nel comportamento di tale utente.
|
||||
by=da %s
|
||||
thisTopicIsNowClosed=Questa discussione è ora chiusa
|
||||
theming=Temi
|
||||
donate=Dona
|
||||
blog=Blog
|
||||
map=Mappa
|
||||
realTimeWorldMapOfChessMoves=Mappa in tempo reale delle mosse di scacchi in tutto il mondo
|
||||
questionsAndAnswers=Domande e Risposte
|
||||
notes=Note
|
||||
typePrivateNotesHere=Scrivi qui le note private
|
||||
gameDisplay=Schermo di gioco
|
||||
pieceAnimation=Animazione dei pezzi
|
||||
materialDifference=Differenza di materiale
|
||||
closeAccount=Chiudi account
|
||||
closeYourAccount=Chiudi il tuo account
|
||||
closeMyAccount=Chiudi il mio account
|
||||
changedMindDoNotCloseAccount=Ho cambiato idea, non chiudere il mio account
|
||||
closeAccountExplanation=Sei sicuro di voler chiudere il tuo account? Chiudere il tuo account è una decisione irreversibile. Non ti sarà più possibile effettuare il login, e la pagina del tuo profilo non sarà più accessibile.
|
||||
thisAccountIsClosed=Questo account è stato chiuso.
|
||||
invalidUsernameOrPassword=Username o password non validi
|
||||
emailMeALink=Inviami il link tramite email
|
||||
currentPassword=Password corrente
|
||||
newPassword=Nuova password
|
||||
newPasswordAgain=Nuova password (di nuovo)
|
||||
boardHighlights=Tieni traccia di ultima mossa e scacco
|
||||
pieceDestinations=Destinazioni del pezzo (mosse e pre-mosse valide)
|
||||
boardCoordinates=Coordinate della scacchiera (A-H, 1-8)
|
||||
moveListWhilePlaying=Lista delle mosse durante la partita
|
||||
chessClock=Orologio
|
||||
tenthsOfSeconds=Decimi di secondo
|
||||
never=Mai
|
||||
whenTimeRemainingLessThanTenSeconds=Quando il tempo rimanente è < 10 secondi
|
||||
horizontalGreenProgressBars=Barra verde orizzontale del tempo
|
||||
soundWhenTimeGetsCritical=Suono quando sei a corto di tempo
|
||||
gameBehavior=Comportamento del gioco
|
||||
premovesPlayingDuringOpponentTurn=Pre-mosse (durante il turno dell'avversario)
|
||||
takebacksWithOpponentApproval=Ritiro della mossa (con l'approvazione del tuo avversario)
|
||||
promoteToQueenAutomatically=Promuovi a Regina automaticamente
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Dichiara patta per %striplice ripetizione%s automaticamente
|
||||
privacy=Privacy
|
||||
letOtherPlayersFollowYou=Permetti agli altri giocatori di seguirti
|
||||
letOtherPlayersChallengeYou=Permetti agli altri giocatori di sfidarti
|
||||
sound=Suono
|
||||
soundControlInTheTopBarOfEveryPage=Il controllo del suono è nella barra in alto di ogni pagina, sul lato destro.
|
||||
yourPreferencesHaveBeenSaved=Le tue preferenze sono state salvate.
|
||||
none=No
|
||||
fast=Veloce
|
||||
normal=Normale
|
||||
slow=Lento
|
||||
insideTheBoard=Dentro la scacchiera
|
||||
outsideTheBoard=Fuori la scacchiera
|
||||
onSlowGames=Nelle partite lente
|
||||
always=Sempre
|
||||
inCasualGamesOnly=Solo nelle partite amichevoli
|
||||
whenPremoving=Quando pre-muovi
|
||||
whenTimeRemainingLessThanThirtySeconds=Quando il tempo rimanente è < 30 secondi
|
||||
difficultyEasy=Facile
|
||||
difficultyNormal=Normale
|
||||
difficultyHard=Difficile
|
||||
xLeftANoteOnY=%s ha lasciato una nota nel profilo di %s
|
||||
xCompetesInY=%s compete in %s
|
||||
xAskedY=%s ha chiesto %s
|
||||
xAnsweredY=%s ha risposto %s
|
||||
xCommentedY=%s ha commentato %s
|
||||
timeline=Timeline
|
||||
seeAllTournaments=Vedi tutti i tornei
|
||||
starting=Inizio:
|
||||
allInformationIsPublicAndOptional=Tutte le informazioni sono pubbliche e facoltative.
|
||||
yourCityRegionOrDepartment=La tua città, regione o dipartimento.
|
||||
biographyDescription=Parlaci di te, cosa ti piace negli scacchi, le tue aperture, giochi, giocatori preferiti...
|
||||
maximumNbCharacters=Massimo: %s caratteri.
|
||||
|
|
|
@ -168,6 +168,7 @@ tournaments=トーナメント
|
|||
tournamentPoints=トーナメントポイント
|
||||
viewTournament=トーナメントを見る
|
||||
backToTournament=トーナメントに戻る
|
||||
backToGame=ゲームに戻る
|
||||
freeOnlineChessGamePlayChessNowInACleanInterfaceNoRegistrationNoAdsNoPluginRequiredPlayChessWithComputerFriendsOrRandomOpponents=無料オンラインチェスゲーム。今すぐ綺麗なインターフェースでチェスをすることが出来ます。登録、プラグイン不要。広告無し。AI、友達、あるいはランダムな相手とチェスの対局をすることが出来ます。
|
||||
teams=チーム
|
||||
nbMembers=%s メンバー
|
||||
|
@ -304,3 +305,14 @@ thisPuzzleIsCorrect=このパズルはよく出来ていて興味深い。
|
|||
thisPuzzleIsWrong=このパズルには間違いがある/あまり意味が無い
|
||||
youHaveNbSecondsToMakeYourFirstMove=%s 秒以内に初手を指してください
|
||||
nbGamesInPlay=%s 試合プレイ中
|
||||
automaticallyProceedToNextGameAfterMoving=指した後 自動的に次のゲームに進む
|
||||
autoSwitch=自動スイッチ
|
||||
openingId=オープニング%s
|
||||
findNbStrongMoves=好手を %s つ指してください
|
||||
thisMoveGivesYourOpponentTheAdvantage=相手に有利を与えてしまう手
|
||||
openingFailed=不正解
|
||||
openingSolved=正解
|
||||
recentlyPlayedOpenings=最近行ったオープニング
|
||||
puzzles=タクティクス
|
||||
coordinates=マスの位置
|
||||
openings=オープニング
|
||||
|
|
121
conf/messages.lv
121
conf/messages.lv
|
@ -276,35 +276,35 @@ activeThisWeek=Aktīvākie šajā nedēļā
|
|||
activePlayers=Aktīvākie spēlētāji
|
||||
bewareTheGameIsRatedButHasNoClock=Uzmanību! Spēle ir ar reitinga aprēķinu, bet bez laika limita!
|
||||
training=Treniņš
|
||||
yourPuzzleRatingX=Jūsu pužļu reitings: %s
|
||||
yourPuzzleRatingX=Tavs uzdevumu reitings: %s
|
||||
findTheBestMoveForWhite=Atrodi vislabāko gājienu baltajiem
|
||||
findTheBestMoveForBlack=Atrodi vislabāko gājienu melnajiem
|
||||
toTrackYourProgress=Izsekot jūsu progresu:
|
||||
trainingSignupExplanation=Lichess sniegs puzles, kas atbilst jūsu spējām, tādējādi veidojot vislabākās treniņu sesijas.
|
||||
trainingSignupExplanation=Lai nodrošinātu vislabāko treniņu, Lichess piemeklēs uzdevumus, kas atbilst jūsu spējām.
|
||||
recentlyPlayedPuzzles=Nesen spēlētās puzles
|
||||
puzzleId=Puzle %s
|
||||
puzzleOfTheDay=Dienas puzle
|
||||
puzzleId=Uzdevums %s
|
||||
puzzleOfTheDay=Dienas uzdevums
|
||||
clickToSolve=Uzklikšķini lai atrisinātu
|
||||
goodMove=Labs gājiens
|
||||
butYouCanDoBetter=Tu taču vari labāk.
|
||||
bestMove=Vislabākais gājiens!
|
||||
keepGoing=Turpini...
|
||||
puzzleFailed=Puzle nav atrisināta
|
||||
puzzleFailed=Uzdevums nav atrisināts
|
||||
butYouCanKeepTrying=Taču tu var mēģināt kamēr izdosies.
|
||||
victory=Uzvara!
|
||||
giveUp=Padodos
|
||||
puzzleSolvedInXSeconds=Puzle ir atrisināta %s sekundēs.
|
||||
wasThisPuzzleAnyGood=Vai šī puzle bija laba?
|
||||
pleaseVotePuzzle=Palīdzi lichess`am un balso, izmantojot bultiņas uz augšu un uz leju:
|
||||
puzzleSolvedInXSeconds=Uzdevums ir atrisināts %s sekundēs.
|
||||
wasThisPuzzleAnyGood=Vai šī uzdevums bija labs?
|
||||
pleaseVotePuzzle=Palīdzi Lichess`am un balso, izmantojot bultiņas uz augšu un uz leju:
|
||||
thankYou=Paldies!
|
||||
ratingX=Reitings: %s
|
||||
playedXTimes=Spēlēts reizes %s
|
||||
fromGameLink=No spēles %s
|
||||
startTraining=Uzsākt treniņu
|
||||
continueTraining=Turpināt treniņu
|
||||
retryThisPuzzle=Atkārtot šo puzli
|
||||
thisPuzzleIsCorrect=Puzle ir pareiza un interesanta
|
||||
thisPuzzleIsWrong=Puzle ir aplama vai garlaicīga
|
||||
retryThisPuzzle=Atkārtot šo uzdevumu
|
||||
thisPuzzleIsCorrect=Uzdevums ir pareizs un interesants
|
||||
thisPuzzleIsWrong=Uzdevums ir aplams vai garlaicīgs
|
||||
youHaveNbSecondsToMakeYourFirstMove=Tavā rīcībā ir %s sekunžu lai veiktu savu pirmo gājienu!
|
||||
nbGamesInPlay=Pašlaik norisinās %s spēles
|
||||
automaticallyProceedToNextGameAfterMoving=Pēc gājiena izdarīšanas automātiski pāriet pie nākamās spēles
|
||||
|
@ -316,3 +316,102 @@ thisMoveGivesYourOpponentTheAdvantage=Šāds gājiens atdod pārsvaru pretinieka
|
|||
openingFailed=Atklātne neizdevās
|
||||
openingSolved=Atklātne atrisināta
|
||||
recentlyPlayedOpenings=Nesen spēlētās atklātnes
|
||||
puzzles=Uzdevumi
|
||||
coordinates=Koordinātas
|
||||
openings=Atklātnes
|
||||
latestUpdates=Pēdējās atjaunināšanas
|
||||
tournamentWinners=Turnīra uzvarētāji
|
||||
name=Vārds
|
||||
description=Apraksts
|
||||
no=Nē
|
||||
yes=Jā
|
||||
help=Palīdzība
|
||||
createANewTopic=Izveidot jaunu tematu
|
||||
topics=Temati
|
||||
posts=Ieraksti
|
||||
lastPost=Pēdējais ieraksts
|
||||
views=Apskati
|
||||
replies=Atbildes
|
||||
replyToThisTopic=Atbildēt šim tematam
|
||||
reply=Atbilde
|
||||
message=Vēstule/īsziņa
|
||||
createTheTopic=Izveidot jaunu tematu
|
||||
reportAUser=Ziņot lietotājam
|
||||
user=Lietotājs
|
||||
reason=Cēlonis
|
||||
whatIsIheMatter=Kāds ir Jūsu jautājums?
|
||||
cheat=Apkrāpšana
|
||||
insult=Aizvainišana
|
||||
troll=Trollis
|
||||
other=Cits
|
||||
reportDescriptionHelp=Ielikt atsauci spēlē un izskaidrot kas nav kārtībā lietotāja uzvedībā.
|
||||
by=No %s
|
||||
thisTopicIsNowClosed=Šis temats tagad ir slēgts!
|
||||
theming=Tēmas
|
||||
donate=Ziedot
|
||||
blog=Blogs
|
||||
map=Karte
|
||||
realTimeWorldMapOfChessMoves=Šahveida gaitu karte reālā laikā
|
||||
questionsAndAnswers=Jautājumi un Atbildes
|
||||
notes=Piezīmes
|
||||
typePrivateNotesHere=Uzrakstīt privāto piezīmi šeit
|
||||
gameDisplay=Spēļu displejs
|
||||
pieceAnimation=Figūru animācija
|
||||
materialDifference=Materiāla starpība
|
||||
closeAccount=Slēgt kontu
|
||||
closeYourAccount=Slēgt savu kontu
|
||||
changedMindDoNotCloseAccount=Es pārdomāju, neslēdziet manu kontu
|
||||
closeAccountExplanation=Vai esi pārliecināts, ka vēlies slēgt kontu? Konta slēgšanu nevar atsaukt. Tu vairs nevarēsi pieslēgties, un tavam profilam vairs nevarēs piekļūt.
|
||||
thisAccountIsClosed=Konts slēgts.
|
||||
invalidUsernameOrPassword=Nepareizs lietotājvārds vai parole
|
||||
emailMeALink=Atsūtīt saiti uz epastu
|
||||
currentPassword=Esošā parole
|
||||
newPassword=Jaunā parole
|
||||
newPasswordAgain=Jaunā parole (atkārtoti)
|
||||
boardHighlights=Lauciņu izcelšana (pēdējais gājiens vai piesakot šahu)
|
||||
pieceDestinations=Figūru galamērķi (legāli gājieni vai priekšgājieni)
|
||||
boardCoordinates=Lauciņa koordinātas (A-H, 1-8)
|
||||
moveListWhilePlaying=Gājienu saraksts spēles laikā
|
||||
chessClock=Šaha pulkstenis
|
||||
tenthsOfSeconds=Sekunžu desmitdaļas
|
||||
never=Nekad
|
||||
whenTimeRemainingLessThanTenSeconds=Ja atlicis < 10 sekundēm
|
||||
horizontalGreenProgressBars=Zaļā horizontālā izpildes josla
|
||||
soundWhenTimeGetsCritical=Signalizēt kad laika pavisam maz
|
||||
gameBehavior=Spēles uzvedība
|
||||
premovesPlayingDuringOpponentTurn=Priekšgājieni (izdarīt gājienu kamēr pretinieks domā)
|
||||
takebacksWithOpponentApproval=Atsaukt gājienu (ar pretinieka piekrišanu)
|
||||
promoteToQueenAutomatically=Automātiski paaugstināt par Dāmu
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Automātiski pieprasīt neizšķirtu %strīskāršas atkārtošanās%s gadījumā
|
||||
privacy=Privātums
|
||||
letOtherPlayersFollowYou=Ļaut citiem sekot tev
|
||||
letOtherPlayersChallengeYou=Ļaut citiem izaicināt tevi
|
||||
sound=Skaņa
|
||||
soundControlInTheTopBarOfEveryPage=Skaņas vadība ir katras lapas augšējā joslā, labajā pusē.
|
||||
yourPreferencesHaveBeenSaved=Tavi uzstādījumi saglabāti.
|
||||
none=Nekāda
|
||||
fast=Ātra
|
||||
normal=Normāls
|
||||
slow=Lēna
|
||||
insideTheBoard=Lauciņa iekšpusē
|
||||
outsideTheBoard=Lauciņa ārpusē
|
||||
onSlowGames=Lēnajās spēlēs
|
||||
always=Vienmēr
|
||||
inCasualGamesOnly=Tikai parastajās spēlēs
|
||||
whenPremoving=Ja priekšgājiens
|
||||
whenTimeRemainingLessThanThirtySeconds=Ja atlicis < 30 sekundēm
|
||||
difficultyEasy=Viegls
|
||||
difficultyNormal=Normāls
|
||||
difficultyHard=Grūts
|
||||
xLeftANoteOnY=%s atstāja ziņu %s
|
||||
xCompetesInY=%s piedalās %s
|
||||
xAskedY=%s uzdeva jautājumu %s
|
||||
xAnsweredY=%s atbildēja %s
|
||||
xCommentedY=%s sniedza komentāru %s
|
||||
timeline=Laika grafiks
|
||||
seeAllTournaments=Skatīt visus turnīrus
|
||||
starting=Sāksies:
|
||||
allInformationIsPublicAndOptional=Visa informācija ir publiska un nav obligāta.
|
||||
yourCityRegionOrDepartment=Tava pilsēta, novads vai nodaļa.
|
||||
biographyDescription=Pastāsti par sevi, kāpēc tev patīk šahs, savas mīļākās atklātes, spēles, šahistus ...
|
||||
maximumNbCharacters=Maksimums: %s simboli.
|
||||
|
|
|
@ -316,3 +316,43 @@ thisMoveGivesYourOpponentTheAdvantage=Dette trekket gir fordel til din motstande
|
|||
openingFailed=Åpningen mislyktes
|
||||
openingSolved=Åpning løst
|
||||
recentlyPlayedOpenings=Nylig spilte åpninger
|
||||
puzzles=Nøtter
|
||||
coordinates=Koordinater
|
||||
openings=Åpninger
|
||||
latestUpdates=Siste oppdateringer
|
||||
tournamentWinners=Turneringsvinnere
|
||||
name=Navn
|
||||
description=Beskrivelse
|
||||
no=Nei
|
||||
yes=Ja
|
||||
help=Hjelp
|
||||
createANewTopic=Opprett nytt emne
|
||||
topics=Emner
|
||||
posts=Innlegg
|
||||
lastPost=Siste innlegg
|
||||
views=Visninger
|
||||
replies=Svar
|
||||
replyToThisTopic=Skriv nytt innlegg i dette emnet
|
||||
reply=Svar
|
||||
message=Melding
|
||||
createTheTopic=Opprett emnet
|
||||
reportAUser=Rapportér en bruker
|
||||
user=Bruker
|
||||
reason=Årsak
|
||||
whatIsIheMatter=Hva gjelder det?
|
||||
cheat=Juks
|
||||
insult=Fornærmelse
|
||||
troll=Troll
|
||||
other=Annet
|
||||
reportDescriptionHelp=Kopiér lenken til partiet/partiene og forklar hva som er galt med denne brukerens oppførsel
|
||||
by=Ved %s
|
||||
thisTopicIsNowClosed=Dette emnet er nå lukket
|
||||
theming=Utseende
|
||||
donate=Donér
|
||||
blog=Blogg
|
||||
map=Kart
|
||||
questionsAndAnswers=Spørsmål og svar
|
||||
notes=Notater
|
||||
typePrivateNotesHere=Skriv inn private notater her
|
||||
pieceAnimation=Brikkenes bevegelser
|
||||
materialDifference=Materiell forskjell
|
||||
|
|
|
@ -358,3 +358,33 @@ typePrivateNotesHere=Type privé notities hier
|
|||
gameDisplay=Spel uitstraling
|
||||
pieceAnimation=Stuk animatie
|
||||
materialDifference=Materiaal verschil
|
||||
closeAccount=Sluit account
|
||||
closeYourAccount=Sluit uw account
|
||||
thisAccountIsClosed=Deze account is gesloten.
|
||||
invalidUsernameOrPassword=Ongeldige gebruikersnaam of wachtwoord
|
||||
emailMeALink=E-mail me een link
|
||||
currentPassword=Huidig wachtwoord
|
||||
newPassword=Nieuw wachtwoord
|
||||
newPasswordAgain=Nieuw wachtwoord (opnieuw)
|
||||
chessClock=Schaakklok
|
||||
tenthsOfSeconds=Tienden van seconden
|
||||
never=Nooit
|
||||
gameBehavior=Spelgedrag
|
||||
takebacksWithOpponentApproval=Terugnames (met goedkeuring van tegenstander)
|
||||
promoteToQueenAutomatically=Automatisch promoveren tot Dame
|
||||
privacy=Privacy
|
||||
sound=Geluid
|
||||
yourPreferencesHaveBeenSaved=Uw voorkeuren werden opgeslagen.
|
||||
none=Geen
|
||||
fast=Snel
|
||||
normal=Normaal
|
||||
slow=Traag
|
||||
insideTheBoard=Binnen in het bord
|
||||
outsideTheBoard=Buiten het bord
|
||||
always=Altijd
|
||||
difficultyEasy=Gemakkelijk
|
||||
difficultyNormal=Normaal
|
||||
difficultyHard=Moeilijk
|
||||
timeline=Tijdslijn
|
||||
seeAllTournaments=Zie alle toernooien
|
||||
starting=Startend:
|
||||
|
|
|
@ -316,3 +316,45 @@ thisMoveGivesYourOpponentTheAdvantage=Ten ruch daje twojemu przeciwnikowi przewa
|
|||
openingFailed=Debiut nierozwiązany
|
||||
openingSolved=Debiut rozwiązany
|
||||
recentlyPlayedOpenings=Ostatnio grane debiuty
|
||||
puzzles=Zagadka
|
||||
coordinates=Koordynacja
|
||||
openings=Otwarcia
|
||||
latestUpdates=Aktualności
|
||||
tournamentWinners=Turniejowi zwycięzcy
|
||||
name=Nazwa
|
||||
description=Deskrypcja
|
||||
no=Nie
|
||||
yes=Tak
|
||||
help=Pomoc
|
||||
createANewTopic=Utwórz nowy temat
|
||||
topics=Tematy
|
||||
posts=Posty
|
||||
lastPost=Ostatni post
|
||||
views=Wyświetleń
|
||||
replies=Odpowiedzi
|
||||
replyToThisTopic=Odpowiedz w temacie
|
||||
reply=Odpowiedz
|
||||
message=Wiadomość
|
||||
createTheTopic=Utwórz temat
|
||||
reportAUser=Zgłoś użytkownika
|
||||
user=Użytkownik
|
||||
reason=Powód
|
||||
whatIsIheMatter=Co się stało?
|
||||
cheat=Oszustwo
|
||||
insult=Zniewaga
|
||||
troll=Upierdliwiec
|
||||
other=Inny
|
||||
reportDescriptionHelp=Wklej link do tej gry i wytłumacz dlaczego zachowanie użytkownika jest nieprawidłowe
|
||||
by=przez %s
|
||||
thisTopicIsNowClosed=Ten temat został zamknięty
|
||||
theming=Tematyka
|
||||
donate=Datek
|
||||
blog=Blog
|
||||
map=Mapa
|
||||
realTimeWorldMapOfChessMoves=Realny czas ruchów szachowych na mapie Świata
|
||||
questionsAndAnswers=Pytania i odpowiedzi
|
||||
notes=Notatki
|
||||
typePrivateNotesHere=Dołącz prywatną notatkę tutaj
|
||||
gameDisplay=Widok gry
|
||||
pieceAnimation=Ruchliwość figur
|
||||
materialDifference=Przewaga materiału
|
||||
|
|
|
@ -358,3 +358,60 @@ typePrivateNotesHere=Digite notas pessoais aqui
|
|||
gameDisplay=Exibição do jogo
|
||||
pieceAnimation=Animação das peças
|
||||
materialDifference=Diferença material
|
||||
closeAccount=Encerrar conta
|
||||
closeYourAccount=Encerrar sua conta
|
||||
changedMindDoNotCloseAccount=Eu mudei de ideia, não fechar minha conta
|
||||
closeAccountExplanation=Você tem certeza de que deseja encerrar sua conta? Esta é uma decisão permanente. Você não será mais capaz de fazer login, e a página do seu perfil não será mais acessível.
|
||||
thisAccountIsClosed=Esta conta está encerrada
|
||||
invalidUsernameOrPassword=Nome de usuário ou senha está incorreto
|
||||
emailMeALink=Envia-me um link
|
||||
currentPassword=Senha atual
|
||||
newPassword=Nova senha
|
||||
newPasswordAgain=Nova senha (repita)
|
||||
boardHighlights=Luzes do tabuleiro (último movimento e xeque)
|
||||
pieceDestinations=Destino das peças (movimentos válidos e pré-movimentos)
|
||||
boardCoordinates=Coordenadas do tabuleiro
|
||||
moveListWhilePlaying=Lista de movimentos enquanto joga
|
||||
chessClock=Relógio de xadrez
|
||||
tenthsOfSeconds=Décimos de segundo
|
||||
never=Nunca
|
||||
whenTimeRemainingLessThanTenSeconds=Quando o tempo remanescente for menor do que 10 segundos
|
||||
horizontalGreenProgressBars=Barras de progresso verdes horizontais
|
||||
soundWhenTimeGetsCritical=Som ao atingir um tempo crítico
|
||||
gameBehavior=Funcionamento do jogo
|
||||
premovesPlayingDuringOpponentTurn=Pré-movimentos (jogadas durante o turno do oponente)
|
||||
takebacksWithOpponentApproval=Desfazer o movimento (com aprovação do oponente)
|
||||
promoteToQueenAutomatically=Promover a Rainha automaticamente
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Vindicar empate em %srepetições triplas%s automaticamente
|
||||
privacy=Privacidade
|
||||
letOtherPlayersFollowYou=Permitir que outros jogadores sigam você
|
||||
letOtherPlayersChallengeYou=Permitir que outros jogadores desafiem você
|
||||
sound=Som
|
||||
soundControlInTheTopBarOfEveryPage=O controle de som fica no topo de cada página, no lado direito.
|
||||
yourPreferencesHaveBeenSaved=Suas preferências foram salvas.
|
||||
none=Nenhum
|
||||
fast=Rápido
|
||||
normal=Rápido
|
||||
slow=Lento
|
||||
insideTheBoard=Dentro do tabuleiro
|
||||
outsideTheBoard=Fora do tabuleiro
|
||||
onSlowGames=Em jogos lentos
|
||||
always=Sempre
|
||||
inCasualGamesOnly=Somente em jogos casuais
|
||||
whenPremoving=Quando mover previamente
|
||||
whenTimeRemainingLessThanThirtySeconds=Quando o tempo restante for menor do que 30 segundos
|
||||
difficultyEasy=Fácil
|
||||
difficultyNormal=Normal
|
||||
difficultyHard=Difícil
|
||||
xLeftANoteOnY=% deixou uma nota para %s
|
||||
xCompetesInY=%s compete em %s
|
||||
xAskedY=%s perguntou %s
|
||||
xAnsweredY=%s respondeu %s
|
||||
xCommentedY=%s comentou %s
|
||||
timeline=Linha do tempo
|
||||
seeAllTournaments=Ver todos os torneios
|
||||
starting=Iniciando
|
||||
allInformationIsPublicAndOptional=Todas as informações são públicas e opcionais.
|
||||
yourCityRegionOrDepartment=Sua cidade, região ou divisão territorial.
|
||||
biographyDescription=Fale sobre você, o que você gosta em xadrez, suas aberturas favoritas, jogos, jogadores...
|
||||
maximumNbCharacters=Máximo: %s caracteres.
|
||||
|
|
|
@ -316,10 +316,11 @@ thisMoveGivesYourOpponentTheAdvantage=Этот ход даёт вашему со
|
|||
openingFailed=Дебют проигран
|
||||
openingSolved=Дебют решён
|
||||
recentlyPlayedOpenings=Недавно сыгранные дебюты
|
||||
puzzles=Мозайка
|
||||
puzzles=Головоломки
|
||||
coordinates=Координаты
|
||||
openings=Дебюты
|
||||
latestUpdates=Последние обновления
|
||||
tournamentWinners=Победители турнира
|
||||
name=Имя
|
||||
description=Описание
|
||||
no=Нет
|
||||
|
@ -331,6 +332,7 @@ posts=Посты
|
|||
lastPost=Последний пост
|
||||
views=Обзоры
|
||||
replies=Ответы
|
||||
replyToThisTopic=Ответить в тему
|
||||
reply=Ответ
|
||||
message=Сообщение
|
||||
createTheTopic=Создать тему
|
||||
|
@ -339,10 +341,13 @@ user=Пользователь
|
|||
reason=Причина
|
||||
whatIsIheMatter=В чем ваш вопрос?
|
||||
cheat=Обман
|
||||
insult=Пожаловаться
|
||||
troll=Троллинг
|
||||
other=Другое
|
||||
reportDescriptionHelp=Вставить ссылку в игру и объяснить что неправильного в поведении пользователя
|
||||
by=опубликовал %s
|
||||
thisTopicIsNowClosed=Эта тема сейчас закрыта
|
||||
theming=Настройка темы
|
||||
donate=Пожертвование
|
||||
blog=Блог
|
||||
map=Карта
|
||||
|
@ -353,3 +358,60 @@ typePrivateNotesHere=Написать приватные заметки здес
|
|||
gameDisplay=Игровой дисплей
|
||||
pieceAnimation=Анимация фигур
|
||||
materialDifference=Разница по материалу
|
||||
closeAccount=Удалить аккаунт
|
||||
closeYourAccount=Удаление аккаунта
|
||||
changedMindDoNotCloseAccount=Я передумал, не удаляйте мой аккаунт
|
||||
closeAccountExplanation=Вы действительно желаете удалить свой аккаунт? Удаление аккаунта невозможно отменить. Вы больше не сможете зайти в игру, и ваша страница больше не будет доступна.
|
||||
thisAccountIsClosed=Ваш аккаунт удален.
|
||||
invalidUsernameOrPassword=Неправильное имя или пароль
|
||||
emailMeALink=Выслать ссылку
|
||||
currentPassword=Текущий пароль
|
||||
newPassword=Новый пароль
|
||||
newPasswordAgain=Новый пароль (повтор)
|
||||
boardHighlights=Подсветка (последний ход и шах)
|
||||
pieceDestinations=Ходы фигур (все возможные)
|
||||
boardCoordinates=Координаты доски (A-H, 1-8)
|
||||
moveListWhilePlaying=Показывать список ходов
|
||||
chessClock=Часы
|
||||
tenthsOfSeconds=Десятые секунд
|
||||
never=Никогда
|
||||
whenTimeRemainingLessThanTenSeconds=Когда остается < 10 секунд
|
||||
horizontalGreenProgressBars=Горизонтальный зелёный индикатор прогресса
|
||||
soundWhenTimeGetsCritical=Звук, когда время кончается
|
||||
gameBehavior=Настройки игры
|
||||
premovesPlayingDuringOpponentTurn=Возможные ходы (пока ходит противник)
|
||||
takebacksWithOpponentApproval=Возвраты (с согласия противника)
|
||||
promoteToQueenAutomatically=Пешка в Ферзя автоматически
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Считать ничью после %sthreefold repetition% повторений
|
||||
privacy=Приватность
|
||||
letOtherPlayersFollowYou=Позволить другим наблюдать за мной
|
||||
letOtherPlayersChallengeYou=Позволить другим вызывать себя
|
||||
sound=Звук
|
||||
soundControlInTheTopBarOfEveryPage=Контроль звука в верхнем углу каждой страницы, справа
|
||||
yourPreferencesHaveBeenSaved=Ваши настройки сохранены.
|
||||
none=Нет
|
||||
fast=Быстрая
|
||||
normal=Нормальная
|
||||
slow=Медленная
|
||||
insideTheBoard=Внутри поля
|
||||
outsideTheBoard=Снаружи поля
|
||||
onSlowGames=В медленных играх
|
||||
always=Всегда
|
||||
inCasualGamesOnly=Только в случайных играх
|
||||
whenPremoving=Когда сделан предварительный ход
|
||||
whenTimeRemainingLessThanThirtySeconds=Когда остается меньше 30 секунд
|
||||
difficultyEasy=Легкий
|
||||
difficultyNormal=Нормальный
|
||||
difficultyHard=Сложный
|
||||
xLeftANoteOnY=%s оставил заметку о %s
|
||||
xCompetesInY=%s участвует в %s
|
||||
xAskedY=%s спрашивает %s
|
||||
xAnsweredY=%s ответил %s
|
||||
xCommentedY=%s откомментировал %s
|
||||
timeline=Дневник
|
||||
seeAllTournaments=Видеть все турниры
|
||||
starting=Начинается:
|
||||
allInformationIsPublicAndOptional=Вся информация публична и опциональна.
|
||||
yourCityRegionOrDepartment=Ваш город, область или округ
|
||||
biographyDescription=Расскажите о себе, что вы любите в шахматах, ваши любимые дебюты, партии, игроки...
|
||||
maximumNbCharacters=Максимум: %s символов.
|
||||
|
|
|
@ -316,3 +316,27 @@ thisMoveGivesYourOpponentTheAdvantage=Tento ťah dáva súperovi výhodu
|
|||
openingFailed=Otvorenie zlyhalo
|
||||
openingSolved=Otvorenie vyriešené
|
||||
recentlyPlayedOpenings=Naposledy hrané otvorenia
|
||||
puzzles=skladačky
|
||||
coordinates=súlad
|
||||
openings=otvorenia
|
||||
latestUpdates=obnoviť neskôr
|
||||
tournamentWinners=víťaz turnaja
|
||||
name=meno
|
||||
description=popis
|
||||
no=nie
|
||||
yes=áno
|
||||
help=pomoc
|
||||
createANewTopic=založ novú tému
|
||||
topics=téma
|
||||
posts=správy
|
||||
lastPost=posledné správy
|
||||
views=pozretia
|
||||
replies=odpovede
|
||||
replyToThisTopic=odpoveď na túto tému
|
||||
reply=odpoveď
|
||||
message=správa
|
||||
createTheTopic=odpovedaj
|
||||
other=iné
|
||||
map=mapa
|
||||
questionsAndAnswers=otázky a odpovede
|
||||
gameDisplay=obraz hry
|
||||
|
|
|
@ -316,6 +316,7 @@ thisMoveGivesYourOpponentTheAdvantage=Ta poteza daje nasprotniku prednost
|
|||
openingFailed=Otvoritev spodletela
|
||||
openingSolved=Otvoritev uspela
|
||||
recentlyPlayedOpenings=Nedavno igrane otvoritve
|
||||
puzzles=Problemi
|
||||
coordinates=Koordinate
|
||||
openings=Otvoritve
|
||||
latestUpdates=Zadnja posodobitev
|
||||
|
@ -327,5 +328,90 @@ yes=Da
|
|||
help=pomoč
|
||||
createANewTopic=Ustvari novo objavo
|
||||
topics=Objava
|
||||
posts=Objave
|
||||
lastPost=Zadnja objava
|
||||
views=ogledi
|
||||
replies=Odgovor
|
||||
replyToThisTopic=odgovori k tej temi
|
||||
reply=odgovori
|
||||
message=Sporočilo
|
||||
createTheTopic=ustvari temo
|
||||
reportAUser=prijavi uporabnika
|
||||
user=uporabnik
|
||||
reason=razlog
|
||||
whatIsIheMatter=Kaj je narobe
|
||||
cheat=goljufija
|
||||
insult=Žalitev
|
||||
troll=Provociranje
|
||||
other=Drugo
|
||||
reportDescriptionHelp=Prilepi linke iger in pojasni kaj je narobe z obnašanjem uporabnika
|
||||
by=od %s
|
||||
thisTopicIsNowClosed=Tema je zaprta
|
||||
theming=Oblikovanje
|
||||
donate=Donacije
|
||||
blog=Blog
|
||||
map=Zemljevid
|
||||
realTimeWorldMapOfChessMoves=Zemljevid potez v živo
|
||||
questionsAndAnswers=Vprašanja in Odgovori
|
||||
notes=Beležke
|
||||
typePrivateNotesHere=Privatne beležke
|
||||
gameDisplay=Videz
|
||||
pieceAnimation=Animacija figur
|
||||
materialDifference=Materialna prednost
|
||||
closeAccount=Zapri račun
|
||||
closeYourAccount=Zapri svoj račun
|
||||
changedMindDoNotCloseAccount=Premislil sem si, ne želim zapreti računa
|
||||
closeAccountExplanation=Si prepričan, da želiš zapreti račun? Preklic odločitve potem ne bo več mogoč. Tvoj profil ne bo več dodtopen.
|
||||
thisAccountIsClosed=Račun je zaprt.
|
||||
invalidUsernameOrPassword=Napačno uporabniško ime ali geslo
|
||||
emailMeALink=Pošlji mi povezavo po emailu
|
||||
currentPassword=Trenutno geslo
|
||||
newPassword=Novo geslo
|
||||
newPasswordAgain=Novo geslo (ponovno)
|
||||
boardHighlights=Osvetlitev šahovnice (zadnja poteza in kralj v šahu)
|
||||
pieceDestinations=Možne poteze (regularne in vnaprej določene)
|
||||
boardCoordinates=Koordinate na šahovnici (A-H, 1-8)
|
||||
moveListWhilePlaying=Seznam potez med igro
|
||||
chessClock=Šahovska ura
|
||||
tenthsOfSeconds=Desetinke sekunde
|
||||
never=Nikoli
|
||||
whenTimeRemainingLessThanTenSeconds=Če je preostanek časa pod 10 sekundami
|
||||
horizontalGreenProgressBars=Vodoravna zelena prečka
|
||||
soundWhenTimeGetsCritical=Zvočni signal ko je čas postane kritičen
|
||||
gameBehavior=Nastavitve igre
|
||||
premovesPlayingDuringOpponentTurn=Predpremik poteze
|
||||
takebacksWithOpponentApproval=Popravljanje potez (z dovoljenjem nasprotnika)
|
||||
promoteToQueenAutomatically=Vedno promoviraj v damo
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Razglasi remi v primeru %strikratne ponovitve%s
|
||||
privacy=Zasebnost
|
||||
letOtherPlayersFollowYou=Dovoli sledenje
|
||||
letOtherPlayersChallengeYou=Dovoli da te izzovejo na partijo
|
||||
sound=Zvok
|
||||
soundControlInTheTopBarOfEveryPage=Nastavitve zvoka so zgoraj desno.
|
||||
yourPreferencesHaveBeenSaved=Nastavitve so bile shranjene.
|
||||
none=Brez
|
||||
fast=Hitro
|
||||
normal=Normalno
|
||||
slow=Počasi
|
||||
insideTheBoard=Znotraj šahovnice
|
||||
outsideTheBoard=Zunaj šahovnice
|
||||
onSlowGames=Pri počasnih igrah
|
||||
always=Vedno
|
||||
inCasualGamesOnly=Samo pri nerangiranih partijah
|
||||
whenPremoving=Če je predpremik poteze
|
||||
whenTimeRemainingLessThanThirtySeconds=Če je preostanek časa < 30 sekund
|
||||
difficultyEasy=Lahko
|
||||
difficultyNormal=Normalno
|
||||
difficultyHard=Težko
|
||||
xLeftANoteOnY=%s je pustil sporočilo za %s
|
||||
xCompetesInY=%s tekmuje v %s
|
||||
xAskedY=%s je vprašal v %s
|
||||
xAnsweredY=%s je odgovoril v %s
|
||||
xCommentedY=%s je komentiral v %s
|
||||
timeline=Časovni trak
|
||||
seeAllTournaments=Poglej vse turnirje
|
||||
starting=Začetek:
|
||||
allInformationIsPublicAndOptional=Vsi podatki so vidni in niso nujni.
|
||||
yourCityRegionOrDepartment=Tvoj kraj, mesto ali regija.
|
||||
biographyDescription=Povej kaj o sebi, kaj ti je všeč pri šahu, najljubše otvoritve, igralci,...
|
||||
maximumNbCharacters=Največ: %s znakov.
|
||||
|
|
105
conf/messages.sq
105
conf/messages.sq
|
@ -309,3 +309,108 @@ youHaveNbSecondsToMakeYourFirstMove=Ju keni%s sekonda për të bërë lëvizje t
|
|||
nbGamesInPlay=%s lojëra duke u luajtur
|
||||
automaticallyProceedToNextGameAfterMoving=Procesimi Automatik i lojës ,më pas duke luajtur potezin
|
||||
autoSwitch=Mbyllje automatike
|
||||
openingId=e hapurg %s
|
||||
yourOpeningRatingX=Vlerësimi hapjes tuaj:%s
|
||||
findNbStrongMoves=Gjej%s lëvizje të forta
|
||||
thisMoveGivesYourOpponentTheAdvantage=Kjo levizje i jep kundërshtarit tuaj përparësi
|
||||
openingFailed=hapja deshtoj
|
||||
openingSolved=hapja e zgidhur
|
||||
recentlyPlayedOpenings=Hapje luajtur kohët e fundit
|
||||
puzzles=puzzles
|
||||
coordinates=kordinatat
|
||||
openings=e hapur
|
||||
latestUpdates=pëditësimet e fundit
|
||||
tournamentWinners=fituesi i turnirit
|
||||
name=emri
|
||||
description=përshkrimi
|
||||
no=jo
|
||||
yes=po
|
||||
help=ndihmë
|
||||
createANewTopic=krijimi i një teme të re
|
||||
topics=tema
|
||||
posts=rang
|
||||
lastPost=renditje e fundit
|
||||
views=shikime
|
||||
replies=përgjigjëje
|
||||
replyToThisTopic=përgjigjëje në kët temë
|
||||
reply=përsëritje
|
||||
message=mesazhi
|
||||
createTheTopic=krijo temë
|
||||
reportAUser=Raporto një përdorues
|
||||
user=përdorues
|
||||
reason=arsye
|
||||
whatIsIheMatter=qfar ndodhi?
|
||||
cheat=qat
|
||||
insult=fyerje
|
||||
troll=karrem
|
||||
other=tjetër
|
||||
reportDescriptionHelp=Paste lidhje për të lojës (s) dhe të shpjegojnë çfarë është e gabuar në lidhje me këtë sjellje të përdoruesit.
|
||||
by=nga %s
|
||||
thisTopicIsNowClosed=Kjo temë është e mbyllur tani.
|
||||
theming=thema
|
||||
donate=dhurim
|
||||
blog=bllok
|
||||
map=hartë
|
||||
realTimeWorldMapOfChessMoves=Ora Real Harta e botës e lëvizjeve të shahut
|
||||
questionsAndAnswers=Pyetje & Pergjigje
|
||||
notes=Vrejtje
|
||||
typePrivateNotesHere=Shkruani një vrejtje në privat
|
||||
gameDisplay=lojë në monitor
|
||||
pieceAnimation=pjesëz e animuar
|
||||
materialDifference=material mbrojtës
|
||||
closeAccount=Llogari e mbyllur
|
||||
closeYourAccount=Mbylle llogarin tuaj
|
||||
changedMindDoNotCloseAccount=Kam ndryshuar mendjen time, mos e mbyllë llogarinë time
|
||||
closeAccountExplanation=A jeni i sigurt se doni të mbyllni llogarinë tuaj? Mbyllja e llogarisë tuaj është një vendim i përhershëm. Ju nuk do të jeni në gjendje të hyni brënda, dhe Faqja e profilit të juaj do të jetë më i arritshëm.
|
||||
thisAccountIsClosed=Kjo lloagari është e mbyllur
|
||||
invalidUsernameOrPassword=Emrin e përdoruesit apo fjalëkalimin i pavlefshëm
|
||||
emailMeALink=Email me një lidhje
|
||||
currentPassword=fjalëkalimi aktual
|
||||
newPassword=fjalëkalimi i ri
|
||||
newPasswordAgain=Fjalëkalimi i ri (përsëri)
|
||||
boardHighlights=Nxjerr në pah Bordin,(kontrollo veprimin e fundit)
|
||||
pieceDestinations=Destinacionet IECE (lëvizje e vlefshme dheepërsëritëshme)
|
||||
boardCoordinates=Koordinatat e Bordit (A-H, 1-8)
|
||||
moveListWhilePlaying=Leviz listën duke luajtur
|
||||
chessClock=ora e shahut
|
||||
tenthsOfSeconds=Dhjetat e sekondës
|
||||
never=kurrë
|
||||
whenTimeRemainingLessThanTenSeconds=Kur koha e mbetur <10 sekonda
|
||||
horizontalGreenProgressBars=Bartje horizontale progresi nga e gjelbërta
|
||||
soundWhenTimeGetsCritical=Tingëllojë kur koha merr kahje kritike
|
||||
gameBehavior=sjellja në lojë
|
||||
premovesPlayingDuringOpponentTurn=paralevizje e kundershtarit (luajturt nga ana e tij)
|
||||
takebacksWithOpponentApproval=Kthimi i levizjes (me miratimin kundërshtare)
|
||||
promoteToQueenAutomatically=Nxitja automatike për mbretëreshë
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Pretendimi për barazim në%s tërheqje e shpejtë %s në mnyr automatike
|
||||
privacy=Privatësia
|
||||
letOtherPlayersChallengeYou=Le lojtarë të tjerë pas teje
|
||||
sound=Zëri
|
||||
soundControlInTheTopBarOfEveryPage=Kontrolli i shëndoshë është në bar të lartë të çdo faqe, në anën e djathtë.
|
||||
yourPreferencesHaveBeenSaved=Parapëlqimet tuaja janë ruajtur.
|
||||
none=asnjë
|
||||
fast=shpejt
|
||||
normal=normal
|
||||
slow=ngadale
|
||||
insideTheBoard=Brenda bordit
|
||||
outsideTheBoard=Jashta bordit
|
||||
onSlowGames=Ne lojra të ngadalshme
|
||||
always=gjithëherë
|
||||
inCasualGamesOnly=Në lojrat e rastësishme i vetëm
|
||||
whenPremoving=kur tejkalohet
|
||||
whenTimeRemainingLessThanThirtySeconds=Kur koha e mbetur <30 sekonda
|
||||
difficultyEasy=e lehtë
|
||||
difficultyNormal=normal
|
||||
difficultyHard=e fortë
|
||||
xLeftANoteOnY=%s la një shënim mbi%s
|
||||
xCompetesInY=%s konkuron në%s
|
||||
xAskedY=% s pyeti%s
|
||||
xAnsweredY=%s përgjigj%s
|
||||
xCommentedY=s%s komentoi%s
|
||||
timeline=në faqen time
|
||||
seeAllTournaments=të gjitha turniret e para
|
||||
starting=startimi
|
||||
allInformationIsPublicAndOptional=Të gjitha informacionet janë publike dhe opcionale
|
||||
yourCityRegionOrDepartment=Qyteti juaj, rajoni, apo departamenti.
|
||||
biographyDescription=Tregoni për vehte, çfarë ju pëlqen në shah, hapje të preferuar tuaja, lojra, lojtarët ...
|
||||
maximumNbCharacters=Maksimum:%s karaktere.
|
||||
|
|
|
@ -316,3 +316,27 @@ thisMoveGivesYourOpponentTheAdvantage=Овај потез даје твом пр
|
|||
openingFailed=Пропало отварање
|
||||
openingSolved=Успешно отварање
|
||||
recentlyPlayedOpenings=Последња отварања
|
||||
puzzles=Zagonetke
|
||||
coordinates=Koordinate
|
||||
openings=Otvaranja
|
||||
latestUpdates=Poslednje poruke
|
||||
yes=da
|
||||
help=pomoć
|
||||
createANewTopic=Napravi novu temu
|
||||
topics=teme
|
||||
posts=Postovi
|
||||
lastPost=Poslednji post
|
||||
views=Gledano
|
||||
replies=Odgovori
|
||||
replyToThisTopic=Odgovori na ovu temu
|
||||
reply=Odgovor
|
||||
message=Poruka
|
||||
createTheTopic=Napravi temu
|
||||
reportAUser=Prijavi korisnika
|
||||
user=Korisnik
|
||||
reason=Razlog
|
||||
whatIsIheMatter=Šta je u pitanju?
|
||||
cheat=Prevarant
|
||||
insult=Uvreda
|
||||
troll=Trol
|
||||
other=Ostalo
|
||||
|
|
|
@ -358,3 +358,62 @@ typePrivateNotesHere=Skriv privata anteckningar här
|
|||
gameDisplay=Spelutseende
|
||||
pieceAnimation=Pjäsanimation
|
||||
materialDifference=Materialskillnad
|
||||
closeAccount=Avsluta konto
|
||||
closeYourAccount=Avsluta ditt konto
|
||||
changedMindDoNotCloseAccount=Jag ändrade mig, avsluta inte mitt konto
|
||||
closeAccountExplanation=Är du säker att du vill avsluta ditt konto? Att avsluta ditt konto är ett permanent beslut. Du kommer inte längre kunna logga in och din profilsida kommer inte längre vara tillgänglig.
|
||||
thisAccountIsClosed=Det här kontot är avslutat
|
||||
invalidUsernameOrPassword=Ogiltigt användarnamn eller lösenord
|
||||
emailMeALink=Maila mig en länk
|
||||
currentPassword=Nuvarande lösenord
|
||||
newPassword=Nytt lösenord
|
||||
newPasswordAgain=Repetera nytt lösenord
|
||||
boardHighlights=Brädmarkeringar (föregående drag och schack)
|
||||
pieceDestinations=Möjliga drag (giltiga drag och premoves)
|
||||
boardCoordinates=Brädkoordinater (A-H, 1-8)
|
||||
moveListWhilePlaying=Lista med drag under spelets gång
|
||||
chessClock=Schack-klocka
|
||||
tenthsOfSeconds=Tiondels sekunder
|
||||
never=Aldrig
|
||||
whenTimeRemainingLessThanTenSeconds=När återstående tid < 10 sekunder
|
||||
horizontalGreenProgressBars=Horisontella gröna förloppsindikatorer
|
||||
soundWhenTimeGetsCritical=Ljud när tiden blir kritisk
|
||||
gameBehavior=Spelbeteende
|
||||
premovesPlayingDuringOpponentTurn=Premoves (göra drag i förväg under motståndarens tur)
|
||||
takebacksWithOpponentApproval=Ta tillbaka drag (med motståndarens godkännande)
|
||||
promoteToQueenAutomatically=Uppgradera till drottning automatiskt
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Begär oavgjort automatiskt vid %strefaldig upprepning%s
|
||||
privacy=Sekretess
|
||||
letOtherPlayersFollowYou=Låt andra spelare följa dig
|
||||
letOtherPlayersChallengeYou=Låt andra spelare utmana dig
|
||||
sound=Ljud
|
||||
soundControlInTheTopBarOfEveryPage=Ljudkontrollen finns längst till höger i den översta menyn på varje sida.
|
||||
yourPreferencesHaveBeenSaved=Dina inställningar har sparats.
|
||||
none=Ingen
|
||||
fast=Snabb
|
||||
normal=Medel
|
||||
slow=Långsam
|
||||
insideTheBoard=På brädet
|
||||
outsideTheBoard=Utanför brädet
|
||||
onSlowGames=På långsamma spel
|
||||
always=Alltid
|
||||
inCasualGamesOnly=Endast i ej rankade spel
|
||||
whenPremoving=Vid premove
|
||||
whenTimeRemainingLessThanThirtySeconds=När återstående tid < 30 sekunder
|
||||
difficultyEasy=Lätt
|
||||
difficultyNormal=Medel
|
||||
difficultyHard=Svår
|
||||
xLeftANoteOnY=%s skrev en notering på %s
|
||||
xCompetesInY=%s tävlar i %s
|
||||
xAskedY=%s frågade %s
|
||||
xAnsweredY=%s svarade %s
|
||||
xCommentedY=%s kommenterade %s
|
||||
timeline=Tidslinje
|
||||
seeAllTournaments=Se alla turneringar
|
||||
starting=Startar:
|
||||
allInformationIsPublicAndOptional=All information är allmän och frivillig.
|
||||
yourCityRegionOrDepartment=Din stad, region eller område.
|
||||
biographyDescription=Berätta om dig själv, vad du gillar med schack, dina favoritöppningar, spel, spelare…
|
||||
maximumNbCharacters=Max: %s tecken.
|
||||
blocks=%s blockeringar
|
||||
listBlockedPlayers=Lista spelare som du blockerat
|
||||
|
|
|
@ -358,3 +358,60 @@ typePrivateNotesHere=พิมพ์หมายเหตุส่วนตั
|
|||
gameDisplay=การแสดงเกม
|
||||
pieceAnimation=ความเร็วตัวหมาก
|
||||
materialDifference=ความแตกต่างในวัตถุ
|
||||
closeAccount=ปิดบัญชี
|
||||
closeYourAccount=ปิดบัญชีของคุณ
|
||||
changedMindDoNotCloseAccount=ฉันเปลี่ยนใจแล้ว, อย่าปิดบัญชีของฉัน
|
||||
closeAccountExplanation=คุณแน่ใจนะว่าจะปิดบัญชีของคุณ? การปิดบัญชีจะเป็นการตัดสินใจที่ถาวร คุณจะไม่สามารถลงชื่อเข้าได้อีก และข้อมูลประจำตัวของคุณจะไม่สามารถเข้าถึงได้อีกเลย
|
||||
thisAccountIsClosed=บัญชีนี้ถูกปิดแล้ว
|
||||
invalidUsernameOrPassword=ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง
|
||||
emailMeALink=ส่งลิงค์ให้ฉันทางอีเมล
|
||||
currentPassword=รหัสผ่านปัจจุบัน
|
||||
newPassword=รหัสผ่านใหม่
|
||||
newPasswordAgain=รหัสผ่านใหม่ (อีกครั้ง)
|
||||
boardHighlights=สีเน้นบนกระดาน (ตาเดินล่าสุด และการรุก)
|
||||
pieceDestinations=เส้นทางของหมาก (ช่องที่เดินได้ และการเดินล่วงหน้า)
|
||||
boardCoordinates=พิกัดกระดาน
|
||||
moveListWhilePlaying=แสดงรายชื่อตาที่เดินในขณะที่เล่น
|
||||
chessClock=นาฬิกาหมากรุก
|
||||
tenthsOfSeconds=ทศนิยมของวินาที
|
||||
never=ไม่ต้อง
|
||||
whenTimeRemainingLessThanTenSeconds=เมื่อเหลือเวลา < 10 วินาที
|
||||
horizontalGreenProgressBars=แถบแนวนอนสีเขียวแสดงความคืบหน้า
|
||||
soundWhenTimeGetsCritical=เสียงเมื่อเวลาถึงจุดวิกฤต
|
||||
gameBehavior=พฤติกรรมของเกม
|
||||
premovesPlayingDuringOpponentTurn=การเดินล่วงหน้า (การเล่นในขณะที่เป็นตาเดินของคู่แข่ง)
|
||||
takebacksWithOpponentApproval=การเดินใหม่ (เมื่อคู่แข่งเห็นชอบ)
|
||||
promoteToQueenAutomatically=เลื่อนขั้นเบี้ยเป็นควีนอัตโนมัติ
|
||||
claimDrawOnThreefoldRepetitionAutomatically=ใช้สิทธิ์การเสมอเมื่อ %sรุกล้อ (เดินซ้ำสามรอบ)%s อัตโนมัติ
|
||||
privacy=ความเป็นส่วนตัว
|
||||
letOtherPlayersFollowYou=อนุญาตให้ผู้อื่นติดตามคุณได้
|
||||
letOtherPlayersChallengeYou=อนุญาตให้ผู้อื่นท้าดวลเกมกับคุณได้
|
||||
sound=เสียง
|
||||
soundControlInTheTopBarOfEveryPage=ตัวควบคุมเสียงอยู่ตรงแถบบนริมขวาของทุกหน้า
|
||||
yourPreferencesHaveBeenSaved=การตั้งค่าของคุณถูกบันทึกแล้ว
|
||||
none=ไม่มี
|
||||
fast=เร็ว
|
||||
normal=ปกติ
|
||||
slow=ช้า
|
||||
insideTheBoard=ด้านในกระดาน
|
||||
outsideTheBoard=ด้านนอกกระดาน
|
||||
onSlowGames=ในเกมรูปแบบช้า
|
||||
always=เสมอ
|
||||
inCasualGamesOnly=เฉพาะเกมธรรมดา
|
||||
whenPremoving=เมื่อกำลังเดินล่วงหน้า
|
||||
whenTimeRemainingLessThanThirtySeconds=เมื่อเวลาเหลือ < 30 วินาที
|
||||
difficultyEasy=ง่าย
|
||||
difficultyNormal=ปกติ
|
||||
difficultyHard=ยาก
|
||||
xLeftANoteOnY=%s ได้ทิ้งโน้ตไว้ให้ %s
|
||||
xCompetesInY=%s แข่งขันใน %s
|
||||
xAskedY=%s ได้ถาม %s
|
||||
xAnsweredY=%s ได้ตอบ %s
|
||||
xCommentedY=%s ได้แสดงความคิดเห็น %s
|
||||
timeline=ไทม์ไลน์
|
||||
seeAllTournaments=ดูทัวร์นาเมนต์ทั้งหมด
|
||||
starting=กำลังเริ่ม:
|
||||
allInformationIsPublicAndOptional=ข้อมูลทั้งหมดเป็นสาธารณะ และไม่บังคับกรอก
|
||||
yourCityRegionOrDepartment=เมือง, ศาสนา, หรือภาคส่วนของคุณ
|
||||
biographyDescription=บอกเกี่ยวกับตัวคุณ, คุณชอบอะไรในหมากรุก, การเปิดเกม, เกม, หรือผู้เล่น ฯลฯ ที่คุณชอบ
|
||||
maximumNbCharacters=สูงสุด: %s ตัวอักษร
|
||||
|
|
|
@ -316,3 +316,66 @@ thisMoveGivesYourOpponentTheAdvantage=Bu hamle rakibe avantaj sağlıyor.
|
|||
openingFailed=Açılış başarısız
|
||||
openingSolved=Açılış çözüldü
|
||||
recentlyPlayedOpenings=Önceden oynanmış açılışlar
|
||||
puzzles=Bulmacalar
|
||||
coordinates=Koordinatlar
|
||||
openings=Açılışlar
|
||||
latestUpdates=Son güncellemeler
|
||||
tournamentWinners=Turnuva şampiyonları
|
||||
name=İsim
|
||||
description=Açıklama
|
||||
no=Hayır
|
||||
yes=Evet
|
||||
help=Yardım:
|
||||
createANewTopic=Yeni bir konu yarat
|
||||
topics=Konular
|
||||
posts=Gönderiler
|
||||
lastPost=Son gönderi
|
||||
views=Gözatma sayısı
|
||||
replies=Cevaplar
|
||||
replyToThisTopic=Bu konu hakkında cevap yaz
|
||||
reply=Cevap yaz
|
||||
message=Mesaj
|
||||
createTheTopic=Konuyu yarat
|
||||
reportAUser=Kullanıcı ihbar et
|
||||
user=Kullanıcı
|
||||
reason=Sebep
|
||||
whatIsIheMatter=Konu ne?
|
||||
cheat=Hile
|
||||
insult=Hakaret
|
||||
troll=Trol
|
||||
other=Diğer
|
||||
reportDescriptionHelp=Oyunun (veya oyunların) linkini yapıştırın ve kullanıcı hakkındaki şikayetinizi açıklayın.
|
||||
by=%s yazdı
|
||||
thisTopicIsNowClosed=Bu konu kapanmıştır.
|
||||
theming=Ortam
|
||||
donate=Bağış yap
|
||||
blog=Blog
|
||||
map=Harita
|
||||
realTimeWorldMapOfChessMoves=Anlık satranç hamlelerini gösteren dünya haritası
|
||||
questionsAndAnswers=Sorular ve Cevaplar
|
||||
notes=Notlar
|
||||
typePrivateNotesHere=Özel notlarınızı buraya yazın
|
||||
gameDisplay=Oyun görünümü
|
||||
pieceAnimation=Hamle canlandırma
|
||||
materialDifference=Materyal fark
|
||||
closeAccount=Hesabı kapat
|
||||
closeYourAccount=Hesabını kapat
|
||||
changedMindDoNotCloseAccount=Fikrimi değiştirdim, hesabımı kapatmak istemiyorum
|
||||
closeAccountExplanation=Hesabınızı kapatmak istediğinizden emin misiniz? Hesap kapatmak geri dönüşü olmayan bir işlemdir. Tekrar giriş yapamayacaksınız ve profil sayfanıza erişiminiz kalmayacaktır.
|
||||
thisAccountIsClosed=Hesap kapatılmıştır.
|
||||
invalidUsernameOrPassword=Hatalı kullanıcı adı ya da şifre
|
||||
emailMeALink=E-Posta ile giriş linki yolla
|
||||
currentPassword=Geçerli şifre
|
||||
newPassword=Yeni şifre
|
||||
newPasswordAgain=Yeni şifre(tekrar)
|
||||
boardHighlights=Tahta uyarıları (son hamle ve şah çekme)
|
||||
pieceDestinations=Taşın gidebileceği kareler (kurallara uygun hamleler)
|
||||
boardCoordinates=Tahta kordinatları
|
||||
moveListWhilePlaying=Oyun sırasında hamle listesi
|
||||
chessClock=Satranç saati
|
||||
tenthsOfSeconds=Son 10 saniye
|
||||
never=Asla
|
||||
whenTimeRemainingLessThanTenSeconds=kalan zaman < 10 saniye
|
||||
horizontalGreenProgressBars=Yeşil yatay ilerleme çubuğu
|
||||
soundWhenTimeGetsCritical=Zaman azaldığında sesle uyarı
|
||||
gameBehavior=Oyun Durumu
|
||||
|
|
|
@ -316,3 +316,102 @@ thisMoveGivesYourOpponentTheAdvantage=Цей хід дає Вашому опон
|
|||
openingFailed=Невдале відкриття
|
||||
openingSolved=Дебют пройдено
|
||||
recentlyPlayedOpenings=Останні розіграні дебюти
|
||||
puzzles=Тактика
|
||||
coordinates=Координати
|
||||
openings=Дебюти
|
||||
latestUpdates=Останні оновлення
|
||||
tournamentWinners=Переможці турнірів
|
||||
name=Назва
|
||||
description=Опис
|
||||
no=Ні
|
||||
yes=Так
|
||||
help=Допомога:
|
||||
createANewTopic=Створити нову тему
|
||||
topics=Теми
|
||||
posts=Публікації
|
||||
lastPost=Остання публікація
|
||||
views=Переглядів
|
||||
replies=Відповідей
|
||||
replyToThisTopic=Відповідь на цю тему
|
||||
reply=Відповісти
|
||||
message=Повідомлення
|
||||
createTheTopic=Створити тему
|
||||
reportAUser=Розповісти про користувача
|
||||
user=Користувач
|
||||
reason=Підстава
|
||||
whatIsIheMatter=В чому справа?
|
||||
cheat=Шахрайство
|
||||
insult=Образа
|
||||
troll=Набридливість
|
||||
other=Інше
|
||||
reportDescriptionHelp=Вставте посилання на гру(ігри) та поясніть, що не так із поведінкою цього користувача.
|
||||
by=від %s
|
||||
thisTopicIsNowClosed=Наразі цю тему завершено.
|
||||
theming=Вигляд
|
||||
donate=Пожертви
|
||||
blog=Блог
|
||||
map=Мапа
|
||||
realTimeWorldMapOfChessMoves=Світова мапа шахових ходів наживо
|
||||
questionsAndAnswers=Запитання та відповіді
|
||||
notes=Нотатки
|
||||
typePrivateNotesHere=Залишайте приватні нотатки тут
|
||||
gameDisplay=Вигляд шахівниці
|
||||
pieceAnimation=Анімація ходів
|
||||
materialDifference=Співвідношення матеріалу
|
||||
closeAccount=Закрити обліковий запис
|
||||
closeYourAccount=Закрити Ваш обліковий запис
|
||||
changedMindDoNotCloseAccount=Я передумав, не закривайте мій обліковий запис
|
||||
closeAccountExplanation=Ви впевнені, що хочете закрити Ваш обліковий запис? Закриття Вашого облікового запису є незмінним рішенням. Ви більше не зможете заходити та сторінка Вашого профілю надалі буде недоступна.
|
||||
thisAccountIsClosed=Цей обліковий запис закрито.
|
||||
invalidUsernameOrPassword=Недійсне ім’я користувача або пароль
|
||||
emailMeALink=Надішліть мені посилання
|
||||
currentPassword=Поточний пароль
|
||||
newPassword=Новий пароль
|
||||
newPasswordAgain=Новий пароль (ще раз)
|
||||
boardHighlights=Висвітлення кольором (останнього ходу та шаху)
|
||||
pieceDestinations=Поля для ходів (можливі ходи та ходи на випередження)
|
||||
boardCoordinates=Координати (A-H, 1-8)
|
||||
moveListWhilePlaying=Список ходів під час гри
|
||||
chessClock=Шаховий годинник
|
||||
tenthsOfSeconds=Десяті частки секунди
|
||||
never=Ніколи
|
||||
whenTimeRemainingLessThanTenSeconds=Коли часу залишається < 10 секунд
|
||||
horizontalGreenProgressBars=Горизонтальна зелена смуга поступу
|
||||
soundWhenTimeGetsCritical=Звук, коли часу стає зовсім мало
|
||||
gameBehavior=Хід гри
|
||||
premovesPlayingDuringOpponentTurn=Ходи на випередження (коли хід суперника)
|
||||
takebacksWithOpponentApproval=Можливість переходити (за згоди суперника)
|
||||
promoteToQueenAutomatically=Перетворення пішака завжди на ферзя
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Автоматично вимагати нічию при %sтриразовому повторенні%s
|
||||
privacy=Конфіденційність
|
||||
letOtherPlayersFollowYou=Дозволити іншим спостерігати за Вами
|
||||
letOtherPlayersChallengeYou=Дозволити іншим кидати Вам виклик
|
||||
sound=Звук
|
||||
soundControlInTheTopBarOfEveryPage=Контроль звуку є на горішній смузі кожної сторінки, праворуч
|
||||
yourPreferencesHaveBeenSaved=Ваші налаштування збережено.
|
||||
none=Немає
|
||||
fast=Швидко
|
||||
normal=Нормально
|
||||
slow=Повільно
|
||||
insideTheBoard=Всередині шахівниці
|
||||
outsideTheBoard=За межами шахівниці
|
||||
onSlowGames=У довгих іграх
|
||||
always=Завжди
|
||||
inCasualGamesOnly=Тільки у товариських іграх
|
||||
whenPremoving=Для ходів на випередження
|
||||
whenTimeRemainingLessThanThirtySeconds=Коли часу залишається < 30 секунд
|
||||
difficultyEasy=Легко
|
||||
difficultyNormal=Нормально
|
||||
difficultyHard=Складно
|
||||
xLeftANoteOnY=%s накинули оком на %s
|
||||
xCompetesInY=%s грає у %s
|
||||
xAskedY=%s має запитання %s
|
||||
xAnsweredY=%s має відповідь на %s
|
||||
xCommentedY=%s має коментар на %s
|
||||
timeline=Смуга подій
|
||||
seeAllTournaments=Дивитись усі турніри
|
||||
starting=Початок:
|
||||
allInformationIsPublicAndOptional=Уся інформація публічна та необов’язкова.
|
||||
yourCityRegionOrDepartment=Ваше місто, область, або район.
|
||||
biographyDescription=Розкажіть про себе, що Вам подобається у грі в шахи, які Ваші улюблені дебюти, ігри, гравці…
|
||||
maximumNbCharacters=Максимум: %s символів.
|
||||
|
|
|
@ -25,6 +25,7 @@ POST /rel/unblock/:userId controllers.Relation.unblock(userId: Stri
|
|||
GET /@/:username/following controllers.Relation.following(username: String)
|
||||
GET /@/:username/followers controllers.Relation.followers(username: String)
|
||||
GET /@/:username/suggestions controllers.Relation.suggest(username: String)
|
||||
GET /rel/blocks controllers.Relation.blocks
|
||||
|
||||
# User
|
||||
GET /@/:username/opponents controllers.User.opponents(username: String)
|
||||
|
@ -65,7 +66,8 @@ GET /games/checkmate controllers.Game.checkmate(page: Int ?= 1)
|
|||
GET /games/bookmark controllers.Game.bookmark(page: Int ?= 1)
|
||||
GET /games/analysed controllers.Game.analysed(page: Int ?= 1)
|
||||
GET /games/imported controllers.Game.imported(page: Int ?= 1)
|
||||
GET /games/export/:user controllers.Game.export(user: String)
|
||||
POST /games/export/:user controllers.Game.exportConfirm(user: String)
|
||||
GET /games/export-form/:user controllers.Game.export(user: String)
|
||||
|
||||
# Search
|
||||
GET /games/search controllers.Game.search(page: Int ?= 1)
|
||||
|
|
35
issues
35
issues
|
@ -1,35 +0,0 @@
|
|||
# ornicar/lila open issues
|
||||
184 Desktop notifications [feature] 1
|
||||
183 antichess doesn't play well with takebacks [bug] 1
|
||||
181 miniboard empty [bug] [planned] 1
|
||||
180 autoswitch after no other game in simul [improvement] [planned]
|
||||
179 simul autoswitch on game end [improvement] [planned]
|
||||
178 make sure ragequit is disabled in simul [bug] [planned]
|
||||
176 Spectator chat split by move number for the benefit of kibitzing context [feature]
|
||||
175 Implement realtime private messaging a la online-go/facebook [feature] 1
|
||||
174 clicking on other language subdomain should retain preferred language [feature] [planned]
|
||||
169 Predefined positions for game creation [feature] [planned]
|
||||
168 Add advanced options in analysis board [feature]
|
||||
167 Atomic chess [feature] [in progress]
|
||||
166 make puzzle of the day embeddable for site owners [feature]
|
||||
165 [Translation] To French. 'only accepts challenges from friends.' 1
|
||||
164 Unsubscribe from something [feature]
|
||||
163 The "%s games" link under favourite opponents no longer works
|
||||
161 TV channels [feature]
|
||||
155 Link Win/Draw/Loss indicator in Tournament Standings to Games [improvement]
|
||||
153 Add support for anti-chess in PDF exporter [improvement]
|
||||
149 Simul tournament [feature] [planned] @
|
||||
143 Stream title on TV doesn't wrap [improvement] 2
|
||||
142 Predefine move sequences in correspondence chess [feature] [planned] 3
|
||||
130 Several colours for clock bar [feature]
|
||||
128 when importing PGN, accept clock information [feature] 2
|
||||
127 export clock information in PGN [feature] 6
|
||||
126 Feature: Possibility to edit/delete forum posts [feature]
|
||||
114 Wrong encoding in names of wiki-pages [bug]
|
||||
97 Feature: Ability to rematch with different game settings [feature] 2
|
||||
77 Feature wish: Training mode long time chart [feature]
|
||||
73 Intermitent problem creating tournaments [bug] [can't reproduce]
|
||||
69 timing in "Spectator room" chat [feature]
|
||||
59 Feature: Clock pause [feature] 1
|
||||
58 separate TVs for bullet-time, blitz and slow games. [feature] [planned] 1
|
||||
53 Advanced comments [feature] 3
|
|
@ -1 +1 @@
|
|||
Subproject commit 785e4fa7dd4108ab673573d2aaf221182596e850
|
||||
Subproject commit 116abbb200fd913934c76574930cff967d00e991
|
|
@ -2,6 +2,7 @@ package lila.game
|
|||
|
||||
import org.joda.time.DateTime
|
||||
import scala.util.{ Try, Success, Failure }
|
||||
import chess.variant.Variant
|
||||
|
||||
import chess._
|
||||
|
||||
|
@ -163,13 +164,13 @@ object BinaryFormat {
|
|||
} toArray)
|
||||
}
|
||||
|
||||
def read(ba: ByteArray): PieceMap = {
|
||||
def read(ba: ByteArray, variant: Variant): PieceMap = {
|
||||
def splitInts(b: Byte) = {
|
||||
val int = b.toInt
|
||||
Array(int >> 4, int & 0x0F)
|
||||
}
|
||||
def intPiece(int: Int): Option[Piece] =
|
||||
intToRole(int & 7) map { role => Piece(Color((int & 8) == 0), role) }
|
||||
intToRole(int & 7, variant) map { role => Piece(Color((int & 8) == 0), role) }
|
||||
val pieceInts = ba.value flatMap splitInts
|
||||
(Pos.all zip pieceInts flatMap {
|
||||
case (pos, int) => intPiece(int) map (pos -> _)
|
||||
|
@ -179,14 +180,15 @@ object BinaryFormat {
|
|||
// cache standard start position
|
||||
val standard = write(Board.init(chess.variant.Standard).pieces)
|
||||
|
||||
private def intToRole(int: Int): Option[Role] = int match {
|
||||
private def intToRole(int: Int, variant: Variant): Option[Role] = int match {
|
||||
case 6 => Some(Pawn)
|
||||
case 1 => Some(King)
|
||||
case 2 => Some(Queen)
|
||||
case 3 => Some(Rook)
|
||||
case 4 => Some(Knight)
|
||||
case 5 => Some(Bishop)
|
||||
case 7 => Some(Antiking)
|
||||
// Legacy from when we used to have an 'Antiking' piece
|
||||
case 7 if variant.antichess => Some(King)
|
||||
case _ => None
|
||||
}
|
||||
private def roleToInt(role: Role): Int = role match {
|
||||
|
@ -196,7 +198,6 @@ object BinaryFormat {
|
|||
case Rook => 3
|
||||
case Knight => 4
|
||||
case Bishop => 5
|
||||
case Antiking => 7
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -93,6 +93,8 @@ case class Game(
|
|||
createdAt plusMillis (lmt * 100)
|
||||
} orElse updatedAt
|
||||
|
||||
def updatedAtOrCreatedAt = updatedAt | createdAt
|
||||
|
||||
def lastMoveTimeInSeconds: Option[Int] = lastMoveTime.map(x => (x / 10).toInt)
|
||||
|
||||
// in tenths of seconds
|
||||
|
@ -113,7 +115,7 @@ case class Game(
|
|||
|
||||
lazy val toChess: ChessGame = {
|
||||
|
||||
val pieces = BinaryFormat.piece read binaryPieces
|
||||
val pieces = BinaryFormat.piece.read(binaryPieces, variant)
|
||||
|
||||
ChessGame(
|
||||
board = Board(pieces, toChessHistory, variant),
|
||||
|
@ -343,7 +345,9 @@ case class Game(
|
|||
|
||||
def hasClock = clock.isDefined
|
||||
|
||||
def isUnlimited = !hasClock && daysPerTurn.isEmpty
|
||||
def hasCorrespondenceClock = daysPerTurn.isDefined
|
||||
|
||||
def isUnlimited = !hasClock && !hasCorrespondenceClock
|
||||
|
||||
def isClockRunning = clock ?? (_.isRunning)
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ object GameRepo {
|
|||
|
||||
def nowPlaying(user: User): Fu[List[Pov]] =
|
||||
$find(Query nowPlaying user.id) map {
|
||||
_ flatMap { Pov(_, user) } sortBy Pov.priority
|
||||
_ flatMap { Pov(_, user) } sortWith Pov.priority
|
||||
}
|
||||
|
||||
// gets most urgent game to play
|
||||
|
|
|
@ -23,11 +23,12 @@ case class Pov(game: Game, color: Color) {
|
|||
def withGame(g: Game) = copy(game = g)
|
||||
def withColor(c: Color) = copy(color = c)
|
||||
|
||||
def isMyTurn = game.started && game.playable && game.turnColor == color
|
||||
lazy val isMyTurn = game.started && game.playable && game.turnColor == color
|
||||
|
||||
def remainingSeconds: Option[Int] = game.clock.map(_.remainingTime(color).toInt).orElse {
|
||||
game.correspondenceClock.map(_.remainingTime(color).toInt)
|
||||
}
|
||||
lazy val remainingSeconds: Option[Int] =
|
||||
game.clock.map(_.remainingTime(color).toInt).orElse {
|
||||
game.correspondenceClock.map(_.remainingTime(color).toInt)
|
||||
}
|
||||
|
||||
def hasMoved = game playerHasMoved color
|
||||
|
||||
|
@ -51,14 +52,20 @@ object Pov {
|
|||
def apply(game: Game, user: lila.user.User): Option[Pov] =
|
||||
game player user map { apply(game, _) }
|
||||
|
||||
def priority(pov: Pov) = {
|
||||
val base = if (pov.isMyTurn) {
|
||||
if (pov.hasMoved) pov.remainingSeconds.getOrElse(Int.MaxValue - 1)
|
||||
else 10 // first move has priority over games with more than 10s left
|
||||
}
|
||||
else Int.MaxValue
|
||||
if (pov.game.hasClock) base - 1000 else base
|
||||
}
|
||||
private def orInf(i: Option[Int]) = i getOrElse Int.MaxValue
|
||||
private def isFresher(a: Pov, b: Pov) =
|
||||
a.game.updatedAtOrCreatedAt.getSeconds > b.game.updatedAtOrCreatedAt.getSeconds
|
||||
|
||||
def priority(a: Pov, b: Pov) =
|
||||
if (!a.isMyTurn && !b.isMyTurn) isFresher(a, b)
|
||||
else if (!a.isMyTurn && b.isMyTurn) false
|
||||
else if (a.isMyTurn && !b.isMyTurn) true
|
||||
// first move has priority over games with more than 30s left
|
||||
else if (!a.hasMoved && orInf(b.remainingSeconds) > 30) true
|
||||
else if (!b.hasMoved && orInf(a.remainingSeconds) > 30) false
|
||||
else if (orInf(a.remainingSeconds) < orInf(b.remainingSeconds)) true
|
||||
else if (orInf(b.remainingSeconds) < orInf(a.remainingSeconds)) false
|
||||
else isFresher(a, b)
|
||||
}
|
||||
|
||||
case class PovRef(gameId: String, color: Color) {
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.specs2.mutable._
|
|||
import org.specs2.specification._
|
||||
|
||||
import lila.db.ByteArray
|
||||
import chess.variant.Standard
|
||||
|
||||
class BinaryPieceTest extends Specification {
|
||||
|
||||
|
@ -15,7 +16,7 @@ class BinaryPieceTest extends Specification {
|
|||
def write(all: PieceMap): List[String] =
|
||||
(BinaryFormat.piece write all).showBytes.split(',').toList
|
||||
def read(bytes: List[String]): PieceMap =
|
||||
BinaryFormat.piece read ByteArray.parseBytes(bytes)
|
||||
BinaryFormat.piece.read(ByteArray.parseBytes(bytes), Standard)
|
||||
|
||||
"binary pieces" should {
|
||||
"write" should {
|
||||
|
|
|
@ -49,7 +49,7 @@ private[i18n] final class GitWrite(
|
|||
val commitMsg = commitMessage(translation, name)
|
||||
sender ! (git branchExists branch flatMap {
|
||||
_.fold(
|
||||
fuloginfo("! Branch already exists: " + branch),
|
||||
fulogwarn("! Branch already exists: " + branch),
|
||||
git.checkout(branch, true) >>
|
||||
writeMessages(translation) >>
|
||||
fuloginfo("Add " + relFileOf(translation)) >>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,33 @@
|
|||
package lila.opening
|
||||
|
||||
case class Identified(
|
||||
name: Identified.Name,
|
||||
moves: Identified.Moves)
|
||||
|
||||
case object Identified {
|
||||
|
||||
def many(fullNames: List[String], max: Int): List[Identified] =
|
||||
fullNames.map {
|
||||
_.split(',').take(2).mkString(",")
|
||||
}.distinct take max map { name =>
|
||||
Identified(
|
||||
name = name,
|
||||
moves = ~(movesPerName get name))
|
||||
}
|
||||
|
||||
type Name = String
|
||||
type Moves = String
|
||||
|
||||
private lazy val movesPerName: Map[Name, Moves] =
|
||||
chess.Openings.db.foldLeft(Map[Name, Moves]()) {
|
||||
case (outerAcc, (_, fullName, moves)) => List(1, 2).foldLeft(outerAcc) {
|
||||
case (acc, length) =>
|
||||
val name = fullName.split(',').take(length).mkString(",")
|
||||
acc get name match {
|
||||
case None => acc + (name -> moves)
|
||||
case Some(ms) if moves.size < ms.size => acc + (name -> moves)
|
||||
case _ => acc
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,7 +20,7 @@ case class Opening(
|
|||
attempts: Int,
|
||||
wins: Int) {
|
||||
|
||||
lazy val goal = qualityMoves.count(_.quality == Quality.Good) min 5
|
||||
lazy val goal = qualityMoves.count(_.quality == Quality.Good) min 4
|
||||
|
||||
lazy val qualityMoves: List[QualityMove] = {
|
||||
val bestCp = moves.foldLeft(Int.MaxValue) {
|
||||
|
@ -39,7 +39,7 @@ sealed abstract class Quality(val threshold: Int) {
|
|||
}
|
||||
object Quality {
|
||||
case object Good extends Quality(30)
|
||||
case object Dubious extends Quality(80)
|
||||
case object Dubious extends Quality(70)
|
||||
case object Bad extends Quality(Int.MaxValue)
|
||||
|
||||
def apply(cp: Int) =
|
||||
|
|
|
@ -71,13 +71,13 @@ private[opening] final class OpeningApi(
|
|||
}
|
||||
}
|
||||
|
||||
object name {
|
||||
object identify {
|
||||
|
||||
def find(fen: String): Fu[List[String]] = nameColl.find(
|
||||
def apply(fen: String, max: Int): Fu[List[Identified]] = nameColl.find(
|
||||
BSONDocument("_id" -> fen),
|
||||
BSONDocument("_id" -> false)
|
||||
).one[BSONDocument] map { opt =>
|
||||
~(opt ?? (_.getAs[List[String]]("names")))
|
||||
Identified.many(~(opt ?? (_.getAs[List[String]]("names"))), max)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,17 @@ final class DataForm(val captcher: akka.actor.ActorSelection) extends lila.hub.C
|
|||
|
||||
import DataForm._
|
||||
|
||||
case class Empty(gameId: String, move: String)
|
||||
|
||||
val empty = Form(mapping(
|
||||
"gameId" -> nonEmptyText,
|
||||
"move" -> nonEmptyText
|
||||
)(Empty.apply)(_ => None)
|
||||
.verifying(captchaFailMessage, validateCaptcha _)
|
||||
)
|
||||
|
||||
def emptyWithCaptcha = withCaptcha(empty)
|
||||
|
||||
val signup = Form(mapping(
|
||||
"username" -> nonEmptyText.verifying(
|
||||
Constraints minLength 2,
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</div>
|
||||
<div style='font-size: 13px; margin-top: 6px; line-height: 12px;'>
|
||||
Sorry, but your browser does not support WebSockets.<br />
|
||||
We recommend using the latest version of Firefox, Chrome, Safari or Opera.
|
||||
We recommend using the latest version of Firefox or Chrome.
|
||||
</div>
|
||||
</div>
|
||||
<div style='width: 80px; float: left;'>
|
||||
|
@ -21,8 +21,5 @@
|
|||
<div style='width: 80px; float: left;'>
|
||||
<a href='http://www.google.com/chrome' target='_blank'><img src='/assets/images/browser-chrome.png' style='border: none;' alt='Get Google Chrome'/></a>
|
||||
</div>
|
||||
<div style='width: 80px; float: left;'>
|
||||
<a href='http://www.opera.com/download/' target='_blank'><img src='/assets/images/browser-opera.png' style='border: none;' alt='Get Opera'/></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -93,9 +93,9 @@
|
|||
<glyph unicode="<" d="M498 14c-19-19-49-19-68 0l-85 85c-35-22-76-36-121-36-124 0-224 101-224 225 0 124 100 224 224 224 124 0 225-100 225-224 0-45-14-86-36-121l85-85c19-19 19-49 0-68z m-274 434c-88 0-160-72-160-160 0-89 72-161 160-161 89 0 161 72 161 161 0 88-72 160-161 160z m32-257l-64 0 0 65-64 0 0 64 64 0 0 64 64 0 0-64 65 0 0-64-65 0z"/>
|
||||
<glyph unicode="=" d="M96 128l320 0 0 256-320 0z m64 192l192 0 0-128-192 0z m-96 96l96 0 0 32-128 0 0-128 32 0z m0-224l-32 0 0-128 128 0 0 32-96 0z m288 256l0-32 96 0 0-96 32 0 0 128z m96-352l-96 0 0-32 128 0 0 128-32 0z"/>
|
||||
<glyph unicode="?" d="M73 137l0-55c0-2-1-4-3-6-1-2-4-3-6-3l-55 0c-2 0-4 1-6 3-2 2-3 4-3 6l0 55c0 3 1 5 3 7 2 1 4 2 6 2l55 0c2 0 5-1 6-2 2-2 3-4 3-7z m0 110l0-55c0-2-1-5-3-6-1-2-4-3-6-3l-55 0c-2 0-4 1-6 3-2 1-3 4-3 6l0 55c0 2 1 4 3 6 2 2 4 3 6 3l55 0c2 0 5-1 6-3 2-2 3-4 3-6z m0 110l0-55c0-3-1-5-3-7-1-2-4-2-6-2l-55 0c-2 0-4 0-6 2-2 2-3 4-3 7l0 55c0 2 1 4 3 6 2 2 4 3 6 3l55 0c2 0 5-1 6-3 2-2 3-4 3-6z m439-220l0-55c0-2-1-4-3-6-2-2-4-3-6-3l-384 0c-3 0-5 1-7 3-1 2-2 4-2 6l0 55c0 3 1 5 2 7 2 1 4 2 7 2l384 0c2 0 4-1 6-2 2-2 3-4 3-7z m-439 329l0-55c0-2-1-4-3-6-1-2-4-3-6-3l-55 0c-2 0-4 1-6 3-2 2-3 4-3 6l0 55c0 3 1 5 3 7 2 2 4 2 6 2l55 0c2 0 5 0 6-2 2-2 3-4 3-7z m439-219l0-55c0-2-1-5-3-6-2-2-4-3-6-3l-384 0c-3 0-5 1-7 3-1 1-2 4-2 6l0 55c0 2 1 4 2 6 2 2 4 3 7 3l384 0c2 0 4-1 6-3 2-2 3-4 3-6z m0 110l0-55c0-3-1-5-3-7-2-2-4-2-6-2l-384 0c-3 0-5 0-7 2-1 2-2 4-2 7l0 55c0 2 1 4 2 6 2 2 4 3 7 3l384 0c2 0 4-1 6-3 2-2 3-4 3-6z m0 109l0-55c0-2-1-4-3-6-2-2-4-3-6-3l-384 0c-3 0-5 1-7 3-1 2-2 4-2 6l0 55c0 3 1 5 2 7 2 2 4 2 7 2l384 0c2 0 4 0 6-2 2-2 3-4 3-7z"/>
|
||||
<glyph unicode="[" d="M416 160c44 0 80-36 80-80 0-44-36-80-80-80-44 0-80 36-80 80 0 5 0 10 1 14l-186 104c-14-13-34-22-55-22-44 0-80 36-80 80 0 44 36 80 80 80 21 0 41-9 55-22l186 104c-1 5-1 9-1 14 0 44 36 80 80 80 44 0 80-36 80-80 0-44-36-80-80-80-22 0-42 9-56 23l-186-102c1-5 2-11 2-17 0-6-1-12-2-17l185-102c14 14 35 23 57 23z"/>
|
||||
<glyph unicode=">" d="M256 320c-35 0-64-29-64-64 0-35 29-64 64-64 35 0 64 29 64 64 0 35-29 64-64 64z m197-8c-7 2-13 6-19 11-8-16-19-32-30-49-18 23-38 46-61 69-23 22-46 43-69 61 55 39 108 62 145 62 16 0 27-4 35-12 9-8 12-22 12-38 1 0 2 0 3 0 6 0 12-1 18-3 1 24-5 43-18 56-12 12-28 18-50 18-43 0-102-26-163-70-61 44-120 70-163 70-5 0-9 0-13-1 6-5 10-12 13-20 37 0 90-23 145-62-23-18-46-39-69-61-22-23-43-46-61-69-18 26-33 51-44 76-7 16-12 32-15 45-2 0-4 0-6 0-6 0-11 1-16 2 3-17 9-35 18-56 12-27 29-56 50-85-21-29-38-58-50-85-26-58-27-104-2-128 12-12 28-18 50-18 64 0 162 56 250 144 22 23 43 46 61 69 59-83 76-154 50-180-8-8-19-12-35-12-20 0-44 7-71 19-3-7-7-13-12-18 31-14 59-22 83-22 22 0 38 6 50 18 37 37 14 122-52 213 14 19 26 38 36 56z m-360-266c-16 0-27 4-35 12-18 17-15 55 6 104 11 25 26 50 44 76 18-23 39-47 61-69 23-23 46-43 69-61-55-39-108-62-145-62z m235 138c-23-23-48-44-72-63-24 19-48 40-72 63-23 24-44 48-63 72 19 24 40 48 63 72 24 23 48 44 72 63 24-19 48-40 72-63 24-24 45-48 63-72-19-24-40-48-63-72z m141 200c-11 0-21-10-21-21 0-12 10-22 21-22 12 0 22 10 22 22 0 11-10 21-22 21z m-170-277c-12 0-22-10-22-22 0-11 10-21 22-21 11 0 21 10 21 21 0 12-10 22-21 22z m-256 320c11 0 21 9 21 21 0 12-10 21-21 21-12 0-22-9-22-21 0-12 10-21 22-21z"/>
|
||||
<glyph unicode="]" d="M487 375c7-10 9-23 5-36l-79-259c-3-12-11-23-22-31-11-8-22-12-35-12l-263 0c-15 0-29 5-43 15-13 10-23 23-28 37-5 13-5 25-1 37 0 0 0 3 1 7 1 5 1 8 1 11 0 2 0 4-1 6 0 3-1 5-1 6 1 2 2 4 3 6 1 2 2 4 4 6 2 3 4 5 5 7 5 7 9 16 13 26 4 10 7 19 9 26 0 2 0 5 0 9-1 4-1 6 0 8 0 2 2 5 4 8 3 3 5 5 5 7 4 6 8 15 12 26 4 11 7 19 7 26 1 1 0 4 0 9-1 4-1 7 0 8 1 2 3 5 6 8 4 4 6 6 6 7 4 5 8 13 13 24 4 11 7 20 7 28 1 1 0 4 0 7-1 3-1 6-1 7 0 2 1 4 3 6 1 1 3 4 5 6 2 3 3 5 5 6 1 2 3 5 4 9 2 3 3 7 5 10 1 3 2 6 4 10 2 4 4 7 6 9 2 3 4 5 7 7 3 2 7 3 11 3 3 0 8 0 13-1l0-1c7 2 12 2 14 2l218 0c14 0 25-5 32-16 8-10 10-23 6-37l-79-259c-7-22-13-37-20-43-7-7-19-10-37-10l-248 0c-5 0-9-2-11-5-2-3-2-7 0-12 4-13 18-20 41-20l264 0c5 0 10 2 16 5 5 3 8 6 10 11l85 282c2 5 2 10 2 17 7-3 13-7 17-13z m-304 0c-1-3-1-5 0-7 1-1 3-2 6-2l174 0c2 0 4 1 7 2 2 2 4 4 5 7l6 18c0 3 0 5-1 7-1 1-3 2-6 2l-173 0c-3 0-5-1-8-2-2-2-4-4-4-7z m-24-73c-1-3-1-5 0-7 2-2 3-2 6-2l174 0c2 0 5 0 7 2 3 2 4 4 5 7l6 18c1 2 0 5-1 6-1 2-3 3-5 3l-174 0c-3 0-5-1-7-3-3-1-4-4-5-6z"/>
|
||||
<glyph unicode="`" d="M228 359c5 0 9 1 14 2 2 0 4 1 5 3 1 2 2 4 2 6l-24 135c-1 5-5 8-10 7-42-7-70-47-62-89 6-37 38-64 75-64z m-18 134l20-116-2-1c-29 0-53 21-58 50-6 29 12 58 40 67z m154-132c5-1 9-2 14-2 37 0 69 27 75 64 8 42-20 82-62 89-2 0-4 0-6-2-2-1-3-3-4-5l-23-135c-1-4 2-9 6-9z m32 132c28-9 46-38 41-67-6-29-31-51-61-49z m99-374l-94 0 6 33c5-3 10-6 16-7 19-4 37 9 40 28l14 90c3 15-1 31-10 44-9 13-23 22-38 25l-67 12c-3 0-5 0-7-2-2-1-3-3-3-5l-31-177c-1-4 2-9 6-9 5-1 8-6 7-10l-3-22-57 0-2 22c-1 4 2 9 7 10 2 0 4 1 5 3 2 2 2 4 2 6l-31 177c-1 5-6 8-10 7l-68-12c-32-6-54-37-48-69l15-89c2-9 7-17 14-22 8-6 17-8 26-6 6 1 11 4 15 7l6-34-43 0 0 9c0 5-4 9-8 9-5 0-9-4-9-9l0-9-128 0c-13 0-15-18-15-34 0-15 2-34 15-34l128 0 0-25c0-5 4-9 9-9 4 0 8 4 8 9l0 25 56 0 4-23c3-17 18-28 34-28 2 0 4 0 6 0 18 4 31 21 28 40l-2 11 31 0-2-11c-2-9 0-18 5-26 5-7 13-12 22-14 2 0 4 0 6 0 17 0 31 12 34 28l4 23 73 0c25 0 43 39 43 60 0 5-4 8-9 8z m-284 65l0 1-10 58c-1 5-5 8-10 7-4 0-8-5-7-9l10-58 0 0 0-1c2-9-4-18-13-19-5-1-9 0-13 3-4 2-6 6-7 11l-15 89c-4 23 11 45 34 49l59 11 29-162c-10-5-15-15-13-26l2-19-35 0z m-117-82l17 0 0-34-17 0z m-17-34l-17 0 0 34 17 0z m-57 34l23 0 0-34-23 0c-2 7-2 27 0 34z m108-34l0 34 17 0 0-34z m145-31c1-9-5-18-14-20-9-2-18 5-20 14l-3 20 34 0z m-111 31l0 34 166 0-6-34z m205-37c-2-9-10-16-20-14-4 1-8 3-11 7-2 4-3 8-3 13l18 101c2 11-3 21-12 26l28 162 59-11c11-2 21-8 27-17 7-10 9-21 7-32l-14-91c-2-9-10-15-20-13-4 0-8 3-11 7-2 3-3 8-3 12l0 1 11 59c0 4-3 9-7 10-5 1-9-3-10-7l-11-61 0-1z m94 37l-70 0 7 34 87 0c-3-14-14-34-24-34z"/>
|
||||
<glyph unicode="@" d="M223 464c-63-3-97-16-105-38-1-3-2-7-2-17-1-20-3-35-7-51-6-22-10-31-39-72-15-22-22-42-22-59 0-21 7-40 22-55 12-12 29-21 46-25 10-1 26-1 35 1 16 3 31 10 45 21 3 1 5 3 5 3 0 0 0-4 0-8 0-16 2-28 7-37 2-4 4-7 10-13 4-4 10-9 14-12l6-4 0-9 0-8-14-8-13-9-1-12 0-13 13 0 13 0 4-12 4-13 23 0 5 13 4 12 13 0 12 0 0 13 0 12-14 9-13 8 0 8 0 9 5 4c8 6 21 18 24 23 4 7 8 23 8 37 1 9 1 11 2 9 1-1 14-10 21-13 15-8 28-12 45-12 20 0 36 5 50 15 7 4 19 17 23 24 13 20 16 44 8 66-5 14-12 27-27 48-13 18-14 20-19 29-11 22-16 46-18 80-1 19-2 22-9 29-8 9-20 15-40 19-27 7-79 10-124 8z m-9-56l42-4 42 4c40 3 46 3 52 2 8-2 10-10 3-15-11-8-49-12-105-11-46 1-77 4-89 11-4 2-5 4-5 7 1 5 4 7 11 8 4 1 6 1 49-2z m-20-78c12-1 40-5 53-8l8-1 13 2c27 5 50 7 68 8 14 1 28-1 37-5 6-3 24-21 36-36 10-15 21-35 26-47 2-8 2-8 2-18 0-11-1-19-6-27-9-18-28-27-53-28-4 0-10 1-13 1-19 4-38 15-57 34-10 10-16 18-22 30-8 16-12 36-12 55 0 10-4 13-13 15-8 1-17-1-21-4-2-3-3-5-3-12 0-23-8-49-20-68-14-20-37-39-59-47-14-5-36-5-50 0-12 4-22 12-28 23-3 7-5 11-6 22-1 11-1 16 3 26 7 20 26 48 47 70 10 9 13 12 23 14 10 3 26 3 47 1z m-37-18c-8-1-10-2-20-10-14-10-32-32-41-50-5-10-6-15-7-24 0-12 2-20 10-28 5-5 11-8 21-11 8-2 23-2 31 0 15 5 27 12 40 25 17 19 27 42 29 73 1 10 1 11 0 14-3 5-9 9-20 11-7 1-32 1-43 0z m156 0c-13-2-19-6-22-12-1-3-1-4-1-12 2-21 6-34 13-49 5-10 11-18 21-27 12-12 23-19 36-23 5-1 7-1 16-1 13 0 18 1 27 5 5 3 12 9 14 14 3 5 5 16 5 22 0 19-17 46-46 70-12 10-15 12-24 13-10 1-32 1-39 0z"/>
|
||||
<glyph unicode="^" d="M256 480c-141 0-256-115-256-256 0 0 0-96 0-128 0-32 32-64 64-64 32 0 352 0 384 0 32 0 64 32 64 64 0 32 0 128 0 128 0 141-114 256-256 256z m48-384l-96 0c-9 0-16 7-16 16 0 9 7 16 16 16l96 0c9 0 16-7 16-16 0-9-7-16-16-16z m144 64c0-16-16-32-32-32-16 0-64 0-64 0 0 16-16 32-32 32-16 0-112 0-128 0-16 0-32-16-32-32 0 0-48 0-64 0-16 0-32 16-32 32 0 16 0 180 0 180 39 64 110 108 192 108 82 0 153-44 192-108 0 0 0-164 0-180z m-64 192c-16 0-240 0-256 0-16 0-32-16-32-32 0-16 0-48 0-64 0-16 16-32 32-32 16 0 240 0 256 0 16 0 32 16 32 32 0 16 0 48 0 64 0 16-16 32-32 32z m0-64l-32-32-64 0-32 32-32-32-64 0-32 32 0 32 32 0 32-32 32 32 64 0 32-32 32 32 32 0z"/>
|
||||
</font></defs></svg>
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Binary file not shown.
Binary file not shown.
|
@ -389,10 +389,6 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
|
|||
<div class="icon icon-list"></div>
|
||||
<input type="text" readonly="readonly" value="list">
|
||||
</li>
|
||||
<li>
|
||||
<div class="icon icon-share"></div>
|
||||
<input type="text" readonly="readonly" value="share">
|
||||
</li>
|
||||
<li>
|
||||
<div class="icon icon-atom"></div>
|
||||
<input type="text" readonly="readonly" value="atom">
|
||||
|
@ -409,6 +405,10 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
|
|||
<div class="icon icon-antichess"></div>
|
||||
<input type="text" readonly="readonly" value="antichess">
|
||||
</li>
|
||||
<li>
|
||||
<div class="icon icon-hubot"></div>
|
||||
<input type="text" readonly="readonly" value="hubot">
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Character mapping</h2>
|
||||
<ul class="glyphs character-mapping">
|
||||
|
@ -756,10 +756,6 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
|
|||
<div data-icon="?" class="icon"></div>
|
||||
<input type="text" readonly="readonly" value="?">
|
||||
</li>
|
||||
<li>
|
||||
<div data-icon="[" class="icon"></div>
|
||||
<input type="text" readonly="readonly" value="[">
|
||||
</li>
|
||||
<li>
|
||||
<div data-icon=">" class="icon"></div>
|
||||
<input type="text" readonly="readonly" value=">">
|
||||
|
@ -776,6 +772,10 @@ h2{font-size:18px;padding:0 0 21px 5px;margin:45px 0 0 0;text-transform:uppercas
|
|||
<div data-icon="@" class="icon"></div>
|
||||
<input type="text" readonly="readonly" value="@">
|
||||
</li>
|
||||
<li>
|
||||
<div data-icon="^" class="icon"></div>
|
||||
<input type="text" readonly="readonly" value="^">
|
||||
</li>
|
||||
</ul>
|
||||
</div><script type="text/javascript">
|
||||
(function() {
|
|
@ -296,9 +296,6 @@
|
|||
.icon-list:before {
|
||||
content: "?";
|
||||
}
|
||||
.icon-share:before {
|
||||
content: "[";
|
||||
}
|
||||
.icon-atom:before {
|
||||
content: ">";
|
||||
}
|
||||
|
@ -311,3 +308,6 @@
|
|||
.icon-antichess:before {
|
||||
content: "@";
|
||||
}
|
||||
.icon-hubot:before {
|
||||
content: "^";
|
||||
}
|
|
@ -70,8 +70,8 @@ time {
|
|||
}
|
||||
@font-face {
|
||||
font-family: "lichess";
|
||||
src: url("../font30/fonts/lichess.eot");
|
||||
src: url("../font30/fonts/lichess.eot?#iefix") format("embedded-opentype"), url("../font30/fonts/lichess.woff") format("woff"), url("../font30/fonts/lichess.ttf") format("truetype"), url("../font30/fonts/lichess.svg#lichess") format("svg");
|
||||
src: url("../font31/fonts/lichess.eot");
|
||||
src: url("../font31/fonts/lichess.eot?#iefix") format("embedded-opentype"), url("../font31/fonts/lichess.woff") format("woff"), url("../font31/fonts/lichess.ttf") format("truetype"), url("../font31/fonts/lichess.svg#lichess") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
#opening .right .loader {
|
||||
font-size: 10px;
|
||||
}
|
||||
#opening table.identified td {
|
||||
padding-right: 2em;
|
||||
}
|
||||
#opening .meter {
|
||||
width: 494px;
|
||||
height: 47px;
|
||||
|
@ -35,7 +38,7 @@
|
|||
border-radius: 25px;
|
||||
padding: 10px;
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
margin-top: 20px;
|
||||
margin: 20px 0 10px 0;
|
||||
}
|
||||
#opening .meter ul {
|
||||
width: 490px;
|
||||
|
|
1
todo
1
todo
|
@ -1 +0,0 @@
|
|||
the todo list has moved to https://etherpad.mozilla.org/ep/pad/view/ro.3bIwxJwTQYW/latest
|
|
@ -1,5 +1,7 @@
|
|||
var chessground = require('chessground');
|
||||
|
||||
var movableVariants = ['standard', 'chess960', 'threecheck', 'fromPosition'];
|
||||
|
||||
function makeConfig(data, situation, onMove) {
|
||||
return {
|
||||
fen: situation.fen,
|
||||
|
@ -7,6 +9,7 @@ function makeConfig(data, situation, onMove) {
|
|||
lastMove: situation.lastMove,
|
||||
orientation: data.player.color,
|
||||
coordinates: data.pref.coords !== 0,
|
||||
viewOnly: movableVariants.indexOf(data.game.variant.key) === -1,
|
||||
movable: {
|
||||
free: false,
|
||||
color: situation.movable.color,
|
||||
|
|
|
@ -58,10 +58,10 @@ function controls(ctrl, fen) {
|
|||
])
|
||||
]),
|
||||
m('div', [
|
||||
ctrl.positionLooksLegit() ? m('a.button.text[data-icon="["]', {
|
||||
ctrl.positionLooksLegit() ? m('a.button.text[data-icon="A"]', {
|
||||
href: editor.makeUrl('/analysis/', fen),
|
||||
rel: 'nofollow'
|
||||
}, ctrl.trans('analysis')) : m('span.button.disabled.text[data-icon="["]', {
|
||||
}, ctrl.trans('analysis')) : m('span.button.disabled.text[data-icon="A"]', {
|
||||
rel: 'nofollow'
|
||||
}, ctrl.trans('analysis')),
|
||||
m('a.button', {
|
||||
|
|
|
@ -12,15 +12,15 @@ function renderAnalysisButton(ctrl) {
|
|||
return m('a.button.hint--bottom', {
|
||||
'data-hint': ctrl.trans('analysis'),
|
||||
href: '/analysis/' + encodeURIComponent(ctrl.data.opening.fen).replace(/%20/g, '_').replace(/%2F/g, '/'),
|
||||
target: '_blank',
|
||||
target: ctrl.data.play ? '_blank' : '_self',
|
||||
rel: 'nofollow'
|
||||
}, m('span', {
|
||||
'data-icon': '['
|
||||
'data-icon': 'A'
|
||||
}));
|
||||
}
|
||||
|
||||
function renderPlayTable(ctrl) {
|
||||
return m('div.table',
|
||||
return m('div.table', [
|
||||
m('div.table_inner', [
|
||||
m('div.current_player',
|
||||
m('div.player.' + ctrl.data.opening.color, [
|
||||
|
@ -30,15 +30,14 @@ function renderPlayTable(ctrl) {
|
|||
),
|
||||
m('div.findit', m.trust(ctrl.trans('findNbStrongMoves', strong(ctrl.data.opening.goal)))),
|
||||
m('div.control', [
|
||||
ctrl.data.play ? m('a.button', {
|
||||
m('a.button', {
|
||||
onclick: partial(xhr.attempt, ctrl)
|
||||
}, ctrl.trans('giveUp')) : m('a.button', {
|
||||
onclick: partial(xhr.newOpening, ctrl)
|
||||
}, ctrl.trans('continueTraining')),
|
||||
}, ctrl.trans('giveUp')),
|
||||
' ',
|
||||
renderAnalysisButton(ctrl)
|
||||
])
|
||||
]));
|
||||
])
|
||||
]);
|
||||
}
|
||||
|
||||
function renderViewTable(ctrl) {
|
||||
|
@ -51,22 +50,49 @@ function renderViewTable(ctrl) {
|
|||
}, ctrl.trans('openingId', ctrl.data.opening.id))),
|
||||
m('p', m.trust(ctrl.trans('ratingX', strong(ctrl.data.opening.rating)))),
|
||||
m('p', m.trust(ctrl.trans('playedXTimes', strong(ctrl.data.opening.attempts)))),
|
||||
m('div.control', [
|
||||
renderAnalysisButton(ctrl),
|
||||
' ',
|
||||
m('a.button.hint--bottom', {
|
||||
'data-hint': ctrl.trans('boardEditor'),
|
||||
href: '/editor/' + ctrl.data.opening.fen
|
||||
}, m('span[data-icon=m]')),
|
||||
' ',
|
||||
m('a.button.hint--bottom', {
|
||||
'data-hint': ctrl.trans('continueFromHere'),
|
||||
onclick: function() {
|
||||
$.modal($('.continue_with'));
|
||||
}
|
||||
}, m('span[data-icon=U]'))
|
||||
]),
|
||||
m('p',
|
||||
m('input.copyable[readonly][spellCheck=false]', {
|
||||
value: ctrl.data.opening.url
|
||||
})
|
||||
)
|
||||
]),
|
||||
m('div.continue_wrap', [
|
||||
m('div.continue_wrap',
|
||||
m('button.continue.button.text[data-icon=G]', {
|
||||
onclick: partial(xhr.newOpening, ctrl)
|
||||
}, ctrl.trans('continueTraining')),
|
||||
' ',
|
||||
renderAnalysisButton(ctrl)
|
||||
])
|
||||
}, ctrl.trans('continueTraining'))
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
function renderContinueLinks(ctrl, fen) {
|
||||
return m('div.continue_with', [
|
||||
m('a.button', {
|
||||
href: '/?fen=' + ctrl.data.opening.fen + '#ai',
|
||||
rel: 'nofollow'
|
||||
}, ctrl.trans('playWithTheMachine')),
|
||||
m('br'),
|
||||
m('a.button', {
|
||||
href: '/?fen=' + ctrl.data.opening.fen + '#friend',
|
||||
rel: 'nofollow'
|
||||
}, ctrl.trans('playWithAFriend'))
|
||||
]);
|
||||
}
|
||||
|
||||
function renderUserInfos(ctrl) {
|
||||
return m('div.chart_container', [
|
||||
m('p', m.trust(ctrl.trans('yourOpeningRatingX', strong(ctrl.data.user.rating)))),
|
||||
|
@ -258,7 +284,14 @@ module.exports = function(ctrl) {
|
|||
))
|
||||
]),
|
||||
m('div.center', [
|
||||
progress(ctrl), (ctrl.data.user && ctrl.data.user.history) ? renderHistory(ctrl) : null
|
||||
progress(ctrl),
|
||||
m('table.identified', ctrl.data.opening.identified.map(function(ident) {
|
||||
return m('tr', [
|
||||
m('td', ident.name),
|
||||
m('td', ident.moves)
|
||||
]);
|
||||
})), (ctrl.data.user && ctrl.data.user.history) ? renderHistory(ctrl) : null,
|
||||
ctrl.data.play ? null : renderContinueLinks(ctrl)
|
||||
])
|
||||
]);
|
||||
};
|
||||
|
|
|
@ -62,11 +62,6 @@ function reload(ground, data, fen, flip) {
|
|||
|
||||
function promote(ground, key, role) {
|
||||
|
||||
// If the player has promoted to a king in the antichess mode, we treat
|
||||
// the piece like a king
|
||||
if (role === "antiking")
|
||||
role = "king";
|
||||
|
||||
var pieces = {};
|
||||
var piece = ground.data.pieces[key];
|
||||
if (piece && piece.role == 'pawn') {
|
||||
|
|
|
@ -39,15 +39,13 @@ module.exports = {
|
|||
|
||||
view: function(ctrl) {
|
||||
var pieces = ctrl.data.game.variant.key != "antichess" ?
|
||||
['queen', 'knight', 'rook', 'bishop'] : ['queen', 'knight', 'rook', 'bishop', 'antiking']
|
||||
['queen', 'knight', 'rook', 'bishop'] : ['queen', 'knight', 'rook', 'bishop', 'king']
|
||||
|
||||
return promoting ? m('div#promotion_choice', {
|
||||
onclick: partial(cancel, ctrl)
|
||||
}, pieces.map(function(serverRole) {
|
||||
// We display the piece for the antiking the same way we would for a normal king
|
||||
var internalPiece = serverRole == "antiking" ? "king" : serverRole;
|
||||
|
||||
return m('div.cg-piece.' + internalPiece + '.' + ctrl.data.player.color, {
|
||||
return m('div.cg-piece.' + serverRole + '.' + ctrl.data.player.color, {
|
||||
onclick: function(e) {
|
||||
e.stopPropagation();
|
||||
finish(ctrl, serverRole);
|
||||
|
|
|
@ -90,7 +90,7 @@ function renderButtons(ctrl, curPly) {
|
|||
class: 'button hint--top analysis',
|
||||
'data-hint': root.trans('analysis'),
|
||||
href: root.router.UserAnalysis.game(root.data.game.id, root.data.player.color).url,
|
||||
}, m('span[data-icon="["]')) : null)
|
||||
}, m('span[data-icon="A"]')) : null)
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ module.exports = {
|
|||
},
|
||||
rematch: function(ctrl) {
|
||||
if ((status.finished(ctrl.data) || status.aborted(ctrl.data)) && !ctrl.data.tournament) {
|
||||
if (ctrl.data.opponent.onGame || ctrl.data.game.perf === 'correspondence') {
|
||||
if (ctrl.data.opponent.onGame || ctrl.data.game.speed === 'correspondence') {
|
||||
return m('a.button.hint--bottom', {
|
||||
'data-hint': ctrl.trans('playWithTheSameOpponentAgain'),
|
||||
onclick: partial(ctrl.socket.send, 'rematch-yes', null)
|
||||
|
|
|
@ -10,7 +10,7 @@ function header(ctrl) {
|
|||
return [
|
||||
m('th.large',
|
||||
tour.schedule ? [
|
||||
'Starting: ',
|
||||
ctrl.trans('starting') + ' ',
|
||||
util.secondsFromNow(tour.schedule.seconds)
|
||||
] : (
|
||||
tour.enoughPlayersToStart ? ctrl.trans('tournamentIsStarting') : ctrl.trans('waitingForNbPlayers', tour.missingPlayers)
|
||||
|
|
Loading…
Reference in New Issue