2012-12-29 30 views
3

我正在使用Scala Play Framework 2.我想要多語言JavaScript文件,並且它有可能將Messages("title.items")放在JavaScript文件中。在JavaScript文件中播放框架2 - i18n

爲此,我認爲我們應該創建一個新的資產控制器來注入Lang對象。 有沒有更好的方法? 我在哪裏可以找到一些關於?

+0

我嵌入與本地化值的JavaScript地圖的HTML文件。它的工作原理,但它似乎不那麼幹淨 – Matroska

+0

你可以看看我做的這個小例子。 Scala模板和JS文件中的內部化。 https://github.com/geremora/play2-i18n-sample – Gere

回答

4

可以使用JsMessages插件Play2

+0

從本質上講,它是解決方案,我正在關注但打包在一個插件中。很好。謝謝 – Matroska

0

我用這種方式。

ApplicationController.scala

class ApplicationController @Inject() (
    val messagesApi: MessagesApi 
) extends Controller with I18nSupport { 

    def messages(): EssentialAction = { 
    Ok("window.messagesApi=".concat(Json.toJson(messagesApi.messages("en")).toString).concat(";")).as(JAVASCRIPT) 
    } 
} 

routes

GET /messages.js controllers.ApplicationController.messages()