0

私はこの関数を使って翻訳しています:

function t($string)
{
    global $_ACTIVE_LANGUAGE;
    if(is_array($_ACTIVE_LANGUAGE) && array_key_exists($string,$_ACTIVE_LANGUAGE) )
    {
        return (!empty($_ACTIVE_LANGUAGE[$string])) ? $_ACTIVE_LANGUAGE[$string] : $string; 
    } else {
        return $string;
    }
}

それはうまく機能します、私はt('hola')を置き、配列'hola'=>'hello'を持つ英語のファイルがある場合はそれを変換します。

ただし、次の例のように、文字列だけでなく多くのテキストを含む可能性のある文字列を翻訳できるようにしたいと思います。

$string1 = 'download-file-justin-bieber-awesome-voice.html';
$string2 = 'view-file-rihanna-very-sexy.html';
$string3 = 'mostseen12345.html';
$string4 = 'incredible:stuff-and:real-things.html';

$array = array
(
    'download-file' => 'descargar-archivo',
    'view-file' => 'ver-archivo',
    'mostseen' => 'masvistos',
    'incredible:stuff' = 'cosas:increibles'
}

スクリプトが、指定された文字列の配列のキーの部分を変換できるようにしたい。これは可能ですか?

4

1 に答える 1

1

php-manualstr_replace()でチェックアウトできます。

$from = array('download-file','view-file','mostseen','incredible:stuff');
$to   = array('descargar-archivo','ver-archivo','masvistos','cosas:increibles');

$translated_string = str_replace($from,$to,$original_string);
于 2012-04-29T01:21:52.343 に答える