diff options
32 files changed, 4654 insertions, 309 deletions
diff --git a/app/controllers/admin_censor_rule_controller.rb b/app/controllers/admin_censor_rule_controller.rb index ec86cdf8e..52df8dfc1 100644 --- a/app/controllers/admin_censor_rule_controller.rb +++ b/app/controllers/admin_censor_rule_controller.rb @@ -31,8 +31,6 @@ class AdminCensorRuleController < AdminController redirect_to admin_url('request/show/' + @censor_rule.info_request.id.to_s) elsif !@censor_rule.user.nil? redirect_to admin_url('user/show/' + @censor_rule.user.id.to_s) - elsif @censor_rule.regexp? - redirect_to admin_url('') else raise "internal error" end diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb index dd47c1a4f..30a43bb81 100644 --- a/app/controllers/admin_public_body_controller.rb +++ b/app/controllers/admin_public_body_controller.rb @@ -139,43 +139,80 @@ class AdminPublicBodyController < AdminController end def import_csv - dry_run_only = (params['commit'] == 'Upload' ? false : true) + @notes = "" + @errors = "" + if request.post? + dry_run_only = (params['commit'] == 'Upload' ? false : true) + # Read file from params + if params[:csv_file] + csv_contents = params[:csv_file].read + @original_csv_file = params[:csv_file].original_filename + # or from previous dry-run temporary file + elsif params[:temporary_csv_file] && params[:original_csv_file] + csv_contents = retrieve_csv_data(params[:temporary_csv_file]) + @original_csv_file = params[:original_csv_file] + end - if params[:csv_file] - csv_contents = params[:csv_file].read - else - csv_contents = session.delete(:previous_csv) - end - if !csv_contents.nil? - # Try with dry run first - en = PublicBody.import_csv(csv_contents, params[:tag], params[:tag_behaviour], true, admin_http_auth_user(), I18n.available_locales) - errors = en[0] - notes = en[1] - - if errors.size == 0 - if dry_run_only - notes.push("Dry run was successful, real run would do as above.") - session[:previous_csv] = csv_contents - else - # And if OK, with real run - en = PublicBody.import_csv(csv_contents, params[:tag], params[:tag_behaviour], false, admin_http_auth_user(), I18n.available_locales) - errors = en[0] - notes = en[1] - if errors.size != 0 - raise "dry run mismatched real run" + if !csv_contents.nil? + # Try with dry run first + errors, notes = PublicBody.import_csv(csv_contents, + params[:tag], + params[:tag_behaviour], + true, + admin_http_auth_user(), + I18n.available_locales) + + if errors.size == 0 + if dry_run_only + notes.push("Dry run was successful, real run would do as above.") + # Store the csv file for ease of performing the real run + @temporary_csv_file = store_csv_data(csv_contents) + else + # And if OK, with real run + errors, notes = PublicBody.import_csv(csv_contents, + params[:tag], + params[:tag_behaviour], + false, + admin_http_auth_user(), + I18n.available_locales) + if errors.size != 0 + raise "dry run mismatched real run" + end + notes.push("Import was successful.") end - notes.push("Import was successful.") end + @errors = errors.join("\n") + @notes = notes.join("\n") end - @errors = errors.join("\n") - @notes = notes.join("\n") - else - @errors = "" - @notes = "" end - end private + # Save the contents to a temporary file - not using Tempfile as we need + # the file to persist between requests. Return the name of the file. + def store_csv_data(csv_contents) + tempfile_name = "csv_upload-#{Time.now.strftime("%Y%m%d")}-#{SecureRandom.random_number(10000)}" + tempfile = File.new(File.join(Dir::tmpdir, tempfile_name), 'w') + tempfile.write(csv_contents) + tempfile.close + return tempfile_name + end + + # Get csv contents from the file whose name is passed, as long as the + # name is of the expected form. + # Delete the file, return the contents. + def retrieve_csv_data(tempfile_name) + if not /csv_upload-\d{8}-\d{1,5}/.match(tempfile_name) + raise "Invalid filename in upload_csv: #{tempfile_name}" + end + tempfile_path = File.join(Dir::tmpdir, tempfile_name) + if ! File.exist?(tempfile_path) + raise "Missing file in upload_csv: #{tempfile_name}" + end + csv_contents = File.read(tempfile_path) + File.delete(tempfile_path) + return csv_contents + end + end diff --git a/app/models/censor_rule.rb b/app/models/censor_rule.rb index cedbd767e..da3f49760 100644 --- a/app/models/censor_rule.rb +++ b/app/models/censor_rule.rb @@ -29,17 +29,39 @@ class CensorRule < ActiveRecord::Base belongs_to :user belongs_to :public_body - named_scope :regexps, {:conditions => {:regexp => true}} + # a flag to allow the require_user_request_or_public_body validation to be skipped + attr_accessor :allow_global + validate :require_user_request_or_public_body, :unless => proc{ |rule| rule.allow_global == true } + validate :require_valid_regexp, :if => proc{ |rule| rule.regexp? == true } + validates_presence_of :text - def binary_replacement - self.text.gsub(/./, 'x') + named_scope :global, {:conditions => {:info_request_id => nil, + :user_id => nil, + :public_body_id => nil}} + + def require_user_request_or_public_body + if self.info_request.nil? && self.user.nil? && self.public_body.nil? + errors.add("Censor must apply to an info request a user or a body; ") + end + end + + def require_valid_regexp + begin + self.make_regexp() + rescue RegexpError => e + errors.add(:text, e.message) + end + end + + def make_regexp + return Regexp.new(self.text, Regexp::MULTILINE) end def apply_to_text!(text) if text.nil? return nil end - to_replace = regexp? ? Regexp.new(self.text, Regexp::MULTILINE) : self.text + to_replace = regexp? ? self.make_regexp() : self.text text.gsub!(to_replace, self.replacement) end @@ -47,18 +69,19 @@ class CensorRule < ActiveRecord::Base if binary.nil? return nil end - binary.gsub!(self.text, self.binary_replacement) + to_replace = regexp? ? self.make_regexp() : self.text + binary.gsub!(to_replace){ |match| match.gsub(/./, 'x') } end - def validate - if !self.regexp? && self.info_request.nil? && self.user.nil? && self.public_body.nil? - errors.add("Censor must apply to an info request a user or a body; ") + def for_admin_column + self.class.content_columns.each do |column| + yield(column.human_name, self.send(column.name), column.type.to_s, column.name) end end - def for_admin_column - self.class.content_columns.each do |column| - yield(column.human_name, self.send(column.name), column.type.to_s, column.name) + def is_global? + return true if (info_request_id.nil? && user_id.nil? && public_body_id.nil?) + return false end - end + end diff --git a/app/models/info_request.rb b/app/models/info_request.rb index 19ec949ba..6f472c290 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -1001,24 +1001,28 @@ public return ret.reverse end + # Get the list of censor rules that apply to this request + def applicable_censor_rules + applicable_rules = [self.censor_rules, self.public_body.censor_rules, CensorRule.global.all] + if self.user && !self.user.censor_rules.empty? + applicable_rules << self.user.censor_rules + end + return applicable_rules.flatten + end + # Call groups of censor rules def apply_censor_rules_to_text!(text) - [self.censor_rules, self.user.try(:censor_rules), - CensorRule.regexps.all].flatten.compact.each do |censor_rule| - censor_rule.apply_to_text!(text) - end + self.applicable_censor_rules.each do |censor_rule| + censor_rule.apply_to_text!(text) + end return text end def apply_censor_rules_to_binary!(binary) - for censor_rule in self.censor_rules + self.applicable_censor_rules.each do |censor_rule| censor_rule.apply_to_binary!(binary) end - if self.user # requests during construction have no user - for censor_rule in self.user.censor_rules - censor_rule.apply_to_binary!(binary) - end - end + return binary end def is_owning_user?(user) diff --git a/app/models/public_body.rb b/app/models/public_body.rb index 9efeadf55..60ecb2781 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # == Schema Information # # Table name: public_bodies @@ -41,6 +42,7 @@ class PublicBody < ActiveRecord::Base has_many :info_requests, :order => 'created_at desc' has_many :track_things, :order => 'created_at desc' + has_many :censor_rules, :order => 'created_at desc' has_tag_string @@ -91,8 +93,9 @@ class PublicBody < ActiveRecord::Base # Make sure publication_scheme gets the correct default value. # (This would work automatically, were publication_scheme not a translated attribute) self.publication_scheme = "" if self.publication_scheme.nil? - - # Set an API key if there isn’t one + end + + def before_save self.api_key = SecureRandom.base64(33) if self.api_key.nil? end diff --git a/app/views/admin_censor_rule/_form.rhtml b/app/views/admin_censor_rule/_form.rhtml index d8a8f05d7..ac43de704 100644 --- a/app/views/admin_censor_rule/_form.rhtml +++ b/app/views/admin_censor_rule/_form.rhtml @@ -35,4 +35,6 @@ things by individual request or by user by adding the censor rule from the appropriate page. If you need to redact across a whole authority, it will be easy enough to make code changes to add it, so do ask. </p> +<p><strong>Regexp rules that are hard to process will really slow down request display.</strong> Please only use regexps if you really need to. +</p> diff --git a/app/views/admin_public_body/import_csv.rhtml b/app/views/admin_public_body/import_csv.rhtml index fd652b370..4a03d0665 100644 --- a/app/views/admin_public_body/import_csv.rhtml +++ b/app/views/admin_public_body/import_csv.rhtml @@ -9,32 +9,39 @@ <pre id="error"><%=@errors %></pre> <% end %> - <% form_tag 'import_csv', :multipart => true do %> <p> - <label for="csv_file">CSV file:</label> - <%= file_field_tag :csv_file, :size => 40 %> + <% if @original_csv_file && @temporary_csv_file %> + CSV file: + <%= @original_csv_file %> + <%= hidden_field_tag :original_csv_file, @original_csv_file %> + <%= hidden_field_tag :temporary_csv_file, @temporary_csv_file %> + <%= link_to 'Clear current file', 'import_csv', :class => "btn btn-warning" %> + <% else %> + <label for="csv_file">CSV file:</label> + <%= file_field_tag :csv_file, :size => 40 %> + <% end %> </p> - + <p> <label for="tag">Optional: Tag to add entries to / alter entries for:</label> <%= text_field_tag 'tag', params[:tag] %> </p> - + <p> <label for="tag_behaviour">What to do with existing tags?</label> - <%= select_tag 'tag_behaviour', + <%= select_tag 'tag_behaviour', "<option value='add' selected>Add new tags to existing ones</option> - <option value='replace'>Replace existing tags with new ones</option>" + <option value='replace'>Replace existing tags with new ones</option>" %> </p> - <p><strong>CSV file format:</strong> A first row with the list of fields, + <p><strong>CSV file format:</strong> A first row with the list of fields, starting with '#', is optional but highly recommended. The fields 'name' and 'request_email' are required; additionally, translated values are supported by adding the locale name to the field name, e.g. 'name.es', 'name.de'... Example: </p> - + <blockquote> <p> #id,name,request_email,name.es,tag_string<br/> @@ -43,16 +50,16 @@ <p> </blockquote> - <p>Supported fields: name (i18n), short_name (i18n), request_email (i18n), notes (i18n), + <p>Supported fields: name (i18n), short_name (i18n), request_email (i18n), notes (i18n), publication_scheme (i18n), home_page, tag_string (tags separated by spaces).</p> - + <p><strong>Note:</strong> Choose <strong>dry run</strong> to test, without actually altering the database. Choose <strong>upload</strong> to actually make the changes. In either case, you will be shown any errors, or details of the changes. When uploading, any changes since last import will be overwritten - e.g. email addresses changed back. </p> - + <p><strong>Note:</strong> The import tag will also be added to the imported bodies if no tags are provided in the CSV file or if the import mode is set to "Add new tags to existing ones". @@ -63,7 +70,7 @@ <hr> -<p>Standard tags: +<p>Standard tags: <% for category, description in PublicBodyCategories::get().by_tag() %> <% if category != "other" %> <strong><%= category %></strong>=<%= description %>; diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index bf40e99c1..a05d2c7d1 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -2,7 +2,7 @@ # Your secret key for verifying cookie session data integrity. # If you change this key, all old sessions will become invalid! -# Make sure the secret is at least 30 characters and all random, +# Make sure the secret is at least 30 characters and all random, # no regular words or you'll be exposed to dictionary attacks. ActionController::Base.session = { diff --git a/db/migrate/117_create_sessions.rb b/db/migrate/117_create_sessions.rb new file mode 100644 index 000000000..4ccc353b1 --- /dev/null +++ b/db/migrate/117_create_sessions.rb @@ -0,0 +1,16 @@ +class CreateSessions < ActiveRecord::Migration + def self.up + create_table :sessions do |t| + t.string :session_id, :null => false + t.text :data + t.timestamps + end + + add_index :sessions, :session_id + add_index :sessions, :updated_at + end + + def self.down + drop_table :sessions + end +end diff --git a/db/migrate/118_remove_sessions_again.rb b/db/migrate/118_remove_sessions_again.rb new file mode 100644 index 000000000..dc5a63df7 --- /dev/null +++ b/db/migrate/118_remove_sessions_again.rb @@ -0,0 +1,16 @@ +class RemoveSessionsAgain < ActiveRecord::Migration + def self.up + drop_table :sessions + end + + def self.down + create_table :sessions do |t| + t.string :session_id, :null => false + t.text :data + t.timestamps + end + + add_index :sessions, :session_id + add_index :sessions, :updated_at + end +end diff --git a/doc/CHANGES.md b/doc/CHANGES.md index 34959f924..4115389d5 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -1,3 +1,24 @@ +# Version 0.6.3 +## Highlighted features +* This is a minor release, mainly to publish new customisation + features required by the upcoming + [Czech Republic theme](https://github.com/pepe/ipvtheme) +* Administrators can now use regular expressions when making Censor Rules +* It is also now possible to create "global" Censor Rules that apply + to all content types in the site; however, this power is not exposed + to UI users. +* Some new i18n fixes and template refactoring to allow more extensive + customisation in themes +* Themes can now provide a `post_install.rb` script that is executed + by `rails-post-deploy` +* [List of isses on github](https://github.com/sebbacon/alaveteli/issues?milestone=17&state=closed) +* [List of commits since last release](https://github.com/sebbacon/alaveteli/compare/master...release/0.6.3) + +## Upgrade notes + +* No special action required -- just check out this version and run + `rails-post-deploy` as usual. + # Version 0.6.2 ## Highlighted features diff --git a/locale/aln/app.po b/locale/aln/app.po index 366ed55a7..ac50822bb 100644 --- a/locale/aln/app.po +++ b/locale/aln/app.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:23+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -406,7 +406,7 @@ msgstr "" msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -643,6 +643,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "" @@ -1336,6 +1339,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1942,6 +1951,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "" diff --git a/locale/bs/app.po b/locale/bs/app.po index 2992f1907..2fd3da7b3 100644 --- a/locale/bs/app.po +++ b/locale/bs/app.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -412,7 +412,7 @@ msgstr "<strong>Napomena:</strong>\n Poslati ćemo e-mail na Vašu novu adres msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -649,6 +649,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "Pravilo Cenzure|Zamjena" @@ -1342,6 +1345,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1948,6 +1957,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Javno tijelo|Početno slovo" diff --git a/locale/ca/app.po b/locale/ca/app.po index 9e41fc888..0f6c86403 100644 --- a/locale/ca/app.po +++ b/locale/ca/app.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -408,7 +408,7 @@ msgstr "<strong>Nota:</strong>\n Enviarem un correu a la nova direcció de co msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -645,6 +645,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1338,6 +1341,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1944,6 +1953,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Primera letra" diff --git a/locale/cs/app.po b/locale/cs/app.po index 37988e582..addb9384c 100644 --- a/locale/cs/app.po +++ b/locale/cs/app.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -412,7 +412,7 @@ msgstr "<strong>Poznámka:</strong>\n Pošleme vám zprávu na vaši e-mailov msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -649,6 +649,9 @@ msgstr "Cenzorova pravidla | Poslední komentář" msgid "CensorRule|Last edit editor" msgstr "Cenzorova pravidla | Poslední editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "Cenzorova pravidla | Nahrazení" @@ -1342,6 +1345,12 @@ msgstr "InfoRequestEvent | Očekává se popis" msgid "InfoRequest|Described state" msgstr "InfoRequestEvent | Popsaný status" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequestEvent | Řešit odmítnuté odpovědi" @@ -1948,6 +1957,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody | První dopis" diff --git a/locale/cy/app.po b/locale/cy/app.po index 32063f976..53486aca4 100644 --- a/locale/cy/app.po +++ b/locale/cy/app.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -414,7 +414,7 @@ msgstr "" msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -651,6 +651,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "" @@ -1344,6 +1347,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1950,6 +1959,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "" diff --git a/locale/de/app.po b/locale/de/app.po index 40895dcc6..ccd2e4998 100644 --- a/locale/de/app.po +++ b/locale/de/app.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -409,7 +409,7 @@ msgstr "<strong>Note:</strong>\n Es wird eine Email an Ihre neue Emailadresse msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -646,6 +646,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1339,6 +1342,12 @@ msgstr "InfoAnfrage | Beschreibung wird erwartet" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1945,6 +1954,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody|First letter" diff --git a/locale/en_IE/app.po b/locale/en_IE/app.po index bc167687c..8b2c65c37 100644 --- a/locale/en_IE/app.po +++ b/locale/en_IE/app.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -406,7 +406,7 @@ msgstr "" msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -643,6 +643,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "" @@ -1336,6 +1339,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1942,6 +1951,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "" diff --git a/locale/es/app.po b/locale/es/app.po index 87ab4074f..a8fde7946 100644 --- a/locale/es/app.po +++ b/locale/es/app.po @@ -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-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -410,7 +410,7 @@ msgstr "<strong>Nota:</strong>\n Enviaremos un correo a la nueva dirección d msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -647,6 +647,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1221,7 +1224,7 @@ msgstr "Si la solicitud es tuya, puedes <a href=\"%s\">abrir una sesión</a> par msgid "" "If you are thinking of using a pseudonym,\n" " please <a href=\"%s\">read this first</a>." -msgstr "Si está pensando en utilizar un pseudónimo,\n por favor <a href=\"%s\">lea esto primero</a>." +msgstr "Si estás pensando en utilizar un pseudónimo,\n por favor <a href=\"%s\">lee esto primero</a>." msgid "If you are {{user_link}}, please" msgstr "Si es {{user_link}}, por favor" @@ -1340,6 +1343,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1394,7 +1403,7 @@ msgstr "Registrado en {{site_name}} el" msgid "" "Keep it <strong>focused</strong>, you'll be more likely to get what you want" " (<a href=\"%s\">why?</a>)." -msgstr "Sea <strong>específico</strong>, tendrá más probabilidades de conseguir lo que quiere (<a href=\"%s\">¿por qué?</a>)." +msgstr "Sé <strong>específico</strong>, tendrás más probabilidades de conseguir lo que quieres (<a href=\"%s\">¿por qué?</a>)." msgid "Keywords" msgstr "Términos" @@ -1946,6 +1955,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "<p>Thank you! Here are some ideas on what to do next:</p>⏎\n <ul>⏎\n <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>⏎\n <li>If you would like to contest the authority's claim that they do not hold the information, here is⏎\n <a href=\"{{complain_url}}\">how to complain</a>.⏎\n </li>⏎\n <li>We have <a href=\"{{other_means_url}}\">suggestions</a>⏎\n on other means to answer your question.⏎\n </li>⏎\n </ul>" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Primera letra" diff --git a/locale/eu/app.po b/locale/eu/app.po index 703436726..97646c629 100644 --- a/locale/eu/app.po +++ b/locale/eu/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-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -407,7 +407,7 @@ msgstr "<strong>Oharra:</strong>\n Posta bat bidaliko dugu posta helbide berr msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -644,6 +644,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1337,6 +1340,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1943,6 +1952,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Primera letra" diff --git a/locale/fr/app.po b/locale/fr/app.po index 4cd40c373..d4fcb0f40 100644 --- a/locale/fr/app.po +++ b/locale/fr/app.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:23+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -411,7 +411,7 @@ msgstr "" msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -648,6 +648,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "" @@ -1341,6 +1344,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1947,6 +1956,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "" diff --git a/locale/gl/app.po b/locale/gl/app.po index 5a1757f19..ce9147e7f 100644 --- a/locale/gl/app.po +++ b/locale/gl/app.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -406,7 +406,7 @@ msgstr "<strong>Nota:</strong>\n Enviaremos un correo a la nueva dirección d msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -643,6 +643,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1336,6 +1339,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1942,6 +1951,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Primera letra" diff --git a/locale/hu_HU/app.po b/locale/hu_HU/app.po index a28c7080e..2f99ad30c 100644 --- a/locale/hu_HU/app.po +++ b/locale/hu_HU/app.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -406,7 +406,7 @@ msgstr "<strong>Megjegyzés:</strong>\n E-mailt küldünk új e-mail címére msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -643,6 +643,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1336,6 +1339,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1942,6 +1951,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody|First letter" diff --git a/locale/id/app.po b/locale/id/app.po index 927d81415..e7e5de73d 100644 --- a/locale/id/app.po +++ b/locale/id/app.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -404,7 +404,7 @@ msgstr "<strong>Catatan:</strong>\n Kami akan mengirimkan email ke alamat ema msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -641,6 +641,9 @@ msgstr "CensorRule|Last edit comment" msgid "CensorRule|Last edit editor" msgstr "CensorRule|Last edit editor" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule|Replacement" @@ -1334,6 +1337,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1940,6 +1949,9 @@ msgstr "PublicBody::Translation|Short name" msgid "PublicBody::Translation|Url name" msgstr "PublicBody::Translation|Url name" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody|First letter" diff --git a/locale/nb_NO/app.po b/locale/nb_NO/app.po new file mode 100644 index 000000000..2e5decb1b --- /dev/null +++ b/locale/nb_NO/app.po @@ -0,0 +1,3748 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: alaveteli\n" +"Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" +"POT-Creation-Date: 2012-07-17 10:22+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb_NO\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +msgid "" +"\n" +"\n" +"[ {{site_name}} note: The above text was badly encoded, and has had strange characters removed. ]" +msgstr "" + +msgid "" +" This will appear on your {{site_name}} profile, to make it\n" +" easier for others to get involved with what you're doing." +msgstr "" + +msgid "" +" (<strong>no ranty</strong> politics, read our <a href=\"%s\">moderation " +"policy</a>)" +msgstr "" + +msgid "" +" (<strong>patience</strong>, especially for large files, it may take a " +"while!)" +msgstr "" + +msgid " (you)" +msgstr "" + +msgid " - view and make Freedom of Information requests" +msgstr "" + +msgid " - wall" +msgstr "" + +msgid "" +" <strong>Note:</strong>\n" +" We will send you an email. Follow the instructions in it to change\n" +" your password." +msgstr "" + +msgid " <strong>Privacy note:</strong> Your email address will be given to" +msgstr "" + +msgid " <strong>Summarise</strong> the content of any information returned. " +msgstr "" + +msgid " Advise on how to <strong>best clarify</strong> the request." +msgstr "" + +msgid "" +" Ideas on what <strong>other documents to request</strong> which the " +"authority may hold. " +msgstr "" + +msgid "" +" If you know the address to use, then please <a href=\"%s\">send it to us</a>.\n" +" You may be able to find the address on their website, or by phoning them up and asking." +msgstr "" + +msgid "" +" Include relevant links, such as to a campaign page, your blog or a\n" +" twitter account. They will be made clickable. \n" +" e.g." +msgstr "" + +msgid "" +" Link to the information requested, if it is <strong>already " +"available</strong> on the Internet. " +msgstr "" + +msgid "" +" Offer better ways of <strong>wording the request</strong> to get the " +"information. " +msgstr "" + +msgid "" +" Say how you've <strong>used the information</strong>, with links if " +"possible." +msgstr "" + +msgid "" +" Suggest <strong>where else</strong> the requester might find the " +"information. " +msgstr "" + +msgid " What are you investigating using Freedom of Information? " +msgstr "" + +msgid " You are already being emailed updates about the request." +msgstr "" + +msgid " You will also be emailed updates about the request." +msgstr "" + +msgid " made by " +msgstr "" + +msgid " or " +msgstr "" + +msgid " when you send this message." +msgstr "" + +msgid "%d Freedom of Information request to %s" +msgid_plural "%d Freedom of Information requests to %s" +msgstr[0] "" +msgstr[1] "" + +msgid "%d request" +msgid_plural "%d requests" +msgstr[0] "" +msgstr[1] "" + +msgid "%d request made." +msgid_plural "%d requests made." +msgstr[0] "" +msgstr[1] "" + +msgid "'Crime statistics by ward level for Wales'" +msgstr "" + +msgid "'Pollution levels over time for the River Tyne'" +msgstr "" + +msgid "'{{link_to_authority}}', a public authority" +msgstr "" + +msgid "'{{link_to_request}}', a request" +msgstr "" + +msgid "'{{link_to_user}}', a person" +msgstr "" + +msgid "" +",\n" +"\n" +"\n" +"\n" +"Yours,\n" +"\n" +"{{user_name}}" +msgstr "" + +msgid "- or -" +msgstr "" + +msgid "1. Select an authority" +msgstr "" + +msgid "2. Ask for Information" +msgstr "" + +msgid "3. Now check your request" +msgstr "" + +msgid "<a class=\"link_button_green\" href=\"{{url}}\">{{text}}</a>" +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>." +msgstr "" + +msgid "" +"<a href=\"%s\">Are you the owner of\n" +" any commercial copyright on this page?</a>" +msgstr "" + +msgid "<a href=\"%s\">Browse all</a> or <a href=\"%s\">ask us to add one</a>." +msgstr "" + +msgid "<a href=\"%s\">Can't find the one you want?</a>" +msgstr "" + +msgid "" +"<a href=\"%s\">Sign in</a> to change password, subscriptions and more " +"({{user_name}} only)" +msgstr "" + +msgid "<a href=\"%s\">details</a>" +msgstr "" + +msgid "<a href=\"%s\">what's that?</a>" +msgstr "" + +msgid "" +"<p>All done! Thank you very much for your help.</p><p>There are <a " +"href=\"{{helpus_url}}\">more things you can do</a> to help " +"{{site_name}}.</p>" +msgstr "" + +msgid "" +"<p>Thank you! Here are some ideas on what to do next:</p>\n" +" <ul>\n" +" <li>To send your request to another authority, first copy the text of your request below, then <a href=\"{{find_authority_url}}\">find the other authority</a>.</li>\n" +" <li>If you would like to contest the authority's claim that they do not hold the information, here is\n" +" <a href=\"{{complain_url}}\">how to complain</a>.\n" +" </li>\n" +" <li>We have <a href=\"{{other_means_url}}\">suggestions</a>\n" +" on other means to answer your question.\n" +" </li>\n" +" </ul>" +msgstr "" + +msgid "" +"<p>Thank you! Hope you don't have to wait much longer.</p> <p>By law, you " +"should have got a response promptly, and normally before the end of " +"<strong>{{date_response_required_by}}</strong>.</p>" +msgstr "" + +msgid "" +"<p>Thank you! Hopefully your wait isn't too long.</p> <p>By law, you should get a response promptly, and normally before the end of <strong>\n" +"{{date_response_required_by}}</strong>.</p>" +msgstr "" + +msgid "" +"<p>Thank you! Hopefully your wait isn't too long.</p><p>You should get a " +"response within {{late_number_of_days}} days, or be told if it will take " +"longer (<a href=\"{{review_url}}\">details</a>).</p>" +msgstr "" + +msgid "" +"<p>Thank you! We'll look into what happened and try and fix it up.</p><p>If " +"the error was a delivery failure, and you can find an up to date FOI email " +"address for the authority, please tell us using the form below.</p>" +msgstr "" + +msgid "" +"<p>Thank you! Your request is long overdue, by more than " +"{{very_late_number_of_days}} working days. Most requests should be answered " +"within {{late_number_of_days}} working days. You might like to complain " +"about this, see below.</p>" +msgstr "" + +msgid "" +"<p>Thanks for changing the text about you on your profile.</p>\n" +" <p><strong>Next...</strong> You can upload a profile photograph too.</p>" +msgstr "" + +msgid "" +"<p>Thanks for updating your profile photo.</p>\n" +" <p><strong>Next...</strong> You can put some text about you and your research on your profile.</p>" +msgstr "" + +msgid "" +"<p>We recommend that you edit your request and remove the email address.\n" +" If you leave it, the email address will be sent to the authority, but will not be displayed on the site.</p>" +msgstr "" + +msgid "" +"<p>We're glad you got all the information that you wanted. If you write " +"about or make use of the information, please come back and add an annotation" +" below saying what you did.</p><p>If you found {{site_name}} useful, <a " +"href=\"{{donation_url}}\">make a donation</a> to the charity which runs " +"it.</p>" +msgstr "" + +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 "" + +msgid "" +"<p>You do not need to include your email in the request in order to get a " +"reply (<a href=\"%s\">details</a>).</p>" +msgstr "" + +msgid "" +"<p>You do not need to include your email in the request in order to get a " +"reply, as we will ask for it on the next screen (<a " +"href=\"%s\">details</a>).</p>" +msgstr "" + +msgid "" +"<p>Your request contains a <strong>postcode</strong>. Unless it directly " +"relates to the subject of your request, please remove any address as it will" +" <strong>appear publicly on the Internet</strong>.</p>" +msgstr "" + +msgid "" +"<p>Your {{law_used_full}} request has been <strong>sent on its way</strong>!</p>\n" +" <p><strong>We will email you</strong> when there is a response, or after {{late_number_of_days}} working days if the authority still hasn't\n" +" replied by then.</p>\n" +" <p>If you write about this request (for example in a forum or a blog) please link to this page, and add an\n" +" annotation below telling people about your writing.</p>" +msgstr "" + +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 "" + +msgid "" +"<small>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.</small>\n" +"</p>" +msgstr "" + +msgid "<span id='follow_count'>%d</span> person is following this authority" +msgid_plural "" +"<span id='follow_count'>%d</span> people are following this authority" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"<strong> Can I request information about myself?</strong>\n" +"\t\t\t<a href=\"%s\">No! (Click here for details)</a>" +msgstr "" + +msgid "" +"<strong><code>commented_by:tony_bowden</code></strong> to search annotations" +" made by Tony Bowden, typing the name as in the URL." +msgstr "" + +msgid "" +"<strong><code>filetype:pdf</code></strong> to find all responses with PDF " +"attachments. Or try these: <code>{{list_of_file_extensions}}</code>" +msgstr "" + +msgid "" +"<strong><code>request:</code></strong> to restrict to a specific request, " +"typing the title as in the URL." +msgstr "" + +msgid "" +"<strong><code>requested_by:julian_todd</code></strong> to search requests " +"made by Julian Todd, typing the name as in the URL." +msgstr "" + +msgid "" +"<strong><code>requested_from:home_office</code></strong> to search requests " +"from the Home Office, typing the name as in the URL." +msgstr "" + +msgid "" +"<strong><code>status:</code></strong> to select based on the status or " +"historical status of the request, see the <a href=\"{{statuses_url}}\">table" +" of statuses</a> below." +msgstr "" + +msgid "" +"<strong><code>tag:charity</code></strong> to find all public bodies or requests with a given tag. You can include multiple tags, \n" +" and tag values, e.g. <code>tag:openlylocal AND tag:financial_transaction:335633</code>. Note that by default any of the tags\n" +" can be present, you have to put <code>AND</code> explicitly if you only want results them all present." +msgstr "" + +msgid "" +"<strong><code>variety:</code></strong> to select type of thing to search " +"for, see the <a href=\"{{varieties_url}}\">table of varieties</a> below." +msgstr "" + +msgid "" +"<strong>Advice</strong> on how to get a response that will satisfy the " +"requester. </li>" +msgstr "" + +msgid "<strong>All the information</strong> has been sent" +msgstr "" + +msgid "" +"<strong>Anything else</strong>, such as clarifying, prompting, thanking" +msgstr "" + +msgid "" +"<strong>Caveat emptor!</strong> To use this data in an honourable way, you will need \n" +"a good internal knowledge of user behaviour on {{site_name}}. How, \n" +"why and by whom requests are categorised is not straightforward, and there will\n" +"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 "" + +msgid "<strong>Clarification</strong> has been requested" +msgstr "" + +msgid "" +"<strong>No response</strong> has been received\n" +" <small>(maybe there's just an acknowledgement)</small>" +msgstr "" + +msgid "" +"<strong>Note:</strong>\n" +" We will send an email to your new email address. Follow the\n" +" instructions in it to confirm changing your email." +msgstr "" + +msgid "" +"<strong>Note:</strong> You're sending a message to yourself, presumably\n" +"\t to try out how it works." +msgstr "" + +msgid "" +"<strong>Privacy note:</strong> If you want to request private information about\n" +" yourself then <a href=\"%s\">click here</a>." +msgstr "" + +msgid "" +"<strong>Privacy note:</strong> Your photo will be shown in public on the Internet,\n" +" wherever you do something on {{site_name}}." +msgstr "" + +msgid "" +"<strong>Privacy warning:</strong> Your message, and any response\n" +" to it, will be displayed publicly on this website." +msgstr "" + +msgid "<strong>Some of the information</strong> has been sent " +msgstr "" + +msgid "<strong>Thank</strong> the public authority or " +msgstr "" + +msgid "<strong>did not have</strong> the information requested." +msgstr "" + +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 "" + +msgid "" +"A <a href=\"{{request_url}}\">response</a> to <em>{{request_title}}</em> was" +" sent by {{public_body_name}} to {{info_request_user}} on {{date}}. The " +"request status is: {{request_status}}" +msgstr "" + +msgid "" +"A <strong>summary</strong> of the response if you have received it by post. " +msgstr "" + +msgid "A Freedom of Information request" +msgstr "" + +msgid "" +"A new request, <em><a href=\"{{request_url}}\">{{request_title}}</a></em>, " +"was sent to {{public_body_name}} by {{info_request_user}} on {{date}}." +msgstr "" + +msgid "A public authority" +msgstr "" + +msgid "A response will be sent <strong>by post</strong>" +msgstr "" + +msgid "A strange reponse, required attention by the {{site_name}} team" +msgstr "" + +msgid "A {{site_name}} user" +msgstr "" + +msgid "About you:" +msgstr "" + +msgid "Act on what you've learnt" +msgstr "" + +msgid "Add an annotation" +msgstr "" + +msgid "" +"Add an annotation to your request with choice quotes, or\n" +" a <strong>summary of the response</strong>." +msgstr "" + +msgid "Added on {{date}}" +msgstr "" + +msgid "Admin level is not included in list" +msgstr "" + +msgid "Administration URL:" +msgstr "" + +msgid "Advanced search" +msgstr "" + +msgid "Advanced search tips" +msgstr "" + +msgid "" +"Advise on whether the <strong>refusal is legal</strong>, and how to complain" +" about it if not." +msgstr "" + +msgid "" +"Air, water, soil, land, flora and fauna (including how these effect\n" +" human beings)" +msgstr "" + +msgid "All of the information requested has been received" +msgstr "" + +msgid "" +"All the options below can use <strong>status</strong> or " +"<strong>latest_status</strong> before the colon. For example, " +"<strong>status:not_held</strong> will match requests which have " +"<em>ever</em> been marked as not held; " +"<strong>latest_status:not_held</strong> will match only requests that are " +"<em>currently</em> marked as not held." +msgstr "" + +msgid "" +"All the options below can use <strong>variety</strong> or " +"<strong>latest_variety</strong> before the colon. For example, " +"<strong>variety:sent</strong> will match requests which have <em>ever</em> " +"been sent; <strong>latest_variety:sent</strong> will match only requests " +"that are <em>currently</em> marked as sent." +msgstr "" + +msgid "Also called {{other_name}}." +msgstr "" + +msgid "Also send me alerts by email" +msgstr "" + +msgid "Alter your subscription" +msgstr "" + +msgid "" +"Although all responses are automatically published, we depend on\n" +"you, the original requester, to evaluate them." +msgstr "" + +msgid "" +"An <a href=\"{{request_url}}\">annotation</a> to <em>{{request_title}}</em> " +"was made by {{event_comment_user}} on {{date}}" +msgstr "" + +msgid "An <strong>error message</strong> has been received" +msgstr "" + +msgid "An Environmental Information Regulations request" +msgstr "" + +msgid "Annotation added to request" +msgstr "" + +msgid "Annotations" +msgstr "" + +msgid "" +"Annotations are so anyone, including you, can help the requester with their " +"request. For example:" +msgstr "" + +msgid "" +"Annotations will be posted publicly here, and are \n" +" <strong>not</strong> sent to {{public_body_name}}." +msgstr "" + +msgid "Anonymous user" +msgstr "" + +msgid "Anyone:" +msgstr "" + +msgid "" +"Ask for <strong>specific</strong> documents or information, this site is not" +" suitable for general enquiries." +msgstr "" + +msgid "" +"At the bottom of this page, write a reply to them trying to persuade them to scan it in\n" +" (<a href=\"%s\">more details</a>)." +msgstr "" + +msgid "Attachment (optional):" +msgstr "" + +msgid "Attachment:" +msgstr "" + +msgid "Awaiting classification." +msgstr "" + +msgid "Awaiting internal review." +msgstr "" + +msgid "Awaiting response." +msgstr "" + +msgid "Beginning with" +msgstr "" + +msgid "" +"Browse <a href='{{url}}'>other requests</a> for examples of how to word your" +" request." +msgstr "" + +msgid "" +"Browse <a href='{{url}}'>other requests</a> to '{{public_body_name}}' for " +"examples of how to word your request." +msgstr "" + +msgid "Browse all authorities..." +msgstr "" + +msgid "" +"By law, under all circumstances, {{public_body_link}} should have responded " +"by now" +msgstr "" + +msgid "" +"By law, {{public_body_link}} should normally have responded " +"<strong>promptly</strong> and" +msgstr "" + +msgid "Cancel a {{site_name}} alert" +msgstr "" + +msgid "Cancel some {{site_name}} alerts" +msgstr "" + +msgid "Cancel, return to your profile page" +msgstr "" + +msgid "Censor rule" +msgstr "" + +msgid "CensorRule|Last edit comment" +msgstr "" + +msgid "CensorRule|Last edit editor" +msgstr "" + +msgid "CensorRule|Replacement" +msgstr "" + +msgid "CensorRule|Text" +msgstr "" + +msgid "Change email on {{site_name}}" +msgstr "" + +msgid "Change password on {{site_name}}" +msgstr "" + +msgid "Change profile photo" +msgstr "" + +msgid "Change the text about you on your profile at {{site_name}}" +msgstr "" + +msgid "Change your email" +msgstr "" + +msgid "Change your email address used on {{site_name}}" +msgstr "" + +msgid "Change your password" +msgstr "" + +msgid "Change your password on {{site_name}}" +msgstr "" + +msgid "Change your password {{site_name}}" +msgstr "" + +msgid "Charity registration" +msgstr "" + +msgid "Check for mistakes if you typed or copied the address." +msgstr "" + +msgid "Check you haven't included any <strong>personal information</strong>." +msgstr "" + +msgid "Choose your profile photo" +msgstr "" + +msgid "Clarification" +msgstr "" + +msgid "Clarify your FOI request - " +msgstr "" + +msgid "Classify an FOI response from " +msgstr "" + +msgid "Clear photo" +msgstr "" + +msgid "" +"Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\n" +"review, asking them to find out why response to the request has been so slow." +msgstr "" + +msgid "" +"Click on the link below to send a message to {{public_body}} reminding them " +"to reply to your request." +msgstr "" + +msgid "Close" +msgstr "" + +msgid "Comment" +msgstr "" + +msgid "Comment|Body" +msgstr "" + +msgid "Comment|Comment type" +msgstr "" + +msgid "Comment|Locale" +msgstr "" + +msgid "Comment|Visible" +msgstr "" + +msgid "Confirm you want to follow all successful FOI requests" +msgstr "" + +msgid "Confirm you want to follow new requests" +msgstr "" + +msgid "" +"Confirm you want to follow new requests or responses matching your search" +msgstr "" + +msgid "Confirm you want to follow requests by '{{user_name}}'" +msgstr "" + +msgid "Confirm you want to follow requests to '{{public_body_name}}'" +msgstr "" + +msgid "Confirm you want to follow the request '{{request_title}}'" +msgstr "" + +msgid "Confirm your FOI request to " +msgstr "" + +msgid "Confirm your account on {{site_name}}" +msgstr "" + +msgid "Confirm your annotation to {{info_request_title}}" +msgstr "" + +msgid "Confirm your email address" +msgstr "" + +msgid "Confirm your new email address on {{site_name}}" +msgstr "" + +msgid "" +"Considered by administrators as not an FOI request and hidden from site." +msgstr "" + +msgid "Considered by administrators as vexatious and hidden from site." +msgstr "" + +msgid "Contact {{recipient}}" +msgstr "" + +msgid "Contact {{site_name}}" +msgstr "" + +msgid "Could not identify the request from the email address" +msgstr "" + +msgid "" +"Couldn't understand the image file that you uploaded. PNG, JPEG, GIF and " +"many other common image file formats are supported." +msgstr "" + +msgid "Crop your profile photo" +msgstr "" + +msgid "" +"Cultural sites and built structures (as they may be affected by the\n" +" environmental factors listed above)" +msgstr "" + +msgid "" +"Currently <strong>waiting for a response</strong> from {{public_body_link}}," +" they must respond promptly and" +msgstr "" + +msgid "Date:" +msgstr "" + +msgid "Dear {{public_body_name}}," +msgstr "" + +msgid "Delayed response to your FOI request - " +msgstr "" + +msgid "Delayed." +msgstr "" + +msgid "Delivery error" +msgstr "" + +msgid "Details of request '" +msgstr "" + +msgid "Did you mean: {{correction}}" +msgstr "" + +msgid "" +"Disclaimer: This message and any reply that you make will be published on " +"the internet. Our privacy and copyright policies:" +msgstr "" + +msgid "" +"Don't want to address your message to {{person_or_body}}? You can also " +"write to:" +msgstr "" + +msgid "Done" +msgstr "" + +msgid "Done >>" +msgstr "" + +msgid "Download a zip file of all correspondence" +msgstr "" + +msgid "Download original attachment" +msgstr "" + +msgid "EIR" +msgstr "" + +msgid "" +"Edit and add <strong>more details</strong> to the message above,\n" +" explaining why you are dissatisfied with their response." +msgstr "" + +msgid "Edit language version:" +msgstr "" + +msgid "Edit text about you" +msgstr "" + +msgid "Edit this request" +msgstr "" + +msgid "Either the email or password was not recognised, please try again." +msgstr "" + +msgid "" +"Either the email or password was not recognised, please try again. Or create" +" a new account using the form on the right." +msgstr "" + +msgid "Email doesn't look like a valid address" +msgstr "" + +msgid "Email me future updates to this request" +msgstr "" + +msgid "" +"Enter words that you want to find separated by spaces, e.g. <strong>climbing" +" lane</strong>" +msgstr "" + +msgid "" +"Enter your response below. You may attach one file (use email, or \n" +" <a href=\"%s\">contact us</a> if you need more)." +msgstr "" + +msgid "Environmental Information Regulations" +msgstr "" + +msgid "Environmental Information Regulations requests made" +msgstr "" + +msgid "Environmental Information Regulations requests made using this site" +msgstr "" + +msgid "Event history" +msgstr "" + +msgid "Event history details" +msgstr "" + +msgid "" +"Everything that you enter on this page \n" +" will be <strong>displayed publicly</strong> on\n" +" this website forever (<a href=\"%s\">why?</a>)." +msgstr "" + +msgid "" +"Everything that you enter on this page, including <strong>your name</strong>, \n" +" will be <strong>displayed publicly</strong> on\n" +" this website forever (<a href=\"%s\">why?</a>)." +msgstr "" + +msgid "Exim log" +msgstr "" + +msgid "Exim log done" +msgstr "" + +msgid "EximLogDone|Filename" +msgstr "" + +msgid "EximLogDone|Last stat" +msgstr "" + +msgid "EximLog|Line" +msgstr "" + +msgid "EximLog|Order" +msgstr "" + +msgid "FOI" +msgstr "" + +msgid "FOI email address for {{public_body}}" +msgstr "" + +msgid "FOI requests" +msgstr "" + +msgid "FOI requests by '{{user_name}}'" +msgstr "" + +msgid "FOI requests {{start_count}} to {{end_count}} of {{total_count}}" +msgstr "" + +msgid "FOI response requires admin ({{reason}}) - {{title}}" +msgstr "" + +msgid "Failed to convert image to a PNG" +msgstr "" + +msgid "" +"Failed to convert image to the correct size: at %{cols}x%{rows}, need " +"%{width}x%{height}" +msgstr "" + +msgid "Filter" +msgstr "" + +msgid "" +"First, type in the <strong>name of the UK public authority</strong> you'd \n" +" like information from. <strong>By law, they have to respond</strong>\n" +" (<a href=\"%s#%s\">why?</a>)." +msgstr "" + +msgid "Foi attachment" +msgstr "" + +msgid "FoiAttachment|Charset" +msgstr "" + +msgid "FoiAttachment|Content type" +msgstr "" + +msgid "FoiAttachment|Display size" +msgstr "" + +msgid "FoiAttachment|Filename" +msgstr "" + +msgid "FoiAttachment|Hexdigest" +msgstr "" + +msgid "FoiAttachment|Url part number" +msgstr "" + +msgid "FoiAttachment|Within rfc822 subject" +msgstr "" + +msgid "Follow" +msgstr "" + +msgid "Follow all new requests" +msgstr "" + +msgid "Follow new successful responses" +msgstr "" + +msgid "Follow requests to {{public_body_name}}" +msgstr "" + +msgid "Follow these requests" +msgstr "" + +msgid "Follow things matching this search" +msgstr "" + +msgid "Follow this authority" +msgstr "" + +msgid "Follow this link to see the request:" +msgstr "" + +msgid "Follow this person" +msgstr "" + +msgid "Follow this request" +msgstr "" + +msgid "Follow up" +msgstr "" + +msgid "Follow up message sent by requester" +msgstr "" + +msgid "Follow up messages to existing requests are sent to " +msgstr "" + +msgid "" +"Follow ups and new responses to this request have been stopped to prevent " +"spam. Please <a href=\"{{url}}\">contact us</a> if you are {{user_link}} and" +" need to send a follow up." +msgstr "" + +msgid "Follow us on twitter" +msgstr "" + +msgid "" +"For an unknown reason, it is not possible to make a request to this " +"authority." +msgstr "" + +msgid "Forgotten your password?" +msgstr "" + +msgid "Found {{count}} public bodies {{description}}" +msgstr "" + +msgid "Freedom of Information" +msgstr "" + +msgid "Freedom of Information Act" +msgstr "" + +msgid "" +"Freedom of Information law does not apply to this authority, so you cannot make\n" +" a request to it." +msgstr "" + +msgid "Freedom of Information law no longer applies to" +msgstr "" + +msgid "" +"Freedom of Information law no longer applies to this authority.Follow up " +"messages to existing requests are sent to " +msgstr "" + +msgid "Freedom of Information requests made" +msgstr "" + +msgid "Freedom of Information requests made by this person" +msgstr "" + +msgid "Freedom of Information requests made by you" +msgstr "" + +msgid "Freedom of Information requests made using this site" +msgstr "" + +msgid "Freedom of information requests to" +msgstr "" + +msgid "From" +msgstr "" + +msgid "" +"From the request page, try replying to a particular message, rather than sending\n" +" a general followup. If you need to make a general followup, and know\n" +" an email which will go to the right place, please <a href=\"%s\">send it to us</a>." +msgstr "" + +msgid "From:" +msgstr "" + +msgid "GIVE DETAILS ABOUT YOUR COMPLAINT HERE" +msgstr "" + +msgid "Handled by post." +msgstr "" + +msgid "" +"Hello! You can make Freedom of Information requests within {{country_name}} " +"at {{link_to_website}}" +msgstr "" + +msgid "Hello, {{username}}!" +msgstr "" + +msgid "Help" +msgstr "" + +msgid "" +"Here <strong>described</strong> means when a user selected a status for the request, and\n" +"the most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\n" +"{{site_name}} for intermediate events, which weren't given an explicit\n" +"description by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states." +msgstr "" + +msgid "" +"Here is the message you wrote, in case you would like to copy the text and " +"save it for later." +msgstr "" + +msgid "" +"Hi! We need your help. The person who made the following request\n" +" hasn't told us whether or not it was successful. Would you mind taking\n" +" a moment to read it and help us keep the place tidy for everyone?\n" +" Thanks." +msgstr "" + +msgid "Holiday" +msgstr "" + +msgid "Holiday|Day" +msgstr "" + +msgid "Holiday|Description" +msgstr "" + +msgid "Home" +msgstr "" + +msgid "Home page of authority" +msgstr "" + +msgid "" +"However, you have the right to request environmental\n" +" information under a different law" +msgstr "" + +msgid "Human health and safety" +msgstr "" + +msgid "I am asking for <strong>new information</strong>" +msgstr "" + +msgid "I am requesting an <strong>internal review</strong>" +msgstr "" + +msgid "I don't like these ones — give me some more!" +msgstr "" + +msgid "I don't want to do any more tidying now!" +msgstr "" + +msgid "I like this request" +msgstr "" + +msgid "I would like to <strong>withdraw this request</strong>" +msgstr "" + +msgid "" +"I'm still <strong>waiting</strong> for my information\n" +" <small>(maybe you got an acknowledgement)</small>" +msgstr "" + +msgid "I'm still <strong>waiting</strong> for the internal review" +msgstr "" + +msgid "I'm waiting for an <strong>internal review</strong> response" +msgstr "" + +msgid "I've been asked to <strong>clarify</strong> my request" +msgstr "" + +msgid "I've received <strong>all the information" +msgstr "" + +msgid "I've received <strong>some of the information</strong>" +msgstr "" + +msgid "I've received an <strong>error message</strong>" +msgstr "" + +msgid "" +"If the address is wrong, or you know a better address, please <a " +"href=\"%s\">contact us</a>." +msgstr "" + +msgid "" +"If this is incorrect, or you would like to send a late response to the request\n" +"or an email on another subject to {{user}}, then please\n" +"email {{contact_email}} for help." +msgstr "" + +msgid "" +"If you are dissatisfied by the response you got from\n" +" the public authority, you have the right to\n" +" complain (<a href=\"%s\">details</a>)." +msgstr "" + +msgid "If you are still having trouble, please <a href=\"%s\">contact us</a>." +msgstr "" + +msgid "" +"If you are the requester, then you may <a href=\"%s\">sign in</a> to view " +"the request." +msgstr "" + +msgid "" +"If you are thinking of using a pseudonym,\n" +" please <a href=\"%s\">read this first</a>." +msgstr "" + +msgid "If you are {{user_link}}, please" +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 "" + +msgid "" +"If you can, scan in or photograph the response, and <strong>send us\n" +" a copy to upload</strong>." +msgstr "" + +msgid "" +"If you find this service useful as an FOI officer, please ask your web " +"manager to link to us from your organisation's FOI page." +msgstr "" + +msgid "" +"If you got the email <strong>more than six months ago</strong>, then this login link won't work any\n" +"more. Please try doing what you were doing from the beginning." +msgstr "" + +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 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 "" + +msgid "" +"If you would like us to lift this ban, then you may politely\n" +"<a href=\"/help/contact\">contact us</a> giving reasons.\n" +msgstr "" + +msgid "If you're new to {{site_name}}" +msgstr "" + +msgid "If you've used {{site_name}} before" +msgstr "" + +msgid "" +"If your browser is set to accept cookies and you are seeing this message,\n" +"then there is probably a fault with our server." +msgstr "" + +msgid "Incoming message" +msgstr "" + +msgid "IncomingMessage|Cached attachment text clipped" +msgstr "" + +msgid "IncomingMessage|Cached main body text folded" +msgstr "" + +msgid "IncomingMessage|Cached main body text unfolded" +msgstr "" + +msgid "IncomingMessage|Last parsed" +msgstr "" + +msgid "IncomingMessage|Mail from" +msgstr "" + +msgid "IncomingMessage|Mail from domain" +msgstr "" + +msgid "IncomingMessage|Sent at" +msgstr "" + +msgid "IncomingMessage|Subject" +msgstr "" + +msgid "IncomingMessage|Valid to reply to" +msgstr "" + +msgid "Info request" +msgstr "" + +msgid "Info request event" +msgstr "" + +msgid "InfoRequestEvent|Calculated state" +msgstr "" + +msgid "InfoRequestEvent|Described state" +msgstr "" + +msgid "InfoRequestEvent|Event type" +msgstr "" + +msgid "InfoRequestEvent|Last described at" +msgstr "" + +msgid "InfoRequestEvent|Params yaml" +msgstr "" + +msgid "InfoRequestEvent|Prominence" +msgstr "" + +msgid "InfoRequest|Allow new responses from" +msgstr "" + +msgid "InfoRequest|Attention requested" +msgstr "" + +msgid "InfoRequest|Awaiting description" +msgstr "" + +msgid "InfoRequest|Described state" +msgstr "" + +msgid "InfoRequest|Handle rejected responses" +msgstr "" + +msgid "InfoRequest|Idhash" +msgstr "" + +msgid "InfoRequest|Law used" +msgstr "" + +msgid "InfoRequest|Prominence" +msgstr "" + +msgid "InfoRequest|Title" +msgstr "" + +msgid "InfoRequest|Url title" +msgstr "" + +msgid "Information not held." +msgstr "" + +msgid "" +"Information on emissions and discharges (e.g. noise, energy,\n" +" radiation, waste materials)" +msgstr "" + +msgid "Internal review request" +msgstr "" + +msgid "" +"Is {{email_address}} the wrong address for {{type_of_request}} requests to " +"{{public_body_name}}? If so, please contact us using this form:" +msgstr "" + +msgid "" +"It may be that your browser is not set to accept a thing called \"cookies\",\n" +"or cannot do so. If you can, please enable cookies, or try using a different\n" +"browser. Then press refresh to have another go." +msgstr "" + +msgid "" +"Items matching the following conditions are currently displayed on your " +"wall." +msgstr "" + +msgid "Joined in" +msgstr "" + +msgid "Joined {{site_name}} in" +msgstr "" + +msgid "" +"Keep it <strong>focused</strong>, you'll be more likely to get what you want" +" (<a href=\"%s\">why?</a>)." +msgstr "" + +msgid "Keywords" +msgstr "" + +msgid "Last authority viewed: " +msgstr "" + +msgid "Last request viewed: " +msgstr "" + +msgid "" +"Let us know what you were doing when this message\n" +"appeared and your browser and operating system type and version." +msgstr "" + +msgid "Link to this" +msgstr "" + +msgid "List of all authorities (CSV)" +msgstr "" + +msgid "Log in to download a zip file of {{info_request_title}}" +msgstr "" + +msgid "Log into the admin interface" +msgstr "" + +msgid "Long overdue." +msgstr "" + +msgid "Made between" +msgstr "" + +msgid "Make a new <strong>Environmental Information</strong> request" +msgstr "" + +msgid "" +"Make a new <strong>Freedom of Information</strong> request to " +"{{public_body}}" +msgstr "" + +msgid "" +"Make a new<br/>\n" +" <strong>Freedom <span>of</span><br/>\n" +" Information<br/>\n" +" request</strong>" +msgstr "" + +msgid "Make a request" +msgstr "" + +msgid "Make an {{law_used_short}} request to '{{public_body_name}}'" +msgstr "" + +msgid "Make and browse Freedom of Information (FOI) requests" +msgstr "" + +msgid "Make your own request" +msgstr "" + +msgid "Message" +msgstr "" + +msgid "Message sent using {{site_name}} contact form, " +msgstr "" + +msgid "Missing contact details for '" +msgstr "" + +msgid "More about this authority" +msgstr "" + +msgid "More similar requests" +msgstr "" + +msgid "More successful requests..." +msgstr "" + +msgid "My profile" +msgstr "" + +msgid "My request has been <strong>refused</strong>" +msgstr "" + +msgid "My requests" +msgstr "" + +msgid "My wall" +msgstr "" + +msgid "Name can't be blank" +msgstr "" + +msgid "Name is already taken" +msgstr "" + +msgid "New Freedom of Information requests" +msgstr "" + +msgid "New e-mail:" +msgstr "" + +msgid "New email doesn't look like a valid address" +msgstr "" + +msgid "New password:" +msgstr "" + +msgid "New password: (again)" +msgstr "" + +msgid "New response to '{{title}}'" +msgstr "" + +msgid "New response to your FOI request - " +msgstr "" + +msgid "New response to your request" +msgstr "" + +msgid "New response to {{law_used_short}} request" +msgstr "" + +msgid "New updates for the request '{{request_title}}'" +msgstr "" + +msgid "Newest results first" +msgstr "" + +msgid "Next" +msgstr "" + +msgid "Next, crop your photo >>" +msgstr "" + +msgid "No requests of this sort yet." +msgstr "" + +msgid "No results found." +msgstr "" + +msgid "No similar requests found." +msgstr "" + +msgid "" +"Nobody has made any Freedom of Information requests to {{public_body_name}} " +"using this site yet." +msgstr "" + +msgid "None found." +msgstr "" + +msgid "None made." +msgstr "" + +msgid "" +"Note that the requester will not be notified about your annotation, because " +"the request was published by {{public_body_name}} on their behalf." +msgstr "" + +msgid "Now check your email!" +msgstr "" + +msgid "Now preview your annotation" +msgstr "" + +msgid "Now preview your follow up" +msgstr "" + +msgid "Now preview your message asking for an internal review" +msgstr "" + +msgid "OR remove the existing photo" +msgstr "" + +msgid "Offensive? Unsuitable?" +msgstr "" + +msgid "" +"Oh no! Sorry to hear that your request was refused. Here is what to do now." +msgstr "" + +msgid "Old e-mail:" +msgstr "" + +msgid "" +"Old email address isn't the same as the address of the account you are " +"logged in with" +msgstr "" + +msgid "Old email doesn't look like a valid address" +msgstr "" + +msgid "On this page" +msgstr "" + +msgid "One FOI request found" +msgstr "" + +msgid "One person found" +msgstr "" + +msgid "One public authority found" +msgstr "" + +msgid "Only requests made using {{site_name}} are shown." +msgstr "" + +msgid "" +"Only the authority can reply to this request, and I don't recognise the " +"address this reply was sent from" +msgstr "" + +msgid "" +"Only the authority can reply to this request, but there is no \"From\" " +"address to check against" +msgstr "" + +msgid "Or search in their website for this information." +msgstr "" + +msgid "Original request sent" +msgstr "" + +msgid "Other:" +msgstr "" + +msgid "Outgoing message" +msgstr "" + +msgid "OutgoingMessage|Body" +msgstr "" + +msgid "OutgoingMessage|Last sent at" +msgstr "" + +msgid "OutgoingMessage|Message type" +msgstr "" + +msgid "OutgoingMessage|Status" +msgstr "" + +msgid "OutgoingMessage|What doing" +msgstr "" + +msgid "Partially successful." +msgstr "" + +msgid "Password is not correct" +msgstr "" + +msgid "Password:" +msgstr "" + +msgid "Password: (again)" +msgstr "" + +msgid "Paste this link into emails, tweets, and anywhere else:" +msgstr "" + +msgid "People {{start_count}} to {{end_count}} of {{total_count}}" +msgstr "" + +msgid "Photo of you:" +msgstr "" + +msgid "Plans and administrative measures that affect these matters" +msgstr "" + +msgid "Play the request categorisation game" +msgstr "" + +msgid "Play the request categorisation game!" +msgstr "" + +msgid "Please" +msgstr "" + +msgid "Please <a href=\"%s\">get in touch</a> with us so we can fix it." +msgstr "" + +msgid "" +"Please <strong>answer the question above</strong> so we know whether the " +msgstr "" + +msgid "" +"Please <strong>go to the following requests</strong>, and let us\n" +" know if there was information in the recent responses to them." +msgstr "" + +msgid "" +"Please <strong>only</strong> write messages directly relating to your " +"request {{request_link}}. If you would like to ask for information that was " +"not in your original request, then <a href=\"{{new_request_link}}\">file a " +"new request</a>." +msgstr "" + +msgid "Please ask for environmental information only" +msgstr "" + +msgid "" +"Please check the URL (i.e. the long code of letters and numbers) is copied\n" +"correctly from your email." +msgstr "" + +msgid "Please choose a file containing your photo." +msgstr "" + +msgid "Please choose what sort of reply you are making." +msgstr "" + +msgid "" +"Please choose whether or not you got some of the information that you " +"wanted." +msgstr "" + +msgid "Please click on the link below to cancel or alter these emails." +msgstr "" + +msgid "" +"Please click on the link below to confirm that you want to \n" +"change the email address that you use for {{site_name}}\n" +"from {{old_email}} to {{new_email}}" +msgstr "" + +msgid "Please click on the link below to confirm your email address." +msgstr "" + +msgid "" +"Please describe more what the request is about in the subject. There is no " +"need to say it is an FOI request, we add that on anyway." +msgstr "" + +msgid "" +"Please don't upload offensive pictures. We will take down images\n" +" that we consider inappropriate." +msgstr "" + +msgid "Please enable \"cookies\" to carry on" +msgstr "" + +msgid "Please enter a password" +msgstr "" + +msgid "Please enter a subject" +msgstr "" + +msgid "Please enter a summary of your request" +msgstr "" + +msgid "Please enter a valid email address" +msgstr "" + +msgid "Please enter the message you want to send" +msgstr "" + +msgid "Please enter the same password twice" +msgstr "" + +msgid "Please enter your annotation" +msgstr "" + +msgid "Please enter your email address" +msgstr "" + +msgid "Please enter your follow up message" +msgstr "" + +msgid "Please enter your letter requesting information" +msgstr "" + +msgid "Please enter your name" +msgstr "" + +msgid "Please enter your name, not your email address, in the name field." +msgstr "" + +msgid "Please enter your new email address" +msgstr "" + +msgid "Please enter your old email address" +msgstr "" + +msgid "Please enter your password" +msgstr "" + +msgid "Please give details explaining why you want a review" +msgstr "" + +msgid "Please keep it shorter than 500 characters" +msgstr "" + +msgid "" +"Please keep the summary short, like in the subject of an email. You can use " +"a phrase, rather than a full sentence." +msgstr "" + +msgid "" +"Please only request information that comes under those categories, <strong>do not waste your\n" +" time</strong> or the time of the public authority by requesting unrelated information." +msgstr "" + +msgid "" +"Please select each of these requests in turn, and <strong>let everyone know</strong>\n" +"if they are successful yet or not." +msgstr "" + +msgid "" +"Please sign at the bottom with your name, or alter the \"%{signoff}\" " +"signature" +msgstr "" + +msgid "Please sign in as " +msgstr "" + +msgid "Please type a message and/or choose a file containing your response." +msgstr "" + +msgid "Please use the form below to tell us more." +msgstr "" + +msgid "Please use this email address for all replies to this request:" +msgstr "" + +msgid "Please write a summary with some text in it" +msgstr "" + +msgid "" +"Please write the summary using a mixture of capital and lower case letters. " +"This makes it easier for others to read." +msgstr "" + +msgid "" +"Please write your annotation using a mixture of capital and lower case " +"letters. This makes it easier for others to read." +msgstr "" + +msgid "" +"Please write your follow up message containing the necessary clarifications " +"below." +msgstr "" + +msgid "" +"Please write your message using a mixture of capital and lower case letters." +" This makes it easier for others to read." +msgstr "" + +msgid "" +"Point to <strong>related information</strong>, campaigns or forums which may" +" be useful." +msgstr "" + +msgid "Possibly related requests:" +msgstr "" + +msgid "Post annotation" +msgstr "" + +msgid "Post redirect" +msgstr "" + +msgid "PostRedirect|Circumstance" +msgstr "" + +msgid "PostRedirect|Email token" +msgstr "" + +msgid "PostRedirect|Post params yaml" +msgstr "" + +msgid "PostRedirect|Reason params yaml" +msgstr "" + +msgid "PostRedirect|Token" +msgstr "" + +msgid "PostRedirect|Uri" +msgstr "" + +msgid "Posted on {{date}} by {{author}}" +msgstr "" + +msgid "Powered by <a href=\"http://www.alaveteli.org/\">Alaveteli</a>" +msgstr "" + +msgid "Prev" +msgstr "" + +msgid "Preview follow up to '" +msgstr "" + +msgid "Preview new annotation on '{{info_request_title}}'" +msgstr "" + +msgid "Preview your annotation" +msgstr "" + +msgid "Preview your message" +msgstr "" + +msgid "Preview your public request" +msgstr "" + +msgid "Profile photo" +msgstr "" + +msgid "ProfilePhoto|Data" +msgstr "" + +msgid "ProfilePhoto|Draft" +msgstr "" + +msgid "Public authorities" +msgstr "" + +msgid "Public authorities - {{description}}" +msgstr "" + +msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}" +msgstr "" + +msgid "Public body" +msgstr "" + +msgid "Public body/translation" +msgstr "" + +msgid "PublicBody::Translation|First letter" +msgstr "" + +msgid "PublicBody::Translation|Locale" +msgstr "" + +msgid "PublicBody::Translation|Name" +msgstr "" + +msgid "PublicBody::Translation|Notes" +msgstr "" + +msgid "PublicBody::Translation|Publication scheme" +msgstr "" + +msgid "PublicBody::Translation|Request email" +msgstr "" + +msgid "PublicBody::Translation|Short name" +msgstr "" + +msgid "PublicBody::Translation|Url name" +msgstr "" + +msgid "PublicBody|First letter" +msgstr "" + +msgid "PublicBody|Home page" +msgstr "" + +msgid "PublicBody|Last edit comment" +msgstr "" + +msgid "PublicBody|Last edit editor" +msgstr "" + +msgid "PublicBody|Name" +msgstr "" + +msgid "PublicBody|Notes" +msgstr "" + +msgid "PublicBody|Publication scheme" +msgstr "" + +msgid "PublicBody|Request email" +msgstr "" + +msgid "PublicBody|Short name" +msgstr "" + +msgid "PublicBody|Url name" +msgstr "" + +msgid "PublicBody|Version" +msgstr "" + +msgid "Publication scheme" +msgstr "" + +msgid "Purge request" +msgstr "" + +msgid "PurgeRequest|Model" +msgstr "" + +msgid "PurgeRequest|Url" +msgstr "" + +msgid "RSS feed" +msgstr "" + +msgid "RSS feed of updates" +msgstr "" + +msgid "Re-edit this annotation" +msgstr "" + +msgid "Re-edit this message" +msgstr "" + +msgid "" +"Read about <a href=\"{{advanced_search_url}}\">advanced search " +"operators</a>, such as proximity and wildcards." +msgstr "" + +msgid "Read blog" +msgstr "" + +msgid "Received an error message, such as delivery failure." +msgstr "" + +msgid "Recently described results first" +msgstr "" + +msgid "Refused." +msgstr "" + +msgid "" +"Remember me</label> (keeps you signed in longer;\n" +" do not use on a public computer) " +msgstr "" + +msgid "Report abuse" +msgstr "" + +msgid "Report an offensive or unsuitable request" +msgstr "" + +msgid "Report this request" +msgstr "" + +msgid "Reported for administrator attention." +msgstr "" + +msgid "Request an internal review" +msgstr "" + +msgid "Request an internal review from {{person_or_body}}" +msgstr "" + +msgid "Request has been removed" +msgstr "" + +msgid "" +"Request sent to {{public_body_name}} by {{info_request_user}} on {{date}}." +msgstr "" + +msgid "" +"Request to {{public_body_name}} by {{info_request_user}}. Annotated by " +"{{event_comment_user}} on {{date}}." +msgstr "" + +msgid "" +"Requested from {{public_body_name}} by {{info_request_user}} on {{date}}" +msgstr "" + +msgid "Requested on {{date}}" +msgstr "" + +msgid "" +"Requests for personal information and vexatious requests are not considered " +"valid for FOI purposes (<a href=\"/help/about\">read more</a>)." +msgstr "" + +msgid "Requests or responses matching your saved search" +msgstr "" + +msgid "Respond by email" +msgstr "" + +msgid "Respond to request" +msgstr "" + +msgid "Respond to the FOI request" +msgstr "" + +msgid "Respond using the web" +msgstr "" + +msgid "Response" +msgstr "" + +msgid "Response from a public authority" +msgstr "" + +msgid "Response to '{{title}}'" +msgstr "" + +msgid "Response to this request is <strong>delayed</strong>." +msgstr "" + +msgid "Response to this request is <strong>long overdue</strong>." +msgstr "" + +msgid "Response to your request" +msgstr "" + +msgid "Response:" +msgstr "" + +msgid "Restrict to" +msgstr "" + +msgid "Results page {{page_number}}" +msgstr "" + +msgid "Save" +msgstr "" + +msgid "Search" +msgstr "" + +msgid "Search Freedom of Information requests, public authorities and users" +msgstr "" + +msgid "Search contributions by this person" +msgstr "" + +msgid "Search for words in:" +msgstr "" + +msgid "Search in" +msgstr "" + +msgid "" +"Search over<br/>\n" +" <strong>{{number_of_requests}} requests</strong> <span>and</span><br/>\n" +" <strong>{{number_of_authorities}} authorities</strong>" +msgstr "" + +msgid "Search results" +msgstr "" + +msgid "Search the site to find what you were looking for." +msgstr "" + +msgid "Search within the %d Freedom of Information requests to %s" +msgid_plural "Search within the %d Freedom of Information requests made to %s" +msgstr[0] "" +msgstr[1] "" + +msgid "Search your contributions" +msgstr "" + +msgid "Select one to see more information about the authority." +msgstr "" + +msgid "Select the authority to write to" +msgstr "" + +msgid "Send a followup" +msgstr "" + +msgid "Send a message to " +msgstr "" + +msgid "Send a public follow up message to {{person_or_body}}" +msgstr "" + +msgid "Send a public reply to {{person_or_body}}" +msgstr "" + +msgid "Send follow up to '{{title}}'" +msgstr "" + +msgid "Send message" +msgstr "" + +msgid "Send message to " +msgstr "" + +msgid "Send request" +msgstr "" + +msgid "Set your profile photo" +msgstr "" + +msgid "Short name is already taken" +msgstr "" + +msgid "Show most relevant results first" +msgstr "" + +msgid "Show only..." +msgstr "" + +msgid "Showing" +msgstr "" + +msgid "Sign in" +msgstr "" + +msgid "Sign in or make a new account" +msgstr "" + +msgid "Sign in or sign up" +msgstr "" + +msgid "Sign out" +msgstr "" + +msgid "Sign up" +msgstr "" + +msgid "Similar requests" +msgstr "" + +msgid "Simple search" +msgstr "" + +msgid "Some notes have been added to your FOI request - " +msgstr "" + +msgid "Some of the information requested has been received" +msgstr "" + +msgid "" +"Some people who've made requests haven't let us know whether they were\n" +"successful or not. We need <strong>your</strong> help –\n" +"choose one of these requests, read it, and let everyone know whether or not the\n" +"information has been provided. Everyone'll be exceedingly grateful." +msgstr "" + +msgid "Somebody added a note to your FOI request - " +msgstr "" + +msgid "" +"Someone, perhaps you, just tried to change their email address on\n" +"{{site_name}} from {{old_email}} to {{new_email}}." +msgstr "" + +msgid "" +"Sorry - you cannot respond to this request via {{site_name}}, because this " +"is a copy of the request originally at {{link_to_original_request}}." +msgstr "" + +msgid "Sorry, but only {{user_name}} is allowed to do that." +msgstr "" + +msgid "Sorry, there was a problem processing this page" +msgstr "" + +msgid "Sorry, we couldn't find that page" +msgstr "" + +msgid "Special note for this authority!" +msgstr "" + +msgid "Start" +msgstr "" + +msgid "Start now »" +msgstr "" + +msgid "Start your own blog" +msgstr "" + +msgid "Stay up to date" +msgstr "" + +msgid "Still awaiting an <strong>internal review</strong>" +msgstr "" + +msgid "Subject" +msgstr "" + +msgid "Subject:" +msgstr "" + +msgid "Submit" +msgstr "" + +msgid "Submit status" +msgstr "" + +msgid "Subscribe to blog" +msgstr "" + +msgid "Successful Freedom of Information requests" +msgstr "" + +msgid "Successful." +msgstr "" + +msgid "" +"Suggest how the requester can find the <strong>rest of the " +"information</strong>." +msgstr "" + +msgid "Summary:" +msgstr "" + +msgid "Table of statuses" +msgstr "" + +msgid "Table of varieties" +msgstr "" + +msgid "Tags (separated by a space):" +msgstr "" + +msgid "Tags:" +msgstr "" + +msgid "Technical details" +msgstr "" + +msgid "Thank you for helping us keep the site tidy!" +msgstr "" + +msgid "Thank you for making an annotation!" +msgstr "" + +msgid "" +"Thank you for responding to this FOI request! Your response has been " +"published below, and a link to your response has been emailed to " +msgstr "" + +msgid "" +"Thank you for updating the status of the request '<a " +"href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests " +"below for you to classify." +msgstr "" + +msgid "Thank you for updating this request!" +msgstr "" + +msgid "Thank you for updating your profile photo" +msgstr "" + +msgid "" +"Thanks for helping - your work will make it easier for everyone to find successful\n" +"responses, and maybe even let us make league tables..." +msgstr "" + +msgid "" +"Thanks very much - this will help others find useful stuff. We'll\n" +" also, if you need it, give advice on what to do next about your\n" +" requests." +msgstr "" + +msgid "" +"Thanks very much for helping keep everything <strong>neat and organised</strong>.\n" +" We'll also, if you need it, give you advice on what to do next about each of your\n" +" requests." +msgstr "" + +msgid "" +"That doesn't look like a valid email address. Please check you have typed it" +" correctly." +msgstr "" + +msgid "The <strong>review has finished</strong> and overall:" +msgstr "" + +msgid "The Freedom of Information Act <strong>does not apply</strong> to" +msgstr "" + +msgid "The accounts have been left as they previously were." +msgstr "" + +msgid "" +"The authority do <strong>not have</strong> the information <small>(maybe " +"they say who does)" +msgstr "" + +msgid "" +"The authority only has a <strong>paper copy</strong> of the information." +msgstr "" + +msgid "" +"The authority say that they <strong>need a postal\n" +" address</strong>, not just an email, for it to be a valid FOI request" +msgstr "" + +msgid "" +"The authority would like to / has <strong>responded by post</strong> to this" +" request." +msgstr "" + +msgid "" +"The email that you, on behalf of {{public_body}}, sent to\n" +"{{user}} to reply to an {{law_used_short}}\n" +"request has not been delivered." +msgstr "" + +msgid "The page doesn't exist. Things you can try now:" +msgstr "" + +msgid "The public authority does not have the information requested" +msgstr "" + +msgid "The public authority would like part of the request explained" +msgstr "" + +msgid "The public authority would like to / has responded by post" +msgstr "" + +msgid "The request has been <strong>refused</strong>" +msgstr "" + +msgid "" +"The request has been updated since you originally loaded this page. Please " +"check for any new incoming messages below, and try again." +msgstr "" + +msgid "The request is <strong>waiting for clarification</strong>." +msgstr "" + +msgid "The request was <strong>partially successful</strong>." +msgstr "" + +msgid "The request was <strong>refused</strong> by" +msgstr "" + +msgid "The request was <strong>successful</strong>." +msgstr "" + +msgid "The request was refused by the public authority" +msgstr "" + +msgid "" +"The request you have tried to view has been removed. There are\n" +"various reasons why we might have done this, sorry we can't be more specific here. Please <a\n" +" href=\"%s\">contact us</a> if you have any questions." +msgstr "" + +msgid "The requester has abandoned this request for some reason" +msgstr "" + +msgid "" +"The response to your request has been <strong>delayed</strong>. You can say that, \n" +" by law, the authority should normally have responded\n" +" <strong>promptly</strong> and" +msgstr "" + +msgid "" +"The response to your request is <strong>long overdue</strong>. You can say that, by \n" +" law, under all circumstances, the authority should have responded\n" +" by now" +msgstr "" + +msgid "" +"The search index is currently offline, so we can't show the Freedom of " +"Information requests that have been made to this authority." +msgstr "" + +msgid "" +"The search index is currently offline, so we can't show the Freedom of " +"Information requests this person has made." +msgstr "" + +msgid "Then you can cancel the alert." +msgstr "" + +msgid "Then you can cancel the alerts." +msgstr "" + +msgid "Then you can change your email address used on {{site_name}}" +msgstr "" + +msgid "Then you can change your password on {{site_name}}" +msgstr "" + +msgid "Then you can classify the FOI response you have got from " +msgstr "" + +msgid "Then you can download a zip file of {{info_request_title}}." +msgstr "" + +msgid "Then you can log into the administrative interface" +msgstr "" + +msgid "Then you can play the request categorisation game." +msgstr "" + +msgid "Then you can report the request '{{title}}'" +msgstr "" + +msgid "Then you can send a message to " +msgstr "" + +msgid "Then you can sign in to {{site_name}}" +msgstr "" + +msgid "Then you can update the status of your request to " +msgstr "" + +msgid "Then you can upload an FOI response. " +msgstr "" + +msgid "Then you can write follow up message to " +msgstr "" + +msgid "Then you can write your reply to " +msgstr "" + +msgid "Then you will be following all new FOI requests." +msgstr "" + +msgid "" +"Then you will be notified whenever '{{user_name}}' requests something or " +"gets a response." +msgstr "" + +msgid "" +"Then you will be notified whenever a new request or response matches your " +"search." +msgstr "" + +msgid "Then you will be notified whenever an FOI request succeeds." +msgstr "" + +msgid "" +"Then you will be notified whenever someone requests something or gets a " +"response from '{{public_body_name}}'." +msgstr "" + +msgid "" +"Then you will be updated whenever the request '{{request_title}}' is " +"updated." +msgstr "" + +msgid "Then you'll be allowed to send FOI requests." +msgstr "" + +msgid "Then your FOI request to {{public_body_name}} will be sent." +msgstr "" + +msgid "Then your annotation to {{info_request_title}} will be posted." +msgstr "" + +msgid "" +"There are {{count}} new annotations on your {{info_request}} request. Follow" +" this link to see what they wrote." +msgstr "" + +msgid "There is %d person following this request" +msgid_plural "There are %d people following this request" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"There is <strong>more than one person</strong> who uses this site and has this name.\n" +" One of them is shown below, you may mean a different one:" +msgstr "" + +msgid "" +"There is a limit on the number of requests you can make in a day, because we" +" don’t want public authorities to be bombarded with large numbers of " +"inappropriate requests. If you feel you have a good reason to ask for the " +"limit to be lifted in your case, please <a href='{{help_contact_path}}'>get " +"in touch</a>." +msgstr "" + +msgid "" +"There was a <strong>delivery error</strong> or similar, which needs fixing " +"by the {{site_name}} team." +msgstr "" + +msgid "There was an error with the words you entered, please try again." +msgstr "" + +msgid "There were no requests matching your query." +msgstr "" + +msgid "There were no results matching your query." +msgstr "" + +msgid "They are going to reply <strong>by post</strong>" +msgstr "" + +msgid "" +"They do <strong>not have</strong> the information <small>(maybe they say who" +" does)</small>" +msgstr "" + +msgid "They have been given the following explanation:" +msgstr "" + +msgid "" +"They have not replied to your {{law_used_short}} request {{title}} promptly," +" as normally required by law" +msgstr "" + +msgid "" +"They have not replied to your {{law_used_short}} request {{title}}, \n" +"as required by law" +msgstr "" + +msgid "Things to do with this request" +msgstr "" + +msgid "Things you're following" +msgstr "" + +msgid "This authority no longer exists, so you cannot make a request to it." +msgstr "" + +msgid "" +"This comment has been hidden. See annotations to\n" +" find out why. If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response." +msgstr "" + +msgid "" +"This covers a very wide spectrum of information about the state of\n" +" the <strong>natural and built environment</strong>, such as:" +msgstr "" + +msgid "" +"This is a plain-text version of the Freedom of Information request " +"\"{{request_title}}\". The latest, full version is available online at " +"{{full_url}}" +msgstr "" + +msgid "" +"This is an HTML version of an attachment to the Freedom of Information " +"request" +msgstr "" + +msgid "" +"This is because {{title}} is an old request that has been\n" +"marked to no longer receive responses." +msgstr "" + +msgid "" +"This is your own request, so you will be automatically emailed when new " +"responses arrive." +msgstr "" + +msgid "" +"This outgoing message has been hidden. See annotations to\n" +"\t\t\t\t\t\tfind out why. If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response." +msgstr "" + +msgid "This particular request is finished:" +msgstr "" + +msgid "" +"This person has made no Freedom of Information requests using this site." +msgstr "" + +msgid "This person's %d Freedom of Information request" +msgid_plural "This person's %d Freedom of Information requests" +msgstr[0] "" +msgstr[1] "" + +msgid "This person's %d annotation" +msgid_plural "This person's %d annotations" +msgstr[0] "" +msgstr[1] "" + +msgid "This person's annotations" +msgstr "" + +msgid "This request <strong>requires administrator attention</strong>" +msgstr "" + +msgid "This request has already been reported for administrator attention" +msgstr "" + +msgid "This request has an <strong>unknown status</strong>." +msgstr "" + +msgid "" +"This request has been <strong>hidden</strong> from the site, because an " +"administrator considers it not to be an FOI request" +msgstr "" + +msgid "" +"This request has been <strong>hidden</strong> from the site, because an " +"administrator considers it vexatious" +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 "" + +msgid "" +"This request has been <strong>withdrawn</strong> by the person who made it. \n" +" \t There may be an explanation in the correspondence below." +msgstr "" + +msgid "" +"This request has been marked for review by the site administrators, who have" +" not hidden it at this time. If you believe it should be hidden, please <a " +"href=\"%s\">contact us</a>." +msgstr "" + +msgid "This request has been reported for administrator attention" +msgstr "" + +msgid "" +"This request has been set by an administrator to \"allow new responses from " +"nobody\"" +msgstr "" + +msgid "" +"This request has had an unusual response, and <strong>requires " +"attention</strong> from the {{site_name}} team." +msgstr "" + +msgid "" +"This request has prominence 'hidden'. You can only see it because you are logged\n" +" in as a super user." +msgstr "" + +msgid "" +"This request is hidden, so that only you the requester can see it. Please\n" +" <a href=\"%s\">contact us</a> if you are not sure why." +msgstr "" + +msgid "This request is still in progress:" +msgstr "" + +msgid "This request was not made via {{site_name}}" +msgstr "" + +msgid "" +"This response has been hidden. See annotations to find out why.\n" +" If you are the requester, then you may <a href=\"%s\">sign in</a> to view the response." +msgstr "" + +msgid "" +"This table shows the technical details of the internal events that happened\n" +"to this request on {{site_name}}. This could be used to generate information about\n" +"the speed with which authorities respond to requests, the number of requests\n" +"which require a postal response and much more." +msgstr "" + +msgid "This user has been banned from {{site_name}} " +msgstr "" + +msgid "" +"This was not possible because there is already an account using \n" +"the email address {{email}}." +msgstr "" + +msgid "To cancel these alerts" +msgstr "" + +msgid "To cancel this alert" +msgstr "" + +msgid "" +"To carry on, you need to sign in or make an account. Unfortunately, there\n" +"was a technical problem trying to do this." +msgstr "" + +msgid "To change your email address used on {{site_name}}" +msgstr "" + +msgid "To classify the response to this FOI request" +msgstr "" + +msgid "To do that please send a private email to " +msgstr "" + +msgid "To do this, first click on the link below." +msgstr "" + +msgid "To download the zip file" +msgstr "" + +msgid "To follow all successful requests" +msgstr "" + +msgid "To follow new requests" +msgstr "" + +msgid "To follow requests and responses matching your search" +msgstr "" + +msgid "To follow requests by '{{user_name}}'" +msgstr "" + +msgid "" +"To follow requests made using {{site_name}} to the public authority " +"'{{public_body_name}}'" +msgstr "" + +msgid "To follow the request '{{request_title}}'" +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 "" + +msgid "" +"To let everyone know, follow this link and then select the appropriate box." +msgstr "" + +msgid "To log into the administrative interface" +msgstr "" + +msgid "To play the request categorisation game" +msgstr "" + +msgid "To post your annotation" +msgstr "" + +msgid "To reply to " +msgstr "" + +msgid "To report this FOI request" +msgstr "" + +msgid "To send a follow up message to " +msgstr "" + +msgid "To send a message to " +msgstr "" + +msgid "To send your FOI request" +msgstr "" + +msgid "To update the status of this FOI request" +msgstr "" + +msgid "" +"To upload a response, you must be logged in using an email address from " +msgstr "" + +msgid "" +"To use the advanced search, combine phrases and labels as described in the " +"search tips below." +msgstr "" + +msgid "" +"To view the email address that we use to send FOI requests to " +"{{public_body_name}}, please enter these words." +msgstr "" + +msgid "To view the response, click on the link below." +msgstr "" + +msgid "To {{public_body_link_absolute}}" +msgstr "" + +msgid "To:" +msgstr "" + +msgid "Today" +msgstr "" + +msgid "Too many requests" +msgstr "" + +msgid "Top search results:" +msgstr "" + +msgid "Track thing" +msgstr "" + +msgid "Track this person" +msgstr "" + +msgid "Track this search" +msgstr "" + +msgid "TrackThing|Track medium" +msgstr "" + +msgid "TrackThing|Track query" +msgstr "" + +msgid "TrackThing|Track type" +msgstr "" + +msgid "Turn off email alerts" +msgstr "" + +msgid "Tweet this request" +msgstr "" + +msgid "" +"Type <strong><code>01/01/2008..14/01/2008</code></strong> to only show " +"things that happened in the first two weeks of January." +msgstr "" + +msgid "URL name can't be blank" +msgstr "" + +msgid "Unable to change email address on {{site_name}}" +msgstr "" + +msgid "Unable to send a reply to {{username}}" +msgstr "" + +msgid "Unable to send follow up message to {{username}}" +msgstr "" + +msgid "Unexpected search result type" +msgstr "" + +msgid "Unexpected search result type " +msgstr "" + +msgid "" +"Unfortunately we don't know the FOI\n" +"email address for that authority, so we can't validate this.\n" +"Please <a href=\"%s\">contact us</a> to sort it out." +msgstr "" + +msgid "" +"Unfortunately, we do not have a working {{info_request_law_used_full}}\n" +"address for" +msgstr "" + +msgid "Unknown" +msgstr "" + +msgid "Unusual response." +msgstr "" + +msgid "Update the status of this request" +msgstr "" + +msgid "Update the status of your request to " +msgstr "" + +msgid "" +"Use OR (in capital letters) where you don't mind which word, e.g. " +"<strong><code>commons OR lords</code></strong>" +msgstr "" + +msgid "" +"Use quotes when you want to find an exact phrase, e.g. " +"<strong><code>\"Liverpool City Council\"</code></strong>" +msgstr "" + +msgid "User" +msgstr "" + +msgid "User info request sent alert" +msgstr "" + +msgid "UserInfoRequestSentAlert|Alert type" +msgstr "" + +msgid "User|About me" +msgstr "" + +msgid "User|Admin level" +msgstr "" + +msgid "User|Ban text" +msgstr "" + +msgid "User|Email" +msgstr "" + +msgid "User|Email bounce message" +msgstr "" + +msgid "User|Email bounced at" +msgstr "" + +msgid "User|Email confirmed" +msgstr "" + +msgid "User|Hashed password" +msgstr "" + +msgid "User|Last daily track email" +msgstr "" + +msgid "User|Locale" +msgstr "" + +msgid "User|Name" +msgstr "" + +msgid "User|No limit" +msgstr "" + +msgid "User|Receive email alerts" +msgstr "" + +msgid "User|Salt" +msgstr "" + +msgid "User|Url name" +msgstr "" + +msgid "View FOI email address" +msgstr "" + +msgid "View FOI email address for '{{public_body_name}}'" +msgstr "" + +msgid "View FOI email address for {{public_body_name}}" +msgstr "" + +msgid "View Freedom of Information requests made by {{user_name}}:" +msgstr "" + +msgid "View and search requests" +msgstr "" + +msgid "View authorities" +msgstr "" + +msgid "View email" +msgstr "" + +msgid "View requests" +msgstr "" + +msgid "Waiting clarification." +msgstr "" + +msgid "" +"Waiting for an <strong>internal review</strong> by {{public_body_link}} of " +"their handling of this request." +msgstr "" + +msgid "" +"Waiting for the public authority to complete an internal review of their " +"handling of the request" +msgstr "" + +msgid "Waiting for the public authority to reply" +msgstr "" + +msgid "Was the response you got to your FOI request any good?" +msgstr "" + +msgid "We do not have a working request email address for this authority." +msgstr "" + +msgid "" +"We do not have a working {{law_used_full}} address for {{public_body_name}}." +msgstr "" + +msgid "" +"We don't know whether the most recent response to this request contains\n" +" information or not\n" +" –\n" +"\tif you are {{user_link}} please <a href=\"{{url}}\">sign in</a> and let everyone know." +msgstr "" + +msgid "" +"We will not reveal your email address to anybody unless you\n" +"or the law tell us to." +msgstr "" + +msgid "" +"We will not reveal your email address to anybody unless you or\n" +" the law tell us to (<a href=\"%s\">details</a>). " +msgstr "" + +msgid "" +"We will not reveal your email addresses to anybody unless you\n" +"or the law tell us to." +msgstr "" + +msgid "We're waiting for" +msgstr "" + +msgid "We're waiting for someone to read" +msgstr "" + +msgid "" +"We've sent an email to your new email address. You'll need to click the link in\n" +"it before your email address will be changed." +msgstr "" + +msgid "" +"We've sent you an email, and you'll need to click the link in it before you can\n" +"continue." +msgstr "" + +msgid "" +"We've sent you an email, click the link in it, then you can change your " +"password." +msgstr "" + +msgid "What are you doing?" +msgstr "" + +msgid "What best describes the status of this request now?" +msgstr "" + +msgid "What information has been released?" +msgstr "" + +msgid "" +"When you get there, please update the status to say if the response \n" +"contains any useful information." +msgstr "" + +msgid "" +"When you receive the paper response, please help\n" +" others find out what it says:" +msgstr "" + +msgid "" +"When you're done, <strong>come back here</strong>, <a href=\"%s\">reload " +"this page</a> and file your new request." +msgstr "" + +msgid "Which of these is happening?" +msgstr "" + +msgid "Who can I request information from?" +msgstr "" + +msgid "Withdrawn by the requester." +msgstr "" + +msgid "Wk" +msgstr "" + +msgid "Would you like to see a website like this in your country?" +msgstr "" + +msgid "Write a reply" +msgstr "" + +msgid "Write a reply to " +msgstr "" + +msgid "Write your FOI follow up message to " +msgstr "" + +msgid "Write your request in <strong>simple, precise language</strong>." +msgstr "" + +msgid "You" +msgstr "" + +msgid "You are already following new requests" +msgstr "" + +msgid "You are already following requests to {{public_body_name}}" +msgstr "" + +msgid "You are already following things matching this search" +msgstr "" + +msgid "You are already following this person" +msgstr "" + +msgid "You are already following this request" +msgstr "" + +msgid "You are already following updates about {{track_description}}" +msgstr "" + +msgid "" +"You are currently receiving notification of new activity on your wall by " +"email." +msgstr "" + +msgid "You are following all new successful responses" +msgstr "" + +msgid "You are no longer following {{track_description}}" +msgstr "" + +msgid "" +"You are now <a href=\"{{wall_url_user}}\">following</a> updates about " +"{{track_description}}" +msgstr "" + +msgid "You can <strong>complain</strong> by" +msgstr "" + +msgid "" +"You can change the requests and users you are following on <a " +"href=\"{{profile_url}}\">your profile page</a>." +msgstr "" + +msgid "" +"You can get this page in computer-readable format as part of the main JSON\n" +"page for the request. See the <a href=\"{{api_path}}\">API documentation</a>." +msgstr "" + +msgid "" +"You can only request information about the environment from this authority." +msgstr "" + +msgid "You have a new response to the {{law_used_full}} request " +msgstr "" + +msgid "" +"You have found a bug. Please <a href=\"{{contact_url}}\">contact us</a> to " +"tell us about the problem" +msgstr "" + +msgid "" +"You have hit the rate limit on new requests. Users are ordinarily limited to" +" {{max_requests_per_user_per_day}} requests in any rolling 24-hour period. " +"You will be able to make another request in {{can_make_another_request}}." +msgstr "" + +msgid "You have made no Freedom of Information requests using this site." +msgstr "" + +msgid "You have now changed the text about you on your profile." +msgstr "" + +msgid "You have now changed your email address used on {{site_name}}" +msgstr "" + +msgid "" +"You just tried to sign up to {{site_name}}, when you\n" +"already have an account. Your name and password have been\n" +"left as they previously were.\n" +"\n" +"Please click on the link below." +msgstr "" + +msgid "" +"You know what caused the error, and can <strong>suggest a solution</strong>," +" such as a working email address." +msgstr "" + +msgid "" +"You may <strong>include attachments</strong>. If you would like to attach a\n" +" file too large for email, use the form below." +msgstr "" + +msgid "" +"You may be able to find\n" +" one on their website, or by phoning them up and asking. If you manage\n" +" to find one, then please <a href=\"%s\">send it to us</a>." +msgstr "" + +msgid "" +"You may be able to find\n" +"one on their website, or by phoning them up and asking. If you manage\n" +"to find one, then please <a href=\"{{help_url}}\">send it to us</a>." +msgstr "" + +msgid "You need to be logged in to change the text about you on your profile." +msgstr "" + +msgid "You need to be logged in to change your profile photo." +msgstr "" + +msgid "You need to be logged in to clear your profile photo." +msgstr "" + +msgid "You need to be logged in to edit your profile." +msgstr "" + +msgid "" +"You previously submitted that exact follow up message for this request." +msgstr "" + +msgid "" +"You should have received a copy of the request by email, and you can respond\n" +" by <strong>simply replying</strong> to that email. For your convenience, here is the address:" +msgstr "" + +msgid "" +"You want to <strong>give your postal address</strong> to the authority in " +"private." +msgstr "" + +msgid "" +"You will be unable to make new requests, send follow ups, add annotations or\n" +"send messages to other users. You may continue to view other requests, and set\n" +"up\n" +"email alerts." +msgstr "" + +msgid "You will no longer be emailed updates for those alerts" +msgstr "" + +msgid "" +"You will now be emailed updates about {{track_description}}. <a " +"href=\"{{change_email_alerts_url}}\">Prefer not to receive emails?</a>" +msgstr "" + +msgid "" +"You will only get an answer to your request if you follow up\n" +"with the clarification." +msgstr "" + +msgid "You're long overdue a response to your FOI request - " +msgstr "" + +msgid "You're not following anything." +msgstr "" + +msgid "You've now cleared your profile photo" +msgstr "" + +msgid "Your %d Freedom of Information request" +msgid_plural "Your %d Freedom of Information requests" +msgstr[0] "" +msgstr[1] "" + +msgid "Your %d annotation" +msgid_plural "Your %d annotations" +msgstr[0] "" +msgstr[1] "" + +msgid "" +"Your <strong>name will appear publicly</strong> \n" +" (<a href=\"%s\">why?</a>)\n" +" on this website and in search engines. If you\n" +" are thinking of using a pseudonym, please \n" +" <a href=\"%s\">read this first</a>." +msgstr "" + +msgid "Your annotations" +msgstr "" + +msgid "" +"Your details 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 "" + +msgid "Your e-mail:" +msgstr "" + +msgid "" +"Your follow up has not been sent because this request has been stopped to " +"prevent spam. Please <a href=\"%s\">contact us</a> if you really want to " +"send a follow up message." +msgstr "" + +msgid "Your follow up message has been sent on its way." +msgstr "" + +msgid "Your internal review request has been sent on its way." +msgstr "" + +msgid "" +"Your message has been sent. Thank you for getting in touch! We'll get back " +"to you soon." +msgstr "" + +msgid "Your message to {{recipient_user_name}} has been sent" +msgstr "" + +msgid "Your message to {{recipient_user_name}} has been sent!" +msgstr "" + +msgid "Your message will appear in <strong>search engines</strong>" +msgstr "" + +msgid "" +"Your name and annotation will appear in <strong>search engines</strong>." +msgstr "" + +msgid "" +"Your name, request and any responses will appear in <strong>search engines</strong>\n" +" (<a href=\"%s\">details</a>)." +msgstr "" + +msgid "Your name:" +msgstr "" + +msgid "Your original message is attached." +msgstr "" + +msgid "Your password has been changed." +msgstr "" + +msgid "Your password:" +msgstr "" + +msgid "" +"Your photo will be shown in public <strong>on the Internet</strong>,\n" +" wherever you do something on {{site_name}}." +msgstr "" + +msgid "" +"Your request was called {{info_request}}. Letting everyone know whether you " +"got the information will help us keep tabs on" +msgstr "" + +msgid "Your request:" +msgstr "" + +msgid "" +"Your response will <strong>appear on the Internet</strong>, <a " +"href=\"%s\">read why</a> and answers to other questions." +msgstr "" + +msgid "" +"Your thoughts on what the {{site_name}} <strong>administrators</strong> " +"should do about the request." +msgstr "" + +msgid "Your {{site_name}} email alert" +msgstr "" + +msgid "Yours faithfully," +msgstr "" + +msgid "Yours sincerely," +msgstr "" + +msgid "[FOI #{{request}} email]" +msgstr "" + +msgid "[{{public_body}} request email]" +msgstr "" + +msgid "[{{site_name}} contact email]" +msgstr "" + +msgid "" +"a one line summary of the information you are requesting, \n" +"\t\t\te.g." +msgstr "" + +msgid "admin" +msgstr "" + +msgid "all requests" +msgstr "" + +msgid "also called {{public_body_short_name}}" +msgstr "" + +msgid "and" +msgstr "" + +msgid "" +"and update the status accordingly. Perhaps <strong>you</strong> might like " +"to help out by doing that?" +msgstr "" + +msgid "and update the status." +msgstr "" + +msgid "and we'll suggest <strong>what to do next</strong>" +msgstr "" + +msgid "answered a request about" +msgstr "" + +msgid "any <a href=\"/list\">new requests</a>" +msgstr "" + +msgid "any <a href=\"/list/successful\">successful requests</a>" +msgstr "" + +msgid "anything" +msgstr "" + +msgid "are long overdue." +msgstr "" + +msgid "authorities" +msgstr "" + +msgid "awaiting a response" +msgstr "" + +msgid "beginning with ‘{{first_letter}}’" +msgstr "" + +msgid "between two dates" +msgstr "" + +msgid "by" +msgstr "" + +msgid "by <strong>{{date}}</strong>" +msgstr "" + +msgid "by {{public_body_name}} to {{info_request_user}} on {{date}}." +msgstr "" + +msgid "by {{user_link_absolute}}" +msgstr "" + +msgid "comments" +msgstr "" + +msgid "" +"containing your postal address, and asking them to reply to this request.\n" +" Or you could phone them." +msgstr "" + +msgid "details" +msgstr "" + +msgid "display_status only works for incoming and outgoing messages right now" +msgstr "" + +msgid "during term time" +msgstr "" + +msgid "edit text about you" +msgstr "" + +msgid "even during holidays" +msgstr "" + +msgid "everything" +msgstr "" + +msgid "has reported an" +msgstr "" + +msgid "have delayed." +msgstr "" + +msgid "hide quoted sections" +msgstr "" + +msgid "in term time" +msgstr "" + +msgid "in the category ‘{{category_name}}’" +msgstr "" + +msgid "internal error" +msgstr "" + +msgid "internal reviews" +msgstr "" + +msgid "is <strong>waiting for your clarification</strong>." +msgstr "" + +msgid "just to see how it works" +msgstr "" + +msgid "left an annotation" +msgstr "" + +msgid "made." +msgstr "" + +msgid "matching the tag ‘{{tag_name}}’" +msgstr "" + +msgid "messages from authorities" +msgstr "" + +msgid "messages from users" +msgstr "" + +msgid "no later than" +msgstr "" + +msgid "" +"no longer exists. If you are trying to make\n" +" From the request page, try replying to a particular message, rather than sending\n" +" a general followup. If you need to make a general followup, and know\n" +" an email which will go to the right place, please <a href=\"%s\">send it to us</a>." +msgstr "" + +msgid "normally" +msgstr "" + +msgid "please sign in as " +msgstr "" + +msgid "requesting an internal review" +msgstr "" + +msgid "requests" +msgstr "" + +msgid "requests which are {{list_of_statuses}}" +msgstr "" + +msgid "" +"response as needing administrator attention. Take a look, and reply to this\n" +"email to let them know what you are going to do about it." +msgstr "" + +msgid "send a follow up message" +msgstr "" + +msgid "sent to {{public_body_name}} by {{info_request_user}} on {{date}}." +msgstr "" + +msgid "show quoted sections" +msgstr "" + +msgid "sign in" +msgstr "" + +msgid "simple_date_format" +msgstr "" + +msgid "successful" +msgstr "" + +msgid "successful requests" +msgstr "" + +msgid "that you made to" +msgstr "" + +msgid "the main FOI contact address for {{public_body}}" +msgstr "" + +msgid "the main FOI contact at {{public_body}}" +msgstr "" + +msgid "the {{site_name}} team" +msgstr "" + +msgid "to read" +msgstr "" + +msgid "to send a follow up message." +msgstr "" + +msgid "to {{public_body}}" +msgstr "" + +msgid "unexpected prominence on request event" +msgstr "" + +msgid "unknown reason " +msgstr "" + +msgid "unknown status " +msgstr "" + +msgid "unresolved requests" +msgstr "" + +msgid "unsubscribe" +msgstr "" + +msgid "unsubscribe all" +msgstr "" + +msgid "unsuccessful" +msgstr "" + +msgid "unsuccessful requests" +msgstr "" + +msgid "useful information." +msgstr "" + +msgid "users" +msgstr "" + +msgid "{{count}} FOI requests found" +msgstr "" + +msgid "" +"{{existing_request_user}} already\n" +" created the same request on {{date}}. You can either view the <a href=\"{{existing_request}}\">existing request</a>,\n" +" or edit the details below to make a new but similar request." +msgstr "" + +msgid "{{info_request_user_name}} only:" +msgstr "" + +msgid "{{law_used_full}} request - {{title}}" +msgstr "" + +msgid "{{law_used_full}} request GQ - {{title}}" +msgstr "" + +msgid "{{law_used}} requests at {{public_body}}" +msgstr "" + +msgid "{{length_of_time}} ago" +msgstr "" + +msgid "{{list_of_things}} matching text '{{search_query}}'" +msgstr "" + +msgid "{{number_of_comments}} comments" +msgstr "" + +msgid "{{public_body_name}} only:" +msgstr "" + +msgid "" +"{{public_body}} has asked you to explain part of your {{law_used}} request." +msgstr "" + +msgid "{{public_body}} sent a response to {{user_name}}" +msgstr "" + +msgid "{{search_results}} matching '{{query}}'" +msgstr "" + +msgid "{{site_name}} blog and tweets" +msgstr "" + +msgid "" +"{{site_name}} covers requests to {{number_of_authorities}} authorities, " +"including:" +msgstr "" + +msgid "" +"{{site_name}} sends new requests to <strong>{{request_email}}</strong> for " +"this authority." +msgstr "" + +msgid "" +"{{site_name}} users have made {{number_of_requests}} requests, including:" +msgstr "" + +msgid "{{title}} - a Freedom of Information request to {{public_body}}" +msgstr "" + +msgid "{{user_name}} (Account suspended)" +msgstr "" + +msgid "{{user_name}} - Freedom of Information requests" +msgstr "" + +msgid "{{user_name}} - user profile" +msgstr "" + +msgid "{{user_name}} added an annotation" +msgstr "" + +msgid "" +"{{user_name}} has annotated your {{law_used_short}} \n" +"request. Follow this link to see what they wrote." +msgstr "" + +msgid "{{user_name}} has used {{site_name}} to send you the message below." +msgstr "" + +msgid "{{user_name}} sent a follow up message to {{public_body}}" +msgstr "" + +msgid "{{user_name}} sent a request to {{public_body}}" +msgstr "" + +msgid "{{username}} left an annotation:" +msgstr "" + +msgid "" +"{{user}} (<a href=\"{{user_admin_url}}\">admin</a>) made this " +"{{law_used_full}} request (<a href=\"{{request_admin_url}}\">admin</a>) to " +"{{public_body_link}} (<a href=\"{{public_body_admin_url}}\">admin</a>)" +msgstr "" + +msgid "{{user}} made this {{law_used_full}} request" +msgstr "" diff --git a/locale/pt_BR/app.po b/locale/pt_BR/app.po index be33e809c..612330ed1 100644 --- a/locale/pt_BR/app.po +++ b/locale/pt_BR/app.po @@ -3,23 +3,27 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <3laste2000@gmail.com>, 2012. # <a.serramassuda@gmail.com>, 2012. # Bruno <bgx@bol.com.br>, 2012. # Carlos Vieira <edu.carlos.vieira@gmail.com>, 2011. # <danielabsilva@gmail.com>, 2011. # <everton137@gmail.com>, 2011. # <jcmarkun@gmail.com>, 2011. +# <kerick.quimica@gmail.com>, 2012. # <lianelira@gmail.com>, 2011. # <luis.leao@gmail.com>, 2011. +# <Nitaibezerra@gmail.com>, 2012. # <patriciacornils@gmail.com>, 2011. # <pedro@esfera.mobi>, 2011, 2012. +# <rafael.moretti@gmail.com>, 2012. msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:23+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -55,7 +59,7 @@ msgid " - view and make Freedom of Information requests" msgstr "- veja e envie pedidos de acesso à informação" msgid " - wall" -msgstr "" +msgstr "- muro" msgid "" " <strong>Note:</strong>\n" @@ -328,8 +332,8 @@ msgstr "<small>Se você acessa seu e-mail por algum site da web, ou se tiver fil msgid "<span id='follow_count'>%d</span> person is following this authority" msgid_plural "" "<span id='follow_count'>%d</span> people are following this authority" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "<span id='follow_count'>%d</span> pessoa está acompanhando esta autoridade" +msgstr[1] "<span id='follow_count'>%d</span> pessoas estão acompanhando esta autoridade" msgid "" "<strong> Can I request information about myself?</strong>\n" @@ -365,7 +369,7 @@ msgid "" "<strong><code>status:</code></strong> to select based on the status or " "historical status of the request, see the <a href=\"{{statuses_url}}\">table" " of statuses</a> below." -msgstr "<strong><code>status:</code></strong> para selecionar com base no status ou o status histórico do pedido, veja a <a href=\"{{statuses_url}}\">tabela de status</a> abaixo." +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" @@ -415,7 +419,7 @@ msgstr "<strong>Atenção:</strong> Vamos enviar um email para você. Siga as in msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -540,7 +544,7 @@ msgid "Also called {{other_name}}." msgstr "Também conhecido como {{other_name}}." msgid "Also send me alerts by email" -msgstr "" +msgstr "Inclusive me envie alertas por email" msgid "Alter your subscription" msgstr "Altere sua inscrição" @@ -578,7 +582,7 @@ msgid "" msgstr "Comentários vão ser apenas publicados aqui, e não serão enviadas para o {{public_body_name}}." msgid "Anonymous user" -msgstr "" +msgstr "Usuário anônimo" msgid "Anyone:" msgstr "Qualquer um:" @@ -652,6 +656,9 @@ msgstr "CensorRule | Último comentário editado" msgid "CensorRule|Last edit editor" msgstr "CensorRule | Autor da última edição" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule | Substituição" @@ -701,13 +708,13 @@ msgid "Clarification" msgstr "Esclarecimento" msgid "Clarify your FOI request - " -msgstr "" +msgstr "Esclareça seu pedido de Acesso à Informação -" msgid "Classify an FOI response from " msgstr "Classifique uma resposta de " msgid "Clear photo" -msgstr "" +msgstr "Apagar foto" msgid "" "Click on the link below to send a message to {{public_body_name}} telling them to reply to your request. You might like to ask for an internal\n" @@ -738,23 +745,23 @@ msgid "Comment|Visible" msgstr "Comentário | Visível" msgid "Confirm you want to follow all successful FOI requests" -msgstr "" +msgstr "Confirme que você deseja acompanhar todos os pedidos de Acesso à Informação bem sucedidos" msgid "Confirm you want to follow new requests" -msgstr "" +msgstr "Confirme que você deseja acompanhar novos pedidos" msgid "" "Confirm you want to follow new requests or responses matching your search" -msgstr "" +msgstr "Confirme que você deseja acompanhar novos pedidos ou respostas que correspondem à sua pesquisa" msgid "Confirm you want to follow requests by '{{user_name}}'" -msgstr "" +msgstr "Confirme que você deseja acompanhar os pedidos por '{{user_name}}'" msgid "Confirm you want to follow requests to '{{public_body_name}}'" -msgstr "" +msgstr "Confirme que você deseja acompanhar pedidos para '{{public_body_name}}'" msgid "Confirm you want to follow the request '{{request_title}}'" -msgstr "" +msgstr "Confirme que você deseja acompanhar o pedido '{{request_title}}'" msgid "Confirm your FOI request to " msgstr "Confirme o seu pedido de acesso a informação para" @@ -773,7 +780,7 @@ msgstr "Confirme seu novo endereço de e-mail no {{site_name}}" msgid "" "Considered by administrators as not an FOI request and hidden from site." -msgstr "" +msgstr "Considerado pelos administradores como não sendo uma solicitação de informação e ocultado do site" msgid "Considered by administrators as vexatious and hidden from site." msgstr "" @@ -994,22 +1001,22 @@ msgid "FoiAttachment|Within rfc822 subject" msgstr "" msgid "Follow" -msgstr "" +msgstr "Acompanhar" msgid "Follow all new requests" -msgstr "" +msgstr "Acompanhar todos os novos pedidos" msgid "Follow new successful responses" -msgstr "" +msgstr "Acompanhar novas respostas bem sucedidas" msgid "Follow requests to {{public_body_name}}" -msgstr "" +msgstr "Acompanhar pedidos para {{public_body_name}}" msgid "Follow these requests" msgstr "Acompanhar estes pedidos" msgid "Follow things matching this search" -msgstr "" +msgstr "Acompanhar coisas correspondentes à esta pesquisa" msgid "Follow this authority" msgstr "Acompanhar este órgão de govern" @@ -1018,7 +1025,7 @@ msgid "Follow this link to see the request:" msgstr "Clique neste link para ver o pedido:" msgid "Follow this person" -msgstr "" +msgstr "Seguir esta pessoa" msgid "Follow this request" msgstr "Acompanhar este pedido" @@ -1087,7 +1094,7 @@ msgid "Freedom of information requests to" msgstr "Pedidos de acesso a informação para " msgid "From" -msgstr "" +msgstr "De" msgid "" "From the request page, try replying to a particular message, rather than sending\n" @@ -1120,7 +1127,7 @@ msgid "" "the most recent event had its status updated to that value. <strong>calculated</strong> is then inferred by\n" "{{site_name}} for intermediate events, which weren't given an explicit\n" "description by a user. See the <a href=\"{{search_path}}\">search tips</a> for description of the states." -msgstr "Aqui <strong>descrito</strong> se refere aos casos em que um usuário selecionou um status para o pedido, e o evento mais recente teve seu status atualizado para aquele valor. <strong>calculado</strong> é então indicado pelo\n{{site_name}} para eventos intermediários, que não receberam uma descrição explícita do usuário. Confira as <a href=\"{{search_path}}\">dicas de pesquisa</a> para a descrição dos estados." +msgstr "Aqui <strong>descrito</strong> se refere aos casos em que um usuário selecionou uma situação para o pedido, e o evento mais recente teve sua situação atualizado para aquele valor. <strong>calculado</strong> é então indicado pelo\n{{site_name}} para eventos intermediários, que não receberam uma descrição explícita do usuário. Confira as <a href=\"{{search_path}}\">dicas de pesquisa</a> para a descrição dos estados." msgid "" "Here is the message you wrote, in case you would like to copy the text and " @@ -1135,7 +1142,7 @@ msgid "" msgstr "Olá! Precisamos de sua ajuda. A pessoa que fez o seguinte pedido\n não nos contou se ele foi ou não bem-sucedido. Você poderia dedicar\n um momento para lê-lo e contribuir para manter o local organizado para todos?\n Obrigado." msgid "Holiday" -msgstr "" +msgstr "Feriado" msgid "Holiday|Day" msgstr "Férias | Dia" @@ -1170,7 +1177,7 @@ msgid "I don't want to do any more tidying now!" msgstr "Eu não quero fazer mais nenhum ajuste agora!" msgid "I like this request" -msgstr "" +msgstr "Eu curti este pedido" msgid "I would like to <strong>withdraw this request</strong>" msgstr "Gostaria de <strong>retirar este pedido de informação</strong>" @@ -1345,6 +1352,12 @@ msgstr "InfoRequest | Aguardando descrição" msgid "InfoRequest|Described state" msgstr "InfoRequest | estado descrito" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest | Administrar respostas rejeitadas" @@ -1461,7 +1474,7 @@ msgid "Make your own request" msgstr "Faça seu próprio pedido" msgid "Message" -msgstr "" +msgstr "Mensagem" msgid "Message sent using {{site_name}} contact form, " msgstr "Mensagem enviada por meio do formulário de contato do {{site_name}}," @@ -1488,7 +1501,7 @@ msgid "My requests" msgstr "Meus pedidos de informação" msgid "My wall" -msgstr "" +msgstr "Meu muro" msgid "Name can't be blank" msgstr "Nome não pode estar em branco" @@ -1576,7 +1589,7 @@ msgid "OR remove the existing photo" msgstr "OU remova a foto atual" msgid "Offensive? Unsuitable?" -msgstr "" +msgstr "Ofensivo? Inapropriado?" msgid "" "Oh no! Sorry to hear that your request was refused. Here is what to do now." @@ -1640,7 +1653,7 @@ msgid "OutgoingMessage|Message type" msgstr "OutgoingMessage | Tipo de mensagem" msgid "OutgoingMessage|Status" -msgstr "OutgoingMessage | Status" +msgstr "OutgoingMessage | Situação" msgid "OutgoingMessage|What doing" msgstr "OutgoingMessage | O que fazer" @@ -1904,7 +1917,7 @@ msgid "Preview your public request" msgstr "Visualize seu pedido de acesso à informação" msgid "Profile photo" -msgstr "" +msgstr "Foto do perfil" msgid "ProfilePhoto|Data" msgstr "ProfilePhoto | Dados" @@ -1922,7 +1935,7 @@ msgid "Public authorities {{start_count}} to {{end_count}} of {{total_count}}" msgstr "Órgão público {{start_count}} para {{end_count}} de {{total_count}}" msgid "Public body" -msgstr "" +msgstr "Órgão público" msgid "Public body/translation" msgstr "" @@ -1943,7 +1956,7 @@ msgid "PublicBody::Translation|Publication scheme" msgstr "" msgid "PublicBody::Translation|Request email" -msgstr "" +msgstr "PublicBody::Translation|Solicitar email" msgid "PublicBody::Translation|Short name" msgstr "" @@ -1951,6 +1964,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody | Primeira letra" @@ -1988,10 +2004,10 @@ msgid "Publication scheme" msgstr "Esquema de publicação" msgid "Purge request" -msgstr "" +msgstr "Remover pedido" msgid "PurgeRequest|Model" -msgstr "" +msgstr "PurgeRequest|Modelo" msgid "PurgeRequest|Url" msgstr "" @@ -2034,13 +2050,13 @@ msgid "Report abuse" msgstr "Denunciar abuso" msgid "Report an offensive or unsuitable request" -msgstr "" +msgstr "Denunciar um pedido ofensivo ou impróprio" msgid "Report this request" -msgstr "" +msgstr "Denunciar este pedido" msgid "Reported for administrator attention." -msgstr "" +msgstr "Denunciado aos administradores." msgid "Request an internal review" msgstr "Apresentar recurso" @@ -2242,7 +2258,7 @@ msgstr "Alguém, talvez você, acabou de tentar mudar o endereço de e-mail no { msgid "" "Sorry - you cannot respond to this request via {{site_name}}, because this " "is a copy of the request originally at {{link_to_original_request}}." -msgstr "" +msgstr "Desculpe - você não pode responder este pedido através do {{site_name}} pois esta é uma cópia do pedido original em {{link_to_original_request}}." msgid "Sorry, but only {{user_name}} is allowed to do that." msgstr "Desculpe, mas apenas {{user_name}} está habilitado para fazer isso." @@ -2272,7 +2288,7 @@ msgid "Still awaiting an <strong>internal review</strong>" msgstr "Ainda aguardando o <strong>pedido de revisão</strong>" msgid "Subject" -msgstr "" +msgstr "Assunto" msgid "Subject:" msgstr "Assunto:" @@ -2301,7 +2317,7 @@ msgid "Summary:" msgstr "Resumo:" msgid "Table of statuses" -msgstr "Tabela de status" +msgstr "Tabela de situações" msgid "Table of varieties" msgstr "Tabela de variedades" @@ -2330,7 +2346,7 @@ msgid "" "Thank you for updating the status of the request '<a " "href=\"{{url}}\">{{info_request_title}}</a>'. There are some more requests " "below for you to classify." -msgstr "Obrigado por atualizar o status do pedido '<a href=\"{{url}}\">{{info_request_title}}</a>'. Abaixo existem outros pedidos para você classificar." +msgstr "Obrigado por atualizar a situação do pedido '<a href=\"{{url}}\">{{info_request_title}}</a>'. Abaixo existem outros pedidos para você classificar." msgid "Thank you for updating this request!" msgstr "Obrigado por atualizar esta solicitação!" @@ -2461,19 +2477,19 @@ msgid "" msgstr "A busca não esta funcionando, então nós não podemos mostrar os pedidos de acesso a informação que essa pessoa fez." msgid "Then you can cancel the alert." -msgstr "" +msgstr "Então você pode cancelar o alerta." msgid "Then you can cancel the alerts." -msgstr "" +msgstr "Então você pode cancelar os alertas." msgid "Then you can change your email address used on {{site_name}}" -msgstr "" +msgstr "Então você pode alterar seu endereço de email utilizado no {{site_name}}" msgid "Then you can change your password on {{site_name}}" -msgstr "" +msgstr "Então você pode alterar sua senha no {{site_name}}" msgid "Then you can classify the FOI response you have got from " -msgstr "" +msgstr "Então você pode classificar a resposta do pedido de Acesso à Informação que você recebeu de" msgid "Then you can download a zip file of {{info_request_title}}." msgstr "Você pode baixar um arquivo compactado de {{info_request_title}}" @@ -2482,28 +2498,28 @@ msgid "Then you can log into the administrative interface" msgstr "" msgid "Then you can play the request categorisation game." -msgstr "" +msgstr "Então você pode jogar o jogo de categorização do pedido." msgid "Then you can report the request '{{title}}'" msgstr "" msgid "Then you can send a message to " -msgstr "" +msgstr "Então você pode enviar uma mensagem para" msgid "Then you can sign in to {{site_name}}" -msgstr "" +msgstr "Então você pode autenticar-se no {{site_name}}" msgid "Then you can update the status of your request to " -msgstr "" +msgstr "Então você pode atualizar a situação do seu pedido para" msgid "Then you can upload an FOI response. " -msgstr "" +msgstr "Então você pode subir uma resposta ao pedido de Acesso à Informação." msgid "Then you can write follow up message to " -msgstr "" +msgstr "Então você pode escrever uma mensagem de acompanhamento para" msgid "Then you can write your reply to " -msgstr "" +msgstr "Então você pode escrever sua resposta para" msgid "Then you will be following all new FOI requests." msgstr "" @@ -2516,7 +2532,7 @@ msgstr "" msgid "" "Then you will be notified whenever a new request or response matches your " "search." -msgstr "" +msgstr "Então você será notificado sempre que um novo pedido de informação ou resposta corresponder a sua busca" msgid "Then you will be notified whenever an FOI request succeeds." msgstr "" @@ -2602,7 +2618,7 @@ msgid "Things to do with this request" msgstr "Coisas para fazer com esse pedido." msgid "Things you're following" -msgstr "" +msgstr "O que você está seguindo" msgid "This authority no longer exists, so you cannot make a request to it." msgstr "Este órgão de governo não existe, portanto você não pode criar um pedido de informação para ele." @@ -2667,10 +2683,10 @@ msgid "This request <strong>requires administrator attention</strong>" msgstr "Esse pedido <strong>precisa de atenção dos administradores</strong>" msgid "This request has already been reported for administrator attention" -msgstr "" +msgstr "Já chamaram a atenção do administrador para esse pedido" msgid "This request has an <strong>unknown status</strong>." -msgstr "Esta requisição possui um <strong>status desconhecido</strong>" +msgstr "Esta requisição possui uma <strong>situação desconhecida</strong>" msgid "" "This request has been <strong>hidden</strong> from the site, because an " @@ -2700,7 +2716,7 @@ msgid "" msgstr "" msgid "This request has been reported for administrator attention" -msgstr "" +msgstr "Esse pedido foi encaminhado para avaliação do administrador" msgid "" "This request has been set by an administrator to \"allow new responses from " @@ -2726,7 +2742,7 @@ msgid "This request is still in progress:" msgstr "Esse pedido ainda não acabou:" msgid "This request was not made via {{site_name}}" -msgstr "" +msgstr "Este pedido não foi feito através de {{site_name}}" msgid "" "This response has been hidden. See annotations to find out why.\n" @@ -2807,7 +2823,7 @@ msgid "To log into the administrative interface" msgstr "" msgid "To play the request categorisation game" -msgstr "" +msgstr "Para jogar o jogo de categorização do pedido" msgid "To post your annotation" msgstr "Enviar seu comentário" @@ -2828,11 +2844,11 @@ msgid "To send your FOI request" msgstr "Enviar seu pedido de acesso a informação" msgid "To update the status of this FOI request" -msgstr "Para atualizar o status desse pedido de informação" +msgstr "Para atualizar a situação desse pedido de informação" msgid "" "To upload a response, you must be logged in using an email address from " -msgstr "" +msgstr "Para enviar uma resposta, você deve estar logado usando um email de " msgid "" "To use the advanced search, combine phrases and labels as described in the " @@ -2881,7 +2897,7 @@ msgid "TrackThing|Track type" msgstr "TrackThing | Seguir tipo" msgid "Turn off email alerts" -msgstr "" +msgstr "Desativar alertas por email" msgid "Tweet this request" msgstr "Enviar um tweet deste pedido" @@ -2904,10 +2920,10 @@ msgid "Unable to send follow up message to {{username}}" msgstr "Não foi possível mandar uma mensagem de acompanhamento para {{username}}" msgid "Unexpected search result type" -msgstr "" +msgstr "Tipo inesperado de resultado da busca" msgid "Unexpected search result type " -msgstr "" +msgstr "Tipo inesperado de resultado da busca " msgid "" "Unfortunately we don't know the FOI\n" @@ -2930,7 +2946,7 @@ msgid "Update the status of this request" msgstr "Alterar a situação deste pedido" msgid "Update the status of your request to " -msgstr "Atualize o status de seu pedido para " +msgstr "Atualize a situação de seu pedido para " msgid "" "Use OR (in capital letters) where you don't mind which word, e.g. " @@ -2943,7 +2959,7 @@ msgid "" msgstr "Use aspas duplas quando quiser encontrar uma frase exata, por exemplo <code><strong>\"Câmara Municipal\"</strong></code>" msgid "User" -msgstr "" +msgstr "Usuário" msgid "User info request sent alert" msgstr "" @@ -3101,7 +3117,7 @@ msgstr "Últimas respostas" msgid "" "When you get there, please update the status to say if the response \n" "contains any useful information." -msgstr "Quando você chegar lá, favor atualizar seu status se a resposta tiver alguma informação útil." +msgstr "Quando você chegar lá, favor atualizar a situação se a resposta tiver alguma informação útil." msgid "" "When you receive the paper response, please help\n" @@ -3147,16 +3163,16 @@ msgid "You are already following new requests" msgstr "" msgid "You are already following requests to {{public_body_name}}" -msgstr "" +msgstr "Você já está acompanhando os pedidos feitos a {{public_body_name}}" msgid "You are already following things matching this search" -msgstr "" +msgstr "Você já está acompanhando coisas correspondentes à esta pesquisa" msgid "You are already following this person" -msgstr "" +msgstr "Você já está seguindo esta pessoa" msgid "You are already following this request" -msgstr "" +msgstr "Você já está acompanhando este pedido" msgid "You are already following updates about {{track_description}}" msgstr "" @@ -3167,7 +3183,7 @@ msgid "" msgstr "" msgid "You are following all new successful responses" -msgstr "" +msgstr "Você está acompanhando todas as novas respostas bem sucedidas" msgid "You are no longer following {{track_description}}" msgstr "" @@ -3248,16 +3264,16 @@ msgid "" msgstr "" msgid "You need to be logged in to change the text about you on your profile." -msgstr "" +msgstr "Você precisa estar logado para alterar o texto sobre você no seu perfil." msgid "You need to be logged in to change your profile photo." -msgstr "" +msgstr "Você precisa estar logado para alterar sua foto do perfil." msgid "You need to be logged in to clear your profile photo." -msgstr "" +msgstr "Você precisa estar logado para apagar sua foto do perfil." msgid "You need to be logged in to edit your profile." -msgstr "" +msgstr "Você precisa estar logado para editar seu perfil." msgid "" "You previously submitted that exact follow up message for this request." @@ -3300,7 +3316,7 @@ msgid "You're not following anything." msgstr "" msgid "You've now cleared your profile photo" -msgstr "" +msgstr "Você apagou sua foto do perfil" msgid "Your %d Freedom of Information request" msgid_plural "Your %d Freedom of Information requests" @@ -3349,7 +3365,7 @@ msgid "" msgstr "Sua mensagem foi enviada. Obrigado por entrar em contato conosco! Entraremos em contato em breve." msgid "Your message to {{recipient_user_name}} has been sent" -msgstr "" +msgstr "Sua mensagem para {{recipient_user_name}} foi enviada" msgid "Your message to {{recipient_user_name}} has been sent!" msgstr "Sua mensagem para {{recipient_user_name}} foi enviada!" @@ -3402,7 +3418,7 @@ msgid "" msgstr "" msgid "Your {{site_name}} email alert" -msgstr "" +msgstr "Seu alerta de mensagem do {{site_name}}" msgid "Yours faithfully," msgstr "Atenciosamente," @@ -3442,7 +3458,7 @@ msgid "" msgstr "" msgid "and update the status." -msgstr "e atualize o status." +msgstr "e atualize a situação." msgid "and we'll suggest <strong>what to do next</strong>" msgstr "e nós vamos sugerir <strong>o que fazer</strong>" @@ -3495,7 +3511,7 @@ msgid "" msgstr "" msgid "details" -msgstr "" +msgstr "detalhes" msgid "display_status only works for incoming and outgoing messages right now" msgstr "" @@ -3546,7 +3562,7 @@ msgid "made." msgstr "feito." msgid "matching the tag ‘{{tag_name}}’" -msgstr "" +msgstr "Casando com a tag ‘{{tag_name}}’" msgid "messages from authorities" msgstr "mensagens de órgãos publicos" @@ -3633,7 +3649,7 @@ msgid "unknown reason " msgstr "razão desconhecida" msgid "unknown status " -msgstr "status desconhecido" +msgstr "situação desconhecida" msgid "unresolved requests" msgstr "pedidos pendentes" @@ -3717,16 +3733,16 @@ msgid "" msgstr "Os usuários do {{site_name}} fizeram {{number_of_requests}} pedidos, incluindo:" msgid "{{title}} - a Freedom of Information request to {{public_body}}" -msgstr "" +msgstr "{{title}} - um pedido de acesso à informação para {{public_body}}" msgid "{{user_name}} (Account suspended)" msgstr "{{user_name}} (Conta suspensa)" msgid "{{user_name}} - Freedom of Information requests" -msgstr "" +msgstr "{{user_name}} - Pedidos de informação" msgid "{{user_name}} - user profile" -msgstr "" +msgstr "{{user_name}} - perfil" msgid "{{user_name}} added an annotation" msgstr "{{user_name}} adicionou um comentário" diff --git a/locale/sq/app.po b/locale/sq/app.po index 6c36027e9..eaa0f03e6 100644 --- a/locale/sq/app.po +++ b/locale/sq/app.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: alaveteli\n" "Report-Msgid-Bugs-To: http://github.com/sebbacon/alaveteli/issues\n" -"POT-Creation-Date: 2012-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:23+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -411,7 +411,7 @@ msgstr "<strong>Shenim:</strong>\n Do të dërgojmë email në adresën tënd msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -648,6 +648,9 @@ msgstr "CensorRule | Editimi i fundit i koment" msgid "CensorRule|Last edit editor" msgstr "CensorRule | Editimi i fundit të editorit" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "CensorRule | Zëvendësimi" @@ -1341,6 +1344,12 @@ msgstr "InfoRequest|Awaiting description" msgid "InfoRequest|Described state" msgstr "InfoRequest|Described state" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "InfoRequest|Handle rejected responses" @@ -1947,6 +1956,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "PublicBody |Germa e parë" diff --git a/locale/sr@latin/app.po b/locale/sr@latin/app.po index 0667c8450..7a502d4be 100644 --- a/locale/sr@latin/app.po +++ b/locale/sr@latin/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-07-17 10:22+0100\n" -"PO-Revision-Date: 2012-07-17 09:24+0000\n" -"Last-Translator: sebbacon <seb.bacon@gmail.com>\n" +"POT-Creation-Date: 2012-08-09 09:33+0100\n" +"PO-Revision-Date: 2012-08-09 08:34+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" @@ -411,7 +411,7 @@ msgstr "<strong>Napomena:</strong>\n Poslati ćemo e-mail na Vašu novu adres msgid "" "<strong>Note:</strong> You're sending a message to yourself, presumably\n" -"\t to try out how it works." +" to try out how it works." msgstr "" msgid "" @@ -648,6 +648,9 @@ msgstr "" msgid "CensorRule|Last edit editor" msgstr "" +msgid "CensorRule|Regexp" +msgstr "" + msgid "CensorRule|Replacement" msgstr "Pravilo Cenzure|Zamjena" @@ -1341,6 +1344,12 @@ msgstr "" msgid "InfoRequest|Described state" msgstr "" +msgid "InfoRequest|External url" +msgstr "" + +msgid "InfoRequest|External user name" +msgstr "" + msgid "InfoRequest|Handle rejected responses" msgstr "" @@ -1947,6 +1956,9 @@ msgstr "" msgid "PublicBody::Translation|Url name" msgstr "" +msgid "PublicBody|Api key" +msgstr "" + msgid "PublicBody|First letter" msgstr "Javno tijelo|Početno slovo" diff --git a/spec/controllers/admin_public_body_controller_spec.rb b/spec/controllers/admin_public_body_controller_spec.rb index 6d6e7c1ba..be33802c5 100644 --- a/spec/controllers/admin_public_body_controller_spec.rb +++ b/spec/controllers/admin_public_body_controller_spec.rb @@ -50,7 +50,7 @@ describe AdminPublicBodyController, "when administering public bodies" do response.should redirect_to(:controller=>'admin_public_body', :action=>'show', :id => id) PublicBody.count.should == n end - + it "destroys a public body" do n = PublicBody.count post :destroy, { :id => public_bodies(:forlorn_public_body).id } @@ -72,9 +72,82 @@ describe AdminPublicBodyController, "when administering public bodies" do end describe 'import_csv' do - it 'should get the page successfully' do - get :import_csv - response.should be_success + + describe 'when handling a GET request' do + + it 'should get the page successfully' do + get :import_csv + response.should be_success + end + + end + + describe 'when handling a POST request' do + + before do + PublicBody.stub!(:import_csv).and_return([[],[]]) + @file_object = mock("a file upload", :read => 'some contents', + :original_filename => 'contents.txt') + end + + it 'should handle a nil csv file param' do + post :import_csv, { :commit => 'Dry run' } + response.should be_success + end + + describe 'if there is a csv file param' do + + it 'should try to get the contents and original name of a csv file param' do + @file_object.should_receive(:read).and_return('some contents') + post :import_csv, { :csv_file => @file_object, + :commit => 'Dry run'} + end + + it 'should assign the original filename to the view' do + post :import_csv, { :csv_file => @file_object, + :commit => 'Dry run'} + assigns[:original_csv_file].should == 'contents.txt' + end + + end + + describe 'if there is no csv file param, but there are temporary_csv_file and + original_csv_file params' do + + it 'should try and get the file contents from a temporary file whose name + is passed as a param' do + @controller.should_receive(:retrieve_csv_data).with('csv_upload-2046-12-31-394') + post :import_csv, { :temporary_csv_file => 'csv_upload-2046-12-31-394', + :original_csv_file => 'original_contents.txt', + :commit => 'Dry run'} + end + + it 'should raise an error on an invalid temp file name' do + params = { :temporary_csv_file => 'bad_name', + :original_csv_file => 'original_contents.txt', + :commit => 'Dry run'} + expected_error = "Invalid filename in upload_csv: bad_name" + lambda{ post :import_csv, params }.should raise_error(expected_error) + end + + it 'should raise an error if the temp file does not exist' do + temp_name = "csv_upload-20461231-394" + params = { :temporary_csv_file => temp_name, + :original_csv_file => 'original_contents.txt', + :commit => 'Dry run'} + expected_error = "Missing file in upload_csv: csv_upload-20461231-394" + lambda{ post :import_csv, params }.should raise_error(expected_error) + end + + it 'should assign the temporary filename to the view' do + post :import_csv, { :csv_file => @file_object, + :commit => 'Dry run'} + temporary_filename = assigns[:temporary_csv_file] + temporary_filename.should match(/csv_upload-#{Time.now.strftime("%Y%m%d")}-\d{1,5}/) + end + + end + end end end @@ -86,7 +159,7 @@ describe AdminPublicBodyController, "when administering public bodies and paying before do config = MySociety::Config.load_default() config['SKIP_ADMIN_AUTH'] = false - basic_auth_login @request + basic_auth_login @request end after do config = MySociety::Config.load_default() @@ -113,7 +186,7 @@ describe AdminPublicBodyController, "when administering public bodies and paying PublicBody.count.should == n - 1 session[:using_admin].should == 1 end - + it "doesn't let people with bad credentials log in" do config = MySociety::Config.load_default() config['SKIP_ADMIN_AUTH'] = false @@ -166,7 +239,7 @@ end describe AdminPublicBodyController, "when administering public bodies with i18n" do integrate_views - + it "shows the index page" do get :index end @@ -182,7 +255,7 @@ describe AdminPublicBodyController, "when administering public bodies with i18n" it "edits a public body" do get :edit, {:id => 3, :locale => :en} - + # When editing a body, the controller returns all available translations assigns[:public_body].translation("es").name.should == 'El Department for Humpadinking' assigns[:public_body].name.should == 'Department for Humpadinking' @@ -193,20 +266,20 @@ describe AdminPublicBodyController, "when administering public bodies with i18n" PublicBody.with_locale(:es) do pb = PublicBody.find(id=3) pb.name.should == "El Department for Humpadinking" - post :update, { - :id => 3, - :public_body => { - :name => "Department for Humpadinking", - :short_name => "", - :tag_string => "some tags", - :request_email => 'edited@localhost', + post :update, { + :id => 3, + :public_body => { + :name => "Department for Humpadinking", + :short_name => "", + :tag_string => "some tags", + :request_email => 'edited@localhost', :last_edit_comment => 'From test code', :translated_versions => { 3 => {:locale => "es", :name => "Renamed",:short_name => "", :request_email => 'edited@localhost'} } } } - response.flash[:notice].should include('successful') + response.flash[:notice].should include('successful') end pb = PublicBody.find(public_bodies(:humpadink_public_body).id) @@ -228,7 +301,7 @@ end describe AdminPublicBodyController, "when creating public bodies with i18n" do integrate_views - + before do @old_filters = ActionController::Routing::Routes.filters ActionController::Routing::Routes.filters = RoutingFilter::Chain.new @@ -249,14 +322,14 @@ describe AdminPublicBodyController, "when creating public bodies with i18n" do it "creates a new public body with multiple locales" do n = PublicBody.count - post :create, { - :public_body => { + post :create, { + :public_body => { :name => "New Quango", :short_name => "", :tag_string => "blah", :request_email => 'newquango@localhost', :last_edit_comment => 'From test code', :translated_versions => [{ :locale => "es", :name => "Mi Nuevo Quango", :short_name => "", :request_email => 'newquango@localhost' }] } } PublicBody.count.should == n + 1 - + body = PublicBody.find_by_name("New Quango") body.translations.map {|t| t.locale.to_s}.sort.should == ["en", "es"] PublicBody.with_locale(:en) do @@ -269,7 +342,7 @@ describe AdminPublicBodyController, "when creating public bodies with i18n" do body.url_name.should == "mi_nuevo_quango" body.first_letter.should == "M" end - + response.should redirect_to(:controller=>'admin_public_body', :action=>'show', :id=>body.id) end end diff --git a/spec/models/censor_rule_spec.rb b/spec/models/censor_rule_spec.rb index d5797ec74..c11b05a03 100644 --- a/spec/models/censor_rule_spec.rb +++ b/spec/models/censor_rule_spec.rb @@ -1,49 +1,52 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') -describe CensorRule, "substituting things" do - before do - @censor_rule = CensorRule.new - @censor_rule.text = "goodbye" - @censor_rule.replacement = "hello" - end +describe CensorRule, "substituting things" do - it 'should do basic text substitution' do - body = "I don't know why you say goodbye" - @censor_rule.apply_to_text!(body) - body.should == "I don't know why you say hello" - end + describe 'when using a text rule' do + + before do + @censor_rule = CensorRule.new + @censor_rule.text = "goodbye" + @censor_rule.replacement = "hello" + end + + it 'should do basic text substitution' do + body = "I don't know why you say goodbye" + @censor_rule.apply_to_text!(body) + body.should == "I don't know why you say hello" + end + + it 'should keep size same for binary substitution' do + body = "I don't know why you say goodbye" + orig_body = body.dup + @censor_rule.apply_to_binary!(body) + body.size.should == orig_body.size + body.should == "I don't know why you say xxxxxxx" + body.should_not == orig_body # be sure duplicated as expected + end - it 'should keep size same for binary substitution' do - body = "I don't know why you say goodbye" - orig_body = body.dup - @censor_rule.apply_to_binary!(body) - body.size.should == orig_body.size - body.should == "I don't know why you say xxxxxxx" - body.should_not == orig_body # be sure duplicated as expected end - context "when regexp type" do + describe "when using a regular expression rule" do + before do - CensorRule.delete_all - CensorRule.create(:last_edit_editor => 1, - :last_edit_comment => 'comment') @censor_rule = CensorRule.new(:last_edit_editor => 1, :last_edit_comment => 'comment') @censor_rule.text = "--PRIVATE.*--PRIVATE" @censor_rule.replacement = "--REMOVED\nHidden private info\n--REMOVED" @censor_rule.regexp = true - end - - it "replaces with the regexp" do - body = + @body = <<BODY Some public information --PRIVATE Some private information --PRIVATE BODY - @censor_rule.apply_to_text!(body) - body.should == + end + + it "replaces the regexp with the replacement text when applied to text" do + @censor_rule.apply_to_text!(@body) + @body.should == <<BODY Some public information --REMOVED @@ -52,14 +55,143 @@ Hidden private info BODY end - it "validates without info_request, user or public body set" do - @censor_rule.save.should be_true + it "replaces the regexp with the same number of 'x' characters as the text replaced + when applied to binary" do + @censor_rule.apply_to_binary!(@body) + @body.should == +<<BODY +Some public information +xxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxx +BODY + end + + end + +end + +describe 'when validating rules' do + + describe 'should be invalid without text' do + censor_rule = CensorRule.new + censor_rule.valid?.should == false + censor_rule.errors.on(:text).should == "can't be blank" + end + + describe 'when validating a regexp rule' do + + before do + @censor_rule = CensorRule.new(:regexp => true, + :text => '*') + end + + it 'should try to create a regexp from the text' do + Regexp.should_receive(:new).with('*', Regexp::MULTILINE) + @censor_rule.valid? + end + + describe 'if a regexp error is produced' do + + it 'should add an error message to the text field with the regexp error message' do + Regexp.stub!(:new).and_raise(RegexpError.new("very bad regexp")) + @censor_rule.valid?.should == false + @censor_rule.errors.on(:text).should == "very bad regexp" + end + + end + + describe 'if no regexp error is produced' do + + it 'should not add any error message to the text field' do + Regexp.stub!(:new) + @censor_rule.valid? + @censor_rule.errors.on(:text).should == nil + end + + end + + end + + describe 'when the allow_global flag has been set' do + + before do + @censor_rule = CensorRule.new(:text => 'some text') + @censor_rule.allow_global = true end - it "has scope for regexps" do - @censor_rule.save - CensorRule.regexps.all.should == [@censor_rule] + it 'should allow a global censor rule (without user_id, request_id or public_body_id)' do + @censor_rule.valid?.should == true end + end + + describe 'when the allow_global flag has not been set' do + + before do + @censor_rule = CensorRule.new(:text => '/./') + end + + it 'should not allow a global text censor rule (without user_id, request_id or public_body_id)' do + @censor_rule.valid?.should == false + @expected_error = 'Censor must apply to an info request a user or a body; is invalid' + @censor_rule.errors.full_messages.should == [@expected_error] + end + + it 'should not allow a global regex censor rule (without user_id, request_id or public_body_id)' do + @censor_rule.regexp = true + @censor_rule.valid?.should == false + @expected_error = 'Censor must apply to an info request a user or a body; is invalid' + @censor_rule.errors.full_messages.should == [@expected_error] + end + + end + end +describe 'when handling global rules' do + + describe 'an instance without user_id, request_id or public_body_id' do + + before do + @global_rule = CensorRule.new + end + + it 'should return a value of true from is_global?' do + @global_rule.is_global?.should == true + end + + end + + describe 'the scope CensorRule.global.all' do + + before do + @global_rule = CensorRule.create!(:allow_global => true, + :text => 'hide me', + :replacement => 'nothing to see here', + :last_edit_editor => 1, + :last_edit_comment => 'comment') + @user_rule = CensorRule.create!(:user_id => 1, + :text => 'hide me', + :replacement => 'nothing to see here', + :last_edit_editor => 1, + :last_edit_comment => 'comment') + end + + it 'should include an instance without user_id, request_id or public_body_id' do + CensorRule.global.all.include?(@global_rule).should == true + end + + it 'should not include a request with user_id' do + CensorRule.global.all.include?(@user_rule).should == false + end + + after do + @global_rule.destroy if @global_rule + @user_rule.destroy if @user_rule + end + end + +end + + diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb index c6658905c..bc73ef071 100644 --- a/spec/models/incoming_message_spec.rb +++ b/spec/models/incoming_message_spec.rb @@ -71,7 +71,7 @@ describe IncomingMessage, " when dealing with incoming mail" do end -describe IncomingMessage, "when parsing HTML mail" do +describe IncomingMessage, "when parsing HTML mail" do it "should display UTF-8 characters in the plain text version correctly" do html = "<html><b>foo</b> është" plain_text = IncomingMessage._get_attachment_text_internal_one_file('text/html', html) @@ -79,15 +79,15 @@ describe IncomingMessage, "when parsing HTML mail" do end end -describe IncomingMessage, "when getting the attachment text" do +describe IncomingMessage, "when getting the attachment text" do - it "should not raise an error if the expansion of a zip file raises an error" do + it "should not raise an error if the expansion of a zip file raises an error" do mock_entry = mock('ZipFile entry', :file? => true) mock_entry.stub!(:get_input_stream).and_raise("invalid distance too far back") Zip::ZipFile.stub!(:open).and_return([mock_entry]) IncomingMessage._get_attachment_text_internal_one_file('application/zip', "some string") end - + end @@ -196,17 +196,17 @@ describe IncomingMessage, " checking validity to reply to with real emails" do ActionMailer::Base.deliveries.clear end it "should allow a reply to plain emails" do - ir = info_requests(:fancy_dog_request) + ir = info_requests(:fancy_dog_request) receive_incoming_mail('incoming-request-plain.email', ir.incoming_email) ir.incoming_messages[1].valid_to_reply_to?.should == true end it "should not allow a reply to emails with empty return-paths" do - ir = info_requests(:fancy_dog_request) + ir = info_requests(:fancy_dog_request) receive_incoming_mail('empty-return-path.email', ir.incoming_email) ir.incoming_messages[1].valid_to_reply_to?.should == false end it "should not allow a reply to emails with autoresponse headers" do - ir = info_requests(:fancy_dog_request) + ir = info_requests(:fancy_dog_request) receive_incoming_mail('autoresponse-header.email', ir.incoming_email) ir.incoming_messages[1].valid_to_reply_to?.should == false end @@ -234,6 +234,13 @@ describe IncomingMessage, " when censoring data" do @censor_rule_2.last_edit_comment = "none" @im.info_request.censor_rules << @censor_rule_2 + @regex_censor_rule = CensorRule.new() + @regex_censor_rule.text = 'm[a-z][a-z][a-z]e' + @regex_censor_rule.regexp = true + @regex_censor_rule.replacement = 'cat' + @regex_censor_rule.last_edit_editor = 'unknown' + @regex_censor_rule.last_edit_comment = 'none' + @im.info_request.censor_rules << @regex_censor_rule load_raw_emails_data end @@ -246,7 +253,7 @@ describe IncomingMessage, " when censoring data" do it "should replace censor text in Word documents" do data = @test_data.dup @im.binary_mask_stuff!(data, "application/vnd.ms-word") - data.should == "There was a mouse called xxxxxxx, he wished that he was xxxx." + data.should == "There was a xxxxx called xxxxxxx, he wished that he was xxxx." end it "should replace ASCII email addresses in Word documents" do @@ -301,7 +308,7 @@ describe IncomingMessage, " when censoring data" do it "should apply censor rules to HTML files" do data = @test_data.dup @im.html_mask_stuff!(data) - data.should == "There was a mouse called Jarlsberg, he wished that he was yellow." + data.should == "There was a cat called Jarlsberg, he wished that he was yellow." end it "should apply hard-coded privacy rules to HTML files" do @@ -312,8 +319,8 @@ describe IncomingMessage, " when censoring data" do end it "should apply censor rules to From: addresses" do - @im.stub!(:mail_from).and_return("Stilton Mouse") - @im.stub!(:last_parsed).and_return(Time.now) + @im.stub!(:mail_from).and_return("Stilton Mouse") + @im.stub!(:last_parsed).and_return(Time.now) safe_mail_from = @im.safe_mail_from safe_mail_from.should == "Jarlsberg Mouse" end @@ -363,7 +370,7 @@ describe IncomingMessage, " when uudecoding bad messages" do im = incoming_messages(:useless_incoming_message) im.stub!(:mail).and_return(mail) im.extract_attachments! - + attachments = im.foi_attachments attachments.size.should == 2 attachments[1].filename.should == 'moo.txt' @@ -407,7 +414,7 @@ describe IncomingMessage, "when messages are attached to messages" do im = incoming_messages(:useless_incoming_message) im.stub!(:mail).and_return(mail) - + im.extract_attachments! attachments = im.get_attachments_for_display diff --git a/spec/models/info_request_spec.rb b/spec/models/info_request_spec.rb index 41d01c89a..c55127992 100644 --- a/spec/models/info_request_spec.rb +++ b/spec/models/info_request_spec.rb @@ -401,25 +401,87 @@ describe InfoRequest do end - context "with regexp censor rule" do - before do - Time.stub!(:now).and_return(Time.utc(2007, 11, 9, 23, 59)) - @info_request = InfoRequest.create!(:prominence => 'normal', - :awaiting_description => true, - :title => 'title', - :public_body => public_bodies(:geraldine_public_body), - :user_id => 1) - @censor_rule = CensorRule.create(:last_edit_editor => 1, - :last_edit_comment => 'comment', - :text => 'text', - :replacement => 'replacement', - :regexp => true) - end - it "applies regexp censor rule" do - body = 'text' - @info_request.apply_censor_rules_to_text!(body) - body.should == 'replacement' - end + describe 'when applying censor rules' do + + before do + @global_rule = mock_model(CensorRule, :apply_to_text! => nil, + :apply_to_binary! => nil) + @user_rule = mock_model(CensorRule, :apply_to_text! => nil, + :apply_to_binary! => nil) + @request_rule = mock_model(CensorRule, :apply_to_text! => nil, + :apply_to_binary! => nil) + @body_rule = mock_model(CensorRule, :apply_to_text! => nil, + :apply_to_binary! => nil) + @user = mock_model(User, :censor_rules => [@user_rule]) + @body = mock_model(PublicBody, :censor_rules => [@body_rule]) + @info_request = InfoRequest.new(:prominence => 'normal', + :awaiting_description => true, + :title => 'title') + @info_request.stub!(:user).and_return(@user) + @info_request.stub!(:censor_rules).and_return([@request_rule]) + @info_request.stub!(:public_body).and_return(@body) + @text = 'some text' + CensorRule.stub!(:global).and_return(mock('global context', :all => [@global_rule])) + end + + context "when applying censor rules to text" do + + it "should apply a global censor rule" do + @global_rule.should_receive(:apply_to_text!).with(@text) + @info_request.apply_censor_rules_to_text!(@text) + end + + it 'should apply a user rule' do + @user_rule.should_receive(:apply_to_text!).with(@text) + @info_request.apply_censor_rules_to_text!(@text) + end + + it 'should not raise an error if there is no user' do + @info_request.user_id = nil + lambda{ @info_request.apply_censor_rules_to_text!(@text) }.should_not raise_error + end + + it 'should apply a rule from the body associated with the request' do + @body_rule.should_receive(:apply_to_text!).with(@text) + @info_request.apply_censor_rules_to_text!(@text) + end + + it 'should apply a request rule' do + @request_rule.should_receive(:apply_to_text!).with(@text) + @info_request.apply_censor_rules_to_text!(@text) + end + + end + + context 'when applying censor rules to binary files' do + + it "should apply a global censor rule" do + @global_rule.should_receive(:apply_to_binary!).with(@text) + @info_request.apply_censor_rules_to_binary!(@text) + end + + it 'should apply a user rule' do + @user_rule.should_receive(:apply_to_binary!).with(@text) + @info_request.apply_censor_rules_to_binary!(@text) + end + + it 'should not raise an error if there is no user' do + @info_request.user_id = nil + lambda{ @info_request.apply_censor_rules_to_binary!(@text) }.should_not raise_error + end + + it 'should apply a rule from the body associated with the request' do + @body_rule.should_receive(:apply_to_binary!).with(@text) + @info_request.apply_censor_rules_to_binary!(@text) + end + + it 'should apply a request rule' do + @request_rule.should_receive(:apply_to_binary!).with(@text) + @info_request.apply_censor_rules_to_binary!(@text) + end + + end + end describe 'when an instance is asked if all can view it' do |