|
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<?php
// 正規表現エンジンを呼び出さずに、
// 他のより速いPHP関数を使って、ファイルをスキャンして、パースした場合に
// HTMLをPHP変数へ変換するPHPコードを実行する部分。
// キャッシュ・ファイルがある場合、全てのステップを省略するか、
// キャッシュ・ファイルを消去し、新しいものを作成する。
// 言語に基づくファイル・コンテンツを取得する。
$text = file_get_contents("language/sv_language.html");
// ファイル・コンテンツ文字列を配列に格納する。
$preVar = explode('<!--end-->',$text);
foreach ($preVar as $preVar_1){
// 配列のキー名と値の分離を開始する。
$preVar_2 = explode('-->', $preVar_1);
// 配列キー名を析出する。
$preVar_3 = explode('<!--',$preVar_2[0]);
// 使われている名前を配列キーとして整形する。
$newVar = str_replace(' ','_',$preVar_3[1]);
// テキストを配列要素$_lang["my_own_idea_text"]へ読み込む。
// ユーザが作成するか、または変換を補助した場合、
// セキュリティ違反の可能性のためにより速い可変的な変数が渡される。
$_lang[$newVar] = $preVar_2[1];
// define()関数を使い、定数を自由に設定できるが、
// 名前衝突を引き起こす恐れがある。
define("_lang_".$newVar, $preVar_2[1]);
}
// 重複している配列キーをチェックし、最初に使用した後にペースを
// 上げていると分った場合、インクルードされているPHPファイル内
// で結果をキャッシュすることでエラーを投げて下さい。
// 言語配列要素をテスト表示する。
print $_lang["my_own"].'<br>'."\n\n";
print $_lang["my_own_translation_scheme"].'<br>'."\n\n";
print $_lang["my_own_idea_text"]."\n\n";
print $_lang["a_new_button"]."\n\n";
print 'Test print constants';
print _lang_my_own.'<br>'."\n\n";
print _lang_my_own_translation_scheme.'<br>'."\n\n";
print _lang_my_own_idea_text."\n\n";
print _lang_a_new_button."\n\n";
?>
</body>
</html>
|
|