2012-04-08 12 views
2

My Play!私は翻訳のためのすべての要求せずにアプリケーションを起動するとScalaテンプレートから翻訳されたi18nメッセージにアクセスする(Play!Internationalization)

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

:私はまた、対応する言語コードで終わる3つのファイルを作成している

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

:2.0アプリケーション私は次の言語を定義したいと思います私はまだ同じメッセージが表示さScalaのテンプレートからのメッセージにアクセスしようとしたときにも

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) 

:キー私は、次のエラーメッセージが表示されます。

@Messages("login.page") 

私がプレイマニュアルに従って行っている上記の変更:http://www.playframework.org/documentation/2.0/JavaI18N私は、次のコードでメッセージをお願いします。スカラからメッセージにアクセスする方法

  1. 私はデフォルトのlangaugeを設定し、1.2.4のようにそれを変更するにはどうすればよい(Lang.change(「エンGB」))
  2. :だから私は2つの質問がありますテンプレート?

答えて

2

Playで言語を変更することはできません! 2.0、この議論を参照してください。あなたが複数の言語を登録するときはこのように、ダブルクォートで囲みなければならない、けれども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" 

そしてあなたがアクセスできるhttp://groups.google.com/group/play-framework/browse_thread/thread/744d523c169333ac/5bfe28732a6efd89?show_docid=5bfe28732a6efd89

と、このチケットを

@Messages.get("login.title") 

だから、デフォルトの言語は、次のようなテンプレートです。 メッセージ

(!!任意の接頭辞なし)ファイルに定義するか、またはあなたは自分のScalaファイルの使用において@Messages( "not.logged.in")

7

を使用することができます。

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

し、Javaファイルの使用中:

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

あなたの言語リストの周りに引用符を追加することを忘れないでください。confに/ application.conf

application.langs="en-GB,de-DE,nl-NL" 
関連する問題