去年在用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也一样可以采用。
评论