2011-12-10 20 views
1

私は新しいプロジェクトを開始しようとしており、助言が必要です。多言語のコンテンツを

たとえば、「投稿」がある「ページ」というモデルがある場合、新しい投稿を作成するときに複数の言語を保存し、クリックすると言語の投稿のみを表示するにはどうすればいいですか? - 上部に旗のアイコン。

私は多くのことを理解していますが、これはエラーなどの静的メッセージを翻訳したいのですが?

誰かがこれに対して明確な方法で所定の戦略を説明できることを望みます。

ありがとうございます!

答えて

1

あなたが言ったように、ローカリゼーションと国際化(それぞれl10nとi18nと略されます)は、通常、コンテンツではなくソフトウェア製品自体のローカリゼーションを指します。

複数の言語でコンテンツを管理する方法にはさまざまな戦略があり、達成したいことに大きく依存します。多言語のブログを操作しているとします。しかし、一部のコンテンツは海外の視聴者には関係がないため、英語版を提供したくない(英語のネイティブスピーカーではないと仮定していますが、その点は明らかです)。

今、ブログの英語版にそのブログ記事を表示しないほうが意味があるようです。

あなたのニーズに応じて、への投稿のためにグループ化オブジェクトを追加したい場合があります。したがって、私はあなたが簡単に特定の言語で、すべてまたは特定の記事を照会することができます

Post { 
    "_id" : ObjectId('...'), 
    "PostGroupId: ObjectId('...'), 
    "Title" : "A Blog Post Title", 
    "Text" : "<h1>Lorem ipsum</h1> lots of text", 
    "Language" : "en", 
    "Published" : // and so on... 
} 

をお勧めしたいです非正規化されたデータを使用して、投稿の翻訳を明示的に関連付けます。

PostGroup 
{ 
    "_id" : ObjectId('...'), 
    // ... 

    "Posts" : [{"lang" : "en", "id" : ObjectId('...')}, 
      {"lang" : "de", "id" : ObjectId('...')} ] 
    // -- or simpler -- 
    "AvailableLanguages" : ["en", "it", "fr"] 
}