aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.compass/config.rb30
-rw-r--r--.gitignore3
-rw-r--r--.gitmodules2
-rw-r--r--.travis.yml3
-rw-r--r--Gemfile29
-rw-r--r--Gemfile.lock173
-rw-r--r--README.md2
-rw-r--r--app/controllers/admin_censor_rule_controller.rb14
-rw-r--r--app/controllers/admin_controller.rb3
-rw-r--r--app/controllers/admin_general_controller.rb18
-rw-r--r--app/controllers/admin_public_body_controller.rb14
-rw-r--r--app/controllers/admin_request_controller.rb59
-rw-r--r--app/controllers/admin_track_controller.rb1
-rw-r--r--app/controllers/admin_user_controller.rb12
-rw-r--r--app/controllers/api_controller.rb4
-rw-r--r--app/controllers/application_controller.rb32
-rw-r--r--app/controllers/general_controller.rb8
-rw-r--r--app/controllers/help_controller.rb3
-rw-r--r--app/controllers/public_body_controller.rb14
-rw-r--r--app/controllers/request_controller.rb185
-rw-r--r--app/controllers/services_controller.rb4
-rw-r--r--app/controllers/track_controller.rb2
-rw-r--r--app/controllers/user_controller.rb2
-rw-r--r--app/helpers/admin_helper.rb37
-rw-r--r--app/helpers/application_helper.rb9
-rwxr-xr-xapp/helpers/link_to_helper.rb193
-rw-r--r--app/models/about_me_validator.rb8
-rw-r--r--app/models/application_mailer.rb14
-rw-r--r--app/models/change_email_validator.rb5
-rw-r--r--app/models/comment.rb39
-rw-r--r--app/models/contact_mailer.rb2
-rw-r--r--app/models/foi_attachment.rb3
-rw-r--r--app/models/incoming_message.rb2
-rw-r--r--app/models/info_request.rb147
-rw-r--r--app/models/info_request_event.rb34
-rw-r--r--app/models/outgoing_message.rb54
-rw-r--r--app/models/profile_photo.rb6
-rw-r--r--app/models/public_body.rb72
-rw-r--r--app/models/request_mailer.rb42
-rw-r--r--app/models/track_mailer.rb9
-rw-r--r--app/models/track_thing.rb11
-rw-r--r--app/models/user.rb30
-rw-r--r--app/sass/admin.scss112
-rw-r--r--app/views/admin_censor_rule/_form.rhtml101
-rw-r--r--app/views/admin_censor_rule/_show.rhtml12
-rw-r--r--app/views/admin_censor_rule/edit.rhtml16
-rw-r--r--app/views/admin_censor_rule/new.rhtml10
-rw-r--r--app/views/admin_general/_admin_navbar.rhtml23
-rw-r--r--app/views/admin_general/admin.coffee24
-rw-r--r--app/views/admin_general/admin.js32
-rw-r--r--app/views/admin_general/admin_js.erb34
-rw-r--r--app/views/admin_general/debug.rhtml10
-rw-r--r--app/views/admin_general/index.rhtml278
-rw-r--r--app/views/admin_general/stats.rhtml96
-rw-r--r--app/views/admin_general/timeline.rhtml30
-rw-r--r--app/views/admin_public_body/_form.rhtml116
-rw-r--r--app/views/admin_public_body/_locale_selector.rhtml10
-rw-r--r--app/views/admin_public_body/_one_list.rhtml53
-rw-r--r--app/views/admin_public_body/_tag_help.rhtml30
-rw-r--r--app/views/admin_public_body/_tags.rhtml7
-rw-r--r--app/views/admin_public_body/edit.rhtml52
-rw-r--r--app/views/admin_public_body/import_csv.rhtml33
-rw-r--r--app/views/admin_public_body/list.rhtml35
-rw-r--r--app/views/admin_public_body/new.rhtml37
-rw-r--r--app/views/admin_public_body/show.rhtml148
-rw-r--r--app/views/admin_request/_incoming_message_actions.rhtml55
-rw-r--r--app/views/admin_request/_some_requests.rhtml61
-rw-r--r--app/views/admin_request/edit.rhtml20
-rw-r--r--app/views/admin_request/edit_comment.rhtml8
-rw-r--r--app/views/admin_request/edit_outgoing.rhtml8
-rw-r--r--app/views/admin_request/hidden_user_explanation.rhtml3
-rw-r--r--app/views/admin_request/list.rhtml12
-rw-r--r--app/views/admin_request/list_old_unclassified.rhtml16
-rw-r--r--app/views/admin_request/show.rhtml542
-rw-r--r--app/views/admin_request/show_raw_email.rhtml58
-rw-r--r--app/views/admin_track/_some_tracks.rhtml101
-rw-r--r--app/views/admin_track/list.rhtml45
-rw-r--r--app/views/admin_user/_form.rhtml77
-rw-r--r--app/views/admin_user/_user_table.rhtml63
-rw-r--r--app/views/admin_user/edit.rhtml24
-rw-r--r--app/views/admin_user/list.rhtml12
-rw-r--r--app/views/admin_user/list_banned.rhtml2
-rw-r--r--app/views/admin_user/show.rhtml94
-rw-r--r--app/views/api/request_events.atom.builder4
-rw-r--r--app/views/comment/_single_comment.rhtml6
-rw-r--r--app/views/comment/new.rhtml6
-rw-r--r--app/views/contact_mailer/from_admin_message.rhtml2
-rw-r--r--app/views/contact_mailer/message.rhtml11
-rw-r--r--app/views/contact_mailer/to_admin_message.rhtml11
-rw-r--r--app/views/contact_mailer/user_message.rhtml2
-rw-r--r--app/views/general/_advanced_search_tips.rhtml34
-rw-r--r--app/views/general/_footer.rhtml2
-rw-r--r--app/views/general/_frontpage_bodies_list.rhtml2
-rw-r--r--app/views/general/_frontpage_intro_sentence.rhtml2
-rw-r--r--app/views/general/_frontpage_requests_list.rhtml8
-rw-r--r--app/views/general/_frontpage_search_box.rhtml2
-rw-r--r--app/views/general/_locale_switcher.rhtml2
-rw-r--r--app/views/general/_localised_datepicker.rhtml10
-rw-r--r--app/views/general/_orglink.rhtml2
-rw-r--r--app/views/general/_topnav.rhtml12
-rw-r--r--app/views/general/blog.rhtml2
-rw-r--r--app/views/general/exception_caught.rhtml4
-rw-r--r--app/views/general/search.rhtml24
-rw-r--r--app/views/help/api.rhtml14
-rw-r--r--app/views/help/contact.rhtml2
-rw-r--r--app/views/help/officers.rhtml5
-rw-r--r--app/views/help/unhappy.rhtml4
-rw-r--r--app/views/layouts/admin.rhtml53
-rw-r--r--app/views/layouts/default.rhtml13
-rw-r--r--app/views/layouts/no_chrome.rhtml3
-rw-r--r--app/views/outgoing_mailer/followup.rhtml4
-rw-r--r--app/views/outgoing_mailer/initial_request.rhtml2
-rw-r--r--app/views/public_body/_alphabet.rhtml2
-rw-r--r--app/views/public_body/_body_listing_single.rhtml4
-rw-r--r--app/views/public_body/_list_sidebar_extra.rhtml2
-rw-r--r--app/views/public_body/list.rhtml4
-rw-r--r--app/views/public_body/show.rhtml8
-rw-r--r--app/views/public_body/view_email.rhtml10
-rw-r--r--app/views/request/_after_actions.rhtml14
-rw-r--r--app/views/request/_bubble.rhtml12
-rw-r--r--app/views/request/_correspondence.rhtml6
-rw-r--r--app/views/request/_describe_state.rhtml7
-rw-r--r--app/views/request/_followup.rhtml14
-rw-r--r--app/views/request/_other_describe_state.rhtml1
-rw-r--r--app/views/request/_request_listing_short_via_event.rhtml6
-rw-r--r--app/views/request/_request_listing_single.rhtml2
-rw-r--r--app/views/request/_request_listing_via_event.rhtml8
-rw-r--r--app/views/request/_sidebar.rhtml19
-rw-r--r--app/views/request/_view_html_prefix.rhtml2
-rw-r--r--app/views/request/_wall_listing.rhtml10
-rw-r--r--app/views/request/describe_state_message.rhtml30
-rw-r--r--app/views/request/details.rhtml4
-rw-r--r--app/views/request/new.rhtml25
-rw-r--r--app/views/request/select_authority.rhtml18
-rw-r--r--app/views/request/show.rhtml10
-rw-r--r--app/views/request/upload_response.rhtml6
-rw-r--r--app/views/request_game/play.rhtml8
-rw-r--r--app/views/request_mailer/external_response.rhtml2
-rw-r--r--app/views/request_mailer/fake_response.rhtml2
-rw-r--r--app/views/request_mailer/new_response.rhtml4
-rw-r--r--app/views/request_mailer/new_response_reminder_alert.rhtml2
-rw-r--r--app/views/request_mailer/overdue_alert.rhtml2
-rw-r--r--app/views/request_mailer/requires_admin.rhtml6
-rw-r--r--app/views/request_mailer/very_overdue_alert.rhtml2
-rw-r--r--app/views/track/_tracking_links.rhtml8
-rw-r--r--app/views/track/atom_feed.atom.builder25
-rw-r--r--app/views/track/atom_feed.atom.erb30
-rw-r--r--app/views/track_mailer/event_digest.rhtml8
-rw-r--r--app/views/user/_show_user_info.rhtml8
-rw-r--r--app/views/user/_signin.rhtml2
-rw-r--r--app/views/user/_signup.rhtml6
-rw-r--r--app/views/user/_user_listing_single.rhtml4
-rw-r--r--app/views/user/set_draft_profile_photo.rhtml2
-rw-r--r--app/views/user/show.rhtml8
-rw-r--r--app/views/user/sign.rhtml4
-rw-r--r--app/views/user_mailer/already_registered.rhtml4
-rw-r--r--app/views/user_mailer/changeemail_confirm.rhtml2
-rw-r--r--app/views/user_mailer/confirm_login.rhtml4
-rw-r--r--config/environment.rb18
-rw-r--r--config/environments/production.rb7
-rw-r--r--config/general.yml-example20
-rw-r--r--config/memcached.yml-test2
-rw-r--r--config/routes.rb35
-rw-r--r--config/test.yml14
-rw-r--r--config/varnish-alaveteli.vcl40
-rw-r--r--db/.gitignore1
-rw-r--r--db/development_structure.sql2095
-rw-r--r--db/migrate/094_remove_old_tags_foreign_key.rb7
-rw-r--r--doc/ADMIN.md21
-rw-r--r--doc/CHANGES.md74
-rw-r--r--doc/INSTALL.md74
-rw-r--r--doc/TRANSLATE.md15
-rw-r--r--lib/ability.rb5
-rw-r--r--lib/configuration.rb4
-rw-r--r--lib/cookie_store_with_line_break_fix.rb19
-rw-r--r--lib/mail_handler/backends/mail_backend.rb3
-rw-r--r--lib/mail_handler/backends/tmail_backend.rb10
-rw-r--r--lib/make_html_4_compliant.rb8
-rw-r--r--lib/tasks/gettext.rake15
-rw-r--r--lib/tasks/translation.rake6
-rw-r--r--locale/aln/app.po174
-rw-r--r--locale/app.pot172
-rw-r--r--locale/ar/app.po175
-rw-r--r--locale/bs/app.po176
-rw-r--r--locale/ca/app.po173
-rw-r--r--locale/cs/app.po178
-rw-r--r--locale/cy/app.po343
-rw-r--r--locale/de/app.po174
-rw-r--r--locale/en/app.po172
-rw-r--r--locale/en_IE/app.po167
-rw-r--r--locale/es/app.po173
-rw-r--r--locale/eu/app.po173
-rw-r--r--locale/fr/app.po508
-rw-r--r--locale/gl/app.po169
-rw-r--r--locale/he_IL/app.po3389
-rw-r--r--locale/hu_HU/app.po170
-rw-r--r--locale/id/app.po317
-rw-r--r--locale/nb_NO/app.po172
-rw-r--r--locale/pt_BR/app.po431
-rw-r--r--locale/ro_RO/app.po2184
-rw-r--r--locale/sl/app.po172
-rw-r--r--locale/sq/app.po177
-rw-r--r--locale/sr@latin/app.po178
-rw-r--r--locale/tr/app.po184
-rw-r--r--locale/uk/app.po179
-rw-r--r--public/admin/images/glyphicons-halflings-white.pngbin0 -> 8777 bytes
-rw-r--r--public/admin/images/glyphicons-halflings.pngbin0 -> 13826 bytes
-rw-r--r--public/admin/javascripts/bootstrap-collapse.js138
-rw-r--r--public/admin/javascripts/bootstrap-tab.js130
-rw-r--r--public/admin/javascripts/jquery-ui.min.js356
-rw-r--r--public/admin/stylesheets/admin.css1005
-rw-r--r--public/down.default.html3
-rw-r--r--public/javascripts/general.js3
-rw-r--r--public/stylesheets/main.css27
-rwxr-xr-xscript/handle-mail-replies.rb2
-rwxr-xr-xscript/runner2
-rw-r--r--spec/controllers/admin_censor_rule_controller_spec.rb10
-rw-r--r--spec/controllers/admin_public_body_controller_spec.rb23
-rw-r--r--spec/controllers/public_body_controller_spec.rb23
-rw-r--r--spec/controllers/request_controller_spec.rb119
-rw-r--r--spec/controllers/track_controller_spec.rb3
-rw-r--r--spec/fixtures/files/incoming-request-empty.email8
-rw-r--r--spec/fixtures/info_request_events.yml11
-rw-r--r--spec/fixtures/info_requests.yml12
-rw-r--r--spec/fixtures/locale/en/app.po8
-rw-r--r--spec/fixtures/locale/en_GB/app.po8
-rw-r--r--spec/fixtures/locale/es/app.po8
-rw-r--r--spec/fixtures/outgoing_messages.yml11
-rw-r--r--spec/fixtures/public_bodies.yml15
-rw-r--r--spec/fixtures/public_body_translations.yml13
-rw-r--r--spec/fixtures/users.yml22
-rw-r--r--spec/helpers/link_to_helper_spec.rb42
-rw-r--r--spec/integration/request_controller_spec.rb41
-rw-r--r--spec/lib/ability_spec.rb51
-rw-r--r--spec/lib/sendmail_return_path_spec.rb4
-rw-r--r--spec/lib/timezone_fixes_spec.rb21
-rw-r--r--spec/models/info_request_spec.rb4
-rw-r--r--spec/models/public_body_spec.rb6
-rw-r--r--spec/models/purge_request_spec.rb9
-rw-r--r--spec/models/request_mailer_spec.rb46
-rw-r--r--spec/models/track_mailer_spec.rb29
-rw-r--r--spec/script/mailin-spec.rb21
-rw-r--r--spec/script/mailin_spec.rb37
-rw-r--r--spec/spec_helper.rb82
-rw-r--r--spec/views/public_body/show.rhtml_spec.rb5
-rw-r--r--spec/views/request/show.rhtml_spec.rb4
-rw-r--r--vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb2
-rw-r--r--vendor/plugins/rails_xss/lib/rails_xss/erubis.rb8
248 files changed, 15870 insertions, 3924 deletions
diff --git a/.compass/config.rb b/.compass/config.rb
new file mode 100644
index 000000000..5e8e8cc2d
--- /dev/null
+++ b/.compass/config.rb
@@ -0,0 +1,30 @@
+require 'bootstrap-sass'
+# Require any additional compass plugins here.
+
+
+# Set this to the root of your project when deployed:
+http_path = "/admin/"
+css_dir = "public/admin/stylesheets"
+http_css_dir = "stylesheets"
+sass_dir = "app/sass"
+images_dir = "public/admin/images"
+http_images_dir = "images"
+javascripts_dir = "public/admin/javascripts"
+
+output_style = :compact
+#output_style = :compressed
+# You can select your preferred output style here (can be overridden via the command line):
+# output_style = :expanded or :nested or :compact or :compressed
+
+# To enable relative paths to assets via compass helper functions. Uncomment:
+relative_assets = true
+
+# To disable debugging comments that display the original location of your selectors. Uncomment:
+line_comments = false
+
+
+# If you prefer the indented syntax, you might want to regenerate this
+# project again passing --syntax sass, or you can uncomment this:
+# preferred_syntax = :sass
+# and then run:
+# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
diff --git a/.gitignore b/.gitignore
index 45865fd02..efba35668 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,6 @@
._*
.DS_Store
.autotest
-/db/test_structure.sql
*#*#
TAGS
/vendor/plugins/*theme
@@ -17,8 +16,10 @@ TAGS
/files/
/public/download
/public/*theme
+!/public/adminbootstraptheme
/vendor/bundle
.bundle
bin/
config/aliases
.sass-cache
+alaveteli.sublime*
diff --git a/.gitmodules b/.gitmodules
index 4f9ece146..42d5db56b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,8 @@
[submodule "commonlib"]
path = commonlib
url = git://git.mysociety.org/commonlib
+# config/locales is a symbolic link to vendor/rails-locales/rails/locale
+# In Rails 3, this should be removed and the gem rails-i18n installed instead
[submodule "vendor/rails-locales"]
path = vendor/rails-locales
url = git://github.com/svenfuchs/rails-i18n.git
diff --git a/.travis.yml b/.travis.yml
index ffcfdbaa9..a8ca00c6b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,7 @@ branches:
only:
- develop
- master
+ - rails-3-develop
rvm:
- 1.8.7
- 1.9.3
@@ -13,6 +14,8 @@ before_install:
- git submodule update --init --recursive
- psql -c "create database foi_test template template0 encoding 'SQL_ASCII';" -U postgres
- cp config/database.yml-test config/database.yml
+ - cp config/general.yml-example config/general.yml
+ - cp config/newrelic.yml-example config/newrelic.yml
- sudo apt-get update
- export DEBIAN_FRONTEND=noninteractive
- sudo apt-get -y install exim4-daemon-light
diff --git a/Gemfile b/Gemfile
index 52d60b75d..9abe5973a 100644
--- a/Gemfile
+++ b/Gemfile
@@ -5,31 +5,26 @@ if File.exist? "/etc/debian_version" and File.open("/etc/debian_version").read.s
DL::dlopen('/lib/libuuid.so.1')
end
end
-source :rubygems
+source 'https://rubygems.org'
# A fork of rails that is kept up to date with security patches
-git "git://github.com/mysociety/rails.git", :branch => "2-3-stable" do
+git "git://github.com/mysociety/rails.git", :tag => "v2.3.18.1" do
gem 'rails'
end
gem 'pg'
-gem 'fast_gettext', '>= 0.6.0'
gem 'fastercsv', '>=1.5.5'
-gem 'gettext_i18n_rails', '>= 0.7.1'
-gem 'gettext', '~> 2.3.3'
-gem 'json', '~> 1.5.1'
+gem 'json'
gem 'mahoro'
-gem 'mail', :platforms => :ruby_19
+gem 'mail', '~>2.4.4', :platforms => :ruby_19
gem 'memcache-client', :require => 'memcache'
-gem 'locale', '>= 2.0.5'
gem 'net-http-local'
gem 'net-purge'
gem 'rack', '~> 1.1.0'
-gem 'rdoc', '~> 2.4.3'
+gem 'rdoc'
gem 'recaptcha', '~> 0.3.1', :require => 'recaptcha/rails'
# :require avoids "already initialized constant" warnings
gem 'rmagick', :require => 'RMagick'
-gem 'routing-filter', '~> 0.2.4'
gem 'rake', '0.9.2.2'
gem 'ruby-msg', '~> 1.5.0'
gem 'vpim'
@@ -43,11 +38,25 @@ gem 'syslog_protocol'
gem 'newrelic_rpm'
# erubis is required by rails_xss. Both erubis and rails_xss can be removed after upgrading to Rails 3.
gem 'erubis'
+# rack-ssl won't be needed on upgrade to Rails 3.1 as something like it is baked in
+gem 'rack-ssl'
+
+# Gems related to internationalisation
+# Also in vendor/plugins there is globalize2
+gem 'fast_gettext'
+gem 'gettext_i18n_rails'
+gem 'gettext'
+gem 'locale'
+gem 'routing-filter'
group :test do
gem 'fakeweb'
gem 'rspec-rails', '~> 1.3.4'
gem 'test-unit', '~> 1.2.3', :platforms => :ruby_19
+ gem 'coveralls', :require => false
+ # Using webrat because the preferred (capybara) doesn't work out of the box with rspec 1
+ gem 'webrat', :git => 'https://github.com/brynary/webrat', :ref => 'bea5b313783eaaf17e38a05a4eaa8c45c1eedd2a'
+ gem 'launchy'
end
group :development do
diff --git a/Gemfile.lock b/Gemfile.lock
index 422424ffc..9996118bc 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,66 +1,91 @@
GIT
remote: git://github.com/mysociety/rails.git
- revision: 541c061c13337b8235a1dcc2357b962f88868ff9
- branch: 2-3-stable
+ revision: c0d325a13e133b14d2faa01053226cd77c1378a7
+ tag: v2.3.18.1
specs:
- actionmailer (2.3.15)
- actionpack (= 2.3.15)
- actionpack (2.3.15)
- activesupport (= 2.3.15)
- rack (~> 1.1.3)
- activerecord (2.3.15)
- activesupport (= 2.3.15)
- activeresource (2.3.15)
- activesupport (= 2.3.15)
- activesupport (2.3.15)
- rails (2.3.15)
- actionmailer (= 2.3.15)
- actionpack (= 2.3.15)
- activerecord (= 2.3.15)
- activeresource (= 2.3.15)
- activesupport (= 2.3.15)
+ actionmailer (2.3.18)
+ actionpack (= 2.3.18)
+ actionpack (2.3.18)
+ activesupport (= 2.3.18)
+ rack (~> 1.1.0)
+ activerecord (2.3.18)
+ activesupport (= 2.3.18)
+ activeresource (2.3.18)
+ activesupport (= 2.3.18)
+ activesupport (2.3.18)
+ rails (2.3.18)
+ actionmailer (= 2.3.18)
+ actionpack (= 2.3.18)
+ activerecord (= 2.3.18)
+ activeresource (= 2.3.18)
+ activesupport (= 2.3.18)
rake (>= 0.8.3)
+GIT
+ remote: https://github.com/brynary/webrat
+ revision: bea5b313783eaaf17e38a05a4eaa8c45c1eedd2a
+ ref: bea5b313783eaaf17e38a05a4eaa8c45c1eedd2a
+ specs:
+ webrat (0.7.3)
+ nokogiri (>= 1.2.0)
+ rack (>= 1.0)
+ rack-test (>= 0.5.3)
+
GEM
- remote: http://rubygems.org/
+ remote: https://rubygems.org/
specs:
- annotate (2.4.0)
+ addressable (2.3.3)
+ annotate (2.5.0)
+ rake
archive-tar-minitar (0.5.2)
- bootstrap-sass (2.1.1.0)
- capistrano (2.13.4)
+ bootstrap-sass (2.3.0.1)
+ sass (~> 3.2)
+ capistrano (2.14.2)
highline
net-scp (>= 1.0.0)
net-sftp (>= 2.0.0)
net-ssh (>= 2.0.14)
net-ssh-gateway (>= 1.1.0)
- chunky_png (1.2.6)
+ chunky_png (1.2.7)
+ colorize (0.5.8)
columnize (0.3.6)
compass (0.12.2)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
+ coveralls (0.6.2)
+ colorize
+ multi_json (~> 1.3)
+ rest-client
+ simplecov (>= 0.7)
+ thor
daemons (1.1.9)
erubis (2.7.0)
- eventmachine (1.0.0)
+ eventmachine (1.0.3)
fakeweb (1.3.0)
- fast_gettext (0.6.8)
+ fast_gettext (0.7.0)
fastercsv (1.5.5)
- fssm (0.2.9)
- gettext (2.3.3)
+ fssm (0.2.10)
+ gettext (2.3.7)
+ levenshtein
locale
- gettext_i18n_rails (0.7.1)
+ gettext_i18n_rails (0.9.2)
fast_gettext (>= 0.4.8)
- haml (3.1.7)
- highline (1.6.13)
- hoe (3.0.8)
- rake (~> 0.8)
- i18n (0.6.1)
- json (1.5.4)
+ haml (4.0.0)
+ tilt
+ highline (1.6.15)
+ hoe (3.5.1)
+ rake (>= 0.8, < 11.0)
+ i18n (0.6.4)
+ json (1.7.7)
+ launchy (2.2.0)
+ addressable (~> 2.3)
+ levenshtein (0.2.2)
linecache (0.46)
rbx-require-relative (> 0.0.4)
linecache19 (0.5.12)
ruby_core_source (>= 0.1.4)
- locale (2.0.5)
+ locale (2.0.8)
mahoro (0.3)
mail (2.4.4)
i18n (>= 0.4.0)
@@ -77,26 +102,35 @@ GEM
sqlite3-ruby
thin
memcache-client (1.8.5)
- mime-types (1.19)
+ mime-types (1.21)
+ multi_json (1.6.1)
net-http-local (0.1.2)
net-purge (0.1.0)
- net-scp (1.0.4)
- net-ssh (>= 1.99.1)
- net-sftp (2.0.5)
- net-ssh (>= 2.0.9)
- net-ssh (2.5.2)
- net-ssh-gateway (1.1.0)
- net-ssh (>= 1.99.1)
- newrelic_rpm (3.5.4.34)
- pg (0.13.2)
+ net-scp (1.1.0)
+ net-ssh (>= 2.6.5)
+ net-sftp (2.1.1)
+ net-ssh (>= 2.6.5)
+ net-ssh (2.6.6)
+ net-ssh-gateway (1.2.0)
+ net-ssh (>= 2.6.5)
+ newrelic_rpm (3.5.8.72)
+ nokogiri (1.5.6)
+ pg (0.14.1)
polyglot (0.3.3)
- rack (1.1.5)
+ rack (1.1.6)
+ rack-ssl (1.3.3)
+ rack
+ rack-test (0.6.2)
+ rack (>= 1.0)
rake (0.9.2.2)
rbx-require-relative (0.0.9)
- rdoc (2.4.3)
- recaptcha (0.3.4)
- rmagick (2.13.1)
- routing-filter (0.2.4)
+ rdoc (4.0.0)
+ json (~> 1.4)
+ recaptcha (0.3.5)
+ rest-client (1.6.7)
+ mime-types (>= 1.16)
+ rmagick (2.13.2)
+ routing-filter (0.3.1)
actionpack
rspec (1.3.2)
rspec-rails (1.3.4)
@@ -115,20 +149,24 @@ GEM
columnize (>= 0.3.1)
linecache19 (>= 0.5.11)
ruby-debug-base19 (>= 0.11.19)
- ruby-msg (1.5.0)
+ ruby-msg (1.5.1)
ruby-ole (>= 1.2.8)
vpim (>= 0.360)
- ruby-ole (1.2.11.3)
+ ruby-ole (1.2.11.6)
ruby_core_source (0.1.5)
archive-tar-minitar (>= 0.5.2)
- sass (3.2.1)
+ sass (3.2.7)
+ simplecov (0.7.1)
+ multi_json (~> 1.0)
+ simplecov-html (~> 0.7.1)
+ simplecov-html (0.7.1)
sinatra (1.2.8)
rack (~> 1.1)
tilt (>= 1.2.2, < 2.0)
skinny (0.2.3)
eventmachine (~> 1.0.0)
thin (~> 1.5.0)
- sqlite3 (1.3.6)
+ sqlite3 (1.3.7)
sqlite3-ruby (1.3.3)
sqlite3 (>= 1.3.3)
syslog_protocol (0.9.2)
@@ -138,14 +176,15 @@ GEM
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
- tilt (1.3.3)
- treetop (1.4.11)
+ thor (0.17.0)
+ tilt (1.3.5)
+ treetop (1.4.12)
polyglot
polyglot (>= 0.3.1)
vpim (0.695)
will_paginate (2.3.16)
xapian-full-alaveteli (1.2.9.5)
- xml-simple (1.1.1)
+ xml-simple (1.1.2)
zip (2.0.2)
PLATFORMS
@@ -156,16 +195,18 @@ DEPENDENCIES
bootstrap-sass
capistrano
compass
+ coveralls
erubis
fakeweb
- fast_gettext (>= 0.6.0)
+ fast_gettext
fastercsv (>= 1.5.5)
- gettext (~> 2.3.3)
- gettext_i18n_rails (>= 0.7.1)
- json (~> 1.5.1)
- locale (>= 2.0.5)
+ gettext
+ gettext_i18n_rails
+ json
+ launchy
+ locale
mahoro
- mail
+ mail (~> 2.4.4)
mailcatcher
memcache-client
net-http-local
@@ -173,12 +214,13 @@ DEPENDENCIES
newrelic_rpm
pg
rack (~> 1.1.0)
+ rack-ssl
rails!
rake (= 0.9.2.2)
- rdoc (~> 2.4.3)
+ rdoc
recaptcha (~> 0.3.1)
rmagick
- routing-filter (~> 0.2.4)
+ routing-filter
rspec-rails (~> 1.3.4)
ruby-debug
ruby-debug19
@@ -186,6 +228,7 @@ DEPENDENCIES
syslog_protocol
test-unit (~> 1.2.3)
vpim
+ webrat!
will_paginate (~> 2.3.11)
xapian-full-alaveteli (~> 1.2.9.5)
xml-simple
diff --git a/README.md b/README.md
index 7313df071..a7e4e0dc5 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Welcome to Alaveteli!
-[![Build Status](https://secure.travis-ci.org/mysociety/alaveteli.png)](http://travis-ci.org/mysociety/alaveteli) [![Dependency Status](https://gemnasium.com/mysociety/alaveteli.png)](https://gemnasium.com/mysociety/alaveteli)
+[![Build Status](https://secure.travis-ci.org/mysociety/alaveteli.png)](http://travis-ci.org/mysociety/alaveteli) [![Dependency Status](https://gemnasium.com/mysociety/alaveteli.png)](https://gemnasium.com/mysociety/alaveteli) [![Coverage Status](https://coveralls.io/repos/mysociety/alaveteli/badge.png?branch=master)](https://coveralls.io/r/mysociety/alaveteli) [![Code Climate](https://codeclimate.com/github/mysociety/alaveteli.png)](https://codeclimate.com/github/mysociety/alaveteli)
This is an open source project to create a standard, internationalised
platform for making Freedom of Information (FOI) requests in different
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb
index 5381921bf..d3e9e47d2 100644
--- a/app/controllers/admin_censor_rule_controller.rb
+++ b/app/controllers/admin_censor_rule_controller.rb
@@ -10,7 +10,7 @@ class AdminCensorRuleController < AdminController
@info_request = InfoRequest.find(params[:info_request_id])
end
if params[:user_id]
- @user = User.find(params[:user_id])
+ @censor_user = User.find(params[:user_id])
end
end
@@ -26,9 +26,9 @@ class AdminCensorRuleController < AdminController
end
flash[:notice] = 'CensorRule was successfully created.'
if !@censor_rule.info_request.nil?
- redirect_to admin_url('request/show/' + @censor_rule.info_request.id.to_s)
+ redirect_to admin_request_show_url(@censor_rule.info_request)
elsif !@censor_rule.user.nil?
- redirect_to admin_url('user/show/' + @censor_rule.user.id.to_s)
+ redirect_to admin_user_show_url(@censor_rule.user)
else
raise "internal error"
end
@@ -53,9 +53,9 @@ class AdminCensorRuleController < AdminController
end
flash[:notice] = 'CensorRule was successfully updated.'
if !@censor_rule.info_request.nil?
- redirect_to admin_url('request/show/' + @censor_rule.info_request.id.to_s)
+ redirect_to admin_request_show_url(@censor_rule.info_request)
elsif !@censor_rule.user.nil?
- redirect_to admin_url('user/show/' + @censor_rule.user.id.to_s)
+ redirect_to admin_user_show_url(@censor_rule.user)
else
raise "internal error"
end
@@ -79,9 +79,9 @@ class AdminCensorRuleController < AdminController
flash[:notice] = "CensorRule was successfully destroyed."
if !info_request.nil?
- redirect_to admin_url('request/show/' + info_request.id.to_s)
+ redirect_to admin_request_show_url(info_request)
elsif !user.nil?
- redirect_to admin_url('user/show/' + user.id.to_s)
+ redirect_to admin_user_show_url(user)
else
raise "internal error"
end
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index d93e68dab..e90f03187 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -79,7 +79,7 @@ class AdminController < ApplicationController
return
else
if session[:using_admin].nil? || session[:admin_name].nil?
- if params[:emergency].nil?
+ if params[:emergency].nil? || Configuration::disable_emergency_user
if authenticated?(
:web => _("To log into the administrative interface"),
:email => _("Then you can log into the administrative interface"),
@@ -89,7 +89,6 @@ class AdminController < ApplicationController
session[:using_admin] = 1
session[:admin_name] = @user.url_name
else
-
session[:using_admin] = nil
session[:user_id] = nil
session[:admin_name] = nil
diff --git a/app/controllers/admin_general_controller.rb b/app/controllers/admin_general_controller.rb
index 9f4c398c1..800678787 100644
--- a/app/controllers/admin_general_controller.rb
+++ b/app/controllers/admin_general_controller.rb
@@ -5,6 +5,8 @@
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
class AdminGeneralController < AdminController
+ skip_before_filter :authenticate, :only => :admin_js
+
def index
# ensure we have a trailing slash
current_uri = request.env['REQUEST_URI']
@@ -115,6 +117,17 @@ class AdminGeneralController < AdminController
end
def stats
+ # Overview counts of things
+ @public_body_count = PublicBody.count
+
+ @info_request_count = InfoRequest.count
+ @outgoing_message_count = OutgoingMessage.count
+ @incoming_message_count = IncomingMessage.count
+
+ @user_count = User.count
+ @track_thing_count = TrackThing.count
+
+ @comment_count = Comment.count
@request_by_state = InfoRequest.count(:group => 'described_state')
@tracks_by_type = TrackThing.count(:group => 'track_type')
end
@@ -128,5 +141,10 @@ class AdminGeneralController < AdminController
@github_origin = "https://github.com/#{repo}/tree/"
@request_env = request.env
end
+
+ # TODO: Remove this when support for proxy admin interface is removed
+ def admin_js
+ render :layout => false, :content_type => "application/javascript"
+ end
end
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index ac12e97b2..93715d364 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -14,7 +14,7 @@ class AdminPublicBodyController < AdminController
def _lookup_query_internal
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@query = params[:query]
if @query == ""
@query = nil
@@ -75,7 +75,7 @@ class AdminPublicBodyController < AdminController
def show
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@public_body = PublicBody.find(params[:id])
render
end
@@ -87,12 +87,12 @@ class AdminPublicBodyController < AdminController
end
def create
- PublicBody.with_locale(I18n.default_locale) do
+ I18n.with_locale(I18n.default_locale) do
params[:public_body][:last_edit_editor] = admin_current_user()
@public_body = PublicBody.new(params[:public_body])
if @public_body.save
flash[:notice] = 'PublicBody was successfully created.'
- redirect_to admin_url('body/show/' + @public_body.id.to_s)
+ redirect_to admin_body_show_url(@public_body)
else
render :action => 'new'
end
@@ -106,12 +106,12 @@ class AdminPublicBodyController < AdminController
end
def update
- PublicBody.with_locale(I18n.default_locale) do
+ I18n.with_locale(I18n.default_locale) do
params[:public_body][:last_edit_editor] = admin_current_user()
@public_body = PublicBody.find(params[:id])
if @public_body.update_attributes(params[:public_body])
flash[:notice] = 'PublicBody was successfully updated.'
- redirect_to admin_url('body/show/' + @public_body.id.to_s)
+ redirect_to admin_body_show_url(@public_body)
else
render :action => 'edit'
end
@@ -120,7 +120,7 @@ class AdminPublicBodyController < AdminController
def destroy
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
public_body = PublicBody.find(params[:id])
if public_body.info_requests.size > 0
diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb
index c7c8d4972..53055ae32 100644
--- a/app/controllers/admin_request_controller.rb
+++ b/app/controllers/admin_request_controller.rb
@@ -20,21 +20,6 @@ class AdminRequestController < AdminController
:conditions => @query.nil? ? nil : ["lower(title) like lower('%'||?||'%')", @query]
end
- def list_old_unclassified
- @info_requests = WillPaginate::Collection.create((params[:page] or 1), 50) do |pager|
- info_requests = InfoRequest.find_old_unclassified(:conditions => ["prominence = 'normal'"],
- :limit => pager.per_page,
- :offset => pager.offset)
- # inject the result array into the paginated collection:
- pager.replace(info_requests)
-
- unless pager.total_entries
- # the pager didn't manage to guess the total count, do it manually
- pager.total_entries = InfoRequest.count_old_unclassified(:conditions => ["prominence = 'normal'"])
- end
- end
- end
-
def show
@info_request = InfoRequest.find(params[:id])
# XXX is this *really* the only way to render a template to a
@@ -42,7 +27,7 @@ class AdminRequestController < AdminController
vars = OpenStruct.new(:name_to => @info_request.user_name,
:name_from => Configuration::contact_name,
:info_request => @info_request, :reason => params[:reason],
- :info_request_url => 'http://' + Configuration::domain + request_url(@info_request),
+ :info_request_url => 'http://' + Configuration::domain + request_path(@info_request),
:site_name => site_name)
template = File.read(File.join(File.dirname(__FILE__), "..", "views", "admin_request", "hidden_user_explanation.rhtml"))
@request_hidden_user_explanation = ERB.new(template).result(vars.instance_eval { binding })
@@ -52,7 +37,7 @@ class AdminRequestController < AdminController
@outgoing_message = OutgoingMessage.find(params[:outgoing_message_id])
@outgoing_message.resend_message
flash[:notice] = "Outgoing message resent"
- redirect_to request_admin_url(@outgoing_message.info_request)
+ redirect_to admin_request_show_url(@outgoing_message.info_request)
end
def edit
@@ -98,7 +83,7 @@ class AdminRequestController < AdminController
# expire cached files
expire_for_request(@info_request)
flash[:notice] = 'Request successfully updated.'
- redirect_to request_admin_url(@info_request)
+ redirect_to admin_request_show_url(@info_request)
else
render :action => 'edit'
end
@@ -114,7 +99,7 @@ class AdminRequestController < AdminController
# expire cached files
expire_for_request(@info_request)
flash[:notice] = "Request #{url_title} has been completely destroyed. Email of user who made request: " + user.email
- redirect_to admin_url('request/list')
+ redirect_to admin_request_list_url
end
def edit_outgoing
@@ -131,7 +116,7 @@ class AdminRequestController < AdminController
{ :editor => admin_current_user(), :deleted_outgoing_message_id => outgoing_message_id })
flash[:notice] = 'Outgoing message successfully destroyed.'
- redirect_to request_admin_url(@info_request)
+ redirect_to admin_request_show_url(@info_request)
end
def update_outgoing
@@ -144,7 +129,7 @@ class AdminRequestController < AdminController
{ :outgoing_message_id => @outgoing_message.id, :editor => admin_current_user(),
:old_body => old_body, :body => @outgoing_message.body })
flash[:notice] = 'Outgoing message successfully updated.'
- redirect_to request_admin_url(@outgoing_message.info_request)
+ redirect_to admin_request_show_url(@outgoing_message.info_request)
else
render :action => 'edit_outgoing'
end
@@ -168,7 +153,7 @@ class AdminRequestController < AdminController
:old_visible => old_visible, :visible => @comment.visible,
})
flash[:notice] = 'Comment successfully updated.'
- redirect_to request_admin_url(@comment.info_request)
+ redirect_to admin_request_show_url(@comment.info_request)
else
render :action => 'edit_comment'
end
@@ -186,7 +171,7 @@ class AdminRequestController < AdminController
# expire cached files
expire_for_request(@info_request)
flash[:notice] = 'Incoming message successfully destroyed.'
- redirect_to request_admin_url(@info_request)
+ redirect_to admin_request_show_url(@info_request)
end
def redeliver_incoming
@@ -203,7 +188,7 @@ class AdminRequestController < AdminController
end
if destination_request.nil?
flash[:error] = "Failed to find destination request '" + m + "'"
- return redirect_to request_admin_url(previous_request)
+ return redirect_to admin_request_show_url(previous_request)
end
raw_email_data = incoming_message.raw_email.data
@@ -223,7 +208,7 @@ class AdminRequestController < AdminController
expire_for_request(previous_request)
incoming_message.fully_destroy
end
- redirect_to request_admin_url(destination_request)
+ redirect_to admin_request_show_url(destination_request)
end
# change user or public body of a request magically
@@ -246,7 +231,7 @@ class AdminRequestController < AdminController
info_request.reindex_request_events
flash[:notice] = "Message has been moved to new user"
end
- redirect_to request_admin_url(info_request)
+ redirect_to admin_request_show_url(info_request)
elsif params[:commit] == 'Move request to authority' && !params[:public_body_url_name].blank?
old_public_body = info_request.public_body
destination_public_body = PublicBody.find_by_url_name(params[:public_body_url_name])
@@ -265,10 +250,10 @@ class AdminRequestController < AdminController
flash[:notice] = "Request has been moved to new body"
end
- redirect_to request_admin_url(info_request)
+ redirect_to admin_request_show_url(info_request)
else
flash[:error] = "Please enter the user or authority to move the request to"
- redirect_to request_admin_url(info_request)
+ redirect_to admin_request_show_url(info_request)
end
end
@@ -292,20 +277,20 @@ class AdminRequestController < AdminController
if !info_request.public_body.is_foi_officer?(user)
flash[:notice] = user.email + " is not an email at the domain @" + info_request.public_body.foi_officer_domain_required + ", so won't be able to upload."
- redirect_to request_admin_url(info_request)
+ redirect_to admin_request_show_url(info_request)
return
end
# Bejeeps, look, sometimes a URL is something that belongs in a controller, jesus.
- # XXX hammer this square peg into the round MVC hole - should be calling main_url(upload_response_url())
+ # XXX hammer this square peg into the round MVC hole
post_redirect = PostRedirect.new(
- :uri => main_url(upload_response_url(:url_title => info_request.url_title, :only_path => true)),
+ :uri => upload_response_url(:url_title => info_request.url_title),
:user_id => user.id)
post_redirect.save!
- url = main_url(confirm_url(:email_token => post_redirect.email_token, :only_path => true))
+ url = confirm_url(:email_token => post_redirect.email_token)
- flash[:notice] = 'Send "' + name + '" &lt;<a href="mailto:' + email + '">' + email + '</a>&gt; this URL: <a href="' + url + '">' + url + "</a> - it will log them in and let them upload a response to this request."
- redirect_to request_admin_url(info_request)
+ flash[:notice] = ("Send \"#{name}\" &lt;<a href=\"mailto:#{email}\">#{email}</a>&gt; this URL: <a href=\"#{url}\">#{url}</a> - it will log them in and let them upload a response to this request.").html_safe
+ redirect_to admin_request_show_url(info_request)
end
def show_raw_email
@@ -355,7 +340,7 @@ class AdminRequestController < AdminController
info_request_event.save!
flash[:notice] = "Old response marked as having been a clarification"
- redirect_to request_admin_url(info_request_event.info_request)
+ redirect_to admin_request_show_url(info_request_event.info_request)
end
def hide_request
@@ -379,7 +364,7 @@ class AdminRequestController < AdminController
ContactMailer.deliver_from_admin_message(
info_request.user,
subject,
- params[:explanation]
+ params[:explanation].strip.html_safe
)
flash[:notice] = _("Your message to {{recipient_user_name}} has been sent",:recipient_user_name=>CGI.escapeHTML(info_request.user.name))
else
@@ -387,7 +372,7 @@ class AdminRequestController < AdminController
end
# expire cached files
expire_for_request(info_request)
- redirect_to request_admin_url(info_request)
+ redirect_to admin_request_show_url(info_request)
end
end
diff --git a/app/controllers/admin_track_controller.rb b/app/controllers/admin_track_controller.rb
index 03217da45..525c96782 100644
--- a/app/controllers/admin_track_controller.rb
+++ b/app/controllers/admin_track_controller.rb
@@ -9,6 +9,7 @@ class AdminTrackController < AdminController
@query = params[:query]
@admin_tracks = TrackThing.paginate :order => "created_at desc", :page => params[:page], :per_page => 100,
:conditions => @query.nil? ? nil : ["lower(track_query) like lower('%'||?||'%')", @query ]
+ @popular = ActiveRecord::Base.connection.select_all("select count(*) as count, title, info_request_id from track_things join info_requests on info_request_id = info_requests.id where info_request_id is not null group by info_request_id, title order by count desc limit 10;")
end
private
diff --git a/app/controllers/admin_user_controller.rb b/app/controllers/admin_user_controller.rb
index ed20ddcf4..feffa208e 100644
--- a/app/controllers/admin_user_controller.rb
+++ b/app/controllers/admin_user_controller.rb
@@ -48,7 +48,7 @@ class AdminUserController < AdminController
if @admin_user.valid?
@admin_user.save!
flash[:notice] = 'User successfully updated.'
- redirect_to user_admin_url(@admin_user)
+ redirect_to admin_user_show_url(@admin_user)
else
render :action => 'edit'
end
@@ -58,7 +58,7 @@ class AdminUserController < AdminController
track_thing = TrackThing.find(params[:track_id].to_i)
track_thing.destroy
flash[:notice] = 'Track destroyed'
- redirect_to user_admin_url(track_thing.tracking_user)
+ redirect_to admin_user_show_url(track_thing.tracking_user)
end
def clear_bounce
@@ -66,15 +66,15 @@ class AdminUserController < AdminController
user.email_bounced_at = nil
user.email_bounce_message = ""
user.save!
- redirect_to user_admin_url(user)
+ redirect_to admin_user_show_url(user)
end
def login_as
@admin_user = User.find(params[:id]) # check user does exist
- post_redirect = PostRedirect.new( :uri => main_url(user_url(@admin_user)), :user_id => @admin_user.id, :circumstance => "login_as" )
+ post_redirect = PostRedirect.new( :uri => user_url(@admin_user), :user_id => @admin_user.id, :circumstance => "login_as" )
post_redirect.save!
- url = main_url(confirm_url(:email_token => post_redirect.email_token, :only_path => true))
+ url = confirm_url(:email_token => post_redirect.email_token)
redirect_to url
end
@@ -91,7 +91,7 @@ class AdminUserController < AdminController
end
flash[:notice] = "Profile photo cleared"
- redirect_to user_admin_url(@admin_user)
+ redirect_to admin_user_show_url(@admin_user)
end
private
diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb
index 15fb4f5f9..5d8ceb888 100644
--- a/app/controllers/api_controller.rb
+++ b/app/controllers/api_controller.rb
@@ -220,7 +220,7 @@ class ApiController < ApplicationController
:event_id => event.id,
:created_at => event.created_at.iso8601,
:event_type => event.event_type,
- :request_url => main_url(request_url(request)),
+ :request_url => request_url(request),
:request_email => request.incoming_email,
:title => request.title,
:body => event.outgoing_message.body,
@@ -228,7 +228,7 @@ class ApiController < ApplicationController
:user_name => request.user_name,
}
if request.user
- this_event[:user_url] = main_url(user_url(request.user))
+ this_event[:user_url] = user_url(request.user)
end
@event_data.push(this_event)
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index a946526b8..f3deeb64a 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -456,11 +456,7 @@ class ApplicationController < ActionController::Base
end
end
- def param_exists(item)
- return params[item] && !params[item].empty?
- end
-
- def get_request_variety_from_params
+ def get_request_variety_from_params(params)
query = ""
sortby = "newest"
varieties = []
@@ -482,7 +478,7 @@ class ApplicationController < ActionController::Base
return query
end
- def get_status_from_params
+ def get_status_from_params(params)
query = ""
if params[:latest_status]
statuses = []
@@ -517,24 +513,24 @@ class ApplicationController < ActionController::Base
return query
end
- def get_date_range_from_params
+ def get_date_range_from_params(params)
query = ""
- if param_exists(:request_date_after) && !param_exists(:request_date_before)
+ if params.has_key?(:request_date_after) && !params.has_key?(:request_date_before)
params[:request_date_before] = Time.now.strftime("%d/%m/%Y")
query += " #{params[:request_date_after]}..#{params[:request_date_before]}"
- elsif !param_exists(:request_date_after) && param_exists(:request_date_before)
+ elsif !params.has_key?(:request_date_after) && params.has_key?(:request_date_before)
params[:request_date_after] = "01/01/2001"
end
- if param_exists(:request_date_after)
+ if params.has_key?(:request_date_after)
query = " #{params[:request_date_after]}..#{params[:request_date_before]}"
end
return query
end
- def get_tags_from_params
+ def get_tags_from_params(params)
query = ""
tags = []
- if param_exists(:tags)
+ if params.has_key?(:tags)
params[:tags].split().each do |tag|
tags << "tag:#{tag}"
end
@@ -545,12 +541,12 @@ class ApplicationController < ActionController::Base
return query
end
- def make_query_from_params
+ def make_query_from_params(params)
query = params[:query] || "" if query.nil?
- query += get_date_range_from_params
- query += get_request_variety_from_params
- query += get_status_from_params
- query += get_tags_from_params
+ query += get_date_range_from_params(params)
+ query += get_request_variety_from_params(params)
+ query += get_status_from_params(params)
+ query += get_tags_from_params(params)
return query
end
@@ -564,7 +560,7 @@ class ApplicationController < ActionController::Base
end
def set_popup_banner
- @popup_banner = render_to_string(:partial => "general/popup_banner").strip
+ @popup_banner = render_to_string(:partial => "general/popup_banner").strip.html_safe
end
# URL generating functions are needed by all controllers (for redirects),
# views (for links) and mailers (for use in emails), so include them into
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index 875e39494..0783fc579 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -25,7 +25,7 @@ class GeneralController < ApplicationController
@locale = self.locale_from_params()
locale_condition = 'public_body_translations.locale = ?'
conditions = [locale_condition, @locale]
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
if body_short_names.empty?
# This is too slow
@popular_bodies = PublicBody.visible.find(:all,
@@ -151,10 +151,10 @@ class GeneralController < ApplicationController
params[:query] = @query
end
if @variety_postfix != "all" && @requests
- @query, _ = make_query_from_params
+ @query, _ = make_query_from_params(params)
end
@inputted_sortby = @sortby
- @common_query = get_tags_from_params
+ @common_query = get_tags_from_params(params)
if @sortby.nil?
# Parse query, so can work out if it has prefix terms only - if so then it is a
# structured query which should show newest first, rather than a free text search
@@ -229,7 +229,5 @@ class GeneralController < ApplicationController
@locale = self.locale_from_params()
render(:layout => false, :content_type => 'text/css')
end
-
-
end
diff --git a/app/controllers/help_controller.rb b/app/controllers/help_controller.rb
index cf90f45bb..573abac63 100644
--- a/app/controllers/help_controller.rb
+++ b/app/controllers/help_controller.rb
@@ -19,7 +19,6 @@ class HelpController < ApplicationController
def contact
@contact_email = Configuration::contact_email
- @contact_email = @contact_email.gsub(/@/, "&#64;")
# if they clicked remove for link to request/body, remove it
if params[:remove]
@@ -50,7 +49,7 @@ class HelpController < ApplicationController
end
@contact = ContactValidator.new(params[:contact])
if @contact.valid? && !params[:remove]
- ContactMailer.deliver_message(
+ ContactMailer.deliver_to_admin_message(
params[:contact][:name],
params[:contact][:email],
params[:contact][:subject],
diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb
index 8a4a65820..1821e6725 100644
--- a/app/controllers/public_body_controller.rb
+++ b/app/controllers/public_body_controller.rb
@@ -16,7 +16,7 @@ class PublicBodyController < ApplicationController
return
end
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@public_body = PublicBody.find_by_url_name_with_historic(params[:url_name])
raise ActiveRecord::RecordNotFound.new("None found") if @public_body.nil?
if @public_body.url_name.nil?
@@ -25,22 +25,20 @@ class PublicBodyController < ApplicationController
end
# If found by historic name, or alternate locale name, redirect to new name
if @public_body.url_name != params[:url_name]
- redirect_to show_public_body_url(:url_name => @public_body.url_name)
+ redirect_to :url_name => @public_body.url_name
return
end
set_last_body(@public_body)
- top_url = main_url("/")
+ top_url = frontpage_url
@searched_to_send_request = false
referrer = request.env['HTTP_REFERER']
if !referrer.nil? && referrer.match(%r{^#{top_url}search/.*/bodies$})
@searched_to_send_request = true
end
@view = params[:view]
- params[:latest_status] = @view
-
- query = make_query_from_params
+ query = make_query_from_params(params.merge(:latest_status => @view))
query += " requested_from:#{@public_body.url_name}"
# Use search query for this so can collapse and paginate easily
# XXX really should just use SQL query here rather than Xapian.
@@ -71,7 +69,7 @@ class PublicBodyController < ApplicationController
@public_body = PublicBody.find_by_url_name_with_historic(params[:url_name])
raise ActiveRecord::RecordNotFound.new("None found") if @public_body.nil?
- PublicBody.with_locale(self.locale_from_params()) do
+ I18n.with_locale(self.locale_from_params()) do
if params[:submitted_view_email]
if verify_recaptcha
flash.discard(:error)
@@ -129,7 +127,7 @@ class PublicBodyController < ApplicationController
@description = _("in the category ‘{{category_name}}’", :category_name=>category_name)
end
end
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@public_bodies = PublicBody.paginate(
:order => "public_body_translations.name", :page => params[:page], :per_page => 100,
:conditions => conditions,
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index bf9e6c689..e82871d7b 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -52,7 +52,7 @@ class RequestController < ApplicationController
medium_cache
end
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
# Look up by old style numeric identifiers
if params[:url_title].match(/^[0-9]+$/)
@@ -166,7 +166,7 @@ class RequestController < ApplicationController
@view = params[:view]
@page = get_search_page_from_params if !@page # used in cache case, as perform_search sets @page as side effect
if @view == "recent"
- return redirect_to request_list_all_path(:action => "list", :view => "all", :page => @page), :status => :moved_permanently
+ return redirect_to request_list_all_url(:action => "list", :view => "all", :page => @page), :status => :moved_permanently
end
# Later pages are very expensive to load
@@ -174,8 +174,7 @@ class RequestController < ApplicationController
raise ActiveRecord::RecordNotFound.new("Sorry. No pages after #{MAX_RESULTS / PER_PAGE}.")
end
- params[:latest_status] = @view
- query = make_query_from_params
+ query = make_query_from_params(params.merge(:latest_status => @view))
@title = _("View and search requests")
sortby = "newest"
xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_collapse')
@@ -370,98 +369,82 @@ class RequestController < ApplicationController
<p>If you write about this request (for example in a forum or a blog) please link to this page, and add an
annotation below telling people about your writing.</p>",:law_used_full=>@info_request.law_used_full,
:late_number_of_days => Configuration::reply_late_after_days)
- redirect_to show_new_request_path(:url_title => @info_request.url_title)
+ redirect_to show_new_request_url(:url_title => @info_request.url_title)
end
# Submitted to the describing state of messages form
def describe_state
- @info_request = InfoRequest.find(params[:id].to_i)
- set_last_request(@info_request)
-
- # If this isn't a form submit, go to the request page
- if params[:submitted_describe_state].nil?
- redirect_to request_url(@info_request)
- return
- end
+ info_request = InfoRequest.find(params[:id].to_i)
+ set_last_request(info_request)
# If this is an external request, go to the request page - we don't allow
# state change from the front end interface.
- if @info_request.is_external?
- redirect_to request_url(@info_request)
+ if info_request.is_external?
+ redirect_to request_url(info_request)
return
end
- @is_owning_user = @info_request.is_owning_user?(authenticated_user)
- @last_info_request_event_id = @info_request.last_event_id_needing_description
- @old_unclassified = @info_request.is_old_unclassified? && !authenticated_user.nil?
-
- # Check authenticated, and parameters set. We check is_owning_user
- # to get admin overrides (see is_owning_user? above)
- if !@old_unclassified && !@is_owning_user && !authenticated_as_user?(@info_request.user,
+ # Check authenticated, and parameters set.
+ unless Ability::can_update_request_state?(authenticated_user, info_request)
+ authenticated_as_user?(info_request.user,
:web => _("To classify the response to this FOI request"),
- :email => _("Then you can classify the FOI response you have got from ") + @info_request.public_body.name + ".",
- :email_subject => _("Classify an FOI response from ") + @info_request.public_body.name
- )
+ :email => _("Then you can classify the FOI response you have got from ") + info_request.public_body.name + ".",
+ :email_subject => _("Classify an FOI response from ") + info_request.public_body.name)
# do nothing - as "authenticated?" has done the redirect to signin page for us
return
end
if !params[:incoming_message]
flash[:error] = _("Please choose whether or not you got some of the information that you wanted.")
- redirect_to request_url(@info_request)
+ redirect_to request_url(info_request)
return
end
- if params[:last_info_request_event_id].to_i != @last_info_request_event_id
+ if params[:last_info_request_event_id].to_i != info_request.last_event_id_needing_description
flash[:error] = _("The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again.")
- redirect_to request_url(@info_request)
+ redirect_to request_url(info_request)
+ return
+ end
+
+ described_state = params[:incoming_message][:described_state]
+ message = params[:incoming_message][:message]
+ # For requires_admin and error_message states we ask for an extra message to send to
+ # the administrators.
+ # If this message hasn't been included then ask for it
+ if ["error_message", "requires_admin"].include?(described_state) && message.nil?
+ redirect_to describe_state_message_url(:url_title => info_request.url_title, :described_state => described_state)
return
end
# Make the state change
- old_described_state = @info_request.described_state
- @info_request.set_described_state(params[:incoming_message][:described_state])
+ info_request.set_described_state(described_state, authenticated_user, message)
# If you're not the *actual* requester. e.g. you are playing the
# classification game, or you're doing this just because you are an
# admin user (not because you also own the request).
- if !@info_request.is_actual_owning_user?(authenticated_user)
- # Log the status change by someone other than the requester
- event = @info_request.log_event("status_update",
- { :user_id => authenticated_user.id,
- :old_described_state => old_described_state,
- :described_state => @info_request.described_state,
- })
- # Create a classification event for league tables
- RequestClassification.create!(:user_id => authenticated_user.id,
- :info_request_event_id => event.id)
-
+ if !info_request.is_actual_owning_user?(authenticated_user)
# Don't give advice on what to do next, as it isn't their request
- RequestMailer.deliver_old_unclassified_updated(@info_request) if !@info_request.is_external?
if session[:request_game]
- flash[:notice] = _('Thank you for updating the status of the request \'<a href="{{url}}">{{info_request_title}}</a>\'. There are some more requests below for you to classify.',:info_request_title=>CGI.escapeHTML(@info_request.title), :url=>CGI.escapeHTML(request_url(@info_request)))
- redirect_to play_url
+ flash[:notice] = _('Thank you for updating the status of the request \'<a href="{{url}}">{{info_request_title}}</a>\'. There are some more requests below for you to classify.',:info_request_title=>CGI.escapeHTML(info_request.title), :url=>CGI.escapeHTML(request_path(info_request)))
+ redirect_to categorise_play_url
else
flash[:notice] = _('Thank you for updating this request!')
- redirect_to request_url(@info_request)
+ redirect_to request_url(info_request)
end
return
end
- calculated_status = @info_request.calculate_status
# Display advice for requester on what to do next, as appropriate
- if calculated_status == 'waiting_response'
- flash[:notice] = _("<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>
-{{date_response_required_by}}</strong>.</p>",:date_response_required_by=>simple_date(@info_request.date_response_required_by))
- redirect_to request_url(@info_request)
- elsif calculated_status == 'waiting_response_overdue'
- flash[:notice] = _("<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>",:date_response_required_by=>simple_date(@info_request.date_response_required_by))
- redirect_to request_url(@info_request)
- elsif calculated_status == 'waiting_response_very_overdue'
- flash[:notice] = _("<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>", :very_late_number_of_days => Configuration::reply_very_late_after_days, :late_number_of_days => Configuration::reply_late_after_days)
- redirect_to unhappy_url(@info_request)
- elsif calculated_status == 'not_held'
- flash[:notice] = _("<p>Thank you! Here are some ideas on what to do next:</p>
+ flash[:notice] = case info_request.calculate_status
+ when 'waiting_response'
+ _("<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>
+{{date_response_required_by}}</strong>.</p>",:date_response_required_by=>simple_date(info_request.date_response_required_by))
+ when 'waiting_response_overdue'
+ _("<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>",:date_response_required_by=>simple_date(info_request.date_response_required_by))
+ when 'waiting_response_very_overdue'
+ _("<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>", :very_late_number_of_days => Configuration::reply_very_late_after_days, :late_number_of_days => Configuration::reply_late_after_days)
+ when 'not_held'
+ _("<p>Thank you! Here are some ideas on what to do next:</p>
<ul>
<li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>
<li>If you would like to contest the authority's claim that they do not hold the information, here is
@@ -472,44 +455,60 @@ class RequestController < ApplicationController
</li>
</ul>",
:find_authority_url => "/new",
- :complain_url => CGI.escapeHTML(unhappy_url(@info_request)),
- :other_means_url => CGI.escapeHTML(unhappy_url(@info_request)) + "#other_means")
- redirect_to request_url(@info_request)
- elsif calculated_status == 'rejected'
- flash[:notice] = _("Oh no! Sorry to hear that your request was refused. Here is what to do now.")
- redirect_to unhappy_url(@info_request)
- elsif calculated_status == 'successful'
- flash[:notice] = _("<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>", :site_name=>site_name, :donation_url => "http://www.mysociety.org/donate/")
- redirect_to request_url(@info_request)
- elsif calculated_status == 'partially_successful'
- flash[:notice] = _("<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>", :site_name=>site_name, :donation_url=>"http://www.mysociety.org/donate/")
- redirect_to unhappy_url(@info_request)
- elsif calculated_status == 'waiting_clarification'
- flash[:notice] = _("Please write your follow up message containing the necessary clarifications below.")
- redirect_to respond_to_last_url(@info_request)
- elsif calculated_status == 'gone_postal'
- redirect_to respond_to_last_url(@info_request) + "?gone_postal=1"
- elsif calculated_status == 'internal_review'
- flash[:notice] = _("<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>",:late_number_of_days => Configuration.reply_late_after_days, :review_url => unhappy_url(@info_request) + "#internal_review")
- redirect_to request_url(@info_request)
- elsif calculated_status == 'error_message'
- flash[:notice] = _("<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>")
- redirect_to help_general_url(:action => 'contact')
- elsif calculated_status == 'requires_admin'
- flash[:notice] = _("Please use the form below to tell us more.")
- redirect_to help_general_url(:action => 'contact')
- elsif calculated_status == 'user_withdrawn'
- flash[:notice] = _("If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn.")
- redirect_to respond_to_last_url(@info_request)
+ :complain_url => CGI.escapeHTML(unhappy_url(info_request)),
+ :other_means_url => CGI.escapeHTML(unhappy_url(info_request)) + "#other_means")
+ when 'rejected'
+ _("Oh no! Sorry to hear that your request was refused. Here is what to do now.")
+ when 'successful'
+ _("<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>", :site_name=>site_name, :donation_url => "http://www.mysociety.org/donate/")
+ when 'partially_successful'
+ _("<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>", :site_name=>site_name, :donation_url=>"http://www.mysociety.org/donate/")
+ when 'waiting_clarification'
+ _("Please write your follow up message containing the necessary clarifications below.")
+ when 'gone_postal'
+ nil
+ when 'internal_review'
+ _("<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>",:late_number_of_days => Configuration.reply_late_after_days, :review_url => unhappy_url(info_request) + "#internal_review")
+ when 'error_message', 'requires_admin'
+ _("Thank you! We'll look into what happened and try and fix it up.")
+ when 'user_withdrawn'
+ _("If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn.")
+ end
+
+ case info_request.calculate_status
+ when 'waiting_response', 'waiting_response_overdue', 'not_held', 'successful',
+ 'internal_review', 'error_message', 'requires_admin'
+ redirect_to request_url(info_request)
+ when 'waiting_response_very_overdue', 'rejected', 'partially_successful'
+ redirect_to unhappy_url(info_request)
+ when 'waiting_clarification', 'user_withdrawn'
+ redirect_to respond_to_last_url(info_request)
+ when 'gone_postal'
+ redirect_to respond_to_last_url(info_request) + "?gone_postal=1"
else
if @@custom_states_loaded
- return self.theme_describe_state(@info_request)
+ return self.theme_describe_state(info_request)
else
- raise "unknown calculate_status " + calculated_status
+ raise "unknown calculate_status #{info_request.calculate_status}"
end
end
end
+ # Collect a message to include with the change of state
+ def describe_state_message
+ @info_request = InfoRequest.find_by_url_title!(params[:url_title])
+ @described_state = params[:described_state]
+ @last_info_request_event_id = @info_request.last_event_id_needing_description
+ @title = case @described_state
+ when "error_message"
+ _("I've received an error message")
+ when "requires_admin"
+ _("This request requires administrator attention")
+ else
+ raise "Unsupported state"
+ end
+ end
+
# Used for links from polymorphic URLs e.g. in Atom feeds - just redirect to
# proper URL for the message the event refers to
def show_request_event
@@ -812,7 +811,7 @@ class RequestController < ApplicationController
# FOI officers can upload a response
def upload_response
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@info_request = InfoRequest.find_by_url_title!(params[:url_title])
@reason_params = {
@@ -869,7 +868,7 @@ class RequestController < ApplicationController
def download_entire_request
@locale = self.locale_from_params()
- PublicBody.with_locale(@locale) do
+ I18n.with_locale(@locale) do
@info_request = InfoRequest.find_by_url_title!(params[:url_title])
# Test for whole request being hidden or requester-only
if !@info_request.all_can_view?
@@ -883,7 +882,7 @@ class RequestController < ApplicationController
:email_subject => _("Log in to download a zip file of {{info_request_title}}",
:info_request_title=>@info_request.title)
)
- updated = Digest::SHA1.hexdigest(@info_request.get_last_event.created_at.to_i.to_s + @info_request.updated_at.to_i.to_s)
+ updated = Digest::SHA1.hexdigest(@info_request.info_request_events.last.created_at.to_i.to_s + @info_request.updated_at.to_i.to_s)
@url_path = File.join("/download",
request_dirs(@info_request),
updated,
@@ -895,7 +894,7 @@ class RequestController < ApplicationController
convert_command = Configuration::html_to_pdf_command
done = false
if !convert_command.blank? && File.exists?(convert_command)
- url = "http://#{Configuration::domain}#{request_url(@info_request)}?print_stylesheet=1"
+ url = "http://#{Configuration::domain}#{request_path(@info_request)}?print_stylesheet=1"
tempfile = Tempfile.new('foihtml2pdf')
output = AlaveteliExternalCommand.run(convert_command, url, tempfile.path)
if !output.nil?
diff --git a/app/controllers/services_controller.rb b/app/controllers/services_controller.rb
index 1db5348c7..e75dac903 100644
--- a/app/controllers/services_controller.rb
+++ b/app/controllers/services_controller.rb
@@ -15,7 +15,7 @@ class ServicesController < ApplicationController
FastGettext.locale = FastGettext.best_locale_in(request.env['HTTP_ACCEPT_LANGUAGE'])
if found_country && found_country[:country_name] && found_country[:url] && found_country[:name]
text = _("Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}",
- :country_name => found_country[:country_name], :link_to_website => "<a href=\"#{found_country[:url]}\">#{found_country[:name]}</a>")
+ :country_name => found_country[:country_name], :link_to_website => "<a href=\"#{found_country[:url]}\">#{found_country[:name]}</a>".html_safe)
else
current_country = WorldFOIWebsites.by_code(iso_country_code)[:country_name]
text = _("Hello! We have an <a href=\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\">important message</a> for visitors outside {{country_name}}", :country_name => current_country)
@@ -38,7 +38,7 @@ class ServicesController < ApplicationController
:locals => {:name_to => info_request.user_name,
:name_from => Configuration::contact_name,
:info_request => info_request, :reason => params[:reason],
- :info_request_url => 'http://' + Configuration::domain + request_url(info_request),
+ :info_request_url => 'http://' + Configuration::domain + request_path(info_request),
:site_name => site_name}
end
diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb
index 51e081c88..15da7f327 100644
--- a/app/controllers/track_controller.rb
+++ b/app/controllers/track_controller.rb
@@ -157,7 +157,7 @@ class TrackController < ApplicationController
def atom_feed_internal
@xapian_object = perform_search([InfoRequestEvent], @track_thing.track_query, @track_thing.params[:feed_sortby], nil, 25, 1)
respond_to do |format|
- format.atom { render :template => 'track/atom_feed' }
+ format.atom { render :template => 'track/atom_feed', :content_type => "application/atom+xml" }
format.json { render :json => @xapian_object.results.map { |r| r[:model].json_for_api(true,
lambda { |t| @template.highlight_and_excerpt(t, @xapian_object.words_to_highlight, 150) }
) } }
diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb
index 4ee527bae..fc8b6e014 100644
--- a/app/controllers/user_controller.rb
+++ b/app/controllers/user_controller.rb
@@ -422,7 +422,7 @@ class UserController < ApplicationController
ContactMailer.deliver_user_message(
@user,
@recipient_user,
- main_url(user_url(@user)),
+ user_url(@user),
params[:contact][:subject],
params[:contact][:message]
)
diff --git a/app/helpers/admin_helper.rb b/app/helpers/admin_helper.rb
new file mode 100644
index 000000000..059cebdfa
--- /dev/null
+++ b/app/helpers/admin_helper.rb
@@ -0,0 +1,37 @@
+module AdminHelper
+ def icon(name)
+ content_tag(:i, "", :class => "icon-#{name}")
+ end
+
+ def eye
+ icon("eye-open")
+ end
+
+ def chevron_right
+ icon("chevron-right")
+ end
+
+ def chevron_down
+ icon("chevron-down")
+ end
+
+ def arrow_right
+ icon("arrow-right")
+ end
+
+ def request_both_links(info_request)
+ link_to(eye, request_path(info_request), :title => "view request on public website") + " " +
+ link_to(info_request.title, admin_request_show_path(info_request), :title => "view full details")
+ end
+
+ def public_body_both_links(public_body)
+ link_to(eye, public_body_path(public_body), :title => "view authority on public website") + " " +
+ link_to(h(public_body.name), admin_body_show_path(public_body), :title => "view full details")
+ end
+
+ def user_both_links(user)
+ link_to(eye, user_path(user), :title => "view user's page on public website") + " " +
+ link_to(h(user.name), admin_user_show_path(user), :title => "view full details")
+ end
+end
+
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index b9ba712a4..42f9d30f1 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -54,15 +54,12 @@ module ApplicationHelper
# Highlight words, also escapes HTML (other than spans that we add)
def highlight_words(t, words, html = true)
if html
- t = h(t)
- end
- if html
- t = highlight(t, words, '<span class="highlight">\1</span>')
+ highlight(h(t), words, '<span class="highlight">\1</span>').html_safe
else
- t = highlight(t, words, '*\1*')
+ highlight(t, words, '*\1*')
end
- return t
end
+
def highlight_and_excerpt(t, words, excount, html = true)
newt = excerpt(t, words[0], excount)
if not newt
diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb
index 030fab20b..3f59c55ca 100755
--- a/app/helpers/link_to_helper.rb
+++ b/app/helpers/link_to_helper.rb
@@ -10,95 +10,93 @@ module LinkToHelper
# Links to various models
# Requests
- def request_url(info_request, extra_params={})
- params = {:url_title => info_request.url_title, :only_path => true}
- return show_request_url(params.merge(extra_params))
+ def request_url(info_request, options = {})
+ show_request_url({:url_title => info_request.url_title}.merge(options))
end
- def request_link(info_request, cls=nil )
- link_to h(info_request.title), request_url(info_request), :class => cls
+ def request_path(info_request, options = {})
+ request_url(info_request, {:only_path => true}.merge(options))
end
- def request_admin_url(info_request)
- return admin_url('request/show/' + info_request.id.to_s)
+ def request_link(info_request, cls=nil )
+ link_to h(info_request.title), request_path(info_request), :class => cls
end
- def request_admin_link(info_request, name="admin", cls=nil)
- link_to name, request_admin_url(info_request), :class => cls
+ def request_details_path(info_request)
+ details_request_path(:url_title => info_request.url_title)
end
- def request_both_links(info_request)
- link_to(h(info_request.title), main_url(request_url(info_request))) + " (" + link_to("admin", request_admin_url(info_request)) + ")"
+ # Incoming / outgoing messages
+ def incoming_message_url(incoming_message, options = {})
+ return request_url(incoming_message.info_request, options.merge(:anchor => "incoming-#{incoming_message.id}"))
end
- def request_similar_url(info_request)
- return similar_request_url(:url_title => info_request.url_title, :only_path => true)
+ def incoming_message_path(incoming_message)
+ incoming_message_url(incoming_message, :only_path => true)
end
- def request_details_url(info_request)
- return details_request_url(:url_title => info_request.url_title, :only_path => true)
+ def outgoing_message_url(outgoing_message, options = {})
+ request_url(outgoing_message.info_request, options.merge(:anchor => "outgoing-#{outgoing_message.id}"))
end
- # Incoming / outgoing messages
- def incoming_message_url(incoming_message)
- return request_url(incoming_message.info_request)+"#incoming-"+incoming_message.id.to_s
+ def outgoing_message_path(outgoing_message)
+ outgoing_message_url(outgoing_message, :only_path => true)
end
- def outgoing_message_url(outgoing_message)
- return request_url(outgoing_message.info_request)+"#outgoing-"+outgoing_message.id.to_s
+ def comment_url(comment, options = {})
+ request_url(comment.info_request, options.merge(:anchor => "comment-#{comment.id}"))
end
- def comment_url(comment)
- return request_url(comment.info_request)+"#comment-"+comment.id.to_s
+ def comment_path(comment)
+ comment_url(comment, :only_path => true)
end
# Respond to request
- def respond_to_last_url(info_request)
+ def respond_to_last_url(info_request, options = {})
last_response = info_request.get_last_response
if last_response.nil?
- respond_url = show_response_no_followup_url(:id => info_request.id)
+ show_response_no_followup_url(options.merge(:id => info_request.id))
else
- respond_url = show_response_url(:id => info_request.id, :incoming_message_id => last_response.id)
+ show_response_url(options.merge(:id => info_request.id, :incoming_message_id => last_response.id))
end
- return respond_url
end
- # Public bodies
- def public_body_url(public_body)
- public_body.url_name.nil? ? '' : show_public_body_url(:url_name => public_body.url_name, :only_path => true)
+ def respond_to_last_path(info_request)
+ respond_to_last_url(info_request, :only_path => true)
end
- def public_body_link_short(public_body)
- link_to h(public_body.short_or_long_name), public_body_url(public_body)
+ # Public bodies
+ def public_body_url(public_body, options = {})
+ public_body.url_name.nil? ? '' : show_public_body_url(options.merge(:url_name => public_body.url_name))
end
- def public_body_link(public_body, cls=nil)
- link_to h(public_body.name), public_body_url(public_body), :class => cls
+ def public_body_path(public_body)
+ public_body_url(public_body, :only_path => true)
end
- def public_body_link_absolute(public_body) # e.g. for in RSS
- link_to h(public_body.name), main_url(public_body_url(public_body))
+ def public_body_link_short(public_body)
+ link_to h(public_body.short_or_long_name), public_body_path(public_body)
end
- def public_body_admin_url(public_body)
- return admin_url('body/show/' + public_body.id.to_s)
+ def public_body_link(public_body, cls=nil)
+ link_to h(public_body.name), public_body_path(public_body), :class => cls
end
- def public_body_both_links(public_body)
- link_to(h(public_body.name), main_url(public_body_url(public_body))) + " (" + link_to("admin", public_body_admin_url(public_body)) + ")"
+ def public_body_link_absolute(public_body) # e.g. for in RSS
+ link_to h(public_body.name), public_body_url(public_body)
end
- def list_public_bodies_default
- list_public_bodies_url(:tag => 'all')
+ # Users
+ def user_url(user, options = {})
+ show_user_url(options.merge(:url_name => user.url_name))
end
- # Users
- def user_url(user)
- return show_user_url(:url_name => user.url_name, :only_path => true)
+ def user_path(user)
+ user_url(user, :only_path => true)
end
def user_link(user, cls=nil)
- link_to h(user.name), user_url(user), :class => cls
+ link_to h(user.name), user_path(user), :class => cls
end
def user_link_for_request(request, cls=nil)
@@ -110,21 +108,24 @@ module LinkToHelper
user_name
end
else
- link_to h(request.user.name), user_url(request.user), :class => cls
+ link_to h(request.user.name), user_path(request.user), :class => cls
end
end
def user_admin_link_for_request(request, external_text=nil, internal_text=nil)
if request.is_external?
- text = external_text ? external_text : (request.external_user_name || _("Anonymous user")) + " (external)"
+ external_text || (request.external_user_name || _("Anonymous user")) + " (external)"
else
- text = internal_text ? internal_text : request.user.name
- link_to(h(text), user_admin_url(request.user))
+ link_to(h(internal_text || request.user.name), admin_user_show_url(request.user))
end
end
def user_link_absolute(user)
- link_to h(user.name), main_url(user_url(user))
+ link_to h(user.name), user_url(user)
+ end
+
+ def user_link(user)
+ link_to h(user.name), user_path(user)
end
def request_user_link_absolute(request)
@@ -135,11 +136,19 @@ module LinkToHelper
end
end
+ def request_user_link(request)
+ if request.is_external?
+ request.external_user_name || _("Anonymous user")
+ else
+ user_link(request.user)
+ end
+ end
+
def user_or_you_link(user)
if @user && user == @user
- link_to h("you"), user_url(user)
+ link_to h("you"), user_path(user)
else
- link_to h(user.name), user_url(user)
+ link_to h(user.name), user_path(user)
end
end
@@ -152,40 +161,36 @@ module LinkToHelper
end
def user_or_you_capital_link(user)
- link_to user_or_you_capital(user), user_url(user)
- end
-
- def user_admin_url(user)
- return admin_url('user/show/' + user.id.to_s)
+ link_to user_or_you_capital(user), user_path(user)
end
def user_admin_link(user, name="admin", cls=nil)
- link_to name, user_admin_url(user), :class => cls
- end
-
- def user_both_links(user)
- link_to(h(user.name), main_url(user_url(user))) + " (" + link_to("admin", user_admin_url(user)) + ")"
+ link_to name, admin_user_show_url(user), :class => cls
end
# Tracks. feed can be 'track' or 'feed'
- def do_track_url(track_thing, feed = 'track')
+ def do_track_url(track_thing, feed = 'track', options = {})
if track_thing.track_type == 'request_updates'
- track_request_url(:url_title => track_thing.info_request.url_title, :feed => feed)
+ track_request_url(options.merge(:url_title => track_thing.info_request.url_title, :feed => feed))
elsif track_thing.track_type == 'all_new_requests'
- track_list_url(:view => 'recent', :feed => feed)
+ track_list_url(options.merge(:view => 'recent', :feed => feed))
elsif track_thing.track_type == 'all_successful_requests'
- track_list_url(:view => 'successful', :feed => feed)
+ track_list_url(options.merge(:view => 'successful', :feed => feed))
elsif track_thing.track_type == 'public_body_updates'
- track_public_body_url(:url_name => track_thing.public_body.url_name, :feed => feed)
+ track_public_body_url(options.merge(:url_name => track_thing.public_body.url_name, :feed => feed))
elsif track_thing.track_type == 'user_updates'
- track_user_url(:url_name => track_thing.tracked_user.url_name, :feed => feed)
+ track_user_url(options.merge(:url_name => track_thing.tracked_user.url_name, :feed => feed))
elsif track_thing.track_type == 'search_query'
- track_search_url(:query_array => track_thing.track_query, :feed => feed)
+ track_search_url(options.merge(:query_array => track_thing.track_query, :feed => feed))
else
raise "unknown tracking type " + track_thing.track_type
end
end
+ def do_track_path(track_thing, feed = 'track')
+ do_track_url(track_thing, feed, :only_path => true)
+ end
+
# General pages.
def search_url(query, params = nil)
if query.kind_of?(Array)
@@ -213,31 +218,26 @@ module LinkToHelper
return url
end
- def search_link(query, variety_postfix = nil, sort_postfix = nil, advanced = nil)
- link_to h(query), search_url(query)
- end
- # Admin pages
- def admin_url(relative_path)
- admin_url_prefix = Configuration::admin_base_url
- (admin_url_prefix.empty? ? admin_general_index_url + '/' : admin_url_prefix) + relative_path
+ def search_path(query, options = {})
+ search_url(query, options.merge(:only_path => true))
end
- # About page URLs
- def about_url
- return help_general_url(:action => 'about')
+ def search_link(query)
+ link_to h(query), search_url(query)
end
- def unhappy_url(info_request = nil)
- if info_request.nil?
- return help_general_url(:action => 'unhappy')
- else
- return help_unhappy_url(:url_title => info_request.url_title)
- end
+ # Deprecated helper
+ # TODO: Remove in next release
+ def admin_url(relative_path)
+ warn "[DEPRECATION] admin_url is deprecated. Please remove it from your theme."
+ relative_path
end
-
+ # Deprecated helper
+ # TODO: Remove in next release
def main_url(relative_path, append = nil)
+ warn "[DEPRECATION] main_url is deprecated. Please remove it from your theme."
url_prefix = "http://" + Configuration::domain
url = url_prefix + relative_path
if !append.nil?
@@ -253,6 +253,19 @@ module LinkToHelper
return url
end
+ # About page URLs
+ def about_url
+ return help_general_url(:action => 'about')
+ end
+
+ def unhappy_url(info_request = nil)
+ if info_request.nil?
+ return help_general_url(:action => 'unhappy')
+ else
+ return help_unhappy_url(:url_title => info_request.url_title)
+ end
+ end
+
# Basic date format
def simple_date(date)
date = date.in_time_zone.to_date unless date.is_a? Date
@@ -269,13 +282,5 @@ module LinkToHelper
def year_from_date(date)
return date.strftime("%Y").strip
end
-
- #I18n locale switcher
-
- def locale_switcher(locale, params)
- params['locale'] = locale
- return url_for(params)
- end
-
end
diff --git a/app/models/about_me_validator.rb b/app/models/about_me_validator.rb
index 5e04c2761..8ee505ac8 100644
--- a/app/models/about_me_validator.rb
+++ b/app/models/about_me_validator.rb
@@ -17,10 +17,14 @@ class AboutMeValidator < ActiveRecord::BaseWithoutTable
column :about_me, :text, "I...", false
- def validate
+ # TODO: Switch to built in validations
+ validate :length_of_about_me
+
+ private
+
+ def length_of_about_me
if !self.about_me.blank? && self.about_me.size > 500
errors.add(:about_me, _("Please keep it shorter than 500 characters"))
end
end
-
end
diff --git a/app/models/application_mailer.rb b/app/models/application_mailer.rb
index cdb279c3c..1a97a4bf9 100644
--- a/app/models/application_mailer.rb
+++ b/app/models/application_mailer.rb
@@ -77,6 +77,17 @@ class ApplicationMailer < ActionMailer::Base
# and via template_path, which is created from it) in the create! method when
# looking for templates. Our modified version looks for templates in the view_paths
# in order.
+
+ # It also has a line converting the mail subject to a string. This is because we
+ # use translated strings in the subject lines, sometimes in conjunction with
+ # user input, like request titles. The _() function used for translation
+ # returns an instance of SafeBuffer, which doesn't handle gsub calls in the block form
+ # with $ variables - https://github.com/rails/rails/issues/1555.
+ # Unfortunately ActionMailer uses that form in quoted_printable(), which will be
+ # called if any part of the subject requires quoting. So we convert the subject
+ # back to a string via to_str() before passing in to create_mail. There is a test
+ # for this in spec/models/request_mailer_spec.rb
+
# Changed lines marked with ***
# Initialize the mailer via the given +method_name+. The body will be
@@ -139,6 +150,9 @@ class ApplicationMailer < ActionMailer::Base
# already set.
@mime_version ||= "1.0" if !@parts.empty?
+ # *** Convert into a string
+ @subject = @subject.to_str if @subject
+
# build the mail object itself
@mail = create_mail
end
diff --git a/app/models/change_email_validator.rb b/app/models/change_email_validator.rb
index 9ef25217d..2ddebb177 100644
--- a/app/models/change_email_validator.rb
+++ b/app/models/change_email_validator.rb
@@ -28,12 +28,15 @@ class ChangeEmailValidator < ActiveRecord::BaseWithoutTable
validates_presence_of :old_email, :message => N_("Please enter your old email address")
validates_presence_of :new_email, :message => N_("Please enter your new email address")
validates_presence_of :password, :message => N_("Please enter your password"), :unless => :changing_email
+ validate :password_and_format_of_email
def changing_email()
self.user_circumstance == 'change_email'
end
- def validate
+ private
+
+ def password_and_format_of_email
if !self.old_email.blank? && !MySociety::Validate.is_valid_email(self.old_email)
errors.add(:old_email, _("Old email doesn't look like a valid address"))
end
diff --git a/app/models/comment.rb b/app/models/comment.rb
index bcd1efca8..70f3ba00d 100644
--- a/app/models/comment.rb
+++ b/app/models/comment.rb
@@ -24,13 +24,13 @@ class Comment < ActiveRecord::Base
strip_attributes!
belongs_to :user
- #validates_presence_of :user # breaks during construction of new ones :(
-
- validates_inclusion_of :comment_type, :in => [ 'request' ]
belongs_to :info_request
-
has_many :info_request_events # in practice only ever has one
+ #validates_presence_of :user # breaks during construction of new ones :(
+ validates_inclusion_of :comment_type, :in => [ 'request' ]
+ validate :body_of_comment
+
def body
ret = read_attribute(:body)
if ret.nil?
@@ -40,6 +40,7 @@ class Comment < ActiveRecord::Base
ret = ret.gsub(/(?:\n\s*){2,}/, "\n\n") # remove excess linebreaks that unnecessarily space it out
ret
end
+
def raw_body
read_attribute(:body)
end
@@ -52,16 +53,6 @@ class Comment < ActiveRecord::Base
end
end
- # Check have edited comment
- def validate
- if self.body.empty? || self.body =~ /^\s+$/
- errors.add(:body, _("Please enter your annotation"))
- end
- if !MySociety::Validate.uses_mixed_capitals(self.body)
- errors.add(:body, _('Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read.'))
- end
- end
-
# Return body for display as HTML
def get_body_for_html_display
text = self.body.strip
@@ -82,9 +73,21 @@ class Comment < ActiveRecord::Base
return Comment.find(:first, :conditions => [ "info_request_id = ? and body = ?", info_request_id, body ])
end
end
- def for_admin_column
- self.class.content_columns.each do |column|
- yield(column.human_name, self.send(column.name), column.type.to_s, column.name)
+
+ def for_admin_column
+ self.class.content_columns.each do |column|
+ yield(column.human_name, self.send(column.name), column.type.to_s, column.name)
+ end
+ end
+
+ private
+
+ def body_of_comment
+ if self.body.empty? || self.body =~ /^\s+$/
+ errors.add(:body, _("Please enter your annotation"))
+ end
+ if !MySociety::Validate.uses_mixed_capitals(self.body)
+ errors.add(:body, _('Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read.'))
+ end
end
- end
end
diff --git a/app/models/contact_mailer.rb b/app/models/contact_mailer.rb
index 16aae2f15..abde64928 100644
--- a/app/models/contact_mailer.rb
+++ b/app/models/contact_mailer.rb
@@ -7,7 +7,7 @@
class ContactMailer < ApplicationMailer
# Send message to administrator
- def message(name, email, subject, message, logged_in_user, last_request, last_body)
+ def to_admin_message(name, email, subject, message, logged_in_user, last_request, last_body)
@from = name + " <" + email + ">"
@recipients = contact_from_name_and_email
@subject = subject
diff --git a/app/models/foi_attachment.rb b/app/models/foi_attachment.rb
index 723bc4abb..bba0b6a8d 100644
--- a/app/models/foi_attachment.rb
+++ b/app/models/foi_attachment.rb
@@ -317,8 +317,7 @@ class FoiAttachment < ActiveRecord::Base
text = CGI.escapeHTML(text)
text = MySociety::Format.make_clickable(text)
html = text.gsub(/\n/, '<br>')
- return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd"><html><head><title></title></head><body>' + html + "</body></html>", wrapper_id
+ return '<!DOCTYPE html><html><head><title></title></head><body>' + html + "</body></html>", wrapper_id
end
# the extractions will also produce image files, which go in the
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index 3f551f420..5c845ead3 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -535,7 +535,7 @@ class IncomingMessage < ActiveRecord::Base
text = Iconv.conv('utf-8//IGNORE', source_charset, text) +
_("\n\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]",
:site_name => Configuration::site_name)
- rescue Iconv::InvalidEncoding, Iconv::IllegalSequence
+ rescue Iconv::InvalidEncoding, Iconv::IllegalSequence, Iconv::InvalidCharacter
if source_charset != "utf-8"
source_charset = "utf-8"
retry
diff --git a/app/models/info_request.rb b/app/models/info_request.rb
index cee9eb959..237364f56 100644
--- a/app/models/info_request.rb
+++ b/app/models/info_request.rb
@@ -543,20 +543,16 @@ public
# states which require administrator action (hence email administrators
# when they are entered, and offer state change dialog to them)
- def InfoRequest.requires_admin_states
- return ['requires_admin', 'error_message', 'attention_requested']
- end
-
def requires_admin?
- return true if InfoRequest.requires_admin_states.include?(described_state)
- return false
+ ['requires_admin', 'error_message', 'attention_requested'].include?(described_state)
end
# change status, including for last event for later historical purposes
- def set_described_state(new_state, set_by = nil)
+ def set_described_state(new_state, set_by = nil, message = "")
+ old_described_state = described_state
ActiveRecord::Base.transaction do
self.awaiting_description = false
- last_event = self.get_last_event
+ last_event = self.info_request_events.last
last_event.described_state = new_state
self.described_state = new_state
last_event.save!
@@ -568,9 +564,23 @@ public
if self.requires_admin?
# Check there is someone to send the message "from"
if !set_by.nil? || !self.user.nil?
- RequestMailer.deliver_requires_admin(self, set_by)
+ RequestMailer.deliver_requires_admin(self, set_by, message)
end
end
+
+ unless set_by.nil? || is_actual_owning_user?(set_by) || described_state == 'attention_requested'
+ # Log the status change by someone other than the requester
+ event = log_event("status_update",
+ { :user_id => set_by.id,
+ :old_described_state => old_described_state,
+ :described_state => described_state,
+ })
+ # Create a classification event for league tables
+ RequestClassification.create!(:user_id => set_by.id,
+ :info_request_event_id => event.id)
+
+ RequestMailer.deliver_old_unclassified_updated(self) if !is_external?
+ end
end
# Work out what the situation of the request is. In addition to values of
@@ -719,41 +729,28 @@ public
self.info_request_events.create!(:event_type => type, :params => params)
end
+ def response_events
+ self.info_request_events.select{|e| e.response?}
+ end
+
# The last response is the default one people might want to reply to
def get_last_response_event_id
- for e in self.info_request_events.reverse
- if e.event_type == 'response'
- return e.id
- end
- end
- return nil
-
+ get_last_response_event.id if get_last_response_event
end
def get_last_response_event
- for e in self.info_request_events.reverse
- if e.event_type == 'response'
- return e
- end
- end
- return nil
+ response_events.last
end
def get_last_response
- last_response_event = self.get_last_response_event
- if last_response_event.nil?
- return nil
- else
- return last_response_event.incoming_message
- end
+ get_last_response_event.incoming_message if get_last_response_event
+ end
+
+ def outgoing_events
+ info_request_events.select{|e| e.outgoing? }
end
# The last outgoing message
def get_last_outgoing_event
- for e in self.info_request_events.reverse
- if [ 'sent', 'followup_sent' ].include?(e.event_type)
- return e
- end
- end
- return nil
+ outgoing_events.last
end
# Text from the the initial request, for use in summary display
@@ -794,16 +791,6 @@ public
end
end
- # Returns last event
- def get_last_event
- events = self.info_request_events
- if events.size == 0
- return nil
- else
- return events[-1]
- end
- end
-
# Get previous email sent to
def get_previous_email_sent_to(info_request_event)
last_email = nil
@@ -821,46 +808,31 @@ public
# Display version of status
def InfoRequest.get_status_description(status)
- if status == 'waiting_classification'
- _("Awaiting classification.")
- elsif status == 'waiting_response'
- _("Awaiting response.")
- elsif status == 'waiting_response_overdue'
- _("Delayed.")
- elsif status == 'waiting_response_very_overdue'
- _("Long overdue.")
- elsif status == 'not_held'
- _("Information not held.")
- elsif status == 'rejected'
- _("Refused.")
- elsif status == 'partially_successful'
- _("Partially successful.")
- elsif status == 'successful'
- _("Successful.")
- elsif status == 'waiting_clarification'
- _("Waiting clarification.")
- elsif status == 'gone_postal'
- _("Handled by post.")
- elsif status == 'internal_review'
- _("Awaiting internal review.")
- elsif status == 'error_message'
- _("Delivery error")
- elsif status == 'requires_admin'
- _("Unusual response.")
- elsif status == 'attention_requested'
- _("Reported for administrator attention.")
- elsif status == 'user_withdrawn'
- _("Withdrawn by the requester.")
- elsif status == 'vexatious'
- _("Considered by administrators as vexatious and hidden from site.")
- elsif status == 'not_foi'
- _("Considered by administrators as not an FOI request and hidden from site.")
+ descriptions = {
+ 'waiting_classification' => _("Awaiting classification."),
+ 'waiting_response' => _("Awaiting response."),
+ 'waiting_response_overdue' => _("Delayed."),
+ 'waiting_response_very_overdue' => _("Long overdue."),
+ 'not_held' => _("Information not held."),
+ 'rejected' => _("Refused."),
+ 'partially_successful' => _("Partially successful."),
+ 'successful' => _("Successful."),
+ 'waiting_clarification' => _("Waiting clarification."),
+ 'gone_postal' => _("Handled by post."),
+ 'internal_review' => _("Awaiting internal review."),
+ 'error_message' => _("Delivery error"),
+ 'requires_admin' => _("Unusual response."),
+ 'attention_requested' => _("Reported for administrator attention."),
+ 'user_withdrawn' => _("Withdrawn by the requester."),
+ 'vexatious' => _("Considered by administrators as vexatious and hidden from site."),
+ 'not_foi' => _("Considered by administrators as not an FOI request and hidden from site."),
+ }
+ if descriptions[status]
+ descriptions[status]
+ elsif respond_to?(:theme_display_status)
+ theme_display_status(status)
else
- begin
- return self.theme_display_status(status)
- rescue NoMethodError
- raise _("unknown status ") + status
- end
+ raise _("unknown status ") + status
end
end
@@ -987,13 +959,8 @@ public
end
def is_old_unclassified?
- return false if is_external?
- return false if !awaiting_description
- return false if url_title == 'holding_pen'
- last_response_event = get_last_response_event
- return false unless last_response_event
- return false if last_response_event.created_at >= Time.now - OLD_AGE_IN_DAYS
- return true
+ !is_external? && awaiting_description && url_title != 'holding_pen' && get_last_response_event &&
+ Time.now > get_last_response_event.created_at + OLD_AGE_IN_DAYS
end
# List of incoming messages to followup, by unique email
diff --git a/app/models/info_request_event.rb b/app/models/info_request_event.rb
index 09eba31ab..871b81b1f 100644
--- a/app/models/info_request_event.rb
+++ b/app/models/info_request_event.rb
@@ -77,17 +77,18 @@ class InfoRequestEvent < ActiveRecord::Base
end
def user_can_view?(user)
- if !self.info_request.user_can_view?(user)
+ unless info_request.user_can_view?(user)
raise "internal error, called user_can_view? on event when there is not permission to view entire request"
end
- if self.prominence == 'hidden'
- return User.view_hidden_requests?(user)
- end
- if self.prominence == 'requester_only'
- return self.info_request.is_owning_user?(user)
+ case prominence
+ when 'hidden'
+ User.view_hidden_requests?(user)
+ when 'requester_only'
+ info_request.is_owning_user?(user)
+ else
+ true
end
- return true
end
@@ -363,16 +364,19 @@ class InfoRequestEvent < ActiveRecord::Base
end
def is_sent_sort?
- if [ 'sent', 'resent'].include?(self.event_type)
- return true
- end
- return false
+ ['sent', 'resent'].include?(event_type)
end
+
def is_followup_sort?
- if [ 'followup_sent', 'followup_resent'].include?(self.event_type)
- return true
- end
- return false
+ ['followup_sent', 'followup_resent'].include?(event_type)
+ end
+
+ def outgoing?
+ ['sent', 'followup_sent'].include?(event_type)
+ end
+
+ def response?
+ event_type == 'response'
end
def same_email_as_previous_send?
diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb
index 3cb0ebf49..c75894e6a 100644
--- a/app/models/outgoing_message.rb
+++ b/app/models/outgoing_message.rb
@@ -30,6 +30,7 @@ class OutgoingMessage < ActiveRecord::Base
validates_inclusion_of :status, :in => ['ready', 'sent', 'failed']
validates_inclusion_of :message_type, :in => ['initial_request', 'followup' ] #, 'complaint']
+ validate :format_of_body
belongs_to :incoming_message_followup, :foreign_key => 'incoming_message_followup_id', :class_name => 'IncomingMessage'
@@ -136,32 +137,6 @@ class OutgoingMessage < ActiveRecord::Base
end
end
- # Check have edited letter
- def validate
- if self.body.empty? || self.body =~ /\A#{get_salutation}\s+#{get_signoff}/ || self.body =~ /#{get_internal_review_insert_here_note}/
- if self.message_type == 'followup'
- if self.what_doing == 'internal_review'
- errors.add(:body, _("Please give details explaining why you want a review"))
- else
- errors.add(:body, _("Please enter your follow up message"))
- end
- elsif
- errors.add(:body, _("Please enter your letter requesting information"))
- else
- raise "Message id #{self.id} has type '#{self.message_type}' which validate can't handle"
- end
- end
- if self.body =~ /#{get_signoff}\s*\Z/m
- errors.add(:body, _("Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature", :signoff => get_signoff))
- end
- if !MySociety::Validate.uses_mixed_capitals(self.body)
- errors.add(:body, _('Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read.'))
- end
- if self.what_doing.nil? || !['new_information', 'internal_review', 'normal_sort'].include?(self.what_doing)
- errors.add(:what_doing_dummy, _('Please choose what sort of reply you are making.'))
- end
- end
-
# Deliver outgoing message
# Note: You can test this from script/console with, say:
# InfoRequest.find(1).outgoing_messages[0].send_message
@@ -275,6 +250,33 @@ class OutgoingMessage < ActiveRecord::Base
yield(column.human_name, self.send(column.name), column.type.to_s, column.name)
end
end
+
+ private
+
+ def format_of_body
+ if self.body.empty? || self.body =~ /\A#{get_salutation}\s+#{get_signoff}/ || self.body =~ /#{get_internal_review_insert_here_note}/
+ if self.message_type == 'followup'
+ if self.what_doing == 'internal_review'
+ errors.add(:body, _("Please give details explaining why you want a review"))
+ else
+ errors.add(:body, _("Please enter your follow up message"))
+ end
+ elsif
+ errors.add(:body, _("Please enter your letter requesting information"))
+ else
+ raise "Message id #{self.id} has type '#{self.message_type}' which validate can't handle"
+ end
+ end
+ if self.body =~ /#{get_signoff}\s*\Z/m
+ errors.add(:body, _("Please sign at the bottom with your name, or alter the \"%{signoff}\" signature" % { :signoff => get_signoff }))
+ end
+ if !MySociety::Validate.uses_mixed_capitals(self.body)
+ errors.add(:body, _('Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read.'))
+ end
+ if self.what_doing.nil? || !['new_information', 'internal_review', 'normal_sort'].include?(self.what_doing)
+ errors.add(:what_doing_dummy, _('Please choose what sort of reply you are making.'))
+ end
+ end
end
diff --git a/app/models/profile_photo.rb b/app/models/profile_photo.rb
index bcb0390b5..47ce221b2 100644
--- a/app/models/profile_photo.rb
+++ b/app/models/profile_photo.rb
@@ -23,6 +23,8 @@ class ProfilePhoto < ActiveRecord::Base
belongs_to :user
+ validate :data_and_draft_checks
+
# deliberately don't strip_attributes, so keeps raw photo properly
attr_accessor :x, :y, :w, :h
@@ -81,7 +83,9 @@ class ProfilePhoto < ActiveRecord::Base
end
end
- def validate
+ private
+
+ def data_and_draft_checks
if self.data.nil?
errors.add(:data, N_("Please choose a file containing your photo."))
return
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index f71520ee6..b4d36fe91 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -35,6 +35,8 @@ class PublicBody < ActiveRecord::Base
validates_uniqueness_of :short_name, :message => N_("Short name is already taken"), :if => Proc.new { |pb| pb.short_name != "" }
validates_uniqueness_of :name, :message => N_("Name is already taken")
+ validate :request_email_if_requestable
+
has_many :info_requests, :order => 'created_at desc'
has_many :track_things, :order => 'created_at desc'
has_many :censor_rules, :order => 'created_at desc'
@@ -104,28 +106,25 @@ class PublicBody < ActiveRecord::Base
# like find_by_url_name but also search historic url_name if none found
def self.find_by_url_name_with_historic(name)
- locale = self.locale || I18n.locale
- PublicBody.with_locale(locale) do
- found = PublicBody.find(:all,
- :conditions => ["public_body_translations.url_name=?", name],
- :joins => :translations,
- :readonly => false)
- # If many bodies are found (usually because the url_name is the same across
- # locales) return any of them
- return found.first if found.size >= 1
-
- # If none found, then search the history of short names
- old = PublicBody::Version.find_all_by_url_name(name)
- # Find unique public bodies in it
- old = old.map { |x| x.public_body_id }
- old = old.uniq
- # Maybe return the first one, so we show something relevant,
- # rather than throwing an error?
- raise "Two bodies with the same historical URL name: #{name}" if old.size > 1
- return unless old.size == 1
- # does acts_as_versioned provide a method that returns the current version?
- return PublicBody.find(old.first)
- end
+ found = PublicBody.find(:all,
+ :conditions => ["public_body_translations.url_name=?", name],
+ :joins => :translations,
+ :readonly => false)
+ # If many bodies are found (usually because the url_name is the same across
+ # locales) return any of them
+ return found.first if found.size >= 1
+
+ # If none found, then search the history of short names
+ old = PublicBody::Version.find_all_by_url_name(name)
+ # Find unique public bodies in it
+ old = old.map { |x| x.public_body_id }
+ old = old.uniq
+ # Maybe return the first one, so we show something relevant,
+ # rather than throwing an error?
+ raise "Two bodies with the same historical URL name: #{name}" if old.size > 1
+ return unless old.size == 1
+ # does acts_as_versioned provide a method that returns the current version?
+ return PublicBody.find(old.first)
end
# Set the first letter, which is used for faster queries
@@ -135,15 +134,6 @@ class PublicBody < ActiveRecord::Base
self.first_letter = self.name.scan(/./mu)[0].upcase
end
- def validate
- # Request_email can be blank, meaning we don't have details
- if self.is_requestable?
- unless MySociety::Validate.is_valid_email(self.request_email)
- errors.add(:request_email, "Request email doesn't look like a valid email address")
- end
- end
- end
-
# If tagged "not_apply", then FOI/EIR no longer applies to authority at all
def not_apply?
return self.has_tag?('not_apply')
@@ -250,13 +240,13 @@ class PublicBody < ActiveRecord::Base
# When name or short name is changed, also change the url name
def short_name=(short_name)
- globalize.write(self.class.locale || I18n.locale, :short_name, short_name)
+ globalize.write(I18n.locale, :short_name, short_name)
self[:short_name] = short_name
self.update_url_name
end
def name=(name)
- globalize.write(self.class.locale || I18n.locale, :name, name)
+ globalize.write(I18n.locale, :name, name)
self[:name] = name
self.update_url_name
end
@@ -336,7 +326,7 @@ class PublicBody < ActiveRecord::Base
# The "internal admin" is a special body for internal use.
def PublicBody.internal_admin_body
- PublicBody.with_locale(I18n.default_locale) do
+ I18n.with_locale(I18n.default_locale) do
pb = PublicBody.find_by_url_name("internal_admin_authority")
if pb.nil?
pb = PublicBody.new(
@@ -374,7 +364,7 @@ class PublicBody < ActiveRecord::Base
# of updating them
bodies_by_name = {}
set_of_existing = Set.new()
- PublicBody.with_locale(I18n.default_locale) do
+ I18n.with_locale(I18n.default_locale) do
bodies = (tag.nil? || tag.empty?) ? PublicBody.find(:all) : PublicBody.find_by_tag(tag)
for existing_body in bodies
# Hide InternalAdminBody from import notes
@@ -417,7 +407,7 @@ class PublicBody < ActiveRecord::Base
if public_body = bodies_by_name[name] # Existing public body
available_locales.each do |locale|
- PublicBody.with_locale(locale) do
+ I18n.with_locale(locale) do
changed = ActiveSupport::OrderedHash.new
field_list.each do |field_name|
localized_field_name = (locale.to_s == I18n.default_locale.to_s) ? field_name : "#{field_name}.#{locale}"
@@ -452,7 +442,7 @@ class PublicBody < ActiveRecord::Base
else # New public body
public_body = PublicBody.new(:name=>"", :short_name=>"", :request_email=>"")
available_locales.each do |locale|
- PublicBody.with_locale(locale) do
+ I18n.with_locale(locale) do
changed = ActiveSupport::OrderedHash.new
field_list.each do |field_name|
localized_field_name = (locale.to_s == I18n.default_locale.to_s) ? field_name : "#{field_name}.#{locale}"
@@ -642,4 +632,12 @@ class PublicBody < ActiveRecord::Base
end
end
+ def request_email_if_requestable
+ # Request_email can be blank, meaning we don't have details
+ if self.is_requestable?
+ unless MySociety::Validate.is_valid_email(self.request_email)
+ errors.add(:request_email, "Request email doesn't look like a valid email address")
+ end
+ end
+ end
end
diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb
index 493d6961c..955f73ef4 100644
--- a/app/models/request_mailer.rb
+++ b/app/models/request_mailer.rb
@@ -5,7 +5,11 @@
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
require 'alaveteli_file_types'
-
+if Rails.env == 'test' && RUBY_VERSION.to_f >= 1.9
+ # Avoid spec/script/mailin_spec.rb running script/runner as a test suite
+ # http://stackoverflow.com/questions/1899009/why-are-tests-running-in-production-mode-and-causing-my-script-runners-to-fail
+ Test::Unit.run = true
+end
class RequestMailer < ApplicationMailer
@@ -58,32 +62,28 @@ class RequestMailer < ApplicationMailer
end
# An FOI response is outside the scope of the system, and needs admin attention
- def requires_admin(info_request, set_by = nil)
- if !set_by.nil?
- user = set_by
- else
- user = info_request.user
- end
+ def requires_admin(info_request, set_by = nil, message = "")
+ user = set_by || info_request.user
@from = user.name_and_email
@recipients = contact_from_name_and_email
@subject = _("FOI response requires admin ({{reason}}) - {{title}}", :reason => info_request.described_state, :title => info_request.title)
- url = main_url(request_url(info_request))
- admin_url = request_admin_url(info_request)
- @body = {:reported_by => user, :info_request => info_request, :url => url, :admin_url => admin_url }
+ url = request_url(info_request)
+ admin_url = admin_request_show_url(info_request)
+ @body = {:reported_by => user, :message => message, :info_request => info_request, :url => url, :admin_url => admin_url }
end
# Tell the requester that a new response has arrived
def new_response(info_request, incoming_message)
# Don't use login link here, just send actual URL. This is
# because people tend to forward these emails amongst themselves.
- url = main_url(incoming_message_url(incoming_message))
+ url = incoming_message_url(incoming_message)
@from = contact_from_name_and_email
headers 'Return-Path' => blackhole_email, 'Reply-To' => @from, # not much we can do if the user's email is broken
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = info_request.user.name_and_email
- @subject = _("New response to your FOI request - ") + info_request.title
+ @subject = (_("New response to your FOI request - ") + info_request.title).html_safe
@body = { :incoming_message => incoming_message, :info_request => info_request, :url => url }
end
@@ -102,7 +102,7 @@ class RequestMailer < ApplicationMailer
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = user.name_and_email
- @subject = _("Delayed response to your FOI request - ") + info_request.title
+ @subject = (_("Delayed response to your FOI request - ") + info_request.title).html_safe
@body = { :info_request => info_request, :url => url }
end
@@ -121,7 +121,7 @@ class RequestMailer < ApplicationMailer
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = user.name_and_email
- @subject = _("You're long overdue a response to your FOI request - ") + info_request.title
+ @subject = (_("You're long overdue a response to your FOI request - ") + info_request.title).html_safe
@body = { :info_request => info_request, :url => url }
end
@@ -131,7 +131,7 @@ class RequestMailer < ApplicationMailer
# Make a link going to the form to describe state, and which logs the
# user in.
post_redirect = PostRedirect.new(
- :uri => main_url(request_url(info_request)) + "#describe_state_form_1",
+ :uri => request_url(info_request) + "#describe_state_form_1",
:user_id => info_request.user.id)
post_redirect.save!
url = confirm_url(:email_token => post_redirect.email_token)
@@ -153,7 +153,7 @@ class RequestMailer < ApplicationMailer
'X-Auto-Response-Suppress' => 'OOF'
@recipients = info_request.user.name_and_email
@subject = _("Someone has updated the status of your request")
- url = main_url(request_url(info_request))
+ url = request_url(info_request)
@body = {:info_request => info_request, :url => url}
end
@@ -173,7 +173,7 @@ class RequestMailer < ApplicationMailer
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = info_request.user.name_and_email
- @subject = _("Clarify your FOI request - ") + info_request.title
+ @subject = (_("Clarify your FOI request - ") + info_request.title).html_safe
@body = { :incoming_message => incoming_message, :info_request => info_request, :url => url }
end
@@ -184,8 +184,8 @@ class RequestMailer < ApplicationMailer
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = info_request.user.name_and_email
- @subject = _("Somebody added a note to your FOI request - ") + info_request.title
- @body = { :comment => comment, :info_request => info_request, :url => main_url(comment_url(comment)) }
+ @subject = (_("Somebody added a note to your FOI request - ") + info_request.title).html_safe
+ @body = { :comment => comment, :info_request => info_request, :url => comment_url(comment) }
end
def comment_on_alert_plural(info_request, count, earliest_unalerted_comment)
@from = contact_from_name_and_email
@@ -193,8 +193,8 @@ class RequestMailer < ApplicationMailer
'Auto-Submitted' => 'auto-generated', # http://tools.ietf.org/html/rfc3834
'X-Auto-Response-Suppress' => 'OOF'
@recipients = info_request.user.name_and_email
- @subject = _("Some notes have been added to your FOI request - ") + info_request.title
- @body = { :count => count, :info_request => info_request, :url => main_url(comment_url(earliest_unalerted_comment)) }
+ @subject = (_("Some notes have been added to your FOI request - ") + info_request.title).html_safe
+ @body = { :count => count, :info_request => info_request, :url => comment_url(earliest_unalerted_comment) }
end
# Class function, called by script/mailin with all incoming responses.
diff --git a/app/models/track_mailer.rb b/app/models/track_mailer.rb
index 7dfa87f52..7262c82f3 100644
--- a/app/models/track_mailer.rb
+++ b/app/models/track_mailer.rb
@@ -7,7 +7,7 @@
class TrackMailer < ApplicationMailer
def event_digest(user, email_about_things)
post_redirect = PostRedirect.new(
- :uri => main_url(user_url(user)) + "#email_subscriptions",
+ :uri => user_url(user) + "#email_subscriptions",
:user_id => user.id)
post_redirect.save!
unsubscribe_url = confirm_url(:email_token => post_redirect.email_token)
@@ -91,10 +91,9 @@ class TrackMailer < ApplicationMailer
if email_about_things.size > 0
# Send the email
- previous_locale = I18n.locale
- I18n.locale = user.get_locale
- TrackMailer.deliver_event_digest(user, email_about_things)
- I18n.locale = previous_locale
+ I18n.with_locale(user.get_locale) do
+ TrackMailer.deliver_event_digest(user, email_about_things)
+ end
end
# Record that we've now sent those alerts to that user
diff --git a/app/models/track_thing.rb b/app/models/track_thing.rb
index 81800f0ae..a0c74bdb6 100644
--- a/app/models/track_thing.rb
+++ b/app/models/track_thing.rb
@@ -23,6 +23,8 @@
require 'set'
+# TODO: TrackThing looks like a good candidate for single table inheritance
+
class TrackThing < ActiveRecord::Base
belongs_to :tracking_user, :class_name => 'User'
validates_presence_of :track_query
@@ -199,7 +201,8 @@ class TrackThing < ActiveRecord::Base
if self.track_type == 'request_updates'
@params = {
# Website
- :list_description => _("'{{link_to_request}}', a request", :link_to_request => "<a href=\"/request/" + CGI.escapeHTML(self.info_request.url_title) + "\">" + CGI.escapeHTML(self.info_request.title) + "</a>"), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
+ :list_description => _("'{{link_to_request}}', a request",
+ :link_to_request => ("<a href=\"/request/" + CGI.escapeHTML(self.info_request.url_title) + "\">" + CGI.escapeHTML(self.info_request.title) + "</a>").html_safe), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
:verb_on_page => _("Follow this request"),
:verb_on_page_already => _("You are already following this request"),
# Email
@@ -250,7 +253,7 @@ class TrackThing < ActiveRecord::Base
elsif self.track_type == 'public_body_updates'
@params = {
# Website
- :list_description => _("'{{link_to_authority}}', a public authority", :link_to_authority => "<a href=\"/body/" + CGI.escapeHTML(self.public_body.url_name) + "\">" + CGI.escapeHTML(self.public_body.name) + "</a>"), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
+ :list_description => _("'{{link_to_authority}}', a public authority", :link_to_authority => ("<a href=\"/body/" + CGI.escapeHTML(self.public_body.url_name) + "\">" + CGI.escapeHTML(self.public_body.name) + "</a>").html_safe), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
:verb_on_page => _("Follow requests to {{public_body_name}}",:public_body_name=>CGI.escapeHTML(self.public_body.name)),
:verb_on_page_already => _("You are already following requests to {{public_body_name}}", :public_body_name=>CGI.escapeHTML(self.public_body.name)),
# Email
@@ -266,7 +269,7 @@ class TrackThing < ActiveRecord::Base
elsif self.track_type == 'user_updates'
@params = {
# Website
- :list_description => _("'{{link_to_user}}', a person", :link_to_user => "<a href=\"/user/" + CGI.escapeHTML(self.tracked_user.url_name) + "\">" + CGI.escapeHTML(self.tracked_user.name) + "</a>"), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
+ :list_description => _("'{{link_to_user}}', a person", :link_to_user => ("<a href=\"/user/" + CGI.escapeHTML(self.tracked_user.url_name) + "\">" + CGI.escapeHTML(self.tracked_user.name) + "</a>").html_safe), # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
:verb_on_page => _("Follow this person"),
:verb_on_page_already => _("You are already following this person"),
# Email
@@ -282,7 +285,7 @@ class TrackThing < ActiveRecord::Base
elsif self.track_type == 'search_query'
@params = {
# Website
- :list_description => "<a href=\"/search/" + CGI.escapeHTML(self.track_query) + "/newest/advanced\">" + self.track_query_description + "</a>", # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
+ :list_description => ("<a href=\"/search/" + CGI.escapeHTML(self.track_query) + "/newest/advanced\">" + CGI.escapeHTML(self.track_query_description) + "</a>").html_safe, # XXX yeuch, sometimes I just want to call view helpers from the model, sorry! can't work out how
:verb_on_page => _("Follow things matching this search"),
:verb_on_page_already => _("You are already following things matching this search"),
# Email
diff --git a/app/models/user.rb b/app/models/user.rb
index 6e1e21481..612ac7fa2 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -50,6 +50,8 @@ class User < ActiveRecord::Base
'super',
], :message => N_('Admin level is not included in list')
+ validate :email_and_name_are_valid
+
acts_as_xapian :texts => [ :name, :about_me ],
:values => [
[ :created_at_numeric, 1, "created_at", :number ] # for sorting
@@ -96,27 +98,13 @@ class User < ActiveRecord::Base
end
def get_locale
- if !self.locale.nil?
- locale = self.locale
- else
- locale = I18n.locale
- end
- return locale.to_s
+ (self.locale || I18n.locale).to_s
end
def visible_comments
self.comments.find(:all, :conditions => 'visible')
end
- def validate
- if self.email != "" && !MySociety::Validate.is_valid_email(self.email)
- errors.add(:email, _("Please enter a valid email address"))
- end
- if MySociety::Validate.is_valid_email(self.name)
- errors.add(:name, _("Please enter your name, not your email address, in the name field."))
- end
- end
-
# Don't display any leading/trailing spaces
# XXX we have strip_attributes! now, so perhaps this can be removed (might
# be still needed for existing cases)
@@ -361,12 +349,13 @@ class User < ActiveRecord::Base
end
# Return about me text for display as HTML
+ # TODO: Move this to a view helper
def get_about_me_for_html_display
text = self.about_me.strip
text = CGI.escapeHTML(text)
text = MySociety::Format.make_clickable(text, :contract => 1)
text = text.gsub(/\n/, '<br>')
- return text
+ return text.html_safe
end
def json_for_api
@@ -413,6 +402,15 @@ class User < ActiveRecord::Base
self.salt = self.object_id.to_s + rand.to_s
end
+ def email_and_name_are_valid
+ if self.email != "" && !MySociety::Validate.is_valid_email(self.email)
+ errors.add(:email, _("Please enter a valid email address"))
+ end
+ if MySociety::Validate.is_valid_email(self.name)
+ errors.add(:name, _("Please enter your name, not your email address, in the name field."))
+ end
+ end
+
## Class methods
def User.encrypted_password(password, salt)
string_to_hash = password + salt # XXX need to add a secret here too?
diff --git a/app/sass/admin.scss b/app/sass/admin.scss
new file mode 100644
index 000000000..584b0d00d
--- /dev/null
+++ b/app/sass/admin.scss
@@ -0,0 +1,112 @@
+/* As we're namespacing bootstrap to class admin, which is applied to the body
+ element in the admin interface (no id or class allowed on the HTML element
+ in HTML 4.01) and to the navbar also, so it can be styled with bootstrap
+ when showing for admin users on the front end, re-apply the bootstrap html
+ and body styles here.
+*/
+html {
+ font-size: 100%;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+}
+
+body.admin {
+ margin: 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ line-height: 20px;
+ color: #333333;
+ background-color: white;
+}
+
+/* When the admin stylesheet is loaded (and so the user is seeing the admin navbar), pad the banner of the front end interface so that it isn't hidden, and move any special notice down too.
+*/
+
+.entirebody, #banner {
+ padding-top: 50px;
+}
+
+#special-notice {
+ margin-top: 50px;
+}
+
+.admin {
+
+ @import "compass/css3";
+ @import "bootstrap";
+
+ #main {
+ padding-top: 50px;
+
+ }
+
+ .form-inline {
+ display: inline;
+ }
+
+ table .form {
+ display: inline-block;
+ margin: 0;
+ }
+
+ .accordion-group {
+ border: none;
+ }
+ .accordion-heading {
+ .btn {
+ float: left;
+ margin: 6px 15px;
+ }
+ .accordion-toggle {
+ padding: 2px;
+ &:hover {
+ text-decoration: none;
+ }
+ }
+ }
+
+ div.item-detail {
+ div:nth-child(odd) span {
+ background-color: #eee;
+ }
+ }
+
+ span.label.tag {
+ margin-right: 2px;
+ a {
+ color: white;
+ }
+ }
+
+ body.admin blockquote p {
+ font-size: 13px;
+ display: inline;
+ }
+
+ div#user_locale_switcher {
+ div.btn-group:before,
+ div.btn-group:after {
+ display: inline;
+ }
+ }
+
+ #request_hidden_user_subject_field {
+ width: 440px;
+ }
+ #request_hidden_user_explanation_field {
+ width: 100%;
+ height: 15em;
+ }
+ #request_hidden_user_subject,
+ #request_hide_button,
+ #request_hidden_user_explanation {
+ display: none;
+ }
+
+ #outgoing_message_body,
+ #comment_body {
+ width: 750px;
+ }
+
+}
+
diff --git a/app/views/admin_censor_rule/_form.rhtml b/app/views/admin_censor_rule/_form.rhtml
index ac43de704..5035238d6 100644
--- a/app/views/admin_censor_rule/_form.rhtml
+++ b/app/views/admin_censor_rule/_form.rhtml
@@ -1,40 +1,75 @@
<%= error_messages_for 'censor_rule' %>
-<p>Applies to:
- <% if !info_request.nil? %>
- <%=request_both_links(info_request)%> request
- <%= hidden_field 'censor_rule', 'info_request_id', { :value => info_request.id } %>
- <% end %>
- <% if !user.nil? %>
- <%=user_both_links(user)%> user
- <%= hidden_field 'censor_rule', 'user_id', { :value => user.id } %>
- <% end %>
-</p>
+<div class="well">
+ <%=_("Applies to")%>
+ <% unless info_request.nil? %>
+ <%= request_both_links(info_request) %>
+ <%= hidden_field 'censor_rule', 'info_request_id', { :value => info_request.id } %>
+ <% end %>
+ <% unless user.nil? %>
+ <%= user_both_links(user) %>
+ <%= hidden_field 'censor_rule', 'user_id', { :value => user.id } %>
+<% end %>
+</div>
-<p><label for="censor_rule_regexp">Is it regexp replacement?</label> (Leave unchecked if you are not sure about this)<br/>
-<%= check_box 'censor_rule', 'regexp' %></p>
+<div class="control-group">
+ <label for="censor_rule_regexp" class="control-label">Is it regexp replacement?</label>
+ <div class="controls">
+ <%= check_box 'censor_rule', 'regexp' %>
+ <div class="help-block">
+ Leave unchecked if you are not sure about this
+ </div>
+ </div>
+</div>
-<p><label for="censor_rule_text">Text</label> (that you want to remove, case sensitive)<br/>
-<%= text_field 'censor_rule', 'text', :size => 60 %></p>
+<div class="control-group">
+ <label for="censor_rule_text" class="control-label">Text</label>
+ <div class="controls">
+ <%= text_field 'censor_rule', 'text', :class => "span3" %>
+ <div class="help-block">
+ that you want to remove, case sensitive
+ </div>
+ </div>
+</div>
-<p><label for="censor_rule_replacement">Replacement</label> (put it in <strong>[square brackets]</strong>, e.g. [personal information removed]. applies to text in emails and HTML conversions of binaries; binaries themselves must stay the same length and the replacement is just a bunch of 'x's)<br/>
-<%= text_field 'censor_rule', 'replacement', :size => 60 %></p>
+<div class="control-group">
+ <label for="censor_rule_replacement" class="control-label">Replacement</label>
+ <div class="controls">
+ <%= text_field 'censor_rule', 'replacement', :class => "span3" %>
+ <div class="help-block">
+ put it in <strong>[square brackets]</strong>, e.g. [personal information removed]. applies to text in emails and HTML conversions of binaries; binaries themselves must stay the same length and the replacement is just a bunch of 'x's
+ </div>
+ </div>
+</div>
-<p><label for="censor_rule_last_edit_comment">Comment for this edit</label> (put purpose of the rule, and why the change)<br/>
-<%= text_area 'censor_rule', 'last_edit_comment', :rows => 2, :cols => 60 %></p>
-
-<p><strong>Warning and notes:</strong> This does replace text in binary files, but for
-most formats only in a naive way. It works well on surprisingly many Word documents. Notably
-it doesn't even do UCS-2 (unicode sometimes used in Word). There is also special code
-which works on some PDFs. Please <strong>carefully check</strong> all attachments have
-changed in the way you expect, and haven't become corrupted.
-</p>
-
-<p>You may need to manually rebuild the search index afterwards. You can redact
-things by individual request or by user by adding the censor rule from the
-appropriate page. If you need to redact across a whole
-authority, it will be easy enough to make code changes to add it, so do ask.
-</p>
-<p><strong>Regexp rules that are hard to process will really slow down request display.</strong> Please only use regexps if you really need to.
-</p>
+<div class="control-group">
+ <label for="censor_rule_last_edit_comment" class="control-label">Comment for this edit</label>
+ <div class="controls">
+ <%= text_area 'censor_rule', 'last_edit_comment', :rows => 2, :class => "span6" %>
+ <div class="help-block">
+ put purpose of the rule, and why the change
+ </div>
+ </div>
+</div>
+<div class="row">
+ <div class="span10 offset2">
+ <div class="alert alert-info">
+ <h3>Warning and notes:</h3>
+ <p> This does replace text in binary files, but for
+ most formats only in a naive way. It works well on surprisingly many Word documents. Notably
+ it doesn't even do UCS-2 (unicode sometimes used in Word). There is also special code
+ which works on some PDFs. Please <strong>carefully check</strong> all attachments have
+ changed in the way you expect, and haven't become corrupted.
+ </p>
+ <p>You may need to manually rebuild the search index afterwards. You can redact
+ things by individual request or by user by adding the censor rule from the
+ appropriate page. If you need to redact across a whole
+ authority, it will be easy enough to make code changes to add it, so do ask.
+ </p>
+ <p>
+ <strong>Regexp rules that are hard to process will really slow down request display.</strong> Please only use regexps if you really need to.
+ </p>
+ </div>
+ </div>
+</div>
diff --git a/app/views/admin_censor_rule/_show.rhtml b/app/views/admin_censor_rule/_show.rhtml
index 363c3fb6f..0d4cece93 100644
--- a/app/views/admin_censor_rule/_show.rhtml
+++ b/app/views/admin_censor_rule/_show.rhtml
@@ -1,6 +1,6 @@
<% if censor_rules.size > 0 %>
- <table>
+ <table class="table table-condensed">
<tr>
<th>Id</th>
<% for column in CensorRule.content_columns %>
@@ -16,7 +16,7 @@
<td><%=h censor_rule.send(column) %></td>
<% end %>
<td>
- <%= link_to "Edit", '../../censor/edit/' + censor_rule.id.to_s %>
+ <%= link_to "Edit", admin_rule_edit_path(censor_rule) %>
</td>
</tr>
<% end %>
@@ -26,14 +26,10 @@
<% end %>
<% if defined? info_request %>
- <p>
- <%= link_to "New censor rule", '../../censor/new?info_request_id=' + info_request.id.to_s %> (for this request only)
- </p>
+ <%= link_to "New censor rule (for this request only)", admin_rule_new_path(:info_request_id => info_request.id), :class => "btn btn-info" %>
<% end %>
<% if defined? user %>
- <p>
- <%= link_to "New censor rule", '../../censor/new?user_id=' + user.id.to_s %> (for all requests by this user)
- </p>
+ <%= link_to "New censor rule", admin_rule_new_path(:user_id => user.id), :class => "btn btn-info" %> <span class="label label-info">for all requests by this user</span>
<% end %>
diff --git a/app/views/admin_censor_rule/edit.rhtml b/app/views/admin_censor_rule/edit.rhtml
index e34e022a0..4eb99ce57 100644
--- a/app/views/admin_censor_rule/edit.rhtml
+++ b/app/views/admin_censor_rule/edit.rhtml
@@ -2,15 +2,17 @@
<h1><%=@title%></h1>
-<% form_tag '../update/' + @censor_rule.id.to_s do %>
+<% form_tag admin_rule_update_path(@censor_rule), :class => "form form-horizontal" do %>
<%= render :partial => 'form', :locals => { :info_request => @censor_rule.info_request, :user => @censor_rule.user } %>
- <p><%= submit_tag 'Save', :accesskey => 's' %></p>
+ <div class="form-actions">
+ <%= submit_tag 'Save', :accesskey => 's', :class => "btn btn-primary" %>
+ </div>
<% end %>
-<% form_tag('../destroy/' + @censor_rule.id.to_s) do %>
- <p>
- <%= hidden_field_tag(:censor_rule_id, @censor_rule.id) %>
- Permanent! --&gt; <%= submit_tag "Destroy rule" %>
- </p>
+<% form_tag admin_rule_destroy_path(@censor_rule), :class => "form form-horizontal" do %>
+ <%= hidden_field_tag(:censor_rule_id, @censor_rule.id) %>
+ <div class="form-actions">
+ Permanent! --&gt; <%= submit_tag "Destroy rule", :class => "btn btn-primary" %>
+ </div>
<% end %>
diff --git a/app/views/admin_censor_rule/new.rhtml b/app/views/admin_censor_rule/new.rhtml
index c6b8cea6a..f6978c07c 100644
--- a/app/views/admin_censor_rule/new.rhtml
+++ b/app/views/admin_censor_rule/new.rhtml
@@ -1,9 +1,11 @@
-<% @title = 'New censor rule' %>
+<% @title = _('New censor rule') %>
<h1><%=@title%></h1>
-<% form_tag 'create' do %>
- <%= render :partial => 'form', :locals => { :info_request => @info_request, :user => @user } %>
- <p><%= submit_tag "Create" %></p>
+<% form_tag admin_rule_create_path, :class => "form form-horizontal" do %>
+ <%= render :partial => 'form', :locals => { :info_request => @info_request, :user => @censor_user } %>
+ <div class="form-actions">
+ <%= submit_tag "Create", :class => "btn btn-primary" %>
+ </div>
<% end %>
diff --git a/app/views/admin_general/_admin_navbar.rhtml b/app/views/admin_general/_admin_navbar.rhtml
index 8b1378917..5cc740f70 100644
--- a/app/views/admin_general/_admin_navbar.rhtml
+++ b/app/views/admin_general/_admin_navbar.rhtml
@@ -1 +1,22 @@
-
+<div class="admin">
+ <div class="navbar navbar-fixed-top navbar-inverse">
+ <div class="navbar-inner">
+ <div class="container">
+ <%= link_to 'Alaveteli', frontpage_path, :class => "brand" %>
+ <div class="nav-collapse">
+ <ul class="nav">
+ <li><%= link_to 'Summary', admin_general_index_path %></li>
+ <li><%= link_to 'Timeline', admin_timeline_path %></li>
+ <li><%= link_to 'Stats', admin_stats_path %></li>
+ <li><%= link_to 'Debug', admin_debug_path %></li>
+ <li><%= link_to 'Authorities', admin_body_list_path %></li>
+ <li><%= link_to 'Requests', admin_request_list_path %></li>
+ <li><%= link_to 'Users', admin_user_list_path %></li>
+ <li><%= link_to 'Tracks', admin_track_list_path %></li>
+ <li><%= link_to 'Log out', signout_path %></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
diff --git a/app/views/admin_general/admin.coffee b/app/views/admin_general/admin.coffee
new file mode 100644
index 000000000..3d39369a4
--- /dev/null
+++ b/app/views/admin_general/admin.coffee
@@ -0,0 +1,24 @@
+jQuery ->
+ $('.locales a:first').tab('show')
+ $('.accordion-body').on('hidden', ->
+ $(@).prev().find('i').first().removeClass().addClass('icon-chevron-right')
+ )
+ $('.accordion-body').on('shown', ->
+ $(@).prev().find('i').first().removeClass().addClass('icon-chevron-down'))
+ $('.toggle-hidden').live('click', ->
+ $(@).parents('td').find('div:hidden').show()
+ false)
+ $('#request_hidden_user_explanation_reasons input').live('click', ->
+ $('#request_hidden_user_subject, #request_hidden_user_explanation, #request_hide_button').show()
+ info_request_id = $('#hide_request_form').attr('data-info-request-id')
+ reason = $(this).val()
+ $('#request_hidden_user_explanation_field').attr("value", "[loading default text...]")
+ $.ajax "/hidden_user_explanation?reason=" + reason + "&info_request_id=" + info_request_id,
+ type: "GET"
+ dataType: "text"
+ error: (data, textStatus, jqXHR) ->
+ $('#request_hidden_user_explanation_field').attr("value", "Error: #{textStatus}")
+ success: (data, textStatus, jqXHR) ->
+ $('#request_hidden_user_explanation_field').attr("value", data)
+ )
+
diff --git a/app/views/admin_general/admin.js b/app/views/admin_general/admin.js
new file mode 100644
index 000000000..9daa51459
--- /dev/null
+++ b/app/views/admin_general/admin.js
@@ -0,0 +1,32 @@
+(function() {
+ jQuery(function() {
+ $('.locales a:first').tab('show');
+ $('.accordion-body').on('hidden', function() {
+ return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-right');
+ });
+ $('.accordion-body').on('shown', function() {
+ return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-down');
+ });
+ $('.toggle-hidden').live('click', function() {
+ $(this).parents('td').find('div:hidden').show();
+ return false;
+ });
+ return $('#request_hidden_user_explanation_reasons input').live('click', function() {
+ var info_request_id, reason;
+ $('#request_hidden_user_subject, #request_hidden_user_explanation, #request_hide_button').show();
+ info_request_id = $('#hide_request_form').attr('data-info-request-id');
+ reason = $(this).val();
+ $('#request_hidden_user_explanation_field').attr("value", "[loading default text...]");
+ return $.ajax("/hidden_user_explanation?reason=" + reason + "&info_request_id=" + info_request_id, {
+ type: "GET",
+ dataType: "text",
+ error: function(data, textStatus, jqXHR) {
+ return $('#request_hidden_user_explanation_field').attr("value", "Error: " + textStatus);
+ },
+ success: function(data, textStatus, jqXHR) {
+ return $('#request_hidden_user_explanation_field').attr("value", data);
+ }
+ });
+ });
+ });
+}).call(this);
diff --git a/app/views/admin_general/admin_js.erb b/app/views/admin_general/admin_js.erb
new file mode 100644
index 000000000..c8788a452
--- /dev/null
+++ b/app/views/admin_general/admin_js.erb
@@ -0,0 +1,34 @@
+(function() {
+
+ jQuery(function() {
+ $('.locales a:first').tab('show');
+ $('.accordion-body').on('hidden', function() {
+ return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-right');
+ });
+ $('.accordion-body').on('shown', function() {
+ return $(this).prev().find('i').first().removeClass().addClass('icon-chevron-down');
+ });
+ $('.toggle-hidden').live('click', function() {
+ $(this).parents('td').find('div:hidden').show();
+ return false;
+ });
+ return $('#request_hidden_user_explanation_reasons input').live('click', function() {
+ var info_request_id, reason;
+ $('#request_hidden_user_subject, #request_hidden_user_explanation, #request_hide_button').show();
+ info_request_id = $('#hide_request_form').attr('data-info-request-id');
+ reason = $(this).val();
+ $('#request_hidden_user_explanation_field').attr("value", "[loading default text...]");
+ return $.ajax("/hidden_user_explanation?reason=" + reason + "&info_request_id=" + info_request_id, {
+ type: "GET",
+ dataType: "text",
+ error: function(data, textStatus, jqXHR) {
+ return $('#request_hidden_user_explanation_field').attr("value", "Error: " + textStatus);
+ },
+ success: function(data, textStatus, jqXHR) {
+ return $('#request_hidden_user_explanation_field').attr("value", data);
+ }
+ });
+ });
+ });
+
+}).call(this);
diff --git a/app/views/admin_general/debug.rhtml b/app/views/admin_general/debug.rhtml
index 99488ba0c..7fd256025 100644
--- a/app/views/admin_general/debug.rhtml
+++ b/app/views/admin_general/debug.rhtml
@@ -2,14 +2,18 @@
<h1><%=@title%></h1>
-<p>You are <%= h @admin_current_user %></p>
+<p>You are <%= h @http_auth_user %></p>
<h2>Version numbers</h2>
<p>
Alaveteli version: <%= link_to @current_version, @github_origin + @current_version %>
<br>
-Alaveteli branch: <%= link_to @current_branch, @github_origin + @current_branch %>
+<% if @current_branch == "(no branch)" %>
+ Alaveteli branch: (no branch)
+<% else %>
+ Alaveteli branch: <%= link_to @current_branch, @github_origin + @current_branch %>
+<% end %>
<br>
Alaveteli commit: <%= link_to @current_commit, @github_origin + @current_commit %>
<br>
@@ -20,8 +24,6 @@ Rails::VERSION::STRING <%=h Rails::VERSION::STRING%>
TMail::VERSION::STRING <%=h TMail::VERSION::STRING%>
<br>
Xapian::version_string <%=h Xapian::version_string%>
-<br>
-Spec::VERSION::STRING <%=h Spec::VERSION::STRING%>
</p>
<h2>Configuration</h2>
diff --git a/app/views/admin_general/index.rhtml b/app/views/admin_general/index.rhtml
index 48bd7f694..b239a2b3f 100644
--- a/app/views/admin_general/index.rhtml
+++ b/app/views/admin_general/index.rhtml
@@ -1,109 +1,185 @@
<% @title = "Summary" %>
-<h1><%=@title%></h1>
-
-<ul>
-<li><%=@public_body_count%> public authorities</li>
-<li><%=@info_request_count%> requests, <%=@outgoing_message_count%> outgoing messages,
- <%=@incoming_message_count%> incoming messages
-</li>
-<li><%=@user_count%> users, <%=@track_thing_count%> tracked things</li>
-<li><%=@comment_count%> annotations</li>
-</ul>
-
-<hr>
-
-<h1>Things to do</h1>
-
-<% if @holding_pen_messages.size > 0 %>
- <h3>Put misdelivered responses with the right request (<%=@holding_pen_messages.size%> total)</h3>
+<div class="row">
+ <div class="span12">
+ <h1><%=@title%></h1>
<ul>
- <% for message in @holding_pen_messages %>
- <li>
- <% if message.get_body_for_quoting.strip.size == 0 %>
- <%= link_to "(no body)", "request/show_raw_email/" + message.raw_email_id.to_s %>
- <% else %>
- <%= link_to excerpt(message.get_body_for_quoting, "", 60), "request/show_raw_email/" + message.raw_email_id.to_s %>
- <% end %>
- (<%=simple_date(message.sent_at)%>)
- </li>
- <% end %>
+ <li><%=@public_body_count%> public authorities</li>
+ <li>
+ <%=@info_request_count%> requests, <%=@outgoing_message_count%> outgoing messages,
+ <%=@incoming_message_count%> incoming messages
+ </li>
+ <li><%=@user_count%> users, <%=@track_thing_count%> tracked things</li>
+ <li><%=@comment_count%> annotations</li>
</ul>
+ </div>
+</div>
-<% end %>
-
-<% if @error_message_requests.size > 0 %>
- <h3>Fix these delivery and other errors (<%=@error_message_requests.size%> total)</h3>
-
- <ul>
- <% for @request in @error_message_requests %>
- <li>
- <%= request_both_links(@request)%>
- &ndash; <%=simple_date(@request.get_last_event.created_at)%>
- </li>
- <% end %>
- </ul>
-<% end %>
-
-<% if @attention_requests.size > 0 %>
- <h3>Review requests which have been marked as requiring your attention by users (<%=@error_message_requests.size%> total)</h3>
-
- <ul>
- <% for @request in @attention_requests %>
- <li>
- <%= request_both_links(@request)%>
- &ndash; <%=simple_date(@request.get_last_event.created_at)%>
- </li>
- <% end %>
- </ul>
-<% end %>
-
-
-<% if @requires_admin_requests.size > 0 %>
- <h3>These require administrator attention (<%=@requires_admin_requests.size%> total)</h3>
-
- <ul>
- <% for @request in @requires_admin_requests %>
- <li>
- <%= request_both_links(@request)%>
- &ndash; <%=simple_date(@request.get_last_event.created_at)%>
- </li>
- <% end %>
- </ul>
-<% end %>
-
-<% if @blank_contacts.size > 0 %>
- <h3>Find missing FOI email for these public authorities (try phoning!) (<%=@blank_contacts.size%> total)</h3>
- <ul>
- <% for @blank_contact in @blank_contacts %>
- <li>
- <%= public_body_both_links(@blank_contact)%>
- &ndash; <%=simple_date(@blank_contact.updated_at)%>
- </li>
- <% end %>
- </ul>
-<% end %>
-
-<% if @old_unclassified.size > 0 %>
- <h3>Classify responses that are still unclassified <%=InfoRequest::OLD_AGE_IN_DAYS.inspect %> after response</h3>
-
- <ul>
- <% for @request in @old_unclassified %>
- <li>
- <%= request_both_links(@request) %>
- &ndash; <%=simple_date(@request.get_last_response_event.created_at)%>
- </li>
- <% end %>
- </ul>
-
- <p>(<%= link_to "Full list", admin_url("unclassified") %>, or play public
- <%= link_to "Categorisation game", main_url(play_url(:only_path => true)) %>)
- </p>
-<% end %>
+<hr>
-<% if @holding_pen_messages.size == 0 && @old_unclassified.size == 0 && @requires_admin_requests.size == 0 && @blank_contacts.size == 0 %>
- <p>No pending administration required.</p>
+<div class="row">
+ <div class="span12">
+ <h1>Things to do</h1>
+ </div>
+</div>
+
+<div class="accordion" id="things-to-do">
+ <% if @holding_pen_messages.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#holding-pen" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@holding_pen_messages.size%></span><%= chevron_right %> Put misdelivered responses with the right request</a>
+ </div>
+ <div id="holding-pen" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for message in @holding_pen_messages %>
+ <tr>
+ <td>
+ <% if message.get_body_for_quoting.strip.size == 0 %>
+ <%= link_to "(no body)", admin_request_show_raw_email_path(message.raw_email_id) %>
+ <% else %>
+ <%= link_to excerpt(message.get_body_for_quoting, "", 60), admin_request_show_raw_email_path(message.raw_email_id) %>
+ <% end %>
+ </td>
+ <td class="span2">
+ <%=simple_date(message.sent_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+
+ <% if @error_message_requests.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#error-messages" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@error_message_requests.size%></span> <%= chevron_right %>Fix these delivery and other errors</a>
+ </div>
+ <div id="error-messages" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for @request in @error_message_requests %>
+ <tr>
+ <td class="link">
+ <%= request_both_links(@request) %>
+ </td>
+ <td class="span2">
+ <%=simple_date(@request.info_request_events.last.created_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+
+ <% if @attention_requests.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#attention-messages" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@attention_requests.size%></span><%= chevron_right %> Review requests marked by users as requiring your attention
+</a>
+ </div>
+ <div id="attention-messages" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for @request in @attention_requests %>
+ <tr>
+ <td class="link">
+ <%= request_both_links(@request) %>
+ </td>
+ <td class="span2">
+ <%=simple_date(@request.info_request_events.last.created_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+
+ <% if @requires_admin_requests.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#requires-admin" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@requires_admin_requests.size%></span><%= chevron_right %> These require administrator attention</a>
+ </div>
+ <div id="requires-admin" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for @request in @requires_admin_requests %>
+ <tr>
+ <td class="link">
+ <%= request_both_links(@request) %>
+ </td>
+ <td class="span2">
+ <%=simple_date(@request.info_request_events.last.created_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+
+ <% if @blank_contacts.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#blank-contacts" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@blank_contacts.size%></span><%= chevron_right %> Find missing FOI email for these public authorities (try phoning!)</a>
+ </div>
+ <div id="blank-contacts" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for @blank_contact in @blank_contacts %>
+ <tr>
+ <td class="link">
+ <%= public_body_both_links(@blank_contact) %>
+ </td>
+ <td class="span2">
+ <%=simple_date(@blank_contact.updated_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+
+ <% if @old_unclassified.size > 0 %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a class="accordion-toggle" href="#unclassified" data-toggle="collapse" data-parent="things-to-do"><span class="label label-important"><%=@old_unclassified.size%></span><%= chevron_right %> Classify responses that are still unclassified <%=InfoRequest::OLD_AGE_IN_DAYS.inspect %> after response</a>
+ </div>
+ <div id="unclassified" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% for @request in @old_unclassified %>
+ <tr>
+ <td class="link">
+ <%= request_both_links(@request) %>
+ </td>
+ <td class="span2">
+ <%=simple_date(@request.get_last_response_event.created_at)%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+
+ </table>
+ </div>
+ </div>
+ <% end %>
+</div>
+
+<% if @holding_pen_messages.size == 0 && @old_unclassified.size == 0 && @requires_admin_requests.size == 0 && @blank_contacts.size == 0 && @attention_requests.size == 0 %>
+ <div class="row">
+ <div class="span12 alert alert-success">
+ No pending administration required.
+ </div>
+ </div>
<% end %>
-
-
diff --git a/app/views/admin_general/stats.rhtml b/app/views/admin_general/stats.rhtml
index b22adb581..27dc25ee0 100644
--- a/app/views/admin_general/stats.rhtml
+++ b/app/views/admin_general/stats.rhtml
@@ -1,38 +1,60 @@
<% @title = "Statistics" %>
-
-<h1>Statistics</h1>
-
-<h2>Chart of requests (excluding backpaged)</h2>
-
-<p>
- <img src="<%= main_url("/foi-live-creation.png")%>">
-</p>
-
-<h2>State of requests (includes backpaged)</h2>
-
-<table>
-<% for state, count in @request_by_state %>
-<tr> <td><%=state %></td><td><%= count %></td> </tr>
-<% end %>
-</table>
-
-<h2>Chart of users</h2>
-
-<p>
- <img src="<%= main_url("/foi-user-use.png")%>">
-</p>
-
-<h2>Tracks by type</h2>
-
-<table>
-<% for state, count in @tracks_by_type %>
-<tr> <td><%=state %></td><td><%= count %></td> </tr>
-<% end %>
-</table>
-
-<h2>Web analytics</h2>
-
-
-</p>
-
-
+<div class="hero-unit">
+ <h2><%=@public_body_count%> public authorities</h2>
+ <h2><%=@info_request_count%> requests, <%=@outgoing_message_count%> outgoing messages, <%=@incoming_message_count%> incoming messages</h2>
+ <h2><%=@user_count%> users, <%=@track_thing_count%> tracked things</h2>
+ <h2><%=@comment_count%> annotations</h2>
+</div>
+
+<div class="row">
+ <div class="span12">
+ <h1>Statistics</h1>
+ <h2>Chart of requests (excluding backpaged)</h2>
+ <img src="/foi-live-creation.png" alt="Chart of requests">
+ </div>
+</div>
+<div class="row">
+ <div class="span12">
+ <h2>State of requests (includes backpaged)</h2>
+ <div class="container">
+ <% for state, count in @request_by_state %>
+ <div class="row">
+ <div class="span1">
+ <span class="label label-info"><%=count%></span>
+ </div>
+ <div class="span4">
+ <%=state%>
+ </div>
+ </div>
+ <% end %>
+ </div>
+ </div>
+</div>
+<div class="row">
+ <div class="span12">
+ <h2>Chart of users</h2>
+ <img src="/foi-user-use.png" alt="Chart of users">
+ </div>
+</div>
+<div class="row">
+ <div class="span12">
+ <h2>Tracks by type</h2>
+ <div class="container">
+ <% for state, count in @tracks_by_type %>
+ <div class="row">
+ <div class="span1">
+ <span class="label label-info"><%=count%></span>
+ </div>
+ <div class="span4">
+ <%=state%>
+ </div>
+ </div>
+ <% end %>
+ </div>
+ </div>
+</div>
+<div class="row">
+ <div class="span12">
+ <h2>Web analytics</h2>
+ </div>
+</div>
diff --git a/app/views/admin_general/timeline.rhtml b/app/views/admin_general/timeline.rhtml
index e84539970..8fd8875b6 100644
--- a/app/views/admin_general/timeline.rhtml
+++ b/app/views/admin_general/timeline.rhtml
@@ -1,14 +1,19 @@
<% @title = "Timeline" %>
-
-<h1><%=h @events_title%></h1>
-
-<p>
-<a href="?hour=1">Hour</a>
-| <a href="?day=1">Day</a>
-| <a href="?">2 days</a>
-| <a href="?week=1">Week</a>
-| <a href="?month=1">Month</a>
-| <a href="?all=1">All time</a></p>
+<div class="btn-toolbar">
+ <div class="btn-group">
+ <%= link_to "Hour", admin_timeline_path(:hour => 1), :class => "btn" %>
+ <%= link_to "Day", admin_timeline_path(:day => 1), :class => "btn" %>
+ <%= link_to "2 days", admin_timeline_path, :class => "btn" %>
+ <%= link_to "Week", admin_timeline_path(:week => 1), :class => "btn" %>
+ <%= link_to "Month", admin_timeline_path(:month => 1), :class => "btn" %>
+ <%= link_to "All time", admin_timeline_path(:all => 1), :class => "btn" %>
+ </div>
+</div>
+<div class="row">
+ <div class="span12">
+ <h1><%=h @events_title%></h1>
+ </div>
+</div>
<% last_date = nil %>
<% for event, event_at in @events %>
@@ -72,7 +77,7 @@
<% elsif event.event_type == 'response' %>
<% incoming_message = event.incoming_message %>
received
- <%= link_to 'a response', main_url(incoming_message_url(incoming_message)) %>
+ <%= link_to 'a response', incoming_message_path(incoming_message) %>
from <%=h event.info_request.public_body.name %>.
<% elsif event.event_type == 'sent' %>
was initially sent to <%=h event.params[:email]%> at <%=h event.info_request.public_body.name %>.
@@ -92,8 +97,7 @@
was created/updated by administrator <strong><%=h event.last_edit_editor %></strong>
<% end %>
<% end %>
+<%= will_paginate(@events, :class => 'paginator') %>
<% if not @events.empty? %>
</p>
<% end %>
-<%= will_paginate(@events) %>
-
diff --git a/app/views/admin_public_body/_form.rhtml b/app/views/admin_public_body/_form.rhtml
index 0d6ae51e2..3f346842c 100644
--- a/app/views/admin_public_body/_form.rhtml
+++ b/app/views/admin_public_body/_form.rhtml
@@ -3,63 +3,97 @@
<!--[form:public_body]-->
<div id="div-locales">
- <ul>
- <% for locale in I18n.available_locales do %>
- <li><a href="#div-locale-<%=locale.to_s%>"><%=locale_name(locale.to_s)%></a></li>
- <% end %>
- </ul>
-
-<%
+ <ul class="locales nav nav-tabs">
+ <% I18n.available_locales.each_with_index do |locale, i| %>
+ <li><a href="#div-locale-<%=locale.to_s%>" data-toggle="tab" ><%=locale_name(locale.to_s) || _("Default locale")%></a></li>
+ <% end %>
+ </ul>
+ <div class="tab-content">
+<%
for locale in I18n.available_locales do
if locale==I18n.default_locale # The default locale is submitted as part of the bigger object...
prefix = 'public_body'
object = @public_body
else # ...but additional locales go "on the side"
prefix = "public_body[translated_versions][]"
- object = @public_body.new_record? ?
- PublicBody::Translation.new :
+ object = @public_body.new_record? ?
+ PublicBody::Translation.new :
@public_body.translation(locale.to_s) || PublicBody::Translation.new
end
fields_for prefix, object do |t|
%>
- <div id="div-locale-<%=locale.to_s%>">
+ <div class="tab-pane" id="div-locale-<%=locale.to_s%>">
+ <div class="control-group">
<%= t.hidden_field :locale, :value => locale.to_s %>
-
- <p><label for="<%= form_tag_id(t.object_name, :name, locale) %>">Name</label><br/>
- <%= t.text_field :name, :size => 60, :id => form_tag_id(t.object_name, :name, locale) %></p>
-
- <p><label for="<%= form_tag_id(t.object_name, :short_name, locale) %>">Short name <small>(only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL - don't worry about breaking URLs through renaming, as the history is used to redirect)</small></label><br/>
- <%= t.text_field :short_name, :size => 60, :id => form_tag_id(t.object_name, :short_name, locale) %></p>
-
- <p><label for="<%= form_tag_id(t.object_name, :request_email, locale) %>">Request email <small>(set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA)</small></label><br/>
- <%= t.text_field :request_email, :size => 40, :id => form_tag_id(t.object_name, :request_email, locale) %></p>
-
- <p><label for="<%= form_tag_id(t.object_name, :publication_scheme, locale) %>">Publication scheme URL</label><br/>
- <%= t.text_field :publication_scheme, :size => 60, :id => form_tag_id(t.object_name, :publication_scheme, locale) %></p>
-
- <p><label for="<%= form_tag_id(t.object_name, :disclosure_log, locale) %>">Disclosure log URL</label><br/>
- <%= t.text_field :disclosure_log, :size => 60, :id => form_tag_id(t.object_name, :disclosure_log, locale) %></p>
-
- <p><label for="<%= form_tag_id(t.object_name, :notes, locale) %>">Public notes</label> <small>(HTML, for users to consider when making FOI requests to the authority)</small><br/>
- <%= t.text_area :notes, :rows => 3, :cols => 60, :id => form_tag_id(t.object_name, :notes, locale) %></p>
+ <label for="<%= form_tag_id(t.object_name, :name, locale) %>" class="control-label">Name</label>
+ <div class="controls">
+ <%= t.text_field :name, :id => form_tag_id(t.object_name, :name, locale), :class => "span4" %>
+ </div>
+ </div>
+ <div class="control-group">
+ <label for="<%= form_tag_id(t.object_name, :short_name, locale) %>", class="control-label"><%=_("Short name")%></label>
+ <div class="controls">
+ <%= t.text_field :short_name, :id => form_tag_id(t.object_name, :short_name, locale), :class => "span2" %>
+ <p class="help-block"><%=_("Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect")%></p>
+ </div>
+ </div>
+ <div class="control-group">
+ <label for="<%= form_tag_id(t.object_name, :request_email, locale) %>" class="control-label"><%=_("Request email")%></label>
+ <div class="controls">
+ <%= t.text_field :request_email, :id => form_tag_id(t.object_name, :request_email, locale), :class => "span3" %>
+ <p class="help-block"><%=_("set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA")%></p>
+ </div>
+ </div>
+ <div class="control-group">
+ <label for="<%= form_tag_id(t.object_name, :publication_scheme, locale) %>" class="control-label"><%=_("Publication scheme URL")%></label>
+ <div class="controls">
+ <%= t.text_field :publication_scheme, :size => 60, :id => form_tag_id(t.object_name, :publication_scheme, locale), :class => "span3" %>
+ </div>
+ </div>
+ <div class="control-group">
+ <label for="<%= form_tag_id(t.object_name, :disclosure_log, locale) %>" class="control-label"><%=_("Disclosure log URL")%></label>
+ <div class="controls">
+ <%= t.text_field :disclosure_log, :size => 60, :id => form_tag_id(t.object_name, :disclosure_log, locale), :class => "span3" %>
+ </div>
+ </div>
+ <div class="control-group">
+ <label for="<%= form_tag_id(t.object_name, :notes, locale) %>" class="control-label"><%=_("Public notes")%></label>
+ <div class="controls">
+ <%= t.text_area :notes, :rows => 3, :id => form_tag_id(t.object_name, :notes, locale), :class => "span6" %>
+ <p class="help-block">
+ HTML, for users to consider when making FOI requests to the authority
+ </p>
+ </div>
+ </div>
</div>
-<%
+<%
end
- end
+ end
%>
+ </div>
</div>
<h3>Common Fields</h3>
-
-<p><label for="public_body_tag_string">Tags <small>(space separated; see list of tags on the right; also <strong>not_apply</strong> if FOI and EIR no longer apply to authority, <strong>eir_only</strong> if EIR but not FOI applies to authority, <strong>defunct</strong> if the authority no longer exists; charity:NUMBER if a registered charity)</small></label><br/>
-
-<%= text_field :public_body, :tag_string, :size => 60, :id => 'public_body_tag_string' %></p>
-
-<p><label for="public_body_home_page">Home page <small>(of whole authority, not just their FOI page; set to <strong>blank</strong> (empty string) to guess it from the email)</small></label><br/>
-<%= text_field :public_body, :home_page, :size => 60, :id => 'public_body_home_page' %></p>
-
-<p><label for="public_body_last_edit_comment"><strong>Comment</strong> for this edit</label> <small>(put URL or other source of new info)</small><br/>
-<%= text_area :public_body, :last_edit_comment, :rows => 3, :cols => 60, :id => 'public_body_last_edit_comment' %></p>
-
+<div class="control-group">
+ <label for="public_body_tag_string" class="control-label"><%=_("Tags")%></label>
+ <div class="controls">
+ <%= f.text_field :tag_string, :class => "span4" %>
+ <p class="help-block">space separated; see list of tags on the right; also <strong>not_apply</strong> if FOI and EIR no longer apply to authority, <strong>eir_only</strong> if EIR but not FOI applies to authority, <strong>defunct</strong> if the authority no longer exists; charity:NUMBER if a registered charity</p>
+ </div>
+</div>
+<div class="control-group">
+ <label for="public_body_home_page"><%=_("Home page")%></label>
+ <div class="controls">
+ <%= f.text_field :home_page, :class => "span4" %>
+ <p class="help-block">(of whole authority, not just their FOI page; set to <strong>blank</strong> (empty string) to guess it from the email)</p>
+ </div>
+</div>
+<div class="control-group">
+ <label for="public_body_last_edit_comment" class="control-label"><strong>Comment</strong> for this edit</label>
+ <div class="controls">
+ <%= f.text_area :last_edit_comment, :rows => 3, :class => "span6" %></p>
+ <p class="help-block">put URL or other source of new info</p>
+ </div>
+</div>
<!--[eoform:public_body]-->
diff --git a/app/views/admin_public_body/_locale_selector.rhtml b/app/views/admin_public_body/_locale_selector.rhtml
deleted file mode 100644
index 5ef79f2df..000000000
--- a/app/views/admin_public_body/_locale_selector.rhtml
+++ /dev/null
@@ -1,10 +0,0 @@
-<div id="locale_switcher">
-<%= _('Edit language version:') %>
-<% for possible_locale in @locales %>
- <% if possible_locale == @locale %>
- <%= possible_locale %>
- <% else %>
- <a href="?show_locale=<%=possible_locale%>"><%= possible_locale %></a>
- <% end %>
-<% end %>
-</div>
diff --git a/app/views/admin_public_body/_one_list.rhtml b/app/views/admin_public_body/_one_list.rhtml
index e0d2399d0..d8746bae7 100644
--- a/app/views/admin_public_body/_one_list.rhtml
+++ b/app/views/admin_public_body/_one_list.rhtml
@@ -1,29 +1,44 @@
-<table>
- <tr>
- <th>Name</th>
- <th>Tags</th>
- <% for column in PublicBody.content_columns.map { |c| c.human_name } - [ "Name", "Last edit comment" ] %>
- <th><%= column %></th>
- <% end %>
- </tr>
-<% for public_body in bodies %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%= public_body_both_links(public_body) %></td>
- <td><%= render :partial => 'tags', :locals => { :body => public_body} %></td>
- <% for column in PublicBody.content_columns.map { |c| c.name } - [ "name", "last_edit_comment" ] %>
- <td><%=h public_body.send(column) %></td>
+<div class="accordion" id="bodies">
+ <% for public_body in bodies %>
+ <div class="accordion-group">
+ <div class="accordion-heading accordion-toggle row">
+ <span class="item-title span6">
+ <a href="#body_<%=public_body.id%>" data-toggle="collapse" data-parent="requests"><%= chevron_right %></a>
+ <%= link_to(public_body.name, admin_body_show_path(public_body), :title => "view full details")%>
+ </span>
+ <span class="item-metadata span6">
+ <%= render :partial => 'tags', :locals => { :body => public_body} %>
+ </span>
+ </div>
+ <div id="body_<%=public_body.id%>" class="item-detail accordion-body collapse row">
+ <% public_body.for_admin_column do |name, value, type| %>
+ <div>
+ <span class="span6">
+ <b><%=name%></b>
+ </span>
+ <span class="span6">
+ <% if type == 'datetime' %>
+ <%= I18n.l(value, :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(value)) %>)
+ <% else %>
+ <%= h value %>&nbsp;
+ <% end %>
+ </span>
+ </div>
+ <% end %>
+ </div>
+ </div>
<% end %>
- </tr>
-<% end %>
-</table>
+</div>
-<% form_tag(admin_url("body/mass_tag_add"), :method => "post", :class => "forms_on_one_line" ) do %>
+<% form_tag(admin_body_mass_tag_add_url, :method => "post", :class => "form form-inline" ) do %>
<p>
<%= text_field_tag 'new_tag', params[:new_tag], { :size => 15, :id => "mass_add_tag_new_tag_" + table_name } %>
<%= hidden_field_tag(:query, params[:query], { :id => "mass_add_tag_query_" + table_name } ) %>
<%= hidden_field_tag(:page, params[:page], { :id => "mass_add_page_" + table_name } ) %>
<%= hidden_field_tag(:table_name, table_name, { :id => "mass_add_tag_table_name_" + table_name } ) %>
- <%= submit_tag "Add tag to all" %> (in table just above)
+ <%= submit_tag "Add tag to all", :class => "btn btn-primary" %>
+ (in table just above)
</p>
<% end %>
diff --git a/app/views/admin_public_body/_tag_help.rhtml b/app/views/admin_public_body/_tag_help.rhtml
index 0d0f84dda..b64e65877 100644
--- a/app/views/admin_public_body/_tag_help.rhtml
+++ b/app/views/admin_public_body/_tag_help.rhtml
@@ -1,18 +1,16 @@
-<div id="tag_help">
- <h2>List of tags</h2>
- <% first_row = true %>
- <% for row in PublicBodyCategories::get().with_headings() %>
- <% if row.instance_of?(Array) %>
- <% if row[0] != 'other' %>
- <strong><%= row[0] %></strong>=<%= row[1] %>
- <br/>
- <% end %>
- <% elsif row != 'Miscellaneous' %>
- <% if not first_row %>
- <% else %>
- <% first_row = false %>
- <% end %>
- <h3><%=h row%></h3>
+<h2>List of tags</h2>
+<% first_row = true %>
+<% for row in PublicBodyCategories::get().with_headings() %>
+ <% if row.instance_of?(Array) %>
+ <% if row[0] != 'other' %>
+ <strong><%= row[0] %></strong>=<%= row[1] %>
+ <br/>
<% end %>
+ <% elsif row != 'Miscellaneous' %>
+ <% if not first_row %>
+ <% else %>
+ <% first_row = false %>
+ <% end %>
+ <h3><%=h row%></h3>
<% end %>
-</div> \ No newline at end of file
+<% end %>
diff --git a/app/views/admin_public_body/_tags.rhtml b/app/views/admin_public_body/_tags.rhtml
index 85dc942fd..26526f304 100644
--- a/app/views/admin_public_body/_tags.rhtml
+++ b/app/views/admin_public_body/_tags.rhtml
@@ -1,10 +1,11 @@
<% for t in body.tags %>
+ <span class="label label-info tag">
<% if t.value %>
- <%= link_to(h(t.name), main_url(list_public_bodies_url(:tag => t.name, :only_path => true))) %>:<%= link_to(h(t.value), main_url(list_public_bodies_url(:tag => t.name_and_value, :only_path => true))) %>
+ <%= link_to(h(t.name), list_public_bodies_path(:tag => t.name)) %>:<%= link_to(h(t.value), list_public_bodies_path(:tag => t.name_and_value)) %>
<% else %>
- <%= link_to(h(t.name), main_url(list_public_bodies_url(:tag => t.name, :only_path => true))) %>
+ <%= link_to(h(t.name), list_public_bodies_path(:tag => t.name)) %>
<% end %>
- (<a href="<%= admin_url('body/list') %>?query=<%= h(t.name)%>">admin</a>)
+ </span>
<% end %>
diff --git a/app/views/admin_public_body/edit.rhtml b/app/views/admin_public_body/edit.rhtml
index b19477a6b..eb0c45f19 100644
--- a/app/views/admin_public_body/edit.rhtml
+++ b/app/views/admin_public_body/edit.rhtml
@@ -1,30 +1,34 @@
<h1><%=@title%></h1>
-<script type="text/javascript">
- $(function() {
- $("#div-locales").tabs();
- });
-</script>
-
-<%= render :partial => 'tag_help' %>
-
-<div id="public_body_form">
- <% form_tag '../update/' + @public_body.id.to_s do %>
- <%= render :partial => 'form' %>
- <p><%= submit_tag 'Save', :accesskey => 's' %></p>
- <% end %>
+<div class="row">
+ <div class="span8">
+ <div id="public_body_form">
+ <% form_for @public_body, :url => admin_body_update_path(@public_body), :html => { :class => "form form-horizontal" } do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f} %>
+ <div class="form-actions">
+ <%= f.submit 'Save', :accesskey => 's', :class => "btn btn-success" %></p>
+ </div>
+ <% end %>
- <p>
- <%= link_to 'Show', '../show/' + @public_body.id.to_s %> |
- <%= link_to 'List all', '../list' %>
- </p>
+ <div class="row">
+ <div class="span8">
+ <div class="well">
+ <%= link_to 'Show', admin_body_show_path(@public_body), :class => "btn" %>
+ <%= link_to 'List all', admin_body_list_path, :class => "btn" %>
+ </div>
+ </div>
+ </div>
- <% if @public_body.info_requests.size == 0 %>
- <% form_tag('../destroy/' + @public_body.id.to_s) do %>
- <p>
- <%= hidden_field_tag(:public_body_id, { :value => @public_body.id } ) %>
- <%= submit_tag "Destroy " + @public_body.name %> (this is permanent!)
- </p>
+ <% if @public_body.info_requests.empty? %>
+ <% form_tag(admin_body_destroy_path(@public_body), :class => "form form-inline") do %>
+ <%= hidden_field_tag(:public_body_id, { :value => @public_body.id } ) %>
+ <%= submit_tag _("Destroy {{name}}", :name => @public_body.name), :class => "btn btn-danger" %> (this is permanent!)
<% end %>
- <% end %>
+ <% end %>
+ </div>
+
+ </div>
+ <div class="span4">
+ <%= render :partial => 'tag_help' %>
+ </div>
</div>
diff --git a/app/views/admin_public_body/import_csv.rhtml b/app/views/admin_public_body/import_csv.rhtml
index 1c6100838..bfe1b0c3b 100644
--- a/app/views/admin_public_body/import_csv.rhtml
+++ b/app/views/admin_public_body/import_csv.rhtml
@@ -11,16 +11,16 @@
<% form_tag 'import_csv', :multipart => true do %>
<p>
- <% if @original_csv_file && @temporary_csv_file %>
- CSV file:
- <%= @original_csv_file %>
- <%= hidden_field_tag :original_csv_file, @original_csv_file %>
- <%= hidden_field_tag :temporary_csv_file, @temporary_csv_file %>
- <%= link_to 'Clear current file', 'import_csv', :class => "btn btn-warning" %>
- <% else %>
- <label for="csv_file">CSV file:</label>
- <%= file_field_tag :csv_file, :size => 40 %>
- <% end %>
+ <% if @original_csv_file && @temporary_csv_file %>
+ CSV file:
+ <%= @original_csv_file %>
+ <%= hidden_field_tag :original_csv_file, @original_csv_file %>
+ <%= hidden_field_tag :temporary_csv_file, @temporary_csv_file %>
+ <%= link_to 'Clear current file', 'import_csv', :class => "btn btn-warning" %>
+ <% else %>
+ <label for="csv_file">CSV file:</label>
+ <%= file_field_tag :csv_file, :size => 40 %>
+ <% end %>
</p>
<p>
@@ -32,14 +32,15 @@
<label for="tag_behaviour">What to do with existing tags?</label>
<%= select_tag 'tag_behaviour',
"<option value='add' selected>Add new tags to existing ones</option>
- <option value='replace'>Replace existing tags with new ones</option>".html_safe
+ <option value='replace'>Replace existing tags with new ones</option>"
%>
</p>
- <p><strong>CSV file format:</strong> A first row with the list of fields,
- starting with '#', is optional but highly recommended. The fields 'name'
- and 'request_email' are required; additionally, translated values are supported by
- adding the locale name to the field name, e.g. 'name.es', 'name.de'... Example:
+ <p><strong>CSV file format:</strong>The first row should be a list
+ of fields, starting with '#'. The fields 'name' and
+ 'request_email' are required; additionally, translated values are
+ supported by adding the locale name to the field name,
+ e.g. 'name.es', 'name.de'... Example:
</p>
<blockquote>
@@ -57,7 +58,7 @@
actually altering the database. Choose <strong>upload</strong> to actually
make the changes. In either case, you will be shown any errors, or details
of the changes. When uploading, any changes since last import will be
- overwritten - e.g. email addresses changed back.
+ overwritten – e.g. email addresses changed back.
</p>
<p><strong>Note:</strong> The import tag will also be added to the imported bodies
diff --git a/app/views/admin_public_body/list.rhtml b/app/views/admin_public_body/list.rhtml
index c28060604..acc05f50d 100644
--- a/app/views/admin_public_body/list.rhtml
+++ b/app/views/admin_public_body/list.rhtml
@@ -1,24 +1,27 @@
<% if @query.nil? %>
- <% @title = 'Listing public authorities' %>
+ <% @title = _('Listing public authorities') %>
<% else %>
- <% @title = "Listing public authorities matching '" + @query + "'" %>
+ <% @title = _("Listing public authorities matching '{{query}}'", :query => @query ) %>
<% end %>
<h1><%=@title%></h1>
-<p>
+<div class="btn-toolbar">
+ <div class="btn-group">
+ <%= link_to 'New public authority', admin_body_new_path, :class => "btn btn-primary" %>
+ </div>
+ <div class="btn-group">
+ <%= link_to 'Import from CSV file', admin_body_import_csv_path, :class => "btn btn-warning" %>
+ </div>
+</div>
+
+<% form_tag({}, :method => "get", :class => "form form-search") do %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :class => "input-large search-query" } %>
+ <%= submit_tag "Search", :class => "btn" %>
<% if !@query.nil? %>
- <%= link_to 'Show all', 'list' %> |
- <% end %>
- <%= link_to 'New public authority', 'new' %>
- | <%= link_to 'Import from CSV file', 'import_csv' %>
-</p>
-
-<% form_tag("", :method => "get") do %>
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
- <%= submit_tag "Search" %> (substring search in names and emails; exact match of tags)
- </p>
+ <%= link_to 'Show all', admin_body_list_path, :class => "btn" %>
+ <% end %><br>
+ (substring search in names and emails; exact match of tags)
<% end %>
@@ -32,9 +35,9 @@
<h2>All authorities</h2>
<% else %>
<h2>Substring search matches (<%= @public_bodies.total_entries %> total)</h2>
+
<% end %>
<%= render :partial => 'one_list', :locals => { :bodies => @public_bodies, :table_name => 'substring' } %>
<% end %>
-<%= will_paginate(@public_bodies) %>
-
+<%= will_paginate(@public_bodies, :class => "paginator") %>
diff --git a/app/views/admin_public_body/new.rhtml b/app/views/admin_public_body/new.rhtml
index 047d5a5bb..6ead1810c 100644
--- a/app/views/admin_public_body/new.rhtml
+++ b/app/views/admin_public_body/new.rhtml
@@ -1,22 +1,23 @@
<% @title = 'New public authority' %>
<h1><%=@title%></h1>
-
-<script type="text/javascript">
- $(function() {
- $("#div-locales").tabs();
- });
-</script>
-
-<%= render :partial => 'tag_help' %>
-
-<div id="public_body_form">
- <% form_tag './create/' + @public_body.id.to_s do %>
- <%= render :partial => 'form' %>
- <p><%= submit_tag "Create" %></p>
- <% end %>
-
- <p>
- <%= link_to 'List all', 'list' %>
- </p>
+<div class="row">
+ <div class="span8">
+ <div id="public_body_form">
+ <% form_for :public_body, @public_body, :url => admin_body_create_path, :html => {:class => "form form-horizontal"} do |f| %>
+ <%= render :partial => 'form', :locals => {:f => f} %>
+ <div class="form-actions">
+ <%= f.submit "Create", :class => "btn btn-primary" %>
+ </div>
+ <% end %>
+ <div class="row">
+ <div class="span8 well">
+ <%= link_to _('List all'), 'list' %>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="span4">
+ <%= render :partial => 'tag_help' %>
+ </div>
</div>
diff --git a/app/views/admin_public_body/show.rhtml b/app/views/admin_public_body/show.rhtml
index cee306988..cfb10b24e 100644
--- a/app/views/admin_public_body/show.rhtml
+++ b/app/views/admin_public_body/show.rhtml
@@ -1,83 +1,89 @@
-<% @title = "Public authority - " + h(@public_body.name) %>
+<% @title = _("Public authority – {{name}}", :name => h(@public_body.name)) %>
<h1><%=@title%></h1>
-<p>
-<%
- columns = PublicBody.content_columns + [] # force dup
- columns.delete_if {|c| ['last_edit_comment'].include?(c.name)}
-
- for column in columns %>
- <b><%= column.human_name %>:</b>
- <% if ['home_page', 'publication_scheme', 'disclosure_log'].include? column.name %>
- <%= link_to(h(@public_body.send(column.name)), @public_body.send(column.name)) %>
- <% elsif column.name == 'request_email' %>
- <%= link_to(h(@public_body.send(column.name)), "mailto:#{@public_body.send(column.name)}") %>
- <% if !@public_body.is_requestable? %>
- (not requestable due to: <%=h @public_body.not_requestable_reason %><% if @public_body.is_followupable? %>; but followupable<% end %>)
- <% end %>
- <% else %>
- <%=h @public_body.send(column.name) %>
- <% end %>
- <br/>
-<% end %>
-<b>Calculated home page:</b>
-<% if !@public_body.calculated_home_page.nil? %>
- <%= link_to(h(@public_body.calculated_home_page), @public_body.calculated_home_page) %>
+<table class="table table-striped table-condensed">
+ <tbody>
+ <% @public_body.for_admin_column do |name, value, type, column_name| %>
+ <tr>
+ <td>
+ <b><%=name%></b>
+ </td>
+ <td>
+ <% if ['home_page', 'publication_scheme', 'disclosure_log'].include? column_name %>
+ <%= link_to(h(value), value) %>
+ <% elsif column_name == 'request_email' %>
+ <%= link_to(h(value), "mailto:#{value}") %>
+ <% unless @public_body.is_requestable? %>
+ <%=_("not requestable due to: {{reason}}", :reason => h(@public_body.not_requestable_reason))%><% if @public_body.is_followupable? %>; <%=_("but followupable")%><% end %>
+ <% end %>
+ <% else %>
+ <%=h value %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ <tr>
+ <td>
+ <b><%=_("Calculated home page")%></b>
+ </td>
+ <td>
+ <% unless @public_body.calculated_home_page.nil? %>
+ <%= link_to(h(@public_body.calculated_home_page), @public_body.calculated_home_page) %>
+ <% else %>
+ <%=_("*unknown*")%>
+ <% end %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <b><%=_("Tags")%></b>
+ </td>
+ <td>
+ <%= render :partial => 'tags', :locals => { :body => @public_body} %>
+ </td>
+ </tr>
+ </tbody>
+</table>
+<%= link_to _("Edit"), admin_body_edit_path(@public_body), :class => "btn btn-primary" %>
+<% unless @public_body.url_name.nil? %>
+ <%=link_to _("Public page"), public_body_path(@public_body), :class => "btn" %>
<% else %>
- *unknown*
+ <%=_("Public page not available")%>
<% end %>
-<br/><b>Tags:</b> <%= render :partial => 'tags', :locals => { :body => @public_body} %>
-<br/>
-</p>
-
-<p>
- <%=
- # url_name can be missing if the name hasn't been set for this locale
- if !@public_body.url_name.nil?
- link_to 'Public page', main_url(public_body_url(@public_body))
- else
- 'Public page not available'
- end
- %>
- | <%= link_to 'Edit', '../edit/' + @public_body.id.to_s %>
-</p>
-
+<hr>
<h2>History</h2>
-<table border="1">
-<tr>
-<th>Updated at</th>
-<%
- history_columns = PublicBody.content_columns + [] # force dup
- history_columns.delete_if {|c| ['created_at', 'updated_at', 'first_letter', 'api_key'].include?(c.name)}
- for column in history_columns %>
- <th><%= column.human_name %></th>
-<% end %>
-</tr>
<%# There may be an option to versions() to specify order, but I can't find it. TB 2009-03-09 %>
-<% for historic_public_body in @public_body.reverse_sorted_versions %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h historic_public_body.updated_at %></td>
- <% for column in history_columns %>
- <%
- value = h(historic_public_body.send(column.name))
- if column.name == 'last_edit_comment'
- value = historic_public_body.last_edit_comment_for_html_display
- end
- # Highlight entries which have changed since previous version
- changed = (!['version', 'last_edit_editor', 'last_edit_comment'].include?(column.name)) && ((historic_public_body.send(column.name) != @public_body.sorted_versions[historic_public_body.version - 2].send(column.name)) || (historic_public_body.version == 1)) %>
- <td <%= changed ? ' class="entry_changed" '.html_safe: '' %> >
- <%=value%>
- </td>
+<% versions = @public_body.reverse_sorted_versions; versions.each_with_index do |historic_public_body, i| %>
+ <div class="row">
+ <div class="span2">
+ <b>
+ <%= _("Version {{version}}", :version => historic_public_body.version)%>
+ </b>
+ </div>
+ <div class="span4">
+ <%= I18n.l(historic_public_body.updated_at, :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(historic_public_body.updated_at)) %>)
+ </div>
+ <% if i == versions.length - 1 %>
+ <div class="span6">
+ <%=_("This is the first version.")%>
+ </div>
+ <% else %>
+ <div class="span6">
+ <p>“<%= h(historic_public_body.last_edit_comment) %>”</p>
+ <ul>
+ <% historic_public_body.compare(versions[i+1]) do |change| %>
+ <li><%= _("{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>", :thing_changed => change[:name], :from_value => (change[:from] or "-"), :to_value => (change[:to] or "-")) %></li>
+ <% end %>
+ </ul>
+ </div>
<% end %>
- </tr>
+ </div>
<% end %>
-</table>
-
+<hr>
<h2>Requests</h2>
<%= render :partial => 'admin_request/some_requests', :locals => { :info_requests => @public_body.info_requests } %>
-
+<hr>
<h2>Track things</h2>
-<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @public_body.track_things } %>
-
-
+<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @public_body.track_things, :include_destroy => true } %>
diff --git a/app/views/admin_request/_incoming_message_actions.rhtml b/app/views/admin_request/_incoming_message_actions.rhtml
index 569132861..84c29dcc3 100644
--- a/app/views/admin_request/_incoming_message_actions.rhtml
+++ b/app/views/admin_request/_incoming_message_actions.rhtml
@@ -1,26 +1,45 @@
-<% form_tag '../redeliver_incoming' do %>
- <div>
- id or url_title of request (or a list of requests, comma-separated):
+<fieldset class="form-horizontal">
+ <legend>Actions</legend>
+ <% form_tag admin_request_redeliver_incoming_path, :class => "form form-inline" do %>
+ <div class="control-group">
+ <label class="control-label" for="url_title_<%= incoming_message.id %>">Redeliver message to one or more other requests</label>
+ <div class="controls">
<% if @info_requests && @info_requests.size == 1 %>
- <%= text_field_tag 'url_title', @info_requests[0].url_title, { :size => 20 } %>
+ <%= text_field_tag 'url_title', @info_requests[0].url_title, { :size => 20, :id => "url_title_#{incoming_message.id}" } %>
<% else %>
- <%= text_field_tag 'url_title', "", { :size => 20 } %>
+ <%= text_field_tag 'url_title', "", { :size => 20, :id => "url_title_#{incoming_message.id}" } %>
<% end %>
- <%= hidden_field_tag 'redeliver_incoming_message_id', incoming_message.id %>
- <%= submit_tag "Redeliver to another request" %>
+ <%= hidden_field_tag 'redeliver_incoming_message_id', incoming_message.id, :id => nil %>
+ <%= submit_tag "Redeliver to another request", :class => "btn" %>
+ <p class="help-block"><code>id</code> or <code>url_title</code>; you can supply more than one, separated by commas</p>
</div>
-<% end %>
-
-<p>
-<%= link_to 'FOI officer upload URL', '../generate_upload_url/' + incoming_message.info_request.id.to_s + "?incoming_message_id=" + incoming_message.id.to_s %>
-</p>
+ </div>
+ <% end %>
+ <div class="control-group">
+ <label class="control-label">Generate FOI officer upload URL</label>
+ <div class="controls">
+ <%= link_to 'Generate and take me there', admin_request_generate_upload_url_path(incoming_message.info_request, :incoming_message_id => incoming_message.id), :class => "btn" %>
+ </div>
+ </div>
-<% form_tag '../destroy_incoming' do %>
- <div>
- <%= hidden_field_tag 'incoming_message_id', incoming_message.id %>
- Warning, this is permanent! ---&gt;
- <%= submit_tag "Destroy message" %>
+ <% form_tag admin_request_destroy_incoming_path, :class => "form form-inline" do %>
+ <div class="control-group">
+ <label class="control-label" for="destroy_message_<%= incoming_message.id %>">Destroy message</label>
+ <div class="controls">
+ <%= hidden_field_tag 'incoming_message_id', incoming_message.id, :id => nil %>
+ <%= submit_tag "Destroy message", :class => "btn btn-danger", :confirm => "This is permanent! Are you sure?", :id => "destroy_message_#{incoming_message.id}" %>
+ </div>
</div>
-<% end %>
+ <% end %>
+ <% if @raw_email.nil? %>
+ <%# we're not on the raw_email page itself %>
+ <div class="control-group">
+ <label class="control-label">Inspect email</label>
+ <div class="controls">
+ <%= link_to "View raw email", admin_request_show_raw_email_path(incoming_message.raw_email_id), :class => "btn" %>
+ </div>
+ </div>
+ <% end %>
+</fieldset>
diff --git a/app/views/admin_request/_some_requests.rhtml b/app/views/admin_request/_some_requests.rhtml
index dc11e0f55..cff94956d 100644
--- a/app/views/admin_request/_some_requests.rhtml
+++ b/app/views/admin_request/_some_requests.rhtml
@@ -1,31 +1,32 @@
-<table>
- <tr>
- <th>Title</th>
- <th>Authority</th>
- <th>User</th>
- <% for column in InfoRequest.content_columns.map { |c| c.human_name } - [ "Url title", "Title" ] %>
- <th><%= column %></th>
+<div class="accordion" id="requests">
+ <% for info_request in info_requests %>
+ <div class="accordion-group">
+ <div class="accordion-heading accordion-toggle row">
+ <span class="item-title span6">
+ <a href="#request_<%=info_request.id%>" data-toggle="collapse" data-parent="requests"><%= chevron_right %></a>
+ <%= link_to(info_request.title, admin_request_show_path(info_request), :title => "view full details") %>
+ </span>
+ <span class="item-metadata span6">
+ <%= user_admin_link_for_request(info_request) %> <%= arrow_right %> <%= link_to("#{info_request.public_body.name}", admin_body_show_path(info_request.public_body)) %>, <%= time_ago_in_words(info_request.updated_at) %> ago
+ </span>
+ </div>
+ <div id="request_<%=info_request.id%>" class="item-detail accordion-body collapse row">
+ <% info_request.for_admin_column do | name, value, type | %>
+ <div>
+ <span class="span6">
+ <%= h name %>
+ </span>
+ <span class="span6">
+ <% if type == 'datetime' %>
+ <%= I18n.l(value, :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(value)) %>)
+ <% else %>
+ <%=h value %>
+ <% end %>
+ </span>
+ </div>
+ <% end %>
+ </div>
+ </div>
<% end %>
- </tr>
-
-<% for info_request in info_requests %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%= request_both_links(info_request) %></td>
- <td><%= public_body_both_links(info_request.public_body) %></td>
- <% if info_request.is_external? %>
- <% if info_request.external_user_name.nil? %>
- <td><i><%= _("Anonymous user") %></i></td>
- <% else %>
- <td><%= h(info_request.external_user_name) %></td>
- <% end %>
- <% else %>
- <td><%= user_both_links(info_request.user) %></td>
- <% end %>
- <% for column in InfoRequest.content_columns.map { |c| c.name } - [ "title", "url_title" ] %>
- <td><%=h info_request.send(column) %></td>
- <% end %>
- </tr>
-<% end %>
-</table>
-
-
+</div>
diff --git a/app/views/admin_request/edit.rhtml b/app/views/admin_request/edit.rhtml
index 8fa2a1fe2..1cf5d4f12 100644
--- a/app/views/admin_request/edit.rhtml
+++ b/app/views/admin_request/edit.rhtml
@@ -2,7 +2,7 @@
<%= error_messages_for 'info_request' %>
-<% form_tag '../update/' + @info_request.id.to_s do %>
+<% form_tag admin_request_update_path(@info_request) do %>
<p><label for="info_request_title"><strong>Title</strong></label> (warning: editing this will break URLs right now)<br/>
<%= text_field 'info_request', 'title', :size => 50 %></p>
@@ -22,16 +22,14 @@
</p>
<p><label for="info_request_described_state"><strong>Described state</strong></label>
- <%= select( 'info_request', "described_state", InfoRequest.enumerate_states ) %>;
+ <%= select( 'info_request', "described_state", InfoRequest.enumerate_states) %>
<label for="info_request_awaiting_description"><strong>Awaiting description</strong></label>
- <%= select('info_request', "awaiting_description", [["Yes - needs state updating",true],["No - state is up to date",false]]) %>
+ <%= select('info_request', "awaiting_description", [["Yes – needs state updating",true],["No – state is up to date",false]]) %>
<br/>(don't forget to change 'awaiting description' when you set described state)<br/>
</p>
-
- <p><label for="info_request_comments_allowed"><strong>Are comments allowed?</strong></label>
- <%= select('info_request', "comments_allowed", [["Yes – comments allowed", true], ["No – comments disabled", false]]) %>
- </p>
-
+ <p><label for="info_request_comments_allowed"><strong>Are comments allowed?</strong></label>
+ <%= select('info_request', "comments_allowed", [["Yes – comments allowed", true], ["No – comments disabled", false]]) %>
+ </p>
<p><label for="info_request_tag_string"><strong>Tags</strong> <small>(space separated, can use key:value)</small></label><br/>
<%= text_field 'info_request', 'tag_string', :size => 60 %></p>
@@ -45,13 +43,13 @@
<% end %>
<p>
-<%= link_to 'Show', '../show/' + @info_request.id.to_s %> |
-<%= link_to 'List all', '../list' %>
+<%= link_to 'Show', admin_request_show_path(@info_request) %> |
+<%= link_to 'List all', admin_request_list_path %>
</p>
<hr>
-<% form_tag '../destroy/' + @info_request.id.to_s do %>
+<% form_tag admin_request_destroy_path(@info_request) do %>
<p>
<strong>This is permanent and irreversible!</strong> <%= submit_tag 'Destroy request entirely' %>
<br>Use it mainly if someone posts private information, e.g. made a Data Protection request. It
diff --git a/app/views/admin_request/edit_comment.rhtml b/app/views/admin_request/edit_comment.rhtml
index ee43e849a..07031f5f2 100644
--- a/app/views/admin_request/edit_comment.rhtml
+++ b/app/views/admin_request/edit_comment.rhtml
@@ -2,13 +2,13 @@
<%= error_messages_for 'comment' %>
-<% form_tag '../update_comment/' + @comment.id.to_s do %>
+<% form_tag admin_request_update_comment_path(@comment) do %>
<p><label for="comment_body">Body of annotation</label><br/>
<%= text_area 'comment', 'body', :rows => 10, :cols => 60 %></p>
<p><label for="comment_visible">Visible</label>
- <%= select('comment', "visible", [["Yes - show comment",true],["No - hide comment",false]]) %>
+ <%= select('comment', "visible", [["Yes – show comment",true],["No – hide comment",false]]) %>
</p>
@@ -16,7 +16,7 @@
<% end %>
<p>
-<%= link_to 'Show', '../show/' + @comment.info_request.id.to_s %> |
-<%= link_to 'List all', '../list' %>
+<%= link_to 'Show', admin_request_show_path(@comment.info_request) %> |
+<%= link_to 'List all', admin_request_list_path %>
</p>
diff --git a/app/views/admin_request/edit_outgoing.rhtml b/app/views/admin_request/edit_outgoing.rhtml
index 4932cb52f..ab209be0d 100644
--- a/app/views/admin_request/edit_outgoing.rhtml
+++ b/app/views/admin_request/edit_outgoing.rhtml
@@ -2,7 +2,7 @@
<%= error_messages_for 'outgoing_message' %>
-<% form_tag '../update_outgoing/' + @outgoing_message.id.to_s do %>
+<% form_tag admin_request_update_outgoing_path(@outgoing_message) do %>
<p><label for="outgoing_message_body">Body of message</label><br/>
<%= text_area 'outgoing_message', 'body', :rows => 10, :cols => 60 %></p>
@@ -18,11 +18,11 @@
<% end %>
<p>
-<%= link_to 'Show', '../show/' + @outgoing_message.info_request.id.to_s %> |
-<%= link_to 'List all', '../list' %>
+<%= link_to 'Show', admin_request_show_path(@outgoing_message.info_request) %> |
+<%= link_to 'List all', admin_request_list_path %>
</p>
-<% form_tag '../destroy_outgoing' do %>
+<% form_tag admin_request_destroy_outgoing_path do %>
<div>
<%= hidden_field_tag 'outgoing_message_id', @outgoing_message.id %>
Warning, this is permanent! ---&gt;
diff --git a/app/views/admin_request/hidden_user_explanation.rhtml b/app/views/admin_request/hidden_user_explanation.rhtml
index 64387ffee..7084e986f 100644
--- a/app/views/admin_request/hidden_user_explanation.rhtml
+++ b/app/views/admin_request/hidden_user_explanation.rhtml
@@ -1,9 +1,10 @@
Dear <%= name_to %>,
-Your request '<%= info_request.title %>' at <%= info_request_url %> has been reviewed by moderators.
+Your request '<%= info_request.title.html_safe %>' at <%= info_request_url %> has been reviewed by moderators.
We consider it <% if reason == 'not_foi' %>is not a valid FOI request<% else %>to be vexatious<% end%>, and have therefore hidden it from other users. You will still be able to view it while logged in to the site. Please reply to this email if you would like to discuss this decision further.
Yours,
The <%= site_name %> team.
+
diff --git a/app/views/admin_request/list.rhtml b/app/views/admin_request/list.rhtml
index cb328543e..10b39d3a2 100644
--- a/app/views/admin_request/list.rhtml
+++ b/app/views/admin_request/list.rhtml
@@ -1,15 +1,13 @@
-<% @title = 'Listing FOI/EIR requests' %>
+<% @title = _("Listing FOI requests") %>
<h1><%=@title%></h1>
-<% form_tag("", :method => "get") do %>
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
- <%= submit_tag "Search" %> (substring search, titles only)
- </p>
+<% form_tag({}, :method => "get", :class => "form form-search") do %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :class => "input-large search-query" } %>
+ <%= submit_tag "Search", :class => "btn" %> (substring search, titles only)
<% end %>
<%= render :partial => 'some_requests', :locals => { :info_requests => @info_requests } %>
-<%= will_paginate(@info_requests) %>
+<%= will_paginate(@info_requests, :class => "paginator") %>
diff --git a/app/views/admin_request/list_old_unclassified.rhtml b/app/views/admin_request/list_old_unclassified.rhtml
deleted file mode 100644
index 2e75c2174..000000000
--- a/app/views/admin_request/list_old_unclassified.rhtml
+++ /dev/null
@@ -1,16 +0,0 @@
-<% @title = "Unclassified responses" %>
-
-<h1><%=@title%></h1>
-
-<p>Classify responses that are still unclassified <%=InfoRequest::OLD_AGE_IN_DAYS.inspect %> after response:</p>
-<ul>
-<% for @request in @info_requests %>
- <li>
- <%= request_both_links(@request) %>
- &ndash; <%=simple_date(@request.get_last_response_event.created_at)%>
- </li>
-<% end %>
-</ul>
-<%= will_paginate(@info_requests) %>
-
-
diff --git a/app/views/admin_request/show.rhtml b/app/views/admin_request/show.rhtml
index 2541fd323..2b37e8afb 100644
--- a/app/views/admin_request/show.rhtml
+++ b/app/views/admin_request/show.rhtml
@@ -1,230 +1,386 @@
-<% @title = "FOI request - " + h(@info_request.title) %>
-<%= javascript_include_tag :defaults %>
+<% @title = _("FOI request – {{title}}", :title => h(@info_request.title)) %>
<h1><%=@title%></h1>
-<% form_tag '../move_request', { :class => "inline" } do %>
-<p>
-<%= hidden_field_tag 'info_request_id', @info_request.id %>
-<% for column in InfoRequest.content_columns %>
- <strong><%= column.human_name %>:</strong> <%=h @info_request.send(column.name) %>
- <% if column.name == 'described_state' %>
- <strong>Calculated status:</strong> <%= @info_request.calculate_status %>
- <br/><strong>Initial request last sent at:</strong> <%=@info_request.date_initial_request_last_sent_at.to_date %>
- <strong>Date response required by:</strong> <%= @info_request.date_response_required_by %>
- <strong>Very overdue after:</strong> <%= @info_request.date_very_overdue_after %>
- <% end %>
- <% if ![ 'allow_new_responses_from' ].include?(column.name) %>
- <br/>
- <% end %>
-<% end %>
- <strong>Created by:</strong>
- <% if @info_request.is_external? %>
- <%= @info_request.public_body.name %> on behalf of <%= (@info_request.user_name || _('an anonymous user'))%> (using API)
- <% else %>
- <%= user_both_links(@info_request.user) %>
- <% end %>
-
- <span>
- <span>
- (<%= link_to_function("move...", "$(this).up(1).childElements().invoke('toggle')") %>)
- </span>
- <span style="display:none;">
- <strong>url_name of new user:</strong>
- <%= text_field_tag 'user_url_name', "", { :size => 20 } %>
- <%= submit_tag "Move request to user" %>
- </span>
- </span>
- <br>
-<strong>Public authority:</strong> <%= public_body_both_links(@info_request.public_body) %>
- <span>
- <span>
- (<%= link_to_function("move...", "$(this).up(1).childElements().invoke('toggle')") %>)
- </span>
- <span style="display:none;">
- <strong>url_name of new authority:</strong>
- <%= text_field_tag 'public_body_url_name', "", { :size => 20 } %>
- <%= submit_tag "Move request to authority" %>
- </span>
- </span>
- <br>
-<strong>Incoming email address:</strong> <%= link_to h(@info_request.incoming_email), "mailto:" + @info_request.incoming_email %> <br>
-<b>Tags:</b> <%= render :partial => 'tags', :locals => { :info_request => @info_request} %> <br>
-</p>
+<% form_tag admin_request_move_request_path, { :class => "form form-horizontal" } do %>
+ <%= hidden_field_tag 'info_request_id', @info_request.id %>
+ <div class="accordion" id="info_request">
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <span class="item-title">
+ <a href="#metadata_<%=@info_request.id%>" data-toggle="collapse" data-parent="#info_request"><%= chevron_down %></a>Request metadata
+ </span>
+ </div>
+ <div id="metadata_<%=@info_request.id%>" class="accordion-body collapse in">
+ <table class="table table-striped table-condensed">
+ <thead>
+ <tr>
+ <td colspan="2">
+ <%= link_to 'Edit metadata', admin_request_edit_path(@info_request), :class => "btn" %>
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>Public page:</th>
+ <td><%= link_to request_url(@info_request), request_path(@info_request) %></td>
+ </tr>
+ <% @info_request.for_admin_column do |name, value, type, column_name|%>
+ <tr>
+ <td>
+ <b><%= name %>:</b>
+ </td>
+ <td>
+ <% if type == 'datetime' %>
+ <%= I18n.l(value, :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(value)) %>)
+ <% else %>
+ <%= h value %>
+ <% end %>
+ <% if column_name == 'described_state' %>
+ <ul>
+ <li><strong>Initial request last sent at:</strong> <%= @info_request.calculate_status %></li>
+ <li><strong>Initial request last sent at:</strong> <%=@info_request.date_initial_request_last_sent_at.to_date %></li>
+ <li><strong>Date response required by:</strong> <%= @info_request.date_response_required_by %></li>
+ <li><strong>Very overdue after:</strong> <%= @info_request.date_very_overdue_after %></li>
+ </ul>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ <tr>
+ <td>
+ <b>Created by</b>
+ </td>
+ <td>
+ <% if @info_request.is_external? %>
+ <%= link_to(eye, @info_request.external_url, :title => "view URL of original request on external website") %>
+ <%= @info_request.public_body.name %> on behalf of <%= (@info_request.user_name || _('an anonymous user'))%> (using API)
+ <% else %>
+ <%= user_both_links(@info_request.user) %>
+ <%= link_to _("move..."), "#", :class => "btn btn-mini btn-warning toggle-hidden" %>
+ <div style="display:none;">
+ <strong>url_name of new user:</strong>
+ <%= text_field_tag 'user_url_name', "", { :size => 20 } %>
+ <%= submit_tag "Move request to user", :class => "btn btn-info" %>
+ </div>
+ <% end %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <b>Public authority:</b>
+ </td>
+ <td>
+ <%= public_body_both_links(@info_request.public_body) %>
+ <%= link_to "move...", "#", :class => "btn btn-mini btn-warning toggle-hidden" %>
+ <div style="display:none;">
+ <strong>url_name of new authority:</strong>
+ <%= text_field_tag 'public_body_url_name', "", { :size => 20 } %>
+ <%= submit_tag "Move request to authority", :class => "btn btn-info" %>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <b><%=_("Incoming email address")%></b>
+ </td>
+ <td>
+ <%= link_to h(@info_request.incoming_email), "mailto:#{@info_request.incoming_email}" %>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <b><%=_("Tags")%></b>
+ </td>
+ <td>
+ <%= render :partial => 'tags', :locals => { :info_request => @info_request} %>
+ </td>
+ </tr>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td colspan="2">
+ <%= link_to 'Edit metadata', admin_request_edit_path(@info_request), :class => "btn" %>
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+ </div>
+ </div>
+ </div>
<% end %>
-
-<p>
- <%= link_to 'Public page', main_url(request_url(@info_request)) %>
- | <%= link_to 'Edit', '../edit/' + @info_request.id.to_s %>
- | <%= link_to 'FOI officer upload URL', '../generate_upload_url/' + @info_request.id.to_s %> (see also links on incoming messages below)
-</p>
-
-<h2>Events</h2>
-
-<table>
- <tr>
- <th>Id</th>
- <% for column in InfoRequestEvent.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Actions</th>
- </tr>
-
-<% for info_request_event in @info_request.info_request_events.find(:all, :order => "created_at, id") %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h info_request_event.id %></td>
- <% for column in InfoRequestEvent.content_columns %>
- <td>
- <% if column.name == 'params_yaml' %>
- <%= info_request_event.params_yaml_as_html %>
- <% elsif column.text? %>
- <%=h (info_request_event.send(column.name) || '').gsub(/_/,' ') %>
+<fieldset class="form-horizontal">
+ <legend>Actions</legend>
+ <div class="control-group">
+ <label class="control-label">
+ FOI officer upload URL
+ </label>
+ <div class="controls">
+ <%= link_to 'Generate URL', admin_request_generate_upload_url_path(@info_request), :class => "btn" %>
+ <p class="help-block">(see also option to general URLs for individual incoming messages below)</p>
+ </div>
+ </div>
+ <% form_tag admin_request_hide_path(@info_request), :class => "form form-inline", :id => "hide_request_form", 'data-info-request-id' => @info_request.id.to_s do %>
+ <div class="control-group">
+ <% if @info_request.is_external? %>
+ <label class="control-label">Hide the request:</label>
<% else %>
- <%=h info_request_event.send(column.name) %>
+ <label class="control-label">Hide the request and notify the user:</label>
<% end %>
- </td>
- <% end %>
- <td>
- <% if info_request_event.described_state != 'waiting_clarification' and info_request_event.event_type == 'response' %>
- <% form_tag '../mark_event_as_clarification' do %>
- <div>
- <%= hidden_field_tag 'info_request_event_id', info_request_event.id %>
- <%= submit_tag "Was clarification request" %>
- </div>
+
+ <div class="controls" id="request_hidden_user_explanation_reasons">
+ <% if ['hidden', 'requester_only'].include? @info_request.prominence %>
+ <p class="help-block">This request has already been hidden</p>
+ <% else %>
+ <label class="radio inline">
+ <%= radio_button_tag "reason", "not_foi" %> <%= _("Not a valid FOI request") %>
+ </label>
+ <label class="radio inline">
+ <%= radio_button_tag "reason", "vexatious" %> <%= _("A vexatious request") %>
+ </label>
<% end %>
- <% end %>
- </td>
- </tr>
-<% end %>
-</table>
+ </div>
+ </div>
-<h2>Outgoing messages</h2>
+ <% if !['hidden', 'requester_only'].include? @info_request.prominence %>
+ <% if ! @info_request.is_external? %>
-<table>
- <tr>
- <th>Id</th>
- <% for column in OutgoingMessage.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Actions</th>
- </tr>
+ <div class="control-group" id="request_hidden_user_subject">
+ <label for="request_hidden_user_subject_field" class="control-label">Subject of email:</label>
+ <div class="controls">
+ <%= text_field_tag "subject", "Your request on WhatDoTheyKnow.com hidden", {:id => "request_hidden_user_subject_field", :cols => 100} %>
+ </div>
+ </div>
-<% for outgoing_message in @info_request.outgoing_messages.find(:all, :order => 'created_at') %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h outgoing_message.id %></td>
- <% for column in OutgoingMessage.content_columns.map { |c| c.name } %>
+ <div class="control-group" id="request_hidden_user_explanation">
+ <label for="request_hidden_user_explanation_field" class="control-label">Reason for hiding the request (will be emailed to user):</label>
+ <div class="controls">
+ <%= text_area_tag "explanation", h(@request_hidden_user_explanation), {:id => "request_hidden_user_explanation_field"} %>
+ </div>
+ </div>
- <% if column == 'body' %>
- <td>
- <div><%= simple_format( truncate(outgoing_message.body, :length => 400,
- :omission => link_to_function("...", "$(this).up('td').childElements().invoke('toggle')")
- )) %></div>
- <div style="display:none;"><%= simple_format( outgoing_message.body ) %></div>
- </td>
- <% else %>
- <td><%= simple_format( outgoing_message.send(column) ) %></td>
+ <% end %>
+ <div class="form-actions" id="request_hide_button">
+ <%= submit_tag _("Hide request"), :class => "btn" %>
+ </div>
<% end %>
+ <% end %>
+</fieldset>
+<hr>
+<h2>Events</h2>
+<div class="accordion" id="events">
+ <% for info_request_event in @info_request.info_request_events.find(:all, :order => "created_at, id") %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <span class="item-title">
+ <a href="#event_<%=info_request_event.id%>" data-toggle="collapse" data-parent="#events"><%= chevron_right %></a>
+ <%= _("Event {{id}}", :id => info_request_event.id) %>:
+ <strong>
+ <%=h info_request_event.event_type.humanize %><% if !info_request_event.calculated_state.nil? %>; state: <%= info_request_event.calculated_state %><% end %>
+ </strong>
+ <em>
+ <%= info_request_event.created_at%>
+ </em>
+ </span>
+ </div>
+ <div id="event_<%=info_request_event.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <tr>
+ <td>
+ <% if info_request_event.described_state != 'waiting_clarification' and info_request_event.event_type == 'response' %>
+ <% form_tag admin_request_clarification_path, :class => "form form-inline admin-table-form admin-inline-form" do %>
+ <%= hidden_field_tag 'info_request_event_id', info_request_event.id, :id => nil %>
+ <%= submit_tag "Was clarification request", :class => "btn btn-mini btn-primary" %>
+ <% end %>
+ <% end %>
+ </td>
+ <td></td>
+ </tr>
+
+ <% info_request_event.for_admin_column do |name, value, type, column_name| %>
+ <tr>
+ <td>
+ <b><%=h name%></b>
+ </td>
+ <td>
+ <% if column_name == 'params_yaml' %>
+ <%= info_request_event.params_yaml_as_html.html_safe %>
+ <% elsif value.nil? %>
+ nil
+ <% elsif %w(text string).include?(type) %>
+ <%=h value.humanize %>
+ <% elsif type == 'datetime' %>
+ <%= admin_date value %>
+ <% else %>
+ <%=h value %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
<% end %>
- <td>
- <% form_tag '../resend' do %>
- <div>
- <%= hidden_field_tag 'outgoing_message_id', outgoing_message.id %>
- <%= submit_tag "Resend" %>
+</div>
+<hr>
+<h2>Outgoing messages</h2>
+<div class="accordion" id="outgoing_messages">
+ <% for outgoing_message in @info_request.outgoing_messages.find(:all, :order => 'created_at') %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#outgoing_<%=outgoing_message.id%>" data-toggle="collapse" data-parent="#outgoing_messages"><%= chevron_right %></a>
+ <% link_to admin_request_edit_outgoing_path(outgoing_message) do %>
+ #<%= outgoing_message.id %> -- <%= outgoing_message.status.humanize %> <%= outgoing_message.message_type.humanize %>
+ <% end %>
+ <blockquote>
+ <%= truncate(outgoing_message.body, :length => 400) %>
+ </blockquote>
+ </div>
+ <div id="outgoing_<%=outgoing_message.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <tr>
+ <td colspan="2">
+ <% form_tag admin_request_resend_path, :class => "admin-table-form" do %>
+ <%= hidden_field_tag 'outgoing_message_id', outgoing_message.id %>
+ <%= submit_tag "Resend", :class => "btn" %>
+ <% end %>
+ </td>
+ </tr>
+ <% outgoing_message.for_admin_column do |name, value, type, column_name| %>
+ <tr>
+ <td class="span3">
+ <b><%=name%></b>
+ </td>
+ <td>
+ <% if column_name == 'body' %>
+ <%= simple_format(truncate(h(outgoing_message.body), :length => 400, :omission => link_to("...", "#", :class => "toggle-hidden" )).html_safe) %>
+ <div style="display:none;"><%= simple_format( outgoing_message.body ) %></div>
+ <% else %>
+ <%= admin_value(value) %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
</div>
+ </div>
<% end %>
- <%= link_to "Edit", '../edit_outgoing/' + outgoing_message.id.to_s %>
- </td>
- </tr>
-<% end %>
-</table>
-
+</div>
+<hr>
<h2>Incoming messages</h2>
-
-<table>
- <tr>
- <th>Id</th>
- <% for column in IncomingMessage.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Actions</th>
- </tr>
-
-<% for incoming_message in @info_request.incoming_messages.find(:all, :order => 'created_at') %>
- <tr class="<%= cycle('odd', 'even') %>" id="incoming-<%=incoming_message.id.to_s%>">
- <td><%=h incoming_message.id %></td>
- <% for column in IncomingMessage.content_columns.map { |c| c.name } %>
- <% if column =~ /^cached_.*?$/ %>
- <td>
- <div><%= simple_format( truncate(incoming_message.send(column), :length => 400,
- :omission => link_to_function("...", "$(this).up('td').childElements().invoke('toggle')")
- )) %></div>
- <div style="display:none;"><%= simple_format( incoming_message.send(column) ) %></div>
- </td>
- <% else %>
- <td><%= simple_format( incoming_message.send(column) ) %></td>
- <% end %>
+<div class="accordion" id="incoming_messages">
+ <% for incoming_message in @info_request.incoming_messages.find(:all, :order => 'created_at') %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#incoming_<%=incoming_message.id%>" data-toggle="collapse" data-parent="#incoming_messages"><%= chevron_right %></a>
+ <%=incoming_message.id%> -- <%= h(incoming_message.mail_from) %> <%=_("at")%> <%=admin_value(incoming_message.sent_at)%>
+ <blockquote class="incoming-message">
+ <% if !incoming_message.cached_main_body_text_folded.nil? %>
+ <%= truncate(incoming_message.cached_main_body_text_folded.gsub('FOLDED_QUOTED_SECTION', ''), :length => 400) %>
+ <% end %>
+ </blockquote>
+ </div>
+ <div id="incoming_<%=incoming_message.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <thead>
+ <tr>
+ <td colspan="2" class="well">
+ <%= render :partial => 'incoming_message_actions', :locals => { :incoming_message => incoming_message } %>
+ </td>
+ </tr>
+ </thead>
+ <tbody>
+ <% incoming_message.for_admin_column do |name, value, type, column_name| %>
+ <tr>
+ <td>
+ <b><%=name%></b>
+ </td>
+ <td>
+ <% if column_name =~ /^cached_.*?$/ %>
+ <%= simple_format( truncate(h(value), :length => 400, :omission => link_to("...", "#", :class => "toggle-hidden")).html_safe) %>
+ <div style="display:none;"><%= simple_format(value) %></div>
+ <% else %>
+ <%= simple_format(value) %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
<% end %>
- <td>
- <% if !incoming_message.raw_email_id.nil? %>
- <p>
- <%= link_to "View raw email", "../show_raw_email/" + incoming_message.raw_email_id.to_s %>
- </p>
- <% end %>
- <%= render :partial => 'incoming_message_actions', :locals => { :incoming_message => incoming_message } %>
- </td>
- </tr>
-<% end %>
-</table>
-
+</div>
+<hr>
<h2>Annotations</h2>
<% if @info_request.comments.size > 0 %>
- <table>
- <tr>
- <th>Id</th>
- <th>Posted by</th>
- <% for column in Comment.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Actions</th>
- </tr>
-
- <% for comment in @info_request.comments %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h comment.id %></td>
- <td><%= user_both_links(comment.user) %></td>
- <% for column in Comment.content_columns.map { |c| c.name } %>
- <% if column == 'body' && !comment.visible %>
- <td><s><%=h comment.send(column) %></s></td>
- <% else %>
- <td><%=h comment.send(column) %></td>
- <% end %>
+ <div class="accordion" id="comments">
+ <% for comment in @info_request.comments %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#comment_<%=comment.id%>" data-toggle="collapse" data-parent="#comments"><%= chevron_right %></a>
+ <% link_to admin_request_edit_comment_path(comment) do %>
+ #<%=comment.id%>
+ --
+ <%=h(comment.user.name)%>
+ <%=admin_value(comment.created_at)%>
+ <% end %>
+ <blockquote class="incoming-message">
+ <%= truncate(comment.body, :length => 400) %>
+ </blockquote>
+ </div>
+ <div id="comment_<%=comment.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <tr>
+ <td colspan="2">
+ By <%= user_both_links(comment.user) %>
+ </td>
+ </tr>
+ <% comment.for_admin_column do |name, value, type, column_name |%>
+ <tr>
+ <td>
+ <b><%=name%></b>
+ </td>
+ <td>
+ <% if column_name == 'body' && !comment.visible %>
+ <s><%=h comment.send(column_name) %></s>
+ <% else %>
+ <%=h comment.send(column_name) %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
<% end %>
- <td>
- <%= link_to "Edit", '../edit_comment/' + comment.id.to_s %>
- </td>
- </tr>
- <% end %>
- </table>
+ </div>
<% else %>
<p>None yet.</p>
<% end %>
-
-
-
+<hr>
<h2>Mail server delivery logs</h2>
<p><i>(Lines containing the request incoming email address, updated hourly.)</i></p>
<% for mail_server_log_done_id, mail_server_logs in @info_request.mail_server_logs.group_by(&:mail_server_log_done_id) %>
- <!-- <h3><%=h mail_server_logs[0].mail_server_log_done.filename %></h3> -->
- <pre><% for mail_server_log in mail_server_logs %><%=h mail_server_log.line%><% end %></pre>
+ <!-- <h3><%=h mail_server_logs[0].mail_server_log_done.filename %></h3> -->
+ <pre><% for mail_server_log in mail_server_logs %><%=h mail_server_log.line%><% end %></pre>
<% end %>
<% if @info_request.mail_server_logs.size == 0 %>
- <p>None (perhaps this is an old or a very new request)</p>
+ <p>None (perhaps this is an old or a very new request)</p>
<% end %>
+<hr>
<h2>Censor rules</h2>
<%= render :partial => 'admin_censor_rule/show', :locals => { :censor_rules => @info_request.censor_rules, :info_request => @info_request } %>
diff --git a/app/views/admin_request/show_raw_email.rhtml b/app/views/admin_request/show_raw_email.rhtml
index fa1470e77..72c782ad6 100644
--- a/app/views/admin_request/show_raw_email.rhtml
+++ b/app/views/admin_request/show_raw_email.rhtml
@@ -1,37 +1,67 @@
-<% @title = 'Incoming message ' + @raw_email.incoming_message.id.to_s + ' of FOI request \'' + h(@raw_email.incoming_message.info_request.title) + "'" %>
+<% @title = "Incoming message #{@raw_email.incoming_message.id} of FOI request '#{@raw_email.incoming_message.info_request.title}'" %>
-<h1>Incoming message <%=@raw_email.incoming_message.id.to_s %></h1>
+<h1>Incoming message <%=@raw_email.incoming_message.id %></h1>
<p>
FOI request: <%= request_both_links(@raw_email.incoming_message.info_request) %>
- <% if @holding_pen %>
+ <% if @holding_pen %>
<br>This is in the holding pen because: <strong><%= @rejected_reason %></strong>
<% if @public_bodies.size > 0 %>
<br>Guessed authority:
- <% for public_body in @public_bodies %>
- <%=public_body_both_links(public_body)%>
+ <% @public_bodies.each do |public_body| %>
+ <%=public_body_both_links(public_body)%>
<% end %>
(based on From: email domain)
<% end %>
<% if @info_requests.size > 0 %>
- <br>Guessed request:
- <% for info_request in @info_requests %>
- <%=request_both_links(info_request)%>
- <% end %>
- (based on id, not hash, in To/Cc email)
+ <div class="accordion" id="guessed-requests">
+ Guessed request:
+ <% @info_requests.each do |info_request| %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#info_request_<%= info_request.id %>" data-toggle="collapse"><i class="icon-chevron-right"></i></a>
+ <%=request_both_links(info_request)%>
+ </div>
+ <div class="accordion-body collapse" id="info_request_<%= info_request.id %>">
+ <table class="table table-striped table-condensed">
+ <tr>
+ <td><strong>Last outgoing message:</strong></td>
+ <td><%= info_request.outgoing_messages.last.body %></td>
+ </tr>
+ <tr>
+ <td><strong>Created by:</strong></td>
+ <td><%= user_admin_link_for_request(info_request) %></td>
+ </tr>
+ <tr>
+ <td><strong>Authority:</strong></td>
+ <td>
+ <%= link_to(info_request.public_body.name, admin_body_show_path(info_request.public_body)) %>
+ </td>
+ </tr>
+ <tr>
+ <td><strong>url_title:</strong></td>
+ <td><%= info_request.url_title %></td>
+ </tr>
+ </table>
+ <p>
+ This request was guessed because it has an incoming email address of <strong><%= info_request.incoming_email %></strong> and this incoming message was sent to <strong><%= @raw_email.incoming_message.mail.to %></strong>.
+ </p>
+ </div>
+ </div>
+ <% end %>
+ (based on id, not hash, in To/Cc email)
+ </div>
<% end %>
<% end %>
</p>
-<h2>Actions</h2>
-
<div>
<%= render :partial => 'incoming_message_actions', :locals => { :incoming_message => @raw_email.incoming_message } %>
</div>
<h2>Raw email</h2>
-<p><%= link_to "Download", "../download_raw_email/" + @raw_email.id.to_s %></p>
+<p><%= link_to "Download", admin_request_download_raw_email_path(@raw_email) %></p>
-<pre><%=h(@raw_email.data).gsub(/\n/, '<br>') %></pre>
+<pre><%=h(@raw_email.data).gsub(/\n/, '<br>').html_safe %></pre>
diff --git a/app/views/admin_track/_some_tracks.rhtml b/app/views/admin_track/_some_tracks.rhtml
index 72ee5fd95..95101cb55 100644
--- a/app/views/admin_track/_some_tracks.rhtml
+++ b/app/views/admin_track/_some_tracks.rhtml
@@ -1,31 +1,72 @@
-<table>
- <tr>
- <th>Id</th>
- <th>User</th>
- <% for column in TrackThing.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Items sent by email (in last month)</th>
- <th>Actions</th>
- </tr>
-
-<% for track_thing in track_things %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h track_thing.id %></td>
- <td><%=user_both_links(track_thing.tracking_user) %></td>
- <% for column in TrackThing.content_columns.map { |c| c.name } %>
- <td><%=h track_thing.send(column) %></td>
- <% end %>
- <td><%= track_thing.track_things_sent_emails.size %></td>
- <td>
- <% form_tag '../../user/destroy_track' do %>
- <div>
- <%= hidden_field_tag 'track_id', track_thing.id %>
- <%= submit_tag "Destroy track" %>
- </div>
- <% end %>
- </td>
- </tr>
-<% end %>
-</table>
+<% include_destroy = include_destroy || false %>
+<% if track_things.empty? %>
+ <div class="row">
+ <div class="span12">
+ <%=_("No tracked things found.")%>
+ </div>
+ </div>
+<% else %>
+ <div class="accordion" id="tracks">
+ <% for track_thing in track_things %>
+ <div class="accordion-group">
+ <div class="accordion-heading">
+ <a href="#track_<%=track_thing.id%>" data-toggle="collapse" data-parent="requests"><%= chevron_right %></a>
+ <%=track_thing.id%>:
+ <% if track_thing.public_body_id %>
+ <%= link_to "<code>#{h track_thing.track_query}</code>".html_safe, public_body_path(track_thing.public_body) %>
+ <% elsif track_thing.info_request_id %>
+ <%= link_to "<code>#{h track_thing.track_query}</code>".html_safe, request_path(track_thing.info_request) %>
+ <% elsif track_thing.tracked_user_id %>
+ <%= link_to "<code>#{h track_thing.track_query}</code>".html_safe, user_path(track_thing.tracked_user) %>
+ <% else %>
+ <code><%=h track_thing.track_query%></code>
+ <% end %>
+ <% if @admin_user.nil? %>
+ <%# Do not show this on the list of tracks on the user page, because it’s rather repetitive there %>
+ tracked by <%= user_both_links track_thing.tracking_user %>
+ <% end %>
+ </div>
+ <div id="track_<%=track_thing.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% if include_destroy %>
+ <tr>
+ <td colspan="2">
+ <% form_tag admin_user_destroy_track_path, :class => "form form-inline admin-table-form" do %>
+ <div>
+ <%= hidden_field_tag 'track_id', track_thing.id %>
+ <%= submit_tag "Destroy track", :class => "btn btn-warning" %>
+ </div>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ <% TrackThing.content_columns.each do |column| %>
+ <tr>
+ <td>
+ <b><%=column.human_name%></b>
+ </td>
+ <td>
+ <% if column.type.to_s == 'datetime' %>
+ <%= I18n.l(track_thing.send(column.name), :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(track_thing.send(column.name))) %>)
+ <% elsif column.name == 'track_medium' and track_thing.track_medium == 'feed' %>
+ <%= link_to track_thing.track_medium, atom_feed_path(:track_id => track_thing.id) %>
+ <% else %>
+ <%= h track_thing.send(column.name)%>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ <tr>
+ <td><b><%=_("Items sent in last month")%></b></td>
+ <td><%= track_thing.track_things_sent_emails.size %></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <% end %>
+ </div>
+<% end %>
diff --git a/app/views/admin_track/list.rhtml b/app/views/admin_track/list.rhtml
index 58c87ddba..9cff5635b 100644
--- a/app/views/admin_track/list.rhtml
+++ b/app/views/admin_track/list.rhtml
@@ -1,39 +1,20 @@
-<% @title = 'Listing tracks' %>
+<% @title = _('Listing tracks') %>
<h1><%=@title%></h1>
-<% form_tag("", :method => "get") do %>
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
- <%= submit_tag "Search" %> (substring search the query - so use url_names_for_a_particular_request_or_authority_or_person)
- </p>
+<% form_tag({}, :method => "get", :class => "form form-search") do %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :class => "input-large search-query" } %>
+ <%= submit_tag "Search", :class => "btn" %> (substring search the query – so use url_names_for_a_particular_request_or_authority_or_person)
<% end %>
-<table>
- <tr>
- <th>Id</th>
- <th>Tracked by</th>
- <% for column in TrackThing.content_columns %>
- <th><%= column.human_name %></th>
- <% end %>
- <th>Items sent by email (in last month)</th>
- </tr>
-
-<% for track_thing in @admin_tracks %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%=h track_thing.id %></td>
- <td><%= user_both_links(track_thing.tracking_user) %></td>
- <% for column in TrackThing.content_columns.map { |c| c.name } %>
- <% if column == 'track_medium' and track_thing.track_medium == 'feed'%>
- <td><%= link_to track_thing.track_medium, atom_feed_url(:track_id => track_thing.id) %></td>
- <% else %>
- <td><%=h track_thing.send(column) %></td>
- <% end %>
- <% end %>
- <td><%= track_thing.track_things_sent_emails.size %></td>
- </tr>
-<% end %>
-</table>
+<%= render :partial => 'some_tracks', :locals => { :track_things => @admin_tracks } %>
+
+<%= will_paginate(@admin_tracks, :class => "paginator" ) %>
-<%= will_paginate(@admin_tracks) %>
+<h2>Current top tracks:</h2>
+<ol>
+<% for row in @popular %>
+ <li><%= link_to row['title'], admin_request_show_path(row['info_request_id']) %> (<%= row['count'] %> people following)</li>
+<% end %>
+</ol>
diff --git a/app/views/admin_user/_form.rhtml b/app/views/admin_user/_form.rhtml
index be69d9a80..e7175d09c 100644
--- a/app/views/admin_user/_form.rhtml
+++ b/app/views/admin_user/_form.rhtml
@@ -2,26 +2,65 @@
<!--[form:admin_user]-->
-<p><label for="admin_user_name">Name</label> (will change URL name and break URLs; unlike authorities, there is no history; you will need to rebuild the search index afterwards)<br/>
-<%= text_field 'admin_user', 'name', :size => 60 %></p>
+<div class="control-group">
+ <label for="admin_user_name" class="control-label">Name</label>
+ <div class="controls">
+ <%= text_field 'admin_user', 'name', :class => "span3" %>
+ <div class="help-block">
+ will change URL name and break URLs; unlike authorities, there is no history; you will need to rebuild the search index afterwards
+ </div>
+ </div>
+</div>
-<p><label for="admin_user_email">Email</label> (<strong>you must</strong> first validate this)<br/>
-<%= text_field 'admin_user', 'email', :size => 60 %></p>
+<div class="control-group">
+ <label for="admin_user_email" class="control-label">Email</label>
+ <div class="controls">
+ <%= text_field 'admin_user', 'email', :class => "span3" %>
+ <div class="help-block">
+ <strong>you must</strong> first validate this
+ </div>
+ </div>
+</div>
-<p><label for="admin_user_admin_level">Admin level</label> (<strong>none</strong> or <strong>super</strong>; this is for admin features and links which are in the site proper)<br/>
-<%= text_field 'admin_user', 'admin_level', :size => 60 %></p>
+<div class="control-group">
+ <label for="admin_level" class="control-label">Admin level</label>
+ <div class="controls">
+ <%= text_field 'admin_user', 'admin_level', :class => "span3" %>
+ <div class="help-block">
+ <strong>none</strong> or <strong>super</strong>; this is for admin features and links which are in the site proper
+ </div>
+ </div>
+</div>
-<p><label for="admin_user_ban_text">Ban text</label> <small>(if not blank will stop the
- user from filing new requests, making annotations or messaging other users;
- the text is shown in public on the user's page and when they try to do a
- forbidden action; write in the second person (you); see
- <%= link_to 'banned users', '../banned' %> for examples</small>)<br/>
-
-<%= text_area 'admin_user', 'ban_text', :cols => 60, :rows => 3 %></p>
-
-<p><label for="admin_user_about_me">About me</label> (user's own text on their profile, format like comments):<br/>
-<%= text_area 'admin_user', 'about_me', :cols => 60, :rows => 3 %></p>
-
-<p><%= check_box 'admin_user', 'no_limit' %>
-<label for="admin_user_no_limit">No rate limit</label> (disable the limit on daily requests)</p>
+<div class="control-group">
+ <label for="ban_text" class="control-label">Ban text</label>
+ <div class="controls">
+ <%= text_area 'admin_user', 'ban_text', :class => "span6", :rows => 3 %>
+ <div class="help-block">
+ if not blank will stop the
+ user from filing new requests, making annotations or messaging other users;
+ the text is shown in public on the user's page and when they try to do a
+ forbidden action; write in the second person (you); see
+ <%= link_to 'banned users', admin_user_list_banned_path %> for examples</small>
+ </div>
+ </div>
+</div>
+<div class="control-group">
+ <label for="about_me" class="control-label">About me</label>
+ <div class="controls">
+ <%= text_area 'admin_user', 'about_me', :class => "span6", :rows => 3 %>
+ <div class="help-block">
+ user's own text on their profile, format like comments
+ </div>
+ </div>
+</div>
+<div class="control-group">
+ <label for="admin_user_no_limit" class="control-label">No rate limit</label>
+ <div class="controls">
+ <%= check_box 'admin_user', 'no_limit' %>
+ <div class="help-block">
+ disable the limit on daily requests
+ </div>
+ </div>
+</div>
diff --git a/app/views/admin_user/_user_table.rhtml b/app/views/admin_user/_user_table.rhtml
index d35c78594..57066bf3f 100644
--- a/app/views/admin_user/_user_table.rhtml
+++ b/app/views/admin_user/_user_table.rhtml
@@ -1,22 +1,47 @@
-<table>
- <tr>
- <th>Id</th>
- <% for column in ['Name', 'Email', 'Created at', 'Updated at', 'Email confirmed', 'Admin'] + (banned_column ? ['Ban text'] : []) %>
- <th><%= column %></th>
+<div class="accordion" id="users">
+ <% for user in users %>
+ <div class="accordion-group">
+ <div class="accordion-heading accordion-toggle">
+ <span class="item-title">
+ <a href="#user_<%=user.id%>" data-toggle="collapse" data-parent="requests"><%= chevron_right %></a>
+ <% if user.admin_level == "super" %>
+ <span class="label">superuser</span>
+ <% end %>
+ <%= link_to("#{h(user.name)}", admin_user_show_path(user))%>
+ <%= link_to("(#{h(user.email)})", "mailto:#{h(user.email)}")%>
+ </span>
+ <span class="item-metadata">
+ updated <%=I18n.l(user.updated_at, :format => "%e %B %Y %H:%M:%S")%>
+ </span>
+ </div>
+ <div id="user_<%=user.id%>" class="accordion-body collapse">
+ <table class="table table-striped table-condensed">
+ <tbody>
+ <% if banned_column %>
+ <tr>
+ <td><b>Ban text</b></td>
+ <td><%= h user.ban_text %></td>
+ </tr>
+ <% end %>
+ <% user.for_admin_column do |name, value, type|%>
+ <tr>
+ <td><b><%=h name%></b></td>
+ <td>
+ <% if type == 'datetime' %>
+ <%= I18n.l(value, :format => "%e %B %Y %H:%M:%S") %>
+ (<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(value)) %>)
+ <% else %>
+ <%= h value %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+ </div>
<% end %>
- </tr>
-
-<% for user in users %>
- <tr class="<%= cycle('odd', 'even') %>">
- <td><%= user.id.to_s %></td>
- <td><%= user_both_links(user) %></td>
- <td><a href="mailto:<%=h user.email %>"><%=h user.email%></a></td>
- <% for column in ['created_at', 'updated_at', 'email_confirmed', 'admin_level'] + (banned_column ? ['ban_text'] : []) %>
- <td><%=h user.send(column) %></td>
- <% end %>
- </tr>
-<% end %>
-</table>
+</div>
-<%= will_paginate(users) %>
+<%= will_paginate(users, :class => "paginator") %>
diff --git a/app/views/admin_user/edit.rhtml b/app/views/admin_user/edit.rhtml
index 06ddc57d3..3333a1e48 100644
--- a/app/views/admin_user/edit.rhtml
+++ b/app/views/admin_user/edit.rhtml
@@ -1,23 +1,11 @@
-
-
<h1><%=@title%></h1>
-<% form_tag '../update/' + @admin_user.id.to_s do %>
+<% form_tag admin_user_update_path(@admin_user), :class => "form form-horizontal" do %>
<%= render :partial => 'form' %>
- <p><%= submit_tag 'Save', :accesskey => 's' %></p>
-<% end %>
-
-<p>
-<%= link_to 'Show', '../show/' + @admin_user.id.to_s %> |
-<%= link_to 'List all', '../list' %>
-</p>
-
-<% if false #@admin_user.info_requests.size == 0 %>
- <% form_tag('../destroy/' + @admin_user.id.to_s) do %>
- <p>
- <%= hidden_field_tag(:admin_user_id, { :value => @admin_user.id } ) %>
- <%= submit_tag "Destroy " + @admin_user.name %> (this is permanent!)
- </p>
- <% end %>
+ <div class="form-actions">
+ <%= submit_tag 'Save', :accesskey => 's', :class => "btn btn-primary" %>
+ </div>
<% end %>
+<%= link_to 'Show', admin_user_show_path(@admin_user), :class => "btn" %>
+<%= link_to 'List all', admin_user_list_path, :class => "btn" %>
diff --git a/app/views/admin_user/list.rhtml b/app/views/admin_user/list.rhtml
index 9de381ecc..23f75c159 100644
--- a/app/views/admin_user/list.rhtml
+++ b/app/views/admin_user/list.rhtml
@@ -1,13 +1,11 @@
-<% @title = 'Listing users' %>
+<% @title = _('Listing users') %>
<h1><%=@title%></h1>
-<% form_tag("", :method => "get") do %>
- <p>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
- <%= submit_tag "Search" %> (substring search, names and emails)
- <%= link_to 'Banned users', 'banned' %>
- </p>
+<% form_tag({}, :method => "get", :class => "form form-search") do %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :class => "input-large search-query"} %>
+ <%= submit_tag "Search", :class => "btn" %> (substring search, names and emails)
+ <%= link_to 'Banned users', admin_user_list_banned_path, :class => "btn btn-info" %>
<% end %>
<%= render :partial => 'user_table', :locals => { :users => @admin_users, :banned_column => false } %>
diff --git a/app/views/admin_user/list_banned.rhtml b/app/views/admin_user/list_banned.rhtml
index be2d45399..e535415e6 100644
--- a/app/views/admin_user/list_banned.rhtml
+++ b/app/views/admin_user/list_banned.rhtml
@@ -2,7 +2,7 @@
<h1><%=@title%></h1>
-<p><%= link_to 'List all', 'list' %></p>
+<p><%= link_to 'List all', admin_user_list_path %></p>
<%= render :partial => 'user_table', :locals => { :users => @banned_users, :banned_column => true } %>
diff --git a/app/views/admin_user/show.rhtml b/app/views/admin_user/show.rhtml
index 4af79e45a..279758f03 100644
--- a/app/views/admin_user/show.rhtml
+++ b/app/views/admin_user/show.rhtml
@@ -1,63 +1,81 @@
-<% @title = "User - " + h(@admin_user.name) %>
+<% @title = _("User – {{name}}", :name => h(@admin_user.name)) %>
<h1><%=@title%></h1>
<% if @admin_user.profile_photo %>
- <div class="user_photo_on_admin">
- <% form_tag '../clear_profile_photo/' + @admin_user.id.to_s, :multipart => true do %>
- <img src="<%= main_url(get_profile_photo_url(:url_name => @admin_user.url_name, :only_path => true)) %>">
- <br>
- <%= submit_tag "Clear photo" %>
- <% end %>
- </div>
+ <div class="user_photo_on_admin">
+ <% form_tag admin_clear_profile_photo_path(@admin_user), :multipart => true, :class => "form" do %>
+ <img src="<%= get_profile_photo_url(:url_name => @admin_user.url_name) %>">
+ <br>
+ <%= submit_tag "Clear photo", :class => "btn btn-info" %>
+ <% end %>
+ </div>
<% end %>
-
-<div>
-<strong>Id:</strong> <%= @admin_user.id%> <br>
-<% for column in User.content_columns %>
- <strong><%= column.human_name %>:</strong>
- <% if column.name == 'email' %>
- <a href="mailto:<%=h @admin_user.email %>"><%=h @admin_user.email%></a>
- <% elsif column.name == 'email_bounce_message' %>
- <% if !@admin_user.email_bounce_message.empty? %>
- <a href="../show_bounce_message/<%= @admin_user.id.to_s %>">See bounce message</a>
- <% end %>
- <% else %>
- <%=h @admin_user.send(column.name) %>
+<table class="table table-striped table-condensed">
+ <tbody>
+ <tr>
+ <td>
+ <b><%=_("Id")%></b>
+ </td>
+ <td>
+ <%=@admin_user.id%>
+ </td>
+ </tr>
+ <% @admin_user.for_admin_column(:complete => true) do |name, value, type, column_name| %>
+ <tr>
+ <td>
+ <b><%=_(name)%></b>
+ </td>
+ <td>
+ <% if column_name == 'email' %>
+ <%=link_to @admin_user.email, "mailto:#{h @admin_user.email}"%>
+ <% elsif column_name == 'email_bounce_message' %>
+ <% unless @admin_user.email_bounce_message.empty? %>
+ <%= link_to _("See bounce message"), admin_user_show_bounce(@admin_user.id) %>
+ <% end %>
+ <% else %>
+ <%=h admin_value(value)%>
+ <% end %>
+ <% if column_name == 'email_bounced_at' && !@admin_user.email_bounced_at.nil? %>
+ <% form_tag admin_user_clear_bounce_path(@admin_user), :class => "form form-inline" do %>
+ <input type="submit" name="action" value="Clear bounce" class="btn btn-info">
+ <% end %>
+ <% end %>
+ </td>
+ </tr>
<% end %>
- <% if column.name == 'email_bounced_at' && !@admin_user.email_bounced_at.nil? %>
- <form action="../clear_bounce/<%= @admin_user.id.to_s %>" style="display: inline;"><input type="submit" name="action" value="Clear bounce"></form>
- <% end %>
- <br>
-<% end %>
-</div>
+ </tbody>
+</table>
-<p>
- <%= link_to 'Public page', main_url(user_url(@admin_user)) %>
- | <%= link_to 'Edit', '../edit/' + @admin_user.id.to_s %>
- | <%= link_to 'Log in as this user', '../login_as/' + @admin_user.id.to_s %> (also confirms their email)
-</p>
+
+<%= link_to 'Edit', admin_user_edit_path(@admin_user), :class => "btn btn-primary" %>
+<%= link_to 'Public page', user_path(@admin_user), :class => "btn" %>
+<%= link_to "Log in as #{@admin_user.name} (also confirms their email)", admin_user_login_as_path(@admin_user), :class => "btn btn-info" %>
+
+<hr>
<h2>Track things</h2>
-<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @admin_user.track_things } %>
+<%= render :partial => 'admin_track/some_tracks', :locals => { :track_things => @admin_user.track_things, :include_destroy => true } %>
+
+<hr>
<h2>Post redirects</h2>
-<table>
+<table class="table table-condensed table-striped">
<tr>
<th>Id</th>
<% for column in PostRedirect.content_columns %>
<th><%= column.human_name %></th>
<% end %>
</tr>
-
+
<% for post_redirect in @admin_user.post_redirects.find(:all, :order => 'created_at desc') %>
<tr class="<%= cycle('odd', 'even') %>">
<td><%=h post_redirect.id %></td>
<% for column in PostRedirect.content_columns.map { |c| c.name } %>
<% if column == 'email_token' %>
- <td><%=link_to post_redirect.send(column), main_url(confirm_url(:email_token => post_redirect.send(column), :only_path => true)) %></td>
+ <td><%=link_to post_redirect.send(column), confirm_path(:email_token => post_redirect.send(column)) %></td>
<% else %>
<td><%=h post_redirect.send(column) %></td>
<% end %>
@@ -66,9 +84,13 @@
<% end %>
</table>
+<hr>
+
<h2>Requests</h2>
<%= render :partial => 'admin_request/some_requests', :locals => { :info_requests => @admin_user.info_requests } %>
+<hr>
+
<h2>Censor rules</h2>
<%= render :partial => 'admin_censor_rule/show', :locals => { :censor_rules => @admin_user.censor_rules, :user => @admin_user } %>
diff --git a/app/views/api/request_events.atom.builder b/app/views/api/request_events.atom.builder
index 44759ae7e..648a81e5c 100644
--- a/app/views/api/request_events.atom.builder
+++ b/app/views/api/request_events.atom.builder
@@ -8,7 +8,7 @@ atom_feed("xmlns:alaveteli" => "http://www.alaveteli.org/API/v2/RequestEvents/At
entry.updated(event.created_at.utc.iso8601)
entry.tag!("alaveteli:event_type", event.event_type)
- entry.tag!("alaveteli:request_url", main_url(request_url(request)))
+ entry.tag!("alaveteli:request_url", request_url(request))
entry.title(request.title)
entry.content(event.outgoing_message.body, :type => 'text')
@@ -16,7 +16,7 @@ atom_feed("xmlns:alaveteli" => "http://www.alaveteli.org/API/v2/RequestEvents/At
entry.author do |author|
author.name(request.user_name)
if !request.user.nil?
- author.uri(main_url(user_url(request.user)))
+ author.uri(user_url(request.user))
end
author.email(request.incoming_email)
end
diff --git a/app/views/comment/_single_comment.rhtml b/app/views/comment/_single_comment.rhtml
index b645721cf..421a9d4ba 100644
--- a/app/views/comment/_single_comment.rhtml
+++ b/app/views/comment/_single_comment.rhtml
@@ -17,11 +17,11 @@
</div>
<p class="event_actions">
<% if !comment.id.nil? %>
- <%= link_to "Link to this", comment_url(comment), :class => "link_to_this" %>
+ <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<% if !@user.nil? && @user.admin_page_links? %>
- | <%= link_to "Admin", admin_url("request/edit_comment/" + comment.id.to_s) %>
+ | <%= link_to "Admin", admin_request_edit_comment_path(comment) %>
<% end %>
- <!-- | <%= link_to _('Report abuse'), comment_url(comment) %> -->
+ <!-- | <%= link_to _('Report abuse'), comment_path(comment) %> -->
<% end %>
</p>
</div>
diff --git a/app/views/comment/new.rhtml b/app/views/comment/new.rhtml
index aa5b6051c..578732cdb 100644
--- a/app/views/comment/new.rhtml
+++ b/app/views/comment/new.rhtml
@@ -67,10 +67,10 @@
</ul>
<p>
- <big><%= _('Annotations will be posted publicly here, and are
- <strong>not</strong> sent to {{public_body_name}}.',:public_body_name=>h(@info_request.public_body.name)) %></big>
+ <span class="big"><%= _('Annotations will be posted publicly here, and are
+ <strong>not</strong> sent to {{public_body_name}}.',:public_body_name=>h(@info_request.public_body.name)) %></span>
<% if @info_request.is_external? %>
- <big><%= _('Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf.', :public_body_name => @info_request.public_body.name) %></big>
+ <span class="big"><%= _('Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf.', :public_body_name => @info_request.public_body.name) %></span>
<% end %>
</p>
diff --git a/app/views/contact_mailer/from_admin_message.rhtml b/app/views/contact_mailer/from_admin_message.rhtml
index bdb48d580..4169d8d3a 100644
--- a/app/views/contact_mailer/from_admin_message.rhtml
+++ b/app/views/contact_mailer/from_admin_message.rhtml
@@ -1,2 +1,2 @@
-<%= @message.strip %>
+<%= raw @message %>
diff --git a/app/views/contact_mailer/message.rhtml b/app/views/contact_mailer/message.rhtml
deleted file mode 100644
index 9c0a74c02..000000000
--- a/app/views/contact_mailer/message.rhtml
+++ /dev/null
@@ -1,11 +0,0 @@
-<%= @message.strip %>
-
----------------------------------------------------------------------
-<%= _('Message sent using {{site_name}} contact form, ', :site_name=>site_name)%>
-<%=(@logged_in_user ? ("logged in as user " + main_url(user_url(@logged_in_user))) : "not logged in")%><% if !@last_request.nil? %>
-
-<%= _('Last request viewed: ')%><%= main_url(request_url(@last_request)) %>
-<% end %> <% if !@last_body.nil? %>
-
-<%= _('Last authority viewed: ')%><%= main_url(public_body_url(@last_body)) %>
-<% end %>---------------------------------------------------------------------
diff --git a/app/views/contact_mailer/to_admin_message.rhtml b/app/views/contact_mailer/to_admin_message.rhtml
new file mode 100644
index 000000000..dc9b1090b
--- /dev/null
+++ b/app/views/contact_mailer/to_admin_message.rhtml
@@ -0,0 +1,11 @@
+<%= raw @message.strip %>
+
+---------------------------------------------------------------------
+<%= _('Message sent using {{site_name}} contact form, ', :site_name=>site_name)%>
+<%=(@logged_in_user ? ("logged in as user " + user_url(@logged_in_user)) : "not logged in")%><% if !@last_request.nil? %>
+
+<%= _('Last request viewed: ')%><%= request_url(@last_request) %>
+<% end %> <% if !@last_body.nil? %>
+
+<%= _('Last authority viewed: ')%><%= public_body_url(@last_body) %>
+<% end %>---------------------------------------------------------------------
diff --git a/app/views/contact_mailer/user_message.rhtml b/app/views/contact_mailer/user_message.rhtml
index b1d6e81ae..afa1494db 100644
--- a/app/views/contact_mailer/user_message.rhtml
+++ b/app/views/contact_mailer/user_message.rhtml
@@ -5,7 +5,7 @@
learn your email address. Only reply if that is okay.', :user_name => @from_user.name) %>
---------------------------------------------------------------------
-<%= @message.strip %>
+<%= raw @message.strip %>
---------------------------------------------------------------------
<%= _('View Freedom of Information requests made by {{user_name}}:', :user_name=>@from_user.name)%>
diff --git a/app/views/general/_advanced_search_tips.rhtml b/app/views/general/_advanced_search_tips.rhtml
index 914abc1af..08ce04439 100644
--- a/app/views/general/_advanced_search_tips.rhtml
+++ b/app/views/general/_advanced_search_tips.rhtml
@@ -23,27 +23,27 @@
<p><%= _("All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held.") %></p>
<table class="status_table">
- <tr><td><strong><%=search_link('status:waiting_response', nil, nil, true)%></strong></td><td><%= _('Waiting for the public authority to reply') %></td></tr>
- <tr><td><strong><%=search_link('status:not_held', nil, nil, true)%></strong></td><td><%= _('The public authority does not have the information requested') %></td></tr>
- <tr><td><strong><%=search_link('status:rejected', nil, nil, true)%></strong></td><td><%= _('The request was refused by the public authority') %></td></tr>
- <tr><td><strong><%=search_link('status:partially_successful', nil, nil, true)%></strong></td><td><%= _('Some of the information requested has been received') %></td></tr>
- <tr><td><strong><%=search_link('status:successful', nil, nil, true)%></strong></td><td><%= _('All of the information requested has been received') %></td></tr>
- <tr><td><strong><%=search_link('status:waiting_clarification', nil, nil, true)%></strong></td><td><%= _('The public authority would like part of the request explained') %></td></tr>
- <tr><td><strong><%=search_link('status:gone_postal', nil, nil, true)%></strong></td><td><%= _('The public authority would like to / has responded by post') %></td></tr>
- <tr><td><strong><%=search_link('status:internal_review', nil, nil, true)%></strong></td><td><%= _('Waiting for the public authority to complete an internal review of their handling of the request') %></td></tr>
- <tr><td><strong><%=search_link('status:error_message', nil, nil, true)%></strong></td><td><%= _('Received an error message, such as delivery failure.') %></td></tr>
- <tr><td><strong><%=search_link('status:requires_admin', nil, nil, true)%></strong></td><td><%= _('A strange reponse, required attention by the {{site_name}} team', :site_name=>site_name) %></td></tr>
- <tr><td><strong><%=search_link('status:user_withdrawn', nil, nil, true)%></strong></td><td><%= _('The requester has abandoned this request for some reason') %></td></tr>
+ <tr><td><strong><%=search_link('status:waiting_response')%></strong></td><td><%= _('Waiting for the public authority to reply') %></td></tr>
+ <tr><td><strong><%=search_link('status:not_held')%></strong></td><td><%= _('The public authority does not have the information requested') %></td></tr>
+ <tr><td><strong><%=search_link('status:rejected')%></strong></td><td><%= _('The request was refused by the public authority') %></td></tr>
+ <tr><td><strong><%=search_link('status:partially_successful')%></strong></td><td><%= _('Some of the information requested has been received') %></td></tr>
+ <tr><td><strong><%=search_link('status:successful')%></strong></td><td><%= _('All of the information requested has been received') %></td></tr>
+ <tr><td><strong><%=search_link('status:waiting_clarification')%></strong></td><td><%= _('The public authority would like part of the request explained') %></td></tr>
+ <tr><td><strong><%=search_link('status:gone_postal')%></strong></td><td><%= _('The public authority would like to / has responded by post') %></td></tr>
+ <tr><td><strong><%=search_link('status:internal_review')%></strong></td><td><%= _('Waiting for the public authority to complete an internal review of their handling of the request') %></td></tr>
+ <tr><td><strong><%=search_link('status:error_message')%></strong></td><td><%= _('Received an error message, such as delivery failure.') %></td></tr>
+ <tr><td><strong><%=search_link('status:requires_admin')%></strong></td><td><%= _('A strange reponse, required attention by the {{site_name}} team', :site_name=>site_name) %></td></tr>
+ <tr><td><strong><%=search_link('status:user_withdrawn')%></strong></td><td><%= _('The requester has abandoned this request for some reason') %></td></tr>
</table>
<h2 id="varieties"><%= _('Table of varieties') %></h2>
<p><%= _("All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent.") %></p>
<table class="status_table">
- <tr><td><strong><%=search_link('variety:sent', nil, nil, true)%></strong></td><td><%= _('Original request sent') %></td></tr>
- <tr><td><strong><%=search_link('variety:followup_sent', nil, nil, true)%></strong></td><td><%= _('Follow up message sent by requester') %></td></tr>
- <tr><td><strong><%=search_link('variety:response', nil, nil, true)%></strong></td><td><%= _('Response from a public authority') %></td></tr>
- <tr><td><strong><%=search_link('variety:comment', nil, nil, true)%></strong></td><td><%= _('Annotation added to request') %></td></tr>
- <tr><td><strong><%=search_link('variety:authority', nil, nil, true)%></strong></td><td><%= _('A public authority') %></td></tr>
- <tr><td><strong><%=search_link('variety:user', nil, nil, true)%></strong></td><td><%= _('A {{site_name}} user', :site_name=>site_name) %></td></tr>
+ <tr><td><strong><%=search_link('variety:sent')%></strong></td><td><%= _('Original request sent') %></td></tr>
+ <tr><td><strong><%=search_link('variety:followup_sent')%></strong></td><td><%= _('Follow up message sent by requester') %></td></tr>
+ <tr><td><strong><%=search_link('variety:response')%></strong></td><td><%= _('Response from a public authority') %></td></tr>
+ <tr><td><strong><%=search_link('variety:comment')%></strong></td><td><%= _('Annotation added to request') %></td></tr>
+ <tr><td><strong><%=search_link('variety:authority')%></strong></td><td><%= _('A public authority') %></td></tr>
+ <tr><td><strong><%=search_link('variety:user')%></strong></td><td><%= _('A {{site_name}} user', :site_name=>site_name) %></td></tr>
</table>
</div>
diff --git a/app/views/general/_footer.rhtml b/app/views/general/_footer.rhtml
index ab5ab2c47..36f3919f0 100644
--- a/app/views/general/_footer.rhtml
+++ b/app/views/general/_footer.rhtml
@@ -1,5 +1,5 @@
<div id="footer">
- <%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_url %>
+ <%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_path %>
| <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= Configuration::twitter_username %>"><%= _("Follow us on twitter") %></a>
<%= render :partial => 'general/credits' %>
</div>
diff --git a/app/views/general/_frontpage_bodies_list.rhtml b/app/views/general/_frontpage_bodies_list.rhtml
index a32885f31..75daea41d 100644
--- a/app/views/general/_frontpage_bodies_list.rhtml
+++ b/app/views/general/_frontpage_bodies_list.rhtml
@@ -11,7 +11,7 @@
<% end%>
</ul>
<p><strong>
- <%= link_to _('Browse all authorities...'), list_public_bodies_default %>
+ <%= link_to _('Browse all authorities...'), list_public_bodies_default_path %>
</strong></p>
</div>
<% end %>
diff --git a/app/views/general/_frontpage_intro_sentence.rhtml b/app/views/general/_frontpage_intro_sentence.rhtml
index 70b47ad06..74b849fc9 100644
--- a/app/views/general/_frontpage_intro_sentence.rhtml
+++ b/app/views/general/_frontpage_intro_sentence.rhtml
@@ -1,4 +1,4 @@
<h2>
Your <strong>Right to Know</strong>
</h2>
-<p>Every citizen has the right to access information held by public authorities. <strong>By law, they have to respond</strong>. <a href="<%= help_about_url %>">Find out more about freedom of information.</a></p>
+<p>Every citizen has the right to access information held by public authorities. <strong>By law, they have to respond</strong>. <a href="<%= help_about_path %>">Find out more about freedom of information.</a></p>
diff --git a/app/views/general/_frontpage_requests_list.rhtml b/app/views/general/_frontpage_requests_list.rhtml
index 3b0efb65e..fa498dfa7 100644
--- a/app/views/general/_frontpage_requests_list.rhtml
+++ b/app/views/general/_frontpage_requests_list.rhtml
@@ -19,17 +19,17 @@
:public_body_link => public_body_link(event.info_request.public_body)) %>
<% end %>
- <%=link_to h(event.info_request.title), request_url(event.info_request)%>
+ <%=link_to h(event.info_request.title), request_path(event.info_request)%>
<%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(event.described_at)) %>
- <p class="excerpt" onclick="document.location.href='<%=request_url(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", 200) %></p>
+ <p class="excerpt" onclick="document.location.href='<%=request_path(event.info_request)%>'"><%= excerpt(event.search_text_main(true), "", 200) %></p>
</li>
<% end %>
</ul>
<p><strong>
<% if @request_events_all_successful %>
- <%=link_to _('More successful requests...'), request_list_successful_url %>
+ <%=link_to _('More successful requests...'), request_list_successful_path %>
<% else %>
- <%=link_to _('More requests...'), request_list_all_url %>
+ <%=link_to _('More requests...'), request_list_all_path %>
<% end %>
</strong></p>
</div>
diff --git a/app/views/general/_frontpage_search_box.rhtml b/app/views/general/_frontpage_search_box.rhtml
index d2718b3a3..890602416 100644
--- a/app/views/general/_frontpage_search_box.rhtml
+++ b/app/views/general/_frontpage_search_box.rhtml
@@ -6,7 +6,7 @@
</h2>
<form id="search_form" method="post" action="<%= search_redirect_path %>">
<div>
- <input id="query" type="text" size="30" name="query">
+ <input id="query" type="text" size="30" name="query" title="type your search term here" >
<input type="submit" value="<%= _('Search') %>">
</div>
</form>
diff --git a/app/views/general/_locale_switcher.rhtml b/app/views/general/_locale_switcher.rhtml
index 2521b5eb5..d0040bb0d 100644
--- a/app/views/general/_locale_switcher.rhtml
+++ b/app/views/general/_locale_switcher.rhtml
@@ -5,7 +5,7 @@
<% if possible_locale == I18n.locale.to_s %>
<a href="#" class="btn disabled"><%= locale_name(possible_locale) %></a>
<% else %>
- <a href="<%= locale_switcher(possible_locale, params) %>" class="btn"><%= locale_name(possible_locale) %></a>
+ <a href="<%= url_for params.merge(:locale => possible_locale) %>" class="btn"><%= locale_name(possible_locale) %></a>
<% end %>
<% end %>
</div>
diff --git a/app/views/general/_localised_datepicker.rhtml b/app/views/general/_localised_datepicker.rhtml
index 5fdd63644..ec6593ea0 100644
--- a/app/views/general/_localised_datepicker.rhtml
+++ b/app/views/general/_localised_datepicker.rhtml
@@ -5,11 +5,11 @@
prevText: '<%= _("Prev") %>',
nextText: '<%= _("Next") %>',
currentText: '<%= _("Today") %>',
- monthNames: <%= I18n.translate('date.month_names')[1..-1].to_json %>,
- monthNamesShort: <%= I18n.translate('date.abbr_month_names')[1..-1].to_json %>,
- dayNames: <%= I18n.translate('date.day_names').to_json %>,
- dayNamesShort: <%= I18n.translate('date.abbr_day_names').to_json %>,
- dayNamesMin: <%= I18n.translate('date.abbr_day_names').collect{|x| x[0..0]}.to_json %>,
+ monthNames: <%= raw I18n.translate('date.month_names')[1..-1].to_json %>,
+ monthNamesShort: <%= raw I18n.translate('date.abbr_month_names')[1..-1].to_json %>,
+ dayNames: <%= raw I18n.translate('date.day_names').to_json %>,
+ dayNamesShort: <%= raw I18n.translate('date.abbr_day_names').to_json %>,
+ dayNamesMin: <%= raw I18n.translate('date.abbr_day_names').collect{|x| x[0..0]}.to_json %>,
weekHeader: '<%= _("Wk") %>',
dateFormat: '<%= I18n.translate('date.formats.default').sub("%Y", "yy").sub("%m", "mm").sub("%d", "dd").gsub("-", "/") %>'}
);
diff --git a/app/views/general/_orglink.rhtml b/app/views/general/_orglink.rhtml
index fbe688d85..66002c021 100644
--- a/app/views/general/_orglink.rhtml
+++ b/app/views/general/_orglink.rhtml
@@ -1,2 +1,2 @@
<%# Put the link to your organisation here, or leave blank %>
-<%= link_to image_tag('logo.png'), frontpage_url, :id=>'logo' %>
+<%= link_to image_tag('logo.png'), frontpage_path, :id=>'logo' %>
diff --git a/app/views/general/_topnav.rhtml b/app/views/general/_topnav.rhtml
index 8ef928bba..c7f2cedea 100644
--- a/app/views/general/_topnav.rhtml
+++ b/app/views/general/_topnav.rhtml
@@ -1,10 +1,10 @@
<div id="topnav">
<ul id="navigation">
- <li class="<%= 'selected' if params[:controller] == 'general' and params[:action] != 'blog' and params[:action] != 'search' %>"><%= link_to _("Home"), frontpage_url %></li>
- <li class="<%= 'selected' if params[:controller] == 'request' and ['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("Make a request"), select_authority_url, :id => 'make-request-link' %></li>
- <li class="<%= 'selected' if params[:controller] == 'request' and !['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("View requests"), request_list_successful_url %></li>
- <li class="<%= 'selected' if params[:controller] == 'public_body' %>"><%= link_to _("View authorities"), list_public_bodies_default %></li>
- <li class="<%= 'selected' if params[:controller] == 'general' and params[:action] == 'blog' %>"><%= link_to _("Read blog"), blog_url %></li>
- <li class="<%= 'selected' if params[:controller] == 'help' %>"><%= link_to _("Help"), help_about_url %></li>
+ <li class="<%= 'selected' if params[:controller] == 'general' and params[:action] != 'blog' and params[:action] != 'search' %>"><%= link_to _("Home"), frontpage_path %></li>
+ <li class="<%= 'selected' if params[:controller] == 'request' and ['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("Make a request"), select_authority_path, :id => 'make-request-link' %></li>
+ <li class="<%= 'selected' if params[:controller] == 'request' and !['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("View requests"), request_list_successful_path %></li>
+ <li class="<%= 'selected' if params[:controller] == 'public_body' %>"><%= link_to _("View authorities"), list_public_bodies_default_path %></li>
+ <li class="<%= 'selected' if params[:controller] == 'general' and params[:action] == 'blog' %>"><%= link_to _("Read blog"), blog_path %></li>
+ <li class="<%= 'selected' if params[:controller] == 'help' %>"><%= link_to _("Help"), help_about_path %></li>
</ul>
</div>
diff --git a/app/views/general/blog.rhtml b/app/views/general/blog.rhtml
index 07d6d2f14..d42b32282 100644
--- a/app/views/general/blog.rhtml
+++ b/app/views/general/blog.rhtml
@@ -5,7 +5,7 @@
<div class="act_link">
<h2><%= _("Stay up to date") %></h2>
<img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= @twitter_user %>"><%= _("Follow us on twitter") %></a><br/><br/>
- <img src="/images/feed-16.png" alt="RSS icon" valign="middle"> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
+ <img src="/images/feed-16.png" alt="RSS icon"> <a href="<%= @feed_url %>"><%= _("Subscribe to blog") %></a>
</div>
<% if Configuration::twitter_widget_id %>
<div id="twitter">
diff --git a/app/views/general/exception_caught.rhtml b/app/views/general/exception_caught.rhtml
index 5f0dfe13d..f8fe4343b 100644
--- a/app/views/general/exception_caught.rhtml
+++ b/app/views/general/exception_caught.rhtml
@@ -7,8 +7,8 @@
<ul>
<li><%= _("Check for mistakes if you typed or copied the address.")%></li>
<li><%= _("Search the site to find what you were looking for.")%>
- <% form_tag({:controller => "general", :action => "search_redirect"}, {:id => "search_form"}) do %>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
+ <% form_tag({:controller => "general", :action => "search_redirect"}, {:id => "search_form" }) do %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :title => "type your search term here" } %>
<%= submit_tag _("Search") %>
<% end %>
</li>
diff --git a/app/views/general/search.rhtml b/app/views/general/search.rhtml
index 9640bc674..df114782f 100644
--- a/app/views/general/search.rhtml
+++ b/app/views/general/search.rhtml
@@ -16,7 +16,7 @@
<% if @query.nil? %>
<h1><%= _("Search") %></h1>
<% else %>
- <h1><%= _("Search results") %></h1>
+ <h1><%= _("Search results") %></h1>
<% end%>
<% if @advanced %>
@@ -37,13 +37,13 @@
<% else %>
<% form_tag(request.url, {:method => "get", :id => "search_form"}) do %>
<p>
- <%= text_field_tag 'query', params[:query], { :size => 40 } %>
+ <%= text_field_tag 'query', params[:query], { :size => 40, :title => "type your search term here" } %>
<%= hidden_field_tag 'sortby', @inputted_sortby %>
<% if @bodies %>
<%= hidden_field_tag 'bodies', 1 %>
<% end %>
<%= submit_tag _("Search") %>
- <%= link_to(_("Advanced search"), advanced_search_url) %>
+ <%= link_to(_("Advanced search"), advanced_search_path) %>
</p>
<div id="common-subfilters">
@@ -56,7 +56,7 @@
["all", _("everything")]]%>
<% for variety, label in labels %>
<% if @variety_postfix != variety %>
- <%= link_to label, search_url([params[:query], variety, @sort_postfix]) %>
+ <%= link_to label, search_path([params[:query], variety, @sort_postfix]) %>
<% else %>
<%= label %>
<% end %>
@@ -94,7 +94,7 @@
<div>
<h3 class="title"><%= _("Search in") %></h3>
- <% [["sent", _("messages from users")],
+ <% [["sent", _("messages from users")],
["response", _("messages from authorities")],
["comment", _("comments")]].each_with_index do |item, index|
variety, title = item %>
@@ -110,21 +110,21 @@
<label class="form_label" for="query">&nbsp;<%= _("and") %></label>
<%= text_field_tag(:request_date_before, params[:request_date_before], {:class => "use-datepicker", :size => 10}) %>
</div>
- </div>
+ </div>
<% end %>
-
+
<div>
<%= submit_tag _("Filter") if @variety_postfix == "requests"%>
</div>
<% end # Search form%>
-
+
<% end # if @advanced %>
<% if !@query.nil? %>
<p id="search_controls">
- <%=link_to_unless @sortby == 'relevant', _("Show most relevant results first"), search_url([params[:query], @variety_postfix, 'relevant'], params) %>
+ <%=link_to_unless @sortby == 'relevant', _("Show most relevant results first"), search_path([params[:query], @variety_postfix, 'relevant'], params) %>
|
- <%=link_to_unless @sortby == 'newest', _("Newest results first"), search_url([params[:query], @variety_postfix, 'newest'], params) %>
+ <%=link_to_unless @sortby == 'newest', _("Newest results first"), search_path([params[:query], @variety_postfix, 'newest'], params) %>
<% if @sortby == 'described' %>
| <%= _('Recently described results first') %>
<% end %>
@@ -162,9 +162,9 @@
<%= will_paginate WillPaginate::Collection.new(@page, @bodies_per_page, @xapian_bodies.matches_estimated) %>
<% elsif @bodies && !@query.nil? && @xapian_bodies.results.size == 0 && @page == 1 %>
<% if @spelling_correction %>
- <p id="did_you_mean"><%= _('Did you mean: {{correction}}', :correction => search_link(@spelling_correction, @postfix)) %></p>
+ <p id="did_you_mean"><%= _('Did you mean: {{correction}}', :correction => search_link(@spelling_correction)) %></p>
<% end %>
- <p><%= _('<a href="{{browse_url}}">Browse all</a> or <a href="{{add_url}}">ask us to add one</a>.', :browse_url => list_public_bodies_default.html_safe, :add_url => (help_requesting_path + '#missing_body').html_safe) %></p>
+ <p><%= raw(_('<a href="{{browse_url}}">Browse all</a> or <a href="{{add_url}}">ask us to add one</a>.', :browse_url => list_public_bodies_default_path.html_safe, :add_url => (help_requesting_path + '#missing_body').html_safe)) %></p>
<% end %>
</div>
diff --git a/app/views/help/api.rhtml b/app/views/help/api.rhtml
index da6253f87..57390d65a 100644
--- a/app/views/help/api.rhtml
+++ b/app/views/help/api.rhtml
@@ -19,7 +19,7 @@
<dt>Linking to new requests</dt>
<dd>
<p>To encourage your users to make links to a particular public authority, use URLs of the form
- <%= link_to new_request_to_body_url(:url_name => "liverpool_city_council") , new_request_to_body_url(:url_name => "liverpool_city_council") %>.
+ <%= link_to new_request_to_body_path(:url_name => "liverpool_city_council") , new_request_to_body_path(:url_name => "liverpool_city_council") %>.
These are the parameters you can add to those URLs, either in the URL or from a form.
<ul>
@@ -30,15 +30,15 @@
</ul>
</dd>
- <dt>RSS (actually, Atom) feeds</h2>
+ <dt>RSS (actually, Atom) feeds</dt>
<dd>
<p>There are Atom feeds on most pages which list FOI requests, which you can
use to get updates and links in XML format. Find the URL of the Atom feed in
one of these ways:
<ul>
<li>Look for the <img src="/images/feed-16.png" alt=""> RSS feed links.</li>
- <li>Examine the <tt>&lt;link rel="alternate" type="application/atom+xml"&gt;</tt> tag in the head of the HTML. </li>
- <li>Add <tt>/feed</tt> to the start of another URL.
+ <li>Examine the <code>&lt;link rel="alternate" type="application/atom+xml"&gt;</code> tag in the head of the HTML. </li>
+ <li>Add <code>/feed</code> to the start of another URL.
</ul>
<p>In particular, even complicated search queries have Atom feeds.
@@ -53,8 +53,8 @@
objects in a structured form. Find them by:
</p>
<ul>
- <li>Adding <tt>.json</tt> to the end of the URL. </li>
- <li>Look for the <tt>&lt;link rel="alternate" type="application/json"&gt;</tt> tag in the head of the HTML. </li>
+ <li>Adding <code>.json</code> to the end of the URL. </li>
+ <li>Look for the <code>&lt;link rel="alternate" type="application/json"&gt;</code> tag in the head of the HTML. </li>
</ul>
<p>Requests, users and authorities all have JSON versions containing basic
@@ -67,7 +67,7 @@
<dd>
<p>
A spreadsheet file listing every body in WhatDoTheyKnow is available:
- <%= link_to "all-authorities.csv", all_public_bodies_csv_url() %>
+ <%= link_to "all-authorities.csv", all_public_bodies_csv_path %>
</p>
</dd>
diff --git a/app/views/help/contact.rhtml b/app/views/help/contact.rhtml
index fab5017b8..b1b5d4f24 100644
--- a/app/views/help/contact.rhtml
+++ b/app/views/help/contact.rhtml
@@ -46,7 +46,7 @@
<p>
<label class="form_label" for="contact_name">Your name:</label>
<%= f.text_field :name, :size => 20 %>
- (or <%= link_to "sign in", signin_url(:r => request.request_uri) %>)
+ (or <%= link_to "sign in", signin_path(:r => request.request_uri) %>)
</p>
<p>
diff --git a/app/views/help/officers.rhtml b/app/views/help/officers.rhtml
index b13e225fe..6db706f78 100644
--- a/app/views/help/officers.rhtml
+++ b/app/views/help/officers.rhtml
@@ -222,7 +222,7 @@
form in an annotation.
</dd>
- <dt id="copyright"><a name="commercial"></a>What is your policy on copyright of documents?<a href="#copyright">#</a> </dt>
+ <dt id="copyright"><a id="commercial"></a>What is your policy on copyright of documents?<a href="#copyright">#</a> </dt>
<dd>Our Freedom of Information law is "applicant blind", so anyone in the
world can request the same document and get a copy of it.
@@ -235,9 +235,6 @@
</dl>
-
- </dl>
-
<p><strong>If you haven't already</strong>, read <a href="<%= help_about_path %>">the introduction</a> --&gt;
<br><strong>Otherwise</strong>, the <a href="<%= help_credits_path %>">credits</a> or the <a href="<%= help_api_path %>">programmers API</a> --&gt;
diff --git a/app/views/help/unhappy.rhtml b/app/views/help/unhappy.rhtml
index 2b00341c2..79e3f8273 100644
--- a/app/views/help/unhappy.rhtml
+++ b/app/views/help/unhappy.rhtml
@@ -29,7 +29,7 @@ to your request '<%=request_link(@info_request) %>'?
<p>
<% if !@info_request.nil? %>
- <%= link_to "Request an internal review", show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup", :class => 'link_button_green' %> and then write a message asking the authority to review your request.
+ <%= link_to "Request an internal review", show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup", :class => 'link_button_green' %> and then write a message asking the authority to review your request.
<% else %>
At the bottom of the relevant request page on <%= site_name %> choose
"request an internal review". Then write a message asking for an internal
@@ -62,7 +62,7 @@ to the Scottish Information Commissioner</a>.
Information Commissioner, either
<% if !@info_request.nil? %>
include a link to your request
- <strong><%=h main_url(request_url(@info_request)) %></strong>
+ <strong><%=h request_url(@info_request) %></strong>
<% else %>
include a link to your request on <%= site_name %>
<% end %>
diff --git a/app/views/layouts/admin.rhtml b/app/views/layouts/admin.rhtml
index d85eecbf2..a58913892 100644
--- a/app/views/layouts/admin.rhtml
+++ b/app/views/layouts/admin.rhtml
@@ -1,39 +1,38 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!DOCTYPE html>
<html lang="en-gb">
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" >
<title><%= site_name %> admin<%= @title ? ":" : "" %> <%=@title%></title>
-
- <%= javascript_include_tag 'jquery.js', 'jquery-ui.min' %>
+ <%= javascript_include_tag '/javascripts/jquery.js', '/admin/javascripts/jquery-ui.min.js', '/admin/javascripts/bootstrap-collapse', '/admin/javascripts/bootstrap-tab', '/admin/javascripts/admin' %>
<%= stylesheet_link_tag 'admin-theme/jquery-ui-1.8.15.custom.css', :rel => 'stylesheet'%>
- <%= stylesheet_link_tag 'admin', :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+
</head>
<body class="admin">
+ <div id="main" class="container">
+ <%= render :partial => 'admin_general/admin_navbar' %>
+ <% if flash[:error] %>
+ <div class="row">
+ <div class="span12">
+ <div class="alert alert-error">
+ <%= flash[:error] %>
+ </div>
+ </div>
+ </div>
+ <% end %>
- <p>
- <strong><%= link_to 'Alaveteli', main_url('/') %> admin:</strong>
- <%= link_to 'Summary', admin_url("") %>
- | <%= link_to 'Timeline', admin_url("timeline") %>
- | <%= link_to 'Stats', admin_url("stats") %>
- | <%= link_to 'Debug', admin_url("debug") %>
- <strong>View:</strong>
- <%= link_to 'Authorities', admin_url("body/list") %>
- | <%= link_to 'Requests', admin_url("request/list") %>
- | <%= link_to 'Users', admin_url("user/list") %>
- | <%= link_to 'Tracks', admin_url("track/list") %>
- </p>
- <%= render :partial => 'general/locale_switcher' %>
-
- <% if flash[:error] %>
- <p id="error"><%= flash[:error] %></p>
- <% end %>
-
- <% if flash[:notice] %>
- <p id="notice"><%= flash[:notice] %></p>
- <% end %>
+ <% if flash[:notice] %>
+ <div class="row">
+ <div class="span12">
+ <div class="alert alert-info">
+ <%= flash[:notice] %>
+ </div>
+ </div>
+ </div>
+ <% end %>
- <%= yield %>
-
+ <%= yield %>
+ </div>
</body>
</html>
diff --git a/app/views/layouts/default.rhtml b/app/views/layouts/default.rhtml
index 6ac7064a7..a66b85e02 100644
--- a/app/views/layouts/default.rhtml
+++ b/app/views/layouts/default.rhtml
@@ -1,6 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!DOCTYPE html>
<html lang="<%= I18n.locale %>">
<head>
+ <meta charset="utf-8">
<title>
<% if @title %>
<%=@title%> - <%= site_name %>
@@ -13,7 +14,7 @@
<%= render :partial => 'general/stylesheet_includes' %>
<% if is_admin? %>
- <%= stylesheet_link_tag "/adminbootstraptheme/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
+ <%= stylesheet_link_tag "/admin/stylesheets/admin", :title => "Main", :rel => "stylesheet" %>
<% end %>
<%= javascript_include_tag 'jquery.js', 'jquery-ui.min','jquery.cookie.js', 'general.js' %>
@@ -32,7 +33,7 @@
<% end %>
<% end %>
<% if @has_json %>
- <link rel="alternate" type="application/json" title="JSON version of this page" href="<%=h main_url(request.request_uri, '.json') %>">
+ <link rel="alternate" type="application/json" title="JSON version of this page" href="<%=h url_for(request.query_parameters.merge(:format => 'json')) %>">
<% end %>
<% if @no_crawl %>
@@ -92,9 +93,9 @@
<% end %>
- <%= link_to _("Sign out"), signout_url(:r => request.request_uri) %>
+ <%= link_to _("Sign out"), signout_path(:r => request.request_uri) %>
<% else %>
- <%= link_to _("Sign in or sign up"), signin_url(:r => request.request_uri) %>
+ <%= link_to _("Sign in or sign up"), signin_path(:r => request.request_uri) %>
<% end %>
</div>
<% end %>
@@ -102,7 +103,7 @@
<div id="navigation_search">
<form id="navigation_search_form" method="post" action="<%= search_redirect_path %>">
<p>
- <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query" } %>
+ <%= text_field_tag 'query', params[:query], { :size => 40, :id => "navigation_search_query", :title => "type your search term here" } %>
<input id="navigation_search_button" type="submit" value="search">
</p>
</form>
diff --git a/app/views/layouts/no_chrome.rhtml b/app/views/layouts/no_chrome.rhtml
index 74c79b701..120ba6f28 100644
--- a/app/views/layouts/no_chrome.rhtml
+++ b/app/views/layouts/no_chrome.rhtml
@@ -1,6 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!DOCTYPE html>
<html lang="<%= I18n.locale %>">
<head>
+ <meta charset="utf-8">
<title>
<% if @title %>
<%=@title%> - <%= site_name %>
diff --git a/app/views/outgoing_mailer/followup.rhtml b/app/views/outgoing_mailer/followup.rhtml
index 7050a295b..049ebc881 100644
--- a/app/views/outgoing_mailer/followup.rhtml
+++ b/app/views/outgoing_mailer/followup.rhtml
@@ -1,6 +1,6 @@
-<%= @outgoing_message.body.strip %>
+<%= raw @outgoing_message.body.strip %>
-<%= @outgoing_message.quoted_part_to_append_to_email.strip %>
+<%= raw @outgoing_message.quoted_part_to_append_to_email.strip %>
-------------------------------------------------------------------
<%= _('Please use this email address for all replies to this request:')%>
diff --git a/app/views/outgoing_mailer/initial_request.rhtml b/app/views/outgoing_mailer/initial_request.rhtml
index d537a20bc..5c418ecc7 100644
--- a/app/views/outgoing_mailer/initial_request.rhtml
+++ b/app/views/outgoing_mailer/initial_request.rhtml
@@ -1,4 +1,4 @@
-<%= @outgoing_message.body.strip %>
+<%= raw @outgoing_message.body.strip %>
-------------------------------------------------------------------
diff --git a/app/views/public_body/_alphabet.rhtml b/app/views/public_body/_alphabet.rhtml
index 92674b8aa..46b345c2a 100644
--- a/app/views/public_body/_alphabet.rhtml
+++ b/app/views/public_body/_alphabet.rhtml
@@ -1,3 +1,3 @@
<% "A".upto("Z") do |l| -%>
- <%= link_to_unless (@tag == l), l, list_public_bodies_url(:tag => l.downcase) %>
+ <%= link_to_unless (@tag == l), l, list_public_bodies_path(:tag => l.downcase) %>
<% end %>
diff --git a/app/views/public_body/_body_listing_single.rhtml b/app/views/public_body/_body_listing_single.rhtml
index 600fe3b6d..8e0a64df7 100644
--- a/app/views/public_body/_body_listing_single.rhtml
+++ b/app/views/public_body/_body_listing_single.rhtml
@@ -4,7 +4,7 @@
<div class="body_listing">
<span class="head">
- <%= link_to highlight_words(public_body.name, @highlight_words), public_body_url(public_body) %>
+ <%= link_to highlight_words(public_body.name, @highlight_words), public_body_path(public_body) %>
</span>
<span class="desc">
<% if !public_body.short_name.empty? || !public_body.notes_without_html.empty? %>
@@ -21,7 +21,7 @@
<%= n_('{{count}} request made.', '{{count}} requests made.', public_body.info_requests.size,
:count => public_body.info_requests.size) %>
<% if !@include_request_link_in_authority_listing.nil? %>
- <%= link_to _("Make your own request"), public_body_url(public_body) %>.
+ <%= link_to _("Make your own request"), public_body_path(public_body) %>.
<% end %>
<br>
<span class="date_added">
diff --git a/app/views/public_body/_list_sidebar_extra.rhtml b/app/views/public_body/_list_sidebar_extra.rhtml
index 1ce0fbaa9..290593d6a 100644
--- a/app/views/public_body/_list_sidebar_extra.rhtml
+++ b/app/views/public_body/_list_sidebar_extra.rhtml
@@ -2,5 +2,5 @@
<%= link_to _('Are we missing a public authority?'), help_requesting_path + '#missing_body' %>
</p>
<p>
- <%= link_to _('List of all authorities (CSV)'), all_public_bodies_csv_url() %>
+ <%= link_to _('List of all authorities (CSV)'), all_public_bodies_csv_path %>
</p>
diff --git a/app/views/public_body/list.rhtml b/app/views/public_body/list.rhtml
index 9edaf1c36..34b34d550 100644
--- a/app/views/public_body/list.rhtml
+++ b/app/views/public_body/list.rhtml
@@ -10,7 +10,7 @@
<% for row in PublicBodyCategories::get().with_headings() %>
<% if row.instance_of?(Array) %>
<li>
- <%= link_to_unless (@tag == row[0]), row[1], list_public_bodies_url(:tag => row[0]) %>
+ <%= link_to_unless (@tag == row[0]), row[1], list_public_bodies_path(:tag => row[0]) %>
</li>
<% else %>
<% if not first_row %>
@@ -34,7 +34,7 @@
<% form_tag(list_public_bodies_default_url, :method => "get", :id=>"search_form") do %>
<div>
- <%= text_field_tag(:public_body_query, params[:public_body_query]) %>
+ <%= text_field_tag(:public_body_query, params[:public_body_query], { :title => "type your search term here" } ) %>
<%= submit_tag(_("Search")) %>
</div>
<% end %>
diff --git a/app/views/public_body/show.rhtml b/app/views/public_body/show.rhtml
index 6e0e0c010..fa6243b47 100644
--- a/app/views/public_body/show.rhtml
+++ b/app/views/public_body/show.rhtml
@@ -31,7 +31,7 @@
<% end %>
<% end %>
<% end %>
- <%= link_to _('View FOI email address'), view_public_body_email_url(@public_body.url_name) %><br>
+ <%= link_to _('View FOI email address'), view_public_body_email_path(@public_body.url_name) %><br>
</div>
<div id="header_left">
@@ -42,12 +42,12 @@
<%=@public_body.type_of_authority(true)%><% if not @public_body.short_name.empty? %>,
<%= _('also called {{public_body_short_name}}', :public_body_short_name => h(@public_body.short_name))%><% end %>
<% if !@user.nil? && @user.admin_page_links? %>
- (<%= link_to _("admin"), public_body_admin_url(@public_body) %>)
+ (<%= link_to _("admin"), admin_body_show_path(@public_body) %>)
<% end %>
</p>
<% if @public_body.has_notes? && (@public_body.is_requestable? || @public_body.not_requestable_reason == 'bad_contact') %>
- <p><%= @public_body.notes_as_html %></p>
+ <p><%= @public_body.notes_as_html.html_safe %></p>
<% end %>
<% if @public_body.eir_only? %>
@@ -63,7 +63,7 @@
<% end %>
&nbsp;<%= link_to _("Start"), new_request_to_body_url(:url_name => @public_body.url_name), :class => "link_button_green" %>
<% elsif @public_body.has_notes? %>
- <%= @public_body.notes_as_html %>
+ <%= @public_body.notes_as_html.html_safe %>
<% elsif @public_body.not_requestable_reason == 'not_apply' %>
<%= _('Freedom of Information law does not apply to this authority, so you cannot make
a request to it.')%>
diff --git a/app/views/public_body/view_email.rhtml b/app/views/public_body/view_email.rhtml
index a213ff93d..3f0a558c7 100644
--- a/app/views/public_body/view_email.rhtml
+++ b/app/views/public_body/view_email.rhtml
@@ -25,19 +25,19 @@
<p>
<% if @public_body.is_requestable? || @public_body.not_requestable_reason != 'bad_contact' %>
- <%= _('If the address is wrong, or you know a better address, please <a href="{{url}}">contact us</a>.', :url => help_contact_path.html_safe) %>
+ <%= raw(_('If the address is wrong, or you know a better address, please <a href="{{url}}">contact us</a>.', :url => help_contact_path.html_safe)) %>
<% else %>
- <%= _(' If you know the address to use, then please <a href="{{url}}">send it to us</a>.
- You may be able to find the address on their website, or by phoning them up and asking.', :url =>help_contact_path.html_safe) %>
+ <%= raw(_(' If you know the address to use, then please <a href="{{url}}">send it to us</a>.
+ You may be able to find the address on their website, or by phoning them up and asking.', :url =>help_contact_path.html_safe)) %>
<% end %>
</p>
<div id="stepwise_make_request_view_email">
<strong>
<% if @public_body.eir_only? %>
- <%= link_to "Make a new EIR request", new_request_to_body_url(:url_name => @public_body.url_name)%>
+ <%= link_to "Make a new EIR request", new_request_to_body_path(:url_name => @public_body.url_name)%>
<% else %>
- <%= link_to "Make a new FOI request", new_request_to_body_url(:url_name => @public_body.url_name)%>
+ <%= link_to "Make a new FOI request", new_request_to_body_path(:url_name => @public_body.url_name)%>
<% end %>
to <%= h(@public_body.name) %>
</strong>
diff --git a/app/views/request/_after_actions.rhtml b/app/views/request/_after_actions.rhtml
index 204c407ee..b54a8f5fb 100644
--- a/app/views/request/_after_actions.rhtml
+++ b/app/views/request/_after_actions.rhtml
@@ -7,7 +7,7 @@
<ul>
<% if @info_request.comments_allowed? %>
<li>
- <%= _('<a href="{{url}}">Add an annotation</a> (to help the requester or others)', :url => new_comment_url(:url_title => @info_request.url_title).html_safe) %>
+ <%= raw(_('<a href="{{url}}">Add an annotation</a> (to help the requester or others)', :url => new_comment_url(:url_title => @info_request.url_title).html_safe)) %>
</li>
<% end %>
<% if @old_unclassified %>
@@ -17,7 +17,7 @@
<% end %>
<% if @info_request.all_can_view? %>
<li>
- <%= link_to _("Download a zip file of all correspondence"), download_entire_request_url(:url_title => @info_request.url_title) %>
+ <%= link_to _("Download a zip file of all correspondence"), download_entire_request_path(:url_title => @info_request.url_title) %>
</li>
<% end %>
</ul>
@@ -29,18 +29,18 @@
<li>
<% if @last_response.nil? %>
- <%= link_to _("Send a followup"), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "#followup" %>
+ <%= link_to _("Send a followup"), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil) + "#followup" %>
<% else %>
- <%= link_to _("Write a reply"), show_response_url(:id => @info_request.id, :incoming_message_id => @last_response.id) + "#followup" %>
+ <%= link_to _("Write a reply"), show_response_path(:id => @info_request.id, :incoming_message_id => @last_response.id) + "#followup" %>
<% end %>
</li>
<% if !@old_unclassified %>
<li>
- <%= link_to _("Update the status of this request"), request_url(@info_request, :update_status => 1) %>
+ <%= link_to _("Update the status of this request"), request_path(@info_request, :update_status => 1) %>
</li>
<% end %>
<li>
- <%= link_to _("Request an internal review"), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>
+ <%= link_to _("Request an internal review"), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>
</li>
</ul>
</div>
@@ -50,7 +50,7 @@
<strong><%= _('{{public_body_name}} only:',:public_body_name=>h(@info_request.public_body.name) ) %> </strong>
<ul>
<li>
- <%= link_to _("Respond to request"), upload_response_url(:url_title => @info_request.url_title) %>
+ <%= link_to _("Respond to request"), upload_response_path(:url_title => @info_request.url_title) %>
</li>
</ul>
</div>
diff --git a/app/views/request/_bubble.rhtml b/app/views/request/_bubble.rhtml
index 747e2aa1f..94498612a 100644
--- a/app/views/request/_bubble.rhtml
+++ b/app/views/request/_bubble.rhtml
@@ -5,26 +5,26 @@
<% attachments.each do |a| %>
<p class="attachment">
<%
- attachment_url = get_attachment_url(:id => incoming_message.info_request_id,
+ attachment_path = get_attachment_path(:id => incoming_message.info_request_id,
:incoming_message_id => incoming_message.id, :part => a.url_part_number,
:file_name => a.display_filename)
- attachment_as_html_url = get_attachment_as_html_url(:id => incoming_message.info_request_id,
+ attachment_as_html_path = get_attachment_as_html_path(:id => incoming_message.info_request_id,
:incoming_message_id => incoming_message.id, :part => a.url_part_number,
:file_name => a.display_filename + '.html')
%>
<% img_filename = "icon_" + a.content_type.sub('/', '_') + "_large.png"
full_filename = File.expand_path(File.join(File.dirname(__FILE__), "../../../public/images", img_filename))
if File.exist?(full_filename) %>
- <a href="<%=attachment_url%>"><img class="attachment_image" alt="Attachment" src="/images/<%=img_filename%>"></a>
+ <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/<%=img_filename%>"></a>
<% else %>
- <a href="<%=attachment_url%>"><img class="attachment_image" alt="Attachment" src="/images/icon_unknown.png"></a>
+ <a href="<%=attachment_path%>"><img class="attachment_image" alt="Attachment" src="/images/icon_unknown.png"></a>
<% end %>
<strong><%= h a.display_filename %></strong>
<br>
<%= a.display_size %>
- <%= link_to "Download", attachment_url %>
+ <%= link_to "Download", attachment_path %>
<% if a.has_body_as_html? && incoming_message.info_request.all_can_view? %>
- <%= link_to "View as HTML", attachment_as_html_url %>
+ <%= link_to "View as HTML", attachment_as_html_path %>
<% end %>
<!-- (<%= a.content_type %>) -->
<%= a.extra_note %>
diff --git a/app/views/request/_correspondence.rhtml b/app/views/request/_correspondence.rhtml
index 99c6c7d26..68711b259 100644
--- a/app/views/request/_correspondence.rhtml
+++ b/app/views/request/_correspondence.rhtml
@@ -21,9 +21,9 @@ if not incoming_message.nil?
<p class="event_actions">
<% if !@user.nil? && @user.admin_page_links? %>
- <%= link_to "Admin", admin_url("request/show_raw_email/" + incoming_message.raw_email_id.to_s) %> |
+ <%= link_to "Admin", admin_request_show_raw_email_path(incoming_message.raw_email_id) %> |
<% end %>
- <%= link_to _("Link to this"), incoming_message_url(incoming_message), :class => "link_to_this" %>
+ <%= link_to _("Link to this"), incoming_message_path(incoming_message), :class => "link_to_this" %>
</p>
</div>
<%
@@ -51,7 +51,7 @@ elsif [ 'sent', 'followup_sent' ].include?(info_request_event.event_type)
<% end %>
-->
- <%= link_to _("Link to this"), outgoing_message_url(outgoing_message), :class => "link_to_this" %>
+ <%= link_to _("Link to this"), outgoing_message_path(outgoing_message), :class => "link_to_this" %>
</p>
</div>
<% elsif [ 'resent', 'followup_resent' ].include?(info_request_event.event_type) %>
diff --git a/app/views/request/_describe_state.rhtml b/app/views/request/_describe_state.rhtml
index 5b6004e81..0b65024fd 100644
--- a/app/views/request/_describe_state.rhtml
+++ b/app/views/request/_describe_state.rhtml
@@ -3,7 +3,7 @@
<% form_for(:incoming_message, @info_request, :url => describe_state_url(:id => @info_request.id)) do |f| %>
<h2><%= _('What best describes the status of this request now?') %></h2>
- <hr> <!------------------------------------------------>
+ <hr>
<h3><%= _('This request is still in progress:') %></h3>
<% if @info_request.described_state != 'internal_review' %>
<div>
@@ -40,7 +40,7 @@
<%= render :partial => 'general/custom_state_transitions_pending', :locals => {:id_suffix => id_suffix } %>
- <hr> <!------------------------------------------------>
+ <hr>
<h3><%= _('This particular request is finished:') %></h3>
<% if @info_request.described_state == 'internal_review' %>
@@ -67,7 +67,7 @@
<%= render :partial => 'general/custom_state_transitions_complete', :locals => {:id_suffix => id_suffix } %>
- <hr> <!------------------------------------------------>
+ <hr>
<h3><%= _('Other:') %></h3>
<div>
@@ -97,7 +97,6 @@
<p>
<%= hidden_field_tag 'last_info_request_event_id', @last_info_request_event_id, :id => 'last_info_request_event_id' + id_suffix %>
- <%= hidden_field_tag 'submitted_describe_state', 1, :id => 'submitted_describe_state' + id_suffix %>
<%= submit_tag _("Submit status") %> (<%= _('and we\'ll suggest <strong>what to do next</strong>') %>)
</p>
<% end %>
diff --git a/app/views/request/_followup.rhtml b/app/views/request/_followup.rhtml
index 4f7d99dd4..3776980a0 100644
--- a/app/views/request/_followup.rhtml
+++ b/app/views/request/_followup.rhtml
@@ -1,5 +1,10 @@
<div id="followup">
<% if (incoming_message.nil? || !incoming_message.valid_to_reply_to?)
+ # TRANSLATORS: This phrase completes the following sentences:
+ # Request an internal review from...
+ # Send a public follow up message to...
+ # Send a public reply to...
+ # Don't want to address your message to... ?
name_for_followup = _("the main FOI contact at {{public_body}}", :public_body => h(OutgoingMailer.name_for_followup(@info_request, nil)))
else
name_for_followup = h(OutgoingMailer.name_for_followup(@info_request, incoming_message))
@@ -20,18 +25,18 @@
<ul>
<% @info_request.who_can_followup_to(incoming_message).each do |name, email, id| %>
<% if id.nil? && !incoming_message.nil? && incoming_message.valid_to_reply_to? %>
- <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil)) %></li>
+ <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil)) %></li>
<% else %>
<% if !id.nil? %>
<% if @info_request.public_body.request_email == email %>
<% if !incoming_message.nil? %>
- <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil)) %></li>
+ <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil)) %></li>
<% end %>
<% else %>
- <li><%= link_to name, show_response_url(:id => @info_request.id, :incoming_message_id => id)%></li>
+ <li><%= link_to name, show_response_path(:id => @info_request.id, :incoming_message_id => id)%></li>
<% end %>
<% else %>
- <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil)) %></li>
+ <li><%= link_to(_("the main FOI contact address for {{public_body}}", :public_body => name), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil)) %></li>
<% end %>
<% end %>
@@ -64,7 +69,6 @@
<% end %>
<%= _('by <strong>{{date}}</strong>',:date=>simple_date(@info_request.date_response_required_by)) %>
(<%= link_to _('details'), "#{help_requesting_path}#quickly_response" %>).
-
</p>
<% elsif status == 'waiting_response_very_overdue' %>
<p>
diff --git a/app/views/request/_other_describe_state.rhtml b/app/views/request/_other_describe_state.rhtml
index e274fe8c9..3a80823c6 100644
--- a/app/views/request/_other_describe_state.rhtml
+++ b/app/views/request/_other_describe_state.rhtml
@@ -75,7 +75,6 @@
<p>
<%= hidden_field_tag 'last_info_request_event_id', @last_info_request_event_id, :id => 'last_info_request_event_id' + id_suffix %>
- <%= hidden_field_tag 'submitted_describe_state', 1, :id => 'submitted_describe_state' + id_suffix %>
<%= submit_tag "Submit status" %>
</p>
<% end %>
diff --git a/app/views/request/_request_listing_short_via_event.rhtml b/app/views/request/_request_listing_short_via_event.rhtml
index d93a91070..c2f6474a1 100644
--- a/app/views/request/_request_listing_short_via_event.rhtml
+++ b/app/views/request/_request_listing_short_via_event.rhtml
@@ -3,11 +3,11 @@
end %>
<div class="request_short_listing">
- <h3><%= link_to highlight_words(info_request.title, @highlight_words), request_url(info_request) %></h3>
+ <h3><%= link_to highlight_words(info_request.title, @highlight_words), request_path(info_request) %></h3>
<p>
-<%= _('To {{public_body_link_absolute}}',:public_body_link_absolute => public_body_link_absolute(info_request.public_body))%>
-<%= _('by {{user_link_absolute}}',:user_link_absolute => request_user_link_absolute(info_request))%>
+<%= _('To {{public_body_link_absolute}}',:public_body_link_absolute => public_body_link(info_request.public_body))%>
+<%= _('by {{user_link_absolute}}',:user_link_absolute => request_user_link(info_request))%>
<%= simple_date(info_request.created_at) %>
</p>
</div>
diff --git a/app/views/request/_request_listing_single.rhtml b/app/views/request/_request_listing_single.rhtml
index e8c1a393f..56737fd3e 100644
--- a/app/views/request/_request_listing_single.rhtml
+++ b/app/views/request/_request_listing_single.rhtml
@@ -1,6 +1,6 @@
<div class="request_listing">
<span class="head">
- <%= link_to h(info_request.title), (@play_urls ? request_path(:url_title => info_request.url_title) : request_url(info_request)) %>
+ <%= link_to h(info_request.title), (@play_urls ? categorise_request_path(:url_title => info_request.url_title) : request_path(info_request)) %>
</span>
<span class="desc">
<%= excerpt(info_request.initial_request_text, "", 150) %>
diff --git a/app/views/request/_request_listing_via_event.rhtml b/app/views/request/_request_listing_via_event.rhtml
index 2ba9613e5..cc8bae8a9 100644
--- a/app/views/request/_request_listing_via_event.rhtml
+++ b/app/views/request/_request_listing_via_event.rhtml
@@ -6,13 +6,13 @@ end %>
<div class="request_left">
<span class="head">
<% if event.is_incoming_message? %>
- <%= link_to highlight_words(info_request.title, @highlight_words), incoming_message_url(event.incoming_message_selective_columns("incoming_messages.id")) %>
+ <%= link_to highlight_words(info_request.title, @highlight_words), incoming_message_path(event.incoming_message_selective_columns("incoming_messages.id")) %>
<% elsif event.is_outgoing_message? and event.event_type == 'followup_sent' %>
- <%= link_to highlight_words(info_request.title, @highlight_words), outgoing_message_url(event.outgoing_message) %>
+ <%= link_to highlight_words(info_request.title, @highlight_words), outgoing_message_path(event.outgoing_message) %>
<% elsif event.is_comment? %>
- <%= link_to highlight_words(info_request.title, @highlight_words), comment_url(event.comment) %>
+ <%= link_to highlight_words(info_request.title, @highlight_words), comment_path(event.comment) %>
<% else %>
- <%= link_to highlight_words(info_request.title, @highlight_words), request_url(info_request) %>
+ <%= link_to highlight_words(info_request.title, @highlight_words), request_path(info_request) %>
<% end %>
</span>
<div class="requester">
diff --git a/app/views/request/_sidebar.rhtml b/app/views/request/_sidebar.rhtml
index 6f1349715..c7d21d867 100644
--- a/app/views/request/_sidebar.rhtml
+++ b/app/views/request/_sidebar.rhtml
@@ -9,7 +9,7 @@
follower_count,
:count => follower_count) %>
</p>
- <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => @info_request.user == @user, :location => 'sidebar' } %>
+ <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => @info_request.user && @info_request.user == @user, :location => 'sidebar' } %>
</div>
<% if @info_request.described_state != "attention_requested" %>
<h2><%= _('Offensive? Unsuitable?') %></h2>
@@ -30,23 +30,26 @@
<% else %>
<p><%= _('Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href="/help/about">read more</a>).') %></p>
<p><%= _('If you believe this request is not suitable, you can report it for attention by the site administrators') %></p>
- <%= link_to _("Report this request"), report_path, :class => "link_button_green", :method => "POST" %>
+ <%= button_to _("Report this request"), report_path, :class => "link_button_green" %>
<% end %>
<% end %>
<h2><%= _("Act on what you've learnt") %></h2>
<div class="act_link">
- <% tweet_link = "https://twitter.com/share?url=#{h(request.url)}&via=#{h(Configuration::twitter_username)}&text='#{h(@info_request.title)}'&related=#{_('alaveteli_foi:The software that runs {{site_name}}', :site_name => h(site_name))}" %>
- <% link_to tweet_link do %>
+ <%
+ # Cast "related" to normal string because html safe string (from rails_xss gem) and CGI::escape
+ # interact badly with ':' character. Go figure! Might go away in rails 3
+ %>
+ <% link_to "https://twitter.com/share?" + {:url => request.url, :via => Configuration::twitter_username, :text => @info_request.title, :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name).to_str}.to_query do %>
<%= image_tag "twitter-16.png", :alt => "twitter icon" %>
+ <%= _("Tweet this request") %>
<% end %>
- <%= link_to _("Tweet this request"), tweet_link %>
</div>
<div class="act_link">
<% link_to "http://wordpress.com/" do %>
<%= image_tag "wordpress.png", :class => "rss" %>
+ <%= _("Start your own blog") %>
<% end %>
- <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
</div>
<%= render :partial => 'request/next_actions' %>
@@ -58,12 +61,12 @@
<%= render :partial => 'request/request_listing_short_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
<% end %>
<% if @xapian_similar_more %>
- <p><%= link_to _("More similar requests"), request_similar_url(@info_request) %></p>
+ <p><%= link_to _("More similar requests"), similar_request_path(@info_request) %></p>
<% end %>
<!-- Important terms: <%= @xapian_similar.important_terms.join(" ") %> -->
<% end %>
- <p><%= link_to _('Event history details'), request_details_url(@info_request) %></p>
+ <p><%= link_to _('Event history details'), request_details_path(@info_request) %></p>
<!-- this link with this wording is here for legal reasons, discuss with
board and our lawyer before changing or removing it -->
diff --git a/app/views/request/_view_html_prefix.rhtml b/app/views/request/_view_html_prefix.rhtml
index b29830ac7..3a9946745 100644
--- a/app/views/request/_view_html_prefix.rhtml
+++ b/app/views/request/_view_html_prefix.rhtml
@@ -7,6 +7,6 @@
<br>(<%=h @attachment.name_of_content_type %>)
</div>
<%= _('This is an HTML version of an attachment to the Freedom of Information request')%>
- '<%=link_to h(@info_request.title), incoming_message_url(@incoming_message)%>'.
+ '<%=link_to h(@info_request.title), incoming_message_path(@incoming_message)%>'.
</div>
diff --git a/app/views/request/_wall_listing.rhtml b/app/views/request/_wall_listing.rhtml
index 9cde234c0..b6b4b38b1 100644
--- a/app/views/request/_wall_listing.rhtml
+++ b/app/views/request/_wall_listing.rhtml
@@ -6,13 +6,13 @@ end %>
<div class="request_left">
<div class="requester">
<% if event.event_type == 'sent' %>
- <%= _('A new request, <em><a href="{{request_url}}">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}.',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>user_link_absolute(info_request.user),:date=>simple_date(event.created_at),:request_url=>request_url(info_request),:request_title=>info_request.title) %>
+ <%= _('A new request, <em><a href="{{request_url}}">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}.',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>request_user_link_absolute(info_request),:date=>simple_date(event.created_at),:request_url=>request_path(info_request),:request_title=>info_request.title) %>
<% elsif event.event_type == 'followup_sent' %>
- <%= _('A <a href="{{request_url}}">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}.',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>user_link_absolute(info_request.user),:date=>simple_date(event.created_at),:request_url=>outgoing_message_url(event.outgoing_message),:request_title=>info_request.title) %>
+ <%= _('A <a href="{{request_url}}">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}.',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>request_user_link_absolute(info_request),:date=>simple_date(event.created_at),:request_url=>outgoing_message_path(event.outgoing_message),:request_title=>info_request.title) %>
<% elsif event.event_type == 'response' %>
- <%= _('A <a href="{{request_url}}">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>user_link_absolute(info_request.user),:date=>simple_date(event.created_at),:request_url=>incoming_message_url(event.incoming_message_selective_columns("incoming_messages.id")),:request_title=>info_request.title,:request_status=>info_request.display_status) %>
+ <%= _('A <a href="{{request_url}}">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>request_user_link_absolute(info_request),:date=>simple_date(event.created_at),:request_url=>incoming_message_path(event.incoming_message_selective_columns("incoming_messages.id")),:request_title=>info_request.title,:request_status=>info_request.display_status) %>
<% elsif event.event_type == 'comment' %>
- <%= _('An <a href="{{request_url}}">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>user_link_absolute(info_request.user),:event_comment_user=>user_link_absolute(event.comment.user),:date=>simple_date(event.created_at),:request_url=>comment_url(event.comment),:request_title=>info_request.title) %>
+ <%= _('An <a href="{{request_url}}">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}',:public_body_name=>public_body_link_absolute(info_request.public_body),:info_request_user=>request_user_link_absolute(info_request),:event_comment_user=>user_link_absolute(event.comment.user),:date=>simple_date(event.created_at),:request_url=>comment_url(event.comment),:request_title=>info_request.title) %>
<% else %>
<%# Events of other types will not be indexed: see InfoRequestEvent#indexed_by_search?
However, it can happen that we see other types of event transiently here in the period
@@ -22,7 +22,7 @@ end %>
</div>
</div>
<div class="request_right">
- <span class="desc">
+ <span class="desc">
<%= highlight_and_excerpt(event.search_text_main(true), @highlight_words, 150) %>
</span>
</div>
diff --git a/app/views/request/describe_state_message.rhtml b/app/views/request/describe_state_message.rhtml
new file mode 100644
index 000000000..1427fea22
--- /dev/null
+++ b/app/views/request/describe_state_message.rhtml
@@ -0,0 +1,30 @@
+<h1><%= @title %></h1>
+
+
+<p>
+ <% if @described_state == "error_message" %>
+ <%= _("If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.") %>
+ <% else %>
+ <%= _("Just one more thing") %>
+ <% end %>
+</p>
+
+<% form_for :incoming_message, :url => describe_state_url(:id => @info_request.id) do |f| %>
+
+ <p>
+ <label class="form_label" for="incoming_message_message">Please tell us more:</label>
+ <%= f.text_area :message, :rows => 10, :cols => 60 %>
+ </p>
+
+ <div>
+ <%= hidden_field_tag "incoming_message[described_state]", @described_state %>
+ <%= hidden_field_tag :last_info_request_event_id, @last_info_request_event_id %>
+ </div>
+
+ <div class="form_button">
+ <%= submit_tag _("Submit status and send message") %>
+ </div>
+
+<% end %>
+
+
diff --git a/app/views/request/details.rhtml b/app/views/request/details.rhtml
index d4c63902f..3cb2f5afe 100644
--- a/app/views/request/details.rhtml
+++ b/app/views/request/details.rhtml
@@ -36,10 +36,10 @@ way authorities use it. Plus you\'ll need to be an elite statistician. Please
<% end %>
<td>
<% if info_request_event.outgoing_message %>
- <%= link_to "outgoing", outgoing_message_url(info_request_event.outgoing_message) %>
+ <%= link_to "outgoing", outgoing_message_path(info_request_event.outgoing_message) %>
<% end %>
<% if info_request_event.incoming_message %>
- <%= link_to "incoming", incoming_message_url(info_request_event.incoming_message) %>
+ <%= link_to "incoming", incoming_message_path(info_request_event.incoming_message) %>
<% end %>
</td>
</tr>
diff --git a/app/views/request/new.rhtml b/app/views/request/new.rhtml
index 9a2182f8b..0790bd0ac 100644
--- a/app/views/request/new.rhtml
+++ b/app/views/request/new.rhtml
@@ -26,7 +26,7 @@
<li>
<%= _('{{existing_request_user}} already
created the same request on {{date}}. You can either view the <a href="{{existing_request}}">existing request</a>,
- or edit the details below to make a new but similar request.',:existing_request_user=>user_or_you_capital_link(@existing_request.user), :date=>simple_date(@existing_request.created_at), :existing_request=>request_url(@existing_request)) %>
+ or edit the details below to make a new but similar request.',:existing_request_user=>user_or_you_capital_link(@existing_request.user), :date=>simple_date(@existing_request.created_at), :existing_request=>request_path(@existing_request)) %>
</li>
</ul></div>
<% end %>
@@ -37,11 +37,11 @@
<div id="request_header">
<div id="request_header_body">
- <label class="form_label" for="info_request_public_body_id"><%= _('To:') %></label>
+ <label class="form_label"><%= _('To:') %></label>
<span id="to_public_body"><%=h(@info_request.public_body.name)%></span>
<div class="form_item_note">
<% if @info_request.public_body.info_requests.size > 0 %>
- <%= _("Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request.", :public_body_name=>h(@info_request.public_body.name), :url=>public_body_url(@info_request.public_body)) %>
+ <%= _("Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request.", :public_body_name=>h(@info_request.public_body.name), :url=>public_body_path(@info_request.public_body)) %>
<% else %>
<%= _("Browse <a href='{{url}}'>other requests</a> for examples of how to word your request.", :url=>request_list_url) %>
<% end %>
@@ -50,7 +50,7 @@
<% if @info_request.public_body.has_notes? %>
<div id="request_header_text">
<h3><%= _('Special note for this authority!') %></h3>
- <p><%= @info_request.public_body.notes_as_html %></p>
+ <p><%= @info_request.public_body.notes_as_html.html_safe %></p>
</div>
<% end %>
@@ -112,23 +112,24 @@
<% if !@user %>
<p class="form_note">
- <%= _('Everything that you enter on this page, including <strong>your name</strong>,
+
+ <%= raw(_('Everything that you enter on this page, including <strong>your name</strong>,
will be <strong>displayed publicly</strong> on
- this website forever (<a href="{{url}}">why?</a>).', :url => (help_privacy_path+"#public_request").html_safe) %>
- <%= _('If you are thinking of using a pseudonym,
- please <a href="{{url}}">read this first</a>.', :url => (help_privacy_path+"#real_name").html_safe) %>
+ this website forever (<a href="{{url}}">why?</a>).', :url => (help_privacy_path+"#public_request").html_safe)) %>
+ <%= raw(_('If you are thinking of using a pseudonym,
+ please <a href="{{url}}">read this first</a>.', :url => (help_privacy_path+"#real_name").html_safe)) %>
</p>
<% else %>
<p class="form_note">
- <%= _('Everything that you enter on this page
+ <%= raw(_('Everything that you enter on this page
will be <strong>displayed publicly</strong> on
- this website forever (<a href="{{url}}">why?</a>).', :url => (help_privacy_path+"#public_request").html_safe) %>
+ this website forever (<a href="{{url}}">why?</a>).', :url => (help_privacy_path+"#public_request").html_safe)) %>
</p>
<% end %>
<p class="form_note">
- <%= _("<strong> Can I request information about myself?</strong>\n" +
- "\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>", :url => (help_requesting_path+"#data_protection").html_safe) %>
+ <%= raw(_("<strong> Can I request information about myself?</strong>\n" +
+ "\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>", :url => (help_requesting_path+"#data_protection").html_safe)) %>
</p>
<div class="form_button">
diff --git a/app/views/request/select_authority.rhtml b/app/views/request/select_authority.rhtml
index 16fce1a39..737541872 100644
--- a/app/views/request/select_authority.rhtml
+++ b/app/views/request/select_authority.rhtml
@@ -2,22 +2,22 @@
<script type="text/javascript">
$(document).ready(function(){
$("#authority_preview").hide();
-
+
// Avoid triggering too often (on each keystroke) by using the debounce jQuery plugin:
// http://benalman.com/projects/jquery-throttle-debounce-plugin/
- $("#query").keypress($.debounce( 300, function() {
+ $("#query").keypress($.debounce( 300, function() {
// Do a type ahead search and display results
$("#typeahead_response").load("<%=search_ahead_bodies_url%>?query="+encodeURI(this.value), function() {
$("#authority_preview").hide(); // Hide the preview, since results have changed
});
}));
- // We're using the existing body list: we intercept the clicks on the titles to
+ // We're using the existing body list: we intercept the clicks on the titles to
// display a preview on the right hand side of the screen
$("#typeahead_response .head a").live('click', function() {
$("#authority_preview").load(this.href+" #public_body_show", function() {
$("#authority_preview").show();
- $(window).scrollTop($("#banner").height());
+ $(window).scrollTop($("#banner").height());
$("#authority_preview #header_right").hide();
});
return false;
@@ -33,11 +33,11 @@
<% form_tag({:controller => "request", :action => "select_authority"}, {:id => "search_form", :method => "get"}) do %>
<div>
<p>
- <%= _('First, type in the <strong>name of the UK public authority</strong> you\'d
+ <%= _('First, type in the <strong>name of the UK public authority</strong> you\'d
like information from. <strong>By law, they have to respond</strong>
- (<a href="{{url}}">why?</a>).', :url => (help_about_url + "#whybother_them").html_safe) %>
+ (<a href="{{url}}">why?</a>).', :url => (help_about_path + "#whybother_them").html_safe) %>
</p>
- <%= text_field_tag 'query', params[:query], { :size => 30 } %>
+ <%= text_field_tag 'query', params[:query], { :size => 30, :title => "type your search term here" } %>
<%= hidden_field_tag 'bodies', 1 %>
<%= submit_tag _('Search') %>
</div>
@@ -64,7 +64,7 @@
</div>
</div>
-
+
<div id="authority_preview">
</div>
-
+
diff --git a/app/views/request/show.rhtml b/app/views/request/show.rhtml
index ce205d68c..a33bc7037 100644
--- a/app/views/request/show.rhtml
+++ b/app/views/request/show.rhtml
@@ -37,9 +37,9 @@
:user => @info_request.is_external? ? (@info_request.user_name || _('An anonymous user')) : user_link(@info_request.user),
:law_used_full => h(@info_request.law_used_full),
:user_admin_link => user_admin_link_for_request(@info_request, _('external'), _('admin')),
- :request_admin_url => request_admin_url(@info_request),
+ :request_admin_url => admin_request_show_url(@info_request),
:public_body_link => public_body_link(@info_request.public_body),
- :public_body_admin_url => public_body_admin_url(@info_request.public_body)) %>
+ :public_body_admin_url => admin_body_show_url(@info_request.public_body)) %>
<% else %>
<%= _('{{user}} made this {{law_used_full}} request',:user=>@info_request.is_external? ? (@info_request.user_name || _('An anonymous user')) : user_link(@info_request.user), :law_used_full=>h(@info_request.law_used_full)) %>
<%= _('to {{public_body}}',:public_body=>public_body_link(@info_request.public_body)) %>
@@ -87,7 +87,7 @@
(<%= link_to _('details'), help_requesting_path + '#quickly_response' %>).
<% if !@info_request.is_external? %>
<%= _('You can <strong>complain</strong> by') %>
- <%= link_to _("requesting an internal review"), show_response_no_followup_url(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>.
+ <%= link_to _("requesting an internal review"), show_response_no_followup_path(:id => @info_request.id, :incoming_message_id => nil) + "?internal_review=1#followup" %>.
<% end %>
<% elsif @status == 'not_held' %>
<%= public_body_link(@info_request.public_body) %> <%= _('<strong>did not have</strong> the information requested.') %>
@@ -101,12 +101,12 @@
<% if @is_owning_user && !@info_request.is_external? %>
<%=h @info_request.public_body.name %> <%= _('is <strong>waiting for your clarification</strong>.') %>
<%= _('Please') %>
- <%= link_to _("send a follow up message"), respond_to_last_url(@info_request) + '#followup' %>.
+ <%= link_to _("send a follow up message"), respond_to_last_path(@info_request) + '#followup' %>.
<% else %>
<%= _('The request is <strong>waiting for clarification</strong>.') %>
<% if !@info_request.is_external? %>
<%= _('If you are {{user_link}}, please',:user_link=>user_link_for_request(@info_request)) %>
- <%= link_to _("sign in"), signin_url(:r => request.request_uri) %> <%= _('to send a follow up message.') %>
+ <%= link_to _("sign in"), signin_path(:r => request.request_uri) %> <%= _('to send a follow up message.') %>
<% end %>
<% end %>
<% elsif @status == 'gone_postal' %>
diff --git a/app/views/request/upload_response.rhtml b/app/views/request/upload_response.rhtml
index e8b9ec150..f9f818e86 100644
--- a/app/views/request/upload_response.rhtml
+++ b/app/views/request/upload_response.rhtml
@@ -12,7 +12,7 @@
<h1><%= _('Respond to the FOI request')%> '<%=request_link(@info_request)%>'<% _(' made by ')%><%=user_link(@info_request.user) %></h1>
<p>
- <%= _('Your response will <strong>appear on the Internet</strong>, <a href="{{url}}">read why</a> and answers to other questions.', :url => help_officers_path.html_safe) %>
+ <%= raw(_('Your response will <strong>appear on the Internet</strong>, <a href="{{url}}">read why</a> and answers to other questions.', :url => help_officers_path.html_safe)) %>
</p>
<h2><%= _('Respond by email')%></h2>
@@ -27,8 +27,8 @@
<h2><%= _('Respond using the web')%></h2>
- <p><%= _('Enter your response below. You may attach one file (use email, or
- <a href="{{url}}">contact us</a> if you need more).', :url => help_contact_path.html_safe) %></p>
+ <p><%= raw(_('Enter your response below. You may attach one file (use email, or
+ <a href="{{url}}">contact us</a> if you need more).', :url => help_contact_path.html_safe)) %></p>
<% form_tag '', :id => 'upload_response_form', :multipart => true do %>
<p>
diff --git a/app/views/request_game/play.rhtml b/app/views/request_game/play.rhtml
index eedf19ca2..d5aa0d00e 100644
--- a/app/views/request_game/play.rhtml
+++ b/app/views/request_game/play.rhtml
@@ -11,7 +11,7 @@
<tr>
<td> <%= c += 1 %>. <td>
<td> <%= user_link(classifications.user) %> </td>
- <td> <%=pluralize(classifications.cnt, 'request').gsub(" ", "&nbsp;")%> </td>
+ <td> <%=pluralize(classifications.cnt, 'request').gsub(" ", "&nbsp;").html_safe %> </td>
</tr>
<% end %>
</table>
@@ -22,7 +22,7 @@
<tr>
<td> <%= c += 1 %>. <td>
<td> <%= user_link(classifications.user) %> </td>
- <td> <%= pluralize(classifications.cnt, 'request').gsub(" ", "&nbsp;")%> </td>
+ <td> <%= pluralize(classifications.cnt, 'request').gsub(" ", "&nbsp;").html_safe %> </td>
</tr>
<% end %>
</table>
@@ -36,8 +36,8 @@ information has been provided. Everyone'll be exceedingly grateful.")%></p>
<%= render :partial => 'request/request_listing_single', :locals => { :info_request => info_request } %>
<% end %>
<p id="game_buttons">
-<%= button_to _('I don\'t like these ones &mdash; give me some more!'), play_url %>
-<%= button_to _('I don\'t want to do any more tidying now!'), stop_url %>
+<%= button_to _('I don\'t like these ones &mdash; give me some more!'), categorise_play_url %>
+<%= button_to _('I don\'t want to do any more tidying now!'), categorise_stop_url %>
</p>
<p><%= _('Thanks for helping - your work will make it easier for everyone to find successful
responses, and maybe even let us make league tables...')%></p>
diff --git a/app/views/request_mailer/external_response.rhtml b/app/views/request_mailer/external_response.rhtml
index e9858f03f..896054a43 100644
--- a/app/views/request_mailer/external_response.rhtml
+++ b/app/views/request_mailer/external_response.rhtml
@@ -1 +1 @@
-<%=@body%>
+<%= raw @body %>
diff --git a/app/views/request_mailer/fake_response.rhtml b/app/views/request_mailer/fake_response.rhtml
index e9858f03f..896054a43 100644
--- a/app/views/request_mailer/fake_response.rhtml
+++ b/app/views/request_mailer/fake_response.rhtml
@@ -1 +1 @@
-<%=@body%>
+<%= raw @body %>
diff --git a/app/views/request_mailer/new_response.rhtml b/app/views/request_mailer/new_response.rhtml
index 083f873b4..672212f20 100644
--- a/app/views/request_mailer/new_response.rhtml
+++ b/app/views/request_mailer/new_response.rhtml
@@ -1,6 +1,6 @@
<%= _('You have a new response to the {{law_used_full}} request ',:law_used_full=>@info_request.law_used_full)%>
-'<%= @info_request.title %>' <%=_('that you made to')%>
-<%= @info_request.public_body.name %>.
+'<%= raw @info_request.title %>' <%=_('that you made to')%>
+<%= raw @info_request.public_body.name %>.
<%= _('To view the response, click on the link below.')%>
diff --git a/app/views/request_mailer/new_response_reminder_alert.rhtml b/app/views/request_mailer/new_response_reminder_alert.rhtml
index 86fc71de7..c196dafe6 100644
--- a/app/views/request_mailer/new_response_reminder_alert.rhtml
+++ b/app/views/request_mailer/new_response_reminder_alert.rhtml
@@ -3,7 +3,7 @@
<%=@url%>
<%= _('Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on',:info_request=>@info_request.title)%>
-<%= @info_request.public_body.name %>.
+<%= raw @info_request.public_body.name %>.
-- <%= _('the {{site_name}} team', :site_name=>site_name) %>
diff --git a/app/views/request_mailer/overdue_alert.rhtml b/app/views/request_mailer/overdue_alert.rhtml
index b8a9ba525..249bf6bb8 100644
--- a/app/views/request_mailer/overdue_alert.rhtml
+++ b/app/views/request_mailer/overdue_alert.rhtml
@@ -1,4 +1,4 @@
-<%= @info_request.public_body.name %> <%= _('have delayed.')%>
+<%= raw @info_request.public_body.name %> <%= _('have delayed.')%>
<%= _('They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law',:law_used_short=>@info_request.law_used_short,:title=>@info_request.title)%><% if @info_request.public_body.is_school? %> <%=_('during term time')%> <% end %>.
diff --git a/app/views/request_mailer/requires_admin.rhtml b/app/views/request_mailer/requires_admin.rhtml
index 06a798792..b2e58295e 100644
--- a/app/views/request_mailer/requires_admin.rhtml
+++ b/app/views/request_mailer/requires_admin.rhtml
@@ -1,9 +1,11 @@
+<%= raw @message %>
+
---------------------------------------------------------------------
-<%=@reported_by.name%> <%= _('has reported an')%> <%=@info_request.law_used_short%>
+<%= raw @reported_by.name %> <%= _('has reported an')%> <%= raw @info_request.law_used_short %>
<%= _('response as needing administrator attention. Take a look, and reply to this
email to let them know what you are going to do about it.')%>
-Request '<%=@info_request.title%>':
+Request '<%= raw @info_request.title %>':
<%= @url %>
<%= _('Administration URL:') %>
diff --git a/app/views/request_mailer/very_overdue_alert.rhtml b/app/views/request_mailer/very_overdue_alert.rhtml
index 6abd198a0..80597473c 100644
--- a/app/views/request_mailer/very_overdue_alert.rhtml
+++ b/app/views/request_mailer/very_overdue_alert.rhtml
@@ -1,4 +1,4 @@
-<%= @info_request.public_body.name %> <%= _('are long overdue.')%>
+<%= raw @info_request.public_body.name %> <%= _('are long overdue.')%>
<%= _('They have not replied to your {{law_used_short}} request {{title}},
as required by law',:law_used_short=>@info_request.law_used_short,:title=>@info_request.title)%><% if @info_request.public_body.is_school? %> <%= _('even during holidays')%><% end %>.
diff --git a/app/views/track/_tracking_links.rhtml b/app/views/track/_tracking_links.rhtml
index 06e87ac74..d89c0e4a9 100644
--- a/app/views/track/_tracking_links.rhtml
+++ b/app/views/track/_tracking_links.rhtml
@@ -14,15 +14,15 @@
<% elsif track_thing %>
<div class="feed_link feed_link_<%=location%>">
<% if defined? follower_count && follower_count > 0 %>
- <%= link_to _("I like this request"), do_track_url(track_thing), :class => "link_button_green" %>
+ <%= link_to _("I like this request"), do_track_path(track_thing), :class => "link_button_green" %>
<% else %>
- <%= link_to _("Follow"), do_track_url(track_thing), :class => "link_button_green" %>
+ <%= link_to _("Follow"), do_track_path(track_thing), :class => "link_button_green" %>
<% end %>
</div>
<div class="feed_link feed_link_<%=location%>">
- <%= link_to '<img src="/images/feed-16.png" alt="">'.html_safe, do_track_url(track_thing, 'feed') %>
- <%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')), do_track_url(track_thing, 'feed') %>
+ <%= link_to '<img src="/images/feed-16.png" alt="">'.html_safe, do_track_path(track_thing, 'feed') %>
+ <%= link_to (location == 'sidebar' ? _('RSS feed of updates') : _('RSS feed')), do_track_path(track_thing, 'feed') %>
</div>
<% end %>
diff --git a/app/views/track/atom_feed.atom.builder b/app/views/track/atom_feed.atom.builder
deleted file mode 100644
index d1e9310b8..000000000
--- a/app/views/track/atom_feed.atom.builder
+++ /dev/null
@@ -1,25 +0,0 @@
-atom_feed do |feed|
- feed.title(@track_thing.params[:title_in_rss])
- @highlight_words = @xapian_object.words_to_highlight
-
- for result in @xapian_object.results
- feed.entry(result[:model]) do |entry|
- # Get the HTML content from the same partial template as website search does
- content = ''
- if result[:model].class.to_s == 'InfoRequestEvent'
- content += render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request }
- else
- content = "<p><strong>Unknown search result type " + result[:model].class.to_s + "</strong></p>"
- end
- # Pull out the heading as separate item, from the partial template
- content.match(/(<span class="head">\s+<a href="[^>]*">(.*)<\/a>\s+<\/span>)/)
- heading = $1
- heading_text = $2
- content.sub!(heading, "")
- # Render the atom
- entry.title(heading_text, :type => 'html')
- entry.content(content, :type => 'html')
- end
- end
-end
-
diff --git a/app/views/track/atom_feed.atom.erb b/app/views/track/atom_feed.atom.erb
new file mode 100644
index 000000000..23c932308
--- /dev/null
+++ b/app/views/track/atom_feed.atom.erb
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:<%= request.host %>,2005:<%= request.fullpath.split(".")[0] %></id>
+ <link type="text/html" rel="alternate" href="<%= request.protocol + request.host_with_port %>"/>
+ <link type="application/atom+xml" rel="self" href="<%= request.url %>"/>
+ <title><%= @track_thing.params[:title_in_rss] %></title>
+ <% @xapian_object.results.each do |result| %>
+ <%
+ # Get the HTML content from the same partial template as website search does
+ content = ''
+ if result[:model].class.to_s == 'InfoRequestEvent'
+ content += render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request }
+ else
+ content = "<p><strong>Unknown search result type " + result[:model].class.to_s + "</strong></p>"
+ end
+ # Pull out the heading as separate item, from the partial template
+ content.match(/(<span class="head">\s+<a href="[^>]*">(.*)<\/a>\s+<\/span>)/)
+ heading = $1
+ heading_text = $2
+ content.sub!(heading, "")
+ %>
+ <entry>
+ <id>tag:<%= request.host %>,2005:<%= result[:model].class %>/<%= result[:model].id %></id>
+ <published><%= result[:model].created_at.xmlschema %></published>
+ <link type="text/html" rel="alternate" href="<%= polymorphic_url(result[:model]) %>"/>
+ <title type="html"><%= heading_text %></title>
+ <content type="html"><%= content %></content>
+ </entry>
+ <% end %>
+</feed>
diff --git a/app/views/track_mailer/event_digest.rhtml b/app/views/track_mailer/event_digest.rhtml
index dc8132b99..8dbc7fe06 100644
--- a/app/views/track_mailer/event_digest.rhtml
+++ b/app/views/track_mailer/event_digest.rhtml
@@ -17,17 +17,17 @@
# e.g. Julian Burgess sent a request to Royal Mail Group (15 May 2008)
if event.event_type == 'response'
- url = main_url(incoming_message_url(event.incoming_message))
+ url = incoming_message_url(event.incoming_message)
main_text += _("{{public_body}} sent a response to {{user_name}}", :public_body => event.info_request.public_body.name, :user_name => event.info_request.user_name)
elsif event.event_type == 'followup_sent'
- url = main_url(outgoing_message_url(event.outgoing_message))
+ url = outgoing_message_url(event.outgoing_message)
main_text += _("{{user_name}} sent a follow up message to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
elsif event.event_type == 'sent'
# this is unlikely to happen in real life, but happens in the test code
- url = main_url(outgoing_message_url(event.outgoing_message))
+ url = outgoing_message_url(event.outgoing_message)
main_text += _("{{user_name}} sent a request to {{public_body}}", :user_name => event.info_request.user_name, :public_body => event.info_request.public_body.name)
elsif event.event_type == 'comment'
- url = main_url(comment_url(event.comment))
+ url = comment_url(event.comment)
main_text += _("{{user_name}} added an annotation", :user_name => event.comment.user.name)
else
raise "unknown type in event_digest " + event.event_type
diff --git a/app/views/user/_show_user_info.rhtml b/app/views/user/_show_user_info.rhtml
index 3c229e9ce..305300236 100644
--- a/app/views/user/_show_user_info.rhtml
+++ b/app/views/user/_show_user_info.rhtml
@@ -4,7 +4,7 @@
<img class="comment_quote" src="/images/quote-marks.png" alt="">
<%= @display_user.get_about_me_for_html_display %>
<% if @is_you %>
- (<%= link_to _("edit text about you"), set_profile_about_me_url() %>)
+ (<%= link_to _("edit text about you"), set_profile_about_me_path %>)
<% end %>
</div>
<% end %>
@@ -12,9 +12,9 @@
<% if @is_you %>
<p id="user_change_password_email">
<% if @display_user.profile_photo %>
- <%= link_to _('Change profile photo'), set_profile_photo_url() %> |
+ <%= link_to _('Change profile photo'), set_profile_photo_path %> |
<% end %>
- <%= link_to _('Change your password'), signchangepassword_url() %> |
- <%= link_to _('Change your email'), signchangeemail_url() %>
+ <%= link_to _('Change your password'), signchangepassword_path %> |
+ <%= link_to _('Change your email'), signchangeemail_path %>
</p>
<% end %>
diff --git a/app/views/user/_signin.rhtml b/app/views/user/_signin.rhtml
index c4d917991..7db07e4b4 100644
--- a/app/views/user/_signin.rhtml
+++ b/app/views/user/_signin.rhtml
@@ -18,7 +18,7 @@
</p>
<p class="form_note">
- <%= link_to _('Forgotten your password?'), signchangepassword_url + "?pretoken=" + h(params[:token]), :tabindex => 30 %>
+ <%= link_to _('Forgotten your password?'), signchangepassword_path + "?pretoken=" + h(params[:token]), :tabindex => 30 %>
</p>
<p class="form_checkbox">
diff --git a/app/views/user/_signup.rhtml b/app/views/user/_signup.rhtml
index f29cfc8bf..eba3b8522 100644
--- a/app/views/user/_signup.rhtml
+++ b/app/views/user/_signup.rhtml
@@ -16,7 +16,7 @@
<p>
<label class="form_label" for="user_signup_name"> <%= _('Your name:')%></label>
- <%= text_field 'user_signup', 'name', { :size => 20, :tabindex => 70 } %>
+ <%= text_field 'user_signup', 'name', { :size => 20, :tabindex => 70, :autocomplete => "off" } %>
</p>
<div class="form_item_note">
<%= _('Your <strong>name will appear publicly</strong>
@@ -28,12 +28,12 @@
<p>
<label class="form_label" for="user_signup_password"> <%= _('Password:')%></label>
- <%= password_field 'user_signup', 'password', { :size => 15, :tabindex => 80 } %>
+ <%= password_field 'user_signup', 'password', { :size => 15, :tabindex => 80, :autocomplete => "off" } %>
</p>
<p>
<label class="form_label" for="user_signup_password_confirmation"> <%= _('Password: (again)')%></label>
- <%= password_field 'user_signup', 'password_confirmation', { :size => 15, :tabindex => 90 } %>
+ <%= password_field 'user_signup', 'password_confirmation', { :size => 15, :tabindex => 90, :autocomplete => "off" } %>
</p>
<% if @request_from_foreign_country %>
diff --git a/app/views/user/_user_listing_single.rhtml b/app/views/user/_user_listing_single.rhtml
index 53df3a7e8..ed1b95718 100644
--- a/app/views/user/_user_listing_single.rhtml
+++ b/app/views/user/_user_listing_single.rhtml
@@ -5,14 +5,14 @@ end %>
<div class="user_listing">
<% if display_user.profile_photo %>
<div class="user_photo_on_search">
- <a href="<%=user_url(display_user)%>">
+ <a href="<%=user_path(display_user)%>">
<img src="<%= get_profile_photo_url(:url_name => display_user.url_name) %>" alt="">
</a>
</div>
<% end %>
<span class="head <% if display_user.profile_photo %>no_icon<% end %>">
- <%= link_to highlight_words(display_user.name, @highlight_words), user_url(display_user) %>
+ <%= link_to highlight_words(display_user.name, @highlight_words), user_path(display_user) %>
</span>
<span class="bottomline">
diff --git a/app/views/user/set_draft_profile_photo.rhtml b/app/views/user/set_draft_profile_photo.rhtml
index b3faba7fc..757498249 100644
--- a/app/views/user/set_draft_profile_photo.rhtml
+++ b/app/views/user/set_draft_profile_photo.rhtml
@@ -52,7 +52,7 @@
<% end %>
<p>
- <%= link_to _("Cancel, return to your profile page"), user_url(@user) %>
+ <%= link_to _("Cancel, return to your profile page"), user_path(@user) %>
</p>
</div>
diff --git a/app/views/user/show.rhtml b/app/views/user/show.rhtml
index cbb05ebf6..c538426ce 100644
--- a/app/views/user/show.rhtml
+++ b/app/views/user/show.rhtml
@@ -55,7 +55,7 @@
<% else %>
<% if @is_you %>
<span id="set_photo">
- <%= link_to _('Set your profile photo'), set_profile_photo_url() %>
+ <%= link_to _('Set your profile photo'), set_profile_photo_path %>
</span>
<% end %>
<% end %>
@@ -66,12 +66,12 @@
<p class="subtitle">
<%= _('Joined {{site_name}} in', :site_name=>site_name) %> <%= year_from_date(@display_user.created_at) %>
<% if !@user.nil? && @user.admin_page_links? %>
- (<%= link_to "admin", user_admin_url(@display_user) %>)
+ (<%= link_to "admin", admin_user_show_path(@display_user) %>)
<% end %>
</p>
<p>
- <%= link_to _('Send message to ') + h(@display_user.name), contact_user_url(:id => @display_user.id) %>
+ <%= link_to _('Send message to ') + h(@display_user.name), contact_user_path(:id => @display_user.id) %>
<% if @is_you %>
(<%= _('just to see how it works')%>)
<% end %>
@@ -109,7 +109,7 @@
<div id="user_profile_search">
<% form_tag(show_user_url, :method => "get", :id=>"search_form") do %>
<div>
- <%= text_field_tag(:user_query, params[:user_query]) %>
+ <%= text_field_tag(:user_query, params[:user_query], {:title => "type your search term here" }) %>
<% if @is_you %>
<%= submit_tag(_("Search your contributions")) %>
<% else %>
diff --git a/app/views/user/sign.rhtml b/app/views/user/sign.rhtml
index 6a1979155..5e8cced91 100644
--- a/app/views/user/sign.rhtml
+++ b/app/views/user/sign.rhtml
@@ -12,7 +12,9 @@
<% end %>
</p>
<% if @post_redirect.post_params["controller"] == "admin_general" %>
- <p id="superuser_message">Don't have a superuser account yet? <%= link_to "Sign in as the emergency user", @post_redirect.uri + "?emergency=1" %></p>
+ <% unless Configuration::disable_emergency_user %>
+ <p id="superuser_message">Don't have a superuser account yet? <%= link_to "Sign in as the emergency user", @post_redirect.uri + "?emergency=1" %></p>
+ <% end %>
<% end %>
<%= render :partial => 'signin', :locals => { :sign_in_as_existing_user => true } %>
diff --git a/app/views/user_mailer/already_registered.rhtml b/app/views/user_mailer/already_registered.rhtml
index 59ffcbf94..32c2c7e63 100644
--- a/app/views/user_mailer/already_registered.rhtml
+++ b/app/views/user_mailer/already_registered.rhtml
@@ -1,10 +1,10 @@
-<%= @name %>,
+<%= raw @name %>,
<%= _('You just tried to sign up to {{site_name}}, when you
already have an account. Your name and password have been
left as they previously were.
-Please click on the link below.', :site_name=>site_name)%> <%=@reasons[:email]%>
+Please click on the link below.', :site_name=>site_name)%> <%=raw @reasons[:email] %>
<%=@url%>
diff --git a/app/views/user_mailer/changeemail_confirm.rhtml b/app/views/user_mailer/changeemail_confirm.rhtml
index ffb9737f7..c73e9486b 100644
--- a/app/views/user_mailer/changeemail_confirm.rhtml
+++ b/app/views/user_mailer/changeemail_confirm.rhtml
@@ -1,4 +1,4 @@
-<%= @name %>,
+<%= raw @name %>,
<%= _('Please click on the link below to confirm that you want to
change the email address that you use for {{site_name}}
diff --git a/app/views/user_mailer/confirm_login.rhtml b/app/views/user_mailer/confirm_login.rhtml
index 6f4feff00..fa86dc2b1 100644
--- a/app/views/user_mailer/confirm_login.rhtml
+++ b/app/views/user_mailer/confirm_login.rhtml
@@ -1,7 +1,7 @@
-<%= @name %>,
+<%= raw @name %>,
<%= _('Please click on the link below to confirm your email address.')%>
-<%=@reasons[:email]%>
+<%= raw @reasons[:email] %>
<%=@url%>
diff --git a/config/environment.rb b/config/environment.rb
index d1189c43f..8a5c7a605 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -18,7 +18,7 @@ end
# ENV['RAILS_ENV'] ||= 'production'
# Specifies gem version of Rails to use when vendor/rails is not present
-RAILS_GEM_VERSION = '2.3.15' unless defined? RAILS_GEM_VERSION
+RAILS_GEM_VERSION = '2.3.18' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
@@ -43,7 +43,7 @@ require File.join(File.dirname(__FILE__), '../lib/old_rubygems_patch')
require 'configuration'
# Application version
-ALAVETELI_VERSION = '0.6.9'
+ALAVETELI_VERSION = '0.8'
Rails::Initializer.run do |config|
# Load intial mySociety config
@@ -116,16 +116,8 @@ end
# Domain for URLs (so can work for scripts, not just web pages)
ActionMailer::Base.default_url_options[:host] = Configuration::domain
-
-# So that javascript assets use full URL, so proxied admin URLs read javascript OK
-if (Configuration::domain != "")
- ActionController::Base.asset_host = Proc.new { |source, request|
- if ENV["RAILS_ENV"] != "test" && request.fullpath.match(/^\/admin\//)
- Configuration::admin_public_url
- else
- Configuration::domain
- end
- }
+if Configuration::force_ssl
+ ActionMailer::Base.default_url_options[:protocol] = "https"
end
# fallback locale and available locales
@@ -145,7 +137,6 @@ require 'ruby19.rb'
require 'activesupport_cache_extensions.rb'
require 'timezone_fixes.rb'
require 'use_spans_for_errors.rb'
-require 'make_html_4_compliant.rb'
require 'activerecord_errors_extensions.rb'
require 'willpaginate_extension.rb'
require 'sendmail_return_path.rb'
@@ -155,6 +146,7 @@ require 'world_foi_websites.rb'
require 'alaveteli_external_command.rb'
require 'quiet_opener.rb'
require 'mail_handler'
+require "cookie_store_with_line_break_fix"
if !Configuration.exception_notifications_from.blank? && !Configuration.exception_notifications_to.blank?
ExceptionNotification::Notifier.sender_address = Configuration::exception_notifications_from
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 84a8f5965..097944196 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -17,3 +17,10 @@ config.action_controller.perform_caching = true
# Disable delivery errors, bad email addresses will be ignored
# config.action_mailer.raise_delivery_errors = false
config.action_mailer.delivery_method = :sendmail # so is queued, rather than giving immediate errors
+
+require 'rack/ssl'
+if ::Configuration::force_ssl
+ config.middleware.insert_after ActionController::Failsafe, ::Rack::SSL
+ # For Rails 3.x this will need to change to
+ #config.middleware.insert_before ActionDispatch::Cookies, ::Rack::SSL
+end
diff --git a/config/general.yml-example b/config/general.yml-example
index bfe289541..17e1aa552 100644
--- a/config/general.yml-example
+++ b/config/general.yml-example
@@ -12,6 +12,11 @@ SITE_NAME: 'Alaveteli'
# Domain used in URLs generated by scripts (e.g. for going in some emails)
DOMAIN: '127.0.0.1:3000'
+# If true forces everyone (in the production environment) to use encrypted connections
+# (via https) by redirecting unencrypted connections. This is *highly* recommended
+# so that logins can't be intercepted by naughty people.
+FORCE_SSL: true
+
# ISO country code of country currrently deployed in
# (http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
ISO_COUNTRY_CODE: GB
@@ -53,7 +58,6 @@ FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq'
# script). Earlier in the list means the templates have a higher
# priority.
THEME_URLS:
- - 'git://github.com/mysociety/adminbootstraptheme.git'
- 'git://github.com/mysociety/alavetelitheme.git'
# When rails-post-deploy installs the themes it will try this branch first
@@ -84,6 +88,7 @@ BLACKHOLE_PREFIX: 'do-not-reply-to-this-address'
# The emergency user
ADMIN_USERNAME: 'adminxxxx'
ADMIN_PASSWORD: 'passwordx'
+DISABLE_EMERGENCY_USER: false
# Set this to true, and the admin interface will be available to anonymous users
SKIP_ADMIN_AUTH: false
@@ -100,19 +105,6 @@ TRACK_SENDER_NAME: 'Alaveteli Webmaster'
# this up!
RAW_EMAILS_LOCATION: 'files/raw_emails'
-# The base URL for admin pages, must always end with a '/'
-# e.g. https://www.example.com/secure/alaveteli-admin/
-# If not specified, it will default to the path to the admin controller,
-# which is usually what you want. It is useful in situations where admin
-# requests are proxied via a secure server, for example.
-ADMIN_BASE_URL: ''
-
-# Where /stylesheets sits under for admin pages. See asset_host in
-# config/environment.rb. Can be full domain or relative path (not an
-# absolute path beginning with /). Again, unlikely to want to change
-# this.
-ADMIN_PUBLIC_URL: ''
-
# Secret key for signing cookie_store sessions
COOKIE_STORE_SESSION_SECRET: 'your secret key here, make it long and random'
diff --git a/config/memcached.yml-test b/config/memcached.yml-test
deleted file mode 100644
index 18d959876..000000000
--- a/config/memcached.yml-test
+++ /dev/null
@@ -1,2 +0,0 @@
-test:
- disabled: true \ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index 3512b4cd4..a18295f7b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -10,7 +10,7 @@ $alaveteli_route_extensions.each do |f|
end
ActionController::Routing::Routes.draw do |map|
-
+
# The priority is based upon order of creation: first created -> highest priority.
# Sample of regular route:
@@ -43,7 +43,7 @@ ActionController::Routing::Routes.draw do |map|
request.request_list '/list', :action => 'list'
request.select_authority '/select_authority', :action => 'select_authority'
-
+
request.new_request '/new', :action => 'new'
request.new_request_to_body '/new/:url_name', :action => 'new'
@@ -54,7 +54,8 @@ ActionController::Routing::Routes.draw do |map|
request.details_request '/details/request/:url_title', :action => 'details'
request.similar_request '/similar/request/:url_title', :action => 'similar'
- request.describe_state '/request/:id/describe', :action => 'describe_state'
+ request.describe_state '/request/:id/describe', :action => 'describe_state', :conditions => {:method => :post}
+ request.describe_state_message '/request/:url_title/describe/:described_state', :action => 'describe_state_message'
request.show_response_no_followup '/request/:id/response', :action => 'show_response'
request.show_response '/request/:id/response/:incoming_message_id', :action => 'show_response'
request.get_attachment_as_html '/request/:id/response/:incoming_message_id/attach/html/:part/*file_name', :action => 'get_attachment_as_html'
@@ -64,7 +65,7 @@ ActionController::Routing::Routes.draw do |map|
request.upload_response "/upload/request/:url_title", :action => 'upload_response'
request.download_entire_request '/request/:url_title/download', :action => 'download_entire_request'
-
+
# It would be nice to add :conditions => { :method => :post } to this next one,
# because it ought not really to be available as a GET request since it changes
# the server state. Unfortunately this doesn’t play well with the PostRedirect
@@ -161,9 +162,9 @@ ActionController::Routing::Routes.draw do |map|
end
map.with_options :controller => 'request_game' do |game|
- game.play '/categorise/play', :action => 'play'
- game.request '/categorise/request/:url_title', :action => 'show'
- game.stop '/categorise/stop', :action => 'stop'
+ game.categorise_play '/categorise/play', :action => 'play'
+ game.categorise_request '/categorise/request/:url_title', :action => 'show'
+ game.categorise_stop '/categorise/stop', :action => 'stop'
end
map.with_options :controller => 'admin_public_body' do |body|
@@ -171,10 +172,10 @@ ActionController::Routing::Routes.draw do |map|
body.admin_body_index '/admin/body', :action => 'index'
body.admin_body_list '/admin/body/list', :action => 'list'
body.admin_body_show '/admin/body/show/:id', :action => 'show'
- body.admin_body_new '/admin/body/new/:id', :action => 'new'
+ body.admin_body_new '/admin/body/new', :action => 'new'
body.admin_body_edit '/admin/body/edit/:id', :action => 'edit'
body.admin_body_update '/admin/body/update/:id', :action => 'update'
- body.admin_body_create '/admin/body/create/:id', :action => 'create'
+ body.admin_body_create '/admin/body/create', :action => 'create'
body.admin_body_destroy '/admin/body/destroy/:id', :action => 'destroy'
body.admin_body_import_csv '/admin/body/import_csv', :action => 'import_csv'
body.admin_body_mass_tag_add '/admin/body/mass_tag_add', :action => 'mass_tag_add'
@@ -185,10 +186,10 @@ ActionController::Routing::Routes.draw do |map|
admin.admin_timeline '/admin/timeline', :action => 'timeline'
admin.admin_debug '/admin/debug', :action => 'debug'
admin.admin_stats '/admin/stats', :action => 'stats'
+ admin.admin_js '/admin/javascripts/admin.js', :action => 'admin_js'
end
map.with_options :controller => 'admin_request' do |admin|
- admin.admin_request_list_old_unclassified '/admin/unclassified', :action => 'list_old_unclassified'
admin.admin_request_index '/admin/request', :action => 'index'
admin.admin_request_list '/admin/request/list', :action => 'list'
admin.admin_request_show '/admin/request/show/:id', :action => 'show'
@@ -197,11 +198,11 @@ ActionController::Routing::Routes.draw do |map|
admin.admin_request_update '/admin/request/update/:id', :action => 'update'
admin.admin_request_destroy '/admin/request/destroy/:id', :action => 'fully_destroy'
admin.admin_request_edit_outgoing '/admin/request/edit_outgoing/:id', :action => 'edit_outgoing'
- admin.admin_request_destroy_outgoing '/admin/request/destroy_outgoing/:id', :action => 'destroy_outgoing'
+ admin.admin_request_destroy_outgoing '/admin/request/destroy_outgoing', :action => 'destroy_outgoing'
admin.admin_request_update_outgoing '/admin/request/update_outgoing/:id', :action => 'update_outgoing'
admin.admin_request_edit_comment '/admin/request/edit_comment/:id', :action => 'edit_comment'
admin.admin_request_update_comment '/admin/request/update_comment/:id', :action => 'update_comment'
- admin.admin_request_destroy_incoming '/admin/request/destroy_incoming/:id', :action => 'destroy_incoming'
+ admin.admin_request_destroy_incoming '/admin/request/destroy_incoming', :action => 'destroy_incoming'
admin.admin_request_redeliver_incoming '/admin/request/redeliver_incoming', :action => 'redeliver_incoming'
admin.admin_request_move_request '/admin/request/move_request', :action => 'move_request'
admin.admin_request_generate_upload_url '/admin/request/generate_upload_url/:id', :action => 'generate_upload_url'
@@ -217,7 +218,7 @@ ActionController::Routing::Routes.draw do |map|
user.admin_user_list_banned '/admin/user/banned', :action => 'list_banned'
user.admin_user_show '/admin/user/show/:id', :action => 'show'
user.admin_user_edit '/admin/user/edit/:id', :action => 'edit'
- user.admin_user_show '/admin/user/show_bounce_message/:id', :action => 'show_bounce_message'
+ user.admin_user_show_bounce '/admin/user/show_bounce_message/:id', :action => 'show_bounce_message'
user.admin_user_update '/admin/user/update/:id', :action => 'update'
user.admin_user_clear_bounce '/admin/user/clear_bounce/:id', :action => 'clear_bounce'
user.admin_user_destroy_track '/admin/user/destroy_track', :action => 'destroy_track'
@@ -236,16 +237,16 @@ ActionController::Routing::Routes.draw do |map|
rule.admin_rule_update '/admin/censor/update/:id', :action => 'update'
rule.admin_rule_destroy '/admin/censor/destroy/:censor_rule_id', :action => 'destroy'
end
-
+
map.with_options :controller => 'api' do |api|
api.api_create_request '/api/v2/request.json', :action => 'create_request', :conditions => { :method => :post }
-
+
api.api_show_request '/api/v2/request/:id.json', :action => 'show_request', :conditions => { :method => :get }
api.api_add_correspondence '/api/v2/request/:id.json', :action => 'add_correspondence', :conditions => { :method => :post }
-
+
api.api_body_request_events '/api/v2/body/:id/request_events.:feed_type', :action => 'body_request_events', :feed_type => '^(json|atom)$'
end
-
+
map.filter('conditionallyprependlocale')
# Allow downloading Web Service WSDL as a file with an extension
diff --git a/config/test.yml b/config/test.yml
index ef270dcf2..bc9ec099a 100644
--- a/config/test.yml
+++ b/config/test.yml
@@ -13,6 +13,11 @@ SITE_NAME: 'Alaveteli'
# It makes things simpler if this is the same as the Rails test domain test.host
DOMAIN: 'test.host'
+# If true forces everyone (in the production environment) to use encrypted connections
+# (via https) by redirecting unencrypted connections. This is *highly* recommended
+# so that logins can't be intercepted by naughty people.
+FORCE_SSL: false
+
# ISO country code of country currrently deployed in
# (http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
ISO_COUNTRY_CODE: DE
@@ -71,15 +76,6 @@ CONTACT_NAME: 'Alaveteli Webmaster'
# this up!
RAW_EMAILS_LOCATION: 'files/raw_emails'
-# The base URL for admin pages. You probably don't want to change this.
-ADMIN_BASE_URL: ''
-
-# Where /stylesheets sits under for admin pages. See asset_host in
-# config/environment.rb. Can be full domain or relative path (not an
-# absolute path beginning with /). Again, unlikely to want to change
-# this.
-ADMIN_PUBLIC_URL: ''
-
# Secret key for signing cookie_store sessions
COOKIE_STORE_SESSION_SECRET: 'your secret key here, make it long and random'
diff --git a/config/varnish-alaveteli.vcl b/config/varnish-alaveteli.vcl
index 77350a8c8..5dd0ac83c 100644
--- a/config/varnish-alaveteli.vcl
+++ b/config/varnish-alaveteli.vcl
@@ -115,3 +115,43 @@ sub vcl_fetch {
}
}
+# We need to separately cache requests originating via http and via https
+# since we are serving very slightly different content in each case
+
+# Varnish 2.x version of vcl_hash
+#sub vcl_hash {
+# set req.hash += req.url;
+# if (req.http.host) {
+# set req.hash += req.http.host;
+# } else {
+# set req.hash += server.ip;
+# }
+#
+# # Include the X-Forward-Proto header, since we want to treat HTTPS
+# # requests differently, and make sure this header is always passed
+# # properly to the backend server.
+# if (req.http.X-Forwarded-Proto) {
+# set req.hash += req.http.X-Forwarded-Proto;
+# }
+#
+# return (hash);
+#}
+
+# Varnish 3 version of vcl_hash
+sub vcl_hash {
+ hash_data(req.url);
+ if (req.http.host) {
+ hash_data(req.http.host);
+ } else {
+ hash_data(server.ip);
+ }
+
+ # Include the X-Forward-Proto header, since we want to treat HTTPS
+ # requests differently, and make sure this header is always passed
+ # properly to the backend server.
+ if (req.http.X-Forwarded-Proto) {
+ hash_data(req.http.X-Forwarded-Proto);
+ }
+
+ return (hash);
+}
diff --git a/db/.gitignore b/db/.gitignore
index f3aee50a1..846a7b9b3 100644
--- a/db/.gitignore
+++ b/db/.gitignore
@@ -1,2 +1 @@
schema.rb
-development_structure.sql
diff --git a/db/development_structure.sql b/db/development_structure.sql
new file mode 100644
index 000000000..bd4870948
--- /dev/null
+++ b/db/development_structure.sql
@@ -0,0 +1,2095 @@
+--
+-- PostgreSQL database dump
+--
+
+SET statement_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SET check_function_bodies = false;
+SET client_min_messages = warning;
+
+--
+-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
+
+
+--
+-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
+--
+
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
+
+
+SET search_path = public, pg_catalog;
+
+SET default_tablespace = '';
+
+SET default_with_oids = false;
+
+--
+-- Name: acts_as_xapian_jobs; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE acts_as_xapian_jobs (
+ id integer NOT NULL,
+ model character varying(255) NOT NULL,
+ model_id integer NOT NULL,
+ action character varying(255) NOT NULL
+);
+
+
+--
+-- Name: acts_as_xapian_jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE acts_as_xapian_jobs_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: acts_as_xapian_jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE acts_as_xapian_jobs_id_seq OWNED BY acts_as_xapian_jobs.id;
+
+
+--
+-- Name: censor_rules; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE censor_rules (
+ id integer NOT NULL,
+ info_request_id integer,
+ user_id integer,
+ public_body_id integer,
+ text text NOT NULL,
+ replacement text NOT NULL,
+ last_edit_editor character varying(255) NOT NULL,
+ last_edit_comment text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ regexp boolean
+);
+
+
+--
+-- Name: censor_rules_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE censor_rules_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: censor_rules_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE censor_rules_id_seq OWNED BY censor_rules.id;
+
+
+--
+-- Name: comments; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE comments (
+ id integer NOT NULL,
+ user_id integer NOT NULL,
+ comment_type character varying(255) DEFAULT 'internal_error'::character varying NOT NULL,
+ info_request_id integer,
+ body text NOT NULL,
+ visible boolean DEFAULT true NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ locale text DEFAULT ''::text NOT NULL
+);
+
+
+--
+-- Name: comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE comments_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE comments_id_seq OWNED BY comments.id;
+
+
+--
+-- Name: mail_server_log_dones; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE mail_server_log_dones (
+ id integer NOT NULL,
+ filename text NOT NULL,
+ last_stat timestamp without time zone NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL
+);
+
+
+--
+-- Name: exim_log_dones_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE exim_log_dones_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: exim_log_dones_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE exim_log_dones_id_seq OWNED BY mail_server_log_dones.id;
+
+
+--
+-- Name: mail_server_logs; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE mail_server_logs (
+ id integer NOT NULL,
+ mail_server_log_done_id integer,
+ info_request_id integer,
+ "order" integer NOT NULL,
+ line text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL
+);
+
+
+--
+-- Name: exim_logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE exim_logs_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: exim_logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE exim_logs_id_seq OWNED BY mail_server_logs.id;
+
+
+--
+-- Name: foi_attachments; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE foi_attachments (
+ id integer NOT NULL,
+ content_type text,
+ filename text,
+ charset text,
+ display_size text,
+ url_part_number integer,
+ within_rfc822_subject text,
+ incoming_message_id integer,
+ hexdigest character varying(32)
+);
+
+
+--
+-- Name: foi_attachments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE foi_attachments_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: foi_attachments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE foi_attachments_id_seq OWNED BY foi_attachments.id;
+
+
+--
+-- Name: has_tag_string_tags; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE has_tag_string_tags (
+ id integer NOT NULL,
+ model_id integer NOT NULL,
+ name text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ value text,
+ model character varying(255) NOT NULL
+);
+
+
+--
+-- Name: holidays; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE holidays (
+ id integer NOT NULL,
+ day date,
+ description text
+);
+
+
+--
+-- Name: holidays_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE holidays_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: holidays_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE holidays_id_seq OWNED BY holidays.id;
+
+
+--
+-- Name: incoming_messages; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE incoming_messages (
+ id integer NOT NULL,
+ info_request_id integer NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ raw_email_id integer NOT NULL,
+ cached_attachment_text_clipped text,
+ cached_main_body_text_folded text,
+ cached_main_body_text_unfolded text,
+ subject text,
+ mail_from_domain text,
+ valid_to_reply_to boolean,
+ last_parsed timestamp without time zone,
+ mail_from text,
+ sent_at timestamp without time zone
+);
+
+
+--
+-- Name: incoming_messages_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE incoming_messages_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: incoming_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE incoming_messages_id_seq OWNED BY incoming_messages.id;
+
+
+--
+-- Name: info_request_events; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE info_request_events (
+ id integer NOT NULL,
+ info_request_id integer NOT NULL,
+ event_type text NOT NULL,
+ params_yaml text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ described_state character varying(255),
+ calculated_state character varying(255) DEFAULT NULL::character varying,
+ last_described_at timestamp without time zone,
+ incoming_message_id integer,
+ outgoing_message_id integer,
+ comment_id integer,
+ prominence character varying(255) DEFAULT 'normal'::character varying NOT NULL
+);
+
+
+--
+-- Name: info_request_events_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE info_request_events_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: info_request_events_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE info_request_events_id_seq OWNED BY info_request_events.id;
+
+
+--
+-- Name: info_requests; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE info_requests (
+ id integer NOT NULL,
+ title text NOT NULL,
+ user_id integer,
+ public_body_id integer NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ described_state character varying(255) NOT NULL,
+ awaiting_description boolean DEFAULT false NOT NULL,
+ prominence character varying(255) DEFAULT 'normal'::character varying NOT NULL,
+ url_title text NOT NULL,
+ law_used character varying(255) DEFAULT 'foi'::character varying NOT NULL,
+ allow_new_responses_from character varying(255) DEFAULT 'anybody'::character varying NOT NULL,
+ handle_rejected_responses character varying(255) DEFAULT 'bounce'::character varying NOT NULL,
+ idhash character varying(255) NOT NULL,
+ external_user_name character varying(255),
+ external_url character varying(255),
+ attention_requested boolean DEFAULT false,
+ comments_allowed boolean DEFAULT true NOT NULL,
+ CONSTRAINT info_requests_external_ck CHECK ((((user_id IS NULL) = (external_url IS NOT NULL)) AND ((external_url IS NOT NULL) OR (external_user_name IS NULL))))
+);
+
+
+--
+-- Name: info_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE info_requests_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: info_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE info_requests_id_seq OWNED BY info_requests.id;
+
+
+--
+-- Name: outgoing_messages; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE outgoing_messages (
+ id integer NOT NULL,
+ info_request_id integer NOT NULL,
+ body text NOT NULL,
+ status character varying(255) NOT NULL,
+ message_type character varying(255) NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ last_sent_at timestamp without time zone,
+ incoming_message_followup_id integer,
+ what_doing character varying(255) NOT NULL
+);
+
+
+--
+-- Name: outgoing_messages_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE outgoing_messages_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: outgoing_messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE outgoing_messages_id_seq OWNED BY outgoing_messages.id;
+
+
+--
+-- Name: post_redirects; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE post_redirects (
+ id integer NOT NULL,
+ token text NOT NULL,
+ uri text NOT NULL,
+ post_params_yaml text,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ email_token text NOT NULL,
+ reason_params_yaml text,
+ user_id integer,
+ circumstance text DEFAULT 'normal'::text NOT NULL
+);
+
+
+--
+-- Name: post_redirects_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE post_redirects_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: post_redirects_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE post_redirects_id_seq OWNED BY post_redirects.id;
+
+
+--
+-- Name: profile_photos; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE profile_photos (
+ id integer NOT NULL,
+ data bytea NOT NULL,
+ user_id integer,
+ draft boolean DEFAULT false NOT NULL
+);
+
+
+--
+-- Name: profile_photos_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE profile_photos_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: profile_photos_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE profile_photos_id_seq OWNED BY profile_photos.id;
+
+
+--
+-- Name: public_bodies; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE public_bodies (
+ id integer NOT NULL,
+ name text NOT NULL,
+ short_name text NOT NULL,
+ request_email text NOT NULL,
+ version integer NOT NULL,
+ last_edit_editor character varying(255) NOT NULL,
+ last_edit_comment text NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ url_name text NOT NULL,
+ home_page text DEFAULT ''::text NOT NULL,
+ notes text DEFAULT ''::text NOT NULL,
+ first_letter character varying(255) NOT NULL,
+ publication_scheme text DEFAULT ''::text NOT NULL,
+ api_key character varying(255) NOT NULL,
+ info_requests_count integer DEFAULT 0 NOT NULL,
+ disclosure_log text DEFAULT ''::text NOT NULL
+);
+
+
+--
+-- Name: public_bodies_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public_bodies_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: public_bodies_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public_bodies_id_seq OWNED BY public_bodies.id;
+
+
+--
+-- Name: public_body_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public_body_tags_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: public_body_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public_body_tags_id_seq OWNED BY has_tag_string_tags.id;
+
+
+--
+-- Name: public_body_translations; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE public_body_translations (
+ id integer NOT NULL,
+ public_body_id integer,
+ locale character varying(255),
+ short_name text,
+ publication_scheme text,
+ url_name text,
+ first_letter character varying(255),
+ notes text,
+ name text,
+ request_email text,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone,
+ disclosure_log text
+);
+
+
+--
+-- Name: public_body_translations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public_body_translations_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: public_body_translations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public_body_translations_id_seq OWNED BY public_body_translations.id;
+
+
+--
+-- Name: public_body_versions; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE public_body_versions (
+ id integer NOT NULL,
+ public_body_id integer,
+ version integer,
+ name text,
+ short_name text,
+ request_email text,
+ updated_at timestamp without time zone,
+ last_edit_editor character varying(255),
+ last_edit_comment text,
+ url_name text,
+ home_page text,
+ notes text,
+ publication_scheme text DEFAULT ''::text NOT NULL,
+ charity_number text DEFAULT ''::text NOT NULL,
+ disclosure_log text DEFAULT ''::text NOT NULL
+);
+
+
+--
+-- Name: public_body_versions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE public_body_versions_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: public_body_versions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE public_body_versions_id_seq OWNED BY public_body_versions.id;
+
+
+--
+-- Name: purge_requests; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE purge_requests (
+ id integer NOT NULL,
+ url character varying(255),
+ created_at timestamp without time zone NOT NULL,
+ model character varying(255) NOT NULL,
+ model_id integer NOT NULL
+);
+
+
+--
+-- Name: purge_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE purge_requests_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: purge_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE purge_requests_id_seq OWNED BY purge_requests.id;
+
+
+--
+-- Name: raw_emails; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE raw_emails (
+ id integer NOT NULL
+);
+
+
+--
+-- Name: raw_emails_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE raw_emails_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: raw_emails_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE raw_emails_id_seq OWNED BY raw_emails.id;
+
+
+--
+-- Name: request_classifications; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE request_classifications (
+ id integer NOT NULL,
+ user_id integer,
+ info_request_event_id integer,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone
+);
+
+
+--
+-- Name: request_classifications_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE request_classifications_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: request_classifications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE request_classifications_id_seq OWNED BY request_classifications.id;
+
+
+--
+-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE schema_migrations (
+ version character varying(255) NOT NULL
+);
+
+
+--
+-- Name: track_things; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE track_things (
+ id integer NOT NULL,
+ tracking_user_id integer NOT NULL,
+ track_query character varying(255) NOT NULL,
+ info_request_id integer,
+ tracked_user_id integer,
+ public_body_id integer,
+ track_medium character varying(255) NOT NULL,
+ track_type character varying(255) DEFAULT 'internal_error'::character varying NOT NULL,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone
+);
+
+
+--
+-- Name: track_things_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE track_things_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: track_things_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE track_things_id_seq OWNED BY track_things.id;
+
+
+--
+-- Name: track_things_sent_emails; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE track_things_sent_emails (
+ id integer NOT NULL,
+ track_thing_id integer NOT NULL,
+ info_request_event_id integer,
+ user_id integer,
+ public_body_id integer,
+ created_at timestamp without time zone,
+ updated_at timestamp without time zone
+);
+
+
+--
+-- Name: track_things_sent_emails_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE track_things_sent_emails_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: track_things_sent_emails_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE track_things_sent_emails_id_seq OWNED BY track_things_sent_emails.id;
+
+
+--
+-- Name: user_info_request_sent_alerts; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE user_info_request_sent_alerts (
+ id integer NOT NULL,
+ user_id integer NOT NULL,
+ info_request_id integer NOT NULL,
+ alert_type character varying(255) NOT NULL,
+ info_request_event_id integer
+);
+
+
+--
+-- Name: user_info_request_sent_alerts_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE user_info_request_sent_alerts_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: user_info_request_sent_alerts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE user_info_request_sent_alerts_id_seq OWNED BY user_info_request_sent_alerts.id;
+
+
+--
+-- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE users (
+ id integer NOT NULL,
+ email character varying(255) NOT NULL,
+ name character varying(255) NOT NULL,
+ hashed_password character varying(255) NOT NULL,
+ salt character varying(255) NOT NULL,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
+ email_confirmed boolean DEFAULT false NOT NULL,
+ url_name text NOT NULL,
+ last_daily_track_email timestamp without time zone DEFAULT '2000-01-01 00:00:00'::timestamp without time zone,
+ admin_level character varying(255) DEFAULT 'none'::character varying NOT NULL,
+ ban_text text DEFAULT ''::text NOT NULL,
+ about_me text DEFAULT ''::text NOT NULL,
+ locale character varying(255),
+ email_bounced_at timestamp without time zone,
+ email_bounce_message text DEFAULT ''::text NOT NULL,
+ no_limit boolean DEFAULT false NOT NULL,
+ receive_email_alerts boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE users_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+--
+-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE users_id_seq OWNED BY users.id;
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY acts_as_xapian_jobs ALTER COLUMN id SET DEFAULT nextval('acts_as_xapian_jobs_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY censor_rules ALTER COLUMN id SET DEFAULT nextval('censor_rules_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY comments ALTER COLUMN id SET DEFAULT nextval('comments_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY foi_attachments ALTER COLUMN id SET DEFAULT nextval('foi_attachments_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY has_tag_string_tags ALTER COLUMN id SET DEFAULT nextval('public_body_tags_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY holidays ALTER COLUMN id SET DEFAULT nextval('holidays_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY incoming_messages ALTER COLUMN id SET DEFAULT nextval('incoming_messages_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_request_events ALTER COLUMN id SET DEFAULT nextval('info_request_events_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_requests ALTER COLUMN id SET DEFAULT nextval('info_requests_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY mail_server_log_dones ALTER COLUMN id SET DEFAULT nextval('exim_log_dones_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY mail_server_logs ALTER COLUMN id SET DEFAULT nextval('exim_logs_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY outgoing_messages ALTER COLUMN id SET DEFAULT nextval('outgoing_messages_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY post_redirects ALTER COLUMN id SET DEFAULT nextval('post_redirects_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY profile_photos ALTER COLUMN id SET DEFAULT nextval('profile_photos_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public_bodies ALTER COLUMN id SET DEFAULT nextval('public_bodies_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public_body_translations ALTER COLUMN id SET DEFAULT nextval('public_body_translations_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public_body_versions ALTER COLUMN id SET DEFAULT nextval('public_body_versions_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY purge_requests ALTER COLUMN id SET DEFAULT nextval('purge_requests_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY raw_emails ALTER COLUMN id SET DEFAULT nextval('raw_emails_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY request_classifications ALTER COLUMN id SET DEFAULT nextval('request_classifications_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things ALTER COLUMN id SET DEFAULT nextval('track_things_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things_sent_emails ALTER COLUMN id SET DEFAULT nextval('track_things_sent_emails_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_info_request_sent_alerts ALTER COLUMN id SET DEFAULT nextval('user_info_request_sent_alerts_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
+
+
+--
+-- Name: acts_as_xapian_jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY acts_as_xapian_jobs
+ ADD CONSTRAINT acts_as_xapian_jobs_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: censor_rules_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY censor_rules
+ ADD CONSTRAINT censor_rules_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY comments
+ ADD CONSTRAINT comments_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: exim_log_dones_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY mail_server_log_dones
+ ADD CONSTRAINT exim_log_dones_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: exim_logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY mail_server_logs
+ ADD CONSTRAINT exim_logs_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: foi_attachments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY foi_attachments
+ ADD CONSTRAINT foi_attachments_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: holidays_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY holidays
+ ADD CONSTRAINT holidays_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: incoming_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY incoming_messages
+ ADD CONSTRAINT incoming_messages_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: info_request_events_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY info_request_events
+ ADD CONSTRAINT info_request_events_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: info_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY info_requests
+ ADD CONSTRAINT info_requests_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: outgoing_messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY outgoing_messages
+ ADD CONSTRAINT outgoing_messages_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: post_redirects_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY post_redirects
+ ADD CONSTRAINT post_redirects_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: profile_photos_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY profile_photos
+ ADD CONSTRAINT profile_photos_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: public_bodies_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY public_bodies
+ ADD CONSTRAINT public_bodies_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: public_body_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY has_tag_string_tags
+ ADD CONSTRAINT public_body_tags_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: public_body_translations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY public_body_translations
+ ADD CONSTRAINT public_body_translations_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: public_body_versions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY public_body_versions
+ ADD CONSTRAINT public_body_versions_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: purge_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY purge_requests
+ ADD CONSTRAINT purge_requests_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: raw_emails_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY raw_emails
+ ADD CONSTRAINT raw_emails_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: request_classifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY request_classifications
+ ADD CONSTRAINT request_classifications_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: track_things_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY track_things
+ ADD CONSTRAINT track_things_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: track_things_sent_emails_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY track_things_sent_emails
+ ADD CONSTRAINT track_things_sent_emails_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: user_info_request_sent_alerts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY user_info_request_sent_alerts
+ ADD CONSTRAINT user_info_request_sent_alerts_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
+--
+
+ALTER TABLE ONLY users
+ ADD CONSTRAINT users_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: by_model_and_model_id_and_name_and_value; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX by_model_and_model_id_and_name_and_value ON has_tag_string_tags USING btree (model, model_id, name, value);
+
+
+--
+-- Name: index_acts_as_xapian_jobs_on_model_and_model_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX index_acts_as_xapian_jobs_on_model_and_model_id ON acts_as_xapian_jobs USING btree (model, model_id);
+
+
+--
+-- Name: index_censor_rules_on_info_request_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_censor_rules_on_info_request_id ON censor_rules USING btree (info_request_id);
+
+
+--
+-- Name: index_censor_rules_on_public_body_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_censor_rules_on_public_body_id ON censor_rules USING btree (public_body_id);
+
+
+--
+-- Name: index_censor_rules_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_censor_rules_on_user_id ON censor_rules USING btree (user_id);
+
+
+--
+-- Name: index_exim_log_dones_on_last_stat; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_exim_log_dones_on_last_stat ON mail_server_log_dones USING btree (last_stat);
+
+
+--
+-- Name: index_exim_logs_on_exim_log_done_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_exim_logs_on_exim_log_done_id ON mail_server_logs USING btree (mail_server_log_done_id);
+
+
+--
+-- Name: index_exim_logs_on_info_request_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_exim_logs_on_info_request_id ON mail_server_logs USING btree (info_request_id);
+
+
+--
+-- Name: index_foi_attachments_on_incoming_message_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_foi_attachments_on_incoming_message_id ON foi_attachments USING btree (incoming_message_id);
+
+
+--
+-- Name: index_has_tag_string_tags_on_model_and_model_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_has_tag_string_tags_on_model_and_model_id ON has_tag_string_tags USING btree (model, model_id);
+
+
+--
+-- Name: index_has_tag_string_tags_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_has_tag_string_tags_on_name ON has_tag_string_tags USING btree (name);
+
+
+--
+-- Name: index_holidays_on_day; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_holidays_on_day ON holidays USING btree (day);
+
+
+--
+-- Name: index_incoming_messages_on_info_request_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_incoming_messages_on_info_request_id ON incoming_messages USING btree (info_request_id);
+
+
+--
+-- Name: index_incoming_messages_on_raw_email_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_incoming_messages_on_raw_email_id ON incoming_messages USING btree (raw_email_id);
+
+
+--
+-- Name: index_info_request_events_on_comment_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_request_events_on_comment_id ON info_request_events USING btree (comment_id);
+
+
+--
+-- Name: index_info_request_events_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_request_events_on_created_at ON info_request_events USING btree (created_at);
+
+
+--
+-- Name: index_info_request_events_on_incoming_message_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_request_events_on_incoming_message_id ON info_request_events USING btree (incoming_message_id);
+
+
+--
+-- Name: index_info_request_events_on_info_request_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_request_events_on_info_request_id ON info_request_events USING btree (info_request_id);
+
+
+--
+-- Name: index_info_request_events_on_outgoing_message_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_request_events_on_outgoing_message_id ON info_request_events USING btree (outgoing_message_id);
+
+
+--
+-- Name: index_info_requests_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_requests_on_created_at ON info_requests USING btree (created_at);
+
+
+--
+-- Name: index_info_requests_on_public_body_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_requests_on_public_body_id ON info_requests USING btree (public_body_id);
+
+
+--
+-- Name: index_info_requests_on_title; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_requests_on_title ON info_requests USING btree (title);
+
+
+--
+-- Name: index_info_requests_on_url_title; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX index_info_requests_on_url_title ON info_requests USING btree (url_title);
+
+
+--
+-- Name: index_info_requests_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_info_requests_on_user_id ON info_requests USING btree (user_id);
+
+
+--
+-- Name: index_outgoing_messages_on_incoming_message_followup_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_outgoing_messages_on_incoming_message_followup_id ON outgoing_messages USING btree (incoming_message_followup_id);
+
+
+--
+-- Name: index_outgoing_messages_on_info_request_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_outgoing_messages_on_info_request_id ON outgoing_messages USING btree (info_request_id);
+
+
+--
+-- Name: index_outgoing_messages_on_what_doing; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_outgoing_messages_on_what_doing ON outgoing_messages USING btree (what_doing);
+
+
+--
+-- Name: index_post_redirects_on_email_token; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_post_redirects_on_email_token ON post_redirects USING btree (email_token);
+
+
+--
+-- Name: index_post_redirects_on_token; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_post_redirects_on_token ON post_redirects USING btree (token);
+
+
+--
+-- Name: index_post_redirects_on_updated_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_post_redirects_on_updated_at ON post_redirects USING btree (updated_at);
+
+
+--
+-- Name: index_post_redirects_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_post_redirects_on_user_id ON post_redirects USING btree (user_id);
+
+
+--
+-- Name: index_public_bodies_on_first_letter; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_public_bodies_on_first_letter ON public_bodies USING btree (first_letter);
+
+
+--
+-- Name: index_public_bodies_on_url_name; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX index_public_bodies_on_url_name ON public_bodies USING btree (url_name);
+
+
+--
+-- Name: index_public_body_translations_on_public_body_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_public_body_translations_on_public_body_id ON public_body_translations USING btree (public_body_id);
+
+
+--
+-- Name: index_public_body_versions_on_updated_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_public_body_versions_on_updated_at ON public_body_versions USING btree (updated_at);
+
+
+--
+-- Name: index_request_classifications_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_request_classifications_on_user_id ON request_classifications USING btree (user_id);
+
+
+--
+-- Name: index_track_things_on_tracking_user_id_and_track_query; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX index_track_things_on_tracking_user_id_and_track_query ON track_things USING btree (tracking_user_id, track_query);
+
+
+--
+-- Name: index_track_things_sent_emails_on_created_at; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_track_things_sent_emails_on_created_at ON track_things_sent_emails USING btree (created_at);
+
+
+--
+-- Name: index_track_things_sent_emails_on_info_request_event_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_track_things_sent_emails_on_info_request_event_id ON track_things_sent_emails USING btree (info_request_event_id);
+
+
+--
+-- Name: index_track_things_sent_emails_on_track_thing_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_track_things_sent_emails_on_track_thing_id ON track_things_sent_emails USING btree (track_thing_id);
+
+
+--
+-- Name: index_user_info_request_sent_alerts_on_info_request_event_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX index_user_info_request_sent_alerts_on_info_request_event_id ON user_info_request_sent_alerts USING btree (info_request_event_id);
+
+
+--
+-- Name: index_users_on_url_name; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX index_users_on_url_name ON users USING btree (url_name);
+
+
+--
+-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
+
+
+--
+-- Name: user_info_request_sent_alerts_unique_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX user_info_request_sent_alerts_unique_index ON user_info_request_sent_alerts USING btree (user_id, info_request_id, alert_type, (COALESCE(info_request_event_id, (-1))));
+
+
+--
+-- Name: users_email_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE UNIQUE INDEX users_email_index ON users USING btree (lower((email)::text));
+
+
+--
+-- Name: users_lower_email_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE INDEX users_lower_email_index ON users USING btree (lower((email)::text));
+
+
+--
+-- Name: fk_censor_rules_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY censor_rules
+ ADD CONSTRAINT fk_censor_rules_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_censor_rules_public_body; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY censor_rules
+ ADD CONSTRAINT fk_censor_rules_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id);
+
+
+--
+-- Name: fk_censor_rules_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY censor_rules
+ ADD CONSTRAINT fk_censor_rules_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_comments_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY comments
+ ADD CONSTRAINT fk_comments_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_comments_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY comments
+ ADD CONSTRAINT fk_comments_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_exim_log_done; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY mail_server_logs
+ ADD CONSTRAINT fk_exim_log_done FOREIGN KEY (mail_server_log_done_id) REFERENCES mail_server_log_dones(id);
+
+
+--
+-- Name: fk_exim_log_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY mail_server_logs
+ ADD CONSTRAINT fk_exim_log_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_incoming_message_followup_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY outgoing_messages
+ ADD CONSTRAINT fk_incoming_message_followup_info_request FOREIGN KEY (incoming_message_followup_id) REFERENCES incoming_messages(id);
+
+
+--
+-- Name: fk_incoming_messages_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY incoming_messages
+ ADD CONSTRAINT fk_incoming_messages_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_incoming_messages_raw_email; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY incoming_messages
+ ADD CONSTRAINT fk_incoming_messages_raw_email FOREIGN KEY (raw_email_id) REFERENCES raw_emails(id);
+
+
+--
+-- Name: fk_info_request_events_comment_id; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_request_events
+ ADD CONSTRAINT fk_info_request_events_comment_id FOREIGN KEY (comment_id) REFERENCES comments(id);
+
+
+--
+-- Name: fk_info_request_events_incoming_message_id; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_request_events
+ ADD CONSTRAINT fk_info_request_events_incoming_message_id FOREIGN KEY (incoming_message_id) REFERENCES incoming_messages(id);
+
+
+--
+-- Name: fk_info_request_events_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_request_events
+ ADD CONSTRAINT fk_info_request_events_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_info_request_events_outgoing_message_id; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_request_events
+ ADD CONSTRAINT fk_info_request_events_outgoing_message_id FOREIGN KEY (outgoing_message_id) REFERENCES outgoing_messages(id);
+
+
+--
+-- Name: fk_info_request_sent_alerts_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_info_request_sent_alerts
+ ADD CONSTRAINT fk_info_request_sent_alerts_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_info_request_sent_alerts_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_info_request_sent_alerts
+ ADD CONSTRAINT fk_info_request_sent_alerts_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_info_requests_public_body; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_requests
+ ADD CONSTRAINT fk_info_requests_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id);
+
+
+--
+-- Name: fk_info_requests_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY info_requests
+ ADD CONSTRAINT fk_info_requests_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_outgoing_messages_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY outgoing_messages
+ ADD CONSTRAINT fk_outgoing_messages_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_post_redirects_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY post_redirects
+ ADD CONSTRAINT fk_post_redirects_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_profile_photos_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY profile_photos
+ ADD CONSTRAINT fk_profile_photos_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_public_body_versions_public_body; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY public_body_versions
+ ADD CONSTRAINT fk_public_body_versions_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id);
+
+
+--
+-- Name: fk_track_request_info_request; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things
+ ADD CONSTRAINT fk_track_request_info_request FOREIGN KEY (info_request_id) REFERENCES info_requests(id);
+
+
+--
+-- Name: fk_track_request_info_request_event; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things_sent_emails
+ ADD CONSTRAINT fk_track_request_info_request_event FOREIGN KEY (info_request_event_id) REFERENCES info_request_events(id);
+
+
+--
+-- Name: fk_track_request_public_body; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things
+ ADD CONSTRAINT fk_track_request_public_body FOREIGN KEY (public_body_id) REFERENCES public_bodies(id);
+
+
+--
+-- Name: fk_track_request_public_body; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things_sent_emails
+ ADD CONSTRAINT fk_track_request_public_body FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_track_request_tracked_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things
+ ADD CONSTRAINT fk_track_request_tracked_user FOREIGN KEY (tracked_user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_track_request_tracking_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things
+ ADD CONSTRAINT fk_track_request_tracking_user FOREIGN KEY (tracking_user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_track_request_user; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY track_things_sent_emails
+ ADD CONSTRAINT fk_track_request_user FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: fk_user_info_request_sent_alert_info_request_event; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_info_request_sent_alerts
+ ADD CONSTRAINT fk_user_info_request_sent_alert_info_request_event FOREIGN KEY (info_request_event_id) REFERENCES info_request_events(id);
+
+
+--
+-- PostgreSQL database dump complete
+--
+
+INSERT INTO schema_migrations (version) VALUES ('1');
+
+INSERT INTO schema_migrations (version) VALUES ('2');
+
+INSERT INTO schema_migrations (version) VALUES ('4');
+
+INSERT INTO schema_migrations (version) VALUES ('5');
+
+INSERT INTO schema_migrations (version) VALUES ('6');
+
+INSERT INTO schema_migrations (version) VALUES ('7');
+
+INSERT INTO schema_migrations (version) VALUES ('8');
+
+INSERT INTO schema_migrations (version) VALUES ('9');
+
+INSERT INTO schema_migrations (version) VALUES ('10');
+
+INSERT INTO schema_migrations (version) VALUES ('11');
+
+INSERT INTO schema_migrations (version) VALUES ('12');
+
+INSERT INTO schema_migrations (version) VALUES ('13');
+
+INSERT INTO schema_migrations (version) VALUES ('14');
+
+INSERT INTO schema_migrations (version) VALUES ('15');
+
+INSERT INTO schema_migrations (version) VALUES ('16');
+
+INSERT INTO schema_migrations (version) VALUES ('17');
+
+INSERT INTO schema_migrations (version) VALUES ('18');
+
+INSERT INTO schema_migrations (version) VALUES ('21');
+
+INSERT INTO schema_migrations (version) VALUES ('22');
+
+INSERT INTO schema_migrations (version) VALUES ('23');
+
+INSERT INTO schema_migrations (version) VALUES ('24');
+
+INSERT INTO schema_migrations (version) VALUES ('25');
+
+INSERT INTO schema_migrations (version) VALUES ('26');
+
+INSERT INTO schema_migrations (version) VALUES ('27');
+
+INSERT INTO schema_migrations (version) VALUES ('28');
+
+INSERT INTO schema_migrations (version) VALUES ('29');
+
+INSERT INTO schema_migrations (version) VALUES ('30');
+
+INSERT INTO schema_migrations (version) VALUES ('31');
+
+INSERT INTO schema_migrations (version) VALUES ('32');
+
+INSERT INTO schema_migrations (version) VALUES ('33');
+
+INSERT INTO schema_migrations (version) VALUES ('34');
+
+INSERT INTO schema_migrations (version) VALUES ('35');
+
+INSERT INTO schema_migrations (version) VALUES ('36');
+
+INSERT INTO schema_migrations (version) VALUES ('37');
+
+INSERT INTO schema_migrations (version) VALUES ('38');
+
+INSERT INTO schema_migrations (version) VALUES ('39');
+
+INSERT INTO schema_migrations (version) VALUES ('40');
+
+INSERT INTO schema_migrations (version) VALUES ('41');
+
+INSERT INTO schema_migrations (version) VALUES ('42');
+
+INSERT INTO schema_migrations (version) VALUES ('43');
+
+INSERT INTO schema_migrations (version) VALUES ('44');
+
+INSERT INTO schema_migrations (version) VALUES ('45');
+
+INSERT INTO schema_migrations (version) VALUES ('46');
+
+INSERT INTO schema_migrations (version) VALUES ('47');
+
+INSERT INTO schema_migrations (version) VALUES ('48');
+
+INSERT INTO schema_migrations (version) VALUES ('49');
+
+INSERT INTO schema_migrations (version) VALUES ('50');
+
+INSERT INTO schema_migrations (version) VALUES ('51');
+
+INSERT INTO schema_migrations (version) VALUES ('52');
+
+INSERT INTO schema_migrations (version) VALUES ('53');
+
+INSERT INTO schema_migrations (version) VALUES ('54');
+
+INSERT INTO schema_migrations (version) VALUES ('55');
+
+INSERT INTO schema_migrations (version) VALUES ('56');
+
+INSERT INTO schema_migrations (version) VALUES ('57');
+
+INSERT INTO schema_migrations (version) VALUES ('58');
+
+INSERT INTO schema_migrations (version) VALUES ('59');
+
+INSERT INTO schema_migrations (version) VALUES ('60');
+
+INSERT INTO schema_migrations (version) VALUES ('61');
+
+INSERT INTO schema_migrations (version) VALUES ('62');
+
+INSERT INTO schema_migrations (version) VALUES ('63');
+
+INSERT INTO schema_migrations (version) VALUES ('64');
+
+INSERT INTO schema_migrations (version) VALUES ('65');
+
+INSERT INTO schema_migrations (version) VALUES ('66');
+
+INSERT INTO schema_migrations (version) VALUES ('67');
+
+INSERT INTO schema_migrations (version) VALUES ('68');
+
+INSERT INTO schema_migrations (version) VALUES ('69');
+
+INSERT INTO schema_migrations (version) VALUES ('70');
+
+INSERT INTO schema_migrations (version) VALUES ('71');
+
+INSERT INTO schema_migrations (version) VALUES ('72');
+
+INSERT INTO schema_migrations (version) VALUES ('73');
+
+INSERT INTO schema_migrations (version) VALUES ('74');
+
+INSERT INTO schema_migrations (version) VALUES ('75');
+
+INSERT INTO schema_migrations (version) VALUES ('76');
+
+INSERT INTO schema_migrations (version) VALUES ('77');
+
+INSERT INTO schema_migrations (version) VALUES ('78');
+
+INSERT INTO schema_migrations (version) VALUES ('79');
+
+INSERT INTO schema_migrations (version) VALUES ('80');
+
+INSERT INTO schema_migrations (version) VALUES ('81');
+
+INSERT INTO schema_migrations (version) VALUES ('82');
+
+INSERT INTO schema_migrations (version) VALUES ('83');
+
+INSERT INTO schema_migrations (version) VALUES ('84');
+
+INSERT INTO schema_migrations (version) VALUES ('85');
+
+INSERT INTO schema_migrations (version) VALUES ('86');
+
+INSERT INTO schema_migrations (version) VALUES ('87');
+
+INSERT INTO schema_migrations (version) VALUES ('88');
+
+INSERT INTO schema_migrations (version) VALUES ('89');
+
+INSERT INTO schema_migrations (version) VALUES ('90');
+
+INSERT INTO schema_migrations (version) VALUES ('91');
+
+INSERT INTO schema_migrations (version) VALUES ('92');
+
+INSERT INTO schema_migrations (version) VALUES ('93');
+
+INSERT INTO schema_migrations (version) VALUES ('94');
+
+INSERT INTO schema_migrations (version) VALUES ('95');
+
+INSERT INTO schema_migrations (version) VALUES ('96');
+
+INSERT INTO schema_migrations (version) VALUES ('97');
+
+INSERT INTO schema_migrations (version) VALUES ('98');
+
+INSERT INTO schema_migrations (version) VALUES ('99');
+
+INSERT INTO schema_migrations (version) VALUES ('100');
+
+INSERT INTO schema_migrations (version) VALUES ('101');
+
+INSERT INTO schema_migrations (version) VALUES ('102');
+
+INSERT INTO schema_migrations (version) VALUES ('103');
+
+INSERT INTO schema_migrations (version) VALUES ('104');
+
+INSERT INTO schema_migrations (version) VALUES ('105');
+
+INSERT INTO schema_migrations (version) VALUES ('106');
+
+INSERT INTO schema_migrations (version) VALUES ('107');
+
+INSERT INTO schema_migrations (version) VALUES ('108');
+
+INSERT INTO schema_migrations (version) VALUES ('109');
+
+INSERT INTO schema_migrations (version) VALUES ('110');
+
+INSERT INTO schema_migrations (version) VALUES ('111');
+
+INSERT INTO schema_migrations (version) VALUES ('112');
+
+INSERT INTO schema_migrations (version) VALUES ('113');
+
+INSERT INTO schema_migrations (version) VALUES ('114');
+
+INSERT INTO schema_migrations (version) VALUES ('115');
+
+INSERT INTO schema_migrations (version) VALUES ('116');
+
+INSERT INTO schema_migrations (version) VALUES ('117');
+
+INSERT INTO schema_migrations (version) VALUES ('118');
+
+INSERT INTO schema_migrations (version) VALUES ('20120822145640');
+
+INSERT INTO schema_migrations (version) VALUES ('20120910153022');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912111713');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912112036');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912112312');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912112655');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912113004');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912113720');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912114022');
+
+INSERT INTO schema_migrations (version) VALUES ('20120912170035');
+
+INSERT INTO schema_migrations (version) VALUES ('20120913074940');
+
+INSERT INTO schema_migrations (version) VALUES ('20120913080807');
+
+INSERT INTO schema_migrations (version) VALUES ('20120913081136');
+
+INSERT INTO schema_migrations (version) VALUES ('20120913135745');
+
+INSERT INTO schema_migrations (version) VALUES ('20120919140404');
+
+INSERT INTO schema_migrations (version) VALUES ('20121010214348');
+
+INSERT INTO schema_migrations (version) VALUES ('20121022031914'); \ No newline at end of file
diff --git a/db/migrate/094_remove_old_tags_foreign_key.rb b/db/migrate/094_remove_old_tags_foreign_key.rb
index 1a87b97c2..5a6a00acc 100644
--- a/db/migrate/094_remove_old_tags_foreign_key.rb
+++ b/db/migrate/094_remove_old_tags_foreign_key.rb
@@ -2,12 +2,11 @@ class RemoveOldTagsForeignKey < ActiveRecord::Migration
def self.up
if ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
execute "ALTER TABLE has_tag_string_tags DROP CONSTRAINT fk_public_body_tags_public_body"
+ execute 'DROP INDEX index_public_body_tags_on_public_body_id_and_name_and_value'
+ execute 'DROP INDEX index_public_body_tags_on_name'
end
- remove_index :public_body_tags, [:public_body_id, :name, :value]
- remove_index :public_body_tags, :name
-
- add_index :has_tag_string_tags, [:model, :model_id, :name, :value]
+ add_index :has_tag_string_tags, [:model, :model_id, :name, :value], :name => 'by_model_and_model_id_and_name_and_value'
add_index :has_tag_string_tags, :name
end
diff --git a/doc/ADMIN.md b/doc/ADMIN.md
new file mode 100644
index 000000000..07fe9398d
--- /dev/null
+++ b/doc/ADMIN.md
@@ -0,0 +1,21 @@
+Doing development work on the administration interface
+======================================================
+
+The Alaveteli admin interface uses Twitter's Bootstrap project to prettify it.
+
+If you want to work on the CSS, you'll want to use
+[bootstrap-sass](https://github.com/thomas-mcdonald/bootstrap-sass). Do something like:
+
+
+ $ gem install bootstrap-sass
+ $ gem install compass
+ $ compass compile --config .compass/config.rb
+
+The javascript is included in a funky way
+[for reasons explained in this commit](https://github.com/sebbacon/adminbootstraptheme/commit/45a73d53fc9e8f0b728933ff58764bd8d0612dab).
+To change it, edit the coffeescript at
+`lib/view/general/admin.coffee`, and then do something like:
+
+ $ coffee -o /tmp/ -c app/views/admin_general/admin.coffee
+ $ mv /tmp/admin.js app/views/admin_general/admin_js.erb
+
diff --git a/doc/CHANGES.md b/doc/CHANGES.md
index 2c8692bb5..debf9d7c7 100644
--- a/doc/CHANGES.md
+++ b/doc/CHANGES.md
@@ -1,11 +1,43 @@
+# Version 0.8
+## Highlighted features
+* Support for running the site over SSL/TLS only and corresponding removal of support for a proxied admin interface, including the deprecation of the main_url and admin_url helpers.
+* Merging of the adminbootstrap theme into core Alaveteli, replacing the existing admin theme. (Matthew Landauer)
+* Move to HTML 5 (Matthew Landauer)
+* More consistent UI for links in the admin interface
+* [Security] Upgrades the Rails version to 2.3.17 to get fixes for CVE-2013-0277, CVE-2013-0276 (Although core Alaveteli does not use serialize or attr_protected), upgrade JSON gem to get fix for CVE-2013-0269.
+* A bugfix for Chrome's autofilling of signup fields (Vaughan Rouesnel)
+* Improvements to the accessibility of the search boxes (Nathan Jenkins)
+* Only one email sent when asking for admin attention to a request [issue #789](https://github.com/mysociety/alaveteli/pull/864) (Matthew Landauer)
+* A number of XSS escaping fixes for Version 0.7 (Matthew Landauer)
+* The emergency admin account can now be disabled
+
+## Upgrade notes
+* Check out this version and run `rails-post-deploy` as usual.
+* Remove adminbootstrap from the THEME_URLS or THEME_URL config variable, and remove vendor/plugins/adminbootstraptheme, and the softlink public/adminbootstraptheme.
+* There is a new config variable FORCE_SSL, which defaults to true, meaning that Alaveteli will redirect all "http" requests to "https", set the Strict-Transport-Security header and flag all cookies as "secure". For more information about running your install over SSL/TLS, see the [install guide](https://github.com/mysociety/alaveteli/blob/develop/doc/INSTALL.md#set-up-production-web-server). If you don't want to run over SSL/TLS, add the config variable FORCE_SSL to your config/general.yml and set it to false.
+* If you would like to disable the emergency user account, set DISABLE_EMERGENCY_USER to true in you config/general.yml
+
+# Version 0.7
+## Highlighted features
+* [Security] Upgrades the Rails version from 2.3.15 to 2.3.16 to get fix for a critical security flaw in Rails (CVE-2013-0333).
+* Adds rails_xss gem to make HTML escaping the default behaviour in views.
+* Allows cap rake:themes:install to be run standalone and in the context of a deploy.
+* Gem bundle is always installed in the vendor directory, even in development mode.
+* Interlock plugin removed.
+* Models have named validation methods, and don't overwrite validate anymore.
+
+## Upgrade notes
+* Check out this version and run `rails-post-deploy` as usual.
+* Check your themes for any strings that are now being escaped but shouldn't be and either use raw or .html_safe to resolve them. Don't do this with strings from user input!
+
# Version 0.6.9
## Highlighted features
* [Security] Fix for security issue where image files from HTML conversion on hidden/requester-only requests were accessible without authentication [issue #739](https://github.com/mysociety/alaveteli/issues/739).
* [Security] Fix for issue where the zip file download function was available for logged-in users even on hidden/requester-only requests [issue #743](https://github.com/mysociety/alaveteli/issues/743)
* [Security] Upgrades to Rails 2.3.15 to get fixes for Rails security flaws CVE-2012-5664 and CVE-2013-0156. In addition, switches to use Rails pulled from a clone in the mySociety github account, which has had the CVE-2013-0155 2.3 series patch applied to it.
-* Isolation of mail handling code in the MailHandler module in lib/mail_handler
-* Tests run under Ruby 1.9.3 - *running the app under 1.9 not yet advised*.
-* Routes without a locale part can be enabled for the default locale - see upgrade notes
+* Isolation of mail handling code in the MailHandler module in lib/mail_handler
+* Tests run under Ruby 1.9.3 - *running the app under 1.9 not yet advised*.
+* Routes without a locale part can be enabled for the default locale - see upgrade notes
* Fixes to support themed error pages, and allow responsive themes (Matthew Landauer, Brendan Molloy)
* Migrations run under sqlite (Stefan Langenmaier)
* Time zone fixes (Henare Degan)
@@ -15,7 +47,7 @@
## Upgrade notes
* Note the new config variable INCLUDE_DEFAULT_LOCALE_IN_URLS (if not set defaults to true, which should replicate existing behaviour)
-* Check out this version and run `rails-post-deploy` as usual.
+* Check out this version and run `rails-post-deploy` as usual.
# Version 0.6.8
## Highlighted features
@@ -36,10 +68,10 @@
* TIME_ZONE (if not set, defaults to UTC)
* TWITTER_WIDGET_ID (no Twitter widget is displayed if not set)
* THEME_BRANCH (defaults to tagged version specific to your version of alaveteli or, failing that, to master)
- * MTA_LOG_PATH
+ * MTA_LOG_PATH
* MTA_LOG_TYPE (defaults to Exim)
* IMPORTANT - Copy config/newrelic.yml-example to config/newrelic.yml - by default monitoring is switched off, see https://github.com/newrelic/rpm for instructions on switching on local and remote performance analysis.
-* Check out this version and run `rails-post-deploy` as usual.
+* Check out this version and run `rails-post-deploy` as usual.
* Note that mailcatcher is now used in development - see http://mailcatcher.me/ for details
# Version 0.6.7
@@ -56,7 +88,7 @@
## Upgrade notes
* Themes created for 0.6.6 and below should be updated to use the new Configuration module wherever they used Config.get directly previously.
-* Check out this version and run `rails-post-deploy` as usual.
+* Check out this version and run `rails-post-deploy` as usual.
# Version 0.6.6
@@ -68,13 +100,13 @@
## Upgrade notes
-* Check out this version and run `rails-post-deploy` as usual.
-* Run `rake temp:populate_request_classifications` to populate the new request_classifications table which is used in generating the request categorisation game league tables and progress widget.
+* Check out this version and run `rails-post-deploy` as usual.
+* Run `rake temp:populate_request_classifications` to populate the new request_classifications table which is used in generating the request categorisation game league tables and progress widget.
# Version 0.6.5
-* This is a minor release, to update all documentation and example files to reflect the move of the official repository to http://github.com/mysociety/alaveteli and the alavetelitheme and adminbootstraptheme themes to http://github.com/mysociety/alavetelitheme and http://github.com/mysociety/adminbootstraptheme respectively.
-* Some basic versioning has been added for themes. An ALAVETELI_VERSION constant has been added in config/environment.rb. When loading themes, `rails-post-deploy` now looks for a tag on the theme repository in the form 'use-with-alaveteli-0.6.5' that matches the ALAVETELI_VERSION being deployed - if it finds such a tag, the theme will be checked out from that tag, rather than from the HEAD of the theme repository. If no such tag is found, HEAD is used, as before [issue #573](https://github.com/mysociety/alaveteli/issues/573).
-* Apache has been configured to serve cached HTML versions of attached files (and associated images) directly from the file cache, as well as the original versions [issue #580](https://github.com/mysociety/alaveteli/issues/580).
+* This is a minor release, to update all documentation and example files to reflect the move of the official repository to http://github.com/mysociety/alaveteli and the alavetelitheme and adminbootstraptheme themes to http://github.com/mysociety/alavetelitheme and http://github.com/mysociety/adminbootstraptheme respectively.
+* Some basic versioning has been added for themes. An ALAVETELI_VERSION constant has been added in config/environment.rb. When loading themes, `rails-post-deploy` now looks for a tag on the theme repository in the form 'use-with-alaveteli-0.6.5' that matches the ALAVETELI_VERSION being deployed - if it finds such a tag, the theme will be checked out from that tag, rather than from the HEAD of the theme repository. If no such tag is found, HEAD is used, as before [issue #573](https://github.com/mysociety/alaveteli/issues/573).
+* Apache has been configured to serve cached HTML versions of attached files (and associated images) directly from the file cache, as well as the original versions [issue #580](https://github.com/mysociety/alaveteli/issues/580).
* PublicBodyCategories have a couple of new methods for more easily working with headings [issue #575](https://github.com/mysociety/alaveteli/issues/575).
* [List of issues on github](https://github.com/mysociety/alaveteli/issues?milestone=21&state=closed)
@@ -84,10 +116,10 @@
* Please update your `THEME_URLS` to point to http://github.com/mysociety/alavetelitheme and http://github.com/mysociety/adminbootstraptheme if you are using the alavetelitheme or adminbootstraptheme themes.
* Check out this version and run `rails-post-deploy` as usual.
-
+
# Version 0.6.4
## Highlighted features
-* This is a minor bugfix release, mainly to fix bugs related to external request handling.
+* This is a minor bugfix release, mainly to fix bugs related to external request handling.
* [List of issues on github](https://github.com/mysociety/alaveteli/issues?milestone=18&state=closed)
* [List of commits since last release](https://github.com/mysociety/alaveteli/compare/master...release/0.6.4)
@@ -152,7 +184,7 @@
* Support for invalidating accelerator cache -- this makes it much
less likely, when using Varnish, that users will be presented with
stale content. Fixes
-
+
* Adding a `GA_CODE` to `general.yml` will cause the relevant Google
Analytics code to be added to your rendered pages
* It is now possible to have more than one theme installed. The
@@ -184,7 +216,7 @@
should be installed has changed. On Debian, you can run:
sudo apt-get install `cut -d " " -f 1 config/packages | grep -v "^#"`
-
+
[This gist](https://gist.github.com/2584766) shows the changes to
`config/packages` since the previous release.
@@ -217,7 +249,7 @@
`general.yml`) is now known as the "emergency user". Deployments
that previously bypassed admin authentication should set the new
`SKIP_ADMIN_AUTH` config variable to `true`.
-
+
* If you want to try out the new administrator theme, copy the sample
`THEME_URLS` config from `general.yml-example` and run
`./script/rails-post-deploy`. If you don't like it, turn it off
@@ -225,7 +257,7 @@
(`adminbootstraptheme`) -- but email the mailing list first,
explaining why! The intention is to merge this theme into the
Alaveteli core in a future release.
-
+
* If you are already using Google Analytics, you are probably
including the tracking code manually in your theme. If you'd like
to use Alaveteli's support for Google Analytics, set the `GA_CODE`
@@ -254,7 +286,7 @@ in 0.5, which was causing deployment problems:
production environments
* It should now be safe to run `rake spec` on a production server
-There is one minor new feature in this release:
+There is one minor new feature in this release:
* Administrators can follow the auto-login URLs forwarded in emails
from users who want support, and they will remain logged in as
@@ -275,9 +307,9 @@ As usual, there is a [full list of changes on github](https://github.com/mysocie
# Version 0.5
## Highlighted features
-* It should now be possible to develop the software on OSX
+* It should now be possible to develop the software on OSX
* Base design refactored: CSS simplified and reduced, base design colours removed, now provided in example Alaveteli theme override
-* It is now possible to rebuild the xapian index for specific terms, rather than having to drop and rebuild the entire database every time (as previously). See rake xapian:rebuild_index for more info.
+* It is now possible to rebuild the xapian index for specific terms, rather than having to drop and rebuild the entire database every time (as previously). See rake xapian:rebuild_index for more info.
* When listing authorities, show all authorities in default locale, rather than only those in the currently selected locale.
* Ensure incoming emails are only ever parsed once (should give a performance boost)
* Added a simple rate-limiting feature: restrict the number of requests users can make per day, except if explicitly unrestricted in the admin interface
diff --git a/doc/INSTALL.md b/doc/INSTALL.md
index 3a911cbc8..2156f4c4a 100644
--- a/doc/INSTALL.md
+++ b/doc/INSTALL.md
@@ -14,7 +14,7 @@ with all these steps configured. It is *not* production-ready.
To start with, you may need to install git, e.g. with `sudo apt-get
install git-core`
-Next, get hold of the Alaveteli source code from github:
+Next, get hold of the Alaveteli source code from github:
git clone https://github.com/mysociety/alaveteli.git
cd alaveteli
@@ -27,7 +27,7 @@ master branch (which always contains the latest stable release):
# Package pinning
-You need to configure [apt-pinning](http://wiki.debian.org/AptPreferences#Pinning-1) preferences in order to prevent packages being pulled from the debian testing distribution in preference to the stable distribution once you have added the testing repository as described below.
+You need to configure [apt-pinning](http://wiki.debian.org/AptPreferences#Pinning-1) preferences in order to prevent packages being pulled from the debian testing distribution in preference to the stable distribution once you have added the testing repository as described below.
In order to configure apt-pinning and to keep most packages coming from the Debian stable repository while installing the ones required from testing and the mySociety repository you need to run the following commands:
@@ -36,7 +36,7 @@ In order to configure apt-pinning and to keep most packages coming from the Debi
echo "Pin-Priority: 50" >> /tmp/preferences
sudo cp /tmp/preferences /etc/apt/
rm /tmp/preferences
-
+
# Install system dependencies
These are packages that the software depends on: third-party software
@@ -74,14 +74,14 @@ explanation):
wget http://rubyforge.org/frs/download.php/74445/rubygems-1.6.2.tgz -O /tmp/rubygems-1.6.2.tgz
tar zxvf /tmp/rubygems-1.6.2.tgz -C /tmp/
sudo ruby1.8 /tmp/rubygems-1.6.2/setup.rb
-
+
To install Alaveteli's Ruby dependencies, we also need to install
bundler. In Debian, this is provided as a package (installed as part
of the package install process above). You could also install it as a
gem:
sudo gem1.8 install bundler
-
+
# Install mySociety libraries
You will also want to install mySociety's common ruby libraries and the Rails
@@ -118,7 +118,7 @@ use the Debian package compiled by mySociety (see link in
[issue 305](https://github.com/mysociety/alaveteli/issues/305))
-# Configure Database
+# Configure Database
There has been a little work done in trying to make the code work with
other databases (e.g. SQLite), but the currently supported database is
@@ -139,12 +139,12 @@ Make sure that the user specified in database.yml exists, and has full
permissions on these databases. As they need the ability to turn off
constraints whilst running the tests they also need to be a superuser.
(See http://dev.rubyonrails.org/ticket/9981)
-
+
You can create a `foi` user from the command line, thus:
# su - postgres
$ createuser -s -P foi
-
+
And you can create a database thus:
$ createdb -T template0 -E SQL_ASCII -O foi foi_production
@@ -157,15 +157,15 @@ data that may not be valid UTF (for example, data originating from
various broken email clients that's not 8-bit clean), it's safer to be
able to store *anything*, than reject data at runtime.
-# Configure email
+# Configure email
You will need to set up an email server (MTA) to send and receive
emails. Full configuration for an MTA is beyond the scope of this
document, though we describe an example configuration for Exim in
`INSTALL-exim4.md`.
-Note that in development mode, mail is handled by default by mailcatcher
-so that you can see the mails in a browser - see http://mailcatcher.me/
+Note that in development mode, mail is handled by default by mailcatcher
+so that you can see the mails in a browser - see http://mailcatcher.me/
for more details.
## Minimal
@@ -230,7 +230,7 @@ for instructions on switching on local and remote performance analysis.
In the 'alaveteli' directory, run:
- ./script/rails-post-deploy
+ ./script/rails-post-deploy
(This will need execute privs so `chmod 755` if necessary.) This sets
up directory structures, creates logs, installs/updates themes, runs
@@ -301,7 +301,7 @@ There is an emergency user account which can be accessed via
`/admin?emergency=1`, using the credentials `ADMIN_USERNAME` and
`ADMIN_PASSWORD`, which are set in `general.yml`. To bootstrap the
first `super` level accounts, you will need to log in as the emergency
-user.
+user. You can disable the emergency user account by setting `DISABLE_EMERGENCY_USER` to `true` in `general.yml`.
Users with the superuser role also have extra privileges in the
website frontend, such as being able to categorise any request, being
@@ -328,7 +328,7 @@ like `!!(*= $this *)!!`. The variables are:
port with a path to the directory where your Alaveteli software
installation lives, e.g. `/var/www/`
* `vhost_dir`: the entire path to the directory where the software is
- served from. -- you should replace this with a path to the
+ served from. -- you should replace this with a path to the
directory where your Alaveteli software installation lives,
e.g. `/var/www/`
* `vcspath`: the name of the alaveteli checkout, e.g. `alaveteli`.
@@ -378,6 +378,34 @@ Under all but light loads, it is strongly recommended to run the
server behind an http accelerator like Varnish. A sample varnish VCL
is supplied in `../conf/varnish-alaveteli.vcl`.
+It's strongly recommended that you run the site over SSL. (Set FORCE_SSL to true in
+config/general.yml). For this you will need an SSL certificate for your domain and you will
+need to configure an SSL terminator to sit in front of Varnish. If you're already using Apache
+as a web server you could simply use Apache as the SSL terminator. A minimal configuration
+would look something like this:
+
+<VirtualHost *:443>
+ ServerName www.yourdomain
+
+ ProxyRequests Off
+ ProxyPreserveHost On
+ ProxyPass / http://localhost:80/
+ ProxyPassReverse / http://localhost:80/
+ RequestHeader set X-Forwarded-Proto 'https'
+
+ SSLEngine on
+ SSLProtocol all -SSLv2
+ SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
+
+ SSLCertificateFile /etc/apache2/ssl/ssl.crt
+ SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
+ SSLCertificateChainFile /etc/apache2/ssl/sub.class2.server.ca.pem
+ SSLCACertificateFile /etc/apache2/ssl/ca.pem
+ SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
+</VirtualHost>
+
+Notice the line "RequestHeader" that sets the X-Forwarded-Proto header. This is important. This ultimately tells Rails that it's serving a page over https and so it knows to include that in any absolute urls it serves.
+
Some
[production server best practice notes](https://github.com/mysociety/alaveteli/wiki/Production-Server-Best-Practices)
are evolving on the wiki.
@@ -413,14 +441,14 @@ various other things that can be automated for deployment.
# Troubleshooting
* **Incoming emails aren't appearing in my Alaveteli install**
-
+
First, you need to check that your MTA is delivering relevant
incoming emails to the `script/mailin` command. There are various
ways of setting your MTA up to do this; we have documented one way
of doing it in Exim at `doc/INSTALL-exim4.conf`, including a
command you can use to check that the email routing is set up
correctly.
-
+
Second, you need to test that the mailin script itself is working
correctly, by running it from the command line, First, find a
valid "To" address for a request in your system. You can do this
@@ -431,7 +459,7 @@ various other things that can be automated for deployment.
Loading development environment (Rails 2.3.14)
>> InfoRequest.find_by_url_title("why_do_you_have_such_a_fancy_dog").incoming_email
=> "request-101-50929748@localhost"
-
+
Now take the source of a valid email (there are some sample emails in
`spec/fixtures/files/`); edit the `To:` header to match this address;
and then pipe it through the mailin script. A non-zero exit code
@@ -447,7 +475,7 @@ various other things that can be automated for deployment.
`CONTACT_EMAIL` (from your `general.yml` file). A common problem is
for the user that the MTA runs as not to have write access to
`files/raw_emails/`.
-
+
* **Various tests fail with "*Your PostgreSQL connection does not support
unescape_bytea. Try upgrading to pg 0.9.0 or later.*"**
@@ -470,17 +498,17 @@ various other things that can be automated for deployment.
Normally, the encoding should just work, but under some
circumstances it appears that `elinks` ignores the parameters
passed to it from Alaveteli.
-
+
To force `elinks` always to treat input as UTF8, add the following
to `/etc/elinks/elinks.conf`:
-
+
set document.codepage.assume = "utf-8"
set document.codepage.force_assumed = 1
- You should also check that your locale is set up correctly. See
+ You should also check that your locale is set up correctly. See
[https://github.com/mysociety/alaveteli/issues/128#issuecomment-1814845](this issue followup)
for further discussion.
-
+
* **I'm getting lots of `SourceIndex.new(hash) is deprecated` errors when running the tests**
The latest versions of rubygems contain a large number of noisy
@@ -488,7 +516,7 @@ various other things that can be automated for deployment.
2.x isn't under active development so isn't going to get fixed (in
the sense of using a non-deprecated API). So the only vaguely
sensible way to avoid this noisy output is to downgrade rubygems.
-
+
For example, you might do this by uninstalling your
system-packaged rubygems, and then installing the latest rubygems
from source, and finally executing `sudo gem update --system
diff --git a/doc/TRANSLATE.md b/doc/TRANSLATE.md
index abf47add3..f8b4adbcb 100644
--- a/doc/TRANSLATE.md
+++ b/doc/TRANSLATE.md
@@ -39,6 +39,21 @@ The release manager will also give you a **translation deadline**. After
this date, you can continue to contribute new translations, but they
won't make it into the release.
+## General notes on translation in Transifex
+
+Some bits of text will have comments attached to them from the Alaveteli
+application developers about the context in which the text appears in the
+application - these comments will appear under the 'Details' tab for the
+text in Transifex.
+
+Some bits of text are in the form of two bits of text separated by a `|`
+character e.g. `IncomingMessage|Subject`. These represent attribute names, so
+`IncomingMessage|Subject` is the subject attribute of an incoming message on
+the site. You should not prioritise these types of text when translating -
+they do not appear on the site anywhere at the moment, and when they do,
+they will only be used in the admin interface. If you do translate them, only
+translate the text after the `|`.
+
# Translation process: release manager's view
Before the Alaveteli release manager cuts a new release branch, they
diff --git a/lib/ability.rb b/lib/ability.rb
new file mode 100644
index 000000000..2865ccb1c
--- /dev/null
+++ b/lib/ability.rb
@@ -0,0 +1,5 @@
+module Ability
+ def self.can_update_request_state?(user, request)
+ (user && request.is_old_unclassified?) || request.is_owning_user?(user)
+ end
+end \ No newline at end of file
diff --git a/lib/configuration.rb b/lib/configuration.rb
index 11fe1c56e..4a0e0339b 100644
--- a/lib/configuration.rb
+++ b/lib/configuration.rb
@@ -4,9 +4,7 @@
module Configuration
DEFAULTS = {
- :ADMIN_BASE_URL => '',
:ADMIN_PASSWORD => '',
- :ADMIN_PUBLIC_URL => '',
:ADMIN_USERNAME => '',
:AVAILABLE_LOCALES => '',
:BLACKHOLE_PREFIX => 'do-not-reply-to-this-address',
@@ -16,10 +14,12 @@ module Configuration
:COOKIE_STORE_SESSION_SECRET => 'this default is insecure as code is open source, please override for live sites in config/general; this will do for local development',
:DEBUG_RECORD_MEMORY => false,
:DEFAULT_LOCALE => '',
+ :DISABLE_EMERGENCY_USER => false,
:DOMAIN => 'localhost:3000',
:EXCEPTION_NOTIFICATIONS_FROM => '',
:EXCEPTION_NOTIFICATIONS_TO => '',
:FORCE_REGISTRATION_ON_NEW_REQUEST => false,
+ :FORCE_SSL => true,
:FORWARD_NONBOUNCE_RESPONSES_TO => 'user-support@localhost',
:FRONTPAGE_PUBLICBODY_EXAMPLES => '',
:GA_CODE => '',
diff --git a/lib/cookie_store_with_line_break_fix.rb b/lib/cookie_store_with_line_break_fix.rb
new file mode 100644
index 000000000..dc623fbd0
--- /dev/null
+++ b/lib/cookie_store_with_line_break_fix.rb
@@ -0,0 +1,19 @@
+# See https://makandracards.com/makandra/9443-rails-2-s-cookiestore-produces-invalid-cookie-data-causing-tests-to-break
+
+# Should be able to remove this when we upgrade to Rails 3
+
+module ActionController
+ module Session
+ CookieStore.class_eval do
+
+ def call_with_line_break_fix(*args)
+ status, headers, body = call_without_line_break_fix(*args)
+ headers['Set-Cookie'].gsub! "\n\n", "\n" if headers['Set-Cookie'].present?
+ [ status, headers, body ]
+ end
+
+ alias_method_chain :call, :line_break_fix
+
+ end
+ end
+end \ No newline at end of file
diff --git a/lib/mail_handler/backends/mail_backend.rb b/lib/mail_handler/backends/mail_backend.rb
index b75e6ed63..0a12ab3bb 100644
--- a/lib/mail_handler/backends/mail_backend.rb
+++ b/lib/mail_handler/backends/mail_backend.rb
@@ -8,8 +8,7 @@ module MailHandler
'Mail'
end
- # Note that the decode flag is not yet used
- def mail_from_raw_email(data, decode=true)
+ def mail_from_raw_email(data)
Mail.new(data)
end
diff --git a/lib/mail_handler/backends/tmail_backend.rb b/lib/mail_handler/backends/tmail_backend.rb
index 02124cdb1..1e241f261 100644
--- a/lib/mail_handler/backends/tmail_backend.rb
+++ b/lib/mail_handler/backends/tmail_backend.rb
@@ -8,14 +8,12 @@ module MailHandler
# Turn raw data into a structured TMail::Mail object
# Documentation at http://i.loveruby.net/en/projects/tmail/doc/
- def mail_from_raw_email(data, decode=true)
+ def mail_from_raw_email(data)
# Hack round bug in TMail's MIME decoding.
# Report of TMail bug:
# http://rubyforge.org/tracker/index.php?func=detail&aid=21810&group_id=4512&atid=17370
copy_of_raw_data = data.gsub(/; boundary=\s+"/im,'; boundary="')
- mail = TMail::Mail.parse(copy_of_raw_data)
- mail.base64_decode if decode
- mail
+ TMail::Mail.parse(copy_of_raw_data)
end
# Extracts all attachments from the given TNEF file as a TMail::Mail object
@@ -105,12 +103,12 @@ module MailHandler
if part.content_type == 'message/rfc822'
# An email attached as text
# e.g. http://www.whatdotheyknow.com/request/64/response/102
- part.rfc822_attachment = mail_from_raw_email(part.body, decode=false)
+ part.rfc822_attachment = mail_from_raw_email(part.body)
elsif part.content_type == 'application/vnd.ms-outlook' || part_filename && AlaveteliFileTypes.filename_to_mimetype(part_filename) == 'application/vnd.ms-outlook'
# An email attached as an Outlook file
# e.g. http://www.whatdotheyknow.com/request/chinese_names_for_british_politi
msg = Mapi::Msg.open(StringIO.new(part.body))
- part.rfc822_attachment = mail_from_raw_email(msg.to_mime.to_s, decode=false)
+ part.rfc822_attachment = mail_from_raw_email(msg.to_mime.to_s)
elsif part.content_type == 'application/ms-tnef'
# A set of attachments in a TNEF file
part.rfc822_attachment = mail_from_tnef(part.body)
diff --git a/lib/make_html_4_compliant.rb b/lib/make_html_4_compliant.rb
deleted file mode 100644
index 8926d5873..000000000
--- a/lib/make_html_4_compliant.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-# Monkeypatch! Output HTML 4.0 compliant code, using method described in this
-# ticket: http://dev.rubyonrails.org/ticket/6009
-
-ActionView::Helpers::TagHelper.module_eval do
- def tag(name, options = nil, open = false, escape = true)
- "<#{name}#{tag_options(options, escape) if options}#{open ? ">" : ">"}".html_safe
- end
-end
diff --git a/lib/tasks/gettext.rake b/lib/tasks/gettext.rake
index 787b4029f..c73c2584e 100644
--- a/lib/tasks/gettext.rake
+++ b/lib/tasks/gettext.rake
@@ -4,6 +4,15 @@ Dir["#{Gem.searcher.find('gettext_i18n_rails').full_gem_path}/lib/tasks/**/*.rak
namespace :gettext do
+ desc 'Rewrite .po files into a consistent msgmerge format'
+ task :clean do
+ load_gettext
+
+ Dir.glob("locale/*/app.po") do |po_file|
+ GetText::msgmerge(po_file, po_file, 'alaveteli', :msgmerge => [:sort_output, :no_location, :no_wrap])
+ end
+ end
+
desc "Update pot file only, without fuzzy guesses (these are done by Transifex)"
task :findpot => :environment do
load_gettext
@@ -17,12 +26,12 @@ namespace :gettext do
#merge tmp.pot and existing pot
FileUtils.mkdir_p('locale')
- GetText::msgmerge("locale/app.pot", temp_pot, "alaveteli", :po_root => 'locale', :msgmerge=>[ :no_wrap, :sort_output ])
+ GetText::msgmerge("locale/app.pot", temp_pot, "alaveteli", :po_root => 'locale', :msgmerge=>[ :no_wrap, :sort_output ])
Dir.glob("locale/*/app.po") do |po_file|
- GetText::msgmerge(po_file, temp_pot, "alaveteli", :po_root => 'locale', :msgmerge=>[ :no_wrap, :sort_output ])
+ GetText::msgmerge(po_file, temp_pot, "alaveteli", :po_root => 'locale', :msgmerge=>[ :no_wrap, :sort_output ])
end
File.delete(temp_pot)
- end
+ end
def files_to_translate
Dir.glob("{app,lib,config,locale}/**/*.{rb,erb,haml,rhtml}")
diff --git a/lib/tasks/translation.rake b/lib/tasks/translation.rake
index 273c12bfa..ff07fc6f6 100644
--- a/lib/tasks/translation.rake
+++ b/lib/tasks/translation.rake
@@ -4,7 +4,7 @@ namespace :translation do
include Usage
def write_email(email, email_description, output_file)
- mail_object = MailHandler.mail_from_raw_email(email.to_s, decode=false)
+ mail_object = MailHandler.mail_from_raw_email(email.to_s)
output_file.write("\n")
output_file.write("Description of email: #{email_description}\n")
output_file.write("Subject line: #{mail_object.subject}\n")
@@ -49,7 +49,7 @@ namespace :translation do
write_email(followup_email, 'Follow up', output_file)
# contact mailer
- contact_email = ContactMailer.create_message(info_request.user_name,
+ contact_email = ContactMailer.create_to_admin_message(info_request.user_name,
info_request.user.email,
'A test message',
'Hello!',
@@ -86,7 +86,7 @@ namespace :translation do
'fixtures',
'files',
'incoming-request-plain.email'))
- response_mail = MailHandler.mail_from_raw_email(content, decode=false)
+ response_mail = MailHandler.mail_from_raw_email(content)
response_mail.from = "authority@example.com"
stopped_responses_email = RequestMailer.create_stopped_responses(info_request,
diff --git a/locale/aln/app.po b/locale/aln/app.po
index 603379648..978ecaa21 100644
--- a/locale/aln/app.po
+++ b/locale/aln/app.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:06+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: aln\n"
@@ -120,6 +120,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -171,9 +174,6 @@ msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgstr ""
-msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr ""
-
msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
msgstr ""
@@ -314,6 +314,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -401,6 +404,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -440,6 +446,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -608,6 +617,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -617,6 +629,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -629,6 +644,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -647,10 +665,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -692,10 +710,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -704,6 +725,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -874,6 +898,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -886,6 +913,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "ueb faqja e autoritetit"
@@ -934,9 +964,18 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -991,6 +1030,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1105,12 +1147,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1129,9 +1177,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1228,6 +1294,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1273,6 +1342,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1282,6 +1354,9 @@ msgstr "Asnji nuk u gjet."
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1327,6 +1402,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1516,9 +1594,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1609,12 +1684,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1687,6 +1774,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1744,6 +1834,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1842,6 +1935,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1875,6 +1971,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1968,6 +2067,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1989,6 +2091,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2016,6 +2121,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2091,10 +2199,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2243,6 +2351,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2310,6 +2421,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2508,6 +2622,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2562,6 +2679,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2911,6 +3031,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2944,6 +3067,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2956,6 +3082,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3037,6 +3166,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3046,6 +3178,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3067,6 +3202,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3088,6 +3226,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3196,6 +3339,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/app.pot b/locale/app.pot
index 449434394..f93618f74 100644
--- a/locale/app.pot
+++ b/locale/app.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: version 0.0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
"PO-Revision-Date: 2011-10-09 01:10+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -118,6 +118,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -172,9 +175,6 @@ msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
msgstr ""
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr ""
-
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr ""
@@ -312,6 +312,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -399,6 +402,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -438,6 +444,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -606,6 +615,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -615,6 +627,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -627,6 +642,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -645,10 +663,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -690,10 +708,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -702,6 +723,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -872,6 +896,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -884,6 +911,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -932,9 +962,18 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -989,6 +1028,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1103,12 +1145,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1127,9 +1175,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1226,6 +1292,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1271,6 +1340,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1280,6 +1352,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1325,6 +1400,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1514,9 +1592,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1607,12 +1682,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1685,6 +1772,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1742,6 +1832,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1840,6 +1933,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1873,6 +1969,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1966,6 +2065,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1987,6 +2089,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2014,6 +2119,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2089,10 +2197,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2241,6 +2349,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2308,6 +2419,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2506,6 +2620,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2560,6 +2677,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2909,6 +3029,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2942,6 +3065,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2954,6 +3080,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3035,6 +3164,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3044,6 +3176,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3065,6 +3200,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3086,6 +3224,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3194,6 +3337,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/ar/app.po b/locale/ar/app.po
index 0539597f5..f48dd3069 100644
--- a/locale/ar/app.po
+++ b/locale/ar/app.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-25 21:20+0000\n"
-"Last-Translator: aelharaty <aelharaty@gmail.com>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:07+0000\n"
+"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
@@ -132,6 +132,9 @@ msgstr "'{{link_to_request}}'"
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -330,6 +333,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -417,6 +423,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -456,6 +465,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -624,6 +636,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -633,6 +648,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -645,6 +663,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -663,10 +684,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -708,10 +729,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -720,6 +744,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -894,6 +921,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -906,6 +936,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -954,6 +987,16 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
@@ -1011,6 +1054,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1125,12 +1171,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1149,9 +1201,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1248,6 +1318,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1293,6 +1366,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1302,6 +1378,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1347,6 +1426,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1536,9 +1618,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1629,12 +1708,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1707,6 +1798,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1764,6 +1858,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1866,6 +1963,9 @@ msgstr[5] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1899,6 +1999,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1992,6 +2095,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -2013,6 +2119,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2040,6 +2149,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2110,14 +2222,15 @@ msgid "The request was refused by the public authority"
msgstr ""
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
+msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2270,6 +2383,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2345,6 +2461,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2543,6 +2662,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2597,6 +2719,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2954,6 +3079,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2987,6 +3115,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2999,6 +3130,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3080,6 +3214,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3090,6 +3227,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3111,6 +3251,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3132,6 +3275,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3240,6 +3388,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/bs/app.po b/locale/bs/app.po
index 84b5c73f3..12b4e491d 100644
--- a/locale/bs/app.po
+++ b/locale/bs/app.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:09+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: bs\n"
@@ -135,6 +135,9 @@ msgstr "'{{link_to_request}}', zahtjev"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', osoba"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -225,7 +228,6 @@ msgstr "<p>Nije potrebno da uključite Vašu e-mail adresu u zahtjev da biste do
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Nije potrebno da uključite Vašu e-mail adresu u zahtjev da biste dobili odgovor, pitati ćemo vas u vezi toga u slijedećem koraku (<a href=\"{{url}}\">Više informacija</a>).</p>"
-
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
msgstr ""
@@ -353,6 +355,9 @@ msgstr "Odgovor će biti poslan <strong>poštom</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Neobičan odgovor, potreban pregled od strane {{site_name}} tima"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Korisnik stranice {{site_name}}"
@@ -448,6 +453,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Bilo ko:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Tražite <strong>konkretne</strong> dokumente ili informacije, ova stranica nije pogodna za opće pretrage."
@@ -489,6 +497,9 @@ msgstr "Po zakonu, pod svim uvjetima, {{public_body_link}} je trebala odgovoriti
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Po zakonu, {{public_body_link}} je trebala odgovoriti <strong>brzo</strong> i"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Poništi {{site_name}} upozorenje"
@@ -659,6 +670,9 @@ msgstr "Datum:"
msgid "Dear {{public_body_name}},"
msgstr "Poštovani {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Odgođen odgovor na Vaš Zahtjev o slobodnom pristupu informacijama - "
@@ -668,6 +682,9 @@ msgstr "Odgođen"
msgid "Delivery error"
msgstr "Greška u isporuci"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalji zahtjeva '"
@@ -680,6 +697,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -698,14 +718,14 @@ msgstr "Preuzeti originalni prilog"
msgid "EIR"
msgstr ""
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Uredite i dodajte <strong>više detalja</strong> na poruku iznad,\n"
" objašnjavajući zašto niste zadovoljni njihovim odgovorom."
-msgid "Edit language version:"
-msgstr "Edituj ???????????????????"
-
msgid "Edit text about you"
msgstr "Uredite tekst o Vama"
@@ -745,13 +765,16 @@ msgstr "Prikaz prošlih događanja"
msgid "Event history details"
msgstr "Detalji prikaza prošlih događanja"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Sve što unesete na ovu stranicu \n"
" će biti <strong>javno prikazano</strong> na\n"
" ovoj web stranici trajno. (<a href=\"{{url}}\">Više informacija</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Sve što unesete na ovu stranicu, uključujući <strong>Vaše ime</strong>, \n"
" će biti <strong>javno prikazano</strong> na\n"
@@ -763,6 +786,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr "ZOSPI e-mail adresa za {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Zahtjevi za slobodan pristup informacijama"
@@ -938,6 +964,9 @@ msgstr ""
" malo vremena da ga pročitate i da nam pomognete da održimo ovo mjesto urednim za sviju?\n"
" Hvala."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -950,6 +979,9 @@ msgstr "Praznik|Opis"
msgid "Home"
msgstr "Naslovna"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Početna stranica ustanove"
@@ -1002,6 +1034,15 @@ msgstr "Dobio/la sam <strong>dio informacija</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Dobio/la sam <strong>poruku o pogrešci</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Ako je adresa pogrešna, ili znate bolju adresu, molimo Vas <a href=\"{{url}}\">da nas kontaktirate</a>."
@@ -1080,6 +1121,9 @@ msgstr ""
"Ako je Vaš pretraživač namješten da prihvata cookies-e i vidite ovu poruku,\n"
"onda vjerovatno postoji problem sa našim serverom."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1199,12 +1243,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Spojen"
msgid "Joined {{site_name}} in"
msgstr "Pridružio se na {{site_name}} u"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Držite se <strong>suštine</strong>, lakše ćete dobiti ono što tražite(<a href=\"{{url}}\">Više informacija</a>)."
@@ -1225,9 +1275,27 @@ msgstr ""
msgid "Link to this"
msgstr "Spojite sa ovim"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Popis svih ustanova (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Prijavite se da preuzmete zipovano {{info_request_title}}"
@@ -1328,6 +1396,9 @@ msgstr "Ime se već koristi"
msgid "New Freedom of Information requests"
msgstr "Novi Zahtjevi za slobodan pristup informacijama"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Novi e-mail:"
@@ -1373,6 +1444,9 @@ msgstr "Nema rezultata pretrage"
msgid "No similar requests found."
msgstr "Nisu nađeni slični zahtjevi."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Niko nije podnio Zahtjev za slobodan pristup informacijama {{public_body_name}} koristeći ovu stranicu."
@@ -1382,6 +1456,9 @@ msgstr "Ništa nije nađeno."
msgid "None made."
msgstr "Ništa podneseno."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1427,6 +1504,9 @@ msgstr "Jedna osoba pronađena"
msgid "One public authority found"
msgstr "Jedna javna ustanova pronađena"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Samo zahtjevi koji koriste {{site_name}} su prikazani."
@@ -1627,9 +1707,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Molimo ukucajte poruku i/ili odaberite fajl koji sadrži vaš odgovor."
-msgid "Please use the form below to tell us more."
-msgstr "Molimo koristite formular ispod da biste nam rekli više."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Molimo koristite ovu e-mail adresu za odgovore na ovaj zahtjev:"
@@ -1720,12 +1797,24 @@ msgstr "Javne ustanove - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1798,6 +1887,9 @@ msgstr "Javno tijelo|Verzija"
msgid "Publication scheme"
msgstr "Nacrt publikacije"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1857,6 +1949,9 @@ msgstr "Tražite "
msgid "Request an internal review from {{person_or_body}}"
msgstr "Zatražiti urgenciju od strane {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Zahtjev je uklonjen"
@@ -1956,6 +2051,9 @@ msgstr[2] ""
msgid "Search your contributions"
msgstr "Pretražite Vaše doprinose"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Odaberite jedan da biste vidjeli više informacija o ustanovi."
@@ -1989,6 +2087,9 @@ msgstr "Pošalji zahtjev"
msgid "Set your profile photo"
msgstr "Podesiti sliku na Vašem profilu"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nadimak se već koristi"
@@ -2088,6 +2189,9 @@ msgstr "Predaj"
msgid "Submit status"
msgstr "Pošalji status"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Pretplatiti se na blog"
@@ -2109,6 +2213,9 @@ msgstr "Pregled statusa"
msgid "Table of varieties"
msgstr "Tabela vrsta"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2136,6 +2243,9 @@ msgstr "Hvala na ažuriranju zahtjeva!"
msgid "Thank you for updating your profile photo"
msgstr "Hvala što ste ažurirali sliku na Vašem profilu"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Hvala na pomoći - Vaš rad će svima olakšati pronalaženje pozitivnih\n"
@@ -2215,6 +2325,7 @@ msgstr "Zahtjev je <strong>uspješan</strong>."
msgid "The request was refused by the public authority"
msgstr "Zahtjev je odbijen od strane javne ustanove"
+
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
msgstr ""
"Zahtjev koji ste pokušali pregledati je uklonjen. Postoje\n"
@@ -2224,13 +2335,14 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "Podnosioc je odustao od ovog zahtjeva iz nekog razloga"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Odgovor na Vaš zahtjev je <strong>odgođen</strong>. Možete reći da je, \n"
" po zakonu, ustanova trebala odgovoriti\n"
" <strong>brzo</strong> i"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Odgovor na Vaš zahtjev <strong>kasni</strong>. Možete reći da po \n"
" zakonu, u svakom slučaju, ustanova je trebala odgovoriti\n"
@@ -2387,6 +2499,9 @@ msgstr ""
"To je zato što je {{title}} stari zahtjev koji je\n"
"označen da više ne prima odgovore."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Ovo je Vaš zahtjev, biti ćete automatski obaviješteni e-mailom kada novi odgovori budu stizali."
@@ -2462,6 +2577,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Ovaj zahtjev je još u toku:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2667,6 +2785,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2721,6 +2842,9 @@ msgstr "Korisnik|Salt"
msgid "User|Url name"
msgstr "Korisnik|Url ime"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Vidjeti adresu za Zahtjeve za slobodan pristup informacijama."
@@ -3103,6 +3227,9 @@ msgstr ""
msgid "admin"
msgstr "administrator"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "svi zahtjevi"
@@ -3136,6 +3263,9 @@ msgstr "bilo šta"
msgid "are long overdue."
msgstr "kasne"
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "ustanove"
@@ -3148,6 +3278,9 @@ msgstr ""
msgid "between two dates"
msgstr "između dva datuma"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "od strane"
@@ -3231,6 +3364,9 @@ msgstr "poruke od ustanova"
msgid "messages from users"
msgstr "poruke od korisnika"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "ne kasnije od"
@@ -3240,6 +3376,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "molimo prijavite se kao "
@@ -3261,6 +3400,9 @@ msgstr "pošaljite prateću poruku"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "poslano za {{public_body_name}} od strane {{info_request_user}} na datum {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3282,6 +3424,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr "glavne kontakt adrese za Zahtjeve o slobodnom pristupu informacijama za {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "glavni kontakt za Zahtjeve o slobodnom pristupu informacijama u ustanovi {{public_body}}"
@@ -3390,6 +3537,9 @@ msgstr "{{site_name}} šalje nove zahtjeve <strong>{{request_email}}</strong> za
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "korisnici {{site_name}} su podnijeli {{number_of_requests}} zahtjeva, uključujući:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/ca/app.po b/locale/ca/app.po
index 71ec556c4..8c25221d2 100644
--- a/locale/ca/app.po
+++ b/locale/ca/app.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:08+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ca\n"
@@ -130,6 +130,9 @@ msgstr "'{{link_to_request}}', una sol·licitud"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', una persona"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -362,6 +365,9 @@ msgstr "Una resposta serà enviada <strong>per correu ordinari</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Una resposta inusual, ha de ser revisada per l'equip de {{site_name}}"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Un usuari de {{site_name}}"
@@ -457,6 +463,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Cualquiera:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Pide documentos o información <strong>específica</strong>, esta web no está pensada para resolver dudas generales."
@@ -498,6 +507,9 @@ msgstr "Por ley, bajo cualquier circunstancia, {{public_body_link}} ya debería
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Por ley, {{public_body_link}} debería haber respondido <strong>pronto</strong> y"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Cancele una alerta de {{site_name}}"
@@ -670,6 +682,9 @@ msgstr "Fecha:"
msgid "Dear {{public_body_name}},"
msgstr "Estimado {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Respuesta retrasada a tu solicitud de acceso a información - "
@@ -679,6 +694,9 @@ msgstr "Retrasado."
msgid "Delivery error"
msgstr "Error en la entrega"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalles de la solicitud '"
@@ -691,6 +709,9 @@ msgstr "Atención: Este mensaje y cualquier respuesta que hagas serán publicada
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "¿Quieres mandar tu mensaje a {{person_or_body}}? También puedes escribir a:"
@@ -709,14 +730,14 @@ msgstr "Descargar ficheros adjuntos"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Edita y añade <strong>más detalles</strong> al mensaje anterior,\n"
" explicando por qué no estás satisfecho con su respuesta."
-msgid "Edit language version:"
-msgstr "Editar versión en idioma:"
-
msgid "Edit text about you"
msgstr "Edite el texto sobre tí"
@@ -756,13 +777,16 @@ msgstr "Historial de eventos"
msgid "Event history details"
msgstr "Historial de eventos"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escriba en esta página \n"
" estará <strong>disponible públicamente</strong> en\n"
" está web para siempre (<a href=\"{{url}}\">¿por qué?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escribas en esta página, incluyendo <strong>tu nombre</strong>, \n"
" estará <strong>disponible públicamente</strong> en\n"
@@ -774,6 +798,9 @@ msgstr "FOI"
msgid "FOI email address for {{public_body}}"
msgstr "Dirección de correo para {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Solicitudes de información"
@@ -954,6 +981,9 @@ msgstr ""
" no nos ha dicho si tuvo o no éxito. ¿Te importaría invertir unos minutos\n"
" en leerla y ayudarnos a clasificarla para el beneficio de todos? Gracias."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -966,6 +996,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Inicio"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Sitio web del organismo"
@@ -1018,6 +1051,15 @@ msgstr "He recibido <strong>parte de la información</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "He recibido un <strong>mensaje de error</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Si la dirección es incorrecta, o conoce una más actualizada, por favor <a href=\"{{url}}\">contáctenos</a>."
@@ -1096,6 +1138,9 @@ msgstr ""
"Si tu navegador acepta cookies y estás viendo este mensaje,\n"
"puede que haya un problema en nuestro servidor."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1215,12 +1260,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Registrado el"
msgid "Joined {{site_name}} in"
msgstr "Registrado en {{site_name}} el"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Sea <strong>específico</strong>, tendrá más probabilidades de conseguir lo que quiere (<a href=\"{{url}}\">¿por qué?</a>)."
@@ -1242,9 +1293,27 @@ msgstr ""
msgid "Link to this"
msgstr "Enlace"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Lista de todos los organismos (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Abra una sesión para descargar el fichero ZIP de {{info_request_title}}"
@@ -1344,6 +1413,9 @@ msgstr "El nombre ya está siendo utilizado"
msgid "New Freedom of Information requests"
msgstr "Nuevas solicitudes de acceso a información"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Nueva dirección:"
@@ -1389,6 +1461,9 @@ msgstr "No se han encontrado resultados."
msgid "No similar requests found."
msgstr "No se han encontrado solicitudes similares."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Nadie ha realizado todavía una solicitud de información a {{public_body_name}} usando esta web."
@@ -1398,6 +1473,9 @@ msgstr "No se han encontrado resultados."
msgid "None made."
msgstr "Ninguno/a."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1443,6 +1521,9 @@ msgstr "Una persona encontrada"
msgid "One public authority found"
msgstr "Un organismo público encontrado"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Sólo se muestran las solicitudes realizadas con {{site_name}}."
@@ -1643,9 +1724,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Por favor escribe un mensaje y/o escoje un fichero conteniendo su respuesta."
-msgid "Please use the form below to tell us more."
-msgstr "Por favor use el formulario a continuación para decirnos más."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Por favor use la siguiente dirección de correo para todas las respuestas a esta solicitud:"
@@ -1736,12 +1814,24 @@ msgstr "Organismos públicos - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Organismos públicos {{start_count}} a {{end_count}} de {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1814,6 +1904,9 @@ msgstr "Versión"
msgid "Publication scheme"
msgstr "Esquema de publicación"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1873,6 +1966,9 @@ msgstr "Pida una revisión interna"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Pedir una revisión interna a {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "La solicitud ha sido eliminada"
@@ -1974,6 +2070,9 @@ msgstr[1] "Busque entre las {{count}} solicitudes de información hechas a {{pub
msgid "Search your contributions"
msgstr "Busca tus aportaciones"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Elija uno para ver más información sobre el organismo."
@@ -2007,6 +2106,9 @@ msgstr "Enviar solicitud"
msgid "Set your profile photo"
msgstr "Cambiar foto de perfil"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nombre de usuario ya en uso"
@@ -2106,6 +2208,9 @@ msgstr "Enviar"
msgid "Submit status"
msgstr "Enviar estado"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Subscribirse al blog"
@@ -2127,6 +2232,9 @@ msgstr "Tabla de estados"
msgid "Table of varieties"
msgstr "Tabla de tipos de objetos"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Etiquetas (separadas por un espacio):"
@@ -2154,6 +2262,9 @@ msgstr "¡Gracias por actualizar esta solicitud!"
msgid "Thank you for updating your profile photo"
msgstr "Gracias por actualizar tu foto de perfil"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Gracias por ayudar - tu trabajo hace más sencillo que otros encuentren solicitudes\n"
@@ -2245,13 +2356,13 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "El creador de la solicitud la ha cancelado por algún motivo"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"La respuesta a tu solicitud ha sido <strong>retrasada</strong>.\n"
" Por ley, el organismo debería normalmente haber respondido\n"
" <strong>rápidamente</strong> y"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"La respuesta a tu solicitud ha sido <strong>muy retrasada</strong>.\n"
" Por ley, bajo cualquier circunstancia, el organismo ya debería\n"
@@ -2411,6 +2522,9 @@ msgstr ""
"Esto es porque {{title}} es una solicitud antigua\n"
"marcada para ya no recibir más respuestas."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Esta es tu solicitud, por lo que recibirás correos automáticamente cuando lleguen nuevas respuestas."
@@ -2486,6 +2600,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Esta solicitud está todavía en proceso:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2699,6 +2816,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2753,6 +2873,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Ver dirección de correo"
@@ -3147,6 +3270,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "todas las solicitudes"
@@ -3180,6 +3306,9 @@ msgstr "cualquiera"
msgid "are long overdue."
msgstr "están muy retrasados."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "organismos"
@@ -3192,6 +3321,9 @@ msgstr "comenzando con ‘{{first_letter}}’"
msgid "between two dates"
msgstr "entre dos fechas"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "por"
@@ -3275,6 +3407,9 @@ msgstr "mensajes de organismos"
msgid "messages from users"
msgstr "mensajes de usuarios"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "no más tarde de"
@@ -3288,6 +3423,9 @@ msgstr ""
msgid "normally"
msgstr "normalmente"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "por favor abra una sesión como "
@@ -3311,6 +3449,9 @@ msgstr "envíe un mensaje de seguimiento"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "enviada a {{public_body_name}} por {{info_request_user}} el {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3332,6 +3473,11 @@ msgstr "que hizo a"
msgid "the main FOI contact address for {{public_body}}"
msgstr "la dirección de contacto de {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "el contacto en {{public_body}}"
@@ -3443,6 +3589,9 @@ msgstr "{{site_name}} envía nuevas solicitudes a <strong>{{request_email}}</str
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Los usuarios de {{site_name}} han hecho {{number_of_requests}} solicitudes, incluyendo:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/cs/app.po b/locale/cs/app.po
index 1e873ac2e..51e82f9a0 100644
--- a/locale/cs/app.po
+++ b/locale/cs/app.po
@@ -6,6 +6,7 @@
# <appukonrad@gmail.com>, 2012.
# Hana Huntova <>, 2012.
# Jana Kneschke <>, 2012.
+# <jana.kneschke@gmail.com>, 2013.
# <jana.kneschke@gmail.com>, 2012-2013.
# <josef.pospisil@laststar.eu>, 2012.
# <louise@mysociety.org>, 2012.
@@ -13,9 +14,9 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2013-01-07 14:50+0000\n"
-"Last-Translator: janakneschke <jana.kneschke@gmail.com>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:10+0000\n"
+"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
@@ -132,6 +133,9 @@ msgstr "'{{link_to_request}}', dotaz"
msgid "'{{link_to_user}}', a person"
msgstr "od uživatele '{{link_to_user}}'."
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -362,6 +366,9 @@ msgstr "Odpověď bude zaslána <strong>poštou</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Neobvyklá reakce, která vyžaduje pozornost týmu stránek {{site_name}}."
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Uživatel stránek {{site_name}} "
@@ -455,6 +462,9 @@ msgstr "Nezaregistrovaný uživatel"
msgid "Anyone:"
msgstr "Kdokoli:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Požádejte o <strong>konkrétní</strong> dokumenty nebo informace, tyto stránky nejsou určeny pro obecné dotazy."
@@ -496,6 +506,9 @@ msgstr "Podle zákona by instituce {{public_body_link}} měla v každém přípa
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Podle zákona, by měla instituce {{public_body_link}} odpovědět okamžitě a "
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Zrušte tato upozornění stránek {{site_name}}"
@@ -638,7 +651,7 @@ msgid "Considered by administrators as vexatious and hidden from site."
msgstr "Tento dotaz odporoval dobrým mravům a byl proto skryt."
msgid "Contact {{recipient}}"
-msgstr "Kontaktovat {{recipient}} ??"
+msgstr "Kontaktovat příjemce sdělení {{recipient}}"
msgid "Contact {{site_name}}"
msgstr "Kontaktujte stránky {{site_name}}"
@@ -671,6 +684,9 @@ msgstr ""
"\n"
"Vážená paní, vážený pane,"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Zpožděná odpověď na váš dotaz –"
@@ -680,6 +696,9 @@ msgstr "Zpoždění."
msgid "Delivery error"
msgstr "Chyba při doručení"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Podrobnosti dotazu"
@@ -692,6 +711,9 @@ msgstr "Vyloučení odpovědnosti: Tato zpráva a jakékoliv odpovědi na ni bud
msgid "Disclosure log"
msgstr "Disclosure log"
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Nechcete svou zprávu adresovat na {{person_or_body}}? Můžete také napsat:"
@@ -710,14 +732,14 @@ msgstr "Stáhnout původní přílohu"
msgid "EIR"
msgstr "Informace o životním prostředí"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Upravte a přidejte <strong>více informací</strong> do této zprávy\n"
" s vysvětlením, proč není odpověď uspokojující."
-msgid "Edit language version:"
-msgstr "Upravit jazykovou verzi:"
-
msgid "Edit text about you"
msgstr "Upravit text o sobě"
@@ -757,13 +779,16 @@ msgstr "Historie případu"
msgid "Event history details"
msgstr "Historie případu, detaily"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Vše, co jste vyplnili na této stránce, \n"
" bude <strong>veřejně dostupné</strong> na tomto\n"
" webu (<a href=\"{{url}}\">proč?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Veškeré informace, které vložíte na tuto stránku, včetně <strong>vašeho jména</strong>, \n"
" budou<strong>uveřejněny</strong> na tomto webu(<a href=\"{{url}}\">proč?</a>)."
@@ -774,6 +799,9 @@ msgstr "dotaz"
msgid "FOI email address for {{public_body}}"
msgstr "E-mailová adresa podatelny pro instituci {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Dotazy"
@@ -952,6 +980,9 @@ msgstr "Zde je zpráva, kterou jste napsali, pokud si chcete uložit kopii. "
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr "Haló! Potřebujeme vaši pomoc. Osoba, která vznesla tento dotaz nám nesdělila, jestli byla zodpovězena úspěšně. Můžete si dotaz i odpověď přečíst a pomoci nám tak udržovat stránky přehledné? Děkujeme."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr "Státní svátek"
@@ -964,6 +995,9 @@ msgstr "Svátek | Popis"
msgid "Home"
msgstr "Domů"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Domovská stránka instituce"
@@ -1014,6 +1048,15 @@ msgstr "Obdržel jsem <strong>nějaké informace</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Obdržel jsem <strong>chybovou zprávu</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Pokud je adresa nesprávná, nebo víte o lepší adrese, prosíme <a href=\"{{url}}\">kontaktujte nás</a>."
@@ -1082,6 +1125,9 @@ msgstr ""
"Pokud váš prohlížeč akceptuje cookies a vy vidíte tuto zprávu,\n"
"pravděpodobně je nějaký problém s naším serverem."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr "Příchozí zpráva"
@@ -1199,12 +1245,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr "Témata týkající se následujících kritérií jsou zobrazeny na vaší nástěnce."
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Zapojen v"
msgid "Joined {{site_name}} in"
msgstr "Registrován/a na stránkách {{site_name}} od"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Snažte se svůj dotaz vyjádřit <strong>jasně a jednoduše</strong>, zvýší se tak vaše šance, že se dozvíte, co potřebujete (<a href=\"{{url}}\">proč?</a>)."
@@ -1225,9 +1277,27 @@ msgstr ""
msgid "Link to this"
msgstr "Odkaz"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Vytvořit seznam všech institucí (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Přihlaste se ke stažení komprimovaného souboru {{info_request_title}}"
@@ -1328,6 +1398,9 @@ msgstr "Jméno je již obsazeno"
msgid "New Freedom of Information requests"
msgstr "Nové dotazy "
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Nový e-mail:"
@@ -1373,6 +1446,9 @@ msgstr "Nic jsme nenašli"
msgid "No similar requests found."
msgstr "Žádné podobné dotazy nebyly nalezeny. "
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Ještě nikdo na {{public_body_name}} dotaz v rámci stránek Informace pro všechny nevznesl. "
@@ -1382,6 +1458,9 @@ msgstr "Nic nebylo nalezeno."
msgid "None made."
msgstr "Nic tu není"
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr "Rádi bychom vás upozornili, že tazatel nebude o vašem komentáři informován, jelikož tento dotaz byl zveřejněn na žádost instituce {{public_body_name}}."
@@ -1427,6 +1506,9 @@ msgstr "Nalezena jedna osoba"
msgid "One public authority found"
msgstr "Nalezena jedna instituce"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Zobrazí se pouze dotazy vznesené prostřednictvím stránek {{site_name}}"
@@ -1623,9 +1705,6 @@ msgstr "Prosíme přihlašte se nebo se zaregistrujte."
msgid "Please type a message and/or choose a file containing your response."
msgstr "Napište zprávu a/nebo vyberte soubor, který obsahuje vaši odpověď."
-msgid "Please use the form below to tell us more."
-msgstr "Vysvětlete detailněji v tomto formuláři. "
-
msgid "Please use this email address for all replies to this request:"
msgstr "Prosíme používejte tuto e-mailovou adresu pro všechny odpovědi na tento dotaz:"
@@ -1716,12 +1795,24 @@ msgstr "Veřejná instituce - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Instituce od {{start_count}} do {{end_count}} z {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr "Instituce"
msgid "Public body/translation"
msgstr "PublicBody | Verze ??"
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr "PublicBody::Translation|Disclosure log"
@@ -1794,6 +1885,9 @@ msgstr "PublicBody | Verze"
msgid "Publication scheme"
msgstr "Systém publikování"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr "Vyčistit formulář dotazu"
@@ -1853,6 +1947,9 @@ msgstr "Požádat o doplnění dotazu"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Požádat o doplnění dotazu od instituce či jmenovitě jejím pracovníkem {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Dotaz byl odstraněn"
@@ -1955,6 +2052,9 @@ msgstr[2] "Prohlížet {{count}} dotazů vznesené na {{public_body_name}}"
msgid "Search your contributions"
msgstr "Prohledávat vlastní příspěvky"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Vyberte jednu instituci pro zobrazení podrobnějších informací"
@@ -1988,6 +2088,9 @@ msgstr "Vznést dotaz"
msgid "Set your profile photo"
msgstr "Nastavte své profilové foto"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Krátké jméno je již obsazeno."
@@ -2086,6 +2189,9 @@ msgstr "Odeslat"
msgid "Submit status"
msgstr "Odešlete status"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Sledujte náš blog"
@@ -2107,6 +2213,9 @@ msgstr "Tabulka stavů"
msgid "Table of varieties"
msgstr "Tabulka možností"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Tagy (oddělené mezerou):"
@@ -2134,6 +2243,9 @@ msgstr "Děkujeme vám za aktualizaci tohoto dotazu!"
msgid "Thank you for updating your profile photo"
msgstr "Děkujeme vám za aktualizaci svého profilového fota"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Děkujeme za pomoc - vaše práce ulehčí všem hledání v úspěšných\n"
@@ -2226,12 +2338,12 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "Tazatel z nějakého důvodu tento dotaz opustil ??"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Odpověď na váš dotaz má <strong>zpoždění</strong>. Můžete napsat, že podle zákona by instituce měla odpovědět nejpozději\n"
" <strong>do 15 dnů</strong> a "
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr "Odpověď na váš dotaz<strong>má velké zpoždění</strong>. Můžete napsat, že podle zákona by měl být bez výhrad již dávno zodpovězen,"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2387,6 +2499,9 @@ msgstr "Toto je HTML verze přílohy k vznesenému dotazu. "
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr "Důvodem je, že dotaz s názvem {{title}} je staršího data a byl uzavřen, tudíž, na něj již nelze odpovědět."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Toto je váš vlastní dotaz, proto budete odpovědi dostávat e-mailem automaticky."
@@ -2462,6 +2577,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Tento dotaz je stále aktivní:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr "Tento dotaz nebyl vznesen pomocí stránek {{site_name}}"
@@ -2669,6 +2787,9 @@ msgstr "Uživatel"
msgid "User info request sent alert"
msgstr "User info request sent alert ??"
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert| Typ upozornění"
@@ -2723,6 +2844,9 @@ msgstr "User | Salt ??"
msgid "User|Url name"
msgstr "User | Název URL"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Zobrazit e-mailovou adresu Informace pro všechny (????)"
@@ -3117,6 +3241,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "všechny dotazy"
@@ -3150,6 +3277,9 @@ msgstr "vše"
msgid "are long overdue."
msgstr "– tato instituce výrazně překročila zákonem daný termín."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "instituce"
@@ -3162,6 +3292,9 @@ msgstr "Začínající na ‘{{first_letter}}’"
msgid "between two dates"
msgstr "mezi dvěma daty"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "od"
@@ -3245,6 +3378,9 @@ msgstr "zprávy od institucí"
msgid "messages from users"
msgstr "zprávy od uživatelů"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "nejpozději do"
@@ -3256,6 +3392,9 @@ msgstr ""
msgid "normally"
msgstr "to"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "prosíme přihlašte se jako"
@@ -3277,6 +3416,9 @@ msgstr "poslat odpověď"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "posláno instituci {{public_body_name}} uživatelem {{info_request_user}} dne {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr "ukázat citované pasáže"
@@ -3298,6 +3440,11 @@ msgstr "kterou jste vznesli na"
msgid "the main FOI contact address for {{public_body}}"
msgstr "hlavní kontaktní adresa instituce {{public_body}} pro poskytování informací "
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "hlavní kontakt pro vznesení dotazu na instituci {{public_body}}"
@@ -3409,6 +3556,9 @@ msgstr "Pomocí stránek {{site_name}} vznesete nové dotazy na <strong>{{reques
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Na stránkách {{site_name}} tazatelé podali {{number_of_requests}} dotazů, včetně:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - dotaz vznesený podle zákona 106/1999 Sb., o svobodném přístupu k informacím na instituci {{public_body}}"
diff --git a/locale/cy/app.po b/locale/cy/app.po
index 560225b03..5534312c4 100644
--- a/locale/cy/app.po
+++ b/locale/cy/app.po
@@ -4,14 +4,16 @@
#
# Translators:
# <alex@alexskene.com>, 2011-2012.
+# <graham.craig@gmail.com>, 2013.
# <graham.craig@gmail.com>, 2013.
+# <wyeboy@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2013-01-13 07:34+0000\n"
-"Last-Translator: baragouiner <graham.craig@gmail.com>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:07+0000\n"
+"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: cy\n"
"MIME-Version: 1.0\n"
@@ -32,7 +34,7 @@ msgid " (you)"
msgstr "(chi)"
msgid " - view and make Freedom of Information requests"
-msgstr ""
+msgstr "gweld a gwneud ceisiadau Rhyddid Gwybodaeth"
msgid " - wall"
msgstr ""
@@ -65,22 +67,22 @@ msgid " Offer better ways of <strong>wording the request</strong> to get the inf
msgstr ""
msgid " Say how you've <strong>used the information</strong>, with links if possible."
-msgstr ""
+msgstr "Dwedwch sut rydych chi wedi <strong>defnyddio'r wybodaeth</strong>, gyda dolenni os yn bosibl."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
msgstr ""
msgid " What are you investigating using Freedom of Information? "
-msgstr ""
+msgstr "Beth ydych chi'n ei ymchwilio gan ddefnyddio Rhyddid Gwybodaeth?"
msgid " You are already being emailed updates about the request."
-msgstr ""
+msgstr "Rydych chi eisoes yn derbyn diweddariadau am y cais drwy ebost."
msgid " You will also be emailed updates about the request."
-msgstr ""
+msgstr "Byddwch chi'n derbyn diweddariadau am y cais drwy ebost hefyd."
msgid " made by "
-msgstr ""
+msgstr "a wnaethpwyd gan"
msgid " or "
msgstr "neu"
@@ -127,6 +129,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -140,7 +145,7 @@ msgid "2. Ask for Information"
msgstr "2. Gofyn am wybodaeth"
msgid "3. Now check your request"
-msgstr ""
+msgstr "3. Gwiriwch eich cais rwan"
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
msgstr ""
@@ -206,10 +211,10 @@ msgid "<p>You do not need to include your email in the request in order to get a
msgstr ""
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
-msgstr ""
+msgstr "<p>Does dim rhaid i chi roi'ich cyfeiriad yn y cais er mwyn cael ymateb, gan ofynnwn ni amdano ar y sgrîn nesaf (<aa href=\"{{url}}\">manylion</a>).</p>"
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
-msgstr ""
+msgstr "<p>Mae'ch cais yn cynnwys <strong>cod post</strong>. Oni bai ei fod o'n ymwneud yn uniongyrchol â'r cais, dilewch unrhyw cyfeiriadau os gwelwch yn dda, oherwydd y bydd o'n <strong>ymddangos yn cyhoeddus ar y Rhyngrwyd</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
msgstr ""
@@ -258,16 +263,16 @@ msgid "<strong>Advice</strong> on how to get a response that will satisfy the re
msgstr ""
msgid "<strong>All the information</strong> has been sent"
-msgstr ""
+msgstr "Mae'r <strong>holl wybodaeth</strong> wedi cael ei hanfon."
msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
-msgstr ""
+msgstr "<strong>Unrhywbeth arall</strong>, megis egluro, annog, diolch"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
msgstr ""
msgid "<strong>Clarification</strong> has been requested"
-msgstr ""
+msgstr "Ceisiwyd <strong>eglurhad</strong>"
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
msgstr ""
@@ -291,10 +296,10 @@ msgid "<strong>Privacy warning:</strong> Your message, and any response\\n
msgstr ""
msgid "<strong>Some of the information</strong> has been sent "
-msgstr ""
+msgstr "Anfonwyd <strong>rhan o'r wybodaeth</strong>"
msgid "<strong>Thank</strong> the public authority or "
-msgstr ""
+msgstr "<strong>Diolch</strong> yr awdurdod gyhoeddus"
msgid "<strong>did not have</strong> the information requested."
msgstr ""
@@ -315,7 +320,7 @@ msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>
msgstr ""
msgid "A public authority"
-msgstr ""
+msgstr "Awdurdod cyhoeddus"
msgid "A response will be sent <strong>by post</strong>"
msgstr ""
@@ -323,6 +328,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -360,7 +368,7 @@ msgid "Air, water, soil, land, flora and fauna (including how these effect\\n
msgstr ""
msgid "All of the information requested has been received"
-msgstr ""
+msgstr "Derbynnir yr holl wybodaeth."
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
msgstr ""
@@ -375,7 +383,7 @@ msgid "Also send me alerts by email"
msgstr ""
msgid "Alter your subscription"
-msgstr ""
+msgstr "Newid eich tanysgrifiad"
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
msgstr ""
@@ -387,7 +395,7 @@ msgid "An <strong>error message</strong> has been received"
msgstr ""
msgid "An Environmental Information Regulations request"
-msgstr ""
+msgstr "Cais dan Reoliadau Gwybodaeth Amgylcheddol "
msgid "An anonymous user"
msgstr ""
@@ -408,6 +416,9 @@ msgid "Anonymous user"
msgstr ""
msgid "Anyone:"
+msgstr "Unrhywun:"
+
+msgid "Applies to"
msgstr ""
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
@@ -420,19 +431,19 @@ msgid "Attachment (optional):"
msgstr ""
msgid "Attachment:"
-msgstr ""
+msgstr "Atodiad:"
msgid "Awaiting classification."
-msgstr ""
+msgstr "Yn aros am gael ei ddosbarthu."
msgid "Awaiting internal review."
-msgstr ""
+msgstr "Yn aros am adolygiad mewnol."
msgid "Awaiting response."
-msgstr ""
+msgstr "Yn aros am ymateb."
msgid "Beginning with"
-msgstr ""
+msgstr "Yn dechrau gyda"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
msgstr ""
@@ -444,11 +455,14 @@ msgid "Browse all authorities..."
msgstr "Mwy o awdurdodau..."
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
-msgstr ""
+msgstr "Yn ôl y gyfraith, ym mhob amgylchiad, dylai {{public_body_link}} fod wedi ymateb erbyn hyn."
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -477,22 +491,22 @@ msgid "CensorRule|Text"
msgstr ""
msgid "Change email on {{site_name}}"
-msgstr ""
+msgstr "Newid cyfeiriad ebost ar {{site_name}}"
msgid "Change password on {{site_name}}"
msgstr "Newid cyfrinair ar {{site_name}}"
msgid "Change profile photo"
-msgstr ""
+msgstr "Newidiwch llun broffil"
msgid "Change the text about you on your profile at {{site_name}}"
-msgstr ""
+msgstr "Newidiwch y testun amdanoch chi ar eich proffil ar {{site_name}}"
msgid "Change your email"
-msgstr ""
+msgstr "Newid eich cyfeiriad ebost"
msgid "Change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Newidiwch eich cyfeiriad ebost a ddefnyddir ar {{site_name}}"
msgid "Change your password"
msgstr "Newid eich cyfrinair"
@@ -510,19 +524,19 @@ msgid "Check for mistakes if you typed or copied the address."
msgstr ""
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr ""
+msgstr "Gwiriwch nad ydych chi wedi cynnyws unrhyw <strong>wybodaeth bersonol</strong>."
msgid "Choose your profile photo"
-msgstr ""
+msgstr "Dewisich eich llun broffil"
msgid "Clarification"
-msgstr ""
+msgstr "Eglurhad"
msgid "Clarify your FOI request - "
msgstr ""
msgid "Classify an FOI response from "
-msgstr ""
+msgstr "Dosbarthwch ymateb Rh.G. oddiwrth"
msgid "Clear photo"
msgstr ""
@@ -570,19 +584,19 @@ msgid "Confirm you want to follow the request '{{request_title}}'"
msgstr ""
msgid "Confirm your FOI request to "
-msgstr ""
+msgstr "Cadarnhewch eich cais Rh.G. at"
msgid "Confirm your account on {{site_name}}"
-msgstr ""
+msgstr "Cadarnhewch eich cyfrif ar {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
msgstr ""
msgid "Confirm your email address"
-msgstr ""
+msgstr "Cadarnhewch eich cyfeiriad ebost"
msgid "Confirm your new email address on {{site_name}}"
-msgstr ""
+msgstr "Cadarnhewch eich cyfeiriad ebost newydd ar {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
msgstr ""
@@ -597,13 +611,13 @@ msgid "Contact {{site_name}}"
msgstr "Cysylltwch â {{site_name}}"
msgid "Could not identify the request from the email address"
-msgstr ""
+msgstr "Methiant adnabod y cais o'r cyfeiriad ebost"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
msgstr ""
msgid "Crop your profile photo"
-msgstr ""
+msgstr "Torrwch eich llun broffil"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
msgstr ""
@@ -617,13 +631,19 @@ msgstr "Dyddiad"
msgid "Dear {{public_body_name}},"
msgstr "Annwyl {{public_body_name}},"
-msgid "Delayed response to your FOI request - "
+msgid "Default locale"
msgstr ""
+msgid "Delayed response to your FOI request - "
+msgstr "Ymateb i'ch cais Rh.G. a oedwyd -"
+
msgid "Delayed."
-msgstr ""
+msgstr "Oededig."
msgid "Delivery error"
+msgstr "Methiant cyflwyno"
+
+msgid "Destroy {{name}}"
msgstr ""
msgid "Details of request '"
@@ -638,6 +658,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -651,22 +674,22 @@ msgid "Download a zip file of all correspondence"
msgstr ""
msgid "Download original attachment"
-msgstr ""
+msgstr "Lawrlwytho'r atodiad gwreiddiol"
msgid "EIR"
msgstr "Rheoliadau Gwybodaeth Amgylcheddol"
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
msgstr ""
msgid "Edit this request"
-msgstr ""
+msgstr "Golygu'r cais hwn"
msgid "Either the email or password was not recognised, please try again."
msgstr ""
@@ -675,7 +698,7 @@ msgid "Either the email or password was not recognised, please try again. Or cre
msgstr ""
msgid "Email doesn't look like a valid address"
-msgstr ""
+msgstr "Dydy'r cyfeiriad ebost ddim yn edrych yn ddilys"
msgid "Email me future updates to this request"
msgstr ""
@@ -696,15 +719,18 @@ msgid "Environmental Information Regulations requests made using this site"
msgstr ""
msgid "Event history"
-msgstr ""
+msgstr "Hanes y digwyddiad"
msgid "Event history details"
+msgstr "Hanes y digwyddiad: Manylion"
+
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -713,14 +739,17 @@ msgstr "Rhyddid Gwybodaeth"
msgid "FOI email address for {{public_body}}"
msgstr ""
-msgid "FOI requests"
+msgid "FOI request – {{title}}"
msgstr ""
+msgid "FOI requests"
+msgstr "Ceisiadau Rhyddid Gwybodaeth"
+
msgid "FOI requests by '{{user_name}}'"
-msgstr ""
+msgstr "Ceisiadau Rhyddid Gwybodaeth gan '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Ceisiadau Rhyddid Gwybodaeth {{start_count}} i {{end_count}} o{{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
msgstr ""
@@ -774,22 +803,22 @@ msgid "Follow requests to {{public_body_name}}"
msgstr ""
msgid "Follow these requests"
-msgstr ""
+msgstr "Dilynwch y ceisiadau hyn"
msgid "Follow things matching this search"
msgstr ""
msgid "Follow this authority"
-msgstr ""
+msgstr "Dilynwch yr awdurdod hwn"
msgid "Follow this link to see the request:"
-msgstr ""
+msgstr "Dilynwch y ddolen hon i weld y cais:"
msgid "Follow this person"
msgstr ""
msgid "Follow this request"
-msgstr ""
+msgstr "Dilynwch y cais hwn"
msgid "Follow up"
msgstr ""
@@ -804,7 +833,7 @@ msgid "Follow ups and new responses to this request have been stopped to prevent
msgstr ""
msgid "Follow us on twitter"
-msgstr ""
+msgstr "Dilynwch ni ar Twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
msgstr ""
@@ -823,7 +852,7 @@ msgstr[2] ""
msgstr[3] ""
msgid "Freedom of Information"
-msgstr ""
+msgstr "Rhyddid Gwybodaeth"
msgid "Freedom of Information Act"
msgstr "Deddf Rhyddid Gwybodaeth"
@@ -832,25 +861,25 @@ msgid "Freedom of Information law does not apply to this authority, so you canno
msgstr ""
msgid "Freedom of Information law no longer applies to"
-msgstr ""
+msgstr "Nid yw cyfraith Rhyddid Gwybodaeth bellach yn berthnasol i"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
msgstr ""
msgid "Freedom of Information requests made"
-msgstr ""
+msgstr "Ceisiadiau Rhyddid Gwybodaeth a wnaethpwyd"
msgid "Freedom of Information requests made by this person"
-msgstr ""
+msgstr "Ceisiadiau Rhyddid Gwybodaeth a wnaethpwyd gan y person hwn"
msgid "Freedom of Information requests made by you"
-msgstr ""
+msgstr "Ceisiadiau Rhyddid Gwybodaeth a wnaethpwyd gennych chi"
msgid "Freedom of Information requests made using this site"
-msgstr ""
+msgstr "Ceisiadiau Rhyddid Gwybodaeth a wnaethpwyd gan ddefnyddio'r wefan hon"
msgid "Freedom of information requests to"
-msgstr ""
+msgstr "Ceisiadiau Rhyddid Gwybodaeth at"
msgid "From"
msgstr ""
@@ -859,16 +888,16 @@ msgid "From the request page, try replying to a particular message, rather than
msgstr ""
msgid "From:"
-msgstr ""
+msgstr "Oddi wrth:"
msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
-msgstr ""
+msgstr "RHOWCH MANYLION EICH CWYN YMA"
msgid "Handled by post."
msgstr ""
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
-msgstr ""
+msgstr "Shwmae! Rydych chi'n gallu gwneud ceisiadau Rhyddid Gwybodaeth yn {{country_name}} yma:{{link_to_website}}"
msgid "Hello, {{username}}!"
msgstr "Helo, {{username}}!"
@@ -885,6 +914,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -895,22 +927,25 @@ msgid "Holiday|Description"
msgstr "Gwyliau | Disgrifiad"
msgid "Home"
+msgstr "Hafan"
+
+msgid "Home page"
msgstr ""
msgid "Home page of authority"
-msgstr ""
+msgstr "Tudalen hafan yr awdurdod"
msgid "However, you have the right to request environmental\\n information under a different law"
msgstr ""
msgid "Human health and safety"
-msgstr ""
+msgstr "Iechyd a diogelwch dynol"
msgid "I am asking for <strong>new information</strong>"
-msgstr ""
+msgstr "Rydw i'n gofyn am <strong>gwybodaeth newydd</strong>"
msgid "I am requesting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Yr wyf yn gofyn am <strong>adolygiad mewnol</strong>"
msgid "I don't like these ones &mdash; give me some more!"
msgstr ""
@@ -922,27 +957,36 @@ msgid "I like this request"
msgstr ""
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr ""
+msgstr "Hoffwn i atal y cais hwn"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
msgstr ""
msgid "I'm still <strong>waiting</strong> for the internal review"
-msgstr ""
+msgstr "Rydw i dal yn <strong>aros</strong> am yr adolygiad mewnol"
msgid "I'm waiting for an <strong>internal review</strong> response"
msgstr ""
msgid "I've been asked to <strong>clarify</strong> my request"
-msgstr ""
+msgstr "Gofynnwyd i mi <strong>egluro</strong> fy nghais"
msgid "I've received <strong>all the information"
-msgstr ""
+msgstr "Yr wyf wedi derbyn <strong>yr holl wybodaeth"
msgid "I've received <strong>some of the information</strong>"
-msgstr ""
+msgstr "Yr wyf wedi derbyn <strong>rhan o'r wybodaeth</strong>"
msgid "I've received an <strong>error message</strong>"
+msgstr "Rydw i wedi cael <strong>neges gwall</strong>"
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
msgstr ""
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
@@ -958,13 +1002,13 @@ msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a
msgstr ""
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr ""
+msgstr "Os chi yw'r ceisydd, rydych chi'n gallu <a href=\"{{url}}\">mewngofnodi</a> i weld y cais;."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
msgstr "Os ydych yn ystyried defnyddio ffugenw, <a href=\"{{url}}\">darllenwch hwn yn gyntaf</a> os gwelwch yn dda."
msgid "If you are {{user_link}}, please"
-msgstr ""
+msgstr "Os {{user_link}} ydych chi, os gwelwch yn dda, "
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
msgstr ""
@@ -1002,6 +1046,9 @@ msgstr "Os ydych chi wedi defnyddio {{site_name}} o'r blaen "
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1116,17 +1163,23 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Cadwch at <strong>y prif bwynt</strong>. Byddwch yn fwy tebygol o gael beth rydych yn chwilio amdano (<a href=\"{{url}}\">pam?</a>)."
msgid "Keywords"
-msgstr ""
+msgstr "Allweddeiriau"
msgid "Last authority viewed: "
msgstr ""
@@ -1140,9 +1193,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1183,13 +1254,13 @@ msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<
msgstr ""
msgid "Make a request"
-msgstr ""
+msgstr "Gwneud cais"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
msgstr ""
msgid "Make and browse Freedom of Information (FOI) requests"
-msgstr ""
+msgstr "Gwneud a phori ceisiadau Rhyddid Gwybodaeth"
msgid "Make your own request"
msgstr ""
@@ -1207,7 +1278,7 @@ msgid "Missing contact details for '"
msgstr ""
msgid "More about this authority"
-msgstr ""
+msgstr "Rhagor am yr awdurdod hwn"
msgid "More requests..."
msgstr ""
@@ -1219,13 +1290,13 @@ msgid "More successful requests..."
msgstr "Mwy o geisiadau llwyddiannus..."
msgid "My profile"
-msgstr ""
+msgstr "Fy mhroffil fi"
msgid "My request has been <strong>refused</strong>"
-msgstr ""
+msgstr "Mae fy nghais i wedi <strong>cael ei wrthod</strong>"
msgid "My requests"
-msgstr ""
+msgstr "Fy ngheisiadau"
msgid "My wall"
msgstr ""
@@ -1237,19 +1308,22 @@ msgid "Name is already taken"
msgstr ""
msgid "New Freedom of Information requests"
+msgstr "Ceisiadau Rhyddid Gwybodaeth newydd"
+
+msgid "New censor rule"
msgstr ""
msgid "New e-mail:"
-msgstr ""
+msgstr "Cyfeiriad ebost newydd:"
msgid "New email doesn't look like a valid address"
-msgstr ""
+msgstr "Dydy'r cyfeiriad ebost newydd ddim yn edrych yn ddilys"
msgid "New password:"
-msgstr ""
+msgstr "Cyfrinair newydd:"
msgid "New password: (again)"
-msgstr ""
+msgstr "Cyfrinair newydd: (eto)"
msgid "New response to '{{title}}'"
msgstr ""
@@ -1270,7 +1344,7 @@ msgid "Newest results first"
msgstr ""
msgid "Next"
-msgstr ""
+msgstr "Nesaf"
msgid "Next, crop your photo &gt;&gt;"
msgstr ""
@@ -1284,6 +1358,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1293,6 +1370,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1338,6 +1418,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1527,9 +1610,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1620,12 +1700,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1698,6 +1790,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1755,6 +1850,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1855,6 +1953,9 @@ msgstr[3] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1888,6 +1989,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1981,6 +2085,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -2002,6 +2109,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2029,6 +2139,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2258,6 +2371,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2329,6 +2445,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2581,6 +2703,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2938,6 +3063,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2971,6 +3099,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2983,6 +3114,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3064,6 +3198,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3073,6 +3210,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3094,6 +3234,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3115,6 +3258,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3223,6 +3371,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/de/app.po b/locale/de/app.po
index 846517d9d..a6e231a8d 100644
--- a/locale/de/app.po
+++ b/locale/de/app.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:08+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: de\n"
@@ -125,6 +125,9 @@ msgstr "'{{link_to_request}}', eine Anfrage"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', eine Person"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -213,8 +216,8 @@ msgstr "<p>Wir freuen uns, dass Sie die von Ihnen gewünschten Informationen erh
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
msgstr "<p>Wir freuen uns, dass Sie die von Ihnen gewünschten Informationen erhalten haben. Falls Sie {{site_name}} hilfreich fanden, <a href=\"{{donation_url}}\">senden Sie eine Spende</a>an die Organisation hinter dieser Seite.</p><p>Falls Sie versuchen möchten den Rest der Information zu erhalten, schauen Sie hier was Sie tun können.</p>"
-msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"%s\">details</a>).</p>"
-msgstr "<p> Es ist nicht erfoderlich Ihre Emailadresse in der Anfrage zu nennen, um eine Antwort zu erhalten (<a href=\"%s\">Details</a>).</p>"
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p> Es ist nicht erfoderlich Ihre Emailadresse in der Anfrage zu nennen, um eine Antwort zu erhalten (<a href=\"{{url}}\">Details</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Um eine Antwort zu erhalten, müssen Sie Ihre Email-Adresse nicht in Ihre Anfrage einfügen, da wir diese auf der folgenden Seite erfragen werden (<a href=\"{{url}}\">Details</a>).</p>"
@@ -343,6 +346,9 @@ msgstr "Antwort wird <strong>postalisch</strong> zugestellt"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Eine merkwürdige Antwort benötigte die Aufmerksamkeit des {{site_name}} Teams"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Ein/Eine {{site_name}} Benutzer/in"
@@ -432,6 +438,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Jedermann:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Fragen Sie nach <strong>spezifischen</strong> Dokumenten oder Informationen. Diese Seite ist nicht für generelle Anfragen vorgesehen. "
@@ -473,6 +482,9 @@ msgstr "Nach gesetzlicher Vorschrift sollte {{public_body_link}} Ihnen inzwische
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Nach gesetzlicher Vorschrift sollte {{public_body_link}} <strong>umgehend</strong> geantwortet haben und"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Benachrichtigung für {{site_name}} abbestellen"
@@ -641,6 +653,9 @@ msgstr "Datum:"
msgid "Dear {{public_body_name}},"
msgstr "Sehr geehrte / Sehr geehrter {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -650,6 +665,9 @@ msgstr "Verzögert."
msgid "Delivery error"
msgstr "Übertragungsfehler"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Anfragedetails"
@@ -664,6 +682,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Möchten Sie Ihre Nachricht nicht an {{person_or_body}} senden? Schreiben Sie alternativ an:"
@@ -682,14 +703,14 @@ msgstr "Originalanhang herunterladen"
msgid "EIR"
msgstr ""
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Bearbeiten Sie Ihre Anfrage und fügen Sie <strong>weitere Details</strong> hinzu,\n"
" explaining why you are dissatisfied with their response."
-msgid "Edit language version:"
-msgstr "Sprachauswahl ändern:"
-
msgid "Edit text about you"
msgstr "Profiltext ändern"
@@ -729,12 +750,15 @@ msgstr "Verlaufsübersicht"
msgid "Event history details"
msgstr "Details Verlaufsübersicht"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Jegliche auf dieser Seite eingegebene Information wird\n"
" permanent auf dieser Internetseite <strong>veröffentlicht</strong>(<a href=\"{{url}}\"> Warum?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Jegliche auf dieser Seite eingegebene Information, inklusive <strong>Ihrem Namen</strong>, ⏎ wird\n"
" permanent auf dieser Internetseite <strong>veröffentlicht</strong>(<a href=\"{{url}}\"> Warum?</a>)."
@@ -745,6 +769,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr "IFG-Emailadresse für {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "IFG-Anfrage"
@@ -915,6 +942,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr "Hallo! Wir brauchen Ihre Hilfe. Die Person, welche die folgende Anfrage gestellt hat, hat uns nicht mitgeteilt ob diese erfolgreich war. Wäre es okaz für Sie sich einen Moment Zeit zu nehmen, um die Anfrage zu lesen und uns somit zu helfen die Zeite für jedermann aktuell zu halten?"
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -927,6 +957,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Home"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Offizielle Homepage der Behörde"
@@ -977,6 +1010,16 @@ msgstr "Angefragte Information <strong> teilweise erhalten </strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Fehlerhafte Information <strong>erhalten</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Sollte die Adresse falsch sein oder sollten Sie eine bessere Adresse kennen, so <a href=\"{{url}}\">kontaktieren Sie uns</a>bitte."
@@ -1040,6 +1083,9 @@ msgstr "Falls Sie {{site_name}} zuvor genutzt haben"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr "Sollte Ihr Browser Cookies zulassen und Sie trotzdem diese Nachricht erhalten, gibt es wahrscheinlich ein Problem mit unserem Server."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1156,12 +1202,18 @@ msgstr "Möglicherweise blockiert Ihr Browser keine sogenannten ´Cookies´. Bit
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Angemeldet"
msgid "Joined {{site_name}} in"
msgstr "{{site_name}} beigetreten am"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Machen Sie es <strong>kurz und bündig</strong>, die Wahrscheinlichkeit die gewünschten Informationen zu erhalten ist somit größer(<a href=\"{{url}}\">Warum?</a>)."
@@ -1180,9 +1232,27 @@ msgstr "Teilen Sie uns mit bei welchem Vorgang diese Nachricht angezeigt wurde,
msgid "Link to this"
msgstr "Link erstellen"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Liste aller Behörden (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Melden Sie sich an, um eine Zip-Datei von {{info_request_title}} herunterzuladen"
@@ -1281,6 +1351,9 @@ msgstr "Benutzername vergeben"
msgid "New Freedom of Information requests"
msgstr "Neue IFG-Anfragen"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Neue Email:"
@@ -1326,6 +1399,9 @@ msgstr "Keine Ergebnisse gefunden."
msgid "No similar requests found."
msgstr "Keine vergleichbaren Anfragen gefunden. "
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Bisher hat niemand eine Anfrage an {{public_body_name}} über diese Seite gestellt."
@@ -1335,6 +1411,9 @@ msgstr "Keine gefunden."
msgid "None made."
msgstr "Keine gestellt."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1380,6 +1459,9 @@ msgstr "Eine Person gefunden"
msgid "One public authority found"
msgstr "Eine Behörde gefunden"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Es werden ausschliesslich Anfragen zu folgendem Sucheintrag angezeigt: {{site_name}} "
@@ -1572,9 +1654,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Bitte geben Sie eine Nachricht ein und / oder wählen Sie eine Datei aus, welche Ihre Antwort enthält"
-msgid "Please use the form below to tell us more."
-msgstr "Bitte nutzen Sie das Formular, um uns ausführlicher zu informieren. "
-
msgid "Please use this email address for all replies to this request:"
msgstr "Bitte nutzen Sie diese Emailadresse für alle Antworten auf diese Anfrage:"
@@ -1665,12 +1744,24 @@ msgstr "Behörden - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Behörde {{start_count}} bis {{end_count}} von {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1743,6 +1834,9 @@ msgstr "Behörde|Version"
msgid "Publication scheme"
msgstr "Veröffentlichungsschema"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1800,6 +1894,9 @@ msgstr "Interne Prüfung anfragen"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Interne Prüfung von {{person_or_body}} anfragen"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Anfrage wurde verweigert"
@@ -1901,6 +1998,9 @@ msgstr[1] "Suchen Sie in den {{count}} an {{public_body_name}} gestellten IFG-An
msgid "Search your contributions"
msgstr "Suchen Sie Ihre Beiträge"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Wählen Sie eine aus, um mehr Informationen über diese Behörde sehen zu können. "
@@ -1934,6 +2034,9 @@ msgstr "Anfrage senden"
msgid "Set your profile photo"
msgstr "Profilbild wählen"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nutzername bereits vergeben "
@@ -2029,6 +2132,9 @@ msgstr "Senden"
msgid "Submit status"
msgstr "Status senden"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Blog folgen"
@@ -2050,6 +2156,9 @@ msgstr "Statusliste"
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Tags (mit Leerzeichen getrennt):"
@@ -2077,6 +2186,9 @@ msgstr "Vielen Dank für die Aktualisierung dieser Anfrage!"
msgid "Thank you for updating your profile photo"
msgstr "Vielen Dank für die Aktualisierung Ihres Profilbildes"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr "Vielen Dank für die Hilfe - Ihre Arbeit wird es für jeden leichter machen erfolgreiche Antworten zu finden und es uns eventuell sogar ermöglichen Ranglisten zu erstellen..."
@@ -2311,6 +2423,9 @@ msgstr ""
"Die Ursache ist der veraltete Status dieser Anfrage {{title}}, \n"
"welche keine weiteren Antworten erhalten kann."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Dies ist Ihre eigene Anfrage. Sie erhalten eine automatische Emailbenachrichtigung, sobald Ihre Anfrage beantwortet wird. "
@@ -2382,6 +2497,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Diese Anfrage ist noch in Bearbeitung"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2582,6 +2700,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2636,6 +2757,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "Benutzer|URL Name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "IFG-Emailadressen ansehen"
@@ -2998,6 +3122,9 @@ msgstr ""
msgid "admin"
msgstr "Administration"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "alle Anfragen"
@@ -3031,6 +3158,9 @@ msgstr "alles"
msgid "are long overdue."
msgstr "sind lange überfällig. "
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "Behörden"
@@ -3043,6 +3173,9 @@ msgstr ""
msgid "between two dates"
msgstr "zwischen zwei Datum"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "von"
@@ -3126,6 +3259,9 @@ msgstr "Nachrichten von Behörden"
msgid "messages from users"
msgstr "Nachrichten von Nutzern"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "nicht später als"
@@ -3137,6 +3273,9 @@ msgstr ""
msgid "normally"
msgstr "normalerweise"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "Bitte melden Sie sich an als"
@@ -3158,6 +3297,9 @@ msgstr "Nachfrage versenden"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "gesendet an {{public_body_name}} durch {{info_request_user}} am {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3179,6 +3321,11 @@ msgstr "welche Sie stellten an:"
msgid "the main FOI contact address for {{public_body}}"
msgstr "die Haupt-Kontaktadresse für {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "der Hauptkontakt für {{public_body}}"
@@ -3290,6 +3437,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "{{site_name}} Benutzer haben {{number_of_requests}} Anfragen gestellt, u.a.:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/en/app.po b/locale/en/app.po
index 4e831daf8..828f6473a 100644
--- a/locale/en/app.po
+++ b/locale/en/app.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
"PO-Revision-Date: 2011-02-24 07:11-0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -119,6 +119,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -173,9 +176,6 @@ msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
msgstr ""
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr ""
-
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr ""
@@ -313,6 +313,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -400,6 +403,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -439,6 +445,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -607,6 +616,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -616,6 +628,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -628,6 +643,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -646,10 +664,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -691,10 +709,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -703,6 +724,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -873,6 +897,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -885,6 +912,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -933,9 +963,18 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -990,6 +1029,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1104,12 +1146,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1128,9 +1176,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1227,6 +1293,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1272,6 +1341,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1281,6 +1353,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1326,6 +1401,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1515,9 +1593,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1608,12 +1683,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1686,6 +1773,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1743,6 +1833,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1841,6 +1934,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1874,6 +1970,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1967,6 +2066,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1988,6 +2090,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2015,6 +2120,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2090,10 +2198,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2242,6 +2350,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2309,6 +2420,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2507,6 +2621,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2561,6 +2678,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2910,6 +3030,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2943,6 +3066,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2955,6 +3081,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3036,6 +3165,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3045,6 +3177,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3066,6 +3201,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3087,6 +3225,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3195,6 +3338,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/en_IE/app.po b/locale/en_IE/app.po
index eb81bcf6e..97962d3d9 100644
--- a/locale/en_IE/app.po
+++ b/locale/en_IE/app.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:07+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en_IE\n"
@@ -121,6 +121,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -315,6 +318,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -402,6 +408,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -441,6 +450,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -609,6 +621,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -618,6 +633,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -630,6 +648,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -648,10 +669,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -693,10 +714,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -705,6 +729,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -875,6 +902,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -887,6 +917,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -935,6 +968,15 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
@@ -992,6 +1034,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1106,12 +1151,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1130,9 +1181,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1229,6 +1298,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1274,6 +1346,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1283,6 +1358,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1328,6 +1406,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1517,9 +1598,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1610,12 +1688,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1688,6 +1778,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1745,6 +1838,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1843,6 +1939,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1876,6 +1975,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1969,6 +2071,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1990,6 +2095,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2017,6 +2125,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2244,6 +2355,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2311,6 +2425,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2509,6 +2626,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2563,6 +2683,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2912,6 +3035,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2945,6 +3071,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2957,6 +3086,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3038,6 +3170,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3047,6 +3182,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3068,6 +3206,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3089,6 +3230,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3197,6 +3343,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/es/app.po b/locale/es/app.po
index 66178c1d4..10c8ad93b 100644
--- a/locale/es/app.po
+++ b/locale/es/app.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:11+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: es\n"
@@ -134,6 +134,9 @@ msgstr "'{{link_to_request}}', una solicitud"
msgid "'{{link_to_user}}', a person"
msgstr "Para ver la respuesta, usa el siguiente enlace."
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -382,6 +385,9 @@ msgstr "Una respuesta será enviada <strong>por correo ordinario</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Una respuesta inusual, debe ser revisada por el equipo de {{site_name}}"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Un usuario de {{site_name}}"
@@ -477,6 +483,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Cualquiera:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Pide documentos o información <strong>específica</strong>, esta web no está pensada para resolver dudas generales."
@@ -518,6 +527,9 @@ msgstr "{{public_body_link}} ya debería haber respondido"
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "{{public_body_link}} debería haber respondido "
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Cancele una alerta de {{site_name}}"
@@ -690,6 +702,9 @@ msgstr "Fecha:"
msgid "Dear {{public_body_name}},"
msgstr "Estimado {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Respuesta retrasada a tu solicitud de acceso a información - "
@@ -699,6 +714,9 @@ msgstr "Retrasado."
msgid "Delivery error"
msgstr "Error en la entrega"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalles de la solicitud '"
@@ -711,6 +729,9 @@ msgstr "Atención: Este mensaje y cualquier respuesta que hagas serán publicada
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "¿Quieres mandar tu mensaje a {{person_or_body}}? También puedes escribir a:"
@@ -729,14 +750,14 @@ msgstr "Descargar ficheros adjuntos"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Edita y añade <strong>más detalles</strong> al mensaje anterior,\n"
" explicando por qué no estás satisfecho con su respuesta."
-msgid "Edit language version:"
-msgstr "Editar versión en idioma:"
-
msgid "Edit text about you"
msgstr "Edite el texto sobre tí"
@@ -776,13 +797,16 @@ msgstr "Historial de eventos"
msgid "Event history details"
msgstr "Historial de eventos"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escriba en esta página \n"
" estará <strong>disponible públicamente</strong> en\n"
" está web para siempre (<a href=\"{{url}}\">¿por qué?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escribas en esta página, incluyendo <strong>tu nombre</strong>, \n"
" estará <strong>disponible públicamente</strong> en\n"
@@ -794,6 +818,9 @@ msgstr "FOI"
msgid "FOI email address for {{public_body}}"
msgstr "Dirección de correo para {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Solicitudes de información"
@@ -974,6 +1001,9 @@ msgstr ""
" no nos ha dicho si tuvo o no éxito. ¿Te importaría invertir unos minutos\n"
" en leerla y ayudarnos a clasificarla para el beneficio de todos? Gracias."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr "Vacaciones"
@@ -986,6 +1016,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Inicio"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Sitio web del organismo"
@@ -1038,6 +1071,15 @@ msgstr "He recibido <strong>parte de la información</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "He recibido un <strong>mensaje de error</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Si la dirección es incorrecta, o conoce una más actualizada, por favor <a href=\"{{url}}\">contáctenos</a>."
@@ -1116,6 +1158,9 @@ msgstr ""
"Si tu navegador acepta cookies y estás viendo este mensaje,\n"
"puede que haya un problema en nuestro servidor."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr "Nuevo mensaje"
@@ -1235,12 +1280,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr "Los items que cumplan las siguientes condiciones son los que se muestran en tu muro."
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Registrado el"
msgid "Joined {{site_name}} in"
msgstr "Registrado en {{site_name}} el"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Sé <strong>específico</strong>, tendrás más probabilidades de conseguir lo que quieres (<a href=\"{{url}}\">¿por qué?</a>)."
@@ -1262,9 +1313,27 @@ msgstr ""
msgid "Link to this"
msgstr "Enlace"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Lista de todos los organismos (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Abre una sesión para descargar el fichero ZIP de {{info_request_title}}"
@@ -1364,6 +1433,9 @@ msgstr "El nombre ya está siendo utilizado"
msgid "New Freedom of Information requests"
msgstr "Nuevas solicitudes de acceso a información"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Nueva dirección:"
@@ -1409,6 +1481,9 @@ msgstr "No se han encontrado resultados."
msgid "No similar requests found."
msgstr "No se han encontrado solicitudes similares."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Nadie ha realizado todavía una solicitud de información a {{public_body_name}} usando esta web."
@@ -1418,6 +1493,9 @@ msgstr "No se han encontrado resultados."
msgid "None made."
msgstr "Ninguno/a."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1463,6 +1541,9 @@ msgstr "Una persona encontrada"
msgid "One public authority found"
msgstr "Un organismo público encontrado"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Sólo se muestran las solicitudes realizadas con {{site_name}}."
@@ -1663,9 +1744,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Por favor escribe un mensaje y/o escoje un fichero conteniendo su respuesta."
-msgid "Please use the form below to tell us more."
-msgstr "Por favor usa el formulario a continuación para decirnos más."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Por favor use la siguiente dirección de correo para todas las respuestas a esta solicitud:"
@@ -1756,12 +1834,24 @@ msgstr "Organismos públicos - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Organismos públicos {{start_count}} a {{end_count}} de {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr "Autoridad/Organismo Publico"
msgid "Public body/translation"
msgstr "Organismo publico/traduccion"
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1844,6 +1934,9 @@ msgstr "Versión"
msgid "Publication scheme"
msgstr "Esquema de publicación"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr "Eliminar pedido"
@@ -1903,6 +1996,9 @@ msgstr "Pida una revisión interna"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Pedir una revisión interna a {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "La solicitud ha sido eliminada"
@@ -2004,6 +2100,9 @@ msgstr[1] "Busca en las {{count}} solicitudes de información hechas a {{public_
msgid "Search your contributions"
msgstr "Busca tus aportaciones"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Elija uno para ver más información sobre el organismo."
@@ -2037,6 +2136,9 @@ msgstr "Enviar solicitud"
msgid "Set your profile photo"
msgstr "Cambiar foto de perfil"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nombre de usuario ya en uso"
@@ -2136,6 +2238,9 @@ msgstr "Enviar"
msgid "Submit status"
msgstr "Enviar estado"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Subscribirse al blog"
@@ -2157,6 +2262,9 @@ msgstr "Tabla de estados"
msgid "Table of varieties"
msgstr "Tabla de tipos de objetos"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Etiquetas (separadas por un espacio):"
@@ -2184,6 +2292,9 @@ msgstr "¡Gracias por actualizar esta solicitud!"
msgid "Thank you for updating your profile photo"
msgstr "Gracias por actualizar tu foto de perfil"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Gracias por ayudar - tu trabajo hace más sencillo que otros encuentren solicitudes\n"
@@ -2275,13 +2386,13 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "El creador de la solicitud la ha cancelado por algún motivo"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"La respuesta a tu solicitud ha sido <strong>retrasada</strong>.\n"
" Por ley, el organismo debería normalmente haber respondido\n"
" <strong>rápidamente</strong> y"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"La respuesta a tu solicitud ha sido <strong>muy retrasada</strong>.\n"
" Por ley, bajo cualquier circunstancia, el organismo ya debería\n"
@@ -2441,6 +2552,9 @@ msgstr ""
"Esto es porque {{title}} es una solicitud antigua\n"
"marcada para ya no recibir más respuestas."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Esta es tu solicitud, por lo que recibirás correos automáticamente cuando lleguen nuevas respuestas."
@@ -2516,6 +2630,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Esta solicitud está todavía en proceso:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2729,6 +2846,9 @@ msgstr "usuario"
msgid "User info request sent alert"
msgstr "Alerta de informacion de usuario enviada"
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2783,6 +2903,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Ver dirección de correo"
@@ -3177,6 +3300,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "todas las solicitudes"
@@ -3210,6 +3336,9 @@ msgstr "cualquiera"
msgid "are long overdue."
msgstr "están muy retrasados."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "organismos"
@@ -3222,6 +3351,9 @@ msgstr "comenzando con ‘{{first_letter}}’"
msgid "between two dates"
msgstr "entre dos fechas"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "antes de"
@@ -3305,6 +3437,9 @@ msgstr "mensajes de organismos"
msgid "messages from users"
msgstr "mensajes de usuarios"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "no más tarde de"
@@ -3318,6 +3453,9 @@ msgstr ""
msgid "normally"
msgstr "normalmente"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "por favor abra una sesión como "
@@ -3341,6 +3479,9 @@ msgstr "envíe un mensaje de seguimiento"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "enviada a {{public_body_name}} por {{info_request_user}} el {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr "mostrar partes citadas"
@@ -3362,6 +3503,11 @@ msgstr "que hiciste a"
msgid "the main FOI contact address for {{public_body}}"
msgstr "la dirección de contacto de {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "el contacto en {{public_body}}"
@@ -3473,6 +3619,9 @@ msgstr "{{site_name}} envía nuevas solicitudes a <strong>{{request_email}}</str
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Los usuarios de {{site_name}} han hecho {{number_of_requests}} solicitudes, incluyendo:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - una solicitud de información a {{public_body}}"
diff --git a/locale/eu/app.po b/locale/eu/app.po
index 8ec151c72..2d6fa8c68 100644
--- a/locale/eu/app.po
+++ b/locale/eu/app.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:09+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eu\n"
@@ -125,6 +125,9 @@ msgstr "'{{link_to_request}}', eskabide bat"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', pertsona bat"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -342,6 +345,9 @@ msgstr "erantzuna <strong>posta arruntean</strong> bidaliko da."
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Ez-ohiko erantzuna, {{site_name}} orrialdeko taldeak berraztertu behar du."
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "{{site_name}} orrialdeko erabiltzailea."
@@ -431,6 +437,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Edozein:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Eska itzatzu agiriak edo informazio <strong>zehatza</strong>, web orrialde hau ez dago zalantza orokorrak argitzeko pentsatuta."
@@ -470,6 +479,9 @@ msgstr "Legearen arabera, edozein zirkunstantzia dela, {{public_body_link}}k jad
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Legearen arabera, {{public_body_link}}k jada erantzun behar izango zukeen <strong>laster</strong> eta"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Baliogabetu {{site_name}}-ren alerta"
@@ -638,6 +650,9 @@ msgstr "Data:"
msgid "Dear {{public_body_name}},"
msgstr "{{public_body_name}} agurgarria,"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Zure informaziorako sarbidearen eskabidea atzeratuta dabil - "
@@ -647,6 +662,9 @@ msgstr "Atzeratuta."
msgid "Delivery error"
msgstr "Akatsa ematean"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Eskabidearen xehetasunak '"
@@ -659,6 +677,9 @@ msgstr "Kontuz: mezu hau eta egingo duzun edozein erantzun Interneten argitaratu
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Mezu bat bidali nahi diozu {{person_or_body}}-ri? Hona ere idatzi ahal diozu:"
@@ -677,12 +698,12 @@ msgstr "Ondoan datozen fitxategiak deskargatu"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr "Editatu eta gehitu <strong>xehetasun gehiago</strong> aurreko mezuari, zergatik ez zauden erantzunarekin pozik azalduz."
-msgid "Edit language version:"
-msgstr "Editatu beste hizkuntzaren bertsioa:"
-
msgid "Edit text about you"
msgstr "Editatu zuri buruzko testua"
@@ -722,10 +743,13 @@ msgstr "Gertaera historia"
msgid "Event history details"
msgstr "Gertaera historia"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr "Orrialde honetan idatziko duzun guztia <strong>irakurleen eskuragarri</strong> egongo da betiko (<a href=\"{{url}}\">¿por qué?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Orrialde honetan idatziko duzun guztia, <strong>zure izena</strong> barne, \n"
" <strong>irakurleen eskuragarri</strong> egongo da betiko\n"
@@ -737,6 +761,9 @@ msgstr "FOI"
msgid "FOI email address for {{public_body}}"
msgstr " {{public_body}}-rako posta helbidea"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Informazio eskabideak"
@@ -910,6 +937,9 @@ msgstr "Hauxe da idatzi duzun mezua, agian testua kopiatu eta gerorako gorde nah
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr "Kaixo! Zure laguntza behar dugu. Ondoko eskabidea egin zuen pertsonak ez digu jakinarazi arrakasta izan zuen ala ez. Badituzu minutu batzuk irakurtzeko eta sailkatzeko, guztion onurarako? Eskerrik asko."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -922,6 +952,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Hasiera"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Erakundearen webgunea"
@@ -972,6 +1005,15 @@ msgstr "<strong>Informazioaren zati bat</strong> jaso dut"
msgid "I've received an <strong>error message</strong>"
msgstr "<strong>Errore mezua</strong> jaso dut"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Helbidea zuzena ez bada, edo helbide gaurkotua baldin badakizu, mesedez, jar zaitez gurekin <a href=\"{{url}}\">harremanetan</a>."
@@ -1031,6 +1073,9 @@ msgstr "Lehenago {{site_name}} erabili baldin baduzu"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr "Zure nabigatzaileak cookiak onartzen baditu eta mezu hau ikusten baldin baduzu, gure zerbitzarian egon daiteke errorea."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1145,12 +1190,18 @@ msgstr "Agian zure nabigatzailea \"cookiak\" ez onartzeko konfiguratuta dago, ed
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "_____-ean erregistratua"
msgid "Joined {{site_name}} in"
msgstr "{{site_name}}-ean erregistratua"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Izan zaitez <strong>konkretua</strong>, nahi duzuna lortzeko aukera gehiago izango duzu (<a href=\"{{url}}\">zergatik?</a>)."
@@ -1169,9 +1220,27 @@ msgstr "Jakinaraz iezaguzu zer egiten ari zinen mezu hau agertu zenean, baita zu
msgid "Link to this"
msgstr "Esteka"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Erakunde guztien zerrenda (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Ireki ezazu saio bat {{info_request_title}}-eko ZIP fitxategia deskargatzeko"
@@ -1271,6 +1340,9 @@ msgstr "Izen hori beste norbait erabiltzen ari da"
msgid "New Freedom of Information requests"
msgstr "Informaziorako Sarbidearen eskabide berriak"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Helbide berria:"
@@ -1316,6 +1388,9 @@ msgstr "Ez da emaitzik aurkitu."
msgid "No similar requests found."
msgstr "Ez da antzeko eskabiderik aurkitu."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Oraindik inork ez dio {{public_body_name}}-ri informazio eskabiderik egin web honen bidez."
@@ -1325,6 +1400,9 @@ msgstr "Ez da emaitzik aurkitu."
msgid "None made."
msgstr "Ez da honelakorik egin."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1370,6 +1448,9 @@ msgstr "Pertsona bat aurkitu dugu"
msgid "One public authority found"
msgstr "Erakunde bat aurkitu dugu"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "{{site_name}}-ren bidez egindako eskabideak baino ez da erakusten."
@@ -1561,9 +1642,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Mesedez, idatz ezazu mezua edota aukera ezazu erantzuna dakarren fitxategia."
-msgid "Please use the form below to tell us more."
-msgstr "Mesedez, erabil ezazu ondoko inprimakia azalpen gehiago emateko."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Mesedez, erabil ezazu ondoko helbidea eskabide honen erantzun guztietarako:"
@@ -1654,12 +1732,24 @@ msgstr "Erakunde publikoak - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Erakunde publikoak {{start_count}}-etik {{end_count}}-era, guztira {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1732,6 +1822,9 @@ msgstr "Versión"
msgid "Publication scheme"
msgstr "Argitaratzeko eskema"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1791,6 +1884,9 @@ msgstr "Eskatu barneko berrikusketa"
msgid "Request an internal review from {{person_or_body}}"
msgstr "{{person_or_body}}-ri barneko berrikusketa eskatu."
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Eskabidea ezabatuta dago"
@@ -1892,6 +1988,9 @@ msgstr[1] "Bilatu ______-ri egindako {{count}} informazio eskabideetan {{public_
msgid "Search your contributions"
msgstr "Bilatu zure ekarpenak"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Aukera ezazu bat erakunde honi buruzko informazio gehiago ikusteko"
@@ -1925,6 +2024,9 @@ msgstr "Bidali eskabidea"
msgid "Set your profile photo"
msgstr "Aldatu profilaren argazkia"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Erabiltzailearen izena jadanik hartuta dago."
@@ -2020,6 +2122,9 @@ msgstr "Bidali"
msgid "Submit status"
msgstr "Bidali egoera"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Blogaren harpidetza eman"
@@ -2041,6 +2146,9 @@ msgstr "Egoeren taula"
msgid "Table of varieties"
msgstr "Objektu desberdinen taula"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Hitz gakoak (espazio batez bananduak):"
@@ -2068,6 +2176,9 @@ msgstr "Eskerrik asko eskabide hau gaurkotzeagatik!"
msgid "Thank you for updating your profile photo"
msgstr "Eskerrik asko zure profilaren argazkia gaurkotzeagatik"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr "Eskerrik asko zure laguntzagatik, zure lanak arrakasta izan duten beste eskabideak aurkitzeko ahalegina arintzen du, sailkatzeko aukera ere ematen digu..."
@@ -2149,12 +2260,12 @@ msgstr "Ikusi nahi izan duzun eskabidea ezabatuta dago. Honetarako hainbat arraz
msgid "The requester has abandoned this request for some reason"
msgstr "Eskabide honetako sortzaileak zerbait dela eta ezabatu du"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Zure eskabidearen erantzuna <strong>atzeratu da</strong>.\n"
" Legearen arabera, erakundeak normalean <strong>azkar</strong> erantzun behar du eta"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Zure eskabidearen erantzuna <strong> oso atzeratuta dago</strong>.\n"
" Legearen arabera, edonola ere, erakundeak jada erantzun behar izan dizu."
@@ -2307,6 +2418,9 @@ msgstr "Hau informaziorako sarbidearen eskabide baten ondoko fitxategi baten HTM
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr "Hau gertatzen da {{title}} eskabide zaharra delako, erantzun gehiago jaso ez dezan markatuta."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Hauxe da zure eskabidea, horregatik erantzun berriak heltzen direnean automatikoki emailak jasoko dituzu."
@@ -2376,6 +2490,9 @@ msgstr "Eskabide hau ezkututa dago, beraz zuk zeuk, sortzaile zaren heinean, iku
msgid "This request is still in progress:"
msgstr "Eskabide hau oraindik prozesatzen ari da:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2574,6 +2691,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2628,6 +2748,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Ikusi posta helbidea"
@@ -2991,6 +3114,9 @@ msgstr "Eskatzen duzun informazioaren laburpena, lerro batean, adibidez"
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "eskabide guztiak"
@@ -3024,6 +3150,9 @@ msgstr "edozein"
msgid "are long overdue."
msgstr "oso atzeratuta daude."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "erakundeak"
@@ -3036,6 +3165,9 @@ msgstr "‘{{first_letter}}’-tik hasita"
msgid "between two dates"
msgstr "bi data tartean"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "nork"
@@ -3119,6 +3251,9 @@ msgstr "erakundeetako mezua"
msgid "messages from users"
msgstr "erabiltzaileen mezuak"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "______ baino beranduago ez"
@@ -3130,6 +3265,9 @@ msgstr ""
msgid "normally"
msgstr "normalean"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "mesedez, ireki ezazu saioa _______ bezala"
@@ -3151,6 +3289,9 @@ msgstr "Bidal ezazu jarraipen mezu bat"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "{{public_body_name}}-ri {{info_request_user}}-k bidali dio {{date}} egunean."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3172,6 +3313,11 @@ msgstr "_____-ri egin diozuna."
msgid "the main FOI contact address for {{public_body}}"
msgstr "{{public_body}}-ren harremanetarako helbidea"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "{{public_body}}-ren helbidea"
@@ -3282,6 +3428,9 @@ msgstr "{{site_name}}-k eskabide berriak bidali dizkio <strong>{{request_email}}
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr " {{site_name}}-eko erabiltzaileek {{number_of_requests}} eskabide egin dituzte, haien artean:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/fr/app.po b/locale/fr/app.po
index 2f0dc6054..ee2f799ab 100644
--- a/locale/fr/app.po
+++ b/locale/fr/app.po
@@ -4,7 +4,10 @@
#
# Translators:
# <alex@alexskene.com>, 2011.
+# <andreas@access-info.org>, 2013.
+# Benoît Simard <contact@bsimard.com>, 2013.
# <borisjf@post.harvard.edu>, 2011.
+# <rrobertpolson@gmail.com>, 2013.
# <seb.bacon@gmail.com>, 2012.
# skenaja <alex@alexskene.com>, 2011.
# <tanguim@gmail.com>, 2011.
@@ -13,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:06+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
@@ -27,13 +30,13 @@ msgid " This will appear on your {{site_name}} profile, to make it\\n
msgstr ""
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr ""
+msgstr "(<strong>aucune garantie</strong> politique, lire notre <a href=\"{{url}}\">politique de modération</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
-msgstr ""
+msgstr "(<strong>patience</strong>, surtout pour les fichiers volumineux, cela peut prendre un certains temps !)"
msgid " (you)"
-msgstr ""
+msgstr "(vous)"
msgid " - view and make Freedom of Information requests"
msgstr ""
@@ -50,7 +53,7 @@ msgid " <strong>Privacy note:</strong> Your email address will be given to"
msgstr " <strong>Protection de vos données :</strong> Votre adresse e-mail sera communiquée à"
msgid " <strong>Summarise</strong> the content of any information returned. "
-msgstr " <strong>Résumez</strong> les informations transmises. "
+msgstr " <strong>Résumez</strong>le contenu des informations transmises. "
msgid " Advise on how to <strong>best clarify</strong> the request."
msgstr "Indiquez comment rendre la demande <strong>plus claire</strong>."
@@ -67,7 +70,7 @@ msgid " Include relevant links, such as to a campaign page, your blog or a\\n
msgstr ""
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr ""
+msgstr "Lien vers les informations demandées, si elle sont <strong>déjà disponibles</strong> sur Internet."
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
msgstr " Proposez d'autres <strong>formulations</strong> pour accéder à ces informations. "
@@ -82,27 +85,27 @@ msgid " What are you investigating using Freedom of Information? "
msgstr ""
msgid " You are already being emailed updates about the request."
-msgstr ""
+msgstr "Un courriel vous à déjà été envoyé au sujet de cette demande."
msgid " You will also be emailed updates about the request."
-msgstr ""
+msgstr "Il vous sera également envoyé un courriel au sujet de cette demande."
msgid " made by "
-msgstr ""
+msgstr "Réalisé par"
msgid " or "
msgstr "ou"
msgid " when you send this message."
-msgstr ""
+msgstr "quand vous envoyé ce message."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
msgstr ""
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} Liberté de pouvoir faire une demande d'informations sur {{public_body_name}}"
+msgstr[1] "{{count}} Liberté de pouvoir faire des demandes d'informations sur {{public_body_name}}"
msgid "{{count}} request"
msgid_plural "{{count}} requests"
@@ -111,22 +114,25 @@ msgstr[1] "{{count}} demandes"
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "{{count}} demande réalisée."
+msgstr[1] "{{count}} demandes réalisées."
msgid "'Crime statistics by ward level for Wales'"
msgstr ""
msgid "'Pollution levels over time for the River Tyne'"
-msgstr ""
+msgstr "« Évolution dans le temps des niveaux de pollution de la rivière Tyne »"
msgid "'{{link_to_authority}}', a public authority"
-msgstr ""
+msgstr "'{{lien_vers_administration}}', une administration public"
msgid "'{{link_to_request}}', a request"
-msgstr ""
+msgstr "'{{lien_vers_demande}}', une demande"
msgid "'{{link_to_user}}', a person"
+msgstr "{{lien_vers_utilisateur}}', une persone"
+
+msgid "*unknown*"
msgstr ""
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
@@ -136,19 +142,19 @@ msgid "- or -"
msgstr "- ou -"
msgid "1. Select an authority"
-msgstr ""
+msgstr "1. Choisissez une administration"
msgid "2. Ask for Information"
-msgstr ""
+msgstr "2. Posez une question"
msgid "3. Now check your request"
-msgstr ""
+msgstr "3. Maintenant, vérifier vos demandes"
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Ajouter un commentaire</a> (pour aider le demandeur ou d'autres personnes)"
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "Vous ne trouvez pas celui que vous voulez ?"
msgid "Are you the owner of any commercial copyright on this page?"
msgstr ""
@@ -160,31 +166,28 @@ msgid "Can't find the one you want?"
msgstr ""
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
-msgstr ""
+msgstr "<a href=\"{{url}}\">Connectez-vous</a> pour changer le mot de passe, les abonnements et plus encore ({{user_name}} only)"
msgid "details"
-msgstr ""
+msgstr "détails"
msgid "what's that?"
-msgstr ""
+msgstr "C'est quoi ça ?"
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr ""
+msgstr "<p>Tout est fait ! Merci beaucoup pour votre aide.</p><p> Il y a <a href=\"{{helpus_url}}\"> encre beaucoup de choses que vous pouvez faire</a> pour nous aider {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
msgstr ""
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p> Merci ! J'espère que vous n'avez pas à attendre plus longtemps. </ P> Selon la loi, vous devriez recevoir une réponse rapidement, et normalement avant la fin du <strong> {{date_response_required_by}} </ strong>. </ p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr ""
-
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr ""
+msgstr "<p>Merci ! Nous espérons que votre attente ne sera pas trop longue. </p><p> Vous devriez obtenir une réponse dans les {{late_number_of_days}} jours, ou bien vous serez prévenu si cela prendra plus de temps (href=\"{{review_url}}\"> <a détails </ a>). </ p>"
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr ""
@@ -198,6 +201,9 @@ msgstr ""
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
msgstr ""
+msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
+msgstr ""
+
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
msgstr ""
@@ -205,7 +211,7 @@ msgid "<p>We're glad you got some of the information that you wanted. If you fou
msgstr ""
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
-msgstr ""
+msgstr "<p>Vous n'avez pas besoin d'inclure votre adresse mail à votre demande pour obtenir une réponse(<a href=\"{{url}}\">details</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
msgstr ""
@@ -255,10 +261,10 @@ msgid "<strong><code>variety:</code></strong> to select type of thing to search
msgstr ""
msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
-msgstr ""
+msgstr "<strong>Conseils</strong> sur la façon d'obtenir une réponse qui satisfera le demandeur. </li>"
msgid "<strong>All the information</strong> has been sent"
-msgstr ""
+msgstr "<strong>Toutes les informations</strong> ont été envoyées"
msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr ""
@@ -267,7 +273,7 @@ msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, yo
msgstr ""
msgid "<strong>Clarification</strong> has been requested"
-msgstr ""
+msgstr "<strong>Des précisions</strong> ont été demandées"
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
msgstr ""
@@ -291,13 +297,13 @@ msgid "<strong>Privacy warning:</strong> Your message, and any response\\n
msgstr ""
msgid "<strong>Some of the information</strong> has been sent "
-msgstr ""
+msgstr "<strong>Certaines informations</strong> ont été envoyées "
msgid "<strong>Thank</strong> the public authority or "
-msgstr ""
+msgstr "<strong>Remerciez</strong> l'autorité publique ou"
msgid "<strong>did not have</strong> the information requested."
-msgstr ""
+msgstr "<strong>n'avait pas </strong> les informations demandées."
msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
@@ -306,61 +312,64 @@ msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em>
msgstr ""
msgid "A <strong>summary</strong> of the response if you have received it by post. "
-msgstr ""
+msgstr "Un <strong>résumé</strong> si vous l'avez reçue par la poste."
msgid "A Freedom of Information request"
-msgstr ""
+msgstr "Une liberté d'accès à l'information"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
msgid "A public authority"
-msgstr ""
+msgstr "Une autorité administrative"
msgid "A response will be sent <strong>by post</strong>"
-msgstr ""
+msgstr "Une réponse vous sera <strong>envoyée par la poste</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "Une réponse étrange réclame de l'attention {{site_name}} à l'équipe"
+
+msgid "A vexatious request"
msgstr ""
msgid "A {{site_name}} user"
-msgstr ""
+msgstr "Un {{site_name}} utilisateur"
msgid "About you:"
msgstr "A propos de vous&nbsp;:"
msgid "Act on what you've learnt"
-msgstr ""
+msgstr "Agissez en fonction de ce que vous avez appris."
msgid "Add an annotation"
-msgstr ""
+msgstr "Ajouter une remarque"
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
msgstr ""
msgid "Added on {{date}}"
-msgstr ""
+msgstr "Ajouté le {{date}}"
msgid "Admin level is not included in list"
msgstr "Le niveau administratif n'est pas inclus dans cette liste"
msgid "Administration URL:"
-msgstr ""
+msgstr "URL de l'administration:"
msgid "Advanced search"
-msgstr ""
+msgstr "Recherche avancée"
msgid "Advanced search tips"
msgstr "Conseils pour une recherche avancée"
msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
-msgstr ""
+msgstr "Donner des conseils <strong>si le refus est légal</strong>, et comment se plaindre si il ne l'est pas."
msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
msgstr ""
msgid "All of the information requested has been received"
-msgstr ""
+msgstr "Tous les renseignements demandés ont été reçus"
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
msgstr ""
@@ -369,13 +378,13 @@ msgid "All the options below can use <strong>variety</strong> or <strong>latest_
msgstr ""
msgid "Also called {{other_name}}."
-msgstr ""
+msgstr "Également appelé {{other_name}}."
msgid "Also send me alerts by email"
msgstr ""
msgid "Alter your subscription"
-msgstr ""
+msgstr "Modifier votre abonnement."
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
msgstr ""
@@ -384,19 +393,19 @@ msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</e
msgstr ""
msgid "An <strong>error message</strong> has been received"
-msgstr ""
+msgstr "Un <strong>message d'erreur</strong> a été reçu."
msgid "An Environmental Information Regulations request"
-msgstr ""
+msgstr "Une demande sur les règlements concernant l'information sur l'environnement"
msgid "An anonymous user"
msgstr ""
msgid "Annotation added to request"
-msgstr ""
+msgstr "Remarque ajoutée à la demande"
msgid "Annotations"
-msgstr ""
+msgstr "Remarque"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
msgstr ""
@@ -408,55 +417,61 @@ msgid "Anonymous user"
msgstr ""
msgid "Anyone:"
+msgstr "Personne:"
+
+msgid "Applies to"
msgstr ""
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
-msgstr ""
+msgstr "Demandez des documents ou des <strong>informations spécifiques</strong>, ce site ne convient pas pour des renseignements d'ordre général."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
msgstr ""
msgid "Attachment (optional):"
-msgstr ""
+msgstr "Pièce jointe (optionnel):"
msgid "Attachment:"
-msgstr ""
+msgstr "Pièce jointe"
msgid "Awaiting classification."
-msgstr ""
+msgstr "En attente de classement."
msgid "Awaiting internal review."
-msgstr ""
+msgstr "En attente d'examen interne."
msgid "Awaiting response."
-msgstr ""
+msgstr "Réponse en attente"
msgid "Beginning with"
-msgstr ""
+msgstr "Commence avec"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
-msgstr ""
+msgstr "Parcourir <a href='{{url}}'>les autres demandes</a> , par exemple, comment la parole de votre demande."
msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
-msgstr ""
+msgstr "Parcourir <a href='{{url}}'>les autres demandes</a> to '{{public_body_name}}' , par exemple, comment la parole de votre demande"
msgid "Browse all authorities..."
-msgstr ""
+msgstr "Parcourir toutes les autorités publiques..."
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
-msgstr ""
+msgstr "Selon la loi, en toutes circonstances, {{public_body_link}} aurait répondu en maintenant"
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
-msgid "Cancel a {{site_name}} alert"
+msgid "Calculated home page"
msgstr ""
+msgid "Cancel a {{site_name}} alert"
+msgstr "Annuler une {{site_name}} alerte"
+
msgid "Cancel some {{site_name}} alerts"
-msgstr ""
+msgstr "Annuler des {{site_name}} alertes"
msgid "Cancel, return to your profile page"
-msgstr ""
+msgstr "Annuler, retourner à votre page de profil"
msgid "Censor rule"
msgstr ""
@@ -477,52 +492,52 @@ msgid "CensorRule|Text"
msgstr ""
msgid "Change email on {{site_name}}"
-msgstr ""
+msgstr "Changer le courriel sur {{site_name}}"
msgid "Change password on {{site_name}}"
-msgstr ""
+msgstr "Changer mot de passe sur {{site_name}}"
msgid "Change profile photo"
-msgstr ""
+msgstr "Changer la photo de profil"
msgid "Change the text about you on your profile at {{site_name}}"
-msgstr ""
+msgstr "Modifier le texte sur vous dans votre profil {{site_name}}"
msgid "Change your email"
-msgstr ""
+msgstr "Modifier votre adresse mail"
msgid "Change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Modifier votre adresse mail utilisée sur le site {{site_name}}"
msgid "Change your password"
-msgstr ""
+msgstr "Modifier votre mot de pass"
msgid "Change your password on {{site_name}}"
-msgstr ""
+msgstr "Modifier votre mot de pass pour le site {{site_name}}"
msgid "Change your password {{site_name}}"
-msgstr ""
+msgstr "Changer votre mot de passe {{site_name}}"
msgid "Charity registration"
-msgstr ""
+msgstr "Organisme de bienfaisance"
msgid "Check for mistakes if you typed or copied the address."
-msgstr ""
+msgstr "Vérifiez les erreurs si vous avez tapé ou copié l'adresse."
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr ""
+msgstr "Vérifiez que vous n'avez pas inclus des informations personnelles"
msgid "Choose your profile photo"
-msgstr ""
+msgstr "Choisissez votre photo de profil"
msgid "Clarification"
-msgstr ""
+msgstr "Précisions"
msgid "Clarify your FOI request - "
msgstr ""
msgid "Classify an FOI response from "
-msgstr ""
+msgstr "Classer comme FOI une réponse venant de"
msgid "Clear photo"
msgstr ""
@@ -531,7 +546,7 @@ msgid "Click on the link below to send a message to {{public_body_name}} telling
msgstr ""
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
-msgstr ""
+msgstr "Cliquez sur le lien ci-dessous pour envoyer un message à {{public_body}} afin de leur rappeler de répondre à votre demande."
msgid "Close"
msgstr ""
@@ -570,19 +585,19 @@ msgid "Confirm you want to follow the request '{{request_title}}'"
msgstr ""
msgid "Confirm your FOI request to "
-msgstr ""
+msgstr "Confirmer votre demande FOI pour"
msgid "Confirm your account on {{site_name}}"
-msgstr ""
+msgstr "Confirmer votre compte sur {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr ""
+msgstr "Confirmer votre remarque pour {{info_request_title}}"
msgid "Confirm your email address"
-msgstr ""
+msgstr "Confirmer votre adresse e-mail"
msgid "Confirm your new email address on {{site_name}}"
-msgstr ""
+msgstr "Confirmer votre nouvelle adresse sur {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
msgstr ""
@@ -597,85 +612,94 @@ msgid "Contact {{site_name}}"
msgstr "Contact {{site_name}}"
msgid "Could not identify the request from the email address"
-msgstr ""
+msgstr "Impossible d'identifier la demande à partir de l'adresse e-mail"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
msgstr "Nous ne pouvons utiliser le fichier image que vous nous avez soumis. Nous acceptons les fichiers PNG, JPEG et GIF, ainsi qu'un grand nombre d'autres formats communément utilisés."
msgid "Crop your profile photo"
-msgstr ""
+msgstr "Recadrer votre photo de profil"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
msgstr ""
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr ""
+msgstr "Acutuellement <strong>en attente d'une réponse</strong> du {{public_body_link}}, Ils doivent répondre rapidement et"
msgid "Date:"
-msgstr ""
+msgstr "Date:"
msgid "Dear {{public_body_name}},"
+msgstr "Cher {{public_body_name}},"
+
+msgid "Default locale"
msgstr ""
msgid "Delayed response to your FOI request - "
-msgstr ""
+msgstr "Réponse à votre demande FOI en retard- "
msgid "Delayed."
-msgstr ""
+msgstr "En retard"
msgid "Delivery error"
+msgstr "Erreur lors de l'envoi"
+
+msgid "Destroy {{name}}"
msgstr ""
msgid "Details of request '"
-msgstr ""
+msgstr "Détails de la demande"
msgid "Did you mean: {{correction}}"
msgstr "Vouliez-vous dire {{correction}} ?"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr ""
+msgstr "Attention : Ce message et les éventuelles réponses que vous écrivez seront publiées sur l'internet. Notre politique en matière de confidentialité et de droits d'auteur :"
msgid "Disclosure log"
msgstr ""
-msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgid "Disclosure log URL"
msgstr ""
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr "Vous ne voulez pas envoyer votre message à {{person_or_body}}? Vous pouvez aussi écrire à : "
+
msgid "Done"
-msgstr ""
+msgstr "Fait"
msgid "Done &gt;&gt;"
msgstr ""
msgid "Download a zip file of all correspondence"
-msgstr ""
+msgstr "Télécharger un fichier zip de toute la correspondance"
msgid "Download original attachment"
-msgstr ""
+msgstr "Télécharger la pièce jointe originale"
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
-msgstr "Changer la langue :"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr ""
msgid "Edit text about you"
-msgstr ""
+msgstr "Modifier le texte sur vous"
msgid "Edit this request"
-msgstr ""
+msgstr "Modifier cette demande"
msgid "Either the email or password was not recognised, please try again."
-msgstr ""
+msgstr "Le courriel ou le mot de passe n'ont pas été reconnus, s'il vous plaît essayez de nouveau."
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr ""
+msgstr "Le courriel ou le mot de passe n'ont pas été reconnus, s'il vous plaît essayez de nouveau. Ou, créer un nouveau compte en utilisant le formulaire à droite."
msgid "Email doesn't look like a valid address"
-msgstr ""
+msgstr "Le courriel ne ressemble pas à une adresse valide"
msgid "Email me future updates to this request"
msgstr "Me prévenir par e-mail quand cette demande évolue"
@@ -687,40 +711,46 @@ msgid "Enter your response below. You may attach one file (use email, or\\n <a
msgstr ""
msgid "Environmental Information Regulations"
-msgstr ""
+msgstr "Règlements nationaux en matière d'information sur l'environnement"
msgid "Environmental Information Regulations requests made"
-msgstr ""
+msgstr "La demande au sujet des règlements nationaux en matière d'information sur l'environnement a été effectuée."
msgid "Environmental Information Regulations requests made using this site"
-msgstr ""
+msgstr "La demande au sujet des règlements nationaux en matière d'information sur l'environnement a été effectuée par l'intermédiaire de ce site."
msgid "Event history"
-msgstr ""
+msgstr "Historique des événements"
msgid "Event history details"
+msgstr "Détails de l'historique des événements"
+
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
msgstr ""
msgid "FOI email address for {{public_body}}"
+msgstr "Courriel FOI pour {{public_body}}"
+
+msgid "FOI request – {{title}}"
msgstr ""
msgid "FOI requests"
-msgstr ""
+msgstr "Demandes FOI"
msgid "FOI requests by '{{user_name}}'"
-msgstr ""
+msgstr "Demandes FOI de '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Demandes FOI {{start_count}} à {{end_count}} sur {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
msgstr ""
@@ -732,7 +762,7 @@ msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {
msgstr "Nous n'avons pas pu changer les dimensions de l'image: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
msgid "Filter"
-msgstr ""
+msgstr "Filtre"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd \\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -774,37 +804,37 @@ msgid "Follow requests to {{public_body_name}}"
msgstr ""
msgid "Follow these requests"
-msgstr ""
+msgstr "Suivre ces demandes"
msgid "Follow things matching this search"
msgstr ""
msgid "Follow this authority"
-msgstr ""
+msgstr "Suivre cette autorité administrative"
msgid "Follow this link to see the request:"
-msgstr ""
+msgstr "Suivez ce lien pour voir la demande:"
msgid "Follow this person"
msgstr ""
msgid "Follow this request"
-msgstr ""
+msgstr "Suivre cette demande"
msgid "Follow up"
-msgstr ""
+msgstr "Suivre"
msgid "Follow up message sent by requester"
-msgstr ""
+msgstr "Suivre les messages envoyés par le demandeur"
msgid "Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Le suivi des demandes existantes sont envoyés à"
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
msgstr ""
msgid "Follow us on twitter"
-msgstr ""
+msgstr "Suivre sur Twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
msgstr ""
@@ -813,7 +843,7 @@ msgid "For an unknown reason, it is not possible to make a request to this autho
msgstr "Par des raisons que nous ne pouvons pas déterminer, il est impossible d'envoyer des demandes à cette institution."
msgid "Forgotten your password?"
-msgstr ""
+msgstr "Vous avez oublié votre mot de passe?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
@@ -821,16 +851,16 @@ msgstr[0] ""
msgstr[1] ""
msgid "Freedom of Information"
-msgstr ""
+msgstr "Liberté d'accès à l'information"
msgid "Freedom of Information Act"
-msgstr ""
+msgstr "Loi pour la liberté d'information"
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
msgstr ""
msgid "Freedom of Information law no longer applies to"
-msgstr ""
+msgstr "La loi pour la liberté d'information ne s'applique plus à"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
msgstr ""
@@ -839,16 +869,16 @@ msgid "Freedom of Information requests made"
msgstr "sollicitudes d'accès à l'information envoyées"
msgid "Freedom of Information requests made by this person"
-msgstr ""
+msgstr "Demandes d'accès à l'information faites par cette personne"
msgid "Freedom of Information requests made by you"
-msgstr ""
+msgstr "Demandes d'accès à l'information faites par vous"
msgid "Freedom of Information requests made using this site"
msgstr "sollicitudes d'accès à l'information envoyées en utilisant cette site web"
msgid "Freedom of information requests to"
-msgstr ""
+msgstr "Demandes d'accès à l'information faites à"
msgid "From"
msgstr ""
@@ -857,13 +887,13 @@ msgid "From the request page, try replying to a particular message, rather than
msgstr ""
msgid "From:"
-msgstr ""
+msgstr "De:"
msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
-msgstr ""
+msgstr "DONNER DES DETAILS SUR VOTRE PLAINTE ICI"
msgid "Handled by post."
-msgstr ""
+msgstr "Envoyé par voie postale"
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
msgstr ""
@@ -883,6 +913,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -893,6 +926,9 @@ msgid "Holiday|Description"
msgstr "JoursFériés|Description"
msgid "Home"
+msgstr "Accueil"
+
+msgid "Home page"
msgstr ""
msgid "Home page of authority"
@@ -902,13 +938,13 @@ msgid "However, you have the right to request environmental\\n inform
msgstr ""
msgid "Human health and safety"
-msgstr ""
+msgstr "Santé et sécurité des personnes"
msgid "I am asking for <strong>new information</strong>"
-msgstr ""
+msgstr "Je vous demande de <strong>nouvelles informations</strong>."
msgid "I am requesting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Je demande <strong>réexamen interne</strong>."
msgid "I don't like these ones &mdash; give me some more!"
msgstr ""
@@ -920,32 +956,41 @@ msgid "I like this request"
msgstr ""
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr ""
+msgstr "Je voudrais <strong>retirer cette demande</strong>."
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
msgstr ""
msgid "I'm still <strong>waiting</strong> for the internal review"
-msgstr ""
+msgstr "Je suis toujours en <strong>attente</strong> d'un réexamen interne."
msgid "I'm waiting for an <strong>internal review</strong> response"
-msgstr ""
+msgstr "Je suis en attente d'une réponse au sujet d'un <strong>réexamen interne</strong>."
msgid "I've been asked to <strong>clarify</strong> my request"
-msgstr ""
+msgstr "J'ai été invité à <strong>clarifier</strong> ma demande."
msgid "I've received <strong>all the information"
-msgstr ""
+msgstr "J'ai reçu <strong>toute les informations"
msgid "I've received <strong>some of the information</strong>"
-msgstr ""
+msgstr "J'air reçu <strong>une partie des informations</strong>"
msgid "I've received an <strong>error message</strong>"
+msgstr "J'ai reçu un <strong>message d'erreur</strong>."
+
+msgid "I've received an error message"
msgstr ""
-msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgid "Id"
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Si l'adresse est erronée, ou si vous connaissez une meilleure adresse, s'il vous plaît <a href=\"{{url}}\">contactez-nous</a>."
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -953,10 +998,10 @@ msgid "If you are dissatisfied by the response you got from\\n the pu
msgstr ""
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Si vous rencontrez toujours des problèmes, s'il vous plaît <a href=\"{{url}}\">contact us</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr ""
+msgstr "Si vous êtes le demandeur, alors vous pouvez <a href=\"{{url}}\">sign in</a> voir à la demande."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
msgstr ""
@@ -992,14 +1037,17 @@ msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"
msgstr ""
msgid "If you're new to {{site_name}}"
-msgstr ""
+msgstr "Si vous êtes nouveau {{site_name}}"
msgid "If you've used {{site_name}} before"
-msgstr ""
+msgstr "Si vous avez utilisé {{site_name}} avant"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1114,44 +1162,68 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
-msgid "Joined in"
+msgid "Items sent in last month"
msgstr ""
+msgid "Joined in"
+msgstr "Inscrit dans"
+
msgid "Joined {{site_name}} in"
+msgstr "Inscrit dans {{site_name}}"
+
+msgid "Just one more thing"
msgstr ""
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "Keywords"
-msgstr ""
+msgstr "Mots-clés"
msgid "Last authority viewed: "
-msgstr ""
+msgstr "Dernière autorité publique consultée :"
msgid "Last request viewed: "
-msgstr ""
+msgstr "Dernière demande consultée :"
msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
msgstr "Dites-nous ce que vous faisiez lorsque ce message est apparu ainsi que votre navigateur et le type et la version de votre système d'exploitation."
msgid "Link to this"
+msgstr "Créer un lien vers"
+
+msgid "List all"
msgstr ""
msgid "List of all authorities (CSV)"
msgstr "Liste de toutes les intitutions (CSV)"
-msgid "Log in to download a zip file of {{info_request_title}}"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
msgstr ""
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr "Connectez-vous pour télécharger un fichier zip de {{info_request_title}}"
+
msgid "Log into the admin interface"
msgstr ""
msgid "Long overdue."
-msgstr ""
+msgstr "En retard depuis longtemps"
msgid "Made between"
-msgstr ""
+msgstr "Fait entre"
msgid "Mail server log"
msgstr ""
@@ -1181,7 +1253,7 @@ msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<
msgstr ""
msgid "Make a request"
-msgstr ""
+msgstr "Faire une demande"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
msgstr ""
@@ -1190,7 +1262,7 @@ msgid "Make and browse Freedom of Information (FOI) requests"
msgstr "Envoyer et rechercher des sollicitudes d'accès à lìnformation"
msgid "Make your own request"
-msgstr ""
+msgstr "Créer votre propre demande"
msgid "Many requests"
msgstr ""
@@ -1199,10 +1271,10 @@ msgid "Message"
msgstr ""
msgid "Message sent using {{site_name}} contact form, "
-msgstr ""
+msgstr "Message envoyé en utilisant le formulaire {{site_name}}"
msgid "Missing contact details for '"
-msgstr ""
+msgstr "Il manque les coordonnées pour '"
msgid "More about this authority"
msgstr "Plus d'infos sur cet administration"
@@ -1211,19 +1283,19 @@ msgid "More requests..."
msgstr ""
msgid "More similar requests"
-msgstr ""
+msgstr "Plus de demandes similaires"
msgid "More successful requests..."
msgstr "Les sollicitudes les plus réussites"
msgid "My profile"
-msgstr ""
+msgstr "Mon profil"
msgid "My request has been <strong>refused</strong>"
msgstr "Ma demande a été <strong>refusée</strong>"
msgid "My requests"
-msgstr ""
+msgstr "Mes demandes"
msgid "My wall"
msgstr ""
@@ -1237,11 +1309,14 @@ msgstr "Le nom est déjà pris"
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Nouvel e-mail :"
msgid "New email doesn't look like a valid address"
-msgstr ""
+msgstr "La nouvelle adresse e-mail ne semble pas être une adresse valide"
msgid "New password:"
msgstr "Nouveau mot de passe :"
@@ -1268,7 +1343,7 @@ msgid "Newest results first"
msgstr "Les résultats les plus nouveaux en premier lieu"
msgid "Next"
-msgstr ""
+msgstr "Suivant"
msgid "Next, crop your photo &gt;&gt;"
msgstr "Ensuite, recadrer votre photo&gt;&gt;"
@@ -1277,11 +1352,14 @@ msgid "No requests of this sort yet."
msgstr "Pas encore de demande de ce type."
msgid "No results found."
-msgstr ""
+msgstr "Aucun résultat n'a étét trouvé."
msgid "No similar requests found."
msgstr "Pas de demandes similaires trouvés."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Personne n'a jamais envoyée une sollicitude d'accès à l'information à {{public_body_name}} en utilisant cette page."
@@ -1291,6 +1369,9 @@ msgstr "Aucun résultat trouvé."
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1298,7 +1379,7 @@ msgid "Now check your email!"
msgstr "Maintenant, relevez votre email !"
msgid "Now preview your annotation"
-msgstr ""
+msgstr "Prévisualiser pour annotation"
msgid "Now preview your follow up"
msgstr "Maintenant prévisualiser votre suivi"
@@ -1307,7 +1388,7 @@ msgid "Now preview your message asking for an internal review"
msgstr "Maintenant prévisualiser votre message demandant un examen interne"
msgid "OR remove the existing photo"
-msgstr ""
+msgstr "Ou effacer la photo éxistante"
msgid "Offensive? Unsuitable?"
msgstr ""
@@ -1336,6 +1417,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Seules les demandes faites en utilisant {{site_name}} sont présentés."
@@ -1525,9 +1609,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1618,12 +1699,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1696,6 +1789,9 @@ msgstr ""
msgid "Publication scheme"
msgstr "Diffusions d'Infos Publiques"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1753,6 +1849,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1851,6 +1950,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1884,6 +1986,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Ce nom est déjà pris"
@@ -1977,6 +2082,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1998,6 +2106,9 @@ msgstr "Table d'états"
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2025,6 +2136,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2100,10 +2214,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2252,6 +2366,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2319,6 +2436,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2517,6 +2637,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2571,6 +2694,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2922,6 +3048,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "toutes les demandes"
@@ -2955,6 +3084,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "institutions"
@@ -2967,6 +3099,9 @@ msgstr ""
msgid "between two dates"
msgstr "entre deux dates"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3048,6 +3183,9 @@ msgstr "messages des institutions"
msgid "messages from users"
msgstr "messages des utilisateurs"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3057,6 +3195,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3078,6 +3219,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3099,6 +3243,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3207,6 +3356,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Les utilisateurs de {{site_name}} ont envoyé {{number_of_requests}} demandes, dont :"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/gl/app.po b/locale/gl/app.po
index 2317850f6..1932eb563 100644
--- a/locale/gl/app.po
+++ b/locale/gl/app.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:10+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: gl\n"
@@ -130,6 +130,9 @@ msgstr "'{{link_to_request}}', una solicitud"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', una persona"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -363,6 +366,9 @@ msgstr "Una respuesta será enviada <strong>por correo ordinario</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Una respuesta inusual, debe ser revisada por el equipo de {{site_name}}"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Un usuario de {{site_name}}"
@@ -458,6 +464,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Cualquiera:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Pide documentos o información <strong>específica</strong>, esta web no está pensada para resolver dudas generales."
@@ -499,6 +508,9 @@ msgstr "Por ley, bajo cualquier circunstancia, {{public_body_link}} ya debería
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Por ley, {{public_body_link}} debería haber respondido <strong>pronto</strong> y"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Cancele una alerta de {{site_name}}"
@@ -671,6 +683,9 @@ msgstr "Fecha:"
msgid "Dear {{public_body_name}},"
msgstr "Estimado {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Respuesta retrasada a tu solicitud de acceso a información - "
@@ -680,6 +695,9 @@ msgstr "Retrasado."
msgid "Delivery error"
msgstr "Error en la entrega"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalles de la solicitud '"
@@ -692,6 +710,9 @@ msgstr "Atención: Este mensaje y cualquier respuesta que hagas serán publicada
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "¿Quieres mandar tu mensaje a {{person_or_body}}? También puedes escribir a:"
@@ -710,14 +731,14 @@ msgstr "Descargar ficheros adjuntos"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Edita y añade <strong>más detalles</strong> al mensaje anterior,\n"
" explicando por qué no estás satisfecho con su respuesta."
-msgid "Edit language version:"
-msgstr "Editar versión en idioma:"
-
msgid "Edit text about you"
msgstr "Edite el texto sobre tí"
@@ -757,13 +778,16 @@ msgstr "Historial de eventos"
msgid "Event history details"
msgstr "Historial de eventos"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escriba en esta página \n"
" estará <strong>disponible públicamente</strong> en\n"
" está web para siempre (<a href=\"{{url}}\">¿por qué?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Todo lo que escribas en esta página, incluyendo <strong>tu nombre</strong>, \n"
" estará <strong>disponible públicamente</strong> en\n"
@@ -775,6 +799,9 @@ msgstr "FOI"
msgid "FOI email address for {{public_body}}"
msgstr "Dirección de correo para {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Solicitudes de información"
@@ -955,6 +982,9 @@ msgstr ""
" no nos ha dicho si tuvo o no éxito. ¿Te importaría invertir unos minutos\n"
" en leerla y ayudarnos a clasificarla para el beneficio de todos? Gracias."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -967,6 +997,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Inicio"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Sitio web del organismo"
@@ -1019,6 +1052,15 @@ msgstr "He recibido <strong>parte de la información</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "He recibido un <strong>mensaje de error</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Si la dirección es incorrecta, o conoce una más actualizada, por favor <a href=\"{{url}}\">contáctenos</a>."
@@ -1097,6 +1139,9 @@ msgstr ""
"Si tu navegador acepta cookies y estás viendo este mensaje,\n"
"puede que haya un problema en nuestro servidor."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1216,12 +1261,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Registrado el"
msgid "Joined {{site_name}} in"
msgstr "Registrado en {{site_name}} el"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Sea <strong>específico</strong>, tendrá más probabilidades de conseguir lo que quiere (<a href=\"{{url}}\">¿por qué?</a>)."
@@ -1243,9 +1294,27 @@ msgstr ""
msgid "Link to this"
msgstr "Enlace"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Lista de todos los organismos (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Abra una sesión para descargar el fichero ZIP de {{info_request_title}}"
@@ -1345,6 +1414,9 @@ msgstr "El nombre ya está siendo utilizado"
msgid "New Freedom of Information requests"
msgstr "Nuevas solicitudes de acceso a información"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Nueva dirección:"
@@ -1390,6 +1462,9 @@ msgstr "No se han encontrado resultados."
msgid "No similar requests found."
msgstr "No se han encontrado solicitudes similares."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Nadie ha realizado todavía una solicitud de información a {{public_body_name}} usando esta web."
@@ -1399,6 +1474,9 @@ msgstr "No se han encontrado resultados."
msgid "None made."
msgstr "Ninguno/a."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1444,6 +1522,9 @@ msgstr "Una persona encontrada"
msgid "One public authority found"
msgstr "Un organismo público encontrado"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Sólo se muestran las solicitudes realizadas con {{site_name}}."
@@ -1644,9 +1725,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Por favor escribe un mensaje y/o escoje un fichero conteniendo su respuesta."
-msgid "Please use the form below to tell us more."
-msgstr "Por favor use el formulario a continuación para decirnos más."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Por favor use la siguiente dirección de correo para todas las respuestas a esta solicitud:"
@@ -1737,12 +1815,24 @@ msgstr "Organismos públicos - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Organismos públicos {{start_count}} a {{end_count}} de {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1815,6 +1905,9 @@ msgstr "Versión"
msgid "Publication scheme"
msgstr "Esquema de publicación"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1874,6 +1967,9 @@ msgstr "Pida una revisión interna"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Pedir una revisión interna a {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "La solicitud ha sido eliminada"
@@ -1975,6 +2071,9 @@ msgstr[1] "Busque entre las {{count}} solicitudes de información hechas a {{pub
msgid "Search your contributions"
msgstr "Busca tus aportaciones"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Elija uno para ver más información sobre el organismo."
@@ -2008,6 +2107,9 @@ msgstr "Enviar solicitud"
msgid "Set your profile photo"
msgstr "Cambiar foto de perfil"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nombre de usuario ya en uso"
@@ -2107,6 +2209,9 @@ msgstr "Enviar"
msgid "Submit status"
msgstr "Enviar estado"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Subscribirse al blog"
@@ -2128,6 +2233,9 @@ msgstr "Tabla de estados"
msgid "Table of varieties"
msgstr "Tabla de tipos de objetos"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Etiquetas (separadas por un espacio):"
@@ -2155,6 +2263,9 @@ msgstr "¡Gracias por actualizar esta solicitud!"
msgid "Thank you for updating your profile photo"
msgstr "Gracias por actualizar tu foto de perfil"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Gracias por ayudar - tu trabajo hace más sencillo que otros encuentren solicitudes\n"
@@ -2412,6 +2523,9 @@ msgstr ""
"Esto es porque {{title}} es una solicitud antigua\n"
"marcada para ya no recibir más respuestas."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Esta es tu solicitud, por lo que recibirás correos automáticamente cuando lleguen nuevas respuestas."
@@ -2487,6 +2601,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Esta solicitud está todavía en proceso:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2700,6 +2817,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2754,6 +2874,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Ver dirección de correo"
@@ -3148,6 +3271,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "todas las solicitudes"
@@ -3181,6 +3307,9 @@ msgstr "cualquiera"
msgid "are long overdue."
msgstr "están muy retrasados."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "organismos"
@@ -3193,6 +3322,9 @@ msgstr "comenzando con ‘{{first_letter}}’"
msgid "between two dates"
msgstr "entre dos fechas"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "por"
@@ -3276,6 +3408,9 @@ msgstr "mensajes de organismos"
msgid "messages from users"
msgstr "mensajes de usuarios"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "no más tarde de"
@@ -3289,6 +3424,9 @@ msgstr ""
msgid "normally"
msgstr "normalmente"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "por favor abra una sesión como "
@@ -3312,6 +3450,9 @@ msgstr "envíe un mensaje de seguimiento"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "enviada a {{public_body_name}} por {{info_request_user}} el {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3333,6 +3474,11 @@ msgstr "que hizo a"
msgid "the main FOI contact address for {{public_body}}"
msgstr "la dirección de contacto de {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "el contacto en {{public_body}}"
@@ -3444,6 +3590,9 @@ msgstr "{{site_name}} envía nuevas solicitudes a <strong>{{request_email}}</str
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Los usuarios de {{site_name}} han hecho {{number_of_requests}} solicitudes, incluyendo:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/he_IL/app.po b/locale/he_IL/app.po
new file mode 100644
index 000000000..de37526ef
--- /dev/null
+++ b/locale/he_IL/app.po
@@ -0,0 +1,3389 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Nir Hirshman <nirshman99@gmail.com>, 2013.
+# Ram Ezrach <ram.ezrach@gmail.com>, 2013.
+# <r@roishlomi.com>, 2013.
+# Yair Uziel <yair.uziel@gmail.com>, 2013.
+# <yehudab@gmail.com>, 2013.
+# <zdevir@gmail.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: alaveteli\n"
+"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-18 19:01+0000\n"
+"Last-Translator: yauzi <yair.uziel@gmail.com>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he_IL\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
+msgstr "זה יופיע בפרופיל של {{site_name}} כדי להקל n\\ על אחרים לעזור במה שאתם עושים."
+
+msgid " (<strong>no ranty</strong> politics, read our <a href=\"%s\">moderation policy</a>)"
+msgstr " (<strong>בלי פוליטיקה מפלגתית!</strong> קראו את<a href=\"%s\">מדיניות הניהול</a>) שלנו"
+
+msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
+msgstr " (<strong>הורדת קבצים גדולים עלולה לארוך מספר דקות</strong>)"
+
+msgid " (you)"
+msgstr "(אתם)"
+
+msgid " - view and make Freedom of Information requests"
+msgstr "– צפו ומלאו בקשות לפי חוק חופש המידע"
+
+msgid " - wall"
+msgstr " - קיר"
+
+msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
+msgstr " <strong>הערה:<strong/> בקרוב יישלח אליכם דואר אלקטרוני. עקוב אחר ההוראות המצויות בו על מנת לשנות את הסיסמא."
+
+msgid " <strong>Privacy note:</strong> Your email address will be given to"
+msgstr " <strong>הערת פרטיות:</strong> כתובת הדוא\"ל שלכם תימסר ל"
+
+msgid " <strong>Summarise</strong> the content of any information returned. "
+msgstr " <strong>סיכום</strong> תוכן כל מידע מוחזר. "
+
+msgid " Advise on how to <strong>best clarify</strong> the request."
+msgstr "הסברים כיצד <strong>לנסח בצורה בהירה</strong> את הבקשה."
+
+msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
+msgstr "רעיונות ל<strong>מסמכים נוספים</strong> שיש בידי הרשויות, <strong>שניתן לבקשם</strong>."
+
+msgid " If you know the address to use, then please <a href=\"%s\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr "אם אתם יודעים את הכתובת, נא <a href=\"%s\">שלחו לנו</a>.\\n הכתובת נמצאת באתר האינטרנט שלהם, או שתבררו אותה בשיחת טלפון."
+
+msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
+msgstr "הוסיפו קישורים מתאימים כמו למשל לדף הקמפיין, לבלוג שלכם או לטוויטר. יהיה ניתן להקליק עליהם n\\. למשל"
+
+msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
+msgstr "קישור לבקשת המידע, אם <strong>קיימת</strong> באינטרנט."
+
+msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
+msgstr "הציעו דרכים טובות יותר <strong>לניסוח הבקשה</strong> לקבלת המידע."
+
+msgid " Say how you've <strong>used the information</strong>, with links if possible."
+msgstr " ספרו לנו כצד <strong>השתמשתם במידע</strong>. הוסיפו קישורים אם ניתן."
+
+msgid " Suggest <strong>where else</strong> the requester might find the information. "
+msgstr "הציעו <strong>היכן</strong> מגיש הבקשה יכול להשיג את המידע המבוקש."
+
+msgid " What are you investigating using Freedom of Information? "
+msgstr "מה אתם מבקשים לחקור באמצעות בקשת המידע?"
+
+msgid " You are already being emailed updates about the request."
+msgstr "כתובת הדוא\"ל רשומה לקבלת עדכונים על הבקשה."
+
+msgid " You will also be emailed updates about the request."
+msgstr "תקבלו גם עדכונים בדוא\"ל על הבקשה."
+
+msgid " made by "
+msgstr "נוצר על-ידי"
+
+msgid " or "
+msgstr "או "
+
+msgid " when you send this message."
+msgstr "כאשר אתם שולחים הודעה זו."
+
+msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
+msgstr "\"שלום! יש לנו <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">הודעה חשובה</a> למבקרים מחוץ ל- {{country_name}}\""
+
+msgid "%d Freedom of Information request to %s"
+msgid_plural "%d Freedom of Information requests to %s"
+msgstr[0] "%d בקשת תחת חוק חופש המידע עבור %s"
+msgstr[1] "%d בקשות תחת חוק חופש המידע עבור %s"
+
+msgid "%d request"
+msgid_plural "%d requests"
+msgstr[0] "%d בקשה"
+msgstr[1] "%d בקשות"
+
+msgid "%d request made."
+msgid_plural "%d requests made."
+msgstr[0] "%d הבקשה נמסרה."
+msgstr[1] "%d הבקשות נמסרו."
+
+msgid "'Crime statistics by ward level for Wales'"
+msgstr "'סטטיסטיקות פשע מפורטות בדרום תל-אביב'"
+
+msgid "'Pollution levels over time for the River Tyne'"
+msgstr "'רמות זיהום לאורך זמן בנחל הקישון'"
+
+msgid "'{{link_to_authority}}', a public authority"
+msgstr "'{{link_to_authority}}', רשות ציבורית"
+
+msgid "'{{link_to_request}}', a request"
+msgstr "'{{link_to_request}}', בקשה"
+
+msgid "'{{link_to_user}}', a person"
+msgstr "'{{link_to_user}}', משתמש"
+
+msgid "*unknown*"
+msgstr ""
+
+msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
+msgstr ",\\n\\n\\n\\nשלכם,\\n\\n{{user_name}}"
+
+msgid "- or -"
+msgstr "- או -"
+
+msgid "1. Select an authority"
+msgstr "1. בחרו רשות"
+
+msgid "2. Ask for Information"
+msgstr "2. בקשו מידע"
+
+msgid "3. Now check your request"
+msgstr "3. עתה בדקו את בקשתכם"
+
+msgid "<a class=\"link_button_green\" href=\"{{url}}\">{{text}}</a>"
+msgstr "<a class=\"link_button_green\" href=\"{{url}}\">{{text}}</a>"
+
+msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)"
+msgstr "<a href=\"%s\">הוסיפו הסבר</a> (כדי לסייע למגיש הבקשה או לאחרים)"
+
+msgid "Are we missing a public authority?"
+msgstr "האם חסר לנו גוף ציבורי?"
+
+msgid "Are you the owner of any commercial copyright on this page?"
+msgstr "האם אתם הבעלים של\\n זכויות יוצרים מסחריות על עמוד זה?"
+
+msgid "<a href=\"%s\">Browse all</a> or <a href=\"%s\">ask us to add one</a>."
+msgstr "<a href=\"%s\">צפו בכולם</a> או <a href=\"%s\">בקשו מאיתנו להוסיף אחת</a>."
+
+msgid "Can't find the one you want?"
+msgstr "לא מוצאים את מה שאתם מחפשים?"
+
+msgid "<a href=\"%s\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
+msgstr "<a href=\"%s\">היכנסו</a> כדי לשנות סיסמה, מנויים וכדומה. (רק {{user_name}})"
+
+msgid "details"
+msgstr "פרטים"
+
+msgid "<a href=\"%s\">what's that?</a>"
+msgstr "<a href=\"%s\">מה זה?</a>"
+
+msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
+msgstr "<p>זה הכל! תודה על עזרתכם.</p><p>ישנם <a href=\"{{helpus_url}}\">כמה דברים נוספים</a> שתוכלו לעשות כדי לעזור ל-{{site_name}}.</p>"
+
+msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
+msgstr ""
+
+msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>תודה רבה! אנו מקווים שהממתנה תהיה קצרה.</p> <p>לפי החוק, אתם אמורים לקבל תגובה תוך זמן קצר, לרוב לפני ה- <strong>{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>תודה לך! אנחנו מקווים שההמתנה לא תהיה ארוכה מדי.</p> <p>על-פי החוק, התשובה אמורה להגיע בהקדם, ובמקרים הרגילים לא יאוחר מתאריך <strong>{{date_response_required_by}}</strong>.</p>"
+
+msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
+msgstr "<p>תודה לכם! אנו מקווים שלא המתנתם זמן רב. </p><p>התגובה אמורה להגיע תוך {{late_number_of_days}} ימים, או שתקבלו הודעה על דחיית מועד קבלת התשובה (<a href=\"{{review_url}}\">פרטים</a>).</p>"
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr "<p>תודה לכם! בקשתכם היתה צריכה להענותת כבר לפני {{very_late_number_of_days}} ימי עבודה. רוב הבקשות נענות תוך {{late_number_of_days}} ימי עבודה. ייתכן ותרצו להגיש תלונה באמצעות הטופס למטה.</p>"
+
+msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
+msgstr "<p>תודה על שינוי הפרטים.</p><p><strong>ועכשיו...</strong> תוכלו להוסיף גם תמונת פרופיל.</p>"
+
+msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
+msgstr "<p>תודה על עדכון התמונה.</p><p><strong>ועכשיו...</strong> תוכלו להוסיף גם פרטים נוספים עליכם לדף הפרופיל.</p>"
+
+msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
+msgstr "<p>אנו ממליצים שתסירו את כתובת הדוא\"ל מהבקשה שלכם.\\n אם לא תסירו אותה, הכתובת תשלח לרשות, אבל לא תוצג באתר.</p>"
+
+msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
+msgstr "<p>אנו שמחים שקיבלתם את המידע שביקשתם. אם אתם כותבים על המידע או משתמשים בו, נא חזרו לדף זה והוסיפו למטה הערה על מה שעשיתם. </p><p>אם מצאתם את {{site_name}}שימושי, <a href=\"{{donation_url}}\">הרימו תרומה</a> לגוף שמפעיל אותו.</p>"
+
+msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
+msgstr "<p>אנו שמחים שקיבלתם חלק מהמידע שביקשתם. אם מצאתם את {{site_name}} שימושי, <a href=\"{{donation_url}}\">הרימו תרומה</a> לגוף שמפעיל אותו.</p><p>אם אתם רוצים לנסות לקבל את שאר המידע, הנה מה שעליכם לעשות כעת.</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"%s\">details</a>).</p>"
+msgstr "<p>אין צורך לכלול את כתובת הדוא\"ל שלכם בבקשה, כדי לקבל מענה. (<a href=\"%s\">details</a>).</p>"
+
+msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"%s\">details</a>).</p>"
+msgstr "<p>אין צורך לכלול את כתובת הדוא\"ל שלכם בבקשה, שכן בדף הבא תתבקשו לספק את כתובת הדוא\"ל (<a href=\"%s\">פרטים</a>).</p>"
+
+msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
+msgstr "<p>הבקשה כוללת <strong>מיקוד דואר</strong>. אם המיקוד אינו קשור ישירות לנושא הבקשה, אנא הסירו אותו, שכן הוא יופיע <strong>בצורה גלויה</strong> באינטרנט.</p>"
+
+msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
+msgstr "<p>בקשת {{law_used_full}} שלך <strong>יצאה לדרכה</strong>!</p><p><strong>אנחנו נשלח לך דוא\"ל</strong> כאשר תגיע תגובה, או אחרי {{late_number_of_days}} ימי עבודה אם הרשות עדיין לא תענה.</p><p>אם אתם כותבים על הבקשה הזאת (למשל בפורום או בבלוג) אנא הוסיפו קישור לדף הזה, והוסיפו הערה על כך למטה.</p>"
+
+msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} נמצא כעת בתחזוקה. ניתן לצפות בבקשות בלבד. לא ניתן להגיש בקשות חדשות, לעקוב, להוסיף הערות, או לעשות כל שינוי במידע שבאתר.</p> <p>{{read_only}}</p>"
+
+msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
+msgstr "<small>אם אתם משתמשים בשירות דואר מבוסס רשת, בדקו את תיבת דואר הזבל שלכם.\\nbulk/spam ייתכן וההודעה שלנו סומנה ככזו בטעות.</small>\\n</p>"
+
+msgid "<span id='follow_count'>%d</span> person is following this authority"
+msgid_plural "<span id='follow_count'>%d</span> people are following this authority"
+msgstr[0] "<span id='follow_count'>%d</span> אנשים עוקבים אחר רשות זו"
+msgstr[1] "<span id='follow_count'>%d</span> אנשים עוקבים אחר רשות זו"
+
+msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"%s\">No! (Click here for details)</a>"
+msgstr ""
+"<strong> האם אפשר לבקש מידע אודותי?</strong>\n"
+"<a href=\"%s\">לא! (הקליקו כאן לפרטים)</a>"
+
+msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
+msgstr "<strong><code>הערה_על-ידי:גיל_ללוש</code></strong>כדי לחפש הערות של גיל ללוש, הכניסו את השם כמו בכתובת אינטרנט."
+
+msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
+msgstr "<strong><code>filetype:pdf</code></strong> כדי למצוא את כל התגובות שמצורף אליהן קובץ PDF. לחלופין, נסו את אלה: <code>{{list_of_file_extensions}}</code>"
+
+msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
+msgstr "<strong><code>בקשה:</code></strong> להגביל לבקשה מסויימת, הקלידו את הכותרת ככתובת אינטרנט."
+
+msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
+msgstr "<strong><code>התבקש_על-ידי: XXX_YYY</code></strong>לחיפוש בקשות שהגיש ,XXX_YYY יש להכניס את השם ככתובת אינטרנט."
+
+msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
+msgstr "<strong><code>בקשה_על-ידי: משרד_הפנים</code></strong> לחיפוש בקשות שהוגשו על-ידי משרד הפנים, יש להכניס את השם ככתובת אינטרנט."
+
+msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
+msgstr "<strong><code>מצב:</code></strong> לחיפוש המבוסס על מצב (סטטוס) הבקשה או הסטוריית המצבים שלה, ראו <a href=\"{{statuses_url}}\">את טבלת המצבים</a> למטה."
+
+msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
+msgstr ""
+
+msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
+msgstr "<strong><code>סוגים:</code></strong> לבחירת סוג החיפוש, ראו <a href=\"{{varieties_url}}\">טבלת סוגים</a> למטה."
+
+msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
+msgstr "<strong>עצה</strong> כיצד לקבל תשובה שתספק את המבקש.</li>"
+
+msgid "<strong>All the information</strong> has been sent"
+msgstr "<strong>כל המידע</strong> נשלח"
+
+msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
+msgstr "<strong>כל דבר נוסף</strong>, כמו להבהיר, לעודד, להודות"
+
+msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
+msgstr ""
+
+msgid "<strong>Clarification</strong> has been requested"
+msgstr "הוגשה בקשה <strong>להבהרה</strong>"
+
+msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+msgstr "<strong>שום תגובה</strong> לא התקבלה <small>(אולי יש רק אישור)</small>"
+
+msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
+msgstr "<strong>הערה:</strong> בגלל שאנחנו בודקים, הבקשות ישלחו לכתובת {{email}} במקום לרשות האמיתית."
+
+msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
+msgstr "<strong>הערה:</strong> אתם שולחים בקשה לעצמכם, כנראה כדי לנסות לראות איך זה עובד."
+
+msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
+msgstr "<strong>הערה:</strong>\\n אנו נשלח הודעת אימות לכתובת הדוא\"ל החדשה שלך. עקבו אחר \\n ההוראות כדי לאשר את שינוי הכתובת."
+
+msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"%s\">click here</a>."
+msgstr "<strong>הערת פרטיות:</strong>אם תרצו לבקש מידע פרטי על\\n עצמכם, <a href=\"%s\">הקליקו כאן</a>."
+
+msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
+msgstr "<strong>הערת פרטיות:</strong> התמונה שלכם תוצג באופן פומבי באינטרנט,\\n בכל פעם שתעשו משהו באתר {{site_name}}."
+
+msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
+msgstr "<strong>אזהרת פרטיות:</strong> <strong>אזהרת פרטיות:</strong> ההודעה שלכם והתגובה שלי\\n יוצגו באופן פומבי באתר זה."
+
+msgid "<strong>Some of the information</strong> has been sent "
+msgstr "<strong>חלק מהמידע</strong> נשלח "
+
+msgid "<strong>Thank</strong> the public authority or "
+msgstr "<strong>הודו</strong> לרשות הציבורית או "
+
+msgid "<strong>did not have</strong> the information requested."
+msgstr "<strong>אין</strong> את המידע המבוקש."
+
+msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "<a href=\"{{request_url}}\">מעקב</a> ל- <em>{{request_title}}</em> נשלחה ל- {{public_body_name}} על-ידי {{info_request_user}} בתאריך {{date}}."
+
+msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
+msgstr "<a href=\"{{request_url}}\">תגובה לבקשה</a> ל- <em>{{request_title}}</em> נשלחה על-ידי {{public_body_name}} ל- {{info_request_user}} בתאריך {{date}}. סטטוס הבקשה הוא: {{request_status}}"
+
+msgid "A <strong>summary</strong> of the response if you have received it by post. "
+msgstr "<strong>סיכום</strong> התגובה, אם קיבלתם אותה בדואר."
+
+msgid "A Freedom of Information request"
+msgstr "בקשת חופש מידע"
+
+msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "בקשה חדשה, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, נשלחה אל {{public_body_name}} על-ידי {{info_request_user}} בתאריך {{date}}."
+
+msgid "A public authority"
+msgstr "רשות ציבורית"
+
+msgid "A response will be sent <strong>by post</strong>"
+msgstr "תשובה תשלח <strong>בדואר</strong>"
+
+msgid "A strange reponse, required attention by the {{site_name}} team"
+msgstr "תגובה מוזרה, נדרשת תשומת לב של צוות {{site_name}}"
+
+msgid "A vexatious request"
+msgstr ""
+
+msgid "A {{site_name}} user"
+msgstr "משתמש {{site_name}}"
+
+msgid "About you:"
+msgstr "אודותיך:"
+
+msgid "Act on what you've learnt"
+msgstr "פעלו לפי מה שלמדתם"
+
+msgid "Add an annotation"
+msgstr "הוסיפו הערה"
+
+msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
+msgstr "הוסיפו הערה לבקשה שלכם במרכאות, או \\n <strong>סיכום התגובה</strong>."
+
+msgid "Added on {{date}}"
+msgstr "התווסף בתאריך {{date}}"
+
+msgid "Admin level is not included in list"
+msgstr "הרשאת ניהול אינה כלולה ברשימה"
+
+msgid "Administration URL:"
+msgstr "כתובת ניהול:"
+
+msgid "Advanced search"
+msgstr "חיפוש מתקדם"
+
+msgid "Advanced search tips"
+msgstr "טיפים לחיפוש מתקדם"
+
+msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
+msgstr "מידע באשר <strong>לחוקיות הסירוב</strong>, וכיצד להתלונן אם הסירוב אינו חוקי."
+
+msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
+msgstr "אויר, מים, אדמה, צמחים ובעלי חיים (כולל כיצד הם משפיעים\\n על בני האדם)"
+
+msgid "All of the information requested has been received"
+msgstr "התקבל המידע הנדרש"
+
+msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
+msgstr "ניתן להוסיף <strong>סטטוס</strong> או <strong>סטטוס_אחרון</strong>, לפני הנקודותיים. לדוגמה, <strong>סטטוס:לא_התקיים</strong> יתאים לבקשות שסומנו כך <em>אי-פעם</em>; <strong>סטטוס_אחרון:לא_התקיים</strong> יתאים רק לבקשות שמסומנות <em>כרגע</em> כלא_התקיים."
+
+msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
+msgstr "כל האפשרויות למטה יכולות לעשות שימוש<strong>במגוון</strong> או <strong>מגוון_אחרון</strong> לפני הנקודותיים. לדוגמה, <strong>מגוון:נשלח</strong> יתאים לבקשות שנשלחו <em>כבר</em> בעבר; <strong>מגוון_אחרון:נשלח</strong> יתאים רק לבקשות שמסומנות <em>כרגע</em>ככאלו שנשלחו."
+
+msgid "Also called {{other_name}}."
+msgstr "גם נקרא {{other_name}}"
+
+msgid "Also send me alerts by email"
+msgstr "שלחו לנו גם התרעות בדוא\"ל"
+
+msgid "Alter your subscription"
+msgstr "לאחר ההרשמה שלכם"
+
+msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
+msgstr "למרות שכל התגובות מפורסמות באופן אוטומטי, אנו תלויים\\nyou, בבדיקתן על-ידי המגיש המקורי שלהן."
+
+msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
+msgstr "<a href=\"{{request_url}}\">הבהרה</a> לבקשה <em>{{request_title}}</em> נעשתה ע\"י {{event_comment_user}} בתאריך {{date}}"
+
+msgid "An <strong>error message</strong> has been received"
+msgstr "התקבלה <strong>הודעת שגיאה</strong>"
+
+msgid "An Environmental Information Regulations request"
+msgstr "בקשה למידע על רגולציה סביבתית"
+
+msgid "An anonymous user"
+msgstr "משתמש אנונימי"
+
+msgid "Annotation added to request"
+msgstr "ההערה התווספה לדרישה"
+
+msgid "Annotations"
+msgstr "הערות"
+
+msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
+msgstr "הסברים מיועדים לכך שכל אחד, כולל אתם, יוכל לעזור למגיש הבקשה עם הבקשה. לדוגמה:"
+
+msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
+msgstr "הערות יפורסמו כאן \\n <strong>ולא</strong> יישלחו ל- {{public_body_name}}."
+
+msgid "Anonymous user"
+msgstr "משתמש אנונימי"
+
+msgid "Anyone:"
+msgstr "כל אחד:"
+
+msgid "Applies to"
+msgstr ""
+
+msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
+msgstr "בקשו מסמכים או מידע <strong>מסויימים</strong>. אתר זה אינו מיועד לבקשות כלליות."
+
+msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"%s\">more details</a>)."
+msgstr ""
+
+msgid "Attachment (optional):"
+msgstr "קובץ מצורף (לא חובה):"
+
+msgid "Attachment:"
+msgstr "קובץ מצורף: "
+
+msgid "Awaiting classification."
+msgstr "ממתין לסיווג."
+
+msgid "Awaiting internal review."
+msgstr "ממתין לביקורת פנימית."
+
+msgid "Awaiting response."
+msgstr "ממתין לתשובה."
+
+msgid "Beginning with"
+msgstr "מתחיל עם"
+
+msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
+msgstr "הקליקו על <a href='{{url}}'>בקשות אחרות</a> לצפות בדוגמאות לניסוח הבקשה."
+
+msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
+msgstr "הקליקו על <a href='{{url}}'>בקשות אחרות</a> אל '{{public_body_name}}' לצפות בדוגמאות לניסוח הבקשה."
+
+msgid "Browse all authorities..."
+msgstr "עיון בכל הרשויות..."
+
+msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
+msgstr "לפי החוק, בכפוף לנסיבות, {{public_body_link}} היה צריך להשיב עד עתה"
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr "על-פי החוק, {{קישור_גוף_ציבורי}} היה/היתה צריך/צריכה להגיב כבר"
+
+msgid "Calculated home page"
+msgstr ""
+
+msgid "Cancel a {{site_name}} alert"
+msgstr "ביטול התראה מאתר {{site_name}}"
+
+msgid "Cancel some {{site_name}} alerts"
+msgstr "בטלו חלק מהתראות האתר {{site_name}}"
+
+msgid "Cancel, return to your profile page"
+msgstr "בטלו וחיזרו לעמוד הפרופיל שלכם"
+
+msgid "Censor rule"
+msgstr "הוראת צנזורה"
+
+msgid "CensorRule|Last edit comment"
+msgstr "CensorRule|עריכה אחרונה - הערה"
+
+msgid "CensorRule|Last edit editor"
+msgstr "CensorRule|עריכה אחרונה - עורך"
+
+msgid "CensorRule|Regexp"
+msgstr "CensorRule|Regexp"
+
+msgid "CensorRule|Replacement"
+msgstr "CensorRule|תחליף"
+
+msgid "CensorRule|Text"
+msgstr "CensorRule|טקסט"
+
+msgid "Change email on {{site_name}}"
+msgstr "שנו דואר אלקטרוני לאתר {{site_name}}"
+
+msgid "Change password on {{site_name}}"
+msgstr "שנו סיסמה לאתר {{site_name}}"
+
+msgid "Change profile photo"
+msgstr "שנה תמונת פרופיל"
+
+msgid "Change the text about you on your profile at {{site_name}}"
+msgstr "ערכו את הפרופיל שלכם ב- {{שם_אתר}}"
+
+msgid "Change your email"
+msgstr "שנו את הדואר האלקטרוני שלכם"
+
+msgid "Change your email address used on {{site_name}}"
+msgstr "שנה את כתובת האימייל ב {{site_name}}"
+
+msgid "Change your password"
+msgstr "שנה סיסמתך"
+
+msgid "Change your password on {{site_name}}"
+msgstr "שנה סיסמתך ב {{site_name}}"
+
+msgid "Change your password {{site_name}}"
+msgstr "שנה סיסמתך {{site_name}}"
+
+msgid "Charity registration"
+msgstr "רישום צדקה"
+
+msgid "Check for mistakes if you typed or copied the address."
+msgstr "אם הקלדתם או העתקתם את הכתובת תוכלו לבדוק טעויות"
+
+msgid "Check you haven't included any <strong>personal information</strong>."
+msgstr "בדקו שלא כללתם כל <strong>מידע אישי</strong>."
+
+msgid "Choose your profile photo"
+msgstr "בחרו את תמונת הפרופיל שלכם"
+
+msgid "Clarification"
+msgstr "הבהרה"
+
+msgid "Clarify your FOI request - "
+msgstr "הבהירו את בקשת המידע - "
+
+msgid "Classify an FOI response from "
+msgstr "קטלג בקשה לחוק חופש המידע מאת"
+
+msgid "Clear photo"
+msgstr "הסר צילום"
+
+msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
+msgstr ""
+
+msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
+msgstr "הקליקו על הלינק כדי לשלוח הודעה אל {{public_body}} כדי להזכיר לכם שהם צריכים להשיב לבקשה שלכם."
+
+msgid "Close"
+msgstr "סגור"
+
+msgid "Comment"
+msgstr "הערות"
+
+msgid "Comment|Body"
+msgstr "הערה|גוף"
+
+msgid "Comment|Comment type"
+msgstr "הערה|סוג הערה"
+
+msgid "Comment|Locale"
+msgstr "הערה|התרחשות"
+
+msgid "Comment|Visible"
+msgstr "הערה|גלוי"
+
+msgid "Confirm you want to follow all successful FOI requests"
+msgstr "אשרו שאתם רוצים לעקוב אחר כל בקשות המידע המוצלחות"
+
+msgid "Confirm you want to follow new requests"
+msgstr "אשרו שאתם רוצים לעקוב אחר בקשות חדשות"
+
+msgid "Confirm you want to follow new requests or responses matching your search"
+msgstr "אשרו שאתם רוצים לעקוב אחר בקשות או תגובות חדשות שמתאימות לחיפוש שלכם"
+
+msgid "Confirm you want to follow requests by '{{user_name}}'"
+msgstr "אשרו שאתם רוצים לעקוב אחר בקשות מאת '{{user_name}}'"
+
+msgid "Confirm you want to follow requests to '{{public_body_name}}'"
+msgstr "אשרו שאתם רוצים לעקוב אחר בקשות עבור '{{public_body_name}}'"
+
+msgid "Confirm you want to follow the request '{{request_title}}'"
+msgstr "אשרו שאתם רוצים לעקוב אחר הבקשות '{{request_title}}'"
+
+msgid "Confirm your FOI request to "
+msgstr "אשרו את הבקשה שלך לפי חוק חופש המידע"
+
+msgid "Confirm your account on {{site_name}}"
+msgstr "אשרו את החשבון שלכם באתר {{site_name}}"
+
+msgid "Confirm your annotation to {{info_request_title}}"
+msgstr "אשרו את ההערה שלכם אל {{info_request_title}}"
+
+msgid "Confirm your email address"
+msgstr "אשרו את כתובת הדואר האלקטרוני שלכם"
+
+msgid "Confirm your new email address on {{site_name}}"
+msgstr "אשרו את כתובת הדואר האלקטרוני החדשה שלכם באתר {{site_name}}"
+
+msgid "Considered by administrators as not an FOI request and hidden from site."
+msgstr "אינה נחשבת ע\"י המנהלים כבקשה לפי חוק חופש המידע ומוסתרת מהאתר."
+
+msgid "Considered by administrators as vexatious and hidden from site."
+msgstr "נחשב על ידי מנהלים כמרגיז ומוסתר מהאתר."
+
+msgid "Contact {{recipient}}"
+msgstr "צור קשר עם {{recipient}}"
+
+msgid "Contact {{site_name}}"
+msgstr "צור קשר עם {{site_name}}"
+
+msgid "Could not identify the request from the email address"
+msgstr "לא ניתן היה לזהות את הבקשה מכתובת הדואר האלקטרוני"
+
+msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
+msgstr "קובץ התמונה שהעלתם לא נתמך. ניתן להעלות קבצים בפורמט PNG, JPEG, GIF ועוד."
+
+msgid "Crop your profile photo"
+msgstr "חתכו את תמונת הפרופיל שלכם"
+
+msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
+msgstr "אתרי תרבות ומבנים (אלה עלולים להיות מושפעים\\n מגורמים סביבתיים המופיעים למעלה)"
+
+msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
+msgstr "ממתין <strong>לתגובה</strong>מ- {{public_body_link}}, הם חייבים להגיב מייד ו- promptly and"
+
+msgid "Date:"
+msgstr "תאריך:"
+
+msgid "Dear {{public_body_name}},"
+msgstr "{{public_body_name}} נכבד, "
+
+msgid "Default locale"
+msgstr ""
+
+msgid "Delayed response to your FOI request - "
+msgstr "עיכוב בתגובה לבקשה על-פי חוק חופש המידע - "
+
+msgid "Delayed."
+msgstr "מעוכב."
+
+msgid "Delivery error"
+msgstr "שגיאה בשליחה"
+
+msgid "Destroy {{name}}"
+msgstr ""
+
+msgid "Details of request '"
+msgstr "פרטי הבקשה '"
+
+msgid "Did you mean: {{correction}}"
+msgstr "האם התכוונתם: {{correction}}"
+
+msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
+msgstr "כתב ויתור: הודעה זו וכל הודעה הקשורה אליה שתשלחו, תפורסם באינטרנט. מדיניות הפרטיות והגנת הזכויות שלנו:"
+
+msgid "Disclosure log"
+msgstr "יומן גילוי נאות"
+
+msgid "Disclosure log URL"
+msgstr ""
+
+msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
+msgstr "לא מעוניינים להפנות את ההודעה ל- {{אדם_או_גוף}}? תוכלו לכתוב ל:"
+
+msgid "Done"
+msgstr "הסתיים"
+
+msgid "Done &gt;&gt;"
+msgstr "בוצע &gt;&gt;"
+
+msgid "Download a zip file of all correspondence"
+msgstr "הורידו "
+
+msgid "Download original attachment"
+msgstr "הורידו את המסמך המצורף המקורי"
+
+msgid "EIR"
+msgstr "דוח מידע תקנות סביבתיות"
+
+msgid "Edit"
+msgstr ""
+
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr "ערכו והוסיפו <strong>פרטים נוספים</strong> להודעה למעלה, /n המסבירים מדוע אתם לא מרוצים מהתגובה שלהם"
+
+msgid "Edit text about you"
+msgstr "ערכו את הטקסט אודותיכם"
+
+msgid "Edit this request"
+msgstr "ערכו את הבקשה"
+
+msgid "Either the email or password was not recognised, please try again."
+msgstr "כתובת המייל או הסיסמא לא זוהו, אנא נסו שנית."
+
+msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
+msgstr "כתובת הדוא\"ל או הסיסמה שגויים. נסו שוב. ליצירת חשבון חדש, מלאו את הפרטים מימין."
+
+msgid "Email doesn't look like a valid address"
+msgstr "כתובת הדואר האלקטרוני היא לא כתובת חוקית"
+
+msgid "Email me future updates to this request"
+msgstr "שלחו לי עדכונים בדואר אלקטרוני לגבי הבקשה"
+
+msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
+msgstr "הכניסו את מילות החיפוש עם רווח ביניהן. לדוגמה, e.g. <strong>נתיב עליה</strong>"
+
+msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"%s\">contact us</a> if you need more)."
+msgstr "הכניסו את תגובתכם כאן. אתם יכולים לצרף קובץ אחד (פנו באימייל או r\\n <a hצרו קשרref=\"%s\"></a> אם יש צורך ביותר מאחד)."
+
+msgid "Environmental Information Regulations"
+msgstr "מידע תקנות סביבתיות"
+
+msgid "Environmental Information Regulations requests made"
+msgstr "בקשות לגבי מידע תקנות סביבתיות"
+
+msgid "Environmental Information Regulations requests made using this site"
+msgstr "בקשה למידע על תקנות סביבה, שהוגשה באמצעות האתר"
+
+msgid "Event history"
+msgstr "היסטוריית אירועים"
+
+msgid "Event history details"
+msgstr "פרטי אירוע היסטורי:"
+
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"%s\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"%s\">why?</a>)."
+msgstr ""
+
+msgid "FOI"
+msgstr "חוק חופש המידע"
+
+msgid "FOI email address for {{public_body}}"
+msgstr "כתובת לפניות לפי חוק חופש המידע עבור {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr ""
+
+msgid "FOI requests"
+msgstr "בקשות לפי חוק חופש המידע"
+
+msgid "FOI requests by '{{user_name}}'"
+msgstr "בקשה לקבלת מידע על-פי חוק חופש המידע, שהוגשה על-ידי '{{user_name}}'"
+
+msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "בקשות לקבלת מידע על-פי חוק חופש המידע {{בקשה_ראשונה}} עד {{בקשה_אחרונה}} מתוך {{כל_הבקשות}}"
+
+msgid "FOI response requires admin ({{reason}}) - {{title}}"
+msgstr "תגובה לפי חוק חופש המידע דורשת ({{reason}}) - {{title}} מנהל"
+
+msgid "Failed to convert image to a PNG"
+msgstr "המרת הקובץ לפורמט PNG נכשלה"
+
+msgid "Failed to convert image to the correct size: at %{cols}x%{rows}, need %{width}x%{height}"
+msgstr "המרת התמונה לגודל המתאים נכשלה: ל- %{עמודות}x%{שורות}, נדרש %{רוחב}x%{גובה}"
+
+msgid "Filter"
+msgstr "סינון"
+
+msgid "First, type in the <strong>name of the UK public authority</strong> you'd \\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"%s#%s\">why?</a>)."
+msgstr "ראשית, הקלידו את <strong>שם הגוף</strong> שממנו ברצונכם לקבל מידע. <strong>לפי חוק, עליהם להגיב</strong>\\n (<a href=\"%s#%s\">למה?</a>)."
+
+msgid "Foi attachment"
+msgstr "מסמף מצורף עבור חוק חופש המידע"
+
+msgid "FoiAttachment|Charset"
+msgstr "בקשהמצורפת|סוג קידוד"
+
+msgid "FoiAttachment|Content type"
+msgstr "בקשהמצורפת|סוג תוכן"
+
+msgid "FoiAttachment|Display size"
+msgstr "בקשהמצורפת|גודל תצוגה"
+
+msgid "FoiAttachment|Filename"
+msgstr "בקשהמצורפת|שםקובץ"
+
+msgid "FoiAttachment|Hexdigest"
+msgstr "בקשהמצורפת|לקטHEX"
+
+msgid "FoiAttachment|Url part number"
+msgstr "בקשהמצורפת|מק\"ט URL"
+
+msgid "FoiAttachment|Within rfc822 subject"
+msgstr "בקשהמצורפת|במסגרת סעיף XXX"
+
+msgid "Follow"
+msgstr "עקוב"
+
+msgid "Follow all new requests"
+msgstr "עקבו אחר הבקשות החדשות"
+
+msgid "Follow new successful responses"
+msgstr "עקבו אחר תגובות מאושרות חדשות"
+
+msgid "Follow requests to {{public_body_name}}"
+msgstr "עקבו אחר בקשות עבור {{public_body_name}}"
+
+msgid "Follow these requests"
+msgstr "עקבו אחר הבקשות הללו"
+
+msgid "Follow things matching this search"
+msgstr "עקבו אחר התאמות לחיפוש זה"
+
+msgid "Follow this authority"
+msgstr "עקבו אחר הרשות הזו"
+
+msgid "Follow this link to see the request:"
+msgstr "עקבו אחר הקישור הזה בשביל לראות את הבקשה:"
+
+msgid "Follow this person"
+msgstr "עקוב אחר האדם הזה"
+
+msgid "Follow this request"
+msgstr "עקבו אחר הבקשה"
+
+msgid "Follow up"
+msgstr "הודעת עדכון"
+
+msgid "Follow up message sent by requester"
+msgstr "הודעת עדכון נשלחה על ידי המבקש"
+
+msgid "Follow up messages to existing requests are sent to "
+msgstr "הודעות מעקב לבקשות קיימות נשלחות ל- "
+
+msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
+msgstr "הודעות תגובה והודעות חדשות לבקשה זו נחסמו מחשש לדואר זבל. נא <a href=\"{{url}}\">צרו קשר</a> אם את/ה {{משתמש_קישור}} וצריך לשלוח הודעת המשך."
+
+msgid "Follow us on twitter"
+msgstr "עקוב אחרינו בטוויטר"
+
+msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
+msgstr "מצטערים, איננו יכולים לשלוח הודעות מעקב עבור בקשה זו, מכיוון שהיא בוצעה מחוץ לאתר, ופורסמה כאן ע\"י {{public_body_name}} בשמו של המבקש."
+
+msgid "For an unknown reason, it is not possible to make a request to this authority."
+msgstr "לא ניתן להגיש בקשה לרשות זו, מסיבה לא ידועה."
+
+msgid "Forgotten your password?"
+msgstr "שכחתם את הסיסמה?"
+
+msgid "Found %d public authority %s"
+msgid_plural "Found %d public authorities %s"
+msgstr[0] "נמצא גוף ציבורי %d שהוא %s"
+msgstr[1] "נמצאו %d גופים ציבוריים שהם %s"
+
+msgid "Freedom of Information"
+msgstr "חופש המידע"
+
+msgid "Freedom of Information Act"
+msgstr "חוק חופש המידע "
+
+msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
+msgstr "חוק החופש המידע אינו חל על הרשות הזאת, אז אתה לא יכול לבצע בקשה למידע ממנה."
+
+msgid "Freedom of Information law no longer applies to"
+msgstr "חוק חופש המידע לא תקף ל- "
+
+msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
+msgstr "חוק חופש המידע לא תקף לרשות זו. הודעות המשך לבקשה קיימת נשלחות ל- "
+
+msgid "Freedom of Information requests made"
+msgstr "בקשות לפי חוק חופש המידע שהתבצעו"
+
+msgid "Freedom of Information requests made by this person"
+msgstr "בקשות על-פי חוק חופש המידע שנוצרו על-ידי אדם זה."
+
+msgid "Freedom of Information requests made by you"
+msgstr "בקשות לחופש המידע שנעשו על ידכם"
+
+msgid "Freedom of Information requests made using this site"
+msgstr "בקשות על-פי חוק חופש המידע שטופלו באתר זה"
+
+msgid "Freedom of information requests to"
+msgstr "בקשות על-פי חוק חופש המידע אל"
+
+msgid "From"
+msgstr "מאת"
+
+msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"%s\">send it to us</a>."
+msgstr "מעמוד הבקשה, נסו להגיב להודעה מסוימת, ולא לשלוח תגובה כללית. /n אם ברצונכם להגיב כללית, ולקבל כתובת ישירה שתגיע למקום הנכון, /n אנא <a href=\"%s\">שלחו אותה אלינו</a>."
+
+msgid "From:"
+msgstr "מאת:"
+
+msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
+msgstr "ספקו פרטים על התלונה שלכם כאן"
+
+msgid "Handled by post."
+msgstr "טופל בפוסט."
+
+msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
+msgstr "שלום! אתם יכולים להגיש בקשות על-פי חוק חופש המידע ב{{country_name}} באתר {{link_to_website}}"
+
+msgid "Hello, {{username}}!"
+msgstr "שלום, {{username}}!"
+
+msgid "Help"
+msgstr "עזרה"
+
+msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
+msgstr ""
+
+msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
+msgstr "הנה ההודעה שכתבתם, במקרה שאתם רוצים להעתיק את הטקסט ולשמור אותו."
+
+msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
+msgstr "היי! אנו זקוקים לעזרתך. האדם אשר הגיש את הבקשה הנ\"ל \\n לא אמר לנו האם היא הסתיימה בהצלחה. האם תסכים לקרוא אותה \\n ולעזור לנו לשמור על האתר מסודר עבור כולם? \\n תודה."
+
+msgid "Hide request"
+msgstr ""
+
+msgid "Holiday"
+msgstr "חגים"
+
+msgid "Holiday|Day"
+msgstr "Holiday|Day"
+
+msgid "Holiday|Description"
+msgstr "Holiday|Description"
+
+msgid "Home"
+msgstr "בית"
+
+msgid "Home page"
+msgstr ""
+
+msgid "Home page of authority"
+msgstr "עמוד הבית של הרשות"
+
+msgid "However, you have the right to request environmental\\n information under a different law"
+msgstr "לעומת זאת, יש לכם את הזכות לבקש מידע סביבתי /n תחת חוק אחר"
+
+msgid "Human health and safety"
+msgstr "בריאות ובטחון הציבור"
+
+msgid "I am asking for <strong>new information</strong>"
+msgstr "אני מבקש <strong>מידע חדש</strong>"
+
+msgid "I am requesting an <strong>internal review</strong>"
+msgstr "אנו מבקשים <strong>בדיקה פנימית</strong>"
+
+msgid "I don't like these ones &mdash; give me some more!"
+msgstr "אלה לא מתאימים לנו &mdash; תנו לנו אחרים!"
+
+msgid "I don't want to do any more tidying now!"
+msgstr "אני לא רוצה לבצע עוד ניקיונות עכשיו!"
+
+msgid "I like this request"
+msgstr "הצבע לדרישה"
+
+msgid "I would like to <strong>withdraw this request</strong>"
+msgstr " אני מעוניין <strong>למשוך את הבקשה</strong>"
+
+msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
+msgstr "אנו עדיין <strong>ממתינים</strong> למידע שלנו /n <small>(אולי קיבלת התייחסות)</small>"
+
+msgid "I'm still <strong>waiting</strong> for the internal review"
+msgstr "אנו עדיין <strong>ממתינים</strong> לבדיקה הפנימית"
+
+msgid "I'm waiting for an <strong>internal review</strong> response"
+msgstr "אנחנו מחכים לתגובה על<strong>הבדיקה הפנימית</strong>"
+
+msgid "I've been asked to <strong>clarify</strong> my request"
+msgstr "נדרשנו <strong>להבהיר</strong> את בקשתנו"
+
+msgid "I've received <strong>all the information"
+msgstr "קיבלתי <strong>את כל המידע"
+
+msgid "I've received <strong>some of the information</strong>"
+msgstr "קיבלנו <strong>חלק מהמידע</strong>"
+
+msgid "I've received an <strong>error message</strong>"
+msgstr "קיבלנו <strong>הודעת שגיאה</strong>"
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the address is wrong, or you know a better address, please <a href=\"%s\">contact us</a>."
+msgstr "אם הכתובת שגוייה, או יש לכם כתובת אחרת, נא <a href=\"%s\">צרו איתנו קשר</a>."
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
+msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
+msgstr "אם המידע אינו נכון, או אם ברצונכם לשלוח תגובה מאוחרת למבקש /n או אימייל בנושא אחר אל {{user}}, אנא צרו קשר עם {{contact_email}} עבור עזרה."
+
+msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"%s\">details</a>)."
+msgstr "אם אתם לא מרוצים מהתגובה שקיבלתם מהגוף הציבורי, /n יש לכם את הזכות להתלונן (<a href=\"%s\">לפרטים</a>)."
+
+msgid "If you are still having trouble, please <a href=\"%s\">contact us</a>."
+msgstr "אם עדיין נתקלתם בבעיה אנא <a href=\"%s\">צרו איתנו קשר</a>."
+
+msgid "If you are the requester, then you may <a href=\"%s\">sign in</a> to view the request."
+msgstr "אם אתם מגישי הבקשה, תרצו אולי <a href=\"%s\">להתחבר</a> כדי לצפות בבקשה."
+
+msgid "If you are thinking of using a pseudonym,\\n please <a href=\"%s\">read this first</a>."
+msgstr "אם אתם שוקלים שימוש בזהות בדויה, /n אנא <a href=\"%s\">קיראו זאת קודם</a>."
+
+msgid "If you are {{user_link}}, please"
+msgstr "אם אתה המשתמש {{user_link}}, בבקשה"
+
+msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
+msgstr "אם הנכם סבורים שיש להסתיר בקשה זו או להסיר אותה , תוכלו לדווח למנהלי האתר"
+
+msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
+msgstr "אם אתם לא מצליחים להקליק על זה בגוף ההודעה, עליכם <strong>לבחור ולהעתיק \\nאת הלינק</strong> מתוך ההודעה. לאחר מכן <strong>הדביקו אותו בשורת הכתובת של הדפדפן</strong> /n כמו כל כתובת אחרת."
+
+msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
+msgstr "אם אתם יכולים, סירקו או צלמו את הבקשה, <strong>ושילחו לנו עותק שנוכל להעלות</strong>."
+
+msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
+msgstr "אם אתם מוצאים שירות זה כמתאים להגשת בקשות על-פי חוק חופש המידע, בקשו ממנהל הרשת שלכם לשים קישור בדף הגשת הבקשות באתר שלכם."
+
+msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
+msgstr "אם קילתם את ההודעה במייל <strong>לפני יותר משישה חודשים</strong>, אז הקישור הזה לא יעבוד יותר. /n נסו לעשות את התהליך מההתחלה."
+
+msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
+msgstr "אם טרם עשיתם זאת, נא רשמו למטה פניה לרשות המתאימה ובה הסבר על ביטול הבקשה שלכם, אחרת לא ידעו שהבקשה בוטלה."
+
+msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
+msgstr "תגובה על ההודעה הזו תגיע ישירות אל {{user_name}}, אשר ידע בעקבות זאת את כתובתכם. השיבו רק אם זה בסדר."
+
+msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
+msgstr "אם אתם משתמשים באימייל מבוסס רשת, או שיש לכם מסנני ספאם, אנא בדקו את תיקיית הספאם. ההודעות שלנו לפעמים מגיעות לשם."
+
+msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
+msgstr "אם תרצו שנסיר את המגבלה הזו, אתם יכולים <a href=\"/help/contact\">ליצור איתנו קשר</a> ולספק סיבות. \\n"
+
+msgid "If you're new to {{site_name}}"
+msgstr "אם אתם חדשים באתר {{site_name}}"
+
+msgid "If you've used {{site_name}} before"
+msgstr "אם השתמשתם באתר {{site_name}} before לפני"
+
+msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr "אם הדפדפן שלכם מקבל עוגיות ואתם רואים הודעה זו, \\n אז כנראה שיש תקלה בשרת שלנו."
+
+msgid "Incoming email address"
+msgstr ""
+
+msgid "Incoming message"
+msgstr "הודעה נכנסת"
+
+msgid "IncomingMessage|Cached attachment text clipped"
+msgstr "IncomingMessage|Cached הטקסט המצורף נחתך"
+
+msgid "IncomingMessage|Cached main body text folded"
+msgstr "IncomingMessage|Cached הטקסט המרכזי צומצם"
+
+msgid "IncomingMessage|Cached main body text unfolded"
+msgstr "IncomingMessage|Cached הטקסט המרכזי הורחב"
+
+msgid "IncomingMessage|Last parsed"
+msgstr "IncomingMessage|Last עובד"
+
+msgid "IncomingMessage|Mail from"
+msgstr "IncomingMessage|Mail מאת"
+
+msgid "IncomingMessage|Mail from domain"
+msgstr "IncomingMessage|Mail מהדומיין"
+
+msgid "IncomingMessage|Sent at"
+msgstr "IncomingMessage|Sent בשעה"
+
+msgid "IncomingMessage|Subject"
+msgstr "IncomingMessage|Subject"
+
+msgid "IncomingMessage|Valid to reply to"
+msgstr "IncomingMessage|Valid להשיב ל- "
+
+msgid "Individual requests"
+msgstr "דרישות נפרדות"
+
+msgid "Info request"
+msgstr "בקשת מידע"
+
+msgid "Info request event"
+msgstr "אירוע בקשת מידע"
+
+msgid "InfoRequestEvent|Calculated state"
+msgstr "InfoRequestEvent|Calculated מצב"
+
+msgid "InfoRequestEvent|Described state"
+msgstr "InfoRequestEvent|Described מצב"
+
+msgid "InfoRequestEvent|Event type"
+msgstr "InfoRequestEvent|Event סוג"
+
+msgid "InfoRequestEvent|Last described at"
+msgstr "InfoRequestEvent|Last תואר ב- "
+
+msgid "InfoRequestEvent|Params yaml"
+msgstr "InfoRequestEvent|Params yaml"
+
+msgid "InfoRequestEvent|Prominence"
+msgstr "InfoRequestEvent|Prominence"
+
+msgid "InfoRequest|Allow new responses from"
+msgstr "InfoRequest|Allow תגובות חדשות מ- "
+
+msgid "InfoRequest|Attention requested"
+msgstr "בקשת מידע | אנא שימו לב"
+
+msgid "InfoRequest|Awaiting description"
+msgstr "InfoRequest|Awaiting תיאור"
+
+msgid "InfoRequest|Comments allowed"
+msgstr "InfoRequest|Comments allowed"
+
+msgid "InfoRequest|Described state"
+msgstr "InfoRequest|Described מצב"
+
+msgid "InfoRequest|External url"
+msgstr "InfoRequest|External url"
+
+msgid "InfoRequest|External user name"
+msgstr "InfoRequest|External user name"
+
+msgid "InfoRequest|Handle rejected responses"
+msgstr "InfoRequest|Handle תגובות שנדחו"
+
+msgid "InfoRequest|Idhash"
+msgstr "InfoRequest|Idhash"
+
+msgid "InfoRequest|Law used"
+msgstr "InfoRequest|Law היו בשימוש"
+
+msgid "InfoRequest|Prominence"
+msgstr "InfoRequest|Prominence"
+
+msgid "InfoRequest|Title"
+msgstr "InfoRequest|Title"
+
+msgid "InfoRequest|Url title"
+msgstr "InfoRequest|Url כותרת"
+
+msgid "Information not held."
+msgstr "המידע לא נמסר."
+
+msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
+msgstr ""
+
+msgid "Internal review request"
+msgstr "בקשת בדיקה פנימית"
+
+msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
+msgstr "האם הכתובת {{email_address}} היא הנכונה לסוג של {{בקשות type_of_request}} requests to {{public_body_name}}? אם לא, נא צרו איתנו קשר באמצעות טופס זה:"
+
+msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
+msgstr ""
+
+msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr "פריטים המתאימים לתנאים הבאים מוצגים כעת על הקיר שלך."
+
+msgid "Items sent in last month"
+msgstr ""
+
+msgid "Joined in"
+msgstr "הצטרף/פה"
+
+msgid "Joined {{site_name}} in"
+msgstr "הצטרף/פה ל- {{site_name}}ב- "
+
+msgid "Just one more thing"
+msgstr ""
+
+msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"%s\">why?</a>)."
+msgstr "שמור על זה <strong>ממוקד</strong>, כנראה שכך תקבלו את מה שאתם רוצים. (<a href=\"%s\">מדוע?</a>)."
+
+msgid "Keywords"
+msgstr "מילות מפתח"
+
+msgid "Last authority viewed: "
+msgstr "הרשות האחרונה שנצפתה:"
+
+msgid "Last request viewed: "
+msgstr "בקשה אחרונה שנצפתה:"
+
+msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
+msgstr ""
+
+msgid "Link to this"
+msgstr "קישור לכאן"
+
+msgid "List all"
+msgstr ""
+
+msgid "List of all authorities (CSV)"
+msgstr "רשימת כל הרשויות (CSV)"
+
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr "יש להיכנס למערכת כדי להוריד קובץ זיפ של {{info_request_title}}"
+
+msgid "Log into the admin interface"
+msgstr "התחבר לממשק הניהול"
+
+msgid "Long overdue."
+msgstr "עברה ממזמן."
+
+msgid "Made between"
+msgstr "נעשתה בין"
+
+msgid "Mail server log"
+msgstr "יומן אירועים שרת דואר"
+
+msgid "Mail server log done"
+msgstr "התבצע רישום אירועים של שרת הדואר"
+
+msgid "MailServerLogDone|Filename"
+msgstr "MailServerLogDone|Filename"
+
+msgid "MailServerLogDone|Last stat"
+msgstr "MailServerLogDone|Last stat"
+
+msgid "MailServerLog|Line"
+msgstr "MailServerLog|Line"
+
+msgid "MailServerLog|Order"
+msgstr "MailServerLog|Order"
+
+msgid "Make a new <strong>Environmental Information</strong> request"
+msgstr "יצירת בקשת <strong>מידע סביבתי</strong> חדשה"
+
+msgid "Make a new <strong>Freedom of Information</strong> request to {{public_body}}"
+msgstr "יצירת בקשת <strong>חופש מידע</strong> חדשה ל{{public_body}}"
+
+msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
+msgstr ""
+
+msgid "Make a request"
+msgstr "בקשה חדשה"
+
+msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
+msgstr "יצירת בקשת {{law_used_short}} ל '{{public_body_name}}'"
+
+msgid "Make and browse Freedom of Information (FOI) requests"
+msgstr "יצירה וצפייה בבקשות חופש מידע"
+
+msgid "Make your own request"
+msgstr "יצירת בקשה משלכם"
+
+msgid "Many requests"
+msgstr "דרישות שונות"
+
+msgid "Message"
+msgstr "הודעה"
+
+msgid "Message sent using {{site_name}} contact form, "
+msgstr "הבקשה נשלחה באמצעות טופס יצירת קשר של {{site_name}},"
+
+msgid "Missing contact details for '"
+msgstr "חסרים פרטי יצירת קשר של '"
+
+msgid "More about this authority"
+msgstr "עוד פרטים על רשות זו"
+
+msgid "More requests..."
+msgstr "בקשות נוספות..."
+
+msgid "More similar requests"
+msgstr "בקשות דומות נוספות"
+
+msgid "More successful requests..."
+msgstr "בקשות מוצלחות נוספות..."
+
+msgid "My profile"
+msgstr "הפרופיל שלי"
+
+msgid "My request has been <strong>refused</strong>"
+msgstr "הבקשה שלי <strong>נדחתה</strong>"
+
+msgid "My requests"
+msgstr "הבקשות שלי"
+
+msgid "My wall"
+msgstr "הקיר שלי"
+
+msgid "Name can't be blank"
+msgstr "חובה למלא שם"
+
+msgid "Name is already taken"
+msgstr "השם כבר תפוס"
+
+msgid "New Freedom of Information requests"
+msgstr "בקשות חדשות לחופש המידע"
+
+msgid "New censor rule"
+msgstr ""
+
+msgid "New e-mail:"
+msgstr "דואר אלקטרוני חדש:"
+
+msgid "New email doesn't look like a valid address"
+msgstr "הדואר האלקטרוני החדש לא נראה תקין"
+
+msgid "New password:"
+msgstr "סיסמה חדשה:"
+
+msgid "New password: (again)"
+msgstr "סיסמה חדשה (שוב):"
+
+msgid "New response to '{{title}}'"
+msgstr "תשובה חדשה ל'{{title}}'"
+
+msgid "New response to your FOI request - "
+msgstr "תגובה חדשה לבקשת חופש המידע שלך -"
+
+msgid "New response to your request"
+msgstr "תגובה חדשה לבקשה שלך"
+
+msgid "New response to {{law_used_short}} request"
+msgstr "תגובה חדשה לבקשת {{law_used_short}}"
+
+msgid "New updates for the request '{{request_title}}'"
+msgstr "עדכונים חדשים לבקשה '{{request_title}}'"
+
+msgid "Newest results first"
+msgstr "תוצאות חדשות יותר ראשונות"
+
+msgid "Next"
+msgstr "הבא"
+
+msgid "Next, crop your photo &gt;&gt;"
+msgstr "הבא, חיתכו את התמונה &gt;&gt;"
+
+msgid "No requests of this sort yet."
+msgstr "אין בקשות מהסוג הזה עדיין."
+
+msgid "No results found."
+msgstr "אין תוצאות."
+
+msgid "No similar requests found."
+msgstr "לא נמצאות בקשות דומות."
+
+msgid "No tracked things found."
+msgstr ""
+
+msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
+msgstr "אף אחד לא שלח בקשת מידע חופשי ל{{public_body_name}} דרך האתר הזה."
+
+msgid "None found."
+msgstr "לא נמצאו."
+
+msgid "None made."
+msgstr "לא בוצע שינוי."
+
+msgid "Not a valid FOI request"
+msgstr ""
+
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr "שימו לב כי לא נודיע למבקש על הערתכם, מכיוון שהבקשה פורסמה ע\"י {{public_body_name}} ובשמם."
+
+msgid "Now check your email!"
+msgstr "עכשיו בידקו את האימייל שלכם!"
+
+msgid "Now preview your annotation"
+msgstr "ראו את הערותייכם כעת"
+
+msgid "Now preview your follow up"
+msgstr "ראו את פניית ההמשך שלכם כעת"
+
+msgid "Now preview your message asking for an internal review"
+msgstr "ראו את בקשתכם לקבלת בדיקה פנימית"
+
+msgid "OR remove the existing photo"
+msgstr "-או- הסירו את התמונה הקיימת"
+
+msgid "Offensive? Unsuitable?"
+msgstr "תוקפני? לא מתאים?"
+
+msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
+msgstr "מצטערים לשמוע שבקשתכם לא נענתה. הנה מה שתוכלו לעשות."
+
+msgid "Old e-mail:"
+msgstr "אימייל ישן:"
+
+msgid "Old email address isn't the same as the address of the account you are logged in with"
+msgstr "כתובת הדוא\"ל הקודמת לא תואמת לכתובת החשבון שלכם"
+
+msgid "Old email doesn't look like a valid address"
+msgstr "כתובת הדוא\"ל הקודמת לא תקינה"
+
+msgid "On this page"
+msgstr "בעמוד הזה"
+
+msgid "One FOI request found"
+msgstr "בקשה אחת לחופש המידע נמצאה"
+
+msgid "One person found"
+msgstr "אדם אחד נמצא"
+
+msgid "One public authority found"
+msgstr "נצמאה רשות ציבורית אחת"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
+msgid "Only requests made using {{site_name}} are shown."
+msgstr "מוצגות רק בקשות שהוגשו באמצעות האתר {{site_name}}."
+
+msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
+msgstr "רק הרשות יכולה להשיב לבקשה זו, וכתובת הדוא\"ל ממנה נשלחה התגובה לא מזוהה במערכת"
+
+msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
+msgstr "רק הרשות יכולה להשיב לבקשה זו, אבל לא קיימת כתובת דוא\"ל בשדה \"מאת\", שניתן לבדוק אותה"
+
+msgid "Or search in their website for this information."
+msgstr "או חפשו באתר שלהם למידע הזה."
+
+msgid "Original request sent"
+msgstr "בקשה מקורית נשלחה"
+
+msgid "Other:"
+msgstr "אחר:"
+
+msgid "Outgoing message"
+msgstr "הודעה יוצאת"
+
+msgid "OutgoingMessage|Body"
+msgstr "OutgoingMessage|Body"
+
+msgid "OutgoingMessage|Last sent at"
+msgstr "OutgoingMessage|Last נשלחה ב- "
+
+msgid "OutgoingMessage|Message type"
+msgstr "OutgoingMessage|Message סוג"
+
+msgid "OutgoingMessage|Status"
+msgstr "OutgoingMessage|Status"
+
+msgid "OutgoingMessage|What doing"
+msgstr "OutgoingMessage|What מתבצע"
+
+msgid "Partially successful."
+msgstr "נכון חלקית."
+
+msgid "Password is not correct"
+msgstr "הסיסמה אינה נכונה"
+
+msgid "Password:"
+msgstr "סיסמה:"
+
+msgid "Password: (again)"
+msgstr "סיסמה (שוב):"
+
+msgid "Paste this link into emails, tweets, and anywhere else:"
+msgstr "תוכלו להעתיק את הקישור הזה לאימיילים, טוויטים ולכל מקום אחר:"
+
+msgid "People"
+msgstr "אנשים"
+
+msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "מס' אנשים: {{start_count}} עד {{end_count}} מתוך {{total_count}}"
+
+msgid "Photo of you:"
+msgstr "תמונה שלך:"
+
+msgid "Plans and administrative measures that affect these matters"
+msgstr "תוכניות וצעדים אדמיניסטרטיביים שמשפיעים על נושאים אלה"
+
+msgid "Play the request categorisation game"
+msgstr "שחקו במשחק סיווג בקשות המידע"
+
+msgid "Play the request categorisation game!"
+msgstr "שחקו במשחק סיווג בקשות המידע!"
+
+msgid "Please"
+msgstr "בבקשה"
+
+msgid "Please <a href=\"%s\">get in touch</a> with us so we can fix it."
+msgstr "נא <a href=\"%s\">צרו איתנו קשר</a> שנוכל לטפל בכך."
+
+msgid "Please <strong>answer the question above</strong> so we know whether the "
+msgstr "נא <strong>ענו על השאלה למעלה</strong> שנדע אם "
+
+msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
+msgstr ""
+
+msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
+msgstr "נא כתבו <strong>רק</strong> הודעות ישירות הקשורות לבקשה שלכם {{request_link}}. אם תרצו לבקש מידע שלא ביקשתם בבקשה המקורית שלכם <a href=\"{{new_request_link}}\">הגישו בקשה חדשה</a>."
+
+msgid "Please ask for environmental information only"
+msgstr "יש לבקש מידע סביבתי בלבד"
+
+msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
+msgstr ""
+
+msgid "Please choose a file containing your photo."
+msgstr "בחרו בקובץ התמונה שלכם"
+
+msgid "Please choose what sort of reply you are making."
+msgstr "בחרו בסוג התגובה שאתם מכינים"
+
+msgid "Please choose whether or not you got some of the information that you wanted."
+msgstr "בחרו האם קיבלתם כבר חלק מהמידע שאתם רוצים"
+
+msgid "Please click on the link below to cancel or alter these emails."
+msgstr "בבקשה הקליקו או "
+
+msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
+msgstr ""
+
+msgid "Please click on the link below to confirm your email address."
+msgstr "הקליקו על הקישור למטה לאישור כתובת הדוא\"ל שלכם"
+
+msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
+msgstr "הוסיפו תיאור רחב יותר של הבקשה. אין צורך שתציינו שזו בקשה על-פי חוק חופש המידע. הדבר נעשה באופן אוטומטי."
+
+msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
+msgstr ""
+
+msgid "Please enable \"cookies\" to carry on"
+msgstr "אנא אשרו שימוש ב\"עוגיות\" כדי להמשיך"
+
+msgid "Please enter a password"
+msgstr "אנא הקלד סיסמה"
+
+msgid "Please enter a subject"
+msgstr "בבקשה הקלד נושא"
+
+msgid "Please enter a summary of your request"
+msgstr "בבקשה הקלד תקציר של הבקשה שלך"
+
+msgid "Please enter a valid email address"
+msgstr "בבקשה הקלד כתובת דואר אלקטרוני נכונה"
+
+msgid "Please enter the message you want to send"
+msgstr "הכניסו את ההודעה שאתם רוצים לשלוח"
+
+msgid "Please enter the same password twice"
+msgstr "בבקשה הקלידו את הסיסמה שוב"
+
+msgid "Please enter your annotation"
+msgstr "בבקשה הקלד את ההערה שלך"
+
+msgid "Please enter your email address"
+msgstr "בבקשה הקלד את הדואר האלקטרוני שלך"
+
+msgid "Please enter your follow up message"
+msgstr "הכניסו את הודעת ההמשך שלכם"
+
+msgid "Please enter your letter requesting information"
+msgstr "הכניסו את מכתב בקשת המידע שלכם"
+
+msgid "Please enter your name"
+msgstr "בבקשה הקלידו את שמכם"
+
+msgid "Please enter your name, not your email address, in the name field."
+msgstr "הכניסו שם (לא כתובת דוא\"ל) בשדה המתאים"
+
+msgid "Please enter your new email address"
+msgstr "אנא הקלד את כתובת הדואר האלקטרוני החדשה שלך"
+
+msgid "Please enter your old email address"
+msgstr "אנא הקלד את כתובת הדואר האלקטרוני שלך"
+
+msgid "Please enter your password"
+msgstr "אנא הקלד את הסיסמה שלך"
+
+msgid "Please give details explaining why you want a review"
+msgstr "נא פרטו מדוע אתם מבקשים בדיקה"
+
+msgid "Please keep it shorter than 500 characters"
+msgstr "בבקשה הקפד על תקציר של פחות מ-500 תווים"
+
+msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
+msgstr "סכמו בקצרה, בדומה לנושא של הודעת דוא\"ל. השתמשו בביטויים ומשפטים קצרים. "
+
+msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
+msgstr ""
+
+msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
+msgstr "אנא בחר כל אחת מהבקשות הבאות, <strong>וספר לכולם</strong>\\n האם הן הצליחו כבר או עדיין לא."
+
+msgid "Please sign at the bottom with your name, or alter the \"%{signoff}\" signature"
+msgstr "חתמו למטה בשמכם, או שנו את \"%{signoff}\" החתימה"
+
+msgid "Please sign in as "
+msgstr "בבקשה התחברו כ"
+
+msgid "Please sign in or make a new account."
+msgstr "תוכלו להתחבר או ליצור חשבון חדש."
+
+msgid "Please type a message and/or choose a file containing your response."
+msgstr "כתבו את ההודעה ו/או בחרו בקובץ הבקשה שלכם"
+
+msgid "Please use this email address for all replies to this request:"
+msgstr "בבקשה השתמשו בכתובת המייל הבאה לתשובות עבור הבקשה הזו:"
+
+msgid "Please write a summary with some text in it"
+msgstr "אנא הקלידו תקציר עם טקסט כלשהוא"
+
+msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "כתבו את הסיכום בצורה בהירה ומתומצתת."
+
+msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "כתבו את ההערות שלכם בצורה בהירה ומתומצתת."
+
+msgid "Please write your follow up message containing the necessary clarifications below."
+msgstr "כתבו את בקשת ההמשך שלכם בצורה בהירה ומתומצתת."
+
+msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
+msgstr "כתבו את ההודעה בצורה בהירה ומתומצתת."
+
+msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
+msgstr "הצביעו על <strong>מידע שקשור</strong>, קמפיינים או פורומים שיוכלו לסייע."
+
+msgid "Possibly related requests:"
+msgstr "אפשרות לבקשה קשורה:"
+
+msgid "Post annotation"
+msgstr "פרסם הערה"
+
+msgid "Post redirect"
+msgstr "פרסם הפניה"
+
+msgid "PostRedirect|Circumstance"
+msgstr "PostRedirect|Circumstance"
+
+msgid "PostRedirect|Email token"
+msgstr "PostRedirect|Email אסימון"
+
+msgid "PostRedirect|Post params yaml"
+msgstr "PostRedirect|Post params yaml"
+
+msgid "PostRedirect|Reason params yaml"
+msgstr "PostRedirect|Reason params yaml"
+
+msgid "PostRedirect|Token"
+msgstr "PostRedirect|Token"
+
+msgid "PostRedirect|Uri"
+msgstr "PostRedirect|Uri"
+
+msgid "Posted on {{date}} by {{author}}"
+msgstr "פורסם ב- {{date}} על-ידי {{author}}"
+
+msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+msgstr "נוצר על-ידי <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
+
+msgid "Prev"
+msgstr "הקודם"
+
+msgid "Preview follow up to '"
+msgstr "צפייה מוקדמת של המשך של"
+
+msgid "Preview new annotation on '{{info_request_title}}'"
+msgstr "צפייה מוקדמת בהערה על '{{info_request_title}}'"
+
+msgid "Preview your annotation"
+msgstr "תצוגה מקדימה של ההערה"
+
+msgid "Preview your message"
+msgstr "תצוגה מקדימה של ההודעה שלך"
+
+msgid "Preview your public request"
+msgstr "צפה בבקשה הציבורית שלך"
+
+msgid "Profile photo"
+msgstr "תמונת פרופיל"
+
+msgid "ProfilePhoto|Data"
+msgstr "ProfilePhoto|Data"
+
+msgid "ProfilePhoto|Draft"
+msgstr "ProfilePhoto|Draft"
+
+msgid "Public authorities"
+msgstr "רשויות ציבוריות"
+
+msgid "Public authorities - {{description}}"
+msgstr "רשויות ציבוריות - {{description}}"
+
+msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "רשויות ציבוריות {{start_count}} עד {{end_count}} מתוך {{total_count}}"
+
+msgid "Public authority – {{name}}"
+msgstr ""
+
+msgid "Public body"
+msgstr "גוף ציבורי"
+
+msgid "Public body/translation"
+msgstr "גוף/תרגום ציבורי"
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
+msgid "PublicBody::Translation|Disclosure log"
+msgstr "PublicBody::Translation|Disclosure log"
+
+msgid "PublicBody::Translation|First letter"
+msgstr "PublicBody::Translation|מכתב ראשון"
+
+msgid "PublicBody::Translation|Locale"
+msgstr "PublicBody::Translation|Locale"
+
+msgid "PublicBody::Translation|Name"
+msgstr "PublicBody::Translation|Name"
+
+msgid "PublicBody::Translation|Notes"
+msgstr "PublicBody::Translation|Notes"
+
+msgid "PublicBody::Translation|Publication scheme"
+msgstr "PublicBody::Translation|Publication scheme"
+
+msgid "PublicBody::Translation|Request email"
+msgstr "PublicBody::Translation|Request email"
+
+msgid "PublicBody::Translation|Short name"
+msgstr "PublicBody::Translation|Short name"
+
+msgid "PublicBody::Translation|Url name"
+msgstr "PublicBody::Translation|Url name"
+
+msgid "PublicBody|Api key"
+msgstr "PublicBody|Api key"
+
+msgid "PublicBody|Disclosure log"
+msgstr "PublicBody|Disclosure log"
+
+msgid "PublicBody|First letter"
+msgstr "PublicBody|First מכתב"
+
+msgid "PublicBody|Home page"
+msgstr "PublicBody|Home עמ'"
+
+msgid "PublicBody|Info requests count"
+msgstr "גוף ציבורי|מספר הבקשות שהוגשו"
+
+msgid "PublicBody|Last edit comment"
+msgstr "PublicBody|Last ערכו הערה"
+
+msgid "PublicBody|Last edit editor"
+msgstr "PublicBody|Last עריכה עורך"
+
+msgid "PublicBody|Name"
+msgstr "PublicBody|Name"
+
+msgid "PublicBody|Notes"
+msgstr "PublicBody|Notes"
+
+msgid "PublicBody|Publication scheme"
+msgstr "PublicBody|Publication תוכנית"
+
+msgid "PublicBody|Request email"
+msgstr "PublicBody|Request דוא\"ל"
+
+msgid "PublicBody|Short name"
+msgstr "PublicBody|Short שם"
+
+msgid "PublicBody|Url name"
+msgstr "PublicBody|Url שם"
+
+msgid "PublicBody|Version"
+msgstr "PublicBody|Version"
+
+msgid "Publication scheme"
+msgstr "תוכנית פרסום"
+
+msgid "Publication scheme URL"
+msgstr ""
+
+msgid "Purge request"
+msgstr "נקה בקשה"
+
+msgid "PurgeRequest|Model"
+msgstr "PurgeRequest|Model"
+
+msgid "PurgeRequest|Url"
+msgstr "PurgeRequest|Url"
+
+msgid "RSS feed"
+msgstr "ערוץ RSS"
+
+msgid "RSS feed of updates"
+msgstr "עדכוני RSS (ר.ס.ס.)"
+
+msgid "Re-edit this annotation"
+msgstr "ערוך מחדש הערה זו"
+
+msgid "Re-edit this message"
+msgstr "ערכו מחדש "
+
+msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
+msgstr "קרא על <a href=\"{{advanced_search_url}}\">אופרטורים לחיפוש מתקדם</a>, כקרבה וסימנים כלליים (Wildcards)."
+
+msgid "Read blog"
+msgstr "קראו את הבלוג"
+
+msgid "Received an error message, such as delivery failure."
+msgstr "התקבלה הודעת שגיאה, כגון, שגיאת מסירה"
+
+msgid "Recently described results first"
+msgstr "תוצאות אחרונות מופיעות ראשונות"
+
+msgid "Refused."
+msgstr "סורב"
+
+msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
+msgstr ""
+
+msgid "Report abuse"
+msgstr "דיווח על שימוש לרעה"
+
+msgid "Report an offensive or unsuitable request"
+msgstr "דווחו על בקשה לא מתאימה או פוגענית"
+
+msgid "Report this request"
+msgstr "דווחו על בקשה זו"
+
+msgid "Reported for administrator attention."
+msgstr "דווח לטיפול מנהל."
+
+msgid "Request an internal review"
+msgstr "בקשה לבדיקה פנימית"
+
+msgid "Request an internal review from {{person_or_body}}"
+msgstr "בקשה לבדיקה פנימית מ- {{person_or_body}}"
+
+msgid "Request email"
+msgstr ""
+
+msgid "Request has been removed"
+msgstr "הבקשה הוסרה"
+
+msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "הבקשה נשלחה ל- {{public_body_name}} על-ידי {{info_request_user}} בתאריך {{date}}."
+
+msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
+msgstr "בקשה ל{{public_body_name}} הוגשה ע\"י {{info_request_user}}. תגובות ע\"י {{event_comment_user}} בתאריך {{date}}."
+
+msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
+msgstr "בקשה מ{{public_body_name}} ע\"י {{info_request_user}} בתאריך {{date}}"
+
+msgid "Requested on {{date}}"
+msgstr "הוגשה בתאריך {{date}}"
+
+msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
+msgstr "בקשות למידע אישי ובקשות מטרידות אינן קבילות עבור מטרות חוק חופש המידע."
+
+msgid "Requests or responses matching your saved search"
+msgstr "בקשות או תגובות המתאימות לחיפוש השמור שלך."
+
+msgid "Respond by email"
+msgstr "הגיבו בדוא\"ל"
+
+msgid "Respond to request"
+msgstr "הגיבו לבקשה"
+
+msgid "Respond to the FOI request"
+msgstr "הגיבו לבקשת חופש המידע"
+
+msgid "Respond using the web"
+msgstr "הגיבו דרך הרשת"
+
+msgid "Response"
+msgstr "תגובה"
+
+msgid "Response from a public authority"
+msgstr "תגובה מראשות ציבורית"
+
+msgid "Response to '{{title}}'"
+msgstr "תגובה ל'{{title}}'"
+
+msgid "Response to this request is <strong>delayed</strong>."
+msgstr "התגובה לבקשה זו <strong>מתעכבת</strong>."
+
+msgid "Response to this request is <strong>long overdue</strong>."
+msgstr "התגובה לבקשה זו <strong>מתאחרת מאוד</strong>."
+
+msgid "Response to your request"
+msgstr "תגובה לבקשה שלך"
+
+msgid "Response:"
+msgstr "תגובה:"
+
+msgid "Restrict to"
+msgstr "מוגבל ל- "
+
+msgid "Results page {{page_number}}"
+msgstr "דף תוצאות {{page_number}}"
+
+msgid "Save"
+msgstr "שמירה"
+
+msgid "Search"
+msgstr "חיפוש"
+
+msgid "Search Freedom of Information requests, public authorities and users"
+msgstr "חפש בקשות על-פי חוק חופש המידע, רשויות ציבוריות ומשתמשים"
+
+msgid "Search contributions by this person"
+msgstr "חפש תוספות של אדם זה"
+
+msgid "Search for words in:"
+msgstr "חיפוש אחר המילים ב:"
+
+msgid "Search in"
+msgstr "חפש ב- "
+
+msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
+msgstr "חפשו במאגר של<br/><strong>{{number_of_requests}} בקשות</strong> <span>שנשלחו אל</span><br/>\\n <strong>{{number_of_authorities}} רשויות</strong>"
+
+msgid "Search queries"
+msgstr "שאילתות חיפוש"
+
+msgid "Search results"
+msgstr "תוצאות החיפוש "
+
+msgid "Search the site to find what you were looking for."
+msgstr "חפש באתר"
+
+msgid "Search within the %d Freedom of Information requests to %s"
+msgid_plural "Search within the %d Freedom of Information requests made to %s"
+msgstr[0] "חפש בקשות מידע מ- %d עד %s"
+msgstr[1] "חפש בקשות מידע מ- %d שנעשו עד %s"
+
+msgid "Search your contributions"
+msgstr "חפש בין התוספות שלך"
+
+msgid "See bounce message"
+msgstr ""
+
+msgid "Select one to see more information about the authority."
+msgstr "בחרו אחת כדי לראות מידע נוסף עודות הראשות"
+
+msgid "Select the authority to write to"
+msgstr "בחרו את הראשות שתרצו לכתוב אליה"
+
+msgid "Send a followup"
+msgstr "שלחו הודעת המשך"
+
+msgid "Send a message to "
+msgstr "שלחו הודעה אל"
+
+msgid "Send a public follow up message to {{person_or_body}}"
+msgstr "שלחו הודעת המשך ציבורית ל{{person_or_body}}"
+
+msgid "Send a public reply to {{person_or_body}}"
+msgstr "שלחו תגובה ציבורית ל{{person_or_body}}"
+
+msgid "Send follow up to '{{title}}'"
+msgstr "שלח בקשת מעקב ל'{{request_title}}'"
+
+msgid "Send message"
+msgstr "שלחו הודעה"
+
+msgid "Send message to "
+msgstr "שלחו הודעה"
+
+msgid "Send request"
+msgstr "שלחו בקשה"
+
+msgid "Set your profile photo"
+msgstr "הגדירו תמונת פרופיל"
+
+msgid "Short name"
+msgstr ""
+
+msgid "Short name is already taken"
+msgstr "השם הקצר כבר תפוס"
+
+msgid "Show most relevant results first"
+msgstr "הצג תוצאות רלוונטיות ראשונות"
+
+msgid "Show only..."
+msgstr "הצג רק..."
+
+msgid "Showing"
+msgstr "מוצגים"
+
+msgid "Sign in"
+msgstr "התחבר"
+
+msgid "Sign in or make a new account"
+msgstr "התחבר או צור חשבון חדש"
+
+msgid "Sign in or sign up"
+msgstr "התחבר או הירשם"
+
+msgid "Sign out"
+msgstr "התנתק"
+
+msgid "Sign up"
+msgstr "הרשמה"
+
+msgid "Similar requests"
+msgstr "בקשות דומות"
+
+msgid "Simple search"
+msgstr "חיפוש פשוט"
+
+msgid "Some notes have been added to your FOI request - "
+msgstr "התווספו הערות לבקשת חופש המידע שלך"
+
+msgid "Some of the information requested has been received"
+msgstr "חלק מהמידע המבוקש התקבל"
+
+msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
+msgstr "חלק מהאנשים אשר הגישו בקשות לא עדכנו האם הן הצליחו או לא. \\n אנו <strong>זקוקים לעזרתך</strong> -\\n בחר באחת מהבקשות, קרא אותה, ואפשר לכולם לדעת האם המידע סופק. \\n כולנו נהיה אסירי תודה."
+
+msgid "Somebody added a note to your FOI request - "
+msgstr "התווספה הערה לבקשת חוק חופש המידע שלך"
+
+msgid "Someone has updated the status of your request"
+msgstr "מישהו עדכן את הססטוס של הדרישה שלך"
+
+msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
+msgstr ""
+
+msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
+msgstr "מצטערים, לא תוכל להגיב על בקשה זו דרך {{site_name}}, מכיוון שזהו עותק של הבקשה המקורית שמופיע כאן: {{link_to_original_request}}."
+
+msgid "Sorry, but only {{user_name}} is allowed to do that."
+msgstr "מצטערים, אבל רק {{user_name}} מורשה לעשות את זה."
+
+msgid "Sorry, there was a problem processing this page"
+msgstr "מצטערים, היתה בעיה בהצעת הדף הזה"
+
+msgid "Sorry, we couldn't find that page"
+msgstr "מצטערים, אנחנו לא יכולים למצוא את הדף המבוקש"
+
+msgid "Special note for this authority!"
+msgstr "הערה מיוחדת לרשות זו"
+
+msgid "Start"
+msgstr "התחל"
+
+msgid "Start now &raquo;"
+msgstr "התחל עכשיו &raquo;"
+
+msgid "Start your own blog"
+msgstr "התחל את הבלוג שלך"
+
+msgid "Stay up to date"
+msgstr "הישאר מעודכן"
+
+msgid "Still awaiting an <strong>internal review</strong>"
+msgstr "עדיין בהמתנה <strong>לבדיקה פנימית</strong>"
+
+msgid "Subject"
+msgstr "נושא"
+
+msgid "Subject:"
+msgstr "נושא:"
+
+msgid "Submit"
+msgstr "שלח"
+
+msgid "Submit status"
+msgstr "הצג סטטוס"
+
+msgid "Submit status and send message"
+msgstr ""
+
+msgid "Subscribe to blog"
+msgstr "הירשם לבלוג"
+
+msgid "Successful Freedom of Information requests"
+msgstr "בקשות מידע שנענו"
+
+msgid "Successful."
+msgstr "עבר בהצלחה."
+
+msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
+msgstr "הציעו כיצד מגיש הבקשה יכול למצוא את <strong>שאר המידע</strong>."
+
+msgid "Summary:"
+msgstr "תקציר:"
+
+msgid "Table of statuses"
+msgstr "טבלת סטטוסים"
+
+msgid "Table of varieties"
+msgstr "טבלת משתנים"
+
+msgid "Tags"
+msgstr ""
+
+msgid "Tags (separated by a space):"
+msgstr "תגיות (רווח בין תגית לתגית)"
+
+msgid "Tags:"
+msgstr "תגיות:"
+
+msgid "Technical details"
+msgstr "פרטים טכניים"
+
+msgid "Thank you for helping us keep the site tidy!"
+msgstr "תודה שעזרתם לנו לשמור על אתר מאורגן"
+
+msgid "Thank you for making an annotation!"
+msgstr "תודה על ההערה שהוספתם!"
+
+msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
+msgstr "תודה על תגובתכם לבקשת חוק חופש המידע זו. תגובתכם פורסמה למטה וקישור אליה נשלח לתיבת הדוא\"ל שלכם."
+
+msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
+msgstr "תודה שעדכנתם את מצב הבקשה '<a href=\"{{url}}\">{{info_request_title}}</a>'. למטה תוכלו למצוא בקשות נוספות שממתינות לסיווג."
+
+msgid "Thank you for updating this request!"
+msgstr "תודה על עדכון הבקשה!"
+
+msgid "Thank you for updating your profile photo"
+msgstr "תודה על עדכון תמונת הפרופיל"
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
+msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
+msgstr "תודה על העזרה - העזרה שלך תסייע לכולם למצוא בקשות מוצלחות."
+
+msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
+msgstr ""
+
+msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
+msgstr ""
+
+msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
+msgstr "כתובת הדוא\"ל לא חוקית. נא בידקו אותה שנית."
+
+msgid "The <strong>review has finished</strong> and overall:"
+msgstr "<strong>הבחינה הסתיימה</strong> ובסך הכל:"
+
+msgid "The Freedom of Information Act <strong>does not apply</strong> to"
+msgstr "חוק חופש המידע <strong>אינו חל</strong> על"
+
+msgid "The accounts have been left as they previously were."
+msgstr "החשבונות נשארו ללא שינוי."
+
+msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
+msgstr "לרשות <strong>אין</strong> את המידע <small>(אולי הם אומרים למי כן יש)"
+
+msgid "The authority only has a <strong>paper copy</strong> of the information."
+msgstr "לרשות יש רק <strong>עותק קשיח</strong> של המידע."
+
+msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
+msgstr ""
+
+msgid "The authority would like to / has <strong>responded by post</strong> to this request."
+msgstr "הרשות רוצה להגיב / כבר הגיבה <strong>בדואר ררגיל</strong> לבקשה הזאת."
+
+msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
+msgstr ""
+
+msgid "The page doesn't exist. Things you can try now:"
+msgstr "הדף לא קיים. דברים שתוכלו לנסות כעת:"
+
+msgid "The public authority does not have the information requested"
+msgstr "לרשות הציבורית אין את המידע המבוקש"
+
+msgid "The public authority would like part of the request explained"
+msgstr "הרשות הציבורית רוצה הסברים נוספים לחלק מהבקשה"
+
+msgid "The public authority would like to / has responded by post"
+msgstr "הרשות הציבורית רוצה להגיב / כבר הגיבה בדואר ררגיל"
+
+msgid "The request has been <strong>refused</strong>"
+msgstr "הבקשה <strong>סורבה</strong>"
+
+msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
+msgstr "הבקשה עודכנה מאז נכנסתם לדף זה. בדקו אם יש הודעות חדשות למטה ונסו שנית."
+
+msgid "The request is <strong>waiting for clarification</strong>."
+msgstr "בקשה זו <strong>ממתינה להבהרות נוספות</strong>."
+
+msgid "The request was <strong>partially successful</strong>."
+msgstr "הבקשה <strong>נענתה באופן חלקי</strong>."
+
+msgid "The request was <strong>refused</strong> by"
+msgstr "הבקשה <strong>סורבה</strong> על-ידי"
+
+msgid "The request was <strong>successful</strong>."
+msgstr "הבקשה <strong>נענתה</strong>."
+
+msgid "The request was refused by the public authority"
+msgstr "הבקשה סורבה על-ידי רשות ציבורית"
+
+msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"%s\">contact us</a> if you have any questions."
+msgstr ""
+
+msgid "The requester has abandoned this request for some reason"
+msgstr "מגיש הבקשה נסוג ממנה מסיבה כלשהי"
+
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr ""
+
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr ""
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
+msgstr "מנוע החיפוש לא זמין כרגע, לכן לא תוכלו לצפות בבקשות מידע שהוגשו לרשות זו."
+
+msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
+msgstr "מנוע החיפוש לא זמין כרגע, לכן לא תוכלו לצפות בבקשות מידע של אדם זה."
+
+msgid "Then you can cancel the alert."
+msgstr "אתם יכולים לבטל את האתרעה."
+
+msgid "Then you can cancel the alerts."
+msgstr "אתם יכולים לבטל את ההתרעות."
+
+msgid "Then you can change your email address used on {{site_name}}"
+msgstr "אז אתם יכולים לשנות את כתובת הדוא\"ל שלכם ב- {{site_name}}"
+
+msgid "Then you can change your password on {{site_name}}"
+msgstr "אז תוכלו לשנות את הסיסמה שלכם באתר {{site_name}}"
+
+msgid "Then you can classify the FOI response you have got from "
+msgstr "אז תוכלו לסווג את תגובת בקשת המידע שקיבלתם מ- "
+
+msgid "Then you can download a zip file of {{info_request_title}}."
+msgstr "אז תוכלו להוריד קובץ ZIP של {{info_request_title}}."
+
+msgid "Then you can log into the administrative interface"
+msgstr "לאחר מכן תוכלו להתחבר לממשק הניהול"
+
+msgid "Then you can play the request categorisation game."
+msgstr "אז תוכלו לשחק במשחק סיווג הבקשות"
+
+msgid "Then you can report the request '{{title}}'"
+msgstr "לאחר מכן תוכלו לדווח על הבקשה '{{title}}'"
+
+msgid "Then you can send a message to "
+msgstr "אז תוכלו לשלוח הודעה ל- "
+
+msgid "Then you can sign in to {{site_name}}"
+msgstr "אז תוכלו להיכנס לאתר {{site_name}}"
+
+msgid "Then you can update the status of your request to "
+msgstr "אז תוכלו לעדכן את מצב הבקשה שלכם ל- "
+
+msgid "Then you can upload an FOI response. "
+msgstr "אז תוכלו להעלות בקשת מידע"
+
+msgid "Then you can write follow up message to "
+msgstr "אז תוכלו לרשום הודעת מעקב ל- "
+
+msgid "Then you can write your reply to "
+msgstr "אז תוכלו לכתוב את התגובה שלכם ל- "
+
+msgid "Then you will be following all new FOI requests."
+msgstr "לאחר מכן תעקוב אחר כל בקשות חוק חופש המידע החדשות."
+
+msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
+msgstr "לאחר מכן תקבלו התרעה כאשר '{{user_name}}' מגיש בקשה או מקבל תגובה."
+
+msgid "Then you will be notified whenever a new request or response matches your search."
+msgstr "לאחר מכן תקבלו התרעה כאשר בקשה חדשה או תגובה תואמת את החיפוש."
+
+msgid "Then you will be notified whenever an FOI request succeeds."
+msgstr "לאחר מכן תקבל הודעה כאשר בקשה לפי חוק חופש המידע מאושרת."
+
+msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
+msgstr "לאחר תקבלו התרעה כאשר מישהו מקבל תגובה או מגיש בקשה עבור '{{public_body_name}}'."
+
+msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
+msgstr "לאחר מכן תקבלו עדכון כאשר הבקשה '{{request_title}}' מתעדכנת."
+
+msgid "Then you'll be allowed to send FOI requests."
+msgstr "אז תורשו לשלוח בקשות מידע"
+
+msgid "Then your FOI request to {{public_body_name}} will be sent."
+msgstr "אז תישלח בקשת המידע שלכם ל- {{public_body_name}}."
+
+msgid "Then your annotation to {{info_request_title}} will be posted."
+msgstr "אז תפורסם ההערה שלכם ל- {{info_request_title}} ."
+
+msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
+msgstr "ישנן {{count}} הערות חדשות על בקשת ה- {{info_request}} שלכם. הקליקו על קישור זה לראות אותן."
+
+msgid "There is %d person following this request"
+msgid_plural "There are %d people following this request"
+msgstr[0] "עוקבים אחר הבקשה הזו %d אנשים"
+msgstr[1] "עוקבים אחר הבקשה הזו %d אנשים"
+
+msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
+msgstr ""
+
+msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
+msgstr "מספר הבקשות שניתן להגיש ביום מוגבל, כי אנו לא רוצים להציף את הרשויות הציבוריות בבקשות שווא. אם אתם רוצים להגדיל את המספר המותר, <a href='{{help_contact_path}}'>צרו קשר</a>."
+
+msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
+msgstr "היתה <strong>תקלה במסירה</strong> שדורשת טיפול על-ידי אנשי {{site_name}}."
+
+msgid "There was an error with the words you entered, please try again."
+msgstr "יש שגיאה בטקסט שהכנסתם. נסו שנית."
+
+msgid "There were no requests matching your query."
+msgstr "אין בקשות התואמות את שאילתת החיפוש שלכם"
+
+msgid "There were no results matching your query."
+msgstr "אין תוצאות שמתאימות לחיפוש שלך."
+
+msgid "They are going to reply <strong>by post</strong>"
+msgstr "הם עומדים להשיב <strong>בפוסט</strong>"
+
+msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
+msgstr " <strong>אין להם</strong> את המידע <small>(ייתכן והם יאמרו למי יש אותו)</small>"
+
+msgid "They have been given the following explanation:"
+msgstr "ניתן להם ההסבר הבא:"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+msgstr "הם לא השיבו {{law_used_short}} לבקשתכם {{title}} מייד, כפי שקבוע בחוק"
+
+msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
+msgstr ""
+
+msgid "Things to do with this request"
+msgstr "דברים שניתן לעשות עם הבקשה"
+
+msgid "Things you're following"
+msgstr "דברים אחריהם אתם עוקבים"
+
+msgid "This authority no longer exists, so you cannot make a request to it."
+msgstr "רשות זו לא קיימת כבר, לכן לא ניתן להגיש לה בקשה."
+
+msgid "This comment has been hidden. See annotations to\\n find out why. If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response."
+msgstr ""
+
+msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
+msgstr ""
+
+msgid "This external request has been hidden"
+msgstr "בקשה חיצונית זו הוסתרה"
+
+msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
+msgstr "זוהי גרסת טקסט של בקשת המידע \"{{request_title}}\". הגרסה האחרונה, המלאה, זמינה ברשת בכתובת {{full_url}}"
+
+msgid "This is an HTML version of an attachment to the Freedom of Information request"
+msgstr "זו גרסת HTML של נספח לבקשת המידע "
+
+msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr ""
+
+msgid "This is the first version."
+msgstr ""
+
+msgid "This is your own request, so you will be automatically emailed when new responses arrive."
+msgstr "זו בקשה שלכם, כך שתקבלו דוא\"ל מייד כשיגיעו תגובות חדשות."
+
+msgid "This outgoing message has been hidden. See annotations to\\n\t\t\t\t\t\tfind out why. If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response."
+msgstr ""
+
+msgid "This particular request is finished:"
+msgstr "הטיפול בבקשה זו הסתיים"
+
+msgid "This person has made no Freedom of Information requests using this site."
+msgstr "אדם זה טרם הגיש בקשות מידע באמצעות אתר זה"
+
+msgid "This person's %d Freedom of Information request"
+msgid_plural "This person's %d Freedom of Information requests"
+msgstr[0] "בקשת מידע מס' %d של אדם זה"
+msgstr[1] "%d בקשות מידע של אדם זה"
+
+msgid "This person's %d annotation"
+msgid_plural "This person's %d annotations"
+msgstr[0] "הערה מס' %d של אדם זה"
+msgstr[1] "%d בקשות מידע של אדם זה"
+
+msgid "This person's annotations"
+msgstr "הערות של אדם זה"
+
+msgid "This request <strong>requires administrator attention</strong>"
+msgstr "בקשה זו <strong>מצריכה טיפול מנהל</strong>"
+
+msgid "This request has already been reported for administrator attention"
+msgstr "בקשה זו כבר דווחה לטיפול מנהל"
+
+msgid "This request has an <strong>unknown status</strong>."
+msgstr "לבקשה זו <strong>סטטוס לא ידוע</strong>."
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
+msgstr "בקשה זו <strong>מוסתרת</strong> מהאתר, מכיוון שמנהל סבור שהיא אינה על פי חוק חופש המידע"
+
+msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
+msgstr "בקשה זו <strong>מוסתרת</strong> מהאתר, מכיוון שמנהל סבור שהיא מרגיזה"
+
+msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
+msgstr "הבקשה <strong>דווחה</strong> כזקוקה לתשומת לב של מנהלי האתר (יתכן שהיא בלתי מוצדקת, או כוללת דרישה למידע אישי)"
+
+msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
+msgstr ""
+
+msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"%s\">contact us</a>."
+msgstr "בקשה זו שומנה כמועמדת לביקורת של מנהלי האתר. לאחר שנבדקה החלטנו שלא להסתיר את בקשה זו כעת. אם אתם סבורים כי יש להסתיר את בקשה זו, אנא please <a href=\"%s\">צרו קשר</a>."
+
+msgid "This request has been reported for administrator attention"
+msgstr "בקשה זו דווחה לטיפול מנהל"
+
+msgid "This request has been set by an administrator to \"allow new responses from nobody\""
+msgstr "בקשה זו סווגה על-יד מנהל כ\"ללא אפשרות תגובה\""
+
+msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
+msgstr "בקשה זו קיבלה תגובה יוצאת דופן <strong>המצריכה את תשומת לב</strong>אנשי האתר {{site_name}} team."
+
+msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
+msgstr "הבקשה סומנה כ'נסתרת'. אתה יכול לראות אותה רק מכיוון שאתה מחוברn\\ כמנהל"
+
+msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"%s\">contact us</a> if you are not sure why."
+msgstr ""
+
+msgid "This request is still in progress:"
+msgstr "בקשה זו עדיין מטופלת:"
+
+msgid "This request requires administrator attention"
+msgstr ""
+
+msgid "This request was not made via {{site_name}}"
+msgstr "בקשה זו לא בוצעה דרך {{site_name}}"
+
+msgid "This response has been hidden. See annotations to find out why.\\n If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response."
+msgstr ""
+
+msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
+msgstr ""
+
+msgid "This user has been banned from {{site_name}} "
+msgstr "המשתמש הזה נחסם מהאתר {{site_name}}"
+
+msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
+msgstr ""
+
+msgid "To cancel these alerts"
+msgstr "לבטל את ההתראות הללו"
+
+msgid "To cancel this alert"
+msgstr "לבטל את ההתראה"
+
+msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
+msgstr ""
+
+msgid "To change your email address used on {{site_name}}"
+msgstr "לשנות את כתובת הדואר האלקטרוני שבה משתמשים באתר {{site_name}}"
+
+msgid "To classify the response to this FOI request"
+msgstr "כדי לסווג את התגובה לבקשת מידע זו"
+
+msgid "To do that please send a private email to "
+msgstr "כדי לבצע זאת, יש לשלוח דוא\"ל ל- "
+
+msgid "To do this, first click on the link below."
+msgstr "כדי לבצע זאת, הקליקו תחילה על הקישור מתחת"
+
+msgid "To download the zip file"
+msgstr "להורדת הקובץ המכווץ"
+
+msgid "To follow all successful requests"
+msgstr "למעקב אחר כל הבקשות שהצליחו"
+
+msgid "To follow new requests"
+msgstr "עקבו אחר כל הבקשות החדשות"
+
+msgid "To follow requests and responses matching your search"
+msgstr "כדי לעקוב אחר בקשות מידע ותגובות המתאימות לחיפוש שלכם"
+
+msgid "To follow requests by '{{user_name}}'"
+msgstr "לעקוב אחר בקשות שנעשו ע\"י '{{user_name}}'"
+
+msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
+msgstr "לעקוב אחר בקשות שנעשו באמצעות {{site_name}} לרשות הציבורית '{{public_body_name}}'"
+
+msgid "To follow the request '{{request_title}}'"
+msgstr "לעקוב אחר הבקשה '{{request_title}}'"
+
+msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
+msgstr ""
+
+msgid "To let everyone know, follow this link and then select the appropriate box."
+msgstr "כדי לשתף, ליחצו על הלינק וסמנו את התיבה המתאימה"
+
+msgid "To log into the administrative interface"
+msgstr "להתחברות לממשק הניהול"
+
+msgid "To play the request categorisation game"
+msgstr "כדי לשחק במשחק סיווג הקטגוריות"
+
+msgid "To post your annotation"
+msgstr "כדי לפרסם את ההערה שלך"
+
+msgid "To reply to "
+msgstr "בתשובה אל"
+
+msgid "To report this FOI request"
+msgstr "לדווח על בקשת חוק חופש המידע הזו."
+
+msgid "To send a follow up message to "
+msgstr "לשלוח הודעת מעקב אל"
+
+msgid "To send a message to "
+msgstr "לשלוח הודעה אל"
+
+msgid "To send your FOI request"
+msgstr "כדי לשלוח את בקשת המידע שלכם"
+
+msgid "To update the status of this FOI request"
+msgstr "כדי לעדכן את הסטטוס של בקשת מידע זו"
+
+msgid "To upload a response, you must be logged in using an email address from "
+msgstr "כדי להגיב עליכם להיות מחוברים עם כתובת דוא\"ל מ- "
+
+msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
+msgstr "כדי להשתמש בחיפוש המתקדם, שלב ביטויים ותוויות כפי שמתואר בטיפים על החיפוש למטה"
+
+msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
+msgstr "כדי לראות את כתובת הדוא\"ל בה עשינו שימוש להגשת בקשות המידע ל- {{public_body_name}}, הכניסו את המילים הבאות."
+
+msgid "To view the response, click on the link below."
+msgstr "לראות את התגובה, הקליקו על הקישור מתחת"
+
+msgid "To {{public_body_link_absolute}}"
+msgstr "ל- {{public_body_link_absolute}}"
+
+msgid "To:"
+msgstr "אל:"
+
+msgid "Today"
+msgstr "היום"
+
+msgid "Too many requests"
+msgstr "יותר מדי בקשות"
+
+msgid "Top search results:"
+msgstr "תוצאות החיפוש המובילות:"
+
+msgid "Track thing"
+msgstr "עקבו אחרי משהו"
+
+msgid "Track this person"
+msgstr "עקבו אחר האדם הזה"
+
+msgid "Track this search"
+msgstr "עקבו אחר החיפוש הזה"
+
+msgid "TrackThing|Track medium"
+msgstr "TrackThing|Track כלי תקשורת"
+
+msgid "TrackThing|Track query"
+msgstr "TrackThing|Track שאילתה"
+
+msgid "TrackThing|Track type"
+msgstr "TrackThing|Track סוג"
+
+msgid "Turn off email alerts"
+msgstr "כיבוי התראות בדוא\"ל"
+
+msgid "Tweet this request"
+msgstr "צייצו את הבקשה"
+
+msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
+msgstr "הכניסו <strong><code>01/01/2013..14/01/2013</code></strong> להראות רק מה שקרה בין התאריכים הללו בחודש ינואר."
+
+msgid "URL name can't be blank"
+msgstr "יש למלא את כתובת האינטרנט "
+
+msgid "Unable to change email address on {{site_name}}"
+msgstr "לא ניתן לשנות את כתובת הדוא\"ל באתר {{site_name}}"
+
+msgid "Unable to send a reply to {{username}}"
+msgstr "לא ניתן לשלוח תגובה ל- {{username}}"
+
+msgid "Unable to send follow up message to {{username}}"
+msgstr "לא ניתן לשלוח הודעת מעקב ל- {{username}}"
+
+msgid "Unexpected search result type"
+msgstr "תוצאת חיפוש לא צפויה"
+
+msgid "Unexpected search result type "
+msgstr "תוצאת חיפוש לא צפויה"
+
+msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"%s\">contact us</a> to sort it out."
+msgstr ""
+
+msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
+msgstr ""
+
+msgid "Unknown"
+msgstr "לא ידוע"
+
+msgid "Unsubscribe"
+msgstr "בטל הרשמה"
+
+msgid "Unusual response."
+msgstr "תגובה מוזרה"
+
+msgid "Update the status of this request"
+msgstr "עדכון על הסטטוס של הבקשה הזאת"
+
+msgid "Update the status of your request to "
+msgstr "עדכן את סטטוס הבקשה שלכם ל- "
+
+msgid "Upload FOI response"
+msgstr "בקשת לחוק חופש המידע הועלתה"
+
+msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
+msgstr "*****הקלידו OR (באותיות גדולות) כדי לחפש יותר ממילה אחת, לדוגמה, <strong><code>רגיל OR בכיר</code></strong>"
+
+msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
+msgstr "השתמשו במרכאות כדי לחפש את הביטוי המדוייק, לדוגמה, <strong><code>\"מועצת העיר ירושלים\"</code></strong>"
+
+msgid "User"
+msgstr "משתמש"
+
+msgid "User info request sent alert"
+msgstr "התרעת בקשת מידע ממשתמש"
+
+msgid "User – {{name}}"
+msgstr ""
+
+msgid "UserInfoRequestSentAlert|Alert type"
+msgstr "UserInfoRequestSentAlert|Alert type"
+
+msgid "User|About me"
+msgstr "User|About me"
+
+msgid "User|Address"
+msgstr "משתמש|כתובת"
+
+msgid "User|Admin level"
+msgstr "User|Admin level"
+
+msgid "User|Ban text"
+msgstr "User|Ban text"
+
+msgid "User|Dob"
+msgstr "משתמש|תאריך לידה"
+
+msgid "User|Email"
+msgstr "User|Email"
+
+msgid "User|Email bounce message"
+msgstr "User|Email bounce message"
+
+msgid "User|Email bounced at"
+msgstr "User|Email bounced at"
+
+msgid "User|Email confirmed"
+msgstr "User|Email confirmed"
+
+msgid "User|Hashed password"
+msgstr "User|Hashed password"
+
+msgid "User|Last daily track email"
+msgstr "User|Last daily track email"
+
+msgid "User|Locale"
+msgstr "User|Locale"
+
+msgid "User|Name"
+msgstr "User|Name"
+
+msgid "User|No limit"
+msgstr "User|No limit"
+
+msgid "User|Receive email alerts"
+msgstr "User|Receive email alerts"
+
+msgid "User|Salt"
+msgstr "User|Salt"
+
+msgid "User|Url name"
+msgstr "User|Url name"
+
+msgid "Version {{version}}"
+msgstr ""
+
+msgid "View FOI email address"
+msgstr "View FOI email address"
+
+msgid "View FOI email address for '{{public_body_name}}'"
+msgstr "צפו בדוא\"ל של בקשות מידע ל- '{{public_body_name}}'"
+
+msgid "View FOI email address for {{public_body_name}}"
+msgstr "צפו בדוא\"ל של בקשות מידע ל- '{{public_body_name}}'"
+
+msgid "View Freedom of Information requests made by {{user_name}}:"
+msgstr "צפו בבקשות מידע שהוגשו על-ידי {{user_name}}:"
+
+msgid "View and search requests"
+msgstr "צפו וחפשו בקשות מידע"
+
+msgid "View authorities"
+msgstr "צפו ברשויות"
+
+msgid "View email"
+msgstr "צפו בדואר האלקטרוני"
+
+msgid "View requests"
+msgstr "צפו בבקשות"
+
+msgid "Waiting clarification."
+msgstr "ממתין להבהרות"
+
+msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
+msgstr "ממתין <strong>לבדיקה פנימית</strong> על-ידי {{public_body_link}} של אופן הטיפול שלהם בבקשה.."
+
+msgid "Waiting for the public authority to complete an internal review of their handling of the request"
+msgstr "ממתין לרשות הציבורית שתסיים בדיקה פנימית של אופן הטיפול שלהם בבקשה"
+
+msgid "Waiting for the public authority to reply"
+msgstr "בהמתנה לתשובה של רשות ציבורית"
+
+msgid "Was the response you got to your FOI request any good?"
+msgstr "האם קיבלתם תגובה מספקת על בקשת המידע שלכם?"
+
+msgid "We do not have a working request email address for this authority."
+msgstr "אין ברשותנו כתובת דוא\"ל פעילה להגשת בקשות מידע לרשות זו."
+
+msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
+msgstr "אין ברשותנו {{law_used_full}} כתובת פעילה ל- {{public_body_name}}."
+
+msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"%s\">details</a>). "
+msgstr ""
+
+msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
+msgstr ""
+
+msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
+msgstr "אנחנו לא נחשוף את כתובות המייל שלכם לאף אחד, אלא אם נידרש על פי חוק."
+
+msgid "We're waiting for"
+msgstr "אנחנו ממתינים עבור"
+
+msgid "We're waiting for someone to read"
+msgstr "אנו ממתינים שמישהו יקרא"
+
+msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
+msgstr ""
+
+msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
+msgstr "שלחנו לכם דואר אלקטרוני ואתם צריכים להקליק על הקישור בהודעה לפני שתוכלו להמשיך."
+
+msgid "We've sent you an email, click the link in it, then you can change your password."
+msgstr "שלחנו לכם הודעת דוא\"ל עם קישור. הקליקו עליו כדי לשנות את הסיסמה."
+
+msgid "What are you doing?"
+msgstr "מה אתם עושים?"
+
+msgid "What best describes the status of this request now?"
+msgstr "מה בדיוק מתאר את הבקשה הזאת כעת?"
+
+msgid "What information has been released?"
+msgstr "איזה מידע הוצג?"
+
+msgid "What information has been requested?"
+msgstr "אילו בקשות כבר הוגשו?"
+
+msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
+msgstr ""
+
+msgid "When you receive the paper response, please help\\n others find out what it says:"
+msgstr ""
+
+msgid "When you're done, <strong>come back here</strong>, <a href=\"%s\">reload this page</a> and file your new request."
+msgstr "כשתסיימו, <strong>חזרו לכאן</strong>, <a href=\"%s\">כנסו שוב לדף הזה</a> והגישו את בקשתכם."
+
+msgid "Which of these is happening?"
+msgstr "מה מהדברים הללו קורה?"
+
+msgid "Who can I request information from?"
+msgstr "ממי ניתן לבקש מידע?"
+
+msgid "Withdrawn by the requester."
+msgstr "בוטל על-ידי מגיש הבקשה"
+
+msgid "Wk"
+msgstr "Wk"
+
+msgid "Would you like to see a website like this in your country?"
+msgstr "האם תרצה לראות אתר אינטרנט כזה בישראל?"
+
+msgid "Write a reply"
+msgstr "כתבו תשובה"
+
+msgid "Write a reply to "
+msgstr "כתבו תשובה אל"
+
+msgid "Write your FOI follow up message to "
+msgstr "כתבו את בקשת המעקב למידע ל-"
+
+msgid "Write your request in <strong>simple, precise language</strong>."
+msgstr "כתבו את בקשתכם <strong>בשפה פשוטה ומדוייקת</strong>."
+
+msgid "You"
+msgstr "אתם"
+
+msgid "You are already following new requests"
+msgstr "אתם כבר עוקבים אחר בקשות חדשות"
+
+msgid "You are already following requests to {{public_body_name}}"
+msgstr "אתם כבר עוקבים אחר בקשות חדשות עבור {{public_body_name}}"
+
+msgid "You are already following things matching this search"
+msgstr "אתם כבר עוקבים אחר דברים התואמים את החיפוש הנ\"ל"
+
+msgid "You are already following this person"
+msgstr "אתם כבר עוקבים אחר האדם הזה"
+
+msgid "You are already following this request"
+msgstr "אתם כבר עוקבים אחר הבקשה הזאת"
+
+msgid "You are already following updates about {{track_description}}"
+msgstr "אתם כבר עוקבים אחר עדכונים אודות {{track_description}}"
+
+msgid "You are currently receiving notification of new activity on your wall by email."
+msgstr "אתם כעת מקבלים עדכונים אודות פעילות חדשה על הקיר שלכם באמצעות האימייל."
+
+msgid "You are following all new successful responses"
+msgstr "אתם עוקבים אחר כל הבקשות החדשות שהצליחו"
+
+msgid "You are no longer following {{track_description}}."
+msgstr "אתה לא עוקב יותר אחרי {{track_description}}"
+
+msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
+msgstr "אתם כעת <a href=\"{{wall_url_user}}\">עוקבים</a> אחר עדכונים אודות {{track_description}}"
+
+msgid "You can <strong>complain</strong> by"
+msgstr "אתם יכולים <strong>להתלונן</strong> עד"
+
+msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
+msgstr "אתם יכולים לשנות אחר אילו בקשות ומשתמשים אתם עוקבים <a href=\"{{profile_url}}\">בפרופיל שלכם</a>."
+
+msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
+msgstr ""
+
+msgid "You can only request information about the environment from this authority."
+msgstr "ניתן לבקש רק מידע סביבתי מרשות זו."
+
+msgid "You have a new response to the {{law_used_full}} request "
+msgstr "יש לך תשובה חדשה לחוק {{law_used_full}} "
+
+msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
+msgstr "מצאתם באג. <a href=\"{{contact_url}}\">צרו יתנו קשר</a> כדי לתאר את הבעיה."
+
+msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
+msgstr "עברתם את המכסה היומית המותרת להגשת בקשות מידע. לרוב מוגבלים המשתמשים ל- {{max_requests_per_user_per_day}} בקשות ביממה. תוכלו להגיש בקשה נוספת בעוד {{can_make_another_request}} שעות."
+
+msgid "You have made no Freedom of Information requests using this site."
+msgstr "טרם הגשתם בקשת מידע על-פי חוק חופש המידע באתר זה."
+
+msgid "You have now changed the text about you on your profile."
+msgstr "שינוי הפרופיל שלכם בוצע בהצלחה."
+
+msgid "You have now changed your email address used on {{site_name}}"
+msgstr "שינוי כתובת הדוא\"ל שלכם באתר {{site_name}} בוצע בהצלחה."
+
+msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
+msgstr ""
+
+msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
+msgstr "בהכירכם את הסיבה לתקלה, תוכלו <strong>להציע פתרון</strong>, כמו כתובת דוא\"ל פעילה.."
+
+msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
+msgstr ""
+
+msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"%s\">send it to us</a>."
+msgstr ""
+
+msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
+msgstr ""
+
+msgid "You need to be logged in to change the text about you on your profile."
+msgstr "יש להתחבר כדי לשנות את הפרופיל שלכם."
+
+msgid "You need to be logged in to change your profile photo."
+msgstr "יש להתחבר כדי לשנות את תמונת הפרופיל שלכם."
+
+msgid "You need to be logged in to clear your profile photo."
+msgstr "יש להתחבר כדי להסיר את תמונת הפרופיל שלכם."
+
+msgid "You need to be logged in to edit your profile."
+msgstr "דרוש חיבור למערכת על מנת לערוך את הפרופיל."
+
+msgid "You previously submitted that exact follow up message for this request."
+msgstr "כבר שלחתם בעבר את הודעת המעקב הזו."
+
+msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
+msgstr ""
+
+msgid "You want to <strong>give your postal address</strong> to the authority in private."
+msgstr "אתם מעוניינים <strong>למסור את כתובת הדואר שלכם</strong> לרשות באופן פרטי."
+
+msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
+msgstr ""
+
+msgid "You will no longer be emailed updates for those alerts"
+msgstr "לא תקבלו יותר התרעות אלה בדוא\"ל"
+
+msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
+msgstr "כעת תקבלו עדכונים באימייל אודות t {{track_description}}. <a href=\"{{change_email_alerts_url}}\">מעדיפים לא לקבל אימיילים?</a>"
+
+msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
+msgstr ""
+
+msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
+msgstr ""
+
+msgid "You're long overdue a response to your FOI request - "
+msgstr "אתם ממתינים זמן רב מידי לתגובה על בקשת מידע - "
+
+msgid "You're not following anything."
+msgstr "אתם לא עוקבים אחר דבר."
+
+msgid "You've now cleared your profile photo"
+msgstr "תמונת הפרופיל שלכם הוסרה בהצלחה"
+
+msgid "Your %d Freedom of Information request"
+msgid_plural "Your %d Freedom of Information requests"
+msgstr[0] "בקשת המידע מס' %d שלכם"
+msgstr[1] " %d בקשות המידע שלכם"
+
+msgid "Your %d annotation"
+msgid_plural "Your %d annotations"
+msgstr[0] "הערה מס' %d שלכם"
+msgstr[1] "%d ההערות שלכם"
+
+msgid "Your <strong>name will appear publicly</strong> \\n (<a href=\"%s\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please \\n <a href=\"%s\">read this first</a>."
+msgstr ""
+
+msgid "Your annotations"
+msgstr "ההערות שלכם"
+
+msgid "Your details, including your email address, have not been given to anyone."
+msgstr "הפרטים שלכם, כולל כתובת הדואר האלקטרוני, לא ניתנו לאף אחד."
+
+msgid "Your e-mail:"
+msgstr "הדוא\"ל שלכם:"
+
+msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"%s\">contact us</a> if you really want to send a follow up message."
+msgstr "הודעת המעקב שלכם לא נשלחה, כי היא זוהתה כדואר זבל. <a href=\"%s\">נא צרו איתנו קשר</a>אם אתם באמת מעוניינים לשלוח אותה."
+
+msgid "Your follow up message has been sent on its way."
+msgstr "הודעת המעקב שלכם נשלחה בהצלחה."
+
+msgid "Your internal review request has been sent on its way."
+msgstr "בקשת הבדיקה הפנימית שלכם נשלחה בהצלחה."
+
+msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
+msgstr "ההודעה שלכם נשלחה. תודה שיצרתם קשר. נשוב אליכם בקרוב."
+
+msgid "Your message to {{recipient_user_name}} has been sent"
+msgstr "ההודעה שלך עבור{{recipient_user_name}} נשלחה"
+
+msgid "Your message to {{recipient_user_name}} has been sent!"
+msgstr "הודעתכם ל- {{recipient_user_name}}נשלחה!"
+
+msgid "Your message will appear in <strong>search engines</strong>"
+msgstr "הודעתכם תופיע <strong>במנועי החיפוש</strong>"
+
+msgid "Your name and annotation will appear in <strong>search engines</strong>."
+msgstr "שמכם וההערה שלכם יופיעו <strong>במנועי החיפוש</strong>."
+
+msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"%s\">details</a>)."
+msgstr ""
+
+msgid "Your name:"
+msgstr "שמכם:"
+
+msgid "Your original message is attached."
+msgstr "הההודעה המקורית שלכם מצורפת."
+
+msgid "Your password has been changed."
+msgstr "הסיסמה שונתה בהצלחה."
+
+msgid "Your password:"
+msgstr "הסיסמה שלכם:"
+
+msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
+msgstr ""
+
+msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
+msgstr "הבקשה שלכם נקראת {{info_request}}. אם תודיעו זאת לאחרים נוכל לעדכן את התווית"
+
+msgid "Your request:"
+msgstr "בקשתכם:"
+
+msgid "Your response to an FOI request was not delivered"
+msgstr "התגובה שלך לבקשה לפי חוק חופש המידע לא נשלחה"
+
+msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"%s\">read why</a> and answers to other questions."
+msgstr "תגובתכם <strong>תופיע באינטרנט</strong>, <a href=\"%s\">קראו מדוע</a> and וצפו בתשובות לשאלות נוספות."
+
+msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
+msgstr "דעתכם על מה {{site_name}} <strong>שמנהלי האתר</strong> צרכים לעשות בקשר לבקשה."
+
+msgid "Your {{site_name}} email alert"
+msgstr "התרעת הדוא\"ל שלכם מאתר {{site_name}} "
+
+msgid "Yours faithfully,"
+msgstr "שלכם במסירות,"
+
+msgid "Yours sincerely,"
+msgstr "שלכם בכנות,"
+
+msgid "[FOI #{{request}} email]"
+msgstr "[FOI #{{request}} email]"
+
+msgid "[{{public_body}} request email]"
+msgstr "[{{public_body}}הדוא\"ל המבוקש]"
+
+msgid "[{{site_name}} contact email]"
+msgstr "[{{site_name}} דוא\"ל ליצירת קשר]"
+
+msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
+msgstr ""
+
+msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
+msgstr "משפט קצר אחד לגבי המידע שאתם מבקשים, \\n»»»e.g."
+
+msgid "admin"
+msgstr "מנהל"
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
+msgid "all requests"
+msgstr "כל הבקשות"
+
+msgid "also called {{public_body_short_name}}"
+msgstr "הנקרא גם {{public_body_short_name}}"
+
+msgid "an anonymous user"
+msgstr "משתמש אנונימי"
+
+msgid "and"
+msgstr "וְ"
+
+msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
+msgstr "ועדכנו את הסטטוס בהתאם. <strong>האם תרצו</strong> לסייע בכך שתעשו זאת?"
+
+msgid "and update the status."
+msgstr "ועדכנו את הסטטוס."
+
+msgid "and we'll suggest <strong>what to do next</strong>"
+msgstr "ונציע <strong>מה לעשות בהמשך</strong>"
+
+msgid "any <a href=\"/list\">new requests</a>"
+msgstr "כל <a href=\"/list\">בקשה חדשה</a>"
+
+msgid "any <a href=\"/list/successful\">successful requests</a>"
+msgstr "כל <a href=\"/list/successful\">בקשה שהצליחה</a>"
+
+msgid "anything"
+msgstr "הכל"
+
+msgid "are long overdue."
+msgstr "עברו את תאריך היעד."
+
+msgid "at"
+msgstr ""
+
+msgid "authorities"
+msgstr "רשויות"
+
+msgid "awaiting a response"
+msgstr "ממתין לבקשה"
+
+msgid "beginning with ‘{{first_letter}}’"
+msgstr "להתחיל ב- ‘{{first_letter}}’"
+
+msgid "between two dates"
+msgstr "בין שני תאריכים"
+
+msgid "but followupable"
+msgstr ""
+
+msgid "by"
+msgstr "מאת"
+
+msgid "by <strong>{{date}}</strong>"
+msgstr "עד תאריך <strong>{{date}}</strong>"
+
+msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
+msgstr "על-ידי {{public_body_name}} עד {{info_request_user}} בתאריך {{date}}."
+
+msgid "by {{user_link_absolute}}"
+msgstr "עד {{user_link_absolute}}"
+
+msgid "comments"
+msgstr "הערות"
+
+msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
+msgstr ""
+
+msgid "details"
+msgstr "פרטים"
+
+msgid "display_status only works for incoming and outgoing messages right now"
+msgstr "display_status עובד רק לגבי הצעות המתקבלות ונשלחות עכשיו"
+
+msgid "during term time"
+msgstr "במהלך התקופה"
+
+msgid "edit text about you"
+msgstr "ערכו את הטקסט עליכם"
+
+msgid "even during holidays"
+msgstr "גם בימי חג"
+
+msgid "everything"
+msgstr "הכל"
+
+msgid "external"
+msgstr "חיצוני"
+
+msgid "has reported an"
+msgstr "דווח ש- "
+
+msgid "have delayed."
+msgstr "התעכב"
+
+msgid "hide quoted sections"
+msgstr "הסתר פסקאות מצוטטות"
+
+msgid "in term time"
+msgstr "בתקופת הזמן"
+
+msgid "in the category ‘{{category_name}}’"
+msgstr "בקטגוריה ‘{{category_name}}’"
+
+msgid "internal error"
+msgstr "שגיאה פנימית"
+
+msgid "internal reviews"
+msgstr "ביקורות פנימיות"
+
+msgid "is <strong>waiting for your clarification</strong>."
+msgstr " <strong>ממתין להבהרות שלכם</strong>."
+
+msgid "just to see how it works"
+msgstr "רק כדי לראות איך זה עובד"
+
+msgid "left an annotation"
+msgstr "השאיר הודעה"
+
+msgid "made."
+msgstr "בוצע"
+
+msgid "matching the tag ‘{{tag_name}}’"
+msgstr "תואם לתווית ‘{{tag_name}}’"
+
+msgid "messages from authorities"
+msgstr "מסר מהרשויות"
+
+msgid "messages from users"
+msgstr "הודעות ממשתמשים"
+
+msgid "move..."
+msgstr ""
+
+msgid "no later than"
+msgstr "לא יאוחר מ"
+
+msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"%s\">send it to us</a>."
+msgstr ""
+
+msgid "normally"
+msgstr "באופן כללי"
+
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
+msgid "please sign in as "
+msgstr "בבקשה התחבר כ"
+
+msgid "requesting an internal review"
+msgstr "מבקש בדיקה פנימית"
+
+msgid "requests"
+msgstr "בקשות"
+
+msgid "requests which are {{list_of_statuses}}"
+msgstr "בקשות שהן {{list_of_statuses}}"
+
+msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
+msgstr ""
+
+msgid "send a follow up message"
+msgstr "שלח הודעת מעקב"
+
+msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "נשלח ל- {{public_body_name}} על-ידי {{info_request_user}} בתאריך {{date}}."
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
+msgid "show quoted sections"
+msgstr "הצג פסקאות מצוטטות"
+
+msgid "sign in"
+msgstr "התחבר"
+
+msgid "simple_date_format"
+msgstr "simple_date_format"
+
+msgid "successful"
+msgstr "עבר בהצלחה"
+
+msgid "successful requests"
+msgstr "בקשות מוצלחות"
+
+msgid "that you made to"
+msgstr "שביצעתם כדי"
+
+msgid "the main FOI contact address for {{public_body}}"
+msgstr "כתובת הקשר העיקרית לבקשות מידע {{public_body}}"
+
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
+msgid "the main FOI contact at {{public_body}}"
+msgstr "איש הקשר העיקרי לבקשות מידע ב- {{public_body}}"
+
+msgid "the requester"
+msgstr "המבקש"
+
+msgid "the {{site_name}} team"
+msgstr "צוות האתר {{site_name}}"
+
+msgid "to read"
+msgstr "לקריאה"
+
+msgid "to send a follow up message."
+msgstr "לשלוח הודעת מעקב."
+
+msgid "to {{public_body}}"
+msgstr "עבור {{public_body}}"
+
+msgid "unexpected prominence on request event"
+msgstr "תקלה בלתי צפויה בבקשה"
+
+msgid "unknown reason "
+msgstr "סיבה לא ידוע"
+
+msgid "unknown status "
+msgstr "ססטוס לא ידוע"
+
+msgid "unresolved requests"
+msgstr "בקשות שלא נענו"
+
+msgid "unsubscribe"
+msgstr "בטל הרשמה"
+
+msgid "unsubscribe all"
+msgstr "בטל הרשמה מהכל"
+
+msgid "unsuccessful"
+msgstr "לא הצליח"
+
+msgid "unsuccessful requests"
+msgstr "בקשה לא מוצלחת"
+
+msgid "useful information."
+msgstr "מידע שימושי."
+
+msgid "users"
+msgstr "משתמשים"
+
+msgid "{{count}} FOI requests found"
+msgstr "{{count}} בקשות מידע נמצאו"
+
+msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
+msgstr ""
+
+msgid "{{info_request_user_name}} only:"
+msgstr "{{info_request_user_name}} רק:"
+
+msgid "{{law_used_full}} request - {{title}}"
+msgstr "{{law_used_full}}בקשה - {{title}}"
+
+msgid "{{law_used_full}} request GQ - {{title}}"
+msgstr "{{law_used_full}} בקשת GQ - {{title}}"
+
+msgid "{{law_used}} requests at {{public_body}}"
+msgstr "{{law_used}} בקשות ב{{public_body}}"
+
+msgid "{{length_of_time}} ago"
+msgstr "לפני {{length_of_time}}"
+
+msgid "{{list_of_things}} matching text '{{search_query}}'"
+msgstr "{{list_of_things}} טקסט תואם '{{search_query}}'"
+
+msgid "{{number_of_comments}} comments"
+msgstr "{{number_of_comments}} הערות"
+
+msgid "{{public_body_link}} answered a request about"
+msgstr "{{public_body_link}} השיב לבקשה בנושא"
+
+msgid "{{public_body_link}} was sent a request about"
+msgstr "ל{{public_body_link}} נשלחה בקשה בנושא"
+
+msgid "{{public_body_name}} only:"
+msgstr "{{public_body_name}} רק:"
+
+msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
+msgstr "{{public_body}} ביקש מכם להסביר חלק מה{{law_used}} בבקשה."
+
+msgid "{{public_body}} sent a response to {{user_name}}"
+msgstr "{{public_body}} שלח/ה תגובה ל- {{user_name}}"
+
+msgid "{{reason}}, please sign in or make a new account."
+msgstr "{{reason}}, בבקשה התחברו או צרו חשבון חדש."
+
+msgid "{{search_results}} matching '{{query}}'"
+msgstr "{{search_results}} תואם '{{query}}'"
+
+msgid "{{site_name}} blog and tweets"
+msgstr "{{site_name}} בלוג וציוצים"
+
+msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
+msgstr "{{site_name}}מטפל בבקשות ל- {{number_of_authorities}}רשויות, כולל:"
+
+msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
+msgstr "{{site_name}} שולח בקשות חדשות ל- <strong>{{request_email}}</strong>עבור רשות זו."
+
+msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr "משתמשי {{site_name}} הגישו {{number_of_requests}} בקשות, ובהן:"
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
+msgid "{{title}} - a Freedom of Information request to {{public_body}}"
+msgstr "{{title}} - בקשת מידע עבור {{public_body}}"
+
+msgid "{{user_name}} (Account suspended)"
+msgstr "{{user_name}} (חשבון הושעה)"
+
+msgid "{{user_name}} - Freedom of Information requests"
+msgstr "בקשות המידע של - {{user_name}} "
+
+msgid "{{user_name}} - user profile"
+msgstr "פרופיל משתמש - {{user_name}}"
+
+msgid "{{user_name}} added an annotation"
+msgstr "{{user_name}} הוסיף הערה"
+
+msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
+msgstr ""
+
+msgid "{{user_name}} has used {{site_name}} to send you the message below."
+msgstr "{{user_name}} השתמש באתר {{site_name}} לשלוח את ההודעה הבאה."
+
+msgid "{{user_name}} sent a follow up message to {{public_body}}"
+msgstr "{{user_name}} שלח בקשת מעקב ל- {{public_body}}"
+
+msgid "{{user_name}} sent a request to {{public_body}}"
+msgstr "{{user_name}} שלח בקשה ל- {{public_body}}"
+
+msgid "{{username}} left an annotation:"
+msgstr "{{username}} הוסיף הערה:"
+
+msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+msgstr "{{user}} ({{user_admin_link}})ביקש את {{law_used_full}} (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
+
+msgid "{{user}} made this {{law_used_full}} request"
+msgstr "{{user}} הגיש בקשה מתוקף {{law_used_full}} זה"
diff --git a/locale/hu_HU/app.po b/locale/hu_HU/app.po
index 3cf77a102..6b3aaf367 100644
--- a/locale/hu_HU/app.po
+++ b/locale/hu_HU/app.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:12+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: hu_HU\n"
@@ -126,6 +126,9 @@ msgstr "'{{link_to_request}}', igénylés "
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', személy "
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -356,6 +359,9 @@ msgstr "A válasz <strong>postai úton</strong> érkezik"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Furcsa válasz, amelyre felfigyelt a {{site_name}} csapata "
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "{{site_name}} felhasználó "
@@ -447,6 +453,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Bárki:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Kérése irányulhat <strong>konkrét</strong> dokumentumokra vagy információkra, de az oldal általános tudakozódásra nem alkalmas. "
@@ -488,6 +497,9 @@ msgstr "A vonatkozó jogszabály értelmében a(z) {{public_body_link}} munkat
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "A vonatkozó jogszabály értelmében a(z) {{public_body_link}} adatgazdának normális esetben"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "{{site_name}} értesítő törlése "
@@ -660,6 +672,9 @@ msgstr "Dátum: "
msgid "Dear {{public_body_name}},"
msgstr "Tisztelt {{public_body_name}}! "
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Késedelmes válasz a közérdekű adatok igénylésére - "
@@ -669,6 +684,9 @@ msgstr "Késedelmes. "
msgid "Delivery error"
msgstr "Továbbítási hiba "
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Igénylés részletei ' "
@@ -681,6 +699,9 @@ msgstr "Jognyilatkozat: Ezt az üzenetet és az ön válaszát is közzétesszü
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Nem kívánja üzenetét {{person_or_body}} számára elküldeni? A következőnek is írhat: "
@@ -699,14 +720,14 @@ msgstr "Eredeti melléklet letöltése "
msgid "EIR"
msgstr "Környezeti információról szóló rendeletet "
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Módosítsa a fenti üzenetet úgy, hogy <strong>részletezi</strong>,\n"
" hogy miért elégedetlen a kapott válasszal."
-msgid "Edit language version:"
-msgstr "A nyelv módosítása: "
-
msgid "Edit text about you"
msgstr "Bemutatkozásom módosítása "
@@ -746,13 +767,16 @@ msgstr "Eseménytörténet"
msgid "Event history details"
msgstr "Eseménytörténet részletei "
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Minden, amit itt beír, \n"
" örökre <strong>látható lesz</strong> ezen\n"
" a weboldalon. (<a href=\"{{url}}\">Itt olvashat arról, hogy miért van ez így</a>) "
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Az <strong>ön neve</strong>, valamint minden, amit itt beír,\n"
" örökre <strong>látható marad</strong> ezen\n"
@@ -764,6 +788,9 @@ msgstr "KözAdat"
msgid "FOI email address for {{public_body}}"
msgstr "{{public_body}} közérdekű adatok igényléséhez használt e-mail címe "
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Közérdekűadat-igénylések "
@@ -950,6 +977,9 @@ msgstr ""
" olvassa el, és segítsen nekünk, hogy mindenki számára rendezett legyen ez a webhely.\n"
" Köszönjük. "
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -962,6 +992,9 @@ msgstr "Holiday|Description"
msgid "Home"
msgstr "Címlap"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Az adatgazda weboldala "
@@ -1014,6 +1047,15 @@ msgstr "Megkaptam <strong>az információk egy részét</strong>."
msgid "I've received an <strong>error message</strong>"
msgstr "<strong>Hibaüzenetet</strong> kaptam "
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Ha hibás a cím, vagy ismer egy jobb címet, <a href=\"{{url}}\">lépjen velünk kapcsolatba</a>. "
@@ -1092,6 +1134,9 @@ msgstr ""
"Ha böngészőjében engedélyezve van a sütik fogadása, és látja ezt az üzenetet,\n"
"valószínűleg hiba van a kiszolgálónkkal. "
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1211,6 +1256,9 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Regisztráció éve:"
@@ -1237,9 +1285,27 @@ msgstr ""
msgid "Link to this"
msgstr "Hivatkozása ide "
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Az rendszerünkben található adatgazdák listája (CSV) "
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Jelentkezzen be, hogy a {{info_request_title}} tárgyú adatigénylési zip-fájlként letölthesse"
@@ -1341,6 +1407,9 @@ msgstr "Név már foglalt "
msgid "New Freedom of Information requests"
msgstr "Új közérdekűadat-igénylések "
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Új e-mail: "
@@ -1386,6 +1455,9 @@ msgstr "Nincsen találat. "
msgid "No similar requests found."
msgstr "Nincsen hasonló igénylés. "
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "{{public_body_name}} még nem kapott közérdekűadat-igénylést a KiMitTud weboldalon keresztül."
@@ -1395,6 +1467,9 @@ msgstr "Nem található."
msgid "None made."
msgstr "Még nincs."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1440,6 +1515,9 @@ msgstr "Egy személy található "
msgid "One public authority found"
msgstr "Egy adatgazda található a rendszerünkben"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Csak a {{site_name}} weboldalon benyújtott igénylések láthatók. "
@@ -1642,9 +1720,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Írja be üzenetét és/vagy válassza ki a válaszát tartalmazó fájlt. "
-msgid "Please use the form below to tell us more."
-msgstr "Az alábbi űrlapon további részleteket is megadhat. "
-
msgid "Please use this email address for all replies to this request:"
msgstr "Ezt az e-mail címet használja, amikor erre az igénylésre válaszol: "
@@ -1735,12 +1810,24 @@ msgstr "Adatgazdák - {{description}} "
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Adatgazdák: {{start_count}} - {{end_count}}, összesen: {{total_count}} "
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1813,6 +1900,9 @@ msgstr "PublicBody|Version"
msgid "Publication scheme"
msgstr "Közzétételi rendszer "
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1872,6 +1962,9 @@ msgstr "Belső felülvizsgálat kérése"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Belső felülvizsgálat kérése {{person_or_body}}-tól/-től "
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Igénylés el lett távolítva "
@@ -1973,6 +2066,9 @@ msgstr[1] "Keresés a {{count}} {{public_body_name}}-t érintő adatigénylésbe
msgid "Search your contributions"
msgstr "Keresés az adatigényléseimben"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Válassza ki a keresett adatgazdát az alábbi listából!"
@@ -2006,6 +2102,9 @@ msgstr "Igénylés küldése "
msgid "Set your profile photo"
msgstr "Profilkép beállítása "
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Rövid név már foglalt "
@@ -2105,6 +2204,9 @@ msgstr "Mehet"
msgid "Submit status"
msgstr "Az igénylés státuszának beállítása "
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Feliratkozás a blogra "
@@ -2126,6 +2228,9 @@ msgstr "Állapottáblázat"
msgid "Table of varieties"
msgstr "Választéktáblázat"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Címkék (szóközzel elválasztva): "
@@ -2153,6 +2258,9 @@ msgstr "Köszönjük, hogy frissítette az igénylést. "
msgid "Thank you for updating your profile photo"
msgstr "Köszönjük, hogy frissítette profilképét "
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Köszönjük segítségét - munkájának köszönhetően bárki egyszerűbben találhatja meg a sikeres\n"
@@ -2244,13 +2352,13 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "Az igénylő valami miatt felhagyott igénylésével"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Az igénylésére való válasz <strong>késik</strong>. ön mondhatja azt, hogy \n"
" a jogszabály értelmében a közintézménynek általában \n"
" <strong>azonnal</strong> kellett volna válaszolnia, és "
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Az igénylését már <strong>régen meg kellett volna válaszolni</strong>. ön mondhatja azt, hogy \n"
" a jogszabály értelmében a közintézménynek minden körülmények közt válaszolnia kellett volna\n"
@@ -2410,6 +2518,9 @@ msgstr ""
"Ennek az a magyarázata, hogy a(z) {{title}} igénylés már régi,\n"
"amelyre jelölése miatt már nem érkezik válasz. "
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Ez az ön saját igénylése, így automatikusan e-mail üzenetet kap, ha válasz érkezik. "
@@ -2485,6 +2596,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Ez az igénylés még mindig folyamatban van: "
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2700,6 +2814,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2754,6 +2871,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Az adatgazda e-mail címe (amelyre a közérdekűadat-igényléseket elküldjük)"
@@ -3142,6 +3262,9 @@ msgstr "Az igényelt információk összefoglalása egy sorban. pl:<br/>"
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr " minden igénylés "
@@ -3175,6 +3298,9 @@ msgstr "bármi"
msgid "are long overdue."
msgstr "adatgazdának már régen válaszolnia kellett volna."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "közintézmények"
@@ -3187,6 +3313,9 @@ msgstr "‘{{first_letter}}’ kezdőbetűvel "
msgid "between two dates"
msgstr "két dátum között "
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "által"
@@ -3270,6 +3399,9 @@ msgstr "közintézményektől érkező üzenetek "
msgid "messages from users"
msgstr "felhasználóktól érkező üzenetek "
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "nem később, mint "
@@ -3283,6 +3415,9 @@ msgstr ""
msgid "normally"
msgstr "normális esetben "
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "jelentkezzen be mint "
@@ -3306,6 +3441,9 @@ msgstr "nyomon követési üzenet küldése "
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "{{info_request_user}} {{public_body_name}} adatgazdánál {{date}} -n. "
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3327,6 +3465,11 @@ msgstr "amelyeket ön nyújtott be a(z) "
msgid "the main FOI contact address for {{public_body}}"
msgstr "{{public_body}} közérdekűadat-igényléshez használt elsődleges e-mail címe "
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "{{public_body}} közérdekűadat-igénylésekkel foglalkozó elsődleges kapcsolattartója "
@@ -3438,6 +3581,9 @@ msgstr "A {{site_name}} új igénylést küld a(z) <strong>{{request_email}}</st
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "A {{site_name}} felhasználói eddig {{number_of_requests}} igényléssel fordultak az adatgazdákhoz a rendszerünk segítségével. Ilyenek például: "
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/id/app.po b/locale/id/app.po
index b7067edc0..2bdcb00ec 100644
--- a/locale/id/app.po
+++ b/locale/id/app.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <agung@airputih.or.id>, 2013.
# <agus.triwanto@gmail.com>, 2012.
# <ariadi01@gmail.com>, 2012.
# <bobo@airputih.org>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
-"Last-Translator: louisecrow <louise@mysociety.org>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-15 04:39+0000\n"
+"Last-Translator: njung <agung@airputih.or.id>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
@@ -100,7 +101,7 @@ msgid " when you send this message."
msgstr " saat Anda mengirim pesan ini."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Halo! Kami mempunyai <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">pesan penting</a> untuk pengunjung diluar {{country_name}}\""
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
@@ -129,6 +130,9 @@ msgstr "'{{link_to_request}}', sebuah permintaan"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', seseorang"
+msgid "*unknown*"
+msgstr "*Tidak diketahui*"
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -155,7 +159,7 @@ msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or other
msgstr "<a href=\"{{url}}\">Tambahkan anotasi</a> (untuk membantu peminta informasi atau yang lain)"
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "Adakah otoritas publik yang belum kami cantumkan?"
msgid "Are you the owner of any commercial copyright on this page?"
msgstr "Apakah Anda pemilik dari hak cipta komersial di halaman ini?"
@@ -313,15 +317,16 @@ msgid "<strong>Clarification</strong> has been requested"
msgstr "<strong>Klarifikasi</strong> sudah dimintakan."
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
+
msgstr ""
"<strong>Belum ada respon</strong> yang diterima\n"
" <small>(mungkin hanya ada sebuah sambutan)</small>"
msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
-msgstr ""
+msgstr "<strong>Catatan:</strong> Karena kami melakukan ujicoba, permintaan akan dikirim ke {{email}} daripada otoritas sebenarnya."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Catatan:</strong> Anda mengirim pesan kepada Anda sendiri, sepertinya untuk mencoba bagaimana ini bekerja."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
msgstr ""
@@ -335,7 +340,7 @@ msgstr ""
" Anda sendiri maka <a href=\"{{url}}\">click here</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Catatan privasi:</strong> Foto Anda akan ditampilkan secara terbuka di internet,\\n di mana pun anda melakukan sesuatu pada {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
msgstr ""
@@ -375,6 +380,9 @@ msgstr "Respon akan dikirimkan <strong>lewat pos </strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Respon yang tidak biasa, membutuhkan perhatian tim {{site_name}}"
+msgid "A vexatious request"
+msgstr "Sebuah permintaan menjengkelkan"
+
msgid "A {{site_name}} user"
msgstr "Pengguna{{site_name}}"
@@ -448,7 +456,7 @@ msgid "An Environmental Information Regulations request"
msgstr "Permintaan Peraturan Informasi Lingkungan"
msgid "An anonymous user"
-msgstr ""
+msgstr "Sebuah pengguna anonim"
msgid "Annotation added to request"
msgstr "Anotasi ditambahkan untuk meminta"
@@ -465,11 +473,14 @@ msgstr ""
" <strong>tidak</strong> dikirimkan ke{{public_body_name}}"
msgid "Anonymous user"
-msgstr ""
+msgstr "Pengguna anonim"
msgid "Anyone:"
msgstr "Siapapun:"
+msgid "Applies to"
+msgstr "Berlaku untuk"
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Meminta <strong>dokumen atau informasi</strong> spesifik, situs ini tidak cocok untuk pertanyaan umum."
@@ -511,6 +522,9 @@ msgstr "Berdasarkan undang-undang, dalam semua keadaan, {{public_body_link}} sek
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Berdasarkan undang-undang, {{public_body_link}} seharusnya sudah menanggapi <strong>pada waktunya</strong> dan"
+msgid "Calculated home page"
+msgstr "Terhitung halaman beranda"
+
msgid "Cancel a {{site_name}} alert"
msgstr "Membatalkan{{site_name}} tanda notifikasi"
@@ -530,7 +544,7 @@ msgid "CensorRule|Last edit editor"
msgstr "CensorRule|Last edit editor"
msgid "CensorRule|Regexp"
-msgstr ""
+msgstr "CensorRule | Regexp"
msgid "CensorRule|Replacement"
msgstr "CensorRule|Replacement"
@@ -587,7 +601,7 @@ msgid "Classify an FOI response from "
msgstr "Mengklasifikasi respon FOI dari "
msgid "Clear photo"
-msgstr ""
+msgstr "Bersihkan foto"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
msgstr ""
@@ -598,7 +612,7 @@ msgid "Click on the link below to send a message to {{public_body}} reminding th
msgstr "Klik tautan di bawah untuk mengirimkan pesan kepada{{public_body}} mengingatkan mereka untuk menjawab permintaan Anda."
msgid "Close"
-msgstr ""
+msgstr "Tutup"
msgid "Comment"
msgstr "Komentar"
@@ -655,7 +669,7 @@ msgid "Considered by administrators as vexatious and hidden from site."
msgstr "Pertimbangan administrator yang mengesalkan dan tersembunyi dari website"
msgid "Contact {{recipient}}"
-msgstr ""
+msgstr "Kontak {{recipient}}"
msgid "Contact {{site_name}}"
msgstr "Kontak {{site_name}}"
@@ -683,6 +697,9 @@ msgstr "Tanggal:"
msgid "Dear {{public_body_name}},"
msgstr "Yang terhormat {{public_body_name}},"
+msgid "Default locale"
+msgstr "Locale default"
+
msgid "Delayed response to your FOI request - "
msgstr "Respon yang tertunda atas permintaan FOI Anda - "
@@ -692,6 +709,9 @@ msgstr "Tertunda."
msgid "Delivery error"
msgstr "Kesalahan pengiriman"
+msgid "Destroy {{name}}"
+msgstr "Menghapus {{name}}"
+
msgid "Details of request '"
msgstr "Rincian permintaan '"
@@ -702,7 +722,10 @@ msgid "Disclaimer: This message and any reply that you make will be published on
msgstr "Sangkalan: Pesan ini dan balasan apapun yang Anda buat akan dimuat di Internet. Kebijakan privasi dan hak citpta kami:"
msgid "Disclosure log"
-msgstr ""
+msgstr "Pembukaan log"
+
+msgid "Disclosure log URL"
+msgstr "Pembukaan riwayat URL"
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Tidak mau mengalamatkan pesan Anda kepada {{person_or_body}}? Anda dapat juga menulis kepada:"
@@ -711,7 +734,7 @@ msgid "Done"
msgstr "Selesai"
msgid "Done &gt;&gt;"
-msgstr ""
+msgstr "Selesai &gt;&gt;"
msgid "Download a zip file of all correspondence"
msgstr "Unduh file zip dari semua korespondensi"
@@ -722,14 +745,14 @@ msgstr "Unduh lampiran original"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr "Ubah"
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Edit dan tambah<strong>lebih banyak rincian</strong> ke pesan di atas,\n"
" Menjelaskan mengapa Anda tidak puas dengan respon mereka."
-msgid "Edit language version:"
-msgstr "Edit versi bahasa:"
-
msgid "Edit text about you"
msgstr "Edit teks tentang Anda"
@@ -752,7 +775,7 @@ msgid "Enter words that you want to find separated by spaces, e.g. <strong>climb
msgstr "Masukkan kata-kata yang ingin Anda cari dipisahkan dengan spasi, contoh <strong>jalur pendakian</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
-msgstr ""
+msgstr "Masukkan respon Anda di bawah. Anda dapat melampirkan satu file (gunakan email, atau\\n <a href=\"{{url}}\">kontak kami</a> jika Anda butuh lebih)."
msgid "Environmental Information Regulations"
msgstr "Peraturan Informasi Lingkungan"
@@ -769,13 +792,16 @@ msgstr "Sejarah peristiwa"
msgid "Event history details"
msgstr "Rincian sejarah peristiwa"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr "Event {{id}}"
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Semua yang Anda masukkan di halama ini \n"
" akan<strong>ditampilkan secara terbuka </strong> di\n"
" website ini selamanya (<a href=\"{{url}}\">kenapa?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Semua yang Anda masukkan di halaman ini, termasuk<strong>nama Anda</strong>, \n"
" akan<strong>ditampilkan secara terbuka </strong> di\n"
@@ -787,6 +813,9 @@ msgstr "FOI"
msgid "FOI email address for {{public_body}}"
msgstr "Alamat email FOI untuk{{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr "Permintaan FOI - {{title}}"
+
msgid "FOI requests"
msgstr "Permintaan FOI"
@@ -884,7 +913,7 @@ msgid "Follow us on twitter"
msgstr "Ikuti kami di twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
-msgstr ""
+msgstr "Tindak lanjut tidak dapat dikirim untuk permintaan ini, seperti yang dibuat secara eksternal, dan ditampilkan disini oleh {{public_body_name}} pada atas nama peminta informasi."
msgid "For an unknown reason, it is not possible to make a request to this authority."
msgstr "Untuk alasan yang tidak diketahui, Anda tidak dapat mengajukan permintaan kepada otoritas ini."
@@ -894,7 +923,7 @@ msgstr "Lupa kode sandi Anda?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
-msgstr[0] ""
+msgstr[0] "Menemukan {{count}} otoritas publik {{description}}""
msgid "Freedom of Information"
msgstr "Freedom of Information"
@@ -929,7 +958,7 @@ msgid "Freedom of information requests to"
msgstr "Permintaan Freedom of information kepada"
msgid "From"
-msgstr ""
+msgstr "Dari"
msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
msgstr ""
@@ -971,6 +1000,9 @@ msgstr ""
" waktu untuk membacanya dan membantu kami menjaga agar tempat ini tetap rapi untuk semua orang?\n"
" Terima kasih."
+msgid "Hide request"
+msgstr "Sembunyikan permintaan"
+
msgid "Holiday"
msgstr "Liburan"
@@ -983,6 +1015,9 @@ msgstr "Hari libur|Deskripsi"
msgid "Home"
msgstr "Awal"
+msgid "Home page"
+msgstr "Halaman beranda"
+
msgid "Home page of authority"
msgstr "Situs web otoritas"
@@ -1035,6 +1070,16 @@ msgstr "Saya sudah menerima <strong>beberapa informasi</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Saya sudah menerima <strong>pesan error</strong>"
+msgid "I've received an error message"
+msgstr "Saya menerima pesan error"
+
+msgid "Id"
+msgstr "Id"
+
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr "Jika errornya adalah kegagalan pengiriman, dan Anda dapat menemukan alamat email FOI otoritas publik yang baru, silakan memberi tahu kami menggunakan form dibawah ini."
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Jika alamatnya salah, atau Anda tahu alamat yang lebih baik, silakan <a href=\"{{url}}\">hubungi kami</a>."
@@ -1065,7 +1110,7 @@ msgid "If you are {{user_link}}, please"
msgstr "Jika Anda adalah {{user_link}}, silakan"
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Jika anda yakin permintaan ini tidak sesuai, Anda dapat melaporkannya sehingga menjadi perhatian administrator situs"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
msgstr ""
@@ -1090,7 +1135,7 @@ msgid "If you have not done so already, please write a message below telling the
msgstr "Jika Anda belum melakukannya, silakan tulis pesan di bawah untuk member tahu otoritas bahwa Anda telah menarik permintaan Anda. Jika tidak, mereka tidak akan tahu bahwa permintaan tersebut telah ditarik."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
-msgstr ""
+msgstr "Jika Anda membalas pesan ini maka akan diteruskan ke {{user_name}}, yang akan melihat alamat email Anda. Hanya balasan jika itu tidak apa-apa."
msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
msgstr ""
@@ -1113,6 +1158,9 @@ msgstr ""
"Jika browser Anda diatur untuk menerima cookie dan Anda melihat pesan ini,\n"
"maka kemungkinan ada kesalahan pada server kami."
+msgid "Incoming email address"
+msgstr "Email masuk"
+
msgid "Incoming message"
msgstr "Pesan Masuk"
@@ -1144,7 +1192,7 @@ msgid "IncomingMessage|Valid to reply to"
msgstr "IncomingMessage|Valid to reply to"
msgid "Individual requests"
-msgstr ""
+msgstr "Permintaan individu"
msgid "Info request"
msgstr "Info permintaan"
@@ -1180,16 +1228,16 @@ msgid "InfoRequest|Awaiting description"
msgstr "InfoRequest|Awaiting description"
msgid "InfoRequest|Comments allowed"
-msgstr ""
+msgstr "InfoRequest | Comments allowed"
msgid "InfoRequest|Described state"
msgstr "InfoRequest|Described state"
msgid "InfoRequest|External url"
-msgstr ""
+msgstr "InfoRequest | External url"
msgid "InfoRequest|External user name"
-msgstr ""
+msgstr "InfoRequest | External user name"
msgid "InfoRequest|Handle rejected responses"
msgstr "InfoRequest|Handle rejected responses"
@@ -1232,12 +1280,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr "Kesesuaian permintaan akan ditampilkan pada wall Anda."
+msgid "Items sent in last month"
+msgstr "Item terkirim pada akhir bulan"
+
msgid "Joined in"
msgstr "Bergabung di"
msgid "Joined {{site_name}} in"
msgstr "Bergabung {{site_name}} di"
+msgid "Just one more thing"
+msgstr "Satu hal lagi"
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Tetap <strong>fokus</strong>, Anda akan lebih mungkin untuk mendapatkan apa yang Anda inginkan (<a href=\"{{url}}\">mengapa?</a>)."
@@ -1258,9 +1312,27 @@ msgstr ""
msgid "Link to this"
msgstr "Tautan kepada ini"
+msgid "List all"
+msgstr "Daftar keseluruhan"
+
msgid "List of all authorities (CSV)"
msgstr "Daftar dari semua otoritas (CSV)"
+msgid "Listing FOI requests"
+msgstr "Daftar permintaan FOI"
+
+msgid "Listing public authorities"
+msgstr "Daftar otoritas publik"
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr "Daftar otoritas publik sesuai '{{query}}'"
+
+msgid "Listing tracks"
+msgstr "Daftar lacak"
+
+msgid "Listing users"
+msgstr "Daftar pengguna"
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Masuk untuk mengunduh file zip dari {{info_request_title}}"
@@ -1274,22 +1346,22 @@ msgid "Made between"
msgstr "Dibuat antara"
msgid "Mail server log"
-msgstr ""
+msgstr "Riwayat server email"
msgid "Mail server log done"
-msgstr ""
+msgstr "Riwayat server mail selesai"
msgid "MailServerLogDone|Filename"
-msgstr ""
+msgstr "MailServerLogDone | Filename"
msgid "MailServerLogDone|Last stat"
-msgstr ""
+msgstr "MailServerLogDone | Last stat"
msgid "MailServerLog|Line"
-msgstr ""
+msgstr "MailServerLog | Line"
msgid "MailServerLog|Order"
-msgstr ""
+msgstr "MailServerLog | Order"
msgid "Make a new <strong>Environmental Information</strong> request"
msgstr "Buat permintaan<strong>Informasi Lingkungan</strong> yang baru"
@@ -1317,10 +1389,10 @@ msgid "Make your own request"
msgstr "Buat permintaan Anda sendiri"
msgid "Many requests"
-msgstr ""
+msgstr "Banyak permintaan"
msgid "Message"
-msgstr ""
+msgstr "Pesan"
msgid "Message sent using {{site_name}} contact form, "
msgstr "Pesan dikirim menggunakan {{site_name}} kontak dari, "
@@ -1332,7 +1404,7 @@ msgid "More about this authority"
msgstr "Lebih jauh tentang otoritas ini"
msgid "More requests..."
-msgstr ""
+msgstr "Permintaan lainnya..."
msgid "More similar requests"
msgstr "Lebih banyak permintaan serupa"
@@ -1361,6 +1433,9 @@ msgstr "Nama sudah diambil"
msgid "New Freedom of Information requests"
msgstr "Permintaan Freedom of Information baru"
+msgid "New censor rule"
+msgstr "Peraturan sensor baru"
+
msgid "New e-mail:"
msgstr "Email baru:"
@@ -1374,7 +1449,7 @@ msgid "New password: (again)"
msgstr "Kode sandi baru: (lagi)"
msgid "New response to '{{title}}'"
-msgstr ""
+msgstr "Respon baru untuk '{{title}}'"
msgid "New response to your FOI request - "
msgstr "Respon baru untuk permintaan FOI Anda -"
@@ -1406,6 +1481,9 @@ msgstr "Tidak ditemukan hasil."
msgid "No similar requests found."
msgstr "Tidak ditemukan permintaan serupa."
+msgid "No tracked things found."
+msgstr "Tidak ditemukan hal-hal yang dilacak."
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Belum ada orang yang membuat permintaan Freedom of Information kepada{{public_body_name}} menggunakan situs ini."
@@ -1415,8 +1493,11 @@ msgstr "Tidak ditemukan."
msgid "None made."
msgstr "Tidak ada yang dibuat."
+msgid "Not a valid FOI request"
+msgstr "Permintaan FOI tidak valid"
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr ""
+msgstr "Catat bahwa peminta informasi tidak akan mendapat pemberitahuan tentang notasi Anda, karena permintaan ditampilkan oleh {{public_body_name}} atas nama mereka."
msgid "Now check your email!"
msgstr "Sekarang periksa email Anda!"
@@ -1460,6 +1541,9 @@ msgstr "Satu orang ditemukan"
msgid "One public authority found"
msgstr "Satu otoritas publik ditemukan"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr "Masukkan singkatan yang benar-benar digunakan, jika tidak biarkan kosong. Panjang atau pendek nama yang digunakan di URL - Jangan khawatir merusak URL melalui penggantian nama, sebagai riwayat yang digunakan untuk pengarahan"
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Hanya permintaan yang dibuat menggunakan {{site_name}} yang ditampilkan."
@@ -1512,7 +1596,7 @@ msgid "Paste this link into emails, tweets, and anywhere else:"
msgstr "Paste tautan ini ke email, tweets, dan tempat lain:"
msgid "People"
-msgstr ""
+msgstr "Masyarakat"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Orang{{start_count}} ke{{end_count}} dari{{total_count}}"
@@ -1651,20 +1735,16 @@ msgstr ""
msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
msgstr ""
"Mohon tandatangani bagian bawah dengan nama Anda, atau ubah \"{{signoff}}\" tanda tangan\n"
-"Silakan masuk sebagai "
msgid "Please sign in as "
msgstr "Silakan masuk sebagai"
msgid "Please sign in or make a new account."
-msgstr ""
+msgstr "Silakan masuk atau membuat akun baru"
msgid "Please type a message and/or choose a file containing your response."
msgstr "Slakan ketik pesan dan/atau pilih file yang berisi respon Anda."
-msgid "Please use the form below to tell us more."
-msgstr "Silakan gunakan formulir di bawah untuk memberitahu kami lebih banyak."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Silakan gunakan alamat email ini untuk semua balasan kepada permintaan ini:"
@@ -1755,14 +1835,26 @@ msgstr "Otoritas publik - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Ptoritas publik {{start_count}} ke{{end_count}} dari {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr "Otoritas publik - {{name}}"
+
msgid "Public body"
msgstr "Badan publik"
msgid "Public body/translation"
msgstr "Public body/translation"
+msgid "Public notes"
+msgstr "Catatan publik"
+
+msgid "Public page"
+msgstr "Halaman publik"
+
+msgid "Public page not available"
+msgstr "Halaman publik tidak ada"
+
msgid "PublicBody::Translation|Disclosure log"
-msgstr ""
+msgstr "PublicBody::Translation | Disclosure log"
msgid "PublicBody::Translation|First letter"
msgstr "PublicBody::Translation|First letter"
@@ -1789,10 +1881,10 @@ msgid "PublicBody::Translation|Url name"
msgstr "PublicBody::Translation|Url name"
msgid "PublicBody|Api key"
-msgstr ""
+msgstr "PublicBody | Api key"
msgid "PublicBody|Disclosure log"
-msgstr ""
+msgstr "PublicBody | Disclosure log"
msgid "PublicBody|First letter"
msgstr "PublicBody|First letter"
@@ -1801,7 +1893,7 @@ msgid "PublicBody|Home page"
msgstr "PublicBody|Home page"
msgid "PublicBody|Info requests count"
-msgstr ""
+msgstr "PublicBody | Info requests count"
msgid "PublicBody|Last edit comment"
msgstr "PublicBody|Last edit comment"
@@ -1833,6 +1925,9 @@ msgstr "PublicBody|Version"
msgid "Publication scheme"
msgstr "Skema publikasi"
+msgid "Publication scheme URL"
+msgstr "Skema publikasi URL"
+
msgid "Purge request"
msgstr "Pembersihan permintaan"
@@ -1892,6 +1987,9 @@ msgstr "Minta kajian internal"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Minta kajian internal dari {{person_or_body}}"
+msgid "Request email"
+msgstr "Email permintaan"
+
msgid "Request has been removed"
msgstr "Permintaan telah dihapus"
@@ -1932,7 +2030,7 @@ msgid "Response from a public authority"
msgstr "Respon dari otoritas publik"
msgid "Response to '{{title}}'"
-msgstr ""
+msgstr "Respon ke '{{title}}'"
msgid "Response to this request is <strong>delayed</strong>."
msgstr "Respon atas permintaan ini <strong>ditunda</strong>."
@@ -1977,7 +2075,7 @@ msgstr ""
" <strong>{{number_of_authorities}} otoritas</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Permintaan pencarian"
msgid "Search results"
msgstr "Hasil pencarian"
@@ -1992,6 +2090,9 @@ msgstr[0] "Cari di dalam {{count}} permintaan Freedom of Information yang dibua
msgid "Search your contributions"
msgstr "Cari kontribusi Anda"
+msgid "See bounce message"
+msgstr "Lihan pesan kembali"
+
msgid "Select one to see more information about the authority."
msgstr "Pilih satu untuk melihat lebih banyak informasi tentang otoritas terkait."
@@ -2011,7 +2112,7 @@ msgid "Send a public reply to {{person_or_body}}"
msgstr "Kirim balasan terbuka kepada {{person_or_body}}"
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Mengikuti permintaan '{{title}}'"
msgid "Send message"
msgstr "Kirim pesan"
@@ -2025,6 +2126,9 @@ msgstr "Kirim permintaan"
msgid "Set your profile photo"
msgstr "Mengatur foto profil Anda"
+msgid "Short name"
+msgstr "Nama singkat"
+
msgid "Short name is already taken"
msgstr "Nama pendek sudah diambil"
@@ -2075,7 +2179,7 @@ msgid "Somebody added a note to your FOI request - "
msgstr "Seseorang menambahkan catatan kepada permintaan FOI Anda -"
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Seseorang memperbarui status permintaan Anda"
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
msgstr ""
@@ -2083,7 +2187,7 @@ msgstr ""
"{{site_name}} dari {{old_email}} menjadi {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Maaf - Anda tidak dapat merespon permintaan ini melalui {{site_name}}, karena ini merupakan salinan permintaan yang asli di {{link_to_original_request}}."
msgid "Sorry, but only {{user_name}} is allowed to do that."
msgstr "Maaf, tapi hanya {{user_name}} yang diijinkan untuk melakukannya."
@@ -2113,7 +2217,7 @@ msgid "Still awaiting an <strong>internal review</strong>"
msgstr "Masih menunggu <strong>kajian internal</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Subyek"
msgid "Subject:"
msgstr "Subyek:"
@@ -2124,6 +2228,9 @@ msgstr "Masukkan"
msgid "Submit status"
msgstr "Kirim status"
+msgid "Submit status and send message"
+msgstr "Kirim status dan kirim pesan"
+
msgid "Subscribe to blog"
msgstr "Berlangganan kepada blog"
@@ -2145,6 +2252,9 @@ msgstr "Tabel status"
msgid "Table of varieties"
msgstr "Tabel jenis"
+msgid "Tags"
+msgstr "Label"
+
msgid "Tags (separated by a space):"
msgstr "Label (dipisahkan oleh spasi):"
@@ -2172,6 +2282,9 @@ msgstr "Terima kasih telah memperbarui permintaan ini!"
msgid "Thank you for updating your profile photo"
msgstr "Terima kasih telah memperbarui foto profil Anda"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr "Terimakasih! Kami akan melihat apa yang terjadi dan mencoba memperbaikinya."
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Terima kasih sudah membantu - karya Anda akan mempermudah semua orang untuk mendapatkan \n"
@@ -2263,13 +2376,13 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "Pemohon telah mengabaikan permintaan ini karena beberapa alasan"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Respon terhadap permintaan Anda telah <strong>ditunda</strong>. Anda dapat mengatakan bahwa, \n"
" Berdasarkan undang-undang, otoritas seharusnya sudah merespon\n"
" <strong>dengan segera</strong> dan"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Respon terhadap permintaan Anda sudah <strong>lama terlambat</strong>. Anda dapat mengatakan bahwa, berdasarkan \n"
" undang-undang, dalam keadaan apapun, otoritas seharusnya sudah merespon\n"
@@ -2361,7 +2474,7 @@ msgid_plural "There are {{count}} people following this request"
msgstr[0] "Ada {{count}} orang mengikuti permintaan ini"
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Ada <strong>lebih dari satu orang</strong> yang menggunakan situs ini dan memiliki nama ini.\\n Salah satu dari mereka ditunjukkan dibawah, mungkin yang Anda maksud orang yang berbeda:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
msgstr "Ada batas jumlah permintaan yang dapat Anda buat dalam sehari, karena kami tidak mau otoritas publik dibombardir dengan sejumlah besar permintaan yang tidak sesuai. Jika Anda merasa Anda memiliki alasan yang bagus untuk meminta batasan ini dicabut dalam kasus Anda, silakan <a href='{{help_contact_path}}'>berhubungan</a>."
@@ -2415,7 +2528,7 @@ msgstr ""
"lingkungan <strong> alami dan buatan </strong>, seperti:"
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Permintaan luar ini telah disembunyikan"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
msgstr "Ini merupakan versi teks biasa dari permintaan Freedom of Information \"{{request_title}}\". Yang terbaru, versi lengkap tersedia online di {{full_url}}"
@@ -2428,6 +2541,9 @@ msgstr ""
"Ini karena {{title}} merupakan permintaan lama yang sudah\n"
"ditandai untuk tidak lagi menerima respon."
+msgid "This is the first version."
+msgstr "Ini merupakan versi pertama"
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Ini adalah permintaan Anda sendiri, sehingga Anda akan secara otomatis dikirimi email ketika respon baru diterima."
@@ -2501,8 +2617,11 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Permintaan ini masih dalam proses:"
+msgid "This request requires administrator attention"
+msgstr "Permintaan ini membutuhkan perhatian administrator"
+
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Permintaan ini tidak dibuat melalui {{site_name}}"
msgid "This response has been hidden. See annotations to find out why.\\n If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the response."
msgstr ""
@@ -2574,7 +2693,7 @@ msgstr ""
"{{law_used_full}} permintaan {{title}} yang Anda buat kepada {{public_body}}, untuk \"{{display_status}}\" Jika Anda tidak setuju dengan penggolongan mereka, silakan perbarui status itu lagi sendiri menjadi apa yang menurut Anda lebih akurat."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "Agar semua orang tahu, ikuti tautanini dan kemudian pilih kotak yang sesuai."
msgid "To log into the administrative interface"
msgstr "Untuk masuk ke tampilan administrasi"
@@ -2690,7 +2809,7 @@ msgid "Unknown"
msgstr "Tidak diketahui"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Berhenti langganan"
msgid "Unusual response."
msgstr "Respon yang tidak biasa."
@@ -2702,7 +2821,7 @@ msgid "Update the status of your request to "
msgstr "Memperbarui status permintaan Anda kepada"
msgid "Upload FOI response"
-msgstr ""
+msgstr "Unggah respon FOI"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
msgstr "Gunakan ATAU (dalam huruf kapital) di mana Anda tidak keberatan kata yang mana, misalnya <strong><code>majelis perwakilan rendah ATAU pejabat tinggi</code></strong>"
@@ -2716,6 +2835,9 @@ msgstr "Pengguna"
msgid "User info request sent alert"
msgstr "Informasi permintaan pengguna telah mengirim notifikasi"
+msgid "User – {{name}}"
+msgstr "Pengguna - {{name}}"
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2723,7 +2845,7 @@ msgid "User|About me"
msgstr "User|About me"
msgid "User|Address"
-msgstr ""
+msgstr "User | Address"
msgid "User|Admin level"
msgstr "User|Admin level"
@@ -2732,7 +2854,7 @@ msgid "User|Ban text"
msgstr "User|Ban text"
msgid "User|Dob"
-msgstr ""
+msgstr "User | Dob"
msgid "User|Email"
msgstr "User|Email"
@@ -2770,6 +2892,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "User|Url name"
+msgid "Version {{version}}"
+msgstr "Versi {{version}}"
+
msgid "View FOI email address"
msgstr "Tampilkan alamat email FOI"
@@ -2866,7 +2991,7 @@ msgid "What information has been released?"
msgstr "Informasi apa yang sudah dirilis?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Informasi apa yang telah diminta?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
msgstr ""
@@ -2985,7 +3110,7 @@ msgid "You know what caused the error, and can <strong>suggest a solution</stron
msgstr "Anda tahu apa yang menyebabkan kesalahan tersebut, dan dapat <strong>menyarankan solusi</strong>, seperti alamat email yang bekerja."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
-msgstr ""
+msgstr "Anda dapat <strong>mengikutsertakan lampiran</strong>. Jika Anda hendak melampirkan sebuah\\n file yang terlalu besar untuk email, gunakan formulir di bawah."
msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
msgstr ""
@@ -3015,7 +3140,7 @@ msgid "You previously submitted that exact follow up message for this request."
msgstr "Anda sebelumnya memasukkan pesan tindak lanjut yang sama persis untuk permintaan ini."
msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
-msgstr ""
+msgstr "Anda seharusnya menerima salinan dari permintaan tersebut lewat email, dan Anda dapat merespon\\n <strong>hanya dengan membalas</strong> kepada email tersebut. Untuk kenyamanan Anda, berikut adalah alamatnya:"
msgid "You want to <strong>give your postal address</strong> to the authority in private."
msgstr "Anda ingin <strong>memberikan alamat pos Anda</strong> kepada otoritas tersebut secara pribadi."
@@ -3038,7 +3163,7 @@ msgstr ""
"dengan klarifikasi."
msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
-msgstr ""
+msgstr "Anda telah masuk. <a href=\"#\" id=\"send-request\">Lanjut mengirim permintaan Anda</a>"
msgid "You're long overdue a response to your FOI request - "
msgstr "Anda telah lama menunda respon terhadap permintaan FOI Anda - "
@@ -3069,7 +3194,7 @@ msgid "Your annotations"
msgstr "anotasi Anda"
msgid "Your details, including your email address, have not been given to anyone."
-msgstr ""
+msgstr "Rincian Anda, termasuk alamat email Anda, tidak akan diberikan ke siapapun."
msgid "Your e-mail:"
msgstr "Email Anda:"
@@ -3116,7 +3241,7 @@ msgid "Your password:"
msgstr "kode sandi aAnda:"
msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "Foto Anda akan ditampilkan secara terbuka <strong>di Internet</strong>,\\n di mana pun Anda melakukan sesuatu pada {{site_name}}."
msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
msgstr "Permintaan Anda disebut {{info_request}}. Memberitahukan semua orang apakah Anda memperoleh informasi tersebut akan membantu kami mengawasi"
@@ -3125,7 +3250,7 @@ msgid "Your request:"
msgstr "Permintaan Anda :"
msgid "Your response to an FOI request was not delivered"
-msgstr ""
+msgstr "Respon Anda ke permintaan FOI tidak terkirim"
msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
msgstr "Respon Anda akan <strong>tampil di Internet</strong>, <a href=\"{{url}}\">baca mengapa</a> dan jawaban-jawaban atas pertanyaan-pertanyaan lain."
@@ -3162,6 +3287,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr "alaveteli_foi:Perangkat lunak yang berjalan {{site_name}}"
+
msgid "all requests"
msgstr "semua permintaan"
@@ -3169,7 +3297,7 @@ msgid "also called {{public_body_short_name}}"
msgstr "juga disebut {{public_body_short_name}}"
msgid "an anonymous user"
-msgstr ""
+msgstr "pengguna anonim"
msgid "and"
msgstr "dan"
@@ -3195,6 +3323,9 @@ msgstr "apa saja"
msgid "are long overdue."
msgstr "sudah lama terlambat."
+msgid "at"
+msgstr "di"
+
msgid "authorities"
msgstr "otoritas"
@@ -3207,6 +3338,9 @@ msgstr "dimulai dengan ‘{{first_letter}}’"
msgid "between two dates"
msgstr "antara dua tanggal"
+msgid "but followupable"
+msgstr "tetapi terikuti"
+
msgid "by"
msgstr "oleh"
@@ -3246,7 +3380,7 @@ msgid "everything"
msgstr "seluruhnya"
msgid "external"
-msgstr ""
+msgstr "luar"
msgid "has reported an"
msgstr "telah melaporkan"
@@ -3290,6 +3424,9 @@ msgstr "pesan dari otoritas"
msgid "messages from users"
msgstr "pesan dari pengguna"
+msgid "move..."
+msgstr "pindah..."
+
msgid "no later than"
msgstr "tidak kurang dari"
@@ -3303,6 +3440,9 @@ msgstr ""
msgid "normally"
msgstr "biasanya"
+msgid "not requestable due to: {{reason}}"
+msgstr "Tidak mengandung permintaan karena: {{reason}}"
+
msgid "please sign in as "
msgstr "silakan masuk sebagai "
@@ -3326,6 +3466,9 @@ msgstr "mengirimkan pesan tidak lanjut"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "dikirmkan ke {{public_body_name}} oleh {{info_request_user}} pada {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr "set <strong>kosong</strong> (string kosong) jika tidak dapat menemukan alamat; email ini <strong>publik</strong> bagi siapapun dapat melihatnya dengan sebuah CAPTCHA"
+
msgid "show quoted sections"
msgstr "Tampilkan bagian yang dikutip"
@@ -3347,11 +3490,16 @@ msgstr "yang Anda buat kepada"
msgid "the main FOI contact address for {{public_body}}"
msgstr "alamat kontak FOI utama untuk {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "kontak FOI utama di {{public_body}}"
msgid "the requester"
-msgstr ""
+msgstr "peminta informasi"
msgid "the {{site_name}} team"
msgstr "tim {{site_name}}"
@@ -3426,10 +3574,10 @@ msgid "{{number_of_comments}} comments"
msgstr "{{number_of_comments}} komentar"
msgid "{{public_body_link}} answered a request about"
-msgstr ""
+msgstr "{{public_body_link}} menjawab permintaan tentang"
msgid "{{public_body_link}} was sent a request about"
-msgstr ""
+msgstr "{{public_body_link}} telah mengirim permintaan tentang"
msgid "{{public_body_name}} only:"
msgstr "Hanya {{public_body_name}} :"
@@ -3441,7 +3589,7 @@ msgid "{{public_body}} sent a response to {{user_name}}"
msgstr "{{public_body}} mengirimkan respon kepada {{user_name}}"
msgid "{{reason}}, please sign in or make a new account."
-msgstr ""
+msgstr "{{reason}}, silakan masuk atau membuat akun baru."
msgid "{{search_results}} matching '{{query}}'"
msgstr "{{search_results}} sesuai '{{query}}'"
@@ -3458,6 +3606,9 @@ msgstr "{{site_name}} mengirimkan permintaan baru kepada <strong>{{request_email
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr "{{thing_changed}} telah diubah dari <code>{{from_value}}</code> ke <code>{{to_value}}</code>"
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - sebuah permintaan Keterbukaan Informasi kepada {{public_body}}"
@@ -3465,10 +3616,10 @@ msgid "{{user_name}} (Account suspended)"
msgstr "{{user_name}} (Akun ditangguhkan)"
msgid "{{user_name}} - Freedom of Information requests"
-msgstr ""
+msgstr "{{user_name}} - permintaan Keterbukaan Informasi"
msgid "{{user_name}} - user profile"
-msgstr ""
+msgstr "{{user_name}} - profil pengguna"
msgid "{{user_name}} added an annotation"
msgstr "{{user_name}} menambahkan anotasi"
diff --git a/locale/nb_NO/app.po b/locale/nb_NO/app.po
index dcd83b089..0eff84ec3 100644
--- a/locale/nb_NO/app.po
+++ b/locale/nb_NO/app.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
"PO-Revision-Date: 2011-03-09 17:48+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -119,6 +119,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -173,9 +176,6 @@ msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
msgstr ""
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr ""
-
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr ""
@@ -313,6 +313,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -400,6 +403,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -439,6 +445,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -607,6 +616,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -616,6 +628,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -628,6 +643,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -646,10 +664,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -691,10 +709,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -703,6 +724,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -873,6 +897,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -885,6 +912,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -933,9 +963,18 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -990,6 +1029,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1104,12 +1146,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1128,9 +1176,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1227,6 +1293,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1272,6 +1341,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1281,6 +1353,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1326,6 +1401,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1515,9 +1593,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1608,12 +1683,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1686,6 +1773,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1743,6 +1833,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1841,6 +1934,9 @@ msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1874,6 +1970,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1967,6 +2066,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1988,6 +2090,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2015,6 +2120,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2090,10 +2198,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2242,6 +2350,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2309,6 +2420,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2507,6 +2621,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2561,6 +2678,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2910,6 +3030,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2943,6 +3066,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2955,6 +3081,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3036,6 +3165,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3045,6 +3177,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3066,6 +3201,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3087,6 +3225,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3195,6 +3338,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/pt_BR/app.po b/locale/pt_BR/app.po
index 1fb91bcce..b8262fa4c 100644
--- a/locale/pt_BR/app.po
+++ b/locale/pt_BR/app.po
@@ -6,27 +6,30 @@
# <3laste2000@gmail.com>, 2012.
# <a.serramassuda@gmail.com>, 2012.
# Bruno <bgx@bol.com.br>, 2012.
-# <brunomelnic@gmail.com>, 2012.
+# <brunomelnic@gmail.com>, 2012-2013.
# Carlos Vieira <edu.carlos.vieira@gmail.com>, 2011.
# <danielabsilva@gmail.com>, 2011.
# <everton137@gmail.com>, 2011.
# <gabileitao@gmail.com>, 2012.
# <jcmarkun@gmail.com>, 2011.
# <kerick.quimica@gmail.com>, 2012.
+# <leandrosalvador@gmail.com>, 2013.
+# <leandrosalvador@gmail.com>, 2013.
# <lianelira@gmail.com>, 2011.
# <luis.leao@gmail.com>, 2011.
# <Nitaibezerra@gmail.com>, 2012.
# <patriciacornils@gmail.com>, 2011.
# <pedro@esfera.mobi>, 2011-2012.
# <rafael.moretti@gmail.com>, 2012.
+# Vítor Márcio Paiva de Sousa Baptista <vitor@vitorbaptista.com>, 2013.
# <vitor@vitorbaptista.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2013-01-04 23:21+0000\n"
-"Last-Translator: vitorbaptista <vitor@vitorbaptista.com>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:07+0000\n"
+"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
@@ -35,7 +38,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
-msgstr "Isso vai aparecer no seu perfil no {{site_name}}, para facilitar para os outros se envolver com o que você esta fazendo."
+msgstr "Isso aparecerá no seu perfil no {{site_name}}, para que outras pessoas envolvam-se mais facilmente com o que você está fazendo."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
msgstr "(<strong>sem ataques</strong> políticos, leia nossa <a href=\"{{url}}\">política de moderação</a>)"
@@ -47,52 +50,53 @@ msgid " (you)"
msgstr "(você)"
msgid " - view and make Freedom of Information requests"
-msgstr "- veja e envie pedidos de acesso à informação"
+msgstr "- veja e envie Pedidos de Acesso à Informação"
msgid " - wall"
msgstr "- muro"
msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
-msgstr "<strong>Atenção:</strong> Enviaremos um e-mail pra você. Siga as instruções para alterar sua senha."
+msgstr "<strong>Atenção:</strong> Enviaremos um e-mail para você. Siga as instruções para alterar sua senha."
msgid " <strong>Privacy note:</strong> Your email address will be given to"
-msgstr "<strong>Observação sobre privacidade:</strong> Seu endereço de email será fornecido para"
+msgstr "<strong>Nota de privacidade:</strong> Seu endereço de email será fornecido para"
msgid " <strong>Summarise</strong> the content of any information returned. "
msgstr "<strong>Resuma</strong> o conteúdo de qualquer informação recebida."
msgid " Advise on how to <strong>best clarify</strong> the request."
-msgstr "Conselhos sobre como <strong>tornar mais claro</strong> o pedido."
+msgstr "Recomendações sobre como <strong>tornar mais claro</strong> o pedido."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr "Ideias de <strong>outras informações ou documentos</strong> a serem solicitados para esse órgão público."
+msgstr "Ideias de <strong>outras informações</strong> a serem solicitadas para esse órgão público."
-msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
-msgstr "Se você souber o endereço de e-mail do órgão público que deve receber esse pedido, <a href=\"{{url}}\">envie-o para nós</a>. Você pode encontrar o endereço de e-mail no site do órgão ou pelo telefone."
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr "Incluir links relevantes, como para um site de mobilização, para seu blog ou para uma conta no Twitter. Eles poderão ser clicados, por exemplo."
+msgstr "Inclua links relevantes, como para um site de mobilização, seu blog ou uma conta no Twitter. Eles serão clicáveis, por exemplo."
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr "Link para a informação pedida, se ela já estiver disponível na internet."
+msgstr "Coloque um link para a informação pedida, se ela <strong>já estiver disponível</strong> na Internet."
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
-msgstr "Ofereça jeitos melhores de <strong>formular o pedido</strong> para obter as informações."
+msgstr "Ofereça melhores maneiras de <strong>formular o pedido</strong> para obter as informações desejadas."
msgid " Say how you've <strong>used the information</strong>, with links if possible."
-msgstr "Diga como você <strong>usou as informações</strong>, com links, se houver."
+msgstr "Diga como você <strong>usou as informações</strong> - com links se possível."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr "Sugerir <strong>outros órgãos públicos</strong> para os quais o solicitante pode pedir a informação."
+msgstr "Sugira <strong>outros órgãos públicos</strong> onde o solicitante talvez possa encontrar a informação."
+
+msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr "Se você souber o endereço de e-mail do órgão público que deve receber esse pedido, <a href=\"{{url}}\">envie-o para nós</a>. Você pode encontrar o endereço de e-mail no site do órgão ou pelo telefone."
msgid " What are you investigating using Freedom of Information? "
-msgstr "O que você está tentando fazer por meio do acesso a essa informação?"
+msgstr "O que você está pesquisando por meio de um Pedido de Acesso à Informação?"
msgid " You are already being emailed updates about the request."
msgstr " Você já está recebendo e-mails de atualização sobre o pedido."
msgid " You will also be emailed updates about the request."
-msgstr "Você também vai receber atualizações nesse pedido por email."
+msgstr "Você também receberá atualizações por e-mail sobre esse pedido."
msgid " made by "
msgstr "feito por"
@@ -104,17 +108,17 @@ msgid " when you send this message."
msgstr "quando você enviar esta mensagem."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Olá! Temos uma <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">mensagem importante</a> para visitantes de fora do {{country_name}}\""
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] "{{count}} pedido para {{public_body_name}}"
-msgstr[1] "{{count}} pedidos para {{public_body_name}}"
+msgstr[0] "{{count}} Pedido de Acesso à Informação solicitado para {{public_body_name}}"
+msgstr[1] "{{count}} Pedidos de Acesso à Informação solicitados para {{public_body_name}}"
msgid "{{count}} request"
msgid_plural "{{count}} requests"
-msgstr[0] "one: {{count}} pedido"
-msgstr[1] "other: {{count}} pedidos"
+msgstr[0] "{{count}} pedido"
+msgstr[1] "{{count}} pedidos"
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
@@ -122,7 +126,7 @@ msgstr[0] "{{count}} pedido realizado."
msgstr[1] "{{count}} pedidos realizados."
msgid "'Crime statistics by ward level for Wales'"
-msgstr "'Estatísticas de crime por bairro na cidade de São Paulo'"
+msgstr "'Estatísticas de crimes por bairro na cidade de São Paulo'"
msgid "'Pollution levels over time for the River Tyne'"
msgstr "'Níveis de poluição ao longo do tempo no Rio Tietê'"
@@ -136,6 +140,9 @@ msgstr "'{{link_to_request}}', um pedido"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', uma pessoa"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -150,13 +157,13 @@ msgid "- or -"
msgstr "- ou -"
msgid "1. Select an authority"
-msgstr "1. Selecione um<br />órgão de governo"
+msgstr "1. Selecione um<br />órgão público"
msgid "2. Ask for Information"
msgstr "2. Solicite uma informação"
msgid "3. Now check your request"
-msgstr "3. Verifique seu pedido"
+msgstr "3. Verifique seu pedido de informação"
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
msgstr "<a href=\"{{url}}\">Adicione um comentário</a> (para ajudar o solicitante ou outros)"
@@ -164,6 +171,9 @@ msgstr "<a href=\"{{url}}\">Adicione um comentário</a> (para ajudar o solicitan
msgid "Are we missing a public authority?"
msgstr "Estamos esquecendo de uma autoridade pública?"
+msgid "Are we missing a public authority?"
+msgstr "Estamos esquecendo de um órgão público?"
+
msgid "Are you the owner of any commercial copyright on this page?"
msgstr "Você é o dono dos direitos autorais dessa página?"
@@ -183,26 +193,26 @@ msgid "what's that?"
msgstr "o que é isso?"
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr "<p>Muito bem! Muito obrigado por sua ajuda.</p><p>Existem <a href=\"{{helpus_url}}\">mais coisas que você pode fazer</a> para ajudar {{site_name}}.</p>"
+msgstr "<p>Tudo certo! Muito obrigado por sua ajuda.</p><p>Existem <a href=\"{{helpus_url}}\">mais coisas que você pode fazer</a> para ajudar o {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
-msgstr ""
+msgstr "<p>Obrigado! Estas são algumas ideias de próximos passos:</p>\\n <ul>\\n <li>Para enviar seu pedido de informação a outro órgão público, primeiro copie o texto de seu pedido abaixo, em seguida <a href=\"{{find_authority_url}}\">localize outra autoridade</a>.</li>\\n <li>Se você deseja recorrer à resposta do órgão público, veja aqui\\n <a href=\"{{complain_url}}\">como proceder</a>.\\n </li>\\n <li>Nós temos<a href=\"{{other_means_url}}\">sugestões</a>\\n sobre outras maneiras para conseguir uma resposta satisfatória ao seu pedido de informação.\\n </li>\\n </ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Por lei, você deveria receber uma resposta rapidamente e normalmente antes de <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Conforme a Lei de Acesso à Informação, você deverá receber uma resposta em no máximo 20 dias, ou seja, antes de <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
-msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Por lei, você deveria receber uma resposta rapidamente e normalmente antes de <strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Conforme a Lei de Acesso à Informação, você deverá receber uma resposta em no máximo 20 dias, ou seja, antes de <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Por lei, você deveria receber uma resposta rapidamente e normalmente antes de <strong>{{date_response_required_by}}</strong> ou ser informado de que vai demorar mais (<a href=\"{{review_url}}\">detalhes</a>).</p>"
+msgstr "<p>Obrigado! Esperamos que você não tenha que esperar muito.</p><p> Conforme a Lei de Acesso à Informação, você deverá receber uma resposta em no máximo <strong>{{date_response_required_by}}</strong> dias, ou ser informado dentro desse período de que serão necessários no máximo mais 10 dias em (<a href=\"{{review_url}}\">detalhes</a>).</p>"
+
+msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
+msgstr "<p>Obrigado! Sua resposta está bastante atrasada, por mais de {{very_late_number_of_days}} dias. A maioria dos pedidos deve ser respondido dentro de {{late_number_of_days}} dias. Você pode reclamar disso, veja abaixo.</p>"
msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
msgstr "<p>Obrigado! Nós vamos olhar o que aconteceu e tentar consertar.</p><p>Se foi um erro de envio e você puder achar um email atualizado desse orgão, por favor nos avise no formulário abaixo.</p>"
-msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
-msgstr "<p>Obrigado! Sua resposta esta bastante atrasada, por mais de {{very_late_number_of_days}} dias uteis. A maioria dos pedidos deve ser respondido dentro de {{late_number_of_days}} dias uteis. Você pode querer reclamar disso, veja abaixo.</p>"
-
msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
msgstr ""
"<p>Obrigado por mudar o texto sobre você em seu perfil.</p>\n"
@@ -219,12 +229,10 @@ msgstr ""
" Se deixá-lo, o endereço de e-mail será enviado à autoridade, mas não será publicado no site.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr "<p>Nós estamos felizes que você conseguiu toda a informação que procurava. Se você for escrever sobre ou fazer uso dessa informação, por favor volte depois e deixe um comentário contando o que você fez."
+msgstr "<p>Nós estamos felizes que você tenha conseguido toda a informação que procurava. Se você for escrever sobre ou fazer uso dessa informação, por favor, volte depois e deixe um comentário contando o que você fez.</p><p>Se você achou o {{site_name}} útil, divulgue para seus contatos, exerça a cidadania!</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr ""
-"<p>Nós estamos felizes que você conseguiu parte da informação que procurava.<p>\n"
-"<p>Se você quer tentar conseguir o resto da informação. Veja o que você pode fazer.</p>"
+msgstr "<p>Nós estamos felizes que você tenha conseguido toda a informação que procurava. Se você for escrever sobre ou fazer uso dessa informação, por favor, volte depois e deixe um comentário contando o que você fez.</p><p>Se você achou o {{site_name}} útil, divulgue para seus contatos, exerça a cidadania!</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
msgstr "<p>Você não precisa incluir seu e-mail no pedido de informação para receber uma resposta (<a href=\"{{url}}\">detalhes</a>).</p>"
@@ -233,13 +241,13 @@ msgid "<p>You do not need to include your email in the request in order to get a
msgstr "<p>Você não precisa incluir seu e-mail no pedido de informação para receber uma resposta, já que vamos requisitá-lo na próxima tela (<a href=\"{{url}}\">detalhes</a>).</p>"
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
-msgstr "Seu pedido contém um endereço físico. A menos que isso seja diretamente relacionado ao assunto da sua requisição, por favor remova qualquer endereço uma vez que eles irão aparecer publicamente na Internet."
+msgstr "<p>Seu pedido contém um <strong>endereço físico</strong>. A menos que isso seja diretamente relacionado ao assunto da sua requisição, por favor, remova qualquer endereço, uma vez que eles serão <strong>publicados na Internet</strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr ""
+msgstr "<p>Seu Pedido de Acesso à Informação foi <strong>enviado</strong>!</p>\\n <p><strong>Vamos enviar-lhe um email</strong> quando houver uma resposta, ou depois de {{late_number_of_days}} dias úteis se o órgão público ainda não tiver \\n respondido.</p>\\n <p>Se você escrever sobre este pedido (em um fórum ou blog, por exemplo), por favor, crie um link para esta página e adicione \\n comentários avisando as pessoas sobre seu pedido.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr "<p>{{site_name}} está em manutenção. Você pode apenas visualizar pedidos de informação existentes. Você não pode criar novos, adicionar acompanhamentos ou anotações, ou ainda fazer mudanças na base de dados.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} está em manutenção. Você pode apenas visualizar pedidos de informação existentes. Você não pode criar novos, adicionar acompanhamentos ou comentários, ou ainda fazer mudanças na base de dados.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
msgstr "<small>Se você acessa seu e-mail por algum site da web, ou se tiver filtros para conteúdo indesejado, verifique também suas caixas de spam. Às vezes, nossas mensagens podem ser marcadas dessa forma pelo seu provedor.</small> </p>"
@@ -272,8 +280,8 @@ msgstr "<strong><code>situação:</code></strong> para selecionar com base na si
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
msgstr ""
-"<strong><code>tag:saude</code></strong> para encontrar órgãos públicos ou pedidos com uma tag específica. Você pode incluir múltiplas tags ⏎\n"
-" e valores, por exemplo <code>tag:saude E tag:transacao_financeira:335633</code>. Perceba que, por padrão, qualquer uma das tags⏎\n"
+"<strong><code>tag:saude</code></strong> para encontrar órgãos públicos ou pedidos com uma tag específica. Você pode incluir múltiplas tags ?\n"
+" e valores, por exemplo <code>tag:saude E tag:transacao_financeira:335633</code>. Perceba que, por padrão, qualquer uma das tags?\n"
" pode estar presente em um resultado, e você deve colocar <code>E</code> para explicitar que deseja resultados com todas as tags presentes."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
@@ -289,7 +297,7 @@ msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
msgstr "<strong>Qualquer outra coisa,</strong> como pedidos de esclarecimento ou agradecimentos"
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr "<strong>Por sua conta e risco!</strong> Para usar esses dados de forma honrosa, você precisa de um bom conhecimento interno do comportamento do usuário no {{site_name}}. Não é fácil de compreender como, por que e por quem os pedidos foram categorizados, e haverá erros e ambiguidades de usuário. Por favor <a href=\"{{contact_path}}\">nos contate</a> para perguntas."
+msgstr "<strong>Por sua conta e risco!</strong> Para usar esses dados de forma honrosa, você precisa de um bom conhecimento interno do comportamento do usuário no {{site_name}}. Não é fácil de compreender como, por que e por quem os pedidos foram categorizados, e haverá erros e ambiguidades de usuário. Por favor <a href=\"{{contact_path}}\">entre em contato conosco</a> para perguntas."
msgid "<strong>Clarification</strong> has been requested"
msgstr "<strong>Esclarecimento</strong> foi solicitado"
@@ -303,7 +311,7 @@ msgid "<strong>Note:</strong> Because we're testing, requests are being sent to
msgstr "<strong>Nota:</strong> Como estamos testando, requisições estão sendo enviadas para {{email}} ao invés do órgão público."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Nota:</strong> Você está enviando mensagem para si mesmo, provavelmente\\n para testar como o sistema funciona."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
msgstr "<strong>Atenção:</strong> Vamos enviar um email para você. Siga as instruções para confirmar a alteração o seu e-mail."
@@ -312,7 +320,7 @@ msgid "<strong>Privacy note:</strong> If you want to request private information
msgstr "<strong>Observação sobre privacidade:</strong> Se você deseja solicitar informações privadas sobre si mesmo, <a href=\"{{url}}\">clique aqui</a> ."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Nota de privacidade:</strong> Sua foto sera exibida publicamente na internet,\\n onde quer que você atue no {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
msgstr "<strong>Aviso de privacidade:</strong> A sua mensagem, e qualquer resposta enviada para ela, será exibida publicamente neste site."
@@ -350,6 +358,9 @@ msgstr "Uma resposta será enviada <strong>por correio</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Resposta estranha, é necessária atenção da equipe do {{site_name}}"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Um usuário do {{site_name}}"
@@ -437,6 +448,9 @@ msgstr "Usuário anônimo"
msgid "Anyone:"
msgstr "Qualquer um:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Solicite apenas documentos ou informações <strong>específicas,</strong>, este site não é adequado para requisições gerais ao governo."
@@ -471,7 +485,13 @@ msgid "Browse all authorities..."
msgstr "Listar todos os órgãos..."
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
-msgstr "De acordo com a lei, em todas as circunstâncias, {{public_body_link}} já deveria ter respondido seu pedido até agora"
+msgstr "De acordo com a lei, em qualquer circunstância, {{public_body_link}} já deveria ter respondido seu pedido."
+
+msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
+msgstr "De acordo com a lei, {{public_body_link}} deveria ter respondido <strong>prontamente</strong> seu pedido e"
+
+msgid "Calculated home page"
+msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "De acordo com a lei, {{public_body_link}} deveria ter respondido seu pedido "
@@ -615,7 +635,7 @@ msgid "Considered by administrators as not an FOI request and hidden from site."
msgstr "Considerado pelos administradores como não sendo uma solicitação de informação e ocultado do site"
msgid "Considered by administrators as vexatious and hidden from site."
-msgstr ""
+msgstr "Considerado constrangedora pelos administradores ou oculto do site."
msgid "Contact {{recipient}}"
msgstr "Contato {{recipient}}"
@@ -633,7 +653,7 @@ msgid "Crop your profile photo"
msgstr "Cortar sua imagem do perfil"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
-msgstr ""
+msgstr "Lugares culturais e estruturas construídas (como estes podem ser afetados pelos \\n fatores ambientais listados acima)"
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
msgstr "Atualmente <strong>aguardando uma resposta</strong> de {{public_body_link}}, eles devem responder"
@@ -644,6 +664,9 @@ msgstr "Data:"
msgid "Dear {{public_body_name}},"
msgstr "Prezado(a) {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "A resposta ao seu pedido de informação está atrasada."
@@ -653,18 +676,24 @@ msgstr "Atrasado."
msgid "Delivery error"
msgstr "Erro de entrega"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalhes do pedido"
msgid "Did you mean: {{correction}}"
-msgstr "Você quis dizer: {{correção}}"
+msgstr "Você quis dizer: {{correction}}"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr "Aviso: Esta mensagem e todas as respostas serão publicadas na internet. Leia sobre nossa política de privacidade:"
+msgstr "Aviso: Esta mensagem e todas as respostas enviadas serão publicadas na Internet, por meio da plataforma Queremos Saber <http://queremossaber.org.br/>. Leia algumas questões sobre acesso a informação para agentes públicos <http://queremossaber.org.br/help/officers/>."
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Você não quer enviar sua mensagem para {{person_or_body}}? Você também pode escrever para:"
@@ -683,12 +712,11 @@ msgstr "Fazer download anexo original"
msgid "EIR"
msgstr "RIMA"
+msgid "Edit"
+msgstr ""
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr "Editar e adicionar <strong>mais detalhes</strong> à mensagem acima, explicando por que você está insatisfeito com a resposta que recebeu."
-msgid "Edit language version:"
-msgstr "Trocar o idioma do site:"
-
msgid "Edit text about you"
msgstr "Alterar o texto sobre você"
@@ -711,7 +739,7 @@ msgid "Enter words that you want to find separated by spaces, e.g. <strong>climb
msgstr "Informe palavras que você deseja procurar separadas por espaços, por exemplo <strong>gastos educação</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
-msgstr ""
+msgstr "Digite sua resposta abaixo. Você pode anexar um arquivo (utilize email ou\\n <a href=\"{{url}}\">fale conosco</a> se precisar de mais informações)."
msgid "Environmental Information Regulations"
msgstr "Lei de Acesso à Informação Ambiental"
@@ -728,18 +756,24 @@ msgstr "Histórico de eventos"
msgid "Event history details"
msgstr "Detalhe do histórico de eventos"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr "Tudo o que você publicar nesta página irá ser <strong>exibido publicamente</strong> neste site para sempre ( <a href=\"{{url}}\">por quê?</a> )."
+msgid "Event {{id}}"
+msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr "Tudo o que você publicar nesta página, incluindo <strong>seu nome</strong>, será <strong>exibido publicamente</strong> neste site para sempre ( <a href=\"{{url}}\">por quê?</a> )."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Tudo o que você publicar nesta página será <strong>exibido publicamente</strong> neste site para sempre ( <a href=\"{{url}}\">por quê?</a> )."
+
msgid "FOI"
msgstr "acesso à informação"
msgid "FOI email address for {{public_body}}"
msgstr "Email de contato para {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Pedidos de acesso à informação"
@@ -750,7 +784,7 @@ msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Pedidos de informação: de {{start_count}} a {{end_count}} de {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr ""
+msgstr "Respostas ao PAI requer acesso de administrador ({{reason}}) - {{title}}"
msgid "Failed to convert image to a PNG"
msgstr "Erro ao converter a imagem para PNG"
@@ -770,25 +804,25 @@ msgid "Foi attachment"
msgstr "Anexo do pedido"
msgid "FoiAttachment|Charset"
-msgstr ""
+msgstr "FoiAttachment|Charset"
msgid "FoiAttachment|Content type"
-msgstr ""
+msgstr "FoiAttachment|Content type"
msgid "FoiAttachment|Display size"
-msgstr ""
+msgstr "FoiAttachment|Display size"
msgid "FoiAttachment|Filename"
msgstr "FoiAttachment|Nome de arquivo"
msgid "FoiAttachment|Hexdigest"
-msgstr ""
+msgstr "FoiAttachment|Hexdigest"
msgid "FoiAttachment|Url part number"
-msgstr ""
+msgstr "FoiAttachment|Url part number"
msgid "FoiAttachment|Within rfc822 subject"
-msgstr ""
+msgstr "FoiAttachment|Within rfc822 subject"
msgid "Follow"
msgstr "Acompanhar"
@@ -850,7 +884,7 @@ msgstr[0] "{{count}} órgão público encontrado {{description}}"
msgstr[1] "{{count}} órgãos públicos encontrados {{description}}"
msgid "Freedom of Information"
-msgstr "Liberdade de Informação"
+msgstr "Acesso à Informação Pública"
msgid "Freedom of Information Act"
msgstr "Lei de Acesso à Informação Pública"
@@ -859,10 +893,10 @@ msgid "Freedom of Information law does not apply to this authority, so you canno
msgstr "A Lei de Acesso à Informação não se aplica a essa autoridade, portanto não é possível enviar um pedido a ela."
msgid "Freedom of Information law no longer applies to"
-msgstr "A lei de acesso a informação não se aplica a"
+msgstr "A lei de acesso a informação não mais se aplica a"
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr "A Lei de Acesso à Informação não se aplica mais a essa autoridade. Mensagens de acompanhamento de pedidos existentes são enviados para "
+msgstr "A Lei de Acesso à Informação não mais se aplica mais a essa autoridade. Mensagens de acompanhamento de pedidos existentes são enviados para "
msgid "Freedom of Information requests made"
msgstr "Pedidos de acesso à informação feitos"
@@ -918,6 +952,9 @@ msgstr ""
" um momento para lê-lo e contribuir para manter o local organizado para todos?\n"
" Obrigado."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr "Feriado"
@@ -930,6 +967,9 @@ msgstr "Férias | Descrição"
msgid "Home"
msgstr "Início"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Site do órgão público"
@@ -978,6 +1018,15 @@ msgstr "Recebi <strong>algumas das informações solicitadas</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Recebi uma <strong>mensagem de erro</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Se o endereço de email estiver errado, ou se você sabe de um outro melhor, <a href=\"{{url}}\">entre em contato conosco</a> ."
@@ -1000,7 +1049,7 @@ msgid "If you are {{user_link}}, please"
msgstr "Se você é {{user_link}}, por favor"
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Se você achar que este pedido de informação não está adequado, você pode relatá-lo para revisão pelos administradores do site."
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
msgstr "Se você não conseguir clicar no endereço, você pode <strong>selecioná-lo e copiá-lo</strong> do e-mail. Depois, <strong>cole em seu navegador,</strong> no lugar em que você digita o endereço de qualquer outra página da web."
@@ -1009,7 +1058,7 @@ msgid "If you can, scan in or photograph the response, and <strong>send us\\n
msgstr "Se você puder, digitalizar ou fotografe a resposta, e <strong>envie-nos uma cópia para publicação no site</strong>."
msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
-msgstr "Caso você ache esse serviço útil, por favor entre em contato."
+msgstr "Conheça a Lei de Acesso à Informação Pública: http://www.planalto.gov.br/ccivil_03/_ato2011-2014/2011/lei/l12527.htm"
msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
msgstr "Se você recebeu o e-mail de confirmação <strong>há mais de seis meses,</strong> então este link não funciona mais. Tente começar novamente."
@@ -1018,7 +1067,7 @@ msgid "If you have not done so already, please write a message below telling the
msgstr "Se você ainda não fez, por favor escreva uma mensagem explicando para o orgão que você esta removendo seu pedido. Do contrario eles não vão saber que o pedido foi removido."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
-msgstr ""
+msgstr "Se você responder a esta mensagem, ela irá diretamente para {{user_name}}, que ficará conhecendo seu email. Somente responda se concordar."
msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
msgstr "Se você usar seu e-mail por algum site da web ou se tiver filtros para mensagens indesejadas, verifique também suas pastas de spam. Às vezes, nossas mensagens podem ser marcadas dessa forma pelo seu provedor."
@@ -1035,6 +1084,9 @@ msgstr "Se você já utilizou o {{site_name}} antes"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr "Se seu navegador está configurado para aceitar \"cookies\" e você está vendo esta mensagem, então provavelmente é culpa do nosso servidor."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr "Caixa de entrada"
@@ -1048,7 +1100,7 @@ msgid "IncomingMessage|Cached main body text unfolded"
msgstr "IncomingMessage | Exibindo corpo do texto principal em cache"
msgid "IncomingMessage|Last parsed"
-msgstr ""
+msgstr "IncomingMessage|Last parsed"
msgid "IncomingMessage|Mail from"
msgstr "MensagemRecebida|Remetente"
@@ -1096,7 +1148,7 @@ msgid "InfoRequest|Allow new responses from"
msgstr "InfoRequest | Permitir novas respostas de"
msgid "InfoRequest|Attention requested"
-msgstr ""
+msgstr "InfoRequest|Attention requested"
msgid "InfoRequest|Awaiting description"
msgstr "InfoRequest | Aguardando descrição"
@@ -1117,7 +1169,7 @@ msgid "InfoRequest|Handle rejected responses"
msgstr "InfoRequest | Administrar respostas rejeitadas"
msgid "InfoRequest|Idhash"
-msgstr ""
+msgstr "InfoRequest|Idhash"
msgid "InfoRequest|Law used"
msgstr "InfoRequest | Lei utilizada"
@@ -1149,12 +1201,18 @@ msgstr "Pode ser que seu navegador não possa aceitar ou não esteja configurado
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr "Itens correspondentes aos seguintes critérios estão sendo mostradas na sua página."
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "No site desde "
msgid "Joined {{site_name}} in"
msgstr "Entrou no {{site_name}} em"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Mantenha seu pedido <strong>focado,</strong> você terá mais chances de conseguir o que quer ( <a href=\"{{url}}\">por quê?</a> )."
@@ -1173,9 +1231,27 @@ msgstr "Conte para nós o que você estava fazendo quando apareceu esta mensagem
msgid "Link to this"
msgstr "Link para cá"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Lista de todos os órgãos públicos (formato CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Faça o login para baixar o arquivo compactado de {{info_request_title}}"
@@ -1189,10 +1265,10 @@ msgid "Made between"
msgstr "Feitos entre"
msgid "Mail server log"
-msgstr ""
+msgstr "Registro de servidor de email"
msgid "Mail server log done"
-msgstr ""
+msgstr "Registro de servidor de email concluído"
msgid "MailServerLogDone|Filename"
msgstr ""
@@ -1264,7 +1340,7 @@ msgid "My requests"
msgstr "Meus pedidos de informação"
msgid "My wall"
-msgstr "Meu muro"
+msgstr "Meu mural"
msgid "Name can't be blank"
msgstr "Nome não pode estar em branco"
@@ -1275,6 +1351,9 @@ msgstr "Nome já foi utilizado"
msgid "New Freedom of Information requests"
msgstr "Novos pedidos de informação"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Novo e-mail:"
@@ -1297,7 +1376,7 @@ msgid "New response to your request"
msgstr "Nova resposta para o seu pedido"
msgid "New response to {{law_used_short}} request"
-msgstr "Nova resposta ao pedido de informação "
+msgstr "Nova resposta a um pedido de informação via {{law_used_short}}"
msgid "New updates for the request '{{request_title}}'"
msgstr "Novas atualizações para a solicitação '{{request_title}}'"
@@ -1320,6 +1399,9 @@ msgstr "Nenhum resultado encontrado."
msgid "No similar requests found."
msgstr "Nenhum pedido semelhante encontrado."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Ninguém realizou nenhum pedido de acesso a informação para {{public_body_name}} através deste site."
@@ -1329,9 +1411,12 @@ msgstr "Nenhum encontrado."
msgid "None made."
msgstr "Nenhum."
-msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgid "Not a valid FOI request"
msgstr ""
+msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
+msgstr "Repare que o requerente não sera notificado sobre suas anotações porque a requisição foi publicada por {{public_body_name}} em outro nome."
+
msgid "Now check your email!"
msgstr "Agora, cheque seu email!"
@@ -1374,6 +1459,9 @@ msgstr "Encontramos uma pessoa"
msgid "One public authority found"
msgstr "Encontramos um órgão de governo"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Apenas os pedidos feitos por meio do {{site_name}} são mostrados aqui."
@@ -1438,7 +1526,7 @@ msgid "Plans and administrative measures that affect these matters"
msgstr "Planos e medidas administrativas podem afetar esses assuntos"
msgid "Play the request categorisation game"
-msgstr ""
+msgstr "Play the request categorisation game"
msgid "Play the request categorisation game!"
msgstr "Adicione categorias ao seu pedido!"
@@ -1563,9 +1651,6 @@ msgstr "Por favor entre ou crie uma nova conta."
msgid "Please type a message and/or choose a file containing your response."
msgstr "Escreva por favor uma mensagem e/ou selecione um arquivo contendo sua resposta."
-msgid "Please use the form below to tell us more."
-msgstr "Utilize o formulário a seguir para maiores informações."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Por favor use esse endereço de email em todas as repostas para este pedido:"
@@ -1594,7 +1679,7 @@ msgid "Post annotation"
msgstr "Enviar comentário"
msgid "Post redirect"
-msgstr ""
+msgstr "Redirecionamento de postagem"
msgid "PostRedirect|Circumstance"
msgstr "PostRedirect | Circunstância"
@@ -1656,10 +1741,22 @@ msgstr "Orgãos públicos - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Órgão público {{start_count}} para {{end_count}} de {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr "Órgão público"
msgid "Public body/translation"
+msgstr "Public body/translation"
+
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
msgstr ""
msgid "PublicBody::Translation|Disclosure log"
@@ -1734,6 +1831,9 @@ msgstr "PublicBody | Versão"
msgid "Publication scheme"
msgstr "Esquema de publicação"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr "Remover pedido"
@@ -1791,6 +1891,9 @@ msgstr "Apresentar recurso"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Enviar um recurso para {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Pedido removido com sucesso"
@@ -1807,7 +1910,7 @@ msgid "Requested on {{date}}"
msgstr "Solicitado em {{date}}"
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr ""
+msgstr "Pedidos de informação pessoal ou constrangedora não são considerados válidos para os propósitos da Lei de Acesso à Informação (<a href=\"/help/about\">saiba mais</a>)."
msgid "Requests or responses matching your saved search"
msgstr "Pedidos ou respostas que correspondem a sua pesquisa"
@@ -1889,6 +1992,9 @@ msgstr[1] "Pesquisar {{count}} Pedidos de Acesso à Informação feitos a {{publ
msgid "Search your contributions"
msgstr "Buscar suas contribuições"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Selecionar para ver mais informações sobre este órgão público."
@@ -1922,6 +2028,9 @@ msgstr "Enviar pedido"
msgid "Set your profile photo"
msgstr "Definir sua foto do perfil"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nome de usuário já cadastrado"
@@ -2015,6 +2124,9 @@ msgstr "Enviar"
msgid "Submit status"
msgstr "Enviar situação"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Assine o blog"
@@ -2036,6 +2148,9 @@ msgstr "Tabela de situações"
msgid "Table of varieties"
msgstr "Tabela de variedades"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Tags (separadas por um espaço):"
@@ -2063,6 +2178,9 @@ msgstr "Obrigado por atualizar esta solicitação!"
msgid "Thank you for updating your profile photo"
msgstr "Obrigado por atualizar sua foto do perfil"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr "Obrigado por ajudar, seu trabalho tornará mais fácil para todo mundo achar respostas com sucesso, e talvez até mesmo permitir que nos façamos tabelas classificativas..."
@@ -2099,7 +2217,7 @@ msgid "The authority would like to / has <strong>responded by post</strong> to t
msgstr "A autoridade gostaria de responder/respondeu </strong>por correio</strong> esta requisição."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr "O email que você, em nome de {{public_body}}, enviou para {{user}} para responder a uma requisição {{law_used_short}} não foi entregue."
+msgstr "O email que você, em nome de {{public_body}}, enviou para {{user}} para responder a um Pedido de Informação não foi entregue."
msgid "The page doesn't exist. Things you can try now:"
msgstr "Esta página não existe. O que você pode tentar agora:"
@@ -2142,11 +2260,11 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "O solicitante abandonou esse pedido por alguma razão"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr "A resposta para esse pedido <strong>atrasou</strong>. Você pode dizer que, pela lei, o orgão deveria ter respondido"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "A resposta para esse pedido <strong>atrasou</strong>. Você pode afirmar que, por lei, o orgão deveria ter respondido e"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
-msgstr ""
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "A resposta para seu pedido está <strong>super atrasada</strong>. Voc~e pode afirmar que, por \\n lei, sob qualquer circunstância, o poder público já deveria\\n ter respondido"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
msgstr "O index de busca está temporariamente offline, então não podemos exibir o pedido de acesso à informação que foi feito para essa entidade."
@@ -2179,13 +2297,13 @@ msgid "Then you can play the request categorisation game."
msgstr "Então você pode jogar o jogo de categorização do pedido."
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "Então você pode relatar a requisição '{{title}}'"
msgid "Then you can send a message to "
msgstr "Então você pode enviar uma mensagem para"
msgid "Then you can sign in to {{site_name}}"
-msgstr "Então você pode autenticar-se no {{site_name}}"
+msgstr "Então você poderá autenticar-se no {{site_name}}"
msgid "Then you can update the status of your request to "
msgstr "Então você pode atualizar a situação do seu pedido para"
@@ -2235,7 +2353,7 @@ msgstr[0] "Há {{count}} pessoa acompanhando este pedido"
msgstr[1] "Há {{count}} pessoas acompanhando este pedido"
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Há <strong>mais de uma pessoa</strong> que utiliza este site e possui este nome.\\n Um deles é exibido abaixo, você deve definir um diferente:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
msgstr "Há um limite de pedidos de informação que você pode fazer em um dia, porque não queremos que as autoridades públicas sejam bombardeadas por um número grande de pedidos inapropriados. Se você considera ter uma boa razão para seu limite ser ampliado, por favor <a href='{{help_contact_path}}'>nos contate</a>."
@@ -2262,12 +2380,13 @@ msgid "They have been given the following explanation:"
msgstr "Eles deram a seguinte explicação:"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
+
msgstr ""
-"O prazo para a resposta a seu pedido de informação {{title}} se encerra hoje.\n"
+"O prazo para a resposta a seu pedido de informação: {{title}} se encerra hoje.\n"
"Pela lei, o órgão público tem até 20 dias para lhe enviar uma resposta. E pode pedir uma prorrogação deste prazo por mais 10 dias."
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr ""
+msgstr "Não houver resposta para seu Pedido de Informação: {{title}}, \\ncomo refinido por lei"
msgid "Things to do with this request"
msgstr "Coisas para fazer com esse pedido."
@@ -2296,11 +2415,14 @@ msgstr "Esta é a versão HTML de um anexo ao pedido de informação"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr "Isso porque {{title}} é um pedido antigo que foi marcado para não receber mais respostas."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Esse é o seu próprio pedido, então você vai receber um email automaticamente quando uma nova resposta chegar."
msgid "This outgoing message has been hidden. See annotations to\\n\t\t\t\t\t\tfind out why. If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the response."
-msgstr ""
+msgstr "Esta mensagem foi ocultada. Veja as anotações para \\n\t\t\t\t\t\tdescobrir o porquê. Se você é o requerente, deve <a href=\"{{url}}\">logar</a> para visualizar a resposta."
msgid "This particular request is finished:"
msgstr "Esse pedido foi finalizado:"
@@ -2334,10 +2456,10 @@ msgid "This request has been <strong>hidden</strong> from the site, because an a
msgstr "Esse pedido foi <strong>escondido</strong> do site, pois um administrador não considera que ele seja um pedido de acesso à informação."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Esta requisição foi <strong>ocultada</strong> do site porque o administrador a considerou constrangedora"
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Este requirimento foi <strong>indicado</strong> pendente de revisão pelo administrator (talvez porque seja constrangedor ou solicitou informações pessoais)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
msgstr "Este pedido foi <strong>removido</strong> pela pessoa que o fez. Pode ser que exista uma explicação na troca de emails abaixo."
@@ -2363,6 +2485,9 @@ msgstr "Esse pedido esta escondido, apenas quem pediu pode ver. Por favor <a hre
msgid "This request is still in progress:"
msgstr "Esse pedido ainda não acabou:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr "Este pedido não foi feito através de {{site_name}}"
@@ -2407,7 +2532,7 @@ msgid "To download the zip file"
msgstr "Baixe o arquivo compactado"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "Seguir todas as requisições respondidas"
msgid "To follow new requests"
msgstr "Para seguir novos pedidos"
@@ -2416,22 +2541,22 @@ msgid "To follow requests and responses matching your search"
msgstr "Para acompanhar os pedidos e respostas que correspondem à sua pesquisa"
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Seguir requisições de '{{user_name}}'"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "Seguir requisições feitas pelo {{site_name}} a(o) '{{public_body_name}}'"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Seguir a requisição '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "Nos ajude a manter o site redondinho, outra pessoa acabou de alterar o status do {{law_used_full}} pedido {{title}} que você fez a(o) {{public_body}}, para \"{{display_status}}\". Se você discorda da categorização, por favor, altere novamente o status para o que considera mais adequado."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "Para permitir que todos saibam, siga este link e selecione a opção apropriada."
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "Logar na interface administrativa"
msgid "To play the request categorisation game"
msgstr "Para jogar o jogo de categorização do pedido"
@@ -2443,7 +2568,7 @@ msgid "To reply to "
msgstr "Responder para "
msgid "To report this FOI request"
-msgstr ""
+msgstr "Relatar este PAI"
msgid "To send a follow up message to "
msgstr "Enviar uma mensagem de acompanhamento para "
@@ -2479,13 +2604,13 @@ msgid "Today"
msgstr "Hoje"
msgid "Too many requests"
-msgstr ""
+msgstr "Excessivas requisições"
msgid "Top search results:"
msgstr "Resultados das buscas mais populares:"
msgid "Track thing"
-msgstr ""
+msgstr "Acompanhar isto"
msgid "Track this person"
msgstr "Acompanhar este usuário"
@@ -2565,6 +2690,9 @@ msgid "User"
msgstr "Usuário"
msgid "User info request sent alert"
+msgstr "Requisição de informação de usuário mandou alerta"
+
+msgid "User – {{name}}"
msgstr ""
msgid "UserInfoRequestSentAlert|Alert type"
@@ -2589,10 +2717,10 @@ msgid "User|Email"
msgstr "Usuário | E-mail"
msgid "User|Email bounce message"
-msgstr ""
+msgstr "User|Email bounce message"
msgid "User|Email bounced at"
-msgstr ""
+msgstr "User|Email bounced at"
msgid "User|Email confirmed"
msgstr "Usuário | Email confirmado"
@@ -2604,7 +2732,7 @@ msgid "User|Last daily track email"
msgstr "Usuário | Último e-mail"
msgid "User|Locale"
-msgstr ""
+msgstr "User|Locale"
msgid "User|Name"
msgstr "Usuário | Nome"
@@ -2621,6 +2749,9 @@ msgstr "Usuário | Salt"
msgid "User|Url name"
msgstr "Usuário | Url"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Ver o endereço de email do pedido de informação"
@@ -2669,11 +2800,11 @@ msgstr "Nós não temos um email do {{public_body_name}} para fazer pedidos de a
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
msgstr "Nós ainda não sabemos se esta última resposta contém ou não a informação que foi pedida. Se você for {{user_link}} por favor <a href=\"{{url}}\">acesse</a> e deixe todos saberem."
-msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"%s\">details</a>). "
-msgstr "Nós não vamos revelar o seu endereço de e-mail para ninguém, ao menos que você ou a Justiça nos mandem fazer isso ( <a href=\"{{url}}\">detalhes</a> )."
+msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
+msgstr "Nós não vamos revelar o seu endereço de e-mail para ninguém, a menos que você ou a Justiça nos mandem fazer isso ( <a href=\"{{url}}\">detalhes</a> )."
msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
-msgstr "Nós não iremos revelar o seu endereço de email para ninguém a menos que a lei nos obrigue."
+msgstr "Nós não iremos revelar o seu endereço de email para ninguém a menos que você ou a lei nos solicite."
msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
msgstr "Nós não iremos revelar o seu endereço de email para ninguém a menos que a lei nos obrigue."
@@ -2703,7 +2834,7 @@ msgid "What information has been released?"
msgstr "Últimas respostas"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Qual informação foi requerida?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
msgstr "Quando você chegar lá, favor atualizar a situação se a resposta tiver alguma informação útil."
@@ -2769,7 +2900,7 @@ msgid "You are following all new successful responses"
msgstr "Você está acompanhando todas as novas respostas bem sucedidas"
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Você não está mais seguindo a(o) {{track_description}}."
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
msgstr "Agora você está <a href=\"{{wall_url_user}}\">acompanhando</a> atualizações sobre {{track_description}}"
@@ -2781,13 +2912,13 @@ msgid "You can change the requests and users you are following on <a href=\"{{pr
msgstr "Você pode modificar os pedidos e usuários que está seguindo no <a href=\"{{profile_url}}\">seu perfil</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Você pode obter esta página em um formato mais amigável para computadores como parte da\\n página JSON para o pedido. Veja a <a href=\"{{api_path}}\">documentação API</a>."
msgid "You can only request information about the environment from this authority."
msgstr "Você pode apenas ver pedidos de informação sobre o meio-ambiente feitos para essa entidade."
msgid "You have a new response to the {{law_used_full}} request "
-msgstr "Você tem uma nova resposta para o seu pedido de acesso à informação."
+msgstr "Você tem uma nova resposta para o seu pedido de {{law_used_full}}"
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
msgstr "Você encontrou um bug. Por favor, <a href=\"{{contact_url}}\">entre em contato conosco</a> para nos informar sobre o problema."
@@ -2814,13 +2945,13 @@ msgid "You know what caused the error, and can <strong>suggest a solution</stron
msgstr "Você sabe o que causou o erro e pode <strong>sugerir uma solução</strong>, como um endereço de e-mail que funcione."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
-msgstr ""
+msgstr "Você pode<strong>incluir anexos</strong>. Se preferir adicionar um arquivo \\nmuito grande para emails, use o formulário abaixo."
msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
msgstr "Talvez você consiga achar um email no site deles ou telefonando e perguntando. Se você conseguir encontrar, por favor <a href=\"{{url}}\">envie para nós</a>."
msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
-msgstr ""
+msgstr "Você pode encontrar no \\nsite deles ou telefonando e perguntando. Se conseguir, por favor\\n <a href=\"{{help_url}}\">envie para nós</a>."
msgid "You need to be logged in to change the text about you on your profile."
msgstr "Você precisa estar logado para alterar o texto sobre você no seu perfil."
@@ -2838,13 +2969,13 @@ msgid "You previously submitted that exact follow up message for this request."
msgstr "Você já submeteu uma resposta igual para este pedido."
msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
-msgstr ""
+msgstr "Você deve receber uma cópia do pedido pro email. Você pode responder \\n simplesmente <strong>respondendo</strong> ao email. para sua conveniência, aqui está o endereço:"
msgid "You want to <strong>give your postal address</strong> to the authority in private."
msgstr "Você precisa <strong>fornecer seu CEP</strong> para o órgão de governo. Esta informação não será pública."
msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
-msgstr ""
+msgstr "Você estará impossibilitado de fazer novas requisições, envie retornos, acrescente anotações ou \\nenvie mensagens para outros usuários. Você pode continuar vendo outros pedidos e configurar alertas\\npor\\nemail"
msgid "You will no longer be emailed updates for those alerts"
msgstr "Você não receberá mais atualizações por e-mail sobre esses alertas"
@@ -2856,7 +2987,7 @@ msgid "You will only get an answer to your request if you follow up\\nwith the c
msgstr "Você só vai receber uma resposta para o seu pedido se enviar uma mensagem com as explicações adicionais."
msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
-msgstr ""
+msgstr "Você está dentro. <a href=\"#\" id=\"send-request\">Continue enviando seu pedido</a>"
msgid "You're long overdue a response to your FOI request - "
msgstr "A resposta à sua solicitação está muito atrasada."
@@ -2889,7 +3020,7 @@ msgid "Your annotations"
msgstr "Seus comentários"
msgid "Your details, including your email address, have not been given to anyone."
-msgstr ""
+msgstr "Seus dados, incluindo endereço de email (não foram fornecidos a ninguém)"
msgid "Your e-mail:"
msgstr "Seu e-mail:"
@@ -2935,15 +3066,17 @@ msgstr "Sua senha:"
msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
msgstr ""
+"Sua foto será exibida em público <strong>na internet</strong>,\\n \n"
+"em qualquer ação que fizer no {{site_name}}."
msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
-msgstr ""
+msgstr "Sua requisição foi nomeada {{info_request}}. Permitir que todos saibam onde você obteve a informação irá nos ajudar a manter as abas"
msgid "Your request:"
msgstr "Seu pedido:"
msgid "Your response to an FOI request was not delivered"
-msgstr ""
+msgstr "Sua resposta a um PAI não foi enviada"
msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
msgstr "Sua resposta irá <strong>aparecer na Internet</strong>, <a href=\"{{url}}\">leia por que</a> e respostas para outras perguntas."
@@ -2967,7 +3100,7 @@ msgid "[{{public_body}} request email]"
msgstr ""
msgid "[{{site_name}} contact email]"
-msgstr ""
+msgstr "[{{site_name}} email de contato]"
msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
msgstr "\\n\\n[ {{site_name}} nota: O texto acima estava mal codificado e teve caracteres estranhos removidos. ]"
@@ -2978,6 +3111,9 @@ msgstr "um resumo de uma linha sobre a informação que você esta pedindo, e.x.
msgid "admin"
msgstr "administrador"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "todos os pedidos"
@@ -2991,7 +3127,7 @@ msgid "and"
msgstr "e"
msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
-msgstr ""
+msgstr "e atualizar o status corretamente. <strong>Você</strong> gostaria de ajudar?"
msgid "and update the status."
msgstr "e atualize a situação."
@@ -3011,6 +3147,9 @@ msgstr "qualquer coisa"
msgid "are long overdue."
msgstr "estouraram bastante o prazo."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "órgãos de governo"
@@ -3023,6 +3162,9 @@ msgstr "começando com ‘{{first_letter}}’"
msgid "between two dates"
msgstr "entre duas datas"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "por"
@@ -3045,7 +3187,7 @@ msgid "details"
msgstr "detalhes"
msgid "display_status only works for incoming and outgoing messages right now"
-msgstr ""
+msgstr "display_status somente funciona para mensagem recebidas e enviadas neste exato momento"
msgid "during term time"
msgstr "durante o período letivo"
@@ -3104,15 +3246,21 @@ msgstr "mensagens de órgãos publicos"
msgid "messages from users"
msgstr "mensagens de usuários"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "até o dia"
msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "não existe mais. Se você está tentanto fazer\\n a partir da página de solicitação, tente responder a uma mensagem em específico em vez de enviar\\n uma resposta geral. Se você precisa fazer um resposta geral, e sabe\\n qual o email correto, por favor <a href=\"{{url}}\">send it to us</a>."
msgid "normally"
msgstr " "
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "faça o login como"
@@ -3134,6 +3282,9 @@ msgstr "enviar uma mensagem de acompanhamento"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "enviado para {{public_body_name}} por {{info_request_user}} em {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr "mostrar citações"
@@ -3155,6 +3306,11 @@ msgstr "que você fez para"
msgid "the main FOI contact address for {{public_body}}"
msgstr "contato do {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "{{public_body}}"
@@ -3174,7 +3330,7 @@ msgid "to {{public_body}}"
msgstr "para {{public_body}}"
msgid "unexpected prominence on request event"
-msgstr ""
+msgstr "unexpected prominence on request event"
msgid "unknown reason "
msgstr "razão desconhecida"
@@ -3213,13 +3369,13 @@ msgid "{{info_request_user_name}} only:"
msgstr "{{info_request_user_name}} apenas:"
msgid "{{law_used_full}} request - {{title}}"
-msgstr "{{law_used_full}} pedido - {{title}}"
+msgstr "Pedido de {{law_used_full}} - {{title}}"
msgid "{{law_used_full}} request GQ - {{title}}"
msgstr ""
msgid "{{law_used}} requests at {{public_body}}"
-msgstr "{{law_used}} pedidos para {{public_body}}"
+msgstr "Pedidos de Informação a(o) {{public_body}}"
msgid "{{length_of_time}} ago"
msgstr "Há {{length_of_time}}"
@@ -3240,7 +3396,7 @@ msgid "{{public_body_name}} only:"
msgstr "{{public_body_name}} apenas:"
msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
-msgstr "{{public_body}} pediu que você explicasse parte do seu pedido {{law_used}}."
+msgstr "{{public_body}} pediu que você explicasse parte do seu pedido de informação"
msgid "{{public_body}} sent a response to {{user_name}}"
msgstr "{{public_body}} enviou uma resposta para {{user_name}}"
@@ -3263,6 +3419,9 @@ msgstr "{{site_name}} envia novos pedidos para <strong>{{request_email}}</strong
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Os usuários do {{site_name}} fizeram {{number_of_requests}} pedidos, incluindo:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - um pedido de acesso à informação para {{public_body}}"
@@ -3279,7 +3438,7 @@ msgid "{{user_name}} added an annotation"
msgstr "{{user_name}} adicionou um comentário"
msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
-msgstr ""
+msgstr "{{user_name}} fez anotações em seu pedido de\\n{{law_used_short}}. Siga este link para saber o que foi escrito."
msgid "{{user_name}} has used {{site_name}} to send you the message below."
msgstr "{{user_name}} usou o {{site_name}} para enviar-lhe a mensagem abaixo."
diff --git a/locale/ro_RO/app.po b/locale/ro_RO/app.po
index 78744673a..315e19d0d 100644
--- a/locale/ro_RO/app.po
+++ b/locale/ro_RO/app.po
@@ -5,14 +5,18 @@
# Translators:
# <andreicristianpetcu@gmail.com>, 2012.
# <copyratul@gmail.com>, 2012.
+# Cosmin Pojoranu <cosmin@funkycitizens.org>, 2013.
+# Elena Calistru <calistru.elena@gmail.com>, 2013.
+# <paul_kimmy@yahoo.com>, 2013.
+# Rodica Ardelean <rodxy@yahoo.com>, 2013.
# <rodxy@yahoo.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2013-01-08 10:58+0000\n"
-"Last-Translator: rodicaa <rodxy@yahoo.com>\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:11+0000\n"
+"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
@@ -24,60 +28,61 @@ msgid " This will appear on your {{site_name}} profile, to make it\\n
msgstr " Aceasta o să apară pe profilul tău de pe situl {{site_name}} , pentru a fi mai ușor altora să se implice în ceea ce faci."
msgid " (<strong>no ranty</strong> politics, read our <a href=\"{{url}}\">moderation policy</a>)"
-msgstr " (<strong> fara politici de garantare </strong> cititi politica noastra de <a href=\"{{url}}\">moderare</a>)"
+msgstr " (<strong>Te rugăm să eviţi discuţiile aprinse pe teme politice</strong> - vezi <a href=\"{{url}}\">politica noastra de moderare</a>)"
msgid " (<strong>patience</strong>, especially for large files, it may take a while!)"
-msgstr " (<strong>rabdare</strong>, in special pentru fisierele mari, ar putea dura ceva!)"
+msgstr " (<strong>răbdare</strong>, s-ar putea să dureze puţin, mai ales dacă fişierul e mare!)"
msgid " (you)"
-msgstr "(tu)"
+msgstr "(dvs.)"
msgid " - view and make Freedom of Information requests"
-msgstr "Vizializare si emitere cereri de \"Libertatea Informatilor\""
+msgstr "- vezi cum arată şi trimite o solicitare de acces la informaţii"
msgid " - wall"
-msgstr ""
+msgstr " - perete"
msgid " <strong>Note:</strong>\\n We will send you an email. Follow the instructions in it to change\\n your password."
-msgstr ""
+msgstr " <strong>Notă:</strong>\\n Vă vom trimite un email. Urmaţi instrucţiunile din acesta pentru a modifica \\n parola dvs.."
msgid " <strong>Privacy note:</strong> Your email address will be given to"
-msgstr " <strong> Nota de confidentialitate:</strong> Adresa dvs. de email va fi trimisa catre"
+msgstr " <strong>Notă de confidenţialitate:</strong> Adresa ta de email va fi văzută şi de către"
msgid " <strong>Summarise</strong> the content of any information returned. "
-msgstr " <strong>Rezumati </strong> continutului oricarei informatii returnate. "
+msgstr " <strong>Rezumă</strong> conţinutul oricărei informaţii returnate. "
msgid " Advise on how to <strong>best clarify</strong> the request."
-msgstr " Sfaturi despre cum sa <strong>exprimati cat mai clar </strong> cererea."
+msgstr "Sfătuieşte-ne cum să <strong>facem solicitarea cât mai clară </strong>."
msgid " Ideas on what <strong>other documents to request</strong> which the authority may hold. "
-msgstr " Idei despre ce ong>alte documente sa solicitati</strong> si ce autoritate le poate detine. "
+msgstr "<strong>Alte documente</strong> pe care le poţi solicita de la aceeaşi autoritate."
msgid " If you know the address to use, then please <a href=\"{{url}}\">send it to us</a>.\\n You may be able to find the address on their website, or by phoning them up and asking."
+msgstr " Dacă cunoaşteţi adresa ce trebuie utilizată, atunci vă rugăm să <a href=\"{{url}}\">ne-o trimiteţi</a>.\\n Aţi putea găsi adresa pe siteul lor, sau telefonându-le şi întrebând."
msgid " Include relevant links, such as to a campaign page, your blog or a\\n twitter account. They will be made clickable. \\n e.g."
-msgstr ""
+msgstr "Include link-uri relevante, precum cele către pagina campaniei, blogul tău sau către un cont de Twitter. Acestea vor fi accesibile direct din site. \\n e.g."
msgid " Link to the information requested, if it is <strong>already available</strong> on the Internet. "
-msgstr " Link-ul catre informatia ceruta, daca este <strong> disponibila</strong> pe Internet. "
+msgstr " Link-ul către informaţia cerută, dacă aceasta e<strong>deja disponibilă</strong> pe Internet. "
msgid " Offer better ways of <strong>wording the request</strong> to get the information. "
-msgstr " Ofera cai mai bune <strong>de a formula cererea</strong> pentru a obtine informatia. "
+msgstr "Sugerează-ne <strong>cum putem formula mai bine cererea</strong> pentru a obţine informaţia dorită."
msgid " Say how you've <strong>used the information</strong>, with links if possible."
-msgstr " Spuneti cum ati <strong> utilizat informatiile</strong>, cu link-uri, daca este posibil."
+msgstr " Spune-ne <strong> cum te-ai folosite de informaţiile primite</strong>, cu link-uri dacă e posibil."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr " Sugerati <strong>unde altundeva</strong> solicitantul ar putea gasi aceasta informatie. "
+msgstr " Sugerează <strong>un alt loc</strong> în care solicitantul ar putea găsi această informaţie. "
msgid " What are you investigating using Freedom of Information? "
-msgstr "De ce investigati utilizare Libertatii de Informare?"
+msgstr "Ce urmăreşti să afli prin solicitările de acces la informaţii?"
msgid " You are already being emailed updates about the request."
-msgstr "Vi s-au trimis deja prin e-mail actualizari referitoare la cerere "
+msgstr "Ţi s-au trimis deja prin e-mail actualizări referitoare la solicitare."
msgid " You will also be emailed updates about the request."
-msgstr "Vei primi prin email informări cu noutăți cu privire la cererea ta."
+msgstr "Vei primi prin email noutăți legate de cererea ta."
msgid " made by "
msgstr "făcut de"
@@ -89,25 +94,25 @@ msgid " when you send this message."
msgstr "când trimiți acest mesaj."
msgid "\"Hello! We have an <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">important message</a> for visitors outside {{country_name}}\""
-msgstr ""
+msgstr "\"Salut! Avem un <a href=\\\"/help/alaveteli?country_name=#{CGI.escape(current_country)}\\\">mesaj important</a> pentru vizitatorii din afara {{country_name}}\""
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] "{{count}}cerere Libertatea de Informare pana la {{public_body_name}}"
-msgstr[1] "{{count}} cereri Libertatea de Informare pana la {{public_body_name}}"
-msgstr[2] "{{count}} cereri Libertatea de Informare pana la {{public_body_name}} "
+msgstr[0] "{{count}} cereri FOI până la {{public_body_name}}"
+msgstr[1] "{{count}} cereri FOI până {{public_body_name}}"
+msgstr[2] "{{count}} solicitări de acces la informaţie până la {{public_body_name}} "
msgid "{{count}} request"
msgid_plural "{{count}} requests"
msgstr[0] "{{count}} cerere"
msgstr[1] "{{count}} cereri"
-msgstr[2] "{{count}} cereri"
+msgstr[2] "{{count}} solicitări"
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
-msgstr[0] "{{count}} cerere facuta."
-msgstr[1] "{{count}} cereri facute."
-msgstr[2] "{{count}} cereri facute."
+msgstr[0] "{{count}} cerere făcută."
+msgstr[1] "{{count}} cereri făcute."
+msgstr[2] "{{count}} cereri făcute."
msgid "'Crime statistics by ward level for Wales'"
msgstr "'Crime statistics by ward level for Wales'"
@@ -119,11 +124,14 @@ msgid "'{{link_to_authority}}', a public authority"
msgstr "'{{link_to_authority}}', o autoritate publică"
msgid "'{{link_to_request}}', a request"
-msgstr "'{{link_to_request}}', o cerere"
+msgstr "'{{link_to_request}}', o solicitare"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', o persoană"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr " , Al dvs., {{user_name}}"
@@ -134,191 +142,194 @@ msgid "1. Select an authority"
msgstr "1. Selectează o autoritate"
msgid "2. Ask for Information"
-msgstr "2. Cere o informație"
+msgstr "2. Solicită o informație"
msgid "3. Now check your request"
-msgstr "3. Verifică cererea făcută"
+msgstr "3. Verifică solicitarea făcută"
msgid "<a href=\"{{url}}\">Add an annotation</a> (to help the requester or others)"
msgstr "<a href=\"{{url}}\">Adaugă o notă</a> (pentru a ajuta petentul sau pe alții)"
msgid "Are we missing a public authority?"
-msgstr ""
+msgstr "Ne lipseşte o autoritate publică?"
msgid "Are you the owner of any commercial copyright on this page?"
msgstr "Ai un drept de Proprietate Intelectuală asupra vreunei mărci de pe pagina aceasta?"
-msgid "<a href=\"{{browse_url}}\">Browse all</a> or <a href=\"{{add_url}}\">ask us to add one</a>."
-msgstr "<a href=\"{{browse_url}}\">Caută toate</a> sau <a href=\"{{add_url}}\">cere-ne nouă să adăugăm una</a>."
+msgid "<a href=\"{{url}}\">Browse all</a> or <a href=\"{{url}}\">ask us to add one</a>."
+msgstr "<a href=\"{{url}}\">Caută în toată arhiva</a> sau <a href=\"{{url}}\">cere-ne nouă să adăugăm una</a>."
msgid "Can't find the one you want?"
msgstr "Nu găsești persoana căutată?"
msgid "<a href=\"{{url}}\">Sign in</a> to change password, subscriptions and more ({{user_name}} only)"
-msgstr "<a href=\"{{url}}\">Loghează-te</a> pentru schimbarea parolei, abonării și altele ({{user_name}} only)"
+msgstr "<a href=\"{{url}}\">Autentifică-te</a> pentru a-ţi schimba parola şi alte setări, inclusiv cele legate de abonare ({{user_name}} only)"
msgid "details"
msgstr "detalii"
-msgid "what's that?"
-msgstr "ce este aceasta?"
-
msgid "<p>All done! Thank you very much for your help.</p><p>There are <a href=\"{{helpus_url}}\">more things you can do</a> to help {{site_name}}.</p>"
-msgstr "<p>Gata! Mulțumesc pentru ajutorul tău.</p><p>Sunt aici <a href=\"{{helpus_url}}\">mai multe lucruri pe care le poți face</a> pentru a ajuta {{site_name}}.</p>"
+msgstr "<p>Gata! Mulţumim de ajutor.</p><p>Apropo, sunt <a href=\"{{helpus_url}}\">o sumedenie de alte lucruri pe care le poţi face</a> pentru a ajuta {{site_name}}.</p>"
msgid "<p>Thank you! Here are some ideas on what to do next:</p>\\n <ul>\\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\\n <li>If you would like to contest the authority's claim that they do not hold the information, here is\\n <a href=\"{{complain_url}}\">how to complain</a>.\\n </li>\\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\\n on other means to answer your question.\\n </li>\\n </ul>"
-msgstr ""
+msgstr "<p>Mulțumim! Iată câteva idei despre ce ai putea face în continuare:</p>\\n <ul>\\n <li>Pentru a trimite solicitarea către o altă autoritate, copiază întâi textul solicitării tale mai jos, apoi <a href=\"{{find_authority_url}}\">găsește cealaltă autoritate</a>.</li>\\n <li>Dacă ai vrea să contești susținerea autorității că nu ar avea respectivele informații, aici găsești\\n <a href=\"{{complain_url}}\">cum să faci o plângere</a>.\\n </li>\\n <li>Avem <a href=\"{{other_means_url}}\">sugestii</a>\\n cu privire la alte mijloace pentru a primi răspuns la întrebarea ta.\\n </li>\\n </ul>"
msgid "<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you should have got a response promptly, and normally before the end of <strong>{{date_response_required_by}}</strong>.</p>"
-msgstr "<p>Va mulţumim! Sperăm ca nu ati avut de asteptat prea mult.</p> <p>Conform legii, ar trebui sa primiti un raspuns prompt, in mod normal pana la sfarsitul<strong>{{date_response_required_by}}</strong>.</p>"
+msgstr "<p>Îţi mulţumim! Sperăm ca nu ai avut de aşteptat prea mult.</p> <p>Conform legii, ar trebui să primeşti un răspuns prompt, în mod normal până la <strong>{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\\n{{date_response_required_by}}</strong>.</p>"
-msgstr ""
+msgstr "<p>Mulțumim! Sperăm că nu vei aștepta prea mult.</p> <p>Potrivit legii, ar trebui să primești un răspuns prompt, în mod normal până la <strong>\\n{{date_response_required_by}}</strong>.</p>"
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
-msgstr "<p>Va mulţumim! Sperăm ca asteptale dvs. nu a fost prea lungă</p><p>Ar trebui sa primiti un raspuns in {{late_number_of_days}} zile, sau sa vi se comunice daca va dura mai mult (<a href=\"{{review_url}}\">details</a>).</p>"
-
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr "<p>Va mulţumim! Vom verifica ce s-a intamplat si vom increca sa o rezolvam.</p><p> Daca eroarea era referitoare la livrare, si ne puteti oferi o alta adreasa actualiyata pentru FOI pentru acesta autoritatem ve rugan sa comunicati utilizand formularul de mai jos.</p>"
+msgstr "<p>Îţi mulţumim! Sperăm că nu ai aşteptat prea mult. </p><p>Ar trebui să primeşti un răspuns în {{late_number_of_days}} zile, sau să ţi se comunice dacă va dura mai mult (<a href=\"{{review_url}}\">details</a>).</p>"
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
-msgstr "<p>Va multumim! Cererea dvs este peste termen ciu mai mult de {{very_late_number_of_days}} zile lucratoare. Majoritatea cerelilor ar trebui sa fie satisfacute in decursul a{{late_number_of_days}}zile lucratoare. Ati putea sa formulati o plangere in acest sens, vedeti mai jos.</p>"
+msgstr "<p>Îţi multumim! Solicitarea ta se întinde peste termen cu mai mult de {{very_late_number_of_days}} zile lucrătoare. Majoritatea solicitărilor ar trebui să primească răspuns în decurs de a{{late_number_of_days}}zile lucrătoare. Ai putea să formulezi o plângere în acest sens, vezi mai jos cum.</p>"
msgid "<p>Thanks for changing the text about you on your profile.</p>\\n <p><strong>Next...</strong> You can upload a profile photograph too.</p>"
-msgstr ""
+msgstr "<p>Vă mulţumim pentru modificarea textului referitor la dvs. din profil.</p>\\n <p><strong>În continuare...</strong> puteţi încărca o poză de profil deasemenea.</p>"
msgid "<p>Thanks for updating your profile photo.</p>\\n <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>"
-msgstr ""
+msgstr "<p>Vă mulţumim pentru actualizarea pozei dvs. de profil.</p>\\n <p><strong>În continuare...</strong> puteţi adăuga un text despre dvs. şi despre căutările dvs. în profilul dvs..</p>"
msgid "<p>We recommend that you edit your request and remove the email address.\\n If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>"
-msgstr ""
+msgstr "<p>Îți recomandăm să îți editezi solicitarea și să ștergi adresa de email.\\n Dacă o lași, adresa de email va fi trimisă către autoritate, dar nu va fi afișată pe site.</p>"
msgid "<p>We're glad you got all the information that you wanted. If you write about or make use of the information, please come back and add an annotation below saying what you did.</p><p>If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p>"
-msgstr "<p>Ne bucuram ca ati obtinut informatiile pe care le doreati. Daca veti scrie despre acetea sau despre utilizarea lor, va rugam reveniti si completati mai jos, comunicand ce ati facut. </p><p> Daca ati gasit acest site {{site_name}} util puteti face , <a href=\"{{donation_url}}\"> o donatie</a> organizatiei care il intretine.</p>"
+msgstr "<p>Ne bucurăm tare mult că ai obţinut informaţiile pe care le doreai! Dacă vei scrie despre cum ţi-au folosit aceste informaţii, te rugăm să completezi mai jos un scurt istoric care va fi util celor ce vor face solicitări similare. </p><p> Dacă ai găsit {{site_name}} util, poţi face , <a href=\"{{donation_url}}\"> o mică donaţie</a> pentru a atenua din costurile de întreţinere pe care le avem cu serverele.</p>"
msgid "<p>We're glad you got some of the information that you wanted. If you found {{site_name}} useful, <a href=\"{{donation_url}}\">make a donation</a> to the charity which runs it.</p><p>If you want to try and get the rest of the information, here's what to do now.</p>"
-msgstr "<p>Ne bucuram ca ati obtinut informatiile pe care le doreati. Daca ati gasit acest site {{site_name}} util puteti face , <a href=\"{{donation_url}}\"> o donatie</a> organizatiei care il intretine.</p><p> Daca vreti sa obtineti si retul de informatii, utitati aici ce mai aveti de facut acum .</p>"
+msgstr "<p>Ne bucurăm că aţi obţinut informaţiile pe care le doreaţi. Dacă aţi găsit acest site {{site_name}} util puteţi face , <a href=\"{{donation_url}}\"> o donaţie</a> organizaţiei care îl întreţine.</p><p> Daca vreţi să încercaţi şi să obţineti şi restul de informaţii, utitaţi aici ce mai aveţi de făcut acum .</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply (<a href=\"{{url}}\">details</a>).</p>"
-msgstr "<p>Nu e nevoie sa includeti emailul dvs. in cerere pentru a obtine un raspuns (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Nu e nevoie să incluzi emailul tău în solicitare pentru a primi răspuns (<a href=\"{{url}}\">details</a>).</p>"
msgid "<p>You do not need to include your email in the request in order to get a reply, as we will ask for it on the next screen (<a href=\"{{url}}\">details</a>).</p>"
-msgstr "<p>Nu e nevoie sa includeti emailul dvs. in cerere pentru a obtine un raspuns, deoarece vi-l solicitaim in pagina urmatoare (<a href=\"{{url}}\">details</a>).</p>"
+msgstr "<p>Nu e nevoie să-ţi laşi emailul în solicitare pentru a obţine un răspuns. Îţi vei lăsa adresa de email în pagina următoare (<a href=\"{{url}}\">details</a>).</p>"
msgid "<p>Your request contains a <strong>postcode</strong>. Unless it directly relates to the subject of your request, please remove any address as it will <strong>appear publicly on the Internet</strong>.</p>"
-msgstr "<p>Cererea dvs contine <strong>postcode</strong>. Daca nu este legata in mod direct de subiectul cererii dvs. va rugam sa ilaturati oricea adresa intrucat aceasta <strong> va aparea public pe Internet </strong>.</p>"
+msgstr "<p>Solicitarea ta conţine un <strong>cod poştal</strong>. Dacă nu e legat în mod direct de subiectul solicităarii tale. te rugăm să nu incluzi nicio adresă din motive de confidenţialitate, întrucât <strong> va fi afişată public pe Internet </strong>.</p>"
msgid "<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\\n <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\\n replied by then.</p>\\n <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\\n annotation below telling people about your writing.</p>"
-msgstr ""
+msgstr "<p>Solicitarea ta {{law_used_full}} a fost <strong>transmisă</strong>!</p>\\n <p><strong>Vei primi un email</strong> când există un răspuns sau după {{late_number_of_days}} zile lucrătoare dacă autoritatea \\n încă nu a răspuns până atunci.</p>\\n <p>Dacă scrii despre această solicitare (de exemplu pe un forum sau pe un blog) te rugăm să faci referință către această pagină și adaugă o\\n adnotare mai jos pentru a spune oamenilor despre ce ai scris.</p>"
msgid "<p>{{site_name}} is currently in maintenance. You can only view existing requests. You cannot make new ones, add followups or annotations, or otherwise change the database.</p> <p>{{read_only}}</p>"
-msgstr "<p>{{site_name}} este in reparatie momentan. Puteti vedea odar cererile deja existente. Nu puteti adauga cereri noi, nici comentarii, adnotari sau alte modificari asupra bazei de date.</p> <p>{{read_only}}</p>"
+msgstr "<p>{{site_name}} este momentan în mentenanţă. Poţi vedea numai solicitările deja existente. Nu poţi adăuga solicitări noi, nici comentarii, adnotări sau alte modificări asupra bazei de date.</p> <p>{{read_only}}</p>"
msgid "<small>If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way.</small>\\n</p>"
-msgstr ""
+msgstr "<small>Dacă utilizaţi un serviciu email de tip web sau dacă aveţi filtre pentru poşta nedorită, verificaţi deasemenea şi folderele \\nbulk/spam de email . Uneori mesajele noastre sunt marcate astfel.</small>\\n</p>"
msgid "{{count}} person is following this authority"
msgid_plural "{{count}} people are following this authority"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "{{count}} persoană urmăreşte această autoritate"
+msgstr[1] "{{count}} persoane urmăresc această autoritate"
+msgstr[2] "{{count}} persoane urmăresc această autoritate"
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
-msgstr ""
+msgstr "<strong> Pot să solicit informaţii despre mine însumi?</strong>\\n\t\t\t<a href=\"{{url}}\">Nu! (Click aici pentur detalii)</a>"
msgid "<strong><code>commented_by:tony_bowden</code></strong> to search annotations made by Tony Bowden, typing the name as in the URL."
-msgstr "<strong><code>comentariu_de:tony_bowden</code></strong> pentru a cauta admotari facute de Tony Bowden, tastati numele asa ca in URL."
+msgstr "<strong><code>comentariu_de:tony_bowden</code></strong> pentru a cauta adnotări făcute de Tony Bowden, tastaţi numele aşa cum apare în URL."
msgid "<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>"
-msgstr "<strong><code>filetype:pdf</code></strong>pentru a gasi toate raspunsurile cu atasament PDF. Sau incercati astfel: <code>{{list_of_file_extensions}}</code>"
+msgstr "<strong><code>filetype:pdf</code></strong>pentru a găsi toate răspunsurile care au un fişier PDF ataşat. Sau încearcă astfel: <code>{{list_of_file_extensions}}</code>"
msgid "<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL."
-msgstr "<strong><code>cerere:</code></strong> pentru a restrictiona la o cerere specifica, tatstand titlul asa ca in URL."
+msgstr "<strong><code>solicitare:</code></strong> pentru a limita la o cerere anume, tastând titlul asa cum apare în URL."
msgid "<strong><code>requested_by:julian_todd</code></strong> to search requests made by Julian Todd, typing the name as in the URL."
-msgstr "<strong><code>solicitat_de:julian_todd</code></strong> pentru a cauta cererile facute de Julian Todd, tastand numele asa ca in URL."
+msgstr "<strong><code>solicitat_de:julian_todd</code></strong> pentru a căuta solicitările făcute de Julian Todd, tastând numele aşa cum apare în URL."
msgid "<strong><code>requested_from:home_office</code></strong> to search requests from the Home Office, typing the name as in the URL."
-msgstr "<strong><code>solicitat_de la:home_office</code></strong> pentru a cauta cererile facute de la Home Office, tastand numele asa ca in URL."
+msgstr "<strong><code>solicitat_de:home_office</code></strong> pentru a căuta prin solicitările făcute de Home Office, tastând numele aşa cum apare în URL."
msgid "<strong><code>status:</code></strong> to select based on the status or historical status of the request, see the <a href=\"{{statuses_url}}\">table of statuses</a> below."
-msgstr "<strong><code>status:</code></strong> pentru a selecta pe baza statutului unei cereri, vedeti <a href=\"{{statuses_url}}\">tabelul statutelor </a> below."
+msgstr "<strong><code>status:</code></strong> pentru a selecta pe baza statutului unei cereri, vedeţi <a href=\"{{statuses_url}}\">tabelul statutelor </a> below."
msgid "<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, \\n and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\\n can be present, you have to put <code>AND</code> explicitly if you only want results them all present."
-msgstr ""
+msgstr "<strong><code>etichetă:fundații</code></strong> pentru a găsi toate autoritățile publice sau solicitările cu o etichetă dată. Poți include etichete multiple, \\n și etichete cu valori, i.e. <code>etichetă:deschislocal AND etichetă:tranzacții_financiare:335633</code>. Ia în calcul că din oficiu orice etichetă \\n poate exista, trebuie să scrii <code>AND</code> explicit dacă vrei doar rezultatele care au toate respectivele etichete."
msgid "<strong><code>variety:</code></strong> to select type of thing to search for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below."
-msgstr "<strong><code>variety:</code></strong> pentru a selecta tipul obiectului cautat, vedeti <a href=\"{{varieties_url}}\">tabelul cu tipurile</a> below."
+msgstr "<strong><code>variety:</code></strong> pentru a selecta tipul obiectului căutat, vedeţi <a href=\"{{varieties_url}}\">tabelul cu tipurile</a> below."
msgid "<strong>Advice</strong> on how to get a response that will satisfy the requester. </li>"
-msgstr "<strong>Sfat </strong> despre cum sa primiti un raspuns care sa satisfaca cererea. </li>"
+msgstr "<strong>Sfat </strong> despre cum să primiţi un răspuns care să satisfacă cererea. </li>"
+
+msgid "what's that?"
+msgstr "ce este aceasta?"
+
+msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
+msgstr "<p>Va mulţumim! Vom verifica ce s-a intamplat si vom increca sa o rezolvam.</p><p> Daca eroarea era referitoare la livrare, si ne puteti oferi o alta adreasa actualiyata pentru FOI pentru acesta autoritatem ve rugan sa comunicati utilizand formularul de mai jos.</p>"
msgid "<strong>All the information</strong> has been sent"
-msgstr "<strong>Toate informatiile</strong> au fost trimise"
+msgstr "<strong>Toate informaţiile</strong> au fost trimise"
msgid "<strong>Anything else</strong>, such as clarifying, prompting, thanking"
-msgstr "<strong>Orice altceva</strong>, cuma ar fi: clarificari, precizari, multumiri "
+msgstr "<strong>Orice altceva</strong>, cum ar fi: clarificări, precizări, mulţumiri "
msgid "<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \\na good internal knowledge of user behaviour on {{site_name}}. How, \\nwhy and by whom requests are categorised is not straightforward, and there will\\nbe user error and ambiguity. You will also need to understand FOI law, and the\\nway authorities use it. Plus you'll need to be an elite statistician. Please\\n<a href=\"{{contact_path}}\">contact us</a> with questions."
-msgstr ""
+msgstr "<strong>Caveat emptor!</strong> Pentru a folosi aceste date corect, vei avea nevoie de \\na o bună cunoaștere a comportamentului utilizatorului pe {{site_name}}. Modul de împărțire a solicitărilor pe categorii este complicat și pot exista\\n erori sau ambiguități. De asemenea, va trebui să înțelegi legea accesului la informații și \\nmodul în care autoritățile o folosesc. În plus, trebuie să fii un bun statistician. Te rugăm\\n<a href=\"{{contact_path}}\">să ne contactezi</a> pentru întrebări."
msgid "<strong>Clarification</strong> has been requested"
-msgstr "<strong>Clarificarea</strong> a fost solicitata."
+msgstr "<strong>Clarificarea</strong> a fost solicitată."
msgid "<strong>No response</strong> has been received\\n <small>(maybe there's just an acknowledgement)</small>"
-msgstr ""
+msgstr "<strong>Niciun răspuns</strong> nu a fost primit\\n <small>(poate există doar o confirmare)</small>"
msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority."
-msgstr ""
+msgstr "<strong>Notă:</strong> Deoarece acum testăm, cererile sunt trimise către {{email}} în loc de autoritatea efectivă."
msgid "<strong>Note:</strong> You're sending a message to yourself, presumably\\n to try out how it works."
-msgstr ""
+msgstr "<strong>Notă:</strong> Ți-ai trimis un mesaj, probabil\\n pentru a afla cum funcționează."
msgid "<strong>Note:</strong>\\n We will send an email to your new email address. Follow the\\n instructions in it to confirm changing your email."
-msgstr ""
+msgstr "<strong>Notă:</strong>\\n Vă vom trimite un email către noua dvs. adresă de email. Urmaţi instrucţiunile \\n din acesta pentru a confirma schimbarea emailului dvs."
msgid "<strong>Privacy note:</strong> If you want to request private information about\\n yourself then <a href=\"{{url}}\">click here</a>."
-msgstr ""
+msgstr "<strong>Notă de confidențialitate:</strong> Dacă dorești să soliciți informații personale despre\\n tine atunci <a href=\"{{url}}\">apasă aici</a>."
msgid "<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "<strong>Notă de confidențialitate:</strong> Poza ta va fi făcută publică pe Internet,\\n oriunde vei posta ceva pe {{site_name}}."
msgid "<strong>Privacy warning:</strong> Your message, and any response\\n to it, will be displayed publicly on this website."
-msgstr ""
+msgstr "<strong>Alertă de confidențialitate:</strong> Mesajul tău și orice răspuns\\n la acesta, vor fi publicate pe website."
msgid "<strong>Some of the information</strong> has been sent "
-msgstr "<strong>Unele dintre informatii</strong> au fost trimise."
+msgstr "<strong>Unele dintre informaţii</strong> au fost trimise."
msgid "<strong>Thank</strong> the public authority or "
-msgstr "<strong>Multumiri </strong> autoritatii publice sau "
+msgstr "<strong>Mulţumiri </strong> autorităţii publice sau "
msgid "<strong>did not have</strong> the information requested."
-msgstr "<strong>nu au avut</strong> informatia solicitata."
+msgstr "<strong>nu au avut</strong> informaţia solicitată."
msgid "A <a href=\"{{request_url}}\">follow up</a> to <em>{{request_title}}</em> was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "O <a href=\"{{request_url}}\">urmărire </a> către <em>{{request_title}}</em> a fost trimisă către {{public_body_name}} de către {{info_request_user}} la {{date}}."
msgid "A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The request status is: {{request_status}}"
-msgstr ""
+msgstr "Un <a href=\"{{request_url}}\">răspuns</a> to <em>{{request_title}}</em> a fost trimis de către {{public_body_name}} către {{info_request_user}} la {{date}}. Starea cererii este: {{request_status}}"
msgid "A <strong>summary</strong> of the response if you have received it by post. "
-msgstr "<strong>Un rezumat</strong> al raspunsului, daca l-ati primit prin posta."
+msgstr "<strong>Un rezumat</strong> al răspunsului, daca l-aţi primit prin poştă."
msgid "A Freedom of Information request"
msgstr "O cerere Libertatea de Informare"
msgid "A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, was sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "O nouă cerere <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, a fost trimisă către {{public_body_name}} de către{{info_request_user}} la {{date}}."
msgid "A public authority"
-msgstr "O autoritate publica"
+msgstr "O autoritate publică"
msgid "A response will be sent <strong>by post</strong>"
-msgstr "Un raspuns va fi trimis<strong> prin posta</strong>"
+msgstr "Un răspuns va fi trimis<strong> prin poşta</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Un raspuns ciudat, care necesita analiza din partea echipei {{site_name}} "
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Un utilizator al {{site_name}} "
@@ -326,58 +337,58 @@ msgid "About you:"
msgstr "Despre dvs:"
msgid "Act on what you've learnt"
-msgstr "Actioneaza conform a ceea ce ai invatat."
+msgstr "Actţonează conform a ceea ce ai învăţat."
msgid "Add an annotation"
-msgstr "Adauga o adnotare."
+msgstr "Adaugă o adnotare."
msgid "Add an annotation to your request with choice quotes, or\\n a <strong>summary of the response</strong>."
-msgstr ""
+msgstr "Adaugă o adnotaţie la solicitarea ta cu citatele alese de tine sau \\n un <strong>rezumat al răspunsului</strong>."
msgid "Added on {{date}}"
-msgstr "Adaugat la {{date}}"
+msgstr "Adăugat la {{date}}"
msgid "Admin level is not included in list"
-msgstr "Nivelul Admin nu este inclus in lista"
+msgstr "Nivelul Admin nu este inclus în listă"
msgid "Administration URL:"
msgstr "URL administrare:"
msgid "Advanced search"
-msgstr "Cautare avansata:"
+msgstr "Căutare avansată:"
msgid "Advanced search tips"
-msgstr "Trucuri pentru cautare avansata"
+msgstr "Trucuri pentru căutare avansată"
msgid "Advise on whether the <strong>refusal is legal</strong>, and how to complain about it if not."
-msgstr "Sfaturi cu privire la <strong>refuzul legal</strong>, si cum se poate face plangere in cazul in care nu este legal."
+msgstr "Sfaturi cu privire la <strong>refuzul legal</strong>şi cum se poate face plângere în cazul în care nu este legal."
msgid "Air, water, soil, land, flora and fauna (including how these effect\\n human beings)"
-msgstr ""
+msgstr "Aer, apă, sol, pământ, floră și faună (inclusiv modul în care acestea afectează\\n oamenii)"
msgid "All of the information requested has been received"
-msgstr "Toate informatiile cerute au fost primite."
+msgstr "Toate informaţiile cerute au fost primite."
msgid "All the options below can use <strong>status</strong> or <strong>latest_status</strong> before the colon. For example, <strong>status:not_held</strong> will match requests which have <em>ever</em> been marked as not held; <strong>latest_status:not_held</strong> will match only requests that are <em>currently</em> marked as not held."
-msgstr "Toate optiunile de mai jos pot utiliza <strong>statut</strong> sau <strong>ultimul_statut</strong> inainte de doua puncte :. De exemplu, <strong>statut: ne_retinut</strong> va intruni toate cererile care <em>ever</em> au fost marcate ca neretinute; <strong>ultimul_statut:ne_retinut</strong>va intruni numai cererile care sunt <em>in acest moment</em> marcate ca neretinute."
+msgstr "Toate opţiunile de mai jos pot utiliza <strong>statut</strong> sau <strong>ultimul_statut</strong> înainte de două puncte :. De exemplu, <strong>statut: ne_retinut</strong> va întruni toate cererile care <em>ever</em> au fost marcate ca nereţinute; <strong>ultimul_statut:ne_reţinut</strong>va întruni numai cererile care sunt <em>în acest moment</em> marcate ca nereţinute."
msgid "All the options below can use <strong>variety</strong> or <strong>latest_variety</strong> before the colon. For example, <strong>variety:sent</strong> will match requests which have <em>ever</em> been sent; <strong>latest_variety:sent</strong> will match only requests that are <em>currently</em> marked as sent."
-msgstr "Toate optiunile de mai jos pot utiliza <strong>varietatea </strong> sau de doua puncte :. De exemplu, <strong>varietate:trimis</strong> a intruni toate cererile care <em>ever</em> au fost trimis; <strong>ultima_varietate:trimis</strong> va intruni numai cererile care sunt <em>in acest moment</em> marcate ca trimise."
+msgstr "Toate opţiunile de mai jos pot utiliza <strong>varietatea </strong> sau de doua puncte :. De exemplu, <strong>varietate:trimis</strong> va întruni toate cererile care <em>ever</em> au fost trimise; <strong>ultima_varietate:trimis</strong> va întruni numai cererile care sunt <em>în acest moment</em> marcate ca trimise."
msgid "Also called {{other_name}}."
-msgstr "Deasemenea numit si {{other_name}}."
+msgstr "Deasemenea numit şi {{other_name}}."
msgid "Also send me alerts by email"
-msgstr ""
+msgstr "Deasemenea trimiteţi-mi alerte prin email"
msgid "Alter your subscription"
-msgstr "Modificati subscriptia dvs. "
+msgstr "Modificaţi subscripţia dvs. "
msgid "Although all responses are automatically published, we depend on\\nyou, the original requester, to evaluate them."
-msgstr ""
+msgstr "Deși toate răspunsurile sunt publicate automat, depindem de \\ntine, ca solicitant, pentru a le putea evalua."
msgid "An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> was made by {{event_comment_user}} on {{date}}"
-msgstr ""
+msgstr "O <a href=\"{{request_url}}\">adnotare</a> către <em>{{request_title}}</em> a fost făcută de către {{event_comment_user}} la {{date}}"
msgid "An <strong>error message</strong> has been received"
msgstr "Un <strong>mesaj de eroare </strong> a fost primit"
@@ -386,76 +397,82 @@ msgid "An Environmental Information Regulations request"
msgstr "O cerere de informare referitoare la Mediu"
msgid "An anonymous user"
-msgstr ""
+msgstr "Utilizator anonim"
msgid "Annotation added to request"
-msgstr "Adnotare adaugata la cerere"
+msgstr "Adnotare adaugată la cerere"
msgid "Annotations"
-msgstr "Adnotari"
+msgstr "Adnotări"
msgid "Annotations are so anyone, including you, can help the requester with their request. For example:"
-msgstr "Adnotarile sunt astfle facute incat oricine, incusiv dvs. , sa poate cere ajutor cu privire la cererile lor. De exemplu:"
+msgstr "Adnotările sunt astfel făcute încât oricine, incusiv dvs. , să poată ajuta solicitantul cu privire la cererea sa. De exemplu:"
msgid "Annotations will be posted publicly here, and are\\n <strong>not</strong> sent to {{public_body_name}}."
-msgstr ""
+msgstr "Adnotările vor fi făcute publice aici și\\n <strong>nu</strong> sunt trimise către {{public_body_name}}."
msgid "Anonymous user"
-msgstr ""
+msgstr "Utilizator anonim"
msgid "Anyone:"
msgstr "Oricine:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
-msgstr "Cereti documente sau informatii <strong> precise </strong>, acest site nu este potrivit pentru cereri generale."
+msgstr "Cereţi documente sau informaţii <strong> precise </strong>, acest site nu este potrivit pentru cereri generale."
msgid "At the bottom of this page, write a reply to them trying to persuade them to scan it in\\n (<a href=\"{{url}}\">more details</a>)."
-msgstr ""
+msgstr "În josul acestei pagini, scrie un răspuns către aceștia, prin care să îi convingi să scaneze (<a href=\"{{url}}\">mai multe detalii</a>)."
msgid "Attachment (optional):"
-msgstr "Atasamente (optional):"
+msgstr "Ataşamente (optional):"
msgid "Attachment:"
-msgstr "Atasament:"
+msgstr "Ataşament:"
msgid "Awaiting classification."
-msgstr "Asteapta clasificarea."
+msgstr "Aşteaptă clasificarea."
msgid "Awaiting internal review."
-msgstr "Asteapta revizuirea interna."
+msgstr "Aşteaptă revizuirea interna."
msgid "Awaiting response."
-msgstr "Asteapta raspunsul."
+msgstr "Aşteaptă răspunsul."
msgid "Beginning with"
-msgstr "Incepand cu"
+msgstr "Începând cu"
msgid "Browse <a href='{{url}}'>other requests</a> for examples of how to word your request."
-msgstr "Consultati <a href='{{url}}'> si alte cereri </a> pentru exemple asupra modului in care sa formulati cererea."
+msgstr "Consultaţi <a href='{{url}}'> şi alte cereri </a> pentru exemple asupra modului în care să formulaţi cererea."
msgid "Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for examples of how to word your request."
-msgstr "Consultati <a href='{{url}}'> si alte cereri </a> catre '{{public_body_name}}' pentru exemple asupra modului in care sa formulati cererea."
+msgstr "Consultaţi <a href='{{url}}'> şi alte cereri </a> catre '{{public_body_name}}' pentru exemple asupra modului în care să formulaţi cererea."
msgid "Browse all authorities..."
-msgstr "Consultati toate autoritatile ..."
+msgstr "Consultaţi toate autoritaţile ..."
msgid "By law, under all circumstances, {{public_body_link}} should have responded by now"
-msgstr "Conform legii, in oricare circumstante, {{public_body_link}} ar fi trebuit sa va raspunda pana acum"
+msgstr "Conform legii, în oricare circumstanţe, {{public_body_link}} ar fi trebuit să vă răspundă până acum"
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
-msgstr "Conform legii {{public_body_link}} ar fi trebuit sa va raspunda <strong>propmt </strong> si "
+msgstr "Conform legii {{public_body_link}} ar fi trebuit să vă răspundă <strong>propmt </strong> si "
+
+msgid "Calculated home page"
+msgstr ""
msgid "Cancel a {{site_name}} alert"
-msgstr "Anulati o alerta {{site_name}} "
+msgstr "Anulaţi o alerta {{site_name}} "
msgid "Cancel some {{site_name}} alerts"
-msgstr "Anulati niste alerte {{site_name}} "
+msgstr "Anulaţi niste alerte {{site_name}} "
msgid "Cancel, return to your profile page"
-msgstr "Anulati si reveniti la pagina dvs de profil"
+msgstr "Anulaţi şi reveniti la pagina dvs. de profil"
msgid "Censor rule"
-msgstr ""
+msgstr "Regula cenzorului"
msgid "CensorRule|Last edit comment"
msgstr "RegulaCenzor|Ultima editare comentariu"
@@ -464,7 +481,7 @@ msgid "CensorRule|Last edit editor"
msgstr "RegulaCenzor|Ultima editare editor"
msgid "CensorRule|Regexp"
-msgstr ""
+msgstr "CensorRule|Regexp"
msgid "CensorRule|Replacement"
msgstr "RegulaCenzor|Inlocuire"
@@ -473,13 +490,13 @@ msgid "CensorRule|Text"
msgstr "RegulaCenzor|Text"
msgid "Change email on {{site_name}}"
-msgstr "Modificati emailul pe {{site_name}}"
+msgstr "Modificaţi emailul pe {{site_name}}"
msgid "Change password on {{site_name}}"
-msgstr "Modificati parola pe {{site_name}}"
+msgstr "Modificaţi parola pe {{site_name}}"
msgid "Change profile photo"
-msgstr "Modificati poza de profil"
+msgstr "Modificaţi poza de profil"
msgid "Change the text about you on your profile at {{site_name}}"
msgstr "Modificati textul referitor la profilul dvs. pe {{site_name}}"
@@ -488,25 +505,25 @@ msgid "Change your email"
msgstr "Modificati emailul"
msgid "Change your email address used on {{site_name}}"
-msgstr "Modificati emailul dvs utilizat pe {{site_name}}"
+msgstr "Modificaţi emailul dvs utilizat pe {{site_name}}"
msgid "Change your password"
-msgstr "Modificati parola"
+msgstr "Modificaţi parola"
msgid "Change your password on {{site_name}}"
-msgstr "Modificati parola dvs. pe {{site_name}}"
+msgstr "Modificaţi parola dvs. pe {{site_name}}"
msgid "Change your password {{site_name}}"
-msgstr "Modificati parola dvs. pe {{site_name}}"
+msgstr "Modificaţi parola dvs. pe {{site_name}}"
msgid "Charity registration"
-msgstr "Inregistrare ONG"
+msgstr "Înregistrare ONG"
msgid "Check for mistakes if you typed or copied the address."
-msgstr "Verificati greseli, daca ati tatsta sau ati copiat adresa."
+msgstr "Verificaţi greşeli, dacă aţi tastat sau aţi copiat adresa."
msgid "Check you haven't included any <strong>personal information</strong>."
-msgstr "Verificati, nu ati inclus nici un fel de <strong> informatii personale</strong>."
+msgstr "Verificaţ că nu aţi inclus nici un fel de <strong> informaţii personale</strong>."
msgid "Choose your profile photo"
msgstr "Alegeti poza de profil"
@@ -515,25 +532,25 @@ msgid "Clarification"
msgstr "Clarificare"
msgid "Clarify your FOI request - "
-msgstr ""
+msgstr "Clarificaţi cererea dvs. FOI - "
msgid "Classify an FOI response from "
-msgstr "Clasificati un formular de raspuns FOI"
+msgstr "Clasificaţi un formular de răspuns FOI"
msgid "Clear photo"
-msgstr ""
+msgstr "Şterge poza"
msgid "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\\nreview, asking them to find out why response to the request has been so slow."
-msgstr ""
+msgstr "Apasă pe link-ul de mai jos pentru a trimite un mesaj către {{public_body_name}} prin care să ceri un răspuns la solicitarea ta. Poți cere și o evaluare\\ninternă, pentru a afla de ce răspunsul la solicitare a ajuns atât de greu."
msgid "Click on the link below to send a message to {{public_body}} reminding them to reply to your request."
-msgstr "Faceti click pe link-ul de mai jos pentru a trimite un mesaj catre {{public_body}} pentru a-i reaminti sa raspunda la cererea dvs."
+msgstr "Faceţi click pe link-ul de mai jos pentru a trimite un mesaj către {{public_body}} pentru a-i reaminti să răspunda la cererea dvs."
msgid "Close"
-msgstr ""
+msgstr "Închide"
msgid "Comment"
-msgstr ""
+msgstr "Comentariu"
msgid "Comment|Body"
msgstr "Comentariu |Text"
@@ -548,64 +565,64 @@ msgid "Comment|Visible"
msgstr "Comentariu |Vizibil"
msgid "Confirm you want to follow all successful FOI requests"
-msgstr ""
+msgstr "Confirmaţi că doriţi să urmăriţi toate cererile FOI reuşite"
msgid "Confirm you want to follow new requests"
-msgstr ""
+msgstr "Confirmaţi că doriţi să urmăriţi noi cereri"
msgid "Confirm you want to follow new requests or responses matching your search"
-msgstr ""
+msgstr "Confirmați că doriți să urmăriți noi cereri sau răspunsuri care corespund căutării dvs."
msgid "Confirm you want to follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Confirmați că doriți să urmăriți cererile făcute de '{{user_name}}'"
msgid "Confirm you want to follow requests to '{{public_body_name}}'"
-msgstr ""
+msgstr "Confirmă că dorești să urmărești solicitările către '{{public_body_name}}'"
msgid "Confirm you want to follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Confirmă că dorești să urmărești solicitarea '{{request_title}}'"
msgid "Confirm your FOI request to "
-msgstr "Confirmati cererea dvs. FOI"
+msgstr "Confirmaţi cererea dvs. FOI"
msgid "Confirm your account on {{site_name}}"
msgstr "Confirmati contul dvs pe {{site_name}}"
msgid "Confirm your annotation to {{info_request_title}}"
-msgstr "Confirmati adnotarea de de la {{info_request_title}}"
+msgstr "Confirmaţi adnotarea dvs. la {{info_request_title}}"
msgid "Confirm your email address"
-msgstr "Confirmati adresa dvs. de email"
+msgstr "Confirmaţi adresa dvs. de email"
msgid "Confirm your new email address on {{site_name}}"
-msgstr "Confirmati noua dvs adresa de email pe {{site_name}}"
+msgstr "Confirmaţi noua dvs. adresă de email pe {{site_name}}"
msgid "Considered by administrators as not an FOI request and hidden from site."
-msgstr ""
+msgstr "Considerat de către administratori ca nefiind o solicitare de acces la informații și ascuns de pe site."
msgid "Considered by administrators as vexatious and hidden from site."
-msgstr ""
+msgstr "Considerat de către administrator ca fiind ofensator şi şters de pe site."
msgid "Contact {{recipient}}"
-msgstr ""
+msgstr "Contactaţi {{recipient}}"
msgid "Contact {{site_name}}"
msgstr "Contact {{site_name}}"
msgid "Could not identify the request from the email address"
-msgstr "Nu se poate identifica cererea de la aceasta adresa de email"
+msgstr "Nu se poate identifica cererea de la această adresă de email"
msgid "Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and many other common image file formats are supported."
-msgstr "Nu se poate prelua inaginea pe care ait incarcat-o. PNG, JPEG, GIF si multe alte formate de imagini sunt acceptate."
+msgstr "Nu se poate prelua imaginea pe care aţi încarcat-o. PNG, JPEG, GIF și multe alte formate de imagini sunt acceptate."
msgid "Crop your profile photo"
-msgstr "Decupati poza dvs. de profil"
+msgstr "Decupaţi poza dvs. de profil"
msgid "Cultural sites and built structures (as they may be affected by the\\n environmental factors listed above)"
-msgstr ""
+msgstr "Situri culturale şi structuri construite (pentru că ar putea fi afectate de\\nfactorii de mediu listaţi mai sus)"
msgid "Currently <strong>waiting for a response</strong> from {{public_body_link}}, they must respond promptly and"
-msgstr "In acest moment <strong>asteptam un raspuns</strong> de la {{public_body_link}}, ei ar trebui sa raspuns prompt si"
+msgstr "În acest moment <strong>asteptăm un răspuns</strong> de la {{public_body_link}}, ei ar trebui să raspundă prompt şi"
msgid "Date:"
msgstr "Data:"
@@ -613,83 +630,92 @@ msgstr "Data:"
msgid "Dear {{public_body_name}},"
msgstr "Stimate {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
-msgstr "Amanare raspuns la cererea dvs. FOI"
+msgstr "Amânare răspuns la cererea dvs. FOI"
msgid "Delayed."
-msgstr "Amanat."
+msgstr "Amânat."
msgid "Delivery error"
msgstr "Eroare de livrare"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detaliile cererii"
msgid "Did you mean: {{correction}}"
-msgstr "Ati vrut sa spuneti: {{correction}}"
+msgstr "Aţi vrut să spuneţi: {{correction}}"
msgid "Disclaimer: This message and any reply that you make will be published on the internet. Our privacy and copyright policies:"
-msgstr "Disclaimer: Acest mesaj si orice raspuns pe care il primit va fi publicat pe Internet. Politicile noastre privind confidentialitatea:"
+msgstr "Disclaimer: Acest mesaj şi orice răspuns pe care îl primiţi va fi publicat pe Internet. Politicile noastre privind confidenţialitatea:"
msgid "Disclosure log"
+msgstr "Disclosure log"
+
+msgid "Disclosure log URL"
msgstr ""
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
-msgstr "Nu doriti sa adresati mesajul dvs lui {{person_or_body}}? Puteti de asemena sa-i scrieti lui:"
+msgstr "Nu doriţi să adresati mesajul dvs. lui {{person_or_body}}? Puteţi de asemenea să-i scrieţi lui:"
msgid "Done"
msgstr "Efectuat"
msgid "Done &gt;&gt;"
-msgstr ""
+msgstr "Făcut &gt;&gt;"
msgid "Download a zip file of all correspondence"
-msgstr "Descarcati un fisier zip cu toata corespondenta"
+msgstr "Descărcaţi un fisier .zip cu toată corespondenţa"
msgid "Download original attachment"
-msgstr "Descarcare atasamentul original"
+msgstr "Descărcare ataşamentul original"
msgid "EIR"
msgstr "EIR"
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
-msgstr "Editati versiunea de limba:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgstr "Editează și adaugă <strong>mai multe detalii</strong> la mesajul de mai sus, \\n explicând de ce nu ești mulțumit de răspunsul lor."
msgid "Edit text about you"
msgstr "E"
msgid "Edit this request"
-msgstr "Editati acesta cerere"
+msgstr "Editaţi acesta cerere"
msgid "Either the email or password was not recognised, please try again."
-msgstr "Emailul sau parola nu sunt recunoscute, va rugam incercati din nou"
+msgstr "Emailul sau parola nu sunt recunoscute, vă rugăm încercați din nou"
msgid "Either the email or password was not recognised, please try again. Or create a new account using the form on the right."
-msgstr "Emailul sau parola nu sunt recunoscute, va rugam incercati din nou. Sau creati un cont nou utilizand form-ul din dreapta."
+msgstr "Emailul sau parola nu sunt recunoscute, va rugîm încercaţi din nou. Sau creaţi un cont nou utilizând form-ul din dreapta."
msgid "Email doesn't look like a valid address"
-msgstr "Emailul nu este o adresa valabila"
+msgstr "Emailul nu este o adresă valabilă"
msgid "Email me future updates to this request"
-msgstr "Trimiteti-mi un email cu privire la actualizari ale acestei cereri."
+msgstr "Trimiteţi-mi un email cu privire la actualizări ale acestei cereri."
msgid "Enter words that you want to find separated by spaces, e.g. <strong>climbing lane</strong>"
-msgstr "Intorductei cuvintele pe care doriti sa le gasiti separatae de spatii, de ex. <strong>pista urcare</strong>"
+msgstr "Introduceţi cuvintele pe care doriti să le găsiţi separate de spaţii, de ex. <strong>pista de urcare</strong>"
msgid "Enter your response below. You may attach one file (use email, or\\n <a href=\"{{url}}\">contact us</a> if you need more)."
-msgstr ""
+msgstr "Introdu mai jos răspunsul tău. Poți atașa un fișier (folosește email-ul sau\\n <a href=\"{{url}}\">contactează-ne</a> dacă vrei să atașezi mai multe)."
msgid "Environmental Information Regulations"
-msgstr "Reglementari Informatii de Mediu"
+msgstr "Reglementări Informaţii de Mediu"
msgid "Environmental Information Regulations requests made"
-msgstr "Cerere Reglementari Informatii de Mediu facuta"
+msgstr "Cerere Reglementări Informaţii de Mediu efectuată"
msgid "Environmental Information Regulations requests made using this site"
-msgstr "Cerere Reglementari Informatii de Mediu facuta utilizand acest site"
+msgstr "Cerere Reglementări Informaţii de Mediu făcută utilizând acest site"
msgid "Event history"
msgstr "Istoric evenimente"
@@ -697,2549 +723,2679 @@ msgstr "Istoric evenimente"
msgid "Event history details"
msgstr "Istoric evenimente detaliat"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Tot ce introduci pe această pagină, inclusiv <strong>numele tău</strong>, \\n va fi <strong>făcut public</strong> pe\\n acest website permanent (<a href=\"{{url}}\">de ce?</a>)."
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr "Tot ceea ce postezi pe această pagină \\n va fi <strong>făcut public</strong> pe\\n acest website permanent (<a href=\"{{url}}\">de ce?</a>)."
msgid "FOI"
msgstr "FOI"
msgid "FOI email address for {{public_body}}"
-msgstr "FOI adresa de email pentru {{public_body}}"
+msgstr "Adresa de email pentru solicitare {{public_body}}"
+
+msgid "FOI request – {{title}}"
+msgstr ""
msgid "FOI requests"
-msgstr "Cerere FOI"
+msgstr "Solicitare de informații"
msgid "FOI requests by '{{user_name}}'"
-msgstr "Cerere FOI de catre '{{user_name}}'"
+msgstr "Solicitare de informații de către '{{user_name}}'"
msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Solicitări de informații de la {{start_count}} la {{end_count}} din {{total_count}}"
msgid "FOI response requires admin ({{reason}}) - {{title}}"
-msgstr ""
+msgstr "Răspunsul FOI necesită ({{reason}}) - {{title}} administratorului"
msgid "Failed to convert image to a PNG"
-msgstr "Eroare la convertirea imaginii in PNG"
+msgstr "Eroare la convertirea imaginii în PNG"
msgid "Failed to convert image to the correct size: at {{cols}}x{{rows}}, need {{width}}x{{height}}"
-msgstr ""
+msgstr "Eroare la conversia imaginii la mărimea corectă: la {{cols}}x{{rows}}, trebuie {{width}}x{{height}}"
msgid "Filter"
msgstr "Filtrare"
msgid "First, type in the <strong>name of the UK public authority</strong> you'd \\n like information from. <strong>By law, they have to respond</strong>\\n (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Mai întâi, introdu <strong>numele autorității publice</strong> de la care ai \\n avea nevoie de informații. <strong>Potrivit legii, trebuie să îți răspundă</strong>\\n (<a href=\"{{url}}\">de ce?</a>)."
msgid "Foi attachment"
-msgstr ""
+msgstr "Ataşament FOI"
msgid "FoiAttachment|Charset"
-msgstr ""
+msgstr "Ataşament solicitare de informații|Setul de caractere"
msgid "FoiAttachment|Content type"
-msgstr ""
+msgstr "Ataşament FOI|Conţinut"
msgid "FoiAttachment|Display size"
-msgstr ""
+msgstr "Ataşament FOI|Mărime afişare"
msgid "FoiAttachment|Filename"
-msgstr ""
+msgstr "Ataşament FOI|Nume fişier"
msgid "FoiAttachment|Hexdigest"
-msgstr ""
+msgstr "Ataşament FOI|Hexdigest"
msgid "FoiAttachment|Url part number"
-msgstr ""
+msgstr "Ataşament FOI|Url part number"
msgid "FoiAttachment|Within rfc822 subject"
-msgstr ""
+msgstr "Ataşament FOI|In cadrul rfc822 "
msgid "Follow"
-msgstr ""
+msgstr "Urmăreşte"
msgid "Follow all new requests"
-msgstr ""
+msgstr "Urmăriţi toate cererile noi"
msgid "Follow new successful responses"
-msgstr ""
+msgstr "Urmăriţi cererile noi reuşite"
msgid "Follow requests to {{public_body_name}}"
-msgstr ""
+msgstr "Urmăriţi cererile către {{public_body_name}}"
msgid "Follow these requests"
-msgstr ""
+msgstr "Urmăriţi aceste cereri"
msgid "Follow things matching this search"
-msgstr ""
+msgstr "Urmărește chestiuni relevante pentru această căutare"
msgid "Follow this authority"
-msgstr ""
+msgstr "Urmăriţi această autoritate"
msgid "Follow this link to see the request:"
-msgstr ""
+msgstr "Urmăriţi acest link pentru a vedea cererea:"
msgid "Follow this person"
-msgstr ""
+msgstr "Urmăriţi această persoană"
msgid "Follow this request"
-msgstr ""
+msgstr "Urmăriţi această solicitare"
msgid "Follow up"
-msgstr ""
+msgstr "Urmăriţi"
msgid "Follow up message sent by requester"
-msgstr ""
+msgstr "Urmăriţi mesajul trimis de solicitant"
msgid "Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Urmăriţi mesajele trimise de solicitant"
msgid "Follow ups and new responses to this request have been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and need to send a follow up."
-msgstr ""
+msgstr "Urmăririle si noile răspunsuri la această cerere au fost stopate pentru a preveni spam-ul. Vă rugăm <a href=\"{{url}}\"> să ne contactaţi</a> dacă sunteţi {{user_link}} şi aveţi nevoie să trimiteţi follw up."
msgid "Follow us on twitter"
-msgstr ""
+msgstr "Urmăriţi-ne pe Twitter"
msgid "Followups cannot be sent for this request, as it was made externally, and published here by {{public_body_name}} on the requester's behalf."
-msgstr ""
+msgstr "Follow up-urile nu pot fi trimise pentru această solicitare, pentru că a fost făcută extern și publicată aici de către {{public_body_name}} din partea celui care a făcut solicitarea."
msgid "For an unknown reason, it is not possible to make a request to this authority."
-msgstr ""
+msgstr "Pentru motive necunoscute, nu este posibil să facem o cerere către această autoritate."
msgid "Forgotten your password?"
-msgstr ""
+msgstr "Aţi uitat parola ?"
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Găsit {{count}} autoritate publică {{description}}"
+msgstr[1] "Găsit {{count}} autorităţi publice {{description}}"
+msgstr[2] "Găsit autorităţi publice {{description}}"
msgid "Freedom of Information"
-msgstr ""
+msgstr "Libertatea de Informare"
msgid "Freedom of Information Act"
-msgstr ""
+msgstr "Actul \"Libertatea de Informare\""
msgid "Freedom of Information law does not apply to this authority, so you cannot make\\n a request to it."
-msgstr ""
+msgstr "Legea accesului la informații de interes public nu se aplică acestei autorități, prin urmare nu poți face\\n o solicitare în acest sens."
msgid "Freedom of Information law no longer applies to"
-msgstr ""
+msgstr "Legislaţia Libertăţii de Informare nu se mai aplică la "
msgid "Freedom of Information law no longer applies to this authority.Follow up messages to existing requests are sent to "
-msgstr ""
+msgstr "Legislaţia Libertăţii de Informare nu se mai aplică la aceasta autoritate. Urmăririle aferente mesajelor existente sunt trimise către"
msgid "Freedom of Information requests made"
-msgstr ""
+msgstr "Cereri \"Libertatea de informare\" făcute"
msgid "Freedom of Information requests made by this person"
-msgstr ""
+msgstr "Cereri \"Libertatea de informare\" făcute de această persoană"
msgid "Freedom of Information requests made by you"
-msgstr ""
+msgstr "Cereri \"Libertatea de informare\" făcute de dvs."
msgid "Freedom of Information requests made using this site"
-msgstr ""
+msgstr "Cereri \"Libertatea de informare\" făcute utilizănd acest site"
msgid "Freedom of information requests to"
-msgstr ""
+msgstr "Cereri \"Libertatea de informare\" făcute către"
msgid "From"
-msgstr ""
+msgstr "De la"
msgid "From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "De la pagina solicitării, încearcă să răspunzi unui mesaj particular, mai curând decât să trimiţi\\n un follow up general. Dacă ai nevoie să faci un follow up general şi ştii\\n un email care ar merge în locul potrivit, te rugăm <a href=\"{{url}}\">să ni-l trimiţi</a>."
msgid "From:"
-msgstr ""
+msgstr "De la:"
msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE"
-msgstr ""
+msgstr "DAŢI DETALII DESPRE PLÂNGEREA DVS. AICI"
msgid "Handled by post."
-msgstr ""
+msgstr "Înmânat prin poştă"
msgid "Hello! You can make Freedom of Information requests within {{country_name}} at {{link_to_website}}"
-msgstr ""
+msgstr "Hello! Puteţi face cereri \"Libertatea de informare\" în {{country_name}} la {{link_to_website}}"
msgid "Hello, {{username}}!"
-msgstr ""
+msgstr "Hello, {{username}}!"
msgid "Help"
-msgstr ""
+msgstr "Ajutor"
msgid "Here <strong>described</strong> means when a user selected a status for the request, and\\nthe most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\\n{{site_name}} for intermediate events, which weren't given an explicit\\ndescription by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states."
-msgstr ""
+msgstr "Aici <strong>descris</strong> înseamnă când un utilizator selectează un status pentru solicitare, iar \\ncel mai recent eveniment şi-a actualizat statusul la acea valoare. <strong>calculated</strong> is then inferred by\\n{{site_name}} pentru evenimente intermediare, cărora nu li s-a dat o descriere\\nexplicită de către un utilizator. Vezi <a href=\"{{search_path}}\">search tips</a> pentru o descriere a stadiilor."
msgid "Here is the message you wrote, in case you would like to copy the text and save it for later."
-msgstr ""
+msgstr "Aici este mesajul pe care l-aţi scris, pentru cazul în care vreţi să copiaţi textul şi să îl salvaţi pentru mai târziu."
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+"Salut! Avem nevoie de ajutorul vostru. Persoana care a făcut următoarea solicitare\\n nu ne-a transmis dacă a primit sau nu un răspuns. \n"
+"Aveți\\n un moment să o citiți și să ne ajutați astfel să ținem lucrurile în ordine pentru toată lumea?\\n Mulțumim."
-msgid "Holiday"
+msgid "Hide request"
msgstr ""
+msgid "Holiday"
+msgstr "Vacanţă"
+
msgid "Holiday|Day"
-msgstr ""
+msgstr "Sărbătoare|Zi"
msgid "Holiday|Description"
-msgstr ""
+msgstr "Sărbătoare|Descriere"
msgid "Home"
+msgstr "Acasă"
+
+msgid "Home page"
msgstr ""
msgid "Home page of authority"
-msgstr ""
+msgstr "Website instituție"
msgid "However, you have the right to request environmental\\n information under a different law"
-msgstr ""
+msgstr "Cu toate acestea, ai dreptul de a solicita informaţii \\nprivind mediul în cadrul unei legi diferite"
msgid "Human health and safety"
-msgstr ""
+msgstr "Sănătate şi asigurări"
msgid "I am asking for <strong>new information</strong>"
-msgstr ""
+msgstr "Solicit <strong>noi informaţii</strong>"
msgid "I am requesting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Soliciți <strong> o verificare internă</strong>"
msgid "I don't like these ones &mdash; give me some more!"
-msgstr ""
+msgstr "Nu îmi plac acestea &mdash; daţi-mi mai multe!"
msgid "I don't want to do any more tidying now!"
-msgstr ""
+msgstr "Nu vreau să mai fac curăţenie acum!"
msgid "I like this request"
-msgstr ""
+msgstr "Îmi place această cerere"
msgid "I would like to <strong>withdraw this request</strong>"
-msgstr ""
+msgstr "Aş dori să <strong>retrag această cerere</strong>"
msgid "I'm still <strong>waiting</strong> for my information\\n <small>(maybe you got an acknowledgement)</small>"
-msgstr ""
+msgstr "Încă <strong>aștept</strong> să primesc informațiile solicitate\\n <small>(poate ai primit o confirmare)</small>"
msgid "I'm still <strong>waiting</strong> for the internal review"
-msgstr ""
+msgstr "Încă <strong> aştept </strong> verificarea internă"
msgid "I'm waiting for an <strong>internal review</strong> response"
-msgstr ""
+msgstr "Aştept un răspuns la <strong> verificarea internă </strong> "
msgid "I've been asked to <strong>clarify</strong> my request"
-msgstr ""
+msgstr "Am fost rugat să <strong> clarific </strong> cererea mea."
msgid "I've received <strong>all the information"
-msgstr ""
+msgstr "Am primit <strong> toate informaţiile"
msgid "I've received <strong>some of the information</strong>"
-msgstr ""
+msgstr "Am primit <strong>câteva dintre informaţii</strong>"
msgid "I've received an <strong>error message</strong>"
+msgstr "Am primit <strong>un mesaj de eroare</strong>"
+
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
msgstr ""
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
+msgstr "Dacă adresa este greşită sau dacă cunoaşteţi o altă adresă, vă rugăm <a href=\"{{url}}\">să ne contactaţi</a>."
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
msgstr ""
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
-msgstr ""
+msgstr "Dacă acesta este inexact sau dacă dorești să trimiți un răspuns cu întârziere la solicitare \\nsau un email legat de un alt subiect către {{user}}, te rugăm\\n să ne trimiți un email {{contact_email}} pentru asistență."
msgid "If you are dissatisfied by the response you got from\\n the public authority, you have the right to\\n complain (<a href=\"{{url}}\">details</a>)."
-msgstr ""
+msgstr "Dacă ești nemulțumit de răspunsul primit de la\\n instituția publică, ai dreptul de a\\n face o plângere (<a href=\"{{url}}\">detalii</a>)."
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Dacă aveţi în continuare probleme, vă rugăm <a href=\"{{url}}\"> să ne contactaţi</a>."
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
-msgstr ""
+msgstr "Dacă sunteţi solicitantul, atunci trebuie să <a href=\"{{url}}\">vă logaţi</a> pentru a vedea cererea."
msgid "If you are thinking of using a pseudonym,\\n please <a href=\"{{url}}\">read this first</a>."
-msgstr ""
+msgstr "Dacă dorești să folosești un pseudonim,\\n te rugăm <a href=\"{{url}}\">să citești întâi asta</a>."
msgid "If you are {{user_link}}, please"
-msgstr ""
+msgstr "Dacă sunteţi{{user_link}}, vă rugăm"
msgid "If you believe this request is not suitable, you can report it for attention by the site administrators"
-msgstr ""
+msgstr "Dacă dvs. consideraţi ca această cerere nu este potrivită, puteţi să o raportaţi spre atenţia administratorilor"
msgid "If you can't click on it in the email, you'll have to <strong>select and copy\\nit</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\\nyou would type the address of any other webpage."
-msgstr ""
+msgstr "Dacă nu îl poți accesa direct din email, va trebui să <strong>îl selectezi și să îl copiezi\\n</strong> direct în browser."
msgid "If you can, scan in or photograph the response, and <strong>send us\\n a copy to upload</strong>."
-msgstr ""
+msgstr "Dacă poți, <strong>trimite-ne\\n răspunsul scanat sau fotografiat, pentru a-l pune pe website</strong>."
msgid "If you find this service useful as an FOI officer, please ask your web manager to link to us from your organisation's FOI page."
-msgstr ""
+msgstr "Dacă găsiti acest serviciu util ca responsabil în cadrul instituției pe Legea 544/2001, vă rugăm să solicitaţi departamentului IT să creeze un link, de la sectiunea web pentru informaţii publice a site-ului instituției/organizaţiei, către noi. "
msgid "If you got the email <strong>more than six months ago</strong>, then this login link won't work any\\nmore. Please try doing what you were doing from the beginning."
-msgstr ""
+msgstr "Dacă au trecut <strong>mai mult de șase luni</strong> de la primirea acestui email, atunci acest link de autentificare nu va mai funcționa. Te rugăm să refaci pasii de la început."
msgid "If you have not done so already, please write a message below telling the authority that you have withdrawn your request. Otherwise they will not know it has been withdrawn."
-msgstr ""
+msgstr "Dacă nu aţi făcut deja asta, vă rugăm să transmiteți un mesaj, mai jos, autoritaţii comunicându-le că v-aţi retras cererea. În caz contrar, ei nu vor şti că aceasta a fost retrasă."
msgid "If you reply to this message it will go directly to {{user_name}}, who will\\nlearn your email address. Only reply if that is okay."
-msgstr ""
+msgstr "Răspunsul tău la acest mesaj va fi trimis direct către {{user_name}}, care îți va\\nvedea adresa de email. Trimite răspunsul doar dacă ești de acord cu acest lucru."
msgid "If you use web-based email or have \"junk mail\" filters, also check your\\nbulk/spam mail folders. Sometimes, our messages are marked that way."
-msgstr ""
+msgstr "Verifică și folderul de \\nspam/bulk. Se întâmplă uneori ca mesajele noastre să ajungă acolo."
msgid "If you would like us to lift this ban, then you may politely\\n<a href=\"/help/contact\">contact us</a> giving reasons.\\n"
-msgstr ""
+msgstr "Dacă vrei să ridicăm această interdicţie, ne poţi\\n<a href=\"/help/contact\">contacta</a> explicându-ne motivele.\\n"
msgid "If you're new to {{site_name}}"
-msgstr ""
+msgstr "Dacă sunteţi nou pe {{site_name}}"
msgid "If you've used {{site_name}} before"
-msgstr ""
+msgstr "Dacă aţi mai utilizat {{site_name}} înainte"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
+msgstr "Dacă browser-ul tău este setat să accepte cookies și poți vedea acest mesaj, \\natunci probabil există o defecțiune la serverul nostru."
+
+msgid "Incoming email address"
msgstr ""
msgid "Incoming message"
-msgstr ""
+msgstr "Mesaj primit"
msgid "IncomingMessage|Cached attachment text clipped"
-msgstr ""
+msgstr "Mesaj primit |In cache text ataşat tăiat"
msgid "IncomingMessage|Cached main body text folded"
-msgstr ""
+msgstr "Mesaj primit |In cache textul principal pliat"
msgid "IncomingMessage|Cached main body text unfolded"
-msgstr ""
+msgstr "Mesaj primit |In cache textul principal nepliat"
msgid "IncomingMessage|Last parsed"
-msgstr ""
+msgstr "Mesaj primit |Ultimul analizat"
msgid "IncomingMessage|Mail from"
-msgstr ""
+msgstr "Mesaj primit |Mail de la "
msgid "IncomingMessage|Mail from domain"
-msgstr ""
+msgstr "Mesaj primit |Mail de la domeniul "
msgid "IncomingMessage|Sent at"
-msgstr ""
+msgstr "Mesaj primit | Trimis la"
msgid "IncomingMessage|Subject"
-msgstr ""
+msgstr "Mesaj primit | Subiect"
msgid "IncomingMessage|Valid to reply to"
-msgstr ""
+msgstr "Mesaj primit |Valid pentru răspuns la"
msgid "Individual requests"
-msgstr ""
+msgstr "Cereri individuale"
msgid "Info request"
-msgstr ""
+msgstr "Cerere info"
msgid "Info request event"
-msgstr ""
+msgstr "Eveniment cerere info"
msgid "InfoRequestEvent|Calculated state"
-msgstr ""
+msgstr "EvenimentCerereInfo | Stare calculat"
msgid "InfoRequestEvent|Described state"
-msgstr ""
+msgstr "EvenimentCerereInfo | Stare descrisă"
msgid "InfoRequestEvent|Event type"
-msgstr ""
+msgstr "EvenimentCerereInfo | Tip eveniment"
msgid "InfoRequestEvent|Last described at"
-msgstr ""
+msgstr "EvenimentCerereInfo | Ultima descriere la"
msgid "InfoRequestEvent|Params yaml"
-msgstr ""
+msgstr "EvenimentCerereInfo | Parametri yaml"
msgid "InfoRequestEvent|Prominence"
-msgstr ""
+msgstr "EvenimentCerereInfo | Proeminenţă"
msgid "InfoRequest|Allow new responses from"
-msgstr ""
+msgstr "CerereInfo | Permite noi răspunsuri de la"
msgid "InfoRequest|Attention requested"
-msgstr ""
+msgstr "CerereInfo|Necesită atenţie"
msgid "InfoRequest|Awaiting description"
-msgstr ""
+msgstr "CerereInfo | Aşteaptă descriere "
msgid "InfoRequest|Comments allowed"
-msgstr ""
+msgstr "CerereInfo|Comentarii permise"
msgid "InfoRequest|Described state"
-msgstr ""
+msgstr "CerereInfo | Stare descrisă "
msgid "InfoRequest|External url"
-msgstr ""
+msgstr "InfoRequest|External url"
msgid "InfoRequest|External user name"
-msgstr ""
+msgstr "InfoRequest|External user name"
msgid "InfoRequest|Handle rejected responses"
-msgstr ""
+msgstr "CerereInfo | Prelucrare răspunsuri respinse"
msgid "InfoRequest|Idhash"
-msgstr ""
+msgstr "CerereInfo | ldhash"
msgid "InfoRequest|Law used"
-msgstr ""
+msgstr "CerereInfo | Lege utilizată"
msgid "InfoRequest|Prominence"
-msgstr ""
+msgstr "CerereInfo | Proeminenţă"
msgid "InfoRequest|Title"
-msgstr ""
+msgstr "CerereInfo | Titlu"
msgid "InfoRequest|Url title"
-msgstr ""
+msgstr "CerereInfo | Titlu Url"
msgid "Information not held."
-msgstr ""
+msgstr "Informaţie nedeţinută"
msgid "Information on emissions and discharges (e.g. noise, energy,\\n radiation, waste materials)"
-msgstr ""
+msgstr "Informații legate de emisii și deversări (ex. zgomot, energie, \\n radiații, deșeuri)"
msgid "Internal review request"
-msgstr ""
+msgstr "Solicitare revizie intrenă"
msgid "Is {{email_address}} the wrong address for {{type_of_request}} requests to {{public_body_name}}? If so, please contact us using this form:"
-msgstr ""
+msgstr "Este {{email_address}} o adresă greşită pentru o {{type_of_request}} cerere adresată {{public_body_name}}? Dacă da, vă rugăm să ne contactaţi utilizând acest formular :"
msgid "It may be that your browser is not set to accept a thing called \"cookies\",\\nor cannot do so. If you can, please enable cookies, or try using a different\\nbrowser. Then press refresh to have another go."
-msgstr ""
+msgstr "Este posibil ca browser-ul tău să nu fie setat să accepte \"cookies\",\\nsau să nu poată face asta. Poți modifica setările sau să încerci să folosești un alt\\nbrowser. Apasă refresh pentru a încerca din nou."
msgid "Items matching the following conditions are currently displayed on your wall."
+msgstr "Subiectele care corespund următoarelor condiții sunt afișate pe pagina ta"
+
+msgid "Items sent in last month"
msgstr ""
msgid "Joined in"
-msgstr ""
+msgstr "Înscris în"
msgid "Joined {{site_name}} in"
+msgstr "Înscris în {{site_name}} în"
+
+msgid "Just one more thing"
msgstr ""
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
-msgstr ""
+msgstr "Rămâneţi <strong> atent</strong>, este foarte probabil să obţineţi ceea ce doriţi (<a href=\"{{url}}\">why?</a>)."
msgid "Keywords"
-msgstr ""
+msgstr "Cuvinte cheie"
msgid "Last authority viewed: "
-msgstr ""
+msgstr "Ultima autoritate vizionată"
msgid "Last request viewed: "
-msgstr ""
+msgstr "Ultima cerere vizionată"
msgid "Let us know what you were doing when this message\\nappeared and your browser and operating system type and version."
-msgstr ""
+msgstr "Spune-ne ce făceai atunci când ți-a apărut\\nacest mesaj și ce tip și versiune de browser și sistem de operare folosești."
msgid "Link to this"
+msgstr "Link către aceasta"
+
+msgid "List all"
msgstr ""
msgid "List of all authorities (CSV)"
+msgstr "Lista tuturor autorităţilor (CSV)"
+
+msgid "Listing FOI requests"
msgstr ""
-msgid "Log in to download a zip file of {{info_request_title}}"
+msgid "Listing public authorities"
msgstr ""
-msgid "Log into the admin interface"
+msgid "Listing public authorities matching '{{query}}'"
msgstr ""
-msgid "Long overdue."
+msgid "Listing tracks"
msgstr ""
-msgid "Made between"
+msgid "Listing users"
msgstr ""
+msgid "Log in to download a zip file of {{info_request_title}}"
+msgstr "Logaţi-vă pentru a descărca un fişier .zip al {{info_request_title}}"
+
+msgid "Log into the admin interface"
+msgstr "Conectare la interfaţa de administrare"
+
+msgid "Long overdue."
+msgstr "Aşteptat de mult timp"
+
+msgid "Made between"
+msgstr "Făcut între"
+
msgid "Mail server log"
-msgstr ""
+msgstr "Mail server log"
msgid "Mail server log done"
-msgstr ""
+msgstr "Mail server log done"
msgid "MailServerLogDone|Filename"
-msgstr ""
+msgstr "MailServerLogDone|Filename"
msgid "MailServerLogDone|Last stat"
-msgstr ""
+msgstr "MailServerLogDone|Last stat"
msgid "MailServerLog|Line"
-msgstr ""
+msgstr "MailServerLog|Line"
msgid "MailServerLog|Order"
-msgstr ""
+msgstr "MailServerLog|Order"
msgid "Make a new <strong>Environmental Information</strong> request"
-msgstr ""
+msgstr "Faceţi o nouă cerere de <strong> Informaţii de Mediu</strong> "
msgid "Make a new <strong>Freedom of Information</strong> request to {{public_body}}"
-msgstr ""
+msgstr "Faceţi o nouă cerere de <strong> Informaţii FOI</strong> către {{public_body}}"
msgid "Make a new<br/>\\n <strong>Freedom <span>of</span><br/>\\n Information<br/>\\n request</strong>"
-msgstr ""
+msgstr "Faceți o nouă<br/>\\n <strong>solicitare <span>de</span><br/>\\n informații<br/>\\de interes public</strong>"
msgid "Make a request"
-msgstr ""
+msgstr "Faceţi o cerere"
msgid "Make an {{law_used_short}} request to '{{public_body_name}}'"
-msgstr ""
+msgstr "Faceţi o nouă cerere {{law_used_short}} către '{{public_body_name}}'"
msgid "Make and browse Freedom of Information (FOI) requests"
-msgstr ""
+msgstr "Faceţi şi vizualizaţi cereri de Informaţii (FOI) requests"
msgid "Make your own request"
-msgstr ""
+msgstr "Faceţi cererea dvs. proprie"
msgid "Many requests"
-msgstr ""
+msgstr "Multe cereri"
msgid "Message"
-msgstr ""
+msgstr "Mesaj"
msgid "Message sent using {{site_name}} contact form, "
-msgstr ""
+msgstr "Mesaj trimis utilizând formularul de contact al {{site_name}} "
msgid "Missing contact details for '"
-msgstr ""
+msgstr "Lipsă detalii contact pentru '"
msgid "More about this authority"
-msgstr ""
+msgstr "Mai multe despre această autoritate"
msgid "More requests..."
-msgstr ""
+msgstr "Mai multe cereri"
msgid "More similar requests"
-msgstr ""
+msgstr "Mai multe cereri similare"
msgid "More successful requests..."
-msgstr ""
+msgstr "Mai multe cereri finalizate cu succes..."
msgid "My profile"
-msgstr ""
+msgstr "Profilul meu"
msgid "My request has been <strong>refused</strong>"
-msgstr ""
+msgstr "Cererea mea a fost <strong>refuzată</strong>"
msgid "My requests"
-msgstr ""
+msgstr "Cererile mele"
msgid "My wall"
-msgstr ""
+msgstr "Peretele meu"
msgid "Name can't be blank"
-msgstr ""
+msgstr "Campul Nume nu poate fi necompletat"
msgid "Name is already taken"
-msgstr ""
+msgstr "Numele este deja folosit"
msgid "New Freedom of Information requests"
+msgstr "O nouă cerere FOI"
+
+msgid "New censor rule"
msgstr ""
msgid "New e-mail:"
-msgstr ""
+msgstr "E-mail nou:"
msgid "New email doesn't look like a valid address"
-msgstr ""
+msgstr "Noul e-mail nu pare a fi o adresă validă"
msgid "New password:"
-msgstr ""
+msgstr "Parola nouă:"
msgid "New password: (again)"
-msgstr ""
+msgstr "Parola nouă (din nou) :"
msgid "New response to '{{title}}'"
-msgstr ""
+msgstr "Răspuns nou la '{{title}}'"
msgid "New response to your FOI request - "
-msgstr ""
+msgstr "Răspuns nou la cererea dvs FOI -"
msgid "New response to your request"
-msgstr ""
+msgstr "Răspuns nou la cererea dvs."
msgid "New response to {{law_used_short}} request"
-msgstr ""
+msgstr "Răspuns nou la cererea {{law_used_short}} "
msgid "New updates for the request '{{request_title}}'"
-msgstr ""
+msgstr "Actualizări noi la cererea '{{request_title}}'"
msgid "Newest results first"
-msgstr ""
+msgstr "Cele mai noi rezultate prima dată"
msgid "Next"
-msgstr ""
+msgstr "Următorul"
msgid "Next, crop your photo &gt;&gt;"
-msgstr ""
+msgstr "În continuare, decupaţi poza dvs. &gt;&gt;"
msgid "No requests of this sort yet."
-msgstr ""
+msgstr "Nici o cerere de acest tip încă."
msgid "No results found."
-msgstr ""
+msgstr "Nu s-au găsit rezultate."
msgid "No similar requests found."
+msgstr "Nu s-au găsit cereri similare."
+
+msgid "No tracked things found."
msgstr ""
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
-msgstr ""
+msgstr "Nimeni nu a făcut încă o cerere FOI către {{public_body_name}} utilizând acest site"
msgid "None found."
-msgstr ""
+msgstr "Nimic găsit."
msgid "None made."
+msgstr "Nimic făcut."
+
+msgid "Not a valid FOI request"
msgstr ""
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
-msgstr ""
+msgstr "Reţineți că solicitantul nu va fi notificat cu privire la adnotarea dvs deoarece cerere a fost publictă de către {{public_body_name}} în numele lor."
msgid "Now check your email!"
-msgstr ""
+msgstr "Verificati-vă email-ul !"
msgid "Now preview your annotation"
-msgstr ""
+msgstr "Acum previzualizaţi adnotările dvs."
msgid "Now preview your follow up"
-msgstr ""
+msgstr "Acum previzualizaţi urmăririle dvs."
msgid "Now preview your message asking for an internal review"
-msgstr ""
+msgstr "Acum previzualizaţi mesajul dvs. cerând o revizuire internă."
msgid "OR remove the existing photo"
-msgstr ""
+msgstr "SAU înlocuiţi poza existentă"
msgid "Offensive? Unsuitable?"
-msgstr ""
+msgstr "Ofensator ? Nepotrivit ?"
msgid "Oh no! Sorry to hear that your request was refused. Here is what to do now."
-msgstr ""
+msgstr "Oh nu! Ne pare rău că cererea dvs. a fost refuzată. Iată ce e de făcut acum."
msgid "Old e-mail:"
-msgstr ""
+msgstr "Emailul vechi:"
msgid "Old email address isn't the same as the address of the account you are logged in with"
-msgstr ""
+msgstr "Emailul vechi nu este acelaşi cu adresa contului în care sunteţi logat."
msgid "Old email doesn't look like a valid address"
-msgstr ""
+msgstr "Emailul vechi nu pare a fi o adresă validă"
msgid "On this page"
-msgstr ""
+msgstr "Pe această pagină"
msgid "One FOI request found"
-msgstr ""
+msgstr "O cerere FOI găsită"
msgid "One person found"
-msgstr ""
+msgstr "O persoană găsită"
msgid "One public authority found"
+msgstr "O autoritate publică găsită"
+
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
msgstr ""
msgid "Only requests made using {{site_name}} are shown."
-msgstr ""
+msgstr "Numai cererile facute utilizând {{site_name}} sunt afişate."
msgid "Only the authority can reply to this request, and I don't recognise the address this reply was sent from"
-msgstr ""
+msgstr "Numai autoritatea poate să răspundă la această cerere. Nu recunoaștem adresa de la care a fost trimisă"
msgid "Only the authority can reply to this request, but there is no \"From\" address to check against"
-msgstr ""
+msgstr "Numai autoritatea poate să răspundă la această cerere. Nu există o adresă \"de la\" pentru verificare."
msgid "Or search in their website for this information."
-msgstr ""
+msgstr "Sau căutaţi în site-ul lor această informaţie."
msgid "Original request sent"
-msgstr ""
+msgstr "Cererea originală trimisă"
msgid "Other:"
-msgstr ""
+msgstr "Altele:"
msgid "Outgoing message"
-msgstr ""
+msgstr "Mesaj in curs de trimitere"
msgid "OutgoingMessage|Body"
-msgstr ""
+msgstr "MesajTrimis|Conţinut"
msgid "OutgoingMessage|Last sent at"
-msgstr ""
+msgstr "MesajTrimis|Ultimul trimis la"
msgid "OutgoingMessage|Message type"
-msgstr ""
+msgstr "MesajTrimis|Tip mesaj"
msgid "OutgoingMessage|Status"
-msgstr ""
+msgstr "MesajTrimis|Status"
msgid "OutgoingMessage|What doing"
-msgstr ""
+msgstr "MesajTrimis|Ce se întamplă"
msgid "Partially successful."
-msgstr ""
+msgstr "Parţial succes."
msgid "Password is not correct"
-msgstr ""
+msgstr "Parola nu e corectă"
msgid "Password:"
-msgstr ""
+msgstr "Parola:"
msgid "Password: (again)"
-msgstr ""
+msgstr "Parola (din nou):"
msgid "Paste this link into emails, tweets, and anywhere else:"
-msgstr ""
+msgstr "Copiaţi acest link în email-uri, tweets şi oriunde altundeva:"
msgid "People"
-msgstr ""
+msgstr "Persoane"
msgid "People {{start_count}} to {{end_count}} of {{total_count}}"
-msgstr ""
+msgstr "Oameni de la {{start_count}} la {{end_count}} din {{total_count}}"
msgid "Photo of you:"
-msgstr ""
+msgstr "Poza dvs. :"
msgid "Plans and administrative measures that affect these matters"
-msgstr ""
+msgstr "Planuri şi măsuri administrative care afectează aceste probleme"
msgid "Play the request categorisation game"
-msgstr ""
+msgstr "Jucaţi categorisirea cerută"
msgid "Play the request categorisation game!"
-msgstr ""
+msgstr "Jucaţi categorisirea cerută!"
msgid "Please"
-msgstr ""
+msgstr "Vă rugăm"
msgid "Please <a href=\"{{url}}\">get in touch</a> with us so we can fix it."
-msgstr ""
+msgstr "Vă rugăm <a href=\"{{url}}\"> staţi în legătură</a> cu noi, ca să o rezolvăm."
msgid "Please <strong>answer the question above</strong> so we know whether the "
-msgstr ""
+msgstr "Vă rugăm <strong>răspundeţi la întrebarea de mai sus</strong> asftel încât să ştim dacă "
msgid "Please <strong>go to the following requests</strong>, and let us\\n know if there was information in the recent responses to them."
-msgstr ""
+msgstr "Te rugăm <strong>accesează aceste solicitări</strong>, și anunță-ne\\n dacă au fost transmise informații prin ultimele răspunsuri la acestea."
msgid "Please <strong>only</strong> write messages directly relating to your request {{request_link}}. If you would like to ask for information that was not in your original request, then <a href=\"{{new_request_link}}\">file a new request</a>."
-msgstr ""
+msgstr "Vă rugăm scrieţi <strong>numai</strong> mesaje direct legate de cererea dvs. {{request_link}}. Dacă doriţi să cereţi informaţii care nu au fost în cererea dvs originală, atunci <a href=\"{{new_request_link}}\"> emiteţi o nouă cerere</a>."
msgid "Please ask for environmental information only"
-msgstr ""
+msgstr "Vă rugăm cereţi doar informaţii de mediu"
msgid "Please check the URL (i.e. the long code of letters and numbers) is copied\\ncorrectly from your email."
-msgstr ""
+msgstr "Te rugăm să verifici dacă URL-ul a fost copiat\\n corect din email-ul tău."
msgid "Please choose a file containing your photo."
-msgstr ""
+msgstr "Vă rugăm alegeţi un fisier care conţine poza dvs."
msgid "Please choose what sort of reply you are making."
-msgstr ""
+msgstr "Vă rugăm alegeţi ce tip de răspuns faceţi."
msgid "Please choose whether or not you got some of the information that you wanted."
-msgstr ""
+msgstr "Vă rugăm alegeţi dacă aţi primit sau nu informaţia pe care aţi dorit-o."
msgid "Please click on the link below to cancel or alter these emails."
-msgstr ""
+msgstr "Vă rugăm daţi click pe link-ul de mai jos pentru a anula sau a modifica aceste emailuri."
msgid "Please click on the link below to confirm that you want to \\nchange the email address that you use for {{site_name}}\\nfrom {{old_email}} to {{new_email}}"
-msgstr ""
+msgstr "Te rugăm să accesezi link-ul de mai jos pentru a confirma \\nschimbarea adresei de email folosită pentru {{site_name}}\\ndin {{old_email}} în {{new_email}}"
msgid "Please click on the link below to confirm your email address."
-msgstr ""
+msgstr "Vă rugăm daţi click pe link-ul de mai jos pentru a confirma adresa dvs. de email."
msgid "Please describe more what the request is about in the subject. There is no need to say it is an FOI request, we add that on anyway."
-msgstr ""
+msgstr "Vă rugăm descrieţi mai pe larg despre ce este vorba în cerere. Nu este necesar să spuneţi ca este o cerere FOI, vom adăuga aceasta oricum."
msgid "Please don't upload offensive pictures. We will take down images\\n that we consider inappropriate."
-msgstr ""
+msgstr "Te rugăm să nu încarci pe site poze ofensatoare. Vom șterge imaginile\\n pe care le considerăm neadecvate."
msgid "Please enable \"cookies\" to carry on"
-msgstr ""
+msgstr "Vă rugăm activaţi \"cookies\" pentru a funcţiona."
msgid "Please enter a password"
-msgstr ""
+msgstr "Vă rugăm introduceţi parola"
msgid "Please enter a subject"
-msgstr ""
+msgstr "Vă rugăm introduceţi un subiect"
msgid "Please enter a summary of your request"
-msgstr ""
+msgstr "Vă rugăm introduceţi un rezumat al cererii dvs."
msgid "Please enter a valid email address"
-msgstr ""
+msgstr "Vă rugăm introduceţi o adresă de email validă"
msgid "Please enter the message you want to send"
-msgstr ""
+msgstr "Vă rugăm introduceţi mesajul pe care vreţi să îl transmiteţi"
msgid "Please enter the same password twice"
-msgstr ""
+msgstr "Vă rugăm introduceţi aceeaşi parolă de două ori"
msgid "Please enter your annotation"
-msgstr ""
+msgstr "Vă rugăm introduceţi adnotările dvs."
msgid "Please enter your email address"
-msgstr ""
+msgstr "Vă rugăm introduceţi adresa dvs. de email"
msgid "Please enter your follow up message"
-msgstr ""
+msgstr "Vă rugăm introduceţi mesajele de tip follow up"
msgid "Please enter your letter requesting information"
-msgstr ""
+msgstr "Vă rugăm introduceţi scrisoarea dvs. de cerere de informaţii"
msgid "Please enter your name"
-msgstr ""
+msgstr "Vă rugăm introduceţi numele dvs."
msgid "Please enter your name, not your email address, in the name field."
-msgstr ""
+msgstr "Vă rugăm introduceţi numele dvs., nu adresa dvs. de email în câmpul nume"
msgid "Please enter your new email address"
-msgstr ""
+msgstr "Vă rugăm introduceţi noua dvs. adresă de email"
msgid "Please enter your old email address"
-msgstr ""
+msgstr "Vă rugăm introduceţi vechea dvs. adresă de email"
msgid "Please enter your password"
-msgstr ""
+msgstr "Vă rugăm introduceţi parola dvs."
msgid "Please give details explaining why you want a review"
-msgstr ""
+msgstr "Vă rugăm să ne oferiţi detalii, explicând de ce doriţi o revizuire."
msgid "Please keep it shorter than 500 characters"
-msgstr ""
+msgstr "Vă rugăm să îl menţineţi mai scurt de 500 de caractere"
msgid "Please keep the summary short, like in the subject of an email. You can use a phrase, rather than a full sentence."
-msgstr ""
+msgstr "Vă rugăm păstraţi rezumatul cât mai scurt, ca în subiectul unui email. "
msgid "Please only request information that comes under those categories, <strong>do not waste your\\n time</strong> or the time of the public authority by requesting unrelated information."
-msgstr ""
+msgstr "Te rugăm să soliciți numai informațiile ce se regăsesc în una din aceste categorii, <strong>nu pierde timpul\\n tău</strong> sau pe cel al instituțiilor solicitând informații irelevante."
msgid "Please select each of these requests in turn, and <strong>let everyone know</strong>\\nif they are successful yet or not."
-msgstr ""
+msgstr "Te rugăm să selectezi fiecare solicitare pe rând și <strong>să spui</strong>\\ndacă au primit răspuns sau nu."
msgid "Please sign at the bottom with your name, or alter the \"{{signoff}}\" signature"
-msgstr ""
+msgstr "Vă rugăm să vă semnaţi la finalul paginii cu numele dvs. sau modificaţi semnătura \"{{signoff}}\" "
msgid "Please sign in as "
-msgstr ""
+msgstr "Vă rugăm înscrieţi-vă ca"
msgid "Please sign in or make a new account."
-msgstr ""
+msgstr "Te rugăm să te autentifici sau să te înregistrezi."
msgid "Please type a message and/or choose a file containing your response."
-msgstr ""
-
-msgid "Please use the form below to tell us more."
-msgstr ""
+msgstr "Vă rugăm scrieţi un mesaj şi/sau alegeţi un fişier care conţine răspunsul dvs."
msgid "Please use this email address for all replies to this request:"
-msgstr ""
+msgstr "Vă rugăm utilizaţi aceasta adresă de email pentru toate răspunsurile la aceasta cerere."
msgid "Please write a summary with some text in it"
-msgstr ""
+msgstr "Vă rugăm scrieţi un rezumat cu ceva text în el"
msgid "Please write the summary using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Vă rugăm scrieţi rezumatul utilizând atât litere mici cât şi litere mari. Astfel va fi mai uşor de citit."
msgid "Please write your annotation using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Vă rugăm scrieţi adnotarile utilizând atât litere mici cât şi litere mari. Astfel va fi mai uşor de citit."
msgid "Please write your follow up message containing the necessary clarifications below."
-msgstr ""
+msgstr "Vă rugăm scrieţi mesajul dvs de urmărire conţinând clarificările necesare de mai jos"
msgid "Please write your message using a mixture of capital and lower case letters. This makes it easier for others to read."
-msgstr ""
+msgstr "Vă rugăm scrieţi mesajul dvs. utilizând atât litere mici cât şi litere mari. Astfel va fi mai uşor de citit."
msgid "Point to <strong>related information</strong>, campaigns or forums which may be useful."
-msgstr ""
+msgstr "Îndrumaţi către <strong>informaţii în legătură cu</strong>, campanii sau forumuri care ar putea fi utile."
msgid "Possibly related requests:"
-msgstr ""
+msgstr "Posibile cereri asemănătoare:"
msgid "Post annotation"
-msgstr ""
+msgstr "Postaţi o adnotare"
msgid "Post redirect"
-msgstr ""
+msgstr "Redirecţionare postare"
msgid "PostRedirect|Circumstance"
-msgstr ""
+msgstr "RedirecţionarePostare|Circumstanţe"
msgid "PostRedirect|Email token"
-msgstr ""
+msgstr "RedirecţionarePostare|Email token"
msgid "PostRedirect|Post params yaml"
-msgstr ""
+msgstr "RedirecţionarePostare|Parametrii postare yaml"
msgid "PostRedirect|Reason params yaml"
-msgstr ""
+msgstr "RedirecţionarePostare|Paramentrii motiv yaml"
msgid "PostRedirect|Token"
-msgstr ""
+msgstr "RedirecţionarePostare|Token"
msgid "PostRedirect|Uri"
-msgstr ""
+msgstr "RedirecţionarePostare|Url"
msgid "Posted on {{date}} by {{author}}"
-msgstr ""
+msgstr "Postat la {{date}} de către {{author}}"
msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
-msgstr ""
+msgstr "Oferit de <a href=\"http://www.alaveteli.org/\">Alaveteli</a>"
msgid "Prev"
-msgstr ""
+msgstr "Precedent"
msgid "Preview follow up to '"
-msgstr ""
+msgstr "Previzualizaţi urmare la "
msgid "Preview new annotation on '{{info_request_title}}'"
-msgstr ""
+msgstr "Previzualizaţi noi adnotări la '{{info_request_title}}'"
msgid "Preview your annotation"
-msgstr ""
+msgstr "Previzualizaţi adnotarea dvs."
msgid "Preview your message"
-msgstr ""
+msgstr "Previzualizaţi mesajul dvs."
msgid "Preview your public request"
-msgstr ""
+msgstr "Previzualizaţi cererea dvs."
msgid "Profile photo"
-msgstr ""
+msgstr "Poza profil"
msgid "ProfilePhoto|Data"
-msgstr ""
+msgstr "Poza de profil|Data"
msgid "ProfilePhoto|Draft"
-msgstr ""
+msgstr "Poza de profil|Ciornă"
msgid "Public authorities"
-msgstr ""
+msgstr "Instituții publice"
msgid "Public authorities - {{description}}"
-msgstr ""
+msgstr "Autorităţi publice - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
+msgstr "Instituții publice de la {{start_count}} la {{end_count}} din {{total_count}}"
+
+msgid "Public authority – {{name}}"
msgstr ""
msgid "Public body"
-msgstr ""
+msgstr "Autoritate publică"
msgid "Public body/translation"
+msgstr "Autoritate publică/traducere"
+
+msgid "Public notes"
msgstr ""
-msgid "PublicBody::Translation|Disclosure log"
+msgid "Public page"
msgstr ""
-msgid "PublicBody::Translation|First letter"
+msgid "Public page not available"
msgstr ""
+msgid "PublicBody::Translation|Disclosure log"
+msgstr "PublicBody::Translation|Disclosure log"
+
+msgid "PublicBody::Translation|First letter"
+msgstr "AutoritatePublică::Traducere|Prima literă"
+
msgid "PublicBody::Translation|Locale"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Local"
msgid "PublicBody::Translation|Name"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Nume"
msgid "PublicBody::Translation|Notes"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Note"
msgid "PublicBody::Translation|Publication scheme"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Schema publicaţiei"
msgid "PublicBody::Translation|Request email"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Cerere email"
msgid "PublicBody::Translation|Short name"
-msgstr ""
+msgstr "AutoritatePublică::Traducere|Nume scurt"
msgid "PublicBody::Translation|Url name"
-msgstr ""
+msgstr "AutoritatePublică::Traducere| Nume URL"
msgid "PublicBody|Api key"
-msgstr ""
+msgstr "InstituţiePublică|Api key"
msgid "PublicBody|Disclosure log"
-msgstr ""
+msgstr "PublicBody|Disclosure log"
msgid "PublicBody|First letter"
-msgstr ""
+msgstr "Instituţie publică|Prima literă"
msgid "PublicBody|Home page"
-msgstr ""
+msgstr "Instituţie publică|Pagina principală"
msgid "PublicBody|Info requests count"
-msgstr ""
+msgstr "InstituţiePublică|Info număr de cereri "
msgid "PublicBody|Last edit comment"
-msgstr ""
+msgstr "Instituţie publică| Ultimul comentariu editat"
msgid "PublicBody|Last edit editor"
-msgstr ""
+msgstr "Instituţie publică| Ultimul editor"
msgid "PublicBody|Name"
-msgstr ""
+msgstr "Instituţie publică| Numele"
msgid "PublicBody|Notes"
-msgstr ""
+msgstr "Instituţie publică| Note"
msgid "PublicBody|Publication scheme"
-msgstr ""
+msgstr "Instituţie publică| Schema publicaţiilor"
msgid "PublicBody|Request email"
-msgstr ""
+msgstr "Instituţie publică| Cerere email"
msgid "PublicBody|Short name"
-msgstr ""
+msgstr "Instituţie publică| Nume scurt"
msgid "PublicBody|Url name"
-msgstr ""
+msgstr "Instituţie publică| Nume Url"
msgid "PublicBody|Version"
-msgstr ""
+msgstr "Instituţie publică| Versiune"
msgid "Publication scheme"
+msgstr "Schema publicaţiilor"
+
+msgid "Publication scheme URL"
msgstr ""
msgid "Purge request"
-msgstr ""
+msgstr "Eliminare cerere"
msgid "PurgeRequest|Model"
-msgstr ""
+msgstr "EliminareCerere|Model"
msgid "PurgeRequest|Url"
-msgstr ""
+msgstr "EliminareCerere|Url"
msgid "RSS feed"
-msgstr ""
+msgstr "RSS feed"
msgid "RSS feed of updates"
-msgstr ""
+msgstr "RSS feed pentru actualizări"
msgid "Re-edit this annotation"
-msgstr ""
+msgstr "Re-editaţi această adnotare"
msgid "Re-edit this message"
-msgstr ""
+msgstr "Re-editaţi acest mesaj"
msgid "Read about <a href=\"{{advanced_search_url}}\">advanced search operators</a>, such as proximity and wildcards."
-msgstr ""
+msgstr "Citiţi despre <a href=\"{{advanced_search_url}}\"> operatori de căutare avansată</a>, cum ar fi asemănarea sau caractere \"joker\"."
msgid "Read blog"
-msgstr ""
+msgstr "Citește blog"
msgid "Received an error message, such as delivery failure."
-msgstr ""
+msgstr "S-a primit un mesaj de eroare, cum ar fi eroarea de livarare."
msgid "Recently described results first"
-msgstr ""
+msgstr "Prima dată rezultatele recent descrise"
msgid "Refused."
-msgstr ""
+msgstr "Refuzat"
msgid "Remember me</label> (keeps you signed in longer;\\n do not use on a public computer) "
-msgstr ""
+msgstr "Ține-mă minte</label> (rămâi înregistrat pentru mai mult timp;\\n nu folosi atunci când accesezi de la un computer public)"
msgid "Report abuse"
-msgstr ""
+msgstr "Raportare abuz"
msgid "Report an offensive or unsuitable request"
-msgstr ""
+msgstr "Raportaţi o cerere ofensatoare sau nepotrivită"
msgid "Report this request"
-msgstr ""
+msgstr "Raportaţi această cerere"
msgid "Reported for administrator attention."
-msgstr ""
+msgstr "Raportaţi în atenţia administratorului"
msgid "Request an internal review"
-msgstr ""
+msgstr "Solicitați o evaluare internă"
msgid "Request an internal review from {{person_or_body}}"
+msgstr "Solicitați o evaluare internă de la {{person_or_body}}"
+
+msgid "Request email"
msgstr ""
msgid "Request has been removed"
-msgstr ""
+msgstr "Cererea a fost ştearsă"
msgid "Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "Cerere trimisă la {{public_body_name}} de către {{info_request_user}} la {{date}}."
msgid "Request to {{public_body_name}} by {{info_request_user}}. Annotated by {{event_comment_user}} on {{date}}."
-msgstr ""
+msgstr "Cerere către {{public_body_name}} de către {{info_request_user}}. Adnotată de către {{event_comment_user}} la {{date}}."
msgid "Requested from {{public_body_name}} by {{info_request_user}} on {{date}}"
-msgstr ""
+msgstr "Cerere de la {{public_body_name}} de către {{info_request_user}} la {{date}}"
msgid "Requested on {{date}}"
-msgstr ""
+msgstr "Cerere la data {{date}}"
msgid "Requests for personal information and vexatious requests are not considered valid for FOI purposes (<a href=\"/help/about\">read more</a>)."
-msgstr ""
+msgstr "Solicitările de informații personale și solicitările ofensatoare nu sunt considerate valide pentru scopurile solicitărilor de acces la informații (<a href=\"/help/about\">citește mai multe</a>)."
msgid "Requests or responses matching your saved search"
-msgstr ""
+msgstr "Cereri sau răspunsuri care întrunesc căutarea dvs."
msgid "Respond by email"
-msgstr ""
+msgstr "Răspuns prin email"
msgid "Respond to request"
-msgstr ""
+msgstr "Răspuns la cerere"
msgid "Respond to the FOI request"
-msgstr ""
+msgstr "Răspuns la cererea FOI"
msgid "Respond using the web"
-msgstr ""
+msgstr "Răspuns utilizând Internetul"
msgid "Response"
-msgstr ""
+msgstr "Răspuns"
msgid "Response from a public authority"
-msgstr ""
+msgstr "Răspuns de la o autoritate publică"
msgid "Response to '{{title}}'"
-msgstr ""
+msgstr "Răspuns la '{{title}}'"
msgid "Response to this request is <strong>delayed</strong>."
-msgstr ""
+msgstr "Răspunsul la această cerere este <strong> amânat</strong>."
msgid "Response to this request is <strong>long overdue</strong>."
-msgstr ""
+msgstr "Răspunsul la această cerere este <strong> mult peste termen</strong>."
msgid "Response to your request"
-msgstr ""
+msgstr "Răspuns la cererea dvs."
msgid "Response:"
-msgstr ""
+msgstr "Răspuns:"
msgid "Restrict to"
-msgstr ""
+msgstr "Resticţionat la"
msgid "Results page {{page_number}}"
-msgstr ""
+msgstr "Pagini rezultate {{page_number}}"
msgid "Save"
-msgstr ""
+msgstr "Salvează"
msgid "Search"
-msgstr ""
+msgstr "Caută"
msgid "Search Freedom of Information requests, public authorities and users"
-msgstr ""
+msgstr "Caută cerei FOI, autorităţi publice și utilizatori"
msgid "Search contributions by this person"
-msgstr ""
+msgstr "Caută contribuţii de la această persoană"
msgid "Search for words in:"
-msgstr ""
+msgstr "Caută cuvinte în:"
msgid "Search in"
-msgstr ""
+msgstr "Caută în"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
+msgstr "Caută prin<br/>\\n <strong>{{number_of_requests}} solicitări</strong> <span>şi</span><br/>\\n <strong>{{number_of_authorities}} autorităţi</strong>"
msgid "Search queries"
-msgstr ""
+msgstr "Caută interogări"
msgid "Search results"
-msgstr ""
+msgstr "Rezultate căutare"
msgid "Search the site to find what you were looking for."
-msgstr ""
+msgstr "Caută în site pentru a găsi informaţia dorită"
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Caută printre cele {{count}} până la {{public_body_name}} cereri FOI"
+msgstr[1] "Caută printre cele {{count}} până la {{public_body_name}} cereri FOI făcute"
+msgstr[2] "Caută printre cele {{count}} cereri FOI {{public_body_name}} "
msgid "Search your contributions"
+msgstr "Caută contribuţia ta"
+
+msgid "See bounce message"
msgstr ""
msgid "Select one to see more information about the authority."
-msgstr ""
+msgstr "Selectaţi una pentru a vedea informaţii despre această autoritate"
msgid "Select the authority to write to"
-msgstr ""
+msgstr "Selectaţi autoritatea căreia să îi scrieţi"
msgid "Send a followup"
-msgstr ""
+msgstr "Trimiteţi o urmărire"
msgid "Send a message to "
-msgstr ""
+msgstr "Trimite un mesaj"
msgid "Send a public follow up message to {{person_or_body}}"
-msgstr ""
+msgstr "Trimite un mesaj de urmărire public către {{person_or_body}}"
msgid "Send a public reply to {{person_or_body}}"
-msgstr ""
+msgstr "Trimite un răspuns public către {{person_or_body}}"
msgid "Send follow up to '{{title}}'"
-msgstr ""
+msgstr "Trimite follow up la '{{title}}'"
msgid "Send message"
-msgstr ""
+msgstr "Trimite un mesaj"
msgid "Send message to "
-msgstr ""
+msgstr "Trimite un mesaj către"
msgid "Send request"
-msgstr ""
+msgstr "Trimite cerere"
msgid "Set your profile photo"
+msgstr "Alege poza de profil"
+
+msgid "Short name"
msgstr ""
msgid "Short name is already taken"
-msgstr ""
+msgstr "Numele scurt este deja folosit"
msgid "Show most relevant results first"
-msgstr ""
+msgstr "Arată mesajele relevante mai întâi"
msgid "Show only..."
-msgstr ""
+msgstr "Arată numai ..."
msgid "Showing"
-msgstr ""
+msgstr "Afşare"
msgid "Sign in"
-msgstr ""
+msgstr "Intrare in cont"
msgid "Sign in or make a new account"
-msgstr ""
+msgstr "Intrare in cont sau creare un cont nou"
msgid "Sign in or sign up"
-msgstr ""
+msgstr "Intrare în cont sau ieșire din cont"
msgid "Sign out"
-msgstr ""
+msgstr "Ieşire din cont"
msgid "Sign up"
-msgstr ""
+msgstr "Înscriere "
msgid "Similar requests"
-msgstr ""
+msgstr "Cereri similare"
msgid "Simple search"
-msgstr ""
+msgstr "Căutare simplă"
msgid "Some notes have been added to your FOI request - "
-msgstr ""
+msgstr "Au fost adăugate câteva note la cererea dvs. FOI"
msgid "Some of the information requested has been received"
-msgstr ""
+msgstr "Câteva informaţii solicitate au fost primite"
msgid "Some people who've made requests haven't let us know whether they were\\nsuccessful or not. We need <strong>your</strong> help &ndash;\\nchoose one of these requests, read it, and let everyone know whether or not the\\ninformation has been provided. Everyone'll be exceedingly grateful."
-msgstr ""
+msgstr "O parte din cei ce au trimis solicitări nu ne-au anunțat dacă acestea au avut sau nu succes. Avem nevoie de <strong>ajutorul și de contribuția</strong> ta;\\nalege un dintre aceste solicitări, citește-o, și spune-ne dacă \\ninformațiile au fost furnizate sau nu. Toată lumea va fi recunoascătoare."
msgid "Somebody added a note to your FOI request - "
-msgstr ""
+msgstr "Cineva a adăugat o notă la cererea dvs. FOI"
msgid "Someone has updated the status of your request"
-msgstr ""
+msgstr "Cineva a actualizat starea cererii dvs."
msgid "Someone, perhaps you, just tried to change their email address on\\n{{site_name}} from {{old_email}} to {{new_email}}."
-msgstr ""
+msgstr "Cineva, probabil tu, tocmai a încercat să schimbe adresa de email de pe \\n{{site_name}} din {{old_email}} în {{new_email}}."
msgid "Sorry - you cannot respond to this request via {{site_name}}, because this is a copy of the request originally at {{link_to_original_request}}."
-msgstr ""
+msgstr "Ne pare rău - nu poți răspunde acestei solicitări via {{site_name}}, pentru că aceasta este o copie a solicitării transmise la {{link_to_original_request}}."
msgid "Sorry, but only {{user_name}} is allowed to do that."
-msgstr ""
+msgstr "Scuze, dar numai {{user_name}} este abilitat să facă asta."
msgid "Sorry, there was a problem processing this page"
-msgstr ""
+msgstr "Scuze, este o problemă cu accesarea acestei pagini."
msgid "Sorry, we couldn't find that page"
-msgstr ""
+msgstr "Scuze, nu am găsit pagina"
msgid "Special note for this authority!"
-msgstr ""
+msgstr "O notă specială pentru această autoritate!"
msgid "Start"
-msgstr ""
+msgstr "Start"
msgid "Start now &raquo;"
-msgstr ""
+msgstr "Start acum &raquo;"
msgid "Start your own blog"
-msgstr ""
+msgstr "Incepeţi propriul jurnal"
msgid "Stay up to date"
-msgstr ""
+msgstr "Rămaneţi la curent"
msgid "Still awaiting an <strong>internal review</strong>"
-msgstr ""
+msgstr "Încă în aşteptarea unei <strong>revizii interne</strong>"
msgid "Subject"
-msgstr ""
+msgstr "Subiect"
msgid "Subject:"
-msgstr ""
+msgstr "Subiect:"
msgid "Submit"
-msgstr ""
+msgstr "Trimite"
msgid "Submit status"
+msgstr "Trimite starea"
+
+msgid "Submit status and send message"
msgstr ""
msgid "Subscribe to blog"
-msgstr ""
+msgstr "Înscriere pentru blog"
msgid "Successful Freedom of Information requests"
-msgstr ""
+msgstr "Cereri FOI cu succes"
msgid "Successful."
-msgstr ""
+msgstr "Succes"
msgid "Suggest how the requester can find the <strong>rest of the information</strong>."
-msgstr ""
+msgstr "Sugeraţi cum ar putea găsi solicitantul <strong>restul informaţiilior</strong>."
msgid "Summary:"
-msgstr ""
+msgstr "Rezumat:"
msgid "Table of statuses"
-msgstr ""
+msgstr "Tabelul stărilor"
msgid "Table of varieties"
+msgstr "Tabelul varietăţilor"
+
+msgid "Tags"
msgstr ""
msgid "Tags (separated by a space):"
-msgstr ""
+msgstr "Etichete (separate de spatiu):"
msgid "Tags:"
-msgstr ""
+msgstr "Etichete"
msgid "Technical details"
-msgstr ""
+msgstr "Detalii tehnice"
msgid "Thank you for helping us keep the site tidy!"
-msgstr ""
+msgstr "Vă mulţumim pentru că ne ajutaţi să menţinem acest site îngrijit !"
msgid "Thank you for making an annotation!"
-msgstr ""
+msgstr "Vă mulţumim pentru adnotarea făcută!"
msgid "Thank you for responding to this FOI request! Your response has been published below, and a link to your response has been emailed to "
-msgstr ""
+msgstr "Vă mulţumim pentru răspunsul la această cerere FOI! Răspunsul dvs. a fost publicat mai jos şi un link către răspunsul dvs. a fost trimis prin email către"
msgid "Thank you for updating the status of the request '<a href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests below for you to classify."
-msgstr ""
+msgstr "Vă mulţumim pentru actualizarea stării pentru cererea '<a href=\"{{url}}\">{{info_request_title}}</a>'. Mai există câteva cereri mai jos pe care ar trebui să le clasificaţi."
msgid "Thank you for updating this request!"
-msgstr ""
+msgstr "Mulţumim pentru actualizarea cererii!"
msgid "Thank you for updating your profile photo"
+msgstr "Mulţumim pentru actualizarea pozei de profil"
+
+msgid "Thank you! We'll look into what happened and try and fix it up."
msgstr ""
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
-msgstr ""
+msgstr "Îți mulțumim pentru ajutor - acțiunile tale vor ușura obținerea unor răspunsuri bune pentru toată lumea"
msgid "Thanks very much - this will help others find useful stuff. We'll\\n also, if you need it, give advice on what to do next about your\\n requests."
-msgstr ""
+msgstr "Mulțumim - asta îi va ajuta și pe alții să găsească informații utile. De \\nasemenea, daca ai nevoie, te putem sfătui cu privire la ce poți face în continuare legat de solicitarea ta."
msgid "Thanks very much for helping keep everything <strong>neat and organised</strong>.\\n We'll also, if you need it, give you advice on what to do next about each of your\\n requests."
-msgstr ""
+msgstr "Mulțumim că ne ajuți să ținem lucrurile în ordine. Dacă ai nevoie, te putem sfătui cu privire la ce poți face în continuare legat de solicitarea ta."
msgid "That doesn't look like a valid email address. Please check you have typed it correctly."
-msgstr ""
+msgstr "Aceasta nu pare a fi o adresa de email validă. Vă rugăm verificaţi că aţi tastat corect."
msgid "The <strong>review has finished</strong> and overall:"
-msgstr ""
+msgstr "<strong>Revizia s-a finalizat</strong> şi per ansamblu:"
msgid "The Freedom of Information Act <strong>does not apply</strong> to"
-msgstr ""
+msgstr "Legea liberului acces la informaţii <strong>nu se aplică</strong> la"
msgid "The accounts have been left as they previously were."
-msgstr ""
+msgstr "Contuile au rămas aşa cum erau înainte."
msgid "The authority do <strong>not have</strong> the information <small>(maybe they say who does)"
-msgstr ""
+msgstr "Autoritatea <strong>nu are</strong> informatiile <small>(probabil vor spune cine le are)"
msgid "The authority only has a <strong>paper copy</strong> of the information."
-msgstr ""
+msgstr "Autoritatea are doar <strong>o copie tipărită</strong> a informaţiilor."
msgid "The authority say that they <strong>need a postal\\n address</strong>, not just an email, for it to be a valid FOI request"
-msgstr ""
+msgstr "Instituția <strong>solicită o adresă\\n poștală</strong>, pe lângă adresa de email, pentru a considera solicitarea validă."
msgid "The authority would like to / has <strong>responded by post</strong> to this request."
-msgstr ""
+msgstr "Autoritatea ar <strong>vrea să răspundă / a răspuns prin postarea</strong> la această cerere."
msgid "The email that you, on behalf of {{public_body}}, sent to\\n{{user}} to reply to an {{law_used_short}}\\nrequest has not been delivered."
-msgstr ""
+msgstr "Email-ul trimis din partea {{public_body}}, către\\n{{user}} ca răspuns la {{law_used_short}}\\nsolicitare nu a fost transmis."
msgid "The page doesn't exist. Things you can try now:"
-msgstr ""
+msgstr "Pagina nu există. Ceea ce puteţi încerca acum:"
msgid "The public authority does not have the information requested"
-msgstr ""
+msgstr "Autritatea publică nu deţine informaţiile solicitate"
msgid "The public authority would like part of the request explained"
-msgstr ""
+msgstr "Autritatea publică ar dori explicarea unei părţi a cererii"
msgid "The public authority would like to / has responded by post"
-msgstr ""
+msgstr "Autoritatea ar vrea să răspundă/a răspuns prin postare"
msgid "The request has been <strong>refused</strong>"
-msgstr ""
+msgstr "Cererea a fost <strong>refuzată</strong>"
msgid "The request has been updated since you originally loaded this page. Please check for any new incoming messages below, and try again."
-msgstr ""
+msgstr "Cererea a fost actualizată de când aţi încarcat iniţial această pagină. Vă rugăm verificaţi mai jos alte mesaje nou sosite, şi încercaţi din nou."
msgid "The request is <strong>waiting for clarification</strong>."
-msgstr ""
+msgstr "Cererea <strong>aşteapă clarificare</strong>."
msgid "The request was <strong>partially successful</strong>."
-msgstr ""
+msgstr "Cererea a fost <strong> parţial reuşită</strong>."
msgid "The request was <strong>refused</strong> by"
-msgstr ""
+msgstr "Cererea a fost <strong>refuzată</strong> de către"
msgid "The request was <strong>successful</strong>."
-msgstr ""
+msgstr "Cererea a fost <strong>reuşită</strong>"
msgid "The request was refused by the public authority"
-msgstr ""
+msgstr "Cererea a fost refuzată de către autoritatea publică"
msgid "The request you have tried to view has been removed. There are\\nvarious reasons why we might have done this, sorry we can't be more specific here. Please <a\\n href=\"{{url}}\">contact us</a> if you have any questions."
-msgstr ""
+msgstr "Solicitarea pe care ai încercat să o vizualizezi a fost ștearsă. Există \\ndiverse motive pentru care am fi ales să faem asta, ne cerem scuze că nu putem oferi detalii exacte. Te rugăm <a\\n href=\"{{url}}\">să ne contactezi</a> dacă ai întrebări."
msgid "The requester has abandoned this request for some reason"
-msgstr ""
+msgstr "Solicitantul şi-a abandonat cererea din anumite motive"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
-msgstr ""
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgstr "Răspunsul la solicitarea ta a fost <strong>întârziat</strong>. Poţi spune că, \\n potrivit legii, autoritatea ar fi trebuit să răspundă în mod normal\\n <strong>prompt</strong> şi"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
-msgstr ""
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
+msgstr "Răspunsul la solicitarea ta este <strong>mult întârziat</strong>. Poţi spune că, potrivit \\n legii, în oricare circumstanţe, autoritatea ar fi trebuit să răspundă \\n până acum"
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
-msgstr ""
+msgstr "Acest index de căutare este în acest moment off-line, aşa ca nu putem afişa cererile FOI făcute către această autoritate."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests this person has made."
-msgstr ""
+msgstr "Acest index de căutare este în acest moment off-line, aşa ca nu putem afişa cererile FOI pe care această persoană le-a făcut."
msgid "Then you can cancel the alert."
-msgstr ""
+msgstr "Apoi puteţi anula alerta."
msgid "Then you can cancel the alerts."
-msgstr ""
+msgstr "Apoi puteţi anula alertele."
msgid "Then you can change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Apoi puteţi modifica adresa dvs. de email utilizată pe {{site_name}}"
msgid "Then you can change your password on {{site_name}}"
-msgstr ""
+msgstr "Apoi puteţi modifica parola dvs. pe {{site_name}}"
msgid "Then you can classify the FOI response you have got from "
-msgstr ""
+msgstr "Apoi puteţi clasifica răspunsul FOI pe care l-aţi primit de la "
msgid "Then you can download a zip file of {{info_request_title}}."
-msgstr ""
+msgstr "Apoi puteţi descărca un fişier zip cu {{info_request_title}}."
msgid "Then you can log into the administrative interface"
-msgstr ""
+msgstr "Apoi vă puteţi conecta la interfaţa administrativă"
msgid "Then you can play the request categorisation game."
-msgstr ""
+msgstr "Apoi puteţi să jucaţi jocul de categorisire a cererii."
msgid "Then you can report the request '{{title}}'"
-msgstr ""
+msgstr "Apoi puteţi raporta cererea '{{title}}'"
msgid "Then you can send a message to "
-msgstr ""
+msgstr "Apoi puteţi trimite un mesaj către "
msgid "Then you can sign in to {{site_name}}"
-msgstr ""
+msgstr "Apoi puteţi să intraţi in contul dvs de pe {{site_name}}"
msgid "Then you can update the status of your request to "
-msgstr ""
+msgstr "Apoi puteţi să actualizaşi starea cererii dvs."
msgid "Then you can upload an FOI response. "
-msgstr ""
+msgstr "Apoi puteţi să încărcaţi un răspuns FOI"
msgid "Then you can write follow up message to "
-msgstr ""
+msgstr "Apoi puteţi să scrieţi un mesaj de urmărire către"
msgid "Then you can write your reply to "
-msgstr ""
+msgstr "Apoi puteţi să scrieţi răspunsul către"
msgid "Then you will be following all new FOI requests."
-msgstr ""
+msgstr "După aceea vei urmări toate solicitările de acces la informații noi."
msgid "Then you will be notified whenever '{{user_name}}' requests something or gets a response."
-msgstr ""
+msgstr "După aceea vei fi notificat de fiecare dată când '{{user_name}}' solicită ceva sau primește răspuns."
msgid "Then you will be notified whenever a new request or response matches your search."
-msgstr ""
+msgstr "Apoi veţi fi notificat de câte ori un răspuns sau o cerere corespunde căutării dvs."
msgid "Then you will be notified whenever an FOI request succeeds."
-msgstr ""
+msgstr "Apoi veţi fi notificat de câte ori o cerere FOI este reuşită."
msgid "Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'."
-msgstr ""
+msgstr "Apoi veţi fi notificat de câte ori cineva solicită sau primeşte un răspuns de la '{{public_body_name}}'."
msgid "Then you will be updated whenever the request '{{request_title}}' is updated."
-msgstr ""
+msgstr "Apoi veţi fi informfat de câte cererea '{{request_title}}' este actualizată."
msgid "Then you'll be allowed to send FOI requests."
-msgstr ""
+msgstr "Apoi veţi putea să trimiteţi cereri FOI"
msgid "Then your FOI request to {{public_body_name}} will be sent."
-msgstr ""
+msgstr "Apoi cerere dvs. FOI către {{public_body_name}} va fi trimisă."
msgid "Then your annotation to {{info_request_title}} will be posted."
-msgstr ""
+msgstr "Apoi adnotarea dvs. către {{info_request_title}} va fi postată."
msgid "There are {{count}} new annotations on your {{info_request}} request. Follow this link to see what they wrote."
-msgstr ""
+msgstr "Sunt {{count}} adnotări noi la cererea dvs. {{info_request}}. Urmaţi acest link pentru a vedea ce au scris."
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Sunt {{count}} persoane care urmăresc această cerere."
+msgstr[1] "Sunt {{count}} persoane care urmăresc această cerere."
+msgstr[2] "Sunt {{count}} persoane care urmăresc această cerere."
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
-msgstr ""
+msgstr "Există <strong>mai mult de o persoană</strong> care utilizează acest site şi are acest nume.\\n Una dintre ele este afişată mai jos, în cazul în care cauţi pe altcineva:"
msgid "There is a limit on the number of requests you can make in a day, because we don’t want public authorities to be bombarded with large numbers of inappropriate requests. If you feel you have a good reason to ask for the limit to be lifted in your case, please <a href='{{help_contact_path}}'>get in touch</a>."
-msgstr ""
+msgstr "Există o limită a numărului de cereri pe care le puteţi face într-o zi, deoarece nu dorim ca autorităţile publice să fie bombardate cu un mare număr de cereri inadecvate. Dacă consideraţi că aveţi un motiv întemeiat pentru a cere mărirea acestei limite, vă rugăm <a href='{{help_contact_path}}'>contactaţi</a>."
msgid "There was a <strong>delivery error</strong> or similar, which needs fixing by the {{site_name}} team."
-msgstr ""
+msgstr "A apărut o <strong>eroare de transmitere</strong> sau similară ce va trebui să fie rezolvată de către echipa {{site_name}}."
msgid "There was an error with the words you entered, please try again."
-msgstr ""
+msgstr "Există o eroare printre cuvintele pe care le-aţi introdus, vă rugăm încercaţi din nou."
msgid "There were no requests matching your query."
-msgstr ""
+msgstr "Nu sunt cereri care satisfac interogarea dvs."
msgid "There were no results matching your query."
-msgstr ""
+msgstr "Nu sunt rezultate care satisfac interogarea dvs."
msgid "They are going to reply <strong>by post</strong>"
-msgstr ""
+msgstr "Ei vor răspunde <strong>prin postarea </strong>"
msgid "They do <strong>not have</strong> the information <small>(maybe they say who does)</small>"
-msgstr ""
+msgstr "Ei <strong>nu au</strong> informaţiile <small>(probabil vor spune cine le deţine)</small>"
msgid "They have been given the following explanation:"
-msgstr ""
+msgstr "Ei au oferit următoarea explicaţie"
msgid "They have not replied to your {{law_used_short}} request {{title}} promptly, as normally required by law"
-msgstr ""
+msgstr "Ei nu au răspuns prompt lacererea dvs {{title}} {{law_used_short}} aşa cum este prevăzut in mod normal prin lege"
msgid "They have not replied to your {{law_used_short}} request {{title}}, \\nas required by law"
-msgstr ""
+msgstr "Nu ţi-au răspuns la {{law_used_short}} solicitarea {{title}}, \\naşa cum specifică legea"
msgid "Things to do with this request"
-msgstr ""
+msgstr "Lucruri de făcut cu această cerere"
msgid "Things you're following"
-msgstr ""
+msgstr "Lucruri pe care le urmăriţi"
msgid "This authority no longer exists, so you cannot make a request to it."
-msgstr ""
+msgstr "Această autoritate nu mai există, deci nu puteţi face o cerere către aceasta."
msgid "This comment has been hidden. See annotations to\\n find out why. If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the response."
-msgstr ""
+msgstr "Acest comentariu a fost ascuns. Vezi adnotaţiile pentru\\n a afla de ce. Dacă eşti solicitantul, atunci te poţi <a href=\"{{url}}\">autentifica</a> pentru a vedea răspunsul."
msgid "This covers a very wide spectrum of information about the state of\\n the <strong>natural and built environment</strong>, such as:"
-msgstr ""
+msgstr "Aceasta acoperă un spectru foarte larg de informaţii despre stadiul\\n <strong>mediului natural şi construit</strong>, precum:"
msgid "This external request has been hidden"
-msgstr ""
+msgstr "Această cerere externăa fost ascunsă"
msgid "This is a plain-text version of the Freedom of Information request \"{{request_title}}\". The latest, full version is available online at {{full_url}}"
-msgstr ""
+msgstr "Aceasta este o versiune text-simplu a cererii FOI \"{{request_title}}\". Ultima versiune, completă, este disponibila online la {{full_url}}"
msgid "This is an HTML version of an attachment to the Freedom of Information request"
-msgstr ""
+msgstr "Aceasta este o versiune HTML a ataşamentului la cererea FOI."
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
+msgstr "Aceasta este din cauză că {{title}} este o solicitare veche ce a fost \\nmarcată pentru a nu mai primi răspunsuri."
+
+msgid "This is the first version."
msgstr ""
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
-msgstr ""
+msgstr "Acesata este cererea dvs proprie, aşa ca vi se va comunica automat prin când va sosi un răspuns."
msgid "This outgoing message has been hidden. See annotations to\\n\t\t\t\t\t\tfind out why. If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the response."
-msgstr ""
+msgstr "Acest mesaj în curs de expediere a fost ascuns. Vezi adnotaţiile pentru\\n»»»»»»a afla de ce. Dacă eşti solicitantul, atunci te poţi <a href=\"{{url}}\">autentifica</a> pentru a vedea răspunsul."
msgid "This particular request is finished:"
-msgstr ""
+msgstr "Acesată cerere anume este finalizată:"
msgid "This person has made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Acestă persoană nu a făcut nici o cerere FOI utilizând acest site"
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "A {{count}} -a cerere FOI a acestei persoane"
+msgstr[1] "A {{count}} -a cerere FOI a acestei persoane"
+msgstr[2] "A {{count}} -a cerere FOI a acestei persoane"
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "A {{count}} -a adnotare a acestei persoane"
+msgstr[1] "A {{count}} -a adnotare a acestei persoane"
+msgstr[2] "A {{count}} -a adnotare a acestei persoane"
msgid "This person's annotations"
-msgstr ""
+msgstr "Adnotările acestei persoane"
msgid "This request <strong>requires administrator attention</strong>"
-msgstr ""
+msgstr "Acestă cerere <strong>necesită atenţia administratorului</strong>"
msgid "This request has already been reported for administrator attention"
-msgstr ""
+msgstr "Această cerere a fost deja raportată spre atenţia administratorului"
msgid "This request has an <strong>unknown status</strong>."
-msgstr ""
+msgstr "Aceasta cerere are un status <strong>necunoscut</strong>."
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it not to be an FOI request"
-msgstr ""
+msgstr "Această cerere a fost <strong>ascunsă </strong> de pe site deoarece un administrator consideră că nu poate fi o cerere FOI"
msgid "This request has been <strong>hidden</strong> from the site, because an administrator considers it vexatious"
-msgstr ""
+msgstr "Această cerere a fost <strong>ascunsă </strong> de pe site deoarece un administrator o consideră ofensatoare"
msgid "This request has been <strong>reported</strong> as needing administrator attention (perhaps because it is vexatious, or a request for personal information)"
-msgstr ""
+msgstr "Această cerere a fost <strong>raportată </strong> ca având nevoie de atenţia administratorului (probabil pentru că este ofensatoare sau solicită informaţii personale)"
msgid "This request has been <strong>withdrawn</strong> by the person who made it.\\n There may be an explanation in the correspondence below."
-msgstr ""
+msgstr "Această solicitare a fost <strong>retrasă</strong> de către persoana care a făcut-o. \\n S-ar putea să fie o explicaţie în corespondenţa de mai jos."
msgid "This request has been marked for review by the site administrators, who have not hidden it at this time. If you believe it should be hidden, please <a href=\"{{url}}\">contact us</a>."
-msgstr ""
+msgstr "Această solicitare a fost marcată pentru analizare de către administratorii siteului, nefiind ascunsă în acest moment. Dacă crezi că ar trebui ascunsă, te rugăm <a href=\"{{url}}\">contactează-ne</a>."
msgid "This request has been reported for administrator attention"
-msgstr ""
+msgstr "Această cerere a fost raportată spre atenţia administratorului"
msgid "This request has been set by an administrator to \"allow new responses from nobody\""
-msgstr ""
+msgstr "Această cerere a fost setată de către administrator să \" nu permită noi răspunsuri de la nimeni\""
msgid "This request has had an unusual response, and <strong>requires attention</strong> from the {{site_name}} team."
-msgstr ""
+msgstr "Această cerere are un raăspuns neobişnuit şi <strong> necesită atenţie </strong> din partea echipei {{site_name}} ."
msgid "This request has prominence 'hidden'. You can only see it because you are logged\\n in as a super user."
-msgstr ""
+msgstr "Această solicitare este evidenţiată ca \"ascunsă\". O poţi vedea doar pentru că eşti autentificat \\n ca super user."
msgid "This request is hidden, so that only you the requester can see it. Please\\n <a href=\"{{url}}\">contact us</a> if you are not sure why."
-msgstr ""
+msgstr "Acest răspuns este ascuns, astfel încât doar solicitantul poate avea acces la el. Te rugăm\\n <a href=\"{{url}}\">să ne contactezi</a> dacă nu eşti sigur de ce."
msgid "This request is still in progress:"
+msgstr "Cerere este încă în derulare:"
+
+msgid "This request requires administrator attention"
msgstr ""
msgid "This request was not made via {{site_name}}"
-msgstr ""
+msgstr "Cererea nu a fost făcută prin {{site_name}}"
msgid "This response has been hidden. See annotations to find out why.\\n If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the response."
-msgstr ""
+msgstr "Acest răspuns a fost ascuns. Vezi adnotările pentru a afla de ce.\\n Dacă eşti solicitantul, atunci te poţi <a href=\"{{url}}\">autentifica</a> pentru a vedea răspunsul."
msgid "This table shows the technical details of the internal events that happened\\nto this request on {{site_name}}. This could be used to generate information about\\nthe speed with which authorities respond to requests, the number of requests\\nwhich require a postal response and much more."
-msgstr ""
+msgstr "Acest tabel arată detaliile tehnice ale evenimentelor interne care au avut loc\\n cu această solicitare pe {{site_name}}. Acesta poate fi utilizat pentru a genera informaţii cu privire la\\nviteza cu care autorităţile răspund la solicitări, la numărul de solicitări\\ncare au nevoie de un răspuns scris şi multe altele."
msgid "This user has been banned from {{site_name}} "
-msgstr ""
+msgstr "Acest utilizator a fost blocat pentru {{site_name}} "
msgid "This was not possible because there is already an account using \\nthe email address {{email}}."
-msgstr ""
+msgstr "Acest lucru nu a fost posibil pentru că există deja un cont care utilizează\\nadresa de email {{email}}."
msgid "To cancel these alerts"
-msgstr ""
+msgstr "Pentru a anula aceste alerte"
msgid "To cancel this alert"
-msgstr ""
+msgstr "Pentru a anula această alertă"
msgid "To carry on, you need to sign in or make an account. Unfortunately, there\\nwas a technical problem trying to do this."
-msgstr ""
+msgstr "Pentru a continua, trebuie să te autentifici sau să te înregistrezi. Din păcate, a fost\\no problemă tehnică în încercarea de a face acest lucru."
msgid "To change your email address used on {{site_name}}"
-msgstr ""
+msgstr "Pentru a modifica adresa dvs. de email utilizată pe {{site_name}}"
msgid "To classify the response to this FOI request"
-msgstr ""
+msgstr "Pentru a clasifica răspunsul la această cerere FOI"
msgid "To do that please send a private email to "
-msgstr ""
+msgstr "Pentru a face aceasta, vă rugăm trimiteţi un email privat la"
msgid "To do this, first click on the link below."
-msgstr ""
+msgstr "Pentru a face aceasta, mai întâi daţi click pe linkul de mai jos"
msgid "To download the zip file"
-msgstr ""
+msgstr "Pentru a descărca fişierul zip"
msgid "To follow all successful requests"
-msgstr ""
+msgstr "Pentru a urmări toate solicitările la care s-a răspuns"
msgid "To follow new requests"
-msgstr ""
+msgstr "Pentru a urmări solicitările noi"
msgid "To follow requests and responses matching your search"
-msgstr ""
+msgstr "Pentru a urmări cererile şi răspunsurile care corespund căutării dvs."
msgid "To follow requests by '{{user_name}}'"
-msgstr ""
+msgstr "Pentru a urmări solicitările făcute de '{{user_name}}'"
msgid "To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'"
-msgstr ""
+msgstr "Pentru a urmări solicitările făcute utilizând {{site_name}} către autoritatea publică '{{public_body_name}}'"
msgid "To follow the request '{{request_title}}'"
-msgstr ""
+msgstr "Pentru a urmări solicitarea '{{request_title}}'"
msgid "To help us keep the site tidy, someone else has updated the status of the \\n{{law_used_full}} request {{title}} that you made to {{public_body}}, to \"{{display_status}}\" If you disagree with their categorisation, please update the status again yourself to what you believe to be more accurate."
-msgstr ""
+msgstr "Pentru a ne ajuta să ţinem site-ul curat, altcineva a actualizat statusul \\n{{law_used_full}}solicitării{{title}} pe care ai făcut-o către {{public_body}}, în \"{{display_status}}\". Dacă nu eşti de acord cu această categorisire, te rugăm să actualizezi statusul din nou în ceea ce consideri că este mai potrivit."
msgid "To let everyone know, follow this link and then select the appropriate box."
-msgstr ""
+msgstr "Pentru a afla orişicine, urmaţi acest link şi selectaţi căsuţa corespunzătoare"
msgid "To log into the administrative interface"
-msgstr ""
+msgstr "Pentru a vă conecta la interfaţa administrativă"
msgid "To play the request categorisation game"
-msgstr ""
+msgstr "Pentru a juca jocu categorisirea cererii"
msgid "To post your annotation"
-msgstr ""
+msgstr "Pentru a posta adnotarea dvs"
msgid "To reply to "
-msgstr ""
+msgstr "Pentru a răspunde la"
msgid "To report this FOI request"
-msgstr ""
+msgstr "Pentru a raporta acestă cerere FOI"
msgid "To send a follow up message to "
-msgstr ""
+msgstr "Pentu a trimite un mesaj de urmărire la"
msgid "To send a message to "
-msgstr ""
+msgstr "Pentru a trimite un mesaj la"
msgid "To send your FOI request"
-msgstr ""
+msgstr "Pentru a trimite cererea dvs. FOI"
msgid "To update the status of this FOI request"
-msgstr ""
+msgstr "Pentru a actualiza starea acestei cereri FOI"
msgid "To upload a response, you must be logged in using an email address from "
-msgstr ""
+msgstr "Pentru a încărca un răspuns trebuie să fiţi intrat în cont, folosind o adresă de email de la"
msgid "To use the advanced search, combine phrases and labels as described in the search tips below."
-msgstr ""
+msgstr "Pentru a utiliza căutarea avansată, combinaţi fraze şi etichete după cum este descris în trucurile de căutare de mai jos"
msgid "To view the email address that we use to send FOI requests to {{public_body_name}}, please enter these words."
-msgstr ""
+msgstr "Pentru a vedea adresa de email pe care noi o utilizăm pentru a trimite cereri FOI către {{public_body_name}}, vă rugăm introduceti aceste cuvinte."
msgid "To view the response, click on the link below."
-msgstr ""
+msgstr "Pentru a vedea răspunsul, daţi click pe linkul de mai jos."
msgid "To {{public_body_link_absolute}}"
-msgstr ""
+msgstr "Către {{public_body_link_absolute}}"
msgid "To:"
-msgstr ""
+msgstr "Către:"
msgid "Today"
-msgstr ""
+msgstr "Azi"
msgid "Too many requests"
-msgstr ""
+msgstr "Prea multe cereri"
msgid "Top search results:"
-msgstr ""
+msgstr "Top rezultate căutare:"
msgid "Track thing"
-msgstr ""
+msgstr "Urmărește acest lucru"
msgid "Track this person"
-msgstr ""
+msgstr "Urmăreşte această persoană"
msgid "Track this search"
-msgstr ""
+msgstr "Urmăreşte această căutare"
msgid "TrackThing|Track medium"
-msgstr ""
+msgstr "TrackThing|Track medium"
msgid "TrackThing|Track query"
-msgstr ""
+msgstr "TrackThing|Track query"
msgid "TrackThing|Track type"
-msgstr ""
+msgstr "TrackThing|Track type"
msgid "Turn off email alerts"
-msgstr ""
+msgstr "Opriţi alertele prin email"
msgid "Tweet this request"
-msgstr ""
+msgstr "Plasează pe Tweet acestă cerere"
msgid "Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January."
-msgstr ""
+msgstr "Tastaţi <strong><code>01/01/2008..14/01/2008</code></strong> pentru a arăta numai lucruri care s-au întâmplat în primele două saăpămâni din ianuarie."
msgid "URL name can't be blank"
-msgstr ""
+msgstr "Numele URL nu poate fi gol"
msgid "Unable to change email address on {{site_name}}"
-msgstr ""
+msgstr "Nu se poate modifica adresa de email pe {{site_name}}"
msgid "Unable to send a reply to {{username}}"
-msgstr ""
+msgstr "Nu se poate trimite un răspuns către {{username}}"
msgid "Unable to send follow up message to {{username}}"
-msgstr ""
+msgstr "Nu se poate trimite un mesaj de urmărire către {{username}}"
msgid "Unexpected search result type"
-msgstr ""
+msgstr "Tip neaşteptat de rezultat la căutare"
msgid "Unexpected search result type "
-msgstr ""
+msgstr "Tip neaşteptat de rezultat la căutare"
msgid "Unfortunately we don't know the FOI\\nemail address for that authority, so we can't validate this.\\nPlease <a href=\"{{url}}\">contact us</a> to sort it out."
-msgstr ""
+msgstr "Din păcate, nu ştim adresa de email pentru solicitări de acces la informaţii pentru respectiva autoritate, deci nu putem valida această solicitare. \\nTe rugăm <a href=\"{{url}}\">să ne contactezi</a> pentru a vedea cum putem rezolva situaţia."
msgid "Unfortunately, we do not have a working {{info_request_law_used_full}}\\naddress for"
-msgstr ""
+msgstr "Din păcate, nu avem o adresă funcţională {{info_request_law_used_full}}\\npentru"
msgid "Unknown"
-msgstr ""
+msgstr "Necunoscut"
msgid "Unsubscribe"
-msgstr ""
+msgstr "Dezabonare"
msgid "Unusual response."
-msgstr ""
+msgstr "Răspuns neobişnuit."
msgid "Update the status of this request"
-msgstr ""
+msgstr "Actualizaţi starea acestei cereri"
msgid "Update the status of your request to "
-msgstr ""
+msgstr "Actualizaţi starea cereri dvs."
msgid "Upload FOI response"
-msgstr ""
+msgstr "Încarcă răspuns FOI"
msgid "Use OR (in capital letters) where you don't mind which word, e.g. <strong><code>commons OR lords</code></strong>"
-msgstr ""
+msgstr "Utilizaţi SAU (cu litere mari) când contează oricare dintre cuvinte, de exemplu d, e.g. <strong><code> ministri SAU parlamentari </code></strong>"
msgid "Use quotes when you want to find an exact phrase, e.g. <strong><code>\"Liverpool City Council\"</code></strong>"
-msgstr ""
+msgstr "Utilizaţi ghilimele când doriţi să găsiţi o frază exactă, de exemplu <strong><code>\"Primăria oraşului Oradea\"</code></strong>"
msgid "User"
-msgstr ""
+msgstr "Utilizator"
msgid "User info request sent alert"
+msgstr "User info request sent alert"
+
+msgid "User – {{name}}"
msgstr ""
msgid "UserInfoRequestSentAlert|Alert type"
-msgstr ""
+msgstr "UserInfoRequestSentAlert|Tip Alerta"
msgid "User|About me"
-msgstr ""
+msgstr "Utilizator|Despre mine"
msgid "User|Address"
-msgstr ""
+msgstr "Utilizator|Adresă"
msgid "User|Admin level"
-msgstr ""
+msgstr "Utilizator|Nivel administrator"
msgid "User|Ban text"
-msgstr ""
+msgstr "Utilizator|Text interzis"
msgid "User|Dob"
-msgstr ""
+msgstr "Utilizator|Dob"
msgid "User|Email"
-msgstr ""
+msgstr "Utilizator|Email"
msgid "User|Email bounce message"
-msgstr ""
+msgstr "Utilizator|Mesaj de respingere email "
msgid "User|Email bounced at"
-msgstr ""
+msgstr "Utilizator|Email respins la"
msgid "User|Email confirmed"
-msgstr ""
+msgstr "Utilizator|Email confirmat"
msgid "User|Hashed password"
-msgstr ""
+msgstr "Utilizator|Parola criptată"
msgid "User|Last daily track email"
-msgstr ""
+msgstr "Utilizator|Ultima urmărire zilnica email"
msgid "User|Locale"
-msgstr ""
+msgstr "Utilizator|Local"
msgid "User|Name"
-msgstr ""
+msgstr "Utilizator|Nume"
msgid "User|No limit"
-msgstr ""
+msgstr "Utilizator|Fără limită"
msgid "User|Receive email alerts"
-msgstr ""
+msgstr "Utilizator|Primește alerte prin email"
msgid "User|Salt"
-msgstr ""
+msgstr "Utilizator|Sare"
msgid "User|Url name"
+msgstr "Utilizator|Nume URL"
+
+msgid "Version {{version}}"
msgstr ""
msgid "View FOI email address"
-msgstr ""
+msgstr "Vezi adresa de email FOI"
msgid "View FOI email address for '{{public_body_name}}'"
-msgstr ""
+msgstr "Vezi adresa de email FOI pentru '{{public_body_name}}'"
msgid "View FOI email address for {{public_body_name}}"
-msgstr ""
+msgstr "Vezi adresa de email FOI pentru '{{public_body_name}}'"
msgid "View Freedom of Information requests made by {{user_name}}:"
-msgstr ""
+msgstr "Vezi cererile FOI făcute de {{user_name}}:"
msgid "View and search requests"
-msgstr ""
+msgstr "Vezi şi caută cereri"
msgid "View authorities"
-msgstr ""
+msgstr "Vezi autorităţi"
msgid "View email"
-msgstr ""
+msgstr "Vezi email"
msgid "View requests"
-msgstr ""
+msgstr "Vezi cereri"
msgid "Waiting clarification."
-msgstr ""
+msgstr "Aşteaptă clarificare"
msgid "Waiting for an <strong>internal review</strong> by {{public_body_link}} of their handling of this request."
-msgstr ""
+msgstr "Aşteaptă o <strong>revizuire internă</strong> de către {{public_body_link}} a prelucrării acestei cereri."
msgid "Waiting for the public authority to complete an internal review of their handling of the request"
-msgstr ""
+msgstr "Aşteaptă autoritatea publică să finalizeze o reviuire internă a prelucrării acestei cereri."
msgid "Waiting for the public authority to reply"
-msgstr ""
+msgstr "Aşteaptă răspunsul autorităţii publice"
msgid "Was the response you got to your FOI request any good?"
-msgstr ""
+msgstr "Răspunsul pe care l-aţi primit la cererea dvs. FOI vi-a fost de folos?"
msgid "We do not have a working request email address for this authority."
-msgstr ""
+msgstr "Nu avem o adresă de email valabilă pentru cererile adresate acestei autoritate."
msgid "We do not have a working {{law_used_full}} address for {{public_body_name}}."
-msgstr ""
+msgstr "Nu avem o adresă {{law_used_full}} valabilă pentru {{public_body_name}}."
msgid "We don't know whether the most recent response to this request contains\\n information or not\\n &ndash;\\n\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know."
-msgstr ""
+msgstr "Nu ştim dacă cel mai recent răspuns la această solicitare conţine\\ninformaţie sau nu\\n &ndash;\\n»dacă ştii{{user_link}} te rugăm<a href=\"{{url}}\">autentifică-te</a>şi permite accesul tuturor."
msgid "We will not reveal your email address to anybody unless you or\\n the law tell us to (<a href=\"{{url}}\">details</a>). "
-msgstr ""
+msgstr "Nu îţi vom dezvălui adresa de email nimănui în afara cazurilor în care tu\\nsau legislaţia specificaţi altfel(<a href=\"{{url}}\">details</a>)."
msgid "We will not reveal your email address to anybody unless you\\nor the law tell us to."
-msgstr ""
+msgstr "Nu îţi vom dezvălui adresa de email nimănui în afara cazurilor în care tu\\nsau legislaţia specificaţi altfel."
msgid "We will not reveal your email addresses to anybody unless you\\nor the law tell us to."
-msgstr ""
+msgstr "Nu îţi vom dezvălui adresa de email nimănui în afara cazurilor în care tu\\nsau legislaţia specificaţi altfel."
msgid "We're waiting for"
-msgstr ""
+msgstr "Aşteptăm"
msgid "We're waiting for someone to read"
-msgstr ""
+msgstr "Aşteptăm ca cineva să citească"
msgid "We've sent an email to your new email address. You'll need to click the link in\\nit before your email address will be changed."
-msgstr ""
+msgstr "Ţi-am trimis un email la noua ta adresă de email. Va trebui să accesezi link-ul din el\\nînainte pentru ca adresa de email să îţi fie schimbată."
msgid "We've sent you an email, and you'll need to click the link in it before you can\\ncontinue."
-msgstr ""
+msgstr "Ţi-am trimis un email şi va trebui să accesezi link-ul din el înainte de a putea\\ncontinua."
msgid "We've sent you an email, click the link in it, then you can change your password."
-msgstr ""
+msgstr "Vi-am trimis un email, daţi clik pe link-ul din el, apoi puteţi să schimbaţi parola."
msgid "What are you doing?"
-msgstr ""
+msgstr "Ce faceţi ?"
msgid "What best describes the status of this request now?"
-msgstr ""
+msgstr "Ce ar descrie cel mai bine stare aceste cereri acum ?"
msgid "What information has been released?"
-msgstr ""
+msgstr "Ce informaţii au fost oferite ?"
msgid "What information has been requested?"
-msgstr ""
+msgstr "Ce informaţii au fost solicitate?"
msgid "When you get there, please update the status to say if the response \\ncontains any useful information."
-msgstr ""
+msgstr "Când ajungi acolo, te rugăm să îţi actualizezi statusul pentru a şti dacă răspunsul\\nconţine vreo informaţie utilă."
msgid "When you receive the paper response, please help\\n others find out what it says:"
-msgstr ""
+msgstr "Când primeşti răspunsul scris, ajută-i\\n pe ceilalţi să afle ce ţi s-a răspuns:"
msgid "When you're done, <strong>come back here</strong>, <a href=\"{{url}}\">reload this page</a> and file your new request."
-msgstr ""
+msgstr "Când aţi terminat, <strong>întoarceţi-vă aici</strong>, <a href=\"{{url}}\">reîncărcaţi acestă pagină</a> şi depuneţi noua dvs. cerere."
msgid "Which of these is happening?"
-msgstr ""
+msgstr "Care dintre acestea se întâmplă?"
msgid "Who can I request information from?"
-msgstr ""
+msgstr "De la cine aş puea cere informaţiile ?"
msgid "Withdrawn by the requester."
-msgstr ""
+msgstr "Retras de către solicitant."
msgid "Wk"
-msgstr ""
+msgstr "Wk"
msgid "Would you like to see a website like this in your country?"
-msgstr ""
+msgstr "Aţi dori să vedeţi un web-site ca acesta în ţara dvs. ?"
msgid "Write a reply"
-msgstr ""
+msgstr "Scrie un răspuns"
msgid "Write a reply to "
-msgstr ""
+msgstr "Scrie un răspuns către"
msgid "Write your FOI follow up message to "
-msgstr ""
+msgstr "Scrieţi mesajul dvs FOI de urmărire către"
msgid "Write your request in <strong>simple, precise language</strong>."
-msgstr ""
+msgstr "Fromulaţi cererea dvs. într-nm <strong>limbaj precis, simplu</strong>."
msgid "You"
-msgstr ""
+msgstr "Dvs."
msgid "You are already following new requests"
-msgstr ""
+msgstr "Deja urmărești solicitările noi"
msgid "You are already following requests to {{public_body_name}}"
-msgstr ""
+msgstr "Deja urmărești solicitările către {{public_body_name}}"
msgid "You are already following things matching this search"
-msgstr ""
+msgstr "Deja urmărești subiectele care corespund acestei căutări"
msgid "You are already following this person"
-msgstr ""
+msgstr "Deja urmărești această persoană"
msgid "You are already following this request"
-msgstr ""
+msgstr "Deja urmărești această solicitare"
msgid "You are already following updates about {{track_description}}"
-msgstr ""
+msgstr "Deja urmărești următoarele actualizări despre {{track_description}}"
msgid "You are currently receiving notification of new activity on your wall by email."
-msgstr ""
+msgstr "Primiţi în mod curent notificări pentru activităţi noi pe peretele dvs. sau prin email."
msgid "You are following all new successful responses"
-msgstr ""
+msgstr "Urmărești toate solicitările noi la care s-a răspuns"
msgid "You are no longer following {{track_description}}."
-msgstr ""
+msgstr "Nu mai urmăreşti {{track_description}}."
msgid "You are now <a href=\"{{wall_url_user}}\">following</a> updates about {{track_description}}"
-msgstr ""
+msgstr "Acum <a href=\"{{wall_url_user}}\">urmărești</a> actualizările despre {{track_description}}"
msgid "You can <strong>complain</strong> by"
-msgstr ""
+msgstr "Vă puteţi <strong> plânge </strong> către"
msgid "You can change the requests and users you are following on <a href=\"{{profile_url}}\">your profile page</a>."
-msgstr ""
+msgstr "Poți schimba solicitările și utilizatorii pe care îi urmărești <a href=\"{{profile_url}}\">pe pagina ta de profil</a>."
msgid "You can get this page in computer-readable format as part of the main JSON\\npage for the request. See the <a href=\"{{api_path}}\">API documentation</a>."
-msgstr ""
+msgstr "Poţi obţine această pagină într-un format computer-readable ca parte a paginii principale JSON\\n pentru solicitare. Vezi <a href=\"{{api_path}}\">documentaţia API</a>. "
msgid "You can only request information about the environment from this authority."
-msgstr ""
+msgstr "Puteţi solicita doar informaţii despre mediu acestei autorităţi"
msgid "You have a new response to the {{law_used_full}} request "
-msgstr ""
+msgstr "Aveţi un nou răspuns la cererea {{law_used_full}} "
msgid "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to tell us about the problem"
-msgstr ""
+msgstr "Aveţi o problema tehnică. Vă rugăm <a href=\"{{contact_url}}\">să ne contactaţi</a> pentru a ne spune despre problemă"
msgid "You have hit the rate limit on new requests. Users are ordinarily limited to {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. You will be able to make another request in {{can_make_another_request}}."
-msgstr ""
+msgstr "Aţi atins limita maximă pentru cereri. Utilizatorii sunt de obicei limitaţi la {{max_requests_per_user_per_day}} cereri într-un interval de 24 de ore. Veţi putea face o nouă cerere în {{can_make_another_request}}."
msgid "You have made no Freedom of Information requests using this site."
-msgstr ""
+msgstr "Nu aţi făcut nici o cerere FOI utilizând acest site."
msgid "You have now changed the text about you on your profile."
-msgstr ""
+msgstr "Nu aţi schimbat textul referitor la profilul dvs."
msgid "You have now changed your email address used on {{site_name}}"
-msgstr ""
+msgstr "Acum aţi schimbat adresa dvs. de email utilizată pe {{site_name}}"
msgid "You just tried to sign up to {{site_name}}, when you\\nalready have an account. Your name and password have been\\nleft as they previously were.\\n\\nPlease click on the link below."
-msgstr ""
+msgstr "Tocmai ai încercat să te înregistrezi la {{site_name}}, când ai \\ndeja un cont. Numele şi parola ta au fost \\nlăsate aşa cum erau înainte.\\n\\nTe rugăm să accesezi link-ul de mai jos."
msgid "You know what caused the error, and can <strong>suggest a solution</strong>, such as a working email address."
-msgstr ""
+msgstr "Ştiţi ce a cauzat eroarea şi puteţi <strong>sugera o soluţie</strong>, cum ar fi o adresă de email valabilă."
msgid "You may <strong>include attachments</strong>. If you would like to attach a\\n file too large for email, use the form below."
-msgstr ""
+msgstr "Poți <strong>include atașamente</strong>. Dacă vrei să atașezi un\\n fișier prea mare pentru email, utilizează formularul de mai jos."
msgid "You may be able to find\\n one on their website, or by phoning them up and asking. If you manage\\n to find one, then please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "S-ar putea să găsești\\nunul pe website-ul lor sau telefonându-le și întrebând. Dacă reușești\\nsă găsești unul, atunci te rugăm<a href=\"{{url}}\">să ni-l trimiți și nouă</a>."
msgid "You may be able to find\\none on their website, or by phoning them up and asking. If you manage\\nto find one, then please <a href=\"{{help_url}}\">send it to us</a>."
-msgstr ""
+msgstr "S-ar putea să găsești\\nunul pe website-ul lor sau telefonându-le și întrebând. Dacă reușești\\nsă găsești unul, atunci te rugăm<a href=\"{{help_url}}\">să ni-l trimiți și nouă</a>."
msgid "You need to be logged in to change the text about you on your profile."
-msgstr ""
+msgstr "Trebuie să fiţi logat pentru a schimba textul referitor la profilul dvs."
msgid "You need to be logged in to change your profile photo."
-msgstr ""
+msgstr "Trebuie să fiţi logat pentru a schimba poza dvs. de profil."
msgid "You need to be logged in to clear your profile photo."
-msgstr ""
+msgstr "Trebuie să fiţi logat pentru a şterge poza dvs. de profil."
msgid "You need to be logged in to edit your profile."
-msgstr ""
+msgstr "Trebuie să fiţi conectat pentru a vă edita profilul"
msgid "You previously submitted that exact follow up message for this request."
-msgstr ""
+msgstr "Aţi trimis anterior exact acelaşi mesaj de urmărire pentru această cerere."
msgid "You should have received a copy of the request by email, and you can respond\\n by <strong>simply replying</strong> to that email. For your convenience, here is the address:"
-msgstr ""
+msgstr "Ar fi trebuit să primești o copie a solicitării tale prin email și poți răspunde\\n <strong>răspunzând</strong> la acel email. Pentru conveniență, adresa este:"
msgid "You want to <strong>give your postal address</strong> to the authority in private."
-msgstr ""
+msgstr "Vreţi să <strong>vă daţi adresa dvs. poştală</strong> către autoritate în privat."
msgid "You will be unable to make new requests, send follow ups, add annotations or\\nsend messages to other users. You may continue to view other requests, and set\\nup\\nemail alerts."
-msgstr ""
+msgstr "Nu vei mai putea face noi solicitări, trimite follow up-uri, adăuga adnotări sau\\ntrimite mesaje altor utilizatori. Poți continua să vizualizezi alte solicitări și să setezi\\n alerte prin email."
msgid "You will no longer be emailed updates for those alerts"
-msgstr ""
+msgstr "Nu vi se vor mai trimite actualizări pentru acele alerte."
msgid "You will now be emailed updates about {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>"
-msgstr ""
+msgstr "Acum veţi fi primi prin email actualizări referitoare la {{track_description}}. <a href=\"{{change_email_alerts_url}}\">Preferaţi să nu primiţi emailuri?</a>"
msgid "You will only get an answer to your request if you follow up\\nwith the clarification."
-msgstr ""
+msgstr "Vei primi un răspuns la solicitarea ta numai dacă revii\\ncu clarificări."
msgid "You're in. <a href=\"#\" id=\"send-request\">Continue sending your request</a>"
-msgstr ""
+msgstr "Ești autentificat.<a href=\"#\" id=\"send-request\">Continuă pentru transmiterea solicitării tale</a>"
msgid "You're long overdue a response to your FOI request - "
-msgstr ""
+msgstr "Sunteţi mult peste termen cu răspunsul la cererea dvs. FOI"
msgid "You're not following anything."
-msgstr ""
+msgstr "Nu urmărești nimic."
msgid "You've now cleared your profile photo"
-msgstr ""
+msgstr "Acum aţi şters poza dvs. de profil"
msgid "Your {{count}} Freedom of Information request"
msgid_plural "Your {{count}} Freedom of Information requests"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "A {{count}} -a cerere FOI a dvs."
+msgstr[1] "A {{count}} -a cerere FOI a dvs."
+msgstr[2] "A {{count}} -a cerere FOI a dvs."
msgid "Your {{count}} annotation"
msgid_plural "Your {{count}} annotations"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "A {{count}} -a adnotare a dvs."
+msgstr[1] "A {{count}} -a adnotare a dvs."
+msgstr[2] "A {{count}} -a adnotare a dvs."
msgid "Your <strong>name will appear publicly</strong> \\n (<a href=\"{{url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please \\n <a href=\"{{url}}\">read this first</a>."
-msgstr ""
+msgstr "Numele tău <strong>va apărea public</strong> \\n (<a href=\"{{url}}\">de ce?</a>)\\n pe acest website și în motoarele de căutare. Dacă te\\n gândești să utilizezi un pseudonim, te rugăm \\n <a href=\"{{url}}\">să citești aceasta înainte</a>."
msgid "Your annotations"
-msgstr ""
+msgstr "Adnotările dvs."
msgid "Your details, including your email address, have not been given to anyone."
-msgstr ""
+msgstr "Detaliile dvs. inclusv adresa dvs. de email, nu au fost ofertite nimănui."
msgid "Your e-mail:"
-msgstr ""
+msgstr "Emailul dvs:"
msgid "Your follow up has not been sent because this request has been stopped to prevent spam. Please <a href=\"{{url}}\">contact us</a> if you really want to send a follow up message."
-msgstr ""
+msgstr "Urmărirea dvs. nu a fost rimisă deoarece acest mesaj a fost stopat de protecţia anti-spam. Vă rugăm <a href=\"{{url}}\">să ne contactaţi</a> dacă doriţi cu adevărat să trimiteţi un mesaj de urmărire."
msgid "Your follow up message has been sent on its way."
-msgstr ""
+msgstr "Mesjaul dvs. de urmărire a fost trimis unde trebuie."
msgid "Your internal review request has been sent on its way."
-msgstr ""
+msgstr "Cererea dvs. de revizuire internă a fost trimisă unde trebuie."
msgid "Your message has been sent. Thank you for getting in touch! We'll get back to you soon."
-msgstr ""
+msgstr "Mesajul dvs. fost trimis. Vă mulţumim pentru informare. Vă vom contacta în curând."
msgid "Your message to {{recipient_user_name}} has been sent"
-msgstr ""
+msgstr "Mesajul dvs. către {{recipient_user_name}} a fost trimis"
msgid "Your message to {{recipient_user_name}} has been sent!"
-msgstr ""
+msgstr "Mesajul dvs către {{recipient_user_name}}a fost trimis!"
msgid "Your message will appear in <strong>search engines</strong>"
-msgstr ""
+msgstr "Mesajul dvs. va apărea în <strong>motoarele de căutare</strong>"
msgid "Your name and annotation will appear in <strong>search engines</strong>."
-msgstr ""
+msgstr "Numele şi adnotarea dvs. vor apărea în <strong>motoarele de căutare</strong>"
msgid "Your name, request and any responses will appear in <strong>search engines</strong>\\n (<a href=\"{{url}}\">details</a>)."
-msgstr ""
+msgstr "Numele tău, solicitările tale şi orice răspunsuri vei primi vor apărea în <strong>motoare de căutare </strong>\\n (<a href=\"{{url}}\">details</a>)."
msgid "Your name:"
-msgstr ""
+msgstr "Numele dvs:"
msgid "Your original message is attached."
-msgstr ""
+msgstr "Mesajul dvs. original este ataşat."
msgid "Your password has been changed."
-msgstr ""
+msgstr "Parola dvs. a fost modificată."
msgid "Your password:"
-msgstr ""
+msgstr "Parola dvs.:"
msgid "Your photo will be shown in public <strong>on the Internet</strong>,\\n wherever you do something on {{site_name}}."
-msgstr ""
+msgstr "Fotografia ta va fi făcută publică <strong>pe Internet</strong>,\\n oriunde faci ceva pe {{site_name}}."
msgid "Your request was called {{info_request}}. Letting everyone know whether you got the information will help us keep tabs on"
-msgstr ""
+msgstr "Cererea dvs. a fost numită {{info_request}}. Permiţând tuturor să afle dacă aţi obţinut informaţiile, ne ajutaţi să menţinem o evidenţă"
msgid "Your request:"
-msgstr ""
+msgstr "Cererea dvs:"
msgid "Your response to an FOI request was not delivered"
-msgstr ""
+msgstr "Răspunsul dvs. la o cerere FOI nu a fost livrat"
msgid "Your response will <strong>appear on the Internet</strong>, <a href=\"{{url}}\">read why</a> and answers to other questions."
-msgstr ""
+msgstr "Răspunsul dvs. <strong>va apărea pe Internet</strong>, <a href=\"{{url}}\">read why</a> şi răspunsurile la alte întrebări."
msgid "Your thoughts on what the {{site_name}} <strong>administrators</strong> should do about the request."
-msgstr ""
+msgstr "Consideraţiile dvs. cu privire la ceea ce <strong>administratorii</strong> {{site_name}} ar trebui să facă în legătură cu cererea."
msgid "Your {{site_name}} email alert"
-msgstr ""
+msgstr "Alerta dvs. prin email {{site_name}}"
msgid "Yours faithfully,"
-msgstr ""
+msgstr "Cu respect,"
msgid "Yours sincerely,"
-msgstr ""
+msgstr "Cu stimă,"
msgid "[FOI #{{request}} email]"
-msgstr ""
+msgstr "[FOI #{{request}} email]"
msgid "[{{public_body}} request email]"
-msgstr ""
+msgstr "[{{public_body}} email cerere]"
msgid "[{{site_name}} contact email]"
-msgstr ""
+msgstr "[{{site_name}} email contact]"
msgid "\\n\\n[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]"
msgstr "\\n\\n[ {{site_name}} notă: Codul de mai sus este encodat greșit și i-au fost scoase caracterele greșite. ]"
msgid "a one line summary of the information you are requesting, \\n\t\t\te.g."
-msgstr ""
+msgstr "un sumar de un rând al informației pe care o soliciți, \\n»»»i.e"
msgid "admin"
+msgstr "administrator"
+
+msgid "alaveteli_foi:The software that runs {{site_name}}"
msgstr ""
msgid "all requests"
-msgstr ""
+msgstr "toate cererile"
msgid "also called {{public_body_short_name}}"
-msgstr ""
+msgstr "deasemenea numit şi {{public_body_short_name}}"
msgid "an anonymous user"
-msgstr ""
+msgstr "un utilizator anonim"
msgid "and"
-msgstr ""
+msgstr "şi"
msgid "and update the status accordingly. Perhaps <strong>you</strong> might like to help out by doing that?"
-msgstr ""
+msgstr "şi actualizaţi corespunzător starea. Poate <strong>aţi dori</strong> un ajutor în acest scop?"
msgid "and update the status."
-msgstr ""
+msgstr "şi actualizaţi starea"
msgid "and we'll suggest <strong>what to do next</strong>"
-msgstr ""
+msgstr "şi noi vă vom sugera <strong>ce să faceţi în continuare</strong>"
msgid "any <a href=\"/list\">new requests</a>"
-msgstr ""
+msgstr "orice <a href=\"/list\">noi cereri </a>"
msgid "any <a href=\"/list/successful\">successful requests</a>"
-msgstr ""
+msgstr "orice<a href=\"/list/successful\"> cereri reuşite</a>"
msgid "anything"
-msgstr ""
+msgstr "orice"
msgid "are long overdue."
+msgstr "sunt mult peste termen"
+
+msgid "at"
msgstr ""
msgid "authorities"
-msgstr ""
+msgstr "autorităţi"
msgid "awaiting a response"
-msgstr ""
+msgstr "aşteptînd un răspuns"
msgid "beginning with ‘{{first_letter}}’"
-msgstr ""
+msgstr "începând cu ‘{{first_letter}}’"
msgid "between two dates"
+msgstr "între două date"
+
+msgid "but followupable"
msgstr ""
msgid "by"
-msgstr ""
+msgstr "către"
msgid "by <strong>{{date}}</strong>"
-msgstr ""
+msgstr "până la <strong>{{date}}</strong>"
msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}."
-msgstr ""
+msgstr "de către{{public_body_name}} către {{info_request_user}} la {{date}}."
msgid "by {{user_link_absolute}}"
-msgstr ""
+msgstr "de către {{user_link_absolute}}"
msgid "comments"
-msgstr ""
+msgstr "comentarii"
msgid "containing your postal address, and asking them to reply to this request.\\n Or you could phone them."
-msgstr ""
+msgstr "conținând adresa ta poștală și cerându-le să îți răspundă la această solicitare.\\n Sau le-ai putea telefona."
msgid "details"
-msgstr ""
+msgstr "detalii"
msgid "display_status only works for incoming and outgoing messages right now"
-msgstr ""
+msgstr "afişarea stării funcţionează numai pentru mesajele primite sau trimise chiar acum"
msgid "during term time"
-msgstr ""
+msgstr "pe perioada termenului"
msgid "edit text about you"
-msgstr ""
+msgstr "editati textul despre dvs-"
msgid "even during holidays"
-msgstr ""
+msgstr "chiar şi pe perioada vacanţelor"
msgid "everything"
-msgstr ""
+msgstr "orice"
msgid "external"
-msgstr ""
+msgstr "extern"
msgid "has reported an"
-msgstr ""
+msgstr "a fost raportat un"
msgid "have delayed."
-msgstr ""
+msgstr "a fost amânata"
msgid "hide quoted sections"
-msgstr ""
+msgstr "ascunde secţiunile citate"
msgid "in term time"
-msgstr ""
+msgstr "în termen"
msgid "in the category ‘{{category_name}}’"
-msgstr ""
+msgstr "în categoria ‘{{category_name}}’"
msgid "internal error"
-msgstr ""
+msgstr "eroare internă"
msgid "internal reviews"
-msgstr ""
+msgstr "revizuire internă"
msgid "is <strong>waiting for your clarification</strong>."
-msgstr ""
+msgstr " <strong>aşteaptă clarificarea dvs.</strong>."
msgid "just to see how it works"
-msgstr ""
+msgstr "doar să vedeţi cum funcţionează"
msgid "left an annotation"
-msgstr ""
+msgstr "lăsaţi o adnotare"
msgid "made."
-msgstr ""
+msgstr "efectuat."
msgid "matching the tag ‘{{tag_name}}’"
-msgstr ""
+msgstr "corespunzător etichetei ‘{{tag_name}}’"
msgid "messages from authorities"
-msgstr ""
+msgstr "mesaje de la autorităţi"
msgid "messages from users"
+msgstr "mesaje de la utilizatori"
+
+msgid "move..."
msgstr ""
msgid "no later than"
-msgstr ""
+msgstr "nu mai târziu de"
msgid "no longer exists. If you are trying to make\\n From the request page, try replying to a particular message, rather than sending\\n a general followup. If you need to make a general followup, and know\\n an email which will go to the right place, please <a href=\"{{url}}\">send it to us</a>."
-msgstr ""
+msgstr "nu mai există. Dacă încerci să faci\\n De la pagina solicitării, încearcă să răspunzi unui mesaj particular, mai curând decât să trimiți\\n un follow up general. Dacă vrei să trimiți un follow up general și știi\\n un email care va duce către locul potrivit, te rugăm<a href=\"{{url}}\">trimite-ni-l</a>."
msgid "normally"
+msgstr "în mod normal"
+
+msgid "not requestable due to: {{reason}}"
msgstr ""
msgid "please sign in as "
-msgstr ""
+msgstr "vă rugăm să vă înscrieţi ca"
msgid "requesting an internal review"
-msgstr ""
+msgstr "cerând o revizuire internă"
msgid "requests"
-msgstr ""
+msgstr "cereri"
msgid "requests which are {{list_of_statuses}}"
-msgstr ""
+msgstr "cereri care sunt {{list_of_statuses}}"
msgid "response as needing administrator attention. Take a look, and reply to this\\nemail to let them know what you are going to do about it."
-msgstr ""
+msgstr "răspuns ca având nevoie de atenția administratorului. Uită-te pe el și răspunde la acest\\nemail pentru a-i anunța cu privire la ce vei face în legătură cu aceasta."
msgid "send a follow up message"
-msgstr ""
+msgstr "timiteţi un mesaj de urmărire"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
+msgstr "trimis către {{public_body_name}} de către {{info_request_user}} la {{date}}."
+
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
msgstr ""
msgid "show quoted sections"
-msgstr ""
+msgstr "arată secţiunile citate"
msgid "sign in"
-msgstr ""
+msgstr "conectare"
msgid "simple_date_format"
-msgstr ""
+msgstr "format_data_simplu"
msgid "successful"
-msgstr ""
+msgstr "reuşit"
msgid "successful requests"
-msgstr ""
+msgstr "cereri reuşite"
msgid "that you made to"
-msgstr ""
+msgstr "pe care aţi făcut-o către"
msgid "the main FOI contact address for {{public_body}}"
-msgstr ""
+msgstr "principala adresă de contact FOI pentru {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
-msgstr ""
+msgstr "Principalul contact FOI la {{public_body}}"
msgid "the requester"
-msgstr ""
+msgstr "solicitantul"
msgid "the {{site_name}} team"
-msgstr ""
+msgstr "echipa {{site_name}}"
msgid "to read"
-msgstr ""
+msgstr "a citi"
msgid "to send a follow up message."
-msgstr ""
+msgstr "a transmite un mesaj de urmărire"
msgid "to {{public_body}}"
-msgstr ""
+msgstr "către {{public_body}}"
msgid "unexpected prominence on request event"
-msgstr ""
+msgstr "proeminenţă neaşteptată la un eveniment cerere"
msgid "unknown reason "
-msgstr ""
+msgstr "motiv necunoscut"
msgid "unknown status "
-msgstr ""
+msgstr "stare necunocută"
msgid "unresolved requests"
-msgstr ""
+msgstr "cereri nesoluţionate"
msgid "unsubscribe"
-msgstr ""
+msgstr "dezabonare"
msgid "unsubscribe all"
-msgstr ""
+msgstr "dezabonare totală"
msgid "unsuccessful"
-msgstr ""
+msgstr "nereuşit"
msgid "unsuccessful requests"
-msgstr ""
+msgstr "cereri nereuşite"
msgid "useful information."
-msgstr ""
+msgstr "informaţii utile"
msgid "users"
-msgstr ""
+msgstr "utilizatori"
msgid "{{count}} FOI requests found"
-msgstr ""
+msgstr "{{count}} cereri FOI găsite"
msgid "{{existing_request_user}} already\\n created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\\n or edit the details below to make a new but similar request."
-msgstr ""
+msgstr "{{existing_request_user}}a creat\\n deja aceeași solicitare pe {{date}}. Poți fie vizualiza <a href=\"{{existing_request}}\"> solicitarea existentă </a>,\\n fie edita detaliile de mai jos pentru a face o solicitare nouă, dar similară."
msgid "{{info_request_user_name}} only:"
-msgstr ""
+msgstr "numai {{info_request_user_name}} :"
msgid "{{law_used_full}} request - {{title}}"
-msgstr ""
+msgstr "cerere {{law_used_full}} - {{title}}"
msgid "{{law_used_full}} request GQ - {{title}}"
-msgstr ""
+msgstr "cerere GQ {{law_used_full}} - {{title}}"
msgid "{{law_used}} requests at {{public_body}}"
-msgstr ""
+msgstr "{{law_used}} cereri către {{public_body}}"
msgid "{{length_of_time}} ago"
-msgstr ""
+msgstr "{{length_of_time}} înainte"
msgid "{{list_of_things}} matching text '{{search_query}}'"
-msgstr ""
+msgstr "{{list_of_things}} corespunzătoare textului '{{search_query}}'"
msgid "{{number_of_comments}} comments"
-msgstr ""
+msgstr "{{number_of_comments}} comentarii"
msgid "{{public_body_link}} answered a request about"
-msgstr ""
+msgstr "{{public_body_link}} a răspuns la o solicitare despre"
msgid "{{public_body_link}} was sent a request about"
-msgstr ""
+msgstr "{{public_body_link}} a primit o solicitare despre"
msgid "{{public_body_name}} only:"
-msgstr ""
+msgstr "numai {{public_body_name}} :"
msgid "{{public_body}} has asked you to explain part of your {{law_used}} request."
-msgstr ""
+msgstr "{{public_body}} vi-a cerut să explicaţi o parte a cererii dvs. {{law_used}} "
msgid "{{public_body}} sent a response to {{user_name}}"
-msgstr ""
+msgstr "{{public_body}} trimite un răspuns către {{user_name}}"
msgid "{{reason}}, please sign in or make a new account."
-msgstr ""
+msgstr "{{reason}}, te rugăm să te autentifici sau să te înregistrezi."
msgid "{{search_results}} matching '{{query}}'"
-msgstr ""
+msgstr "{{search_results}} corespunzătoare '{{query}}'"
msgid "{{site_name}} blog and tweets"
-msgstr ""
+msgstr "{{site_name}} blog şi tweets"
msgid "{{site_name}} covers requests to {{number_of_authorities}} authorities, including:"
-msgstr ""
+msgstr "{{site_name}} acoperă cererile către {{number_of_authorities}} autorităţi, inclusiv: "
msgid "{{site_name}} sends new requests to <strong>{{request_email}}</strong> for this authority."
-msgstr ""
+msgstr "{{site_name}} trimite noi cereri către <strong>{{request_email}}</strong> pentru această autoritate."
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
+msgstr "utilizatorii {{site_name}} au făcut {{number_of_requests}} cereri, inclusiv:"
+
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
msgstr ""
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
-msgstr ""
+msgstr "{{title}} - o cerere FOI către {{public_body}}"
msgid "{{user_name}} (Account suspended)"
-msgstr ""
+msgstr "{{user_name}} (Cont suspendat)"
msgid "{{user_name}} - Freedom of Information requests"
-msgstr ""
+msgstr "{{user_name}} - cereri FOI"
msgid "{{user_name}} - user profile"
-msgstr ""
+msgstr "{{user_name}} - profil utilizator"
msgid "{{user_name}} added an annotation"
-msgstr ""
+msgstr "{{user_name}} a adăugat o adnotare"
msgid "{{user_name}} has annotated your {{law_used_short}} \\nrequest. Follow this link to see what they wrote."
-msgstr ""
+msgstr "{{user_name}} a adnotat solicitarea {{law_used_short}} \\n. Utilizează acest link pentru a vedea ce au scris."
msgid "{{user_name}} has used {{site_name}} to send you the message below."
-msgstr ""
+msgstr "{{user_name}} a utilizat {{site_name}} pentru a vă trimite mesajul de mai jos"
msgid "{{user_name}} sent a follow up message to {{public_body}}"
-msgstr ""
+msgstr "{{user_name}} a trimis un mesaj de urmărire către{{public_body}}"
msgid "{{user_name}} sent a request to {{public_body}}"
-msgstr ""
+msgstr "{{user_name}} a trimis o cerere către {{public_body}}"
msgid "{{username}} left an annotation:"
-msgstr ""
+msgstr "{{username}} a lăsat o adnotare:"
msgid "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
-msgstr ""
+msgstr "{{user}} ({{user_admin_link}}) a făcut această cerere {{law_used_full}} (<a href=\"{{request_admin_url}}\">administrator </a>) către {{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)"
msgid "{{user}} made this {{law_used_full}} request"
-msgstr ""
+msgstr "{{user}} a făcut această cerere {{law_used_full}} "
diff --git a/locale/sl/app.po b/locale/sl/app.po
index 42040ab9f..64aa8e63f 100644
--- a/locale/sl/app.po
+++ b/locale/sl/app.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
"PO-Revision-Date: 2011-03-09 17:48+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -125,6 +125,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -179,9 +182,6 @@ msgstr ""
msgid "<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a response within {{late_number_of_days}} days, or be told if it will take longer (<a href=\"{{review_url}}\">details</a>).</p>"
msgstr ""
-msgid "<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below.</p>"
-msgstr ""
-
msgid "<p>Thank you! Your request is long overdue, by more than {{very_late_number_of_days}} working days. Most requests should be answered within {{late_number_of_days}} working days. You might like to complain about this, see below.</p>"
msgstr ""
@@ -321,6 +321,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -408,6 +411,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -447,6 +453,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -615,6 +624,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -624,6 +636,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -636,6 +651,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -654,10 +672,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -699,10 +717,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -711,6 +732,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -883,6 +907,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -895,6 +922,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -943,9 +973,18 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
@@ -1000,6 +1039,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1114,12 +1156,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1138,9 +1186,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1237,6 +1303,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1282,6 +1351,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1291,6 +1363,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1336,6 +1411,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1525,9 +1603,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1618,12 +1693,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1696,6 +1783,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1753,6 +1843,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1853,6 +1946,9 @@ msgstr[3] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1886,6 +1982,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1979,6 +2078,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -2000,6 +2102,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2027,6 +2132,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2102,10 +2210,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2256,6 +2364,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2327,6 +2438,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2525,6 +2639,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2579,6 +2696,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2932,6 +3052,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2965,6 +3088,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2977,6 +3103,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3058,6 +3187,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3067,6 +3199,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3088,6 +3223,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3109,6 +3247,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3217,6 +3360,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/sq/app.po b/locale/sq/app.po
index 09853e92e..4d17bed23 100644
--- a/locale/sq/app.po
+++ b/locale/sq/app.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:12+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sq\n"
@@ -136,6 +136,9 @@ msgstr "'{{link_to_request}}', një kërkesë"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', një person"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -358,6 +361,9 @@ msgstr "Përgjigja do të dërgohet <strong>me postë</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Një përgjigje e çuditshme, kërkohet vëmendje e ekipit të {{site_name}}"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Përdorues i {{site_name}}"
@@ -451,6 +457,9 @@ msgstr "Përdorues anonim"
msgid "Anyone:"
msgstr "Çdokush:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Kërko dokumente apo informata <strong>specifike</strong>, kjo faqe nuk është e përshtatshme për pyetje të përgjithshme."
@@ -492,6 +501,9 @@ msgstr "Sipas ligjit, në të gjitha rrethanat, {{public_body_link}} është duh
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Sipas ligjit, {{public_body_link}} do të duhej të ishte përgjigjur <strong>menjëherë</strong> dhe"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Anulo njoftimet për {{site_name}}"
@@ -660,6 +672,9 @@ msgstr "Data:"
msgid "Dear {{public_body_name}},"
msgstr "Të nderuar {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Përgjigje e vonuar në kërkesën tënde - "
@@ -669,6 +684,9 @@ msgstr "Vonuar."
msgid "Delivery error"
msgstr "Gabim gjatë dorëzimit"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detajet e kërkesës"
@@ -681,6 +699,9 @@ msgstr "Shfajësim: Ky mesazh dhe çdo përgjigje që ti i jep atij do të publi
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Nuk dëshiron t'ja adresosh mesazhin tënd {{person_or_body}}? Ti gjithashtu mund ti shkruash:"
@@ -699,14 +720,14 @@ msgstr "Shkarko shtojcën (attachment) origjinale"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Redakto dhe shto <strong>më shumë detaje</strong> në mesazhin e mësipërm,\n"
" duke shpjeguar se pse nuk je i kënaqur me përgjigjen e tyre."
-msgid "Edit language version:"
-msgstr "Edito versionin e gjuhës:"
-
msgid "Edit text about you"
msgstr "Edito tekstin për vetën tënde"
@@ -746,15 +767,18 @@ msgstr "Historiku i ngjarjeve"
msgid "Event history details"
msgstr "Detajet e historikut të ngjarjeve"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-"Çdo gjë që ke shkruar në këtë faqe \n"
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+"Çdo gjë që ke shkruar në këtë faqe, përfshi edhe <strong>emrin tënd</strong>, \n"
" do të <strong>tregohet publikisht</strong> në\n"
" këtë faqe përgjithmonë (<a href=\"{{url}}\">pse?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-"Çdo gjë që ke shkruar në këtë faqe, përfshi edhe <strong>emrin tënd</strong>, \n"
+"Çdo gjë që ke shkruar në këtë faqe \n"
" do të <strong>tregohet publikisht</strong> në\n"
" këtë faqe përgjithmonë (<a href=\"{{url}}\">pse?</a>)."
@@ -764,6 +788,9 @@ msgstr "QDP"
msgid "FOI email address for {{public_body}}"
msgstr "Adresa e emailit për Informatë Zyrtare për {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Kërkesat për Informata Zyrtare"
@@ -950,6 +977,9 @@ msgstr ""
" moment për ta lexuar dhe klasifikuar atë që ta mbajme ueb faqen të rregullt dhe të organizuar?\n"
" Faleminderit."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr "Festë"
@@ -962,6 +992,9 @@ msgstr "Festa | Përshkrimi"
msgid "Home"
msgstr "Ballina"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Ueb sajti i autoritetit"
@@ -1012,6 +1045,15 @@ msgstr "Kam marrë <strong>disa prej informatave</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Kam marrë një <strong>mesazh gabimi</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Nëse adresa është e gabuar, ose ti e din një adresë më të mirë, të lutem <a href=\"{{url}}\">na kontakto</a> ."
@@ -1079,6 +1121,9 @@ msgstr "Nëse e ke përdorë {{site_name}} më parë"
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr "Nëse shfletuesi yt është vendosur për të pranuar \"cookies\" dhe ju jeni duke parë këtë mesazh, atëherë me sa duket ka gabim në serverin tonë."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr "Porosi ardhëse"
@@ -1193,12 +1238,18 @@ msgstr "Kjo mund të jetë sepse shfletuesi yt nuk është i vendosur të prano
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Bashkangjitur më"
msgid "Joined {{site_name}} in"
msgstr "Bashkangjitur {{site_name}} më"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Mbaje <strong>të fokusuar</strong>, gjasat janë më të mëdha që të marrësh përgjigjen e dëshiruar (<a href=\"{{url}}\">pse?</a>)."
@@ -1217,9 +1268,27 @@ msgstr "Na trego se çfarë ke qenë duke bërë kur ky mesazh u shfaq si dhe em
msgid "Link to this"
msgstr "Vegza e kësaj kërkese"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Listo të gjitha autoritetet (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Kyçu për të shkarkuar zip fajllin e {{info_request_title}}"
@@ -1320,6 +1389,9 @@ msgstr "Emri është i zënë"
msgid "New Freedom of Information requests"
msgstr "Kërkesat e reja për informata zyrtare "
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Email i ri:"
@@ -1365,6 +1437,9 @@ msgstr "Asnjë rezultat nuk u gjet."
msgid "No similar requests found."
msgstr "Nuk gjetëm kërkesa të ngjashme."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Ende askush nuk ka bërë ndonjë kërkesë te {{public_body_name}} duke përdorur këtë faqe."
@@ -1374,6 +1449,9 @@ msgstr "Asnjë nuk u gjet."
msgid "None made."
msgstr "Asnjë e bërë."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1419,6 +1497,9 @@ msgstr "U gjet një person"
msgid "One public authority found"
msgstr "U gjet një autoritet publik"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Vetëm kërkesat që janë bërë me {{site_name}} janë të shfaqura."
@@ -1617,9 +1698,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Të lutem shkruaj një mesazh dhe/ose zgjedh një fajll që përmban përgjigjen tënde."
-msgid "Please use the form below to tell us more."
-msgstr "Të lutem përdor formularin e mëposhtëm për të na treguar më shumë."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Të lutem përdor këtë adresë të emailit për të gjitha përgjigjet në këtë kërkesë:"
@@ -1710,12 +1788,24 @@ msgstr "Autoritetet publike - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr "Autoritetet publike {{start_count}} deri {{end_count}} prej {{total_count}}"
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr "Institucion publik"
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1788,6 +1878,9 @@ msgstr "PublicBody |Versioni"
msgid "Publication scheme"
msgstr "Skema e publikimit"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr "Fshij kërkesën"
@@ -1847,6 +1940,9 @@ msgstr "Kërko një rishqyrtim intern"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Kërko një rishikim intern nga {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Kërkesa është larguar (fshirë)"
@@ -1948,6 +2044,9 @@ msgstr[1] "Kërko brenda {{count}} kërkesave për informata zyrtare të bëra n
msgid "Search your contributions"
msgstr "Kërko në kontributet tua"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Zgjedh një për të parë më shumë informacion në lidhje me autoritetin."
@@ -1981,6 +2080,9 @@ msgstr "Dërgo kërkesën"
msgid "Set your profile photo"
msgstr "Vendos fotografinë e profilit tënd"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Emri i shkurtë është i zënë"
@@ -2076,6 +2178,9 @@ msgstr "Dërgo"
msgid "Submit status"
msgstr "Dërgo statusin"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Abonohu në blog"
@@ -2097,6 +2202,9 @@ msgstr "Tabela e statuseve"
msgid "Table of varieties"
msgstr "Tabela e varianteve"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr "Etiketat (të ndara me një hapësirë):"
@@ -2124,6 +2232,9 @@ msgstr "Faleminderit për aktualizimin e kësaj kërkese!"
msgid "Thank you for updating your profile photo"
msgstr "Faleminderit për aktualizimin e fotografisë e profilit tënd"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Faleminderit për ndihmë - ndihma yte do ta bëjë më të lehtë që të tjerët të gjejnë kërkesat e suksesshme, \n"
@@ -2203,13 +2314,13 @@ msgstr "Kërkesa që ti je përpjek për të parë është hequr (larguar). Ka a
msgid "The requester has abandoned this request for some reason"
msgstr "Për ndonjë arsye, përdoruesi e ka braktisur kërkesën"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Përgjigja në kërkesën tënde është e <strong>vonuar</strong>. Mund të thuhet që,\n"
"sipas ligjit, autoriteti ishte dashtë të përgjigjet në \n"
"<strong>afat</strong> të paraparë dhe "
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Përgjigja në kërkesën tënde është <strong>vonuar për së tepërmi</strong>. Mund të thuhet që,\n"
"sipas ligjit, duke i patur parasyesh të gjitha rrethanat, autoriteti ishte dashtë të përgjigjet \n"
@@ -2361,6 +2472,9 @@ msgstr "Ky është version HTML i shtojcës (attachment) ndaj kërkesës për in
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr "Kjo është për shkak se {{title}} është një kërkesë e vjetër që ka qenë e shenjuar të mos marrë më përgjigje."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Kjo është kërkesa yte, kështu që ti do të merr email automatikisht kur përgjigjet e reja arrijnë."
@@ -2432,6 +2546,9 @@ msgstr "Kjo kërkesë është e fshehur, kështu që vetëm ti - kërkuesi mund
msgid "This request is still in progress:"
msgstr "Kjo kërkesë është ende në përpunim:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr "Kjo kërkesë nuk është bërë nëpërmjet {{site_name}}"
@@ -2638,6 +2755,9 @@ msgstr "Përdoruesi"
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr "UserInfoRequestSentAlert|Alert type"
@@ -2692,6 +2812,9 @@ msgstr "User|Salt"
msgid "User|Url name"
msgstr "Përdoruesi | Emri Url"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Shiko adresën e emailit për Informata Zyrtare"
@@ -3074,6 +3197,9 @@ msgstr ""
msgid "admin"
msgstr "admin"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "të gjitha kërkesat"
@@ -3107,6 +3233,9 @@ msgstr "çkado"
msgid "are long overdue."
msgstr "janë vonuar së tepërmi."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "autoritetet"
@@ -3119,6 +3248,9 @@ msgstr "duke filluar me ‘{{first_letter}}’"
msgid "between two dates"
msgstr "në mes të dy datave"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "nga"
@@ -3202,6 +3334,9 @@ msgstr "mesazhe nga autoritetet"
msgid "messages from users"
msgstr "mesazhe nga përdoruesit"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "jo më vonë se"
@@ -3213,6 +3348,9 @@ msgstr ""
msgid "normally"
msgstr "normalisht"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "Të lutem kyçu si "
@@ -3236,6 +3374,9 @@ msgstr "Dërgo një mesazh përcjellës"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "dërguar {{public_body_name}} nga {{info_request_user}} me {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr "shfaq pjesët e cituara"
@@ -3257,6 +3398,11 @@ msgstr "që ti ke bërë për"
msgid "the main FOI contact address for {{public_body}}"
msgstr "adresa kryesore kontaktuese për dërgimin e kërkesave te {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "kontakti kryesor për kërkesa te {{public_body}}"
@@ -3368,6 +3514,9 @@ msgstr "{{site_name}} dërgon kërkesa të reja për <strong>{{request_email}}</
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Përdoruesit e {{site_name}} kanë bërë {{number_of_requests}} kërkesa, duke përfshirë:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - një kërkesë për qasje në dokument publik nga {{public_body}}"
diff --git a/locale/sr@latin/app.po b/locale/sr@latin/app.po
index cd4e5678b..ca86219bf 100644
--- a/locale/sr@latin/app.po
+++ b/locale/sr@latin/app.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Srdjan Krstic <krledmno1@gmail.com>, 2013.
# Valon <vbrestovci@gmail.com>, 2012.
# vbrestovci <vbrestovci@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:08+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sr@latin\n"
@@ -76,7 +77,7 @@ msgid " Say how you've <strong>used the information</strong>, with links if poss
msgstr " Recite nam kako ste<strong>iskoristili informaciju</strong>, sa linkovima ako je moguće."
msgid " Suggest <strong>where else</strong> the requester might find the information. "
-msgstr ""
+msgstr "Predložite <strong>gde sve</strong> podnosilac zahteva može pronaći informacije."
msgid " What are you investigating using Freedom of Information? "
msgstr " Šta istražujete koristeći Zakon o slobodnom pristupu informacijama ? "
@@ -132,6 +133,9 @@ msgstr "'{{link_to_request}}', zahtev"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}', osoba"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -349,6 +353,9 @@ msgstr "Odgovor će biti poslan <strong>poštom</strong>"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Neobičan odgovor, potreban pregled od strane {{site_name}} tima"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Korisnik stranice {{site_name}}"
@@ -444,6 +451,9 @@ msgstr ""
msgid "Anyone:"
msgstr "Bilo ko:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Tražite <strong>konkretne</strong> dokumente ili informacije, ova stranica nije pogodna za opće pretrage."
@@ -485,6 +495,9 @@ msgstr "Po zakonu, pod svim uvjetima, {{public_body_link}} je trebala odgovoriti
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Po zakonu, {{public_body_link}} je trebala odgovoriti <strong>brzo</strong> i"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Poništi {{site_name}} upozorenje"
@@ -655,6 +668,9 @@ msgstr "Datum:"
msgid "Dear {{public_body_name}},"
msgstr "Poštovani {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Odgođen odgovor na Vaš Zahtev o slobodnom pristupu informacijama - "
@@ -664,6 +680,9 @@ msgstr "Odgođen"
msgid "Delivery error"
msgstr "Greška u isporuci"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Detalji zahteva '"
@@ -676,6 +695,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -694,14 +716,14 @@ msgstr "Preuzeti originalni prilog"
msgid "EIR"
msgstr ""
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Uredite i dodajte <strong>više detalja</strong> na poruku iznad,\n"
" objašnjavajući zašto niste zadovoljni njihovim odgovorom."
-msgid "Edit language version:"
-msgstr "Uređuj verziju jezika:"
-
msgid "Edit text about you"
msgstr "Uredite tekst o Vama"
@@ -741,13 +763,16 @@ msgstr "Prikaz prošlih događanja"
msgid "Event history details"
msgstr "Detalji prikaza prošlih događanja"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
+msgstr ""
+
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Sve što unesete na ovu stranicu \n"
" će biti <strong>javno prikazano</strong> na\n"
" ovoj web stranici trajno. (<a href=\"{{url}}\">Više informacija</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
"Sve što unesete na ovu stranicu, uključujući <strong>Vaše ime</strong>, \n"
" će biti <strong>javno prikazano</strong> na\n"
@@ -759,6 +784,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr "ZOSPI e-mail adresa za {{public_body}}"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Zahtevi za slobodan pristup informacijama"
@@ -934,6 +962,9 @@ msgstr ""
" malo vremena da ga pročitate i da nam pomognete da održimo ovo mjesto urednim za sve?\n"
" Hvala."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -946,6 +977,9 @@ msgstr "Praznik|Opis"
msgid "Home"
msgstr "Naslovna"
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Početna stranica ustanove"
@@ -998,6 +1032,15 @@ msgstr "Dobio/la sam <strong>dio informacija</strong>"
msgid "I've received an <strong>error message</strong>"
msgstr "Dobio/la sam <strong>poruku o pogrešci</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Ako je adresa pogrešna, ili znate bolju adresu, molimo Vas <a href=\"{{url}}\">da nas kontaktirate</a>."
@@ -1016,6 +1059,8 @@ msgstr ""
msgid "If you are still having trouble, please <a href=\"{{url}}\">contact us</a>."
msgstr "Ako i dalje imate problema, molimo <a href=\"{{url}}\">kontaktirajte nas</a>."
+
+
msgid "If you are the requester, then you may <a href=\"{{url}}\">sign in</a> to view the request."
msgstr "Ako ste podnosioc zahteva, možete se <a href=\"{{url}}\">prijaviti</a> da biste pogledali zahtev."
@@ -1076,6 +1121,9 @@ msgstr ""
"Ako je Vaš pretraživač namješten da prihvata cookies-e i vidite ovu poruku,\n"
"onda vjerovatno postoji problem sa našim serverom."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1195,12 +1243,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Pridružio se u"
msgid "Joined {{site_name}} in"
msgstr "Pridružio se na {{site_name}} u"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Držite se <strong>suštine</strong>, lakše ćete dobiti ono što tražite(<a href=\"{{url}}\">Više informacija</a>)."
@@ -1221,9 +1275,27 @@ msgstr ""
msgid "Link to this"
msgstr "Spojite sa ovim"
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Popis svih ustanova (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Prijavite se da preuzmete zipovano {{info_request_title}}"
@@ -1324,6 +1396,9 @@ msgstr "Ime se već koristi"
msgid "New Freedom of Information requests"
msgstr "Novi Zahtevi za slobodan pristup informacijama"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Novi e-mail:"
@@ -1369,6 +1444,9 @@ msgstr "Nema rezultata pretrage"
msgid "No similar requests found."
msgstr "Nisu nađeni slični zahtevi."
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Niko nije podnio Zahtev za slobodan pristup informacijama {{public_body_name}} koristeći ovu stranicu."
@@ -1378,6 +1456,9 @@ msgstr "Ništa nije nađeno."
msgid "None made."
msgstr "Ništa podneseno."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1423,6 +1504,9 @@ msgstr "Jedna osoba pronađena"
msgid "One public authority found"
msgstr "Jedna javna ustanova pronađena"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Samo zahtevi koji koriste {{site_name}} su prikazani."
@@ -1623,9 +1707,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Molimo upišite poruku i/ili odaberite fajl koji sadrži vaš odgovor."
-msgid "Please use the form below to tell us more."
-msgstr "Molimo koristite formular ispod da biste nam rekli više."
-
msgid "Please use this email address for all replies to this request:"
msgstr "Molimo koristite ovu e-mail adresu za odgovore na ovaj zahtev:"
@@ -1716,12 +1797,24 @@ msgstr "Javne ustanove - {{description}}"
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1794,6 +1887,9 @@ msgstr "Javno tijelo|Verzija"
msgid "Publication scheme"
msgstr "Nacrt publikacije"
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1853,6 +1949,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr "Zatražiti urgenciju od strane {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Zahtev je uklonjen"
@@ -1955,6 +2054,9 @@ msgstr[2] ""
msgid "Search your contributions"
msgstr "Pretražite Vaše doprinose"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Odaberite jedan da biste videli više informacija o ustanovi."
@@ -1988,6 +2090,9 @@ msgstr "Pošalji zahtev"
msgid "Set your profile photo"
msgstr "Podesiti sliku na Vašem profilu"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr "Nadimak se već koristi"
@@ -2087,6 +2192,9 @@ msgstr "Predaj"
msgid "Submit status"
msgstr "Pošalji status"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr "Pretplatiti se na blog"
@@ -2108,6 +2216,9 @@ msgstr "Pregled statusa"
msgid "Table of varieties"
msgstr "Tabela vrsta"
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2135,6 +2246,9 @@ msgstr "Hvala na ažuriranju zahteva!"
msgid "Thank you for updating your profile photo"
msgstr "Hvala što ste ažurirali sliku na Vašem profilu"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
"Hvala na pomoći - Vaš rad će svima olakšati pronalaženje pozitivnih\n"
@@ -2223,13 +2337,13 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr "Podnosioc je odustao od ovog zahteva iz nekog razloga"
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Odgovor na Vaš zahtev je <strong>odgođen</strong>. Možete reći da je, \n"
" po zakonu, ustanova trebala odgovoriti\n"
" <strong>brzo</strong> i"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
"Odgovor na Vaš zahtev <strong>kasni</strong>. Možete reći da po \n"
" zakonu, u svakom slučaju, ustanova je trebala odgovoriti\n"
@@ -2386,6 +2500,9 @@ msgstr ""
"To je zato što je {{title}} stari zahtev koji je\n"
"označen da više ne prima odgovore."
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Ovo je Vaš zahtev, biti ćete automatski obavešteni e-mailom kada novi odgovori budu stizali."
@@ -2461,6 +2578,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Ovaj zahtev je još u toku:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2666,6 +2786,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2720,6 +2843,9 @@ msgstr ""
msgid "User|Url name"
msgstr "Korisnik|Url ime"
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr "Videti adresu za Zahteve za slobodan pristup informacijama."
@@ -3102,6 +3228,9 @@ msgstr ""
msgid "admin"
msgstr "administrator"
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "svi zahtevi"
@@ -3135,6 +3264,9 @@ msgstr "bilo šta"
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr "ustanove"
@@ -3147,6 +3279,9 @@ msgstr ""
msgid "between two dates"
msgstr "između dva datuma"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr "od strane"
@@ -3230,6 +3365,9 @@ msgstr "poruke od ustanova"
msgid "messages from users"
msgstr "poruke od korisnika"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "ne kasnije od"
@@ -3239,6 +3377,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "molimo prijavite se kao "
@@ -3260,6 +3401,9 @@ msgstr "pošaljite prateću poruku"
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr "poslano za {{public_body_name}} od strane {{info_request_user}} na datum {{date}}."
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3281,6 +3425,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr "glavne kontakt adrese za Zahteve o slobodnom pristupu informacijama za {{public_body}}"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "glavni kontakt za Zahteve o slobodnom pristupu informacijama u ustanovi {{public_body}}"
@@ -3389,6 +3538,9 @@ msgstr "{{site_name}} šalje nove zahteve <strong>{{request_email}}</strong> za
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "korisnici {{site_name}} su podneli {{number_of_requests}} zahteva, uključujući:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/tr/app.po b/locale/tr/app.po
index ca04101a9..19e898662 100644
--- a/locale/tr/app.po
+++ b/locale/tr/app.po
@@ -8,15 +8,15 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:07+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid " This will appear on your {{site_name}} profile, to make it\\n easier for others to get involved with what you're doing."
msgstr ""
@@ -93,14 +93,17 @@ msgstr ""
msgid "{{count}} Freedom of Information request to {{public_body_name}}"
msgid_plural "{{count}} Freedom of Information requests to {{public_body_name}}"
msgstr[0] ""
+msgstr[1] ""
msgid "{{count}} request"
msgid_plural "{{count}} requests"
msgstr[0] ""
+msgstr[1] ""
msgid "{{count}} request made."
msgid_plural "{{count}} requests made."
msgstr[0] ""
+msgstr[1] ""
msgid "'Crime statistics by ward level for Wales'"
msgstr ""
@@ -117,6 +120,9 @@ msgstr ""
msgid "'{{link_to_user}}', a person"
msgstr ""
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
@@ -213,6 +219,7 @@ msgstr ""
msgid "{{count}} person is following this authority"
msgid_plural "{{count}} people are following this authority"
msgstr[0] ""
+msgstr[1] ""
msgid "<strong> Can I request information about myself?</strong>\\n\t\t\t<a href=\"{{url}}\">No! (Click here for details)</a>"
msgstr ""
@@ -310,6 +317,9 @@ msgstr ""
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr ""
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr ""
@@ -397,6 +407,9 @@ msgstr ""
msgid "Anyone:"
msgstr ""
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr ""
@@ -436,6 +449,9 @@ msgstr ""
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr ""
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr ""
@@ -604,6 +620,9 @@ msgstr ""
msgid "Dear {{public_body_name}},"
msgstr ""
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr ""
@@ -613,6 +632,9 @@ msgstr ""
msgid "Delivery error"
msgstr ""
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr ""
@@ -625,6 +647,9 @@ msgstr ""
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr ""
@@ -643,10 +668,10 @@ msgstr ""
msgid "EIR"
msgstr ""
-msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
+msgid "Edit"
msgstr ""
-msgid "Edit language version:"
+msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
msgid "Edit text about you"
@@ -688,10 +713,13 @@ msgstr ""
msgid "Event history details"
msgstr ""
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
msgid "FOI"
@@ -700,6 +728,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr ""
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr ""
@@ -805,6 +836,7 @@ msgstr ""
msgid "Found {{count}} public authority {{description}}"
msgid_plural "Found {{count}} public authorities {{description}}"
msgstr[0] ""
+msgstr[1] ""
msgid "Freedom of Information"
msgstr ""
@@ -869,6 +901,9 @@ msgstr ""
msgid "Hi! We need your help. The person who made the following request\\n hasn't told us whether or not it was successful. Would you mind taking\\n a moment to read it and help us keep the place tidy for everyone?\\n Thanks."
msgstr ""
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -881,6 +916,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr ""
@@ -929,6 +967,15 @@ msgstr ""
msgid "I've received an <strong>error message</strong>"
msgstr ""
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr ""
@@ -986,6 +1033,9 @@ msgstr ""
msgid "If your browser is set to accept cookies and you are seeing this message,\\nthen there is probably a fault with our server."
msgstr ""
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr ""
@@ -1100,12 +1150,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr ""
msgid "Joined {{site_name}} in"
msgstr ""
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -1124,9 +1180,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr ""
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr ""
@@ -1223,6 +1297,9 @@ msgstr ""
msgid "New Freedom of Information requests"
msgstr ""
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr ""
@@ -1268,6 +1345,9 @@ msgstr ""
msgid "No similar requests found."
msgstr ""
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr ""
@@ -1277,6 +1357,9 @@ msgstr ""
msgid "None made."
msgstr ""
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1322,6 +1405,9 @@ msgstr ""
msgid "One public authority found"
msgstr ""
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr ""
@@ -1511,9 +1597,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr ""
-msgid "Please use the form below to tell us more."
-msgstr ""
-
msgid "Please use this email address for all replies to this request:"
msgstr ""
@@ -1604,12 +1687,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1682,6 +1777,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr ""
@@ -1739,6 +1837,9 @@ msgstr ""
msgid "Request an internal review from {{person_or_body}}"
msgstr ""
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr ""
@@ -1832,10 +1933,14 @@ msgstr ""
msgid "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgid_plural "Search within the {{count}} Freedom of Information requests to {{public_body_name}}"
msgstr[0] ""
+msgstr[1] ""
msgid "Search your contributions"
msgstr ""
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr ""
@@ -1869,6 +1974,9 @@ msgstr ""
msgid "Set your profile photo"
msgstr ""
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -1962,6 +2070,9 @@ msgstr ""
msgid "Submit status"
msgstr ""
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -1983,6 +2094,9 @@ msgstr ""
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2010,6 +2124,9 @@ msgstr ""
msgid "Thank you for updating your profile photo"
msgstr ""
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2085,10 +2202,10 @@ msgstr ""
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr ""
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2175,6 +2292,7 @@ msgstr ""
msgid "There is {{count}} person following this request"
msgid_plural "There are {{count}} people following this request"
msgstr[0] ""
+msgstr[1] ""
msgid "There is <strong>more than one person</strong> who uses this site and has this name.\\n One of them is shown below, you may mean a different one:"
msgstr ""
@@ -2236,6 +2354,9 @@ msgstr ""
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr ""
@@ -2251,10 +2372,12 @@ msgstr ""
msgid "This person's {{count}} Freedom of Information request"
msgid_plural "This person's {{count}} Freedom of Information requests"
msgstr[0] ""
+msgstr[1] ""
msgid "This person's {{count}} annotation"
msgid_plural "This person's {{count}} annotations"
msgstr[0] ""
+msgstr[1] ""
msgid "This person's annotations"
msgstr ""
@@ -2301,6 +2424,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr ""
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr ""
@@ -2499,6 +2625,9 @@ msgstr ""
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2553,6 +2682,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -2799,10 +2931,12 @@ msgstr ""
msgid "Your {{count}} Freedom of Information request"
msgid_plural "Your {{count}} Freedom of Information requests"
msgstr[0] ""
+msgstr[1] ""
msgid "Your {{count}} annotation"
msgid_plural "Your {{count}} annotations"
msgstr[0] ""
+msgstr[1] ""
msgid "Your <strong>name will appear publicly</strong> \\n (<a href=\"{{url}}\">why?</a>)\\n on this website and in search engines. If you\\n are thinking of using a pseudonym, please \\n <a href=\"{{url}}\">read this first</a>."
msgstr ""
@@ -2900,6 +3034,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr ""
@@ -2933,6 +3070,9 @@ msgstr ""
msgid "are long overdue."
msgstr ""
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -2945,6 +3085,9 @@ msgstr ""
msgid "between two dates"
msgstr ""
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3026,6 +3169,9 @@ msgstr ""
msgid "messages from users"
msgstr ""
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr ""
@@ -3035,6 +3181,9 @@ msgstr ""
msgid "normally"
msgstr ""
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr ""
@@ -3056,6 +3205,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3077,6 +3229,11 @@ msgstr ""
msgid "the main FOI contact address for {{public_body}}"
msgstr ""
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr ""
@@ -3185,6 +3342,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr ""
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr ""
diff --git a/locale/uk/app.po b/locale/uk/app.po
index 76ab024a3..5e9ffe364 100644
--- a/locale/uk/app.po
+++ b/locale/uk/app.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: alaveteli\n"
"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n"
-"POT-Creation-Date: 2012-12-18 10:11+0000\n"
-"PO-Revision-Date: 2012-12-18 10:14+0000\n"
+"POT-Creation-Date: 2013-03-14 14:02-0700\n"
+"PO-Revision-Date: 2013-03-14 21:12+0000\n"
"Last-Translator: louisecrow <louise@mysociety.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: uk\n"
@@ -126,6 +126,9 @@ msgstr "'{{link_to_request}}', запит"
msgid "'{{link_to_user}}', a person"
msgstr "'{{link_to_user}}'"
+msgid "*unknown*"
+msgstr ""
+
msgid ",\\n\\n\\n\\nYours,\\n\\n{{user_name}}"
msgstr ""
",\n"
@@ -367,6 +370,9 @@ msgstr "Відповідь буде надіслана поштою"
msgid "A strange reponse, required attention by the {{site_name}} team"
msgstr "Дивна відповідь, вимагає уваги з боку команди сайту"
+msgid "A vexatious request"
+msgstr ""
+
msgid "A {{site_name}} user"
msgstr "Користувач сайту {{site_name}}"
@@ -458,6 +464,9 @@ msgstr "Анонімний користувач"
msgid "Anyone:"
msgstr "Будь-хто з користувачів:"
+msgid "Applies to"
+msgstr ""
+
msgid "Ask for <strong>specific</strong> documents or information, this site is not suitable for general enquiries."
msgstr "Запитуйте про <strong>конкретні</strong> документи або інформацію, цей сайт не призначений для загальних питань."
@@ -497,6 +506,9 @@ msgstr "Згідно з законодавством, за будь-яких у
msgid "By law, {{public_body_link}} should normally have responded <strong>promptly</strong> and"
msgstr "Згідно з законодавством, {{public_body_link}} мав би відповісти <strong>швидко</strong> і"
+msgid "Calculated home page"
+msgstr ""
+
msgid "Cancel a {{site_name}} alert"
msgstr "Скасувати повідомлення сайту"
@@ -669,6 +681,9 @@ msgstr "Дата:"
msgid "Dear {{public_body_name}},"
msgstr "Шановний {{public_body_name}},"
+msgid "Default locale"
+msgstr ""
+
msgid "Delayed response to your FOI request - "
msgstr "Відстрочена відповідь на ваш запит - "
@@ -678,6 +693,9 @@ msgstr "Затримується"
msgid "Delivery error"
msgstr "Помилка доставки"
+msgid "Destroy {{name}}"
+msgstr ""
+
msgid "Details of request '"
msgstr "Деталі запиту '"
@@ -690,6 +708,9 @@ msgstr "Увага! Це повідомлення та будь-яка відп
msgid "Disclosure log"
msgstr ""
+msgid "Disclosure log URL"
+msgstr ""
+
msgid "Don't want to address your message to {{person_or_body}}? You can also write to:"
msgstr "Не хочете надсилати повідомлення на адресу {{person_or_body}}? Ви можете також написати за цією адресою:"
@@ -708,14 +729,14 @@ msgstr "Завантажити початкове вкладення"
msgid "EIR"
msgstr "EIR"
+msgid "Edit"
+msgstr ""
+
msgid "Edit and add <strong>more details</strong> to the message above,\\n explaining why you are dissatisfied with their response."
msgstr ""
"Відредагуйте та додайте <strong>більше деталей</strong> до повідомлення,\n"
"пояснивши, чому саме ви незадоволені відповіддю."
-msgid "Edit language version:"
-msgstr ""
-
msgid "Edit text about you"
msgstr "Відредагувати інформацію про себе"
@@ -757,15 +778,18 @@ msgstr "Історія"
msgid "Event history details"
msgstr "Історія (деталі)"
-msgid "Everything that you enter on this page \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Event {{id}}"
msgstr ""
-"Усе, що ви введете на цій сторінці, \n"
+
+msgid "Everything that you enter on this page, including <strong>your name</strong>,\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgstr ""
+"Усе, що ви введете на цій сторінці (включно з вашим іменем), \n"
"буде <strong>опубліковано у вільному доступі</strong> на\n"
" цьому вебсайті назавжди (<a href=\"{{url}}\">чому?</a>)."
-msgid "Everything that you enter on this page, including <strong>your name</strong>, \\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
+msgid "Everything that you enter on this page\\n will be <strong>displayed publicly</strong> on\\n this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
-"Усе, що ви введете на цій сторінці (включно з вашим іменем), \n"
+"Усе, що ви введете на цій сторінці, \n"
"буде <strong>опубліковано у вільному доступі</strong> на\n"
" цьому вебсайті назавжди (<a href=\"{{url}}\">чому?</a>)."
@@ -775,6 +799,9 @@ msgstr ""
msgid "FOI email address for {{public_body}}"
msgstr "Електронна адреса розпорядника '{public_body}}'"
+msgid "FOI request – {{title}}"
+msgstr ""
+
msgid "FOI requests"
msgstr "Інформаційні запити"
@@ -955,6 +982,9 @@ msgstr ""
" щоб прочитати його і допомогти нам у впорядкуванні цього сайту?\n"
" Спасибі."
+msgid "Hide request"
+msgstr ""
+
msgid "Holiday"
msgstr ""
@@ -967,6 +997,9 @@ msgstr ""
msgid "Home"
msgstr ""
+msgid "Home page"
+msgstr ""
+
msgid "Home page of authority"
msgstr "Домашня сторінка розпорядника інформації"
@@ -1017,9 +1050,18 @@ msgstr "Я отримав/отримала <strong>деяку інформаці
msgid "I've received an <strong>error message</strong>"
msgstr "Я отримав/отримала <strong>повідомлення про помилку</strong>"
+msgid "I've received an error message"
+msgstr ""
+
+msgid "Id"
+msgstr ""
+
msgid "If the address is wrong, or you know a better address, please <a href=\"{{url}}\">contact us</a>."
msgstr "Якщо адреса неправиильна або якщо ви знаєте кращу, будь ласка, <a href=\"{{url}}\">повідомте нам про це</a>."
+msgid "If the error was a delivery failure, and you can find an up to date FOI email address for the authority, please tell us using the form below."
+msgstr ""
+
msgid "If this is incorrect, or you would like to send a late response to the request\\nor an email on another subject to {{user}}, then please\\nemail {{contact_email}} for help."
msgstr ""
"Якщо це не так або якщо ви б хотіли надіслати запізнілу відповідь на запит\n"
@@ -1092,6 +1134,9 @@ msgstr ""
"Якщо ваш браузер приймає пряники (cookies) і ви бачите це повідомлення,\n"
"значить, щось не так із вашим сервером."
+msgid "Incoming email address"
+msgstr ""
+
msgid "Incoming message"
msgstr "Вхідне повідомлення"
@@ -1211,12 +1256,18 @@ msgstr ""
msgid "Items matching the following conditions are currently displayed on your wall."
msgstr ""
+msgid "Items sent in last month"
+msgstr ""
+
msgid "Joined in"
msgstr "Приєднався у"
msgid "Joined {{site_name}} in"
msgstr "Користувач долучився до {{site_name}} у"
+msgid "Just one more thing"
+msgstr ""
+
msgid "Keep it <strong>focused</strong>, you'll be more likely to get what you want (<a href=\"{{url}}\">why?</a>)."
msgstr "Конкретизуйте ваш запит, так ви маєте більше шансів отримати потрібну інформацію (<a href=\"{{url}}\">чому?</a>)."
@@ -1237,9 +1288,27 @@ msgstr ""
msgid "Link to this"
msgstr ""
+msgid "List all"
+msgstr ""
+
msgid "List of all authorities (CSV)"
msgstr "Повний перелік (CSV)"
+msgid "Listing FOI requests"
+msgstr ""
+
+msgid "Listing public authorities"
+msgstr ""
+
+msgid "Listing public authorities matching '{{query}}'"
+msgstr ""
+
+msgid "Listing tracks"
+msgstr ""
+
+msgid "Listing users"
+msgstr ""
+
msgid "Log in to download a zip file of {{info_request_title}}"
msgstr "Увійдіть в систему, щоб завантажити заархівований запит {{info_request_title}}"
@@ -1338,6 +1407,9 @@ msgstr "Це ім’я/назва вже використано"
msgid "New Freedom of Information requests"
msgstr "Нові запити"
+msgid "New censor rule"
+msgstr ""
+
msgid "New e-mail:"
msgstr "Нова адреса:"
@@ -1383,6 +1455,9 @@ msgstr "Нічого не знайдено"
msgid "No similar requests found."
msgstr "Подібних запитів не знайдено"
+msgid "No tracked things found."
+msgstr ""
+
msgid "Nobody has made any Freedom of Information requests to {{public_body_name}} using this site yet."
msgstr "Ще ніхто не робив запитів до {{public_body_name}} через цей сайт"
@@ -1392,6 +1467,9 @@ msgstr "Нічого не знайдено."
msgid "None made."
msgstr "Не зроблено жодного."
+msgid "Not a valid FOI request"
+msgstr ""
+
msgid "Note that the requester will not be notified about your annotation, because the request was published by {{public_body_name}} on their behalf."
msgstr ""
@@ -1437,6 +1515,9 @@ msgstr "Знайдено одну людину"
msgid "One public authority found"
msgstr "Знайдено один державний орган"
+msgid "Only put in abbreviations which are really used, otherwise leave blank. Short or long name is used in the URL – don't worry about breaking URLs through renaming, as the history is used to redirect"
+msgstr ""
+
msgid "Only requests made using {{site_name}} are shown."
msgstr "Відображаються тільки запити, зроблені через цей сайт."
@@ -1629,9 +1710,6 @@ msgstr ""
msgid "Please type a message and/or choose a file containing your response."
msgstr "Будь ласка, введіть повідомлення або оберіть файл, що містить вашу відповідь."
-msgid "Please use the form below to tell us more."
-msgstr "Скористайтесь формою внизу, щоб написати нам"
-
msgid "Please use this email address for all replies to this request:"
msgstr "Будь ласка, використовуйте цю електронну адресу для всіх відповідей на цей запит."
@@ -1722,12 +1800,24 @@ msgstr ""
msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}"
msgstr ""
+msgid "Public authority – {{name}}"
+msgstr ""
+
msgid "Public body"
msgstr ""
msgid "Public body/translation"
msgstr ""
+msgid "Public notes"
+msgstr ""
+
+msgid "Public page"
+msgstr ""
+
+msgid "Public page not available"
+msgstr ""
+
msgid "PublicBody::Translation|Disclosure log"
msgstr ""
@@ -1800,6 +1890,9 @@ msgstr ""
msgid "Publication scheme"
msgstr ""
+msgid "Publication scheme URL"
+msgstr ""
+
msgid "Purge request"
msgstr "Видалити запит"
@@ -1859,6 +1952,9 @@ msgstr "Зробити запит на внутрішню перевірку"
msgid "Request an internal review from {{person_or_body}}"
msgstr "Зробити запит на внутрішню перевірку від {{person_or_body}}"
+msgid "Request email"
+msgstr ""
+
msgid "Request has been removed"
msgstr "Запит було видалено"
@@ -1938,7 +2034,7 @@ msgid "Search in"
msgstr "Пошук в"
msgid "Search over<br/>\\n <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\\n <strong>{{number_of_authorities}} authorities</strong>"
-msgstr ""
+msgstr "Кількість зареєстрованих запитів: <strong>{{number_of_requests}}</strong><br/>\\n Кількість розпорядників інформації: <strong>{{number_of_authorities}}</strong>"
msgid "Search queries"
msgstr ""
@@ -1958,6 +2054,9 @@ msgstr[2] "Шукати серед {{count}} запитів зроблених
msgid "Search your contributions"
msgstr "Пошук у вашій діяльності на сайті"
+msgid "See bounce message"
+msgstr ""
+
msgid "Select one to see more information about the authority."
msgstr "Оберіть щоб дізнатися більше про розпорядника інформації"
@@ -1991,6 +2090,9 @@ msgstr "Надіслати запит"
msgid "Set your profile photo"
msgstr "Встановити фото в профілі"
+msgid "Short name"
+msgstr ""
+
msgid "Short name is already taken"
msgstr ""
@@ -2084,6 +2186,9 @@ msgstr "Відправити"
msgid "Submit status"
msgstr "Оновити статус"
+msgid "Submit status and send message"
+msgstr ""
+
msgid "Subscribe to blog"
msgstr ""
@@ -2105,6 +2210,9 @@ msgstr "Таблиця статусів"
msgid "Table of varieties"
msgstr ""
+msgid "Tags"
+msgstr ""
+
msgid "Tags (separated by a space):"
msgstr ""
@@ -2132,6 +2240,9 @@ msgstr "Дякуємо, що оновили свій запит!"
msgid "Thank you for updating your profile photo"
msgstr "Дякуємо, що оновили фотографію в профілі"
+msgid "Thank you! We'll look into what happened and try and fix it up."
+msgstr ""
+
msgid "Thanks for helping - your work will make it easier for everyone to find successful\\nresponses, and maybe even let us make league tables..."
msgstr ""
@@ -2207,12 +2318,12 @@ msgstr "Запит, який ви хотіли переглянути, було
msgid "The requester has abandoned this request for some reason"
msgstr ""
-msgid "The response to your request has been <strong>delayed</strong>. You can say that, \\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
+msgid "The response to your request has been <strong>delayed</strong>. You can say that,\\n by law, the authority should normally have responded\\n <strong>promptly</strong> and"
msgstr ""
"Відповідь на ваш запит затримується. Згідно з законодавством, ви маєте \n"
" отримати відповідь швидко і"
-msgid "The response to your request is <strong>long overdue</strong>. You can say that, by \\n law, under all circumstances, the authority should have responded\\n by now"
+msgid "The response to your request is <strong>long overdue</strong>. You can say that, by\\n law, under all circumstances, the authority should have responded\\n by now"
msgstr "Відповідь на ваш запит прострочена. За будь-яких умов вона вже мала б надійти до цього часу."
msgid "The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority."
@@ -2364,6 +2475,9 @@ msgstr "Це HTML-версія додатку до запита"
msgid "This is because {{title}} is an old request that has been\\nmarked to no longer receive responses."
msgstr ""
+msgid "This is the first version."
+msgstr ""
+
msgid "This is your own request, so you will be automatically emailed when new responses arrive."
msgstr "Це ваш власний запит, тому вас буде автоматично повідомлено, коли прибуде відповідь."
@@ -2435,6 +2549,9 @@ msgstr ""
msgid "This request is still in progress:"
msgstr "Переписка з розпорядником інформації триває:"
+msgid "This request requires administrator attention"
+msgstr ""
+
msgid "This request was not made via {{site_name}}"
msgstr "Цей запит не було зроблено через сайт {{site_name}}"
@@ -2637,6 +2754,9 @@ msgstr "Користувач"
msgid "User info request sent alert"
msgstr ""
+msgid "User – {{name}}"
+msgstr ""
+
msgid "UserInfoRequestSentAlert|Alert type"
msgstr ""
@@ -2691,6 +2811,9 @@ msgstr ""
msgid "User|Url name"
msgstr ""
+msgid "Version {{version}}"
+msgstr ""
+
msgid "View FOI email address"
msgstr ""
@@ -3074,6 +3197,9 @@ msgstr ""
msgid "admin"
msgstr ""
+msgid "alaveteli_foi:The software that runs {{site_name}}"
+msgstr ""
+
msgid "all requests"
msgstr "усі запити"
@@ -3107,6 +3233,9 @@ msgstr ""
msgid "are long overdue."
msgstr "прострочені."
+msgid "at"
+msgstr ""
+
msgid "authorities"
msgstr ""
@@ -3119,6 +3248,9 @@ msgstr ""
msgid "between two dates"
msgstr "між двома датами"
+msgid "but followupable"
+msgstr ""
+
msgid "by"
msgstr ""
@@ -3200,6 +3332,9 @@ msgstr "повідомлення від органів влади"
msgid "messages from users"
msgstr "повідомлення від користувачів"
+msgid "move..."
+msgstr ""
+
msgid "no later than"
msgstr "не пізніше, ніж"
@@ -3209,6 +3344,9 @@ msgstr ""
msgid "normally"
msgstr "зазвичай"
+msgid "not requestable due to: {{reason}}"
+msgstr ""
+
msgid "please sign in as "
msgstr "будь ласка, увійдіть як "
@@ -3230,6 +3368,9 @@ msgstr ""
msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}."
msgstr ""
+msgid "set to <strong>blank</strong> (empty string) if can't find an address; these emails are <strong>public</strong> as anyone can view with a CAPTCHA"
+msgstr ""
+
msgid "show quoted sections"
msgstr ""
@@ -3251,6 +3392,11 @@ msgstr "зроблений вам до такого розпорядника і
msgid "the main FOI contact address for {{public_body}}"
msgstr "основна адреса для інформаційних запитів до розпорядника '{{public_body}}'"
+#. This phrase completes the following sentences:
+#. Request an internal review from...
+#. Send a public follow up message to...
+#. Send a public reply to...
+#. Don't want to address your message to... ?
msgid "the main FOI contact at {{public_body}}"
msgstr "на адресу {{public_body}}"
@@ -3359,6 +3505,9 @@ msgstr ""
msgid "{{site_name}} users have made {{number_of_requests}} requests, including:"
msgstr "Користувачі сайту {{site_name}} зробили таку кількість запитів: {{number_of_requests}}, зокрема:"
+msgid "{{thing_changed}} was changed from <code>{{from_value}}</code> to <code>{{to_value}}</code>"
+msgstr ""
+
msgid "{{title}} - a Freedom of Information request to {{public_body}}"
msgstr "{{title}} - запит до: {{public_body}}"
diff --git a/public/admin/images/glyphicons-halflings-white.png b/public/admin/images/glyphicons-halflings-white.png
new file mode 100644
index 000000000..3bf6484a2
--- /dev/null
+++ b/public/admin/images/glyphicons-halflings-white.png
Binary files differ
diff --git a/public/admin/images/glyphicons-halflings.png b/public/admin/images/glyphicons-halflings.png
new file mode 100644
index 000000000..79bc568c2
--- /dev/null
+++ b/public/admin/images/glyphicons-halflings.png
Binary files differ
diff --git a/public/admin/javascripts/bootstrap-collapse.js b/public/admin/javascripts/bootstrap-collapse.js
new file mode 100644
index 000000000..9a364468b
--- /dev/null
+++ b/public/admin/javascripts/bootstrap-collapse.js
@@ -0,0 +1,138 @@
+/* =============================================================
+ * bootstrap-collapse.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+ "use strict"
+
+ var Collapse = function ( element, options ) {
+ this.$element = $(element)
+ this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+ if (this.options["parent"]) {
+ this.$parent = $(this.options["parent"])
+ }
+
+ this.options.toggle && this.toggle()
+ }
+
+ Collapse.prototype = {
+
+ constructor: Collapse
+
+ , dimension: function () {
+ var hasWidth = this.$element.hasClass('width')
+ return hasWidth ? 'width' : 'height'
+ }
+
+ , show: function () {
+ var dimension = this.dimension()
+ , scroll = $.camelCase(['scroll', dimension].join('-'))
+ , actives = this.$parent && this.$parent.find('.in')
+ , hasData
+
+ if (actives && actives.length) {
+ hasData = actives.data('collapse')
+ actives.collapse('hide')
+ hasData || actives.data('collapse', null)
+ }
+
+ this.$element[dimension](0)
+ this.transition('addClass', 'show', 'shown')
+ this.$element[dimension](this.$element[0][scroll])
+
+ }
+
+ , hide: function () {
+ var dimension = this.dimension()
+ this.reset(this.$element[dimension]())
+ this.transition('removeClass', 'hide', 'hidden')
+ this.$element[dimension](0)
+ }
+
+ , reset: function ( size ) {
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ [dimension](size || 'auto')
+ [0].offsetWidth
+
+ this.$element[size ? 'addClass' : 'removeClass']('collapse')
+
+ return this
+ }
+
+ , transition: function ( method, startEvent, completeEvent ) {
+ var that = this
+ , complete = function () {
+ if (startEvent == 'show') that.reset()
+ that.$element.trigger(completeEvent)
+ }
+
+ this.$element
+ .trigger(startEvent)
+ [method]('in')
+
+ $.support.transition && this.$element.hasClass('collapse') ?
+ this.$element.one($.support.transition.end, complete) :
+ complete()
+ }
+
+ , toggle: function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ }
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
+ * ============================== */
+
+ $.fn.collapse = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('collapse')
+ , options = typeof option == 'object' && option
+ if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.collapse.defaults = {
+ toggle: true
+ }
+
+ $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+ * ==================== */
+
+ $(function () {
+ $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+ var $this = $(this), href
+ , target = $this.attr('data-target')
+ || e.preventDefault()
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
+ $(target).collapse(option)
+ })
+ })
+
+}( window.jQuery ); \ No newline at end of file
diff --git a/public/admin/javascripts/bootstrap-tab.js b/public/admin/javascripts/bootstrap-tab.js
new file mode 100644
index 000000000..26c9ece75
--- /dev/null
+++ b/public/admin/javascripts/bootstrap-tab.js
@@ -0,0 +1,130 @@
+/* ========================================================
+ * bootstrap-tab.js v2.0.1
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function( $ ){
+
+ "use strict"
+
+ /* TAB CLASS DEFINITION
+ * ==================== */
+
+ var Tab = function ( element ) {
+ this.element = $(element)
+ }
+
+ Tab.prototype = {
+
+ constructor: Tab
+
+ , show: function () {
+ var $this = this.element
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
+ , selector = $this.attr('data-target')
+ , previous
+ , $target
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+ }
+
+ if ( $this.parent('li').hasClass('active') ) return
+
+ previous = $ul.find('.active a').last()[0]
+
+ $this.trigger({
+ type: 'show'
+ , relatedTarget: previous
+ })
+
+ $target = $(selector)
+
+ this.activate($this.parent('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $this.trigger({
+ type: 'shown'
+ , relatedTarget: previous
+ })
+ })
+ }
+
+ , activate: function ( element, container, callback) {
+ var $active = container.find('> .active')
+ , transition = callback
+ && $.support.transition
+ && $active.hasClass('fade')
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+
+ element.addClass('active')
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if ( element.parent('.dropdown-menu') ) {
+ element.closest('li.dropdown').addClass('active')
+ }
+
+ callback && callback()
+ }
+
+ transition ?
+ $active.one($.support.transition.end, next) :
+ next()
+
+ $active.removeClass('in')
+ }
+ }
+
+
+ /* TAB PLUGIN DEFINITION
+ * ===================== */
+
+ $.fn.tab = function ( option ) {
+ return this.each(function () {
+ var $this = $(this)
+ , data = $this.data('tab')
+ if (!data) $this.data('tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+ * ============ */
+
+ $(function () {
+ $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+ })
+ })
+
+}( window.jQuery ); \ No newline at end of file
diff --git a/public/admin/javascripts/jquery-ui.min.js b/public/admin/javascripts/jquery-ui.min.js
new file mode 100644
index 000000000..f00a62f13
--- /dev/null
+++ b/public/admin/javascripts/jquery-ui.min.js
@@ -0,0 +1,356 @@
+/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e<d.length;e++)a.options[d[e][0]]&&d[e][1].apply(a.element,c)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(b,c){if(a(b).css("overflow")==="hidden")return!1;var d=c&&c==="left"?"scrollLeft":"scrollTop",e=!1;if(b[d]>0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a<b+c},isOver:function(b,c,d,e,f,g){return a.ui.isOverAxis(b,d,f)&&a.ui.isOverAxis(c,e,g)}}))})(jQuery);/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */(function(a,b){if(a.cleanData){var c=a.cleanData;a.cleanData=function(b){for(var d=0,e;(e=b[d])!=null;d++)try{a(e).triggerHandler("remove")}catch(f){}c(b)}}else{var d=a.fn.remove;a.fn.remove=function(b,c){return this.each(function(){c||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){try{a(this).triggerHandler("remove")}catch(b){}});return d.call(a(this),b,c)})}}a.widget=function(b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a.extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])},a.widget.bridge=function(c,d){a.fn[c]=function(e){var f=typeof e=="string",g=Array.prototype.slice.call(arguments,1),h=this;e=!f&&g.length?a.extend.apply(null,[!0,e].concat(g)):e;if(f&&e.charAt(0)==="_")return h;f?this.each(function(){var d=a.data(this,c),f=d&&a.isFunction(d[e])?d[e].apply(d,g):d;if(f!==d&&f!==b){h=f;return!1}}):this.each(function(){var b=a.data(this,c);b?b.option(e||{})._init():a.data(this,c,new d(e,this))});return h}},a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)},a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this),this.element=a(c),this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()}),this._create(),this._trigger("create"),this._init()},_getCreateOptions:function(){return a.metadata&&a.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName),this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+"ui-state-disabled")},widget:function(){return this.element},option:function(c,d){var e=c;if(arguments.length===0)return a.extend({},this.options);if(typeof c=="string"){if(d===b)return this.options[c];e={},e[c]=d}this._setOptions(e);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b,a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled"+" "+"ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var e,f,g=this.options[b];d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent;if(f)for(e in f)e in c||(c[e]=f[e]);this.element.trigger(c,d);return!(a.isFunction(g)&&g.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */(function(a,b){var c=!1;a(document).mouseup(function(a){c=!1}),a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent")){a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation();return!1}}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(b){if(!c){this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var d=this,e=b.which==1,f=typeof this.options.cancel=="string"&&b.target.nodeName?a(b.target).closest(this.options.cancel).length:!1;if(!e||f||!this._mouseCapture(b))return!0;this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=this._mouseStart(b)!==!1;if(!this._mouseStarted){b.preventDefault();return!0}}!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),c=!0;return!0}},_mouseMove:function(b){if(a.browser.msie&&!(document.documentMode>=9)&&!b.button)return this._mouseUp(b);if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b));return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b));return!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);/*
+ * jQuery UI Position 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1];return this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]!==e){var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0}},top:function(b,c){if(c.at[1]!==e){var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];if(!c||!c.ownerDocument)return null;if(b)return this.each(function(){a.offset.setOffset(this,b)});return h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);/*
+ * jQuery UI Draggable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!!this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy();return this}},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle"))return!1;this.handle=this._getHandle(b);if(!this.handle)return!1;c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")});return!0},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment();if(this._trigger("start",b)===!1){this._clear();return!1}this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.helper.addClass("ui-draggable-dragging"),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b);return!0},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1){this._mouseUp({});return!1}this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";a.ui.ddmanager&&a.ui.ddmanager.drag(this,b);return!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var d=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){d._trigger("stop",b)!==!1&&d._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b);return a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)});return c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.left<h[0]&&(f=h[0]+this.offset.click.left),b.pageY-this.offset.click.top<h[1]&&(g=h[1]+this.offset.click.top),b.pageX-this.offset.click.left>h[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.top<h[1]||j-this.offset.click.top>h[3]?j-this.offset.click.top<h[1]?j+c.grid[1]:j-c.grid[1]:j:j;var k=c.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0]:this.originalPageX;f=h?k-this.offset.click.left<h[0]||k-this.offset.click.left>h[2]?k-this.offset.click.left<h[0]?k+c.grid[0]:k-c.grid[0]:k:k}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(b,c,d){d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d]),b=="drag"&&(this.positionAbs=this._convertPositionTo("absolute"));return a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(a){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.extend(a.ui.draggable,{version:"1.8.18"}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c){var d=a(this).data("draggable"),e=d.options,f=a.extend({},c,{item:d.element});d.sortables=[],a(e.connectToSortable).each(function(){var c=a.data(this,"sortable");c&&!c.options.disabled&&(d.sortables.push({instance:c,shouldRevert:c.options.revert}),c.refreshPositions(),c._trigger("activate",b,f))})},stop:function(b,c){var d=a(this).data("draggable"),e=a.extend({},c,{item:d.element});a.each(d.sortables,function(){this.instance.isOver?(this.instance.isOver=0,d.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(b),this.instance.options.helper=this.instance.options._helper,d.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",b,e))})},drag:function(b,c){var d=a(this).data("draggable"),e=this,f=function(b){var c=this.offset.click.top,d=this.offset.click.left,e=this.positionAbs.top,f=this.positionAbs.left,g=b.height,h=b.width,i=b.top,j=b.left;return a.ui.isOver(e+c,f+d,i,j,g,h)};a.each(d.sortables,function(f){this.instance.positionAbs=d.positionAbs,this.instance.helperProportions=d.helperProportions,this.instance.offset.click=d.offset.click,this.instance._intersectsWith(this.instance.containerCache)?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=a(e).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return c.helper[0]},b.target=this.instance.currentItem[0],this.instance._mouseCapture(b,!0),this.instance._mouseStart(b,!0,!0),this.instance.offset.click.top=d.offset.click.top,this.instance.offset.click.left=d.offset.click.left,this.instance.offset.parent.left-=d.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=d.offset.parent.top-this.instance.offset.parent.top,d._trigger("toSortable",b),d.dropped=this.instance.element,d.currentItem=d.element,this.instance.fromOutside=d),this.instance.currentItem&&this.instance._mouseDrag(b)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",b,this.instance._uiHash(this.instance)),this.instance._mouseStop(b,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),d._trigger("fromSortable",b),d.dropped=!1)})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c){var d=a("body"),e=a(this).data("draggable").options;d.css("cursor")&&(e._cursor=d.css("cursor")),d.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;d._cursor&&a("body").css("cursor",d._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("opacity")&&(e._opacity=d.css("opacity")),d.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;d._opacity&&a(c.helper).css("opacity",d._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(b,c){var d=a(this).data("draggable");d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"&&(d.overflowOffset=d.scrollParent.offset())},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=!1;if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML"){if(!e.axis||e.axis!="x")d.overflowOffset.top+d.scrollParent[0].offsetHeight-b.pageY<e.scrollSensitivity?d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(d.scrollParent[0].scrollTop=f=d.scrollParent[0].scrollTop-e.scrollSpeed);if(!e.axis||e.axis!="y")d.overflowOffset.left+d.scrollParent[0].offsetWidth-b.pageX<e.scrollSensitivity?d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(d.scrollParent[0].scrollLeft=f=d.scrollParent[0].scrollLeft-e.scrollSpeed)}else{if(!e.axis||e.axis!="x")b.pageY-a(document).scrollTop()<e.scrollSensitivity?f=a(document).scrollTop(a(document).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<e.scrollSensitivity&&(f=a(document).scrollTop(a(document).scrollTop()+e.scrollSpeed));if(!e.axis||e.axis!="y")b.pageX-a(document).scrollLeft()<e.scrollSensitivity?f=a(document).scrollLeft(a(document).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<e.scrollSensitivity&&(f=a(document).scrollLeft(a(document).scrollLeft()+e.scrollSpeed))}f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c){var d=a(this).data("draggable"),e=d.options;d.snapElements=[],a(e.snap.constructor!=String?e.snap.items||":data(draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!=d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c){var d=a(this).data("draggable"),e=d.options,f=e.snapTolerance,g=c.offset.left,h=g+d.helperProportions.width,i=c.offset.top,j=i+d.helperProportions.height;for(var k=d.snapElements.length-1;k>=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f<g&&g<m+f&&n-f<i&&i<o+f||l-f<g&&g<m+f&&n-f<j&&j<o+f||l-f<h&&h<m+f&&n-f<i&&i<o+f||l-f<h&&h<m+f&&n-f<j&&j<o+f)){d.snapElements[k].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=!1;continue}if(e.snapMode!="inner"){var p=Math.abs(n-j)<=f,q=Math.abs(o-i)<=f,r=Math.abs(l-h)<=f,s=Math.abs(m-g)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n-d.helperProportions.height,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l-d.helperProportions.width}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m}).left-d.margins.left)}var t=p||q||r||s;if(e.snapMode!="outer"){var p=Math.abs(n-i)<=f,q=Math.abs(o-j)<=f,r=Math.abs(l-g)<=f,s=Math.abs(m-h)<=f;p&&(c.position.top=d._convertPositionTo("relative",{top:n,left:0}).top-d.margins.top),q&&(c.position.top=d._convertPositionTo("relative",{top:o-d.helperProportions.height,left:0}).top-d.margins.top),r&&(c.position.left=d._convertPositionTo("relative",{top:0,left:l}).left-d.margins.left),s&&(c.position.left=d._convertPositionTo("relative",{top:0,left:m-d.helperProportions.width}).left-d.margins.left)}!d.snapElements[k].snapping&&(p||q||r||s||t)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[k].item})),d.snapElements[k].snapping=p||q||r||s||t}}}),a.ui.plugin.add("draggable","stack",{start:function(b,c){var d=a(this).data("draggable").options,e=a.makeArray(a(d.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});if(!!e.length){var f=parseInt(e[0].style.zIndex)||0;a(e).each(function(a){this.style.zIndex=f+a}),this[0].style.zIndex=f+e.length}}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c){var d=a(c.helper),e=a(this).data("draggable").options;d.css("zIndex")&&(e._zIndex=d.css("zIndex")),d.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;d._zIndex&&a(c.helper).css("zIndex",d._zIndex)}})})(jQuery);/*
+ * jQuery UI Droppable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.mouse.js
+ * jquery.ui.draggable.js
+ */(function(a,b){a.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect"},_create:function(){var b=this.options,c=b.accept;this.isover=0,this.isout=1,this.accept=a.isFunction(c)?c:function(a){return a.is(c)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},a.ui.ddmanager.droppables[b.scope]=a.ui.ddmanager.droppables[b.scope]||[],a.ui.ddmanager.droppables[b.scope].push(this),b.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];for(var c=0;c<b.length;c++)b[c]==this&&b.splice(c,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(b,c){b=="accept"&&(this.accept=a.isFunction(c)?c:function(a){return a.is(c)}),a.Widget.prototype._setOption.apply(this,arguments)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;!!c&&(c.currentItem||c.element)[0]!=this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current;if(!d||(d.currentItem||d.element)[0]==this.element[0])return!1;var e=!1;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var b=a.data(this,"droppable");if(b.options.greedy&&!b.options.disabled&&b.options.scope==d.options.scope&&b.accept.call(b.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(b,{offset:b.element.offset()}),b.options.tolerance)){e=!0;return!1}});if(e)return!1;if(this.accept.call(this.element[0],d.currentItem||d.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d));return this.element}return!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.extend(a.ui.droppable,{version:"1.8.18"}),a.ui.intersect=function(b,c,d){if(!c.offset)return!1;var e=(b.positionAbs||b.position.absolute).left,f=e+b.helperProportions.width,g=(b.positionAbs||b.position.absolute).top,h=g+b.helperProportions.height,i=c.offset.left,j=i+c.proportions.width,k=c.offset.top,l=k+c.proportions.height;switch(d){case"fit":return i<=e&&f<=j&&k<=g&&h<=l;case"intersect":return i<e+b.helperProportions.width/2&&f-b.helperProportions.width/2<j&&k<g+b.helperProportions.height/2&&h-b.helperProportions.height/2<l;case"pointer":var m=(b.positionAbs||b.position.absolute).left+(b.clickOffset||b.offset.click).left,n=(b.positionAbs||b.position.absolute).top+(b.clickOffset||b.offset.click).top,o=a.ui.isOver(n,m,k,i,c.proportions.height,c.proportions.width);return o;case"touch":return(g>=k&&g<=l||h>=k&&h<=l||g<k&&h>l)&&(e>=i&&e<=j||f>=i&&f<=j||e<i&&f>j);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();droppablesLoop:for(var g=0;g<d.length;g++){if(d[g].options.disabled||b&&!d[g].accept.call(d[g].element[0],b.currentItem||b.element))continue;for(var h=0;h<f.length;h++)if(f[h]==d[g].element[0]){d[g].proportions.height=0;continue droppablesLoop}d[g].visible=d[g].element.css("display")!="none";if(!d[g].visible)continue;e=="mousedown"&&d[g]._activate.call(d[g],c),d[g].offset=d[g].element.offset(),d[g].proportions={width:d[g].element[0].offsetWidth,height:d[g].element[0].offsetHeight}}},drop:function(b,c){var d=!1;a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){!this.options||(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=1,this.isover=0,this._deactivate.call(this,c)))});return d},dragStart:function(b,c){b.element.parents(":not(body,html)").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var d=a.ui.intersect(b,this,this.options.tolerance),e=!d&&this.isover==1?"isout":d&&this.isover==0?"isover":null;if(!e)return;var f;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");g.length&&(f=a.data(g[0],"droppable"),f.greedyChild=e=="isover"?1:0)}f&&e=="isover"&&(f.isover=0,f.isout=1,f._out.call(f,c)),this[e]=1,this[e=="isout"?"isover":"isout"]=0,this[e=="isover"?"_over":"_out"].call(this,c),f&&e=="isout"&&(f.isout=0,f.isover=1,f._over.call(f,c))}})},dragStop:function(b,c){b.element.parents(":not(body,html)").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}}})(jQuery);/*
+ * jQuery UI Resizable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.resizable",a.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1e3},_create:function(){var b=this,c=this.options;this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e<d.length;e++){var f=a.trim(d[e]),g="ui-resizable-"+f,h=a('<div class="ui-resizable-handle '+g+'"></div>');/sw|se|ne|nw/.test(f)&&h.css({zIndex:++c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){c.disabled||(a(this).removeClass("ui-resizable-autohide"),b._handles.show())},function(){c.disabled||b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement);return this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b);return!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui());return!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove();return!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),e<h.maxWidth&&(h.maxWidth=e),g<h.maxHeight&&(h.maxHeight=g);this._vBoundaries=h},_updateCache:function(a){var b=this.options;this.offset=this.helper.offset(),d(a.left)&&(this.position.left=a.left),d(a.top)&&(this.position.top=a.top),d(a.height)&&(this.size.height=a.height),d(a.width)&&(this.size.width=a.width)},_updateRatio:function(a,b){var c=this.options,e=this.position,f=this.size,g=this.axis;d(a.height)?a.width=a.height*this.aspectRatio:d(a.width)&&(a.height=a.width/this.aspectRatio),g=="sw"&&(a.left=e.left+(f.width-a.width),a.top=null),g=="nw"&&(a.top=e.top+(f.height-a.height),a.left=e.left+(f.width-a.width));return a},_respectSize:function(a,b){var c=this.helper,e=this._vBoundaries,f=this._aspectRatio||b.shiftKey,g=this.axis,h=d(a.width)&&e.maxWidth&&e.maxWidth<a.width,i=d(a.height)&&e.maxHeight&&e.maxHeight<a.height,j=d(a.width)&&e.minWidth&&e.minWidth>a.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null);return a},_proportionallyResize:function(){var b=this.options;if(!!this._proportionallyResizeElements.length){var c=this.helper||this.element;for(var d=0;d<this._proportionallyResizeElements.length;d++){var e=this._proportionallyResizeElements[d];if(!this.borderDif){var f=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],g=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];this.borderDif=a.map(f,function(a,b){var c=parseInt(a,10)||0,d=parseInt(g[b],10)||0;return c+d})}if(a.browser.msie&&(!!a(c).is(":hidden")||!!a(c).parents(":hidden").length))continue;e.css({height:c.height()-this.borderDif[0]-this.borderDif[2]||0,width:c.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset();if(this._helper){this.helper=this.helper||a('<div style="overflow:hidden;"></div>');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.18"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!!i){e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/e.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*e.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);/*
+ * jQuery UI Selectable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy();return this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(!this.options.disabled){var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element});return!1}})}},_mouseDrag:function(b){var c=this;this.dragged=!0;if(!this.options.disabled){var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!!i&&i.element!=c.element[0]){var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.right<e||i.top>h||i.bottom<f):d.tolerance=="fit"&&(j=i.left>e&&i.right<g&&i.top>f&&i.bottom<h),j?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,c._trigger("selecting",b,{selecting:i.element}))):(i.selecting&&((b.metaKey||b.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),c._trigger("unselecting",b,{unselecting:i.element}))),i.selected&&!b.metaKey&&!b.ctrlKey&&!i.startselected&&(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,c._trigger("unselecting",b,{unselecting:i.element})))}});return!1}},_mouseStop:function(b){var c=this;this.dragged=!1;var d=this.options;a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove();return!1}}),a.extend(a.ui.selectable,{version:"1.8.18"})})(jQuery);/*
+ * jQuery UI Sortable 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f){e=a(this);return!1}});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}this.currentItem=e,this._removeCurrentsFromItems();return!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b);return!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<c.scrollSensitivity?this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop+c.scrollSpeed:b.pageY-this.overflowOffset.top<c.scrollSensitivity&&(this.scrollParent[0].scrollTop=d=this.scrollParent[0].scrollTop-c.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<c.scrollSensitivity?this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft+c.scrollSpeed:b.pageX-this.overflowOffset.left<c.scrollSensitivity&&(this.scrollParent[0].scrollLeft=d=this.scrollParent[0].scrollLeft-c.scrollSpeed)):(b.pageY-a(document).scrollTop()<c.scrollSensitivity?d=a(document).scrollTop(a(document).scrollTop()-c.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<c.scrollSensitivity&&(d=a(document).scrollTop(a(document).scrollTop()+c.scrollSpeed)),b.pageX-a(document).scrollLeft()<c.scrollSensitivity?d=a(document).scrollLeft(a(document).scrollLeft()-c.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<c.scrollSensitivity&&(d=a(document).scrollLeft(a(document).scrollLeft()+c.scrollSpeed))),d!==!1&&a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(var e=this.items.length-1;e>=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs;return!1},_mouseStop:function(b,c){if(!!b){a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem));return this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"=");return d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")});return d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+j<i&&b+k>f&&b+k<g;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?l:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left,b.width),e=c&&d,f=this._getDragVerticalDirection(),g=this._getDragHorizontalDirection();if(!e)return!1;return this.floating?g&&g=="right"||f=="down"?2:1:f&&(f=="down"?2:1)},_intersectsWithSides:function(b){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,b.top+b.height/2,b.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,b.left+b.width/2,b.width),e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return this.floating&&f?f=="right"&&d||f=="left"&&!d:e&&(e=="down"&&c||e=="up"&&!c)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a),this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(b){this.items=[],this.containers=[this];var c=this.items,d=this,e=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],f=this._connectWith();if(f&&this.ready)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i<m;i++){var n=a(l[i]);n.data(this.widgetName+"-item",k),c.push({item:n,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());for(var c=this.items.length-1;c>=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];e||(b.style.visibility="hidden");return b},update:function(a,b){if(!e||!!d.forcePlaceholderSize)b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!!c)if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.items[i][this.containers[d].floating?"left":"top"];Math.abs(j-h)<f&&(f=Math.abs(j-h),g=this.items[i])}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height());return d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.top<this.containment[1]||h-this.offset.click.top>this.containment[3]?h-this.offset.click.top<this.containment[1]?h+c.grid[1]:h-c.grid[1]:h:h;var i=this.originalPageX+Math.round((f-this.originalPageX)/c.grid[0])*c.grid[0];f=this.containment?i-this.offset.click.left<this.containment[0]||i-this.offset.click.left>this.containment[2]?i-this.offset.click.left<this.containment[0]?i+c.grid[0]:i-c.grid[0]:i:i}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:d.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:d.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this,f=this.counter;window.setTimeout(function(){f==e.counter&&e.refreshPositions(!d)},0)},_clear:function(b,c){this.reverting=!1;var d=[],e=this;!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var f in this._storedCSS)if(this._storedCSS[f]=="auto"||this._storedCSS[f]=="static")this._storedCSS[f]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!c&&d.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!c&&d.push(function(a){this._trigger("update",a,this._uiHash())});if(!a.ui.contains(this.element[0],this.currentItem[0])){c||d.push(function(a){this._trigger("remove",a,this._uiHash())});for(var f=this.containers.length-1;f>=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}return!1}c||this._trigger("beforeStop",b,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!=this.currentItem[0]&&this.helper.remove(),this.helper=null;if(!c){for(var f=0;f<d.length;f++)d[f].call(this,b);this._trigger("stop",b,this._uiHash())}this.fromOutside=!1;return!0},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}}),a.extend(a.ui.sortable,{version:"1.8.18"})})(jQuery);/*
+ * jQuery UI Accordion 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:!0,clearStyle:!1,collapsible:!1,event:"click",fillSpace:!1,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c.disabled||a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c.disabled||a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c.disabled||a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c.disabled||a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("<span></span>").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");(b.autoHeight||b.fillHeight)&&c.css("height","");return a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(!(this.options.disabled||b.altKey||b.ctrlKey)){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}if(f){a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus();return!1}return!0}},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];this._clickHandler({target:b},b);return this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(!d.disabled){if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return}},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!!g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;this.running||(this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data))}}),a.extend(a.ui.accordion,{version:"1.8.18",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size())b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);else{if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})}},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);/*
+ * jQuery UI Autocomplete 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.position.js
+ */(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!b.options.disabled&&!b.element.propAttr("readOnly")){d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._move("previous",c),c.preventDefault();break;case e.DOWN:b._move("next",c),c.preventDefault();break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){b.options.disabled||(b.selectedItem=null,b.previous=b.element.val())}).bind("blur.autocomplete",function(a){b.options.disabled||(clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150))}),this._initSource(),this.response=function(){return b._response.apply(b,arguments)},this.menu=a("<ul></ul>").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,d,e;a.isArray(this.options.source)?(d=this.options.source,this.source=function(b,c){c(a.ui.autocomplete.filter(d,b.term))}):typeof this.options.source=="string"?(e=this.options.source,this.source=function(d,f){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:e,data:d,dataType:"json",context:{autocompleteRequest:++c},success:function(a,b){this.autocompleteRequest===c&&f(a)},error:function(){this.autocompleteRequest===c&&f([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==!1)return this._search(a)},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.source({term:a},this.response)},_response:function(a){!this.options.disabled&&a&&a.length?(a=this._normalize(a),this._suggest(a),this._trigger("open")):this.close(),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.deactivate(),this._trigger("close",a))},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){if(b.length&&b[0].label&&b[0].value)return b;return a.map(b,function(b){if(typeof b=="string")return{label:b,value:b};return a.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(b){var c=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(c,b),this.menu.deactivate(),this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(new a.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItem(b,c)})},_renderItem:function(b,c){return a("<li></li>").data("item.autocomplete",c).append(a("<a></a>").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible"))this.search(null,b);else{if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)}},widget:function(){return this.menu.element}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){!a(c.target).closest(".ui-menu-item a").length||(c.preventDefault(),b.select(c))}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){!this.active||(this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null)},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active)this.activate(c,this.element.children(b));else{var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))}},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10}),result.length||(result=this.element.children(".ui-menu-item:first")),this.activate(b,result)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[a.fn.prop?"prop":"attr"]("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})}(jQuery);/*
+ * jQuery UI Button 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */(function(a,b){var c,d,e,f,g="ui-button ui-widget ui-state-default ui-corner-all",h="ui-state-hover ui-state-active ",i="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",j=function(){var b=a(this).find(":ui-button");setTimeout(function(){b.button("refresh")},1)},k=function(b){var c=b.name,d=b.form,e=a([]);c&&(d?e=a(d).find("[name='"+c+"']"):e=a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form}));return e};a.widget("ui.button",{options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",j),typeof this.options.disabled!="boolean"?this.options.disabled=!!this.element.propAttr("disabled"):this.element.propAttr("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var b=this,h=this.options,i=this.type==="checkbox"||this.type==="radio",l="ui-state-hover"+(i?"":" ui-state-active"),m="ui-state-focus";h.label===null&&(h.label=this.buttonElement.html()),this.buttonElement.addClass(g).attr("role","button").bind("mouseenter.button",function(){h.disabled||(a(this).addClass("ui-state-hover"),this===c&&a(this).addClass("ui-state-active"))}).bind("mouseleave.button",function(){h.disabled||a(this).removeClass(l)}).bind("click.button",function(a){h.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this.element.bind("focus.button",function(){b.buttonElement.addClass(m)}).bind("blur.button",function(){b.buttonElement.removeClass(m)}),i&&(this.element.bind("change.button",function(){f||b.refresh()}),this.buttonElement.bind("mousedown.button",function(a){h.disabled||(f=!1,d=a.pageX,e=a.pageY)}).bind("mouseup.button",function(a){!h.disabled&&(d!==a.pageX||e!==a.pageY)&&(f=!0)})),this.type==="checkbox"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).toggleClass("ui-state-active"),b.buttonElement.attr("aria-pressed",b.element[0].checked)}):this.type==="radio"?this.buttonElement.bind("click.button",function(){if(h.disabled||f)return!1;a(this).addClass("ui-state-active"),b.buttonElement.attr("aria-pressed","true");var c=b.element[0];k(c).not(c).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown.button",function(){if(h.disabled)return!1;a(this).addClass("ui-state-active"),c=this,a(document).one("mouseup",function(){c=null})}).bind("mouseup.button",function(){if(h.disabled)return!1;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(b){if(h.disabled)return!1;(b.keyCode==a.ui.keyCode.SPACE||b.keyCode==a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",h.disabled),this._resetButton()},_determineButtonType:function(){this.element.is(":checkbox")?this.type="checkbox":this.element.is(":radio")?this.type="radio":this.element.is("input")?this.type="input":this.type="button";if(this.type==="checkbox"||this.type==="radio"){var a=this.element.parents().filter(":last"),b="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible");var c=this.element.is(":checked");c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.attr("aria-pressed",c)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(g+" "+h+" "+i).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title"),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);b==="disabled"?c?this.element.propAttr("disabled",!0):this.element.propAttr("disabled",!1):this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b),this.type==="radio"?k(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):this.type==="checkbox"&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass(i),c=a("<span></span>",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>"),d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>"),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);/*
+ * jQuery UI Dialog 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ * jquery.ui.button.js
+ * jquery.ui.draggable.js
+ * jquery.ui.mouse.js
+ * jquery.ui.position.js
+ * jquery.ui.resizable.js
+ */(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},f=a.attrFn||{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0,click:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||"&#160;",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("<div></div>")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){b.close(a);return!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("<span></span>")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("<span></span>").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1!==c._trigger("beforeClose",b)){c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d);return c}},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;if(e.modal&&!b||!e.stack&&!e.modal)return d._trigger("focus",c);e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c);return d},open:function(){if(!this._isOpen){var b=this,c=b.options,d=b.uiDialog;b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode===a.ui.keyCode.TAB){var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey){d.focus(1);return!1}if(b.target===d[0]&&b.shiftKey){e.focus(1);return!1}}}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open");return b}},_createButtons:function(b){var c=this,d=!1,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=a("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('<button type="button"></button>').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(g);a.each(d,function(a,b){a!=="click"&&(a in f?e[a](b):e.attr(a,b))}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||"&#160;"))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.18",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");b||(this.uuid+=1,b=this.uuid);return"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()<a.ui.dialog.overlay.maxZ)return!1})},1),a(document).bind("keydown.dialog-overlay",function(c){b.options.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}),a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize));var c=(this.oldInstances.pop()||a("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});a.fn.bgiframe&&c.bgiframe(),this.instances.push(c);return c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;if(a.browser.msie&&a.browser.version<7){b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return b<c?a(window).height()+"px":b+"px"}return a(document).height()+"px"},width:function(){var b,c;if(a.browser.msie){b=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),c=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return b<c?a(window).width()+"px":b+"px"}return a(document).width()+"px"},resize:function(){var b=a([]);a.each(a.ui.dialog.overlay.instances,function(){b=b.add(this)}),b.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(),height:a.ui.dialog.overlay.height()})}}),a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);/*
+ * jQuery UI Slider 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */(function(a,b){var c=5;a.widget("ui.slider",a.ui.mouse,{widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null},_create:function(){var b=this,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",g=d.values&&d.values.length||1,h=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"+(d.disabled?" ui-slider-disabled ui-disabled":"")),this.range=a([]),d.range&&(d.range===!0&&(d.values||(d.values=[this._valueMin(),this._valueMin()]),d.values.length&&d.values.length!==2&&(d.values=[d.values[0],d.values[0]])),this.range=a("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;i<g;i+=1)h.push(f);this.handles=e.add(a(h.join("")).appendTo(b.element)),this.handle=this.handles.eq(0),this.handles.add(this.range).filter("a").click(function(a){a.preventDefault()}).hover(function(){d.disabled||a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){d.disabled?a(this).blur():(a(".ui-slider .ui-state-focus").removeClass("ui-state-focus"),a(this).addClass("ui-state-focus"))}).blur(function(){a(this).removeClass("ui-state-focus")}),this.handles.each(function(b){a(this).data("index.ui-slider-handle",b)}),this.handles.keydown(function(d){var e=a(this).data("index.ui-slider-handle"),f,g,h,i;if(!b.options.disabled){switch(d.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:d.preventDefault();if(!b._keySliding){b._keySliding=!0,a(this).addClass("ui-state-active"),f=b._start(d,e);if(f===!1)return}}i=b.options.step,b.options.values&&b.options.values.length?g=h=b.values(e):g=h=b.value();switch(d.keyCode){case a.ui.keyCode.HOME:h=b._valueMin();break;case a.ui.keyCode.END:h=b._valueMax();break;case a.ui.keyCode.PAGE_UP:h=b._trimAlignValue(g+(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(g-(b._valueMax()-b._valueMin())/c);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g===b._valueMax())return;h=b._trimAlignValue(g+i);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g===b._valueMin())return;h=b._trimAlignValue(g-i)}b._slide(d,e,h)}}).keyup(function(c){var d=a(this).data("index.ui-slider-handle");b._keySliding&&(b._keySliding=!1,b._stop(c,d),b._change(c,d),a(this).removeClass("ui-state-active"))}),this._refreshValue(),this._animateOff=!1},destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"),this._mouseDestroy();return this},_mouseCapture:function(b){var c=this.options,d,e,f,g,h,i,j,k,l;if(c.disabled)return!1;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),d={x:b.pageX,y:b.pageY},e=this._normValueFromMouse(d),f=this._valueMax()-this._valueMin()+1,h=this,this.handles.each(function(b){var c=Math.abs(e-h.values(b));f>c&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i);if(j===!1)return!1;this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0;return!0},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);this._slide(a,this._handleIndex,c);return!1},_mouseStop:function(a){this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1;return!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e;return this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values());return this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c<d)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c,!0))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("change",a,c)}},value:function(a){if(arguments.length)this.options.value=this._trimAlignValue(a),this._refreshValue(),this._change(null,0);else return this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);else{if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()}},_setOption:function(b,c){var d,e=0;a.isArray(this.options.values)&&(e=this.options.values.length),a.Widget.prototype._setOption.apply(this,arguments);switch(b){case"disabled":c?(this.handles.filter(".ui-state-focus").blur(),this.handles.removeClass("ui-state-hover"),this.handles.propAttr("disabled",!0),this.element.addClass("ui-disabled")):(this.handles.propAttr("disabled",!1),this.element.removeClass("ui-disabled"));break;case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":this._animateOff=!0,this._refreshValue();for(d=0;d<e;d+=1)this._change(null,d);this._animateOff=!1}},_value:function(){var a=this.options.value;a=this._trimAlignValue(a);return a},_values:function(a){var b,c,d;if(arguments.length){b=this.options.values[a],b=this._trimAlignValue(b);return b}c=this.options.values.slice();for(d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;Math.abs(c)*2>=b&&(d+=c>0?b:-b);return parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.18"})})(jQuery);/*
+ * jQuery UI Tabs 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */(function(a,b){function f(){return++d}function e(){return++c}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash){e.selected=a;return!1}}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1){this.blur();return!1}e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected")){e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur();return!1}if(!f.length){e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur();return!1}}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$="+a+"]")));return a},destroy:function(){var b=this.options;this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie);return this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1<this.anchors.length?1:-1)),c.disabled=a.map(a.grep(c.disabled,function(a,c){return a!=b}),function(a,c){return a>=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0]));return this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a])));return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup();return this},url:function(a,b){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b);return this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.18"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a<c.anchors.length?a:0)},a),b&&b.stopPropagation()}),f=c._unrotate||(c._unrotate=b?function(a){t=d.selected,e()}:function(a){a.clientX&&c.rotate(null)});a?(this.element.bind("tabsshow",e),this.anchors.bind(d.event+".tabs",f),e()):(clearTimeout(c.rotation),this.element.unbind("tabsshow",e),this.anchors.unbind(d.event+".tabs",f),delete this._rotate,delete this._unrotate);return this}})})(jQuery);/*
+ * jQuery UI Datepicker 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ * jquery.ui.core.js
+ */(function($,undefined){function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);!c.length||c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);!$.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])&&!!d.length&&(d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover"))})}function Datepicker(){this.debug=!1,this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},$.extend(this._defaults,this.regional[""]),this.dpDiv=bindHover($('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}$.extend($.ui,{datepicker:{version:"1.8.18"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){extendRemove(this._defaults,a||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);c.hasClass(this.markerClassName)||(this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a))},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$('<span class="'+this._appendClass+'">'+c+"</span>"),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("<img/>").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('<button type="button"></button>').addClass(this._triggerClass).html(g==""?f:$("<img/>").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){$.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]);return!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;d<a.length;d++)a[d].length>b&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);c.hasClass(this.markerClassName)||(c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block"))},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$('<input type="text" id="'+g+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>'),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f);return this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})}},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!!b.hasClass(this.markerClassName)){var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return!0;return!1},_getInst:function(a){try{return $.data(a,PROP_NAME)}catch(b){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(a,b,c){var d=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?$.extend({},$.datepicker._defaults):d?b=="all"?$.extend({},d.settings):this._get(d,b):null;var e=b||{};typeof b=="string"&&(e={},e[b]=c);if(d){this._curInst==d&&this._hideDatepicker();var f=this._getDateDatepicker(a,!0),g=this._getMinMaxDate(d,"min"),h=this._getMinMaxDate(d,"max");extendRemove(d.settings,e),g!==null&&e.dateFormat!==undefined&&e.minDate===undefined&&(d.settings.minDate=this._formatDate(d,g)),h!==null&&e.dateFormat!==undefined&&e.maxDate===undefined&&(d.settings.maxDate=this._formatDate(d,h)),this._attachments($(a),d),this._autoSize(d),this._setDate(d,f),this._updateAlternate(d),this._updateDatepicker(d)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);c&&!c.inline&&this._setDateFromField(c,b);return c?this._getDate(c):null},_doKeyDown:function(a){var b=$.datepicker._getInst(a.target),c=!0,d=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=!0;if($.datepicker._datepickerShowing)switch(a.keyCode){case 9:$.datepicker._hideDatepicker(),c=!1;break;case 13:var e=$("td."+$.datepicker._dayOverClass+":not(."+$.datepicker._currentClass+")",b.dpDiv);e[0]&&$.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,e[0]);var f=$.datepicker._get(b,"onSelect");if(f){var g=$.datepicker._formatDate(b);f.apply(b.input?b.input[0]:null,[g,b])}else $.datepicker._hideDatepicker();return!1;case 27:$.datepicker._hideDatepicker();break;case 33:$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 34:$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 35:(a.ctrlKey||a.metaKey)&&$.datepicker._clearDate(a.target),c=a.ctrlKey||a.metaKey;break;case 36:(a.ctrlKey||a.metaKey)&&$.datepicker._gotoToday(a.target),c=a.ctrlKey||a.metaKey;break;case 37:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?1:-1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?-$.datepicker._get(b,"stepBigMonths"):-$.datepicker._get(b,"stepMonths"),"M");break;case 38:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,-7,"D"),c=a.ctrlKey||a.metaKey;break;case 39:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,d?-1:1,"D"),c=a.ctrlKey||a.metaKey,a.originalEvent.altKey&&$.datepicker._adjustDate(a.target,a.ctrlKey?+$.datepicker._get(b,"stepBigMonths"):+$.datepicker._get(b,"stepMonths"),"M");break;case 40:(a.ctrlKey||a.metaKey)&&$.datepicker._adjustDate(a.target,7,"D"),c=a.ctrlKey||a.metaKey;break;default:c=!1}else a.keyCode==36&&a.ctrlKey?$.datepicker._showDatepicker(this):c=!1;c&&(a.preventDefault(),a.stopPropagation())},_doKeyPress:function(a){var b=$.datepicker._getInst(a.target);if($.datepicker._get(b,"constrainInput")){var c=$.datepicker._possibleChars($.datepicker._get(b,"dateFormat")),d=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||d<" "||!c||c.indexOf(d)>-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(a){$.datepicker.log(a)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if(!$.datepicker._isDisabledDatepicker(a)&&$.datepicker._lastInput!=a){var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){e|=$(this).css("position")=="fixed";return!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0);return b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=$.data(a,PROP_NAME))&&this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=this,f=function(){$.datepicker._tidyDialog(b),e._curInst=null};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,f):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,f),c||f(),this._datepickerShowing=!1;var g=this._get(b,"onClose");g&&g.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!!$.datepicker._curInst){var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);this._isDisabledDatepicker(d[0])||(this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e))},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if(!$(d).hasClass(this._unselectableClass)&&!this._isDisabledDatepicker(e[0])){var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();b.setMonth(0),b.setDate(1);return Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1<a.length&&a.charAt(s+1)==b;c&&s++;return c},o=function(a){var c=n(a),d=a=="@"?14:a=="!"?20:a=="y"&&c?4:a=="o"?3:2,e=new RegExp("^\\d{1,"+d+"}"),f=b.substring(r).match(e);if(!f)throw"Missing number at position "+r;r+=f[0].length;return parseInt(f[0],10)},p=function(a,c,d){var e=$.map(n(a)?d:c,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)}),f=-1;$.each(e,function(a,c){var d=c[1];if(b.substr(r,d.length).toLowerCase()==d.toLowerCase()){f=c[0],r+=d.length;return!1}});if(f!=-1)return f+1;throw"Unknown name at position "+r},q=function(){if(b.charAt(r)!=a.charAt(s))throw"Unexpected literal at position "+r;r++},r=0;for(var s=0;s<a.length;s++)if(m)a.charAt(s)=="'"&&!n("'")?m=!1:q();else switch(a.charAt(s)){case"d":k=o("d");break;case"D":p("D",e,f);break;case"o":l=o("o");break;case"m":j=o("m");break;case"M":j=p("M",g,h);break;case"y":i=o("y");break;case"@":var t=new Date(o("@"));i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"!":var t=new Date((o("!")-this._ticksTo1970)/1e4);i=t.getFullYear(),j=t.getMonth()+1,k=t.getDate();break;case"'":n("'")?q():m=!0;break;default:q()}if(r<b.length)throw"Extra/unparsed characters found in date: "+b.substring(r);i==-1?i=(new Date).getFullYear():i<100&&(i+=(new Date).getFullYear()-(new Date).getFullYear()%100+(i<=d?0:-100));if(l>-1){j=1,k=l;for(;;){var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+1<a.length&&a.charAt(m+1)==b;c&&m++;return c},i=function(a,b,c){var d=""+b;if(h(a))while(d.length<c)d="0"+d;return d},j=function(a,b,c,d){return h(a)?d[b]:c[b]},k="",l=!1;if(b)for(var m=0;m<a.length;m++)if(l)a.charAt(m)=="'"&&!h("'")?l=!1:k+=a.charAt(m);else switch(a.charAt(m)){case"d":k+=i("d",b.getDate(),2);break;case"D":k+=j("D",b.getDay(),d,e);break;case"o":k+=i("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864e5),3);break;case"m":k+=i("m",b.getMonth()+1,2);break;case"M":k+=j("M",b.getMonth(),f,g);break;case"y":k+=h("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":k+=b.getTime();break;case"!":k+=b.getTime()*1e4+this._ticksTo1970;break;case"'":h("'")?k+="'":l=!0;break;default:k+=a.charAt(m)}return k},_possibleChars:function(a){var b="",c=!1,d=function(b){var c=e+1<a.length&&a.charAt(e+1)==b;c&&e++;return c};for(var e=0;e<a.length;e++)if(c)a.charAt(e)=="'"&&!d("'")?c=!1:b+=a.charAt(e);else switch(a.charAt(e)){case"d":case"m":case"y":case"@":b+="0123456789";break;case"D":case"M":return null;case"'":d("'")?b+="'":c=!0;break;default:b+=a.charAt(e)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e,f;e=f=this._getDefaultDate(a);var g=this._getFormatConfig(a);try{e=this.parseDate(c,d,g)||f}catch(h){this.log(h),d=b?"":d}a.selectedDay=e.getDate(),a.drawMonth=a.selectedMonth=e.getMonth(),a.drawYear=a.selectedYear=e.getFullYear(),a.currentDay=d?e.getDate():0,a.currentMonth=d?e.getMonth():0,a.currentYear=d?e.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var d=function(a){var b=new Date;b.setDate(b.getDate()+a);return b},e=function(b){try{return $.datepicker.parseDate($.datepicker._get(a,"dateFormat"),b,$.datepicker._getFormatConfig(a))}catch(c){}var d=(b.toLowerCase().match(/^c/)?$.datepicker._getDate(a):null)||new Date,e=d.getFullYear(),f=d.getMonth(),g=d.getDate(),h=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,i=h.exec(b);while(i){switch(i[2]||"d"){case"d":case"D":g+=parseInt(i[1],10);break;case"w":case"W":g+=parseInt(i[1],10)*7;break;case"m":case"M":f+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f));break;case"y":case"Y":e+=parseInt(i[1],10),g=Math.min(g,$.datepicker._getDaysInMonth(e,f))}i=h.exec(b)}return new Date(e,f,g)},f=b==null||b===""?c:typeof b=="string"?e(b):typeof b=="number"?isNaN(b)?c:d(b):new Date(b.getTime());f=f&&f.toString()=="Invalid Date"?c:f,f&&(f.setHours(0),f.setMinutes(0),f.setSeconds(0),f.setMilliseconds(0));return this._daylightSavingAdjust(f)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&p<l?l:p;while(this._daylightSavingAdjust(new Date(o,n,1))>p)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', -"+i+", 'M');\""+' title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>":e?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+q+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+q+"</span></a>",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._adjustDate('#"+a.id+"', +"+i+", 'M');\""+' title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":e?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+dpuuid+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>",x=d?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?w:"")+(this._isInRange(a,v)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+dpuuid+".datepicker._gotoToday('#"+a.id+"');\""+">"+u+"</button>":"")+(c?"":w)+"</div>":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L<g[0];L++){var M="";this.maxRows=4;for(var N=0;N<g[1];N++){var O=this._daylightSavingAdjust(new Date(o,n,a.selectedDay)),P=" ui-corner-all",Q="";if(j){Q+='<div class="ui-datepicker-group';if(g[1]>1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+P+'">'+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'</div><table class="ui-datepicker-calendar"><thead>'+"<tr>";var R=z?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="<th"+((S+y+6)%7>=5?' class="ui-datepicker-week-end"':"")+">"+'<span title="'+A[T]+'">'+C[T]+"</span></th>"}Q+=R+"</tr></thead><tbody>";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z<X;Z++){Q+="<tr>";var _=z?'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(Y)+"</td>":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Y<l||m&&Y>m;_+='<td class="'+((S+y+6)%7>=5?" ui-datepicker-week-end":"")+(bb?" ui-datepicker-other-month":"")+(Y.getTime()==O.getTime()&&n==a.selectedMonth&&a._keyEvent||J.getTime()==Y.getTime()&&J.getTime()==O.getTime()?" "+this._dayOverClass:"")+(bc?" "+this._unselectableClass+" ui-state-disabled":"")+(bb&&!G?"":" "+ba[1]+(Y.getTime()==k.getTime()?" "+this._currentClass:"")+(Y.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!bb||G)&&ba[2]?' title="'+ba[2]+'"':"")+(bc?"":' onclick="DP_jQuery_'+dpuuid+".datepicker._selectDay('#"+a.id+"',"+Y.getMonth()+","+Y.getFullYear()+', this);return false;"')+">"+(bb&&!G?"&#xa0;":bc?'<span class="ui-state-default">'+Y.getDate()+"</span>":'<a class="ui-state-default'+(Y.getTime()==b.getTime()?" ui-state-highlight":"")+(Y.getTime()==k.getTime()?" ui-state-active":"")+(bb?" ui-priority-secondary":"")+'" href="#">'+Y.getDate()+"</a>")+"</td>",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+"</tr>"}n++,n>11&&(n=0,o++),Q+="</tbody></table>"+(j?"</div>"+(g[0]>0&&N==g[1]-1?'<div class="ui-datepicker-row-break"></div>':""):""),M+=Q}K+=M}K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':""),
+a._keyEvent=!1;return K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='<div class="ui-datepicker-title">',m="";if(f||!i)m+='<span class="ui-datepicker-month">'+g[b]+"</span>";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" "+">";for(var p=0;p<12;p++)(!n||p>=d.getMonth())&&(!o||p<=e.getMonth())&&(m+='<option value="'+p+'"'+(p==b?' selected="selected"':"")+">"+h[p]+"</option>");m+="</select>"}k||(l+=m+(f||!i||!j?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+='<span class="ui-datepicker-year">'+c+"</span>";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+dpuuid+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" "+">";for(;t<=u;t++)a.yearshtml+='<option value="'+t+'"'+(t==c?' selected="selected"':"")+">"+t+"</option>";a.yearshtml+="</select>",l+=a.yearshtml,a.yearshtml=null}}l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?"&#xa0;":"")+m),l+="</div>";return l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;e=d&&e>d?d:e;return e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth()));return this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return $.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)})},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.18",window["DP_jQuery_"+dpuuid]=$})(jQuery);/*
+ * jQuery UI Progressbar 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.widget.js
+ */(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===b)return this._value();this._setOption("value",a);return this},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;typeof a!="number"&&(a=0);return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.18"})})(jQuery);/*
+ * jQuery UI Effects 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */jQuery.effects||function(a,b){function l(b){if(!b||typeof b=="number"||a.fx.speeds[b])return!0;if(typeof b=="string"&&!a.effects[b])return!0;return!1}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete;return[b,c,d,e]}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function d(b,d){var e;do{e=a.curCSS(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function c(b){var c;if(b&&b.constructor==Array&&b.length==3)return b;if(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];if(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))return[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55];if(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];if(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];if(c=/rgba\(0, 0, 0, 0\)/.exec(b))return e.transparent;return e[a.trim(b).toLowerCase()]}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){a.isFunction(d)&&(e=d,d=null);return this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class");a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.18",save:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.data("ec.storage."+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c=0;c<b.length;c++)b[c]!==null&&a.css(b[c],a.data("ec.storage."+b[c]))},setMode:function(a,b){b=="toggle"&&(b=a.is(":hidden")?"show":"hide");return b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"}));return d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;if(b.parent().is(".ui-effects-wrapper")){c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus();return c}return b},setTransition:function(b,c,d,e){e=e||{},a.each(c,function(a,c){unit=b.cssUnit(c),unit[0]>0&&(e[c]=unit[0]*d+unit[1])});return e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];if(a.fx.off||!i)return h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)});return i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="show";return this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);b[1].mode="hide";return this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);c[1].mode="toggle";return this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])});return d}}),a.easing.jswing=a.easing.swing,a.extend(a.easing,{def:"easeOutQuad",swing:function(b,c,d,e,f){return a.easing[a.easing.def](b,c,d,e,f)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g))+c},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e)==1)return c+d;g||(g=e*.3);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*b)*Math.sin((b*e-f)*2*Math.PI/g)+d+c},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;if(b==0)return c;if((b/=e/2)==2)return c+d;g||(g=e*.3*1.5);if(h<Math.abs(d)){h=d;var f=g/4}else var f=g/(2*Math.PI)*Math.asin(d/h);if(b<1)return-0.5*h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)+c;return h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*2*Math.PI/g)*.5+d+c},easeInBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*(c/=f)*c*((g+1)*c-g)+d},easeOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);return e*((c=c/f-1)*c*((g+1)*c+g)+1)+d},easeInOutBack:function(a,c,d,e,f,g){g==b&&(g=1.70158);if((c/=f/2)<1)return e/2*c*c*(((g*=1.525)+1)*c-g)+d;return e/2*((c-=2)*c*(((g*=1.525)+1)*c+g)+2)+d},easeInBounce:function(b,c,d,e,f){return e-a.easing.easeOutBounce(b,f-c,0,e,f)+d},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*7.5625*b*b+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(b,c,d,e,f){if(c<f/2)return a.easing.easeInBounce(b,c*2,0,e,f)*.5+d;return a.easing.easeOutBounce(b,c*2-f,0,e,f)*.5+e*.5+d}})}(jQuery);/*
+ * jQuery UI Effects Blind 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
+ * jQuery UI Effects Bounce 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight({margin:!0})/3:c.outerWidth({margin:!0})/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m<h;m++){var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing),g=e=="hide"?g*2:g/2}if(e=="hide"){var l={opacity:0};l[j]=(k=="pos"?"-=":"+=")+g,c.animate(l,i/2,b.options.easing,function(){c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}else{var n={},p={};n[j]=(k=="pos"?"-=":"+=")+g,p[j]=(k=="pos"?"+=":"-=")+g,c.animate(n,i/2,b.options.easing).animate(p,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)})}c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
+ * jQuery UI Effects Clip 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.clip=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","height","width"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=c[0].tagName=="IMG"?g:c,i={size:f=="vertical"?"height":"width",position:f=="vertical"?"top":"left"},j=f=="vertical"?h.height():h.width();e=="show"&&(h.css(i.size,0),h.css(i.position,j/2));var k={};k[i.size]=e=="show"?j:0,k[i.position]=e=="show"?0:j/2,h.animate(k,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Drop 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.drop=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","opacity"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0})/2:c.outerWidth({margin:!0})/2);e=="show"&&c.css("opacity",0).css(g,h=="pos"?-i:i);var j={opacity:e=="show"?1:0};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Explode 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.explode=function(b){return this.queue(function(){var c=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3,d=b.options.pieces?Math.round(Math.sqrt(b.options.pieces)):3;b.options.mode=b.options.mode=="toggle"?a(this).is(":visible")?"hide":"show":b.options.mode;var e=a(this).show().css("visibility","hidden"),f=e.offset();f.top-=parseInt(e.css("marginTop"),10)||0,f.left-=parseInt(e.css("marginLeft"),10)||0;var g=e.outerWidth(!0),h=e.outerHeight(!0);for(var i=0;i<c;i++)for(var j=0;j<d;j++)e.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);/*
+ * jQuery UI Effects Fade 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fade
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Fold 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);/*
+ * jQuery UI Effects Highlight 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Pulsate 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show");times=(b.options.times||5)*2-1,duration=b.duration?b.duration/2:a.fx.speeds._default/2,isVisible=c.is(":visible"),animateTo=0,isVisible||(c.css("opacity",0).show(),animateTo=1),(d=="hide"&&isVisible||d=="show"&&!isVisible)&&times--;for(var e=0;e<times;e++)c.animate({opacity:animateTo},duration,b.options.easing),animateTo=(animateTo+1)%2;c.animate({opacity:animateTo},duration,b.options.easing,function(){animateTo==0&&c.hide(),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}).dequeue()})}})(jQuery);/*
+ * jQuery UI Effects Scale 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.puff=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide"),e=parseInt(b.options.percent,10)||150,f=e/100,g={height:c.height(),width:c.width()};a.extend(b.options,{fade:!0,mode:d,percent:d=="hide"?e:100,from:d=="hide"?g:{height:g.height*f,width:g.width*f}}),c.effect("scale",b.options,b.duration,b.callback),c.dequeue()})},a.effects.scale=function(b){return this.queue(function(){var c=a(this),d=a.extend(!0,{},b.options),e=a.effects.setMode(c,b.options.mode||"effect"),f=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:e=="hide"?0:100),g=b.options.direction||"both",h=b.options.origin;e!="effect"&&(d.origin=h||["middle","center"],d.restore=!0);var i={height:c.height(),width:c.width()};c.from=b.options.from||(e=="show"?{height:0,width:0}:i);var j={y:g!="horizontal"?f/100:1,x:g!="vertical"?f/100:1};c.to={height:i.height*j.y,width:i.width*j.x},b.options.fade&&(e=="show"&&(c.from.opacity=0,c.to.opacity=1),e=="hide"&&(c.from.opacity=1,c.to.opacity=0)),d.from=c.from,d.to=c.to,d.mode=e,c.effect("size",d,b.duration,b.callback),c.dequeue()})},a.effects.size=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right","width","height","overflow","opacity"],e=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],g=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],j=a.effects.setMode(c,b.options.mode||"effect"),k=b.options.restore||!1,l=b.options.scale||"both",m=b.options.origin,n={height:c.height(),width:c.width()};c.from=b.options.from||n,c.to=b.options.to||n;if(m){var p=a.effects.getBaseline(m,n);c.from.top=(n.height-c.from.height)*p.y,c.from.left=(n.width-c.from.width)*p.x,c.to.top=(n.height-c.to.height)*p.y,c.to.left=(n.width-c.to.width)*p.x}var q={from:{y:c.from.height/n.height,x:c.from.width/n.width},to:{y:c.to.height/n.height,x:c.to.width/n.width}};if(l=="box"||l=="both")q.from.y!=q.to.y&&(d=d.concat(h),c.from=a.effects.setTransition(c,h,q.from.y,c.from),c.to=a.effects.setTransition(c,h,q.to.y,c.to)),q.from.x!=q.to.x&&(d=d.concat(i),c.from=a.effects.setTransition(c,i,q.from.x,c.from),c.to=a.effects.setTransition(c,i,q.to.x,c.to));(l=="content"||l=="both")&&q.from.y!=q.to.y&&(d=d.concat(g),c.from=a.effects.setTransition(c,g,q.from.y,c.from),c.to=a.effects.setTransition(c,g,q.to.y,c.to)),a.effects.save(c,k?d:e),c.show(),a.effects.createWrapper(c),c.css("overflow","hidden").css(c.from);if(l=="content"||l=="both")h=h.concat(["marginTop","marginBottom"]).concat(g),i=i.concat(["marginLeft","marginRight"]),f=d.concat(h).concat(i),c.find("*[width]").each(function(){child=a(this),k&&a.effects.save(child,f);var c={height:child.height(),width:child.width()};child.from={height:c.height*q.from.y,width:c.width*q.from.x},child.to={height:c.height*q.to.y,width:c.width*q.to.x},q.from.y!=q.to.y&&(child.from=a.effects.setTransition(child,h,q.from.y,child.from),child.to=a.effects.setTransition(child,h,q.to.y,child.to)),q.from.x!=q.to.x&&(child.from=a.effects.setTransition(child,i,q.from.x,child.from),child.to=a.effects.setTransition(child,i,q.to.x,child.to)),child.css(child.from),child.animate(child.to,b.duration,b.options.easing,function(){k&&a.effects.restore(child,f)})});c.animate(c.to,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){c.to.opacity===0&&c.css("opacity",c.from.opacity),j=="hide"&&c.hide(),a.effects.restore(c,k?d:e),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Shake 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.shake=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"left",g=b.options.distance||20,h=b.options.times||3,i=b.duration||b.options.duration||140;a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",l={},m={},n={};l[j]=(k=="pos"?"-=":"+=")+g,m[j]=(k=="pos"?"+=":"-=")+g*2,n[j]=(k=="pos"?"-=":"+=")+g*2,c.animate(l,i,b.options.easing);for(var p=1;p<h;p++)c.animate(m,i,b.options.easing).animate(n,i,b.options.easing);c.animate(m,i,b.options.easing).animate(l,i/2,b.options.easing,function(){a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments)}),c.queue("fx",function(){c.dequeue()}),c.dequeue()})}})(jQuery);/*
+ * jQuery UI Effects Slide 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.slide=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"show"),f=b.options.direction||"left";a.effects.save(c,d),c.show(),a.effects.createWrapper(c).css({overflow:"hidden"});var g=f=="up"||f=="down"?"top":"left",h=f=="up"||f=="left"?"pos":"neg",i=b.options.distance||(g=="top"?c.outerHeight({margin:!0}):c.outerWidth({margin:!0}));e=="show"&&c.css(g,h=="pos"?isNaN(i)?"-"+i:-i:i);var j={};j[g]=(e=="show"?h=="pos"?"+=":"-=":h=="pos"?"-=":"+=")+i,c.animate(j,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);/*
+ * jQuery UI Effects Transfer 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ * jquery.effects.core.js
+ */(function(a,b){a.effects.transfer=function(b){return this.queue(function(){var c=a(this),d=a(b.options.to),e=d.offset(),f={top:e.top,left:e.left,height:d.innerHeight(),width:d.innerWidth()},g=c.offset(),h=a('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery); \ No newline at end of file
diff --git a/public/admin/stylesheets/admin.css b/public/admin/stylesheets/admin.css
new file mode 100644
index 000000000..9c98ac432
--- /dev/null
+++ b/public/admin/stylesheets/admin.css
@@ -0,0 +1,1005 @@
+/* $iconSpritePath: image-url('glyphicons-halflings.png');
+$iconWhiteSpritePath: image-url('glyphicons-halflings-white.png'); */
+/* As we're namespacing bootstrap to class admin, which is applied to the body element in the admin interface (no id or class allowed on the HTML element in HTML 4.01) and to the navbar also, so it can be styled with bootstrap when showing for admin users on the front end, re-apply the bootstrap html and body styles here.
+*/
+html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
+
+body.admin { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
+
+/* When the admin stylesheet is loaded (and so the user is seeing the admin navbar), pad the banner of the front end interface so that it isn't hidden, and move any special notice down too.
+*/
+.entirebody, #banner { padding-top: 50px; }
+
+#special-notice { margin-top: 50px; }
+
+.admin { /*
+ * Bootstrap v2.2.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */ /* Allow for input prepend/append in search forms */ /* White icons with optional class, or on hover/active states of certain elements */ /* move down carets for tabs */ @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; }
+ to { background-position: 0 0; } }
+ @-moz-keyframes progress-bar-stripes { from { background-position: 40px 0; }
+ to { background-position: 0 0; } }
+ @-ms-keyframes progress-bar-stripes { from { background-position: 40px 0; }
+ to { background-position: 0 0; } }
+ @-o-keyframes progress-bar-stripes { from { background-position: 0 0; }
+ to { background-position: 40px 0; } }
+ @keyframes progress-bar-stripes { from { background-position: 40px 0; }
+ to { background-position: 0 0; } }
+ }
+.admin article, .admin aside, .admin details, .admin figcaption, .admin figure, .admin footer, .admin header, .admin hgroup, .admin nav, .admin section { display: block; }
+.admin audio, .admin canvas, .admin video { display: inline-block; *display: inline; *zoom: 1; }
+.admin audio:not([controls]) { display: none; }
+.admin html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
+.admin a:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
+.admin a:hover, .admin a:active { outline: 0; }
+.admin sub, .admin sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
+.admin sup { top: -0.5em; }
+.admin sub { bottom: -0.25em; }
+.admin img { /* Responsive images (ensure images don't scale beyond their parents) */ max-width: 100%; /* Part 1: Set a maxium relative to the parent */ width: auto\9; /* IE7-8 need help adjusting responsive images */ height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; }
+.admin #map_canvas img, .admin .google-maps img { max-width: none; }
+.admin button, .admin input, .admin select, .admin textarea { margin: 0; font-size: 100%; vertical-align: middle; }
+.admin button, .admin input { *overflow: visible; line-height: normal; }
+.admin button::-moz-focus-inner, .admin input::-moz-focus-inner { padding: 0; border: 0; }
+.admin button, .admin html input[type="button"], .admin input[type="reset"], .admin input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
+.admin label, .admin select, .admin button, .admin input[type="button"], .admin input[type="reset"], .admin input[type="submit"], .admin input[type="radio"], .admin input[type="checkbox"] { cursor: pointer; }
+.admin input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; }
+.admin input[type="search"]::-webkit-search-decoration, .admin input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
+.admin textarea { overflow: auto; vertical-align: top; }
+@media print { .admin { @page { margin: 0.5cm; }
+ }
+ .admin * { text-shadow: none !important; color: black !important; background: transparent !important; box-shadow: none !important; }
+ .admin a, .admin a:visited { text-decoration: underline; }
+ .admin a[href]:after { content: " (" attr(href) ")"; }
+ .admin abbr[title]:after { content: " (" attr(title) ")"; }
+ .admin .ir a:after, .admin a[href^="javascript:"]:after, .admin a[href^="#"]:after { content: ""; }
+ .admin pre, .admin blockquote { border: 1px solid #999999; page-break-inside: avoid; }
+ .admin thead { display: table-header-group; }
+ .admin tr, .admin img { page-break-inside: avoid; }
+ .admin img { max-width: 100% !important; }
+ .admin p, .admin h2, .admin h3 { orphans: 3; widows: 3; }
+ .admin h2, .admin h3 { page-break-after: avoid; } }
+.admin body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; color: #333333; background-color: white; }
+.admin a { color: #0088cc; text-decoration: none; }
+.admin a:hover { color: #005580; text-decoration: underline; }
+.admin .img-rounded { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
+.admin .img-polaroid { padding: 4px; background-color: #fff; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }
+.admin .img-circle { -webkit-border-radius: 500px; -moz-border-radius: 500px; border-radius: 500px; }
+.admin .row { margin-left: -20px; *zoom: 1; }
+.admin .row:before, .admin .row:after { display: table; content: ""; line-height: 0; }
+.admin .row:after { clear: both; }
+.admin [class*="span"] { float: left; min-height: 1px; margin-left: 20px; }
+.admin .container, .admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
+.admin .span12 { width: 940px; }
+.admin .span11 { width: 860px; }
+.admin .span10 { width: 780px; }
+.admin .span9 { width: 700px; }
+.admin .span8 { width: 620px; }
+.admin .span7 { width: 540px; }
+.admin .span6 { width: 460px; }
+.admin .span5 { width: 380px; }
+.admin .span4 { width: 300px; }
+.admin .span3 { width: 220px; }
+.admin .span2 { width: 140px; }
+.admin .span1 { width: 60px; }
+.admin .offset12 { margin-left: 980px; }
+.admin .offset11 { margin-left: 900px; }
+.admin .offset10 { margin-left: 820px; }
+.admin .offset9 { margin-left: 740px; }
+.admin .offset8 { margin-left: 660px; }
+.admin .offset7 { margin-left: 580px; }
+.admin .offset6 { margin-left: 500px; }
+.admin .offset5 { margin-left: 420px; }
+.admin .offset4 { margin-left: 340px; }
+.admin .offset3 { margin-left: 260px; }
+.admin .offset2 { margin-left: 180px; }
+.admin .offset1 { margin-left: 100px; }
+.admin .row-fluid { width: 100%; *zoom: 1; }
+.admin .row-fluid:before, .admin .row-fluid:after { display: table; content: ""; line-height: 0; }
+.admin .row-fluid:after { clear: both; }
+.admin .row-fluid [class*="span"] { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; float: left; margin-left: 2.12766%; *margin-left: 2.07447%; }
+.admin .row-fluid [class*="span"]:first-child { margin-left: 0; }
+.admin .row-fluid .controls-row [class*="span"] + [class*="span"] { margin-left: 2.12766%; }
+.admin .row-fluid .span12 { width: 100%; *width: 99.94681%; }
+.admin .row-fluid .span11 { width: 91.48936%; *width: 91.43617%; }
+.admin .row-fluid .span10 { width: 82.97872%; *width: 82.92553%; }
+.admin .row-fluid .span9 { width: 74.46809%; *width: 74.41489%; }
+.admin .row-fluid .span8 { width: 65.95745%; *width: 65.90426%; }
+.admin .row-fluid .span7 { width: 57.44681%; *width: 57.39362%; }
+.admin .row-fluid .span6 { width: 48.93617%; *width: 48.88298%; }
+.admin .row-fluid .span5 { width: 40.42553%; *width: 40.37234%; }
+.admin .row-fluid .span4 { width: 31.91489%; *width: 31.8617%; }
+.admin .row-fluid .span3 { width: 23.40426%; *width: 23.35106%; }
+.admin .row-fluid .span2 { width: 14.89362%; *width: 14.84043%; }
+.admin .row-fluid .span1 { width: 6.38298%; *width: 6.32979%; }
+.admin .row-fluid .offset12 { margin-left: 104.25532%; *margin-left: 104.14894%; }
+.admin .row-fluid .offset12:first-child { margin-left: 102.12766%; *margin-left: 102.02128%; }
+.admin .row-fluid .offset11 { margin-left: 95.74468%; *margin-left: 95.6383%; }
+.admin .row-fluid .offset11:first-child { margin-left: 93.61702%; *margin-left: 93.51064%; }
+.admin .row-fluid .offset10 { margin-left: 87.23404%; *margin-left: 87.12766%; }
+.admin .row-fluid .offset10:first-child { margin-left: 85.10638%; *margin-left: 85.0%; }
+.admin .row-fluid .offset9 { margin-left: 78.7234%; *margin-left: 78.61702%; }
+.admin .row-fluid .offset9:first-child { margin-left: 76.59574%; *margin-left: 76.48936%; }
+.admin .row-fluid .offset8 { margin-left: 70.21277%; *margin-left: 70.10638%; }
+.admin .row-fluid .offset8:first-child { margin-left: 68.08511%; *margin-left: 67.97872%; }
+.admin .row-fluid .offset7 { margin-left: 61.70213%; *margin-left: 61.59574%; }
+.admin .row-fluid .offset7:first-child { margin-left: 59.57447%; *margin-left: 59.46809%; }
+.admin .row-fluid .offset6 { margin-left: 53.19149%; *margin-left: 53.08511%; }
+.admin .row-fluid .offset6:first-child { margin-left: 51.06383%; *margin-left: 50.95745%; }
+.admin .row-fluid .offset5 { margin-left: 44.68085%; *margin-left: 44.57447%; }
+.admin .row-fluid .offset5:first-child { margin-left: 42.55319%; *margin-left: 42.44681%; }
+.admin .row-fluid .offset4 { margin-left: 36.17021%; *margin-left: 36.06383%; }
+.admin .row-fluid .offset4:first-child { margin-left: 34.04255%; *margin-left: 33.93617%; }
+.admin .row-fluid .offset3 { margin-left: 27.65957%; *margin-left: 27.55319%; }
+.admin .row-fluid .offset3:first-child { margin-left: 25.53191%; *margin-left: 25.42553%; }
+.admin .row-fluid .offset2 { margin-left: 19.14894%; *margin-left: 19.04255%; }
+.admin .row-fluid .offset2:first-child { margin-left: 17.02128%; *margin-left: 16.91489%; }
+.admin .row-fluid .offset1 { margin-left: 10.6383%; *margin-left: 10.53191%; }
+.admin .row-fluid .offset1:first-child { margin-left: 8.51064%; *margin-left: 8.40426%; }
+.admin [class*="span"].hide, .admin .row-fluid [class*="span"].hide { display: none; }
+.admin [class*="span"].pull-right, .admin .row-fluid [class*="span"].pull-right { float: right; }
+.admin .container { margin-right: auto; margin-left: auto; *zoom: 1; }
+.admin .container:before, .admin .container:after { display: table; content: ""; line-height: 0; }
+.admin .container:after { clear: both; }
+.admin .container-fluid { padding-right: 20px; padding-left: 20px; *zoom: 1; }
+.admin .container-fluid:before, .admin .container-fluid:after { display: table; content: ""; line-height: 0; }
+.admin .container-fluid:after { clear: both; }
+.admin p { margin: 0 0 10px; }
+.admin .lead { margin-bottom: 20px; font-size: 21px; font-weight: 200; line-height: 30px; }
+.admin small { font-size: 85%; }
+.admin strong { font-weight: bold; }
+.admin em { font-style: italic; }
+.admin cite { font-style: normal; }
+.admin .muted { color: #999999; }
+.admin a.muted:hover { color: gray; }
+.admin .text-warning { color: #c09853; }
+.admin a.text-warning:hover { color: #a47e3c; }
+.admin .text-error { color: #b94a48; }
+.admin a.text-error:hover { color: #953b39; }
+.admin .text-info { color: #3a87ad; }
+.admin a.text-info:hover { color: #2d6987; }
+.admin .text-success { color: #468847; }
+.admin a.text-success:hover { color: #356635; }
+.admin h1, .admin h2, .admin h3, .admin h4, .admin h5, .admin h6 { margin: 10px 0; font-family: inherit; font-weight: bold; line-height: 20px; color: inherit; text-rendering: optimizelegibility; }
+.admin h1 small, .admin h2 small, .admin h3 small, .admin h4 small, .admin h5 small, .admin h6 small { font-weight: normal; line-height: 1; color: #999999; }
+.admin h1, .admin h2, .admin h3 { line-height: 40px; }
+.admin h1 { font-size: 38.5px; }
+.admin h2 { font-size: 31.5px; }
+.admin h3 { font-size: 24.5px; }
+.admin h4 { font-size: 17.5px; }
+.admin h5 { font-size: 14px; }
+.admin h6 { font-size: 11.9px; }
+.admin h1 small { font-size: 24.5px; }
+.admin h2 small { font-size: 17.5px; }
+.admin h3 small { font-size: 14px; }
+.admin h4 small { font-size: 14px; }
+.admin .page-header { padding-bottom: 9px; margin: 20px 0 30px; border-bottom: 1px solid #eeeeee; }
+.admin ul, .admin ol { padding: 0; margin: 0 0 10px 25px; }
+.admin ul ul, .admin ul ol, .admin ol ol, .admin ol ul { margin-bottom: 0; }
+.admin li { line-height: 20px; }
+.admin ul.unstyled, .admin ol.unstyled { margin-left: 0; list-style: none; }
+.admin ul.inline, .admin ol.inline { margin-left: 0; list-style: none; }
+.admin ul.inline > li, .admin ol.inline > li { display: inline-block; padding-left: 5px; padding-right: 5px; }
+.admin dl { margin-bottom: 20px; }
+.admin dt, .admin dd { line-height: 20px; }
+.admin dt { font-weight: bold; }
+.admin dd { margin-left: 10px; }
+.admin .dl-horizontal { *zoom: 1; }
+.admin .dl-horizontal:before, .admin .dl-horizontal:after { display: table; content: ""; line-height: 0; }
+.admin .dl-horizontal:after { clear: both; }
+.admin .dl-horizontal dt { float: left; width: 160px; clear: left; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
+.admin .dl-horizontal dd { margin-left: 180px; }
+.admin hr { margin: 20px 0; border: 0; border-top: 1px solid #eeeeee; border-bottom: 1px solid white; }
+.admin abbr[title], .admin abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #999999; }
+.admin abbr.initialism { font-size: 90%; text-transform: uppercase; }
+.admin blockquote { padding: 0 0 0 15px; margin: 0 0 20px; border-left: 5px solid #eeeeee; }
+.admin blockquote p { margin-bottom: 0; font-size: 16px; font-weight: 300; line-height: 25px; }
+.admin blockquote small { display: block; line-height: 20px; color: #999999; }
+.admin blockquote small:before { content: '\2014 \00A0'; }
+.admin blockquote.pull-right { float: right; padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; }
+.admin blockquote.pull-right p, .admin blockquote.pull-right small { text-align: right; }
+.admin blockquote.pull-right small:before { content: ''; }
+.admin blockquote.pull-right small:after { content: '\00A0 \2014'; }
+.admin q:before, .admin q:after, .admin blockquote:before, .admin blockquote:after { content: ""; }
+.admin address { display: block; margin-bottom: 20px; font-style: normal; line-height: 20px; }
+.admin code, .admin pre { padding: 0 3px 2px; font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 12px; color: #333333; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+.admin code { padding: 2px 4px; color: #d14; background-color: #f7f7f9; border: 1px solid #e1e1e8; white-space: nowrap; }
+.admin pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 20px; word-break: break-all; word-wrap: break-word; white-space: pre; white-space: pre-wrap; background-color: #f5f5f5; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.15); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin pre.prettyprint { margin-bottom: 20px; }
+.admin pre code { padding: 0; color: inherit; white-space: pre; white-space: pre-wrap; background-color: transparent; border: 0; }
+.admin .pre-scrollable { max-height: 340px; overflow-y: scroll; }
+.admin form { margin: 0 0 20px; }
+.admin fieldset { padding: 0; margin: 0; border: 0; }
+.admin legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: 40px; color: #333333; border: 0; border-bottom: 1px solid #e5e5e5; }
+.admin legend small { font-size: 15px; color: #999999; }
+.admin label, .admin input, .admin button, .admin select, .admin textarea { font-size: 14px; font-weight: normal; line-height: 20px; }
+.admin input, .admin button, .admin select, .admin textarea { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
+.admin label { display: block; margin-bottom: 5px; }
+.admin select, .admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { display: inline-block; height: 20px; padding: 4px 6px; margin-bottom: 10px; font-size: 14px; line-height: 20px; color: #555555; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; vertical-align: middle; }
+.admin input, .admin textarea, .admin .uneditable-input { width: 206px; }
+.admin textarea { height: auto; }
+.admin textarea, .admin input[type="text"], .admin input[type="password"], .admin input[type="datetime"], .admin input[type="datetime-local"], .admin input[type="date"], .admin input[type="month"], .admin input[type="time"], .admin input[type="week"], .admin input[type="number"], .admin input[type="email"], .admin input[type="url"], .admin input[type="search"], .admin input[type="tel"], .admin input[type="color"], .admin .uneditable-input { background-color: white; border: 1px solid #cccccc; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; }
+.admin textarea:focus, .admin input[type="text"]:focus, .admin input[type="password"]:focus, .admin input[type="datetime"]:focus, .admin input[type="datetime-local"]:focus, .admin input[type="date"]:focus, .admin input[type="month"]:focus, .admin input[type="time"]:focus, .admin input[type="week"]:focus, .admin input[type="number"]:focus, .admin input[type="email"]:focus, .admin input[type="url"]:focus, .admin input[type="search"]:focus, .admin input[type="tel"]:focus, .admin input[type="color"]:focus, .admin .uneditable-input:focus { border-color: rgba(82, 168, 236, 0.8); outline: 0; outline: thin dotted \9; /* IE6-9 */ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); }
+.admin input[type="radio"], .admin input[type="checkbox"] { margin: 4px 0 0; *margin-top: 0; /* IE7 */ margin-top: 1px \9; /* IE8-9 */ line-height: normal; }
+.admin input[type="file"], .admin input[type="image"], .admin input[type="submit"], .admin input[type="reset"], .admin input[type="button"], .admin input[type="radio"], .admin input[type="checkbox"] { width: auto; }
+.admin select, .admin input[type="file"] { height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ *margin-top: 4px; /* For IE7, add top margin to align select with labels */ line-height: 30px; }
+.admin select { width: 220px; border: 1px solid #cccccc; background-color: white; }
+.admin select[multiple], .admin select[size] { height: auto; }
+.admin select:focus, .admin input[type="file"]:focus, .admin input[type="radio"]:focus, .admin input[type="checkbox"]:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
+.admin .uneditable-input, .admin .uneditable-textarea { color: #999999; background-color: #fcfcfc; border-color: #cccccc; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); cursor: not-allowed; }
+.admin .uneditable-input { overflow: hidden; white-space: nowrap; }
+.admin .uneditable-textarea { width: auto; height: auto; }
+.admin input:-moz-placeholder, .admin textarea:-moz-placeholder { color: #999999; }
+.admin input:-ms-input-placeholder, .admin textarea:-ms-input-placeholder { color: #999999; }
+.admin input::-webkit-input-placeholder, .admin textarea::-webkit-input-placeholder { color: #999999; }
+.admin .radio, .admin .checkbox { min-height: 20px; padding-left: 20px; }
+.admin .radio input[type="radio"], .admin .checkbox input[type="checkbox"] { float: left; margin-left: -20px; }
+.admin .controls > .radio:first-child, .admin .controls > .checkbox:first-child { padding-top: 5px; }
+.admin .radio.inline, .admin .checkbox.inline { display: inline-block; padding-top: 5px; margin-bottom: 0; vertical-align: middle; }
+.admin .radio.inline + .radio.inline, .admin .checkbox.inline + .checkbox.inline { margin-left: 10px; }
+.admin .input-mini { width: 60px; }
+.admin .input-small { width: 90px; }
+.admin .input-medium { width: 150px; }
+.admin .input-large { width: 210px; }
+.admin .input-xlarge { width: 270px; }
+.admin .input-xxlarge { width: 530px; }
+.admin input[class*="span"], .admin select[class*="span"], .admin textarea[class*="span"], .admin .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"] { float: none; margin-left: 0; }
+.admin .input-append input[class*="span"], .admin .input-append .uneditable-input[class*="span"], .admin .input-prepend input[class*="span"], .admin .input-prepend .uneditable-input[class*="span"], .admin .row-fluid input[class*="span"], .admin .row-fluid select[class*="span"], .admin .row-fluid textarea[class*="span"], .admin .row-fluid .uneditable-input[class*="span"], .admin .row-fluid .input-prepend [class*="span"], .admin .row-fluid .input-append [class*="span"] { display: inline-block; }
+.admin input, .admin textarea, .admin .uneditable-input { margin-left: 0; }
+.admin .controls-row [class*="span"] + [class*="span"] { margin-left: 20px; }
+.admin input.span12, .admin textarea.span12, .admin .uneditable-input.span12 { width: 926px; }
+.admin input.span11, .admin textarea.span11, .admin .uneditable-input.span11 { width: 846px; }
+.admin input.span10, .admin textarea.span10, .admin .uneditable-input.span10 { width: 766px; }
+.admin input.span9, .admin textarea.span9, .admin .uneditable-input.span9 { width: 686px; }
+.admin input.span8, .admin textarea.span8, .admin .uneditable-input.span8 { width: 606px; }
+.admin input.span7, .admin textarea.span7, .admin .uneditable-input.span7 { width: 526px; }
+.admin input.span6, .admin textarea.span6, .admin .uneditable-input.span6 { width: 446px; }
+.admin input.span5, .admin textarea.span5, .admin .uneditable-input.span5 { width: 366px; }
+.admin input.span4, .admin textarea.span4, .admin .uneditable-input.span4 { width: 286px; }
+.admin input.span3, .admin textarea.span3, .admin .uneditable-input.span3 { width: 206px; }
+.admin input.span2, .admin textarea.span2, .admin .uneditable-input.span2 { width: 126px; }
+.admin input.span1, .admin textarea.span1, .admin .uneditable-input.span1 { width: 46px; }
+.admin .controls-row { *zoom: 1; }
+.admin .controls-row:before, .admin .controls-row:after { display: table; content: ""; line-height: 0; }
+.admin .controls-row:after { clear: both; }
+.admin .controls-row [class*="span"], .admin .row-fluid .controls-row [class*="span"] { float: left; }
+.admin .controls-row .checkbox[class*="span"], .admin .controls-row .radio[class*="span"] { padding-top: 5px; }
+.admin input[disabled], .admin select[disabled], .admin textarea[disabled], .admin input[readonly], .admin select[readonly], .admin textarea[readonly] { cursor: not-allowed; background-color: #eeeeee; }
+.admin input[type="radio"][disabled], .admin input[type="checkbox"][disabled], .admin input[type="radio"][readonly], .admin input[type="checkbox"][readonly] { background-color: transparent; }
+.admin .control-group.warning .control-label, .admin .control-group.warning .help-block, .admin .control-group.warning .help-inline { color: #c09853; }
+.admin .control-group.warning .checkbox, .admin .control-group.warning .radio, .admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { color: #c09853; }
+.admin .control-group.warning input, .admin .control-group.warning select, .admin .control-group.warning textarea { border-color: #c09853; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+.admin .control-group.warning input:focus, .admin .control-group.warning select:focus, .admin .control-group.warning textarea:focus { border-color: #a47e3c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; }
+.admin .control-group.warning .input-prepend .add-on, .admin .control-group.warning .input-append .add-on { color: #c09853; background-color: #fcf8e3; border-color: #c09853; }
+.admin .control-group.error .control-label, .admin .control-group.error .help-block, .admin .control-group.error .help-inline { color: #b94a48; }
+.admin .control-group.error .checkbox, .admin .control-group.error .radio, .admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { color: #b94a48; }
+.admin .control-group.error input, .admin .control-group.error select, .admin .control-group.error textarea { border-color: #b94a48; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+.admin .control-group.error input:focus, .admin .control-group.error select:focus, .admin .control-group.error textarea:focus { border-color: #953b39; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; }
+.admin .control-group.error .input-prepend .add-on, .admin .control-group.error .input-append .add-on { color: #b94a48; background-color: #f2dede; border-color: #b94a48; }
+.admin .control-group.success .control-label, .admin .control-group.success .help-block, .admin .control-group.success .help-inline { color: #468847; }
+.admin .control-group.success .checkbox, .admin .control-group.success .radio, .admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { color: #468847; }
+.admin .control-group.success input, .admin .control-group.success select, .admin .control-group.success textarea { border-color: #468847; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+.admin .control-group.success input:focus, .admin .control-group.success select:focus, .admin .control-group.success textarea:focus { border-color: #356635; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; }
+.admin .control-group.success .input-prepend .add-on, .admin .control-group.success .input-append .add-on { color: #468847; background-color: #dff0d8; border-color: #468847; }
+.admin .control-group.info .control-label, .admin .control-group.info .help-block, .admin .control-group.info .help-inline { color: #3a87ad; }
+.admin .control-group.info .checkbox, .admin .control-group.info .radio, .admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { color: #3a87ad; }
+.admin .control-group.info input, .admin .control-group.info select, .admin .control-group.info textarea { border-color: #3a87ad; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
+.admin .control-group.info input:focus, .admin .control-group.info select:focus, .admin .control-group.info textarea:focus { border-color: #2d6987; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; }
+.admin .control-group.info .input-prepend .add-on, .admin .control-group.info .input-append .add-on { color: #3a87ad; background-color: #d9edf7; border-color: #3a87ad; }
+.admin input:focus:invalid, .admin textarea:focus:invalid, .admin select:focus:invalid { color: #b94a48; border-color: #ee5f5b; }
+.admin input:focus:invalid:focus, .admin textarea:focus:invalid:focus, .admin select:focus:invalid:focus { border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; -moz-box-shadow: 0 0 6px #f8b9b7; box-shadow: 0 0 6px #f8b9b7; }
+.admin .form-actions { padding: 19px 20px 20px; margin-top: 20px; margin-bottom: 20px; background-color: whitesmoke; border-top: 1px solid #e5e5e5; *zoom: 1; }
+.admin .form-actions:before, .admin .form-actions:after { display: table; content: ""; line-height: 0; }
+.admin .form-actions:after { clear: both; }
+.admin .help-block, .admin .help-inline { color: #595959; }
+.admin .help-block { display: block; margin-bottom: 10px; }
+.admin .help-inline { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; vertical-align: middle; padding-left: 5px; }
+.admin .input-append, .admin .input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap; }
+.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-append .dropdown-menu, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input, .admin .input-prepend .dropdown-menu { font-size: 14px; }
+.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input, .admin .input-prepend input, .admin .input-prepend select, .admin .input-prepend .uneditable-input { position: relative; margin-bottom: 0; *margin-left: 0; vertical-align: top; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .input-append input:focus, .admin .input-append select:focus, .admin .input-append .uneditable-input:focus, .admin .input-prepend input:focus, .admin .input-prepend select:focus, .admin .input-prepend .uneditable-input:focus { z-index: 2; }
+.admin .input-append .add-on, .admin .input-prepend .add-on { display: inline-block; width: auto; height: 20px; min-width: 16px; padding: 4px 5px; font-size: 14px; font-weight: normal; line-height: 20px; text-align: center; text-shadow: 0 1px 0 white; background-color: #eeeeee; border: 1px solid #cccccc; }
+.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group > .dropdown-toggle, .admin .input-prepend .add-on, .admin .input-prepend .btn, .admin .input-prepend .btn-group > .dropdown-toggle { vertical-align: top; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .input-append .active, .admin .input-prepend .active { background-color: #a9dba9; border-color: #46a546; }
+.admin .input-prepend .add-on, .admin .input-prepend .btn { margin-right: -1px; }
+.admin .input-prepend .add-on:first-child, .admin .input-prepend .btn:first-child { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
+.admin .input-append input, .admin .input-append select, .admin .input-append .uneditable-input { -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
+.admin .input-append input + .btn-group .btn:last-child, .admin .input-append select + .btn-group .btn:last-child, .admin .input-append .uneditable-input + .btn-group .btn:last-child { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .input-append .add-on, .admin .input-append .btn, .admin .input-append .btn-group { margin-left: -1px; }
+.admin .input-append .add-on:last-child, .admin .input-append .btn:last-child, .admin .input-append .btn-group:last-child > .dropdown-toggle { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .input-prepend.input-append input, .admin .input-prepend.input-append select, .admin .input-prepend.input-append .uneditable-input { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .input-prepend.input-append input + .btn-group .btn, .admin .input-prepend.input-append select + .btn-group .btn, .admin .input-prepend.input-append .uneditable-input + .btn-group .btn { -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .input-prepend.input-append .add-on:first-child, .admin .input-prepend.input-append .btn:first-child { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
+.admin .input-prepend.input-append .add-on:last-child, .admin .input-prepend.input-append .btn:last-child { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .input-prepend.input-append .btn-group:first-child { margin-left: 0; }
+.admin input.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ margin-bottom: 0; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
+.admin .form-search .input-append .search-query, .admin .form-search .input-prepend .search-query { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .form-search .input-append .search-query { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
+.admin .form-search .input-append .btn { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
+.admin .form-search .input-prepend .search-query { -webkit-border-radius: 0 14px 14px 0; -moz-border-radius: 0 14px 14px 0; border-radius: 0 14px 14px 0; }
+.admin .form-search .input-prepend .btn { -webkit-border-radius: 14px 0 0 14px; -moz-border-radius: 14px 0 0 14px; border-radius: 14px 0 0 14px; }
+.admin .form-search input, .admin .form-search textarea, .admin .form-search select, .admin .form-search .help-inline, .admin .form-search .uneditable-input, .admin .form-search .input-prepend, .admin .form-search .input-append, .admin .form-inline input, .admin .form-inline textarea, .admin .form-inline select, .admin .form-inline .help-inline, .admin .form-inline .uneditable-input, .admin .form-inline .input-prepend, .admin .form-inline .input-append, .admin .form-horizontal input, .admin .form-horizontal textarea, .admin .form-horizontal select, .admin .form-horizontal .help-inline, .admin .form-horizontal .uneditable-input, .admin .form-horizontal .input-prepend, .admin .form-horizontal .input-append { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-bottom: 0; vertical-align: middle; }
+.admin .form-search .hide, .admin .form-inline .hide, .admin .form-horizontal .hide { display: none; }
+.admin .form-search label, .admin .form-inline label, .admin .form-search .btn-group, .admin .form-inline .btn-group { display: inline-block; }
+.admin .form-search .input-append, .admin .form-inline .input-append, .admin .form-search .input-prepend, .admin .form-inline .input-prepend { margin-bottom: 0; }
+.admin .form-search .radio, .admin .form-search .checkbox, .admin .form-inline .radio, .admin .form-inline .checkbox { padding-left: 0; margin-bottom: 0; vertical-align: middle; }
+.admin .form-search .radio input[type="radio"], .admin .form-search .checkbox input[type="checkbox"], .admin .form-inline .radio input[type="radio"], .admin .form-inline .checkbox input[type="checkbox"] { float: left; margin-right: 3px; margin-left: 0; }
+.admin .control-group { margin-bottom: 10px; }
+.admin legend + .control-group { margin-top: 20px; -webkit-margin-top-collapse: separate; }
+.admin .form-horizontal .control-group { margin-bottom: 20px; *zoom: 1; }
+.admin .form-horizontal .control-group:before, .admin .form-horizontal .control-group:after { display: table; content: ""; line-height: 0; }
+.admin .form-horizontal .control-group:after { clear: both; }
+.admin .form-horizontal .control-label { float: left; width: 160px; padding-top: 5px; text-align: right; }
+.admin .form-horizontal .controls { *display: inline-block; *padding-left: 20px; margin-left: 180px; *margin-left: 0; }
+.admin .form-horizontal .controls:first-child { *padding-left: 180px; }
+.admin .form-horizontal .help-block { margin-bottom: 0; }
+.admin .form-horizontal input + .help-block, .admin .form-horizontal select + .help-block, .admin .form-horizontal textarea + .help-block, .admin .form-horizontal .uneditable-input + .help-block, .admin .form-horizontal .input-prepend + .help-block, .admin .form-horizontal .input-append + .help-block { margin-top: 10px; }
+.admin .form-horizontal .form-actions { padding-left: 180px; }
+.admin table { max-width: 100%; background-color: transparent; border-collapse: collapse; border-spacing: 0; }
+.admin .table { width: 100%; margin-bottom: 20px; }
+.admin .table th, .admin .table td { padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; }
+.admin .table th { font-weight: bold; }
+.admin .table thead th { vertical-align: bottom; }
+.admin .table caption + thead tr:first-child th, .admin .table caption + thead tr:first-child td, .admin .table colgroup + thead tr:first-child th, .admin .table colgroup + thead tr:first-child td, .admin .table thead:first-child tr:first-child th, .admin .table thead:first-child tr:first-child td { border-top: 0; }
+.admin .table tbody + tbody { border-top: 2px solid #dddddd; }
+.admin .table .table { background-color: white; }
+.admin .table-condensed th, .admin .table-condensed td { padding: 4px 5px; }
+.admin .table-bordered { border: 1px solid #dddddd; border-collapse: separate; *border-collapse: collapse; border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .table-bordered th, .admin .table-bordered td { border-left: 1px solid #dddddd; }
+.admin .table-bordered caption + thead tr:first-child th, .admin .table-bordered caption + tbody tr:first-child th, .admin .table-bordered caption + tbody tr:first-child td, .admin .table-bordered colgroup + thead tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child th, .admin .table-bordered colgroup + tbody tr:first-child td, .admin .table-bordered thead:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child th, .admin .table-bordered tbody:first-child tr:first-child td { border-top: 0; }
+.admin .table-bordered thead:first-child tr:first-child > th:first-child, .admin .table-bordered tbody:first-child tr:first-child > td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
+.admin .table-bordered thead:first-child tr:first-child > th:last-child, .admin .table-bordered tbody:first-child tr:first-child > td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
+.admin .table-bordered thead:last-child tr:last-child > th:first-child, .admin .table-bordered tbody:last-child tr:last-child > td:first-child, .admin .table-bordered tfoot:last-child tr:last-child > td:first-child { -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
+.admin .table-bordered thead:last-child tr:last-child > th:last-child, .admin .table-bordered tbody:last-child tr:last-child > td:last-child, .admin .table-bordered tfoot:last-child tr:last-child > td:last-child { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
+.admin .table-bordered tfoot + tbody:last-child tr:last-child td:first-child { -webkit-border-bottom-left-radius: 0; -moz-border-radius-bottomleft: 0; border-bottom-left-radius: 0; }
+.admin .table-bordered tfoot + tbody:last-child tr:last-child td:last-child { -webkit-border-bottom-right-radius: 0; -moz-border-radius-bottomright: 0; border-bottom-right-radius: 0; }
+.admin .table-bordered caption + thead tr:first-child th:first-child, .admin .table-bordered caption + tbody tr:first-child td:first-child, .admin .table-bordered colgroup + thead tr:first-child th:first-child, .admin .table-bordered colgroup + tbody tr:first-child td:first-child { -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
+.admin .table-bordered caption + thead tr:first-child th:last-child, .admin .table-bordered caption + tbody tr:first-child td:last-child, .admin .table-bordered colgroup + thead tr:first-child th:last-child, .admin .table-bordered colgroup + tbody tr:first-child td:last-child { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; }
+.admin .table-striped tbody > tr:nth-child(odd) > td, .admin .table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; }
+.admin .table-hover tbody tr:hover td, .admin .table-hover tbody tr:hover th { background-color: whitesmoke; }
+.admin table td[class*="span"], .admin table th[class*="span"], .admin .row-fluid table td[class*="span"], .admin .row-fluid table th[class*="span"] { display: table-cell; float: none; margin-left: 0; }
+.admin .table td.span1, .admin .table th.span1 { float: none; width: 44px; margin-left: 0; }
+.admin .table td.span2, .admin .table th.span2 { float: none; width: 124px; margin-left: 0; }
+.admin .table td.span3, .admin .table th.span3 { float: none; width: 204px; margin-left: 0; }
+.admin .table td.span4, .admin .table th.span4 { float: none; width: 284px; margin-left: 0; }
+.admin .table td.span5, .admin .table th.span5 { float: none; width: 364px; margin-left: 0; }
+.admin .table td.span6, .admin .table th.span6 { float: none; width: 444px; margin-left: 0; }
+.admin .table td.span7, .admin .table th.span7 { float: none; width: 524px; margin-left: 0; }
+.admin .table td.span8, .admin .table th.span8 { float: none; width: 604px; margin-left: 0; }
+.admin .table td.span9, .admin .table th.span9 { float: none; width: 684px; margin-left: 0; }
+.admin .table td.span10, .admin .table th.span10 { float: none; width: 764px; margin-left: 0; }
+.admin .table td.span11, .admin .table th.span11 { float: none; width: 844px; margin-left: 0; }
+.admin .table td.span12, .admin .table th.span12 { float: none; width: 924px; margin-left: 0; }
+.admin .table tbody tr.success td { background-color: #dff0d8; }
+.admin .table tbody tr.error td { background-color: #f2dede; }
+.admin .table tbody tr.warning td { background-color: #fcf8e3; }
+.admin .table tbody tr.info td { background-color: #d9edf7; }
+.admin .table-hover tbody tr.success:hover td { background-color: #d0e9c6; }
+.admin .table-hover tbody tr.error:hover td { background-color: #ebcccc; }
+.admin .table-hover tbody tr.warning:hover td { background-color: #faf2cc; }
+.admin .table-hover tbody tr.info:hover td { background-color: #c4e3f3; }
+.admin [class^="icon-"], .admin [class*=" icon-"] { display: inline-block; width: 14px; height: 14px; *margin-right: .3em; line-height: 14px; vertical-align: text-top; background-image: url(../images/glyphicons-halflings.png?1361243119); background-position: 14px 14px; background-repeat: no-repeat; margin-top: 1px; }
+.admin .icon-white, .admin .nav-pills > .active > a > [class^="icon-"], .admin .nav-pills > .active > a > [class*=" icon-"], .admin .nav-list > .active > a > [class^="icon-"], .admin .nav-list > .active > a > [class*=" icon-"], .admin .navbar-inverse .nav > .active > a > [class^="icon-"], .admin .navbar-inverse .nav > .active > a > [class*=" icon-"], .admin .dropdown-menu > li > a:hover > [class^="icon-"], .admin .dropdown-menu > li > a:hover > [class*=" icon-"], .admin .dropdown-menu > .active > a > [class^="icon-"], .admin .dropdown-menu > .active > a > [class*=" icon-"], .admin .dropdown-submenu:hover > a > [class^="icon-"], .admin .dropdown-submenu:hover > a > [class*=" icon-"] { background-image: url(../images/glyphicons-halflings-white.png?1361243119); }
+.admin .icon-glass { background-position: 0 0; }
+.admin .icon-music { background-position: -24px 0; }
+.admin .icon-search { background-position: -48px 0; }
+.admin .icon-envelope { background-position: -72px 0; }
+.admin .icon-heart { background-position: -96px 0; }
+.admin .icon-star { background-position: -120px 0; }
+.admin .icon-star-empty { background-position: -144px 0; }
+.admin .icon-user { background-position: -168px 0; }
+.admin .icon-film { background-position: -192px 0; }
+.admin .icon-th-large { background-position: -216px 0; }
+.admin .icon-th { background-position: -240px 0; }
+.admin .icon-th-list { background-position: -264px 0; }
+.admin .icon-ok { background-position: -288px 0; }
+.admin .icon-remove { background-position: -312px 0; }
+.admin .icon-zoom-in { background-position: -336px 0; }
+.admin .icon-zoom-out { background-position: -360px 0; }
+.admin .icon-off { background-position: -384px 0; }
+.admin .icon-signal { background-position: -408px 0; }
+.admin .icon-cog { background-position: -432px 0; }
+.admin .icon-trash { background-position: -456px 0; }
+.admin .icon-home { background-position: 0 -24px; }
+.admin .icon-file { background-position: -24px -24px; }
+.admin .icon-time { background-position: -48px -24px; }
+.admin .icon-road { background-position: -72px -24px; }
+.admin .icon-download-alt { background-position: -96px -24px; }
+.admin .icon-download { background-position: -120px -24px; }
+.admin .icon-upload { background-position: -144px -24px; }
+.admin .icon-inbox { background-position: -168px -24px; }
+.admin .icon-play-circle { background-position: -192px -24px; }
+.admin .icon-repeat { background-position: -216px -24px; }
+.admin .icon-refresh { background-position: -240px -24px; }
+.admin .icon-list-alt { background-position: -264px -24px; }
+.admin .icon-lock { background-position: -287px -24px; }
+.admin .icon-flag { background-position: -312px -24px; }
+.admin .icon-headphones { background-position: -336px -24px; }
+.admin .icon-volume-off { background-position: -360px -24px; }
+.admin .icon-volume-down { background-position: -384px -24px; }
+.admin .icon-volume-up { background-position: -408px -24px; }
+.admin .icon-qrcode { background-position: -432px -24px; }
+.admin .icon-barcode { background-position: -456px -24px; }
+.admin .icon-tag { background-position: 0 -48px; }
+.admin .icon-tags { background-position: -25px -48px; }
+.admin .icon-book { background-position: -48px -48px; }
+.admin .icon-bookmark { background-position: -72px -48px; }
+.admin .icon-print { background-position: -96px -48px; }
+.admin .icon-camera { background-position: -120px -48px; }
+.admin .icon-font { background-position: -144px -48px; }
+.admin .icon-bold { background-position: -167px -48px; }
+.admin .icon-italic { background-position: -192px -48px; }
+.admin .icon-text-height { background-position: -216px -48px; }
+.admin .icon-text-width { background-position: -240px -48px; }
+.admin .icon-align-left { background-position: -264px -48px; }
+.admin .icon-align-center { background-position: -288px -48px; }
+.admin .icon-align-right { background-position: -312px -48px; }
+.admin .icon-align-justify { background-position: -336px -48px; }
+.admin .icon-list { background-position: -360px -48px; }
+.admin .icon-indent-left { background-position: -384px -48px; }
+.admin .icon-indent-right { background-position: -408px -48px; }
+.admin .icon-facetime-video { background-position: -432px -48px; }
+.admin .icon-picture { background-position: -456px -48px; }
+.admin .icon-pencil { background-position: 0 -72px; }
+.admin .icon-map-marker { background-position: -24px -72px; }
+.admin .icon-adjust { background-position: -48px -72px; }
+.admin .icon-tint { background-position: -72px -72px; }
+.admin .icon-edit { background-position: -96px -72px; }
+.admin .icon-share { background-position: -120px -72px; }
+.admin .icon-check { background-position: -144px -72px; }
+.admin .icon-move { background-position: -168px -72px; }
+.admin .icon-step-backward { background-position: -192px -72px; }
+.admin .icon-fast-backward { background-position: -216px -72px; }
+.admin .icon-backward { background-position: -240px -72px; }
+.admin .icon-play { background-position: -264px -72px; }
+.admin .icon-pause { background-position: -288px -72px; }
+.admin .icon-stop { background-position: -312px -72px; }
+.admin .icon-forward { background-position: -336px -72px; }
+.admin .icon-fast-forward { background-position: -360px -72px; }
+.admin .icon-step-forward { background-position: -384px -72px; }
+.admin .icon-eject { background-position: -408px -72px; }
+.admin .icon-chevron-left { background-position: -432px -72px; }
+.admin .icon-chevron-right { background-position: -456px -72px; }
+.admin .icon-plus-sign { background-position: 0 -96px; }
+.admin .icon-minus-sign { background-position: -24px -96px; }
+.admin .icon-remove-sign { background-position: -48px -96px; }
+.admin .icon-ok-sign { background-position: -72px -96px; }
+.admin .icon-question-sign { background-position: -96px -96px; }
+.admin .icon-info-sign { background-position: -120px -96px; }
+.admin .icon-screenshot { background-position: -144px -96px; }
+.admin .icon-remove-circle { background-position: -168px -96px; }
+.admin .icon-ok-circle { background-position: -192px -96px; }
+.admin .icon-ban-circle { background-position: -216px -96px; }
+.admin .icon-arrow-left { background-position: -240px -96px; }
+.admin .icon-arrow-right { background-position: -264px -96px; }
+.admin .icon-arrow-up { background-position: -289px -96px; }
+.admin .icon-arrow-down { background-position: -312px -96px; }
+.admin .icon-share-alt { background-position: -336px -96px; }
+.admin .icon-resize-full { background-position: -360px -96px; }
+.admin .icon-resize-small { background-position: -384px -96px; }
+.admin .icon-plus { background-position: -408px -96px; }
+.admin .icon-minus { background-position: -433px -96px; }
+.admin .icon-asterisk { background-position: -456px -96px; }
+.admin .icon-exclamation-sign { background-position: 0 -120px; }
+.admin .icon-gift { background-position: -24px -120px; }
+.admin .icon-leaf { background-position: -48px -120px; }
+.admin .icon-fire { background-position: -72px -120px; }
+.admin .icon-eye-open { background-position: -96px -120px; }
+.admin .icon-eye-close { background-position: -120px -120px; }
+.admin .icon-warning-sign { background-position: -144px -120px; }
+.admin .icon-plane { background-position: -168px -120px; }
+.admin .icon-calendar { background-position: -192px -120px; }
+.admin .icon-random { background-position: -216px -120px; width: 16px; }
+.admin .icon-comment { background-position: -240px -120px; }
+.admin .icon-magnet { background-position: -264px -120px; }
+.admin .icon-chevron-up { background-position: -288px -120px; }
+.admin .icon-chevron-down { background-position: -313px -119px; }
+.admin .icon-retweet { background-position: -336px -120px; }
+.admin .icon-shopping-cart { background-position: -360px -120px; }
+.admin .icon-folder-close { background-position: -384px -120px; }
+.admin .icon-folder-open { background-position: -408px -120px; width: 16px; }
+.admin .icon-resize-vertical { background-position: -432px -119px; }
+.admin .icon-resize-horizontal { background-position: -456px -118px; }
+.admin .icon-hdd { background-position: 0 -144px; }
+.admin .icon-bullhorn { background-position: -24px -144px; }
+.admin .icon-bell { background-position: -48px -144px; }
+.admin .icon-certificate { background-position: -72px -144px; }
+.admin .icon-thumbs-up { background-position: -96px -144px; }
+.admin .icon-thumbs-down { background-position: -120px -144px; }
+.admin .icon-hand-right { background-position: -144px -144px; }
+.admin .icon-hand-left { background-position: -168px -144px; }
+.admin .icon-hand-up { background-position: -192px -144px; }
+.admin .icon-hand-down { background-position: -216px -144px; }
+.admin .icon-circle-arrow-right { background-position: -240px -144px; }
+.admin .icon-circle-arrow-left { background-position: -264px -144px; }
+.admin .icon-circle-arrow-up { background-position: -288px -144px; }
+.admin .icon-circle-arrow-down { background-position: -312px -144px; }
+.admin .icon-globe { background-position: -336px -144px; }
+.admin .icon-wrench { background-position: -360px -144px; }
+.admin .icon-tasks { background-position: -384px -144px; }
+.admin .icon-filter { background-position: -408px -144px; }
+.admin .icon-briefcase { background-position: -432px -144px; }
+.admin .icon-fullscreen { background-position: -456px -144px; }
+.admin .dropup, .admin .dropdown { position: relative; }
+.admin .dropdown-toggle { *margin-bottom: -3px; }
+.admin .dropdown-toggle:active, .admin .open .dropdown-toggle { outline: 0; }
+.admin .caret { display: inline-block; width: 0; height: 0; vertical-align: top; border-top: 4px solid black; border-right: 4px solid transparent; border-left: 4px solid transparent; content: ""; }
+.admin .dropdown .caret { margin-top: 8px; margin-left: 2px; }
+.admin .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; list-style: none; background-color: white; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); *border-right-width: 2px; *border-bottom-width: 2px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; }
+.admin .dropdown-menu.pull-right { right: 0; left: auto; }
+.admin .dropdown-menu .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
+.admin .dropdown-menu li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 20px; color: #333333; white-space: nowrap; }
+.admin .dropdown-menu li > a:hover, .admin .dropdown-menu li > a:focus, .admin .dropdown-submenu:hover > a { text-decoration: none; color: white; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
+.admin .dropdown-menu .active > a, .admin .dropdown-menu .active > a:hover { color: #333333; text-decoration: none; outline: 0; background-color: #0081c2; background-image: -moz-linear-gradient(top, #0088cc, #0077b3); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); background-image: -o-linear-gradient(top, #0088cc, #0077b3); background-image: linear-gradient(to bottom, #0088cc, #0077b3); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0077B3', GradientType=0); }
+.admin .dropdown-menu .disabled > a, .admin .dropdown-menu .disabled > a:hover { color: #999999; }
+.admin .dropdown-menu .disabled > a:hover { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); cursor: default; }
+.admin .open { *z-index: 1000; }
+.admin .open > .dropdown-menu { display: block; }
+.admin .pull-right > .dropdown-menu { right: 0; left: auto; }
+.admin .dropup .caret, .admin .navbar-fixed-bottom .dropdown .caret { border-top: 0; border-bottom: 4px solid black; content: ""; }
+.admin .dropup .dropdown-menu, .admin .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 1px; }
+.admin .dropdown-submenu { position: relative; }
+.admin .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px 6px; border-radius: 0 6px 6px 6px; }
+.admin .dropdown-submenu:hover > .dropdown-menu { display: block; }
+.admin .dropup .dropdown-submenu > .dropdown-menu { top: auto; bottom: 0; margin-top: 0; margin-bottom: -2px; -webkit-border-radius: 5px 5px 5px 0; -moz-border-radius: 5px 5px 5px 0; border-radius: 5px 5px 5px 0; }
+.admin .dropdown-submenu > a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #cccccc; margin-top: 5px; margin-right: -10px; }
+.admin .dropdown-submenu:hover > a:after { border-left-color: white; }
+.admin .dropdown-submenu.pull-left { float: none; }
+.admin .dropdown-submenu.pull-left > .dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
+.admin .dropdown .dropdown-menu .nav-header { padding-left: 20px; padding-right: 20px; }
+.admin .typeahead { z-index: 1051; margin-top: 2px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: whitesmoke; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
+.admin .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, 0.15); }
+.admin .well-large { padding: 24px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
+.admin .well-small { padding: 9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+.admin .fade { opacity: 0; -webkit-transition: opacity 0.15s linear; -moz-transition: opacity 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; }
+.admin .fade.in { opacity: 1; }
+.admin .collapse { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; -moz-transition: height 0.35s ease; -o-transition: height 0.35s ease; transition: height 0.35s ease; }
+.admin .collapse.in { height: auto; }
+.admin .close { float: right; font-size: 20px; font-weight: bold; line-height: 20px; color: black; text-shadow: 0 1px 0 white; opacity: 0.2; filter: alpha(opacity=20); }
+.admin .close:hover { color: black; text-decoration: none; cursor: pointer; opacity: 0.4; filter: alpha(opacity=40); }
+.admin button.close { padding: 0; cursor: pointer; background: transparent; border: 0; -webkit-appearance: none; }
+.admin .btn { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; padding: 4px 12px; margin-bottom: 0; font-size: 14px; line-height: 20px; text-align: center; vertical-align: middle; cursor: pointer; color: #333333; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); background-color: whitesmoke; background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); border: 1px solid #bbbbbb; *border: 0; border-bottom-color: #a2a2a2; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; *margin-left: .3em; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }
+.admin .btn:hover, .admin .btn:active, .admin .btn.active, .admin .btn.disabled, .admin .btn[disabled] { color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; }
+.admin .btn:active, .admin .btn.active { background-color: #cccccc \9; }
+.admin .btn:first-child { *margin-left: 0; }
+.admin .btn:hover { color: #333333; text-decoration: none; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
+.admin .btn:focus { outline: thin dotted #333333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
+.admin .btn.active, .admin .btn:active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
+.admin .btn.disabled, .admin .btn[disabled] { cursor: default; background-image: none; opacity: 0.65; filter: alpha(opacity=65); -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
+.admin .btn-large { padding: 11px 19px; font-size: 17.5px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
+.admin .btn-large [class^="icon-"], .admin .btn-large [class*=" icon-"] { margin-top: 4px; }
+.admin .btn-small { padding: 2px 10px; font-size: 11.9px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+.admin .btn-small [class^="icon-"], .admin .btn-small [class*=" icon-"] { margin-top: 0; }
+.admin .btn-mini [class^="icon-"], .admin .btn-mini [class*=" icon-"] { margin-top: -1px; }
+.admin .btn-mini { padding: 0px 6px; font-size: 10.5px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+.admin .btn-block { display: block; width: 100%; padding-left: 0; padding-right: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
+.admin .btn-block + .btn-block { margin-top: 5px; }
+.admin input[type="submit"].btn-block, .admin input[type="reset"].btn-block, .admin input[type="button"].btn-block { width: 100%; }
+.admin .btn-primary.active, .admin .btn-warning.active, .admin .btn-danger.active, .admin .btn-success.active, .admin .btn-info.active, .admin .btn-inverse.active { color: rgba(255, 255, 255, 0.75); }
+.admin .btn { border-color: #c5c5c5; border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); }
+.admin .btn-primary { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006ccc; background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF0088CC', endColorstr='#FF0044CC', GradientType=0); border-color: #0044cc #0044cc #002a80; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #0044cc; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-primary:hover, .admin .btn-primary:active, .admin .btn-primary.active, .admin .btn-primary.disabled, .admin .btn-primary[disabled] { color: white; background-color: #0044cc; *background-color: #003bb3; }
+.admin .btn-primary:active, .admin .btn-primary.active { background-color: #003399 \9; }
+.admin .btn-warning { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); border-color: #f89406 #f89406 #ad6704; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #f89406; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-warning:hover, .admin .btn-warning:active, .admin .btn-warning.active, .admin .btn-warning.disabled, .admin .btn-warning[disabled] { color: white; background-color: #f89406; *background-color: #df8505; }
+.admin .btn-warning:active, .admin .btn-warning.active { background-color: #c67605 \9; }
+.admin .btn-danger { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4e49; background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFBD362F', GradientType=0); border-color: #bd362f #bd362f #802420; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #bd362f; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-danger:hover, .admin .btn-danger:active, .admin .btn-danger.active, .admin .btn-danger.disabled, .admin .btn-danger[disabled] { color: white; background-color: #bd362f; *background-color: #a9302a; }
+.admin .btn-danger:active, .admin .btn-danger.active { background-color: #942a25 \9; }
+.admin .btn-success { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb65b; background-image: -moz-linear-gradient(top, #62c462, #51a351); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); background-image: linear-gradient(to bottom, #62c462, #51a351); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF51A351', GradientType=0); border-color: #51a351 #51a351 #387038; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #51a351; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-success:hover, .admin .btn-success:active, .admin .btn-success.active, .admin .btn-success.disabled, .admin .btn-success[disabled] { color: white; background-color: #51a351; *background-color: #499249; }
+.admin .btn-success:active, .admin .btn-success.active { background-color: #408140 \9; }
+.admin .btn-info { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2F96B4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #2f96b4; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-info:hover, .admin .btn-info:active, .admin .btn-info.active, .admin .btn-info.disabled, .admin .btn-info[disabled] { color: white; background-color: #2f96b4; *background-color: #2a85a0; }
+.admin .btn-info:active, .admin .btn-info.active { background-color: #24748c \9; }
+.admin .btn-inverse { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; background-image: -moz-linear-gradient(top, #444444, #222222); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); background-image: linear-gradient(to bottom, #444444, #222222); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0); border-color: #222222 #222222 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #222222; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .btn-inverse:hover, .admin .btn-inverse:active, .admin .btn-inverse.active, .admin .btn-inverse.disabled, .admin .btn-inverse[disabled] { color: white; background-color: #222222; *background-color: #151515; }
+.admin .btn-inverse:active, .admin .btn-inverse.active { background-color: #090909 \9; }
+.admin button.btn, .admin input[type="submit"].btn { *padding-top: 3px; *padding-bottom: 3px; }
+.admin button.btn::-moz-focus-inner, .admin input[type="submit"].btn::-moz-focus-inner { padding: 0; border: 0; }
+.admin button.btn.btn-large, .admin input[type="submit"].btn.btn-large { *padding-top: 7px; *padding-bottom: 7px; }
+.admin button.btn.btn-small, .admin input[type="submit"].btn.btn-small { *padding-top: 3px; *padding-bottom: 3px; }
+.admin button.btn.btn-mini, .admin input[type="submit"].btn.btn-mini { *padding-top: 1px; *padding-bottom: 1px; }
+.admin .btn-link, .admin .btn-link:active, .admin .btn-link[disabled] { background-color: transparent; background-image: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
+.admin .btn-link { border-color: transparent; cursor: pointer; color: #0088cc; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .btn-link:hover { color: #005580; text-decoration: underline; background-color: transparent; }
+.admin .btn-link[disabled]:hover { color: #333333; text-decoration: none; }
+.admin .btn-group { position: relative; display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; font-size: 0; vertical-align: middle; white-space: nowrap; *margin-left: .3em; }
+.admin .btn-group:first-child { *margin-left: 0; }
+.admin .btn-group + .btn-group { margin-left: 5px; }
+.admin .btn-toolbar { font-size: 0; margin-top: 10px; margin-bottom: 10px; }
+.admin .btn-toolbar > .btn + .btn, .admin .btn-toolbar > .btn-group + .btn, .admin .btn-toolbar > .btn + .btn-group { margin-left: 5px; }
+.admin .btn-group > .btn { position: relative; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .btn-group > .btn + .btn { margin-left: -1px; }
+.admin .btn-group > .btn, .admin .btn-group > .dropdown-menu, .admin .btn-group > .popover { font-size: 14px; }
+.admin .btn-group > .btn-mini { font-size: 10.5px; }
+.admin .btn-group > .btn-small { font-size: 11.9px; }
+.admin .btn-group > .btn-large { font-size: 17.5px; }
+.admin .btn-group > .btn:first-child { margin-left: 0; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
+.admin .btn-group > .btn:last-child, .admin .btn-group > .dropdown-toggle { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
+.admin .btn-group > .btn.large:first-child { margin-left: 0; -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
+.admin .btn-group > .btn.large:last-child, .admin .btn-group > .large.dropdown-toggle { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
+.admin .btn-group > .btn:hover, .admin .btn-group > .btn:focus, .admin .btn-group > .btn:active, .admin .btn-group > .btn.active { z-index: 2; }
+.admin .btn-group .dropdown-toggle:active, .admin .btn-group.open .dropdown-toggle { outline: 0; }
+.admin .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); *padding-top: 5px; *padding-bottom: 5px; }
+.admin .btn-group > .btn-mini + .dropdown-toggle { padding-left: 5px; padding-right: 5px; *padding-top: 2px; *padding-bottom: 2px; }
+.admin .btn-group > .btn-small + .dropdown-toggle { *padding-top: 5px; *padding-bottom: 4px; }
+.admin .btn-group > .btn-large + .dropdown-toggle { padding-left: 12px; padding-right: 12px; *padding-top: 7px; *padding-bottom: 7px; }
+.admin .btn-group.open .dropdown-toggle { background-image: none; -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
+.admin .btn-group.open .btn.dropdown-toggle { background-color: #e6e6e6; }
+.admin .btn-group.open .btn-primary.dropdown-toggle { background-color: #0044cc; }
+.admin .btn-group.open .btn-warning.dropdown-toggle { background-color: #f89406; }
+.admin .btn-group.open .btn-danger.dropdown-toggle { background-color: #bd362f; }
+.admin .btn-group.open .btn-success.dropdown-toggle { background-color: #51a351; }
+.admin .btn-group.open .btn-info.dropdown-toggle { background-color: #2f96b4; }
+.admin .btn-group.open .btn-inverse.dropdown-toggle { background-color: #222222; }
+.admin .btn .caret { margin-top: 8px; margin-left: 0; }
+.admin .btn-mini .caret, .admin .btn-small .caret, .admin .btn-large .caret { margin-top: 6px; }
+.admin .btn-large .caret { border-left-width: 5px; border-right-width: 5px; border-top-width: 5px; }
+.admin .dropup .btn-large .caret { border-bottom-width: 5px; }
+.admin .btn-primary .caret, .admin .btn-warning .caret, .admin .btn-danger .caret, .admin .btn-info .caret, .admin .btn-success .caret, .admin .btn-inverse .caret { border-top-color: white; border-bottom-color: white; }
+.admin .btn-group-vertical { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; }
+.admin .btn-group-vertical > .btn { display: block; float: none; max-width: 100%; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .btn-group-vertical > .btn + .btn { margin-left: 0; margin-top: -1px; }
+.admin .btn-group-vertical > .btn:first-child { -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
+.admin .btn-group-vertical > .btn:last-child { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
+.admin .btn-group-vertical > .btn-large:first-child { -webkit-border-radius: 6px 6px 0 0; -moz-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0; }
+.admin .btn-group-vertical > .btn-large:last-child { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
+.admin .alert { padding: 8px 35px 8px 14px; margin-bottom: 20px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); background-color: #fcf8e3; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .alert, .admin .alert h4 { color: #c09853; }
+.admin .alert h4 { margin: 0; }
+.admin .alert .close { position: relative; top: -2px; right: -21px; line-height: 20px; }
+.admin .alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847; }
+.admin .alert-success h4 { color: #468847; }
+.admin .alert-danger, .admin .alert-error { background-color: #f2dede; border-color: #eed3d7; color: #b94a48; }
+.admin .alert-danger h4, .admin .alert-error h4 { color: #b94a48; }
+.admin .alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad; }
+.admin .alert-info h4 { color: #3a87ad; }
+.admin .alert-block { padding-top: 14px; padding-bottom: 14px; }
+.admin .alert-block > p, .admin .alert-block > ul { margin-bottom: 0; }
+.admin .alert-block p + p { margin-top: 5px; }
+.admin .nav { margin-left: 0; margin-bottom: 20px; list-style: none; }
+.admin .nav > li > a { display: block; }
+.admin .nav > li > a:hover { text-decoration: none; background-color: #eeeeee; }
+.admin .nav > li > a > img { max-width: none; }
+.admin .nav > .pull-right { float: right; }
+.admin .nav-header { display: block; padding: 3px 15px; font-size: 11px; font-weight: bold; line-height: 20px; color: #999999; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); text-transform: uppercase; }
+.admin .nav li + .nav-header { margin-top: 9px; }
+.admin .nav-list { padding-left: 15px; padding-right: 15px; margin-bottom: 0; }
+.admin .nav-list > li > a, .admin .nav-list .nav-header { margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }
+.admin .nav-list > li > a { padding: 3px 15px; }
+.admin .nav-list > .active > a, .admin .nav-list > .active > a:hover { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); background-color: #0088cc; }
+.admin .nav-list [class^="icon-"], .admin .nav-list [class*=" icon-"] { margin-right: 2px; }
+.admin .nav-list .divider { *width: 100%; height: 1px; margin: 9px 1px; *margin: -5px 0 5px; overflow: hidden; background-color: #e5e5e5; border-bottom: 1px solid white; }
+.admin .nav-tabs, .admin .nav-pills { *zoom: 1; }
+.admin .nav-tabs:before, .admin .nav-tabs:after, .admin .nav-pills:before, .admin .nav-pills:after { display: table; content: ""; line-height: 0; }
+.admin .nav-tabs:after, .admin .nav-pills:after { clear: both; }
+.admin .nav-tabs > li, .admin .nav-pills > li { float: left; }
+.admin .nav-tabs > li > a, .admin .nav-pills > li > a { padding-right: 12px; padding-left: 12px; margin-right: 2px; line-height: 14px; }
+.admin .nav-tabs { border-bottom: 1px solid #dddddd; }
+.admin .nav-tabs > li { margin-bottom: -1px; }
+.admin .nav-tabs > li > a { padding-top: 8px; padding-bottom: 8px; line-height: 20px; border: 1px solid transparent; -webkit-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; }
+.admin .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #dddddd; }
+.admin .nav-tabs > .active > a, .admin .nav-tabs > .active > a:hover { color: #555555; background-color: white; border: 1px solid #dddddd; border-bottom-color: transparent; cursor: default; }
+.admin .nav-pills > li > a { padding-top: 8px; padding-bottom: 8px; margin-top: 2px; margin-bottom: 2px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
+.admin .nav-pills > .active > a, .admin .nav-pills > .active > a:hover { color: white; background-color: #0088cc; }
+.admin .nav-stacked > li { float: none; }
+.admin .nav-stacked > li > a { margin-right: 0; }
+.admin .nav-tabs.nav-stacked { border-bottom: 0; }
+.admin .nav-tabs.nav-stacked > li > a { border: 1px solid #dddddd; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .nav-tabs.nav-stacked > li:first-child > a { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; }
+.admin .nav-tabs.nav-stacked > li:last-child > a { -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
+.admin .nav-tabs.nav-stacked > li > a:hover { border-color: #ddd; z-index: 2; }
+.admin .nav-pills.nav-stacked > li > a { margin-bottom: 3px; }
+.admin .nav-pills.nav-stacked > li:last-child > a { margin-bottom: 1px; }
+.admin .nav-tabs .dropdown-menu { -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; }
+.admin .nav-pills .dropdown-menu { -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
+.admin .nav .dropdown-toggle .caret { border-top-color: #0088cc; border-bottom-color: #0088cc; margin-top: 6px; }
+.admin .nav .dropdown-toggle:hover .caret { border-top-color: #005580; border-bottom-color: #005580; }
+.admin .nav-tabs .dropdown-toggle .caret { margin-top: 8px; }
+.admin .nav .active .dropdown-toggle .caret { border-top-color: #fff; border-bottom-color: #fff; }
+.admin .nav-tabs .active .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
+.admin .nav > .dropdown.active > a:hover { cursor: pointer; }
+.admin .nav-tabs .open .dropdown-toggle, .admin .nav-pills .open .dropdown-toggle, .admin .nav > li.dropdown.open.active > a:hover { color: white; background-color: #999999; border-color: #999999; }
+.admin .nav li.dropdown.open .caret, .admin .nav li.dropdown.open.active .caret, .admin .nav li.dropdown.open a:hover .caret { border-top-color: white; border-bottom-color: white; opacity: 1; filter: alpha(opacity=100); }
+.admin .tabs-stacked .open > a:hover { border-color: #999999; }
+.admin .tabbable { *zoom: 1; }
+.admin .tabbable:before, .admin .tabbable:after { display: table; content: ""; line-height: 0; }
+.admin .tabbable:after { clear: both; }
+.admin .tab-content { overflow: auto; }
+.admin .tabs-below > .nav-tabs, .admin .tabs-right > .nav-tabs, .admin .tabs-left > .nav-tabs { border-bottom: 0; }
+.admin .tab-content > .tab-pane, .admin .pill-content > .pill-pane { display: none; }
+.admin .tab-content > .active, .admin .pill-content > .active { display: block; }
+.admin .tabs-below > .nav-tabs { border-top: 1px solid #dddddd; }
+.admin .tabs-below > .nav-tabs > li { margin-top: -1px; margin-bottom: 0; }
+.admin .tabs-below > .nav-tabs > li > a { -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px; }
+.admin .tabs-below > .nav-tabs > li > a:hover { border-bottom-color: transparent; border-top-color: #ddd; }
+.admin .tabs-below > .nav-tabs > .active > a, .admin .tabs-below > .nav-tabs > .active > a:hover { border-color: transparent #dddddd #dddddd #dddddd; }
+.admin .tabs-left > .nav-tabs > li, .admin .tabs-right > .nav-tabs > li { float: none; }
+.admin .tabs-left > .nav-tabs > li > a, .admin .tabs-right > .nav-tabs > li > a { min-width: 74px; margin-right: 0; margin-bottom: 3px; }
+.admin .tabs-left > .nav-tabs { float: left; margin-right: 19px; border-right: 1px solid #dddddd; }
+.admin .tabs-left > .nav-tabs > li > a { margin-right: -1px; -webkit-border-radius: 4px 0 0 4px; -moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; }
+.admin .tabs-left > .nav-tabs > li > a:hover { border-color: #eeeeee #dddddd #eeeeee #eeeeee; }
+.admin .tabs-left > .nav-tabs .active > a, .admin .tabs-left > .nav-tabs .active > a:hover { border-color: #dddddd transparent #dddddd #dddddd; *border-right-color: white; }
+.admin .tabs-right > .nav-tabs { float: right; margin-left: 19px; border-left: 1px solid #dddddd; }
+.admin .tabs-right > .nav-tabs > li > a { margin-left: -1px; -webkit-border-radius: 0 4px 4px 0; -moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0; }
+.admin .tabs-right > .nav-tabs > li > a:hover { border-color: #eeeeee #eeeeee #eeeeee #dddddd; }
+.admin .tabs-right > .nav-tabs .active > a, .admin .tabs-right > .nav-tabs .active > a:hover { border-color: #dddddd #dddddd #dddddd transparent; *border-left-color: white; }
+.admin .nav > .disabled > a { color: #999999; }
+.admin .nav > .disabled > a:hover { text-decoration: none; background-color: transparent; cursor: default; }
+.admin .navbar { overflow: visible; margin-bottom: 20px; *position: relative; *z-index: 2; }
+.admin .navbar-inner { min-height: 40px; padding-left: 20px; padding-right: 20px; background-color: #f9f9f9; background-image: -moz-linear-gradient(top, white, #f2f2f2); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#f2f2f2)); background-image: -webkit-linear-gradient(top, white, #f2f2f2); background-image: -o-linear-gradient(top, white, #f2f2f2); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFF2F2F2', GradientType=0); border: 1px solid #d4d4d4; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); *zoom: 1; }
+.admin .navbar-inner:before, .admin .navbar-inner:after { display: table; content: ""; line-height: 0; }
+.admin .navbar-inner:after { clear: both; }
+.admin .navbar .container { width: auto; }
+.admin .nav-collapse.collapse { height: auto; overflow: visible; }
+.admin .navbar .brand { float: left; display: block; padding: 10px 20px 10px; margin-left: -20px; font-size: 20px; font-weight: 200; color: #777777; text-shadow: 0 1px 0 white; }
+.admin .navbar .brand:hover { text-decoration: none; }
+.admin .navbar-text { margin-bottom: 0; line-height: 40px; color: #777777; }
+.admin .navbar-link { color: #777777; }
+.admin .navbar-link:hover { color: #333333; }
+.admin .navbar .divider-vertical { height: 40px; margin: 0 9px; border-left: 1px solid #f2f2f2; border-right: 1px solid white; }
+.admin .navbar .btn, .admin .navbar .btn-group { margin-top: 5px; }
+.admin .navbar .btn-group .btn, .admin .navbar .input-prepend .btn, .admin .navbar .input-append .btn { margin-top: 0; }
+.admin .navbar-form { margin-bottom: 0; *zoom: 1; }
+.admin .navbar-form:before, .admin .navbar-form:after { display: table; content: ""; line-height: 0; }
+.admin .navbar-form:after { clear: both; }
+.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .radio, .admin .navbar-form .checkbox { margin-top: 5px; }
+.admin .navbar-form input, .admin .navbar-form select, .admin .navbar-form .btn { display: inline-block; margin-bottom: 0; }
+.admin .navbar-form input[type="image"], .admin .navbar-form input[type="checkbox"], .admin .navbar-form input[type="radio"] { margin-top: 3px; }
+.admin .navbar-form .input-append, .admin .navbar-form .input-prepend { margin-top: 5px; white-space: nowrap; }
+.admin .navbar-form .input-append input, .admin .navbar-form .input-prepend input { margin-top: 0; }
+.admin .navbar-search { position: relative; float: left; margin-top: 5px; margin-bottom: 0; }
+.admin .navbar-search .search-query { margin-bottom: 0; padding: 4px 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 1; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
+.admin .navbar-static-top { position: static; margin-bottom: 0; }
+.admin .navbar-static-top .navbar-inner { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .navbar-fixed-top, .admin .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; margin-bottom: 0; }
+.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { border-width: 0 0 1px; }
+.admin .navbar-fixed-bottom .navbar-inner { border-width: 1px 0 0; }
+.admin .navbar-fixed-top .navbar-inner, .admin .navbar-fixed-bottom .navbar-inner { padding-left: 0; padding-right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; }
+.admin .navbar-static-top .container, .admin .navbar-fixed-top .container, .admin .navbar-fixed-bottom .container { width: 940px; }
+.admin .navbar-fixed-top { top: 0; }
+.admin .navbar-fixed-top .navbar-inner, .admin .navbar-static-top .navbar-inner { -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); }
+.admin .navbar-fixed-bottom { bottom: 0; }
+.admin .navbar-fixed-bottom .navbar-inner { -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); }
+.admin .navbar .nav { position: relative; left: 0; display: block; float: left; margin: 0 10px 0 0; }
+.admin .navbar .nav.pull-right { float: right; margin-right: 0; }
+.admin .navbar .nav > li { float: left; }
+.admin .navbar .nav > li > a { float: none; padding: 10px 15px 10px; color: #777777; text-decoration: none; text-shadow: 0 1px 0 white; }
+.admin .navbar .nav .dropdown-toggle .caret { margin-top: 8px; }
+.admin .navbar .nav > li > a:focus, .admin .navbar .nav > li > a:hover { background-color: transparent; color: #333333; text-decoration: none; }
+.admin .navbar .nav > .active > a, .admin .navbar .nav > .active > a:hover, .admin .navbar .nav > .active > a:focus { color: #555555; text-decoration: none; background-color: #e6e6e6; -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); }
+.admin .navbar .btn-navbar { display: none; float: right; padding: 7px 10px; margin-left: 5px; margin-right: 5px; color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #ededed; background-image: -moz-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: -o-linear-gradient(top, #f2f2f2, #e6e6e6); background-image: linear-gradient(to bottom, #f2f2f2, #e6e6e6); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF2F2F2', endColorstr='#FFE6E6E6', GradientType=0); border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #e6e6e6; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); }
+.admin .navbar .btn-navbar:hover, .admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active, .admin .navbar .btn-navbar.disabled, .admin .navbar .btn-navbar[disabled] { color: white; background-color: #e6e6e6; *background-color: #d9d9d9; }
+.admin .navbar .btn-navbar:active, .admin .navbar .btn-navbar.active { background-color: #cccccc \9; }
+.admin .navbar .btn-navbar .icon-bar { display: block; width: 18px; height: 2px; background-color: #f5f5f5; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
+.admin .btn-navbar .icon-bar + .icon-bar { margin-top: 3px; }
+.admin .navbar .nav > li > .dropdown-menu:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #cccccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; top: -7px; left: 9px; }
+.admin .navbar .nav > li > .dropdown-menu:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid white; position: absolute; top: -6px; left: 10px; }
+.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:before { border-top: 7px solid #cccccc; border-top-color: rgba(0, 0, 0, 0.2); border-bottom: 0; bottom: -7px; top: auto; }
+.admin .navbar-fixed-bottom .nav > li > .dropdown-menu:after { border-top: 6px solid white; border-bottom: 0; bottom: -6px; top: auto; }
+.admin .navbar .nav li.dropdown > a:hover .caret { border-top-color: #555555; border-bottom-color: #555555; }
+.admin .navbar .nav li.dropdown.open > .dropdown-toggle, .admin .navbar .nav li.dropdown.active > .dropdown-toggle, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle { background-color: #e6e6e6; color: #555555; }
+.admin .navbar .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #777777; border-bottom-color: #777777; }
+.admin .navbar .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: #555555; border-bottom-color: #555555; }
+.admin .navbar .pull-right > li > .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right { left: auto; right: 0; }
+.admin .navbar .pull-right > li > .dropdown-menu:before, .admin .navbar .nav > li > .dropdown-menu.pull-right:before { left: auto; right: 12px; }
+.admin .navbar .pull-right > li > .dropdown-menu:after, .admin .navbar .nav > li > .dropdown-menu.pull-right:after { left: auto; right: 13px; }
+.admin .navbar .pull-right > li > .dropdown-menu .dropdown-menu, .admin .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { left: auto; right: 100%; margin-left: 0; margin-right: -1px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
+.admin .navbar-inverse .navbar-inner { background-color: #1b1b1b; background-image: -moz-linear-gradient(top, #222222, #111111); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); background-image: -webkit-linear-gradient(top, #222222, #111111); background-image: -o-linear-gradient(top, #222222, #111111); background-image: linear-gradient(to bottom, #222222, #111111); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF222222', endColorstr='#FF111111', GradientType=0); border-color: #252525; }
+.admin .navbar-inverse .brand, .admin .navbar-inverse .nav > li > a { color: #999999; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
+.admin .navbar-inverse .brand:hover, .admin .navbar-inverse .nav > li > a:hover { color: white; }
+.admin .navbar-inverse .brand { color: #999999; }
+.admin .navbar-inverse .navbar-text { color: #999999; }
+.admin .navbar-inverse .nav > li > a:focus, .admin .navbar-inverse .nav > li > a:hover { background-color: transparent; color: white; }
+.admin .navbar-inverse .nav .active > a, .admin .navbar-inverse .nav .active > a:hover, .admin .navbar-inverse .nav .active > a:focus { color: white; background-color: #111111; }
+.admin .navbar-inverse .navbar-link { color: #999999; }
+.admin .navbar-inverse .navbar-link:hover { color: white; }
+.admin .navbar-inverse .divider-vertical { border-left-color: #111111; border-right-color: #222222; }
+.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { background-color: #111111; color: white; }
+.admin .navbar-inverse .nav li.dropdown > a:hover .caret { border-top-color: white; color: white; }
+.admin .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { border-top-color: #999999; border-bottom-color: #999999; }
+.admin .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, .admin .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { border-top-color: white; border-bottom-color: white; }
+.admin .navbar-inverse .navbar-search .search-query { color: white; background-color: #515151; border-color: #111111; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); -webkit-transition: none; -moz-transition: none; -o-transition: none; transition: none; }
+.admin .navbar-inverse .navbar-search .search-query:-moz-placeholder { color: #cccccc; }
+.admin .navbar-inverse .navbar-search .search-query:-ms-input-placeholder { color: #cccccc; }
+.admin .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { color: #cccccc; }
+.admin .navbar-inverse .navbar-search .search-query:focus, .admin .navbar-inverse .navbar-search .search-query.focused { padding: 5px 15px; color: #333333; text-shadow: 0 1px 0 white; background-color: white; border: 0; -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); outline: 0; }
+.admin .navbar-inverse .btn-navbar { color: white; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; background-image: -moz-linear-gradient(top, #151515, #040404); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); background-image: linear-gradient(to bottom, #151515, #040404); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF151515', endColorstr='#FF040404', GradientType=0); border-color: #040404 #040404 black; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); *background-color: #040404; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
+.admin .navbar-inverse .btn-navbar:hover, .admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active, .admin .navbar-inverse .btn-navbar.disabled, .admin .navbar-inverse .btn-navbar[disabled] { color: white; background-color: #040404; *background-color: black; }
+.admin .navbar-inverse .btn-navbar:active, .admin .navbar-inverse .btn-navbar.active { background-color: black \9; }
+.admin .breadcrumb { padding: 8px 15px; margin: 0 0 20px; list-style: none; background-color: #f5f5f5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .breadcrumb > li { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; text-shadow: 0 1px 0 white; }
+.admin .breadcrumb > li > .divider { padding: 0 5px; color: #ccc; }
+.admin .breadcrumb .active { color: #999999; }
+.admin .pagination { margin: 20px 0; }
+.admin .pagination ul { display: inline-block; *display: inline; /* IE7 inline-block hack */ *zoom: 1; margin-left: 0; margin-bottom: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
+.admin .pagination ul > li { display: inline; }
+.admin .pagination ul > li > a, .admin .pagination ul > li > span { float: left; padding: 4px 12px; line-height: 20px; text-decoration: none; background-color: white; border: 1px solid #dddddd; border-left-width: 0; }
+.admin .pagination ul > li > a:hover, .admin .pagination ul > .active > a, .admin .pagination ul > .active > span { background-color: whitesmoke; }
+.admin .pagination ul > .active > a, .admin .pagination ul > .active > span { color: #999999; cursor: default; }
+.admin .pagination ul > .disabled > span, .admin .pagination ul > .disabled > a, .admin .pagination ul > .disabled > a:hover { color: #999999; background-color: transparent; cursor: default; }
+.admin .pagination ul > li:first-child > a, .admin .pagination ul > li:first-child > span { border-left-width: 1px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topleft: 4px; border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomleft: 4px; border-bottom-left-radius: 4px; }
+.admin .pagination ul > li:last-child > a, .admin .pagination ul > li:last-child > span { -webkit-border-top-right-radius: 4px; -moz-border-radius-topright: 4px; border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-bottomright: 4px; border-bottom-right-radius: 4px; }
+.admin .pagination-centered { text-align: center; }
+.admin .pagination-right { text-align: right; }
+.admin .pagination-large ul > li > a, .admin .pagination-large ul > li > span { padding: 11px 19px; font-size: 17.5px; }
+.admin .pagination-large ul > li:first-child > a, .admin .pagination-large ul > li:first-child > span { -webkit-border-top-left-radius: 6px; -moz-border-radius-topleft: 6px; border-top-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-radius-bottomleft: 6px; border-bottom-left-radius: 6px; }
+.admin .pagination-large ul > li:last-child > a, .admin .pagination-large ul > li:last-child > span { -webkit-border-top-right-radius: 6px; -moz-border-radius-topright: 6px; border-top-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-radius-bottomright: 6px; border-bottom-right-radius: 6px; }
+.admin .pagination-mini ul > li:first-child > a, .admin .pagination-mini ul > li:first-child > span, .admin .pagination-small ul > li:first-child > a, .admin .pagination-small ul > li:first-child > span { -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; }
+.admin .pagination-mini ul > li:last-child > a, .admin .pagination-mini ul > li:last-child > span, .admin .pagination-small ul > li:last-child > a, .admin .pagination-small ul > li:last-child > span { -webkit-border-top-right-radius: 3px; -moz-border-radius-topright: 3px; border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomright: 3px; border-bottom-right-radius: 3px; }
+.admin .pagination-small ul > li > a, .admin .pagination-small ul > li > span { padding: 2px 10px; font-size: 11.9px; }
+.admin .pagination-mini ul > li > a, .admin .pagination-mini ul > li > span { padding: 0px 6px; font-size: 10.5px; }
+.admin .pager { margin: 20px 0; list-style: none; text-align: center; *zoom: 1; }
+.admin .pager:before, .admin .pager:after { display: table; content: ""; line-height: 0; }
+.admin .pager:after { clear: both; }
+.admin .pager li { display: inline; }
+.admin .pager li > a, .admin .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #dddddd; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; }
+.admin .pager li > a:hover { text-decoration: none; background-color: #f5f5f5; }
+.admin .pager .next > a, .admin .pager .next > span { float: right; }
+.admin .pager .previous > a, .admin .pager .previous > span { float: left; }
+.admin .pager .disabled > a, .admin .pager .disabled > a:hover, .admin .pager .disabled > span { color: #999999; background-color: #fff; cursor: default; }
+.admin .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: black; }
+.admin .modal-backdrop.fade { opacity: 0; }
+.admin .modal-backdrop, .admin .modal-backdrop.fade.in { opacity: 0.8; filter: alpha(opacity=80); }
+.admin .modal { position: fixed; top: 50%; left: 50%; z-index: 1050; width: 560px; margin: -250px 0 0 -280px; background-color: white; border: 1px solid #999999; border: 1px solid rgba(0, 0, 0, 0.3); *border: 1px solid #999999; /* IE6-7 */ -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); -webkit-background-clip: padding-box; -moz-background-clip: padding-box; background-clip: padding-box; outline: none; }
+.admin .modal.fade { -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; -moz-transition: opacity 0.3s linear, top 0.3s ease-out; -o-transition: opacity 0.3s linear, top 0.3s ease-out; transition: opacity 0.3s linear, top 0.3s ease-out; top: -25%; }
+.admin .modal.fade.in { top: 50%; }
+.admin .modal-header { padding: 9px 15px; border-bottom: 1px solid #eeeeee; }
+.admin .modal-header .close { margin-top: 2px; }
+.admin .modal-header h3 { margin: 0; line-height: 30px; }
+.admin .modal-body { position: relative; overflow-y: auto; max-height: 400px; padding: 15px; }
+.admin .modal-form { margin-bottom: 0; }
+.admin .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; text-align: right; background-color: #f5f5f5; border-top: 1px solid #dddddd; -webkit-border-radius: 0 0 6px 6px; -moz-border-radius: 0 0 6px 6px; border-radius: 0 0 6px 6px; -webkit-box-shadow: inset 0 1px 0 white; -moz-box-shadow: inset 0 1px 0 white; box-shadow: inset 0 1px 0 white; *zoom: 1; }
+.admin .modal-footer:before, .admin .modal-footer:after { display: table; content: ""; line-height: 0; }
+.admin .modal-footer:after { clear: both; }
+.admin .modal-footer .btn + .btn { margin-left: 5px; margin-bottom: 0; }
+.admin .modal-footer .btn-group .btn + .btn { margin-left: -1px; }
+.admin .modal-footer .btn-block + .btn-block { margin-left: 0; }
+.admin .tooltip { position: absolute; z-index: 1030; display: block; visibility: visible; padding: 5px; font-size: 11px; opacity: 0; filter: alpha(opacity=0); }
+.admin .tooltip.in { opacity: 0.8; filter: alpha(opacity=80); }
+.admin .tooltip.top { margin-top: -3px; }
+.admin .tooltip.right { margin-left: 3px; }
+.admin .tooltip.bottom { margin-top: 3px; }
+.admin .tooltip.left { margin-left: -3px; }
+.admin .tooltip-inner { max-width: 200px; padding: 3px 8px; color: white; text-align: center; text-decoration: none; background-color: black; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; }
+.admin .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: black; }
+.admin .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: black; }
+.admin .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: black; }
+.admin .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: black; }
+.admin .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; width: 236px; padding: 1px; text-align: left; background-color: white; -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; }
+.admin .popover.top { margin-top: -10px; }
+.admin .popover.right { margin-left: 10px; }
+.admin .popover.bottom { margin-top: 10px; }
+.admin .popover.left { margin-left: -10px; }
+.admin .popover-title { margin: 0; padding: 8px 14px; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; }
+.admin .popover-content { padding: 9px 14px; }
+.admin .popover .arrow, .admin .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; }
+.admin .popover .arrow { border-width: 11px; }
+.admin .popover .arrow:after { border-width: 10px; content: ""; }
+.admin .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; }
+.admin .popover.top .arrow:after { bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: white; }
+.admin .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999; border-right-color: rgba(0, 0, 0, 0.25); }
+.admin .popover.right .arrow:after { left: 1px; bottom: -10px; border-left-width: 0; border-right-color: white; }
+.admin .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; }
+.admin .popover.bottom .arrow:after { top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: white; }
+.admin .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, 0.25); }
+.admin .popover.left .arrow:after { right: 1px; border-right-width: 0; border-left-color: white; bottom: -10px; }
+.admin .thumbnails { margin-left: -20px; list-style: none; *zoom: 1; }
+.admin .thumbnails:before, .admin .thumbnails:after { display: table; content: ""; line-height: 0; }
+.admin .thumbnails:after { clear: both; }
+.admin .row-fluid .thumbnails { margin-left: 0; }
+.admin .thumbnails > li { float: left; margin-bottom: 20px; margin-left: 20px; }
+.admin .thumbnail { display: block; padding: 4px; line-height: 20px; border: 1px solid #dddddd; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; }
+.admin a.thumbnail:hover { border-color: #0088cc; -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); }
+.admin .thumbnail > img { display: block; max-width: 100%; margin-left: auto; margin-right: auto; }
+.admin .thumbnail .caption { padding: 9px; color: #555555; }
+.admin .media, .admin .media-body { overflow: hidden; *overflow: visible; zoom: 1; }
+.admin .media, .admin .media .media { margin-top: 15px; }
+.admin .media:first-child { margin-top: 0; }
+.admin .media-object { display: block; }
+.admin .media-heading { margin: 0 0 5px; }
+.admin .media .pull-left { margin-right: 10px; }
+.admin .media .pull-right { margin-left: 10px; }
+.admin .media-list { margin-left: 0; list-style: none; }
+.admin .label, .admin .badge { display: inline-block; padding: 2px 4px; font-size: 11.844px; font-weight: bold; line-height: 14px; color: white; vertical-align: baseline; white-space: nowrap; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; }
+.admin .label { -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
+.admin .badge { padding-left: 9px; padding-right: 9px; -webkit-border-radius: 9px; -moz-border-radius: 9px; border-radius: 9px; }
+.admin .label:empty, .admin .badge:empty { display: none; }
+.admin a.label:hover, .admin a.badge:hover { color: white; text-decoration: none; cursor: pointer; }
+.admin .label-important { background-color: #b94a48; }
+.admin .label-important[href] { background-color: #953b39; }
+.admin .label-warning { background-color: #f89406; }
+.admin .label-warning[href] { background-color: #c67605; }
+.admin .label-success { background-color: #468847; }
+.admin .label-success[href] { background-color: #356635; }
+.admin .label-info { background-color: #3a87ad; }
+.admin .label-info[href] { background-color: #2d6987; }
+.admin .label-inverse { background-color: #333333; }
+.admin .label-inverse[href] { background-color: #1a1a1a; }
+.admin .badge-important { background-color: #b94a48; }
+.admin .badge-important[href] { background-color: #953b39; }
+.admin .badge-warning { background-color: #f89406; }
+.admin .badge-warning[href] { background-color: #c67605; }
+.admin .badge-success { background-color: #468847; }
+.admin .badge-success[href] { background-color: #356635; }
+.admin .badge-info { background-color: #3a87ad; }
+.admin .badge-info[href] { background-color: #2d6987; }
+.admin .badge-inverse { background-color: #333333; }
+.admin .badge-inverse[href] { background-color: #1a1a1a; }
+.admin .btn .label, .admin .btn .badge { position: relative; top: -1px; }
+.admin .btn-mini .label, .admin .btn-mini .badge { top: 0; }
+.admin .progress { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f6f6f6; background-image: -moz-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(whitesmoke), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, whitesmoke, #f9f9f9); background-image: -o-linear-gradient(top, whitesmoke, #f9f9f9); background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF5F5F5', endColorstr='#FFF9F9F9', GradientType=0); -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .progress .bar { width: 0%; height: 100%; color: white; float: left; font-size: 12px; text-align: center; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0d90d1; background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be); background-image: linear-gradient(to bottom, #149bdf, #0480be); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF149BDF', endColorstr='#FF0480BE', GradientType=0); -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: width 0.6s ease; -moz-transition: width 0.6s ease; -o-transition: width 0.6s ease; transition: width 0.6s ease; }
+.admin .progress .bar + .bar { -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); }
+.admin .progress-striped .bar { background-color: #149bdf; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; -moz-background-size: 40px 40px; -o-background-size: 40px 40px; background-size: 40px 40px; }
+.admin .progress.active .bar { -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; }
+.admin .progress-danger .bar, .admin .progress .bar-danger { background-color: #dd514b; background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFC43C35', GradientType=0); }
+.admin .progress-danger.progress-striped .bar, .admin .progress-striped .bar-danger { background-color: #ee5f5b; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+.admin .progress-success .bar, .admin .progress .bar-success { background-color: #5db95d; background-image: -moz-linear-gradient(top, #62c462, #57a957); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -o-linear-gradient(top, #62c462, #57a957); background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF57A957', GradientType=0); }
+.admin .progress-success.progress-striped .bar, .admin .progress-striped .bar-success { background-color: #62c462; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+.admin .progress-info .bar, .admin .progress .bar-info { background-color: #4bb1cf; background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); background-image: -o-linear-gradient(top, #5bc0de, #339bb9); background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF339BB9', GradientType=0); }
+.admin .progress-info.progress-striped .bar, .admin .progress-striped .bar-info { background-color: #5bc0de; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+.admin .progress-warning .bar, .admin .progress .bar-warning { background-color: #f9a732; background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0); }
+.admin .progress-warning.progress-striped .bar, .admin .progress-striped .bar-warning { background-color: #fbb450; background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
+.admin .accordion { margin-bottom: 20px; }
+.admin .accordion-group { margin-bottom: 2px; border: 1px solid #e5e5e5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
+.admin .accordion-heading { border-bottom: 0; }
+.admin .accordion-heading .accordion-toggle { display: block; padding: 8px 15px; }
+.admin .accordion-toggle { cursor: pointer; }
+.admin .accordion-inner { padding: 9px 15px; border-top: 1px solid #e5e5e5; }
+.admin .carousel { position: relative; margin-bottom: 20px; line-height: 1; }
+.admin .carousel-inner { overflow: hidden; width: 100%; position: relative; }
+.admin .carousel-inner > .item { display: none; position: relative; -webkit-transition: 0.6s ease-in-out left; -moz-transition: 0.6s ease-in-out left; -o-transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left; }
+.admin .carousel-inner > .item > img { display: block; line-height: 1; }
+.admin .carousel-inner > .active, .admin .carousel-inner > .next, .admin .carousel-inner > .prev { display: block; }
+.admin .carousel-inner > .active { left: 0; }
+.admin .carousel-inner > .next, .admin .carousel-inner > .prev { position: absolute; top: 0; width: 100%; }
+.admin .carousel-inner > .next { left: 100%; }
+.admin .carousel-inner > .prev { left: -100%; }
+.admin .carousel-inner > .next.left, .admin .carousel-inner > .prev.right { left: 0; }
+.admin .carousel-inner > .active.left { left: -100%; }
+.admin .carousel-inner > .active.right { left: 100%; }
+.admin .carousel-control { position: absolute; top: 40%; left: 15px; width: 40px; height: 40px; margin-top: -20px; font-size: 60px; font-weight: 100; line-height: 30px; color: white; text-align: center; background: #222222; border: 3px solid white; -webkit-border-radius: 23px; -moz-border-radius: 23px; border-radius: 23px; opacity: 0.5; filter: alpha(opacity=50); }
+.admin .carousel-control.right { left: auto; right: 15px; }
+.admin .carousel-control:hover { color: white; text-decoration: none; opacity: 0.9; filter: alpha(opacity=90); }
+.admin .carousel-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 15px; background: #333333; background: rgba(0, 0, 0, 0.75); }
+.admin .carousel-caption h4, .admin .carousel-caption p { color: white; line-height: 20px; }
+.admin .carousel-caption h4 { margin: 0 0 5px; }
+.admin .carousel-caption p { margin-bottom: 0; }
+.admin .hero-unit { padding: 60px; margin-bottom: 30px; font-size: 18px; font-weight: 200; line-height: 30px; color: inherit; background-color: #eeeeee; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
+.admin .hero-unit h1 { margin-bottom: 0; font-size: 60px; line-height: 1; color: inherit; letter-spacing: -1px; }
+.admin .hero-unit li { line-height: 30px; }
+.admin .pull-right { float: right; }
+.admin .pull-left { float: left; }
+.admin .hide { display: none; }
+.admin .show { display: block; }
+.admin .invisible { visibility: hidden; }
+.admin .affix { position: fixed; }
+.admin .clearfix { *zoom: 1; }
+.admin .clearfix:before, .admin .clearfix:after { display: table; content: ""; line-height: 0; }
+.admin .clearfix:after { clear: both; }
+.admin .hide-text { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }
+.admin .input-block-level { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
+.admin #main { padding-top: 50px; }
+.admin .form-inline { display: inline; }
+.admin table .form { display: inline-block; margin: 0; }
+.admin .accordion-group { border: none; }
+.admin .accordion-heading .btn { float: left; margin: 6px 15px; }
+.admin .accordion-heading .accordion-toggle { padding: 2px; }
+.admin .accordion-heading .accordion-toggle:hover { text-decoration: none; }
+.admin div.item-detail div:nth-child(odd) span { background-color: #eee; }
+.admin span.label.tag { margin-right: 2px; }
+.admin span.label.tag a { color: white; }
+.admin body.admin blockquote p { font-size: 13px; display: inline; }
+.admin div#user_locale_switcher div.btn-group:before, .admin div#user_locale_switcher div.btn-group:after { display: inline; }
+.admin #request_hidden_user_subject_field { width: 440px; }
+.admin #request_hidden_user_explanation_field { width: 100%; height: 15em; }
+.admin #request_hidden_user_subject, .admin #request_hide_button, .admin #request_hidden_user_explanation { display: none; }
+.admin #outgoing_message_body, .admin #comment_body { width: 750px; }
diff --git a/public/down.default.html b/public/down.default.html
index c01e8fa19..ce4887b51 100644
--- a/public/down.default.html
+++ b/public/down.default.html
@@ -1,6 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!DOCTYPE html>
<html lang="en-gb">
<head>
+ <meta charset="utf-8">
<title>
WhatDoTheyKnow - make and browse Freedom of Information (FOI) requests
</title>
diff --git a/public/javascripts/general.js b/public/javascripts/general.js
index 9ae10593c..b52131b83 100644
--- a/public/javascripts/general.js
+++ b/public/javascripts/general.js
@@ -33,8 +33,9 @@ $(document).ready(function() {
at: "left bottom",
of: this,
collision: "fit" });
-
+ return false;
});
+
$('.close-button').click(function() { $(this).parent().hide() });
$('div#variety-filter a').each(function() {
$(this).click(function() {
diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css
index 0bf88b0f2..2823f3978 100644
--- a/public/stylesheets/main.css
+++ b/public/stylesheets/main.css
@@ -1292,9 +1292,23 @@ font-size:1.1em !important;
margin:0 !important;
}
+/* Remove button padding in FF */
+button::-moz-focus-inner,
+input[type="button"]::-moz-focus-inner,
+input[type="submit"]::-moz-focus-inner {
+ border:0;
+ padding:0;
+}
+
form input[type=submit],a.link_button_green,a.link_button_green_large {
-background:url(/images/button-gradient.png);
color:#FFF;
+background-color: #8cc63f; /* fallback color if gradients are not supported */
+background-image: url(/images/button-gradient.png);
+background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
+background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
+background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
+background-image: -o-linear-gradient(top, #8cc63f, #6b9731); /* For old Opera (11.1 to 12.0) */
+background-image: linear-gradient(to bottom, #8cc63f, #6b9731); /* Standard syntax; must be last */
text-decoration:none;
display:inline-block;
line-height:18px;
@@ -1311,7 +1325,12 @@ padding:5px 6px;
color:white;
}
a.link_button_green_large {
-background:url(/images/button-gradient-large.png);
+background-image: url(/images/button-gradient-large.png);
+background-image: -webkit-linear-gradient(top, #8cc63f, #6b9731); /* For Chrome and Safari */
+background-image: -moz-linear-gradient(top, #8cc63f, #6b9731); /* For old Fx (3.6 to 15) */
+background-image: -ms-linear-gradient(top, #8cc63f, #6b9731); /* For pre-releases of IE 10*/
+background-image: -o-linear-gradient(top, #8cc63f, #6b9731); /* For old Opera (11.1 to 12.0) */
+background-image: linear-gradient(to bottom, #8cc63f, #6b9731); /* Standard syntax; must be last */
font-size:2em;
line-height:22px;
padding-bottom:7px;
@@ -1724,3 +1743,7 @@ text-decoration:underline;
.request_listing a,.body_listing a,.user_listing a,.request_short_listing a,h2 a,.feed_link a {
text-decoration:none;
}
+
+.big {
+ font-size: larger;
+}
diff --git a/script/handle-mail-replies.rb b/script/handle-mail-replies.rb
index 73fca33c3..4e35ee0cf 100755
--- a/script/handle-mail-replies.rb
+++ b/script/handle-mail-replies.rb
@@ -30,7 +30,7 @@ def main(in_test_mode)
Dir.chdir($alaveteli_dir) do
raw_message = $stdin.read
begin
- message = MailHandler.mail_from_raw_email(raw_message, decode=false)
+ message = MailHandler.mail_from_raw_email(raw_message)
rescue
# Error parsing message. Just pass it on, to be on the safe side.
forward_on(raw_message) unless in_test_mode
diff --git a/script/runner b/script/runner
index 2bd5e9aa7..1575848de 100755
--- a/script/runner
+++ b/script/runner
@@ -31,7 +31,7 @@ Dir.chdir(alaveteli_dir) do
fh.puts pid
end
end
-
+
Process.detach(pid)
else
# Not daemon mode
diff --git a/spec/controllers/admin_censor_rule_controller_spec.rb b/spec/controllers/admin_censor_rule_controller_spec.rb
index 8893a858b..fb9ddf594 100644
--- a/spec/controllers/admin_censor_rule_controller_spec.rb
+++ b/spec/controllers/admin_censor_rule_controller_spec.rb
@@ -2,10 +2,14 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe AdminCensorRuleController, "when making censor rules from the admin interface" do
integrate_views
- before { basic_auth_login @request }
-
+ before do
+ basic_auth_login @request
+ PurgeRequest.destroy_all
+ end
+
+
it "should create a censor rule and purge the corresponding request from varnish" do
- ir = info_requests(:fancy_dog_request)
+ ir = info_requests(:fancy_dog_request)
post :create, :censor_rule => {
:text => "meat",
:replacement => "tofu",
diff --git a/spec/controllers/admin_public_body_controller_spec.rb b/spec/controllers/admin_public_body_controller_spec.rb
index 504ddc5cc..317c186fa 100644
--- a/spec/controllers/admin_public_body_controller_spec.rb
+++ b/spec/controllers/admin_public_body_controller_spec.rb
@@ -215,6 +215,19 @@ describe AdminPublicBodyController, "when administering public bodies and paying
PublicBody.count.should == n - 1
end
+ it "doesn't let people with good emergency account credentials log in if the emergency user is disabled" do
+ setup_emergency_credentials('biz', 'fuz')
+ Configuration.stub!(:disable_emergency_user).and_return(true)
+ n = PublicBody.count
+ basic_auth_login(@request, "biz", "fuz")
+ post :show, { :id => public_bodies(:humpadink_public_body).id, :emergency => 1}
+ session[:using_admin].should == nil
+ n = PublicBody.count
+ post :destroy, { :id => public_bodies(:forlorn_public_body).id }
+ session[:using_admin].should == nil
+ PublicBody.count.should == n
+ end
+
it "allows superusers to do stuff" do
session[:user_id] = users(:admin_user).id
@request.env["HTTP_AUTHORIZATION"] = ""
@@ -288,7 +301,7 @@ describe AdminPublicBodyController, "when administering public bodies with i18n"
end
it "saves edits to a public body" do
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
pb = PublicBody.find(id=3)
pb.name.should == "El Department for Humpadinking"
post :update, {
@@ -308,10 +321,10 @@ describe AdminPublicBodyController, "when administering public bodies with i18n"
end
pb = PublicBody.find(public_bodies(:humpadink_public_body).id)
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
pb.name.should == "Renamed"
end
- PublicBody.with_locale(:en) do
+ I18n.with_locale(:en) do
pb.name.should == "Department for Humpadinking"
end
end
@@ -357,12 +370,12 @@ describe AdminPublicBodyController, "when creating public bodies with i18n" do
body = PublicBody.find_by_name("New Quango")
body.translations.map {|t| t.locale.to_s}.sort.should == ["en", "es"]
- PublicBody.with_locale(:en) do
+ I18n.with_locale(:en) do
body.name.should == "New Quango"
body.url_name.should == "new_quango"
body.first_letter.should == "N"
end
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
body.name.should == "Mi Nuevo Quango"
body.url_name.should == "mi_nuevo_quango"
body.first_letter.should == "M"
diff --git a/spec/controllers/public_body_controller_spec.rb b/spec/controllers/public_body_controller_spec.rb
index 29ece18cb..8f5b79489 100644
--- a/spec/controllers/public_body_controller_spec.rb
+++ b/spec/controllers/public_body_controller_spec.rb
@@ -43,18 +43,14 @@ describe PublicBodyController, "when showing a body" do
:conditions => ["public_body_id = ?", public_bodies(:humpadink_public_body).id])
end
- it "should assign the body using different locale from that used for url_name" do
- PublicBody.with_locale(:es) do
- get :show, {:url_name => "dfh", :view => 'all'}
- assigns[:public_body].notes.should == "Baguette"
- end
+ it "should redirect to the canonical name in the chosen locale" do
+ get :show, {:url_name => "dfh", :view => 'all', :show_locale => "es"}
+ response.should redirect_to "http://test.host/es/body/edfh"
end
it "should assign the body using same locale as that used in url_name" do
- PublicBody.with_locale(:es) do
- get :show, {:url_name => "edfh", :view => 'all'}
- assigns[:public_body].notes.should == "Baguette"
- end
+ get :show, {:url_name => "edfh", :view => 'all', :show_locale => "es"}
+ response.should include_text("Baguette")
end
it "should redirect use to the relevant locale even when url_name is for a different locale" do
@@ -67,6 +63,11 @@ describe PublicBodyController, "when showing a body" do
ActionController::Routing::Routes.filters = old_filters
end
+ it "should remember the filter (view) setting on redirecting" do
+ get :show, :show_locale => "es", :url_name => "tgq", :view => 'successful'
+ response.should redirect_to 'http://test.host/es/body/etgq/successful'
+ end
+
it "should redirect to newest name if you use historic name of public body in URL" do
get :show, :url_name => "hdink", :view => 'all'
response.should redirect_to(:controller => 'public_body', :action => 'show', :url_name => "dfh")
@@ -87,7 +88,7 @@ describe PublicBodyController, "when listing bodies" do
end
it "should list all bodies from default locale, even when there are no translations for selected locale" do
- PublicBody.with_locale(:en) do
+ I18n.with_locale(:en) do
@english_only = PublicBody.new(:name => 'English only',
:short_name => 'EO',
:request_email => 'english@flourish.org',
@@ -95,7 +96,7 @@ describe PublicBodyController, "when listing bodies" do
:last_edit_comment => '')
@english_only.save
end
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
get :list
assigns[:public_bodies].include?(@english_only).should == true
end
diff --git a/spec/controllers/request_controller_spec.rb b/spec/controllers/request_controller_spec.rb
index 430259426..672c2c361 100644
--- a/spec/controllers/request_controller_spec.rb
+++ b/spec/controllers/request_controller_spec.rb
@@ -121,7 +121,9 @@ end
describe RequestController, "when changing things that appear on the request page" do
- integrate_views
+ before do
+ PurgeRequest.destroy_all
+ end
it "should purge the downstream cache when mail is received" do
ir = info_requests(:fancy_dog_request)
@@ -1031,7 +1033,7 @@ describe RequestController, "when creating a new request" do
mail = deliveries[0]
mail.body.should =~ /This is a silly letter. It is too short to be interesting./
- response.should redirect_to(:action => 'show', :url_title => ir.url_title)
+ response.should redirect_to show_new_request_url(:url_title => ir.url_title)
# This test uses an explicit path because it's relied in
# Google Analytics goals:
response.redirected_to.should =~ /request\/why_is_your_quango_called_gerald\/new$/
@@ -1069,7 +1071,7 @@ describe RequestController, "when creating a new request" do
ir.url_title.should_not == ir2.url_title
- response.should redirect_to(:action => 'show', :url_title => ir2.url_title)
+ response.should redirect_to show_new_request_url(:url_title => ir2.url_title)
end
it 'should respect the rate limit' do
@@ -1081,14 +1083,14 @@ describe RequestController, "when creating a new request" do
:title => "What is the answer to the ultimate question?", :tag_string => "" },
:outgoing_message => { :body => "Please supply the answer from your files." },
:submitted_new_request => 1, :preview => 0
- response.should redirect_to(:action => 'show', :url_title => 'what_is_the_answer_to_the_ultima')
+ response.should redirect_to show_new_request_url(:url_title => 'what_is_the_answer_to_the_ultima')
post :new, :info_request => { :public_body_id => @body.id,
:title => "Why did the chicken cross the road?", :tag_string => "" },
:outgoing_message => { :body => "Please send me all the relevant documents you hold." },
:submitted_new_request => 1, :preview => 0
- response.should redirect_to(:action => 'show', :url_title => 'why_did_the_chicken_cross_the_ro')
+ response.should redirect_to show_new_request_url(:url_title => 'why_did_the_chicken_cross_the_ro')
post :new, :info_request => { :public_body_id => @body.id,
:title => "What's black and white and red all over?", :tag_string => "" },
@@ -1108,20 +1110,20 @@ describe RequestController, "when creating a new request" do
:title => "What is the answer to the ultimate question?", :tag_string => "" },
:outgoing_message => { :body => "Please supply the answer from your files." },
:submitted_new_request => 1, :preview => 0
- response.should redirect_to(:action => 'show', :url_title => 'what_is_the_answer_to_the_ultima')
+ response.should redirect_to show_new_request_url(:url_title => 'what_is_the_answer_to_the_ultima')
post :new, :info_request => { :public_body_id => @body.id,
:title => "Why did the chicken cross the road?", :tag_string => "" },
:outgoing_message => { :body => "Please send me all the relevant documents you hold." },
:submitted_new_request => 1, :preview => 0
- response.should redirect_to(:action => 'show', :url_title => 'why_did_the_chicken_cross_the_ro')
+ response.should redirect_to show_new_request_url(:url_title => 'why_did_the_chicken_cross_the_ro')
post :new, :info_request => { :public_body_id => @body.id,
:title => "What's black and white and red all over?", :tag_string => "" },
:outgoing_message => { :body => "Please send all minutes of meetings and email records that address this question." },
:submitted_new_request => 1, :preview => 0
- response.should redirect_to(:action => 'show', :url_title => 'whats_black_and_white_and_red_al')
+ response.should redirect_to show_new_request_url(:url_title => 'whats_black_and_white_and_red_al')
end
end
@@ -1248,8 +1250,7 @@ describe RequestController, "when classifying an information request" do
end
it 'should redirect to the request page' do
- post :describe_state, :id => @external_request.id,
- :submitted_describe_state => 1
+ post :describe_state, :id => @external_request.id
response.should redirect_to(:action => 'show',
:controller => 'request',
:url_title => @external_request.url_title)
@@ -1269,8 +1270,7 @@ describe RequestController, "when classifying an information request" do
def post_status(status)
post :describe_state, :incoming_message => { :described_state => status },
:id => @dog_request.id,
- :last_info_request_event_id => @dog_request.last_event_id_needing_description,
- :submitted_describe_state => 1
+ :last_info_request_event_id => @dog_request.last_event_id_needing_description
end
it "should require login" do
@@ -1280,6 +1280,7 @@ describe RequestController, "when classifying an information request" do
end
it 'should ask whether the request is old and unclassified' do
+ session[:user_id] = users(:silly_name_user).id
@dog_request.should_receive(:is_old_unclassified?)
post_status('rejected')
end
@@ -1317,7 +1318,7 @@ describe RequestController, "when classifying an information request" do
it 'should classify the request' do
@dog_request.stub!(:calculate_status).and_return('rejected')
- @dog_request.should_receive(:set_described_state).with('rejected')
+ @dog_request.should_receive(:set_described_state).with('rejected', users(:silly_name_user), nil)
post_status('rejected')
end
@@ -1345,6 +1346,26 @@ describe RequestController, "when classifying an information request" do
flash[:notice].should == 'Thank you for updating this request!'
end
+ context "playing the classification game" do
+ before :each do
+ session[:request_game] = true
+ end
+
+ it "should continue the game after classifying a request" do
+ post_status("rejected")
+ flash[:notice].should =~ /There are some more requests below for you to classify/
+ response.should redirect_to categorise_play_url
+ end
+ end
+
+ it "should send a mail from the user who changed the state to requires_admin" do
+ post :describe_state, :incoming_message => { :described_state => "requires_admin", :message => "a message" }, :id => @dog_request.id, :incoming_message_id => incoming_messages(:useless_incoming_message), :last_info_request_event_id => @dog_request.last_event_id_needing_description
+
+ deliveries = ActionMailer::Base.deliveries
+ deliveries.size.should == 1
+ mail = deliveries[0]
+ mail.from_addrs.first.to_s.should == users(:silly_name_user).name_and_email
+ end
end
end
@@ -1360,7 +1381,7 @@ describe RequestController, "when classifying an information request" do
it 'should update the status of the request' do
@dog_request.stub!(:calculate_status).and_return('rejected')
- @dog_request.should_receive(:set_described_state).with('rejected')
+ @dog_request.should_receive(:set_described_state).with('rejected', @admin_user, nil)
post_status('rejected')
end
@@ -1411,7 +1432,7 @@ describe RequestController, "when classifying an information request" do
it 'should update the status of the request' do
@dog_request.stub!(:calculate_status).and_return('rejected')
- @dog_request.should_receive(:set_described_state).with('rejected')
+ @dog_request.should_receive(:set_described_state).with('rejected', @admin_user, nil)
post_status('rejected')
end
@@ -1446,6 +1467,22 @@ describe RequestController, "when classifying an information request" do
@dog_request.stub!(:each).and_return([@dog_request])
end
+ it "should let you know when you forget to select a status" do
+ post :describe_state, :id => @dog_request.id,
+ :last_info_request_event_id => @dog_request.last_event_id_needing_description
+ response.should redirect_to show_request_url(:url_title => @dog_request.url_title)
+ flash[:error].should == _("Please choose whether or not you got some of the information that you wanted.")
+ end
+
+ it "should not change the status if the request has changed while viewing it" do
+ @dog_request.stub!(:last_event_id_needing_description).and_return(2)
+
+ post :describe_state, :incoming_message => { :described_state => "rejected" },
+ :id => @dog_request.id, :last_info_request_event_id => 1
+ response.should redirect_to show_request_url(:url_title => @dog_request.url_title)
+ flash[:error].should =~ /The request has been updated since you originally loaded this page/
+ end
+
it "should successfully classify response if logged in as user controlling request" do
post_status('rejected')
response.should redirect_to(:controller => 'help', :action => 'unhappy', :url_title => @dog_request.url_title)
@@ -1466,22 +1503,34 @@ describe RequestController, "when classifying an information request" do
post_status('rejected')
end
- it "should send email when classified as requires_admin" do
- post :describe_state, :incoming_message => { :described_state => "requires_admin" }, :id => @dog_request.id, :incoming_message_id => incoming_messages(:useless_incoming_message), :last_info_request_event_id => @dog_request.last_event_id_needing_description, :submitted_describe_state => 1
- response.should redirect_to(:controller => 'help', :action => 'contact')
+ it "should go to the page asking for more information when classified as requires_admin" do
+ post :describe_state, :incoming_message => { :described_state => "requires_admin" }, :id => @dog_request.id, :incoming_message_id => incoming_messages(:useless_incoming_message), :last_info_request_event_id => @dog_request.last_event_id_needing_description
+ response.should redirect_to describe_state_message_url(:url_title => @dog_request.url_title, :described_state => "requires_admin")
@dog_request.reload
- @dog_request.awaiting_description.should == false
- @dog_request.described_state.should == 'requires_admin'
- @dog_request.get_last_response_event.calculated_state.should == 'requires_admin'
+ @dog_request.described_state.should_not == 'requires_admin'
- deliveries = ActionMailer::Base.deliveries
- deliveries.size.should == 1
- mail = deliveries[0]
- mail.body.should =~ /as needing admin/
- mail.from_addrs.first.to_s.should == @request_owner.name_and_email
+ ActionMailer::Base.deliveries.should be_empty
end
+ context "message is included when classifying as requires_admin" do
+ it "should send an email including the message" do
+ post :describe_state,
+ :incoming_message => {
+ :described_state => "requires_admin",
+ :message => "Something weird happened" },
+ :id => @dog_request.id,
+ :last_info_request_event_id => @dog_request.last_event_id_needing_description
+
+ deliveries = ActionMailer::Base.deliveries
+ deliveries.size.should == 1
+ mail = deliveries[0]
+ mail.body.should =~ /as needing admin/
+ mail.body.should =~ /Something weird happened/
+ end
+ end
+
+
it 'should say it is showing advice as to what to do next' do
post_status('rejected')
flash[:notice].should match(/Here is what to do now/)
@@ -1592,12 +1641,22 @@ describe RequestController, "when classifying an information request" do
expect_redirect('internal_review', request_url)
end
- it 'should redirect to the "help general url" when status is updated to "requires admin"' do
- expect_redirect('requires_admin', "help/contact")
+ it 'should redirect to the "request url" when status is updated to "requires admin"' do
+ post :describe_state, :incoming_message => {
+ :described_state => 'requires_admin',
+ :message => "A message" },
+ :id => @dog_request.id,
+ :last_info_request_event_id => @dog_request.last_event_id_needing_description
+ response.should redirect_to show_request_url(:url_title => @dog_request.url_title)
end
- it 'should redirect to the "help general url" when status is updated to "error message"' do
- expect_redirect('error_message', "help/contact")
+ it 'should redirect to the "request url" when status is updated to "error message"' do
+ post :describe_state, :incoming_message => {
+ :described_state => 'error_message',
+ :message => "A message" },
+ :id => @dog_request.id,
+ :last_info_request_event_id => @dog_request.last_event_id_needing_description
+ response.should redirect_to show_request_url(:url_title => @dog_request.url_title)
end
it 'should redirect to the "respond to last url url" when status is updated to "user_withdrawn"' do
diff --git a/spec/controllers/track_controller_spec.rb b/spec/controllers/track_controller_spec.rb
index c785960b5..5505afe59 100644
--- a/spec/controllers/track_controller_spec.rb
+++ b/spec/controllers/track_controller_spec.rb
@@ -57,7 +57,6 @@ end
describe TrackController, "when sending alerts for a track" do
integrate_views
- include LinkToHelper # for main_url
before(:each) do
load_raw_emails_data
@@ -105,7 +104,7 @@ describe TrackController, "when sending alerts for a track" do
# Given we can't click the link, check the token is right instead
post_redirect = PostRedirect.find_by_email_token(mail_token)
- expected_url = main_url("/user/" + users(:silly_name_user).url_name + "#email_subscriptions") # XXX can't call URL making functions here, what is correct way to do this?
+ expected_url = show_user_url(:url_name => users(:silly_name_user).url_name, :anchor => "email_subscriptions")
post_redirect.uri.should == expected_url
# Check nothing more is delivered if we try again
diff --git a/spec/fixtures/files/incoming-request-empty.email b/spec/fixtures/files/incoming-request-empty.email
new file mode 100644
index 000000000..890a14f21
--- /dev/null
+++ b/spec/fixtures/files/incoming-request-empty.email
@@ -0,0 +1,8 @@
+From: EMAIL_FROM
+To: FOI Person <EMAIL_TO>
+Bcc:
+Subject: Re: Nothing to see here.
+Reply-To:
+In-Reply-To: <471f1eae5d1cb_7347..fdbe67386163@cat.tmail>
+
+
diff --git a/spec/fixtures/info_request_events.yml b/spec/fixtures/info_request_events.yml
index c1a00ad47..3907703d8 100644
--- a/spec/fixtures/info_request_events.yml
+++ b/spec/fixtures/info_request_events.yml
@@ -171,3 +171,14 @@ anonymous_external_outgoing_message_event:
created_at: 2009-01-03 02:23:45.6789100
described_state: waiting_response
calculated_state: waiting_response
+
+other_request_outgoing_message_event:
+ id: 916
+ params_yaml: "--- \n\
+ :outgoing_message_id: 10\n"
+ outgoing_message_id: 10
+ info_request_id: 111
+ event_type: sent
+ created_at: <%= Time.now %>
+ described_state: waiting_response
+ calculated_state: waiting_response
diff --git a/spec/fixtures/info_requests.yml b/spec/fixtures/info_requests.yml
index 9361ec486..97effd036 100644
--- a/spec/fixtures/info_requests.yml
+++ b/spec/fixtures/info_requests.yml
@@ -107,3 +107,15 @@ anonymous_external_request:
awaiting_description: false
comments_allowed: true
idhash: 7654321a
+other_request:
+ id: 111
+ title: Another request
+ url_title: another_request
+ created_at: 2010-01-01 02:23:45.6789100
+ updated_at: 2010-01-01 02:23:45.6789100
+ public_body_id: 7
+ user_id: 6
+ described_state: waiting_response
+ awaiting_description: false
+ comments_allowed: true
+ idhash: b234567
diff --git a/spec/fixtures/locale/en/app.po b/spec/fixtures/locale/en/app.po
index bb5265a5a..a4b8f78bd 100644
--- a/spec/fixtures/locale/en/app.po
+++ b/spec/fixtures/locale/en/app.po
@@ -944,14 +944,14 @@ msgstr ""
#: app/views/request/new.rhtml:128
msgid ""
-"Everything that you enter on this page \n"
+"Everything that you enter on this page\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
#: app/views/request/new.rhtml:120
msgid ""
-"Everything that you enter on this page, including <strong>your name</strong>, \n"
+"Everything that you enter on this page, including <strong>your name</strong>,\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -2684,14 +2684,14 @@ msgstr ""
#: app/views/request/_followup.rhtml:59
msgid ""
-"The response to your request has been <strong>delayed</strong>. You can say that, \n"
+"The response to your request has been <strong>delayed</strong>. You can say that,\n"
" by law, the authority should normally have responded\n"
" <strong>promptly</strong> and"
msgstr ""
#: app/views/request/_followup.rhtml:71
msgid ""
-"The response to your request is <strong>long overdue</strong>. You can say that, by \n"
+"The response to your request is <strong>long overdue</strong>. You can say that, by\n"
" law, under all circumstances, the authority should have responded\n"
" by now"
msgstr ""
diff --git a/spec/fixtures/locale/en_GB/app.po b/spec/fixtures/locale/en_GB/app.po
index d914d773b..3391c8987 100644
--- a/spec/fixtures/locale/en_GB/app.po
+++ b/spec/fixtures/locale/en_GB/app.po
@@ -944,14 +944,14 @@ msgstr ""
#: app/views/request/new.rhtml:128
msgid ""
-"Everything that you enter on this page \n"
+"Everything that you enter on this page\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
#: app/views/request/new.rhtml:120
msgid ""
-"Everything that you enter on this page, including <strong>your name</strong>, \n"
+"Everything that you enter on this page, including <strong>your name</strong>,\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr ""
@@ -2683,14 +2683,14 @@ msgstr ""
#: app/views/request/_followup.rhtml:59
msgid ""
-"The response to your request has been <strong>delayed</strong>. You can say that, \n"
+"The response to your request has been <strong>delayed</strong>. You can say that,\n"
" by law, the authority should normally have responded\n"
" <strong>promptly</strong> and"
msgstr ""
#: app/views/request/_followup.rhtml:71
msgid ""
-"The response to your request is <strong>long overdue</strong>. You can say that, by \n"
+"The response to your request is <strong>long overdue</strong>. You can say that, by\n"
" law, under all circumstances, the authority should have responded\n"
" by now"
msgstr ""
diff --git a/spec/fixtures/locale/es/app.po b/spec/fixtures/locale/es/app.po
index d5536713f..d45d9b3b1 100644
--- a/spec/fixtures/locale/es/app.po
+++ b/spec/fixtures/locale/es/app.po
@@ -1060,14 +1060,14 @@ msgstr "Historial de eventos"
#: app/views/request/new.rhtml:128
msgid ""
-"Everything that you enter on this page \n"
+"Everything that you enter on this page\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr "Todo lo que escriba en esta página \n estará <strong>disponible públicamente</strong> en\n está web para siempre (<a href=\"{{url}}\">¿por qué?</a>)."
#: app/views/request/new.rhtml:120
msgid ""
-"Everything that you enter on this page, including <strong>your name</strong>, \n"
+"Everything that you enter on this page, including <strong>your name</strong>,\n"
" will be <strong>displayed publicly</strong> on\n"
" this website forever (<a href=\"{{url}}\">why?</a>)."
msgstr "Todo lo que escribas en esta página, incluyendo <strong>tu nombre</strong>, \n estará <strong>disponible públicamente</strong> en\n está web para siempre (<a href=\"{{url}}\">¿por qué?</a>)."
@@ -2877,14 +2877,14 @@ msgstr "El creador de la solicitud la ha cancelado por algún motivo"
#: app/views/request/_followup.rhtml:59
msgid ""
-"The response to your request has been <strong>delayed</strong>. You can say that, \n"
+"The response to your request has been <strong>delayed</strong>. You can say that,\n"
" by law, the authority should normally have responded\n"
" <strong>promptly</strong> and"
msgstr "La respuesta a tu solicitud ha sido <strong>retrasada</strong>.\n Por ley, el organismo debería normalmente haber respondido\n <strong>rápidamente</strong> y"
#: app/views/request/_followup.rhtml:71
msgid ""
-"The response to your request is <strong>long overdue</strong>. You can say that, by \n"
+"The response to your request is <strong>long overdue</strong>. You can say that, by\n"
" law, under all circumstances, the authority should have responded\n"
" by now"
msgstr "La respuesta a tu solicitud ha sido <strong>muy retrasada</strong>.\n Por ley, bajo cualquier circunstancia, el organismo ya debería\n haber respondido"
diff --git a/spec/fixtures/outgoing_messages.yml b/spec/fixtures/outgoing_messages.yml
index 55df8473e..c71ee08bf 100644
--- a/spec/fixtures/outgoing_messages.yml
+++ b/spec/fixtures/outgoing_messages.yml
@@ -108,3 +108,14 @@ anonymous_external_outgoing_message:
updated_at: 2009-01-12 01:56:58.586598
what_doing: normal_sort
+other_outgoing_message:
+ id: 10
+ info_request_id: 111
+ message_type: initial_request
+ status: sent
+ body: "Just another request"
+ last_sent_at: <%= Time.now %>
+ created_at: 2009-01-12 01:56:58.586598
+ updated_at: 2009-01-12 01:56:58.586598
+ what_doing: normal_sort
+
diff --git a/spec/fixtures/public_bodies.yml b/spec/fixtures/public_bodies.yml
index 615c4bcb6..65cba4b28 100644
--- a/spec/fixtures/public_bodies.yml
+++ b/spec/fixtures/public_bodies.yml
@@ -72,3 +72,18 @@ sensible_walks_public_body:
created_at: 2008-10-25 10:51:01.161639
api_key: 5
info_requests_count: 1
+other_public_body:
+ id: 7
+ version: 1
+ name: 'Another Public Body'
+ first_letter: A
+ request_email: other@localhost
+ short_name: Another Public Body
+ url_name: another_public_body
+ notes: More notes
+ updated_at: 2008-10-25 10:51:01.161639
+ last_edit_comment: Another edit
+ last_edit_editor: louise
+ created_at: 2008-10-25 10:51:01.161639
+ api_key: 6
+ info_requests_count: 0
diff --git a/spec/fixtures/public_body_translations.yml b/spec/fixtures/public_body_translations.yml
index 24b14c470..61e07fb5b 100644
--- a/spec/fixtures/public_body_translations.yml
+++ b/spec/fixtures/public_body_translations.yml
@@ -88,3 +88,16 @@ sensible_walks_en_public_body_translation:
notes: I bet you’ve never heard of it.
publication_scheme: ""
disclosure_log: ""
+
+other_public_body_translation:
+ id: 8
+ public_body_id: 7
+ locale: en
+ name: "Another Public Body"
+ first_letter: A
+ request_email: other@localhost
+ short_name: Another Public Body
+ url_name: another_public_body
+ notes: More notes
+ publication_scheme: ""
+ disclosure_log: ""
diff --git a/spec/fixtures/users.yml b/spec/fixtures/users.yml
index d6391c5e8..c9730d855 100644
--- a/spec/fixtures/users.yml
+++ b/spec/fixtures/users.yml
@@ -1,4 +1,4 @@
-bob_smith_user:
+bob_smith_user:
id: "1"
name: Bob Smith
url_name: bob_smith
@@ -13,7 +13,7 @@ bob_smith_user:
locale: 'en'
about_me: 'I like making requests about fancy dogs and naughty chickens and stuff.'
receive_email_alerts: true
-silly_name_user:
+silly_name_user:
id: "2"
name: "Silly <em>Name</em>"
url_name: silly_emnameem
@@ -28,7 +28,7 @@ silly_name_user:
locale: 'en'
about_me: ''
receive_email_alerts: true
-admin_user:
+admin_user:
id: "3"
name: Joe Admin
url_name: joe_admin
@@ -43,7 +43,7 @@ admin_user:
locale: ''
about_me: ''
receive_email_alerts: true
-unconfirmed_user:
+unconfirmed_user:
id: "4"
name: "Unconfirmed"
url_name: unconfirmed
@@ -71,3 +71,17 @@ robin_user:
ban_text: ''
about_me: 'I am the best'
receive_email_alerts: true
+another_user:
+ id: 6
+ name: Another User
+ url_name: another_user
+ email: another@localhost
+ salt: "-6116981980.392287733335677"
+ hashed_password: 6b7cd45a5f35fd83febc0452a799530398bfb6e8 # jonespassword
+ updated_at: 2012-01-01 10:39:15.491593
+ created_at: 2012-01-01 10:39:15.491593
+ email_confirmed: true
+ admin_level: 'none'
+ ban_text: ''
+ about_me: 'Just another user'
+ receive_email_alerts: true
diff --git a/spec/helpers/link_to_helper_spec.rb b/spec/helpers/link_to_helper_spec.rb
index 030fd612d..3e997f9f9 100644
--- a/spec/helpers/link_to_helper_spec.rb
+++ b/spec/helpers/link_to_helper_spec.rb
@@ -17,27 +17,15 @@ describe LinkToHelper do
it 'should return a path like /request/test_title' do
- request_url(@mock_request).should == '/request/test_title'
+ request_path(@mock_request).should == '/request/test_title'
end
it 'should return a path including any extra parameters passed' do
- request_url(@mock_request, {:update_status => 1}).should == '/request/test_title?update_status=1'
+ request_path(@mock_request, {:update_status => 1}).should == '/request/test_title?update_status=1'
end
end
- describe "when appending something to a URL" do
- it 'should append to things without query strings' do
- main_url('/a', '.json').should == 'http://test.host/a.json'
- end
- it 'should append to things with query strings' do
- main_url('/a?z=1', '.json').should == 'http://test.host/a.json?z=1'
- end
- it 'should fail silently with invalid URLs' do
- main_url('/a?z=9%', '.json').should == 'http://test.host/a?z=9%'
- end
- end
-
describe 'when displaying a user admin link for a request' do
it 'should return the text "An anonymous user (external)" in the case where there is no external username' do
@@ -48,32 +36,6 @@ describe LinkToHelper do
end
- describe 'admin_url' do
- context 'with no ADMIN_BASE_URL set' do
- it 'should prepend the admin general index path to a simple string' do
- admin_url('unclassified').should == 'http://test.host/en/admin/unclassified'
- end
-
- it 'should prepend the admin general index path to a deeper URL' do
- admin_url('request/show/123').should == 'http://test.host/en/admin/request/show/123'
- end
- end
-
- context 'with ADMIN_BASE_URL set' do
- before(:each) do
- Configuration::should_receive(:admin_base_url).and_return('https://www.example.com/secure/alaveteli-admin/')
- end
-
- it 'should prepend the admin base URL to a simple string' do
- admin_url('unclassified').should == 'https://www.example.com/secure/alaveteli-admin/unclassified'
- end
-
- it 'should prepend the admin base URL to a deeper URL' do
- admin_url('request/show/123').should == 'https://www.example.com/secure/alaveteli-admin/request/show/123'
- end
- end
- end
-
describe 'simple_date' do
it 'should respect time zones' do
Time.use_zone('Australia/Sydney') do
diff --git a/spec/integration/request_controller_spec.rb b/spec/integration/request_controller_spec.rb
new file mode 100644
index 000000000..24667bdf1
--- /dev/null
+++ b/spec/integration/request_controller_spec.rb
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe RequestController, "when classifying an information request" do
+
+ describe 'when the request is internal' do
+
+ before(:each) do
+ @dog_request = info_requests(:fancy_dog_request)
+ # This should happen automatically before each test but doesn't with these integration
+ # tests for some reason.
+ ActionMailer::Base.deliveries = []
+ end
+
+ describe 'when logged in as the requestor' do
+
+ before :each do
+ @request_owner = @dog_request.user
+ visit signin_path
+ fill_in "Your e-mail:", :with => @request_owner.email
+ fill_in "Password:", :with => "jonespassword"
+ click_button "Sign in"
+ end
+
+ it "should send an email including the message" do
+ visit describe_state_message_path(:url_title => @dog_request.url_title,
+ :described_state => "requires_admin")
+ fill_in "Please tell us more:", :with => "Okay. I don't quite understand."
+ click_button "Submit status and send message"
+
+ response.should contain "Thank you! We'll look into what happened and try and fix it up."
+
+ deliveries = ActionMailer::Base.deliveries
+ deliveries.size.should == 1
+ mail = deliveries[0]
+ mail.body.should =~ /as needing admin/
+ mail.body.should =~ /Okay. I don't quite understand./
+ end
+ end
+ end
+end
diff --git a/spec/lib/ability_spec.rb b/spec/lib/ability_spec.rb
new file mode 100644
index 000000000..f075d0f32
--- /dev/null
+++ b/spec/lib/ability_spec.rb
@@ -0,0 +1,51 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+
+describe Ability do
+ describe ".can_update_request_state?" do
+ context "old and unclassified request" do
+ let(:request) { mock_model(InfoRequest, :is_old_unclassified? => true) }
+
+ context "logged out" do
+ let(:user) { nil }
+ before(:each) { request.stub!(:is_owning_user?).and_return(false) }
+ it { Ability::can_update_request_state?(user, request).should be_false }
+ end
+
+ context "logged in but not owner of request" do
+ let(:user) { mock_model(User) }
+ before(:each) { request.stub!(:is_owning_user?).and_return(false) }
+
+ it { Ability::can_update_request_state?(user, request).should be_true }
+ end
+ end
+
+ context "new request" do
+ let(:request) { mock_model(InfoRequest, :is_old_unclassified? => false) }
+
+ context "logged out" do
+ let(:user) { nil }
+ before(:each) { request.stub!(:is_owning_user?).and_return(false) }
+
+ it { Ability::can_update_request_state?(user, request).should be_false }
+ end
+
+ context "logged in" do
+ let(:user) { mock_model(User) }
+
+ # An owner of a request can also be someone with admin powers
+ context "as owner of request" do
+ before(:each) { request.stub!(:is_owning_user?).and_return(true) }
+
+ it { Ability::can_update_request_state?(user, request).should be_true }
+ end
+
+ context "but not owner of request" do
+ before(:each) { request.stub!(:is_owning_user?).and_return(false) }
+
+ it { Ability::can_update_request_state?(user, request).should be_false }
+ end
+ end
+ end
+ end
+end
+
diff --git a/spec/lib/sendmail_return_path_spec.rb b/spec/lib/sendmail_return_path_spec.rb
index 7708edb35..137869b6e 100644
--- a/spec/lib/sendmail_return_path_spec.rb
+++ b/spec/lib/sendmail_return_path_spec.rb
@@ -28,7 +28,7 @@ describe "when sending email with an altered return path" do
Net::SMTP.stub!(:new).and_return(mock_smtp)
with_delivery_method :smtp do
- ContactMailer.deliver_message(
+ ContactMailer.deliver_to_admin_message(
"Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
"This is just a test for a test script", nil, nil, nil
)
@@ -42,7 +42,7 @@ describe "when sending email with an altered return path" do
with_stub_popen do
IO.should_receive(:popen).once.with('/usr/sbin/sendmail -i -t -f "test@localhost"', "w+")
with_delivery_method :sendmail do
- ContactMailer.deliver_message(
+ ContactMailer.deliver_to_admin_message(
"Mr. Test", "test@localhost", "Test script spec/lib/sendmail_return_path_spec.rb",
"This is just a test for a test script", nil, nil, nil
)
diff --git a/spec/lib/timezone_fixes_spec.rb b/spec/lib/timezone_fixes_spec.rb
index 525bd7561..9d6ade526 100644
--- a/spec/lib/timezone_fixes_spec.rb
+++ b/spec/lib/timezone_fixes_spec.rb
@@ -11,14 +11,13 @@ describe "when doing things with timezones" do
with_active_record_default_timezone :utc do
time = Time.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in EST by local method (using ENV['TZ'])
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "EST"], time.to_a
# Due to :utc active_record_default_timezone, everything saved as UTC
- assert_equal [0, 0, 5, 1, 1, 2000, 6, 1, false, "UTC"], raw_saved_time.to_a
+ assert_equal "2000-01-01 05:00:00", raw_saved_time
# As config.time_zone is UTC (from config default), times returned in UTC
assert_equal [0, 0, 5, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a
end
@@ -33,14 +32,12 @@ describe "when doing things with timezones" do
Time.use_zone 'Central Time (US & Canada)' do
time = Time.zone.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
- assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in CST by Time.local (as Time.zone has been set)
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a
# Due to :utc active_record_default_timezone, everything saved as UTC
- assert_equal [0, 0, 6, 1, 1, 2000, 6, 1, false, "UTC"], raw_saved_time.to_a
+ assert_equal "2000-01-01 06:00:00", raw_saved_time
# Times returned in CST due to Time.use_zone and ActiveRecord::time_zone_aware_attributes
# being true
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], saved_time.to_a
@@ -55,14 +52,13 @@ describe "when doing things with timezones" do
with_active_record_default_timezone :local do
time = Time.utc(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in UTC by Time.utc method
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "UTC"], time.to_a
# Due to :local active_record_default_timezone, saved as EST
- assert_equal [0, 0, 19, 31, 12, 1999, 5, 365, false, "EST"], raw_saved_time.to_a
+ assert_equal "1999-12-31 19:00:00", raw_saved_time
# As config.time_zone is UTC (from config default), times returned in UTC
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "UTC"], saved_time.to_a
end
@@ -76,14 +72,13 @@ describe "when doing things with timezones" do
Time.use_zone 'Central Time (US & Canada)' do
time = Time.zone.local(2000)
mail_server_log_done = MailServerLogDone.create('last_stat' => time, 'filename' => 'dummy')
- raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).read_attribute(:last_stat)
+ raw_saved_time = MailServerLogDone.find(mail_server_log_done.id).attributes_before_type_cast["last_stat"]
saved_time = MailServerLogDone.find(mail_server_log_done.id).last_stat
assert_equal time, saved_time
- assert_equal saved_time, raw_saved_time
# Time is created in CST by Time.zone.local
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], time.to_a
# Due to :local active_record_default_timezone, saved as EST
- assert_equal [0, 0, 1, 1, 1, 2000, 6, 1, false, "EST"], raw_saved_time.to_a
+ assert_equal "2000-01-01 01:00:00", raw_saved_time
# Due to Time.use_zone, and ActiveRecord::time_zone_aware_attributes
# being true, time returned in CST
assert_equal [0, 0, 0, 1, 1, 2000, 6, 1, false, "CST"], saved_time.to_a
diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb
index 544852f91..728a538f9 100644
--- a/spec/models/info_request_spec.rb
+++ b/spec/models/info_request_spec.rb
@@ -426,8 +426,8 @@ describe InfoRequest do
before do
Time.stub!(:now).and_return(Time.utc(2007, 11, 9, 23, 59))
- @mock_comment_event = safe_mock_model(InfoRequestEvent, :created_at => Time.now - 23.days, :event_type => 'comment')
- @mock_response_event = safe_mock_model(InfoRequestEvent, :created_at => Time.now - 22.days, :event_type => 'response')
+ @mock_comment_event = safe_mock_model(InfoRequestEvent, :created_at => Time.now - 23.days, :event_type => 'comment', :response? => false)
+ @mock_response_event = safe_mock_model(InfoRequestEvent, :created_at => Time.now - 22.days, :event_type => 'response', :response? => true)
@info_request = InfoRequest.new(:prominence => 'normal',
:awaiting_description => true,
:info_request_events => [@mock_response_event, @mock_comment_event])
diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb
index c2e0a6353..0b1bfccd7 100644
--- a/spec/models/public_body_spec.rb
+++ b/spec/models/public_body_spec.rb
@@ -210,7 +210,7 @@ describe PublicBody, "when searching" do
end
it "should cope with same url_name across multiple locales" do
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
# use the unique spanish name to retrieve and edit
body = PublicBody.find_by_url_name_with_historic('etgq')
body.short_name = 'tgq' # Same as english version
@@ -231,7 +231,7 @@ end
describe PublicBody, " when dealing public body locales" do
it "shouldn't fail if it internal_admin_body was created in a locale other than the default" do
# first time, do it with the non-default locale
- PublicBody.with_locale(:es) do
+ I18n.with_locale(:es) do
PublicBody.internal_admin_body
end
@@ -378,7 +378,7 @@ describe PublicBody, " when loading CSV files" do
PublicBody.count.should == original_count + 3
- # XXX Not sure why trying to do a PublicBody.with_locale fails here. Seems related to
+ # XXX Not sure why trying to do a I18n.with_locale fails here. Seems related to
# the way categories are loaded every time from the PublicBody class. For now we just
# test some translation was done.
body = PublicBody.find_by_name('North West Fake Authority')
diff --git a/spec/models/purge_request_spec.rb b/spec/models/purge_request_spec.rb
index 94fe01317..7b67fca52 100644
--- a/spec/models/purge_request_spec.rb
+++ b/spec/models/purge_request_spec.rb
@@ -1,12 +1,13 @@
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require 'fakeweb'
-describe PurgeRequest, "purging things" do
+describe PurgeRequest, "purging things" do
before do
+ PurgeRequest.destroy_all
FakeWeb.last_request = nil
end
- it 'should issue purge requests to the server' do
+ it 'should issue purge requests to the server' do
req = PurgeRequest.new(:url => "/begone_from_here",
:model => "don't care",
:model_id => "don't care")
@@ -16,7 +17,7 @@ describe PurgeRequest, "purging things" do
PurgeRequest.all().count.should == 0
end
- it 'should fail silently for a misconfigured server' do
+ it 'should fail silently for a misconfigured server' do
FakeWeb.register_uri(:get, %r|brokenv|, :body => "BROKEN")
config = MySociety::Config.load_default()
config['VARNISH_HOST'] = "brokencache"
@@ -29,4 +30,4 @@ describe PurgeRequest, "purging things" do
PurgeRequest.all().count.should == 0
end
end
-
+
diff --git a/spec/models/request_mailer_spec.rb b/spec/models/request_mailer_spec.rb
index 0f09e6926..40133eedc 100644
--- a/spec/models/request_mailer_spec.rb
+++ b/spec/models/request_mailer_spec.rb
@@ -1,3 +1,4 @@
+# encoding: utf-8
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe RequestMailer, " when receiving incoming mail" do
@@ -27,7 +28,7 @@ describe RequestMailer, " when receiving incoming mail" do
receive_incoming_mail('incoming-request-plain.email', 'dummy@localhost')
ir.incoming_messages.size.should == 1
InfoRequest.holding_pen_request.incoming_messages.size.should == 1
- last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.get_last_event
+ last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.info_request_events.last
last_event.params[:rejected_reason].should == "Could not identify the request from the email address"
deliveries = ActionMailer::Base.deliveries
@@ -47,7 +48,7 @@ describe RequestMailer, " when receiving incoming mail" do
receive_incoming_mail('incoming-request-plain.email', ir.incoming_email, "")
ir.incoming_messages.size.should == 1
InfoRequest.holding_pen_request.incoming_messages.size.should == 1
- last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.get_last_event
+ last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.info_request_events.last
last_event.params[:rejected_reason].should =~ /there is no "From" address/
deliveries = ActionMailer::Base.deliveries
@@ -67,7 +68,7 @@ describe RequestMailer, " when receiving incoming mail" do
receive_incoming_mail('incoming-request-plain.email', ir.incoming_email, "frob@nowhere.com")
ir.incoming_messages.size.should == 1
InfoRequest.holding_pen_request.incoming_messages.size.should == 1
- last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.get_last_event
+ last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.info_request_events.last
last_event.params[:rejected_reason].should =~ /Only the authority can reply/
deliveries = ActionMailer::Base.deliveries
@@ -98,7 +99,7 @@ describe RequestMailer, " when receiving incoming mail" do
mail.multipart?.should == true
mail.parts.size.should == 2
message_part = mail.parts[0].to_s
- bounced_mail = MailHandler.mail_from_raw_email(mail.parts[1].body, decode=false)
+ bounced_mail = MailHandler.mail_from_raw_email(mail.parts[1].body)
bounced_mail.to.should == [ ir.incoming_email ]
bounced_mail.from.should == [ 'geraldinequango@localhost' ]
bounced_mail.body.include?("That's so totally a rubbish question").should be_true
@@ -152,7 +153,7 @@ describe RequestMailer, " when receiving incoming mail" do
receive_incoming_mail('incoming-request-plain.email', ir.incoming_email)
ir.incoming_messages.size.should == 1
InfoRequest.holding_pen_request.incoming_messages.size.should == 1 # arrives in holding pen
- last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.get_last_event
+ last_event = InfoRequest.holding_pen_request.incoming_messages[0].info_request.info_request_events.last
last_event.params[:rejected_reason].should =~ /allow new responses from nobody/
# should be a message to admin regarding holding pen
@@ -327,6 +328,27 @@ describe RequestMailer, 'when sending mail when someone has updated an old uncla
end
+
+describe RequestMailer, 'when sending a new response email' do
+
+ before do
+ @user = mock_model(User, :name_and_email => 'test name and email')
+ @public_body = mock_model(PublicBody, :name => 'Test public body')
+ @info_request = mock_model(InfoRequest, :user => @user,
+ :law_used_full => 'Freedom of Information',
+ :title => 'Here is a character that needs quoting …',
+ :public_body => @public_body,
+ :display_status => 'Refused.',
+ :url_title => 'test_request')
+ @incoming_message = mock_model(IncomingMessage, :info_request => @info_request)
+ end
+
+ it 'should not error when sending mails requests with characters requiring quoting in the subject' do
+ @mail = RequestMailer.create_new_response(@info_request, @incoming_message)
+ end
+
+end
+
describe RequestMailer, 'requires_admin' do
before(:each) do
user = mock_model(User, :name_and_email => 'Bruce Jones',
@@ -345,15 +367,9 @@ describe RequestMailer, 'requires_admin' do
mail.body.should include('http://test.host/en/admin/request/show/123')
end
- context 'has an ADMIN_BASE_URL set' do
- before(:each) do
- Configuration::should_receive(:admin_base_url).and_return('http://our.proxy.server/admin/alaveteli/')
- end
-
- it 'body should contain the full admin URL' do
- mail = RequestMailer.deliver_requires_admin(@info_request)
-
- mail.body.should include('http://our.proxy.server/admin/alaveteli/request/show/123')
- end
+ it "body should contain the message from the user" do
+ mail = RequestMailer.deliver_requires_admin(@info_request, nil, "Something has gone wrong")
+ mail.body.should include 'Something has gone wrong'
end
+
end
diff --git a/spec/models/track_mailer_spec.rb b/spec/models/track_mailer_spec.rb
index 9bf03c3d0..97f12b8f5 100644
--- a/spec/models/track_mailer_spec.rb
+++ b/spec/models/track_mailer_spec.rb
@@ -160,20 +160,19 @@ describe TrackMailer do
describe 'delivering the email' do
- before do
+ before :each do
@post_redirect = mock_model(PostRedirect, :save! => true,
:email_token => "token")
PostRedirect.stub!(:new).and_return(@post_redirect)
ActionMailer::Base.deliveries = []
+ @user = mock_model(User,
+ :name_and_email => MailHandler.address_from_name_and_email('Tippy Test', 'tippy@localhost'),
+ :url_name => 'tippy_test'
+ )
+ TrackMailer.deliver_event_digest(@user, []) # no items in it email for minimal test
end
it 'should deliver one email, with right headers' do
- @user = mock_model(User,
- :name_and_email => MailHandler.address_from_name_and_email('Tippy Test', 'tippy@localhost'),
- :url_name => 'tippy_test'
- )
-
- TrackMailer.deliver_event_digest(@user, []) # no items in it email for minimal test
deliveries = ActionMailer::Base.deliveries
if deliveries.size > 1 # debugging if there is an error
deliveries.each do |d|
@@ -190,6 +189,22 @@ describe TrackMailer do
deliveries.clear
end
+
+ context "force ssl is off" do
+ # Force SSL is off in the tests. Since the code that selectively switches the protocols
+ # is in the initialiser for Rails it's hard to test. Hmmm...
+ # We could Configuration.stub!(:force_ssl).and_return(true) but the config/environment.rb
+ # wouldn't get reloaded
+
+ it "should have http links in the email" do
+ deliveries = ActionMailer::Base.deliveries
+ deliveries.size.should == 1
+ mail = deliveries[0]
+
+ mail.body.should include("http://")
+ mail.body.should_not include("https://")
+ end
+ end
end
end
diff --git a/spec/script/mailin-spec.rb b/spec/script/mailin-spec.rb
deleted file mode 100644
index d80789635..000000000
--- a/spec/script/mailin-spec.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
-require "external_command"
-
-def mailin_test(email_filename)
- Dir.chdir Rails.root do
- xc = ExternalCommand.new("script/mailin")
- xc.run(load_file_fixture(email_filename))
- xc.err.should == ""
- return xc
- end
-end
-
-describe "When importing mail into the application" do
-
- it "should not produce any output and should return a 0 code on importing a plain email" do
- r = mailin_test("incoming-request-plain.email")
- r.status.should == 0
- r.out.should == ""
- end
-
-end \ No newline at end of file
diff --git a/spec/script/mailin_spec.rb b/spec/script/mailin_spec.rb
new file mode 100644
index 000000000..acd06ff3b
--- /dev/null
+++ b/spec/script/mailin_spec.rb
@@ -0,0 +1,37 @@
+require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
+require "external_command"
+
+def mailin_test(email_filename)
+ Dir.chdir Rails.root do
+ xc = ExternalCommand.new("script/mailin")
+ mail = load_file_fixture(email_filename)
+ ir = info_requests(:other_request)
+ mail.gsub!('EMAIL_TO', ir.incoming_email)
+ mail.gsub!('EMAIL_FROM', 'responder@localhost')
+ xc.run(mail)
+ xc.err.should == ""
+ return xc
+ end
+end
+
+describe "When importing mail into the application" do
+
+ # Turn off transactional fixtures for this suite - incoming message is imported
+ # outside the transaction via ExternalCommand, so needs to be destroyed outside the
+ # transaction
+ self.use_transactional_fixtures = false
+
+ it "should not produce any output and should return a 0 code on importing a plain email" do
+ r = mailin_test("incoming-request-empty.email")
+ r.status.should == 0
+ r.out.should == ""
+ end
+
+ # Destroy the incoming message so that it doesn't affect other tests
+ after do
+ ir = info_requests(:other_request)
+ incoming_message = ir.incoming_messages[0]
+ incoming_message.fully_destroy
+ end
+
+end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 561a75da6..33e39e6e4 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,3 +1,16 @@
+require 'simplecov'
+require 'coveralls'
+
+# Generate coverage locally in html as well as in coveralls.io
+SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
+ SimpleCov::Formatter::HTMLFormatter,
+ Coveralls::SimpleCov::Formatter
+]
+SimpleCov.start('rails') do
+ add_filter 'commonlib'
+ add_filter 'vendor/plugins'
+end
+
# This file is copied to ~/spec when you run 'ruby script/generate rspec'
# from the project root directory.
ENV["RAILS_ENV"] = 'test'
@@ -17,8 +30,9 @@ config['REPLY_LATE_AFTER_DAYS'] = 20
require 'fakeweb'
FakeWeb.register_uri(:purge, %r|varnish.localdomain|, :body => "OK")
-# Uncomment the next line to use webrat's matchers
-#require 'webrat/integrations/rspec-rails'
+Webrat.configure do |config|
+ config.mode = :rails
+end
# Use test-specific translations
FastGettext.add_text_domain 'app', :path => File.join(File.dirname(__FILE__), 'fixtures', 'locale'), :type => :po
@@ -173,76 +187,12 @@ def get_fixtures_xapian_index()
ActsAsXapian.db_path = temp_path
end
-# Validate an entire HTML page
-def validate_html(html)
- $tempfilecount = $tempfilecount + 1
- tempfilename = File.join(Dir::tmpdir, "railshtmlvalidate."+$$.to_s+"."+$tempfilecount.to_s+".html")
- File.open(tempfilename, "w+") do |f|
- f.puts html
- end
- if not system($html_validation_script, *($html_validation_script_options +[tempfilename]))
- raise "HTML validation error in " + tempfilename + " HTTP status: " + @response.response_code.to_s
- end
- File.unlink(tempfilename)
- return true
-end
-
-# Validate HTML fragment by wrapping it as the <body> of a page
-def validate_as_body(html)
- validate_html('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' +
- "<html><head><title>Test</title></head><body>#{html}</body></html>")
-end
-
def basic_auth_login(request, username = nil, password = nil)
username = Configuration::admin_username if username.nil?
password = Configuration::admin_password if password.nil?
request.env["HTTP_AUTHORIZATION"] = "Basic " + Base64::encode64("#{username}:#{password}")
end
-# Monkeypatch! Validate HTML in tests.
-$html_validation_script_found = false
-Configuration::utility_search_path.each do |d|
- $html_validation_script = File.join(d, "validate")
- $html_validation_script_options = ["--charset=utf-8"]
- if File.file? $html_validation_script and File.executable? $html_validation_script
- $html_validation_script_found = true
- break
- end
-end
-if $tempfilecount.nil?
- $tempfilecount = 0
- if $html_validation_script_found
- module ActionController
- module TestProcess
- # Hook into the process function, so can automatically get HTML after each request
- alias :original_process :process
- def is_fragment
- # XXX there must be a better way of doing this!
- return @request.query_parameters["action"] == "search_typeahead"
- end
- def process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET')
- self.original_process(action, parameters, session, flash, http_method)
- # don't validate auto-generated HTML
- return if @request.query_parameters["action"] == "get_attachment_as_html"
- # XXX Is there a better way to check this than calling a private method?
- return unless @response.template.controller.instance_eval { integrate_views? }
- # And then if HTML, not a redirect (302, 301)
- if @response.content_type == "text/html" && ! [301,302,401].include?(@response.response_code)
- if !is_fragment
- validate_html(@response.body)
- else
- # it's a partial
- validate_as_body(@response.body)
- end
- end
- end
- end
- end
- else
- puts "WARNING: HTML validation script " + $html_validation_script + " not found"
- end
-end
-
# to_ary differs in Ruby 1.8 and 1.9
# @see http://yehudakatz.com/2010/01/02/the-craziest-fing-bug-ive-ever-seen/
def safe_mock_model(model, args = {})
diff --git a/spec/views/public_body/show.rhtml_spec.rb b/spec/views/public_body/show.rhtml_spec.rb
index b68b3f43b..23e92dedd 100644
--- a/spec/views/public_body/show.rhtml_spec.rb
+++ b/spec/views/public_body/show.rhtml_spec.rb
@@ -38,11 +38,6 @@ describe "when viewing a body" do
response.should be_success
end
- it "should be valid HTML" do
- render "public_body/show"
- validate_as_body response.body
- end
-
it "should show the body's name" do
render "public_body/show"
response.should have_tag("h1", "Test Quango")
diff --git a/spec/views/request/show.rhtml_spec.rb b/spec/views/request/show.rhtml_spec.rb
index 4429e9e58..a22f29951 100644
--- a/spec/views/request/show.rhtml_spec.rb
+++ b/spec/views/request/show.rhtml_spec.rb
@@ -98,7 +98,7 @@ describe 'when viewing an information request' do
it 'should show a link to follow up the last response with clarification' do
request_page
- expected_url = "http://test.host/request/#{@mock_request.id}/response/#{@mock_response.id}#followup"
+ expected_url = "/request/#{@mock_request.id}/response/#{@mock_response.id}#followup"
response.should have_tag("a[href=#{expected_url}]", :text => 'send a follow up message')
end
@@ -118,7 +118,7 @@ describe 'when viewing an information request' do
it 'should show a link to follow up the request without reference to a specific response' do
request_page
- expected_url = "http://test.host/request/#{@mock_request.id}/response#followup"
+ expected_url = "/request/#{@mock_request.id}/response#followup"
response.should have_tag("a[href=#{expected_url}]", :text => 'send a follow up message')
end
end
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
index 374fcd65b..67d6f3258 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
@@ -758,7 +758,7 @@ module ActsAsXapian
else
values = []
for locale in self.translations.map{|x| x.locale}
- self.class.with_locale(locale) do
+ I18n.with_locale(locale) do
values << single_xapian_value(field, type=type)
end
end
diff --git a/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb b/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb
index c8171c669..b8a239483 100644
--- a/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb
+++ b/vendor/plugins/rails_xss/lib/rails_xss/erubis.rb
@@ -1,4 +1,10 @@
-require 'erubis/helpers/rails_helper'
+# stop erubis from printing it's version number all the time
+old_stdout = $stdout
+File.open("/dev/null", "w") do |f|
+ $stdout = f
+ require 'erubis/helpers/rails_helper'
+ $stdout = old_stdout
+end
module RailsXss
class Erubis < ::Erubis::Eruby