Move javascript translations to a separate key based on the path to
[rails.git] / app / helpers / application_helper.rb
index b28ab7c1a6eca2dabe18a38d1b90e694bc9e5f6d..0107372459a7e0a4a98f450b556178e818259392 100644 (file)
@@ -10,4 +10,32 @@ module ApplicationHelper
   def atom_link_to(*args)
     return link_to(image_tag("RSS.gif", :size => "16x16", :border => 0), Hash[*args], { :class => "rsssmall" });
   end
+
+  def javascript_strings
+    js = ""
+
+    js << "<script type='text/javascript'>\n"
+    js << "rails_i18n = new Array();\n"
+    js << javascript_strings_for_key("javascripts")
+    js << "</script>\n"
+
+    return js
+  end
+
+private
+
+  def javascript_strings_for_key(key)
+    js = ""
+    value = t(key)
+
+    if value.is_a?(String)
+      js << "rails_i18n['#{key}'] = '" << escape_javascript(value) << "';\n"
+    else
+      value.each_key do |k|
+        js << javascript_strings_for_key("#{key}.#{k}")
+      end
+    end
+
+    return js
+  end
 end