xml と php を使用して多言語を処理する方法を理解しようとしていますか? デフォルトで英語を使用できるようにしたいのですが、ユーザーが言語を選択した場合、たとえばドイツ語に変更したいと思います。この部分は理解できますが、特定の言語文字列がドイツ語に翻訳されていない場合、その文字列の英語版を選択できるようにしたいと考えています。私は次のように通常のphpとmysqlでこれを行いました:
$language = "de";
$sql = "SELECT * FROM ".$prefix."_countries WHERE con_id=$language";
$result = mysql_query($sql) ;
$row = mysql_fetch_assoc($result);
$userlang = $row['lang'];
$languagestring = array();
$res1 = mysql_query("SELECT * FROM ".$prefix."_language WHERE lang = 'en'");
while($row1 = mysql_fetch_assoc($res1)){
$langid = $row1['id'];
$res = mysql_query("SELECT * FROM ".$prefix."_language WHERE fk_id = $langid AND lang = '$userlang'");
$row = mysql_fetch_assoc($res);
if(!$row){
$languagestring[] = $row1['text'];
} else {
$str = $row['text'];
$languagestring[] = $str;
}
}
これで、次のように db と同じ方法で xml を構築しました。
<data>
<record id="1">
<fk_id>0</fk_id>
<lang>en</lang>
<text>Network Error</text>
</record>
<record id="2">
<fk_id>0</fk_id>
<lang>en</lang>
<text>There is a problem with the network!</text>
</record>
<record id="3">
<fk_id>0</fk_id>
<lang>en</lang>
<text>OK</text>
</record>
<record id="4">
<fk_id>1</fk_id>
<lang>de</lang>
<text>Das netvaerk sind corrupt!</text>
</record>
' xml を使用して mysql で行うことをどのように達成できますか?
どんな助けでも大歓迎です:-)