diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-10-17 15:05:37 +0100 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-10-17 15:05:37 +0100 |
commit | c8a203e221a55a5653596f5a8e092bd3877df9c4 (patch) | |
tree | 3de4ac1214eca2c12a357e5f338b0d3055e79721 | |
parent | e6dc0f6606b26e13cb0cd16124fdb2aad3c1b5a6 (diff) | |
parent | cc7bc36d5748c9baa0cfd8e44395923cc5792f32 (diff) |
Merge branch 'release/0.6.7'
Conflicts:
locale/cs/app.po
locale/ro_RO/app.po
154 files changed, 2629 insertions, 809 deletions
diff --git a/.travis.yml b/.travis.yml index 70f1e3ecf..497a03159 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ 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/memcached.yml-test config/memcached.yml - sudo apt-get update - export DEBIAN_FRONTEND=noninteractive - sudo apt-get -y install exim4-daemon-light diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb index 52df8dfc1..dca312b8b 100644 --- a/app/controllers/admin_censor_rule_controller.rb +++ b/app/controllers/admin_censor_rule_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_censor_rule_controller.rb,v 1.7 2009-06-30 14:28:25 francis Exp $ class AdminCensorRuleController < AdminController def new diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 08528f8a8..dd966c4af 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_controller.rb,v 1.29 2009-09-17 10:24:35 francis Exp $ require 'fileutils' @@ -48,7 +46,7 @@ class AdminController < ApplicationController end def authenticate - if MySociety::Config.get('SKIP_ADMIN_AUTH', false) + if Configuration::skip_admin_auth session[:using_admin] = 1 return else @@ -70,10 +68,8 @@ class AdminController < ApplicationController end end else - config_username = MySociety::Config.get('ADMIN_USERNAME', '') - config_password = MySociety::Config.get('ADMIN_PASSWORD', '') authenticate_or_request_with_http_basic do |user_name, password| - if user_name == config_username && password == config_password + if user_name == Configuration::admin_username && password == Configuration::admin_password session[:using_admin] = 1 request.env['REMOTE_USER'] = user_name else diff --git a/app/controllers/admin_general_controller.rb b/app/controllers/admin_general_controller.rb index 7e8498d8a..5176eb8db 100644 --- a/app/controllers/admin_general_controller.rb +++ b/app/controllers/admin_general_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_general_controller.rb,v 1.12 2009-10-03 01:28:33 francis Exp $ class AdminGeneralController < AdminController def index diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb index 30a43bb81..e64925bde 100644 --- a/app/controllers/admin_public_body_controller.rb +++ b/app/controllers/admin_public_body_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_public_body_controller.rb,v 1.23 2009-08-26 00:58:29 francis Exp $ require "public_body_categories" diff --git a/app/controllers/admin_request_controller.rb b/app/controllers/admin_request_controller.rb index 53ff2957b..c97ef7f1e 100644 --- a/app/controllers/admin_request_controller.rb +++ b/app/controllers/admin_request_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_request_controller.rb,v 1.42 2009-10-03 01:28:33 francis Exp $ require 'ostruct' @@ -42,9 +40,9 @@ class AdminRequestController < AdminController # XXX is this *really* the only way to render a template to a # variable, rather than to the response? vars = OpenStruct.new(:name_to => @info_request.user_name, - :name_from => MySociety::Config.get("CONTACT_NAME", 'Alaveteli'), + :name_from => Configuration::contact_name, :info_request => @info_request, :reason => params[:reason], - :info_request_url => 'http://' + MySociety::Config.get('DOMAIN') + request_url(@info_request), + :info_request_url => 'http://' + Configuration::domain + request_url(@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 }) @@ -95,7 +93,7 @@ class AdminRequestController < AdminController :old_allow_new_responses_from => old_allow_new_responses_from, :allow_new_responses_from => @info_request.allow_new_responses_from, :old_handle_rejected_responses => old_handle_rejected_responses, :handle_rejected_responses => @info_request.handle_rejected_responses, :old_tag_string => old_tag_string, :tag_string => @info_request.tag_string, - :old_comments_allowed => old_comments_allowed, :tag_string => @info_request.comments_allowed + :old_comments_allowed => old_comments_allowed, :comments_allowed => @info_request.comments_allowed }) # expire cached files expire_for_request(@info_request) diff --git a/app/controllers/admin_track_controller.rb b/app/controllers/admin_track_controller.rb index 7142dc18e..03217da45 100644 --- a/app/controllers/admin_track_controller.rb +++ b/app/controllers/admin_track_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_track_controller.rb,v 1.5 2009-01-29 12:10:10 francis Exp $ class AdminTrackController < AdminController def list diff --git a/app/controllers/admin_user_controller.rb b/app/controllers/admin_user_controller.rb index 4059ac0bb..ed20ddcf4 100644 --- a/app/controllers/admin_user_controller.rb +++ b/app/controllers/admin_user_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: admin_user_controller.rb,v 1.13 2009-07-28 12:53:54 francis Exp $ class AdminUserController < AdminController def index diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 409a432eb..aa5e85db3 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -248,6 +248,6 @@ class ApiController < ApplicationController private def make_url(*args) - "http://" + MySociety::Config.get("DOMAIN", '127.0.0.1:3000') + "/" + args.join("/") + "http://" + Configuration::domain + "/" + args.join("/") end end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index ce18e6ef5..f29015c63 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -6,8 +6,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: application.rb,v 1.59 2009-09-17 13:01:56 francis Exp $ require 'open-uri' @@ -56,7 +54,7 @@ class ApplicationController < ActionController::Base end def set_gettext_locale - if MySociety::Config.get('USE_DEFAULT_BROWSER_LANGUAGE', true) + if Configuration::use_default_browser_language requested_locale = params[:locale] || session[:locale] || cookies[:locale] || request.env['HTTP_ACCEPT_LANGUAGE'] || I18n.default_locale else requested_locale = params[:locale] || session[:locale] || cookies[:locale] || I18n.default_locale @@ -89,7 +87,7 @@ class ApplicationController < ActionController::Base # egrep "CONSUME MEMORY: [0-9]{7} KB" production.log around_filter :record_memory def record_memory - record_memory = MySociety::Config.get('DEBUG_RECORD_MEMORY', false) + record_memory = Configuration::debug_record_memory if record_memory logger.info "Processing request for #{request.url} with Rails process #{Process.pid}" File.read("/proc/#{Process.pid}/status").match(/VmRSS:\s+(\d+)/) @@ -333,11 +331,10 @@ class ApplicationController < ActionController::Base # def check_read_only - read_only = MySociety::Config.get('READ_ONLY', '') - if !read_only.empty? + if !Configuration::read_only.empty? flash[:notice] = _("<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>", :site_name => site_name, - :read_only => read_only) + :read_only => Configuration::read_only) redirect_to frontpage_url end @@ -557,13 +554,11 @@ class ApplicationController < ActionController::Base end def country_from_ip - gaze = MySociety::Config.get('GAZE_URL', '') - default = MySociety::Config.get('ISO_COUNTRY_CODE', '') country = "" - if !gaze.empty? - country = quietly_try_to_open("#{gaze}/gaze-rest?f=get_country_from_ip;ip=#{request.remote_ip}") + if !Configuration::gaze_url.empty? + country = quietly_try_to_open("#{Configuration::gaze_url}/gaze-rest?f=get_country_from_ip;ip=#{request.remote_ip}") end - country = default if country.empty? + country = Configuration::iso_country_code if country.empty? return country end diff --git a/app/controllers/comment_controller.rb b/app/controllers/comment_controller.rb index 988a8a6f8..ed249d6cc 100644 --- a/app/controllers/comment_controller.rb +++ b/app/controllers/comment_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: comment_controller.rb,v 1.9 2009-03-09 01:17:04 francis Exp $ class CommentController < ApplicationController before_filter :check_read_only, :only => [ :new ] diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb index 839064fcd..150b433ec 100644 --- a/app/controllers/general_controller.rb +++ b/app/controllers/general_controller.rb @@ -4,8 +4,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: general_controller.rb,v 1.57 2009-10-03 10:23:43 francis Exp $ begin require 'xmlsimple' @@ -24,7 +22,7 @@ class GeneralController < ApplicationController behavior_cache :tag => [session[:user_id], request.url] do # get some example searches and public bodies to display # either from config, or based on a (slow!) query if not set - body_short_names = MySociety::Config.get('FRONTPAGE_PUBLICBODY_EXAMPLES', '').split(/\s*;\s*/).map{|s| "'%s'" % s.gsub(/'/, "''") }.join(", ") + body_short_names = Configuration::frontpage_publicbody_examples.split(/\s*;\s*/).map{|s| "'%s'" % s.gsub(/'/, "''") }.join(", ") @locale = self.locale_from_params() locale_condition = 'public_body_translations.locale = ?' conditions = [locale_condition, @locale] @@ -32,8 +30,7 @@ class GeneralController < ApplicationController if body_short_names.empty? # This is too slow @popular_bodies = PublicBody.find(:all, - :select => "public_bodies.*, (select count(*) from info_requests where info_requests.public_body_id = public_bodies.id) as c", - :order => "c desc", + :order => "info_requests_count desc", :limit => 32, :conditions => conditions, :joins => :translations @@ -56,10 +53,13 @@ class GeneralController < ApplicationController # If there are not yet enough successful requests, fill out the list with # other requests if @request_events.count < max_count + @request_events_all_successful = false query = 'variety:sent' xapian_object = perform_search([InfoRequestEvent], query, sortby, 'request_title_collapse', max_count-@request_events.count) more_events = xapian_object.results.map { |r| r[:model] } @request_events += more_events + else + @request_events_all_successful = true end rescue @request_events = [] @@ -71,7 +71,7 @@ class GeneralController < ApplicationController def blog medium_cache @feed_autodetect = [] - @feed_url = "#{MySociety::Config.get('BLOG_FEED', '')}?lang=#{self.locale_from_params()}" + @feed_url = "#{Configuration::blog_feed}?lang=#{self.locale_from_params()}" @blog_items = [] if not @feed_url.empty? content = quietly_try_to_open(@feed_url) @@ -82,7 +82,7 @@ class GeneralController < ApplicationController @feed_autodetect = [{:url => @feed_url, :title => "#{site_name} blog"}] end end - @twitter_user = MySociety::Config.get('TWITTER_USERNAME', '') + @twitter_user = Configuration::twitter_username end # Just does a redirect from ?query= search to /query diff --git a/app/controllers/help_controller.rb b/app/controllers/help_controller.rb index c7affd57c..cf90f45bb 100644 --- a/app/controllers/help_controller.rb +++ b/app/controllers/help_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: help_controller.rb,v 1.12 2009-07-14 23:30:37 francis Exp $ class HelpController < ApplicationController @@ -20,7 +18,7 @@ class HelpController < ApplicationController end def contact - @contact_email = MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') + @contact_email = Configuration::contact_email @contact_email = @contact_email.gsub(/@/, "@") # if they clicked remove for link to request/body, remove it diff --git a/app/controllers/holiday_controller.rb b/app/controllers/holiday_controller.rb index 7f62aa26d..3101c07e3 100644 --- a/app/controllers/holiday_controller.rb +++ b/app/controllers/holiday_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: holiday_controller.rb,v 1.2 2009-10-26 17:52:39 francis Exp $ class HolidayController < ApplicationController @@ -14,7 +12,7 @@ class HolidayController < ApplicationController def due_date if params[:holiday] @request_date = Date.strptime(params[:holiday]) or raise "Invalid date" - @due_date = Holiday.due_date_from(@request_date, 20) + @due_date = Holiday.due_date_from(@request_date, Configuration::reply_late_after_days, Configuration::working_or_calendar_days) @skipped = Holiday.all( :conditions => [ 'day >= ? AND day <= ?', @request_date.strftime("%F"), @due_date.strftime("%F") diff --git a/app/controllers/public_body_controller.rb b/app/controllers/public_body_controller.rb index b8ea82a66..b34e89b8d 100644 --- a/app/controllers/public_body_controller.rb +++ b/app/controllers/public_body_controller.rb @@ -4,8 +4,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: public_body_controller.rb,v 1.8 2009-09-14 13:27:00 francis Exp $ require 'fastercsv' diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb index 268ecc73a..396e6593a 100644 --- a/app/controllers/request_controller.rb +++ b/app/controllers/request_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: request_controller.rb,v 1.192 2009-10-19 19:26:40 francis Exp $ require 'alaveteli_file_types' require 'zip/zip' @@ -30,7 +28,7 @@ class RequestController < ApplicationController def select_authority # Check whether we force the user to sign in right at the start, or we allow her # to start filling the request anonymously - if force_registration_on_new_request && !authenticated?( + if Configuration::force_registration_on_new_request && !authenticated?( :web => _("To send your FOI request"), :email => _("Then you'll be allowed to send FOI requests."), :email_subject => _("Confirm your email address") @@ -46,7 +44,7 @@ class RequestController < ApplicationController end def show - if !MySociety::Config.get('VARNISH_HOST').nil? + if !Configuration::varnish_host.nil? # If varnish is set up to accept PURGEs, then cache for a # long time long_cache @@ -369,7 +367,7 @@ class RequestController < ApplicationController replied by then.</p> <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 => MySociety::Config.get('REPLY_LATE_AFTER_DAYS', 20)) + :late_number_of_days => Configuration::reply_late_after_days) redirect_to show_new_request_path(:url_title => @info_request.url_title) end @@ -457,7 +455,7 @@ class RequestController < ApplicationController 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 @info_request.calculate_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 => MySociety::Config.get('REPLY_VERY_LATE_AFTER_DAYS', 40), :late_number_of_days => MySociety::Config.get('REPLY_LATE_AFTER_DAYS', 20)) + 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 @info_request.calculate_status == 'not_held' flash[:notice] = _("<p>Thank you! Here are some ideas on what to do next:</p> @@ -489,7 +487,7 @@ class RequestController < ApplicationController elsif @info_request.calculate_status == 'gone_postal' redirect_to respond_to_last_url(@info_request) + "?gone_postal=1" elsif @info_request.calculate_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 => MySociety::Config.get('REPLY_LATE_AFTER_DAYS', 20), :review_url => unhappy_url(@info_request) + "#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 @info_request.calculate_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>") @@ -875,11 +873,10 @@ class RequestController < ApplicationController if !File.exists?(file_path) FileUtils.mkdir_p(File.dirname(file_path)) Zip::ZipFile.open(file_path, Zip::ZipFile::CREATE) { |zipfile| - convert_command = MySociety::Config.get("HTML_TO_PDF_COMMAND") + convert_command = Configuration::html_to_pdf_command done = false if File.exists?(convert_command) - domain = MySociety::Config.get("DOMAIN") - url = "http://#{domain}#{request_url(info_request)}?print_stylesheet=1" + url = "http://#{Configuration::domain}#{request_url(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/request_game_controller.rb b/app/controllers/request_game_controller.rb index f22652dd1..4b6f02970 100644 --- a/app/controllers/request_game_controller.rb +++ b/app/controllers/request_game_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: request_game_controller.rb,v 1.9 2009-10-19 22:06:54 francis Exp $ class RequestGameController < ApplicationController diff --git a/app/controllers/services_controller.rb b/app/controllers/services_controller.rb index 40e0faaf7..ead5d73b7 100644 --- a/app/controllers/services_controller.rb +++ b/app/controllers/services_controller.rb @@ -6,7 +6,7 @@ class ServicesController < ApplicationController def other_country_message text = "" - iso_country_code = MySociety::Config.get('ISO_COUNTRY_CODE').downcase + iso_country_code = Configuration::iso_country_code.downcase if country_from_ip.downcase != iso_country_code found_country = WorldFOIWebsites.by_code(country_from_ip) found_country_name = !found_country.nil? && found_country[:country_name] @@ -36,9 +36,9 @@ class ServicesController < ApplicationController :content_type => "text/plain", :layout => false, :locals => {:name_to => info_request.user_name, - :name_from => MySociety::Config.get("CONTACT_NAME", 'Alaveteli'), + :name_from => Configuration::contact_name, :info_request => info_request, :reason => params[:reason], - :info_request_url => 'http://' + MySociety::Config.get('DOMAIN') + request_url(info_request), + :info_request_url => 'http://' + Configuration::domain + request_url(info_request), :site_name => site_name} end diff --git a/app/controllers/track_controller.rb b/app/controllers/track_controller.rb index 1a21491b1..8e76b4c9f 100644 --- a/app/controllers/track_controller.rb +++ b/app/controllers/track_controller.rb @@ -4,8 +4,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: track_controller.rb,v 1.31 2009-09-02 14:18:26 francis Exp $ class TrackController < ApplicationController diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 0a9e1d781..810b3321e 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: user_controller.rb,v 1.71 2009-09-17 07:51:47 francis Exp $ require 'set' @@ -138,7 +136,7 @@ class UserController < ApplicationController # Login form def signin work_out_post_redirect - @request_from_foreign_country = country_from_ip != MySociety::Config.get('ISO_COUNTRY_CODE', 'GB') + @request_from_foreign_country = country_from_ip != Configuration::iso_country_code # make sure we have cookies if session.instance_variable_get(:@dbman) if not session.instance_variable_get(:@dbman).instance_variable_get(:@original) @@ -192,7 +190,7 @@ class UserController < ApplicationController # Create new account form def signup work_out_post_redirect - @request_from_foreign_country = country_from_ip != MySociety::Config.get('ISO_COUNTRY_CODE', 'GB') + @request_from_foreign_country = country_from_ip != Configuration::iso_country_code # Make the user and try to save it @user_signup = User.new(params[:user_signup]) error = false diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 278df5a3b..090359f1f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4,8 +4,7 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: application_helper.rb,v 1.22 2008-07-09 07:24:50 francis Exp $ + require 'languages' module ApplicationHelper diff --git a/app/helpers/config_helper.rb b/app/helpers/config_helper.rb index 543b60256..73e12172f 100644 --- a/app/helpers/config_helper.rb +++ b/app/helpers/config_helper.rb @@ -1,9 +1,5 @@ module ConfigHelper def site_name - MySociety::Config.get('SITE_NAME', 'Alaveteli') - end - - def force_registration_on_new_request - MySociety::Config.get('FORCE_REGISTRATION_ON_NEW_REQUEST', false) + Configuration::site_name end end
\ No newline at end of file diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb index cae17ebd3..994da0e87 100755 --- a/app/helpers/link_to_helper.rb +++ b/app/helpers/link_to_helper.rb @@ -4,8 +4,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: link_to_helper.rb,v 1.52 2009-04-08 05:34:51 francis Exp $ module LinkToHelper @@ -221,9 +219,8 @@ module LinkToHelper # Admin pages def admin_url(relative_path) - admin_url_prefix = MySociety::Config.get("ADMIN_BASE_URL", "") - admin_url_prefix = admin_general_index_path+"/" if admin_url_prefix.empty? - return admin_url_prefix + relative_path + admin_url_prefix = Configuration::admin_base_url + (admin_url_prefix.empty? ? admin_general_index_url + '/' : admin_url_prefix) + relative_path end # About page URLs @@ -241,7 +238,7 @@ module LinkToHelper def main_url(relative_path, append = nil) - url_prefix = "http://" + MySociety::Config.get("DOMAIN", '127.0.0.1:3000') + url_prefix = "http://" + Configuration::domain url = url_prefix + relative_path if !append.nil? begin diff --git a/app/helpers/mailer_helper.rb b/app/helpers/mailer_helper.rb index c0a950d47..be2ce47aa 100644 --- a/app/helpers/mailer_helper.rb +++ b/app/helpers/mailer_helper.rb @@ -1,7 +1,5 @@ module MailerHelper def contact_from_name_and_email - contact_name = MySociety::Config.get("CONTACT_NAME", 'Alaveteli') - contact_email = MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') - return "#{contact_name} <#{contact_email}>" + "#{Configuration::contact_name} <#{Configuration::contact_email}>" end end diff --git a/app/models/about_me_validator.rb b/app/models/about_me_validator.rb index 67b81bc9c..5e04c2761 100644 --- a/app/models/about_me_validator.rb +++ b/app/models/about_me_validator.rb @@ -11,8 +11,6 @@ # # Copyright (c) 2010 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: contact_validator.rb,v 1.32 2009-09-17 21:10:05 francis Exp $ class AboutMeValidator < ActiveRecord::BaseWithoutTable strip_attributes! diff --git a/app/models/application_mailer.rb b/app/models/application_mailer.rb index 044006f7c..cdb279c3c 100644 --- a/app/models/application_mailer.rb +++ b/app/models/application_mailer.rb @@ -3,9 +3,8 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: application_mailer.rb,v 1.8 2009-02-09 10:37:12 francis Exp $ +require 'action_mailer/version' class ApplicationMailer < ActionMailer::Base # Include all the functions views get, as emails call similar things. helper :application @@ -16,7 +15,7 @@ class ApplicationMailer < ActionMailer::Base self.raise_delivery_errors = true def blackhole_email - MySociety::Config.get("BLACKHOLE_PREFIX", 'do-not-reply-to-this-address')+"@"+MySociety::Config.get("INCOMING_EMAIL_DOMAIN", "localhost") + Configuration::blackhole_prefix+"@"+Configuration::incoming_email_domain end # URL generating functions are needed by all controllers (for redirects), @@ -26,5 +25,126 @@ class ApplicationMailer < ActionMailer::Base # Site-wide access to configuration settings include ConfigHelper + + # Instantiate a new mailer object. If +method_name+ is not +nil+, the mailer + # will be initialized according to the named method. If not, the mailer will + # remain uninitialized (useful when you only need to invoke the "receive" + # method, for instance). + def initialize(method_name=nil, *parameters) #:nodoc: + create!(method_name, *parameters) if method_name + end + + # For each multipart template (e.g. "the_template_file.text.html.erb") available, + # add the one from the view path with the highest priority as a part to the mail + def render_multipart_templates + added_content_types = {} + self.view_paths.each do |view_path| + Dir.glob("#{view_path}/#{mailer_name}/#{@template}.*").each do |path| + template = view_path["#{mailer_name}/#{File.basename(path)}"] + + # Skip unless template has a multipart format + next unless template && template.multipart? + next if added_content_types[template.content_type] == true + @parts << Part.new( + :content_type => template.content_type, + :disposition => "inline", + :charset => charset, + :body => render_message(template, @body) + ) + added_content_types[template.content_type] = true + end + end + end + + # Look for the current template in each element of view_paths in order, + # return the first + def find_template + self.view_paths.each do |view_path| + if template = view_path["#{mailer_name}/#{@template}"] + return template + end + end + return nil + end + + if ActionMailer::VERSION::MAJOR == 2 + + # This method is a customised version of ActionMailer::Base.create! + # modified to allow templates to be selected correctly for multipart + # mails when themes have added to the view_paths. The problem from our + # point of view with ActionMailer::Base is that it sets template_root to + # the first element of the view_paths array and then uses only that (directly + # 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. + # Changed lines marked with *** + + # Initialize the mailer via the given +method_name+. The body will be + # rendered and a new TMail::Mail object created. + def create!(method_name, *parameters) #:nodoc: + initialize_defaults(method_name) + __send__(method_name, *parameters) + + # If an explicit, textual body has not been set, we check assumptions. + unless String === @body + # First, we look to see if there are any likely templates that match, + # which include the content-type in their file name (i.e., + # "the_template_file.text.html.erb", etc.). Only do this if parts + # have not already been specified manually. + if @parts.empty? + # *** render_multipart_templates replaces the following code + # Dir.glob("#{template_path}/#{@template}.*").each do |path| + # template = template_root["#{mailer_name}/#{File.basename(path)}"] + # + # # Skip unless template has a multipart format + # next unless template && template.multipart? + # + # @parts << Part.new( + # :content_type => template.content_type, + # :disposition => "inline", + # :charset => charset, + # :body => render_message(template, @body) + # ) + # end + render_multipart_templates + + unless @parts.empty? + @content_type = "multipart/alternative" if @content_type !~ /^multipart/ + @parts = sort_parts(@parts, @implicit_parts_order) + end + end + + # Then, if there were such templates, we check to see if we ought to + # also render a "normal" template (without the content type). If a + # normal template exists (or if there were no implicit parts) we render + # it. + template_exists = @parts.empty? + + # *** find_template replaces template_root call + # template_exists ||= template_root["#{mailer_name}/#{@template}"] + template_exists ||= find_template + + @body = render_message(@template, @body) if template_exists + + # Finally, if there are other message parts and a textual body exists, + # we shift it onto the front of the parts and set the body to nil (so + # that create_mail doesn't try to render it in addition to the parts). + if !@parts.empty? && String === @body + @parts.unshift ActionMailer::Part.new(:charset => charset, :body => @body) + @body = nil + end + end + + # If this is a multipart e-mail add the mime_version if it is not + # already set. + @mime_version ||= "1.0" if !@parts.empty? + + # build the mail object itself + @mail = create_mail + end + else + raise "ApplicationMailer.create! is obsolete - find another way to ensure that themes can override mail templates for multipart mails" + end + end diff --git a/app/models/censor_rule.rb b/app/models/censor_rule.rb index a74fdcb24..f40ab6fbb 100644 --- a/app/models/censor_rule.rb +++ b/app/models/censor_rule.rb @@ -21,8 +21,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: censor_rule.rb,v 1.14 2009-09-17 21:10:04 francis Exp $ class CensorRule < ActiveRecord::Base belongs_to :info_request diff --git a/app/models/change_email_validator.rb b/app/models/change_email_validator.rb index 0395ab6d5..9ef25217d 100644 --- a/app/models/change_email_validator.rb +++ b/app/models/change_email_validator.rb @@ -14,8 +14,6 @@ # # Copyright (c) 2010 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: contact_validator.rb,v 1.32 2009-09-17 21:10:05 francis Exp $ class ChangeEmailValidator < ActiveRecord::BaseWithoutTable strip_attributes! diff --git a/app/models/comment.rb b/app/models/comment.rb index 6edfaa24f..5507910e2 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -19,8 +19,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: comment.rb,v 1.18 2009-09-17 21:10:05 francis Exp $ class Comment < ActiveRecord::Base strip_attributes! diff --git a/app/models/contact_mailer.rb b/app/models/contact_mailer.rb index 6e781d48c..16aae2f15 100644 --- a/app/models/contact_mailer.rb +++ b/app/models/contact_mailer.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: contact_mailer.rb,v 1.10 2009-02-09 10:37:12 francis Exp $ class ContactMailer < ApplicationMailer @@ -52,7 +50,7 @@ class ContactMailer < ApplicationMailer :from_user => @from, :recipient_user => recipient_user, } - bcc MySociety::Config::get("CONTACT_EMAIL") + bcc Configuration::contact_email end end diff --git a/app/models/contact_validator.rb b/app/models/contact_validator.rb index a9748a739..d277161f9 100644 --- a/app/models/contact_validator.rb +++ b/app/models/contact_validator.rb @@ -14,8 +14,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: contact_validator.rb,v 1.32 2009-09-17 21:10:05 francis Exp $ class ContactValidator < ActiveRecord::BaseWithoutTable strip_attributes! diff --git a/app/models/exim_log.rb b/app/models/exim_log.rb index 82000efa1..abe198493 100644 --- a/app/models/exim_log.rb +++ b/app/models/exim_log.rb @@ -17,8 +17,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: exim_log.rb,v 1.14 2009-09-17 21:10:05 francis Exp $ class EximLog < ActiveRecord::Base belongs_to :info_request @@ -63,7 +61,7 @@ class EximLog < ActiveRecord::Base order = 0 for line in f order = order + 1 - email_domain = MySociety::Config.get("INCOMING_EMAIL_DOMAIN", "localhost") + email_domain = Configuration::incoming_email_domain emails = line.scan(/request-[^\s]+@#{email_domain}/).sort.uniq for email in emails info_request = InfoRequest.find_by_incoming_email(email) diff --git a/app/models/exim_log_done.rb b/app/models/exim_log_done.rb index 3cedc1379..86574a4cd 100644 --- a/app/models/exim_log_done.rb +++ b/app/models/exim_log_done.rb @@ -15,8 +15,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: exim_log_done.rb,v 1.8 2009-09-17 21:10:05 francis Exp $ class EximLogDone < ActiveRecord::Base has_many :exim_logs diff --git a/app/models/holiday.rb b/app/models/holiday.rb index debd88dec..d2437f438 100644 --- a/app/models/holiday.rb +++ b/app/models/holiday.rb @@ -20,23 +20,37 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: holiday.rb,v 1.10 2009-10-26 17:52:39 francis Exp $ class Holiday < ActiveRecord::Base - # Calculate the date on which a request made on a given date falls due. + def Holiday.weekend_or_holiday?(date) + # TODO only fetch holidays after the start_date + holidays = self.all.collect { |h| h.day }.to_set + + date.wday == 0 || date.wday == 6 || holidays.include?(date) + end + + def Holiday.due_date_from(start_date, days, type_of_days) + case type_of_days + when "working" + Holiday.due_date_from_working_days(start_date, days) + when "calendar" + Holiday.due_date_from_calendar_days(start_date, days) + else + raise "Unexpected value for type_of_days: #{type_of_days}" + end + end + + # Calculate the date on which a request made on a given date falls due when + # days are given in working days # i.e. it is due by the end of that day. - def Holiday.due_date_from(start_date, working_days) + def Holiday.due_date_from_working_days(start_date, working_days) # convert date/times into dates start_date = start_date.to_date - # TODO only fetch holidays after the start_date - holidays = self.all.collect { |h| h.day }.to_set - - # Count forward (20) working days. We start with today as "day zero". The - # first of the twenty full working days is the next day. We return the - # date of the last of the twenty. + # Count forward the number of working days. We start with today as "day zero". The + # first of the full working days is the next day. We return the + # date of the last of the number of working days. # This response for example of a public authority complains that we had # it wrong. We didn't (even thought I changed the code for a while, @@ -46,15 +60,27 @@ class Holiday < ActiveRecord::Base days_passed = 0 response_required_by = start_date - # Now step forward into each of the 20 days. + # Now step forward into each of the working days. while days_passed < working_days - response_required_by += 1.day - next if response_required_by.wday == 0 || response_required_by.wday == 6 # weekend - next if holidays.include?(response_required_by) - days_passed += 1 + response_required_by += 1 + days_passed += 1 unless weekend_or_holiday?(response_required_by) end - return response_required_by + response_required_by end + # Calculate the date on which a request made on a given date falls due when + # the days are given in calendar days (rather than working days) + # If the due date falls on a weekend or a holiday then the due date is the next + # weekday that isn't a holiday. + def Holiday.due_date_from_calendar_days(start_date, days) + # convert date/times into dates + start_date = start_date.to_date + + response_required_by = start_date + days + while weekend_or_holiday?(response_required_by) + response_required_by += 1 + end + response_required_by + end end diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb index 13fc316cd..fcb4671c5 100644 --- a/app/models/incoming_message.rb +++ b/app/models/incoming_message.rb @@ -27,8 +27,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: incoming_message.rb,v 1.228 2009-10-21 11:24:14 francis Exp $ # TODO # Move some of the (e.g. quoting) functions here into rblib, as they feel @@ -253,7 +251,7 @@ class IncomingMessage < ActiveRecord::Base text.gsub!(self.info_request.public_body.request_email, _("[{{public_body}} request email]", :public_body => self.info_request.public_body.short_or_long_name)) end text.gsub!(self.info_request.incoming_email, _('[FOI #{{request}} email]', :request => self.info_request.id.to_s) ) - text.gsub!(MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost'), _("[{{site_name}} contact email]", :site_name => MySociety::Config.get('SITE_NAME', 'Alaveteli')) ) + text.gsub!(Configuration::contact_email, _("[{{site_name}} contact email]", :site_name => Configuration::site_name) ) end # Replaces all email addresses in (possibly binary data) with equal length alternative ones. @@ -279,7 +277,7 @@ class IncomingMessage < ActiveRecord::Base if censored_uncompressed_text != uncompressed_text # then use the altered file (recompressed) recompressed_text = nil - if MySociety::Config.get('USE_GHOSTSCRIPT_COMPRESSION') == true + if Configuration::use_ghostscript_compression == true command = ["gs", "-sDEVICE=pdfwrite", "-dCompatibilityLevel=1.4", "-dPDFSETTINGS=/screen", "-dNOPAUSE", "-dQUIET", "-dBATCH", "-sOutputFile=-", "-"] else command = ["pdftk", "-", "output", "-", "compress"] @@ -376,8 +374,7 @@ class IncomingMessage < ActiveRecord::Base text.gsub!(/(Mobile|Mob)([\s\/]*(Fax|Tel))*\s*:?[\s\d]*\d/, "[mobile number]") # Remove WhatDoTheyKnow signup links - domain = MySociety::Config.get('DOMAIN') - text.gsub!(/http:\/\/#{domain}\/c\/[^\s]+/, "[WDTK login link]") + text.gsub!(/http:\/\/#{Configuration::domain}\/c\/[^\s]+/, "[WDTK login link]") # Remove things from censor rules self.info_request.apply_censor_rules_to_text!(text) @@ -647,9 +644,10 @@ class IncomingMessage < ActiveRecord::Base # Text looks like unlabelled nonsense, # strip out anything that isn't UTF-8 begin + source_charset = 'utf-8' if source_charset.nil? 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 => MySociety::Config.get('SITE_NAME', 'Alaveteli')) + :site_name => Configuration::site_name) rescue Iconv::InvalidEncoding, Iconv::IllegalSequence if source_charset != "utf-8" source_charset = "utf-8" diff --git a/app/models/info_request.rb b/app/models/info_request.rb index b62f67ee1..85168e6d4 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -689,21 +689,18 @@ public # last_event_forming_initial_request. There may be more obscure # things, e.g. fees, not properly covered. def date_response_required_by - days_later = MySociety::Config.get('REPLY_LATE_AFTER_DAYS', 20) - return Holiday.due_date_from(self.date_initial_request_last_sent_at, days_later) + Holiday.due_date_from(self.date_initial_request_last_sent_at, Configuration::reply_late_after_days, Configuration::working_or_calendar_days) end # This is a long stop - even with UK public interest test extensions, 40 # days is a very long time. def date_very_overdue_after last_sent = last_event_forming_initial_request - very_late_days_later = MySociety::Config.get('REPLY_VERY_LATE_AFTER_DAYS', 40) - school_very_late_days_later = MySociety::Config.get('SPECIAL_REPLY_VERY_LATE_AFTER_DAYS', 60) if self.public_body.is_school? # schools have 60 working days maximum (even over a long holiday) - return Holiday.due_date_from(self.date_initial_request_last_sent_at, 60) + Holiday.due_date_from(self.date_initial_request_last_sent_at, Configuration::special_reply_very_late_after_days, Configuration::working_or_calendar_days) else # public interest test ICO guidance gives 40 working maximum - return Holiday.due_date_from(self.date_initial_request_last_sent_at, 40) + Holiday.due_date_from(self.date_initial_request_last_sent_at, Configuration::reply_very_late_after_days, Configuration::working_or_calendar_days) end end @@ -903,10 +900,10 @@ public end def InfoRequest.magic_email_for_id(prefix_part, id) - magic_email = MySociety::Config.get("INCOMING_EMAIL_PREFIX", "") + magic_email = Configuration::incoming_email_prefix magic_email += prefix_part + id.to_s magic_email += "-" + InfoRequest.hash_from_id(id) - magic_email += "@" + MySociety::Config.get("INCOMING_EMAIL_DOMAIN", "localhost") + magic_email += "@" + Configuration::incoming_email_domain return magic_email end @@ -917,7 +914,7 @@ public end def InfoRequest.hash_from_id(id) - return Digest::SHA1.hexdigest(id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET", 'dummysecret'))[0,8] + return Digest::SHA1.hexdigest(id.to_s + Configuration::incoming_email_secret)[0,8] end # Called by find_by_incoming_email - and used to be called by separate @@ -1141,7 +1138,7 @@ public before_save :purge_in_cache def purge_in_cache - if !MySociety::Config.get('VARNISH_HOST').nil? && !self.id.nil? + if !Configuration::varnish_host.nil? && !self.id.nil? # we only do this for existing info_requests (new ones have a nil id) path = url_for(:controller => 'request', :action => 'show', :url_title => self.url_title, :only_path => true, :locale => :none) req = PurgeRequest.find_by_url(path) diff --git a/app/models/info_request_event.rb b/app/models/info_request_event.rb index 54d2f5ef7..5a8e3416f 100644 --- a/app/models/info_request_event.rb +++ b/app/models/info_request_event.rb @@ -21,8 +21,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: info_request_event.rb,v 1.96 2009-10-19 22:06:55 francis Exp $ class InfoRequestEvent < ActiveRecord::Base belongs_to :info_request diff --git a/app/models/outgoing_mailer.rb b/app/models/outgoing_mailer.rb index 8562c5b68..a307bb778 100644 --- a/app/models/outgoing_mailer.rb +++ b/app/models/outgoing_mailer.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: outgoing_mailer.rb,v 1.1 2009-10-04 21:53:54 francis Exp $ # Note: The layout for this wraps messages by lines rather than (blank line # separated) paragraphs, as is the convention for all the other mailers. This @@ -24,7 +22,7 @@ class OutgoingMailer < ApplicationMailer @subject = info_request.email_subject_request @headers["message-id"] = OutgoingMailer.id_for_message(outgoing_message) @body = {:info_request => info_request, :outgoing_message => outgoing_message, - :contact_email => MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') } + :contact_email => Configuration::contact_email } end # Later message to public body regarding existing request @@ -36,7 +34,7 @@ class OutgoingMailer < ApplicationMailer @headers["message-id"] = OutgoingMailer.id_for_message(outgoing_message) @body = {:info_request => info_request, :outgoing_message => outgoing_message, :incoming_message_followup => incoming_message_followup, - :contact_email => MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') } + :contact_email => Configuration::contact_email } end # XXX the condition checking valid_to_reply_to? also appears in views/request/_followup.rhtml, @@ -91,7 +89,7 @@ class OutgoingMailer < ApplicationMailer message_id = "ogm-" + outgoing_message.id.to_s t = Time.now message_id += "+" + '%08x%05x-%04x' % [t.to_i, t.tv_usec, rand(0xffff)] - message_id += "@" + MySociety::Config.get("INCOMING_EMAIL_DOMAIN", "localhost") + message_id += "@" + Configuration::incoming_email_domain return "<" + message_id + ">" end diff --git a/app/models/outgoing_message.rb b/app/models/outgoing_message.rb index 0ce1ee11c..0e547d493 100644 --- a/app/models/outgoing_message.rb +++ b/app/models/outgoing_message.rb @@ -21,8 +21,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: outgoing_message.rb,v 1.95 2009-10-04 21:53:54 francis Exp $ class OutgoingMessage < ActiveRecord::Base strip_attributes! @@ -87,7 +85,7 @@ class OutgoingMessage < ActiveRecord::Base "'" + self.info_request.title + "'." + "\n\n\n\n [ " + self.get_internal_review_insert_here_note + " ] \n\n\n\n" + "A full history of my FOI request and all correspondence is available on the Internet at this address:\n" + - "http://" + MySociety::Config.get("DOMAIN", '127.0.0.1:3000') + "/request/" + self.info_request.url_title + "http://" + Configuration::domain + "/request/" + self.info_request.url_title else "" end diff --git a/app/models/post_redirect.rb b/app/models/post_redirect.rb index f613fc58d..31f08c21a 100644 --- a/app/models/post_redirect.rb +++ b/app/models/post_redirect.rb @@ -25,8 +25,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: post_redirect.rb,v 1.51 2009-09-17 21:10:05 francis Exp $ require 'openssl' # for random bytes function diff --git a/app/models/profile_photo.rb b/app/models/profile_photo.rb index 72bfe954f..6e605651d 100644 --- a/app/models/profile_photo.rb +++ b/app/models/profile_photo.rb @@ -14,9 +14,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: profile_photo.rb,v 1.2 2009-09-17 21:10:05 francis Exp $ -# class ProfilePhoto < ActiveRecord::Base WIDTH = 96 diff --git a/app/models/public_body.rb b/app/models/public_body.rb index 2cf1ce8a2..34bcd332c 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -336,7 +336,7 @@ class PublicBody < ActiveRecord::Base pb = PublicBody.new( :name => 'Internal admin authority', :short_name => "", - :request_email => MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost'), + :request_email => Configuration::contact_email, :home_page => "", :notes => "", :publication_scheme => "", @@ -509,6 +509,20 @@ class PublicBody < ActiveRecord::Base return self.request_email_domain end + # Returns nil if configuration variable not set + def override_request_email + e = Configuration::override_all_public_body_request_emails + e if e != "" + end + + def request_email + if override_request_email + override_request_email + else + read_attribute(:request_email) + end + end + # Domain name of the request email def request_email_domain return PublicBody.extract_domain_from_email(self.request_email) diff --git a/app/models/raw_email.rb b/app/models/raw_email.rb index 3bb794684..bae144931 100644 --- a/app/models/raw_email.rb +++ b/app/models/raw_email.rb @@ -11,8 +11,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: raw_email.rb,v 1.12 2009-09-17 21:10:05 francis Exp $ class RawEmail < ActiveRecord::Base # deliberately don't strip_attributes, so keeps raw email properly @@ -28,8 +26,7 @@ class RawEmail < ActiveRecord::Base if ENV["RAILS_ENV"] == "test" return File.join(Rails.root, 'files/raw_email_test') else - return File.join(MySociety::Config.get('RAW_EMAILS_LOCATION', - 'files/raw_emails'), + return File.join(Configuration::raw_emails_location, request_id[0..2], request_id) end end diff --git a/app/models/request_mailer.rb b/app/models/request_mailer.rb index ba9285fc6..413e93e25 100644 --- a/app/models/request_mailer.rb +++ b/app/models/request_mailer.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: request_mailer.rb,v 1.89 2009-10-04 21:53:54 francis Exp $ require 'alaveteli_file_types' @@ -50,12 +48,12 @@ class RequestMailer < ApplicationMailer headers 'Return-Path' => blackhole_email, 'Reply-To' => @from, # we don't care about bounces, likely from spammers 'Auto-Submitted' => 'auto-replied' # http://tools.ietf.org/html/rfc3834 @recipients = email.from_addrs[0].to_s - @subject = "Your response to an FOI request was not delivered" + @subject = _("Your response to an FOI request was not delivered") attachment :content_type => 'message/rfc822', :body => raw_email_data, :filename => "original.eml", :transfer_encoding => '7bit', :content_disposition => 'inline' @body = { :info_request => info_request, - :contact_email => MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') + :contact_email => Configuration::contact_email } end @@ -154,7 +152,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 = "Someone has updated the status of your request" + @subject = _("Someone has updated the status of your request") url = main_url(request_url(info_request)) @body = {:info_request => info_request, :url => url} end @@ -303,7 +301,7 @@ class RequestMailer < ApplicationMailer # Send email alerts for new responses which haven't been classified. By default, # it goes out 3 days after last update of event, then after 10, then after 24. def self.alert_new_response_reminders - MySociety::Config.get("NEW_RESPONSE_REMINDER_AFTER_DAYS", [3, 10, 24]).each_with_index do |days, i| + Configuration::new_response_reminder_after_days.each_with_index do |days, i| self.alert_new_response_reminders_internal(days, "new_response_reminder_#{i+1}") end end diff --git a/app/models/track_mailer.rb b/app/models/track_mailer.rb index 92da7c376..7dfa87f52 100644 --- a/app/models/track_mailer.rb +++ b/app/models/track_mailer.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: track_mailer.rb,v 1.23 2009-10-03 02:50:11 francis Exp $ class TrackMailer < ApplicationMailer def event_digest(user, email_about_things) @@ -27,9 +25,7 @@ class TrackMailer < ApplicationMailer end def contact_from_name_and_email - contact_name = MySociety::Config.get("TRACK_SENDER_NAME", 'Alaveteli') - contact_email = MySociety::Config.get("TRACK_SENDER_EMAIL", 'contact@localhost') - return "#{contact_name} <#{contact_email}>" + "#{Configuration::track_sender_name} <#{Configuration::track_sender_email}>" end # Send email alerts for tracked things. Never more than one email diff --git a/app/models/track_thing.rb b/app/models/track_thing.rb index d0fc62e12..d1cef4d4d 100644 --- a/app/models/track_thing.rb +++ b/app/models/track_thing.rb @@ -20,8 +20,7 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: track_thing.rb,v 1.53 2009-09-17 21:10:05 francis Exp $ + require 'set' class TrackThing < ActiveRecord::Base @@ -51,15 +50,15 @@ class TrackThing < ActiveRecord::Base def TrackThing.track_type_description(track_type) if track_type == 'request_updates' - "Individual requests" + _("Individual requests") elsif track_type == 'all_new_requests' || track_type == "all_successful_requests" - "Many requests" + _("Many requests") elsif track_type == 'public_body_updates' - "Public authorities" + _("Public authorities") elsif track_type == 'user_updates' - "People" + _("People") elsif track_type == 'search_query' - "Search queries" + _("Search queries") else raise "internal error " + track_type end @@ -195,7 +194,7 @@ 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>"), # 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 @@ -246,14 +245,14 @@ 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>"), # 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 :title_in_email => self.public_body.law_only_short + " requests to '" + self.public_body.name + "'", :title_in_rss => self.public_body.law_only_short + " requests to '" + self.public_body.name + "'", # Authentication - :web => _("To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'", :site_name=>MySociety::Config.get('SITE_NAME', 'Alaveteli'), :public_body_name=>CGI.escapeHTML(self.public_body.name)), + :web => _("To follow requests made using {{site_name}} to the public authority '{{public_body_name}}'", :site_name=>Configuration::site_name, :public_body_name=>CGI.escapeHTML(self.public_body.name)), :email => _("Then you will be notified whenever someone requests something or gets a response from '{{public_body_name}}'.", :public_body_name=>CGI.escapeHTML(self.public_body.name)), :email_subject => _("Confirm you want to follow requests to '{{public_body_name}}'", :public_body_name=>self.public_body.name), # RSS sorting @@ -262,7 +261,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>"), # 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 @@ -278,7 +277,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\">" + self.track_query_description + "</a>", # 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/track_things_sent_email.rb b/app/models/track_things_sent_email.rb index 24297f57b..a0a4c0f0c 100644 --- a/app/models/track_things_sent_email.rb +++ b/app/models/track_things_sent_email.rb @@ -17,8 +17,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: track_things_sent_email.rb,v 1.22 2009-09-17 21:10:05 francis Exp $ class TrackThingsSentEmail < ActiveRecord::Base belongs_to :info_request_event diff --git a/app/models/user.rb b/app/models/user.rb index bb1b54d70..59f6c971c 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -208,13 +208,12 @@ class User < ActiveRecord::Base # The "internal admin" is a special user for internal use. def User.internal_admin_user - contact_email = MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') - u = User.find_by_email(contact_email) + u = User.find_by_email(Configuration::contact_email) if u.nil? password = PostRedirect.generate_random_token u = User.new( :name => 'Internal admin user', - :email => contact_email, + :email => Configuration::contact_email, :password => password, :password_confirmation => password ) @@ -282,18 +281,16 @@ class User < ActiveRecord::Base return false if self.no_limit # Has the user issued as many as MAX_REQUESTS_PER_USER_PER_DAY requests in the past 24 hours? - daily_limit = MySociety::Config.get("MAX_REQUESTS_PER_USER_PER_DAY") - return false if daily_limit.nil? + return false if Configuration::max_requests_per_user_per_day.nil? recent_requests = InfoRequest.count(:conditions => ["user_id = ? and created_at > now() - '1 day'::interval", self.id]) - return (recent_requests >= daily_limit) + return (recent_requests >= Configuration::max_requests_per_user_per_day) end def next_request_permitted_at return nil if self.no_limit - daily_limit = MySociety::Config.get("MAX_REQUESTS_PER_USER_PER_DAY") - n_most_recent_requests = InfoRequest.all(:conditions => ["user_id = ? and created_at > now() - '1 day'::interval", self.id], :order => "created_at DESC", :limit => daily_limit) - return nil if n_most_recent_requests.size < daily_limit + n_most_recent_requests = InfoRequest.all(:conditions => ["user_id = ? and created_at > now() - '1 day'::interval", self.id], :order => "created_at DESC", :limit => Configuration::max_requests_per_user_per_day) + return nil if n_most_recent_requests.size < Configuration::max_requests_per_user_per_day nth_most_recent_request = n_most_recent_requests[-1] return nth_most_recent_request.created_at + 1.day diff --git a/app/models/user_info_request_sent_alert.rb b/app/models/user_info_request_sent_alert.rb index a97fd5d44..cf20bcbf5 100644 --- a/app/models/user_info_request_sent_alert.rb +++ b/app/models/user_info_request_sent_alert.rb @@ -16,8 +16,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: user_info_request_sent_alert.rb,v 1.34 2009-10-03 02:22:18 francis Exp $ class UserInfoRequestSentAlert < ActiveRecord::Base belongs_to :user diff --git a/app/models/user_mailer.rb b/app/models/user_mailer.rb index 7adf5b63c..1be4f8aa3 100644 --- a/app/models/user_mailer.rb +++ b/app/models/user_mailer.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: user_mailer.rb,v 1.8 2009-02-09 10:37:12 francis Exp $ class UserMailer < ApplicationMailer def confirm_login(user, reasons, url) diff --git a/app/views/contact_mailer/user_message.rhtml b/app/views/contact_mailer/user_message.rhtml index fe1f47518..b1d6e81ae 100644 --- a/app/views/contact_mailer/user_message.rhtml +++ b/app/views/contact_mailer/user_message.rhtml @@ -1,7 +1,8 @@ --------------------------------------------------------------------- <%= _('{{user_name}} has used {{site_name}} to send you the message below.', :user_name=>@from_user.name, :site_name=>site_name) %> -<%= _('Your details have not been given to anyone, unless you choose to reply to this -message, which will then go directly to the person who wrote the message.')%> +<%= _('Your details, including your email address, have not been given to anyone.') %> +<%= _('If you reply to this message it will go directly to {{user_name}}, who will +learn your email address. Only reply if that is okay.', :user_name => @from_user.name) %> --------------------------------------------------------------------- <%= @message.strip %> diff --git a/app/views/general/_advanced_search_tips.rhtml b/app/views/general/_advanced_search_tips.rhtml index 520cce89b..914abc1af 100644 --- a/app/views/general/_advanced_search_tips.rhtml +++ b/app/views/general/_advanced_search_tips.rhtml @@ -13,7 +13,7 @@ <li><%= _('<strong><code>request:</code></strong> to restrict to a specific request, typing the title as in the URL.')%> <li><%= _('<strong><code>filetype:pdf</code></strong> to find all responses with PDF attachments. Or try these: <code>{{list_of_file_extensions}}</code>', :list_of_file_extensions => IncomingMessage.get_all_file_extensions)%></li> <li><%= _('Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show things that happened in the first two weeks of January.')%></li> - <li><%= _('<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, + <li><%= _('<strong><code>tag:charity</code></strong> to find all public authorities or requests with a given tag. You can include multiple tags, and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags can be present, you have to put <code>AND</code> explicitly if you only want results them all present.')%></li> <li><%= _('Read about <a href="{{advanced_search_url}}">advanced search operators</a>, such as proximity and wildcards.', :advanced_search_url => "http://www.xapian.org/docs/queryparser.html") %></li> diff --git a/app/views/general/_footer.rhtml b/app/views/general/_footer.rhtml index efcd8f96b..ab5ab2c47 100644 --- a/app/views/general/_footer.rhtml +++ b/app/views/general/_footer.rhtml @@ -1,6 +1,6 @@ <div id="footer"> <%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_url %> -| <img src="/images/twitter-16.png" alt="twitter icon" class="twitter-icon"> <a href="https://twitter.com/<%= MySociety::Config.get('TWITTER_USERNAME') %>"><%= _("Follow us on twitter") %></a> +| <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> <div class="after-footer"> </div> diff --git a/app/views/general/_frontpage_search_examples.es.rhtml b/app/views/general/_frontpage_search_examples.es.rhtml deleted file mode 100644 index 63c7c3c1e..000000000 --- a/app/views/general/_frontpage_search_examples.es.rhtml +++ /dev/null @@ -1 +0,0 @@ -por ejemplo <a href="/es/search/El%20Geraldine%20Quango">El Geraldine Quango</a>, <a href="/search/fancy%20dog">Fancy Dog</a>. diff --git a/app/views/general/_frontpage_search_examples.rhtml b/app/views/general/_frontpage_search_examples.rhtml deleted file mode 100644 index 359a132e2..000000000 --- a/app/views/general/_frontpage_search_examples.rhtml +++ /dev/null @@ -1 +0,0 @@ -for example <a href="/search/Geraldine%20Quango">Geraldine Quango</a> or <a href="/search/fancy%20dog">Fancy Dog</a>. diff --git a/app/views/general/_stylesheet_includes.rhtml b/app/views/general/_stylesheet_includes.rhtml index 2ffa5dadf..7a03680f8 100644 --- a/app/views/general/_stylesheet_includes.rhtml +++ b/app/views/general/_stylesheet_includes.rhtml @@ -16,6 +16,6 @@ <![endif]--> <!-- the following method for customising CSS is deprecated; see `doc/THEMES.md` for detail --> <%= stylesheet_link_tag 'custom', :title => "Main", :rel => "stylesheet" %> - <% if force_registration_on_new_request %> + <% if Configuration::force_registration_on_new_request %> <%= stylesheet_link_tag 'jquery.fancybox-1.3.4', :rel => "stylesheet" %> <% end %> diff --git a/app/views/general/advanced_search.rhtml b/app/views/general/advanced_search.rhtml deleted file mode 100644 index e69de29bb..000000000 --- a/app/views/general/advanced_search.rhtml +++ /dev/null diff --git a/app/views/general/frontpage.rhtml b/app/views/general/frontpage.rhtml index 38133e7ab..e2d74a5e2 100644 --- a/app/views/general/frontpage.rhtml +++ b/app/views/general/frontpage.rhtml @@ -40,7 +40,7 @@ <ul> <% for popular_body in @popular_bodies %> <li><%=public_body_link(popular_body)%> - <%= n_('%d request', '%d requests', popular_body.info_requests.count) % popular_body.info_requests.count %> + <%= n_('%d request', '%d requests', popular_body.info_requests_count) % popular_body.info_requests_count %> </li> <% end%> </ul> @@ -51,20 +51,32 @@ <% end %> <div id="examples_1"> - <h3><%= _("What information has been released?") %></h3> - <%= _("{{site_name}} users have made {{number_of_requests}} requests, including:", + <h3> + <% if @request_events_all_successful %> + <%= _("What information has been released?") %> + <% else %> + <%= _("What information has been requested?") %> + <% end %> + </h3> + <%= _("{{site_name}} users have made {{number_of_requests}} requests, including:", :site_name => site_name, :number_of_requests => InfoRequest.count) %> <ul> <% for event in @request_events %> <li> <%= public_body_link(event.info_request.public_body) %> <%= _('answered a request about') %> - <%=link_to h(event.info_request.title), request_url(event.info_request)%> - <%= _('{{length_of_time}} ago', :length_of_time => time_ago_in_words(event.described_at)) %> + <%=link_to h(event.info_request.title), request_url(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> </li> <% end %> </ul> - <p><strong><%=link_to _('More successful requests...'), request_list_successful_url %></strong></p> + <p><strong> + <% if @request_events_all_successful %> + <%=link_to _('More successful requests...'), request_list_successful_url %> + <% else %> + <%=link_to _('More requests...'), request_list_all_url %> + <% end %> + </strong></p> </div> </div> diff --git a/app/views/help/_sidebar.rhtml b/app/views/help/_sidebar.rhtml index 21038e8df..783d35983 100644 --- a/app/views/help/_sidebar.rhtml +++ b/app/views/help/_sidebar.rhtml @@ -8,7 +8,7 @@ <li><%= link_to_unless_current "About the software", "/help/alaveteli" %></li> <li><%= link_to_unless_current "Credits", "/help/credits" %></li> <li><%= link_to_unless_current "Programmers API", "/help/api" %></li> - <li><%= link_to_unless_current "Advanced search", "/search" %></li> + <li><%= link_to_unless_current "Advanced search", "/advancedsearch" %></li> </ul> <h2 id="contact">Contact us</h2> diff --git a/app/views/help/contact.rhtml b/app/views/help/contact.rhtml index dd49f7951..37df68f49 100644 --- a/app/views/help/contact.rhtml +++ b/app/views/help/contact.rhtml @@ -10,27 +10,18 @@ <h2>Contact an authority to get official information</h2> <ul> <li><a href="/new">Go here</a> to make a request, in public, for information - from UK public authorities.</li> + from public authorities.</li> <li> Asking for private information about yourself? - Please read our help page about - <a href="/help/requesting#data_protection">data protection</a>. + Please read our + <a href="/help/requesting#data_protection">help page</a>. </li> </ul> - <h2>Take up an issue with Government</h2> - - <ul> - <li><a href="http://www.writetothem.com">Write to your MP, - local councillor or other representative</a>. - <li><a href="http://www.number10.gov.uk/">Number 10</a> is a good place to start if you would like to take an issue up with central government. </li> - </ul> - - <% end %> - <h2>Contact the WhatDoTheyKnow team</h2> + <h2>Contact the <%= site_name %> team</h2> <% if !flash[:notice] %> <ul> <li> @@ -91,8 +82,7 @@ <p class="form_note"> We can only help you with <strong>technical problems</strong>, or questions - about Freedom of Information. See the top of this page if you would like to - contact the Government. + about Freedom of Information. </P> diff --git a/app/views/layouts/default.rhtml b/app/views/layouts/default.rhtml index e4022661f..0dd493fd0 100644 --- a/app/views/layouts/default.rhtml +++ b/app/views/layouts/default.rhtml @@ -42,7 +42,7 @@ <%= render :partial => 'general/before_head_end' %> </head> <body class="<%= 'admin' if is_admin? %> <%= 'front' if params[:action] == 'frontpage' %>"> - <% if force_registration_on_new_request && !@user %> + <% if Configuration::force_registration_on_new_request && !@user %> <%= javascript_include_tag 'jquery.fancybox-1.3.4.pack' %> <script type="text/javascript"> $(document).ready(function() { @@ -139,15 +139,13 @@ <input type="text"> </div> <% - ga_code = MySociety::Config.get('GA_CODE', '') - - unless ga_code.empty? %> + unless Configuration::ga_code.empty? %> <script> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script> - var pageTracker = _gat._getTracker("<%=ga_code%>"); + var pageTracker = _gat._getTracker("<%= Configuration::ga_code %>"); pageTracker._trackPageview(); </script> diff --git a/app/views/public_body/_list_sidebar_extra.rhtml b/app/views/public_body/_list_sidebar_extra.rhtml new file mode 100644 index 000000000..6857a7eb5 --- /dev/null +++ b/app/views/public_body/_list_sidebar_extra.rhtml @@ -0,0 +1,6 @@ +<p> + <%= _('<a href="%s">Are we missing a public authority?</a>') % [help_requesting_path + '#missing_body'] %> +</p> +<p> + <%= link_to _('List of all authorities (CSV)'), all_public_bodies_csv_url() %> +</p> diff --git a/app/views/public_body/list.rhtml b/app/views/public_body/list.rhtml index 8cb207bd4..3a64de1f7 100644 --- a/app/views/public_body/list.rhtml +++ b/app/views/public_body/list.rhtml @@ -25,15 +25,10 @@ <% if not first_row %> </ul> <% end %> - <p> - <%= _('<a href="%s">Are we missing a public authority?</a>.') % [help_requesting_path + '#missing_body'] %> - </p> - <p> - <%= link_to _('List of all authorities (CSV)'), all_public_bodies_csv_url() %> - </p> + <%= render :partial => "list_sidebar_extra" %> </div> -<% @title = _("Public authorities - {{description}}", :description => @description) %> +<% @title = @description.empty? ? _("Public authorities") : _("Public authorities - {{description}}", :description => @description) %> <div id="left_column_flip"> <h1><%= _('Public authorities') %></h1> @@ -44,7 +39,7 @@ </div> <% end %> -<h2 class="publicbody_results"><%= _('Found {{count}} public bodies {{description}}', :count=>@public_bodies.total_entries, :description=>@description) %></h2> +<h2 class="publicbody_results"><%= n_('Found %d public authority %s', 'Found %d public authorities %s', @public_bodies.total_entries) % [@public_bodies.total_entries, @description] %></h2> <%= render :partial => 'body_listing', :locals => { :public_bodies => @public_bodies } %> <%= will_paginate(@public_bodies) %><br/> diff --git a/app/views/public_body/show.rhtml b/app/views/public_body/show.rhtml index 63bd5f7fc..b56556d5d 100644 --- a/app/views/public_body/show.rhtml +++ b/app/views/public_body/show.rhtml @@ -64,6 +64,12 @@ <% else %> <%= _('For an unknown reason, it is not possible to make a request to this authority.')%> <% end %> + + <% if @public_body.override_request_email %> + <p> + <%= _("<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority.", :email => @public_body.override_request_email) %> + </p> + <% end %> </div> </div> diff --git a/app/views/request/_sidebar.rhtml b/app/views/request/_sidebar.rhtml index dc0d2eb31..18684943a 100644 --- a/app/views/request/_sidebar.rhtml +++ b/app/views/request/_sidebar.rhtml @@ -31,7 +31,7 @@ <h2><%= _("Act on what you've learnt") %></h2> <div class="act_link"> - <% tweet_link = "https://twitter.com/share?url=#{h(request.url)}&via=#{h(MySociety::Config.get('TWITTER_USERNAME', ''))}&text='#{h(@info_request.title)}'&related=#{_('alaveteli_foi:The software that runs {{site_name}}', :site_name => h(site_name))}" %> + <% 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 '<img src="/images/twitter-16.png" alt="twitter icon">', tweet_link %> <%= link_to _("Tweet this request"), tweet_link %> </div> diff --git a/app/views/request/_summary_suggestion.rhtml b/app/views/request/_summary_suggestion.rhtml new file mode 100644 index 000000000..a5da09cda --- /dev/null +++ b/app/views/request/_summary_suggestion.rhtml @@ -0,0 +1,5 @@ +<% if @info_request.law_used == 'eir' %> + <%= _("'Pollution levels over time for the River Tyne'") %> +<% else %> + <%= _("'Crime statistics by ward level for Wales'") %> +<% end %> diff --git a/app/views/request/new.rhtml b/app/views/request/new.rhtml index 23212fc0b..fe4c2067d 100644 --- a/app/views/request/new.rhtml +++ b/app/views/request/new.rhtml @@ -86,12 +86,7 @@ </p> <div class="form_item_note"> (<%= _("a one line summary of the information you are requesting, \n\t\t\te.g.") %> - <% if @info_request.law_used == 'eir' %> - <%= _("'Pollution levels over time for the River Tyne'") %> - <% else %> - <%= _("'Crime statistics by ward level for Wales'") %> - <% end %> - ) + <%= render :partial => "summary_suggestion" %>) </div> </div> @@ -121,7 +116,7 @@ will be <strong>displayed publicly</strong> on this website forever (<a href="%s">why?</a>).') % [help_privacy_path+"#public_request"] %> <%= _('If you are thinking of using a pseudonym, - please <a href="%s">read this first</a>.') % [help_privacy_path+"#public_request"] %> + please <a href="%s">read this first</a>.') % [help_privacy_path+"#real_name"] %> </p> <% else %> <p class="form_note"> diff --git a/app/views/request/simple_correspondence.rhtml b/app/views/request/simple_correspondence.rhtml index bcbc795e7..0da9ef172 100644 --- a/app/views/request/simple_correspondence.rhtml +++ b/app/views/request/simple_correspondence.rhtml @@ -1,4 +1,4 @@ -<%= _('This is a plain-text version of the Freedom of Information request "{{request_title}}". The latest, full version is available online at {{full_url}}', :request_title => @info_request.title, :full_url => "http://#{MySociety::Config.get('DOMAIN')}#{show_request_path(:url_title=>@info_request.url_title)}") %>. +<%= _('This is a plain-text version of the Freedom of Information request "{{request_title}}". The latest, full version is available online at {{full_url}}', :request_title => @info_request.title, :full_url => "http://#{Configuration::domain}#{show_request_path(:url_title=>@info_request.url_title)}") %>. <% for info_request_event in @info_request_events %> <% diff --git a/app/views/request/upload_response.rhtml b/app/views/request/upload_response.rhtml index 697ff99aa..bc129426d 100644 --- a/app/views/request/upload_response.rhtml +++ b/app/views/request/upload_response.rhtml @@ -43,7 +43,7 @@ <p> <%= hidden_field_tag 'submitted_upload_response', 1 %> - <%= submit_tag "Upload FOI response" %> + <%= submit_tag _("Upload FOI response") %> <%= _(' (<strong>patience</strong>, especially for large files, it may take a while!)')%> </p> <% end %> diff --git a/app/views/user/_signin.rhtml b/app/views/user/_signin.rhtml index 4fe98ee41..c4d917991 100644 --- a/app/views/user/_signin.rhtml +++ b/app/views/user/_signin.rhtml @@ -9,27 +9,27 @@ <p> <label class="form_label" for="user_signin_email"><%= _('Your e-mail:')%></label> - <%= text_field 'user_signin', 'email', { :size => 20 } %> + <%= text_field 'user_signin', 'email', { :size => 20, :tabindex => 10 } %> </p> <p> <label class="form_label" for="user_signin_password"><%= _('Password:')%></label> - <%= password_field 'user_signin', 'password', { :size => 15 } %> + <%= password_field 'user_signin', 'password', { :size => 15, :tabindex => 20 } %> </p> <p class="form_note"> - <%= link_to _('Forgotten your password?'), signchangepassword_url + "?pretoken=" + h(params[:token]) %> + <%= link_to _('Forgotten your password?'), signchangepassword_url + "?pretoken=" + h(params[:token]), :tabindex => 30 %> </p> <p class="form_checkbox"> - <%= check_box_tag 'remember_me', "1" %> + <%= check_box_tag 'remember_me', "1", false, :tabindex => 40 %> <label for="remember_me"><%= _('Remember me</label> (keeps you signed in longer; do not use on a public computer) ')%></p> <div class="form_button"> <%= hidden_field_tag 'token', params[:token], {:id => 'signin_token' } %> <%= hidden_field_tag :modal, params[:modal], {:id => 'signin_modal' } %> - <%= submit_tag _('Sign in') %> + <%= submit_tag _('Sign in'), :tabindex => 50 %> </div> <% end %> diff --git a/app/views/user/_signup.rhtml b/app/views/user/_signup.rhtml index 9c0132f26..bb93b9617 100644 --- a/app/views/user/_signup.rhtml +++ b/app/views/user/_signup.rhtml @@ -7,7 +7,7 @@ <p> <label class="form_label" for="user_signup_email"><%= _('Your e-mail:')%></label> - <%= text_field 'user_signup', 'email', { :size => 20 } %> + <%= text_field 'user_signup', 'email', { :size => 20, :tabindex => 60 } %> </p> <div class="form_item_note"> <%= _('We will not reveal your email address to anybody unless you or @@ -16,7 +16,7 @@ <p> <label class="form_label" for="user_signup_name"> <%= _('Your name:')%></label> - <%= text_field 'user_signup', 'name', { :size => 20 } %> + <%= text_field 'user_signup', 'name', { :size => 20, :tabindex => 70 } %> </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 } %> + <%= password_field 'user_signup', 'password', { :size => 15, :tabindex => 80 } %> </p> <p> <label class="form_label" for="user_signup_password_confirmation"> <%= _('Password: (again)')%></label> - <%= password_field 'user_signup', 'password_confirmation', { :size => 15 } %> + <%= password_field 'user_signup', 'password_confirmation', { :size => 15, :tabindex => 90 } %> </p> <% if @request_from_foreign_country %> @@ -43,7 +43,7 @@ <div class="form_button"> <%= hidden_field_tag 'token', params[:token], {:id => 'signup_token' } %> <%= hidden_field_tag :modal, params[:modal], {:id => 'signup_modal' } %> - <%= submit_tag _('Sign up') %> + <%= submit_tag _('Sign up'), :tabindex => 100 %> </div> <% end %> diff --git a/app/views/user/rate_limited.rhtml b/app/views/user/rate_limited.rhtml index d5accf114..d52deebab 100644 --- a/app/views/user/rate_limited.rhtml +++ b/app/views/user/rate_limited.rhtml @@ -2,7 +2,7 @@ <h1><%=@title%></h1> -<p><%= _("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}}.", :max_requests_per_user_per_day => MySociety::Config.get("MAX_REQUESTS_PER_USER_PER_DAY"), :can_make_another_request => distance_of_time_in_words(Time.now, @next_request_permitted_at))%></p> +<p><%= _("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}}.", :max_requests_per_user_per_day => Configuration::max_requests_per_user_per_day, :can_make_another_request => distance_of_time_in_words(Time.now, @next_request_permitted_at))%></p> <p><%= _("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>.", :help_contact_path => help_contact_path) %></p> diff --git a/app/views/user/set_profile_about_me.rhtml b/app/views/user/set_profile_about_me.rhtml index 8d8b32758..4fe1047da 100644 --- a/app/views/user/set_profile_about_me.rhtml +++ b/app/views/user/set_profile_about_me.rhtml @@ -26,7 +26,7 @@ <%= _(' Include relevant links, such as to a campaign page, your blog or a twitter account. They will be made clickable. e.g.')%> - <a href="https://twitter.com/<%= MySociety::Config.get('TWITTER_USERNAME') %>">https://twitter.com/<%= MySociety::Config.get('TWITTER_USERNAME') %></a> + <a href="https://twitter.com/<%= Configuration::twitter_username %>">https://twitter.com/<%= Configuration::twitter_username %></a> </p> </div> diff --git a/config/alert-tracks-debian.ugly b/config/alert-tracks-debian.ugly index 5bd146061..2b52ad840 100644 --- a/config/alert-tracks-debian.ugly +++ b/config/alert-tracks-debian.ugly @@ -4,7 +4,7 @@ # Provides: alert-tracks # Required-Start: $local_fs $syslog # Required-Stop: $local_fs $syslog -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: alert-tracks is a daemon running the Alaveteli email alerts # Description: alert-tracks send Alaveteli email alerts as required @@ -13,11 +13,14 @@ # !!(*= $daemon_name *)!! Start the Alaveteli email alert daemon NAME=!!(*= $daemon_name *)!! -DAEMON=/data/vhost/!!(*= $vhost *)!!/alaveteli/script/runner +DAEMON=!!(*= $vhost_dir *)!!/alaveteli/script/runner DAEMON_ARGS="--daemon TrackMailer.alert_tracks_loop" -PIDFILE=/data/vhost/!!(*= $vhost *)!!/alert-tracks.pid -LOGFILE=/data/vhost/!!(*= $vhost *)!!/logs/alert-tracks.log +PIDFILE=!!(*= $vhost_dir *)!!/alert-tracks.pid +LOGFILE=!!(*= $vhost_dir *)!!/logs/alert-tracks.log DUSER=!!(*= $user *)!! +# Set RAILS_ENV - not needed if using config/rails_env.rb +# RAILS_ENV=your_rails_env +# export RAILS_ENV trap "" 1 @@ -48,17 +51,17 @@ case "$1" in exit 0 fi ;; - + start) echo -n "Starting Alaveteli alert daemon: $NAME" start_daemon ;; - + stop) echo -n "Stopping Alaveteli alert daemon: $NAME" stop_daemon ;; - + restart) echo -n "Restarting Alaveteli alert daemon: $NAME" stop_daemon diff --git a/config/crontab.ugly b/config/crontab.ugly index dc660e18f..3e44f6153 100644 --- a/config/crontab.ugly +++ b/config/crontab.ugly @@ -3,8 +3,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org. WWW: http://www.mysociety.org/ -# -# $Id: crontab.ugly,v 1.36 2009-09-20 10:29:36 francis Exp $ PATH=/usr/local/bin:/usr/bin:/bin MAILTO=cron-!!(*= $site *)!!@mysociety.org diff --git a/config/deploy.rb b/config/deploy.rb index e0507be2c..5e1c3aa0d 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -48,7 +48,10 @@ namespace :deploy do links = { "#{release_path}/config/database.yml" => "#{shared_path}/database.yml", "#{release_path}/config/general.yml" => "#{shared_path}/general.yml", + "#{release_path}/config/memcached.yml" => "#{shared_path}/memcached.yml", "#{release_path}/config/rails_env.rb" => "#{shared_path}/rails_env.rb", + "#{release_path}/public/foi-live-creation.png" => "#{shared_path}/foi-live-creation.png", + "#{release_path}/public/foi-user-use.png" => "#{shared_path}/foi-user-use.png", "#{release_path}/files" => "#{shared_path}/files", "#{release_path}/cache" => "#{shared_path}/cache", "#{release_path}/vendor/plugins/acts_as_xapian/xapiandbs" => "#{shared_path}/xapiandbs", diff --git a/config/environment.rb b/config/environment.rb index 250d3eed0..db537c14e 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -29,10 +29,10 @@ load "util.rb" # without effecting method behaviour # and adds fallback gem call removed in https://github.com/rails/rails/commit/4c3725723f15fab0a424cb1318b82b460714b72f require File.join(File.dirname(__FILE__), '../lib/old_rubygems_patch') - +require 'configuration' # Application version -ALAVETELI_VERSION = '0.6.6' +ALAVETELI_VERSION = '0.6.7' Rails::Initializer.run do |config| # Load intial mySociety config @@ -78,8 +78,8 @@ Rails::Initializer.run do |config| end # See Rails::Configuration for more options - ENV['RECAPTCHA_PUBLIC_KEY'] = MySociety::Config::get("RECAPTCHA_PUBLIC_KEY", 'x'); - ENV['RECAPTCHA_PRIVATE_KEY'] = MySociety::Config::get("RECAPTCHA_PRIVATE_KEY", 'x'); + ENV['RECAPTCHA_PUBLIC_KEY'] = Configuration::recaptcha_public_key + ENV['RECAPTCHA_PRIVATE_KEY'] = Configuration::recaptcha_private_key end # Add new inflection rules using the following format @@ -98,22 +98,22 @@ end # The Rails cache is set up by the Interlock plugin to use memcached # Domain for URLs (so can work for scripts, not just web pages) -ActionMailer::Base.default_url_options[:host] = MySociety::Config.get("DOMAIN", 'localhost:3000') +ActionMailer::Base.default_url_options[:host] = Configuration::domain # So that javascript assets use full URL, so proxied admin URLs read javascript OK -if (MySociety::Config.get("DOMAIN", "") != "") +if (Configuration::domain != "") ActionController::Base.asset_host = Proc.new { |source, request| if ENV["RAILS_ENV"] != "test" && request.fullpath.match(/^\/admin\//) - MySociety::Config.get("ADMIN_PUBLIC_URL", "") + Configuration::admin_public_url else - MySociety::Config.get("DOMAIN", 'localhost:3000') + Configuration::domain end } end # fallback locale and available locales -available_locales = MySociety::Config.get('AVAILABLE_LOCALES', '').split(/ /) -default_locale = MySociety::Config.get('DEFAULT_LOCALE', '') +available_locales = Configuration::available_locales.split(/ /) +default_locale = Configuration::default_locale FastGettext.default_available_locales = available_locales I18n.locale = default_locale @@ -140,5 +140,5 @@ require 'world_foi_websites.rb' require 'alaveteli_external_command.rb' require 'quiet_opener.rb' -ExceptionNotification::Notifier.sender_address = MySociety::Config::get('EXCEPTION_NOTIFICATIONS_FROM') -ExceptionNotification::Notifier.exception_recipients = MySociety::Config::get('EXCEPTION_NOTIFICATIONS_TO') +ExceptionNotification::Notifier.sender_address = Configuration::exception_notifications_from +ExceptionNotification::Notifier.exception_recipients = Configuration::exception_notifications_to diff --git a/config/general.yml-example b/config/general.yml-example index a6f657d96..b457b5ed6 100644 --- a/config/general.yml-example +++ b/config/general.yml-example @@ -30,8 +30,12 @@ REPLY_LATE_AFTER_DAYS: 20 REPLY_VERY_LATE_AFTER_DAYS: 40 # We give some types of authority like schools a bit longer than everyone else SPECIAL_REPLY_VERY_LATE_AFTER_DAYS: 60 +# Whether the days above are given in working or calendar days. Value can be "working" or "calendar". +# Default is "working". +WORKING_OR_CALENDAR_DAYS: working # example public bodies for the home page, semicolon delimited - short_names +# Comment out if you want this to be auto-generated. WARNING: this is slow & don't use production! FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq' # URLs of themes to download and use (when running rails-post-deploy @@ -79,7 +83,8 @@ TRACK_SENDER_NAME: 'Alaveteli Webmaster' # this up! RAW_EMAILS_LOCATION: 'files/raw_emails' -# The base URL for admin pages. +# 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. @@ -157,3 +162,13 @@ VARNISH_HOST: localhost # Adding a value here will enable Google Analytics on all non-admin pages. GA_CODE: '' + +# If you want to override *all* the public body request emails with your own +# email so that request emails that would normally go to the public body +# go to you, then uncomment below and fill in your email. +# Useful for a staging server to play with the whole process of sending requests +# without inadvertently sending an email to a real authority +#OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS: test-email@foo.com + +# Search path for external commandline utilities (such as pdftohtml, pdftk, unrtf) +UTILITY_SEARCH_PATH: ["/usr/bin", "/usr/local/bin"] diff --git a/config/httpd.conf b/config/httpd.conf index 129b1577b..440da0d87 100644 --- a/config/httpd.conf +++ b/config/httpd.conf @@ -5,8 +5,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org -# -# $Id: httpd.conf,v 1.31 2009-09-02 13:05:48 matthew Exp $ # This is needed for the PHP spell checker <Location /fcgi> diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index a05d2c7d1..8cfa333f2 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -7,7 +7,7 @@ ActionController::Base.session = { :key => '_wdtk_cookie_session', - :secret => MySociety::Config.get("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') + :secret => Configuration::cookie_store_session_secret } ActionController::Base.session_store = :cookie_store diff --git a/config/initializers/theme_loader.rb b/config/initializers/theme_loader.rb index 8908dc07e..877149e9d 100644 --- a/config/initializers/theme_loader.rb +++ b/config/initializers/theme_loader.rb @@ -2,9 +2,8 @@ # It is used by our config/routes.rb to decide which route extension files to load. $alaveteli_route_extensions = [] -theme_urls = MySociety::Config.get("THEME_URLS", []) if ENV["RAILS_ENV"] != "test" # Don't let the themes interfere with Alaveteli specs - for url in theme_urls.reverse + for url in Configuration::theme_urls.reverse theme_name = url.sub(/.*\/(.*).git/, "\\1") theme_main_include = File.expand_path "../../../vendor/plugins/#{theme_name}/lib/alavetelitheme.rb", __FILE__ if File.exists? theme_main_include diff --git a/config/memcached.yml-test b/config/memcached.yml-test new file mode 100644 index 000000000..18d959876 --- /dev/null +++ b/config/memcached.yml-test @@ -0,0 +1,2 @@ +test: + disabled: true
\ No newline at end of file diff --git a/config/purge-varnish-debian.ugly b/config/purge-varnish-debian.ugly index 1a9259da8..af32650a8 100644 --- a/config/purge-varnish-debian.ugly +++ b/config/purge-varnish-debian.ugly @@ -4,7 +4,7 @@ # Provides: purge-varnish # Required-Start: $local_fs $syslog # Required-Stop: $local_fs $syslog -# Default-Start: 2 3 4 5 +# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: purge-varnish is a daemon purging the Alaveteli varnish cache # Description: purge-varnish purge the Alaveteli varnish cache @@ -13,11 +13,14 @@ # !!(*= $daemon_name *)!! Start the Alaveteli email purge-varnish daemon NAME=!!(*= $daemon_name *)!! -DAEMON=/data/vhost/!!(*= $vhost *)!!/alaveteli/script/runner +DAEMON=!!(*= $vhost_dir *)!!/alaveteli/script/runner DAEMON_ARGS="--daemon PurgeRequest.purge_all_loop" -PIDFILE=/data/vhost/!!(*= $vhost *)!!/purge-varnish.pid -LOGFILE=/data/vhost/!!(*= $vhost *)!!/logs/purge-varnish.log +PIDFILE=!!(*= $vhost_dir *)!!/purge-varnish.pid +LOGFILE=!!(*= $vhost_dir *)!!/logs/purge-varnish.log DUSER=!!(*= $user *)!! +# Set RAILS_ENV - not needed if using config/rails_env.rb +# RAILS_ENV=your_rails_env +# export RAILS_ENV trap "" 1 @@ -48,17 +51,17 @@ case "$1" in exit 0 fi ;; - + start) echo -n "Starting Alaveteli purge-varnish daemon: $NAME" start_daemon ;; - + stop) echo -n "Stopping Alaveteli purge-varnish daemon: $NAME" stop_daemon ;; - + restart) echo -n "Restarting Alaveteli purge-varnish daemon: $NAME" stop_daemon diff --git a/config/routes.rb b/config/routes.rb index 34232b55b..5fc0075a4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: routes.rb,v 1.92 2009-10-14 22:01:27 francis Exp $ # Allow easy extension from themes. Note these will have the highest priority. $alaveteli_route_extensions.each do |f| diff --git a/config/test.yml b/config/test.yml index 5811b1785..ef270dcf2 100644 --- a/config/test.yml +++ b/config/test.yml @@ -72,7 +72,7 @@ CONTACT_NAME: 'Alaveteli Webmaster' RAW_EMAILS_LOCATION: 'files/raw_emails' # The base URL for admin pages. You probably don't want to change this. -ADMIN_BASE_URL: '/admin/' +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 @@ -125,4 +125,4 @@ EXCEPTION_NOTIFICATIONS_TO: MAX_REQUESTS_PER_USER_PER_DAY: 2 VARNISH_HOST: varnish.localdomain -SKIP_ADMIN_AUTH: true
\ No newline at end of file +SKIP_ADMIN_AUTH: true diff --git a/db/migrate/074_create_holidays.rb b/db/migrate/074_create_holidays.rb index 46b1ab684..f2197e89e 100644 --- a/db/migrate/074_create_holidays.rb +++ b/db/migrate/074_create_holidays.rb @@ -59,7 +59,7 @@ class CreateHolidays < ActiveRecord::Migration '2010-12-28' => "Boxing Day" } - holidays.sort.each { |date, desc| + holidays.sort.each { |date, desc| Holiday.create :day => date, :description => desc } diff --git a/db/migrate/101_add_hash_to_info_request.rb b/db/migrate/101_add_hash_to_info_request.rb index 20608aac1..e21bf0989 100644 --- a/db/migrate/101_add_hash_to_info_request.rb +++ b/db/migrate/101_add_hash_to_info_request.rb @@ -6,7 +6,7 @@ class AddHashToInfoRequest < ActiveRecord::Migration # Create the missing events for requests already sent InfoRequest.find(:all).each do |info_request| - info_request.idhash = Digest::SHA1.hexdigest(info_request.id.to_s + MySociety::Config.get("INCOMING_EMAIL_SECRET", 'dummysecret'))[0,8] + info_request.idhash = Digest::SHA1.hexdigest(info_request.id.to_s + Configuration::incoming_email_secret)[0,8] info_request.save! puts info_request.idhash end diff --git a/doc/CHANGES.md b/doc/CHANGES.md index 15df1dce5..d3faa101d 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -1,3 +1,20 @@ +# Version 0.6.7 +## Highlighted features +* The ability to calculate due dates using calendar, not working days (Matthew Landauer) +* A refactor and standardization of the configuation variables and defaults using a central module (Matthew Landauer) +* The use of full URLs in admin attention emails, and associated modification of the admin_url helper to always return full urls (Henare Degan) +* The ability to disable comments on a request (Robin Houston) +* Some previously missed strings for translation, courtesy of the Czech translation team + +* [List of issues on github](https://github.com/mysociety/alaveteli/issues?milestone=23&state=closed) + + +## 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. + + # Version 0.6.6 ## Highlighted features * Adds deployment via Capistrano - see DEPLOY.md for details diff --git a/doc/DEPLOY.md b/doc/DEPLOY.md index adeb0e113..767f720fd 100644 --- a/doc/DEPLOY.md +++ b/doc/DEPLOY.md @@ -19,7 +19,8 @@ These are the general steps required to get your staging server up and running: * Run `cap deploy:update_code` so that we've got a copy of the example config on the server. This process will take a long time installing gems, etc. it will also fail on `rake:themes:install` but that's OK * SSH to the server, change to the `deploy_to` directory * `cp releases/[SOME_DATE]/config/general.yml-example shared/general.yml` -* `cp releases/[SOME_DATE]/config/general.yml-example shared/general.yml` +* `cp releases/[SOME_DATE]/config/database.yml-example shared/database.yml` +* `cp releases/[SOME_DATE]/config/memcached.yml-example shared/memcached.yml` * Edit those files to match your required settings * Back on your machine run `cap deploy` and it should successfully deploy * Run the DB migrations `cap deploy:migrate` diff --git a/doc/INSTALL.md b/doc/INSTALL.md index da72987af..b805ee0c5 100644 --- a/doc/INSTALL.md +++ b/doc/INSTALL.md @@ -25,6 +25,18 @@ master branch (which always contains the latest stable release): git checkout master +# 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. + +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: + + echo "Package: *" >> /tmp/preferences + echo "Pin: release a=testing">> /tmp/preferences + 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 @@ -296,7 +308,7 @@ in the front end. It is possible completely to override the administrator authentication by setting `SKIP_ADMIN_AUTH` to `true` in `general.yml`. -# Cron jobs +# Cron jobs and init scripts `config/crontab.ugly` contains the cronjobs run on WhatDoTheyKnow. It's in a strange templating format they use in mySociety. mySociety @@ -311,6 +323,10 @@ like `!!(*= $this *)!!`. The variables are: `/data/vhost/!!(*= $vhost *)!!` -- you should replace that whole 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 + directory where your Alaveteli software installation lives, + e.g. `/var/www/` * `vcspath`: the name of the alaveteli checkout, e.g. `alaveteli`. Thus, `/data/vhost/!!(*= $vhost *)!!/!!(*= $vcspath *)!!` might be replaced with `/var/www/alaveteli` in your cron tab @@ -324,11 +340,14 @@ One of the cron jobs refers to a script at `/etc/init.d/foi-alert-tracks`. This is an init script, a copy of which lives in `config/alert-tracks-debian.ugly`. As with the cron jobs above, replace the variables (and/or bits near the variables) -with paths to your software. `config/purge-varnish-debian.ugly` is a +with paths to your software. You can use the rake task `rake +config_files:convert_init_script` to do this. +`config/purge-varnish-debian.ugly` is a similar init script, which is optional and not required if you choose -not to run your site behind Varnish (see below). Either tweak the file permissions to make the script executable by your deploy user, or add the following line to your -sudoers file to allow these to be run by your deploy user (named `deploy` in -this case): +not to run your site behind Varnish (see below). Either tweak the file +permissions to make the scripts executable by your deploy user, or add the +following line to your sudoers file to allow these to be run by your deploy +user (named `deploy` in this case): deploy ALL = NOPASSWD: /etc/init.d/foi-alert-tracks, /etc/init.d/foi-purge-varnish diff --git a/doc/THEMES.md b/doc/THEMES.md index 6c22764fc..c5e4a3eee 100644 --- a/doc/THEMES.md +++ b/doc/THEMES.md @@ -123,7 +123,7 @@ do this in the `alavetelitheme`. To do add states, create two modules in your theme, `InfoRequestCustomStates` and `RequestControllerCustomStates`. The -former must have these two methods: +former must have these methods: * `theme_calculate_status`: return a tag to identify the current state of the request * `theme_extra_states`: return a list of tags which identify the extra states you'd like to support diff --git a/lib/activesupport_cache_extensions.rb b/lib/activesupport_cache_extensions.rb index 5a894b64b..f15d72894 100644 --- a/lib/activesupport_cache_extensions.rb +++ b/lib/activesupport_cache_extensions.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: activesupport_cache_extensions.rb,v 1.1 2009-07-01 11:07:32 francis Exp $ # Monkeypatch! ./activesupport/lib/active_support/cache/file_store.rb diff --git a/lib/alaveteli_external_command.rb b/lib/alaveteli_external_command.rb index 7d32be904..3bfc34e3a 100644 --- a/lib/alaveteli_external_command.rb +++ b/lib/alaveteli_external_command.rb @@ -14,16 +14,15 @@ module AlaveteliExternalCommand if program_name =~ %r(^/) program_path = program_name else - utility_search_path = MySociety::Config.get("UTILITY_SEARCH_PATH", ["/usr/bin", "/usr/local/bin"]) found = false - utility_search_path.each do |d| + Configuration::utility_search_path.each do |d| program_path = File.join(d, program_name) if File.file? program_path and File.executable? program_path found = true break end end - raise "Could not find #{program_name} in any of #{utility_search_path.join(', ')}" if !found + raise "Could not find #{program_name} in any of #{Configuration::utility_search_path.join(', ')}" if !found end xc = ExternalCommand.new(program_path, *args) diff --git a/lib/configuration.rb b/lib/configuration.rb new file mode 100644 index 000000000..5f761a1f6 --- /dev/null +++ b/lib/configuration.rb @@ -0,0 +1,65 @@ +# Configuration values with defaults + +# TODO: Make this return different values depending on the current rails environment + +module Configuration + DEFAULTS = { + :ADMIN_BASE_URL => '', + :ADMIN_PASSWORD => '', + :ADMIN_PUBLIC_URL => '', + :ADMIN_USERNAME => '', + :AVAILABLE_LOCALES => '', + :BLACKHOLE_PREFIX => 'do-not-reply-to-this-address', + :BLOG_FEED => '', + :CONTACT_EMAIL => 'contact@localhost', + :CONTACT_NAME => 'Alaveteli', + :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 => '', + :DOMAIN => 'localhost:3000', + :EXCEPTION_NOTIFICATIONS_FROM => nil, + :EXCEPTION_NOTIFICATIONS_TO => nil, + :FORCE_REGISTRATION_ON_NEW_REQUEST => false, + :FORWARD_NONBOUNCE_RESPONSES_TO => 'user-support@localhost', + :FRONTPAGE_PUBLICBODY_EXAMPLES => '', + :GA_CODE => '', + :GAZE_URL => '', + :HTML_TO_PDF_COMMAND => nil, + :INCOMING_EMAIL_DOMAIN => 'localhost', + :INCOMING_EMAIL_PREFIX => '', + :INCOMING_EMAIL_SECRET => 'dummysecret', + :ISO_COUNTRY_CODE => 'GB', + :MAX_REQUESTS_PER_USER_PER_DAY => nil, + :NEW_RESPONSE_REMINDER_AFTER_DAYS => [3, 10, 24], + :OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS => '', + :RAW_EMAILS_LOCATION => 'files/raw_emails', + :READ_ONLY => '', + :RECAPTCHA_PRIVATE_KEY => 'x', + :RECAPTCHA_PUBLIC_KEY => 'x', + :REPLY_LATE_AFTER_DAYS => 20, + :REPLY_VERY_LATE_AFTER_DAYS => 40, + :SITE_NAME => 'Alaveteli', + :SKIP_ADMIN_AUTH => false, + :SPECIAL_REPLY_VERY_LATE_AFTER_DAYS => 60, + :THEME_URL => "", + :THEME_URLS => [], + :TRACK_SENDER_EMAIL => 'contact@localhost', + :TRACK_SENDER_NAME => 'Alaveteli', + :TWITTER_USERNAME => '', + :USE_DEFAULT_BROWSER_LANGUAGE => true, + :USE_GHOSTSCRIPT_COMPRESSION => nil, + :UTILITY_SEARCH_PATH => ["/usr/bin", "/usr/local/bin"], + :VARNISH_HOST => nil, + :WORKING_OR_CALENDAR_DAYS => 'working', + } + + def Configuration.method_missing(name) + key = name.to_s.upcase + if DEFAULTS.has_key?(key.to_sym) + MySociety::Config.get(key, DEFAULTS[key.to_sym]) + else + super + end + end +end + diff --git a/lib/public_body_categories.rb b/lib/public_body_categories.rb index b4aa71a40..c6f0a6690 100644 --- a/lib/public_body_categories.rb +++ b/lib/public_body_categories.rb @@ -3,8 +3,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: public_body_categories.rb,v 1.1 2009-09-14 14:45:48 francis Exp $ class PublicBodyCategories diff --git a/lib/tasks/config_files.rake b/lib/tasks/config_files.rake new file mode 100644 index 000000000..d3843f3a4 --- /dev/null +++ b/lib/tasks/config_files.rake @@ -0,0 +1,56 @@ +require File.join(File.dirname(__FILE__), 'usage') +namespace :config_files do + + include Usage + + def convert_ugly(file, replacements) + converted_lines = [] + ugly_var = /\!\!\(\*= \$([^ ]+) \*\)\!\!/ + File.open(file, 'r').each do |line| + line = line.gsub(ugly_var) do |match| + var = $1.to_sym + replacement = replacements[var] + if replacement == nil + if ! (skip[var] == true) + raise "Unhandled variable in .ugly file: $#{var}" + else + match + end + else + replacements[var] + end + end + converted_lines << line + end + converted_lines + end + + desc 'Convert Debian .ugly init script in config to a form suitable for installing in /etc/init.d' + task :convert_init_script => :environment do + example = 'rake config_files:convert_init_script DEPLOY_USER=deploy VHOST_DIR=/dir/above/alaveteli SCRIPT_FILE=config/alert-tracks-debian.ugly ' + check_for_env_vars(['DEPLOY_USER', 'VHOST_DIR', 'SCRIPT_FILE'], example) + + deploy_user = ENV['DEPLOY_USER'] + vhost_dir = ENV['VHOST_DIR'] + script_file = ENV['SCRIPT_FILE'] + + replacements = { :user => deploy_user, + :vhost_dir => vhost_dir } + + daemon_name = File.basename(script_file, '-debian.ugly') + replacements.update(:daemon_name => "foi-#{daemon_name}") + converted = convert_ugly(script_file, replacements) + rails_env_file = File.expand_path(File.join(Rails.root, 'config', 'rails_env.rb')) + if !File.exists?(rails_env_file) + converted.each do |line| + line.gsub!(/^#\s*RAILS_ENV=your_rails_env/, "RAILS_ENV=#{Rails.env}") + line.gsub!(/^#\s*export RAILS_ENV/, "export RAILS_ENV") + end + end + converted.each do |line| + puts line + end + end + + +end
\ No newline at end of file diff --git a/lib/tasks/stats.rake b/lib/tasks/stats.rake index e1b58905d..9d7d70540 100644 --- a/lib/tasks/stats.rake +++ b/lib/tasks/stats.rake @@ -1,48 +1,94 @@ -namespace :stats do - - desc 'Produce transaction stats' - task :show => :environment do +namespace :stats do + + desc 'Produce transaction stats' + task :show => :environment do month_starts = (Date.new(2009, 1)..Date.new(2011, 8)).select { |d| d.day == 1 } headers = ['Period', - 'Requests sent', - 'Annotations added', - 'Track this request email signups', - 'Comments on own requests', + 'Requests sent', + 'Annotations added', + 'Track this request email signups', + 'Comments on own requests', 'Follow up messages sent'] puts headers.join("\t") month_starts.each do |month_start| month_end = month_start.end_of_month period = "#{month_start}-#{month_end}" - date_conditions = ['created_at >= ? - AND created_at < ?', + date_conditions = ['created_at >= ? + AND created_at < ?', month_start, month_end+1] request_count = InfoRequest.count(:conditions => date_conditions) comment_count = Comment.count(:conditions => date_conditions) - track_conditions = ['track_type = ? - AND track_medium = ? - AND created_at >= ? - AND created_at < ?', + track_conditions = ['track_type = ? + AND track_medium = ? + AND created_at >= ? + AND created_at < ?', 'request_updates', 'email_daily', month_start, month_end+1] email_request_track_count = TrackThing.count(:conditions => track_conditions) - comment_on_own_request_conditions = ['comments.user_id = info_requests.user_id - AND comments.created_at >= ? + comment_on_own_request_conditions = ['comments.user_id = info_requests.user_id + AND comments.created_at >= ? AND comments.created_at < ?', month_start, month_end+1] comment_on_own_request_count = Comment.count(:conditions => comment_on_own_request_conditions, :include => :info_request) - - followup_conditions = ['message_type = ? - AND created_at >= ? + + followup_conditions = ['message_type = ? + AND created_at >= ? AND created_at < ?', 'followup', month_start, month_end+1] follow_up_count = OutgoingMessage.count(:conditions => followup_conditions) - puts [period, - request_count, - comment_count, - email_request_track_count, - comment_on_own_request_count, + puts [period, + request_count, + comment_count, + email_request_track_count, + comment_on_own_request_count, follow_up_count].join("\t") end end - + + desc 'Produce stats on volume of requests to authorities matching a set of tags. Specify tags as TAGS=tagone,tagtwo' + task :volumes_by_authority_tag => :environment do + tags = ENV['TAGS'].split(',') + first_request_datetime = InfoRequest.minimum(:created_at) + start_year = first_request_datetime.strftime("%Y").to_i + start_month = first_request_datetime.strftime("%m").to_i + end_year = Time.now.strftime("%Y").to_i + end_month = Time.now.strftime("%m").to_i + puts "Start year: #{start_year}" + puts "Start month: #{start_month}" + puts "End year: #{end_year}" + puts "End month: #{end_month}" + public_bodies = [] + tags.each do |tag| + tag_bodies = PublicBody.find_by_tag(tag) + puts "Bodies with tag '#{tag}': #{tag_bodies.size}" + public_bodies += tag_bodies + end + public_body_ids = public_bodies.map{ |body| body.id }.uniq + public_body_condition_string = 'AND public_bodies.id in (?)' + month_starts = (Date.new(start_year, start_month)..Date.new(end_year, end_month)).select { |d| d.day == 1 } + headers = ['Period', + 'Requests sent', + 'Requests sent as % of total sent in period'] + puts headers.join("\t") + month_starts.each do |month_start| + month_end = month_start.end_of_month + period = "#{month_start}-#{month_end}" + date_condition_string = 'info_requests.created_at >= ? AND info_requests.created_at < ?' + conditions = [date_condition_string + " " + public_body_condition_string, + month_start, + month_end+1, + public_body_ids] + request_count = InfoRequest.count(:conditions => conditions, + :include => :public_body) + + total_count = InfoRequest.count(:conditions => [date_condition_string, month_start, month_end+1]) + if total_count > 0 + percent = ((request_count.to_f / total_count.to_f ) * 100).round(2) + else + percent = 0.0 + end + puts [period, request_count, percent].join("\t") + end + end + end diff --git a/lib/tasks/themes.rake b/lib/tasks/themes.rake index 6eb64b4b0..f06cf6312 100644 --- a/lib/tasks/themes.rake +++ b/lib/tasks/themes.rake @@ -86,12 +86,10 @@ namespace :themes do desc "Install themes specified in the config file's THEME_URLS" task :install => :environment do verbose = true - theme_urls = MySociety::Config.get("THEME_URLS", []) - theme_urls.each{ |theme_url| install_theme(theme_url, verbose) } - theme_url = MySociety::Config.get("THEME_URL", "") - if ! theme_url.blank? + Configuration::theme_urls.each{ |theme_url| install_theme(theme_url, verbose) } + if ! Configuration::theme_url.blank? # Old version of the above, for backwards compatibility - install_theme(theme_url, verbose, deprecated=true) + install_theme(Configuration::theme_url, verbose, deprecated=true) end end end
\ No newline at end of file diff --git a/lib/tasks/translation.rake b/lib/tasks/translation.rake new file mode 100644 index 000000000..f6611cc80 --- /dev/null +++ b/lib/tasks/translation.rake @@ -0,0 +1,192 @@ +require File.join(File.dirname(__FILE__), 'usage') +namespace :translation do + + include Usage + + def write_email(email, email_description, output_file) + mail_object = TMail::Mail.parse(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") + output_file.write("\n") + if mail_object.parts.empty? + output_file.write(mail_object.to_s) + else + mail_object.parts.each do |part| + output_file.write("Message part **\n") + output_file.write(part.body.to_s) + end + end + output_file.write("\n") + output_file.write("********\n") + end + + desc "Create previews of translated emails" + task :preview_emails => :environment do + check_for_env_vars(['INFO_REQUEST_ID', + 'FOLLOW_UP_ID', + 'INCOMING_MESSAGE_ID', + 'COMMENT_ID', + 'TRACK_THING_ID', + 'DIR'], nil) + info_request = InfoRequest.find(ENV['INFO_REQUEST_ID']) + if info_request.outgoing_messages.empty? + raise "Info request #{info_request.id} does not have any outgoing messages" + end + initial_request = info_request.outgoing_messages.first + follow_up = OutgoingMessage.find(ENV['FOLLOW_UP_ID']) + incoming_message = IncomingMessage.find(ENV['INCOMING_MESSAGE_ID']) + comment = Comment.find(ENV['COMMENT_ID']) + track_thing = TrackThing.find(ENV['TRACK_THING_ID']) + + output_file = File.open(File.join(ENV['DIR'], 'message_preview.txt'), 'w') + + # outgoing mailer + request_email = OutgoingMailer.create_initial_request(info_request, initial_request) + write_email(request_email, 'Initial Request', output_file) + + followup_email = OutgoingMailer.create_followup(info_request, follow_up, nil) + write_email(followup_email, 'Follow up', output_file) + + # contact mailer + contact_email = ContactMailer.create_message(info_request.user_name, + info_request.user.email, + 'A test message', + 'Hello!', + info_request.user, + info_request, + info_request.public_body) + + write_email(contact_email, 'Contact email (to admin)', output_file) + + user_contact_email = ContactMailer.create_user_message(info_request.user, + info_request.user, + 'http://www.example.com/user', + 'A test message', + 'Hello!') + write_email(user_contact_email, 'Contact email (user to user)', output_file) + + admin_contact_email = ContactMailer.create_from_admin_message(info_request.user, + 'A test message', + 'Hello!') + write_email(admin_contact_email, 'Contact email (admin to user)', output_file) + + # request mailer + fake_response_email = RequestMailer.create_fake_response(info_request, + info_request.user, + "test body", + "attachment.txt", + "test attachment text") + write_email(fake_response_email, + 'Email created when someone uploads a response directly', + output_file) + + content = File.read(File.join(Rails.root, + 'spec', + 'fixtures', + 'files', + 'incoming-request-plain.email')) + response_mail = TMail::Mail.parse(content) + + response_mail.from = "authority@example.com" + stopped_responses_email = RequestMailer.create_stopped_responses(info_request, + response_mail, + content) + write_email(stopped_responses_email, + 'Bounce if someone sends email to a request that has had responses stopped', + output_file) + + requires_admin_email = RequestMailer.create_requires_admin(info_request) + write_email(requires_admin_email, 'Drawing admin attention to a response', output_file) + + + new_response_email = RequestMailer.create_new_response(info_request, incoming_message) + write_email(new_response_email, + 'Telling the requester that a new response has arrived', + output_file) + + overdue_alert_email = RequestMailer.create_overdue_alert(info_request, info_request.user) + write_email(overdue_alert_email, + 'Telling the requester that the public body is late in replying', + output_file) + + very_overdue_alert_email = RequestMailer.create_very_overdue_alert(info_request, info_request.user) + write_email(very_overdue_alert_email, + 'Telling the requester that the public body is very late in replying', + output_file) + + response_reminder_alert_email = RequestMailer.create_new_response_reminder_alert(info_request, + incoming_message) + write_email(response_reminder_alert_email, + 'Telling the requester that they need to say if the new response contains info or not', + output_file) + + old_unclassified_email = RequestMailer.create_old_unclassified_updated(info_request) + write_email(old_unclassified_email, + 'Telling the requester that someone updated their old unclassified request', + output_file) + + not_clarified_alert_email = RequestMailer.create_not_clarified_alert(info_request, incoming_message) + write_email(not_clarified_alert_email, + 'Telling the requester that they need to clarify their request', + output_file) + + comment_on_alert_email = RequestMailer.create_comment_on_alert(info_request, comment) + write_email(comment_on_alert_email, + 'Telling requester that somebody added an annotation to their request', + output_file) + + comment_on_alert_plural_email = RequestMailer.create_comment_on_alert_plural(info_request, 2, comment) + write_email(comment_on_alert_plural_email, + 'Telling requester that somebody added multiple annotations to their request', + output_file) + + # track mailer + xapian_object = InfoRequest.full_search([InfoRequestEvent], + track_thing.track_query, + 'described_at', + true, + nil, + 100, + 1) + event_digest_email = TrackMailer.create_event_digest(info_request.user, + [[track_thing, + xapian_object.results, + xapian_object]]) + write_email(event_digest_email, 'Alerts on things the user is tracking', output_file) + + # user mailer + site_name = Configuration::site_name + reasons = { + :web => "", + :email => _("Then you can sign in to {{site_name}}", :site_name => site_name), + :email_subject => _("Confirm your account on {{site_name}}", :site_name => site_name) + } + confirm_login_email = UserMailer.create_confirm_login(info_request.user, + reasons, + 'http://www.example.com') + write_email(confirm_login_email, 'Confirm a user login', output_file) + + already_registered_email = UserMailer.create_already_registered(info_request.user, + reasons, + 'http://www.example.com') + write_email(already_registered_email, 'Tell a user they are already registered', output_file) + + new_email = 'new_email@example.com' + changeemail_confirm_email = UserMailer.create_changeemail_confirm(info_request.user, + new_email, + 'http://www.example.com') + write_email(changeemail_confirm_email, + 'Confirm that the user wants to change their email', + output_file) + + changeemail_already_used = UserMailer.create_changeemail_already_used('old_email@example.com', + new_email) + write_email(changeemail_already_used, + 'Tell a user that the email they want to change to is already used', + output_file) + + output_file.close + end + +end
\ No newline at end of file diff --git a/lib/tasks/usage.rb b/lib/tasks/usage.rb new file mode 100644 index 000000000..d6aac454d --- /dev/null +++ b/lib/tasks/usage.rb @@ -0,0 +1,26 @@ +module Usage + + def usage_message message + puts '' + puts message + puts '' + exit 0 + end + + def check_for_env_vars(env_vars, example) + missing = [] + env_vars.each do |env_var| + unless ENV[env_var] + missing << env_var + end + end + if !missing.empty? + usage = "Usage: This task requires #{env_vars.to_sentence} - missing #{missing.to_sentence}" + if example + usage += "\nExample: #{example}" + end + usage_message usage + end + end + +end
\ No newline at end of file diff --git a/lib/tmail_extensions.rb b/lib/tmail_extensions.rb index f35565352..6a533e658 100644 --- a/lib/tmail_extensions.rb +++ b/lib/tmail_extensions.rb @@ -3,8 +3,7 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: tmail_extensions.rb,v 1.7 2009-10-02 23:31:01 francis Exp $ + require 'racc/parser' require 'tmail' require 'tmail/scanner' diff --git a/lib/world_foi_websites.rb b/lib/world_foi_websites.rb index fec40ed64..f175afd3d 100644 --- a/lib/world_foi_websites.rb +++ b/lib/world_foi_websites.rb @@ -13,7 +13,7 @@ class WorldFOIWebsites {:name => "Ask The EU", :country_name => "European Union", :country_iso_code => "", - :url => "http://asktheu.org"}, + :url => "http://asktheeu.org"}, {:name => "MuckRock.com", :country_name => "United States of America", :country_iso_code => "US", @@ -45,7 +45,7 @@ class WorldFOIWebsites {:name => "Acceso Intelligente", :country_name => "Chile", :country_iso_code => "CL", - :url => "accesointeligente.org"}] + :url => "http://accesointeligente.org"}] return world_foi_websites end diff --git a/locale/aln/app.po b/locale/aln/app.po index 0b07e2754..9562b2eb3 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -175,7 +175,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -359,7 +359,7 @@ msgid "" msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -405,6 +405,11 @@ msgid "" msgstr "" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1051,8 +1056,10 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1234,6 +1241,11 @@ msgid "If you are {{user_link}}, please" msgstr "" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1261,6 +1273,11 @@ msgid "" msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1311,6 +1328,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1344,6 +1364,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1468,6 +1491,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1480,6 +1506,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1668,6 +1697,9 @@ 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 "" @@ -2152,6 +2184,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2248,6 +2283,9 @@ msgstr "" 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}}." @@ -2940,6 +2978,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2949,6 +2990,9 @@ 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>" @@ -3121,6 +3165,9 @@ 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 \n" "contains any useful information." @@ -3347,8 +3394,7 @@ msgid "Your annotations" msgstr "" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3414,6 +3460,9 @@ msgstr "" 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." diff --git a/locale/app.pot b/locale/app.pot index d927a0cb7..084d6ef58 100644 --- a/locale/app.pot +++ b/locale/app.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: version 0.0.1\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\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" @@ -160,7 +160,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -292,7 +292,7 @@ msgid "<strong><code>status:</code></strong> to select based on the status or hi msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -332,6 +332,9 @@ msgid "" " instructions in it to confirm changing your email." msgstr "" +msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority." +msgstr "" + msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." @@ -919,8 +922,10 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1091,6 +1096,9 @@ msgstr "" msgid "If you are {{user_link}}, please" msgstr "" +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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" @@ -1114,6 +1122,11 @@ msgid "If you have not done so already, please write a message below telling the msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1164,6 +1177,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1197,6 +1213,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1313,6 +1332,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1325,6 +1347,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1502,6 +1527,9 @@ 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 "" @@ -1955,6 +1983,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2051,6 +2082,9 @@ msgstr "" 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}}." @@ -2668,6 +2702,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2677,6 +2714,9 @@ 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 "" @@ -2838,6 +2878,9 @@ 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 \n" "contains any useful information." @@ -3042,9 +3085,7 @@ msgstr "" msgid "Your annotations" msgstr "" -msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +msgid "Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3102,6 +3143,9 @@ msgstr "" 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 "" diff --git a/locale/bs/app.po b/locale/bs/app.po index 50f53128b..f29206e28 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -180,8 +180,8 @@ 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\">Dodaj napomenu</a> (da bi se pomoglo podnosiocu zahtjeva ili drugima)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Da li nam nedostaje javna ustanova?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -365,7 +365,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> da biste birali zasnovano na statusu ili historiji statusa zahtjeva, pogledajte <a href=\"{{statuses_url}}\">tabelu statusa</a> below." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -411,6 +411,11 @@ msgid "" msgstr "<strong>Napomena:</strong>\n Poslati ćemo e-mail na Vašu novu adresu. Pratite\n upute u njemu da bi potvrdili promjenu vašeg e-maila." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1057,8 +1062,11 @@ msgstr "Iz nepoznatog razloga, nije moguće podnijeti zahtjev ovoj ustanovi." msgid "Forgotten your password?" msgstr "Zaboravili ste Vaš password?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Pronađeno {{count}} javnih tijela {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" msgid "Freedom of Information" msgstr "" @@ -1240,6 +1248,11 @@ msgid "If you are {{user_link}}, please" msgstr "Ako ste {{user_link}}, molimo" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1267,6 +1280,11 @@ msgid "" msgstr "Ako niste već, molimo napišite poruku ispod u kojoj napominjete ustanovu da ste povukli Vaš zahtjev. U protivnom neće znati da je zahtjev povučen." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Ako koristite neke od web mail servisa ili imate filtere za \"junk mail\", provjerite u Vašim\nbulk/spam folderima. Ponekad su naše poruke označene tako." @@ -1317,6 +1335,9 @@ msgstr "Nadolazeća poruka|Tema" msgid "IncomingMessage|Valid to reply to" msgstr "Nadolazeća poruka|Validna za odgovor za" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1350,6 +1371,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1474,6 +1498,9 @@ msgstr "Napravi i pretraži Zahtjeve za slobodan pristup informacijama" msgid "Make your own request" msgstr "Načinite Vaš zahtjev" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1486,6 +1513,9 @@ msgstr "Nedostaju detalji kontakta za '" msgid "More about this authority" msgstr "Više o ovoj ustanovi" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Više sličnih zahtjeva" @@ -1674,6 +1704,9 @@ msgstr "Password: (ponovo)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Nalijepite ovaj link na e-mailove, tweets-e i na druga mjesta:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "" @@ -2158,6 +2191,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Rezultati pretrage" @@ -2255,6 +2291,9 @@ msgstr "Neki od podnosioca zahtjeva nas nisu obavijestili da li su njihovi zahtj msgid "Somebody added a note to your FOI request - " msgstr "Neko je dodao komentar na Vaš Zahtjev za slobodan pristup informacijama." +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}}." @@ -2950,6 +2989,9 @@ msgstr "Nažalost, ne posjedujemo ispravnu {{info_request_law_used_full}}\nadres msgid "Unknown" msgstr "Nepoznat" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Neobičan odgovor." @@ -2959,6 +3001,9 @@ msgstr "Ažurirajte status ovog zahtjeva" msgid "Update the status of your request to " msgstr "Ažurirajte status Vašeg zahtjeva" +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>" @@ -3131,6 +3176,9 @@ msgstr "Šta najbolje opisuje status ovog zahtjeva sada?" 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 \n" "contains any useful information." @@ -3359,9 +3407,8 @@ msgid "Your annotations" msgstr "Vaše napomene" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Vaši podatci nisu dati nikome, osim ako odaberete da odgovorite na ovu poruku, koja će u tom slučaju ići direktno osobi kaoja je napisala poruku." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Vaš e-mail:" @@ -3426,6 +3473,9 @@ msgstr "Naziv Vašeg zahtjeva je {{info_request}}. Obavijest o tome da li ste do msgid "Your request:" msgstr "Vaš zahtjev:" +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." diff --git a/locale/ca/app.po b/locale/ca/app.po index 570e8ae50..67efcc345 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:51+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -177,8 +177,8 @@ 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\">Afegeixi un comentari</a> (per ajudar al peticionari o a altres)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\"> Ens falta algun organisme públic?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -361,7 +361,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> para filtrar en función del estado actual o histórico de la solicitud, consulte la <a href=\"{{statuses_url}}\">tabla de estados</a> a continuación." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:salud</code></strong> para buscar todos los organismos públicos o solicitudes con la etiqueta dada. Puedes incluir múltiples etiquetas, \n y valores, e.g. <code>tag:salud AND tag:financial_transaction:335633</code>. Por defecto, basta con que cualquiera de las etiquetas\n esté presente, añade <code>AND</code> explícitamente si sólo quiere resultados con todas ellas presentes." @@ -407,6 +407,11 @@ msgid "" msgstr "<strong>Nota:</strong>\n Enviarem un correu a la nova direcció de correu. Segueix\n les seves instruccions per confirmar la nova direcció." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1053,8 +1058,10 @@ msgstr "No es posible hacer una solicitud a este organismo, por motivos desconoc msgid "Forgotten your password?" msgstr "¿Has olvidado tu contraseña?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Encontrados {{count}} organismos públicos {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Acceso a la Información" @@ -1236,6 +1243,11 @@ msgid "If you are {{user_link}}, please" msgstr "Si es {{user_link}}, por favor" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1263,6 +1275,11 @@ msgid "" msgstr "Si no lo has hecho ya, por favor escribe un mensaje a continuación informando al organismo público de que has retirado su solicitud. De lo contrario no sabrán que lo has hecho." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Si usas correo web o tiene filtros \"anti spam\", por favor comprueba\ntus carpetas de spam. A veces, nuestros mensajes se marcan así por error." @@ -1313,6 +1330,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1346,6 +1366,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1470,6 +1493,9 @@ msgstr "Realiza una solicitud de información o mira las ya realizadas" msgid "Make your own request" msgstr "Hacer mi propia solicitud" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1482,6 +1508,9 @@ msgstr "Faltan datos de contacto para '" msgid "More about this authority" msgstr "Más información sobre este organismo" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Más solicitudes similares" @@ -1670,6 +1699,9 @@ msgstr "Contraseña: (de nuevo)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Pegue este enlace en correos, tweets, o cualquier otro sitio:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Personas {{start_count}} a {{end_count}} de {{total_count}}" @@ -2154,6 +2186,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Busque entre<br/>\n <strong>{{number_of_requests}} solicitudes</strong> <span>y</span><br/>\n <strong>{{number_of_authorities}} organismos</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Resultados de la búsqueda" @@ -2250,6 +2285,9 @@ msgstr "Algunas personas que hicieron solicitudes no nos han hecho saber si tuvi msgid "Somebody added a note to your FOI request - " msgstr "Nuevo comentario en tu solicitud de acceso a información - " +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}}." @@ -2942,6 +2980,9 @@ msgstr "Desgraciadamente, no tenemos una dirección de correo válida para" msgid "Unknown" msgstr "Desconocido" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Respuesta no habitual." @@ -2951,6 +2992,9 @@ msgstr "Actualizar el estado de esta solicitud" msgid "Update the status of your request to " msgstr "Actualizar el estado de la solicitud a " +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>" @@ -3123,6 +3167,9 @@ msgstr "¿Cómo describiría el estado de esta solicitud ahora?" msgid "What information has been released?" msgstr "¿Qué información se ha solicitado?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3349,9 +3396,8 @@ msgid "Your annotations" msgstr "Tus comentarios" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Tu dirección de correo no ha sido compartida con nadie, salve que elijas contestar a este\nmensaje, que irá directamente a la persona que escribió el mensaje." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Tu correo:" @@ -3416,6 +3462,9 @@ msgstr "Tu solicitud se llamaba {{info_request}}. Haznos saber si has recibido l msgid "Your request:" msgstr "Tu solicitud:" +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." diff --git a/locale/cs/app.po b/locale/cs/app.po index dd434ab0b..0400432f0 100644 --- a/locale/cs/app.po +++ b/locale/cs/app.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # <appukonrad@gmail.com>, 2012. # Hana Huntova <>, 2012. @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-10-08 00:15+0000\n" -"Last-Translator: janakneschke <jana.kneschke@gmail.com>\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-16 10:02+0000\n" +"Last-Translator: Hana Huntova <>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -182,8 +182,8 @@ 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\">Přidat poznámku</a> (pomůžete tím dalšímu tázajícímu)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Chybí zde nějaká veřejná instituce?</a>" +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "<a href=\"%s\">Chybí nám nějaká instituce?</a>" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -367,10 +367,10 @@ msgid "" msgstr "<strong><code>stav:</code></strong> pro výběr dotazů podle současného či minulého stavu, navštivte <a href=\"{{statuses_url}}\">Tabulku stavů</a> below." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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>štítek:charita</code></strong> najde všechny instituce nebo dotazy s daným štítkem. Můžete přidat více štítků \n a významů, např. <code>štítek:místní AND štítek:financial_transaction:335633</code>. Všimněte si že štítků může být více, ale musí obsahovat slůvko<code>AND</code> aby se vám zobrazily odpovídající výsledky." +msgstr "<strong><code>Tagujte:charity</code></strong> umožní vám najít instituce nebo žádosti s daným tagem. Můžete použít více tagů, ⏎ a hodnot tagů, např. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Jakýkoliv tag může být zahrnut⏎ je třeba vložit <code>AND</code> pokud chcete výsledek, který zahrnuje všechny tagy." msgid "" "<strong><code>variety:</code></strong> to select type of thing to search " @@ -413,6 +413,11 @@ msgid "" msgstr "<strong>Poznámka:</strong>\n Pošleme vám zprávu na vaši e-mailovou adresu. Pro změnu\n vaší e-mailové adresy postupujte podle instrukcí." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "<strong>Note:</strong> Protože testujeme, žádosti jsou posílány na {{email}} a ne příslušné autoritě." + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "<strong>Upozornění:</strong> Posíláte zprávu sami sobě." @@ -1059,8 +1064,11 @@ msgstr "Z neznámého důvodu není možné vznést dotaz na tuto instituci. " msgid "Forgotten your password?" msgstr "Zapomněli jste heslo?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Celkem {{count}} institucí {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "Nalezena %d instituce %s" +msgstr[1] "Nalezeny %d instituce %s" +msgstr[2] "Nalezeno %d institucí %s" msgid "Freedom of Information" msgstr "dotaz" @@ -1242,6 +1250,11 @@ msgid "If you are {{user_link}}, please" msgstr "Pokud jste {{user_link}}, prosíme" msgid "" +"If you believe this request is not suitable, you can report it for attention" +" by the site administrators" +msgstr "Pokud se domníváte, že je tato žádost nevhodná, můžete ji nahlásit administrátorům stránky. " + +msgid "" "If you can't click on it in the email, you'll have to <strong>select and copy\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1269,6 +1282,11 @@ msgid "" msgstr "Pokud jste tak ještě neučinili, prosíme napište instituci zprávu, že jste svůj dotaz stáhli. Jinak se o stažení dotazu nedozví. " msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "Pokud odpovíte na tuto zprávu, bude odeslána přímo {{user_name}}, který⏎ uvidí vaši e-mailovou adresu. " + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Pokud používáte bzplatnou e-mailovou službu nebo máte filtr nevyžádané pošty, zkontrolujte také příslušné složky ve své poště. Někdy jsou zprávy ze stránek Informace pro všechny zařazeny jako spam. " @@ -1319,6 +1337,9 @@ msgstr "IncomingMessage | Předmět" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage | Platná zpráva pro" +msgid "Individual requests" +msgstr "Jednotlivé žádosti" + msgid "Info request" msgstr "Žádost o informaci" @@ -1352,6 +1373,9 @@ msgstr "InfoRequestEvent | Podle zákona ??" msgid "InfoRequest|Awaiting description" msgstr "InfoRequestEvent | Očekává se popis" +msgid "InfoRequest|Comments allowed" +msgstr "Info o žádosti|Komentáře dovoleny" + msgid "InfoRequest|Described state" msgstr "InfoRequestEvent | Popsaný status" @@ -1476,6 +1500,9 @@ msgstr "Vzneste dotaz týkajcí se o informací (ŽoI) nebo procházejte dotazy msgid "Make your own request" msgstr "Vzneste vlastní dotaz" +msgid "Many requests" +msgstr "Mnoho žádostí" + msgid "Message" msgstr "Zpráva" @@ -1488,6 +1515,9 @@ msgstr "Chybějící kontakt pro" msgid "More about this authority" msgstr "Více o této instituci" +msgid "More requests..." +msgstr "Více žádostí..." + msgid "More similar requests" msgstr "Více podobných dotazů" @@ -1676,6 +1706,9 @@ msgstr "Heslo (znovu):" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Vložte tento odkaz do e-mailů, tweetů či kamkoliv jinam:" +msgid "People" +msgstr "Lidé" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Lidé od {{start_count}} do {{end_count}} z {{total_count}}" @@ -2160,6 +2193,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Prohledávejte více než<br/>\n <strong>{{number_of_requests}} dotazů</strong> <span>a</span><br/>\n <strong>{{number_of_authorities}} institucí</strong>" +msgid "Search queries" +msgstr "Prohledávejte žádosti" + msgid "Search results" msgstr "Výsledky vyhledávání" @@ -2257,6 +2293,9 @@ msgstr "Někteří tazatelé nás neinformovali, zda a nakolik byli se svým dot msgid "Somebody added a note to your FOI request - " msgstr "Někdo přidal poznámku k vašemu dotazu – " +msgid "Someone has updated the status of your request" +msgstr "Někdo aktualizovat status vaší žádosti" + msgid "" "Someone, perhaps you, just tried to change their email address on\n" "{{site_name}} from {{old_email}} to {{new_email}}." @@ -2952,6 +2991,9 @@ msgstr "Bohužel nemáme funkční adresu pro zaslání {{info_request_law_used_ msgid "Unknown" msgstr "Neznámé" +msgid "Unsubscribe" +msgstr "Odhlásit odběr" + msgid "Unusual response." msgstr "Neobvyklá odpověď." @@ -2961,6 +3003,9 @@ msgstr "Aktualizovat stav tohoto dotazu" msgid "Update the status of your request to " msgstr "Aktualizujte stav svého dotazu vzneseného na " +msgid "Upload FOI response" +msgstr "Nahrajte odpověď na žádost" + msgid "" "Use OR (in capital letters) where you don't mind which word, e.g. " "<strong><code>commons OR lords</code></strong>" @@ -3133,6 +3178,9 @@ msgstr "Co nejlépe vystihuje stav tohoto dotazu?" msgid "What information has been released?" msgstr "Jaké informace byly uveřejněny?" +msgid "What information has been requested?" +msgstr "Jaká informace byla požadována?" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3361,9 +3409,8 @@ msgid "Your annotations" msgstr "Vaše poznámky" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Vaše kontaktní údaje nebyly nikomu předány. Pokud se rozhodnete odpovědět na tuto zprávu, bude odeslána přímo autorovi zprávy spolu s vaším kontaktem." +"Your details, including your email address, have not been given to anyone." +msgstr "Nikomu jsme nepředali vaše osobní údaje, včetně vaší emailové adresy. " msgid "Your e-mail:" msgstr "Váš e-mail:" @@ -3428,6 +3475,9 @@ msgstr "Informace se týká vašeho dotazu {{info_request}}. Můžete všechny i msgid "Your request:" msgstr "Váš dotaz:" +msgid "Your response to an FOI request was not delivered" +msgstr "Vaše odpověď na žádost nebyla doručena" + msgid "" "Your response will <strong>appear on the Internet</strong>, <a " "href=\"%s\">read why</a> and answers to other questions." diff --git a/locale/cy/app.po b/locale/cy/app.po index f129d3685..653668f90 100644 --- a/locale/cy/app.po +++ b/locale/cy/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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -181,7 +181,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -367,7 +367,7 @@ msgid "" msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -413,6 +413,11 @@ msgid "" msgstr "" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1059,8 +1064,12 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" msgid "Freedom of Information" msgstr "" @@ -1242,6 +1251,11 @@ msgid "If you are {{user_link}}, please" msgstr "" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1269,6 +1283,11 @@ msgid "" msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1319,6 +1338,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1352,6 +1374,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1476,6 +1501,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1488,6 +1516,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1676,6 +1707,9 @@ 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 "" @@ -2160,6 +2194,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2258,6 +2295,9 @@ msgstr "" 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}}." @@ -2956,6 +2996,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2965,6 +3008,9 @@ 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>" @@ -3137,6 +3183,9 @@ 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 \n" "contains any useful information." @@ -3367,8 +3416,7 @@ msgid "Your annotations" msgstr "" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3434,6 +3482,9 @@ msgstr "" 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." diff --git a/locale/de/app.po b/locale/de/app.po index a890a48a1..82f5af592 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:52+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -178,8 +178,8 @@ 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\">Kommentar hinzufügen</a> (um den Anfragensteller oder andere Nutzern zu unterstützen)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Fehlt eine Behörde?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -362,7 +362,7 @@ msgid "" msgstr "<strong><code>Status:</code></strong> um eine Auswahl nach Status oder historischem Status der Anfrage zu treffen, gehen Sie zur unten angezeigten<a href=\"{{statuses_url}}\">Statusübersicht</a> ." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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>markieren Sie:Karitas</code></strong>, um alle Behörden oder Anfragen mit dieser Markierung zu finden. Sie können mehrere Markierungen, \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." @@ -408,6 +408,11 @@ msgid "" msgstr "<strong>Note:</strong>\n Es wird eine Email an Ihre neue Emailadresse versendet. Folgen Sie den darin angegebenen Schritten, um die Änderung Ihrer Emailadresse zu bestätigen." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1054,8 +1059,10 @@ msgstr "Aus unbekannten Gründen ist es nicht möglich eine Anfrage a diese Beh msgid "Forgotten your password?" msgstr "Passwort vergessen?" -msgid "Found {{count}} public bodies {{description}}" -msgstr " {{count}} Behörden {{description}} gefunden" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1237,6 +1244,11 @@ msgid "If you are {{user_link}}, please" msgstr "Wenn Sie {{user_link}} sind, bitte" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1264,6 +1276,11 @@ msgid "" msgstr "Falls noch nicht geschehen, senden Sie bitte eine Nachricht, um die Behörde zu informieren, dass Sie Ihre Anfrage zurückgezogen haben. Anderenfalls weiss diese nicht, dass dies geschehen ist. " msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Sollten Sie ein webbasiertes Emailkonto oder Spamfilter benutzen, überrpüfen Sie Ihre Bulk-, Spamordner. Unsere Nachrichten landen teilweise in diese Ordnern. " @@ -1314,6 +1331,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1347,6 +1367,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoAnfrage | Beschreibung wird erwartet" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1471,6 +1494,9 @@ msgstr "Hier können Sie Anfragen an das Informationsgesetz (IFG)stellen und bes msgid "Make your own request" msgstr "Eigene Anfrage stellen" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1483,6 +1509,9 @@ msgstr "Folgende Kontaktdetails fehlen:" msgid "More about this authority" msgstr "Weitere Informationen zu dieser Behörde" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Weitere ähnliche Anfragen" @@ -1671,6 +1700,9 @@ msgstr "Passwort: (nochmal eingeben)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Nutzen Sie diesen Link in Emails, tweets und beliebigen weiteren Optionen:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Leute {{start_count}} bis {{end_count}} von {{total_count}}" @@ -2155,6 +2187,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Suchen Sie in mehr als<br/>\n <strong>{{number_of_requests}} Anfragen</strong> <span>und</span><br/>\n <strong>{{number_of_authorities}} Behörden</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2251,6 +2286,9 @@ msgstr "Nicht alle Anfragensteller haben uns über den Erfolg Ihrer Anfragen inf 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}}." @@ -2943,6 +2981,9 @@ msgstr "Wir haben leider keine funktionierende Email-Adresse für {{info_request msgid "Unknown" msgstr "Unbekannt" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Ungewöhnliche Antwort." @@ -2952,6 +2993,9 @@ msgstr "Status der Anfrage aktualisieren" msgid "Update the status of your request to " msgstr "Aktualisieren Sie den Status Ihrer Anfrage an" +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>" @@ -3124,6 +3168,9 @@ msgstr "Was ist die beste Beschreibung für diese Anfrage?" msgid "What information has been released?" msgstr "Welche Informationen wurden veröffentlicht?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3350,9 +3397,8 @@ msgid "Your annotations" msgstr "Ihre Anmerkungen" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Ihre Details wurden nicht weitergegeben, ausser wenn Sie sich entschieden haben auf diese Nachricht zu antworten. Ihre Antwort geht dann direkt an die Person, welche die Nachricht geschrieben hat. " +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Ihre Email:" @@ -3417,6 +3463,9 @@ msgstr "Ihre Anfrage hat den folgenden Titel: {{info_request}}. Bitte informiere msgid "Your request:" msgstr "Ihre Anfrage:" +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." diff --git a/locale/en/app.po b/locale/en/app.po index 2129ccb8c..37366082f 100644 --- a/locale/en/app.po +++ b/locale/en/app.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: version 0.0.1\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\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" @@ -159,7 +159,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -291,7 +291,7 @@ msgid "<strong><code>status:</code></strong> to select based on the status or hi msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -331,6 +331,9 @@ msgid "" " instructions in it to confirm changing your email." msgstr "" +msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority." +msgstr "" + msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." @@ -918,8 +921,10 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1090,6 +1095,9 @@ msgstr "" msgid "If you are {{user_link}}, please" msgstr "" +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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" @@ -1113,6 +1121,11 @@ msgid "If you have not done so already, please write a message below telling the msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1163,6 +1176,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1196,6 +1212,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1312,6 +1331,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1324,6 +1346,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1501,6 +1526,9 @@ 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 "" @@ -1954,6 +1982,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2050,6 +2081,9 @@ msgstr "" 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}}." @@ -2667,6 +2701,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2676,6 +2713,9 @@ 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 "" @@ -2837,6 +2877,9 @@ 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 \n" "contains any useful information." @@ -3041,9 +3084,7 @@ msgstr "" msgid "Your annotations" msgstr "" -msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +msgid "Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3101,6 +3142,9 @@ msgstr "" 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 "" diff --git a/locale/en_IE/app.po b/locale/en_IE/app.po index dfc576c0b..1e7147d4c 100644 --- a/locale/en_IE/app.po +++ b/locale/en_IE/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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -175,7 +175,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -359,7 +359,7 @@ msgid "" msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -405,6 +405,11 @@ msgid "" msgstr "" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1051,8 +1056,10 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1234,6 +1241,11 @@ msgid "If you are {{user_link}}, please" msgstr "" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1261,6 +1273,11 @@ msgid "" msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1311,6 +1328,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1344,6 +1364,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1468,6 +1491,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1480,6 +1506,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1668,6 +1697,9 @@ 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 "" @@ -2152,6 +2184,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2248,6 +2283,9 @@ msgstr "" 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}}." @@ -2940,6 +2978,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2949,6 +2990,9 @@ 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>" @@ -3121,6 +3165,9 @@ 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 \n" "contains any useful information." @@ -3347,8 +3394,7 @@ msgid "Your annotations" msgstr "" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3414,6 +3460,9 @@ msgstr "" 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." diff --git a/locale/es/app.po b/locale/es/app.po index 5e571502c..8614e9b5e 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:55+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -179,8 +179,8 @@ 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ñade un comentario</a> (para ayudar al solicitante o a otros)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">¿Nos falta algún organismo público?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -363,7 +363,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> para filtrar en función del estado actual o histórico de la solicitud, consulte la <a href=\"{{statuses_url}}\">tabla de estados</a> a continuación." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:salud</code></strong> para buscar todos los organismos públicos o solicitudes con la etiqueta dada. Puedes incluir múltiples etiquetas, \n y valores, e.g. <code>tag:salud AND tag:financial_transaction:335633</code>. Por defecto, basta con que cualquiera de las etiquetas\n esté presente, añade <code>AND</code> explícitamente si sólo quiere resultados con todas ellas presentes." @@ -409,6 +409,11 @@ msgid "" msgstr "<strong>Nota:</strong>\n Enviaremos un correo a la nueva dirección de correo. Sigue\n sus instrucciones para confirmar la nueva dirección." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1055,8 +1060,10 @@ msgstr "No es posible hacer una solicitud a este organismo, por motivos desconoc msgid "Forgotten your password?" msgstr "¿Has olvidado tu contraseña?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Encontrados {{count}} organismos públicos {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "acceso a la información" @@ -1238,6 +1245,11 @@ msgid "If you are {{user_link}}, please" msgstr "Si es {{user_link}}, por favor" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1265,6 +1277,11 @@ msgid "" msgstr "Si no lo has hecho ya, por favor escribe un mensaje a continuación informando al organismo público de que has retirado su solicitud. De lo contrario no sabrán que lo has hecho." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Si usas correo web o tiene filtros \"anti spam\", por favor comprueba\ntus carpetas de spam. A veces, nuestros mensajes se marcan así por error." @@ -1315,6 +1332,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "Solicitud de informacion" @@ -1348,6 +1368,9 @@ msgstr "Solicitud/ se requiere " msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1472,6 +1495,9 @@ msgstr "Realiza una solicitud de información o mira las ya realizadas" msgid "Make your own request" msgstr "Hacer mi propia solicitud" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1484,6 +1510,9 @@ msgstr "Faltan datos de contacto para '" msgid "More about this authority" msgstr "Más información sobre este organismo" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Más solicitudes similares" @@ -1672,6 +1701,9 @@ msgstr "Contraseña: (otra vez)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Pegue este enlace en correos, tweets, o cualquier otro sitio:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Personas {{start_count}} a {{end_count}} de {{total_count}}" @@ -2156,6 +2188,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Busque entre<br/>\n <strong>{{number_of_requests}} solicitudes</strong> <span>y</span><br/>\n <strong>{{number_of_authorities}} organismos</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Resultados de la búsqueda" @@ -2252,6 +2287,9 @@ msgstr "Algunas personas que hicieron solicitudes no nos han hecho saber si tuvi msgid "Somebody added a note to your FOI request - " msgstr "Nuevo comentario en tu solicitud de acceso a información - " +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}}." @@ -2944,6 +2982,9 @@ msgstr "Desgraciadamente, no tenemos una dirección de correo válida para" msgid "Unknown" msgstr "Desconocido" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Respuesta no habitual." @@ -2953,6 +2994,9 @@ msgstr "Actualiza el estado de esta solicitud" msgid "Update the status of your request to " msgstr "Actualizar el estado de la solicitud a " +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>" @@ -3125,6 +3169,9 @@ msgstr "¿Cómo describirías el estado de esta solicitud ahora?" msgid "What information has been released?" msgstr "¿Qué información se ha solicitado?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3351,9 +3398,8 @@ msgid "Your annotations" msgstr "Tus comentarios" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Tu dirección de correo no ha sido compartida con nadie, salve que elijas contestar a este\nmensaje, que irá directamente a la persona que escribió el mensaje." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Tu correo:" @@ -3418,6 +3464,9 @@ msgstr "Tu solicitud se llamaba {{info_request}}. Haznos saber si has recibido l msgid "Your request:" msgstr "Tu solicitud:" +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." diff --git a/locale/eu/app.po b/locale/eu/app.po index 6bceee0df..45d4d0957 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:54+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -176,8 +176,8 @@ 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\">Gehitu azalpenen bat</a> (eskatzaileari edo besteei laguntzearren)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Erakunde publikoren bat ez da agertzen?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -360,7 +360,7 @@ msgid "" msgstr "<strong><code>egoera:</code></strong> eskabidearen oraingo egoera edo egoera historikoaren arabera iragazteko, kontsulta ezazu ondoko <a href=\"{{statuses_url}}\">egoeren taula</a>." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:osasuna</code></strong> etiketa hau daukaten erakunde publiko zein eskabide guztiak bilatzeko. Etiketa eta balio ugari sar ditzakezu, e.g. <code>tag:osasuna AND tag:financial_transaction:335633</code>. Edozein etiketa agertzearekin nahiko da, lehenetsita dago, etiketa guztiak dakartzaten emaitzak nahi baldin badituzu zehazki <code>AND</code> gehitu beharko duzu." @@ -406,6 +406,11 @@ msgid "" msgstr "<strong>Oharra:</strong>\n Posta bat bidaliko dugu posta helbide berrira. Jarraitu argibideei helbide berria egiaztatzeko." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1052,8 +1057,10 @@ msgstr "Ez dakigun arrazoia dela eta, erakunde honi eskabidea egitea ezinezkoa d msgid "Forgotten your password?" msgstr "Zure pasahitza ahaztu al duzu?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "{{count}} erakunde publiko {{description}} aurkitu dira." +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Informaziorako sarbidea" @@ -1235,6 +1242,11 @@ msgid "If you are {{user_link}}, please" msgstr "Zu {{user_link}} baldin bazara, mesedez" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1262,6 +1274,11 @@ msgid "" msgstr "Ez baduzu jadanik egin, mesedez idatz ezazu jarraian mezu bat, erakunde publikoari eskabidea kendu duzula jakinaraziz. Bestela ez dute jakingo egin duzuna." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Web posta erabiltzen baduzu edo \"spamaren kontrako\" iragazkiak badituzu, mesedez, ikus ezazu zure spam karpeta. Batzutan gure mezuak honela markatzen dira, erroreagatik." @@ -1312,6 +1329,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1345,6 +1365,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1469,6 +1492,9 @@ msgstr "Egin ezazu informazio eskabide bat edo ikus itzazu jadanik eginda dauden msgid "Make your own request" msgstr "Egin nire eskabidea" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1481,6 +1507,9 @@ msgstr "Kontaktuaren datuak falta dira '" msgid "More about this authority" msgstr "Erakunde honi buruzko informazio gehiago" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Antzeko eskabide gehiago" @@ -1669,6 +1698,9 @@ msgstr "Pasahitza: (berriro)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Itsatsi esteka hau posta elektronikoan, tweetean edo beste edozein lekutan:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Pertsonak, {{start_count}}-tik {{end_count}}-ra, guztira {{total_count}}" @@ -2153,6 +2185,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Bilatu<br/>\n <strong>{{number_of_requests}} eskabide</strong> <span>eta</span><br/>\n <strong>{{number_of_authorities}} erakunderen</strong> artean" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Bilaketaren emaitzak" @@ -2249,6 +2284,9 @@ msgstr "Eskabidea egin zuten zenbaitek ez digute jakinarazi arrakasta izan zuten msgid "Somebody added a note to your FOI request - " msgstr "Zure informaziorako sarbidearen eskabideari egindako iruzkin berria - " +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}}." @@ -2941,6 +2979,9 @@ msgstr "Zoritxarrez ez dugu posta helbide baliagarria honentzat: {{info_request_ msgid "Unknown" msgstr "Ezezaguna" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Ez-ohiko erantzuna." @@ -2950,6 +2991,9 @@ msgstr "Gaurkotu eskabide honen egoera" msgid "Update the status of your request to " msgstr "Gaurkotu ________-ri egindako eskabidearen egoera" +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>" @@ -3122,6 +3166,9 @@ msgstr "Nola deskribatuko zenuke eskabide honen oraingo egoera?" msgid "What information has been released?" msgstr "Zein da eskatu duzun informazioa?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3348,9 +3395,8 @@ msgid "Your annotations" msgstr "Zure iruzkinak" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Zure helbide elektronikoa ez zaio inori eman, mezu honi erantzutea erabakitzen baduzu, orduan mezua idatzi duen pertsonari zuzenean joango zaio zure helbidea." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Zure helbide elektronikoa:" @@ -3415,6 +3461,9 @@ msgstr "Zure eskabidearen izenburua {{info_request}} zen. Jakinarazi informazio msgid "Your request:" msgstr "Zure eskabidea:" +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." diff --git a/locale/fr/app.po b/locale/fr/app.po index 2234e2f4b..5c222a3ef 100644 --- a/locale/fr/app.po +++ b/locale/fr/app.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:50+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -180,7 +180,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -364,7 +364,7 @@ msgid "" msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:charity</code></strong> pour trouvez tous les institutions publiques ou les sollicitudes avec la même étiquette. Vous pouvez inclure plusieurs étiquettes,\\n ou plusieurs étiquettes, ex. <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." @@ -410,6 +410,11 @@ msgid "" msgstr "" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1056,8 +1061,10 @@ msgstr "Par des raisons que nous ne pouvons pas déterminer, il est impossible d msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1239,6 +1246,11 @@ msgid "If you are {{user_link}}, please" msgstr "Si vous êtes {{user_link}}, merci de " 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1266,6 +1278,11 @@ msgid "" msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1316,6 +1333,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1349,6 +1369,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1473,6 +1496,9 @@ msgstr "Envoyer et rechercher des sollicitudes d'accès à lìnformation" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1485,6 +1511,9 @@ msgstr "" msgid "More about this authority" msgstr "Plus d'infos sur cet administration" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1673,6 +1702,9 @@ msgstr "Mot de passe : (confirmation)" 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 "" @@ -2157,6 +2189,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2253,6 +2288,9 @@ msgstr "" 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}}." @@ -2945,6 +2983,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2954,6 +2995,9 @@ 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>" @@ -3126,6 +3170,9 @@ msgstr "" msgid "What information has been released?" msgstr "Quelles informations ont été rendues publiques ?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3352,8 +3399,7 @@ msgid "Your annotations" msgstr "" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3419,6 +3465,9 @@ msgstr "" 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." diff --git a/locale/gl/app.po b/locale/gl/app.po index 269505180..d14b1b886 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:55+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -175,8 +175,8 @@ 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ñada un comentario</a> (para ayudar al peticionario o a otros)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">¿Nos falta algún organismo público?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -359,7 +359,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> para filtrar en función del estado actual o histórico de la solicitud, consulte la <a href=\"{{statuses_url}}\">tabla de estados</a> a continuación." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:salud</code></strong> para buscar todos los organismos públicos o solicitudes con la etiqueta dada. Puedes incluir múltiples etiquetas, \n y valores, e.g. <code>tag:salud AND tag:financial_transaction:335633</code>. Por defecto, basta con que cualquiera de las etiquetas\n esté presente, añade <code>AND</code> explícitamente si sólo quiere resultados con todas ellas presentes." @@ -405,6 +405,11 @@ msgid "" msgstr "<strong>Nota:</strong>\n Enviaremos un correo a la nueva dirección de correo. Sigue\n sus instrucciones para confirmar la nueva dirección." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1051,8 +1056,10 @@ msgstr "No es posible hacer una solicitud a este organismo, por motivos desconoc msgid "Forgotten your password?" msgstr "¿Has olvidado tu contraseña?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Encontrados {{count}} organismos públicos {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Acceso a la Información" @@ -1234,6 +1241,11 @@ msgid "If you are {{user_link}}, please" msgstr "Si es {{user_link}}, por favor" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1261,6 +1273,11 @@ msgid "" msgstr "Si no lo has hecho ya, por favor escribe un mensaje a continuación informando al organismo público de que has retirado su solicitud. De lo contrario no sabrán que lo has hecho." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Si usas correo web o tiene filtros \"anti spam\", por favor comprueba\ntus carpetas de spam. A veces, nuestros mensajes se marcan así por error." @@ -1311,6 +1328,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1344,6 +1364,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1468,6 +1491,9 @@ msgstr "Realiza una solicitud de información o mira las ya realizadas" msgid "Make your own request" msgstr "Hacer mi propia solicitud" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1480,6 +1506,9 @@ msgstr "Faltan datos de contacto para '" msgid "More about this authority" msgstr "Más información sobre este organismo" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Más solicitudes similares" @@ -1668,6 +1697,9 @@ msgstr "Contraseña: (de nuevo)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Pegue este enlace en correos, tweets, o cualquier otro sitio:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Personas {{start_count}} a {{end_count}} de {{total_count}}" @@ -2152,6 +2184,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Busque entre<br/>\n <strong>{{number_of_requests}} solicitudes</strong> <span>y</span><br/>\n <strong>{{number_of_authorities}} organismos</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Resultados de la búsqueda" @@ -2248,6 +2283,9 @@ msgstr "Algunas personas que hicieron solicitudes no nos han hecho saber si tuvi msgid "Somebody added a note to your FOI request - " msgstr "Nuevo comentario en tu solicitud de acceso a información - " +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}}." @@ -2940,6 +2978,9 @@ msgstr "Desgraciadamente, no tenemos una dirección de correo válida para" msgid "Unknown" msgstr "Desconocido" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Respuesta no habitual." @@ -2949,6 +2990,9 @@ msgstr "Actualizar el estado de esta solicitud" msgid "Update the status of your request to " msgstr "Actualizar el estado de la solicitud a " +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>" @@ -3121,6 +3165,9 @@ msgstr "¿Cómo describiría el estado de esta solicitud ahora?" msgid "What information has been released?" msgstr "¿Qué información se ha solicitado?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3347,9 +3394,8 @@ msgid "Your annotations" msgstr "Tus comentarios" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Tu dirección de correo no ha sido compartida con nadie, salve que elijas contestar a este\nmensaje, que irá directamente a la persona que escribió el mensaje." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Tu correo:" @@ -3414,6 +3460,9 @@ msgstr "Tu solicitud se llamaba {{info_request}}. Haznos saber si has recibido l msgid "Your request:" msgstr "Tu solicitud:" +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." diff --git a/locale/hu_HU/app.po b/locale/hu_HU/app.po index 286237b84..d47b5d552 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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:52+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -175,8 +175,8 @@ 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\">Kommentálhatja az igénylést</a> - amivel segítségére lehet az igénylőnek, valamint a téma iránt érdelődőknek." -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Hiányzik valamely adatgazda?</a>. " +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -359,7 +359,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> az igénylés állapota vagy korábbi állapota alapján történő kiválasztáshoz, lásd az alábbi <a href=\"{{statuses_url}}\">állapottáblázatot</a>. " msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:charity</code></strong> az összes adatgazda vagy igénylés kikereséséhez egy adott címkén belül. Több címkét \n és címkeértéket is szerepeltethet, pl. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Ne feledje, hogy alapértelmezés szerint bármely címke\n szerepelhet; világosan fel kell tüntetnie az <code>AND</code> kódot, ha az összes eredményt meg kívánja jeleníteni. " @@ -405,6 +405,11 @@ msgid "" msgstr "<strong>Megjegyzés:</strong>\n E-mailt küldünk új e-mail címére. Kövesse az\n abban található utasításokat az e-mail cím módosításának megerősítéséhez!" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1051,8 +1056,10 @@ msgstr "Ismeretlen okból kifolyólag ennek a közintézménynek nem lehet igén msgid "Forgotten your password?" msgstr "Elfelejtette jelszavát? " -msgid "Found {{count}} public bodies {{description}}" -msgstr " {{description}} összesen {{count}} adatgazda található a rendszerünkben" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Közérdekűadat" @@ -1234,6 +1241,11 @@ msgid "If you are {{user_link}}, please" msgstr "Ha ön {{user_link}}, kérjük, " 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1261,6 +1273,11 @@ msgid "" msgstr "Ha még nem tette meg eddig, írjon alább üzenetet, amelyben tájékoztatja a közintézményt, hogy igénylését visszavonta. Máskülönben nem fogják tudni, hogy az igénylés vissza lett vonva. " msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Amennyiben webes levelező rendszert használ vagy spamszűrő van beállítva, ellenőrizze a\nlevélszemetet tartalmazó mappákat is! Előfordulhat, hogy üzeneteink ide kerülnek." @@ -1311,6 +1328,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1344,6 +1364,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1468,6 +1491,9 @@ msgstr "Közérdekűadat-igénylések létrehozása és böngészése " msgid "Make your own request" msgstr "Adatigénylés létrehozása " +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1480,6 +1506,9 @@ msgstr "Hiányzó kapcsolattartási adatok: " msgid "More about this authority" msgstr "További információ erről az adatgazdáról" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Több hasonló igénylés " @@ -1668,6 +1697,9 @@ msgstr "Jelszó: (újból) " msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Másolja be ezt a hivatkozást e-mailbe, tweetbe és máshova: " +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Személyek: {{start_count}} - {{end_count}}, összesen: {{total_count}} " @@ -2152,6 +2184,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "<br/>\n <strong>{{number_of_requests}} adatigénylés</strong> <span>és</span><br/>\n <strong>{{number_of_authorities}} adatgazda</strong> között böngészhet pillanatnyilag a rendszerünkben." +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "A keresés eredménye" @@ -2248,6 +2283,9 @@ msgstr "Néhányan, akik adatigénylést nyújtottak be, nem tájékoztattak ben msgid "Somebody added a note to your FOI request - " msgstr "Közérdekűadat-igényléséhez valaki hozzászólt - " +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}}." @@ -2940,6 +2978,9 @@ msgstr "Sajnos nem ismerjük a következő adatgazda működő {{info_request_la msgid "Unknown" msgstr "Ismeretlen" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Szokatlan válasz" @@ -2949,6 +2990,9 @@ msgstr "Az adatigénylés státuszának frissítése" msgid "Update the status of your request to " msgstr "Igénylése állapotának frissítése a következőre: " +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>" @@ -3121,6 +3165,9 @@ msgstr "Mi áll a legközelebb ezen igénylés állapotához? " msgid "What information has been released?" msgstr "Mire voltak kíváncsiak mások? " +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3347,9 +3394,8 @@ msgid "Your annotations" msgstr "Hozzászólásaim" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Adatait senkinek nem adtuk ki - kivéve, ha ön úgy dönt, hogy erre az üzenetre\nválaszol, és akkor a választ közvetlenül az üzenet küldője kapja meg. " +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Az ön e-mail címe: " @@ -3414,6 +3460,9 @@ msgstr "Igénylésének címe: {{info_request}}. Ha megkapta az információt, msgid "Your request:" msgstr "Az ön igénylése: " +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." diff --git a/locale/id/app.po b/locale/id/app.po index dd56d7be6..64d791c27 100644 --- a/locale/id/app.po +++ b/locale/id/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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:55+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -174,8 +174,8 @@ 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\">Tambahkan anotasi</a> (untuk membantu peminta informasi atau yang lain)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Apakah kami kehilangan sebuah otoritas publik?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -357,7 +357,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> untuk memilih berdasarkan status atau status historical dari permintaan, lihat <a href=\"{{statuses_url}}\">table status </a> di bawah." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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>label:derma</code></strong> untuk mendapatkan semua badan publik atau permintaan-permintaan dengan label yang diberikan. Anda dapat menyertakan beberapa label sekaligus, \n dan menambahkan nilai label, misalnya <code>label:openlylocal DAN label:transaksi_keuangan:335633</code>. Perhatikan bahwa secara default setiap label \n dapat muncul, Anda harus menaruh <code>DAN</code> secara eksplisit jika Anda hanya ingin hasil yang mereka semua tampilkan." @@ -403,6 +403,11 @@ msgid "" msgstr "<strong>Catatan:</strong>\n Kami akan mengirimkan email ke alamat email Anda yang baru. Ikutilah\n instruksi di dalamnya untuk mengkonfirmasi perubahan email Anda." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1049,8 +1054,9 @@ msgstr "Untuk alasan yang tidak diketahui, Anda tidak dapat mengajukan permintaa msgid "Forgotten your password?" msgstr "Lupa kode sandi Anda?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Ditemukan{{count}} badan publik{{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" msgid "Freedom of Information" msgstr "Freedom of Information" @@ -1232,6 +1238,11 @@ 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 "" + +msgid "" "If you can't click on it in the email, you'll have to <strong>select and copy\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1259,6 +1270,11 @@ msgid "" 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\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Jika Anda menggunakan email berbasis web atau memiliki filter \"junk mail\", juga periksa \nfolder surat bulk/spam Anda. Terkadang, pesan-pesan kami ditandai seperti itu." @@ -1309,6 +1325,9 @@ msgstr "IncomingMessage|Subject" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage|Valid to reply to" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "Info permintaan" @@ -1342,6 +1361,9 @@ msgstr "InfoRequest|Attention requested" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1466,6 +1488,9 @@ msgstr "Buat dan melihat permintaan Freedom of Information (FOI)" msgid "Make your own request" msgstr "Buat permintaan Anda sendiri" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1478,6 +1503,9 @@ msgstr "Kehilangan rincian kontak untuk '" msgid "More about this authority" msgstr "Lebih jauh tentang otoritas ini" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Lebih banyak permintaan serupa" @@ -1666,6 +1694,9 @@ msgstr "Kode sandi: (ulangi)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Paste tautan ini ke email, tweets, dan tempat lain:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Orang{{start_count}} ke{{end_count}} dari{{total_count}}" @@ -2150,6 +2181,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Cari lagi<br/>\n <strong>{{number_of_requests}} permintaan</strong> <span>dan</span><br/>\n <strong>{{number_of_authorities}} otoritas</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Hasil pencarian" @@ -2245,6 +2279,9 @@ msgstr "Beberapa orang yang mengajukan peermintaan telah memberitahu kami apakah 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 "" + msgid "" "Someone, perhaps you, just tried to change their email address on\n" "{{site_name}} from {{old_email}} to {{new_email}}." @@ -2934,6 +2971,9 @@ msgstr "Sayangnya, kami tidak memiliki alamat {{info_request_law_used_full}}\nke msgid "Unknown" msgstr "Tidak diketahui" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Respon yang tidak biasa." @@ -2943,6 +2983,9 @@ msgstr "Memperbarui status untuk permintaan ini" msgid "Update the status of your request to " msgstr "Memperbarui status permintaan Anda kepada" +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>" @@ -3115,6 +3158,9 @@ msgstr "Apa yang paling tepat untuk menggambarkan status dari permintaan ini sek msgid "What information has been released?" msgstr "Informasi apa yang sudah dirilis?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3339,9 +3385,8 @@ msgid "Your annotations" msgstr "anotasi Anda" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Rincian tentang Anda belum diberikan kepada siapapun, kecuali Anda memilih untuk membalas \npesan ini, yang kemudian akan dikirimkan langsung kepada orang yang menulis pesan." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Email Anda:" @@ -3406,6 +3451,9 @@ msgstr "Permintaan Anda disebut {{info_request}}. Memberitahukan semua orang apa msgid "Your request:" msgstr "Permintaan Anda :" +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." diff --git a/locale/model_attributes.rb b/locale/model_attributes.rb index 9944bd11d..9620a5494 100644 --- a/locale/model_attributes.rb +++ b/locale/model_attributes.rb @@ -41,6 +41,7 @@ _('Info request') _('InfoRequest|Allow new responses from') _('InfoRequest|Attention requested') _('InfoRequest|Awaiting description') +_('InfoRequest|Comments allowed') _('InfoRequest|Described state') _('InfoRequest|External url') _('InfoRequest|External user name') diff --git a/locale/nb_NO/app.po b/locale/nb_NO/app.po index 352e04bfe..b5b169298 100644 --- a/locale/nb_NO/app.po +++ b/locale/nb_NO/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: version 0.0.1\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\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" @@ -160,7 +160,7 @@ msgstr "" msgid "<a href=\"%s\">Add an annotation</a> (to help the requester or others)" msgstr "" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" msgstr "" msgid "" @@ -292,7 +292,7 @@ msgid "<strong><code>status:</code></strong> to select based on the status or hi msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -332,6 +332,9 @@ msgid "" " instructions in it to confirm changing your email." msgstr "" +msgid "<strong>Note:</strong> Because we're testing, requests are being sent to {{email}} rather than to the actual authority." +msgstr "" + msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." @@ -919,8 +922,10 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "" @@ -1091,6 +1096,9 @@ msgstr "" msgid "If you are {{user_link}}, please" msgstr "" +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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" @@ -1114,6 +1122,11 @@ msgid "If you have not done so already, please write a message below telling the msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1164,6 +1177,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1197,6 +1213,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1313,6 +1332,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1325,6 +1347,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1502,6 +1527,9 @@ 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 "" @@ -1955,6 +1983,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2051,6 +2082,9 @@ msgstr "" 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}}." @@ -2668,6 +2702,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2677,6 +2714,9 @@ 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 "" @@ -2838,6 +2878,9 @@ 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 \n" "contains any useful information." @@ -3042,9 +3085,7 @@ msgstr "" msgid "Your annotations" msgstr "" -msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +msgid "Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3102,6 +3143,9 @@ msgstr "" 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 "" diff --git a/locale/pt_BR/app.po b/locale/pt_BR/app.po index 82b3a0447..74e1c2773 100644 --- a/locale/pt_BR/app.po +++ b/locale/pt_BR/app.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:50+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -188,8 +188,8 @@ 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\">Adicione um comentário</a> (para ajudar o solicitante ou outros)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Está faltando algum órgão público?</a> ." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -372,7 +372,7 @@ msgid "" msgstr "<strong><code>situação:</code></strong> para selecionar com base na situação ou no histórico de situações do pedido, veja a <a href=\"{{statuses_url}}\">tabela de situações</a> abaixo." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 pode estar presente em um resultado, e você deve colocar <code>E</code> para explicitar que deseja resultados com todas as tags presentes." @@ -418,6 +418,11 @@ msgid "" msgstr "<strong>Atenção:</strong> Vamos enviar um email para você. Siga as instruções para confirmar a alteração o seu e-mail." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1064,8 +1069,10 @@ msgstr "Devido a um erro desconhecido, não foi possível realizar seu pedido pa msgid "Forgotten your password?" msgstr "Esqueceu a sua senha?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "{{count}} orgãos encontrados {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Liberdade de Informação" @@ -1247,6 +1254,11 @@ 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 "" + +msgid "" "If you can't click on it in the email, you'll have to <strong>select and copy\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1274,6 +1286,11 @@ msgid "" 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\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/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." @@ -1324,6 +1341,9 @@ msgstr "IncomingMessage | Assunto" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage | Vale a pena responder para" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1357,6 +1377,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest | Aguardando descrição" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest | estado descrito" @@ -1481,6 +1504,9 @@ msgstr "Faça e busque pedidos de acesso à informação" msgid "Make your own request" msgstr "Faça seu próprio pedido" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "Mensagem" @@ -1493,6 +1519,9 @@ msgstr "Faltam dados de contato para '" msgid "More about this authority" msgstr "Mais informações sobre este órgão público" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Outros pedidos semelhantes" @@ -1681,6 +1710,9 @@ msgstr "Senha: (de novo)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Utilize este link para divulgar seu pedido por meio de e-mails, tweets etc:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Pessoas {{start_count}} para {{end_count}} de {{total_count}}" @@ -2165,6 +2197,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Pesquisar <br/> <strong>{{number_of_requests}} pedidos</strong> <span>e</span> <br/> <strong>{{number_of_authorities}} órgãos públicos </strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Resultados da busca" @@ -2261,6 +2296,9 @@ msgstr "Algumas pessoas que fizeram pedidos não comunicaram se eles foram bem s msgid "Somebody added a note to your FOI request - " msgstr "Alguém adicionou uma nota ao seu pedido de acesso à informação -" +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}}." @@ -2953,6 +2991,9 @@ msgstr "Infelizmente, nós não temos um email válido de " msgid "Unknown" msgstr "Desconhecido" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Outra resposta." @@ -2962,6 +3003,9 @@ msgstr "Alterar a situação deste pedido" msgid "Update the status of your request to " msgstr "Atualize a situação de seu pedido para " +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>" @@ -3134,6 +3178,9 @@ msgstr "Qual a situação do seu pedido agora?" msgid "What information has been released?" msgstr "Últimas respostas" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3360,9 +3407,8 @@ msgid "Your annotations" msgstr "Seus comentários" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Suas informações não foram dadas para ninguém, a não ser que você decida responder essa mensagem, nesse caso as informações irão diretamente para quem escrever a mensagem." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Seu e-mail:" @@ -3427,6 +3473,9 @@ msgstr "" msgid "Your request:" msgstr "Seu pedido:" +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." diff --git a/locale/ro_RO/app.po b/locale/ro_RO/app.po index f99f41929..352d5ae96 100644 --- a/locale/ro_RO/app.po +++ b/locale/ro_RO/app.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # <andreicristianpetcu@gmail.com>, 2012. # <copyratul@gmail.com>, 2012. @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-24 19:05+0000\n" -"Last-Translator: andreicristianpetcu <andreicristianpetcu@gmail.com>\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" +"Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -179,8 +179,8 @@ 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\">Adaugă o notă</a> (pentru a ajuta petentul sau pe alții)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Am omis o autoritate publică?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "<a href=\"%s\">Am omis o autoritate publică?</a>" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -364,7 +364,7 @@ msgid "" msgstr "" msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -410,6 +410,11 @@ msgid "" msgstr "" msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1056,8 +1061,11 @@ msgstr "" msgid "Forgotten your password?" msgstr "" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" msgid "Freedom of Information" msgstr "" @@ -1239,6 +1247,11 @@ msgid "If you are {{user_link}}, please" msgstr "" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1266,6 +1279,11 @@ msgid "" msgstr "" msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "" @@ -1316,6 +1334,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1349,6 +1370,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1473,6 +1497,9 @@ msgstr "" msgid "Make your own request" msgstr "" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1485,6 +1512,9 @@ msgstr "" msgid "More about this authority" msgstr "" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "" @@ -1673,6 +1703,9 @@ 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 "" @@ -2157,6 +2190,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "" @@ -2254,6 +2290,9 @@ msgstr "" 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}}." @@ -2949,6 +2988,9 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" @@ -2958,6 +3000,9 @@ 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>" @@ -3130,6 +3175,9 @@ 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 \n" "contains any useful information." @@ -3358,8 +3406,7 @@ msgid "Your annotations" msgstr "" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" @@ -3425,6 +3472,9 @@ msgstr "" 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." diff --git a/locale/sq/app.po b/locale/sq/app.po index c9174ccdd..525ad1959 100644 --- a/locale/sq/app.po +++ b/locale/sq/app.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:51+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -180,8 +180,8 @@ 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\">Shto një shënim</a> (për të ndihmuar kërkuesin ose përdoruesit e tjerë)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">A po mungon ndonjë autoritet publik?</a>" +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -364,7 +364,7 @@ msgid "" msgstr "<strong><code>status:</code></strong>për të selektuar në bazë të statusit apo historisë së statusit të kërkesës, shih<a href=\"{{statuses_url}}\">tabelën e statuseve</a> më poshtë." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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>etiketa:organizatë</code></strong> për të gjetur të gjitha institucionet apo kërkesat me etiketën e dhënë. Mund të përfshihen edhe disa etiketa, \n dhe vlera të etiketave, psh. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Secila nga etiketat mund të jetë\n prezente, duhet të shkruash <code>AND</code> në mënyrë eksplicite nëse do që vetëm ato te përfshihen." @@ -410,6 +410,11 @@ msgid "" msgstr "<strong>Shenim:</strong>\n Do të dërgojmë email në adresën tënde të re. Përcjelli\n udhëzimet për të konfirmuar ndërrimin e emailit." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1056,8 +1061,10 @@ msgstr "Për një arsye të panjohur, nuk është e mundur për të bërë një msgid "Forgotten your password?" msgstr "Ke harru fjalëkalimin?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "U gjetën {{count}} autoritete publike - {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" msgid "Freedom of Information" msgstr "Informata Zyrtare" @@ -1239,6 +1246,11 @@ msgid "If you are {{user_link}}, please" msgstr "Nëse ti je {{user_link}}, të lutem" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1266,6 +1278,11 @@ msgid "" msgstr "Nëse nuk e ke bërë këtë deri tani, të lutem shkruaj një mesazh më poshtë për ti treguar autoritetit që ti e ke tërheq kërkesën tënde. Përndryshe ata nuk do të dinë se është e tërhequr kërkesa." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Nëse ti përdor \"web-based\" email klient (p.sh. hotmail.com) ose ke \"junk mail\" filtra, kontrollo edhe bulk/spam folderët. Ndonjëherë, mesazhet tona janë të shenjuara në këtë mënyrë." @@ -1316,6 +1333,9 @@ msgstr "IncomingMessage | Lënda" msgid "IncomingMessage|Valid to reply to" msgstr "IncomingMessage | Valide për t'iu përgjigjur te" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1349,6 +1369,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "InfoRequest|Awaiting description" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" @@ -1473,6 +1496,9 @@ msgstr "Bëj dhe shfleto kërkesa për Informata Zyrtare" msgid "Make your own request" msgstr "Bëj kërkesën tënde" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1485,6 +1511,9 @@ msgstr "Mungojnë të dhënat për '" msgid "More about this authority" msgstr "Më shumë për këtë autoritet" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Më shumë kërkesa të ngjashme" @@ -1673,6 +1702,9 @@ msgstr "Fjalëkalimi: (përsërite)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Kopjo (paste) këtë vegzë në emaila, tweeta dhe kudo tjetër:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Personat {{start_count}} deri {{end_count}} prej {{total_count}}" @@ -2157,6 +2189,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Gjej mbi<br/>\n <strong>{{number_of_requests}} kërkesa</strong> <span>dhe</span><br/>\n <strong>{{number_of_authorities}} autoritete publike</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Rezultatet e kërkimit" @@ -2253,6 +2288,9 @@ msgstr "Disa individë që kanë bërë kërkesa nuk kanë treguar se a ishin at msgid "Somebody added a note to your FOI request - " msgstr "Dikush ka shtuar një shënim në kërkesën tënde -" +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}}." @@ -2945,6 +2983,9 @@ msgstr "Për fat të keq, ne nuk kemi një adresë funksionale {{info_request_la msgid "Unknown" msgstr "I/e panjohur" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "përgjigje e pazakonshme." @@ -2954,6 +2995,9 @@ msgstr "Aktualizo statusin e kësaj kërkese" msgid "Update the status of your request to " msgstr "Aktualizo statusin e kërkesës tënde për " +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>" @@ -3126,6 +3170,9 @@ msgstr "Çfarë përshkruan më së miri statusin e kësaj kërkese tani?" msgid "What information has been released?" msgstr "Çfarë informata janë publikuar?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3352,9 +3399,8 @@ msgid "Your annotations" msgstr "Shënimet tua" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Të dhënat tuaja nuk iu kanë dhënë askujt, përveç nëse ju vendos të përgjigjesh në këtë\nmesazh, i cili pastaj do të shkon direkt tek personi i cili shkroi mesazhin." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Emaili yt:" @@ -3419,6 +3465,9 @@ msgstr "Kërkesa yte qe emëruar {{info_request}}. Nëse i lejoni të tjerër ta msgid "Your request:" msgstr "Kërkesa yte:" +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." diff --git a/locale/sq/app__.po b/locale/sq/app__.po index 502bed447..2583d4e77 100644 --- a/locale/sq/app__.po +++ b/locale/sq/app__.po @@ -441,7 +441,7 @@ msgstr "" #: app/views/general/search.rhtml:134 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" diff --git a/locale/sq/app_old3.po b/locale/sq/app_old3.po index 07463d4e7..efca51075 100644 --- a/locale/sq/app_old3.po +++ b/locale/sq/app_old3.po @@ -469,7 +469,7 @@ msgstr "" #: app/views/general/search.rhtml:134 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or " +"<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" diff --git a/locale/sq/app_old4.po b/locale/sq/app_old4.po index d80e13397..a3a4b8534 100644 --- a/locale/sq/app_old4.po +++ b/locale/sq/app_old4.po @@ -459,7 +459,7 @@ msgstr "" #: app/views/general/search.rhtml:134 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" diff --git a/locale/sq/app_old5.po b/locale/sq/app_old5.po index 40b79ed7b..7c19a89c0 100644 --- a/locale/sq/app_old5.po +++ b/locale/sq/app_old5.po @@ -487,7 +487,7 @@ msgstr "" #: app/views/general/search.rhtml:134 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" diff --git a/locale/sr@latin/app.po b/locale/sr@latin/app.po index 88291fcbf..0d4391aa1 100644 --- a/locale/sr@latin/app.po +++ b/locale/sr@latin/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-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-11 09:49+0000\n" "Last-Translator: louisecrow <louise@mysociety.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -179,8 +179,8 @@ 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\">Dodaj napomenu</a> (da bi se pomoglo podnosiocu zahteva ili drugima)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Da li nam nedostaje javna ustanova?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -364,7 +364,7 @@ msgid "" msgstr "<strong><code>status:</code></strong> da biste birali zasnovano na statusu ili historiji statusa zahteva, pogledajte <a href=\"{{statuses_url}}\">tabelu statusa</a> below." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -410,6 +410,11 @@ msgid "" msgstr "<strong>Napomena:</strong>\n Poslati ćemo e-mail na Vašu novu adresu. Pratite\n upute u njemu da bi potvrdili promjenu vašeg e-maila." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "" @@ -1056,8 +1061,11 @@ msgstr "Iz nepoznatog razloga, nije moguće podneti zahtev ovoj ustanovi." msgid "Forgotten your password?" msgstr "Zaboravili ste Vaš password?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "Pronađeno {{count}} javnih tela {{description}}" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" msgid "Freedom of Information" msgstr "" @@ -1239,6 +1247,11 @@ msgid "If you are {{user_link}}, please" msgstr "Ako ste {{user_link}}, molimo" 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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." @@ -1266,6 +1279,11 @@ msgid "" msgstr "Ako niste već, molimo napišite poruku ispod u kojoj napominjete ustanovu da ste povukli Vaš zahtev. U protivnom neće znati da je zahtev povučen." msgid "" +"If you reply to this message it will go directly to {{user_name}}, who will\n" +"learn your email address. Only reply if that is okay." +msgstr "" + +msgid "" "If you use web-based email or have \"junk mail\" filters, also check your\n" "bulk/spam mail folders. Sometimes, our messages are marked that way." msgstr "Ako koristite neke od web mail servisa ili imate filtere za \"junk mail\", provjerite u Vašim\nbulk/spam folderima. Ponekad su naše poruke označene tako." @@ -1316,6 +1334,9 @@ msgstr "Nadolazeća poruka|Tema" msgid "IncomingMessage|Valid to reply to" msgstr "Nadolazeća poruka|Validna za odgovor za" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1349,6 +1370,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1473,6 +1497,9 @@ msgstr "Napravi i pretraži Zahteve za slobodan pristup informacijama" msgid "Make your own request" msgstr "Načinite Vaš zahtev" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "" @@ -1485,6 +1512,9 @@ msgstr "Nedostaju detalji kontakta za '" msgid "More about this authority" msgstr "Više o ovoj ustanovi" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Više sličnih zahteva" @@ -1673,6 +1703,9 @@ msgstr "Password: (ponovo)" msgid "Paste this link into emails, tweets, and anywhere else:" msgstr "Nalijepite ovaj link na e-mailove, tweets-e i na druga mjesta:" +msgid "People" +msgstr "" + msgid "People {{start_count}} to {{end_count}} of {{total_count}}" msgstr "" @@ -2157,6 +2190,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "Traži preko<br/>\n <strong>{{number_of_requests}} zahteva</strong> <span>i</span><br/>\n <strong>{{number_of_authorities}} ustanova</strong>" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Rezultati pretrage" @@ -2254,6 +2290,9 @@ msgstr "Neki od podnosioca zahteva nas nisu obavestili da li su njihovi zahtevi msgid "Somebody added a note to your FOI request - " msgstr "Neko je dodao komentar na Vaš Zahtev za slobodan pristup informacijama." +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}}." @@ -2949,6 +2988,9 @@ msgstr "Nažalost, ne posedujemo ispravnu {{info_request_law_used_full}}\nadresu msgid "Unknown" msgstr "Nepoznat" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "Neobičan odgovor." @@ -2958,6 +3000,9 @@ msgstr "Ažurirajte status ovog zahteva" msgid "Update the status of your request to " msgstr "Ažurirajte status Vašeg zahteva za " +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>" @@ -3130,6 +3175,9 @@ msgstr "Šta najbolje opisuje status ovog zahteva sada?" msgid "What information has been released?" msgstr "Koje informacije su objavljene?" +msgid "What information has been requested?" +msgstr "" + msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." @@ -3358,9 +3406,8 @@ msgid "Your annotations" msgstr "Vaše napomene" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." -msgstr "Vaši podatci nisu dati nikome, osim ako odaberete da odgovorite na ovu poruku, koja će u tom slučaju ići direktno osobi kaoja je napisala poruku." +"Your details, including your email address, have not been given to anyone." +msgstr "" msgid "Your e-mail:" msgstr "Vaš e-mail:" @@ -3425,6 +3472,9 @@ msgstr "Naziv Vašeg zahteva je {{info_request}}. Obavest o tome da li ste dobil msgid "Your request:" msgstr "Vaš zahtev:" +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." diff --git a/locale/uk/app.po b/locale/uk/app.po index 98490f9ef..e982953a9 100644 --- a/locale/uk/app.po +++ b/locale/uk/app.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-09-19 09:37+0100\n" -"PO-Revision-Date: 2012-09-19 08:48+0000\n" -"Last-Translator: louisecrow <louise@mysociety.org>\n" +"POT-Creation-Date: 2012-10-11 10:18+0100\n" +"PO-Revision-Date: 2012-10-14 14:10+0000\n" +"Last-Translator: hiiri <murahoid@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -177,10 +177,10 @@ 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> (щоб допомогти авторам цього та інших запитів)" +msgstr "<a href=\"%s\">Додайте коментар</a> (щоб допомогти авторам цього та інших запитів)" -msgid "<a href=\"%s\">Are we missing a public authority?</a>." -msgstr "<a href=\"%s\">Ми когось забули?</a>." +msgid "<a href=\"%s\">Are we missing a public authority?</a>" +msgstr "" msgid "" "<a href=\"%s\">Are you the owner of\n" @@ -227,7 +227,7 @@ 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>" +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" @@ -274,14 +274,14 @@ msgid "" " 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>" +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>Ми раді, що ви отримали дещо з потрібної вам інформації. Якщо ви напишете про це або використаєте цю інформацію в будь-який спосіб, поверніться та додайте анотацію про це внизу.</p><p>Якщо {{site_name}} видався вам корисним, <a href=\"{{donation_url}}\">ви можете допомогти фінансово</a> громадській організації, що займається його підтримкою.</p><p>Якщо ви хочете спробувати отримати решту інформацію, вам слід зробити наступне.</p>" +msgstr "<p>Ми раді, що ви отримали дещо з потрібної вам інформації. Якщо ви напишете про це або використаєте цю інформацію в будь-який спосіб, поверніться та додайте коментар про це внизу.</p><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 " @@ -306,13 +306,13 @@ msgid "" " 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>\n<p><strong>Ми повідомимо вам</strong> коли з’явиться відповідь або якщо розпорядник інформації не надасть її в межах {{late_number_of_days}} робочих днів.</p>\n<p>Якщо ви збираєтесь написати про цей запит (наприклад, у форумі або в блозі), будь ласка, дайте посилання на цю сторінку та додайте анотацію про це внизу.</p>" +msgstr "<p>Ваш {{law_used_full}} запит <strong>було відправлено</strong>!</p>\n<p><strong>Ми повідомимо вам</strong> коли з’явиться відповідь або якщо розпорядник інформації не надасть її в межах {{late_number_of_days}} робочих днів.</p>\n<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>" +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\n" @@ -364,7 +364,7 @@ msgid "" msgstr "<strong><code>статус:</code></strong> щоб обрати на основі статусу або історичного статусу запиту, перейдіть до <a href=\"{{statuses_url}}\">таблиці статусів</a> унизу." msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -393,7 +393,7 @@ msgid "" "be user error and ambiguity. You will also need to understand FOI law, and the\n" "way 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> Щоб використати ці дані належним чином, вам \nзнадобиться знання поведінки користувачів сайт. Катигоризація запитів (як, чому і ким) \nне самоочевидна, трапляються помилки користувачів, неоднозначності тощо.\nТакож ви маєте розуміти законодавство та особливості його застосування.\nА ще вам потрібне знання статистики. Будь ласка,\n<a href=\"{{contact_path}}\">звертайтесь до нас</a> із запитаннями." msgid "<strong>Clarification</strong> has been requested" msgstr "Надійшло прохання про <strong>уточнення</strong>" @@ -410,6 +410,11 @@ msgid "" msgstr "<strong>Увага:</strong>\n Ми надішлемо на нову адресу листа\n з інструкціями щодо підтвердження зміни адреси." msgid "" +"<strong>Note:</strong> Because we're testing, requests are being sent to " +"{{email}} rather than to the actual authority." +msgstr "" + +msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" " to try out how it works." msgstr "<strong>Зважайте:</strong> ви надсилаєте повідомлення собі (вочевидь, щоб спробувати, як це працює)" @@ -422,12 +427,12 @@ msgstr "<strong>Заувага щодо приватності:</strong> Якщ 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>Заувага щодо приватності:</strong> Ваше фото з’явиться в публічному доступі." msgid "" "<strong>Privacy warning:</strong> Your message, and any response\n" " to it, will be displayed publicly on this website." -msgstr "<strong>Попередження:</strong> Ваше повідомлення та відповідь на нього\nбудуть розміщені на цьом сайті у вільному доступі." +msgstr "<strong>Попередження:</strong> Ваше повідомлення та відповідь на нього\nбудуть розміщені на цьом сайті у публічному доступі." msgid "<strong>Some of the information</strong> has been sent " msgstr "Інформація була надіслана частково." @@ -436,12 +441,12 @@ msgid "<strong>Thank</strong> the public authority or " msgstr "<strong>Подякуйте</strong> розпоряднику інформації або " msgid "<strong>did not have</strong> the information requested." -msgstr "" +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 "" +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" @@ -480,7 +485,7 @@ msgid "Act on what you've learnt" msgstr "Дійте, спираючись на отриману інформацію" msgid "Add an annotation" -msgstr "Додайте анотацію" +msgstr "Додайте коментар" msgid "" "Add an annotation to your request with choice quotes, or\n" @@ -488,7 +493,7 @@ msgid "" msgstr "" msgid "Added on {{date}}" -msgstr "Додано {{date}}" +msgstr "Дата додання: {{date}}" msgid "Admin level is not included in list" msgstr "" @@ -536,7 +541,7 @@ msgid "Also called {{other_name}}." msgstr "" msgid "Also send me alerts by email" -msgstr "" +msgstr "Також надсилайте мені сповіщення на мейл" msgid "Alter your subscription" msgstr "Змінити свою підписку" @@ -549,7 +554,7 @@ msgstr "Хоча всі відповіді автоматично публіку 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}}" +msgstr "<a href=\"{{request_url}}\">Коментар</a> на <em>{{request_title}}</em> додано користувачем {{event_comment_user}}. Дата: {{date}}" msgid "An <strong>error message</strong> has been received" msgstr "Отримано повідомлення про помилку" @@ -561,26 +566,26 @@ msgid "An anonymous user" msgstr "Анонімний користувач" msgid "Annotation added to request" -msgstr "До запиту додано анотацію" +msgstr "До запиту додано коментар" msgid "Annotations" -msgstr "Анотації" +msgstr "Коментарі" msgid "" "Annotations are so anyone, including you, can help the requester with their " "request. For example:" -msgstr "" +msgstr "Коментарі покликані допомагати авторам запитів. Наприклад:" msgid "" "Annotations will be posted publicly here, and are\n" " <strong>not</strong> sent to {{public_body_name}}." -msgstr "" +msgstr "Коментарі з’являються в публічному доступі, але\n <strong>не</strong> надсилаються до розпорядника інформації." msgid "Anonymous user" msgstr "Анонімний користувач" msgid "Anyone:" -msgstr "Будь-хто:" +msgstr "Будь-хто з користувачів:" msgid "" "Ask for <strong>specific</strong> documents or information, this site is not" @@ -706,7 +711,7 @@ msgid "Clarify your FOI request - " msgstr "Уточніть ваш інформаційний запит - " msgid "Classify an FOI response from " -msgstr "" +msgstr "Класифікуйте відповідь від " msgid "Clear photo" msgstr "" @@ -714,7 +719,7 @@ 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\n" "review, asking them to find out why response to the request has been so slow." -msgstr "" +msgstr "Натисність на посилання внизу, щоб відправити повідомлення {{public_body_name}} з проханням дати відповідь на ваш запит. Ви можете попросити провести\nвнутрішню перевірку для з’ясування, чому відповідь не приходить так довго." msgid "" "Click on the link below to send a message to {{public_body}} reminding them " @@ -765,7 +770,7 @@ msgid "Confirm your account on {{site_name}}" msgstr "Підтвердіть ваш акаунт" msgid "Confirm your annotation to {{info_request_title}}" -msgstr "Підтвердіть вашу анотацію до {{info_request_title}}" +msgstr "Підтвердіть ваш коментар до {{info_request_title}}" msgid "Confirm your email address" msgstr "Підтвердіть вашу електронну адресу" @@ -778,7 +783,7 @@ msgid "" msgstr "Адміністратори прийняли рішення, що це не є інформаційним запитом і має бути приховано" msgid "Considered by administrators as vexatious and hidden from site." -msgstr "" +msgstr "Приховано адміністраторами сайту." msgid "Contact {{recipient}}" msgstr "" @@ -805,7 +810,7 @@ msgstr "" msgid "" "Currently <strong>waiting for a response</strong> from {{public_body_link}}," " they must respond promptly and" -msgstr "" +msgstr "На даний момент відповідь від {{public_body_link}} <strong>очікується</strong>, вони мають відповісти швидко і" msgid "Date:" msgstr "Дата:" @@ -814,10 +819,10 @@ msgid "Dear {{public_body_name}}," msgstr "Шановний {{public_body_name}}," msgid "Delayed response to your FOI request - " -msgstr "" +msgstr "Відстрочена відповідь на ваш запит - " msgid "Delayed." -msgstr "" +msgstr "Затримується" msgid "Delivery error" msgstr "Помилка доставки" @@ -836,7 +841,7 @@ msgstr "Увага! Це повідомлення та будь-яка відп msgid "" "Don't want to address your message to {{person_or_body}}? You can also " "write to:" -msgstr "" +msgstr "Не хочете надсилати повідомлення на адресу {{person_or_body}}? Ви можете також написати за цією адресою:" msgid "Done" msgstr "Зроблено" @@ -901,10 +906,10 @@ msgid "Environmental Information Regulations requests made using this site" msgstr "" msgid "Event history" -msgstr "" +msgstr "Історія" msgid "Event history details" -msgstr "" +msgstr "Історія (деталі)" msgid "" "Everything that you enter on this page \n" @@ -940,16 +945,16 @@ msgid "FOI" msgstr "" msgid "FOI email address for {{public_body}}" -msgstr "" +msgstr "Електронна адреса розпорядника '{public_body}}'" msgid "FOI requests" -msgstr "" +msgstr "Інформаційні запити" msgid "FOI requests by '{{user_name}}'" -msgstr "" +msgstr "Інформаційні запити користувача '{{user_name}}'" msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}" -msgstr "" +msgstr "Інформаційні запити від {{start_count}} по {{end_count}} з {{total_count}}" msgid "FOI response requires admin ({{reason}}) - {{title}}" msgstr "" @@ -1017,7 +1022,7 @@ msgid "Follow this authority" msgstr "Відслідковувати цього розпорядника інформації" msgid "Follow this link to see the request:" -msgstr "" +msgstr "Пройдіть за посиланням, щоб побачити запит:" msgid "Follow this person" msgstr "Відслідковувати цю людину" @@ -1026,19 +1031,19 @@ msgid "Follow this request" msgstr "Відслідковувати цей запит" msgid "Follow up" -msgstr "" +msgstr "Додатковий запит" msgid "Follow up message sent by requester" msgstr "" msgid "Follow up messages to existing requests are sent to " -msgstr "" +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 "" +msgstr "Надсилання додаткових запитів та нових відповідей на цей запит припинено, щоб попередити спам. Будь ласка, <a href=\"{{url}}\">зверніться до нас</a> якщо ви {{user_link}} і хочете надіслати додатковий запит." msgid "Follow us on twitter" msgstr "" @@ -1056,8 +1061,11 @@ msgstr "З невідомих причин, зробити запит до ць msgid "Forgotten your password?" msgstr "Забули пароль?" -msgid "Found {{count}} public bodies {{description}}" -msgstr "" +msgid "Found %d public authority %s" +msgid_plural "Found %d public authorities %s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" msgid "Freedom of Information" msgstr "" @@ -1068,7 +1076,7 @@ msgstr "" msgid "" "Freedom of Information law does not apply to this authority, so you cannot make\n" " a request to it." -msgstr "" +msgstr "Ви не можете зробити запит до цього органу влади, оскільки до нього не застосовується\nзаконодавство про доступ до інформації." msgid "Freedom of Information law no longer applies to" msgstr "" @@ -1076,7 +1084,7 @@ msgstr "" msgid "" "Freedom of Information law no longer applies to this authority.Follow up " "messages to existing requests are sent to " -msgstr "" +msgstr "Законодавство про доступ до інформації більше не застосовне до цього органу влади.Уточнення щодо існуючих запитів надіслані до: " msgid "Freedom of Information requests made" msgstr "Запити зроблені" @@ -1139,7 +1147,7 @@ msgid "" " 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 "" +msgstr "Нам потрібна ваша допомога. Автор цього запиту не повідомив, чи\n був цей запит успішним. Чи не могли б ви приділити трохи часу,\n щоб прочитати його і допомогти нам у впорядкуванні цього сайту?\n Спасибі." msgid "Holiday" msgstr "" @@ -1165,33 +1173,33 @@ msgid "Human health and safety" msgstr "" msgid "I am asking for <strong>new information</strong>" -msgstr "" +msgstr "Я прошу <strong>нову інформацію</strong>" msgid "I am requesting an <strong>internal review</strong>" -msgstr "" +msgstr "Я прошу про <strong>внутрішню перевірку</strong>" msgid "I don't like these ones — give me some more!" -msgstr "" +msgstr "Ці мені не подобаються — дайте якихось інших!" msgid "I don't want to do any more tidying now!" -msgstr "" +msgstr "Я більше не хочу займатися впорядковуванням" msgid "I like this request" msgstr "Мені подобається цей запит" msgid "I would like to <strong>withdraw this request</strong>" -msgstr "Мені б хотілося <strong>усунути цей запит</strong>" +msgstr "Мені б хотілося <strong>відмовитись від цього запиту</strong>" msgid "" "I'm still <strong>waiting</strong> for my information\n" " <small>(maybe you got an acknowledgement)</small>" -msgstr "" +msgstr "Я все ще чекаю на відповідь" msgid "I'm still <strong>waiting</strong> for the internal review" -msgstr "" +msgstr "Я все ще <strong>чекаю</strong> на внутрішню перевірку" msgid "I'm waiting for an <strong>internal review</strong> response" -msgstr "" +msgstr "Я чекаю на відповідь щодо <strong>внутрішньої перевірки</strong>" msgid "I've been asked to <strong>clarify</strong> my request" msgstr "Мене попросили <strong>уточнити</strong> мій запит" @@ -1233,16 +1241,21 @@ msgstr "Якщо ви автор запиту, ви можете <a href=\"%s\"> msgid "" "If you are thinking of using a pseudonym,\n" " please <a href=\"%s\">read this first</a>." -msgstr "" +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\n" "it</strong> from the email. Then <strong>paste it into your browser</strong>, into the place\n" "you would type the address of any other webpage." -msgstr "" +msgstr "Якщо ви не можете перейти за посиланням в листі,<strong>виділіть і скопіюйте\nйого</strong> в рядок адреси в браузері." msgid "" "If you can, scan in or photograph the response, and <strong>send us\n" @@ -1263,6 +1276,11 @@ 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\n" +"learn your email address. Only reply if that is okay." msgstr "" msgid "" @@ -1316,6 +1334,9 @@ msgstr "" msgid "IncomingMessage|Valid to reply to" msgstr "" +msgid "Individual requests" +msgstr "" + msgid "Info request" msgstr "" @@ -1349,6 +1370,9 @@ msgstr "" msgid "InfoRequest|Awaiting description" msgstr "" +msgid "InfoRequest|Comments allowed" +msgstr "" + msgid "InfoRequest|Described state" msgstr "" @@ -1412,7 +1436,7 @@ msgstr "Користувач долучився до {{site_name}} у" msgid "" "Keep it <strong>focused</strong>, you'll be more likely to get what you want" " (<a href=\"%s\">why?</a>)." -msgstr "" +msgstr "Конкретизуйте ваш запит, так ви маєте більше шансів отримати потрібну інформацію (<a href=\"%s\">чому?</a>)." msgid "Keywords" msgstr "Ключові слова" @@ -1473,6 +1497,9 @@ msgstr "Надсилайте та переглядайте інформацій msgid "Make your own request" msgstr "Зробіть власний запит" +msgid "Many requests" +msgstr "" + msgid "Message" msgstr "Повідомлення" @@ -1485,6 +1512,9 @@ msgstr "" msgid "More about this authority" msgstr "Більше про цього розпорядника інформації" +msgid "More requests..." +msgstr "" + msgid "More similar requests" msgstr "Більше подібних запитів" @@ -1566,7 +1596,7 @@ msgid "None found." msgstr "Нічого не знайдено." msgid "None made." -msgstr "Не зроблено жодного." +msgstr "Не зроблено жодної." msgid "" "Note that the requester will not be notified about your annotation, because " @@ -1577,7 +1607,7 @@ msgid "Now check your email!" msgstr "Тепер перевірте вашу пошту!" msgid "Now preview your annotation" -msgstr "Попередній перегляд анотації" +msgstr "Попередній перегляд коментаря" msgid "Now preview your follow up" msgstr "" @@ -1589,7 +1619,7 @@ msgid "OR remove the existing photo" msgstr "АБО видалити існуюче фото" msgid "Offensive? Unsuitable?" -msgstr "" +msgstr "Образливо? Недоречно?" msgid "" "Oh no! Sorry to hear that your request was refused. Here is what to do now." @@ -1673,6 +1703,9 @@ 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 "" @@ -1708,7 +1741,7 @@ msgid "" "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 "Будь ласка, включайте в своє повідомлення <strong>тільки</strong> інформацію,що безпосередньо стосується запиту {{request_link}}. Якщо вам потрібна інформація, що не була включена в початковий запит, <a href=\"{{new_request_link}}\">зробіть новий</a>." msgid "Please ask for environmental information only" msgstr "" @@ -1832,7 +1865,7 @@ 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 "Скористайтесь формою внизу, щоб написати нам" msgid "Please use this email address for all replies to this request:" msgstr "Будь ласка, використовуйте цю електронну адресу для всіх відповідей на цей запит." @@ -1848,12 +1881,12 @@ msgstr "" msgid "" "Please write your annotation using a mixture of capital and lower case " "letters. This makes it easier for others to read." -msgstr "Будь ласка, використовуйте у своїй анотації валикі та малі літери. Так її легше читати." +msgstr "Будь ласка, використовуйте у своєму коментарі валикі та малі літери. Так його легше читати." msgid "" "Please write your follow up message containing the necessary clarifications " "below." -msgstr "" +msgstr "Будь ласка, напишіть додаткового листа, що містить необхідні уточнення" msgid "" "Please write your message using a mixture of capital and lower case letters." @@ -1863,7 +1896,7 @@ msgstr "" msgid "" "Point to <strong>related information</strong>, campaigns or forums which may" " be useful." -msgstr "" +msgstr "Вкажіть на дотичну інформацію, корисні форуми, кампанії тощо." msgid "Possibly related requests:" msgstr "" @@ -1908,7 +1941,7 @@ msgid "Preview new annotation on '{{info_request_title}}'" msgstr "" msgid "Preview your annotation" -msgstr "Попередній перегляд анотації" +msgstr "Попередній перегляд коментаря" msgid "Preview your message" msgstr "Попередній перегляд повідомлення" @@ -2022,7 +2055,7 @@ msgid "RSS feed of updates" msgstr "Стрічка або оновлення RSS" msgid "Re-edit this annotation" -msgstr "Відредагуйте цю анотацію" +msgstr "Відредагуйте цей коментар" msgid "Re-edit this message" msgstr "Відредагуйте це повідомлення" @@ -2047,25 +2080,25 @@ msgstr "Відмовлено" msgid "" "Remember me</label> (keeps you signed in longer;\n" " do not use on a public computer) " -msgstr "" +msgstr "Запам’ятати мене</label> (не використовуйте на \nкомп’ютерах загального користування) " msgid "Report abuse" -msgstr "" +msgstr "Повідомте про зловживання" msgid "Report an offensive or unsuitable request" -msgstr "" +msgstr "Повідомте про образливий або недоречний запит" msgid "Report this request" -msgstr "" +msgstr "Повідомити" msgid "Reported for administrator attention." msgstr "" msgid "Request an internal review" -msgstr "" +msgstr "Зробити запит на внутрішню перевірку" msgid "Request an internal review from {{person_or_body}}" -msgstr "" +msgstr "Зробити запит на внутрішню перевірку від {{person_or_body}}" msgid "Request has been removed" msgstr "Запит було видалено" @@ -2089,7 +2122,7 @@ msgstr "" msgid "" "Requests for personal information and vexatious requests are not considered " "valid for FOI purposes (<a href=\"/help/about\">read more</a>)." -msgstr "" +msgstr "Запити про особисту інформацію або беззмістовні запити відповідають принципам цього сайту (<a href=\"/help/about\">читати більше</a>)" msgid "Requests or responses matching your saved search" msgstr "" @@ -2116,7 +2149,7 @@ msgid "Response to '{{title}}'" msgstr "Відповідь на '{{title}}'" msgid "Response to this request is <strong>delayed</strong>." -msgstr "Відповідь на цей запит затримується" +msgstr "Відповідь на цей запит затримується. " msgid "Response to this request is <strong>long overdue</strong>." msgstr "Відповідь на цей запит прострочена" @@ -2143,7 +2176,7 @@ msgid "Search Freedom of Information requests, public authorities and users" msgstr "Пошук запитів, розпорядників інформації та користувачів" msgid "Search contributions by this person" -msgstr "" +msgstr "Шукати зроблене цим користувачем" msgid "Search for words in:" msgstr "" @@ -2157,6 +2190,9 @@ msgid "" " <strong>{{number_of_authorities}} authorities</strong>" msgstr "" +msgid "Search queries" +msgstr "" + msgid "Search results" msgstr "Результати пошуку" @@ -2179,16 +2215,16 @@ msgid "Select the authority to write to" msgstr "Оберіть розпорядника інформації, якому хочете написати" msgid "Send a followup" -msgstr "" +msgstr "Надішліть додатковий запит" msgid "Send a message to " -msgstr "Надіслати повідомлення до" +msgstr "Надіслати повідомлення до " msgid "Send a public follow up message to {{person_or_body}}" -msgstr "" +msgstr "Надішліть публічний уточнювальний запит" msgid "Send a public reply to {{person_or_body}}" -msgstr "" +msgstr "Надіслати публічну відповідь. Адресат: {{person_or_body}}" msgid "Send follow up to '{{title}}'" msgstr "" @@ -2197,7 +2233,7 @@ msgid "Send message" msgstr "Надіслати повідомлення" msgid "Send message to " -msgstr "Надіслати повідомлення до" +msgstr "Надіслати повідомлення до " msgid "Send request" msgstr "Надіслати запит" @@ -2254,6 +2290,9 @@ msgstr "" 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}}." @@ -2301,7 +2340,7 @@ msgid "Submit" msgstr "Відправити" msgid "Submit status" -msgstr "" +msgstr "Оновити статус" msgid "Subscribe to blog" msgstr "" @@ -2315,7 +2354,7 @@ msgstr "Успішно." msgid "" "Suggest how the requester can find the <strong>rest of the " "information</strong>." -msgstr "" +msgstr "Підкажіть, де автор запиту може знайти <strong>більше інформації</strong>." msgid "Summary:" msgstr "" @@ -2339,7 +2378,7 @@ msgid "Thank you for helping us keep the site tidy!" msgstr "" msgid "Thank you for making an annotation!" -msgstr "Дякуємо, що зробили анотацію" +msgstr "Дякуємо, що додали коментар" msgid "" "Thank you for responding to this FOI request! Your response has been " @@ -2511,10 +2550,10 @@ msgid "Then you can send a message to " msgstr "" msgid "Then you can sign in to {{site_name}}" -msgstr "" +msgstr "Далі ви можете увійти на сайт" msgid "Then you can update the status of your request to " -msgstr "" +msgstr "Далі ви можете змінити статус свого запиту на " msgid "Then you can upload an FOI response. " msgstr "" @@ -2567,9 +2606,9 @@ msgstr "" msgid "There is %d person following this request" msgid_plural "There are %d people following this request" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Цей запит ніхто не відслідковує" +msgstr[1] "Цей запит відслідковує 1 людина" +msgstr[2] "Цей запит відслідковує така кількість людей: %d" msgid "" "There is <strong>more than one person</strong> who uses this site and has this name.\n" @@ -2604,7 +2643,7 @@ msgstr "Вони збираються відповісти поштою." msgid "" "They do <strong>not have</strong> the information <small>(maybe they say who" " does)</small>" -msgstr "" +msgstr "У них немає інформації <small>(але, можливо, підказують, в кого її можна отримати)</small>" msgid "They have been given the following explanation:" msgstr "Вони надали таке пояснення:" @@ -2668,7 +2707,7 @@ msgid "" msgstr "" msgid "This particular request is finished:" -msgstr "" +msgstr "Переписка щодо цього запиту завершена:" msgid "" "This person has made no Freedom of Information requests using this site." @@ -2682,37 +2721,37 @@ msgstr[2] "Ця людина має %d запитів (запити)" msgid "This person's %d annotation" msgid_plural "This person's %d annotations" -msgstr[0] "Ця людина має %d анотацій" -msgstr[1] "Ця людина має %d анотацію" -msgstr[2] "Ця людина має %d анотації" +msgstr[0] "Ця людина має %d коментарів" +msgstr[1] "Ця людина має %d коментар" +msgstr[2] "Ця людина має %d коментарів" msgid "This person's annotations" -msgstr "Анотації цієї людини" +msgstr "Коментарі цієї людини" msgid "This request <strong>requires administrator attention</strong>" -msgstr "" +msgstr "Цей запит потребує уваги адміністрації сайту" msgid "This request has already been reported for administrator attention" -msgstr "" +msgstr "Про цей запит вже було повідомлено адміністрації сайту" msgid "This request has an <strong>unknown status</strong>." -msgstr "" +msgstr "Статус цього запиту невідомий." msgid "" "This request has been <strong>hidden</strong> from the site, because an " "administrator considers it not to be an FOI request" -msgstr "" +msgstr "Цей запит було приховано, оскільки адміністратори сайту вирішили, що він не є запитом щодо публічної інформації" msgid "" "This request has been <strong>hidden</strong> from the site, because an " "administrator considers it vexatious" -msgstr "" +msgstr "Цей запит було приховано, оскільки адміністратори сайту вирішили, що він є недоречним" 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 "Про цей запит було повідомлено адміністраторам (оскільки він порушує правила сайту)" msgid "" "This request has been <strong>withdrawn</strong> by the person who made it.\n" @@ -2749,7 +2788,7 @@ msgid "" msgstr "" msgid "This request is still in progress:" -msgstr "" +msgstr "Переписка з розпорядником інформації триває:" msgid "This request was not made via {{site_name}}" msgstr "" @@ -2823,7 +2862,7 @@ msgstr "" 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 "Для впорядкування сайту хтось інший змінив статус вашого запиту {{title}} на \"{{display_status}}\". Якщо ви не погоджуєтесь з таким рішенням, змініть статус ще раз самостійно на більш підходящий. " msgid "" "To let everyone know, follow this link and then select the appropriate box." @@ -2871,10 +2910,10 @@ msgid "" msgstr "" msgid "To view the response, click on the link below." -msgstr "" +msgstr "Щоб ознайомитись із відповіддю, натисність посилання нижче." msgid "To {{public_body_link_absolute}}" -msgstr "" +msgstr "До {{public_body_link_absolute}}" msgid "To:" msgstr "Кому:" @@ -2949,13 +2988,19 @@ msgstr "" msgid "Unknown" msgstr "" +msgid "Unsubscribe" +msgstr "" + msgid "Unusual response." msgstr "" msgid "Update the status of this request" -msgstr "" +msgstr "Оновіть статус цього запиту" msgid "Update the status of your request to " +msgstr "Змініть статус цього запиту на: " + +msgid "Upload FOI response" msgstr "" msgid "" @@ -3088,12 +3133,12 @@ msgstr "" msgid "" "We will not reveal your email address to anybody unless you\n" "or the law tell us to." -msgstr "" +msgstr "Ми не передамо вашу адресу нікому, якщо нас до цього не спонукаєте\nви або законодавство." 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 "" +msgstr "Ми не передамо вашу адресу нікому, якщо нас до цього не спонукаєте\nви або законодавство (<a href=\"%s\">деталі</a>)." msgid "" "We will not reveal your email addresses to anybody unless you\n" @@ -3122,18 +3167,21 @@ msgid "" msgstr "" msgid "What are you doing?" -msgstr "Що ви робите?" +msgstr "Що саме ви робите?" msgid "What best describes the status of this request now?" -msgstr "" +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 \n" "contains any useful information." -msgstr "" +msgstr "Після ознайомлення із відповіддю, оновіть, будь ласка, статус запиту \n залежно від того, чи був він для вас корисним." msgid "" "When you receive the paper response, please help\n" @@ -3146,13 +3194,13 @@ msgid "" msgstr "" msgid "Which of these is happening?" -msgstr "" +msgstr "Що відбувається?" msgid "Who can I request information from?" msgstr "" msgid "Withdrawn by the requester." -msgstr "" +msgstr "Автор запиту відмовився від нього." msgid "Wk" msgstr "" @@ -3161,10 +3209,10 @@ msgid "Would you like to see a website like this in your country?" msgstr "" msgid "Write a reply" -msgstr "" +msgstr "Напишіть відповідь" msgid "Write a reply to " -msgstr "" +msgstr "Напишіть відповідь " msgid "Write your FOI follow up message to " msgstr "" @@ -3188,7 +3236,7 @@ msgid "You are already following this person" msgstr "" msgid "You are already following this request" -msgstr "" +msgstr "Ви вже відслідковуєте цей запит" msgid "You are already following updates about {{track_description}}" msgstr "" @@ -3227,7 +3275,7 @@ msgid "" msgstr "" msgid "You have a new response to the {{law_used_full}} request " -msgstr "" +msgstr "Ви отримали нову відповідь на свій запит" msgid "" "You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to " @@ -3280,16 +3328,16 @@ msgid "" msgstr "" msgid "You need to be logged in to change the text about you on your profile." -msgstr "" +msgstr "Ви маєте увійти в систему, щоб мати можливість змінити інформацію про себе в профілі." msgid "You need to be logged in to change your profile photo." -msgstr "" +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 "" +msgstr "Ви маєте увійти в систему, щоб мати можливість редагувати свій профіль." msgid "" "You previously submitted that exact follow up message for this request." @@ -3352,18 +3400,17 @@ msgid "" " 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 "" +msgstr "Ваше <strong>ім’я з’явиться в публічному доступі</strong> \n (<a href=\"%s\">чому?</a>)\n на цьому сайті та в пошукових системах. Якщо ви\n збираєтесь використати псевдонім, \n <a href=\"%s\">прочитайте спершу це</a>." msgid "Your annotations" -msgstr "Ваші анотації" +msgstr "Ваші коментарі" msgid "" -"Your details have not been given to anyone, unless you choose to reply to this\n" -"message, which will then go directly to the person who wrote the message." +"Your details, including your email address, have not been given to anyone." msgstr "" msgid "Your e-mail:" -msgstr "Ваша електронна адреса:" +msgstr "Електронна адреса:" msgid "" "Your follow up has not been sent because this request has been stopped to " @@ -3372,33 +3419,33 @@ msgid "" msgstr "" msgid "Your follow up message has been sent on its way." -msgstr "" +msgstr "Ваш додатковий лист надіслано." msgid "Your internal review request has been sent on its way." -msgstr "" +msgstr "Ваш запит про внутрішню перевірку було відправлено." msgid "" "Your message has been sent. Thank you for getting in touch! We'll get back " "to you soon." -msgstr "" +msgstr "Спасибі, ваше повідомлення було відправлене. Ми скоро з вами зв’яжемось." msgid "Your message to {{recipient_user_name}} has been sent" -msgstr "" +msgstr "Ваше повідомлення було відправлено!" msgid "Your message to {{recipient_user_name}} has been sent!" -msgstr "" +msgstr "Ваше повідомлення було відправлено!" msgid "Your message will appear in <strong>search engines</strong>" -msgstr "" +msgstr "Ваше повідомлення з’явиться в пошукових системах" msgid "" "Your name and annotation will appear in <strong>search engines</strong>." -msgstr "" +msgstr "Ваше ім’я та коментарі з’являться у <strong>пошукових системах</strong>." msgid "" "Your name, request and any responses will appear in <strong>search engines</strong>\n" " (<a href=\"%s\">details</a>)." -msgstr "" +msgstr "Ваше ім’я, запит та будь-які відповіді з’являться в пошукових системах\n (<a href=\"%s\">деталі</a>)." msgid "Your name:" msgstr "Ваше ім’я:" @@ -3407,15 +3454,15 @@ msgid "Your original message is attached." msgstr "" msgid "Your password has been changed." -msgstr "" +msgstr "Ваш пароль було змінено." msgid "Your password:" -msgstr "" +msgstr "Ваш пароль:" msgid "" "Your photo will be shown in public <strong>on the Internet</strong>,\n" " wherever you do something on {{site_name}}." -msgstr "" +msgstr "Ваше фото з’явиться в загальному доступі в інтернеті." msgid "" "Your request was called {{info_request}}. Letting everyone know whether you " @@ -3425,6 +3472,9 @@ msgstr "" 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." @@ -3468,7 +3518,7 @@ msgid "also called {{public_body_short_name}}" msgstr "" msgid "an anonymous user" -msgstr "" +msgstr "анонімний користувач" msgid "and" msgstr "і" @@ -3482,10 +3532,10 @@ msgid "and update the status." msgstr "" msgid "and we'll suggest <strong>what to do next</strong>" -msgstr "" +msgstr "і ми підкажемо, <strong>що робити далі</strong>" msgid "answered a request about" -msgstr "" +msgstr "надав(-ла) відповідь на запит про " msgid "any <a href=\"/list\">new requests</a>" msgstr "" @@ -3553,7 +3603,7 @@ msgid "external" msgstr "" msgid "has reported an" -msgstr "" +msgstr "повідомив про" msgid "have delayed." msgstr "" @@ -3565,37 +3615,37 @@ msgid "in term time" msgstr "" msgid "in the category ‘{{category_name}}’" -msgstr "" +msgstr "в категорії ‘{{category_name}}’" msgid "internal error" -msgstr "" +msgstr "внутрішня помилка" msgid "internal reviews" -msgstr "" +msgstr "внутрішні перевірки" msgid "is <strong>waiting for your clarification</strong>." -msgstr "" +msgstr "чекає на <strong>уточнення або роз’яснення</strong>." msgid "just to see how it works" msgstr "просто щоб побачити, як це працює" msgid "left an annotation" -msgstr "" +msgstr "залишив(-ла) коментар" msgid "made." -msgstr "" +msgstr "зроблено" msgid "matching the tag ‘{{tag_name}}’" msgstr "" msgid "messages from authorities" -msgstr "" +msgstr "повідомлення від органів влади" msgid "messages from users" -msgstr "" +msgstr "повідомлення від користувачів" msgid "no later than" -msgstr "" +msgstr "не пізніше, ніж" msgid "" "no longer exists. If you are trying to make\n" @@ -3608,16 +3658,16 @@ msgid "normally" msgstr "" msgid "please sign in as " -msgstr "" +msgstr "будь ласка, увійдіть як " msgid "requesting an internal review" -msgstr "" +msgstr "прошу про внутрішню перевірку" msgid "requests" -msgstr "" +msgstr "запити" msgid "requests which are {{list_of_statuses}}" -msgstr "" +msgstr "такі запити: {{list_of_statuses}}" msgid "" "response as needing administrator attention. Take a look, and reply to this\n" @@ -3640,43 +3690,43 @@ msgid "simple_date_format" msgstr "" msgid "successful" -msgstr "" +msgstr "успішні" msgid "successful requests" msgstr "успішні запити" msgid "that you made to" -msgstr "" +msgstr "зроблений вам до такого розпорядника інформації:" msgid "the main FOI contact address for {{public_body}}" -msgstr "" +msgstr "основна адреса для інформаційних запитів до розпорядника '{{public_body}}'" msgid "the main FOI contact at {{public_body}}" msgstr "" msgid "the requester" -msgstr "" +msgstr "автор запиту" msgid "the {{site_name}} team" -msgstr "" +msgstr "команда сайту {{site_name}}" msgid "to read" -msgstr "" +msgstr "прочитати" msgid "to send a follow up message." msgstr "" msgid "to {{public_body}}" -msgstr "" +msgstr "до {{public_body}}" msgid "unexpected prominence on request event" msgstr "" msgid "unknown reason " -msgstr "" +msgstr "невідома причина" msgid "unknown status " -msgstr "" +msgstr "невідомий статус " msgid "unresolved requests" msgstr "" @@ -3709,7 +3759,7 @@ msgid "" msgstr "" msgid "{{info_request_user_name}} only:" -msgstr "" +msgstr "Тільки {{info_request_user_name}}:" msgid "{{law_used_full}} request - {{title}}" msgstr "" @@ -3721,23 +3771,23 @@ msgid "{{law_used}} requests at {{public_body}}" msgstr "" msgid "{{length_of_time}} ago" -msgstr "" +msgstr "{{length_of_time}} тому" msgid "{{list_of_things}} matching text '{{search_query}}'" msgstr "" msgid "{{number_of_comments}} comments" -msgstr "" +msgstr "{{number_of_comments}} коментарів" msgid "{{public_body_name}} only:" -msgstr "" +msgstr "Тільки {{public_body_name}}:" msgid "" "{{public_body}} has asked you to explain part of your {{law_used}} request." -msgstr "" +msgstr "{{public_body}} попросив(-ла) пояснити дещо у вашому запиті." msgid "{{public_body}} sent a response to {{user_name}}" -msgstr "" +msgstr "{{public_body}} відповів(-ла) користувачу {{user_name}}" msgid "{{search_results}} matching '{{query}}'" msgstr "" @@ -3757,39 +3807,39 @@ msgstr "" msgid "" "{{site_name}} users have made {{number_of_requests}} requests, including:" -msgstr "" +msgstr "Користувачі сайту {{site_name}} зробили таку кількість запитів: {{number_of_requests}}, зокрема:" msgid "{{title}} - a Freedom of Information request to {{public_body}}" -msgstr "" +msgstr "{{title}} - запит до: {{public_body}}" msgid "{{user_name}} (Account suspended)" -msgstr "" +msgstr "{{user_name}} (дію акаунта припинено)" msgid "{{user_name}} - Freedom of Information requests" -msgstr "" +msgstr "{{user_name}} - запити" msgid "{{user_name}} - user profile" -msgstr "" +msgstr "{{user_name}} - профіль користувача" msgid "{{user_name}} added an annotation" -msgstr "" +msgstr "{{user_name}} залишив коментар" msgid "" "{{user_name}} has annotated your {{law_used_short}} \n" "request. Follow this link to see what they wrote." -msgstr "" +msgstr "{{user_name}} відкоментував ваш запит \nВи можете прочитати коментар за цим посиланням." msgid "{{user_name}} has used {{site_name}} to send you the message below." -msgstr "" +msgstr "{{user_name}} використав сайт {{site_name}}, щоб надіслати вам це повідомлення." msgid "{{user_name}} sent a follow up message to {{public_body}}" -msgstr "" +msgstr "{{user_name}} відправив додаткового листа до: {{public_body}}" msgid "{{user_name}} sent a request to {{public_body}}" -msgstr "" +msgstr "{{user_name}} відправив запит до: {{public_body}}" msgid "{{username}} left an annotation:" -msgstr "" +msgstr "{{username}} залишив коментар:" msgid "" "{{user}} ({{user_admin_link}}) made this {{law_used_full}} request (<a " @@ -3798,4 +3848,4 @@ msgid "" msgstr "" msgid "{{user}} made this {{law_used_full}} request" -msgstr "" +msgstr "{{user}} зробив цей запит" diff --git a/script/handle-mail-replies.rb b/script/handle-mail-replies.rb index eba6f44cf..d354a9266 100755 --- a/script/handle-mail-replies.rb +++ b/script/handle-mail-replies.rb @@ -15,6 +15,8 @@ $alaveteli_dir = File.expand_path(File.join(File.dirname(__FILE__), '..')) $:.push(File.join($alaveteli_dir, "commonlib", "rblib")) load "config.rb" +$:.push(File.join($alaveteli_dir, "lib")) +load "configuration.rb" MySociety::Config.set_file(File.join($alaveteli_dir, 'config', 'general'), true) MySociety::Config.load_default @@ -30,7 +32,7 @@ def main(in_test_mode) forward_on(raw_message) unless in_test_mode return 0 end - + pfas = permanently_failed_addresses(message) if !pfas.empty? if in_test_mode @@ -42,25 +44,25 @@ def main(in_test_mode) end return 1 end - + # If we are still here, there are no permanent failures, # so if the message is a multipart/report then it must be # reporting a temporary failure. In this case we discard it if message.content_type == "multipart/report" return 1 end - + # Another style of temporary failure message subject = message.header_string("Subject") if message.content_type == "multipart/mixed" && subject == "Delivery Status Notification (Delay)" return 1 end - + # Discard out-of-office messages if is_oof?(message) return 2 # Use a different return code, to distinguish OOFs from bounces end - + # Otherwise forward the message on forward_on(raw_message) unless in_test_mode return 0 @@ -70,7 +72,7 @@ end def permanently_failed_addresses(message) if message.header_string("Return-Path") == "<>" # Some sort of auto-response - + # Check for Exim’s X-Failed-Recipients header failed_recipients = message.header_string("X-Failed-Recipients") if !failed_recipients.nil? @@ -81,7 +83,7 @@ def permanently_failed_addresses(message) return failed_recipients.split(/,\s*/) end end - + # Next, look for multipart/report if message.content_type == "multipart/report" permanently_failed_recipients = [] @@ -89,7 +91,7 @@ def permanently_failed_addresses(message) if part.content_type == "message/delivery-status" sections = part.body.split(/\r?\n\r?\n/) # The first section is a generic header; subsequent sections - # represent a particular recipient. Since we + # represent a particular recipient. Since we sections[1..-1].each do |section| if section !~ /^Status: (\d)/ || $1 != '5' # Either we couldn’t find the Status field, or it was a transient failure @@ -106,7 +108,7 @@ def permanently_failed_addresses(message) end end end - + subject = message.header_string("Subject") # Then look for the style we’ve seen in WebShield bounces # (These do not have a return path of <> in the cases I have seen.) @@ -121,11 +123,11 @@ end def is_oof?(message) # Check for out-of-office - + if message.header_string("X-POST-MessageClass") == "9; Autoresponder" return true end - + subject = message.header_string("Subject").downcase if message.header_string("Return-Path") == "<>" if subject.start_with? "out of office: " @@ -135,13 +137,13 @@ def is_oof?(message) return true end end - + if message.header_string("Auto-Submitted") == "auto-generated" if subject =~ /out of( the)? office/ return true end end - + if subject.start_with? "out of office autoreply:" return true end @@ -158,8 +160,7 @@ def is_oof?(message) end def forward_on(raw_message) - forward_non_bounces_to = MySociety::Config.get("FORWARD_NONBOUNCE_RESPONSES_TO", "user-support@localhost") - IO.popen("/usr/sbin/sendmail -i #{forward_non_bounces_to}", "w") do |f| + IO.popen("/usr/sbin/sendmail -i #{Configuration::forward_nonbounce_responses_to}", "w") do |f| f.write(raw_message); f.close; end diff --git a/script/rails-post-deploy b/script/rails-post-deploy index 977805eb5..67752b0bc 100755 --- a/script/rails-post-deploy +++ b/script/rails-post-deploy @@ -7,9 +7,6 @@ # # Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: rails-post-deploy,v 1.18 2009-09-03 23:44:50 francis Exp $ -# set -e #set -x # debug diff --git a/script/request-creation-graph b/script/request-creation-graph index 3b7741ee2..499e7371e 100755 --- a/script/request-creation-graph +++ b/script/request-creation-graph @@ -4,8 +4,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org. WWW: http://www.mysociety.org/ -# -# $Id: request-creation-graph,v 1.9 2009-08-11 17:21:20 francis Exp $ GPLOT_OUTPUT="set terminal png font 'Vera.ttf' 9 size 1600,600" EXTENSION=".png" diff --git a/script/user-use-graph b/script/user-use-graph index 4e5876239..1cf409cb2 100755 --- a/script/user-use-graph +++ b/script/user-use-graph @@ -4,8 +4,6 @@ # # Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org. WWW: http://www.mysociety.org/ -# -# $Id: user-use-graph,v 1.1 2009-02-12 20:01:31 root Exp $ GPLOT_OUTPUT="set terminal png font 'Vera.ttf' 9 size 1200,400" EXTENSION=".png" diff --git a/spec/controllers/user_controller_spec.rb b/spec/controllers/user_controller_spec.rb index 32398c053..386d1b04b 100644 --- a/spec/controllers/user_controller_spec.rb +++ b/spec/controllers/user_controller_spec.rb @@ -337,7 +337,7 @@ describe UserController, "when sending another user a message" do deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] - mail.body.should include("Bob Smith has used #{MySociety::Config.get('SITE_NAME')} to send you the message below") + mail.body.should include("Bob Smith has used #{Configuration::site_name} to send you the message below") mail.body.should include("Just a test!") #mail.to_addrs.first.to_s.should == users(:silly_name_user).name_and_email # XXX fix some nastiness with quoting name_and_email mail.from_addrs.first.to_s.should == users(:bob_smith_user).name_and_email diff --git a/spec/fixtures/files/no-part-charset-bad-utf8.email b/spec/fixtures/files/no-part-charset-bad-utf8.email new file mode 100644 index 000000000..7e67d0063 --- /dev/null +++ b/spec/fixtures/files/no-part-charset-bad-utf8.email @@ -0,0 +1,38 @@ +From xxxx@yahoo.cn Mon Oct 08 14:01:34 2012 +Return-path: <xxxx@yahoo.cn> +Envelope-to: foi@atlas.ukcod.org.uk +Delivery-date: Mon, 08 Oct 2012 14:01:34 +0100 +Received: (qmail 63864 invoked from network); 8 Oct 2012 13:01:12 -0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.cn; s=s1024; t=1349701272; bh=T/mtlIYvhB/L5RO+CvTazeAdGf1n1zsGXBoA8EKGT9M=; h=Message-ID:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:X-mailer:From:Subject:To:Content-Transfer-Encoding:Content-Type:Date; b=LYI/PXvA7DA746bmyprChUg7N8YDvN9XE/bhfTt5MW7siOmxHHzn1w+s5X33PvLI0x0UfJLo+MCkTnGPKnG5BYY38US8PkocJYyphrvF/eaUl3ALf8UvxHBOJX1iIi89Xp2NnfbS8lz9kZAWifb9GOnOA5/kLDcL5/WJXliit2k= +Message-ID: <xxxx@xxxx.yahoo.com> +X-Yahoo-Newman-Property: ymail-5 +X-YMail-OSG: nPs5jgsVM1myUoKjeEPTxxalz4BM6BZMEUYu.E8NPMPQyo_ + Yej8T2WCTurn767NOwhuDIqNxC2QGZINqfjmKcdyW7a1P_Zxqr9GsjgxODci + ihwr7qYAGDDbcsrB.PX4epnJZHl3yAwoGW.1ReEZnXQANFcNep7.zNEbZ_2k + RU1IhI9aHYvxPxt5RWugwOoFRh9P8Ym35A88IMazNtVaBiBEXF6Vk8Aqr9XP + 3Vh9xOT9Pn6X8qOUjNXkdb3xB4S5AAIRSE9mqhL1KzHBwdVQs25IoM_2FV2b + gPsQGgL4_mwBH0WcEMhdj7Kn6Nfb44L.50E_V3DH.8P7KzDK8zNVXSbAqohX + Qi6MzUK2frr8IyZyYzHb.ekff7kAcJgUoHvhnyPar8tRYxhQT3_xsUTzsx8N + oWckVPh_i3OT7U4ObgekqgtteMoYqPH2eF1SZXamGBAs- +X-Yahoo-SMTP: YUQHwRWswBDjbw_M.D6EP4KpT9khlJErDRBQi4ySZQ-- +X-mailer: MIME::Lite 3.027 (F2.74; T1.31; A2.07; B3.13; Q3.13) +From: =?GB2312?B?zsJKaWFu?= Bing <xxxx@yahoo.cn> +Subject: =?GB2312?B?yM7A1svJ?= +To: FOI Person <EMAIL_TO> +Content-Transfer-Encoding: base64 +Content-Type: text/plain +Date: Tue, 9 Oct 2012 20:53:06 +0800 + +DQogICAgICAgICAgufO5q8u+uLrU8MjLKL6twO0vssbO8SnE+rrDo7oNCiAgICAgICAgICAgILG+ +uavLvtTaMTk5N8Tqs8nBorn6vNK5pMnM16Ky4S7KtcGm0Nu68aGj09C2wMGiy7DO8Q0KICAgICAg +ICAgINeo0rXIy9SxO9TayKu5+rj3s8fK0MnowaK31rmry76jqNXjva2hosnPuqOhornj1t2hor2t +y9W1yA0KICAgICAgICAgILXYt72jqdLyvfjP7r3PtuDP1s3qs8myu8HLw7/Uws/6ytu27rbIoaPD +v9TC09DSu7K/t9YNCiAgICAgICAgICDU9ta1tpCjqDYtNyXX89PSKbrNxtXGsaOoMC41JS0yJSDX +89PSo6nTxbvdtPq/qrvyus/X96OsDQogICAgICAgICAgtePK/b3Ptc2ho7T6wO23ts6nyOfPwqO6 +DQogICAgICAgICAg1PbWtcuwOjEuMTcl16jTw9T21rWjuzI6xtXNqNT21rWjuzM6uqO52MBVv+6V ++CANCiAgICAgICAgICAgNC65+suwzajTw7v6tPI7IDUutdjLsM2o08O7+rTyDQogICAgICAgICAg +ICAgPT09Pdaj1tiz0MW1PT09PSANCiAgICAgICAgICDGsb7dvvnOqraQhNW+1sHss/a78tPJxvPS +tdaxvdO/qrP2o6zR6dakuvO4tr/uoaMNCiAgICAgICAgICAgICAgIMGqIMLnIDq7xr6twO0gICAg +ICAgICAgICAgyMjP3zoxMzgtMjQzNi0wNTE1DQogICAgICAgICAgICDStc7xUVE6OTc4My05Njg5 +OCAgIEUtbWFpbDp3d3dheDg4QDEyNi5jb20NCg== + diff --git a/spec/fixtures/locale/en/app.po b/spec/fixtures/locale/en/app.po index 5c40446d8..91af9b72b 100644 --- a/spec/fixtures/locale/en/app.po +++ b/spec/fixtures/locale/en/app.po @@ -356,7 +356,7 @@ msgstr "" #: app/views/general/_advanced_search_tips.rhtml:16 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -1098,7 +1098,7 @@ msgid "Forgotten your password?" msgstr "" #: app/views/public_body/list.rhtml:47 -msgid "Found {{count}} public bodies {{description}}" +msgid "Found {{count}} public authorities {{description}}" msgstr "" #: app/models/info_request.rb:257 diff --git a/spec/fixtures/locale/en_GB/app.po b/spec/fixtures/locale/en_GB/app.po index 5c40446d8..91af9b72b 100644 --- a/spec/fixtures/locale/en_GB/app.po +++ b/spec/fixtures/locale/en_GB/app.po @@ -356,7 +356,7 @@ msgstr "" #: app/views/general/_advanced_search_tips.rhtml:16 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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 "" @@ -1098,7 +1098,7 @@ msgid "Forgotten your password?" msgstr "" #: app/views/public_body/list.rhtml:47 -msgid "Found {{count}} public bodies {{description}}" +msgid "Found {{count}} public authorities {{description}}" msgstr "" #: app/models/info_request.rb:257 diff --git a/spec/fixtures/locale/es/app.po b/spec/fixtures/locale/es/app.po index dd8e10969..4e54a1d40 100644 --- a/spec/fixtures/locale/es/app.po +++ b/spec/fixtures/locale/es/app.po @@ -424,7 +424,7 @@ msgstr "<strong><code>status:</code></strong> para filtrar en función del estad #: app/views/general/_advanced_search_tips.rhtml:16 msgid "" -"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +"<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:salud</code></strong> para buscar todos los organismos públicos o solicitudes con la etiqueta dada. Puedes incluir múltiples etiquetas, \n y valores, e.g. <code>tag:salud AND tag:financial_transaction:335633</code>. Por defecto, basta con que cualquiera de las etiquetas\n esté presente, añade <code>AND</code> explícitamente si sólo quiere resultados con todas ellas presentes." @@ -1221,7 +1221,7 @@ msgid "Forgotten your password?" msgstr "¿Has olvidado tu contraseña?" #: app/views/public_body/list.rhtml:47 -msgid "Found {{count}} public bodies {{description}}" +msgid "Found {{count}} public authorities {{description}}" msgstr "Encontrados {{count}} organismos públicos {{description}}" #: app/models/info_request.rb:257 diff --git a/spec/fixtures/theme_views/core/application_mailer/core_only.rhtml b/spec/fixtures/theme_views/core/application_mailer/core_only.rhtml new file mode 100644 index 000000000..53b7798ec --- /dev/null +++ b/spec/fixtures/theme_views/core/application_mailer/core_only.rhtml @@ -0,0 +1 @@ +Core only
\ No newline at end of file diff --git a/spec/fixtures/theme_views/core/application_mailer/multipart_core_only.rhtml b/spec/fixtures/theme_views/core/application_mailer/multipart_core_only.rhtml new file mode 100644 index 000000000..646a349f8 --- /dev/null +++ b/spec/fixtures/theme_views/core/application_mailer/multipart_core_only.rhtml @@ -0,0 +1 @@ +Core multipart
\ No newline at end of file diff --git a/spec/fixtures/theme_views/core/application_mailer/simple.rhtml b/spec/fixtures/theme_views/core/application_mailer/simple.rhtml new file mode 100644 index 000000000..a3937c940 --- /dev/null +++ b/spec/fixtures/theme_views/core/application_mailer/simple.rhtml @@ -0,0 +1 @@ +Core simple
\ No newline at end of file diff --git a/spec/fixtures/theme_views/theme_one/application_mailer/multipart_theme_only.rhtml b/spec/fixtures/theme_views/theme_one/application_mailer/multipart_theme_only.rhtml new file mode 100644 index 000000000..d6423fbb4 --- /dev/null +++ b/spec/fixtures/theme_views/theme_one/application_mailer/multipart_theme_only.rhtml @@ -0,0 +1 @@ +Theme multipart
\ No newline at end of file diff --git a/spec/fixtures/theme_views/theme_one/application_mailer/simple.rhtml b/spec/fixtures/theme_views/theme_one/application_mailer/simple.rhtml new file mode 100644 index 000000000..ad43e0c87 --- /dev/null +++ b/spec/fixtures/theme_views/theme_one/application_mailer/simple.rhtml @@ -0,0 +1 @@ +Theme simple
\ No newline at end of file diff --git a/spec/fixtures/theme_views/theme_one/application_mailer/theme_only.rhtml b/spec/fixtures/theme_views/theme_one/application_mailer/theme_only.rhtml new file mode 100644 index 000000000..865445815 --- /dev/null +++ b/spec/fixtures/theme_views/theme_one/application_mailer/theme_only.rhtml @@ -0,0 +1 @@ +Theme only
\ No newline at end of file diff --git a/spec/helpers/link_to_helper_spec.rb b/spec/helpers/link_to_helper_spec.rb index 9ec0afce1..ef89e8bf9 100644 --- a/spec/helpers/link_to_helper_spec.rb +++ b/spec/helpers/link_to_helper_spec.rb @@ -48,4 +48,29 @@ 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 end diff --git a/spec/integration/admin_spec.rb b/spec/integration/admin_spec.rb index caf741749..e148ea3ca 100644 --- a/spec/integration/admin_spec.rb +++ b/spec/integration/admin_spec.rb @@ -12,10 +12,8 @@ describe "When administering the site" do response.should be_success # Now fetch the "log in as" link to log in as Bob - admin_username = MySociety::Config.get('ADMIN_USERNAME') - admin_password = MySociety::Config.get('ADMIN_PASSWORD') get_via_redirect "/admin/user/login_as/#{users(:bob_smith_user).id}", nil, { - "Authorization" => "Basic " + Base64.encode64("#{admin_username}:#{admin_password}").strip + "Authorization" => "Basic " + Base64.encode64("#{Configuration::admin_username}:#{Configuration::admin_password}").strip } response.should be_success session[:user_id].should == users(:bob_smith_user).id diff --git a/spec/models/application_mailer_spec.rb b/spec/models/application_mailer_spec.rb index 12527c6e8..a90f79c01 100644 --- a/spec/models/application_mailer_spec.rb +++ b/spec/models/application_mailer_spec.rb @@ -1,8 +1,160 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') -describe ApplicationMailer, " when blah" do - before do + +describe ApplicationMailer do + + context 'when using plugins' do + + def set_base_views + ApplicationMailer.class_eval do + @previous_view_paths = self.view_paths.dup + self.view_paths.clear + self.view_paths << File.join(Rails.root, 'spec', 'fixtures', 'theme_views', 'core') + end + end + + def add_mail_methods(method_names) + method_names.each{ |method_name| ApplicationMailer.send(:define_method, method_name){} } + end + + def remove_mail_methods(method_names) + method_names.each do |method_name| + if ApplicationMailer.respond_to?(method_name) + ApplicationMailer.send(:remove_method, method_name) + end + end + end + + def prepend_theme_views(theme_name) + ApplicationMailer.class_eval do + view_paths.unshift File.join(Rails.root, 'spec', 'fixtures', 'theme_views', theme_name) + end + end + + def append_theme_views(theme_name) + ApplicationMailer.class_eval do + view_paths << File.join(Rails.root, 'spec', 'fixtures', 'theme_views', theme_name) + end + end + + def reset_views + ApplicationMailer.class_eval do + self.view_paths = @previous_view_paths + end + end + + def create_multipart_method(method_name) + ApplicationMailer.send(:define_method, method_name) do + attachment :content_type => 'message/rfc822', + :body => 'xxx', + :filename => "original.eml", + :transfer_encoding => '7bit', + :content_disposition => 'inline' + end + end + + before do + set_base_views + add_mail_methods(['simple', 'theme_only', 'core_only', 'neither']) + end + + describe 'when a plugin prepends its mail templates to the view paths' do + + it 'should render a theme template in preference to a core template' do + prepend_theme_views('theme_one') + @mail = ApplicationMailer.create_simple() + @mail.body.should match('Theme simple') + end + + it 'should render the template provided by the theme if no template is available in core' do + prepend_theme_views('theme_one') + @mail = ApplicationMailer.create_theme_only() + @mail.body.should match('Theme only') + end + + it 'should render the template provided by core if there is no theme template' do + prepend_theme_views('theme_one') + @mail = ApplicationMailer.create_core_only() + @mail.body.should match('Core only') + end + + it 'should raise an error if the template is in neither core nor theme' do + prepend_theme_views('theme_one') + lambda{ ApplicationMailer.create_neither() }.should raise_error('Missing template application_mailer/neither.erb in view path spec/fixtures/theme_views/theme_one:spec/fixtures/theme_views/core') + end + + it 'should render a multipart email using a theme template' do + prepend_theme_views('theme_one') + create_multipart_method('multipart_theme_only') + @mail = ApplicationMailer.create_multipart_theme_only() + @mail.parts.size.should == 2 + message_part = @mail.parts[0].to_s + message_part.should match("Theme multipart") + end + + it 'should render a multipart email using a core template' do + prepend_theme_views('theme_one') + create_multipart_method('multipart_core_only') + @mail = ApplicationMailer.create_multipart_core_only() + @mail.parts.size.should == 2 + message_part = @mail.parts[0].to_s + message_part.should match("Core multipart") + end + + end + + describe 'when a plugin appends its mail templates to the view paths' do + + it 'should render a core template in preference to a theme template' do + append_theme_views('theme_one') + @mail = ApplicationMailer.create_simple() + @mail.body.should match('Core simple') + end + + it 'should render the template provided by the theme if no template is available in core' do + append_theme_views('theme_one') + @mail = ApplicationMailer.create_theme_only() + @mail.body.should match('Theme only') + end + + it 'should render the template provided by core if there is no theme template' do + append_theme_views('theme_one') + @mail = ApplicationMailer.create_core_only() + @mail.body.should match('Core only') + end + + it 'should raise an error if the template is in neither core nor theme' do + append_theme_views('theme_one') + lambda{ ApplicationMailer.create_neither() }.should raise_error('Missing template application_mailer/neither.erb in view path spec/fixtures/theme_views/core:spec/fixtures/theme_views/theme_one') + end + + it 'should render a multipart email using a core template' do + append_theme_views('theme_one') + create_multipart_method('multipart_core_only') + @mail = ApplicationMailer.create_multipart_core_only() + @mail.parts.size.should == 2 + message_part = @mail.parts[0].to_s + message_part.should match("Core multipart") + end + + it 'should render a multipart email using a theme template' do + append_theme_views('theme_one') + create_multipart_method('multipart_theme_only') + @mail = ApplicationMailer.create_multipart_theme_only() + @mail.parts.size.should == 2 + message_part = @mail.parts[0].to_s + message_part.should match("Theme multipart") + end + + end + + after do + reset_views + remove_mail_methods(['simple', 'theme_only', 'core_only', 'neither', 'multipart']) + end end + end + diff --git a/spec/models/customstates.rb b/spec/models/customstates.rb index 3488e6730..bffbe86fb 100644 --- a/spec/models/customstates.rb +++ b/spec/models/customstates.rb @@ -13,7 +13,7 @@ module InfoRequestCustomStates return 'deadline_extended' if Time.now.strftime("%Y-%m-%d") < self.date_deadline_extended.strftime("%Y-%m-%d") return 'waiting_response_very_overdue' if - Time.now.strftime("%Y-%m-%d") > Holiday.due_date_from(self.date_deadline_extended, 15).strftime("%Y-%m-%d") + Time.now.strftime("%Y-%m-%d") > Holiday.due_date_from_working_days(self.date_deadline_extended, 15).strftime("%Y-%m-%d") return 'waiting_response_overdue' end return 'waiting_response_very_overdue' if @@ -27,7 +27,7 @@ module InfoRequestCustomStates # XXX shouldn't this be 15 days after the date the status was # changed to "deadline extended"? Or perhaps 15 days ater the # initial request due date? - return Holiday.due_date_from(self.date_response_required_by, 15) + return Holiday.due_date_from_working_days(self.date_response_required_by, 15) end module ClassMethods diff --git a/spec/models/holiday_spec.rb b/spec/models/holiday_spec.rb index 00ebc7279..5d3f76d24 100644 --- a/spec/models/holiday_spec.rb +++ b/spec/models/holiday_spec.rb @@ -3,47 +3,84 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') describe Holiday, " when calculating due date" do def due_date(ymd) - return Holiday.due_date_from(Date.strptime(ymd), 20).strftime("%F") + return Holiday.due_date_from_working_days(Date.strptime(ymd), 20).strftime("%F") end - it "handles no holidays" do - due_date('2008-10-01').should == '2008-10-29' - end + context "in working days" do + it "handles no holidays" do + due_date('2008-10-01').should == '2008-10-29' + end - it "handles non leap years" do - due_date('2007-02-01').should == '2007-03-01' - end + it "handles non leap years" do + due_date('2007-02-01').should == '2007-03-01' + end - it "handles leap years" do - due_date('2008-02-01').should == '2008-02-29' - end + it "handles leap years" do + due_date('2008-02-01').should == '2008-02-29' + end - it "handles Thursday start" do - due_date('2009-03-12').should == '2009-04-14' - end + it "handles Thursday start" do + due_date('2009-03-12').should == '2009-04-14' + end - it "handles Friday start" do - due_date('2009-03-13').should == '2009-04-15' - end + it "handles Friday start" do + due_date('2009-03-13').should == '2009-04-15' + end - # Delivery at the weekend ends up the same due day as if it had arrived on - # the Friday before. This is because the next working day (Monday) counts - # as day 1. - # See http://www.whatdotheyknow.com/help/officers#days - it "handles Saturday start" do - due_date('2009-03-14').should == '2009-04-15' - end - it "handles Sunday start" do - due_date('2009-03-15').should == '2009-04-15' - end + # Delivery at the weekend ends up the same due day as if it had arrived on + # the Friday before. This is because the next working day (Monday) counts + # as day 1. + # See http://www.whatdotheyknow.com/help/officers#days + it "handles Saturday start" do + due_date('2009-03-14').should == '2009-04-15' + end + it "handles Sunday start" do + due_date('2009-03-15').should == '2009-04-15' + end - it "handles Monday start" do - due_date('2009-03-16').should == '2009-04-16' - end + it "handles Monday start" do + due_date('2009-03-16').should == '2009-04-16' + end - it "handles Time objects" do - Holiday.due_date_from(Time.utc(2009, 03, 16, 12, 0, 0), 20).strftime('%F').should == '2009-04-16' + it "handles Time objects" do + Holiday.due_date_from_working_days(Time.utc(2009, 03, 16, 12, 0, 0), 20).strftime('%F').should == '2009-04-16' + end end + context "in calendar days" do + it "handles no holidays" do + Holiday.due_date_from_calendar_days(Date.new(2008, 10, 1), 20).should == Date.new(2008, 10, 21) + end + + it "handles the due date falling on a Friday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 10, 4), 20).should == Date.new(2008, 10, 24) + end + + # If the due date would fall on a Saturday it should in fact fall on the next day that isn't a weekend + # or a holiday + it "handles the due date falling on a Saturday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 10, 5), 20).should == Date.new(2008, 10, 27) + end + + it "handles the due date falling on a Sunday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 10, 6), 20).should == Date.new(2008, 10, 27) + end + + it "handles the due date falling on a Monday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 10, 7), 20).should == Date.new(2008, 10, 27) + end + + it "handles the due date falling on a day before a Holiday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 12, 4), 20).should == Date.new(2008, 12, 24) + end + + it "handles the due date falling on a Holiday" do + Holiday.due_date_from_calendar_days(Date.new(2008, 12, 5), 20).should == Date.new(2008, 12, 29) + end + + it "handles Time objects" do + Holiday.due_date_from_calendar_days(Time.utc(2009, 03, 17, 12, 0, 0), 20).should == Date.new(2009, 4, 6) + end + end end diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index bc73ef071..cf84b4595 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -56,6 +56,15 @@ describe IncomingMessage, " when dealing with incoming mail" do message.subject.should == "Câmara Responde: Banco de ideias" end + it 'should not error on display of a message which has no charset set on the body part and + is not good utf-8' do + ir = info_requests(:fancy_dog_request) + receive_incoming_mail('no-part-charset-bad-utf8.email', ir.incoming_email) + puts ir.incoming_messages.inspect + message = ir.incoming_messages[1] + message.parse_raw_email! + message.get_main_body_text_internal.should include("The above text was badly encoded") + end it "should fold multiline sections" do { @@ -77,6 +86,7 @@ describe IncomingMessage, "when parsing HTML mail" do plain_text = IncomingMessage._get_attachment_text_internal_one_file('text/html', html) plain_text.should match(/është/) end + end describe IncomingMessage, "when getting the attachment text" do @@ -312,8 +322,7 @@ describe IncomingMessage, " when censoring data" do end it "should apply hard-coded privacy rules to HTML files" do - domain = MySociety::Config.get('DOMAIN') - data = "http://#{domain}/c/cheese" + data = "http://#{Configuration::domain}/c/cheese" @im.html_mask_stuff!(data) data.should == "[WDTK login link]" end diff --git a/spec/models/public_body_spec.rb b/spec/models/public_body_spec.rb index 011824190..c2e0a6353 100644 --- a/spec/models/public_body_spec.rb +++ b/spec/models/public_body_spec.rb @@ -453,3 +453,11 @@ describe PublicBody do end end + +describe PublicBody, " when override all public body request emails set" do + it "should return the overridden request email" do + MySociety::Config.should_receive(:get).with("OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS", "").twice.and_return("catch_all_test_email@foo.com") + @geraldine = public_bodies(:geraldine_public_body) + @geraldine.request_email.should == "catch_all_test_email@foo.com" + end +end diff --git a/spec/models/request_mailer_spec.rb b/spec/models/request_mailer_spec.rb index 98681a9e9..906756784 100644 --- a/spec/models/request_mailer_spec.rb +++ b/spec/models/request_mailer_spec.rb @@ -33,7 +33,7 @@ describe RequestMailer, " when receiving incoming mail" do deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] - mail.to.should == [ MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') ] + mail.to.should == [ Configuration::contact_email ] deliveries.clear end @@ -53,7 +53,7 @@ describe RequestMailer, " when receiving incoming mail" do deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] - mail.to.should == [ MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') ] + mail.to.should == [ Configuration::contact_email ] deliveries.clear end @@ -73,7 +73,7 @@ describe RequestMailer, " when receiving incoming mail" do deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] - mail.to.should == [ MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') ] + mail.to.should == [ Configuration::contact_email ] deliveries.clear end @@ -97,10 +97,12 @@ describe RequestMailer, " when receiving incoming mail" do # check attached bounce is good copy of incoming-request-plain.email mail.multipart?.should == true mail.parts.size.should == 2 + message_part = mail.parts[0].to_s bounced_mail = TMail::Mail.parse(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") + bounced_mail.body.include?("That's so totally a rubbish question").should be_true + message_part.include?("marked to no longer receive responses").should be_true deliveries.clear end @@ -157,7 +159,7 @@ describe RequestMailer, " when receiving incoming mail" do deliveries = ActionMailer::Base.deliveries deliveries.size.should == 1 mail = deliveries[0] - mail.to.should == [ MySociety::Config.get("CONTACT_EMAIL", 'contact@localhost') ] + mail.to.should == [ Configuration::contact_email ] deliveries.clear end @@ -324,3 +326,34 @@ describe RequestMailer, 'when sending mail when someone has updated an old uncla end end + +describe RequestMailer, 'requires_admin' do + before(:each) do + user = mock_model(User, :name_and_email => 'Bruce Jones', + :name => 'Bruce Jones') + @info_request = mock_model(InfoRequest, :user => user, + :described_state => 'error_message', + :title => 'Test request', + :url_title => 'test_request', + :law_used_short => 'FOI', + :id => 123) + end + + it 'body should contain the full admin URL' do + mail = RequestMailer.deliver_requires_admin(@info_request) + + 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 + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6a4d0f2d5..248dff70e 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -143,15 +143,14 @@ def validate_as_body(html) end def basic_auth_login(request, username = nil, password = nil) - username = MySociety::Config.get('ADMIN_USERNAME') if username.nil? - password = MySociety::Config.get('ADMIN_PASSWORD') if 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. -utility_search_path = MySociety::Config.get("UTILITY_SEARCH_PATH", ["/usr/bin", "/usr/local/bin"]) $html_validation_script_found = false -utility_search_path.each do |d| +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 diff --git a/spec/views/public_body/show.rhtml_spec.rb b/spec/views/public_body/show.rhtml_spec.rb index 1d21f80c4..a42516d72 100644 --- a/spec/views/public_body/show.rhtml_spec.rb +++ b/spec/views/public_body/show.rhtml_spec.rb @@ -12,6 +12,7 @@ describe "when viewing a body" do :info_requests => [1, 2, 3, 4], # out of sync with Xapian :publication_scheme => '', :calculated_home_page => '') + @pb.stub!(:override_request_email).and_return(nil) @pb.stub!(:is_requestable?).and_return(true) @pb.stub!(:has_notes?).and_return(false) @pb.stub!(:has_tag?).and_return(false) diff --git a/vendor/plugins/acts_as_xapian/init.rb b/vendor/plugins/acts_as_xapian/init.rb index 20b7b24a5..36b43ac0b 100644 --- a/vendor/plugins/acts_as_xapian/init.rb +++ b/vendor/plugins/acts_as_xapian/init.rb @@ -2,8 +2,6 @@ # # Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved. # Email: francis@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: init.rb,v 1.1 2008-04-23 13:33:50 francis Exp $ require 'acts_as_xapian' |