2

私の遊びで!2.0 アプリケーション 次の言語を定義したいと考えています。

# The application languages
# ~~~~~
application.langs=en-GB,de-DE,nl-NL

また、対応する言語コードで終わる 3 つのファイルも作成しました。

Messages.en-GB
Messages.de-DE
Messages.nl-NL

変換されたキーを要求せずにアプリケーションを起動すると、次のエラー メッセージが表示されます。

conf/application.conf: 12: Key 'de-DE' may not be followed by token: ',' (if you intended ',' to be part of the value for 'de-DE', try enclosing the value in double quotes)

また、Scala テンプレートからメッセージにアクセスしようとすると、同じメッセージが表示されます。次のコードでメッセージをリクエストします。

@Messages("login.page")

Play マニュアルに従って行った上記の変更: http://www.playframework.org/documentation/2.0/JavaI18N。だから私は2つの質問があります:

  1. デフォルトの言語を設定して、1.2.4 のように変更するにはどうすればよいですか (Lang.change("en-GB"))
  2. Scala テンプレートからメッセージにアクセスするには?
4

2 に答える 2

7

あなたのscalaファイルで次を使用します。

<h1>@Messages("pack.key")</h1>

そして、Javaファイルで次を使用します:

String title = Messages.get("pack.key");

言語リストを引用符で囲むことを忘れないでください: conf/application.conf

application.langs="en-GB,de-DE,nl-NL"
于 2012-04-10T09:36:06.943 に答える
2

Play では言語を変更できません。2.0、このディスカッションを参照してください: http://groups.google.com/group/play-framework/browse_thread/thread/744d523c169333ac/5bfe28732a6efd89?show_docid=5bfe28732a6efd89

そしてこのチケット: https://play.lighthouseapp.com/projects/82401-play-20/tickets/174-20-i18n-add-ability-to-define-implicit-lang-for-Java-api#ticket- 174-4

ただし、複数の言語を登録する場合は、次のように二重引用符で囲む必要があります。

application.langs="en-GB,de-DE,nl-NL"

そして、次のように scala テンプレートからアクセスできます。

@Messages.get("login.title")

したがって、現在、デフォルトの言語は、ファイルメッセージで定義されている言語です(接頭辞なし!!)。

または、 @Messages("not.logged.in") を使用することもできます

于 2012-04-08T14:59:57.517 に答える