This extension give to padrino the ability to change their locale inspecting.
class MyApp < Padrino::Application register AutoLocale set :locales, [:en, :ru, :de] # First locale is the default locale end # view.haml =link_to "View this page in RU Version", switch_to_lang(:ru)
So when we call an url like: /ru/blog/posts this extension set for you :ru as I18n.locale
# File lib/padrino-contrib/auto_locale.rb, line 42 def self.padrino_route_added(route, verb, path, args, options, block) route.instance_variable_set(:@original_path, "/:lang#{route.original_path}") unless route.original_path =~/:lang/ end
# File lib/padrino-contrib/auto_locale.rb, line 29 def self.registered(app) app.helpers Padrino::Contrib::AutoLocale::Helpers app.extend ClassMethods app.set :locales, [:en] app.before do if request.path_info =~ /^\/(#{settings.locales.join('|')})\b/ I18n.locale = $1.to_sym else I18n.locale = settings.locales[0] not_found if request.path_info !~ /^\/?$/ end end def self.padrino_route_added(route, verb, path, args, options, block) route.instance_variable_set(:@original_path, "/:lang#{route.original_path}") unless route.original_path =~/:lang/ end end
Generated with the Darkfish Rdoc Generator 2.