3

私は、さまざまな言語で機能するようにサイトをアップグレードする作業を行っています。

私の計画は、テキストの段落を複数の言語で保存し、各段落に識別子を付けることです。


id=>'1'
brief =>'welcome_paragraph'
en =>'当社のWebサイトへようこそ!'
de =>'Willkommen auf unserer Website!'

要件

  • すばやく取得
  • いつでもCMS経由で編集
  • 新しい言語を簡単に追加できます

では、これをデータベーステーブルに保存するための最良の解決策はありますか?もしそうなら、次のうちどれが最良のテーブル設定です:

1つのテーブル、各言語の列、および各ブリーフの行:

ID, brief, en, de, es

または、2つのテーブル、1つはブリーフ付き、もう1つは翻訳付き:

ID, brief

ID, language, translation

各ページで、やろうと思っています…。

echo $ page-> translate($ language、$ brief);

必要なテキストを引き出すために何度も....これは、次のコマンドでデータベースを呼び出し続けるのに時間がかかります。

SELECT translation FROM translations 
WHERE language = 'es' AND brief = 'welcome_paragraph'
LIMIT 1

各ページに複数回?したがって、これをフラットファイルとして保存するためのより良い方法はありますか?または、大量の翻訳を含む更新時に生成されるPHPファイルですか?

$english = array(
'message1' => 'message1',
'message2' => 'message2',
'message3' => 'message3');


$german = array(
'message1' => 'Nachricht1',
'message2' => 'Nachricht2',
'message3' => 'Nachricht3');

Zend Translateページの例と同じように、 現時点ではZend Translateの使用を検討していません...コストがかかると思いますか?

4

1 に答える 1

3

http://php.net/manual/en/book.gettext.phpは、多言語サイトのソリューションです。

ワードプレスを見て、gettextの動作を見ることができます。

于 2010-04-07T13:53:11.467 に答える