Caching und gettext

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo!

Hab gerade nen kleines Problem mit caching und gettext.
Gettext überschreibt die

fragment_cache_key
und
expire_fragment

   def fragment_cache_key_with_gettext(name)
     ret = fragment_cache_key_without_gettext(name)
     if ret.is_a? String
       ret.gsub(/:/, ".") << "_#{normalized_locale}"
     else
       ret
     end
   end
   alias_method_chain :fragment_cache_key, :gettext

   def expire_fragment_with_gettext(name, options = nil)
     return unless perform_caching

     key = fragment_cache_key_without_gettext(name)
     if key.is_a?(Regexp)
       self.class.benchmark "Expired fragments matching: #

{key.source}" do
fragment_cache_store.delete_matched(key, options)
end
else
key = key.gsub(/:/, “.”)
self.class.benchmark “Expired fragment: #{key}, lang = #
{available_locales.inspect}” do
available_locales.each do |lang|
fragment_cache_store.delete("#{key}_#{lang}", options)
end
end
end
end
alias_method_chain :expire_fragment, :gettext

dazu benutzt es

 def available_locales
   unless (GetText.cached? and @@available_locales)
     @@available_locales = (Dir.glob(File.join(RAILS_ROOT,

“locale/[a-z]*”)).map{|path| File.basename(path)} <<
“en”).uniq.sort.reverse
end
@@available_locales
end

und

 # Returns a normalized locale which is in available_locales.
 # * locale: a Locale::Object or nil.
 def normalized_locale(locale = nil)
   locale ||= GetText.locale
   (available_locales &
     [locale.to_general, locale.to_s, locale.language,

Locale.default.language, “en”].uniq)[0]
end

Das Problem ist, dass aber immer nur _en an die cache files gehängt
wird, egal welche locale ausgewählt ist und beim expire nie etwas
expired wird, weil es da wohl nicht geht…

ist da jemandem was aufgefallen? Ich glaube es liegt an der
available_locales, die wohl nicht so recht funktionieren will.

Bin über jede Idee dankbar!

Gruß
Manuel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFISOxNs/WwCK0ZZEARAnApAKC7ODTUiGTDh4gdcvVGOuPPYeCooACglOJ4
peGOV1HYDEfO2wkyhhRAQp4=
=SnCC
-----END PGP SIGNATURE-----