0

i18n/messages_ru.properties を既に追加した Grails 2 アプリケーションがあります。したがって、ドキュメントによると、 request ?lang=ru (fe userOperations/index?lang=es) を使用しますが、何も変更されていません。言語はまだデフォルトのままで、lang Cookie は作成されませんでした。どうしたの?どうすれば修正できますか?

PS。UbuntuでOracle Java7を使用しています

4

2 に答える 2

0

何を変更する予定ですか?デフォルトのインデックス ページ (コントローラーなどを一覧表示するページ) を見ると、メッセージは使用されていません。すべてハードコーディングされています。

テストしたところ、2.0.3で動作します。これが私がしたことです:

  1. 新しいアプリケーションを作成
  2. 単一フィールド (文字列名) を持つドメイン クラスを作成します。
  3. そのクラスに対して「すべて生成」を実行します
  4. 作成された gsp には次のようなものがあります。

     <g:message code="yourDomainClass.name.label" default="Name" />
    

何もせずにページを見ると、lang=ru または lang=es を使用しても、まだ Name と表示されます。しかし、その後、messages_es.properties ファイルに次のように追加しました。

    yourDomainClass.name.label=Nombre

ページを更新すると、「名前」ではなく「Nombre」と表示されます。

「default.home.label」などの特定のメッセージのメッセージ ファイルにはデフォルトがあり、lang=es を使用すると、何もしなくても本来のようにスペイン語に変更されました。

于 2012-05-11T23:23:41.457 に答える
0

問題は、コントローラーなしでビューを直接レンダリングするように url (またはデフォルトの "/"(view:"index")) マッピングを構成したことです。コントローラーを作成し、その中でビューをレンダリングします。コントローラーがないと動かない!

于 2012-10-26T12:29:25.187 に答える