From 505e0618f6a30a579044521ecd54f54d5df9d2a2 Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Fri, 11 Dec 2020 07:21:26 +0000 Subject: [PATCH 1/7] Migration of Get Involved page from Whitehall to Government frontend This commit is focused on moving the required assets from Whitehall to government frontend with little in the way of changes to make them compatible. Controllers and helpers from Whitehall were left behind as they are not useful in the GF framework. --- app/assets/stylesheets/application.scss | 26 +- .../stylesheets/helpers/_featured_news.scss | 72 +++++ .../stylesheets/mixins/_typography.scss | 130 +++++++++ .../stylesheets/views/_get-involved.scss | 246 ++++++++++++++++++ app/assets/stylesheets/views/_headings.scss | 50 ++++ app/views/components/_heading.html.erb | 12 + app/views/content_items/get_involved.html.erb | 167 ++++++++++++ 7 files changed, 702 insertions(+), 1 deletion(-) create mode 100644 app/assets/stylesheets/helpers/_featured_news.scss create mode 100644 app/assets/stylesheets/mixins/_typography.scss create mode 100644 app/assets/stylesheets/views/_get-involved.scss create mode 100644 app/assets/stylesheets/views/_headings.scss create mode 100644 app/views/components/_heading.html.erb create mode 100644 app/views/content_items/get_involved.html.erb diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 08897f687..3cfe7c02a 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -49,6 +49,7 @@ $govuk-new-link-styles: true; // government-frontend mixins @import 'mixins/margins'; @import 'mixins/white-links'; +@import 'mixins/typography'; // helpers for common page elements @import 'helpers/sidebar-with-body'; @@ -88,4 +89,27 @@ $govuk-new-link-styles: true; @import 'views/specialist-document'; @import 'views/answer'; @import 'views/help-page'; -@import "views/guide"; +@import 'views/guide'; +@import 'views/get-involved'; +@import 'views/headings'; +@import 'helpers/featured_news'; + +.travel-advice-notice { + background-color: govuk-colour("light-grey"); + border: 1px solid $govuk-border-colour; + margin-bottom: govuk-spacing(7); + position: relative; +} + +.travel-advice-notice__header { + padding: govuk-spacing(4) govuk-spacing(4) 0 govuk-spacing(3); +} + +.travel-advice-notice__content { + margin-top: - govuk-spacing(3); + padding: 0 govuk-spacing(4) 0 govuk-spacing(9); +} + +.travel-advice-notice__icon { + margin-left: govuk-spacing(3); +} diff --git a/app/assets/stylesheets/helpers/_featured_news.scss b/app/assets/stylesheets/helpers/_featured_news.scss new file mode 100644 index 000000000..082b0598d --- /dev/null +++ b/app/assets/stylesheets/helpers/_featured_news.scss @@ -0,0 +1,72 @@ +// stylelint-disable max-nesting-depth +.featured-news { + article { + clear: both; + + .govuk-link { + line-height: 1.16; + } + + @include govuk-media-query($from: tablet) { + float: left; + display: inline; + overflow: hidden; + clear: none; + } + + .content { + padding: govuk-spacing(3) govuk-spacing(3) govuk-spacing(2); + + .image-holder { + float: left; + + @include govuk-media-query($from: tablet) { + float: none; + } + + .img { + display: block; + padding: govuk-spacing(1) govuk-spacing(3) 0 0; + width: 100%; + + @include govuk-media-query($from: tablet) { + padding: 0; + } + } + } + + .text { + float: left; + + @include govuk-media-query($from: tablet) { + float: none; + } + + .meta { + @include ig-core-14; + color: $govuk-secondary-text-colour; + padding-bottom: 0; + } + + h2 { + @include ig-core-19; + padding-top: 0; + + a { + font-weight: bold; + } + } + + h3 { + @include govuk-font(19); + font-weight: bold; + padding: govuk-spacing(1) 0 govuk-spacing(2); + } + + .summary { + @include ig-core-14; + } + } + } + } +} diff --git a/app/assets/stylesheets/mixins/_typography.scss b/app/assets/stylesheets/mixins/_typography.scss new file mode 100644 index 000000000..1becfccf0 --- /dev/null +++ b/app/assets/stylesheets/mixins/_typography.scss @@ -0,0 +1,130 @@ +// GOV.UK typography palettes + +// ANATOMY OF A TYPE STYLE +// ----------------------- +// These are a collection of graphic styles. They are deliberately +// abstracted from semantic HTML context to enable flexible re-use. +// Although there is a lot of duplication within this file, as long +// as you GZIP your CSS it shouldnt cause any bloat. +// +// +// @mixin brand-45 { +// _ Style name refers to graphic style rather than semantic use +// +// font-size: 45px; +// +// line-height: (52/45); +// _ Unit-less, relative leading value. +// line-height (52px) / font-size (45px) = relative line-height +// +// font-weight: 300; +// text-transform: none; +// _ Again, we cant assume anything about pre-exising CSS on the +// page, so setting these values (even if just resetting them +// to default values) will increase the robustness of the style. +// +// padding-top: 7px; +// padding-bottom: 5px; +// _ Set top and bottom padding values to ensure an appropriate +// vertical measure before & after the text, ideally sitting it +// on the 10px baseline grid. +// } + +// CORE FONTS - NEW TRANSPORT + +// Suitable for page headings +@mixin ig-core-48 { + @include govuk-font(48); + padding-top: 12px; + padding-bottom: 8px; + + @media (max-width: 640px) { + padding-top: 8px; + padding-bottom: 7px; + } +} + +// Suitable for page headings +@mixin ig-core-36 { + @include govuk-font(36); + padding-top: 6px; + padding-bottom: 9px; + + @media (max-width: 640px) { + padding-top: 8px; + padding-bottom: 7px; + } +} + +// Suitable for body headings +@mixin ig-core-27 { + @include govuk-font(27); + padding-top: 2px; + padding-bottom: 3px; + + @media (max-width: 640px) { + padding-top: 7px; + padding-bottom: 3px; + } +} + +// Suitable for short body copy +@mixin ig-core-24 { + @include govuk-font(24); + padding-top: 3px; + padding-bottom: 2px; + + @media (max-width: 640px) { + padding-top: 7px; + padding-bottom: 7px; + } +} + +// Suitable for long body copy +@mixin ig-core-19 { + @include govuk-font(19); + padding-top: 7px; + padding-bottom: 3px; + + @media (max-width: 640px) { + padding-top: 6px; + padding-bottom: 4px; + } +} + +// Suitable body pullouts and asides +@mixin ig-core-16 { + @include govuk-font(16); + padding-top: 5px; + padding-bottom: 5px; + + @media (max-width: 640px) { + padding-top: 6px; + padding-bottom: 4px; + } +} + +// Suitable for captions, buttons etc +@mixin ig-core-14 { + @include govuk-font(14); + padding-top: 6px; + padding-bottom: 4px; + + @media (max-width: 640px) { + padding-top: 4px; + padding-bottom: 1px; + } +} + +@mixin white-links { + a, + a:visited, + a:hover { + color: govuk-colour("white"); + text-decoration: underline; + } + + a:active { + color: $govuk-link-active-colour; + } +} diff --git a/app/assets/stylesheets/views/_get-involved.scss b/app/assets/stylesheets/views/_get-involved.scss new file mode 100644 index 000000000..12afb5db4 --- /dev/null +++ b/app/assets/stylesheets/views/_get-involved.scss @@ -0,0 +1,246 @@ +.get-involved { + + h2 { + @include heading-36; + border-bottom: $gutter-one-sixth solid $black; + margin-bottom: $gutter-half; + @include media(tablet) { + margin-bottom: $gutter; + } + + &#take-part { + margin-bottom: 0; + @include media(tablet) { + margin-bottom: $gutter-half; + } + } + + &#elsewhere-on-the-web { + margin-top: $gutter * 1.5; + } + } + + .featured-news article .content .text h3 { + padding-bottom: 3px; + } + + .content { + padding: 0 $gutter-half; + } + + .block { + clear: both; + } + + .floated-children { + h2 { + margin-left: $gutter-half; + margin-right: $gutter-half; + } + + .head-section { + @include media(tablet) { + float: left; + width: $one-third; + } + + h3 { + @include heading-27; + font-weight: bold; + padding: 0 $gutter-half 7px; + } + } + + .count { + + @include govuk-media-query($from: desktop) { + width: $half; + } + + display: block; + margin: $gutter-half; + @include heading-80; + font-weight: bold; + text-decoration: none; + + .context { + display: block; + @include core-16; + margin-top: 0; + color: govuk-colour("black"); + } + } + + section { + @include core-19; + @extend %contain-floats; + clear: both; + margin-bottom: $gutter; + + h3, + h4 { + font-weight: bold; + } + + .column { + @include media(tablet) { + float: left; + width: $two-thirds; + } + } + + .consultation-lists { + @include media(tablet) { + float: left; + width: $two-thirds; + } + + .consultation-closing-soon { + color: govuk-colour("white"); + background-color: $inside-gov-brand; + margin: $gutter $gutter-half; + padding: $gutter-half $gutter-half 0; + + h3 { + @include heading-27; + font-weight: bold; + padding: 0 0 $gutter-one-sixth; + @include media(tablet) { + padding: 0 0 $gutter-one-sixth; + } + } + + .document-list { + margin-top: -$gutter-one-third; + + h3 { + @include core-19; + border-bottom: 1px solid govuk-colour("white"); + padding-bottom: $gutter-one-third; + font-weight: normal; + } + + .attributes { + @extend %contain-floats; + margin-top: $gutter-one-third; + + li { + @include core-19; + + a { + color: govuk-colour("white"); + + &:link:focus { + color: $govuk-focus-text-colour; + } + } + } + } + } + @include media(tablet) { + margin: $gutter-half $gutter-half $gutter; + } + } + + .column { + @include media(tablet) { + float: left; + width: $half; + @include ie(7) { + width: 49.99%; + } + } + } + + .document-row { + border: 0; + } + } + + .document-list { + .document-row { + border: 0; + + h3 { + font-weight: normal; + } + + .attributes { + margin-top: $gutter-one-sixth; + + li { + padding-right: $gutter-one-third; + + a { + font-weight: bold; + } + } + } + } + } + + &.start-a-petition, + &.comment-follow { + p { + padding-top: $gutter-one-third; + } + } + + &.more-ways { + .index-list { + margin-top: $gutter-half; + } + + h3 { + padding-top: 0; + } + + .column { + margin-top: $gutter-one-sixth; + } + } + + &.take-part-pages, + &.start-a-petition, + &.more-ways { + margin-bottom: 0; + @include media(tablet) { + margin-bottom: $gutter; + } + } + + &.respond-to-consultations { + margin-bottom: 0; + + h3 { + padding-top: 0; + } + + .column { + margin-top: $gutter-one-sixth; + } + } + + .see-all { + font-weight: bold; + margin: $gutter-one-third 0 $gutter; + } + } + + .article-clear { + clear: both; + } + + .consultations + .keyline { + padding-top: 0; + } + + .keyline { + clear: both; + border: solid $govuk-border-colour; + border-width: 0 0 1px; + margin: 0 $gutter-half $gutter; + padding-top: $gutter; + } + } +} diff --git a/app/assets/stylesheets/views/_headings.scss b/app/assets/stylesheets/views/_headings.scss new file mode 100644 index 000000000..356ae1721 --- /dev/null +++ b/app/assets/stylesheets/views/_headings.scss @@ -0,0 +1,50 @@ +.headings-block { + + @include govuk-clearfix; + margin-top: 0; + + .heading { + padding: govuk-spacing(3) 0; + + @include govuk-media-query($from: tablet) { + padding: govuk-spacing(6) * 1.5 0; + } + + h1 { + @include govuk-font(36); + font-weight: bold; + } + + .type, + .type a { + @include govuk-font(27); + color: $govuk-secondary-text-colour; + margin-bottom: govuk-spacing(1); + text-decoration: none; + } + } + + .heading-big { + @extend .heading; // stylelint-disable-line scss/at-extend-no-missing-placeholder + + h1 { + @include govuk-font(48); + font-weight: bold; + } + + .inner-heading { + padding: 0 15px; + } + } + + .intro-paragraph { + padding: 0 govuk-spacing(3); + margin-bottom: govuk-spacing(6); + @include govuk-font(27); + max-width: 27em; + + a { + text-decoration: underline; + } + } +} diff --git a/app/views/components/_heading.html.erb b/app/views/components/_heading.html.erb new file mode 100644 index 000000000..20b065995 --- /dev/null +++ b/app/views/components/_heading.html.erb @@ -0,0 +1,12 @@ +<% + type ||= nil + big ||= false + extra ||= false + url ||= nil +%> +
<%= "-with-extra" if extra %>"> +
+ <% if type %>

<%= type %>

<% end %> +

<%= link_to_if url, heading, url, class: "govuk-link" %>

+
+
diff --git a/app/views/content_items/get_involved.html.erb b/app/views/content_items/get_involved.html.erb new file mode 100644 index 000000000..a57cf23c0 --- /dev/null +++ b/app/views/content_items/get_involved.html.erb @@ -0,0 +1,167 @@ +<% page_title %> +<% page_class "get-involved" %> + +
+
+ <%= render partial: 'shared/heading', + locals: { big: true, + heading: "Get involved" } %> +

Find out how you can engage with government directly, and take part locally, nationally or internationally.

+
+
+ +
+
+

Engage with government

+
+
+

Respond to consultations

+
+
+
+

You can give your views on new or changing government policies by responding to consultations. Government departments take these responses into consideration before making decisions.

+
+
+
+
+ +
+
+ <% @next_closing_consultations.each do |consultation| %> +

<%= consultation.time_until_closure %>

+ <% end %> +
    + <% @next_closing_consultations.each do |consultation| %> + <%= content_tag_for(:li, consultation, class: 'document-row') do %> +

    <%= consultation.title %>

    +
      +
    • <%= link_to "Read and respond", public_document_path(consultation), class: "govuk-link" %>
    • +
    + <% end %> + <% end %> +
+
+
+
+
+

Recently opened

+
    + <% @recently_opened_consultations.each do |consultation| %> +
  1. +

    <%= link_to consultation.title, public_document_path(consultation), class: "govuk-link" %>

    +
      +
    • <%= consultation.organisations.map(&:acronym).to_sentence %>
    • +
    • Closes <%= consultation.date_microformat(:closing_at) %>
    • +
    • <%= link_to "Read and respond", public_document_path(consultation), class: "govuk-link", aria: {hidden: true} %>
    • +
    +
  2. + <% end %> +
+

<%= link_to("Search all consultations", publications_path(publication_filter_option: "consultations"), class: "govuk-link" ) %>

+
+
+
+
+

Recent outcomes

+
    + <% @recent_consultation_outcomes.each do |consultation| %> +
  1. +

    <%= link_to consultation.title, public_document_path(consultation), class: "govuk-link" %>

    +
      +
    • <%= consultation.organisations.map(&:acronym).to_sentence %>
    • +
    • Closed <%= consultation.date_microformat(:closing_at) %>
    • +
    • <%= link_to "See the outcome", public_document_path(consultation), class: "govuk-link", aria: {hidden: true} %>
    • +
    +
  2. + <% end %> +
+
+
+
+
+
+
+
+
+

Start a petition

+
+
+
+

You can create a petition to influence government and Parliament. If the petition gets at least 100,000 online signatures, it will be considered for debate in the House of Commons.

+
+
+
+
+
+
+

Follow a blog or social media channel

+
+
+
+

For an instant way to interact with government departments, try their social media streams. These are listed under 'Follow us' on the department's home page. As well as access to blogs, audio, video and more, you can comment, debate and rate.

+

See all government departments

+

Some active government blogs include:

+ +
+
+
+
+
+ + +
+ +
From 60a24cb936251a83d9493bb0a01466d6cf6713d5 Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Tue, 12 Jan 2021 15:01:26 +0000 Subject: [PATCH 2/7] Add new controller logic for the Get Involved Page The core logic of the controller is a migration of a set of function calls in whitehall/app/controllers/home_controller.rb for populating the Get Involved page with relevant data. Main bulk of controlling calls from Whitehall were taken from here and applied into this new controller: https://github.com/alphagov/whitehall/blob/bcda05ec43d87b3bec1541e644c1373bafa2a3e8/app/controllers/home_controller.rb#L17-L25 In this case the function calls are replaced with calls to the publishing-api and respective filtering of those results to give us what we need in Government Frontend. --- app/controllers/get_involved_controller.rb | 89 +++++++++++++++++++ .../get_involved_controller_test.rb | 87 ++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 app/controllers/get_involved_controller.rb create mode 100644 test/controllers/get_involved_controller_test.rb diff --git a/app/controllers/get_involved_controller.rb b/app/controllers/get_involved_controller.rb new file mode 100644 index 000000000..40295f1c7 --- /dev/null +++ b/app/controllers/get_involved_controller.rb @@ -0,0 +1,89 @@ +class GetInvolvedController < ContentItemsController + attr_accessor :content_item + + attr_accessor :content_item + + def show + load_content_item + load_get_involved_data + @do_not_show_breadcrumbs = true + render template: "content_items/get_involved" + end + + def load_content_item + content_item = Services.content_store.content_item("/government/get-involved") + + if Services.feature_toggler.use_recommended_related_links?(content_item["links"], request.headers) + content_item["links"]["ordered_related_items"] = content_item["links"].fetch("suggested_ordered_related_items", []) + end + + @content_item = PresenterBuilder.new( + content_item, + content_item_path, + view_context, + ).presenter + end + + def load_get_involved_data + @open_consultation_count = retrieve_given_document_type("open_consultation")['total'] + @closed_consultation_count = retrieve_date_filtered_closed_consultations(12) + @next_closing_consultations = [retrieve_next_closing] + @recently_opened_consultations = retrieve_new_consultations + @recent_consultation_outcomes = retrieve_consultation_outcomes + @take_part_pages = sort_take_part(retrieve_given_document_type("take_part")['results']) + end + + def retrieve_given_document_type(document_type) + Services.publishing_api.get_content_items(document_type: document_type).to_hash + end + + # Aims to find a count of consultations closed in the last n months. + def retrieve_date_filtered_closed_consultations(months) + closed_count = 0 + + cl_docs = retrieve_special({document_type: 'closed_consultation', per_page: 500, fields: ['details']})['results'] + cl_docs.sort_by! { |k| -k['details']['closing_date'] }.reverse! + + cl_docs.each do |doc| + if DateTime.parse(doc['details']['closing_date']) > DateTime.now.prev_month(months) + closed_count += 1 + else + break + end + end + + return closed_count # hard return for clarity + end + + def retrieve_next_closing + open_consults = retrieve_given_document_type("open_consultation")['results'] + open_consults.sort_by! { |k| k['details']['closing_date'] }[0] + end + + def retrieve_new_consultations + open_consults = retrieve_given_document_type("open_consultation")['results'] + sorted_desc = open_consults.sort_by! { |k| k['details']['opening_date'] }.reverse!.values_at(0..2) + parse_organisation_acronyms(sorted_desc) + end + + def retrieve_consultation_outcomes + closed_consults = retrieve_given_document_type("consultation_outcome")['results'] + sorted_desc = closed_consults.sort_by! { |k| k['details']['closing_date'] }.reverse!.values_at(0..2) + parse_organisation_acronyms(sorted_desc) + end + + def parse_organisation_acronyms(consultations) + consultations.each do |consultation| + org_acronyms = [] + organisations = consultation['links']['organisations'] + organisations.each do |org_id| + org_acronyms << Services.publishing_api.get_live_content(org_id).parsed_content['details']['acronym'] + end + consultation['links']['organisation_acronyms'] = org_acronyms + end + end + + def sort_take_part(take_part_pages) + take_part_pages.sort_by{ |page| page["details"]["ordering"] } + end +end \ No newline at end of file diff --git a/test/controllers/get_involved_controller_test.rb b/test/controllers/get_involved_controller_test.rb new file mode 100644 index 000000000..6839ffefd --- /dev/null +++ b/test/controllers/get_involved_controller_test.rb @@ -0,0 +1,87 @@ +require "test_helper" +require "gds_api/test_helpers/search" + +class GetInvolvedControllerTest < ActionController::TestCase + include GdsApi::TestHelpers::Search + + test "retrieves correct number of open consultations from search_api" do + body = { + "results" => {}, + "total" => 83, + "start" => 0, + } + stub_search(body) + + # Overrides for calls to publishing API made during load_get_involved_data + # These are tested in Smokey as failure prevents a load of some objects + def @controller.retrieve_given_document_type(_document_type) + "empty_type" + end + + def @controller.sort_take_part(take_part_pages) end + # End override + + @controller.load_get_involved_data + assert_equal @controller.instance_variable_get(:@open_consultation_count), 83 + end + + test "retrieves correct number of closed consultations from search_api" do + body = { + "results" => {}, + "total" => 42, + "start" => 0, + } + stub_search(body) + + assert_equal @controller.retrieve_date_filtered_closed_consultations(0), 42 + end + + test "retrieves next closing consultation from search_api" do + body = { + "results" => { + "first result" => {}, + "second result" => {}, + "third result" => {}, + }, + "total" => 42, + "start" => 0, + } + stub_search(body) + + assert_equal @controller.retrieve_next_closing, ["first result", {}] + end + + test "sorts take part pages based on order" do + pages = [ + { + "title" => "third", + "details" => { + "ordering" => "3", + }, + }, + { + "title" => "first", + "details" => { + "ordering" => "1", + }, + }, + { + "title" => "second", + "details" => { + "ordering" => "2", + }, + }, + ] + + sorted = @controller.sort_take_part(pages) + + assert_equal sorted.first["title"], "first" + assert_equal sorted.last["title"], "third" + end + +private + + def stub_search(body) + stub_any_search.to_return("body" => body.to_json) + end +end From b986beb486d8de29703449d5b2f0d70f12c70020 Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Tue, 12 Jan 2021 14:55:27 +0000 Subject: [PATCH 3/7] Add helper and presenter for Get Involved migration The helper in this case handles a selection of time to string filtering/ labelling and a single routing function to allow us to link to the search page for a given set of consultations (feature match to Whitehall original version). The presenter is empty and is included for consistency with other content. --- app/helpers/get_involved_helper.rb | 34 ++++++++++++++++++++++++ app/presenters/get_involved_presenter.rb | 2 ++ config/routes.rb | 2 ++ 3 files changed, 38 insertions(+) create mode 100644 app/helpers/get_involved_helper.rb create mode 100644 app/presenters/get_involved_presenter.rb diff --git a/app/helpers/get_involved_helper.rb b/app/helpers/get_involved_helper.rb new file mode 100644 index 000000000..3683c1aa6 --- /dev/null +++ b/app/helpers/get_involved_helper.rb @@ -0,0 +1,34 @@ +module GetInvolvedHelper + def date_microformat(attribute_name) + attribute_name.to_date.strftime("%d %B %Y") + end + + # Gets the link to the search page for all consultations + def get_consultations_link(filters = %w[open_consultations closed_consultations]) + "/search/policy-papers-and-consultations?#{filters.to_query('content_store_document_type')}" + end + + def page_title + "Get Involved" + end + + def page_class(css_class) + content_for(:page_class, css_class) + end + +private + + def time_until_closure(consultation) + days_left = (consultation["end_date"].to_date - Time.zone.now.to_date).to_i + case days_left + when :negative?.to_proc + "Closed" + when :zero?.to_proc + "Closing today" + when 1 + "Closes tomorrow" + else + "#{days_left} days left" + end + end +end diff --git a/app/presenters/get_involved_presenter.rb b/app/presenters/get_involved_presenter.rb new file mode 100644 index 000000000..4ee435095 --- /dev/null +++ b/app/presenters/get_involved_presenter.rb @@ -0,0 +1,2 @@ +class GetInvolvedPresenter < ContentItemPresenter +end diff --git a/config/routes.rb b/config/routes.rb index 9ed2679e0..c70637623 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,6 +16,8 @@ get "/government/uploads/*path" => "asset_manager_redirect#show", format: false + get "/government/get-involved" => "get_involved#show" + get "*path/:variant" => "content_items#show", constraints: { variant: /print/, From c2a6dc4ae8cfaea5590e0e5679b0653ce7d732c8 Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Tue, 12 Jan 2021 15:12:59 +0000 Subject: [PATCH 4/7] Modify Get Involved page and style for new framework When Get Involved existed in Whitehall it relied on an outdated set of styling frameworks that we no longer support. Of course, none of these were present in Government Frontend, so a large chunk of the related work was in modernising this style system. Also included in the Get Involved page specifically are calls to the correct functions in the controller such that we have the needed data to display. --- .../stylesheets/views/_get-involved.scss | 431 +++++++++++------- app/controllers/get_involved_controller.rb | 12 +- app/views/content_items/get_involved.html.erb | 69 ++- .../get_involved_controller_test.rb | 56 +-- 4 files changed, 337 insertions(+), 231 deletions(-) diff --git a/app/assets/stylesheets/views/_get-involved.scss b/app/assets/stylesheets/views/_get-involved.scss index 12afb5db4..b8f265661 100644 --- a/app/assets/stylesheets/views/_get-involved.scss +++ b/app/assets/stylesheets/views/_get-involved.scss @@ -1,246 +1,361 @@ -.get-involved { +// stylelint-disable max-nesting-depth - h2 { - @include heading-36; - border-bottom: $gutter-one-sixth solid $black; - margin-bottom: $gutter-half; - @include media(tablet) { - margin-bottom: $gutter; - } +// Due to complexity there are inline comments. Most of this mess comes from porting from Whitehall. +.get-involved { + // Some of this is specifically to reduce the wasted whitespace in Mobile views by reducing padding/margin + .headings-block { + @include govuk-media-query($until: desktop) { + .heading-big { + .inner-heading { + padding: 0; + } + } - &#take-part { - margin-bottom: 0; - @include media(tablet) { - margin-bottom: $gutter-half; + .intro-paragraph { + padding: 0; } } + } + + .govuk-grid-column-one-third-from-desktop { + padding: 0; + } + + .govuk-grid-column-two-thirds-from-desktop { + padding: 0; + } + + .govuk-grid-column-one-half-from-desktop { + padding: 0; + } - &#elsewhere-on-the-web { - margin-top: $gutter * 1.5; + // Primarily for the Consultations + .index-list { + li { + list-style: none; + border-bottom: 1px solid $govuk-border-colour; + @include govuk-font(19); + padding-top: 7px; + padding-bottom: 3px; } } - .featured-news article .content .text h3 { - padding-bottom: 3px; + h2 { + @extend %govuk-heading-l; + border-bottom: govuk-spacing(1) solid govuk-colour("black"); + margin-top: govuk-spacing(6) * 1.5; + + @include govuk-media-query($from: desktop) { + margin-bottom: govuk-spacing(6); + margin-left: govuk-spacing(3); + margin-right: govuk-spacing(3); + } } .content { - padding: 0 $gutter-half; + @include govuk-media-query($from: desktop) { + padding: 0 govuk-spacing(3); + } + + h3 { + font-weight: bold; + } + } + + .text h3 { + padding-bottom: 3px; } .block { clear: both; } - .floated-children { - h2 { - margin-left: $gutter-half; - margin-right: $gutter-half; + .head-section { + @include govuk-media-query($from: mobile) { + float: left; } - .head-section { - @include media(tablet) { - float: left; - width: $one-third; - } + h3 { + @include govuk-font(27, $weight: bold); - h3 { - @include heading-27; - font-weight: bold; - padding: 0 $gutter-half 7px; + padding: 0 0 7px; + + @include govuk-media-query($from: desktop) { + padding: 0 govuk-spacing(3) 7px; } } + } - .count { + // The amount of consultations open/closed has some special framing + .count { + @include govuk-media-query($until: desktop) { + width: 100%; + margin: govuk-spacing(3) 0; + } - @include govuk-media-query($from: desktop) { - width: $half; - } + @include govuk-font(80, $weight: bold); + display: block; + margin: govuk-spacing(3); + font-weight: bold; + width: 50%; + text-decoration: none; + .context { + @include govuk-font(16); display: block; - margin: $gutter-half; - @include heading-80; - font-weight: bold; - text-decoration: none; + margin-top: 0; + color: govuk-colour("black"); + @include govuk-link-common; + } + &:hover { .context { - display: block; - @include core-16; - margin-top: 0; - color: govuk-colour("black"); + text-underline-offset: .1em; + @include govuk-link-hover-decoration; } } - section { - @include core-19; - @extend %contain-floats; - clear: both; - margin-bottom: $gutter; + &:focus { + .context { + text-decoration: none; + } + } + } - h3, - h4 { - font-weight: bold; + // I tried to break this apart more but removing it from a "section" ID broke it outright + section { + @include govuk-font(19); + @include govuk-clearfix; + clear: both; + + h3 h4 { + font-weight: bold; + } + + .column { + @include govuk-media-query($from: mobile) { + float: left; } + } - .column { - @include media(tablet) { - float: left; - width: $two-thirds; - } + .consultation-lists { + list-style: none; + + @include govuk-media-query($from: mobile) { + float: left; } - .consultation-lists { - @include media(tablet) { - float: left; - width: $two-thirds; + // Special handling for the big blue next-closing box + .consultation-closing-soon { + color: govuk-colour("white"); + background-color: govuk-colour("dark-blue"); + margin: govuk-spacing(6) govuk-spacing(3); + padding: govuk-spacing(3) govuk-spacing(3) 0; + + @include govuk-media-query($until: desktop) { + margin: govuk-spacing(3) 0; } - .consultation-closing-soon { - color: govuk-colour("white"); - background-color: $inside-gov-brand; - margin: $gutter $gutter-half; - padding: $gutter-half $gutter-half 0; + h3 { + @include govuk-font(27, $weight: bold); - h3 { - @include heading-27; - font-weight: bold; - padding: 0 0 $gutter-one-sixth; - @include media(tablet) { - padding: 0 0 $gutter-one-sixth; - } + padding-bottom: govuk-spacing(1); + + @include govuk-media-query($from: mobile) { + padding-bottom: govuk-spacing(1); } + } - .document-list { - margin-top: -$gutter-one-third; + .document-list { + margin-top: -govuk-spacing(2); - h3 { - @include core-19; - border-bottom: 1px solid govuk-colour("white"); - padding-bottom: $gutter-one-third; - font-weight: normal; - } + .document-row { + float: none; + } - .attributes { - @extend %contain-floats; - margin-top: $gutter-one-third; + h3 { + @include govuk-font(19); + + border-bottom: 1px solid govuk-colour("white"); + padding-bottom: govuk-spacing(2); + font-weight: normal; + } - li { - @include core-19; + .attributes { + @include govuk-clearfix; + + margin-top: govuk-spacing(2); - a { - color: govuk-colour("white"); + a { + color: govuk-colour("white"); - &:link:focus { - color: $govuk-focus-text-colour; - } - } + &:link:focus { + color: $govuk-focus-text-colour; } } } - @include media(tablet) { - margin: $gutter-half $gutter-half $gutter; - } } + } - .column { - @include media(tablet) { - float: left; - width: $half; - @include ie(7) { - width: 49.99%; - } + .column { + @include govuk-media-query($from: mobile) { + float: left; + @include govuk-if-ie8 { + width: 49.99%; } } + } - .document-row { - border: 0; - } + .document-row { + border: 0; + padding: 5px 0 10px; } - .document-list { - .document-row { - border: 0; + .see-all { + float: left; + width: 100%; + } + } - h3 { - font-weight: normal; - } + .document-list { + .document-row { + border: 0; + padding: 5px 0 10px; + float: left; - .attributes { - margin-top: $gutter-one-sixth; + h3 { + font-weight: normal; + } - li { - padding-right: $gutter-one-third; + .attributes { + @include govuk-font(14); + padding-top: govuk-spacing(1); - a { - font-weight: bold; - } + li { + padding-right: govuk-spacing(2); + float: left; + + a { + font-weight: bold; } } } } + } - &.start-a-petition, - &.comment-follow { - p { - padding-top: $gutter-one-third; - } + .start-a-petition, + .comment-follow { + p { + padding-top: govuk-spacing(2); } + } - &.more-ways { - .index-list { - margin-top: $gutter-half; - } + .more-ways { + .index-list { + margin-top: govuk-spacing(3); + } - h3 { - padding-top: 0; - } + .column { + margin-top: govuk-spacing(1); + } + } - .column { - margin-top: $gutter-one-sixth; - } + .take-part-pages, + .start-a-petition, + .more-ways { + margin-bottom: 0; + @include govuk-media-query($until: desktop) { + margin-bottom: govuk-spacing(6); } + } - &.take-part-pages, - &.start-a-petition, - &.more-ways { - margin-bottom: 0; - @include media(tablet) { - margin-bottom: $gutter; - } + .respond-to-consultations { + margin-bottom: 0; + + .column { + margin-top: govuk-spacing(1); + } + } + + .see-all { + font-weight: bold; + margin: govuk-spacing(2) 0 govuk-spacing(6); + } + } + + .article-clear { + clear: both; + } + + .consultations + .keyline { + padding-top: 0; + } + + .keyline { + clear: both; + border: solid $govuk-border-colour; + border-width: 0 0 1px; + margin: 0 govuk-spacing(3) govuk-spacing(6); + padding-top: govuk-spacing(6); + } + + // The Take Part page grid is surprisingly complicated and needs handling in both + // Desktop and Mobile views, primarily to make sure that sizes are correct. This has a lot of + // fixes in place to make up for old Whitehall functions we no longer support. + .take-part-pages { + @include govuk-media-query($until: desktop) { + .govuk-grid-column-one-third-from-desktop { + width: 100%; } - &.respond-to-consultations { + h2 { margin-bottom: 0; + } - h3 { - padding-top: 0; - } + .text { + max-width: 60%; + } + } - .column { - margin-top: $gutter-one-sixth; - } + .content { + padding: govuk-spacing(3) govuk-spacing(3) govuk-spacing(2); + float: left; + + .summary { + font-size: 14px; } - .see-all { + h3 { + padding: govuk-spacing(1) 0 govuk-spacing(1); font-weight: bold; - margin: $gutter-one-third 0 $gutter; } - } - .article-clear { - clear: both; + @include govuk-media-query($until: desktop) { + width: 100%; + + padding: govuk-spacing(3) 0 govuk-spacing(2); + + .summary { + font-size: 12px; + } + } } - .consultations + .keyline { - padding-top: 0; + .text { + float: left; } + } + + img { + max-width: 100%; + float: left; + } - .keyline { - clear: both; - border: solid $govuk-border-colour; - border-width: 0 0 1px; - margin: 0 $gutter-half $gutter; - padding-top: $gutter; + .image-holder { + @include govuk-media-query($until: desktop) { + padding: govuk-spacing(1) govuk-spacing(3) 0 0; + max-width: 33.333333%; + float: left; } } } diff --git a/app/controllers/get_involved_controller.rb b/app/controllers/get_involved_controller.rb index 40295f1c7..b7993b936 100644 --- a/app/controllers/get_involved_controller.rb +++ b/app/controllers/get_involved_controller.rb @@ -1,8 +1,6 @@ class GetInvolvedController < ContentItemsController attr_accessor :content_item - attr_accessor :content_item - def show load_content_item load_get_involved_data @@ -13,10 +11,6 @@ def show def load_content_item content_item = Services.content_store.content_item("/government/get-involved") - if Services.feature_toggler.use_recommended_related_links?(content_item["links"], request.headers) - content_item["links"]["ordered_related_items"] = content_item["links"].fetch("suggested_ordered_related_items", []) - end - @content_item = PresenterBuilder.new( content_item, content_item_path, @@ -30,7 +24,7 @@ def load_get_involved_data @next_closing_consultations = [retrieve_next_closing] @recently_opened_consultations = retrieve_new_consultations @recent_consultation_outcomes = retrieve_consultation_outcomes - @take_part_pages = sort_take_part(retrieve_given_document_type("take_part")['results']) + @take_part_pages = sort_take_part(retrieve_given_document_type("take_part")["results'"]) end def retrieve_given_document_type(document_type) @@ -84,6 +78,6 @@ def parse_organisation_acronyms(consultations) end def sort_take_part(take_part_pages) - take_part_pages.sort_by{ |page| page["details"]["ordering"] } + take_part_pages.sort_by { |page| page["details"]["ordering"] } end -end \ No newline at end of file +end diff --git a/app/views/content_items/get_involved.html.erb b/app/views/content_items/get_involved.html.erb index a57cf23c0..e724c37a2 100644 --- a/app/views/content_items/get_involved.html.erb +++ b/app/views/content_items/get_involved.html.erb @@ -3,7 +3,7 @@
- <%= render partial: 'shared/heading', + <%= render partial: 'components/heading', locals: { big: true, heading: "Get involved" } %>

Find out how you can engage with government directly, and take part locally, nationally or internationally.

@@ -14,75 +14,72 @@

Engage with government

-
+

Respond to consultations

-
+

You can give your views on new or changing government policies by responding to consultations. Government departments take these responses into consideration before making decisions.

-
- - + -
+
<% @next_closing_consultations.each do |consultation| %> -

<%= consultation.time_until_closure %>

+

<%= time_until_closure(consultation) %>

<% end %>
    <% @next_closing_consultations.each do |consultation| %> - <%= content_tag_for(:li, consultation, class: 'document-row') do %> -

    <%= consultation.title %>

    + <%= content_tag(:li, "consultation", class: 'document-row') do %> +

    <%= consultation['title'] %>

      -
    • <%= link_to "Read and respond", public_document_path(consultation), class: "govuk-link" %>
    • +
    • <%= link_to "Read and respond", consultation['base_path'], class: "govuk-link" %>
    <% end %> <% end %>
-
+

Recently opened

    <% @recently_opened_consultations.each do |consultation| %>
  1. -

    <%= link_to consultation.title, public_document_path(consultation), class: "govuk-link" %>

    +

    <%= link_to consultation['title'], consultation['base_path'], class: "govuk-link" %>

      -
    • <%= consultation.organisations.map(&:acronym).to_sentence %>
    • -
    • Closes <%= consultation.date_microformat(:closing_at) %>
    • -
    • <%= link_to "Read and respond", public_document_path(consultation), class: "govuk-link", aria: {hidden: true} %>
    • +
    • <%= consultation['links']['organisation_acronyms'].to_sentence %>
    • +
    • Closes <%= date_microformat(consultation['details']['closing_date']) %>
    • +
    • <%= link_to "Read and respond", consultation['base_path'], class: "govuk-link", aria: {hidden: true} %>
  2. <% end %>
-

<%= link_to("Search all consultations", publications_path(publication_filter_option: "consultations"), class: "govuk-link" ) %>

+

<%= link_to("Search all consultations", get_consultations_link, class: "govuk-link" ) %>

-
+

Recent outcomes

    <% @recent_consultation_outcomes.each do |consultation| %>
  1. -

    <%= link_to consultation.title, public_document_path(consultation), class: "govuk-link" %>

    +

    <%= link_to consultation['title'], consultation['base_path'], class: "govuk-link" %>

      -
    • <%= consultation.organisations.map(&:acronym).to_sentence %>
    • -
    • Closed <%= consultation.date_microformat(:closing_at) %>
    • -
    • <%= link_to "See the outcome", public_document_path(consultation), class: "govuk-link", aria: {hidden: true} %>
    • +
    • <%= consultation['links']['organisation_acronyms'].to_sentence %>
    • +
    • Closed <%= date_microformat(consultation['details']['closing_date']) %>
    • +
    • <%= link_to "See the outcome", consultation['base_path'], class: "govuk-link", aria: {hidden: true} %>
  2. <% end %> @@ -94,10 +91,10 @@

-
+

Start a petition

-
+

You can create a petition to influence government and Parliament. If the petition gets at least 100,000 online signatures, it will be considered for debate in the House of Commons.

@@ -105,10 +102,10 @@

-
+

Follow a blog or social media channel

-
+

For an instant way to interact with government departments, try their social media streams. These are listed under 'Follow us' on the department's home page. As well as access to blogs, audio, video and more, you can comment, debate and rate.

See all government departments

@@ -133,14 +130,14 @@

Take part

<% @take_part_pages.each_with_index do |take_part_page, index| %> - class="article-clear"<% end %>> +
class="article-clear govuk-grid-column-one-third-from-desktop"<%else%> class="govuk-grid-column-one-third-from-desktop" <% end %>>
- <%= link_to image_tag(take_part_page.image_url(:s300), alt: take_part_page.image_alt_text), take_part_page, title: take_part_page.title, class: 'img', tabindex: -1, aria: {hidden: true} %> + <%= link_to image_tag(take_part_page['details']['image']['url'], alt: take_part_page['details']['image']['alt_text']), take_part_page, title: take_part_page['title'], class: 'img', tabindex: -1, aria: {hidden: true} %>
-

<%= link_to take_part_page.title, take_part_page, class: "govuk-link" %>

-

<%= format_with_html_line_breaks(take_part_page.summary) %>

+

<%= link_to take_part_page['title'], take_part_page, class: "govuk-link" %>

+

<%= format_with_html_line_breaks(take_part_page['description']) %>

@@ -148,12 +145,12 @@

-
+

More ways to take part

-
+
-

Many people are already volunteering, donating and contributing, both in the UK and abroad. If you’d like to join them, but do not know where to start, here’s a list of suggestions:

+

Many people are already volunteering, donating and contributing, both in the UK and abroad. If you’d like to join them, but don’t know where to start, here’s a list of suggestions:

  • Join the International Citizen Service (18- to 25-year-olds)
  • Take part in your local Neighbourhood Watch
  • diff --git a/test/controllers/get_involved_controller_test.rb b/test/controllers/get_involved_controller_test.rb index 6839ffefd..5e1837c21 100644 --- a/test/controllers/get_involved_controller_test.rb +++ b/test/controllers/get_involved_controller_test.rb @@ -3,6 +3,34 @@ class GetInvolvedControllerTest < ActionController::TestCase include GdsApi::TestHelpers::Search + include GdsApi::TestHelpers::ContentStore + + def setup + content_item_body = { + "links" => { + "take_part_pages" => [ + { + "title": "Page 1", + "details" => { + "body" => "", + "image" => { }, + "ordering" => 1 + }, + }, + { + "title": "Page 2", + "details" => { + "body" => "", + "image" => { }, + "ordering" => 2 + }, + }, + ] + }, + } + + stub_content_store_has_item("/government/get-involved", content_item_body) + end test "retrieves correct number of open consultations from search_api" do body = { @@ -51,34 +79,6 @@ def @controller.sort_take_part(take_part_pages) end assert_equal @controller.retrieve_next_closing, ["first result", {}] end - test "sorts take part pages based on order" do - pages = [ - { - "title" => "third", - "details" => { - "ordering" => "3", - }, - }, - { - "title" => "first", - "details" => { - "ordering" => "1", - }, - }, - { - "title" => "second", - "details" => { - "ordering" => "2", - }, - }, - ] - - sorted = @controller.sort_take_part(pages) - - assert_equal sorted.first["title"], "first" - assert_equal sorted.last["title"], "third" - end - private def stub_search(body) From 62714a1e6fd855c2c1d1ca544dc91d9c820d7e1a Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Thu, 29 Jul 2021 11:38:42 +0100 Subject: [PATCH 5/7] Migrate get-involved data sourcing to Search API Previously we were retrieving all data for the get involved page from the Publishing API. This was particularly heavy on our system with extra unneeded pings that were not correctly cached. Moving to the Search API where possible allows us to use cached results and saves a lot of overhead. --- app/controllers/get_involved_controller.rb | 86 ++++++++++--------- app/lib/services.rb | 6 ++ app/views/content_items/get_involved.html.erb | 38 ++++---- .../get_involved_controller_test.rb | 21 ++--- 4 files changed, 76 insertions(+), 75 deletions(-) diff --git a/app/controllers/get_involved_controller.rb b/app/controllers/get_involved_controller.rb index b7993b936..b3f09321f 100644 --- a/app/controllers/get_involved_controller.rb +++ b/app/controllers/get_involved_controller.rb @@ -9,7 +9,7 @@ def show end def load_content_item - content_item = Services.content_store.content_item("/government/get-involved") + content_item = get_involved_item @content_item = PresenterBuilder.new( content_item, @@ -19,65 +19,73 @@ def load_content_item end def load_get_involved_data - @open_consultation_count = retrieve_given_document_type("open_consultation")['total'] + @open_consultation_count = retrieve_open_consultation_count @closed_consultation_count = retrieve_date_filtered_closed_consultations(12) - @next_closing_consultations = [retrieve_next_closing] + @next_closing_consultation = retrieve_next_closing @recently_opened_consultations = retrieve_new_consultations @recent_consultation_outcomes = retrieve_consultation_outcomes - @take_part_pages = sort_take_part(retrieve_given_document_type("take_part")["results'"]) + @take_part_pages = get_involved_item["links"]["take_part_pages"] end - def retrieve_given_document_type(document_type) - Services.publishing_api.get_content_items(document_type: document_type).to_hash + def get_involved_item + @get_involved_item ||= Services.content_store.content_item("/government/get-involved") + end + + def retrieve_open_consultation_count + Services.search_api.search({ filter_content_store_document_type: "open_consultation", count: 0 })["total"] end # Aims to find a count of consultations closed in the last n months. def retrieve_date_filtered_closed_consultations(months) - closed_count = 0 + cutoff_date = Time.zone.now.prev_month(months) - cl_docs = retrieve_special({document_type: 'closed_consultation', per_page: 500, fields: ['details']})['results'] - cl_docs.sort_by! { |k| -k['details']['closing_date'] }.reverse! + query = { + filter_content_store_document_type: "closed_consultation", + filter_end_date: "from: #{cutoff_date}", + count: 0, + } - cl_docs.each do |doc| - if DateTime.parse(doc['details']['closing_date']) > DateTime.now.prev_month(months) - closed_count += 1 - else - break - end - end - - return closed_count # hard return for clarity + Services.search_api.search(query)["total"] end def retrieve_next_closing - open_consults = retrieve_given_document_type("open_consultation")['results'] - open_consults.sort_by! { |k| k['details']['closing_date'] }[0] + # Ensure that on query we're not looking in the past + cutoff_date = Time.zone.now.to_date + + query = { + filter_content_store_document_type: "open_consultation", + filter_end_date: "from: #{cutoff_date}", + fields: "end_date,title,link", + order: "end_date", + count: 1, + } + + Services.search_api.search(query)["results"].first end def retrieve_new_consultations - open_consults = retrieve_given_document_type("open_consultation")['results'] - sorted_desc = open_consults.sort_by! { |k| k['details']['opening_date'] }.reverse!.values_at(0..2) - parse_organisation_acronyms(sorted_desc) + query = { + filter_content_store_document_type: "open_consultation", + fields: "end_date,title,link,organisations", + order: "-start_date", + count: 3, + } + + Services.search_api.search(query)["results"] end def retrieve_consultation_outcomes - closed_consults = retrieve_given_document_type("consultation_outcome")['results'] - sorted_desc = closed_consults.sort_by! { |k| k['details']['closing_date'] }.reverse!.values_at(0..2) - parse_organisation_acronyms(sorted_desc) - end + # Ensure that on query we're not looking into the future + cutoff_date = Time.zone.now.to_date - def parse_organisation_acronyms(consultations) - consultations.each do |consultation| - org_acronyms = [] - organisations = consultation['links']['organisations'] - organisations.each do |org_id| - org_acronyms << Services.publishing_api.get_live_content(org_id).parsed_content['details']['acronym'] - end - consultation['links']['organisation_acronyms'] = org_acronyms - end - end + query = { + filter_content_store_document_type: "consultation_outcome", + filter_end_date: "to: #{cutoff_date}", + fields: "end_date,title,link,organisations", + order: "-end_date", + count: 3, + } - def sort_take_part(take_part_pages) - take_part_pages.sort_by { |page| page["details"]["ordering"] } + Services.search_api.search(query)["results"] end end diff --git a/app/lib/services.rb b/app/lib/services.rb index 34b59dbec..da4d5487d 100644 --- a/app/lib/services.rb +++ b/app/lib/services.rb @@ -24,4 +24,10 @@ def self.publishing_api bearer_token: ENV.fetch("PUBLISHING_API_BEARER_TOKEN", "example"), ) end + + def self.search_api + @search_api = GdsApi::Search.new( + Plek.find("search"), + ) + end end diff --git a/app/views/content_items/get_involved.html.erb b/app/views/content_items/get_involved.html.erb index e724c37a2..9e6a3ebf7 100644 --- a/app/views/content_items/get_involved.html.erb +++ b/app/views/content_items/get_involved.html.erb @@ -36,17 +36,13 @@
- <% @next_closing_consultations.each do |consultation| %> -

<%= time_until_closure(consultation) %>

- <% end %> +

<%= time_until_closure(@next_closing_consultation) %>

    - <% @next_closing_consultations.each do |consultation| %> - <%= content_tag(:li, "consultation", class: 'document-row') do %> -

    <%= consultation['title'] %>

    -
      -
    • <%= link_to "Read and respond", consultation['base_path'], class: "govuk-link" %>
    • -
    - <% end %> + <%= content_tag(:li, "consultation", class: 'document-row') do %> +

    <%= @next_closing_consultation['title'] %>

    +
      +
    • <%= link_to "Read and respond", @next_closing_consultation['link'], class: "govuk-link" %>
    • +
    <% end %>
@@ -57,11 +53,11 @@
    <% @recently_opened_consultations.each do |consultation| %>
  1. -

    <%= link_to consultation['title'], consultation['base_path'], class: "govuk-link" %>

    +

    <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

      -
    • <%= consultation['links']['organisation_acronyms'].to_sentence %>
    • -
    • Closes <%= date_microformat(consultation['details']['closing_date']) %>
    • -
    • <%= link_to "Read and respond", consultation['base_path'], class: "govuk-link", aria: {hidden: true} %>
    • +
    • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
    • +
    • Closes <%= date_microformat(consultation['end_date']) %>
    • +
    • <%= link_to "Read and respond", consultation['link'], class: "govuk-link", aria: {hidden: true} %>
  2. <% end %> @@ -75,11 +71,11 @@
      <% @recent_consultation_outcomes.each do |consultation| %>
    1. -

      <%= link_to consultation['title'], consultation['base_path'], class: "govuk-link" %>

      +

      <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

        -
      • <%= consultation['links']['organisation_acronyms'].to_sentence %>
      • -
      • Closed <%= date_microformat(consultation['details']['closing_date']) %>
      • -
      • <%= link_to "See the outcome", consultation['base_path'], class: "govuk-link", aria: {hidden: true} %>
      • +
      • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
      • +
      • Closed <%= date_microformat(consultation['end_date']) %>
      • +
      • <%= link_to "See the outcome", consultation['link'], class: "govuk-link", aria: {hidden: true} %>
    2. <% end %> @@ -126,9 +122,9 @@
      -
-

Engage with government

+

<%= t('get_involved.engage_with_gov') %>

-

Respond to consultations

+

<%= t('get_involved.respond_to_consultations') %>

-

You can give your views on new or changing government policies by responding to consultations. Government departments take these responses into consideration before making decisions.

+

<%= t('get_involved.your_views') %>

@@ -41,7 +44,7 @@ <%= content_tag(:li, "consultation", class: 'document-row') do %>

<%= @next_closing_consultation['title'] %>

    -
  • <%= link_to "Read and respond", @next_closing_consultation['link'], class: "govuk-link" %>
  • +
  • <%= link_to t('get_involved.read_respond'), @next_closing_consultation['link'], class: "govuk-link" %>
<% end %> @@ -49,33 +52,33 @@
-

Recently opened

+

<%= t('get_involved.recently_opened') %>

    <% @recently_opened_consultations.each do |consultation| %>
  1. <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

    • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
    • -
    • Closes <%= date_microformat(consultation['end_date']) %>
    • -
    • <%= link_to "Read and respond", consultation['link'], class: "govuk-link", aria: {hidden: true} %>
    • +
    • <%= t('get_involved.closes', closing_date: date_microformat(consultation['end_date']) ) %>
    • +
    • <%= link_to t('get_involved.read_respond'), consultation['link'], class: "govuk-link", aria: {hidden: true} %>
  2. <% end %>
-

<%= link_to("Search all consultations", get_consultations_link, class: "govuk-link" ) %>

+

<%= link_to(t('get_involved.search_all'), get_consultations_link, class: "govuk-link" ) %>

-

Recent outcomes

+

<%= t('get_involved.recent_outcomes') %>

    <% @recent_consultation_outcomes.each do |consultation| %>
  1. <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

    • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
    • -
    • Closed <%= date_microformat(consultation['end_date']) %>
    • -
    • <%= link_to "See the outcome", consultation['link'], class: "govuk-link", aria: {hidden: true} %>
    • +
    • <%= t('get_involved.closed_with_date', closing_date: date_microformat(consultation['end_date'])) %>
    • +
    • <%= link_to t('get_involved.see_the_outcome'), consultation['link'], class: "govuk-link", aria: {hidden: true} %>
  2. <% end %> @@ -88,31 +91,31 @@
    -

    Start a petition

    +

    <%= t('get_involved.start_a_petition') %>

    -

    You can create a petition to influence government and Parliament. If the petition gets at least 100,000 online signatures, it will be considered for debate in the House of Commons.

    +

    <%= t('get_involved.petition_paragraph.body_html', + create_a_petition: link_to(t('get_involved.petition_paragraph.create_a_petition'), "https://petition.parliament.uk/")) %>


    -

    Follow a blog or social media channel

    +

    <%= t('get_involved.follow') %>

    -

    For an instant way to interact with government departments, try their social media streams. These are listed under 'Follow us' on the department's home page. As well as access to blogs, audio, video and more, you can comment, debate and rate.

    -

    See all government departments

    -

    Some active government blogs include:

    +

    <%= t('get_involved.follow_paragraph') %>

    +

    <%= t('get_involved.see_all_dept') %>

    +

    <%= t('get_involved.active_blogs') %>

    @@ -124,7 +127,7 @@
    -

    Take part

    +

    <%= t('get_involved.take_part') %>

    <% @take_part_pages.each_with_index do |take_part_page, index| %>
    class="article-clear govuk-grid-column-one-third-from-desktop"<%else%> class="govuk-grid-column-one-third-from-desktop" <% end %>>
    @@ -142,16 +145,16 @@
    -

    More ways to take part

    +

    <%= t('get_involved.more_ways') %>

    -

    Many people are already volunteering, donating and contributing, both in the UK and abroad. If you’d like to join them, but don’t know where to start, here’s a list of suggestions:

    +

    <%= t('get_involved.take_part_suggestions') %>

    diff --git a/config/locales/ar.yml b/config/locales/ar.yml index ca0a49db1..ec3055add 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -596,6 +596,49 @@ ar: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/az.yml b/config/locales/az.yml index 3032a59a8..ac4ac15d9 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -226,6 +226,49 @@ az: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/be.yml b/config/locales/be.yml index fc9ad35a7..c7df8883d 100644 --- a/config/locales/be.yml +++ b/config/locales/be.yml @@ -448,6 +448,49 @@ be: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 202d8018d..60b6bcfbe 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -300,6 +300,49 @@ bg: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/bn.yml b/config/locales/bn.yml index 7389805be..abf249683 100644 --- a/config/locales/bn.yml +++ b/config/locales/bn.yml @@ -300,6 +300,49 @@ bn: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 58903a6fe..ea2fb1fc3 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -374,6 +374,49 @@ cs: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/cy.yml b/config/locales/cy.yml index d814e1341..103f83b5c 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -596,6 +596,49 @@ cy: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/da.yml b/config/locales/da.yml index 49af47a0b..3a162a74e 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -300,6 +300,49 @@ da: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/de.yml b/config/locales/de.yml index e31554be5..9d383af2a 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -300,6 +300,49 @@ de: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/dr.yml b/config/locales/dr.yml index 9a02a2fb0..22522af71 100644 --- a/config/locales/dr.yml +++ b/config/locales/dr.yml @@ -300,6 +300,49 @@ dr: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/el.yml b/config/locales/el.yml index bcd21b1f1..aee21a3c6 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -300,6 +300,49 @@ el: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/en.yml b/config/locales/en.yml index 0f71d9be7..3599e6717 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -300,6 +300,50 @@ en: alt_text: Ministry of Defence crest field_of_operation: Field of operation operations_in: Operations in %{location} + get_involved: + active_blogs: "Some active government blogs include:" + civil_service_quarterly: Civil Service Quarterly + civil_service: Civil Service + closed: Closed + closed_consultations: Closed consultations in the past 12 months + closed_with_date: Closed %{closing_date} + closes: Closes %{closing_date} + closing_today: Closing today + closing_tomorrow: Closing tomorrow + cs_head: Head of the Civil Service + days_left: "%{number_of_days} days left" + engage_with_gov: Engage with government + fco_bloggers: FCO bloggers + follow: Follow a blog or social media channel + follow_paragraph: For an instant way to interact with government departments, try their social media streams. These are listed under 'Follow us' on the department's home page. As well as access to blogs, audio, video and more, you can comment, debate and rate. + gds_blog: Government Digital Service + gov_past: History of Government + intro_paragraph: + body_html: Find out how you can %{engage_with_government} directly, and %{take_part} locally, nationally or internationally. + engage_with_government: engage with government + take_part: take part + join_ics: Join the International Citizen Service (18- to 25-year-olds) + make_donation: Make a donation to charity + more_ways: More ways to take part + neighbourhood_watch: Take part in your local Neighbourhood Watch + open_consultations: Open consultations + page_heading: Get Involved + page_title: Get Involved + petition_paragraph: + body_html: You can %{create_a_petition} to influence government and Parliament. If the petition gets at least 100,000 online signatures, it will be considered for debate in the House of Commons. + create_a_petition: create a petition + read_respond: Read and respond + recent_outcomes: Recent outcomes + recently_opened: Recently opened + respond_to_consultations: Respond to consultations + school_overseas: Link up with a school overseas + search_all: Search all consultations + see_all_dept: See all government departments + see_the_outcome: See the outcome + start_a_petition: Start a petition + take_part: Take part + take_part_suggestions: Many people are already volunteering, donating and contributing, both in the UK and abroad. If you'd like to join them, but dont know where to start, here's a list of suggestions + your_views: You can give your views on new or changing government policies by responding to consultations. Government departments take these responses into consideration before making decisions. gone: page_title: No longer available published_in_error: The information on this page has been removed because it was published in error. diff --git a/config/locales/es-419.yml b/config/locales/es-419.yml index 15c9adfe5..2a4eadbf6 100644 --- a/config/locales/es-419.yml +++ b/config/locales/es-419.yml @@ -300,6 +300,49 @@ es-419: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/es.yml b/config/locales/es.yml index 3bee1d404..d3001b9eb 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -300,6 +300,49 @@ es: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/et.yml b/config/locales/et.yml index 15eb01b03..2f399cd9c 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -300,6 +300,49 @@ et: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index e53ad074c..cc02adc71 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -226,6 +226,49 @@ fa: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 9a24d6e91..2776e10da 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -300,6 +300,49 @@ fi: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 6642d753c..4f5aacca9 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -300,6 +300,49 @@ fr: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 7e8d040bd..f56b9c64d 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -448,6 +448,49 @@ gd: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/gu.yml b/config/locales/gu.yml index 13680d52d..a5d84b29e 100644 --- a/config/locales/gu.yml +++ b/config/locales/gu.yml @@ -300,6 +300,49 @@ gu: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/he.yml b/config/locales/he.yml index 83d67e456..04f1ddac6 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -300,6 +300,48 @@ he: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/hi.yml b/config/locales/hi.yml index 0eb9350eb..61368598f 100644 --- a/config/locales/hi.yml +++ b/config/locales/hi.yml @@ -300,6 +300,49 @@ hi: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 4521fd90f..802a76faa 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -448,6 +448,49 @@ hr: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 05b478748..b1bdc11e4 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -300,6 +300,49 @@ hu: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 682cdb92b..795f81023 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -300,6 +300,49 @@ hy: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/id.yml b/config/locales/id.yml index 4f4fc39e4..e8b2f1628 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -226,6 +226,49 @@ id: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/is.yml b/config/locales/is.yml index a55fe2ab6..1fcc3127b 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -300,6 +300,49 @@ is: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/it.yml b/config/locales/it.yml index 9cd863a0c..6cf8e4043 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -300,6 +300,49 @@ it: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 20c81296a..921cd91e0 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -226,6 +226,49 @@ ja: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ka.yml b/config/locales/ka.yml index ce9a3a286..61ab2f9be 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -226,6 +226,49 @@ ka: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 5356ca1d0..49bddf81d 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -300,6 +300,49 @@ kk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 2da40a5f4..6f8eaeedd 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -226,6 +226,49 @@ ko: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/lt.yml b/config/locales/lt.yml index be7451083..de8231f7c 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -374,6 +374,49 @@ lt: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 924e6ccfc..db4accd12 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -300,6 +300,49 @@ lv: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 0541dc0a3..30db0e943 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -226,6 +226,49 @@ ms: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/mt.yml b/config/locales/mt.yml index c27ee389d..1e18d21b9 100644 --- a/config/locales/mt.yml +++ b/config/locales/mt.yml @@ -448,6 +448,49 @@ mt: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ne.yml b/config/locales/ne.yml index 5173e1f39..41fa03fdb 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -300,6 +300,49 @@ ne: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index c471ae975..b94b4ec4a 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -300,6 +300,49 @@ nl: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/no.yml b/config/locales/no.yml index 170986ea0..581b1ffb9 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -300,6 +300,49 @@ alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/pa-pk.yml b/config/locales/pa-pk.yml index 0cb82851e..e8929113e 100644 --- a/config/locales/pa-pk.yml +++ b/config/locales/pa-pk.yml @@ -300,6 +300,49 @@ pa-pk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/pa.yml b/config/locales/pa.yml index 43da8544c..c799b92d6 100644 --- a/config/locales/pa.yml +++ b/config/locales/pa.yml @@ -300,6 +300,49 @@ pa: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index affbe61b4..d97cb4688 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -448,6 +448,49 @@ pl: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ps.yml b/config/locales/ps.yml index 9f7c53af3..26912851e 100644 --- a/config/locales/ps.yml +++ b/config/locales/ps.yml @@ -300,6 +300,49 @@ ps: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 060f41654..79fe3a025 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -300,6 +300,49 @@ pt: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 317e64d2a..2d22ce9e4 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -374,6 +374,49 @@ ro: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index de0d90448..5c5ad66bc 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -448,6 +448,49 @@ ru: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/si.yml b/config/locales/si.yml index 6481aa092..108fcb2c6 100644 --- a/config/locales/si.yml +++ b/config/locales/si.yml @@ -300,6 +300,49 @@ si: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 791a67319..d0dae59c0 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -374,6 +374,49 @@ sk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 9cee1eb61..e3af5cfe8 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -448,6 +448,49 @@ sl: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/so.yml b/config/locales/so.yml index 8d7645674..73e852b3e 100644 --- a/config/locales/so.yml +++ b/config/locales/so.yml @@ -300,6 +300,49 @@ so: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 99cff3f5b..7fb73ba17 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -300,6 +300,49 @@ sq: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sr.yml b/config/locales/sr.yml index b5300e451..26a3dcf8e 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -448,6 +448,49 @@ sr: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 4a3c013e5..09bcf30cb 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -300,6 +300,49 @@ sv: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/sw.yml b/config/locales/sw.yml index 6539d506a..185dc6beb 100644 --- a/config/locales/sw.yml +++ b/config/locales/sw.yml @@ -300,6 +300,49 @@ sw: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 5b2638c2d..d3dbc7b82 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -300,6 +300,49 @@ ta: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/th.yml b/config/locales/th.yml index e8c09e760..408c7cbcb 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -226,6 +226,49 @@ th: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/tk.yml b/config/locales/tk.yml index 92fcadd09..c939b59a0 100644 --- a/config/locales/tk.yml +++ b/config/locales/tk.yml @@ -300,6 +300,49 @@ tk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 0001f8671..9e943c71a 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -300,6 +300,49 @@ tr: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 9864f2692..0f90e7c8f 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -448,6 +448,49 @@ uk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/ur.yml b/config/locales/ur.yml index b4e9f80a2..2dd4f760e 100644 --- a/config/locales/ur.yml +++ b/config/locales/ur.yml @@ -300,6 +300,49 @@ ur: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/uz.yml b/config/locales/uz.yml index e29bcd480..ef8519766 100644 --- a/config/locales/uz.yml +++ b/config/locales/uz.yml @@ -300,6 +300,49 @@ uz: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 8e4a58467..71255a6e6 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -226,6 +226,49 @@ vi: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/yi.yml b/config/locales/yi.yml index 3e9ae3634..7c70808de 100644 --- a/config/locales/yi.yml +++ b/config/locales/yi.yml @@ -25,18 +25,6 @@ yi: from: hide_all: show_all: - save_this_page: - add_page_button: - confirmations: - page_removed: - message: - page_saved: - message: - page_not_saved_heading: - page_was_saved_heading: - remove_page_button: - see_saved_pages_signed_in: - see_saved_pages_signed_out: share_links: share_this_page: consultation: @@ -312,6 +300,49 @@ yi: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/zh-hk.yml b/config/locales/zh-hk.yml index 9ac732fdf..26ee7667f 100644 --- a/config/locales/zh-hk.yml +++ b/config/locales/zh-hk.yml @@ -300,6 +300,49 @@ zh-hk: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/zh-tw.yml b/config/locales/zh-tw.yml index 52458da81..6e8cb90e0 100644 --- a/config/locales/zh-tw.yml +++ b/config/locales/zh-tw.yml @@ -300,6 +300,49 @@ zh-tw: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service_quarterly: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 3d934a4bb..b4ac08aeb 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -226,6 +226,48 @@ zh: alt_text: field_of_operation: operations_in: + get_involved: + active_blogs: + civil_service: + closed: + closed_consultations: + closed_with_date: + closes: + closing_today: + closing_tomorrow: + days_left: + engage_with_gov: + fco_bloggers: + follow: + follow_paragraph: + gds_blog: + gov_past: + intro_paragraph: + body_html: + engage_with_government: + take_part: + join_ics: + make_donation: + more_ways: + neighbourhood_watch: + open_consultations: + page_heading: + page_title: + petition_paragraph: + body_html: + create_a_petition: + read_respond: + recent_outcomes: + recently_opened: + respond_to_consultations: + school_overseas: + search_all: + see_all_dept: + see_the_outcome: + start_a_petition: + take_part: + take_part_suggestions: + your_views: gone: page_title: published_in_error: From 8dba7fccfd304f753ac166784b38c1286ce857d8 Mon Sep 17 00:00:00 2001 From: Jonathon Shire Date: Mon, 18 Oct 2021 14:25:35 +0100 Subject: [PATCH 7/7] Rework Get Involved rendering for GOVUK Component System The Frontend team removed many functions being used in the original port of this page from Whitehall. This commit updates the page to fit the component ecosystem from govuk_publishing_components with the added benefit of losing a lot of now unnecessary CSS content for the same end result. --- app/assets/stylesheets/application.scss | 5 +- .../stylesheets/helpers/_featured_news.scss | 72 ---- .../stylesheets/views/_get-involved.scss | 381 ++++-------------- app/assets/stylesheets/views/_headings.scss | 50 --- app/views/content_items/get_involved.html.erb | 167 ++++---- 5 files changed, 155 insertions(+), 520 deletions(-) delete mode 100644 app/assets/stylesheets/helpers/_featured_news.scss delete mode 100644 app/assets/stylesheets/views/_headings.scss diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 3cfe7c02a..7e4c7a8d7 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -8,8 +8,10 @@ $govuk-new-link-styles: true; @import 'govuk_publishing_components/govuk_frontend_support'; @import 'govuk_publishing_components/components/attachment'; @import 'govuk_publishing_components/components/back-link'; +@import 'govuk_publishing_components/components/big-number'; @import 'govuk_publishing_components/components/breadcrumbs'; @import 'govuk_publishing_components/components/button'; +@import 'govuk_publishing_components/component_support'; @import 'govuk_publishing_components/components/contents-list'; @import 'govuk_publishing_components/components/contextual-sidebar'; @import 'govuk_publishing_components/components/details'; @@ -23,6 +25,7 @@ $govuk-new-link-styles: true; @import 'govuk_publishing_components/components/govspeak-html-publication'; @import 'govuk_publishing_components/components/heading'; @import 'govuk_publishing_components/components/hint'; +@import 'govuk_publishing_components/components/image-card'; @import 'govuk_publishing_components/components/input'; @import 'govuk_publishing_components/components/intervention'; @import 'govuk_publishing_components/components/inverse-header'; @@ -91,8 +94,6 @@ $govuk-new-link-styles: true; @import 'views/help-page'; @import 'views/guide'; @import 'views/get-involved'; -@import 'views/headings'; -@import 'helpers/featured_news'; .travel-advice-notice { background-color: govuk-colour("light-grey"); diff --git a/app/assets/stylesheets/helpers/_featured_news.scss b/app/assets/stylesheets/helpers/_featured_news.scss deleted file mode 100644 index 082b0598d..000000000 --- a/app/assets/stylesheets/helpers/_featured_news.scss +++ /dev/null @@ -1,72 +0,0 @@ -// stylelint-disable max-nesting-depth -.featured-news { - article { - clear: both; - - .govuk-link { - line-height: 1.16; - } - - @include govuk-media-query($from: tablet) { - float: left; - display: inline; - overflow: hidden; - clear: none; - } - - .content { - padding: govuk-spacing(3) govuk-spacing(3) govuk-spacing(2); - - .image-holder { - float: left; - - @include govuk-media-query($from: tablet) { - float: none; - } - - .img { - display: block; - padding: govuk-spacing(1) govuk-spacing(3) 0 0; - width: 100%; - - @include govuk-media-query($from: tablet) { - padding: 0; - } - } - } - - .text { - float: left; - - @include govuk-media-query($from: tablet) { - float: none; - } - - .meta { - @include ig-core-14; - color: $govuk-secondary-text-colour; - padding-bottom: 0; - } - - h2 { - @include ig-core-19; - padding-top: 0; - - a { - font-weight: bold; - } - } - - h3 { - @include govuk-font(19); - font-weight: bold; - padding: govuk-spacing(1) 0 govuk-spacing(2); - } - - .summary { - @include ig-core-14; - } - } - } - } -} diff --git a/app/assets/stylesheets/views/_get-involved.scss b/app/assets/stylesheets/views/_get-involved.scss index b8f265661..b7a4623ce 100644 --- a/app/assets/stylesheets/views/_get-involved.scss +++ b/app/assets/stylesheets/views/_get-involved.scss @@ -1,361 +1,124 @@ -// stylelint-disable max-nesting-depth - -// Due to complexity there are inline comments. Most of this mess comes from porting from Whitehall. .get-involved { - // Some of this is specifically to reduce the wasted whitespace in Mobile views by reducing padding/margin - .headings-block { - @include govuk-media-query($until: desktop) { - .heading-big { - .inner-heading { - padding: 0; - } - } + // Disabled due to many govuk_publishing_components requiring IDs over classes. + // stylelint-disable selector-max-id + + list-style: none; + + .govuk-link { + line-height: 1.16; + } - .intro-paragraph { - padding: 0; - } + #engage-with-government { + border-bottom-style: solid; + padding-bottom: 5px; + border-bottom-width: 5px; + font-weight: normal; + } + + .respond-to-consultations { + .govuk-grid-column-two-thirds-from-desktop { + padding: 20px 0 0; + margin-bottom: 20px; } } - .govuk-grid-column-one-third-from-desktop { + #respond-heading { padding: 0; } - .govuk-grid-column-two-thirds-from-desktop { + .big-numbers { padding: 0; } - .govuk-grid-column-one-half-from-desktop { + .recently-opened { padding: 0; } - // Primarily for the Consultations - .index-list { - li { - list-style: none; - border-bottom: 1px solid $govuk-border-colour; - @include govuk-font(19); - padding-top: 7px; - padding-bottom: 3px; - } + .govuk-grid-column-two-thirds-from-desktop { + margin-bottom: 50px; + padding: 0; } - h2 { - @extend %govuk-heading-l; - border-bottom: govuk-spacing(1) solid govuk-colour("black"); - margin-top: govuk-spacing(6) * 1.5; - - @include govuk-media-query($from: desktop) { - margin-bottom: govuk-spacing(6); - margin-left: govuk-spacing(3); - margin-right: govuk-spacing(3); - } + .govuk-grid-column-one-third-from-desktop { + padding: 0; } - .content { - @include govuk-media-query($from: desktop) { - padding: 0 govuk-spacing(3); - } - - h3 { - font-weight: bold; - } + .consultation-lists { + padding: 0; } - .text h3 { - padding-bottom: 3px; + .gem-c-big-number { + margin-top: 10px; } - .block { - clear: both; + .consultation-closing-soon { + background-color: govuk-colour("dark-blue"); + padding: govuk-spacing(3) govuk-spacing(3); } - .head-section { - @include govuk-media-query($from: mobile) { - float: left; - } - - h3 { - @include govuk-font(27, $weight: bold); - - padding: 0 0 7px; - - @include govuk-media-query($from: desktop) { - padding: 0 govuk-spacing(3) 7px; - } - } + #closing-soon-title { + border-bottom-style: solid; + padding-bottom: 5px; + border-bottom-width: 1px; + font-weight: normal; } - // The amount of consultations open/closed has some special framing - .count { - @include govuk-media-query($until: desktop) { - width: 100%; - margin: govuk-spacing(3) 0; - } - - @include govuk-font(80, $weight: bold); - display: block; - margin: govuk-spacing(3); + #closing-soon-link { + @include govuk-font(19); + margin-bottom: 5px; font-weight: bold; - width: 50%; - text-decoration: none; - - .context { - @include govuk-font(16); - display: block; - margin-top: 0; - color: govuk-colour("black"); - @include govuk-link-common; - } - - &:hover { - .context { - text-underline-offset: .1em; - @include govuk-link-hover-decoration; - } - } - - &:focus { - .context { - text-decoration: none; - } - } } - // I tried to break this apart more but removing it from a "section" ID broke it outright - section { + #consultation-title { @include govuk-font(19); - @include govuk-clearfix; - clear: both; - - h3 h4 { - font-weight: bold; - } - - .column { - @include govuk-media-query($from: mobile) { - float: left; - } - } - - .consultation-lists { - list-style: none; - - @include govuk-media-query($from: mobile) { - float: left; - } - - // Special handling for the big blue next-closing box - .consultation-closing-soon { - color: govuk-colour("white"); - background-color: govuk-colour("dark-blue"); - margin: govuk-spacing(6) govuk-spacing(3); - padding: govuk-spacing(3) govuk-spacing(3) 0; - - @include govuk-media-query($until: desktop) { - margin: govuk-spacing(3) 0; - } - - h3 { - @include govuk-font(27, $weight: bold); - - padding-bottom: govuk-spacing(1); - - @include govuk-media-query($from: mobile) { - padding-bottom: govuk-spacing(1); - } - } - - .document-list { - margin-top: -govuk-spacing(2); - - .document-row { - float: none; - } - - h3 { - @include govuk-font(19); - - border-bottom: 1px solid govuk-colour("white"); - padding-bottom: govuk-spacing(2); - font-weight: normal; - } - - .attributes { - @include govuk-clearfix; - - margin-top: govuk-spacing(2); - - a { - color: govuk-colour("white"); - - &:link:focus { - color: $govuk-focus-text-colour; - } - } - } - } - } - - .column { - @include govuk-media-query($from: mobile) { - float: left; - @include govuk-if-ie8 { - width: 49.99%; - } - } - } - - .document-row { - border: 0; - padding: 5px 0 10px; - } - - .see-all { - float: left; - width: 100%; - } - } - - .document-list { - .document-row { - border: 0; - padding: 5px 0 10px; - float: left; - - h3 { - font-weight: normal; - } - - .attributes { - @include govuk-font(14); - padding-top: govuk-spacing(1); - - li { - padding-right: govuk-spacing(2); - float: left; - - a { - font-weight: bold; - } - } - } - } - } - - .start-a-petition, - .comment-follow { - p { - padding-top: govuk-spacing(2); - } - } - - .more-ways { - .index-list { - margin-top: govuk-spacing(3); - } - - .column { - margin-top: govuk-spacing(1); - } - } + } - .take-part-pages, - .start-a-petition, - .more-ways { - margin-bottom: 0; - @include govuk-media-query($until: desktop) { - margin-bottom: govuk-spacing(6); - } - } + .consultation-list-row { + float: left; + padding: 0 0 10px; + } - .respond-to-consultations { - margin-bottom: 0; + .consultation-attributes { + @include govuk-font(14); + padding-top: 5px; - .column { - margin-top: govuk-spacing(1); - } + li { + float: left; + padding-right: 10px; } - .see-all { + .consultation-view-link { font-weight: bold; - margin: govuk-spacing(2) 0 govuk-spacing(6); + margin-right: 30px; //force onto new line } } - .article-clear { - clear: both; - } - - .consultations + .keyline { - padding-top: 0; + #see-all-link { + @include govuk-font(19); + font-weight: bold; } .keyline { - clear: both; - border: solid $govuk-border-colour; - border-width: 0 0 1px; - margin: 0 govuk-spacing(3) govuk-spacing(6); - padding-top: govuk-spacing(6); + margin: 30px 15px; } - // The Take Part page grid is surprisingly complicated and needs handling in both - // Desktop and Mobile views, primarily to make sure that sizes are correct. This has a lot of - // fixes in place to make up for old Whitehall functions we no longer support. - .take-part-pages { - @include govuk-media-query($until: desktop) { - .govuk-grid-column-one-third-from-desktop { - width: 100%; - } - - h2 { - margin-bottom: 0; - } - - .text { - max-width: 60%; - } - } - - .content { - padding: govuk-spacing(3) govuk-spacing(3) govuk-spacing(2); - float: left; - - .summary { - font-size: 14px; - } - - h3 { - padding: govuk-spacing(1) 0 govuk-spacing(1); - font-weight: bold; - } - - @include govuk-media-query($until: desktop) { - width: 100%; - - padding: govuk-spacing(3) 0 govuk-spacing(2); - - .summary { - font-size: 12px; - } - } - } - - .text { - float: left; + .comment-follow { + li { + border-bottom: 1px solid $govuk-border-colour; + padding: 1px 0 7px; } } - img { - max-width: 100%; - float: left; + .more-ways { + li { + border-bottom: 1px solid $govuk-border-colour; + padding: 1px 0 7px; + } } - .image-holder { - @include govuk-media-query($until: desktop) { - padding: govuk-spacing(1) govuk-spacing(3) 0 0; - max-width: 33.333333%; - float: left; + .take-part-pages { + .govuk-grid-column-one-third-from-desktop { + padding: 15px 15px 0; } } } diff --git a/app/assets/stylesheets/views/_headings.scss b/app/assets/stylesheets/views/_headings.scss deleted file mode 100644 index 356ae1721..000000000 --- a/app/assets/stylesheets/views/_headings.scss +++ /dev/null @@ -1,50 +0,0 @@ -.headings-block { - - @include govuk-clearfix; - margin-top: 0; - - .heading { - padding: govuk-spacing(3) 0; - - @include govuk-media-query($from: tablet) { - padding: govuk-spacing(6) * 1.5 0; - } - - h1 { - @include govuk-font(36); - font-weight: bold; - } - - .type, - .type a { - @include govuk-font(27); - color: $govuk-secondary-text-colour; - margin-bottom: govuk-spacing(1); - text-decoration: none; - } - } - - .heading-big { - @extend .heading; // stylelint-disable-line scss/at-extend-no-missing-placeholder - - h1 { - @include govuk-font(48); - font-weight: bold; - } - - .inner-heading { - padding: 0 15px; - } - } - - .intro-paragraph { - padding: 0 govuk-spacing(3); - margin-bottom: govuk-spacing(6); - @include govuk-font(27); - max-width: 27em; - - a { - text-decoration: underline; - } - } -} diff --git a/app/views/content_items/get_involved.html.erb b/app/views/content_items/get_involved.html.erb index 72c7e4af9..38d05e565 100644 --- a/app/views/content_items/get_involved.html.erb +++ b/app/views/content_items/get_involved.html.erb @@ -3,86 +3,82 @@
    - <%= render partial: 'components/heading', - locals: { big: true, - heading: t('get_involved.page_heading') } %> -

    - <%= t('get_involved.intro_paragraph.body_html', + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.page_heading'), font_size: "xl", padding: true } %> + <%= render "govuk_publishing_components/components/lead_paragraph", { text: t('get_involved.intro_paragraph.body_html', engage_with_government: link_to(t('get_involved.intro_paragraph.engage_with_government'), "#engage-with-government"), - take_part: link_to(t('get_involved.intro_paragraph.take_part'), "#take-part")) %> + take_part: link_to(t('get_involved.intro_paragraph.take_part'), "#take-part")) } %>

    -

    <%= t('get_involved.engage_with_gov') %>

    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.engage_with_gov'), font_size: "l", id: "engage-with-government" } %>
    -

    <%= t('get_involved.respond_to_consultations') %>

    +
    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.respond_to_consultations'), heading_level: 3, padding: true, id: "respond-heading" } %> +
    -
    -

    <%= t('get_involved.your_views') %>

    -
    +

    <%= t('get_involved.your_views') %>

    - - <%= @open_consultation_count %> - <%= t('get_involved.open_consultations') %> - - - <%= @closed_consultation_count %> - <%= t('get_involved.closed_consultations') %> - +
    + <%= render "govuk_publishing_components/components/big_number", { + number: @open_consultation_count, + label: t('get_involved.open_consultations'), + href: get_consultations_link('open-consultations'), + } %> + <%= render "govuk_publishing_components/components/big_number", { + number: @closed_consultation_count, + label: t('get_involved.closed_consultations'), + href: get_consultations_link('close-consultations'), + } %> +
    -
    +
    -

    <%= time_until_closure(@next_closing_consultation) %>

    -
      + <%= render "govuk_publishing_components/components/heading", { text: time_until_closure(@next_closing_consultation), inverse: true, margin_bottom: 2, heading_level: 3 } %> +
    1. <%= content_tag(:li, "consultation", class: 'document-row') do %> -

      <%= @next_closing_consultation['title'] %>

      -
        -
      • <%= link_to t('get_involved.read_respond'), @next_closing_consultation['link'], class: "govuk-link" %>
      • -
      + <%= render "govuk_publishing_components/components/heading", { text: @next_closing_consultation['title'], inverse: true, id: "closing-soon-title", margin_bottom: 2, heading_level: 3, font_size: "s" } %> + <%= link_to t('get_involved.read_respond'), @next_closing_consultation['link'], class: "govuk-link govuk-link--inverse", id: "closing-soon-link" %> +
    2. <% end %> -
    +
    -

    <%= t('get_involved.recently_opened') %>

    -
      - <% @recently_opened_consultations.each do |consultation| %> -
    1. -

      <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

      -
        -
      • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
      • -
      • <%= t('get_involved.closes', closing_date: date_microformat(consultation['end_date']) ) %>
      • -
      • <%= link_to t('get_involved.read_respond'), consultation['link'], class: "govuk-link", aria: {hidden: true} %>
      • -
      -
    2. - <% end %> -
    -

    <%= link_to(t('get_involved.search_all'), get_consultations_link, class: "govuk-link" ) %>

    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.recently_opened'), heading_level: 3, font_size: "s", padding: true } %> + <% @recently_opened_consultations.each do |consultation| %> +
    + <%= link_to consultation['title'], consultation['link'], class: "govuk-link", id: "consultation-title" %> +
    +
  3. <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
  4. +
  5. <%= t('get_involved.closes', closing_date: date_microformat(consultation['end_date']) ) %>
  6. + +
    +
    + <% end %>
    + <%= link_to(t('get_involved.search_all'), get_consultations_link, class: "govuk-link", id: "see-all-link" ) %>
    -

    <%= t('get_involved.recent_outcomes') %>

    -
      - <% @recent_consultation_outcomes.each do |consultation| %> -
    1. -

      <%= link_to consultation['title'], consultation['link'], class: "govuk-link" %>

      -
        -
      • <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
      • -
      • <%= t('get_involved.closed_with_date', closing_date: date_microformat(consultation['end_date'])) %>
      • -
      • <%= link_to t('get_involved.see_the_outcome'), consultation['link'], class: "govuk-link", aria: {hidden: true} %>
      • -
      -
    2. - <% end %> -
    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.recent_outcomes'), heading_level: 3, font_size: "s", padding: true } %> + <% @recent_consultation_outcomes.each do |consultation| %> +
    + <%= link_to consultation['title'], consultation['link'], class: "govuk-link", id: "consultation-title" %> +
    +
  7. <% consultation['organisations'].each do |org| %> <%= org["acronym"] %> <% end %>
  8. +
  9. <%= t('get_involved.closed_with_date', closing_date: date_microformat(consultation['end_date']) ) %>
  10. + +
    +
    + <% end %>
    @@ -91,32 +87,30 @@
    -

    <%= t('get_involved.start_a_petition') %>

    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.start_a_petition') } %>
    -

    <%= t('get_involved.petition_paragraph.body_html', - create_a_petition: link_to(t('get_involved.petition_paragraph.create_a_petition'), "https://petition.parliament.uk/")) %> +

    <%= t('get_involved.petition_paragraph.body_html', + create_a_petition: link_to(t('get_involved.petition_paragraph.create_a_petition', class: "govuk-link", rel: "external"), "https://petition.parliament.uk/")) %>


    -

    <%= t('get_involved.follow') %>

    + <%= render "govuk_publishing_components/components/heading", {text: t('get_involved.follow') } %>
    @@ -127,35 +121,34 @@
    -

    <%= t('get_involved.take_part') %>

    + <%= render "govuk_publishing_components/components/heading", { text: t('get_involved.take_part'), font_size: "l", id: "engage-with-government" } %> <% @take_part_pages.each_with_index do |take_part_page, index| %> -
    class="article-clear govuk-grid-column-one-third-from-desktop"<%else%> class="govuk-grid-column-one-third-from-desktop" <% end %>> -
    - - <%= link_to image_tag(take_part_page['details']['image']['url'], alt: take_part_page['details']['image']['alt_text']), take_part_page, title: take_part_page['title'], class: 'img', tabindex: -1, aria: {hidden: true} %> - -
    -

    <%= link_to take_part_page['title'], take_part_page, class: "govuk-link" %>

    -

    <%= take_part_page['description'] %>

    -
    -
    + <% if index % 3 == 0 && index != 0 %>
    <% end %> + <% if index % 3 == 0 %>
    <% end %> +
    + <%= render "govuk_publishing_components/components/image_card", { + href: take_part_page['base_path'], + image_src: take_part_page['details']['image']['url'], + image_alt: take_part_page['details']['image']['alt_text'], + heading_text: take_part_page['title'], + description: take_part_page['description'], + } %>
    + <% if index == @take_part_pages.size-1 %>
    <% end %> <% end %>

    -

    <%= t('get_involved.more_ways') %>

    + <%= render "govuk_publishing_components/components/heading", {text:t('get_involved.more_ways') } %>