send a learn translation key

pull/3290/head
Niklas Fiekas 2017-07-16 00:40:00 +02:00
parent 59e04799d2
commit 1f8d9abb83
6 changed files with 13 additions and 8 deletions

View File

@ -33,10 +33,11 @@ object Dasher extends LilaController {
I18nKeys.boardTheme,
I18nKeys.boardSize,
I18nKeys.pieceSet
), ctx.lang
), lila.i18n.I18nDb.Site, ctx.lang
) ++ lila.i18n.JsDump.keysToObject(
// the language settings should never be in a totally foreign language
List(I18nKeys.language),
lila.i18n.I18nDb.Site,
if (I18nLangPicker.allFromRequestHeaders(ctx.req).has(ctx.lang)) ctx.lang
else I18nLangPicker.bestFromRequestHeaders(ctx.req) | enLang
)

View File

@ -54,7 +54,7 @@ object UserAnalysis extends LilaController with TheftPrevention {
}
def keyboardI18n = Open { implicit ctx =>
JsonOk(fuccess(lila.i18n.JsDump.keysToObject(keyboardI18nKeys, lang)))
JsonOk(fuccess(lila.i18n.JsDump.keysToObject(keyboardI18nKeys, lila.i18n.I18nDb.Site, lang)))
}
private[controllers] def makePov(fen: Option[String], variant: Variant): Pov = makePov {

View File

@ -19,10 +19,13 @@ trait I18nHelper {
Translator.html.literal(key, db, args, lang)
def i18nJsObject(keys: I18nKey*)(implicit lang: Lang): JsObject =
JsDump.keysToObject(keys, lang)
JsDump.keysToObject(keys, I18nDb.Site, lang)
def i18nOptionJsObject(keys: Option[I18nKey]*)(implicit lang: Lang): JsObject =
JsDump.keysToObject(keys.flatten, lang)
JsDump.keysToObject(keys.flatten, I18nDb.Site, lang)
def i18nJsDbObject(keys: Seq[I18nKey], db: I18nDb.Ref)(implicit lang: Lang): JsObject =
JsDump.keysToObject(keys, db, lang)
def i18nJsQuantityFunction()(implicit lang: Lang): Html = Html(JsQuantity(lang))

View File

@ -6,7 +6,8 @@
$(function() {
LichessLearn(document.getElementById('learn_app'), {
data: @jsOrNull(data),
sideElement: document.getElementById('learn_side')
sideElement: document.getElementById('learn_side'),
i18n: @Html(J.stringify(i18nJsDbObject(List(trans.learn.theRook), lila.i18n.I18nDb.Learn)))
});
});
}

View File

@ -83,5 +83,5 @@ final class JsonView(
trans.decline,
trans.viewInFullSize,
trans.cancel
), lang)
), lila.i18n.I18nDb.Site, lang)
}

View File

@ -54,9 +54,9 @@ object JsDump {
case I18nQuantity.Other => ""
}
def keysToObject(keys: Seq[I18nKey], lang: Lang) = JsObject {
def keysToObject(keys: Seq[I18nKey], db: I18nDb.Ref, lang: Lang) = JsObject {
keys.flatMap { k =>
Translator.findTranslation(k.key, I18nDb.Site, lang) match {
Translator.findTranslation(k.key, db, lang) match {
case Some(literal: Literal) => List(k.key -> JsString(literal.message))
case Some(plurals: Plurals) => plurals.messages.map {
case (quantity, msg) => k.key + quantitySuffix(quantity) -> JsString(msg)