2012-08-24 32 views
2

我正在使用Grails資源插件與jQuery驗證。 jQuery驗證具有語言環境特定的文本聲明爲JS文件:使用Grails資源插件,如何根據用戶的語言環境加載Javascript文件?

/localization 
    messages_ar.js 
    messages_bg.js 
    messages_ca.js 

等等等等。在我ApplicationResources.groovy文件,我有以下塊中聲明:

form { 
    resource url: '/js/jquery/jquery.validate.js' 
    resource url: '/js/jquery/jquery.validate.additional-methods.js' 
    resource url: '/js/jquery/localization/messages_es.js' 
} 

但是,這是一個硬編碼值。有沒有什麼辦法可以配置Resources插件來根據用戶的語言環境加載正確的JS文件?

回答

1

下面是我如何在過去做到了這一點:

  • 定義一些外國束,並且接受語言標題結束他們(如messages_en.js或messages_es.js)
  • 在你鑑於當你佈局資源,添加喜歡的東西:

    < R:外部URI = 「JS /消息_ $ {RequestContextUtils.getLocale(請求).getLanguage()} JS。」/ >

這應該根據本地情況正確拉取資源。

希望有幫助!

+0

嗨,約翰尼,謝謝你的回答。我在這裏的問題是'messages_xx.js'文件依賴於首先加載的jQuery驗證,並且我沒有在每個頁面上(只有那些有表單的)。如果包含某個模塊,是否有配置''以僅包含JS文件的方法? –

+0

我不這麼認爲。但是,您可以1.將驗證插件作爲您的JQuery縮小版本(請記住,這應該只下載一次,然後在瀏覽器中緩存),2.使用驗證插件捕獲消息*文件(再次;下載一次效率低於以前的國際海事組織)或3.手動將插件包含在具有消息*文件的頁面上。希望這可以幫助! –

相關問題