-
Notifications
You must be signed in to change notification settings - Fork 4
/
translator_extension.rb
46 lines (40 loc) · 1.37 KB
/
translator_extension.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Uncomment this if you reference any of your controllers in activate
require_dependency 'application'
class TranslatorExtension < Radiant::Extension
version "0.2"
description "Allows you to render your pages in different languages based upon the browser's Accept-Language."
url "http://dev.philburrows.com/svn/radiant-extensions/translator/trunk"
# still plenty of work that needs to be done on this
@@defaults = {
:language => 'en-US'
}
cattr_accessor :defaults
define_routes do |map|
map.connect 'language/set/:language', :controller => 'language', :action => 'set_lang'
map.connect ':language/*url',
:controller => 'site',
:action => 'show_page',
:requirements => {
:language => /[a-zA-Z]{2}/
}
end
def activate
Page.send :include, TranslatorTags
SiteController.class_eval{
session :disabled => false
before_filter :set_up_lang
private
def set_up_lang
if params[:language]
# we want to save the four-letter language code, not just the two
# logger.error("we're setting the language \n\n\n#{params[:language]}\n\n\n")
# session[:language] = params[:language]
session[:language] = request.language
end
end
}
TranslateResponseCache
end
def deactivate
end
end