-2

私はPHPが初めてで、いくつかのチュートリアルの後にMVCフレームワークを作成しましたが、本当に多くのことを学びました. Zend のような組み込みフレームワークを使用すると、これを簡単に実行できると思います。そこで私が次にやりたいことは、多言語サイトを構築することです。最初は、ルーマニア語や英語などの言語のみになります。

私が抱えている問題は、管理者の 1 人のレビューの後、魔女ユーザーが新しいページをサイトに追加できるというオプションがあることです。ここでは、基本言語はルーマニア語になります。したがって、少なくとも 200 語のテキストがあり、データベースが保持できる数のページが存在する可能性があります。SO 自動翻訳のようなものがあるはずですが、これがプレゼンテーション サイトになると考えると、これでは不十分です。

これに関するチュートリアルと例を調べましたが、問題を解決するための解決策を見つけることができません。マイページのコンテンツはデータベースから生成されます。いくつかの間違った解決策の後、単語/フレーズの代わりにいくつかのIDのみをデータベースに保持し、そのIDに変換テーブルからのいくつかのIDに対応する解決策を考えました。これは、ある言語から別の言語への適応には何の役にも立たないと考えると、良い選択肢ではありません。

これに対する解決策を教えてもらえますか?または、私の問題にマッピングするための良いチュートリアル/例をいくつか教えてもらえますか?

ありがとうございました

4

1 に答える 1

0

サイトを英語で使用しているユーザーには英語のコンテンツを表示し、ルーマニア語でサイトを使用しているユーザーにはルーマニア語のコンテンツを表示します。サイトを英語で使用し、あなたのプロフィールにアクセスすると、ルーマニア語の記事も含め、すべての記事が表示されます。しかし、ブラウジングするとlatestpopular... 英語でしか表示されません。

データベース構造 :

言語表

language_id | language_name | langauge_code
-------------------------------------------
     1      |    English    |      en
     2      |     Român     |      ro
     3      |    Spanish    |      es

ポストテーブル

post_id | user_id | language_id | post_title | post_content
------------------------------------------------------------
   23   |    7    |      2      |     ...    |     ...
   24   |    5    |      1      |     ...    |     ...

すべての翻訳が本当に必要な場合は、3 番目の表を追加すると、元の言語が得られます。オプション:ルーマニア語でも利用可能、著者: John Doe翻訳者: Jane Doe ...

変換表

trans_id | post_id | user_id | language_id | post_title | post_content
----------------------------------------------------------------------
    4    |    23   |    4    |      1      |     ...    |     ...
    5    |    23   |    5    |      3      |     ...    |     ...

翻訳についてあまり心配する必要はありません。私は静的コンテンツ (ヘッダー、フッター、ナビゲーション、ボタンなど) を翻訳するだけで、ユーザーが好きな言語で投稿できるようにします。多くの言語。他のサイト (facebook、twitter など) は気にしません。

また、 gettext.po.moファイルを調べて、 Poeditで使用できる翻訳ファイルを生成することもできます。

お役に立てれば。

于 2012-11-11T12:50:51.920 に答える