Я хочу определить функцию available_translations
, которая перечисляет переводы, которые я сделал для своего приложения, в модуль I18n
.
Я попытался поместить в файл lib/i18n.rb
следующее, но оно не работает, когда я пытаюсь использовать его с консоли rails:
module I18n
# Return the translations available for this application.
def self.available_translations
languages = []
Dir.glob(Rails.root.to_s + '/config/locales/*.yml') do |filename|
if md = filename.match #^.+/(\w+).yml$#
languages << md[1]
end
end
languages
end
end
Консоль
ruby-1.9.2-p290 :003 > require Rails.root.to_s + '/lib/i18n.rb'
=> false
ruby-1.9.2-p290 :004 > I18n.available_translations
NoMethodError: undefined method `available_translations' for I18n:Module
...
Помимо решения моей конкретной проблемы, я был бы очень рад узнать, как работает весь этот модуль в Ruby on Rails, потому что он все еще смущает меня, поэтому я был бы признателен за ссылки на документы или исходный код очень .