solidus_reviews 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.rubocop.yml +322 -0
- data/.travis.yml +27 -14
- data/Gemfile +23 -8
- data/LICENSE.md +2 -2
- data/README.md +9 -11
- data/Rakefile +2 -0
- data/app/controllers/spree/admin/feedback_reviews_controller.rb +3 -1
- data/app/controllers/spree/admin/review_settings_controller.rb +3 -1
- data/app/controllers/spree/admin/reviews_controller.rb +9 -6
- data/app/controllers/spree/feedback_reviews_controller.rb +25 -19
- data/app/controllers/spree/products_controller_decorator.rb +2 -0
- data/app/controllers/spree/reviews_controller.rb +11 -7
- data/app/helpers/spree/api/api_helpers_decorator.rb +12 -0
- data/app/helpers/spree/reviews_helper.rb +15 -5
- data/app/models/spree/feedback_review.rb +5 -4
- data/app/models/spree/product_decorator.rb +5 -4
- data/app/models/spree/review.rb +28 -10
- data/app/models/spree/reviews_ability.rb +17 -3
- data/app/models/spree/reviews_configuration.rb +16 -8
- data/app/models/spree/user_decorator.rb +3 -0
- data/app/overrides/add_reviews_after_product_properties.rb +7 -5
- data/app/overrides/add_reviews_tab_to_admin.rb +12 -4
- data/app/overrides/add_reviews_to_admin_configuration_sidebar.rb +13 -5
- data/app/views/spree/admin/feedback_reviews/index.html.erb +9 -9
- data/app/views/spree/admin/review_settings/edit.html.erb +64 -35
- data/app/views/spree/admin/reviews/_form.html.erb +26 -5
- data/app/views/spree/admin/reviews/edit.html.erb +2 -2
- data/app/views/spree/admin/reviews/index.html.erb +100 -88
- data/app/views/spree/api/reviews/_review.json.jbuilder +8 -0
- data/app/views/spree/api/reviews/index.json.jbuilder +6 -0
- data/app/views/spree/api/reviews/show.json.jbuilder +3 -0
- data/app/views/spree/feedback_reviews/_form.html.erb +5 -5
- data/app/views/spree/feedback_reviews/_summary.html.erb +3 -3
- data/app/views/spree/feedback_reviews/create.js.erb +2 -2
- data/app/views/spree/reviews/_form.html.erb +15 -10
- data/app/views/spree/reviews/new.html.erb +2 -2
- data/app/views/spree/shared/_rating.html.erb +3 -3
- data/app/views/spree/shared/_review.html.erb +29 -19
- data/app/views/spree/shared/_review_summary.html.erb +3 -3
- data/app/views/spree/shared/_reviews.html.erb +6 -6
- data/app/views/spree/shared/_shortrating.html.erb +2 -2
- data/bin/rails +4 -2
- data/config/initializers/constants.rb +2 -0
- data/config/initializers/load_preferences.rb +2 -0
- data/config/locales/de-CH.yml +14 -1
- data/config/locales/de.yml +14 -1
- data/config/locales/en-GB.yml +14 -2
- data/config/locales/en.yml +14 -1
- data/config/locales/es.yml +14 -2
- data/config/locales/fr.yml +14 -2
- data/config/locales/it.yml +79 -0
- data/config/locales/pl.yml +14 -2
- data/config/locales/pt-BR.yml +14 -2
- data/config/locales/pt.yml +14 -2
- data/config/locales/ro.yml +15 -3
- data/config/locales/ru.yml +14 -2
- data/config/locales/sv.yml +14 -1
- data/config/locales/tr.yml +14 -2
- data/config/locales/uk.yml +14 -1
- data/config/locales/zh-CN.yml +14 -1
- data/config/locales/zh-TW.yml +14 -1
- data/config/routes.rb +18 -1
- data/db/migrate/20081020220724_create_reviews.rb +4 -2
- data/db/migrate/20101222083309_create_feedback_reviews.rb +5 -3
- data/db/migrate/20110406083603_add_rating_to_products.rb +7 -5
- data/db/migrate/20110606150524_add_user_to_reviews.rb +4 -2
- data/db/migrate/20110806093221_add_ip_address_to_reviews.rb +3 -1
- data/db/migrate/20120110172331_namespace_tables.rb +3 -1
- data/db/migrate/20120123141326_recalculate_ratings.rb +6 -5
- data/db/migrate/20120712182514_add_locale_to_reviews.rb +4 -2
- data/db/migrate/20120712182627_add_locale_to_feedback_reviews.rb +4 -2
- data/db/migrate/20140703200946_add_show_identifier_to_reviews.rb +3 -1
- data/db/migrate/20190613165528_add_verified_purchaser_to_reviews.rb +5 -0
- data/lib/controllers/spree/api/reviews_controller.rb +111 -0
- data/lib/generators/solidus_reviews/install/install_generator.rb +5 -4
- data/lib/solidus_reviews.rb +3 -1
- data/lib/solidus_reviews/factories.rb +3 -1
- data/lib/solidus_reviews/factories/feedback_review_factory.rb +6 -5
- data/lib/solidus_reviews/factories/review_factory.rb +19 -9
- data/lib/spree_reviews/engine.rb +7 -0
- data/solidus_reviews.gemspec +20 -18
- data/spec/controllers/admin/feedback_reviews_controller_spec.rb +9 -7
- data/spec/controllers/admin/review_settings_controller_spec.rb +18 -16
- data/spec/controllers/admin/reviews_controller_spec.rb +18 -16
- data/spec/controllers/feedback_reviews_controller_spec.rb +29 -25
- data/spec/controllers/products_controller_spec.rb +4 -2
- data/spec/controllers/reviews_controller_spec.rb +67 -40
- data/spec/controllers/spree/api/reviews_controller_spec.rb +233 -0
- data/spec/features/admin_spec.rb +3 -0
- data/spec/features/reviews_spec.rb +27 -11
- data/spec/helpers/review_helper_spec.rb +3 -2
- data/spec/models/feedback_review_spec.rb +19 -17
- data/spec/models/product_spec.rb +41 -19
- data/spec/models/review_spec.rb +100 -42
- data/spec/models/reviews_ability_spec.rb +10 -8
- data/spec/models/reviews_configuration_spec.rb +28 -19
- data/spec/spec_helper.rb +21 -35
- data/vendor/assets/javascripts/jquery.rating.js +389 -376
- metadata +108 -59
| @@ -1,13 +1,13 @@ | |
| 1 | 
            -
            <%= render 'spree/feedback_reviews/summary', : | 
| 2 | 
            -
            <%= form_for((@feedback_review ||= review.feedback_reviews.build), : | 
| 1 | 
            +
            <%= render 'spree/feedback_reviews/summary', review: review %>
         | 
| 2 | 
            +
            <%= form_for((@feedback_review ||= review.feedback_reviews.build), url: feedback_reviews_path(review), method: :post, remote: true) do |f| %>
         | 
| 3 3 | 
             
            <% unless @feedback_review.errors.empty? %>
         | 
| 4 4 | 
             
             <span class="error"><%= @feedback_review.errors[:rating] %></span>
         | 
| 5 5 | 
             
             <br />
         | 
| 6 6 | 
             
            <% end %>
         | 
| 7 | 
            -
            <%=  | 
| 7 | 
            +
            <%= I18n.t("spree.was_this_review_helpful") %>
         | 
| 8 8 | 
             
            <% for i in 1..NB_STARS %>
         | 
| 9 9 | 
             
              <%= radio_button_tag "feedback_review[rating]",
         | 
| 10 | 
            -
                                    | 
| 10 | 
            +
                                   I18n.t("spree.star", count: i), false, class: "star" %>
         | 
| 11 11 | 
             
            <% end %>
         | 
| 12 | 
            -
            <button class="feedback-review"><span><%=  | 
| 12 | 
            +
            <button class="feedback-review"><span><%= I18n.t("spree.say_yes") %></span></button>
         | 
| 13 13 | 
             
            <% end %>
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            <p>
         | 
| 2 | 
            -
              <%=  | 
| 3 | 
            -
              <span title="<%= pluralize(review.feedback_stars, 'star') %> <%=  | 
| 4 | 
            -
              <%= render 'spree/reviews/stars', : | 
| 2 | 
            +
              <%= I18n.t('spree.voice', count: review.feedback_reviews.count) %>.
         | 
| 3 | 
            +
              <span title="<%= pluralize(review.feedback_stars, 'star') %> <%= I18n.t('spree.out_of_5') %>">
         | 
| 4 | 
            +
              <%= render 'spree/reviews/stars', stars: review.feedback_stars %>
         | 
| 5 5 | 
             
              </span>  
         | 
| 6 6 | 
             
            </p>
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            <% if @feedback_review.valid? %>
         | 
| 2 | 
            -
            $("div#feedback_review_<%= @review.id %>").html("<%= escape_javascript(render('spree/feedback_reviews/summary', : | 
| 2 | 
            +
            $("div#feedback_review_<%= @review.id %>").html("<%= escape_javascript(render('spree/feedback_reviews/summary', review: @review)) %>");
         | 
| 3 3 | 
             
            <% else %>
         | 
| 4 | 
            -
            $("div#feedback_review_<%= @review.id %>").html("<%= escape_javascript(render('spree/feedback_reviews/form', : | 
| 4 | 
            +
            $("div#feedback_review_<%= @review.id %>").html("<%= escape_javascript(render('spree/feedback_reviews/form', review: @review)) %>");
         | 
| 5 5 |  | 
| 6 6 | 
             
            <% end %>
         | 
| 7 7 | 
             
            $(document).ready(function(){$("div#feedback_review_<%= @review.id %>").find(".star").rating({required:true});});
         | 
| @@ -1,34 +1,39 @@ | |
| 1 | 
            -
            <%= form_for review, : | 
| 2 | 
            -
              <%= render "spree/shared/error_messages", : | 
| 1 | 
            +
            <%= form_for review, url: product_reviews_path(product), html: { method: :post, multipart: true} do |f| %>
         | 
| 2 | 
            +
              <%= render "spree/shared/error_messages", target: review %>
         | 
| 3 3 |  | 
| 4 4 | 
             
              <p class="review_rating_field">
         | 
| 5 5 | 
             
                <%= f.label :rating %> <span class="required">*</span><br />
         | 
| 6 | 
            -
                <%= render "spree/reviews/stars", : | 
| 6 | 
            +
                <%= render "spree/reviews/stars", stars: review.rating, edit_enabled: true %>
         | 
| 7 7 | 
             
              </p>
         | 
| 8 8 |  | 
| 9 9 | 
             
              <p class="review_name_field">
         | 
| 10 | 
            -
                <%= f.label :name  | 
| 11 | 
            -
                <%= f.text_field :name, : | 
| 10 | 
            +
                <%= f.label :name %><br />
         | 
| 11 | 
            +
                <%= f.text_field :name, maxlength: "255", size: "50" %>
         | 
| 12 12 | 
             
              </p>
         | 
| 13 13 |  | 
| 14 14 | 
             
              <p class="review_title_field">
         | 
| 15 15 | 
             
                <%= f.label :title %><br />
         | 
| 16 | 
            -
                <%= f.text_field :title, : | 
| 16 | 
            +
                <%= f.text_field :title, maxlength: "255", size: "50" %>
         | 
| 17 17 | 
             
              </p>
         | 
| 18 18 |  | 
| 19 19 | 
             
              <p class="review_review_field">
         | 
| 20 | 
            -
                <%= f.label :review  | 
| 21 | 
            -
                <%= f.text_area :review, : | 
| 20 | 
            +
                <%= f.label :review %><br />
         | 
| 21 | 
            +
                <%= f.text_area :review, wrap: "virtual", rows: "10", cols: "50" %>
         | 
| 22 | 
            +
              </p>
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              <p class="review_images_field">
         | 
| 25 | 
            +
                <%= f.label :images %><br>
         | 
| 26 | 
            +
                <%= f.file_field :images, :accept => "image/*", multiple: true %>
         | 
| 22 27 | 
             
              </p>
         | 
| 23 28 |  | 
| 24 29 | 
             
              <% if Spree::Reviews::Config[:render_show_identifier_checkbox] %>
         | 
| 25 30 | 
             
                <p class="review_show_identifier_field">
         | 
| 26 31 | 
             
                  <%= f.label :show_identifier %><br />
         | 
| 27 | 
            -
                  <%= f.check_box :show_identifier, : | 
| 32 | 
            +
                  <%= f.check_box :show_identifier, wrap: "virtual", rows: "10", cols: "50", checked: true %>
         | 
| 28 33 | 
             
                </p>
         | 
| 29 34 | 
             
              <% end %>
         | 
| 30 35 |  | 
| 31 36 | 
             
              <p class="review_submit">
         | 
| 32 | 
            -
                <%= f.submit  | 
| 37 | 
            +
                <%= f.submit I18n.t("spree.submit_your_review"), class: "button bg_darkfirst" %>
         | 
| 33 38 | 
             
              </p>
         | 
| 34 39 | 
             
            <% end %>
         | 
| @@ -1,3 +1,3 @@ | |
| 1 | 
            -
            <%= content_tag :h2,  | 
| 1 | 
            +
            <%= content_tag :h2, I18n.t("spree.leave_us_a_review_for", name: @product.name), class: 'new-review-title' %>
         | 
| 2 2 |  | 
| 3 | 
            -
            <%= render 'form', : | 
| 3 | 
            +
            <%= render 'form', review: @review, product: @product %>
         | 
| @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            <% stars = product.stars %>
         | 
| 2 2 | 
             
            <% reviews_count = product.reviews_count %>
         | 
| 3 3 | 
             
            <div class="ratings">
         | 
| 4 | 
            -
              <p><%=  | 
| 4 | 
            +
              <p><%= I18n.t('spree.average_customer_rating') %>: </p>
         | 
| 5 5 | 
             
              <p class="ratings-stars">
         | 
| 6 6 | 
             
                <span title="<%= txt_stars(stars) %>">
         | 
| 7 | 
            -
                  <%= render 'spree/reviews/stars', : | 
| 7 | 
            +
                  <%= render 'spree/reviews/stars', stars: stars %>
         | 
| 8 8 | 
             
                </span>
         | 
| 9 9 | 
             
              </p>
         | 
| 10 | 
            -
              <p class="ratings-basedupon">(<%=  | 
| 10 | 
            +
              <p class="ratings-basedupon">(<%= I18n.t('spree.based_upon_review_count', count: reviews_count) %>)</p>
         | 
| 11 11 | 
             
              <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
         | 
| 12 12 | 
             
                <meta itemprop="ratingValue" content="<%= stars %>" />
         | 
| 13 13 | 
             
                <meta itemprop="reviewCount" content="<%= reviews_count %>" />
         | 
| @@ -1,28 +1,38 @@ | |
| 1 1 | 
             
            <div class="review" itemprop="reviews" itemscope itemtype="http://schema.org/Review">
         | 
| 2 2 | 
             
              <span class="reviews-rating" title="<%= txt_stars(review.rating) %>">
         | 
| 3 | 
            -
                <%= render "spree/reviews/stars", : | 
| 3 | 
            +
                <%= render "spree/reviews/stars", stars: review.rating %>
         | 
| 4 4 | 
             
              </span>
         | 
| 5 | 
            -
               | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 5 | 
            +
              <% if review.approved? || Spree::Reviews::Config[:display_unapproved_reviews] %>
         | 
| 6 | 
            +
                <span itemprop="name"><%= review.title %></span>
         | 
| 7 | 
            +
                <br/>
         | 
| 8 | 
            +
                <span class="attribution"><%= I18n.t("spree.submitted_on") %> <strong><%= l review.created_at.to_date %></strong></span>
         | 
| 9 | 
            +
                <meta itemprop="datePublished" content="<%= review.created_at.to_date.to_s %>" />
         | 
| 9 10 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 11 | 
            +
                <meta itemprop="reviewRating" content="<%= review.rating %>" />
         | 
| 12 | 
            +
                <% if review.show_identifier %>
         | 
| 13 | 
            +
                  <% if Spree::Reviews::Config[:show_email] && review.user %>
         | 
| 14 | 
            +
                    <span itemprop="author"><%= review.user.email %></span>
         | 
| 15 | 
            +
                  <% else %>
         | 
| 16 | 
            +
                    <span itemprop="author"><%= review.name %></span>
         | 
| 17 | 
            +
                  <% end %>
         | 
| 14 18 | 
             
                <% else %>
         | 
| 15 | 
            -
             | 
| 19 | 
            +
                    <span itemprop="author"><%= I18n.t("spree.anonymous") %></span>
         | 
| 16 20 | 
             
                <% end %>
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                  < | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
              </div>
         | 
| 23 | 
            -
              <% if Spree::Reviews::Config[:feedback_rating] && (!Spree::Reviews::Config[:require_login] || spree_current_user) %>
         | 
| 24 | 
            -
                <div class="feedback_review" id="feedback_review_<%= review.id %>">
         | 
| 25 | 
            -
                  <%= render "spree/feedback_reviews/form", :review => review %>
         | 
| 21 | 
            +
                <% if Spree::Reviews::Config[:show_verified_purchaser] && review.verified_purchaser? %>
         | 
| 22 | 
            +
                  <div><%= I18n.t("spree.verified_purchaser") %></div>
         | 
| 23 | 
            +
                <% end %>
         | 
| 24 | 
            +
                <div itemprop="reviewBody">
         | 
| 25 | 
            +
                  <%= simple_format(review.review) %>
         | 
| 26 26 | 
             
                </div>
         | 
| 27 | 
            +
                <% review.images.each do |image| %>
         | 
| 28 | 
            +
                  <div itemprop="image">
         | 
| 29 | 
            +
                    <%= link_to image_tag(image.url(:product)), image.url(:original) %>
         | 
| 30 | 
            +
                  </div>
         | 
| 31 | 
            +
                <% end %>
         | 
| 32 | 
            +
                <% if Spree::Reviews::Config[:feedback_rating] && (!Spree::Reviews::Config[:require_login] || spree_current_user) %>
         | 
| 33 | 
            +
                  <div class="feedback_review" id="feedback_review_<%= review.id %>">
         | 
| 34 | 
            +
                    <%= render "spree/feedback_reviews/form", review: review %>
         | 
| 35 | 
            +
                  </div>
         | 
| 36 | 
            +
                <% end %>
         | 
| 27 37 | 
             
              <% end %>
         | 
| 28 38 | 
             
            </div>
         | 
| @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            <div id="reviews">
         | 
| 2 | 
            -
              <%= render 'spree/shared/rating', : | 
| 2 | 
            +
              <%= render 'spree/shared/rating', locals: @product, review: 0 %>
         | 
| 3 3 | 
             
              <% for review in (Spree::Reviews::Config[:track_locale] ? @product.reviews.localized(I18n.locale) : @product.reviews).default_approval_filter.preview %>
         | 
| 4 | 
            -
                <%= render 'spree/shared/review', : | 
| 4 | 
            +
                <%= render 'spree/shared/review', review: review %>
         | 
| 5 5 | 
             
              <% end %>
         | 
| 6 6 | 
             
              <% if Spree::Reviews::Config[:feedback_rating] && (!Spree::Reviews::Config[:require_login] || spree_current_user) %>
         | 
| 7 | 
            -
                <%= link_to  | 
| 7 | 
            +
                <%= link_to I18n.t("spree.write_your_own_review"), new_product_review_path(@product), class: "button" %>
         | 
| 8 8 | 
             
              <% end %>
         | 
| 9 9 | 
             
            </div>
         | 
| @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            <div id="reviews">
         | 
| 2 | 
            -
              <h6 class="product-section-title"><%=  | 
| 2 | 
            +
              <h6 class="product-section-title"><%= I18n.t("spree.reviews") %></h6>
         | 
| 3 3 | 
             
              <% if Spree::Reviews::Config[:include_unapproved_reviews] == false and @product.reviews.approved.count == 0 %>
         | 
| 4 | 
            -
                <p class="reviews-none"><%=  | 
| 4 | 
            +
                <p class="reviews-none"><%= I18n.t("spree.no_reviews_available") %></p>
         | 
| 5 5 | 
             
              <% else %>
         | 
| 6 | 
            -
                <%= render 'spree/shared/rating', : | 
| 6 | 
            +
                <%= render 'spree/shared/rating', product: @product, review: 0 %>
         | 
| 7 7 | 
             
                <% for review in (Spree::Reviews::Config[:track_locale] ? @product.reviews.localized(I18n.locale) : @product.reviews).default_approval_filter.preview %>
         | 
| 8 | 
            -
                  <%= render 'spree/shared/review', : | 
| 8 | 
            +
                  <%= render 'spree/shared/review', review: review %>
         | 
| 9 9 | 
             
                <% end %>
         | 
| 10 10 | 
             
              <% end %>
         | 
| 11 11 | 
             
              <% if !Spree::Reviews::Config[:require_login] || spree_current_user %>
         | 
| 12 | 
            -
                <%= link_to  | 
| 13 | 
            -
                            : | 
| 12 | 
            +
                <%= link_to I18n.t("spree.write_your_own_review"), new_product_review_path(@product), class: "button",
         | 
| 13 | 
            +
                            rel: 'nofollow' %>
         | 
| 14 14 | 
             
              <% end %>
         | 
| 15 15 | 
             
            </div>
         | 
| @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            <% stars = product.stars %>
         | 
| 2 2 | 
             
            <% reviews_count = product.reviews_count %>
         | 
| 3 3 | 
             
            <span style="float:left;" title="<%= txt_stars(stars) %>">
         | 
| 4 | 
            -
              <%= render 'spree/reviews/stars', : | 
| 4 | 
            +
              <%= render 'spree/reviews/stars', stars: stars %>
         | 
| 5 5 | 
             
            </span>
         | 
| 6 6 | 
             
            <span style="float:right;">
         | 
| 7 | 
            -
              <%= Spree::Review.model_name.human(: | 
| 7 | 
            +
              <%= Spree::Review.model_name.human(count: reviews_count) %>
         | 
| 8 8 | 
             
            </span>
         | 
| 9 9 | 
             
            <br/>
         | 
    
        data/bin/rails
    CHANGED
    
    | @@ -1,5 +1,7 @@ | |
| 1 1 | 
             
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
            # frozen_string_literal: true
         | 
| 3 | 
            +
             | 
| 2 4 | 
             
            # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
         | 
| 3 5 |  | 
| 4 | 
            -
            ENGINE_PATH = File.expand_path(' | 
| 5 | 
            -
            load File.expand_path(' | 
| 6 | 
            +
            ENGINE_PATH = File.expand_path('..', __dir__)
         | 
| 7 | 
            +
            load File.expand_path('../spec/dummy/script/rails', __dir__)
         | 
    
        data/config/locales/de-CH.yml
    CHANGED
    
    | @@ -15,6 +15,16 @@ de-CH: | |
| 15 15 | 
             
                  spree/review:
         | 
| 16 16 | 
             
                    one: eine Rezension
         | 
| 17 17 | 
             
                    other: "%{count} Rezensionen"
         | 
| 18 | 
            +
                errors:
         | 
| 19 | 
            +
                  models:
         | 
| 20 | 
            +
                    spree/review:
         | 
| 21 | 
            +
                      attributes:
         | 
| 22 | 
            +
                        rating:
         | 
| 23 | 
            +
                          you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 24 | 
            +
                    spree/feedback_review:
         | 
| 25 | 
            +
                      attributes:
         | 
| 26 | 
            +
                        rating:
         | 
| 27 | 
            +
                          you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 18 28 | 
             
              spree:
         | 
| 19 29 | 
             
                approval_status: Freischaltungsstatus
         | 
| 20 30 | 
             
                approve: Freischalten
         | 
| @@ -41,16 +51,19 @@ de-CH: | |
| 41 51 | 
             
                reviews: Rezensionen
         | 
| 42 52 | 
             
                admin:
         | 
| 43 53 | 
             
                  tab:
         | 
| 54 | 
            +
                    reviews: Rezensionen
         | 
| 44 55 | 
             
                    review_management: Rezensionen
         | 
| 45 56 | 
             
                review_successfully_submitted: "Ihre Rezension wurde erfolgreich übertragen. Vielen Dank!"
         | 
| 46 57 | 
             
                spree_reviews:
         | 
| 47 58 | 
             
                  feedback_rating: Feedback für Rezensionen erlauben
         | 
| 59 | 
            +
                  display_unapproved: Zeigen Sie nicht genehmigte Bewertungen in Auflistungen an
         | 
| 48 60 | 
             
                  include_unapproved: Unveröffentlichte Rezensionen anzeigen
         | 
| 49 61 | 
             
                  manage_review_settings: Einstellungen für die Darstellung von Rezensionen
         | 
| 50 62 | 
             
                  preview_size: Größe der Vorschau
         | 
| 51 63 | 
             
                  require_login: Login erforderlich
         | 
| 52 64 | 
             
                  review_settings: Rezensionseinstellungen
         | 
| 53 65 | 
             
                  show_email: E-Mail Adressen anzeigen
         | 
| 66 | 
            +
                  show_verified_purchaser: Verifizierten Käufer anzeigen
         | 
| 54 67 | 
             
                  track_locale: Sprache des Benutzers tracken
         | 
| 55 68 | 
             
                star:
         | 
| 56 69 | 
             
                  one: "ein Sternchen"
         | 
| @@ -59,10 +72,10 @@ de-CH: | |
| 59 72 | 
             
                submit_your_review: Rezension abschicken
         | 
| 60 73 | 
             
                submitted_on: Eingeschickt am
         | 
| 61 74 | 
             
                unapproved_reviews: Nicht freigeschaltete Rezensionen
         | 
| 75 | 
            +
                verified_purchaser: Verifizierter Käufer
         | 
| 62 76 | 
             
                voice:
         | 
| 63 77 | 
             
                  one: "Eine Stimme"
         | 
| 64 78 | 
             
                  other: "%{count} Stimmen"
         | 
| 65 79 | 
             
                was_this_review_helpful: War diese Rezension für Sie hilfreich?
         | 
| 66 80 | 
             
                write_your_own_review: Rezension schreiben
         | 
| 67 | 
            -
                you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 68 81 | 
             
                anonymous: Anonym
         | 
    
        data/config/locales/de.yml
    CHANGED
    
    | @@ -15,6 +15,16 @@ de: | |
| 15 15 | 
             
                  spree/review:
         | 
| 16 16 | 
             
                    one: eine Rezension
         | 
| 17 17 | 
             
                    other: "%{count} Rezensionen"
         | 
| 18 | 
            +
                errors:
         | 
| 19 | 
            +
                  models:
         | 
| 20 | 
            +
                    spree/review:
         | 
| 21 | 
            +
                      attributes:
         | 
| 22 | 
            +
                        rating:
         | 
| 23 | 
            +
                          you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 24 | 
            +
                    spree/feedback_review:
         | 
| 25 | 
            +
                      attributes:
         | 
| 26 | 
            +
                        rating:
         | 
| 27 | 
            +
                          you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 18 28 | 
             
              spree:
         | 
| 19 29 | 
             
                approval_status: Freischaltungsstatus
         | 
| 20 30 | 
             
                approve: Freischalten
         | 
| @@ -41,16 +51,19 @@ de: | |
| 41 51 | 
             
                reviews: Rezensionen
         | 
| 42 52 | 
             
                admin:
         | 
| 43 53 | 
             
                  tab:
         | 
| 54 | 
            +
                    reviews: Rezensionen
         | 
| 44 55 | 
             
                    review_management: Rezensionen
         | 
| 45 56 | 
             
                review_successfully_submitted: Ihre Rezension wurde erfolgreich übertragen. Vielen Dank!
         | 
| 46 57 | 
             
                spree_reviews:
         | 
| 47 58 | 
             
                  feedback_rating: Feedback für Rezensionen erlauben
         | 
| 59 | 
            +
                  display_unapproved: Zeigen Sie nicht genehmigte Bewertungen in Auflistungen an
         | 
| 48 60 | 
             
                  include_unapproved: Unveröffentlichte Rezensionen anzeigen
         | 
| 49 61 | 
             
                  manage_review_settings: Einstellungen für die Darstellung von Rezensionen
         | 
| 50 62 | 
             
                  preview_size: Größe der Vorschau
         | 
| 51 63 | 
             
                  require_login: Login erforderlich
         | 
| 52 64 | 
             
                  review_settings: Rezensionseinstellungen
         | 
| 53 65 | 
             
                  show_email: E-Mail Adressen anzeigen
         | 
| 66 | 
            +
                  show_verified_purchaser: Verifizierten Käufer anzeigen
         | 
| 54 67 | 
             
                  track_locale: Sprache des Benutzers tracken
         | 
| 55 68 | 
             
                star:
         | 
| 56 69 | 
             
                  one: "ein Sternchen"
         | 
| @@ -59,10 +72,10 @@ de: | |
| 59 72 | 
             
                submit_your_review: Rezension abschicken
         | 
| 60 73 | 
             
                submitted_on: Eingeschickt am
         | 
| 61 74 | 
             
                unapproved_reviews: Nicht freigeschaltete Rezensionen
         | 
| 75 | 
            +
                verified_purchaser: Verifizierter Käufer
         | 
| 62 76 | 
             
                voice:
         | 
| 63 77 | 
             
                  one: "Eine Stimme"
         | 
| 64 78 | 
             
                  other: "%{count} Stimmen"
         | 
| 65 79 | 
             
                was_this_review_helpful: War diese Rezension für Sie hilfreich?
         | 
| 66 80 | 
             
                write_your_own_review: Rezension schreiben
         | 
| 67 | 
            -
                you_must_enter_value_for_rating: "Bitte geben Sie eine Bewertung an."
         | 
| 68 81 | 
             
                anonymous: Anonym
         | 
    
        data/config/locales/en-GB.yml
    CHANGED
    
    | @@ -14,6 +14,16 @@ en-GB: | |
| 14 14 | 
             
                  spree/review:
         | 
| 15 15 | 
             
                    one: one review
         | 
| 16 16 | 
             
                    other: "%{count} reviews"
         | 
| 17 | 
            +
                errors:
         | 
| 18 | 
            +
                  models:
         | 
| 19 | 
            +
                    spree/review:
         | 
| 20 | 
            +
                      attributes:
         | 
| 21 | 
            +
                        rating:
         | 
| 22 | 
            +
                          you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 23 | 
            +
                    spree/feedback_review:
         | 
| 24 | 
            +
                      attributes:
         | 
| 25 | 
            +
                        rating:
         | 
| 26 | 
            +
                          you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 17 27 | 
             
              spree:
         | 
| 18 28 | 
             
                approval_status: Approval status
         | 
| 19 29 | 
             
                approve: Approve
         | 
| @@ -40,16 +50,19 @@ en-GB: | |
| 40 50 | 
             
                reviews: Reviews
         | 
| 41 51 | 
             
                admin:
         | 
| 42 52 | 
             
                  tab:
         | 
| 53 | 
            +
                    reviews: Reviews
         | 
| 43 54 | 
             
                    review_management: Reviews
         | 
| 44 55 | 
             
                review_successfully_submitted: Review was successfully submitted
         | 
| 45 56 | 
             
                spree_reviews:
         | 
| 46 57 | 
             
                  feedback_rating: Rate feedback
         | 
| 58 | 
            +
                  display_unapproved: Display unapproved reviews in listings
         | 
| 47 59 | 
             
                  include_unapproved: Include unapproved reviews in listings
         | 
| 48 60 | 
             
                  manage_review_settings: Control the display of reviews
         | 
| 49 61 | 
             
                  preview_size: Size of the review snippets
         | 
| 50 62 | 
             
                  require_login: Require user to be logged in
         | 
| 51 63 | 
             
                  review_settings: Review Settings
         | 
| 52 64 | 
             
                  show_email: Show email addresses
         | 
| 65 | 
            +
                  show_verified_purchaser: Show verified purchaser
         | 
| 53 66 | 
             
                  track_locale: Track user's locale
         | 
| 54 67 | 
             
                star:
         | 
| 55 68 | 
             
                  one: "1"
         | 
| @@ -58,11 +71,10 @@ en-GB: | |
| 58 71 | 
             
                submit_your_review: Submit your review
         | 
| 59 72 | 
             
                submitted_on: Submitted on
         | 
| 60 73 | 
             
                unapproved_reviews: Unapproved
         | 
| 74 | 
            +
                verified_purchaser: Verified purchaser
         | 
| 61 75 | 
             
                voice:
         | 
| 62 76 | 
             
                  one: "1 voice"
         | 
| 63 77 | 
             
                  other: "%{count} voices"
         | 
| 64 78 | 
             
                was_this_review_helpful: "Was this review helpful to you?"
         | 
| 65 79 | 
             
                write_your_own_review: Write your own review
         | 
| 66 | 
            -
                you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 67 80 | 
             
                anonymous: Anonymous
         | 
| 68 | 
            -
             | 
    
        data/config/locales/en.yml
    CHANGED
    
    | @@ -15,6 +15,16 @@ en: | |
| 15 15 | 
             
                  spree/review:
         | 
| 16 16 | 
             
                    one: one review
         | 
| 17 17 | 
             
                    other: "%{count} reviews"
         | 
| 18 | 
            +
                errors:
         | 
| 19 | 
            +
                  models:
         | 
| 20 | 
            +
                    spree/review:
         | 
| 21 | 
            +
                      attributes:
         | 
| 22 | 
            +
                        rating:
         | 
| 23 | 
            +
                          you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 24 | 
            +
                    spree/feedback_review:
         | 
| 25 | 
            +
                      attributes:
         | 
| 26 | 
            +
                        rating:
         | 
| 27 | 
            +
                          you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 18 28 | 
             
              spree:
         | 
| 19 29 | 
             
                approval_status: Approval status
         | 
| 20 30 | 
             
                approve: Approve
         | 
| @@ -40,16 +50,19 @@ en: | |
| 40 50 | 
             
                reviews: Reviews
         | 
| 41 51 | 
             
                admin:
         | 
| 42 52 | 
             
                  tab:
         | 
| 53 | 
            +
                    reviews: Reviews
         | 
| 43 54 | 
             
                    review_management: Reviews
         | 
| 44 55 | 
             
                review_successfully_submitted: Review was successfully submitted
         | 
| 45 56 | 
             
                spree_reviews:
         | 
| 46 57 | 
             
                  feedback_rating: Rate feedback
         | 
| 58 | 
            +
                  display_unapproved: Display unapproved reviews in listings
         | 
| 47 59 | 
             
                  include_unapproved: Include unapproved reviews in listings
         | 
| 48 60 | 
             
                  manage_review_settings: Control the display of reviews
         | 
| 49 61 | 
             
                  preview_size: Size of the review snippets
         | 
| 50 62 | 
             
                  require_login: Require user to be logged in
         | 
| 51 63 | 
             
                  review_settings: Review Settings
         | 
| 52 64 | 
             
                  show_email: Show email addresses
         | 
| 65 | 
            +
                  show_verified_purchaser: Show verified purchaser
         | 
| 53 66 | 
             
                  track_locale: Track user's locale
         | 
| 54 67 | 
             
                star:
         | 
| 55 68 | 
             
                  one: "1"
         | 
| @@ -58,10 +71,10 @@ en: | |
| 58 71 | 
             
                submit_your_review: Submit your review
         | 
| 59 72 | 
             
                submitted_on: Submitted on
         | 
| 60 73 | 
             
                unapproved_reviews: Unapproved
         | 
| 74 | 
            +
                verified_purchaser: Verified purchaser
         | 
| 61 75 | 
             
                voice:
         | 
| 62 76 | 
             
                  one: "1 voice"
         | 
| 63 77 | 
             
                  other: "%{count} voices"
         | 
| 64 78 | 
             
                was_this_review_helpful: "Was this review helpful to you?"
         | 
| 65 79 | 
             
                write_your_own_review: Write your own review
         | 
| 66 | 
            -
                you_must_enter_value_for_rating: "You must enter a value for rating."
         | 
| 67 80 | 
             
                anonymous: Anonymous
         |