我用2種語言製作我的網站。對於語言,我只是加載含有以下結構的陣列PHP文件:帶語言文件的PHP多語言網站
$translation = array(
"username" => "Username",
"something_else" => "Something else"
);
然後我的主網站內,而不是附和Username
我回聲出3210,它適用於所有的語言。現在我想知道,通常一個字符串分爲兩部分。目前我這樣做:
"amount_of_something" => array("You have logged in","times.")
然後我使用echo $translation["amount_of_something"][0] . " 5 ". $translation["amount_of_something"][1];
檢索它。
現在,對於實際的問題:有沒有更簡單的方法來做這最後一個?在一個jQuery插件中,我遇到以下語法:
maxlength: $.validator.format("Maximum {0} characters allowed.")
我想這是在這個例子中用一個額外的函數完成的。有沒有一個內置的方法在PHP中(因爲PHP有一個bazillion數組函數),否則什麼是最有效的方法來做到這一點?我可以很容易地使用函數,但是由於可能的變量的數量(它可能具有多於1的值),我不太確定是否值得通過我使用的方法來完成現在。
我希望我的問題有點清楚,如果不是,請告訴我問題的哪一部分不是。
[sprintf的](http://www.php.net/manual/en/function.sprintf.php) –
「您已登錄在1次」 :)耶爲單數/複數名詞。這可能會超出你的範圍,但如果你認真對待翻譯,你可能想看看[GetText](http://php.net/manual/en/ref.gettext.php)。它支持幾種複數格式,即使對於超過2個的語言也是如此:) –