phpの中で英語の言語の転換種類
最初はXML文書の形式を作りたいですが、操作も簡単です。XMLの効率があまりよくないということを見ただけで、また別のテンプレートですが、このようにも小さな問題があります。例えば、時間ヒントは不確かです。複数プラスの可能性もあります。配列を作るには、phpファイルで変数を作成しなければなりません。拡張は難しいです。最後にtxtテキストファイルの形式を作成します。同じように、ファイルを開けて文字列を検索して文字列を切り取ります。幸い、最後に運行しました。普通のマシンは0.0004秒ぐらいです。これはとても驚きました。遅くなると思いましたが、何度も呼び出します。はい、上のコードは
class language
{
static $lanObject;
public $type; // unit , dashboard , menu ,other
public $lan; // language
private $special; // The common in the file
private function __construct()
{
if( isset($_GET['hl']) || isset($_POST['hl']) )
{
switch( isset($_GET['hl'])?$_GET['hl']:$_POST['hl'] )
{
case 'en':
$this->lan = 'en';
case 'zh':
$this->lan = 'zh';
case 'all':
$this->lan = 'all';
default:
$this->error();
}
}
else
$this->lan = isset($_COOKIE['hl']) ? $_COOKIE['hl']:'zh';
}
public static function getObject()
{
if( !(self::$lanObject instanceof self) )
self::$lanObject = new language();
return self::$lanObject;
}
public function lto($key) //$key is English
{
if( $this->lan !== 'zh' )
return $key;
if( empty($this->special) ) // if the $special is null
{
if( isset($this->type) )
$this->special = file_get_contents($this->type.'.txt');
else
return $key;
}
echo $this->search($key);
}
private function search($searchTozh) // PHP String
{
$key_start = strpos($this->special,$searchTozh);
$key_end = strpos($this->special,' ',$key_start);
$len_str = strlen($searchTozh);
$for_sub = $key_start + $len_str + 1;
return substr($this->special, $for_sub, $key_end - $for_sub);
}
}
stposです。は、文字列の最初の出現位置を見つけます。例えば、「wo」は「hello world」の中で、戻り値は6 substr()です。は、文字列の一部を切り取り、次にデバッグ時に加えられたコード
$la = language::getObject();
$la->type = 'unit';
$la->lto('min');
echo '<br/>';
$la->lto('hello');
ltoです。unit.txtファイルの内容はhello-こんにちはminute-分minute-分minutes-分です。specialデザインは全体的にも一回だけではないと思っています。lto()を呼び出します。繰り返し読み込むと、ファイルがもったいないです。typeは公有に設計されています。ロードされたファイルの効率を考慮して、数日前にこれらを表示する必要がない場合があります。これらを使用するタイプに分けて、例えばメニューの翻訳を専門に担当するmenu.txtがあります。削除、収集翻訳のtxtテキストなどもあります。ロードするテキスト言語を自由に設定することができます。はい、プログラムはまだ改善できます。http要求のクライアント言語によって$lanを設定していません。