去年在用Drupal 7搭建PostCodeBase系列各國郵編多語言網站的時候,遇到上百個國家子網站每個都需要設置50種語言網站名稱的問題,開始還逐個設置,後來實在受不了,改用Drush命令來設置:
drush --root=/usr/local/apache2/htdocs/drupal7.postcodebase.com --uri=http://bra.postcodebase.com variable-realm-set language af site_name "Brasilië Poskode"
drush --root=/usr/local/apache2/htdocs/drupal7.postcodebase.com --uri=http://bra.postcodebase.com variable-realm-set language sq site_name "Brazil Kodin Postar"
drush --root=/usr/local/apache2/htdocs/drupal7.postcodebase.com --uri=http://bra.postcodebase.com variable-realm-set language az site_name "Brasil Codi Postal"
事先将國家簡稱、語言簡稱、國家郵編翻譯都排列好,就可以做成一個sh程序來批量設置。
近期在準備将YouBianKu系列各國郵編也改為多語言時,卻找不到Drupal 6中相應的drush命令,嘗試了各種都不行,最後采取修改各個網站配置文件settings.php的辦法來實現,程序片段如下:
$path=$_SERVER['REQUEST_URI'];
if (substr($path,0,3)=='/m/') {
$path=substr($path,3);
}
$langcode=strtok($path,'/');switch ($langcode) {
case "af":
$site_name="Brasilië Poskode";
break;
case "sq":
$site_name="Brazil Kodin Postar";
break;
......
case "cy":
$site_name="Brasil Côd Post";
break;
default:
$site_name="Brazil Postal Code";
}
可以看到,是通過對網址的判斷辨别語言并設置相應的網站名稱,這個辦法其實Drupal 7也一樣可以采用。
评论