2

管理パネルを備えた PHP-MySQL Web サイトがあります。管理パネルからデータを入力すると、ユーザー側の Web ページに表示されます。ここで、管理パネルから英語のテキスト データを挿入できるようにし、ユーザー側で 3 つの異なる言語で表示する必要があります。

ユーザー側では、訪問者が言語設定を選択するオプションを提供したいと考えており、ユーザー側のページはその選択した言語で表示する必要があります。今のところ、これを可能にするためにユーザー側のページにどのようなプログラミング関連の変更を加える必要があるかについてはまったくわかりません。

私はインターネットでいくつかの記事を検索して読みましたが、率直に言って、私の場合に役立つ解決策を見つけることができませんでした. だから私を助けてください。

私の作業環境では以下のものを使用・設定しています。

  • Windows Server 2003
  • PHP 5.2.17
  • MySQL 5.0.51a (UTF-8 ユニコード (utf8))
  • XHTML 1.0 トランジショナル
  • メタ文字セット = iso-8859-1

KRAさん、よろしくお願いします。

4

5 に答える 5

1

サーバー側 (PHP) で実行される翻訳が必要であると仮定すると、file_get_contentsGoogle Translate API からデータをフェッチするために使用できます。次に、応答を解析して翻訳されたテキストを取得する必要があります。Translate サービスにアクセスするには、API KEYを取得する必要があります。

<?php
$string = 'Hello World';
$source_lang = 'en';
$target_lang = 'zh-CN'

header ( "Content-Type: text/html;charset=utf-8" );
$data = file_get_contents ( 'https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&q='.urlencode($string).'&source='.$source_lang.'&target='.$target_lang ); 
$data = json_decode ( $data );  
$translated = $data->data->translations->[0]->translatedText;
echo $translated;

?>

サーバーの応答は、次の構造を持つ JSON オブジェクトです。

{
    "data": {
        "translations": [
            {
                "translatedText": "Hallo Welt",
                "detectedSourceLanguage": "en"
            }
        ]
    }
}

基本概念の詳細については、http://baris.aydinoglu.info/coding/google-translate-api-in-php を参照して ください

Google Translate API クエリのドキュメント: http://code.google.com/apis/language/translate/v2/using_rest.html

これを使用して、関連データをデータベースに保存できます。データベース テーブルには、言語ごとに個別の列がある場合があります。管理者がテキスト/データを入力したら、ソリューションを使用してそれらを変換し、同じ行の関連する列に保存する必要があります。ユーザーは、選択した言語に従って、関連する列からデータを受け取ることができます。

于 2012-09-05T06:48:07.430 に答える
1

すべての言語変数および/または HTML ビューが何らかの構造に分離されていると仮定すると、いつでも Cookie を使用できます。

サイトで上記の Cookie の存在を確認し、存在しない場合はサイトをデフォルトの言語に戻し、そうでない場合はそれに応じて言語を調整します。

元:

各言語のドロップダウン値を含むフォームを作成し、送信時に言語 Cookie 変数を設定します。

setcookie('userLanguage',$language_value,strtotime("+1 year"));

最初のパラメーターは Cookie 変数の名前、2 番目は値 (この場合、ユーザーの言語選択、3 番目は Cookie の有効期限 (私は 1 年にしましたが、任意に設定できます)) です。あなたが好きです)。

次のステップは、あなたのサイトがどのように設定されているかによって大きく異なりますが、言語テキストがデータベースにあるか、何らかのインテリジェントな方法で処理されていると仮定します。いずれにせよ、Cookie を取得する必要があります。

if ($_COOKIE['userLanguage'] <> '')
  // Do some language stuff here based on the value of $_COOKIE['userLanguage']
else
  // Do some stuff here for default language

それはそれについてです。実際の言語変換を処理するにはさまざまな方法がありますが、ユーザーの好みを取得してそれを記憶するという行為は、それと同じくらい基本的なものです。

于 2012-09-05T06:33:18.163 に答える
0

Webサイトで言語ファイルを使用します。

たとえば、英語の場合-en.phpフランス語の場合-fr.php

このファイルには、フロントユーザーエンドで使用される変数が含まれます。ユーザーは任意の言語を選択でき、選択すると、コードは次の言語をロードします

あなたの場合、データベースを使用しているので、データベースの代わりにこれをテーブルに含めることができます

したがって、フロントファイルはテキストではなく変数で構成され、ユーザーが言語を選択すると、この変数は言語変数(データベースまたはファイルのいずれかから選択)に置き換えられます。

そして、はい、あなたはデフォルトの言語を置く必要があります。

次のリンクを使用して実装します:-

http://scriptdigital.com/divers/phplocalization.html
http://www.mind-it.info/2010/02/22/a-simple-approach-to-localization-in-php/
http://code.google.com/p/slsphp/
于 2012-09-05T06:38:19.457 に答える
0

これは、テキストデータの保存方法に大きく依存します。データベース(mysql)にある場合は、言語を表す列があることをお勧めします。次に、セッション変数、特定の URL、またはユーザーが要求している言語を示す何かを使用できます。

必要なのは、ユーザーがどのような種類の言語を望んでいるかを把握する方法です。その後は非常に簡単です。

もう何か試しましたか?

于 2012-09-05T06:35:41.330 に答える
0

この方法を使用します。

それは私のために働いています。

PHP を使用して Web サイトの言語を切り替える

oyutrade.comでやった

于 2012-09-05T06:42:26.953 に答える