1

多言語対応のアプリを作りたい 言語は、言語オプションで構成する必要があります。

私はこれらの方法を見つけました:

  1. データベース テーブルのコピーを、デフォルト言語用に 1 つ、その他用に 1 つ作成します。他の言語用に 1 つの列を追加する定数テーブルを除くすべてのテーブルでこの方法を使用します。2.すべての表に別の言語の列を追加します。「テーブルのサイズが巨大になり、3、4言語をサポートするなんて想像もつかない!!」
  2. ラベルを追加する言語ファイルを使用すると、メッセージは異なる言語のユーザーに返されます。
  3. 言語ファイルの代わりにデータベースを使用して、ラベル、メッセージを提供することをサポートします。この方法を提供するビデオは次のとおりです。
  4. Zend_translateなどの翻訳 API を使用して、定数データ、メッセージ、ラベル、およびユーザーが入力したデータをデフォルト言語で翻訳します。

どのようなケースを使用すればよいでしょうか。同時に、開発に時間がかからず、シンプルである必要があります。

: このサイトは大量のデータを追加します。このデータは、異なる言語でサイトに表示されます。メニュー項目やラベルなどを翻訳することではありません。サイトの内容についてです。

4

1 に答える 1

0

あなたは Web アプリを作成しているので、私の提案は次のようになります。

アプリケーションは、ドメインの言語を継承する別のドメイン名に保存されます。

したがって、yourapp.com は英語、yourapp.nl はオランダ語、yourapp.de ドイツ語などです。

これは、あなたがしなければならない最初の決断です。ウェブサイトだけを作成する場合は、国ごとに異なるバージョンをホストすることをお勧めします。ただし、1 つのドメイン名をホストする場合は、別の決定が必要になります。

ケース 1 - 自動的に言語を検出する魔女が言語オプションを選択する

ケース 2 - 言語を手動で選択し、これを Cookie に保存する

ケース 3 - 上記 2 つのハイブリッド

これを自動にするのは難しいので、手動で選択したいとしましょう。

次に、いくつかの構成を行う必要があります。時間およびその他の特定の場所に基づく機能を使用している場合。それでは、サポートされているすべての言語を含む php スイッチ ウィッチを作成してみましょう。次に、php からのすべてのテキスト出力を define または他のメソッドに置き換える必要がありますが、私は define を好みます。

ちょうどこのような:

//this has to be saved somewhere in php file has lang.dutch.php and lang.eng.php

$lang['dutch']['error'] = 'Er is iets fout gegaan';
$lang['english']['error'] = 'Something went wrong';

//make up for language (has to be included in front of every script)

$witch = $_SESSION or $_COOCIE ['language'];

$lang['dutch'] = 'lang.dutch.php';
$lang['eng'] = 'lang.eng.php';

include("language/$lang[$switch]");

define("error", $lang[$witch]['error'], true);

//inside function witch uses defined variables

if(true){
  do something
}
else{
  echo error;
}

Cookie またはセッションの値がオランダ語の場合、結果は次のようになります。

Er is iets fout gegaan

于 2012-10-17T15:24:25.667 に答える