1

始める前に、多言語機能についてはたくさんの答えがあることを知っていることを述べたいと思います。

すべてのコンテンツが html であり、多くの見出しタグ、p タグ、リスト項目などを含むページ (例: about.php) があります。コンテンツは「静的」であり、データベースからのものではないことを意味します。リンクをクリックして翻訳を適用したい (英語またはフランス語)。

いくつかのチュートリアルと例に従って、この例と非常によく似たものを思いつきましたが、気になるのはページの内容です。私が言おうとしているのはこれです: 私のページ構造が次のようになっているとします:

<html>
<body>
<ul>
<li><a href="index.php"><?php echo $lang['HOME']; ?></a></li>
<li><a href="about.php"><?php echo $lang['ABOUT']; ?></a></li>
<li><a href="?lang=fre">french</a></li>
</ul>
<h1><?php echo $lang['HEADING']; ?></h1>
<p><?php echo $lang['PARAGR']; ?></p>
<p><?php echo $lang['ANOTHER_PAR']; ?></p>
</body>
</html>

nav メニューの値は $lang 配列内に簡単に格納でき、毎回特定の値をエコーアウトすることができますが、これはページ コンテンツでそれを行うための最良の (またはより効率的な) 方法でもありますか?? すべての見出し、段落、リストなどを $lang に入れる必要がありますか?それとももっと良い方法で簡単に行うことができますか? 一部の段落にテキストが多すぎる場合はどうすればよいですか? 等

それが理にかなっていることを願っています。

PS 私はまた、about_eng.php と about_fre.php のような 2 つの異なるファイルを作成することも考えていました。ここには、すべての html コンテンツがそれぞれ英語とフランス語であり、単純な if ステートメントを使用して、毎回どの言語が選択されているかを確認し、適切なファイル

4

1 に答える 1

0

$ lang配列を宣言するさまざまなphpファイルに言語固有のデータを保持することは、私が思うに良い方法です。これにより、すべてのコンテンツを言語で再入力する必要がなくなり、冗長性が低下します。だから私はジャスパルに同意します。$ lang ['XXX']と入力すると、phpを簡単にこれに変換できます(おそらく愚かな解決策ですが、機能します)。

function displayMyPage() {
global $lang;     // do not forget the other globals you need in the page...
$l = $lang;       // localize $lang as $l... 
?>  
<html>
<body>
<ul>
<li><a href="index.php"><?php echo $l['HOME']; ?></a></li>
<li><a href="about.php"><?php echo $l['ABOUT']; ?></a></li>
<li><a href="?lang=fre">french</a></li>
</ul>
<h1><?php echo $l['HEADING']; ?></h1>
<p><?php echo $l['PARAGR']; ?></p>
<p><?php echo $l['ANOTHER_PAR']; ?></p>
</body>
</html>
<?php
}
?>
于 2013-03-13T08:47:33.530 に答える