2

所以我有我的簡單的rails應用程序(不是數據驅動),並且我已經管理(在Stackoverflow的幫助下)來本地化它。所以我可以用英語或德語查看網絡應用程序。我已經使用捆綁的i18n庫。一切都很好,與我合作愉快。在Rails應用程序中根據語言環境加載不同的css文件或圖像

現在,我想要加載不同的圖像和或CSS文件,具體取決於什麼區域設置是活動的。我想要一個簡潔的解決方案來解決這個問題。不是:

if i18n.locale = "en" 
    // show this particular image 
else 
    // show that particular image 

以上是不是在我看來整潔,想象多久if語句或switch語句將得到更多的語言環境一個補充道。

所以我就在想,有沒有辦法可以延長javascript_include_tag的功能性,stylesheet_link_tag終於IMAGE_TAG允許現場操作的?

我覺得是這樣的:

stylesheet_link_tag "default.css", :locale => true 

將是不錯的,在那裏如果屬實,插入的樣式將是這樣的:

<link href="stylesheets/default.es.css" type="text/css" rel="stylesheet" /> 

假設我的新locacle是西班牙語。這將是可愛和乾淨。

這可以在Ruby on Rails中實現嗎?如果是的話,我會喜歡一些代碼示例,因爲我相對一個n00b軌。

謝謝。

回答

6

只有在包含資產時纔可以引用區域設置。比方說,你要包括特定於當前語言環境的樣式表:

stylesheet_link_tag "custom_#{I18n.locale}.css" 

如果當前語言環境是en,這將尋找custom_en.css文件。

儘管有一個警告:您應該確保爲您打算使用的每個語言環境創建一個文件。

+0

我不敢相信我沒有想到這一點。 :)感謝tigrish。 – Ciwan 2013-03-10 00:19:06

相關問題