Merge branch 'master' into persistentChallenge
* master: (21 commits) update test fixtures regexify the disposable email domain database support disposable email regex test disposable domain detection upgrade playframework plugin tweak error message make the daily Racing Kings tournament a SuperBlitz event message case update donation goal ru "русский язык" translation #15726. Author: alexfox. pl "polski" translation #15725. Author: Suchar. unfuck romanian translation ro "Română" translation #15724. Author: Daccad. turns out the round/simul/tournament socket version was never used close #1559 expose tournament socket version in the API, on demand - closes #1563 tweak import form style fix import resign color Add Faroe Islands to list of countries Added email to login form text ...
This commit is contained in:
commit
5e108ea541
|
@ -53,18 +53,21 @@ object Tournament extends LilaController {
|
|||
negotiate(
|
||||
html = repo byId id flatMap {
|
||||
_.fold(tournamentNotFound.fuccess) { tour =>
|
||||
env.version(tour.id) zip env.jsonView(tour, page, ctx.userId, none) zip chatOf(tour) map {
|
||||
case ((version, data), chat) => html.tournament.show(tour, version, data, chat)
|
||||
env.version(tour.id) zip chatOf(tour) flatMap {
|
||||
case (version, chat) => env.jsonView(tour, page, ctx.userId, none, version.some) map {
|
||||
html.tournament.show(tour, _, chat)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
api = _ => repo byId id flatMap {
|
||||
case None => NotFound(Json.obj("error" -> "No such tournament")).fuccess
|
||||
case Some(tour) => get("playerInfo") ?? {
|
||||
env.api.playerInfo(tour.id, _)
|
||||
} flatMap { playerInfoExt =>
|
||||
env.jsonView(tour, page, ctx.userId, playerInfoExt)
|
||||
} map { Ok(_) }
|
||||
case Some(tour) =>
|
||||
get("playerInfo").?? { env.api.playerInfo(tour.id, _) } zip
|
||||
getBool("socketVersion").??(env version tour.id map some) flatMap {
|
||||
case (playerInfoExt, socketVersion) =>
|
||||
env.jsonView(tour, page, ctx.userId, playerInfoExt, socketVersion)
|
||||
} map { Ok(_) }
|
||||
} map (_ as JSON)
|
||||
) map NoCache
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
@(username: Field, password: Field, emailOption: Option[Field])(implicit ctx: Context)
|
||||
|
||||
<li class="username">
|
||||
<label for="@username.id">@trans.username()</label>
|
||||
<label for="@username.id">@trans.usernameOrEmail()</label>
|
||||
<input
|
||||
type="text"
|
||||
required="required"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<section class="login">
|
||||
<h2>@trans.signIn()</h2>
|
||||
<form action="@routes.Auth.authenticate" method="POST">
|
||||
<input placeholder="@trans.username()" type="text" class="username" required="required" name="username" />
|
||||
<input placeholder="@trans.usernameOrEmail()" type="text" class="username" required="required" name="username" />
|
||||
<input placeholder="@trans.password()" type="password" class="password" required="required" name="password" />
|
||||
<input type="submit" class="submit" value="@trans.signIn()" />
|
||||
</form>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@(tour: Tournament, socketVersion: Int, data: play.api.libs.json.JsObject, chat: Option[lila.chat.UserChat])(implicit ctx: Context)
|
||||
@(tour: Tournament, data: play.api.libs.json.JsObject, chat: Option[lila.chat.UserChat])(implicit ctx: Context)
|
||||
|
||||
@underchat = {
|
||||
<div class="watchers" data-icon="v">
|
||||
|
@ -13,7 +13,6 @@ lichess = lichess || {};
|
|||
lichess.tournament = {
|
||||
data: @Html(play.api.libs.json.Json.stringify(data)),
|
||||
i18n: @jsI18n(),
|
||||
socketVersion: @socketVersion,
|
||||
userId: @Html(ctx.userId.fold("null")(id => s""""$id""""))
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,22 +14,11 @@
|
|||
</p>
|
||||
|
||||
<p>
|
||||
In order to verify your title, you can take a picture of an ID document,
|
||||
and send it to the email
|
||||
<a href="mailto:@email" title="About title verification">@email</a>.
|
||||
This can include birth certificates, drivers licences, passports, visas, and more.
|
||||
It's easy; <a href="@routes.Page.master">click here to see how it's done</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Alternatively you can write a statement about lichess on a website where you are recognised
|
||||
as who you claim to be. It could be twitter, facebook, chess.com, ICC, or anything serious enough.
|
||||
Then, send us a link to your post.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Go ahead now and verify your title!
|
||||
If you need help or have any question,
|
||||
feel free to contact us by email at
|
||||
If you need help or have any question, feel free to contact us by email at
|
||||
<a href="mailto:@email" title="About title verification">@email</a>.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ net {
|
|||
ip = "5.196.91.160"
|
||||
asset {
|
||||
domain = ${net.domain}
|
||||
version = 830
|
||||
version = 831
|
||||
}
|
||||
}
|
||||
play {
|
||||
|
@ -106,7 +106,7 @@ qa {
|
|||
}
|
||||
donation {
|
||||
collection.donation = donation
|
||||
monthly_goal = 61700
|
||||
monthly_goal = 65700
|
||||
server_donors = [ drazak, jaldus, intenex, thibault ]
|
||||
}
|
||||
chat {
|
||||
|
|
|
@ -92,7 +92,7 @@ nbHours=%s hours
|
|||
time=Time
|
||||
rating=Rating
|
||||
ratingStats=Rating stats
|
||||
username=User name
|
||||
usernameOrEmail=User name or email
|
||||
password=Password
|
||||
haveAnAccount=Have an account?
|
||||
changePassword=Change password
|
||||
|
|
|
@ -87,7 +87,7 @@ nbDays=%s dae
|
|||
nbHours=%s ure
|
||||
time=Tyd
|
||||
rating=Gradering
|
||||
username=Gebruiker
|
||||
usernameOrEmail=Gebruiker
|
||||
password=Wagwoord
|
||||
haveAnAccount=Klaar geregistreer?
|
||||
changePassword=Verander wagwoord
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ساعة
|
|||
time=الوقت
|
||||
rating=التصنيف
|
||||
ratingStats=احصائيات التصنيف
|
||||
username=إسم المستخدم
|
||||
usernameOrEmail=إسم المستخدم
|
||||
password=كلمة السر
|
||||
haveAnAccount=هل لديك حساب؟
|
||||
changePassword=تغيير كلمة السر
|
||||
|
|
|
@ -86,7 +86,7 @@ nbDays=%s gün
|
|||
nbHours=%s saat
|
||||
time=Vaxt
|
||||
rating=Təsnifat
|
||||
username=İstifadəçi adı
|
||||
usernameOrEmail=İstifadəçi adı
|
||||
password=Şifrə
|
||||
haveAnAccount=Üzvlüyünüz varmı?
|
||||
changePassword=Parolu dəyiş
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s дзён
|
|||
nbHours=%s гадзін
|
||||
time=Час
|
||||
rating=Рэйтынг
|
||||
username=Імя карыстальніка
|
||||
usernameOrEmail=Імя карыстальніка
|
||||
password=Пароль
|
||||
haveAnAccount=Ёсць ужо рахунак?
|
||||
changePassword=Зьмяніць пароль
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s часа
|
|||
time=Време
|
||||
rating=Оценка
|
||||
ratingStats=Измервания
|
||||
username=Потребител
|
||||
usernameOrEmail=Потребител
|
||||
password=Ключ
|
||||
haveAnAccount=Имате сметка?
|
||||
changePassword=Смяна на ключа
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s দিন
|
|||
nbHours=%s ঘন্টা
|
||||
time=সময়
|
||||
rating=রেটিং
|
||||
username=ব্যবহারকারী নাম
|
||||
usernameOrEmail=ব্যবহারকারী নাম
|
||||
password=পাসওয়ার্ড
|
||||
haveAnAccount=আপনার কি account রয়েছে
|
||||
changePassword=পাসওয়ার্ড পরিবর্তন
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s sati
|
|||
time=Vrijeme
|
||||
rating=Rejting
|
||||
ratingStats=Rejting pozicija
|
||||
username=Korisničko ime
|
||||
usernameOrEmail=Korisničko ime
|
||||
password=Lozinka
|
||||
haveAnAccount=Već imate račun?
|
||||
changePassword=Promijeni lozinku
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s hores
|
|||
time=Temps
|
||||
rating=Puntuació
|
||||
ratingStats=Estadístiques de puntuació
|
||||
username=Nom d'usuari
|
||||
usernameOrEmail=Nom d'usuari
|
||||
password=Contrassenya
|
||||
haveAnAccount=Ja tens un compte?
|
||||
changePassword=Canvia la contrasenya
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s hodin
|
|||
time=Tempo
|
||||
rating=Rating
|
||||
ratingStats=Statistiky hodnocení
|
||||
username=Uživatelské jméno
|
||||
usernameOrEmail=Uživatelské jméno
|
||||
password=Heslo
|
||||
haveAnAccount=Máte již účet?
|
||||
changePassword=Změnit heslo
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s o oriau
|
|||
time=Amser chwarae
|
||||
rating=Graddfa
|
||||
ratingStats=Ystadegau graddfa
|
||||
username=Enw defnyddiwr
|
||||
usernameOrEmail=Enw defnyddiwr
|
||||
password=Cyfrinair
|
||||
haveAnAccount=Ydych wedi cofrestru?
|
||||
changePassword=Newid y cyfrinair
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s timer
|
|||
time=Tid
|
||||
rating=Rating
|
||||
ratingStats=Rating statistik
|
||||
username=Brugernavn
|
||||
usernameOrEmail=Brugernavn
|
||||
password=Password
|
||||
haveAnAccount=Har du en konto?
|
||||
changePassword=Skift kodeord
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s Stunden
|
|||
time=Zeit
|
||||
rating=Wertung
|
||||
ratingStats=Wertungsstatistiken
|
||||
username=Benutzername
|
||||
usernameOrEmail=Benutzername
|
||||
password=Passwort
|
||||
haveAnAccount=Haben Sie ein Benutzerkonto?
|
||||
changePassword=Passwort ändern
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ώρες
|
|||
time=Χρόνος
|
||||
rating=Βαθμολογία
|
||||
ratingStats=Στατιστικές βαθμολογίας
|
||||
username=Όνομα χρήστη
|
||||
usernameOrEmail=Όνομα χρήστη
|
||||
password=Κωδικός
|
||||
haveAnAccount=Έχετε λογαριασμό;
|
||||
changePassword=Αλλάξτε κωδικό
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s horoj
|
|||
time=Tempo
|
||||
rating=Taksado
|
||||
ratingStats=Taksaj statistikoj
|
||||
username=Uzantnomo
|
||||
usernameOrEmail=Uzantnomo
|
||||
password=Pasvorto
|
||||
haveAnAccount=Ĉu vi havas konton?
|
||||
changePassword=Ŝanĝi pasvorton
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s horas
|
|||
time=Tiempo
|
||||
rating=Puntos
|
||||
ratingStats=Estadísticas de puntuación
|
||||
username=Nombre de usuario
|
||||
usernameOrEmail=Nombre de usuario
|
||||
password=Contraseña
|
||||
haveAnAccount=¿Tienes una cuenta?
|
||||
changePassword=Cambiar contraseña
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s tundi
|
|||
time=Aeg
|
||||
rating=Reiting
|
||||
ratingStats=Reitingu statistika
|
||||
username=Kasutajanimi
|
||||
usernameOrEmail=Kasutajanimi
|
||||
password=Salasõna
|
||||
haveAnAccount=Kas sul on kasutaja?
|
||||
changePassword=Muuda salasõna
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s egun
|
|||
nbHours=%s ordu
|
||||
time=Denbora
|
||||
rating=Puntuazioa
|
||||
username=Erabiltzaile-izena
|
||||
usernameOrEmail=Erabiltzaile-izena
|
||||
password=Pasahitza
|
||||
haveAnAccount=Erabiltzaile-kontua duzu?
|
||||
changePassword=Pasahitza aldatu
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ساعت
|
|||
time=زمان
|
||||
rating=ریتینگ
|
||||
ratingStats=آمار ریتنگ
|
||||
username=نام کاربری
|
||||
usernameOrEmail=نام کاربری
|
||||
password=رمزعبور
|
||||
haveAnAccount=شما صاحب حساب کاربری می باشید؟
|
||||
changePassword=تغییر کلمه عبور
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s tuntia
|
|||
time=Aika
|
||||
rating=Vahvuusluku
|
||||
ratingStats=Vahvuuslukutilastot
|
||||
username=Käyttäjätunnus
|
||||
usernameOrEmail=Käyttäjätunnus
|
||||
password=Salasana
|
||||
haveAnAccount=Onko sinulla jo tili?
|
||||
changePassword=Vaihda salasana
|
||||
|
|
|
@ -58,7 +58,7 @@ players=Joyor d'echec
|
|||
minutesPerSide=Minites per làt
|
||||
variant=Variacion
|
||||
timeControl=Controlo d’o tèmps
|
||||
username=Nom d'usor
|
||||
usernameOrEmail=Nom d'usor
|
||||
password=Contrasinyi
|
||||
haveAnAccount=T'as jà un aconto?
|
||||
rank=Rang
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s heures
|
|||
time=Temps
|
||||
rating=Classement
|
||||
ratingStats=Statistiques de classement
|
||||
username=Pseudonyme
|
||||
usernameOrEmail=Pseudonyme
|
||||
password=Mot de passe
|
||||
haveAnAccount=Déjà inscrit ?
|
||||
changePassword=Changer le mot de passe
|
||||
|
|
|
@ -42,7 +42,7 @@ forum=Fóram
|
|||
players=Imreoirí
|
||||
oneDay=Lá amháin
|
||||
time=Am
|
||||
username=Ainm úsáideora
|
||||
usernameOrEmail=Ainm úsáideora
|
||||
password=Focal faire
|
||||
haveAnAccount=Cuntas agat?
|
||||
rank=Céimíocht
|
||||
|
|
|
@ -86,7 +86,7 @@ nbDays=%s là(ithean)
|
|||
nbHours=%s uair(ean)
|
||||
time=Ùine
|
||||
rating=Rangachadh
|
||||
username=Far-ainm
|
||||
usernameOrEmail=Far-ainm
|
||||
password=Facal-faire
|
||||
haveAnAccount=A bheil cunntas agad?
|
||||
changePassword=Atharraich am facal-faire
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s días
|
|||
nbHours=%s horas
|
||||
time=Tempo
|
||||
rating=Puntuación
|
||||
username=Nome de usuario
|
||||
usernameOrEmail=Nome de usuario
|
||||
password=Contrasinal
|
||||
haveAnAccount=Tén unha conta?
|
||||
changePassword=Trocar contrasinal
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s שעות
|
|||
time=זמן
|
||||
rating=דירוג
|
||||
ratingStats=סטטיסטיקת דירוג
|
||||
username=שם משתמש
|
||||
usernameOrEmail=שם משתמש
|
||||
password=סיסמה
|
||||
haveAnAccount=יש לך חשבון?
|
||||
changePassword=שינוי הסיסמה
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s दिन
|
|||
nbHours=%s घंटे
|
||||
time=समय
|
||||
rating=रेटिंग
|
||||
username=उपयोगकर्ता का नाम.
|
||||
usernameOrEmail=उपयोगकर्ता का नाम.
|
||||
password=पासवर्ड
|
||||
haveAnAccount=क्या आपके पास अकाऊंट है?
|
||||
changePassword=पासवर्ड बदलना
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s sati
|
|||
time=Vrijeme
|
||||
rating=Rejting
|
||||
ratingStats=Rang
|
||||
username=Korisničko ime
|
||||
usernameOrEmail=Korisničko ime
|
||||
password=Lozinka
|
||||
haveAnAccount=Imate li korisnički račun?
|
||||
changePassword=Promijeni lozinku
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s nap
|
|||
nbHours=%s óra
|
||||
time=Idő
|
||||
rating=Pontszám
|
||||
username=Felhasználónév
|
||||
usernameOrEmail=Felhasználónév
|
||||
password=Jelszó
|
||||
haveAnAccount=Van már fiókod?
|
||||
changePassword=Jelszó megváltoztatása
|
||||
|
|
|
@ -87,7 +87,7 @@ nbDays=%s օր
|
|||
nbHours=%s ժամ
|
||||
time=Ժամանակ
|
||||
rating=Վարկանիշ
|
||||
username=Անուն
|
||||
usernameOrEmail=Անուն
|
||||
password=Գաղտնաբառ
|
||||
haveAnAccount=Արդեն գրանցվե՞լ եք
|
||||
changePassword=Փոխել գաղտնաբառը
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s jam
|
|||
time=Waktu
|
||||
rating=Rating
|
||||
ratingStats=Statistik rating
|
||||
username=Nama pengguna
|
||||
usernameOrEmail=Nama pengguna
|
||||
password=Kata kunci
|
||||
haveAnAccount=Punya akun?
|
||||
changePassword=Ganti kata kunci
|
||||
|
|
|
@ -62,7 +62,7 @@ players=Shakoluderi
|
|||
minutesPerSide=Minuti per partiso
|
||||
variant=Varianto
|
||||
timeControl=Tempodirekto
|
||||
username=Uzeronomo
|
||||
usernameOrEmail=Uzeronomo
|
||||
password=Pasovorto
|
||||
haveAnAccount=Ka vu havas konto?
|
||||
rank=Rango
|
||||
|
|
|
@ -89,7 +89,7 @@ nbDays=%s dagar
|
|||
nbHours=%s tímar
|
||||
time=Tími
|
||||
rating=Einkunn
|
||||
username=Notandanafn
|
||||
usernameOrEmail=Notandanafn
|
||||
password=Lykilorð
|
||||
haveAnAccount=Hafa reikning
|
||||
changePassword=Skipta um lykilorð
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ore
|
|||
time=Tempo
|
||||
rating=Punteggio
|
||||
ratingStats=Statistiche Rating
|
||||
username=Username
|
||||
usernameOrEmail=Username
|
||||
password=Password
|
||||
haveAnAccount=Hai un account?
|
||||
changePassword=Cambia password
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s時間
|
|||
time=時間
|
||||
rating=レーティング
|
||||
ratingStats=レーティングの統計
|
||||
username=ユーザー名
|
||||
usernameOrEmail=ユーザー名
|
||||
password=パスワード
|
||||
haveAnAccount=アカウントをお持ちですか?
|
||||
changePassword=パスワードの変更
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s საათი
|
|||
time=დრო
|
||||
rating=რეიტინგი
|
||||
ratingStats=რაიტინგული შედეგები
|
||||
username=მომხმარებლის სახელი
|
||||
usernameOrEmail=მომხმარებლის სახელი
|
||||
password=პაროლი
|
||||
haveAnAccount=უკვე გაქვთ ანგარიში?
|
||||
changePassword=პაროლის შეცვლა
|
||||
|
|
|
@ -77,7 +77,7 @@ minutesPerSide=Tisdidin deg umarir
|
|||
variant=Tamzarayt
|
||||
timeControl=Asenqed n akud
|
||||
time=Ukkud
|
||||
username=Isem useqdac
|
||||
usernameOrEmail=Isem useqdac
|
||||
password=Awal ukeččum
|
||||
haveAnAccount=Ssaggzed iman ikk?
|
||||
changePassword=Ḥwaǧeḍ kan isem n useqdac d awal ukeččum
|
||||
|
|
|
@ -57,7 +57,7 @@ players=Ойыншылар
|
|||
variant=Нусқа
|
||||
timeControl=Шектелген уақыт
|
||||
time=уақыт
|
||||
username=Есіміңіз
|
||||
usernameOrEmail=Есіміңіз
|
||||
password=Пароль
|
||||
haveAnAccount=Тіркелдің бе?
|
||||
rank=Деңгей
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=턴당 %s일
|
|||
nbHours=%s시간
|
||||
time=시간
|
||||
rating=레이팅
|
||||
username=사용자 이름
|
||||
usernameOrEmail=사용자 이름
|
||||
password=비밀번호
|
||||
haveAnAccount=계정이 있습니까?
|
||||
changePassword=비밀번호 변경
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s dies
|
|||
nbHours=%s horae
|
||||
time=Tempus
|
||||
rating=Status
|
||||
username=Usoris nomen
|
||||
usernameOrEmail=Usoris nomen
|
||||
password=Tessera
|
||||
haveAnAccount=Nonne habes conventum?
|
||||
changePassword=Cambire tessera
|
||||
|
|
|
@ -89,7 +89,7 @@ nbDays=%s D4YS
|
|||
nbHours=%s |-|0u|?$
|
||||
time=7im3
|
||||
rating=R4t1ng
|
||||
username=us3r N@M3
|
||||
usernameOrEmail=us3r N@M3
|
||||
password=P@5$w0Rd
|
||||
haveAnAccount=h@V3 @n @Cc0unt?
|
||||
changePassword=CH@nG3 pa55W0Rd
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s dienos
|
|||
nbHours=%s valandos
|
||||
time=Laikas
|
||||
rating=Reitingas
|
||||
username=Vartotojo vardas
|
||||
usernameOrEmail=Vartotojo vardas
|
||||
password=Slaptažodis
|
||||
haveAnAccount=Turite paskyrą?
|
||||
changePassword=Pasikeisti slaptažodį
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s dienas
|
|||
nbHours=%s stundas
|
||||
time=Laiks
|
||||
rating=Reitings
|
||||
username=Lietotājvārds
|
||||
usernameOrEmail=Lietotājvārds
|
||||
password=Parole
|
||||
haveAnAccount=Vai tev ir konts?
|
||||
changePassword=Mainīt paroli
|
||||
|
|
|
@ -79,7 +79,7 @@ oneDay=Iray andro
|
|||
nbDays=%s andro
|
||||
nbHours=%s ora
|
||||
time=Fotoana
|
||||
username=Solon'anarana
|
||||
usernameOrEmail=Solon'anarana
|
||||
password=Teny miafina
|
||||
haveAnAccount=Efa manana kaonty?
|
||||
changePassword=Ovay ny teny miafina
|
||||
|
|
|
@ -89,7 +89,7 @@ nbDays=%s денови
|
|||
nbHours=%s часови
|
||||
time=Време
|
||||
rating=рејтинг
|
||||
username=Корисник
|
||||
usernameOrEmail=Корисник
|
||||
password=Лозинка
|
||||
haveAnAccount=Имате ли профил?
|
||||
changePassword=Променете ја шифрата
|
||||
|
|
|
@ -60,7 +60,7 @@ players=Шатрын тоглогчид
|
|||
minutesPerSide=Минут талдаа
|
||||
variant=Хувьсах
|
||||
timeControl=Хугацааны хязгаарлалт
|
||||
username=Хэрэглэгчийн нэр
|
||||
usernameOrEmail=Хэрэглэгчийн нэр
|
||||
password=Нууц үг
|
||||
haveAnAccount=Танд бүртгэл байгаа юу?
|
||||
rank=Зэрэг
|
||||
|
|
|
@ -82,7 +82,7 @@ nbDays=%s दिवस
|
|||
nbHours=%s तास
|
||||
time=vel
|
||||
rating=गुणांकन
|
||||
username=सदस्याचे नाव
|
||||
usernameOrEmail=सदस्याचे नाव
|
||||
password=परवलीचा शब्द
|
||||
haveAnAccount=खाते आहे का?
|
||||
changePassword=परवलीचा शब्द(Password) बदला
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s timer
|
|||
time=Tid
|
||||
rating=Rating
|
||||
ratingStats=Ratingstatistikk
|
||||
username=Brukernavn
|
||||
usernameOrEmail=Brukernavn
|
||||
password=Passord
|
||||
haveAnAccount=Har du en konto?
|
||||
changePassword=Bytt passord
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s uren
|
|||
time=Tijd
|
||||
rating=Sterkte
|
||||
ratingStats=rating statistieken
|
||||
username=Gebruikersnaam
|
||||
usernameOrEmail=Gebruikersnaam
|
||||
password=Wachtwoord
|
||||
haveAnAccount=Heeft u al een account?
|
||||
changePassword=Wijzig wachtwoord
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s timar
|
|||
time=Tid
|
||||
rating=Rating
|
||||
ratingStats=Ratingstatistikk
|
||||
username=Brukarnamn
|
||||
usernameOrEmail=Brukarnamn
|
||||
password=Passord
|
||||
haveAnAccount=Har du ein konto her?
|
||||
changePassword=Byt passord
|
||||
|
|
|
@ -5,7 +5,7 @@ mistakes=Рæдыдтæ
|
|||
games=Хъазтæ
|
||||
forum=Форум
|
||||
players=Хъазæгтæ
|
||||
username=Ном
|
||||
usernameOrEmail=Ном
|
||||
cancel=Аивын
|
||||
accept=Райсын
|
||||
decline=Радæуын
|
||||
|
|
|
@ -6,5 +6,5 @@ createAGame=Kīḷam ārabhāhi
|
|||
viewAllNbGames=%ssa kīḷā
|
||||
games=Kīḷā
|
||||
players=Caturangaṃ jūtakā
|
||||
username=Nāmaṃ
|
||||
usernameOrEmail=Nāmaṃ
|
||||
gamesPlayed=Kīḷā kīḷitā
|
||||
|
|
|
@ -39,8 +39,8 @@ whiteCreatesTheGame=Białe utworzyły grę
|
|||
blackCreatesTheGame=Czarne utworzyły grę
|
||||
whiteJoinsTheGame=Białe dołączyły do gry
|
||||
blackJoinsTheGame=Czarne dołączyły do gry
|
||||
whiteResigned=Białe poddały
|
||||
blackResigned=Czarne poddały
|
||||
whiteResigned=Białe rezygnują
|
||||
blackResigned=Czarne rezygnują
|
||||
whiteLeftTheGame=Białe porzuciły grę
|
||||
blackLeftTheGame=Czarne porzuciły grę
|
||||
shareThisUrlToLetSpectatorsSeeTheGame=Podziel się tym linkiem, aby zaprosić widzów do obserwowania tej gry
|
||||
|
@ -91,7 +91,7 @@ nbHours=%s godzin
|
|||
time=Tempo gry
|
||||
rating=Ranking
|
||||
ratingStats=Statystyki rankingowe
|
||||
username=Nazwa użytkownika
|
||||
usernameOrEmail=Nazwa użytkownika
|
||||
password=Hasło
|
||||
haveAnAccount=Masz już konto?
|
||||
changePassword=Zmień hasło
|
||||
|
|
|
@ -51,7 +51,7 @@ games=لوبې
|
|||
forum=جرګه ځای
|
||||
players=د شطرنچ لوبغاړي
|
||||
timeControl=وختمهار
|
||||
username=د کارن نوم
|
||||
usernameOrEmail=د کارن نوم
|
||||
password=پټ نوم
|
||||
haveAnAccount=ګڼون لري؟
|
||||
rank=پوړ
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s horas
|
|||
time=Tempo
|
||||
rating=Rating
|
||||
ratingStats=Estatísticas de rating
|
||||
username=Nome
|
||||
usernameOrEmail=Nome
|
||||
password=Palavra-chave
|
||||
haveAnAccount=Tem uma conta?
|
||||
changePassword=Mudar palavra-chave
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s zile
|
|||
nbHours=%s ore
|
||||
time=Timp
|
||||
rating=Rating
|
||||
username=Utilizator
|
||||
usernameOrEmail=Utilizator
|
||||
password=Parolă
|
||||
haveAnAccount=Aveți un cont?
|
||||
changePassword=Schimbați parola
|
||||
|
@ -500,3 +500,7 @@ tournamentNotFound=Turneul nu a fost găsit
|
|||
tournamentDoesNotExist=Acest turneu nu există.
|
||||
tournamentMayHaveBeenCanceled=Posibil să fi fost anulat, daca toți jucătorii au plecat înainte de inceperea turneului.
|
||||
returnToTournamentsHomepage=Înapoi la pagina turneului.
|
||||
nbPerfTypePlayersThisMonth=%s %s jucători în această lună.
|
||||
yourPerfTypeRatingisRating=Palmaresul dumneavoastră %s este %s.
|
||||
youAreBetterThanPercentOfPerfTypePlayers=Sunteți mai bun decât %s din %s jucători.
|
||||
youDoNotHaveAnEstablishedPerfTypeRating=Nu aveți încă un palmares %s definit.
|
||||
|
|
|
@ -18,7 +18,7 @@ black=Чёрные
|
|||
randomColor=Случайный цвет
|
||||
createAGame=Создать игру
|
||||
whiteIsVictorious=Белые победили
|
||||
blackIsVictorious=Черные победили
|
||||
blackIsVictorious=Чёрные победили
|
||||
kingInTheCenter=Король в центре
|
||||
threeChecks=Три шаха
|
||||
variantEnding=Игра окончена
|
||||
|
@ -28,22 +28,22 @@ playWithAnotherOpponent=Сыграть с другим соперником
|
|||
yourOpponentWantsToPlayANewGameWithYou=Ваш соперник предлагает вам сыграть ещё раз
|
||||
joinTheGame=Присоединиться
|
||||
whitePlays=Ход белых
|
||||
blackPlays=Ход черных
|
||||
theOtherPlayerHasLeftTheGameYouCanForceResignationOrWaitForHim=Ваш соперник покинул игру. Вы можете завершить партию от его имени или дождаться его возвращения.
|
||||
blackPlays=Ход чёрных
|
||||
theOtherPlayerHasLeftTheGameYouCanForceResignationOrWaitForHim=Ваш соперник покинул игру. Вы можете объявить свою победу или дождаться его возвращения.
|
||||
makeYourOpponentResign=Объявить победу
|
||||
forceResignation=Объявить проигравшим
|
||||
forceDraw=Объявить ничью
|
||||
talkInChat=Общайтесь в чате
|
||||
theFirstPersonToComeOnThisUrlWillPlayWithYou=Первый, кто перейдёт по этой ссылке, будет играть с вами.
|
||||
theFirstPersonToComeOnThisUrlWillPlayWithYou=Первый, кто перейдёт по этой ссылке, будет играть с Вами.
|
||||
whiteCreatesTheGame=Белые создали новую игру
|
||||
blackCreatesTheGame=Черные создали новую игру
|
||||
blackCreatesTheGame=Чёрные создали новую игру
|
||||
whiteJoinsTheGame=Белые присоединились к игре
|
||||
blackJoinsTheGame=Черные присоединились к игре
|
||||
blackJoinsTheGame=Чёрные присоединились к игре
|
||||
whiteResigned=Белые сдались
|
||||
blackResigned=Черные сдались
|
||||
blackResigned=Чёрные сдались
|
||||
whiteLeftTheGame=Белые вышли из игры
|
||||
blackLeftTheGame=Черные вышли из игры
|
||||
shareThisUrlToLetSpectatorsSeeTheGame=Поделитесь этой ссылкой с другими для просмотра игры
|
||||
blackLeftTheGame=Чёрные вышли из игры
|
||||
shareThisUrlToLetSpectatorsSeeTheGame=Пригласите зрителей, отправив им эту ссылку
|
||||
theComputerAnalysisHasFailed=Произошёл сбой.
|
||||
viewTheComputerAnalysis=Просмотреть компьютерный анализ
|
||||
requestAComputerAnalysis=Запросить компьютерный анализ
|
||||
|
@ -72,7 +72,7 @@ signIn=Войти
|
|||
newToLichess=Впервые на Lichess?
|
||||
youNeedAnAccountToDoThat=Вам нужно зарегистрироваться, чтобы сделать это
|
||||
signUp=Регистрация
|
||||
computersAreNotAllowedToPlay=Создание учетных записей для компьютерных программ запрещено. Пожалуйста, во время игры не используйте шахматные программы, базы данных или подсказки от других игроков.
|
||||
computersAreNotAllowedToPlay=Создание учётных записей для компьютерных программ запрещено. Пожалуйста, во время игры не используйте шахматных ботов, базы данных или подсказки от других игроков.
|
||||
games=Игры
|
||||
forum=Форум
|
||||
xPostedInForumY=%s опубликовал на форуме %s
|
||||
|
@ -91,13 +91,13 @@ nbHours=%s часов
|
|||
time=Время
|
||||
rating=Рейтинг
|
||||
ratingStats=Статистика рейтинга
|
||||
username=Имя пользователя
|
||||
usernameOrEmail=Логин или Email
|
||||
password=Пароль
|
||||
haveAnAccount=Есть учетная запись?
|
||||
haveAnAccount=Есть учётная запись?
|
||||
changePassword=Сменить пароль
|
||||
changeEmail=Изменить электронную почту
|
||||
email=Электронная почта
|
||||
emailIsOptional=Указывать электронную почту не обязательно. Lichess будет использовать её для сброса пароля, если вы его забудете.
|
||||
emailIsOptional=Указывать электронную почту не обязательно. Lichess будет использовать её для сброса пароля, если Вы его забудете.
|
||||
passwordReset=Сброс пароля
|
||||
forgotPassword=Забыли пароль?
|
||||
rank=Уровень
|
||||
|
@ -111,9 +111,9 @@ drawOfferDeclined=Предложение ничьей отклонено
|
|||
drawOfferAccepted=Предложение ничьей принято
|
||||
drawOfferCanceled=Предложение ничьей отменено
|
||||
whiteOffersDraw=Белые предлагают ничью
|
||||
blackOffersDraw=Черные предлагают ничью
|
||||
blackOffersDraw=Чёрные предлагают ничью
|
||||
whiteDeclinesDraw=Белые отказываются от ничьей
|
||||
blackDeclinesDraw=Черные откладываются от ничьей
|
||||
blackDeclinesDraw=Чёрные откладываются от ничьей
|
||||
yourOpponentOffersADraw=Ваш оппонент предлагает ничью
|
||||
accept=Принять
|
||||
decline=Отклонить
|
||||
|
@ -133,7 +133,7 @@ rematchOfferAccepted=Предложение реванша принято
|
|||
rematchOfferCanceled=Предложение реванша отменено
|
||||
rematchOfferDeclined=Предложение реванша отклонено
|
||||
cancelRematchOffer=Отказаться от реванша
|
||||
viewRematch=Посмотреть ответную игру
|
||||
viewRematch=Посмотреть реванш
|
||||
play=Играть
|
||||
inbox=Входящие
|
||||
chatRoom=Окно чата
|
||||
|
@ -259,7 +259,7 @@ profile=Профиль
|
|||
editProfile=Редактировать профиль
|
||||
firstName=Имя
|
||||
lastName=Фамилия
|
||||
biography=Биография
|
||||
biography=О себе
|
||||
country=Страна
|
||||
preferences=Предпочтения
|
||||
watchLichessTV=Смотреть Lichess TV
|
||||
|
@ -283,7 +283,7 @@ trainingSignupExplanation=Lichess подберет задачи для ваше
|
|||
recentlyPlayedPuzzles=Недавно решенные задачи
|
||||
puzzleId=Задача %s
|
||||
puzzleOfTheDay=Шахматная задача дня
|
||||
clickToSolve=Нажмите чтобы решить
|
||||
clickToSolve=Нажмите, чтобы решить
|
||||
goodMove=Хороший ход
|
||||
butYouCanDoBetter=Но вы можете найти лучше.
|
||||
bestMove=Лучший ход!
|
||||
|
@ -338,7 +338,7 @@ createTheTopic=Создать тему
|
|||
reportAUser=Пожаловаться на пользователя
|
||||
user=Пользователь
|
||||
reason=Причина
|
||||
whatIsIheMatter=В чем дело?
|
||||
whatIsIheMatter=В чём дело?
|
||||
cheat=Читинг
|
||||
insult=Оскорбление
|
||||
troll=Троллинг
|
||||
|
@ -359,12 +359,12 @@ closeAccount=Удалить аккаунт
|
|||
closeYourAccount=Удаление аккаунта
|
||||
changedMindDoNotCloseAccount=Я передумал, не удаляйте мой аккаунт
|
||||
closeAccountExplanation=Вы действительно желаете удалить свой аккаунт? Удаление аккаунта невозможно отменить. Вы больше не сможете зайти в игру, и ваша страница больше не будет доступна.
|
||||
thisAccountIsClosed=Ваш аккаунт удален.
|
||||
thisAccountIsClosed=Профиль этого пользователя был удалён.
|
||||
invalidUsernameOrPassword=Неправильное имя или пароль
|
||||
emailMeALink=Выслать ссылку
|
||||
currentPassword=Текущий пароль
|
||||
newPassword=Новый пароль
|
||||
newPasswordAgain=Новый пароль (повтор)
|
||||
newPasswordAgain=Новый пароль (ещё раз)
|
||||
boardHighlights=Подсветка (последний ход и шах)
|
||||
pieceDestinations=Показывать все возможные ходы
|
||||
boardCoordinates=Координаты доски (A-H, 1-8)
|
||||
|
@ -378,7 +378,7 @@ soundWhenTimeGetsCritical=Звук, когда время подходит к к
|
|||
gameBehavior=Настройки игры
|
||||
premovesPlayingDuringOpponentTurn=Предварительный ход (пока ходит противник)
|
||||
takebacksWithOpponentApproval=Возвраты (с согласия противника)
|
||||
promoteToQueenAutomatically=Пешка превращается в Ферзя автоматически
|
||||
promoteToQueenAutomatically=Пешка превращается в ферзя автоматически
|
||||
claimDrawOnThreefoldRepetitionAutomatically=Объявлять ничью после %s%s трёхкратного повторения позиции
|
||||
privacy=Приватность
|
||||
letOtherPlayersFollowYou=Позволить другим наблюдать за мной
|
||||
|
@ -397,23 +397,23 @@ always=Всегда
|
|||
inCasualGamesOnly=Только в играх без рейтинга
|
||||
whenPremoving=Когда сделан предварительный ход
|
||||
whenTimeRemainingLessThanThirtySeconds=Когда остается меньше 30 секунд
|
||||
difficultyEasy=Легкий
|
||||
difficultyEasy=Лёгкий
|
||||
difficultyNormal=Нормальный
|
||||
difficultyHard=Сложный
|
||||
xLeftANoteOnY=%s оставил заметку о %s
|
||||
xCompetesInY=%s участвует в %s
|
||||
xAskedY=%s спрашивает %s
|
||||
xAnsweredY=%s ответил %s
|
||||
xCommentedY=%s откомментировал %s
|
||||
xCommentedY=%s прокомментировал %s
|
||||
timeline=Дневник
|
||||
seeAllTournaments=Открыть все турниры
|
||||
starting=Начинается:
|
||||
allInformationIsPublicAndOptional=Вся информация публична и опциональна.
|
||||
allInformationIsPublicAndOptional=Вся информация публична и указывается по желанию.
|
||||
yourCityRegionOrDepartment=Ваш город, область или округ.
|
||||
biographyDescription=Расскажите о себе, что вы любите в шахматах, ваши любимые дебюты, партии, игроки...
|
||||
biographyDescription=Расскажите о себе, что Вы любите в шахматах, Ваши любимые дебюты, партии, игроки...
|
||||
maximumNbCharacters=Максимум: %s символов.
|
||||
blocks=%s заблокировано
|
||||
listBlockedPlayers=Список заблокированных вами игроков
|
||||
listBlockedPlayers=Список заблокированных Вами игроков
|
||||
human=Человек
|
||||
computer=Компьютер
|
||||
side=Сторона
|
||||
|
@ -421,7 +421,7 @@ clock=Часы
|
|||
unauthorizedError=Неавторизованный доступ
|
||||
noInternetConnection=Нет интернет соединения. Вы можете играть оффлайн из меню.
|
||||
connectedToLichess=Сейчас вы подключены к lichess.org
|
||||
signedOut=Вы вышли.
|
||||
signedOut=Вы вышли
|
||||
loginSuccessful=Вы вошли
|
||||
playOnTheBoardOffline=Играйте оффлайн
|
||||
playOfflineComputer=Играть с компьютером оффлайн
|
||||
|
@ -434,9 +434,9 @@ board=Доска
|
|||
pieces=Фигуры
|
||||
sharePGN=Экспорт PGN
|
||||
playOnline=Играть онлайн
|
||||
playOffline=Играть офлайн
|
||||
playOffline=Играть оффлайн
|
||||
allowAnalytics=Разрешить сбор статистики
|
||||
shareGameURL=Дать URL игры
|
||||
shareGameURL=Получить URL игры
|
||||
error.required=Заполните это поле
|
||||
error.email=Адрес электронной почты является недействительным
|
||||
error.email_acceptable=Адрес электронной почты не является приемлемым
|
||||
|
@ -463,7 +463,7 @@ mobileApp=Мобильное приложение
|
|||
webmasters=Разработчики
|
||||
contribute=Помочь Lichess
|
||||
contact=Контакты
|
||||
termsOfService=Польз. соглашение
|
||||
termsOfService=Пользовательское соглашение
|
||||
sourceCode=Исходный код
|
||||
simultaneousExhibitions=Сеанс одновременной игры
|
||||
host=Сеансёр
|
||||
|
@ -471,7 +471,7 @@ createdSimuls=Недавно созданные сеансы
|
|||
hostANewSimul=Новый сеанс
|
||||
noSimulFound=Сеанс не найден
|
||||
noSimulExplanation=Этот сеанс одновр. игры не существует.
|
||||
returnToSimulHomepage=Вернуться на главную Сеансов
|
||||
returnToSimulHomepage=Вернуться на страницу сеансов
|
||||
aboutSimul=Сеансы подразумевают сражение одного игрока с несколькими противниками одновременно.
|
||||
aboutSimulImage=Из общего числа в 50 игр Фишер выиграл 47, 2 сыграл вничью и проиграл 1.
|
||||
aboutSimulRealLife=Идея взята с событий реального мира. В живых шахматах сеансёр перемещается от стола к столу, чтобы совершить один ход.
|
||||
|
@ -505,4 +505,4 @@ monthlyPerfTypeRatingDistribution=Распределение по рейтинг
|
|||
nbPerfTypePlayersThisMonth=%s %s игроков за месяц
|
||||
yourPerfTypeRatingisRating=Ваш %s рейтинг %s.
|
||||
youAreBetterThanPercentOfPerfTypePlayers=Ваш рейтинг выше чем %s игроков %s.
|
||||
youDoNotHaveAnEstablishedPerfTypeRating=Ваш %s рейтинг ещё не определен
|
||||
youDoNotHaveAnEstablishedPerfTypeRating=Ваш %s рейтинг ещё не определен.
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s dní
|
|||
nbHours=%s hodín
|
||||
time=Čas
|
||||
rating=Hodnotenie
|
||||
username=Meno používateľa
|
||||
usernameOrEmail=Meno používateľa
|
||||
password=Heslo
|
||||
haveAnAccount=Máte účet?
|
||||
changePassword=Zmeniť heslo
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ur
|
|||
time=Čas
|
||||
rating=Rating
|
||||
ratingStats=Rating statistika
|
||||
username=Uporabniško ime
|
||||
usernameOrEmail=Uporabniško ime
|
||||
password=Geslo
|
||||
haveAnAccount=Ali že imaš račun?
|
||||
changePassword=Zamenjaj geslo
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s ditë
|
|||
nbHours=%s orë
|
||||
time=Koha
|
||||
rating=Vlerësuar
|
||||
username=Emri i përdoruesit
|
||||
usernameOrEmail=Emri i përdoruesit
|
||||
password=Fjalëkalimi
|
||||
haveAnAccount=Keni një llogari?
|
||||
changePassword=Ndrysho fjalëkalimin
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s сати
|
|||
time=Време
|
||||
rating=Рејтинг
|
||||
ratingStats=Статистика рејтинга
|
||||
username=Корисничко име
|
||||
usernameOrEmail=Корисничко име
|
||||
password=Лозинка
|
||||
haveAnAccount=Имате налог?
|
||||
changePassword=Промените лозинку
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s timmar
|
|||
time=Tid
|
||||
rating=Rating
|
||||
ratingStats=Rating statistik
|
||||
username=Användarnamn
|
||||
usernameOrEmail=Användarnamn
|
||||
password=Lösenord
|
||||
haveAnAccount=Har du ett konto?
|
||||
changePassword=Ändra lösenord
|
||||
|
|
|
@ -86,7 +86,7 @@ nbDays=%s நாட்கள்
|
|||
nbHours=%s மணி நேரம்
|
||||
time=நேரம்
|
||||
rating=மதிப்பீடு
|
||||
username=பயனர்பெயர்
|
||||
usernameOrEmail=பயனர்பெயர்
|
||||
password=கடவுச்சொல்
|
||||
haveAnAccount=கணக்கு உண்டா?
|
||||
changePassword=இரகசிய இலக்கத்தை மாற்று
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s ชั่วโมง
|
|||
time=เวลา
|
||||
rating=ระดับคะแนน
|
||||
ratingStats=สถิติระดับคะแนน
|
||||
username=ชื่อผู้ใช้
|
||||
usernameOrEmail=ชื่อผู้ใช้
|
||||
password=รหัสผ่าน
|
||||
haveAnAccount=มีบัญชีแล้วหรือยัง?
|
||||
changePassword=เปลี่ยนรหัสผ่าน
|
||||
|
|
|
@ -86,7 +86,7 @@ nbDays=tenpo suno pi mute %s
|
|||
nbHours=tenpo pi mute %s lon tenpo suno
|
||||
time=tenpo
|
||||
rating=nanpa
|
||||
username=nimi
|
||||
usernameOrEmail=nimi
|
||||
password=nimi pi sona ala
|
||||
haveAnAccount=sina jo ala jo e nimi lon ni?
|
||||
changePassword=ante e nimi sina pi sona ala
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s saat
|
|||
time=Zaman
|
||||
rating=Derece
|
||||
ratingStats=Puan İstatistikleri
|
||||
username=Kullanıcı Adı
|
||||
usernameOrEmail=Kullanıcı Adı
|
||||
password=Şifre
|
||||
haveAnAccount=Üye misiniz?
|
||||
changePassword=Şifre değiştir
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s годин
|
|||
time=Час
|
||||
rating=Рейтинг
|
||||
ratingStats=Розподіл за рейтингом
|
||||
username=Ім’я користувача
|
||||
usernameOrEmail=Ім’я користувача
|
||||
password=Пароль
|
||||
haveAnAccount=Вже зареєстровані?
|
||||
changePassword=Змінити пароль
|
||||
|
|
|
@ -86,7 +86,7 @@ nbDays=%s دن
|
|||
nbHours=%s گھنٹے
|
||||
time=دورانیہ
|
||||
rating=درجہ
|
||||
username=آپ کا نام
|
||||
usernameOrEmail=آپ کا نام
|
||||
password=خفیہ کلمہ
|
||||
haveAnAccount=اکاؤنٹ موجود ہے؟
|
||||
changePassword=خفیہ کلمہ تبدیل کریں
|
||||
|
|
|
@ -90,7 +90,7 @@ nbDays=%s ngày
|
|||
nbHours=%s giờ
|
||||
time=Thời gian
|
||||
rating=Hệ số Elo
|
||||
username=Tên đăng nhập
|
||||
usernameOrEmail=Tên đăng nhập
|
||||
password=Mật khẩu
|
||||
haveAnAccount=Bạn có tài khoản chưa?
|
||||
changePassword=Thay đổi mật khẩu
|
||||
|
|
|
@ -91,7 +91,7 @@ nbHours=%s小时
|
|||
time=时间
|
||||
rating=评级
|
||||
ratingStats=评分数据
|
||||
username=用户名
|
||||
usernameOrEmail=用户名
|
||||
password=密码
|
||||
haveAnAccount=有账户吗?
|
||||
changePassword=修改密码
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -26,7 +26,7 @@ final class Importer(
|
|||
def applyResult(game: Game, result: Result) {
|
||||
result match {
|
||||
case Result(Status.Draw, _) => roundMap ! Tell(game.id, ImportDraw)
|
||||
case Result(Status.Resign, Some(color)) => roundMap ! Tell(game.id, ImportResign(color))
|
||||
case Result(Status.Resign, Some(color)) => roundMap ! Tell(game.id, ImportResign(!color))
|
||||
case _ =>
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ final class Live(
|
|||
case "1/2-1/2" => fuccess {
|
||||
roundMap ! Tell(game.id, DrawForce)
|
||||
}
|
||||
case m => fufail("Invalid move: " + m)
|
||||
case m => fufail("Importer invalid move: " + m)
|
||||
}
|
||||
case Some(uci) => fuccess {
|
||||
applyMove(Pov(game, game.player.color), uci)
|
||||
|
|
|
@ -1,27 +1,38 @@
|
|||
package lila.security
|
||||
|
||||
import play.api.libs.json._
|
||||
import play.api.libs.ws.WS
|
||||
import play.api.Play.current
|
||||
|
||||
final class DisposableEmailDomain(providerUrl: String) {
|
||||
|
||||
private var domains = List.empty[String]
|
||||
private type Matcher = String => Boolean
|
||||
|
||||
private var matchers = List.empty[Matcher]
|
||||
|
||||
private[security] def refresh {
|
||||
WS.url(providerUrl).get() map { res =>
|
||||
try {
|
||||
val prevSize = domains.size
|
||||
domains = res.json.as[List[String]]
|
||||
if (domains.size != prevSize)
|
||||
loginfo(s"[disposable email] registered ${domains.size} domains")
|
||||
}
|
||||
catch {
|
||||
case e: Exception => logerr(s"Can't update disposable emails: $e")
|
||||
}
|
||||
setDomains(res.json)
|
||||
}
|
||||
}
|
||||
|
||||
def apply(domain: String) = domains.exists { d =>
|
||||
domain == d || domain.endsWith(s".$d")
|
||||
private[security] def setDomains(json: JsValue): Unit = try {
|
||||
val ds = json.as[List[String]]
|
||||
if (ds.size != matchers.size)
|
||||
loginfo(s"[disposable email] registered ${matchers.size} -> ${ds.size} domains")
|
||||
matchers = ds.map { d =>
|
||||
val regex = s"""(.+\\.|)${d.replace(".", "\\.")}"""
|
||||
makeMatcher(regex)
|
||||
}
|
||||
}
|
||||
catch {
|
||||
case e: Exception => logerr(s"Can't update disposable emails: $e")
|
||||
}
|
||||
|
||||
private def makeMatcher(regex: String): Matcher = {
|
||||
val matcher = regex.r.pattern matcher _
|
||||
(s: String) => matcher(s).matches
|
||||
}
|
||||
|
||||
def apply(domain: String) = matchers exists { _(domain) }
|
||||
}
|
||||
|
|
44
modules/security/src/test/DisposableEmailDomainTest.scala
Normal file
44
modules/security/src/test/DisposableEmailDomainTest.scala
Normal file
|
@ -0,0 +1,44 @@
|
|||
package lila.security
|
||||
|
||||
import org.specs2.mutable.Specification
|
||||
import play.api.libs.json._
|
||||
|
||||
class DisposableEmailDomainTest extends Specification {
|
||||
|
||||
val d = new DisposableEmailDomain("")
|
||||
d.setDomains(Json.parse(Fixtures.json))
|
||||
|
||||
"disposable email domain" should {
|
||||
"simple" in {
|
||||
d("gmail.com") must beFalse
|
||||
d("hotmail.com") must beFalse
|
||||
d("live.com") must beFalse
|
||||
d("docmail.cz") must beTrue
|
||||
}
|
||||
"suffix" in {
|
||||
d("foo.some.randomgoodemail.org") must beFalse
|
||||
d("phpbb.uu.gl") must beTrue
|
||||
d("other.phpbb.uu.gl") must beTrue
|
||||
}
|
||||
"regex" in {
|
||||
d("domforfb.tk") must beFalse
|
||||
d("domforfbaa.tk") must beFalse
|
||||
d("domforfb1.tk") must beTrue
|
||||
d("domforfb29.tk") must beTrue
|
||||
d("foo.domforfb11.tk") must beTrue
|
||||
d("foo2.domforfb11.tk") must beTrue
|
||||
d("10minutemail.com") must beTrue
|
||||
d("12hourmail.de") must beTrue
|
||||
d("30minutesmail.co") must beTrue
|
||||
d("centermail.net") must beTrue
|
||||
d("center-mail.info") must beTrue
|
||||
d("discard.com") must beTrue
|
||||
d("discardmail.com") must beTrue
|
||||
d("discartmail.com") must beTrue
|
||||
d("guerillamail.com") must beTrue
|
||||
d("guerrillamail.com") must beTrue
|
||||
d("jetable.fr.nf") must beTrue
|
||||
d("notjetable.fr") must beFalse
|
||||
}
|
||||
}
|
||||
}
|
1200
modules/security/src/test/Fixtures.scala
Normal file
1200
modules/security/src/test/Fixtures.scala
Normal file
File diff suppressed because it is too large
Load diff
|
@ -24,7 +24,8 @@ final class JsonView(
|
|||
tour: Tournament,
|
||||
page: Option[Int],
|
||||
me: Option[String],
|
||||
playerInfoExt: Option[PlayerInfoExt]): Fu[JsObject] = for {
|
||||
playerInfoExt: Option[PlayerInfoExt],
|
||||
socketVersion: Option[Int]): Fu[JsObject] = for {
|
||||
data <- cachableData(tour.id)
|
||||
myInfo <- me ?? { PlayerRepo.playerInfo(tour.id, _) }
|
||||
stand <- (myInfo, page) match {
|
||||
|
@ -59,7 +60,8 @@ final class JsonView(
|
|||
"featured" -> data.featured,
|
||||
"podium" -> data.podium,
|
||||
"playerInfo" -> playerInfoJson,
|
||||
"quote" -> tour.isCreated.option(lila.quote.Quote.one(tour.id))
|
||||
"quote" -> tour.isCreated.option(lila.quote.Quote.one(tour.id)),
|
||||
"socketVersion" -> socketVersion
|
||||
).noNull
|
||||
|
||||
def standing(tour: Tournament, page: Int): Fu[JsObject] =
|
||||
|
|
|
@ -94,7 +94,7 @@ private[tournament] final class Scheduler(api: TournamentApi) extends Actor {
|
|||
Schedule(Daily, Blitz, Antichess, std, at(tomorrow, 2)),
|
||||
Schedule(Daily, Blitz, Atomic, std, at(tomorrow, 3)),
|
||||
Schedule(Daily, Blitz, Horde, std, at(tomorrow, 4)),
|
||||
Schedule(Daily, Blitz, RacingKings, std, at(tomorrow, 5))
|
||||
Schedule(Daily, SuperBlitz, RacingKings, std, at(tomorrow, 5))
|
||||
),
|
||||
|
||||
List( // eastern tournaments!
|
||||
|
|
|
@ -64,6 +64,7 @@ object Countries {
|
|||
"FI" -> "Finland",
|
||||
"FJ" -> "Fiji",
|
||||
"FM" -> "Micronesia",
|
||||
"FO" -> "Faroe Islands",
|
||||
"FR" -> "France",
|
||||
"GA" -> "Gabon",
|
||||
"GB" -> "United Kingdom",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
|
||||
|
||||
// The Play plugin
|
||||
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.4")
|
||||
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.6")
|
||||
|
||||
// addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.6")
|
||||
|
|
|
@ -2244,7 +2244,7 @@ lichess.unique = function(xs) {
|
|||
});
|
||||
var tournament;
|
||||
lichess.socket = new lichess.StrongSocket(
|
||||
'/tournament/' + cfg.data.id + '/socket/v1', cfg.socketVersion, {
|
||||
'/tournament/' + cfg.data.id + '/socket/v1', cfg.data.socketVersion, {
|
||||
receive: function(t, d) {
|
||||
tournament.socketReceive(t, d)
|
||||
},
|
||||
|
|
3
public/stylesheets/import.css
vendored
3
public/stylesheets/import.css
vendored
|
@ -27,6 +27,9 @@
|
|||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
#import_game form .analyse > label {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#import_game button.submit {
|
||||
margin: 1em auto 0 auto;
|
||||
|
|
Loading…
Reference in a new issue