多言語対応のサイト(Smartyテンプレートを使用)があります。すべての言語は異なるlang.iniファイルにあります。例:lang / eng / lang.ini :(英語)
WELCOME = "Welcome"
lang / hun / lang.ini :(ハンガリー語)
WELCOME = "Üdvözöllek"
次に、index.phpで:
...
$error=array();
if($condition!=$condition2)
{
$error1 = "This is an error msg";
array_push($error, $error1);
}
...
$this->tpl->assign('error', $error);
$lang_file=parse_ini_file("lang/". $_SESSION["lang_folder"] ."/lang.ini",true);
$this->tpl->assignByref("lang",$lang_file);
$this->tpl->display('index.tpl');
最後にindex.tplで:
...
{$lang.WELCOME}
<br />
{if isset($error) && $error ne "" }
{foreach $error as $error_list}
{$error_list}
{/foreach}
{/if}
...
これで、Welcomeをさまざまな言語(セッションに保存されているパス)で表示できるようになりました。ただし、$ errorは1つの言語にしか表示されず、その値を出力するだけです。選択した言語に応じて印刷するにはどうすればよいですか?$ errorにどこに価値を追加する必要がありますか?