2017-05-04 14 views
0

短い説明Web翻訳 - 異なる言語の単一または別ファイル?

リトアニア語 - 英語のウェブサイト(2言語のみ)です。

これは求人リストのウェブサイトなので、内容は翻訳されません。雇用主が英語で仕事を提供した場合、リトアニア語が選択されていても英語でなければなりません。フィールド名のみが翻訳されている必要があります。&エラーメッセージが表示されます。 SHORT

、IN


QUESTIONは、両方の言語のための単一のファイルのindex.phpを持っているか、LTおよびEN言語用の別々のファイルを作成するためのより良い方法は何ですか?


第一WAY

だから私は、たとえば、いくつかの方法でそれを行うことができます。

www.mysite.com/jobs -- default Lithuanian language 
www.mysite.com/en/jobs -- English language 

だからこのケースでは、私は2つの重複のウェブサイト(単なる翻訳)を持っている必要がありますリトアニアroot /フォルダに保存され、英語はroot/en/folderに保存されますか?だから私がリトアニアのウェブサイトで何かを変えたら、私は英語のウェブサイトを正確に変更する必要がありますか?

コードを2回書くのは良い方法ではありません。


第二WAY

$lang = "en";のような変数に何かを作成して、このような方法で、データベース内のすべてのフィールド名を格納します。それは

Id FieldName_lt  FieldName_en 
1  Vardas   First Name 
2  Pavardė   Last Name 
3  El. paštas  E-mail 

し、データベースから選択PHP経由SELECT FieldName_ . $lang FROM table...のように、しかし、私はSQLクエリで変数を使用する場合は、SQL注入されることができます。


第三WAY

は、たぶんそれは(多分150 +フィールドが存在します)アレイ内のフィールド名を格納するためのより良い方法ですか?

私が2番目または3番目の方法に行く場合、クッキーに言語の選択肢を保存する必要がありますか?だからこのようにWebサイトのURLは常に下のようになりますか?

www.mysite.com/jobs.php?lang=en 
www.mysite.com/jobs.php?lang=lt 

おそらく、アドレスバーに言語の選択を表示せずに、それを作る別の方法がありますか?または、言語選択フォームのアドレスバーを非表示にするのは悪い習慣ですか?私は、次のデータの検証を使用しているHTMLフォームで

ADDITIONAL


<input type="text" id="first-name" placeholder="" required 
     data-validation="length alphanumeric" 
     data-validation-length="3-12" 
     data-validation-error-msg="User name has to be an alphanumeric value (3-12 chars)"/> 

、どのようにエラーメッセージの翻訳についてはどうですか?

+0

はい、あなたはCookiesの言語選択のようなユーザーの設定を保持することもできます。このアプローチには何も問題はありません。 – mi6crazyheart

+0

通常、より良い方法を求めたり、何かをする最善の方法は、「広すぎる」、「意見に基づいて」と表示されます。 – bradbury9

+0

@ bradbury9はい、私は知っていますが、言い方を尋ねる方法はわかりません。私はどちらの方法が最良で、それを正しく達成する方法がわからない。だから私はユーザーの提案を求めています。 – Infinity

答えて

関連する問題