2012-05-11 10 views
0

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

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

+0

このトピックは役立つかもしれません:http://stackoverflow.com/questions/1569446/grails-how-to-change-the-current-locale –

+0

私はこの記事を見て、答えを追加しました。「第10章によると、 Grailsのドキュメント、Grailsはそのままの状態でi18nをサポートしています。langパラメータを使ってロケールを変更することはできますか? –

+0

'messages_ru.properties'には既定のメッセージはありますか? grailsもそれらを見せてくれませんか? – GalmWing

答えて

0

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

私はちょうどテストし、私のために2.0.3で動作します。ここに私がやったことです:

  1. つのフィールドで(文字列名)をドメインクラスを作成します
  2. 新しいアプリケーションを作成
  3. 実行して、「すべての生成」、そのクラスのために作成さ
  4. GSP年代のようなものを持っていますこの:私も、何もするし、ページを見ていない場合は今すぐ

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

lang = ruまたはlang = esでは、それはまだ名前を言うつもりです。

yourDomainClass.name.label=Nombre 

を、私はページをリフレッシュすると、それが代わりに言う「ノンブル」:しかし、私は行って、messages_es.propertiesに追加し、次のファイル「の名前。」

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

+0

私は私の新しいアプリケーションをi18nをテストするためにをindex.gspページに追加しました。そして、それは動作しません!私自身のアプリケーションで 私は: 1)新しいアプリ 2を作成します)グラムと私自身のGPS作成:国際化ファイル内のメッセージコード=「mycode」 3)は、私が使用し –

+0

を動作しませんmycode =「何か」 を置きますUbuntuとJava 7 u4 - 多分問題です –

+0

i18nディレクトリに標準のmessages.propertiesファイルがありますか?そうでない場合は、別のプロジェクトからコピーしてもう一度やり直してください。私は他の人がこのファイルを削除したときに誰かがこの問題を抱えていた場所を見つけました。そこには言語固有のものしかありませんでした。 – Kelly

0

問題は、コントローラを使用せずに直接ビューをレンダリングするようにurl(またはデフォルトの "/"(ビュー: "index"))マッピングを設定していることです。コントローラーを作成し、その中にビューをレンダリングします。コントローラがなければ動作しません!

関連する問題