最近同事在為以前Drupal 6做的網站擴展多語言時發現一個問題,Drupal Core的内容找不到翻譯,例如‹ previous next ›以及菜單項都沒有翻譯,經查是翻譯更新列表(admin/build/translate/update)中本來應該是Drupal 6.28的版本不知道為什麼錯誤識别為6.29了,因此找不到翻譯信息。
這個識别錯了版本的原因還沒有找到(我估計是l10n模塊把提示需要進行完全更新到的6.29的版本錯誤當成當前版本了),但可以手工在Drupal數據庫中修改版本号:
UPDATE `table_name`.`l10n_update_project` SET `version` = '6.28' WHERE `l10n_update_project`.`name` = 'drupal'; UPDATE `table_name`.`l10n_update_project` SET `l10n_path` = 'http://ftp.drupal.org/files/translations/6.x/drupal/drupal-6.28.%language.po' WHERE `l10n_update_project`.`name` = 'drupal';
然後清空各種緩存:
TRUNCATE `cache`; TRUNCATE `cache_block`; TRUNCATE `cache_content`; TRUNCATE `cache_filter`; TRUNCATE `cache_form`; TRUNCATE `cache_l10n_update`; TRUNCATE `cache_menu`; TRUNCATE `cache_page`; TRUNCATE `cache_update`; TRUNCATE `cache_views`; TRUNCATE `cache_views_data`;
再在翻譯更新列表頁面中就可以看到是6.28了,點擊“刷新信息”可以找到6.28的ftp翻譯文件、點擊“更新翻譯”就可以了。更新完成後檢查網站内容、菜單等都有了正常的翻譯内容。
更新完成後,/admin/build/translate/update 中再次點擊“刷新信息”,看到列表中“drupal 6.29 無信息”的錯誤提示,但跟着後面的po文件卻是對的:“Afrikaans(南非荷蘭語) drupal-6.28.af.po 星期四, 2013-12-12 10:28 最新的”,因此還是可以繼續點擊“更新翻譯”。
估計遇到這個Bug的人很少,我們自己正好在做Drupal 6.28的多語言擴展才會遇到這個問題,就記錄一下。後面會把6.28升級到6.29,那這個問題應該自然也沒有了。
评论