ホームページ > php教程 > php手册 > PHP 中国語と英語の言語変換コード

PHP 中国語と英語の言語変換コード

WBOY
リリース: 2016-06-13 12:06:06
オリジナル
1185 人が閲覧しました

最初は操作しやすいXML文書形式で作ろうと考えました。 XML はあまり効率的ではないことがわかりました
さらに、さまざまなテンプレートがありますが、小さな問題があります。時間プロンプトなどの一部の単語は不確実で、分または日である可能性があります。複数の数字にsを付けることも可能です
さて、配列にしますが、配列はphpファイル内で変数にしないといけないので、展開が大変です(これが私が知っていることと思っていることです) )
最後に、テキストファイル形式で、ファイルを開いて文字列を検索し、文字列をインターセプトするのに時間がかかりました。平均的なマシンでは 0.0004 秒です。結局、何回も呼び出しがかかるのではないかと思いました。
OK、コードを入力します

コードをコピーします コードは次のとおりです:


クラス言語
{
static $lanObject;
public $type; // ユニット、ダッシュボード、メニュー、その他
public $lan // ファイル内の共通プライベート関数 __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'; >$this->error();
}
}
else
$this->lan = isset($_COOKIE['hl']) $_COOKIE['hl'] :'zh' ;
}
パブリック静的関数 getObject()
{
if( !(self::$lanObject instanceof self) )
self::$lanObject = 新しい言語( );
return self::$lanObject;
}
public function lto($key) //$key は英語です
{
if( $this->lan !== 'zh' )
return $key;
if( empty($this->special) ) // $special が null の場合
{
if( isset($this-> type) )
$this->special = file_get_contents($this->type.'.txt');
else
return $key
}
echo $this- >search( $key);
}
プライベート関数 search($searchTozh) // PHP 文字列
{
$key_start = strpos($this->special,$searchTozh); 🎜>$key_end = strpos($this->special,' ',$key_start);
$len_str = strlen($searchTozh);
$for_sub = $key_start $len_str 1; ($this->special, $for_sub, $key_end - $for_sub);
}
}


strpos(); 'hello world' の 'wo' など、戻り値は 6 です。
substr(); はインターセプトされた文字列の一部です
以下はデバッグ中に追加されたコードです


コードをコピー

コードは次のとおりです:

$la = language::getObject(); $la->type = 'unit' ; $la->lto ('min') echo '
';

lto(これは英語に翻訳する必要があります);
unit.txt ファイルのコンテンツ形式は
hello-hello min-small minutes- minutes- minutes

$special であるように設計されています。グローバルであり、lto() が複数回呼び出されることが予想されるため、ファイルを繰り返しロードすることはパフォーマンスの無駄です。
$type は、ロードされたファイルの効率を考慮して公開されるように設計されているため、数日前のファイルを表示する必要がない場合があります。たとえば、次のようなものがあります。 menu.txt は特にメニューの翻訳を担当します。削除や収集などの操作に特化して翻訳された txt テキストもあります。このように、読み込むテキストを自由に設定できます
言語も自由に設定できます。

わかりました、プログラムは改善できます。http リクエストでクライアント言語に従って $lan を設定しませんでした
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート