0

デフォルトのドキュメントの投稿、コメントの例に基づいて、単純な Rails アプリをセットアップしました。-> http://edgeguides.rubyonrails.org/getting_started.html

これらの投稿から既存のコンテンツをローカライズする適切な方法は何ですか?

Post に :title と "content があり、このコンテンツを英語だけでなくドイツ語とオランダ語でも入力したい場合、最終結果を次のようにするにはどうすればよいですか?これ :

http://0.0.0.0:3000/en/posts.jsonすべての投稿を英語で取得し、それぞれ http://0.0.0.0:3000/de/posts.jsonドイツ語で取得するには?

このような多言語コンテンツをサポートする宝石をまだ見つけていません。

レールベースではないWordpressやDrupalなどのアプリケーションで、主にそうする多くの既存の方法を見てきました。

好ましい方法は、EN と DE の投稿を別々のテーブルに保存するか (ただし、新しい言語を追加する方法は?)、すべての翻訳を同じデータベース テーブル内に配置することですが、別の方法で翻訳を分離することですが、どのように取得するかそれらは適切な言語のjsonで簡単に出力できますか?

なぜそのような「一般的な」問題がデフォルトでRailsで解決されないのか、あるいは単に間違った場所を見ているだけなのか、私は本当に混乱して困惑しています。

4

1 に答える 1

1

Globalize3はあなたがやりたいことを実行します。特定のモデルのすべての翻訳を別のテーブルに保存しlocale、特定の翻訳の言語を識別する列を使用します。これにより、データベースを移行することなく新しい言語を追加できるため、このアプローチは非常にスケーラブルです。

コンテンツを翻訳するための他の gem もあります。たとえば、Tracoは私が知っているものですが、これは翻訳をモデルと同じテーブルに保存するため、新しい言語を追加するときは、各モデル テーブルを移行する必要があります。私は個人的には Globalize3 のアプローチを好みますが、gem 自体の内部がより複雑になります。

于 2012-12-09T22:16:16.703 に答える