From a56f061663ba876be0ccd3063e141a100c247816 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 14 Feb 2023 14:48:35 +0100 Subject: [PATCH 1/3] Prepare the spec to be factorized and to be used in different context --- spec/system/consumer/footer_links_spec.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/spec/system/consumer/footer_links_spec.rb b/spec/system/consumer/footer_links_spec.rb index 4685b09895..0ffb86c133 100644 --- a/spec/system/consumer/footer_links_spec.rb +++ b/spec/system/consumer/footer_links_spec.rb @@ -9,13 +9,22 @@ describe "Footer Links" do expect(page).to have_link "cookies policy" end - it "opens cookies policy page" do - visit root_path - click_link "cookies policy" - within "div.reveal-modal" do - expect(page).to have_content "How We Use Cookies" + shared_examples "opens the cookie policy modal" do |content| + it "with the right content" do + within "div.reveal-modal" do + expect(page).to have_content content + end end end + + context "when english is the default language" do + before do + visit root_path + click_link "cookies policy" + end + + it_behaves_like "opens the cookie policy modal", "How We Use Cookies" + end end describe "privacy policy link" do From e97cd0a1fd8cbeb7c1370a495e82b31945001f73 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Tue, 14 Feb 2023 14:48:57 +0100 Subject: [PATCH 2/3] That particular spec is actually failing ; this must be solved --- spec/system/consumer/footer_links_spec.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/spec/system/consumer/footer_links_spec.rb b/spec/system/consumer/footer_links_spec.rb index 0ffb86c133..bc052a615a 100644 --- a/spec/system/consumer/footer_links_spec.rb +++ b/spec/system/consumer/footer_links_spec.rb @@ -25,6 +25,19 @@ describe "Footer Links" do it_behaves_like "opens the cookie policy modal", "How We Use Cookies" end + + context "when spanish is selected" do + before do + visit root_path + find('.language-switcher').click + within '.language-switcher .dropdown' do + find('li a[href="/locales/es"]').click + end + click_link "política de cookies" + end + + it_behaves_like "opens the cookie policy modal", "Cómo utilizamos las cookies" + end end describe "privacy policy link" do From 7cd235c84d02171506e8d5b0035d8f419717428a Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Mon, 20 Mar 2023 16:57:32 +1100 Subject: [PATCH 3/3] Translate AngularJS templates in the browser AngularJS templates are compiled as assets on deploy. Any translatable text can't be translated in Ruby during compilation because it's static text. It needs to be translated with an AngularJS filter in the browser. --- .../_cookies_policy_entry.html.haml | 4 +- .../cookies_policy.html.haml | 60 +++++++++---------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/engines/web/app/views/web/angular_templates/_cookies_policy_entry.html.haml b/engines/web/app/views/web/angular_templates/_cookies_policy_entry.html.haml index ad83c7ed23..9419caf80c 100644 --- a/engines/web/app/views/web/angular_templates/_cookies_policy_entry.html.haml +++ b/engines/web/app/views/web/angular_templates/_cookies_policy_entry.html.haml @@ -4,10 +4,10 @@ %strong = cookie_name %span / - = t 'legal.cookies_policy.cookie_domain' + {{ 'legal.cookies_policy.cookie_domain' | t }} - if cookie_domain = cookie_domain - else = "{{ instance_hostname }}" %p - = cookie_desc + = "{{ '#{cookie_desc}' | t }}" diff --git a/engines/web/app/views/web/angular_templates/cookies_policy.html.haml b/engines/web/app/views/web/angular_templates/cookies_policy.html.haml index 385262ae74..c53fa93bed 100644 --- a/engines/web/app/views/web/angular_templates/cookies_policy.html.haml +++ b/engines/web/app/views/web/angular_templates/cookies_policy.html.haml @@ -1,87 +1,87 @@ %h2 - = t 'legal.cookies_policy.header' + {{ 'legal.cookies_policy.header' | t }} %p - = t 'legal.cookies_policy.desc_part_1' + {{ 'legal.cookies_policy.desc_part_1' | t }} %p - = t 'legal.cookies_policy.desc_part_2' + {{ 'legal.cookies_policy.desc_part_2' | t }} %p - = t 'legal.cookies_policy.desc_part_3' + {{ 'legal.cookies_policy.desc_part_3' | t }} %h2 - = t 'legal.cookies_policy.essential_cookies' + {{ 'legal.cookies_policy.essential_cookies' | t }} %p - = t 'legal.cookies_policy.essential_cookies_desc' + {{ 'legal.cookies_policy.essential_cookies_desc' | t }} %table{ng: { controller:"CookiesPolicyModalCtrl"}} - = render_cookie_entry( "_ofn_session_id", t( "legal.cookies_policy.cookie_session_desc" ) ) - = render_cookie_entry( "cookies_consent", t( "legal.cookies_policy.cookie_consent_desc" ) ) - = render_cookie_entry( "remember_spree_user_token", t( "legal.cookies_policy.cookie_remember_me_desc" ) ) - = render_cookie_entry( "qos_token", t( "legal.cookies_policy.cookie_openstreemap_desc" ), "openstreetmap.org" ) + = render_cookie_entry( "_ofn_session_id", "legal.cookies_policy.cookie_session_desc" ) + = render_cookie_entry( "cookies_consent", "legal.cookies_policy.cookie_consent_desc" ) + = render_cookie_entry( "remember_spree_user_token", "legal.cookies_policy.cookie_remember_me_desc" ) + = render_cookie_entry( "qos_token", "legal.cookies_policy.cookie_openstreemap_desc", "openstreetmap.org" ) %tr %td %p %strong m %span / - = t 'legal.cookies_policy.cookie_domain' + {{ 'legal.cookies_policy.cookie_domain' | t }} = "m.stripe.com" %p %strong nsr %span / - = t 'legal.cookies_policy.cookie_domain' + {{ 'legal.cookies_policy.cookie_domain' | t }} = "m.stripe.network" %p %strong __stripe_sid %span / - = t 'legal.cookies_policy.cookie_domain' + {{ 'legal.cookies_policy.cookie_domain' | t }} = "{{ instance_hostname }}" %p %strong __stripe_mid %span / - = t 'legal.cookies_policy.cookie_domain' + {{ 'legal.cookies_policy.cookie_domain' | t }} = "{{ instance_hostname }}" %p - = t 'legal.cookies_policy.cookie_stripe_desc' + {{ 'legal.cookies_policy.cookie_stripe_desc' | t }} %p - = t 'legal.cookies_policy.essential_cookies_note' + {{ 'legal.cookies_policy.essential_cookies_note' | t }} - if Spree::Config.cookies_policy_matomo_section %h2 - = t 'legal.cookies_policy.statistics_cookies' + {{ 'legal.cookies_policy.statistics_cookies' | t }} %p - = t 'legal.cookies_policy.statistics_cookies_desc' + {{ 'legal.cookies_policy.statistics_cookies_desc' | t }} %p - = t 'legal.cookies_policy.statistics_cookies_matomo_desc_html' + {{ 'legal.cookies_policy.statistics_cookies_matomo_desc_html' | t }} %table{ng: { controller:"CookiesPolicyModalCtrl"}} - = render_cookie_entry( "_pk_ref, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_basics_desc" ) ) - = render_cookie_entry( "_pk_hsr, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_heatmap_desc" ) ) - = render_cookie_entry( "piwik_ignore, _pk_cvar, _pk_id and _pk_ses", t( "legal.cookies_policy.cookie_matomo_ignore_desc" ) ) + = render_cookie_entry( "_pk_ref, _pk_cvar, _pk_id and _pk_ses", "legal.cookies_policy.cookie_matomo_basics_desc" ) + = render_cookie_entry( "_pk_hsr, _pk_cvar, _pk_id and _pk_ses", "legal.cookies_policy.cookie_matomo_heatmap_desc" ) + = render_cookie_entry( "piwik_ignore, _pk_cvar, _pk_id and _pk_ses", "legal.cookies_policy.cookie_matomo_ignore_desc" ) - if Spree::Config.matomo_url.present? %p - = t 'legal.cookies_policy.statistics_cookies_matomo_optout' + {{ 'legal.cookies_policy.statistics_cookies_matomo_optout' | t }} %p %iframe{ src: matomo_iframe_src } %h2 - = t 'legal.cookies_policy.disabling_cookies_header' + {{ 'legal.cookies_policy.disabling_cookies_header' | t }} %p - = t 'legal.cookies_policy.disabling_cookies_desc' + {{ 'legal.cookies_policy.disabling_cookies_desc' | t }} %ul %li - %a{ href: t( 'legal.cookies_policy.disabling_cookies_firefox_link' ), target: "_blank" } + %a{ "ng-href" => "{{ 'legal.cookies_policy.disabling_cookies_firefox_link' | t }}", target: "_blank" } Firefox %li - %a{ href: t( 'legal.cookies_policy.disabling_cookies_chrome_link' ), target: "_blank" } + %a{ "ng-href" => "{{ 'legal.cookies_policy.disabling_cookies_chrome_link' | t }}", target: "_blank" } Chrome %li - %a{ href: t( 'legal.cookies_policy.disabling_cookies_ie_link' ), target: "_blank" } + %a{ "ng-href" => "{{ 'legal.cookies_policy.disabling_cookies_ie_link' | t }}", target: "_blank" } Internet Explorer %li - %a{ href: t( 'legal.cookies_policy.disabling_cookies_safari_link' ), target: "_blank" } + %a{ "ng-href" => "{{ 'legal.cookies_policy.disabling_cookies_safari_link' | t }}", target: "_blank" } Safari %p - = t 'legal.cookies_policy.disabling_cookies_note' + {{ 'legal.cookies_policy.disabling_cookies_note' | t }} %a.close-reveal-modal{"ng-click" => "$close()"} %i.ofn-i_009-close