Commit 219aa6659c799ade3a3fca5496bb5e4195c2626e
Exists in
oauth_external_login
and in
1 other branch
Merge branch 'master' into federation
Showing
68 changed files
with
1055 additions
and
504 deletions
Show diff stats
app/api/entities.rb
... | ... | @@ -88,13 +88,16 @@ module Api |
88 | 88 | expose :id, :type, :settings, :position, :enabled |
89 | 89 | expose :mirror, :mirror_block_id, :title |
90 | 90 | expose :api_content, if: lambda { |object, options| options[:display_api_content] || object.display_api_content_by_default? } |
91 | + expose :permissions do |block, options| | |
92 | + Entities.permissions_for_entity(block, options[:current_person], :allow_edit?) | |
93 | + end | |
91 | 94 | end |
92 | 95 | |
93 | 96 | class Box < Entity |
94 | 97 | root 'boxes', 'box' |
95 | 98 | expose :id, :position |
96 | 99 | expose :blocks, :using => Block do |box, options| |
97 | - box.blocks.select {|block| block.visible_to_user?(options[:current_person]) } | |
100 | + box.blocks.select {|block| block.visible_to_user?(options[:current_person]) || block.allow_edit?(options[:current_person]) } | |
98 | 101 | end |
99 | 102 | end |
100 | 103 | |
... | ... | @@ -121,6 +124,10 @@ module Api |
121 | 124 | expose :type |
122 | 125 | expose :custom_header |
123 | 126 | expose :custom_footer |
127 | + expose :permissions do |profile, options| | |
128 | + Entities.permissions_for_entity(profile, options[:current_person], | |
129 | + :allow_post_content?, :allow_edit?, :allow_destroy?) | |
130 | + end | |
124 | 131 | end |
125 | 132 | |
126 | 133 | class UserBasic < Entity | ... | ... |
app/api/v1/blocks.rb
... | ... | @@ -5,8 +5,15 @@ module Api |
5 | 5 | resource :blocks do |
6 | 6 | get ':id' do |
7 | 7 | block = Block.find(params["id"]) |
8 | - return forbidden! unless block.visible_to_user?(current_person) | |
9 | - present block, :with => Entities::Block, display_api_content: true | |
8 | + return forbidden! unless block.visible_to_user?(current_person) || block.allow_edit?(current_person) | |
9 | + present block, :with => Entities::Block, display_api_content: true, current_person: current_person | |
10 | + end | |
11 | + | |
12 | + post ':id' do | |
13 | + block = Block.find(params["id"]) | |
14 | + return forbidden! unless block.allow_edit?(current_person) | |
15 | + block.update_attributes!(params[:block]) | |
16 | + present block, :with => Entities::Block, display_api_content: true, current_person: current_person | |
10 | 17 | end |
11 | 18 | end |
12 | 19 | end | ... | ... |
app/api/v1/profiles.rb
... | ... | @@ -27,7 +27,7 @@ module Api |
27 | 27 | post ':id' do |
28 | 28 | authenticate! |
29 | 29 | profile = environment.profiles.find_by(id: params[:id]) |
30 | - return forbidden! unless current_person.has_permission?(:edit_profile, profile) | |
30 | + return forbidden! unless profile.allow_edit?(current_person) | |
31 | 31 | profile.update_attributes!(params[:profile]) |
32 | 32 | present profile, :with => Entities::Profile, :current_person => current_person |
33 | 33 | end |
... | ... | @@ -39,7 +39,7 @@ module Api |
39 | 39 | |
40 | 40 | not_found! if profile.blank? |
41 | 41 | |
42 | - if current_person.has_permission?(:destroy_profile, profile) | |
42 | + if profile.allow_destroy?(current_person) | |
43 | 43 | profile.destroy |
44 | 44 | else |
45 | 45 | forbidden! | ... | ... |
app/helpers/application_helper.rb
... | ... | @@ -723,11 +723,11 @@ module ApplicationHelper |
723 | 723 | def display_short_format(article, options={}) |
724 | 724 | options[:comments_link] ||= true |
725 | 725 | options[:read_more_link] ||= true |
726 | + lead_links = (options[:comments_link] ? link_to_comments(article) : '') + (options[:read_more_link] ? reference_to_article( _('Read more'), article) : '') | |
726 | 727 | html = content_tag('div', |
727 | 728 | article.lead + |
728 | 729 | content_tag('div', |
729 | - (options[:comments_link] ? link_to_comments(article) : '') + | |
730 | - (options[:read_more_link] ? reference_to_article( _('Read more'), article) : ''), | |
730 | + lead_links.html_safe, | |
731 | 731 | :class => 'read-more' |
732 | 732 | ), |
733 | 733 | :class => 'short-post' | ... | ... |
app/models/article.rb
... | ... | @@ -567,7 +567,7 @@ class Article < ApplicationRecord |
567 | 567 | |
568 | 568 | def allow_post_content?(user = nil) |
569 | 569 | return true if allow_edit_topic?(user) |
570 | - user && (user.has_permission?('post_content', profile) || allow_publish_content?(user) && (user == author)) | |
570 | + user && (profile.allow_post_content?(user) || allow_publish_content?(user) && (user == author)) | |
571 | 571 | end |
572 | 572 | |
573 | 573 | def allow_publish_content?(user = nil) | ... | ... |
app/models/block.rb
... | ... | @@ -309,6 +309,16 @@ class Block < ApplicationRecord |
309 | 309 | false |
310 | 310 | end |
311 | 311 | |
312 | + def allow_edit?(person) | |
313 | + return false if person.nil? || (!person.is_admin? && !editable?(person)) | |
314 | + if self.owner.kind_of?(Profile) | |
315 | + return person.has_permission?(:edit_profile_design, owner) | |
316 | + elsif self.owner.kind_of?(Environment) | |
317 | + return person.has_permission?(:edit_environment_design, owner) | |
318 | + end | |
319 | + false | |
320 | + end | |
321 | + | |
312 | 322 | private |
313 | 323 | |
314 | 324 | def home_page_path | ... | ... |
app/models/profile.rb
... | ... | @@ -1137,4 +1137,15 @@ private :generate_url, :url_options |
1137 | 1137 | false |
1138 | 1138 | end |
1139 | 1139 | |
1140 | + def allow_post_content?(person = nil) | |
1141 | + person.kind_of?(Profile) && person.has_permission?('post_content', self) | |
1142 | + end | |
1143 | + | |
1144 | + def allow_edit?(person = nil) | |
1145 | + person.kind_of?(Profile) && person.has_permission?('edit_profile', self) | |
1146 | + end | |
1147 | + | |
1148 | + def allow_destroy?(person = nil) | |
1149 | + person.kind_of?(Profile) && person.has_permission?('destroy_profile', self) | |
1150 | + end | |
1140 | 1151 | end | ... | ... |
app/models/user.rb
app/views/blocks/profile_info.html.erb
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | [ [ profile.city, 'locality' ], |
31 | 31 | [ profile.state, 'region' ], |
32 | 32 | [ profile.country_name, 'country-name' ] |
33 | - ].map{ |s,c| s =~ /^\s*$/ ? nil : content_tag( 'span', s, :class => c ) }.compact.join ' - ' | |
33 | + ].map{ |s,c| s =~ /^\s*$/ ? nil : content_tag( 'span', s, :class => c ) }.compact.safe_join ' - ' | |
34 | 34 | %> |
35 | 35 | </div> |
36 | 36 | <% end %> | ... | ... |
app/views/profile/send_mail.html.erb
... | ... | @@ -9,8 +9,8 @@ |
9 | 9 | <div class="template-selection"> |
10 | 10 | <% if @email_templates.present? %> |
11 | 11 | <%= labelled_form_field(_('Select a template:'), select_tag(:template, options_from_collection_for_select(@email_templates, :id, :name), :include_blank => true, 'data-url' => url_for(:controller => 'email_templates', :action => 'show_parsed'))) %> |
12 | - </div> | |
13 | -<% end %> | |
12 | + <% end %> | |
13 | +</div> | |
14 | 14 | |
15 | 15 | <%= form_for :mailing, :url => {:action => 'send_mail'}, :html => {:id => 'mailing-form'} do |f| %> |
16 | 16 | ... | ... |
config/initializers/00_dependencies.rb
config/initializers/active_record_extensions.rb
lib/noosfero/plugin.rb
plugins/analytics/lib/analytics_plugin/base.rb
... | ... | @@ -42,7 +42,7 @@ class AnalyticsPlugin::Base < Noosfero::Plugin |
42 | 42 | { |
43 | 43 | title: I18n.t('analytics_plugin.lib.plugin.panel_button'), |
44 | 44 | icon: 'analytics-access', |
45 | - url: {controller: 'analytics_plugin/stats', action: :index} | |
45 | + url: {controller: 'analytics_plugin/stats', profile: profile.identifier, action: :index} | |
46 | 46 | } |
47 | 47 | end |
48 | 48 | ... | ... |
plugins/comment_paragraph/controllers/profile/comment_paragraph_plugin_profile_controller.rb
... | ... | @@ -21,4 +21,16 @@ class CommentParagraphPluginProfileController < CommentController |
21 | 21 | } |
22 | 22 | end |
23 | 23 | |
24 | + include CommentParagraphPlugin::CommentsReport | |
25 | + | |
26 | + def export_comments | |
27 | + article_id = params[:id] | |
28 | + article = profile.articles.find(article_id) | |
29 | + result = export_comments_csv(article) | |
30 | + filename = "comments_for_article#{article_id}_#{DateTime.now.to_i}.csv" | |
31 | + send_data result, | |
32 | + :type => 'text/csv; charset=UTF-8; header=present', | |
33 | + :disposition => "attachment; filename=#{filename}" | |
34 | + end | |
35 | + | |
24 | 36 | end | ... | ... |
plugins/comment_paragraph/lib/comment_paragraph_plugin.rb
... | ... | @@ -47,12 +47,19 @@ class CommentParagraphPlugin < Noosfero::Plugin |
47 | 47 | def article_extra_toolbar_buttons(article) |
48 | 48 | user = context.send :user |
49 | 49 | return [] if !article.comment_paragraph_plugin_enabled? || !article.allow_edit?(user) || article.kind_of?(CommentParagraphPlugin::Discussion) |
50 | - { | |
50 | + buttons = [ | |
51 | + { | |
51 | 52 | :title => article.comment_paragraph_plugin_activated? ? _('Deactivate Comments') : _('Activate Comments'), |
52 | 53 | :url => {:controller => 'comment_paragraph_plugin_myprofile', :profile => article.profile.identifier, :action => 'toggle_activation', :id => article.id}, |
53 | 54 | :icon => :toggle_comment_paragraph |
54 | - } | |
55 | - | |
55 | + } | |
56 | + ] | |
57 | + buttons << { | |
58 | + :title => _('Export Comments'), | |
59 | + :url => {:controller => 'comment_paragraph_plugin_profile', :profile => article.profile.identifier, :action => 'export_comments', :id => article.id}, | |
60 | + :icon => :toggle_comment_paragraph | |
61 | + } if article.comment_paragraph_plugin_activated? | |
62 | + buttons | |
56 | 63 | end |
57 | 64 | |
58 | 65 | def self.api_mount_points | ... | ... |
plugins/comment_paragraph/lib/comment_paragraph_plugin/api.rb
1 | +require_relative 'comments_report' | |
2 | + | |
1 | 3 | # Can't be called Api as will result in: |
2 | 4 | # warning: toplevel constant Api referenced by CommentParagraphPlugin::Api |
3 | 5 | # To fix this CommentParagraphPlugin should be a module |
4 | 6 | class CommentParagraphPlugin::API < Grape::API |
7 | + | |
5 | 8 | MAX_PER_PAGE = 20 |
6 | 9 | |
10 | + helpers CommentParagraphPlugin::CommentsReport | |
11 | + | |
7 | 12 | resource :articles do |
8 | 13 | paginate max_per_page: MAX_PER_PAGE |
9 | 14 | get ':id/comment_paragraph_plugin/comments' do |
... | ... | @@ -31,5 +36,16 @@ class CommentParagraphPlugin::API < Grape::API |
31 | 36 | comments = select_filtered_collection_of(article, :comments, params) |
32 | 37 | comments.group(:paragraph_uuid).count |
33 | 38 | end |
39 | + | |
40 | + get ":id/comment_paragraph_plugin/export" do | |
41 | + article = find_article(environment.articles, params[:id]) | |
42 | + result = export_comments_csv(article) | |
43 | + filename = "comments_for_article#{article.id}_#{DateTime.now.to_i}.csv" | |
44 | + content_type 'text/csv; charset=UTF-8; header=present' | |
45 | + env['api.format'] = :binary # there's no formatter for :binary, data will be returned "as is" | |
46 | + header 'Content-Disposition', "attachment; filename*=UTF-8''#{CGI.escape(filename)}" | |
47 | + result | |
48 | + end | |
49 | + | |
34 | 50 | end |
35 | 51 | end | ... | ... |
plugins/comment_paragraph/lib/comment_paragraph_plugin/comments_report.rb
0 → 100644
... | ... | @@ -0,0 +1,52 @@ |
1 | +require 'csv' | |
2 | + | |
3 | +module CommentParagraphPlugin::CommentsReport | |
4 | + | |
5 | + def export_comments_csv(article) | |
6 | + comments_map = article.comments.group_by { |comment| comment.paragraph_uuid } | |
7 | + @export = [] | |
8 | + doc = Nokogiri::HTML(article.body) | |
9 | + paragraph_id = 1 | |
10 | + doc.css("[data-macro-paragraph_uuid]").map do |paragraph| | |
11 | + uuid = paragraph.attributes['data-macro-paragraph_uuid'].value | |
12 | + comments_for_paragraph = comments_map[uuid] | |
13 | + if comments_for_paragraph | |
14 | + # Put comments for the paragraph | |
15 | + comments_for_paragraph.each do | comment | | |
16 | + @export << create_comment_element(comment, paragraph, paragraph_id) | |
17 | + end | |
18 | + else # There are no comments for this paragraph | |
19 | + @export << create_comment_element(nil, paragraph, paragraph_id) | |
20 | + end | |
21 | + paragraph_id += 1 | |
22 | + end | |
23 | + # Now we need to put all other comments that are not attached to a paragraph | |
24 | + comments_without_paragrah = comments_map[nil] || [] | |
25 | + comments_without_paragrah.each do | comment | | |
26 | + @export << create_comment_element(comment, nil, nil) | |
27 | + end | |
28 | + return _("No comments for article[%{id}]: %{path}\n\n") % {:id => article.id, :path => article.path} if @export.empty? | |
29 | + | |
30 | + column_names = @export.first.keys | |
31 | + CSV.generate(force_quotes: true) do |csv| | |
32 | + csv << column_names | |
33 | + @export.each { |x| csv << x.values } | |
34 | + end | |
35 | + end | |
36 | + | |
37 | + private | |
38 | + | |
39 | + def create_comment_element(comment, paragraph, paragraph_id) | |
40 | + { | |
41 | + paragraph_id: paragraph_id, | |
42 | + paragraph_text: paragraph.present? ? paragraph.text.strip : nil, | |
43 | + comment_id: comment.present? ? comment.id : '-', | |
44 | + comment_reply_to: comment.present? ? comment.reply_of_id : '-', | |
45 | + comment_title: comment.present? ? comment.title : '-', | |
46 | + comment_content: comment.present? ? comment.body : '-', | |
47 | + comment_author_name: comment.present? ? comment.author_name : '-', | |
48 | + comment_author_email: comment.present? ? comment.author_email : '-' | |
49 | + } | |
50 | + end | |
51 | + | |
52 | +end | ... | ... |
plugins/comment_paragraph/test/functional/comment_paragraph_plugin_profile_controller_test.rb
... | ... | @@ -50,4 +50,18 @@ class CommentParagraphPluginProfileControllerTest < ActionController::TestCase |
50 | 50 | assert_select "#comment_paragraph_uuid[value=?]", '0' |
51 | 51 | end |
52 | 52 | |
53 | + should 'export comments as CSV' do | |
54 | + comment1 = fast_create(Comment, :created_at => Time.now - 1.days, :source_id => article, :author_id => profile, :title => 'a comment', :body => 'a comment', :paragraph_uuid => nil) | |
55 | + comment2 = fast_create(Comment, :created_at => Time.now - 2.days, :source_id => article, :author_id => profile, :title => 'b comment', :body => 'b comment', :paragraph_uuid => nil) | |
56 | + xhr :get, :export_comments, :profile => @profile.identifier, :id => article.id | |
57 | + assert_equal 'text/csv; charset=UTF-8; header=present', @response.content_type | |
58 | + lines = @response.body.split("\n") | |
59 | + assert_equal '"paragraph_id","paragraph_text","comment_id","comment_reply_to","comment_title","comment_content","comment_author_name","comment_author_email"', lines.first | |
60 | + assert_equal "\"\",\"\",\"#{comment2.id}\",\"\",\"b comment\",\"b comment\",\"#{comment2.author_name}\",\"#{comment2.author_email}\"", lines.second | |
61 | + end | |
62 | + | |
63 | + should 'not export any comments as CSV' do | |
64 | + xhr :get, :export_comments, :profile => @profile.identifier, :id => article.id | |
65 | + assert_equal "No comments for article[#{article.id}]: #{article.path}", @response.body.split("\n")[0] | |
66 | + end | |
53 | 67 | end | ... | ... |
plugins/comment_paragraph/test/unit/api_test.rb
... | ... | @@ -90,4 +90,18 @@ class APITest < ActiveSupport::TestCase |
90 | 90 | assert_equal "CommentParagraphPlugin::Discussion", json["article"]["type"] |
91 | 91 | assert json["article"]["setting"]["comment_paragraph_plugin_activate"] |
92 | 92 | end |
93 | + | |
94 | + should 'export comments' do | |
95 | + login_api | |
96 | + article = fast_create(Article, :profile_id => person.id, :name => "Some thing") | |
97 | + comment1 = fast_create(Comment, :created_at => Time.now - 1.days, :source_id => article, :title => 'a comment', :body => 'a comment', :paragraph_uuid => nil) | |
98 | + comment2 = fast_create(Comment, :created_at => Time.now - 2.days, :source_id => article, :title => 'b comment', :body => 'b comment', :paragraph_uuid => nil) | |
99 | + get "/api/v1/articles/#{article.id}/comment_paragraph_plugin/export?#{params.to_query}" | |
100 | + assert_equal 200, last_response.status | |
101 | + assert_equal 'text/csv; charset=UTF-8; header=present', last_response.content_type | |
102 | + lines = last_response.body.split("\n") | |
103 | + assert_equal '"paragraph_id","paragraph_text","comment_id","comment_reply_to","comment_title","comment_content","comment_author_name","comment_author_email"', lines.first | |
104 | + assert_equal "\"\",\"\",\"#{comment2.id}\",\"\",\"b comment\",\"b comment\",\"#{comment2.author_name}\",\"#{comment2.author_email}\"", lines.second | |
105 | + end | |
106 | + | |
93 | 107 | end | ... | ... |
plugins/comment_paragraph/test/unit/comment_paragraph_plugin_test.rb
... | ... | @@ -71,7 +71,7 @@ class CommentParagraphPluginTest < ActiveSupport::TestCase |
71 | 71 | article.expects(:allow_edit?).with(user).returns(true) |
72 | 72 | article.expects(:comment_paragraph_plugin_activated?).at_least_once.returns(false) |
73 | 73 | |
74 | - assert_equal 'Activate Comments', plugin.article_extra_toolbar_buttons(article)[:title] | |
74 | + assert_equal 'Activate Comments', plugin.article_extra_toolbar_buttons(article).first[:title] | |
75 | 75 | end |
76 | 76 | |
77 | 77 | should 'display Deactivate Comments title if comment paragraph plugin is deactivated' do |
... | ... | @@ -81,7 +81,17 @@ class CommentParagraphPluginTest < ActiveSupport::TestCase |
81 | 81 | article.expects(:allow_edit?).with(user).returns(true) |
82 | 82 | article.expects(:comment_paragraph_plugin_activated?).at_least_once.returns(true) |
83 | 83 | |
84 | - assert_equal 'Deactivate Comments', plugin.article_extra_toolbar_buttons(article)[:title] | |
84 | + assert_equal 'Deactivate Comments', plugin.article_extra_toolbar_buttons(article).first[:title] | |
85 | + end | |
86 | + | |
87 | + should 'display export comments button when comment paragraph plugin is activated' do | |
88 | + profile = fast_create(Profile) | |
89 | + article = fast_create(Article, :profile_id => profile.id) | |
90 | + article.expects(:comment_paragraph_plugin_enabled?).returns(true) | |
91 | + article.expects(:allow_edit?).with(user).returns(true) | |
92 | + article.expects(:comment_paragraph_plugin_activated?).at_least_once.returns(true) | |
93 | + | |
94 | + assert_includes plugin.article_extra_toolbar_buttons(article).map {|b| b[:title]}, 'Export Comments' | |
85 | 95 | end |
86 | 96 | |
87 | 97 | should 'not display button to toggle comment paragraph if article is a discussion' do | ... | ... |
plugins/comment_paragraph/test/unit/comments_report_test.rb
0 → 100644
... | ... | @@ -0,0 +1,23 @@ |
1 | +require_relative '../test_helper' | |
2 | + | |
3 | +class CommentsReportTest < ActiveSupport::TestCase | |
4 | + | |
5 | + include CommentParagraphPlugin::CommentsReport | |
6 | + | |
7 | + def setup | |
8 | + profile = fast_create(Community) | |
9 | + @article = fast_create(Article, :profile_id => profile.id) | |
10 | + end | |
11 | + | |
12 | + attr_reader :article | |
13 | + | |
14 | + should 'export comments in csv format with the first line as a header' do | |
15 | + comment1 = fast_create(Comment, :created_at => Time.now - 1.days, :source_id => article, :title => 'a comment', :body => 'a comment', :paragraph_uuid => nil) | |
16 | + comment2 = fast_create(Comment, :created_at => Time.now - 2.days, :source_id => article, :title => 'b comment', :body => 'b comment', :paragraph_uuid => nil) | |
17 | + csv = export_comments_csv(article) | |
18 | + lines = csv.split("\n") | |
19 | + assert_equal '"paragraph_id","paragraph_text","comment_id","comment_reply_to","comment_title","comment_content","comment_author_name","comment_author_email"', lines.first | |
20 | + assert_equal "\"\",\"\",\"#{comment2.id}\",\"\",\"b comment\",\"b comment\",\"#{comment2.author_name}\",\"#{comment2.author_email}\"", lines.second | |
21 | + end | |
22 | + | |
23 | +end | ... | ... |
plugins/custom_forms/lib/custom_forms_plugin.rb
... | ... | @@ -13,7 +13,7 @@ class CustomFormsPlugin < Noosfero::Plugin |
13 | 13 | end |
14 | 14 | |
15 | 15 | def control_panel_buttons |
16 | - {:title => _('Manage Forms'), :icon => 'custom-forms', :url => {:controller => 'custom_forms_plugin_myprofile'}} | |
16 | + {title: _('Manage Forms'), icon: 'custom-forms', url: {profile: profile.identifier, controller: 'custom_forms_plugin_myprofile'}} | |
17 | 17 | end |
18 | 18 | |
19 | 19 | end | ... | ... |
plugins/display_content/po/es/display_content.po
... | ... | @@ -7,8 +7,8 @@ msgid "" |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: 1.3~rc2-1-ga15645d\n" |
9 | 9 | "POT-Creation-Date: 2015-10-30 16:35-0300\n" |
10 | -"PO-Revision-Date: 2015-03-09 09:51+0200\n" | |
11 | -"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
10 | +"PO-Revision-Date: 2016-06-15 11:38+0000\n" | |
11 | +"Last-Translator: Becca Cook <b.cook28@gmail.com>\n" | |
12 | 12 | "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" |
13 | 13 | "display-content/es/>\n" |
14 | 14 | "Language: es\n" |
... | ... | @@ -16,7 +16,7 @@ msgstr "" |
16 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | 17 | "Content-Transfer-Encoding: 8bit\n" |
18 | 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
19 | -"X-Generator: Weblate 2.3-dev\n" | |
19 | +"X-Generator: Weblate 2.7-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/display_content/lib/display_content_plugin.rb:10 |
22 | 22 | msgid "" |
... | ... | @@ -65,7 +65,7 @@ msgstr "%{day} de %{month_name} de %{year}" |
65 | 65 | |
66 | 66 | #: plugins/display_content/lib/display_content_block.rb:197 |
67 | 67 | msgid "%{month_name} %{day}" |
68 | -msgstr "" | |
68 | +msgstr "%{nombre_del_mes} %{día}" | |
69 | 69 | |
70 | 70 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:5 |
71 | 71 | msgid "Choose which attributes should be displayed and drag to reorder them:" | ... | ... |
plugins/display_content/test/unit/display_content_block_test.rb
... | ... | @@ -656,6 +656,23 @@ class DisplayContentBlockViewTest < ActionView::TestCase |
656 | 656 | assert_match /#{a.published_at}/, render_block_content(block) |
657 | 657 | end |
658 | 658 | |
659 | + should 'show image if defined by user' do | |
660 | + profile = create_user('testuser').person | |
661 | + a = create(TinyMceArticle, :name => 'test article 1', :profile_id => profile.id, :image_builder => { :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')}) | |
662 | + a.save! | |
663 | + | |
664 | + process_delayed_job_queue | |
665 | + | |
666 | + block = DisplayContentBlock.new | |
667 | + block.nodes = [a.id] | |
668 | + block.sections = [{:value => 'image', :checked => true}] | |
669 | + box = mock() | |
670 | + block.stubs(:box).returns(box) | |
671 | + box.stubs(:owner).returns(profile) | |
672 | + | |
673 | + assert_tag_in_string render_block_content(block), :tag => 'div', :attributes => {:class => 'image'} | |
674 | + end | |
675 | + | |
659 | 676 | should 'show articles in recent order' do |
660 | 677 | profile = create_user('testuser').person |
661 | 678 | Article.delete_all | ... | ... |
plugins/display_content/views/blocks/display_content/_section.slim
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | div class='body' |
14 | 14 | = (item.body || '').html_safe |
15 | 15 | - when 'image' |
16 | - - unless item.image || item.image.public_filename | |
16 | + - if item.image && item.image.public_filename | |
17 | 17 | div class='image' |
18 | 18 | = link_to(image_tag(item.image.public_filename), item.url) |
19 | 19 | - when 'tags' | ... | ... |
plugins/oauth_client/Gemfile
plugins/oauth_client/README.md
... | ... | @@ -33,6 +33,20 @@ Facebook |
33 | 33 | |
34 | 34 | [Create Facebook application](https://developers.facebook.com/docs/facebook-login/v2.1) |
35 | 35 | |
36 | +Github | |
37 | +-------- | |
38 | + | |
39 | +[Create Github application](https://github.com/settings/developers) | |
40 | + | |
41 | ||
42 | +-------- | |
43 | + | |
44 | +- Specially on twitter you need to request user's email address, see more | |
45 | +in https://dev.twitter.com/rest/reference/get/account/verify_credentials | |
46 | + | |
47 | +[Create Twitter application](https://apps.twitter.com/) | |
48 | + | |
49 | + | |
36 | 50 | Callback |
37 | 51 | ======== |
38 | 52 | ... | ... |
... | ... | @@ -0,0 +1,20 @@ |
1 | +Feature: Create Twitter provider | |
2 | + As a environment admin | |
3 | + I want to be able to create a new twitter provider | |
4 | + So that users can login wth different strategies | |
5 | + | |
6 | +Background: | |
7 | + Given "OauthProvider" plugin is enabled | |
8 | + And I am logged in as admin | |
9 | + And I go to /admin/plugins | |
10 | + And I check "Oauth Client Plugin" | |
11 | + And I press "Save changes" | |
12 | + | |
13 | +Scenario: Create a twitter provider | |
14 | + Given I go to /admin/plugin/oauth_client/new | |
15 | + And I fill in "oauth_client_plugin_provider_name" with "myid" | |
16 | + And I fill in "oauth_client_plugin_provider[name]" with "google" | |
17 | + And I fill in "oauth_client_plugin_provider_client_secret" with "mysecret" | |
18 | + And I check "oauth_client_plugin_provider[enabled]" | |
19 | + And I select "twitter" from "oauth_client_plugin_provider_strategy" | |
20 | + Then I should see "To use this provider you need to request the user email in your app" | ... | ... |
plugins/oauth_client/lib/oauth_client_plugin.rb
... | ... | @@ -31,13 +31,20 @@ class OauthClientPlugin < Noosfero::Plugin |
31 | 31 | |
32 | 32 | PROVIDERS = { |
33 | 33 | :facebook => { |
34 | - :name => 'Facebook' | |
34 | + :name => 'Facebook', | |
35 | + :info_fields => 'name,email' | |
35 | 36 | }, |
36 | 37 | :google_oauth2 => { |
37 | 38 | :name => 'Google' |
38 | 39 | }, |
39 | 40 | :noosfero_oauth2 => { |
40 | 41 | :name => 'Noosfero' |
42 | + }, | |
43 | + :github => { | |
44 | + :name => 'Github' | |
45 | + }, | |
46 | + :twitter => { | |
47 | + :name => 'Twitter' | |
41 | 48 | } |
42 | 49 | } |
43 | 50 | |
... | ... | @@ -62,8 +69,9 @@ class OauthClientPlugin < Noosfero::Plugin |
62 | 69 | provider_id = request.params['id'] |
63 | 70 | provider_id ||= request.session['omniauth.params']['id'] if request.session['omniauth.params'] |
64 | 71 | provider = environment.oauth_providers.find(provider_id) |
72 | + strategy.options.merge! consumer_key: provider.client_id, consumer_secret: provider.client_secret | |
65 | 73 | strategy.options.merge! client_id: provider.client_id, client_secret: provider.client_secret |
66 | - strategy.options.merge! provider.options.symbolize_keys | |
74 | + strategy.options.merge! options | |
67 | 75 | |
68 | 76 | request.session[:provider_id] = provider_id |
69 | 77 | } |
... | ... | @@ -95,4 +103,8 @@ class OauthClientPlugin < Noosfero::Plugin |
95 | 103 | } |
96 | 104 | end |
97 | 105 | |
106 | + def js_files | |
107 | + ["script.js"] | |
108 | + end | |
109 | + | |
98 | 110 | end | ... | ... |
... | ... | @@ -0,0 +1,21 @@ |
1 | +$(document).ready(function(){ | |
2 | + select_box_event(); | |
3 | +}); | |
4 | + | |
5 | +var toggle_info_message = function(){ | |
6 | + var selected_option = $("#oauth_client_plugin_provider_strategy option:selected"); | |
7 | + if (selected_option.length){ | |
8 | + if (selected_option.val() === "twitter"){ | |
9 | + $(".remember-enable-email").removeClass("hidden"); | |
10 | + } else { | |
11 | + $(".remember-enable-email").addClass("hidden"); | |
12 | + } | |
13 | + } | |
14 | +}; | |
15 | + | |
16 | +var select_box_event = function(){ | |
17 | + var select_box = $("#oauth_client_plugin_provider_strategy"); | |
18 | + select_box.on("change",function(){ | |
19 | + toggle_info_message(); | |
20 | + }); | |
21 | +}; | ... | ... |
plugins/oauth_client/public/style.css
plugins/oauth_client/views/oauth_client_plugin_admin/edit.html.erb
... | ... | @@ -15,6 +15,10 @@ |
15 | 15 | <%= labelled_form_field _('Strategy'), f.select(:strategy, OauthClientPlugin::PROVIDERS) %> |
16 | 16 | </div> |
17 | 17 | |
18 | + <div class="remember-enable-email hidden"> | |
19 | + <span class="error"><%=_('To use this provider you need to request the user email in your app')%></span> | |
20 | + </div> | |
21 | + | |
18 | 22 | <div class="client-id"> |
19 | 23 | <%= labelled_form_field _('Client Id'), f.text_field(:client_id) %> |
20 | 24 | </div> | ... | ... |
plugins/organization_ratings/views/organization_ratings_plugin_profile/_new_rating_fields.html.erb
1 | 1 | <% min_rate = env_organization_ratings_config.minimum_ratings %> |
2 | 2 | <% default_rating = env_organization_ratings_config.default_rating %> |
3 | 3 | |
4 | -<div class="star-page-title"> | |
5 | - <%= @plugins.dispatch(:organization_ratings_title).collect { |content| instance_exec(&content) }.join("") %> | |
6 | -</div> | |
7 | - | |
8 | 4 | <div class="star-rate-data"> |
9 | 5 | |
10 | 6 | <div class="star-profile-information"> | ... | ... |
plugins/organization_ratings/views/organization_ratings_plugin_profile/new_rating.html.erb
1 | 1 | <%= error_messages_for 'rating' %> |
2 | 2 | |
3 | 3 | <% config = env_organization_ratings_config %> |
4 | +<div class="star-page-title"> | |
5 | + <%= @plugins.dispatch(:organization_ratings_title).collect { |content| instance_exec(&content) }.join("") %> | |
6 | +</div> | |
4 | 7 | <% if logged_in? %> |
5 | 8 | <%= render :partial => "new_rating_fields" %> |
6 | 9 | <% else %> | ... | ... |
plugins/organization_ratings/views/shared/_make_report_block.html.erb
1 | 1 | <% logged_in_image = link_to profile_image(current_user.person, :portrait), current_user.person.url if current_user %> |
2 | 2 | <% logged_in_name = link_to current_user.person.name, current_user.person.url if current_user %> |
3 | -<% logged_out_image = image_tag('plugins/organization_ratings/public/images/user-not-logged.png') %> | |
3 | +<% logged_out_image = image_tag('plugins/organization_ratings/images/user-not-logged.png') %> | |
4 | 4 | |
5 | 5 | <div class="make-report-block"> |
6 | 6 | <div class="star-profile-information"> | ... | ... |
plugins/people_block/po/es/people_block.po
... | ... | @@ -7,16 +7,16 @@ msgid "" |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: 1.3~rc2-1-ga15645d\n" |
9 | 9 | "POT-Creation-Date: 2015-10-30 16:35-0300\n" |
10 | -"PO-Revision-Date: 2014-11-03 15:52+0200\n" | |
11 | -"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
12 | -"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"noosfero/es/>\n" | |
10 | +"PO-Revision-Date: 2016-06-15 12:26+0000\n" | |
11 | +"Last-Translator: Becca Cook <b.cook28@gmail.com>\n" | |
12 | +"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"people-block/es/>\n" | |
14 | 14 | "Language: es\n" |
15 | 15 | "MIME-Version: 1.0\n" |
16 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | 17 | "Content-Transfer-Encoding: 8bit\n" |
18 | 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
19 | -"X-Generator: Weblate 2.0-dev\n" | |
19 | +"X-Generator: Weblate 2.7-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/people_block/lib/friends_block.rb:8 |
22 | 22 | #, fuzzy |
... | ... | @@ -77,8 +77,8 @@ msgstr "Ver todos" |
77 | 77 | |
78 | 78 | #: plugins/people_block/views/blocks/friends.html.erb:5 |
79 | 79 | msgid "Some suggestions for you" |
80 | -msgstr "" | |
80 | +msgstr "Algunas sugerencias para ti" | |
81 | 81 | |
82 | 82 | #: plugins/people_block/views/blocks/friends.html.erb:10 |
83 | 83 | msgid "See all suggestions" |
84 | -msgstr "" | |
84 | +msgstr "Ver todas las sugerencias" | ... | ... |
... | ... | @@ -0,0 +1,18 @@ |
1 | +Feature: person tags | |
2 | + | |
3 | +Background: | |
4 | + Given the following users | |
5 | + | login | | |
6 | + | joao | | |
7 | + And I am logged in as "joao" | |
8 | + And "PersonTags" plugin is enabled | |
9 | + | |
10 | +Scenario: add tags to person | |
11 | + Given I am on joao's control panel | |
12 | + And I follow "Edit Profile" | |
13 | + When I fill in "profile_data_tag_list" with "linux,debian" | |
14 | + And I press "Save" | |
15 | + And I go to joao's control panel | |
16 | + And I follow "Edit Profile" | |
17 | + Then the "profile_data_tag_list" field should contain "linux" | |
18 | + And the "profile_data_tag_list" field should contain "debian" | ... | ... |
... | ... | @@ -0,0 +1,36 @@ |
1 | +class PersonTagsPlugin < Noosfero::Plugin | |
2 | + | |
3 | + include ActionView::Helpers::TagHelper | |
4 | + include ActionView::Helpers::FormTagHelper | |
5 | + include FormsHelper | |
6 | + | |
7 | + def self.plugin_name | |
8 | + "PersonTagsPlugin" | |
9 | + end | |
10 | + | |
11 | + def self.plugin_description | |
12 | + _("People can define tags that describe their interests.") | |
13 | + end | |
14 | + | |
15 | + def profile_editor_extras | |
16 | + expanded_template('profile-editor-extras.html.erb').html_safe | |
17 | + end | |
18 | + | |
19 | + def self.api_mount_points | |
20 | + [PersonTagsPlugin::API] | |
21 | + end | |
22 | + | |
23 | + def self.extra_blocks | |
24 | + { | |
25 | + PersonTagsPlugin::InterestsBlock => { type: Person } | |
26 | + } | |
27 | + end | |
28 | + | |
29 | + def self.has_admin_url? | |
30 | + false | |
31 | + end | |
32 | + | |
33 | + def stylesheet? | |
34 | + true | |
35 | + end | |
36 | +end | ... | ... |
plugins/person_tags/lib/person_tags_plugin/interests_block.rb
0 → 100644
... | ... | @@ -0,0 +1,29 @@ |
1 | +class PersonTagsPlugin::InterestsBlock < Block | |
2 | + def view_title | |
3 | + self.default_title | |
4 | + end | |
5 | + | |
6 | + def tags | |
7 | + owner.tag_list | |
8 | + end | |
9 | + | |
10 | + def extra_option | |
11 | + {} | |
12 | + end | |
13 | + | |
14 | + def self.description | |
15 | + _('Fields of Interest') | |
16 | + end | |
17 | + | |
18 | + def help | |
19 | + _('Things that this person is interested in') | |
20 | + end | |
21 | + | |
22 | + def default_title | |
23 | + _('Fields of Interest') | |
24 | + end | |
25 | + | |
26 | + def self.expire_on | |
27 | + { profile: [:profile] } | |
28 | + end | |
29 | +end | ... | ... |
... | ... | @@ -0,0 +1 @@ |
1 | +require_relative '../../../test/test_helper' | ... | ... |
... | ... | @@ -0,0 +1,27 @@ |
1 | +require_relative '../test_helper' | |
2 | +require_relative '../../../../test/api/test_helper' | |
3 | + | |
4 | +class APITest < ActiveSupport::TestCase | |
5 | + | |
6 | + def setup | |
7 | + create_and_activate_user | |
8 | + environment.enable_plugin(PersonTagsPlugin) | |
9 | + end | |
10 | + | |
11 | + should 'return tags for a person' do | |
12 | + person = create_user('person').person | |
13 | + person.tag_list.add('linux') | |
14 | + person.save! | |
15 | + person.reload | |
16 | + get "/api/v1/people/#{person.id}/tags?#{params.to_query}" | |
17 | + json = JSON.parse(last_response.body) | |
18 | + assert_equal ['linux'], json | |
19 | + end | |
20 | + | |
21 | + should 'return empty list if person has no tags' do | |
22 | + person = create_user('person').person | |
23 | + get "/api/v1/people/#{person.id}/tags?#{params.to_query}" | |
24 | + json = JSON.parse(last_response.body) | |
25 | + assert_equal [], json | |
26 | + end | |
27 | +end | ... | ... |
... | ... | @@ -0,0 +1,16 @@ |
1 | +require 'test_helper' | |
2 | + | |
3 | +class PersonTagsPluginTest < ActiveSupport::TestCase | |
4 | + | |
5 | + def setup | |
6 | + @environment = Environment.default | |
7 | + @environment.enable_plugin(PersonTagsPlugin) | |
8 | + end | |
9 | + | |
10 | + should 'have tags' do | |
11 | + person = create_user('person').person | |
12 | + assert_equal [], person.tags | |
13 | + person.tag_list.add('linux') | |
14 | + assert_equal ['linux'], person.tag_list | |
15 | + end | |
16 | +end | ... | ... |
... | ... | @@ -0,0 +1,14 @@ |
1 | +<%= block_title(block.view_title, block.subtitle) %> | |
2 | + | |
3 | +<div class="person-tags-block"> | |
4 | + <% unless block.tags.size == 0 %> | |
5 | + <ul> | |
6 | + <% block.tags.each do |tag| %> | |
7 | + <li><%= tag %></li> | |
8 | + <% end %> | |
9 | + </ul> | |
10 | + <% else %> | |
11 | + <div class="person-tags-block-none"><%= c_('None') %></div> | |
12 | + <% end %> | |
13 | + <br style="clear:both" /> | |
14 | +</div> | ... | ... |
plugins/person_tags/views/profile-editor-extras.html.erb
0 → 100644
... | ... | @@ -0,0 +1,8 @@ |
1 | +<h2><%= _('Select your fields of interest') %></h2> | |
2 | +<%= text_field_tag('profile_data[tag_list]', context.profile.tag_list.join(','), size: 64) %> | |
3 | +<br /> | |
4 | +<%= content_tag( 'small', _('Separate tags with commas') ) %> | |
5 | + | |
6 | +<script> | |
7 | + jQuery('#profile_data_tag_list').inputosaurus(); | |
8 | +</script> | ... | ... |
plugins/require_auth_to_comment/lib/require_auth_to_comment_plugin.rb
... | ... | @@ -38,7 +38,7 @@ class RequireAuthToCommentPlugin < Noosfero::Plugin |
38 | 38 | end |
39 | 39 | |
40 | 40 | def body_beginning |
41 | - "<meta name='profile.allow_unauthenticated_comments'/>" if allowed_by_profile | |
41 | + tag :meta, name: 'profile.allow_unauthenticated_comments' if allowed_by_profile | |
42 | 42 | end |
43 | 43 | |
44 | 44 | protected | ... | ... |
plugins/responsive/views/layouts/_usermenu_logged_in.html.slim
... | ... | @@ -5,8 +5,8 @@ li.dropdown |
5 | 5 | = image_tag user.profile_custom_icon(gravatar_default), class: 'menu-user-gravatar' |
6 | 6 | = content_tag :strong, user.identifier |
7 | 7 | - if pending_tasks_count |
8 | - span class='badge' onclick="document.location='#{url_for(user.tasks_url)}'" title="#{_("Manage your pending tasks")}" | |
9 | - count | |
8 | + span class='badge' onclick="document.location='#{url_for user.tasks_url}'" title="#{_("Manage your pending tasks")}" | |
9 | + = pending_tasks_count | |
10 | 10 | |
11 | 11 | ul class='dropdown-menu' role='menu' |
12 | 12 | li | ... | ... |
plugins/responsive/views/layouts/application-responsive.html.erb
... | ... | @@ -36,7 +36,7 @@ |
36 | 36 | <%= |
37 | 37 | @plugins.dispatch(:body_beginning).map do |content| |
38 | 38 | if content.respond_to?(:call) then instance_exec(&content).to_s.html_safe else content.to_s.html_safe end |
39 | - end.join("\n") | |
39 | + end.safe_join | |
40 | 40 | %> |
41 | 41 | <div id="global-header"> |
42 | 42 | <%= global_header %> | ... | ... |
plugins/sub_organizations/lib/sub_organizations_plugin.rb
... | ... | @@ -20,7 +20,7 @@ class SubOrganizationsPlugin < Noosfero::Plugin |
20 | 20 | |
21 | 21 | def control_panel_buttons |
22 | 22 | if context.profile.organization? && Organization.parents(context.profile).blank? |
23 | - { :title => _('Manage sub-groups'), :icon => 'groups', :url => {:controller => 'sub_organizations_plugin_myprofile'} } | |
23 | + { title: _('Manage sub-groups'), icon: 'groups', url: {profile: profile.identifier, controller: :sub_organizations_plugin_myprofile} } | |
24 | 24 | end |
25 | 25 | end |
26 | 26 | ... | ... |
plugins/work_assignment/lib/work_assignment_plugin/email_contact.rb
... | ... | @@ -50,13 +50,13 @@ class WorkAssignmentPlugin::EmailContact |
50 | 50 | mail(options) |
51 | 51 | end |
52 | 52 | |
53 | - def build_mail_message(email_contact, uploaded_files) | |
53 | + def self.build_mail_message(email_contact, uploaded_files) | |
54 | 54 | message = "" |
55 | 55 | if uploaded_files && uploaded_files.first && uploaded_files.first.parent && uploaded_files.first.parent.parent |
56 | 56 | article = uploaded_files.first.parent.parent |
57 | 57 | message = article.default_email + "<br>" |
58 | 58 | uploaded_files.each do |file| |
59 | - url = url_for(file.url) | |
59 | + url = Rails.application.routes.url_helpers.url_for(file.url) | |
60 | 60 | message += "<br><a href='#{url}'>#{url}</a>" |
61 | 61 | end |
62 | 62 | end | ... | ... |
plugins/work_assignment/lib/work_assignment_plugin/helper.rb
... | ... | @@ -16,7 +16,7 @@ module WorkAssignmentPlugin::Helper |
16 | 16 | end |
17 | 17 | |
18 | 18 | def display_author_folder(author_folder, user) |
19 | - return if author_folder.children.empty? | |
19 | + return if author_folder.children(true).empty? | |
20 | 20 | content_tag('tr', |
21 | 21 | content_tag('td', link_to_last_submission(author_folder, user)) + |
22 | 22 | content_tag('td', time_format(author_folder.children.last.created_at)) + | ... | ... |
plugins/work_assignment/test/functional/content_viewer_controller_test.rb
... | ... | @@ -35,6 +35,14 @@ class ContentViewerControllerTest < ActionController::TestCase |
35 | 35 | assert_response :success |
36 | 36 | end |
37 | 37 | |
38 | + should 'display users submissions' do | |
39 | + folder = work_assignment.find_or_create_author_folder(@person) | |
40 | + submission = UploadedFile.create!(:uploaded_data => fixture_file_upload('/files/rails.png', 'image/png'), :profile => organization, :parent => folder) | |
41 | + get :view_page, :profile => @organization.identifier, :page => work_assignment.path | |
42 | + assert_response :success | |
43 | + assert_match /rails.png/, @response.body | |
44 | + end | |
45 | + | |
38 | 46 | should "display 'Upload files' when create children of image gallery" do |
39 | 47 | login_as(profile.identifier) |
40 | 48 | f = Gallery.create!(:name => 'gallery', :profile => profile) | ... | ... |
po/es/noosfero-doc.po
... | ... | @@ -7,16 +7,16 @@ msgid "" |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: PACKAGE VERSION\n" |
9 | 9 | "POT-Creation-Date: 2013-12-10 15:48-0300\n" |
10 | -"PO-Revision-Date: 2016-01-06 17:09+0000\n" | |
11 | -"Last-Translator: María Vecino <mariavecino@ecoalternative.net>\n" | |
12 | -"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"documentation/es/>\n" | |
10 | +"PO-Revision-Date: 2016-06-15 12:16+0000\n" | |
11 | +"Last-Translator: Becca Cook <b.cook28@gmail.com>\n" | |
12 | +"Language-Team: Spanish " | |
13 | +"<https://hosted.weblate.org/projects/noosfero/documentation/es/>\n" | |
14 | 14 | "Language: es\n" |
15 | 15 | "MIME-Version: 1.0\n" |
16 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
17 | 17 | "Content-Transfer-Encoding: 8bit\n" |
18 | 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
19 | -"X-Generator: Weblate 2.5-dev\n" | |
19 | +"X-Generator: Weblate 2.7-dev\n" | |
20 | 20 | |
21 | 21 | # type: Content of: <h1> |
22 | 22 | #. type: Content of: <h1> |
... | ... | @@ -343,8 +343,9 @@ msgstr "" |
343 | 343 | # type: Content of: <h1> |
344 | 344 | #. type: Content of: <h1> |
345 | 345 | #: doc/noosfero/plugins/index.en.xhtml:1 |
346 | +#, fuzzy | |
346 | 347 | msgid "Plugins" |
347 | -msgstr "Complementos" | |
348 | +msgstr "Características adicionales" | |
348 | 349 | |
349 | 350 | # type: Content of: <h1> |
350 | 351 | #. type: Content of: <h1> | ... | ... |
po/es/noosfero.po
... | ... | @@ -7,8 +7,8 @@ msgid "" |
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: 1.3~rc2-8-g01ea9f7\n" |
9 | 9 | "POT-Creation-Date: 2015-11-04 12:36-0300\n" |
10 | -"PO-Revision-Date: 2016-05-09 16:09+0000\n" | |
11 | -"Last-Translator: daniel <dtygel@eita.org.br>\n" | |
10 | +"PO-Revision-Date: 2016-06-15 13:24+0000\n" | |
11 | +"Last-Translator: Becca Cook <b.cook28@gmail.com>\n" | |
12 | 12 | "Language-Team: Spanish " |
13 | 13 | "<https://hosted.weblate.org/projects/noosfero/noosfero/es/>\n" |
14 | 14 | "Language: es\n" |
... | ... | @@ -100,40 +100,35 @@ msgid "Community fields not updated successfully." |
100 | 100 | msgstr "El campo comunidad no se actualizo correctamente." |
101 | 101 | |
102 | 102 | #: app/controllers/admin/licenses_controller.rb:14 |
103 | -#, fuzzy | |
104 | 103 | msgid "License created" |
105 | -msgstr "Licencia" | |
104 | +msgstr "Licencia creada" | |
106 | 105 | |
107 | 106 | #: app/controllers/admin/licenses_controller.rb:17 |
108 | -#, fuzzy | |
109 | 107 | msgid "License could not be created" |
110 | -msgstr "%s no pudo ser actualizado" | |
108 | +msgstr "Licencia no pudo ser creada" | |
111 | 109 | |
112 | 110 | #: app/controllers/admin/licenses_controller.rb:27 |
113 | -#, fuzzy | |
114 | 111 | msgid "License updated" |
115 | -msgstr "Última actualización" | |
112 | +msgstr "Licencia actualizada" | |
116 | 113 | |
117 | 114 | #: app/controllers/admin/licenses_controller.rb:30 |
118 | -#, fuzzy | |
119 | 115 | msgid "License could not be updated" |
120 | -msgstr "%s no pudo ser actualizado" | |
116 | +msgstr "Licencia no pudo ser actualizada" | |
121 | 117 | |
122 | 118 | #: app/controllers/admin/licenses_controller.rb:40 |
123 | 119 | #, fuzzy |
124 | 120 | msgid "License removed" |
125 | -msgstr "Artículo eliminado." | |
121 | +msgstr "Licencia eliminada" | |
126 | 122 | |
127 | 123 | #: app/controllers/admin/licenses_controller.rb:42 |
128 | 124 | #: app/controllers/admin/licenses_controller.rb:45 |
129 | -#, fuzzy | |
130 | 125 | msgid "License could not be removed" |
131 | -msgstr "%s no pudo ser actualizado" | |
126 | +msgstr "Licencia no pudo ser eliminada" | |
132 | 127 | |
133 | 128 | #: app/controllers/admin/organizations_controller.rb:7 |
134 | 129 | #, fuzzy |
135 | 130 | msgid "Organization profiles" |
136 | -msgstr "Método de aprobación de la organización" | |
131 | +msgstr "Perfiles de organización" | |
137 | 132 | |
138 | 133 | #: app/controllers/admin/organizations_controller.rb:9 |
139 | 134 | #: app/models/community.rb:8 app/models/community.rb:11 |
... | ... | @@ -158,32 +153,32 @@ msgstr "Todo" |
158 | 153 | #: app/controllers/admin/organizations_controller.rb:33 |
159 | 154 | #, fuzzy |
160 | 155 | msgid "%s enabled" |
161 | -msgstr "%s no estaba habilitado." | |
156 | +msgstr "%s habilitado" | |
162 | 157 | |
163 | 158 | #: app/controllers/admin/organizations_controller.rb:35 |
164 | 159 | #, fuzzy |
165 | 160 | msgid "%s could not be enabled" |
166 | -msgstr "%s no pudo ser actualizado" | |
161 | +msgstr "%s no pudo ser habilitado" | |
167 | 162 | |
168 | 163 | #: app/controllers/admin/organizations_controller.rb:42 |
169 | 164 | #, fuzzy |
170 | 165 | msgid "%s disabled" |
171 | -msgstr "Deshabilitar" | |
166 | +msgstr "%s deshabilitado" | |
172 | 167 | |
173 | 168 | #: app/controllers/admin/organizations_controller.rb:44 |
174 | 169 | #, fuzzy |
175 | 170 | msgid "%s could not be disable" |
176 | -msgstr "%s no pudo ser actualizado" | |
171 | +msgstr "%s no pudo ser deshabilitado" | |
177 | 172 | |
178 | 173 | #: app/controllers/admin/organizations_controller.rb:52 |
179 | 174 | #, fuzzy |
180 | 175 | msgid "%s removed" |
181 | -msgstr "eliminar" | |
176 | +msgstr "&s eliminado" | |
182 | 177 | |
183 | 178 | #: app/controllers/admin/organizations_controller.rb:54 |
184 | 179 | #, fuzzy |
185 | 180 | msgid "%s could not be removed" |
186 | -msgstr "%s no pudo ser actualizado" | |
181 | +msgstr "%s no pudo ser eliminado" | |
187 | 182 | |
188 | 183 | #: app/controllers/admin/plugins_controller.rb:12 |
189 | 184 | msgid "Plugins updated successfully." |
... | ... | @@ -207,64 +202,65 @@ msgstr "No se pudo editar el rol" |
207 | 202 | #: app/controllers/admin/templates_controller.rb:11 |
208 | 203 | #: app/controllers/admin/templates_controller.rb:23 |
209 | 204 | #: app/controllers/admin/templates_controller.rb:35 |
205 | +#, fuzzy | |
210 | 206 | msgid "New template created" |
211 | -msgstr "" | |
207 | +msgstr "Nueva plantilla creada" | |
212 | 208 | |
213 | 209 | #: app/controllers/admin/templates_controller.rb:14 |
214 | 210 | #: app/controllers/admin/templates_controller.rb:26 |
215 | 211 | #: app/controllers/admin/templates_controller.rb:38 |
212 | +#, fuzzy | |
216 | 213 | msgid "Name has already been taken" |
217 | -msgstr "" | |
214 | +msgstr "Este nombre ya ha sido tomado" | |
218 | 215 | |
219 | 216 | #: app/controllers/admin/templates_controller.rb:47 |
220 | 217 | #, fuzzy |
221 | 218 | msgid "Community not found. The template could no be changed." |
222 | -msgstr "El mensaje no pudo ser enviado" | |
219 | +msgstr "Comunidad no encontrado. La plantilla no pudo ser cambiado." | |
223 | 220 | |
224 | 221 | #: app/controllers/admin/templates_controller.rb:51 |
225 | 222 | #: app/controllers/admin/templates_controller.rb:65 |
226 | 223 | #: app/controllers/admin/templates_controller.rb:79 |
224 | +#, fuzzy | |
227 | 225 | msgid "%s defined as default" |
228 | -msgstr "" | |
226 | +msgstr "&s definado como default" | |
229 | 227 | |
230 | 228 | #: app/controllers/admin/templates_controller.rb:61 |
231 | 229 | #, fuzzy |
232 | 230 | msgid "Person not found. The template could no be changed." |
233 | -msgstr "El mensaje no pudo ser enviado" | |
231 | +msgstr "Persona no encontrado. La plantilla no pudo ser cambiado." | |
234 | 232 | |
235 | 233 | #: app/controllers/admin/templates_controller.rb:75 |
236 | 234 | #, fuzzy |
237 | 235 | msgid "Enterprise not found. The template could no be changed." |
238 | -msgstr "El mensaje no pudo ser enviado" | |
236 | +msgstr "Empresa no encontrado. La plantilla no pudo ser cambiado." | |
239 | 237 | |
240 | 238 | #: app/controllers/admin/trusted_sites_controller.rb:14 |
241 | 239 | msgid "New trusted site added." |
242 | -msgstr "" | |
240 | +msgstr "Nueva página de confianza añadida." | |
243 | 241 | |
244 | 242 | #: app/controllers/admin/trusted_sites_controller.rb:17 |
245 | -#, fuzzy | |
246 | 243 | msgid "Failed to add trusted site." |
247 | -msgstr "No se pudo editar el rol" | |
244 | +msgstr "No se pudo añadir la página de confianza." | |
248 | 245 | |
249 | 246 | #: app/controllers/admin/trusted_sites_controller.rb:26 |
250 | -#, fuzzy | |
251 | 247 | msgid "Trusted site was not found" |
252 | -msgstr "La entrada no fue encontrada" | |
248 | +msgstr "La página de confianza no fue encontrada" | |
253 | 249 | |
254 | 250 | #: app/controllers/admin/trusted_sites_controller.rb:37 |
255 | 251 | #, fuzzy |
256 | 252 | msgid "Failed to edit trusted site." |
257 | -msgstr "No se pudo editar el rol" | |
253 | +msgstr "No se pudo editar la página de confianza." | |
258 | 254 | |
259 | 255 | #: app/controllers/admin/trusted_sites_controller.rb:44 |
260 | 256 | #, fuzzy |
261 | 257 | msgid "Trusted site removed" |
262 | -msgstr "Artículo eliminado." | |
258 | +msgstr "Página de confianza eliminada." | |
263 | 259 | |
264 | 260 | #: app/controllers/admin/trusted_sites_controller.rb:46 |
265 | 261 | #, fuzzy |
266 | 262 | msgid "Trusted site could not be removed" |
267 | -msgstr "%s no pudo ser actualizado" | |
263 | +msgstr "No se pudo eliminar la página de confianza" | |
268 | 264 | |
269 | 265 | #: app/controllers/admin/users_controller.rb:53 |
270 | 266 | #: app/controllers/my_profile/profile_editor_controller.rb:84 |
... | ... | @@ -272,9 +268,8 @@ msgid "The profile was deleted." |
272 | 268 | msgstr "El perfil fue eliminado." |
273 | 269 | |
274 | 270 | #: app/controllers/admin/users_controller.rb:55 |
275 | -#, fuzzy | |
276 | 271 | msgid "Could not remove profile" |
277 | -msgstr "El perfil no puede ser eliminado" | |
272 | +msgstr "El perfil no se pudo ser eliminado" | |
278 | 273 | |
279 | 274 | #: app/controllers/admin/users_controller.rb:95 |
280 | 275 | #: app/controllers/public/profile_controller.rb:364 |
... | ... | @@ -287,32 +282,30 @@ msgid "Could not create the e-mail" |
287 | 282 | msgstr "No se ha podido crear el correo electrónico" |
288 | 283 | |
289 | 284 | #: app/controllers/application_controller.rb:41 |
285 | +#, fuzzy | |
290 | 286 | msgid "Origin not in allowed." |
291 | -msgstr "" | |
287 | +msgstr "Origen no permitido" | |
292 | 288 | |
293 | 289 | #: app/controllers/box_organizer_controller.rb:114 |
294 | 290 | msgid "Failed to remove block" |
295 | 291 | msgstr "No se ha podido eliminar el bloque" |
296 | 292 | |
297 | 293 | #: app/controllers/my_profile/cms_controller.rb:197 |
298 | -#, fuzzy | |
299 | 294 | msgid "Homepage reseted." |
300 | -msgstr "Contenido de la página de inicio" | |
295 | +msgstr "Página de inicio reinicializada." | |
301 | 296 | |
302 | 297 | #: app/controllers/my_profile/cms_controller.rb:199 |
303 | -#, fuzzy | |
304 | 298 | msgid "\"%s\" configured as homepage." |
305 | 299 | msgstr "\"%s\" configurado como página de inicio." |
306 | 300 | |
307 | 301 | #: app/controllers/my_profile/cms_controller.rb:231 |
308 | 302 | #, fuzzy |
309 | 303 | msgid "File(s) successfully uploaded" |
310 | -msgstr "Los roles fueron actualizados correctamente" | |
304 | +msgstr "(Los) archivo(s) fueron subidos correctamente" | |
311 | 305 | |
312 | 306 | #: app/controllers/my_profile/cms_controller.rb:247 |
313 | -#, fuzzy | |
314 | 307 | msgid "\"%s\" was removed." |
315 | -msgstr "Contrato eliminado." | |
308 | +msgstr "\"%s\" fue eliminado." | |
316 | 309 | |
317 | 310 | #: app/controllers/my_profile/cms_controller.rb:291 |
318 | 311 | #, fuzzy |
... | ... | @@ -320,9 +313,8 @@ msgid "You published this content successfully" |
320 | 313 | msgstr "Tu solicitud de publicación ha sido enviada satisfactoriamente" |
321 | 314 | |
322 | 315 | #: app/controllers/my_profile/cms_controller.rb:311 |
323 | -#, fuzzy | |
324 | 316 | msgid "Select some group to publish your article" |
325 | -msgstr "Selecciona los grupos donde quieres publicar tu artículo" | |
317 | +msgstr "Selecciona un grupo para publicar tu artículo" | |
326 | 318 | |
327 | 319 | #: app/controllers/my_profile/cms_controller.rb:323 |
328 | 320 | #: app/controllers/my_profile/cms_controller.rb:343 |
... | ... | @@ -330,9 +322,8 @@ msgid "Your publish request was sent successfully" |
330 | 322 | msgstr "Tu solicitud de publicación ha sido enviada satisfactoriamente" |
331 | 323 | |
332 | 324 | #: app/controllers/my_profile/cms_controller.rb:330 |
333 | -#, fuzzy | |
334 | 325 | msgid "Some of your publish requests couldn't be sent." |
335 | -msgstr "Tu solicitud de publicación no pudo ser enviada." | |
326 | +msgstr "Parte de tu solicitud de publicación no pudo ser enviada." | |
336 | 327 | |
337 | 328 | #: app/controllers/my_profile/cms_controller.rb:345 |
338 | 329 | msgid "Your publish request couldn't be sent." |
... | ... | @@ -363,9 +354,8 @@ msgid "Images" |
363 | 354 | msgstr "Imágenes" |
364 | 355 | |
365 | 356 | #: app/controllers/my_profile/cms_controller.rb:504 |
366 | -#, fuzzy | |
367 | 357 | msgid "Files" |
368 | -msgstr "Archivo" | |
358 | +msgstr "Archivos" | |
369 | 359 | |
370 | 360 | #: app/controllers/my_profile/mailconf_controller.rb:23 |
371 | 361 | msgid "" |
... | ... | @@ -426,10 +416,13 @@ msgid "Address was updated successfully!" |
426 | 416 | msgstr "¡La dirección fue actualizada satisfactoriamente!" |
427 | 417 | |
428 | 418 | #: app/controllers/my_profile/memberships_controller.rb:30 |
419 | +#, fuzzy | |
429 | 420 | msgid "" |
430 | 421 | "Your new community creation request will be evaluated by an administrator. " |
431 | 422 | "You will be notified." |
432 | 423 | msgstr "" |
424 | +"Tu nuevo solicitud de creación de comunidad será evaluado por un " | |
425 | +"administrador. Se le notificará." | |
433 | 426 | |
434 | 427 | # habilitado o permitido? estaba o está? |
435 | 428 | #: app/controllers/my_profile/profile_editor_controller.rb:44 |
... | ... | @@ -448,37 +441,35 @@ msgstr "El perfil no puede ser eliminado" |
448 | 441 | #: app/controllers/my_profile/profile_editor_controller.rb:103 |
449 | 442 | #, fuzzy |
450 | 443 | msgid "Welcome page saved successfully." |
451 | -msgstr "e-Mail fue deshabilitado correctamente." | |
444 | +msgstr "Página de bienvendia fue guardada correctamente." | |
452 | 445 | |
453 | 446 | #: app/controllers/my_profile/profile_editor_controller.rb:106 |
454 | 447 | #, fuzzy |
455 | 448 | msgid "Welcome page could not be saved." |
456 | -msgstr "El mensaje no pudo ser enviado" | |
449 | +msgstr "La página de bienvenida no pudo ser guardada." | |
457 | 450 | |
458 | 451 | #: app/controllers/my_profile/profile_editor_controller.rb:116 |
459 | -#, fuzzy | |
460 | 452 | msgid "The profile '%s' was deactivated." |
461 | -msgstr "El perfil fue eliminado." | |
453 | +msgstr "El perfil '%s' fue desactivado." | |
462 | 454 | |
463 | 455 | #: app/controllers/my_profile/profile_editor_controller.rb:118 |
464 | 456 | #, fuzzy |
465 | 457 | msgid "Could not deactivate profile." |
466 | -msgstr "El perfil no puede ser eliminado" | |
458 | +msgstr "No pudo desactivar el perfil." | |
467 | 459 | |
468 | 460 | #: app/controllers/my_profile/profile_editor_controller.rb:130 |
469 | -#, fuzzy | |
470 | 461 | msgid "The profile '%s' was activated." |
471 | -msgstr "El perfil fue eliminado." | |
462 | +msgstr "El perfil '%s' fue activado." | |
472 | 463 | |
473 | 464 | #: app/controllers/my_profile/profile_editor_controller.rb:132 |
474 | 465 | #, fuzzy |
475 | 466 | msgid "Could not activate the profile." |
476 | -msgstr "El perfil no puede ser eliminado" | |
467 | +msgstr "No pudo activar el perfil." | |
477 | 468 | |
478 | 469 | #: app/controllers/my_profile/profile_editor_controller.rb:171 |
479 | 470 | #, fuzzy |
480 | 471 | msgid "You can not destroy the profile." |
481 | -msgstr "El perfil no puede ser eliminado" | |
472 | +msgstr "No puedes eliminar el perfil." | |
482 | 473 | |
483 | 474 | # desasociar o desvincular? |
484 | 475 | #: app/controllers/my_profile/profile_members_controller.rb:79 |
... | ... | @@ -503,26 +494,25 @@ msgstr "La lista de miembros fue actualizada." |
503 | 494 | #: app/controllers/my_profile/profile_roles_controller.rb:52 |
504 | 495 | #, fuzzy |
505 | 496 | msgid "Role successfuly removed!" |
506 | -msgstr "El producto se ha eliminado correctamente" | |
497 | +msgstr "¡Se ha eliminado el rol correctamente!" | |
507 | 498 | |
508 | 499 | #: app/controllers/my_profile/profile_roles_controller.rb:54 |
509 | -#, fuzzy | |
510 | 500 | msgid "Failed to remove role!" |
511 | -msgstr "No se ha podido crear el rol" | |
501 | +msgstr "¡No se ha podido eliminar el rol!" | |
512 | 502 | |
513 | 503 | #: app/controllers/my_profile/profile_roles_controller.rb:85 |
514 | 504 | msgid "Error" |
515 | -msgstr "" | |
505 | +msgstr "Error" | |
516 | 506 | |
517 | 507 | #: app/controllers/my_profile/tasks_controller.rb:31 |
518 | 508 | #, fuzzy |
519 | 509 | msgid "Task already assigned!" |
520 | -msgstr "El lenguaje ya está en uso" | |
510 | +msgstr "¡La tarea ya está asignada!" | |
521 | 511 | |
522 | 512 | #: app/controllers/my_profile/tasks_controller.rb:37 |
523 | 513 | #, fuzzy |
524 | 514 | msgid "Task responsible successfully updated!" |
525 | -msgstr "Los roles fueron actualizados correctamente" | |
515 | +msgstr "¡Tarea responsable fue actualizada correctamente!" | |
526 | 516 | |
527 | 517 | #: app/controllers/my_profile/tasks_controller.rb:63 |
528 | 518 | msgid "All decisions were applied successfully." |
... | ... | @@ -543,9 +533,7 @@ msgstr "Tu cuenta ha sido activada, ¡ahora puedes iniciar sesión!" |
543 | 533 | #: app/controllers/public/account_controller.rb:28 |
544 | 534 | #, fuzzy |
545 | 535 | msgid "Thanks for registering. The administrators were notified." |
546 | -msgstr "" | |
547 | -"Gracias por tu sugerencia. Los administradores de la comunidad fueron " | |
548 | -"notificados." | |
536 | +msgstr "Gracias por inscribirse. Los administradores fueron notificados." | |
549 | 537 | |
550 | 538 | #: app/controllers/public/account_controller.rb:36 |
551 | 539 | msgid "" |
... | ... | @@ -563,17 +551,17 @@ msgid "Incorrect username or password" |
563 | 551 | msgstr "Nombre de usuario o contraseña incorrecta" |
564 | 552 | |
565 | 553 | #: app/controllers/public/account_controller.rb:90 |
554 | +#, fuzzy | |
566 | 555 | msgid "This environment doesn't allow user registration." |
567 | -msgstr "" | |
556 | +msgstr "Esta comunidad no permite inscripciones usuarios." | |
568 | 557 | |
569 | 558 | #: app/controllers/public/account_controller.rb:114 |
570 | 559 | msgid "Captcha (the human test)" |
571 | -msgstr "" | |
560 | +msgstr "Captcha (la prueba de humanas)" | |
572 | 561 | |
573 | 562 | #: app/controllers/public/account_controller.rb:139 |
574 | -#, fuzzy | |
575 | 563 | msgid "Thanks for registering!" |
576 | -msgstr "¡Gracias por ingresar!" | |
564 | +msgstr "¡Gracias por inscribirte!" | |
577 | 565 | |
578 | 566 | #: app/controllers/public/account_controller.rb:158 |
579 | 567 | msgid "You have been logged out." |
... | ... | @@ -585,19 +573,21 @@ msgstr "¡Tu contraseña fue modificada correctamente!" |
585 | 573 | |
586 | 574 | #: app/controllers/public/account_controller.rb:182 |
587 | 575 | msgid "This environment doesn't allow password recovery." |
588 | -msgstr "" | |
576 | +msgstr "Esta comunidad no permite la recuperación de contraseñas." | |
589 | 577 | |
590 | 578 | #: app/controllers/public/account_controller.rb:198 |
579 | +#, fuzzy | |
591 | 580 | msgid "Can not recover user password with blank value." |
592 | -msgstr "" | |
581 | +msgstr "No se puede recuperar la contraseña del usuario con valor en blanco." | |
593 | 582 | |
594 | 583 | #: app/controllers/public/account_controller.rb:200 |
584 | +#, fuzzy | |
595 | 585 | msgid "Could not find any user with %s equal to \"%s\"." |
596 | -msgstr "" | |
586 | +msgstr "No se pudo encontrar ningún usuario con %s que sean iguales a \"%s\"." | |
597 | 587 | |
598 | 588 | #: app/controllers/public/account_controller.rb:203 |
599 | 589 | msgid "Could not perform password recovery for the user." |
600 | -msgstr "" | |
590 | +msgstr "No se pudo realizar la recuperación de la contraseña para el usuario." | |
601 | 591 | |
602 | 592 | #: app/controllers/public/account_controller.rb:286 |
603 | 593 | #: app/views/account/_signup_form.html.erb:193 |
... | ... | @@ -611,7 +601,7 @@ msgstr "Este nombre de usuario no está disponible" |
611 | 601 | #: app/controllers/public/account_controller.rb:294 |
612 | 602 | #, fuzzy |
613 | 603 | msgid "This field can't be blank" |
614 | -msgstr "Este archivo no puede ser guardado" | |
604 | +msgstr "Este no puede ser vacío" | |
615 | 605 | |
616 | 606 | #: app/controllers/public/account_controller.rb:301 |
617 | 607 | msgid "This e-mail address is available" |
... | ... | @@ -623,41 +613,35 @@ msgstr "Esta dirección de correo electrónico está en uso" |
623 | 613 | |
624 | 614 | # contexto de parent |
625 | 615 | #: app/controllers/public/comment_controller.rb:18 |
626 | -#, fuzzy | |
627 | 616 | msgid "Page not found." |
628 | -msgstr "Carpeta padre" | |
617 | +msgstr "Página no encontrada." | |
629 | 618 | |
630 | 619 | #: app/controllers/public/comment_controller.rb:27 |
631 | 620 | #, fuzzy |
632 | 621 | msgid "Comment not allowed in this article" |
633 | -msgstr "No tienes permitido ver esta página." | |
622 | +msgstr "No se permite los comentarios en este artículo" | |
634 | 623 | |
635 | 624 | #: app/controllers/public/comment_controller.rb:44 |
636 | -#, fuzzy | |
637 | 625 | msgid "Comment was rejected" |
638 | -msgstr "Contador de comentarios" | |
626 | +msgstr "El comentario fue rechazado" | |
639 | 627 | |
640 | 628 | #: app/controllers/public/comment_controller.rb:68 |
641 | -#, fuzzy | |
642 | 629 | msgid "Your comment is waiting for approval." |
643 | -msgstr "Asociaciones de espera de aprobación:" | |
630 | +msgstr "Tu comentario está en espera de aprobación." | |
644 | 631 | |
645 | 632 | #: app/controllers/public/comment_controller.rb:84 |
646 | -#, fuzzy | |
647 | 633 | msgid "Comment successfully created." |
648 | -msgstr "Comentario añadido correctamente." | |
634 | +msgstr "Comentario creado correctamente." | |
649 | 635 | |
650 | 636 | # borrado, exterminado, destruido? |
651 | 637 | #: app/controllers/public/comment_controller.rb:96 |
652 | -#, fuzzy | |
653 | 638 | msgid "The comment was not removed." |
654 | -msgstr "El artículo fue eliminado." | |
639 | +msgstr "El comentario no fue eliminado." | |
655 | 640 | |
656 | 641 | #: app/controllers/public/comment_controller.rb:107 |
657 | 642 | #, fuzzy |
658 | 643 | msgid "You couldn't mark this comment as spam." |
659 | -msgstr "" | |
660 | -"¿Estás seguro de que quieres eliminar este comentario y todas sus respuestas?" | |
644 | +msgstr "No pudiste marcar este comentario como spam." | |
661 | 645 | |
662 | 646 | #: app/controllers/public/contact_controller.rb:12 |
663 | 647 | msgid "Contact successfully sent" |
... | ... | @@ -670,7 +654,7 @@ msgstr "Contacto no enviado" |
670 | 654 | #: app/controllers/public/content_viewer_controller.rb:266 |
671 | 655 | #, fuzzy |
672 | 656 | msgid "Notification of new comments to '%s' was successfully canceled" |
673 | -msgstr "Notificación eliminada correctamente." | |
657 | +msgstr "Notificación de nuevos comentarios a '%s' fue eliminada correctamente" | |
674 | 658 | |
675 | 659 | #: app/controllers/public/invite_controller.rb:33 |
676 | 660 | #: app/controllers/public/invite_controller.rb:69 |
... | ... | @@ -682,9 +666,8 @@ msgid "Please enter a valid email address." |
682 | 666 | msgstr "Por favor, introduzca una dirección de correo electrónico válida." |
683 | 667 | |
684 | 668 | #: app/controllers/public/invite_controller.rb:77 |
685 | -#, fuzzy | |
686 | 669 | msgid "Please enter a valid profile." |
687 | -msgstr "Por favor, introduzca una dirección de correo electrónico válida." | |
670 | +msgstr "Por favor, introduzca un perfil válido." | |
688 | 671 | |
689 | 672 | #: app/controllers/public/profile_controller.rb:44 |
690 | 673 | #: app/controllers/public/profile_controller.rb:45 |
... | ... | @@ -863,8 +846,8 @@ msgstr "se ha unido a la comunidad." |
863 | 846 | #, fuzzy |
864 | 847 | msgid "uploaded 1 image" |
865 | 848 | msgid_plural "uploaded %d images" |
866 | -msgstr[0] "archivo cargado" | |
867 | -msgstr[1] "archivo cargado" | |
849 | +msgstr[0] "1 imagen subido" | |
850 | +msgstr[1] "%d imagenes subidos" | |
868 | 851 | |
869 | 852 | #: app/helpers/action_tracker_helper.rb:55 |
870 | 853 | msgid "sent a message to %{receiver}: <br /> \"%{message}\"" |
... | ... | @@ -875,24 +858,21 @@ msgid "wrote: <br /> \"%{text}\"" |
875 | 858 | msgstr "escribió: <br /> \"%{text}\"" |
876 | 859 | |
877 | 860 | #: app/helpers/action_tracker_helper.rb:71 |
878 | -#, fuzzy | |
879 | 861 | msgid "created the product %{title}" |
880 | -msgstr "Crear producto" | |
862 | +msgstr "creó el producto %{título}" | |
881 | 863 | |
882 | 864 | #: app/helpers/action_tracker_helper.rb:77 |
883 | -#, fuzzy | |
884 | 865 | msgid "updated the product %{title}" |
885 | -msgstr "Regresar a la lista de productos" | |
866 | +msgstr "ha actualizado el producto %{título}" | |
886 | 867 | |
887 | 868 | #: app/helpers/action_tracker_helper.rb:83 |
888 | -#, fuzzy | |
889 | 869 | msgid "removed the product %{title}" |
890 | -msgstr "No se ha podido eliminar el producto" | |
870 | +msgstr "ha eliminado el producto %{título}" | |
891 | 871 | |
892 | 872 | #: app/helpers/action_tracker_helper.rb:89 |
893 | 873 | #, fuzzy |
894 | 874 | msgid "favorited enterprise %{title}" |
895 | -msgstr "Empresas favoritas de %s" | |
875 | +msgstr "le gusta la empresa %{título}" | |
896 | 876 | |
897 | 877 | #: app/helpers/application_helper.rb:91 app/helpers/boxes_helper.rb:244 |
898 | 878 | #: app/models/link_list_block.rb:25 |
... | ... | @@ -1058,8 +1038,9 @@ msgid "Article" |
1058 | 1038 | msgstr "Artículo" |
1059 | 1039 | |
1060 | 1040 | #: app/helpers/application_helper.rb:944 |
1041 | +#, fuzzy | |
1061 | 1042 | msgid "Clone %s" |
1062 | -msgstr "" | |
1043 | +msgstr "Clónico %s" | |
1063 | 1044 | |
1064 | 1045 | #: app/helpers/application_helper.rb:958 |
1065 | 1046 | msgid "Online Manual" |
... | ... | @@ -1245,34 +1226,34 @@ msgid "Report this profile for abusive behaviour" |
1245 | 1226 | msgstr "Reportar este perfil por comportamiento abusivo" |
1246 | 1227 | |
1247 | 1228 | #: app/helpers/application_helper.rb:1307 |
1248 | -#, fuzzy | |
1249 | 1229 | msgid "" |
1250 | 1230 | "Are you sure that you want to remove the folder \"%s\"? Note that all the " |
1251 | 1231 | "items inside it will also be removed!" |
1252 | 1232 | msgstr "" |
1253 | -"¿Estás seguro que quieres eliminar esta carpeta? ¡Ten en cuenta que todos " | |
1254 | -"los elementos dentro serán también borrados!" | |
1233 | +"¿Estás seguro que quieres eliminar la carpeta \"%s\"? ¡Ten en cuenta que " | |
1234 | +"todos los elementos dentro también serán borrados!" | |
1255 | 1235 | |
1256 | 1236 | #: app/helpers/application_helper.rb:1309 |
1257 | -#, fuzzy | |
1258 | 1237 | msgid "Are you sure that you want to remove the item \"%s\"?" |
1259 | -msgstr "¿Estás seguro que quieres eliminar estos elementos?" | |
1238 | +msgstr "¿Estás seguro que quieres eliminar el elemento \"%s\"?" | |
1260 | 1239 | |
1261 | 1240 | #: app/helpers/application_helper.rb:1352 |
1262 | 1241 | #, fuzzy |
1263 | 1242 | msgid "Profile organization" |
1264 | -msgstr "Una organización" | |
1243 | +msgstr "Organización de perfiles" | |
1265 | 1244 | |
1266 | 1245 | #: app/helpers/application_helper.rb:1353 |
1246 | +#, fuzzy | |
1267 | 1247 | msgid "" |
1268 | 1248 | "Your profile will be created according to the selected template. Click on " |
1269 | 1249 | "the options to view them." |
1270 | 1250 | msgstr "" |
1251 | +"Tu perfil será creado según la plantilla seleccionada. Haz clic en las " | |
1252 | +"opciones para verlas." | |
1271 | 1253 | |
1272 | 1254 | #: app/helpers/application_helper.rb:1388 |
1273 | -#, fuzzy | |
1274 | 1255 | msgid "Errors while saving" |
1275 | -msgstr "Mensaje de error" | |
1256 | +msgstr "Errores al guardar" | |
1276 | 1257 | |
1277 | 1258 | #: app/helpers/application_helper.rb:1398 |
1278 | 1259 | msgid "The content here is available to %s's friends only." |
... | ... | @@ -1282,29 +1263,27 @@ msgstr "Este contenido está disponible solamente para amigos de %s." |
1282 | 1263 | #, fuzzy |
1283 | 1264 | msgid "The contents in this profile is available to members only." |
1284 | 1265 | msgstr "" |
1285 | -"El contenido en esta comunidad está disponible solamente para sus miembros." | |
1266 | +"El contenido en este perfil está disponible solamente para sus miembros." | |
1286 | 1267 | |
1287 | 1268 | #: app/helpers/application_helper.rb:1471 |
1288 | -#, fuzzy | |
1289 | 1269 | msgid "See all connections" |
1290 | -msgstr "Buscar todo el contenido" | |
1270 | +msgstr "Ver todas las conexiones" | |
1291 | 1271 | |
1292 | 1272 | #: app/helpers/application_helper.rb:1494 |
1293 | -#, fuzzy | |
1294 | 1273 | msgid "Full screen" |
1295 | -msgstr "Publicación completa" | |
1274 | +msgstr "Pantalla completa" | |
1296 | 1275 | |
1297 | 1276 | #: app/helpers/application_helper.rb:1499 |
1298 | 1277 | msgid "Go to full screen mode" |
1299 | -msgstr "" | |
1278 | +msgstr "Ir al modo de pantalla completa" | |
1300 | 1279 | |
1301 | 1280 | #: app/helpers/application_helper.rb:1502 |
1302 | 1281 | msgid "Exit full screen" |
1303 | -msgstr "" | |
1282 | +msgstr "Salir de pantalla completa" | |
1304 | 1283 | |
1305 | 1284 | #: app/helpers/application_helper.rb:1508 |
1306 | 1285 | msgid "Exit full screen mode" |
1307 | -msgstr "" | |
1286 | +msgstr "Salir de pantalla completa" | |
1308 | 1287 | |
1309 | 1288 | #: app/helpers/article_helper.rb:16 |
1310 | 1289 | msgid "Options" |
... | ... | @@ -1330,26 +1309,24 @@ msgstr "" |
1330 | 1309 | #: app/helpers/article_helper.rb:42 |
1331 | 1310 | #, fuzzy |
1332 | 1311 | msgid "I want to approve comments on this article" |
1333 | -msgstr "Deseo recibir comentarios sobre este artículo" | |
1312 | +msgstr "Deseo aprobar comentarios de este artículo" | |
1334 | 1313 | |
1335 | 1314 | #: app/helpers/article_helper.rb:49 |
1336 | 1315 | msgid "I want this article to display the number of hits it received" |
1337 | 1316 | msgstr "Quiero que este artículo muestre el número de visitas que recibió" |
1338 | 1317 | |
1339 | 1318 | #: app/helpers/article_helper.rb:56 |
1340 | -#, fuzzy | |
1341 | 1319 | msgid "I want this article to display a link to older versions" |
1342 | -msgstr "Quiero que este artículo muestre el número de visitas que recibió" | |
1320 | +msgstr "Quiero que este artículo muestre un enlace a versiones antiguas" | |
1343 | 1321 | |
1344 | 1322 | #: app/helpers/article_helper.rb:62 |
1345 | -#, fuzzy | |
1346 | 1323 | msgid "Visibility" |
1347 | -msgstr "Visible" | |
1324 | +msgstr "Visibilidad" | |
1348 | 1325 | |
1349 | 1326 | #: app/helpers/article_helper.rb:66 |
1350 | 1327 | #, fuzzy |
1351 | 1328 | msgid "Public (visible to other people)" |
1352 | -msgstr "Este artículo debe ser público (visible a otras personas)" | |
1329 | +msgstr "Público (visible a otras personas)" | |
1353 | 1330 | |
1354 | 1331 | #: app/helpers/article_helper.rb:70 |
1355 | 1332 | msgid "Private" |
... | ... | @@ -1358,30 +1335,31 @@ msgstr "Privado" |
1358 | 1335 | #: app/helpers/article_helper.rb:85 |
1359 | 1336 | #, fuzzy |
1360 | 1337 | msgid "Topic creation" |
1361 | -msgstr "Ubicación:" | |
1338 | +msgstr "Creación de tema" | |
1362 | 1339 | |
1363 | 1340 | #: app/helpers/article_helper.rb:86 |
1364 | 1341 | msgid "Who will be able to create new topics on this forum?" |
1365 | -msgstr "" | |
1342 | +msgstr "¿Quién podrá crear nuevos temas en este foro?" | |
1366 | 1343 | |
1367 | 1344 | #: app/helpers/article_helper.rb:108 |
1368 | -#, fuzzy | |
1369 | 1345 | msgid "For all community members" |
1370 | -msgstr "Editar plantilla de comunidad" | |
1346 | +msgstr "Para todos los miembros de la comunidad" | |
1371 | 1347 | |
1372 | 1348 | #: app/helpers/article_helper.rb:108 |
1373 | -#, fuzzy | |
1374 | 1349 | msgid "For all your friends" |
1375 | -msgstr "Invita a tus amigos" | |
1350 | +msgstr "Para todos tus amigos" | |
1376 | 1351 | |
1377 | 1352 | #: app/helpers/article_helper.rb:126 |
1353 | +#, fuzzy | |
1378 | 1354 | msgid "Fill in the search field to add the exception users to see this content" |
1379 | 1355 | msgstr "" |
1356 | +"Rellene el campo de búsqueda para añadir la excepción ususarios para ver " | |
1357 | +"este contenido" | |
1380 | 1358 | |
1381 | 1359 | #: app/helpers/article_helper.rb:135 app/views/features/index.html.erb:48 |
1382 | 1360 | #, fuzzy |
1383 | 1361 | msgid "Type in a search term for a user" |
1384 | -msgstr "Escribe un término de búsqueda para los usuarios" | |
1362 | +msgstr "Escribe un término de búsqueda para un usuario" | |
1385 | 1363 | |
1386 | 1364 | #: app/helpers/article_helper.rb:151 app/helpers/folder_helper.rb:70 |
1387 | 1365 | #: app/models/approve_article.rb:74 app/views/shared/user_menu.html.erb:23 |
... | ... | @@ -1413,11 +1391,12 @@ msgstr "Artículos" |
1413 | 1391 | |
1414 | 1392 | #: app/helpers/blog_helper.rb:10 |
1415 | 1393 | msgid "Visualization of posts" |
1416 | -msgstr "" | |
1394 | +msgstr "Visualización de publicaciones" | |
1417 | 1395 | |
1418 | 1396 | #: app/helpers/blog_helper.rb:14 |
1397 | +#, fuzzy | |
1419 | 1398 | msgid "I want to display the preview of posts before the text" |
1420 | -msgstr "" | |
1399 | +msgstr "Deseo mostrar la vista anticipada de publicaciones antes del texto" | |
1421 | 1400 | |
1422 | 1401 | # sigue la duda sobre como traducir "post" |
1423 | 1402 | #: app/helpers/blog_helper.rb:19 |
... | ... | @@ -1467,26 +1446,32 @@ msgid "Are you sure you want to remove this block?" |
1467 | 1446 | msgstr "¿Estás seguro de que deseas eliminar este bloque?" |
1468 | 1447 | |
1469 | 1448 | #: app/helpers/boxes_helper.rb:240 |
1449 | +#, fuzzy | |
1470 | 1450 | msgid "Clone" |
1471 | -msgstr "" | |
1451 | +msgstr "Clónico" | |
1472 | 1452 | |
1473 | 1453 | #: app/helpers/boxes_helper.rb:244 |
1474 | 1454 | msgid "Help on this block" |
1475 | 1455 | msgstr "Ayuda sobre este bloque" |
1476 | 1456 | |
1477 | 1457 | #: app/helpers/boxes_helper.rb:251 |
1458 | +#, fuzzy | |
1478 | 1459 | msgid "Embed block code" |
1479 | -msgstr "" | |
1460 | +msgstr "Incrustar código de bloque" | |
1480 | 1461 | |
1481 | 1462 | #: app/helpers/boxes_helper.rb:252 |
1463 | +#, fuzzy | |
1482 | 1464 | msgid "" |
1483 | 1465 | "Below, youll see a field containing embed code for the block. Just copy the " |
1484 | 1466 | "code and paste it into your website or blogging software." |
1485 | 1467 | msgstr "" |
1468 | +"Abajo, verás un campo con el código para el bloque. Simplemente copia el " | |
1469 | +"código y pegalo en tu página web o software de blogs." | |
1486 | 1470 | |
1487 | 1471 | #: app/helpers/boxes_helper.rb:255 |
1472 | +#, fuzzy | |
1488 | 1473 | msgid "Embed code" |
1489 | -msgstr "" | |
1474 | +msgstr "Incrustar código" | |
1490 | 1475 | |
1491 | 1476 | #: app/helpers/catalog_helper.rb:18 |
1492 | 1477 | msgid "Start" |
... | ... | @@ -1583,20 +1568,19 @@ msgstr ", por %s" |
1583 | 1568 | #: app/helpers/comment_helper.rb:60 |
1584 | 1569 | #: app/views/content_viewer/_comment.html.erb:58 |
1585 | 1570 | #: app/views/spam/_task.html.erb:11 |
1571 | +#, fuzzy | |
1586 | 1572 | msgid "Mark as NOT SPAM" |
1587 | -msgstr "" | |
1573 | +msgstr "Marcar como NO ES SPAM" | |
1588 | 1574 | |
1589 | 1575 | #: app/helpers/comment_helper.rb:62 |
1590 | 1576 | #: app/views/content_viewer/_comment.html.erb:62 |
1591 | 1577 | msgid "Mark as SPAM" |
1592 | -msgstr "" | |
1578 | +msgstr "Marcar como SPAM" | |
1593 | 1579 | |
1594 | 1580 | #: app/helpers/comment_helper.rb:62 |
1595 | 1581 | #: app/views/content_viewer/_comment.html.erb:62 |
1596 | -#, fuzzy | |
1597 | 1582 | msgid "Are you sure you want to mark this comment as SPAM?" |
1598 | -msgstr "" | |
1599 | -"¿Estás seguro de que quieres eliminar este comentario y todas sus respuestas?" | |
1583 | +msgstr "¿Estás seguro de que quieres marcar este comentario como SPAM?" | |
1600 | 1584 | |
1601 | 1585 | #: app/helpers/comment_helper.rb:75 |
1602 | 1586 | #: app/views/content_viewer/_comment.html.erb:73 |
... | ... | @@ -1613,11 +1597,10 @@ msgstr "%s comentarios" |
1613 | 1597 | #: app/helpers/content_viewer_helper.rb:9 |
1614 | 1598 | #, fuzzy |
1615 | 1599 | msgid "no comments yet" |
1616 | -msgstr "Sin comentarios aun" | |
1600 | +msgstr "Sin comentarios aún" | |
1617 | 1601 | |
1618 | 1602 | #: app/helpers/content_viewer_helper.rb:9 |
1619 | 1603 | #: app/views/content_viewer/view_page.html.erb:12 |
1620 | -#, fuzzy | |
1621 | 1604 | msgid "One comment" |
1622 | 1605 | msgstr "Un comentario" |
1623 | 1606 | |
... | ... | @@ -1640,41 +1623,37 @@ msgstr "%{day} de %{month_name} de %{year}" |
1640 | 1623 | |
1641 | 1624 | # LAs cadenas de este tipo NO se traducen |
1642 | 1625 | #: app/helpers/dates_helper.rb:26 |
1643 | -#, fuzzy | |
1644 | 1626 | msgid "%{month_name} %{day}" |
1645 | -msgstr "%{month} %{year}" | |
1627 | +msgstr "%{nombre_del_mes} %{día}" | |
1646 | 1628 | |
1647 | 1629 | # LAs cadenas de este tipo NO se traducen |
1648 | 1630 | #: app/helpers/dates_helper.rb:35 |
1649 | -#, fuzzy | |
1650 | 1631 | msgid "%{month}/%{year}" |
1651 | -msgstr "%{month} %{year}" | |
1632 | +msgstr "%{mes}/%{año}" | |
1652 | 1633 | |
1653 | 1634 | # LAs cadenas de este tipo NO se traducen |
1654 | 1635 | #: app/helpers/dates_helper.rb:38 |
1655 | -#, fuzzy | |
1656 | 1636 | msgid "%{month_name}" |
1657 | -msgstr "%{month} %{year}" | |
1637 | +msgstr "%{nombre_del_mes}" | |
1658 | 1638 | |
1659 | 1639 | #: app/helpers/dates_helper.rb:38 |
1660 | -#, fuzzy | |
1661 | 1640 | msgid "%{month_name}, %{year}" |
1662 | -msgstr "%{day} de %{month} %{year}" | |
1641 | +msgstr "%{nombre_del_mes}, %{año}" | |
1663 | 1642 | |
1664 | 1643 | #: app/helpers/dates_helper.rb:48 |
1665 | 1644 | #, fuzzy |
1666 | 1645 | msgid "%{month}/%{day}/%{year}, %{hour}:%{minutes}" |
1667 | -msgstr "%{day} de %{month} de %{year}, %{hour}:%{minutes}" | |
1646 | +msgstr "%{día} de %{mes} de %{año}, %{hora}:%{minutos}" | |
1668 | 1647 | |
1669 | 1648 | #: app/helpers/dates_helper.rb:52 |
1670 | 1649 | #, fuzzy |
1671 | 1650 | msgid "%{month_name} %{day}, %{year} %{hour}:%{minutes}" |
1672 | -msgstr "%{day} de %{month} de %{year}, %{hour}:%{minutes}" | |
1651 | +msgstr "%{día} de %{mes} de %{año}, %{hora}:%{minutos}" | |
1673 | 1652 | |
1674 | 1653 | #: app/helpers/dates_helper.rb:52 |
1675 | 1654 | #, fuzzy |
1676 | 1655 | msgid "%{month_name} %{day} %{hour}:%{minutes}" |
1677 | -msgstr "%{day} de %{month} de %{year}, %{hour}:%{minutes}" | |
1656 | +msgstr "%{día} de %{mes} de %{año}, %{hora}:%{minutos}" | |
1678 | 1657 | |
1679 | 1658 | #: app/helpers/dates_helper.rb:65 |
1680 | 1659 | msgid "from %{month} %{day1} to %{day2}, %{year}" |
... | ... | @@ -1717,9 +1696,8 @@ msgid "Sun" |
1717 | 1696 | msgstr "Dom" |
1718 | 1697 | |
1719 | 1698 | #: app/helpers/dates_helper.rb:106 |
1720 | -#, fuzzy | |
1721 | 1699 | msgid "%{month}" |
1722 | -msgstr "%{day} de %{month} %{year}" | |
1700 | +msgstr "%{mes}" | |
1723 | 1701 | |
1724 | 1702 | # LAs cadenas de este tipo NO se traducen |
1725 | 1703 | #: app/helpers/dates_helper.rb:108 |
... | ... | @@ -1783,18 +1761,16 @@ msgid "Events for %s" |
1783 | 1761 | msgstr "Eventos para %s" |
1784 | 1762 | |
1785 | 1763 | #: app/helpers/events_helper.rb:10 |
1786 | -#, fuzzy | |
1787 | 1764 | msgid "No events for this month" |
1788 | -msgstr "No hay eventos para esta fecha" | |
1765 | +msgstr "No hay eventos para este mes" | |
1789 | 1766 | |
1790 | 1767 | #: app/helpers/events_helper.rb:19 |
1791 | 1768 | msgid " to " |
1792 | 1769 | msgstr " a " |
1793 | 1770 | |
1794 | 1771 | #: app/helpers/events_helper.rb:21 |
1795 | -#, fuzzy | |
1796 | 1772 | msgid "Place: " |
1797 | -msgstr "Precio: " | |
1773 | +msgstr "Lugar: " | |
1798 | 1774 | |
1799 | 1775 | #: app/helpers/features_helper.rb:4 |
1800 | 1776 | msgid "Administrator must approve all new organizations" |
... | ... | @@ -1890,11 +1866,11 @@ msgstr "" |
1890 | 1866 | |
1891 | 1867 | #: app/helpers/forms_helper.rb:151 |
1892 | 1868 | msgid "Done" |
1893 | -msgstr "" | |
1869 | +msgstr "Hecho" | |
1894 | 1870 | |
1895 | 1871 | #: app/helpers/forms_helper.rb:153 |
1896 | 1872 | msgid "Today" |
1897 | -msgstr "" | |
1873 | +msgstr "Hoy" | |
1898 | 1874 | |
1899 | 1875 | #: app/helpers/forms_helper.rb:155 |
1900 | 1876 | msgid "Wednesday" |
... | ... | @@ -1925,37 +1901,30 @@ msgid "Saturday" |
1925 | 1901 | msgstr "Sábado" |
1926 | 1902 | |
1927 | 1903 | #: app/helpers/forms_helper.rb:156 |
1928 | -#, fuzzy | |
1929 | 1904 | msgid "We" |
1930 | 1905 | msgstr "Mié" |
1931 | 1906 | |
1932 | 1907 | #: app/helpers/forms_helper.rb:156 |
1933 | -#, fuzzy | |
1934 | 1908 | msgid "Th" |
1935 | 1909 | msgstr "Jue" |
1936 | 1910 | |
1937 | 1911 | #: app/helpers/forms_helper.rb:156 |
1938 | -#, fuzzy | |
1939 | 1912 | msgid "Fr" |
1940 | 1913 | msgstr "Vie" |
1941 | 1914 | |
1942 | 1915 | #: app/helpers/forms_helper.rb:156 |
1943 | -#, fuzzy | |
1944 | 1916 | msgid "Sa" |
1945 | 1917 | msgstr "Sáb" |
1946 | 1918 | |
1947 | 1919 | #: app/helpers/forms_helper.rb:156 |
1948 | -#, fuzzy | |
1949 | 1920 | msgid "Tu" |
1950 | 1921 | msgstr "Mar" |
1951 | 1922 | |
1952 | 1923 | #: app/helpers/forms_helper.rb:156 |
1953 | -#, fuzzy | |
1954 | 1924 | msgid "Mo" |
1955 | 1925 | msgstr "Lun" |
1956 | 1926 | |
1957 | 1927 | #: app/helpers/forms_helper.rb:156 |
1958 | -#, fuzzy | |
1959 | 1928 | msgid "Su" |
1960 | 1929 | msgstr "Dom" |
1961 | 1930 | |
... | ... | @@ -2009,66 +1978,56 @@ msgstr "Noviembre" |
2009 | 1978 | |
2010 | 1979 | #: app/helpers/forms_helper.rb:167 |
2011 | 1980 | msgid "Dec" |
2012 | -msgstr "" | |
1981 | +msgstr "Dic" | |
2013 | 1982 | |
2014 | 1983 | #: app/helpers/forms_helper.rb:167 |
2015 | -#, fuzzy | |
2016 | 1984 | msgid "Nov" |
2017 | -msgstr "No" | |
1985 | +msgstr "Nov" | |
2018 | 1986 | |
2019 | 1987 | #: app/helpers/forms_helper.rb:167 |
2020 | -#, fuzzy | |
2021 | 1988 | msgid "Oct" |
2022 | -msgstr "Octubre" | |
1989 | +msgstr "Oct" | |
2023 | 1990 | |
2024 | 1991 | #: app/helpers/forms_helper.rb:167 |
2025 | -#, fuzzy | |
2026 | 1992 | msgid "Sep" |
2027 | -msgstr "Sexo" | |
1993 | +msgstr "Sep" | |
2028 | 1994 | |
2029 | 1995 | #: app/helpers/forms_helper.rb:167 |
2030 | -#, fuzzy | |
2031 | 1996 | msgid "Jan" |
2032 | 1997 | msgstr "Enero" |
2033 | 1998 | |
2034 | 1999 | #: app/helpers/forms_helper.rb:167 |
2035 | 2000 | msgid "Feb" |
2036 | -msgstr "" | |
2001 | +msgstr "Feb" | |
2037 | 2002 | |
2038 | 2003 | #: app/helpers/forms_helper.rb:167 |
2039 | -#, fuzzy | |
2040 | 2004 | msgid "Mar" |
2041 | -msgstr "Marzo" | |
2005 | +msgstr "Mar" | |
2042 | 2006 | |
2043 | 2007 | #: app/helpers/forms_helper.rb:167 |
2044 | -#, fuzzy | |
2045 | 2008 | msgid "Aug" |
2046 | 2009 | msgstr "Agosto" |
2047 | 2010 | |
2048 | 2011 | #: app/helpers/forms_helper.rb:167 |
2049 | -#, fuzzy | |
2050 | 2012 | msgid "Jul" |
2051 | -msgstr "Julio" | |
2013 | +msgstr "Jul" | |
2052 | 2014 | |
2053 | 2015 | #: app/helpers/forms_helper.rb:167 |
2054 | -#, fuzzy | |
2055 | 2016 | msgid "Jun" |
2056 | -msgstr "Junio" | |
2017 | +msgstr "Jun" | |
2057 | 2018 | |
2058 | 2019 | #: app/helpers/forms_helper.rb:167 |
2059 | -#, fuzzy | |
2060 | 2020 | msgid "Apr" |
2061 | -msgstr "Abril" | |
2021 | +msgstr "Abr" | |
2062 | 2022 | |
2063 | 2023 | #: app/helpers/forms_helper.rb:171 |
2064 | -#, fuzzy | |
2065 | 2024 | msgid "Prev" |
2066 | 2025 | msgstr "Anterior" |
2067 | 2026 | |
2068 | 2027 | #: app/helpers/forms_helper.rb:182 |
2069 | 2028 | #, fuzzy |
2070 | 2029 | msgid "Wk" |
2071 | -msgstr "Trabajo" | |
2030 | +msgstr "Semana" | |
2072 | 2031 | |
2073 | 2032 | #: app/helpers/forms_helper.rb:248 |
2074 | 2033 | msgid "From" |
... | ... | @@ -2076,7 +2035,7 @@ msgstr "De" |
2076 | 2035 | |
2077 | 2036 | #: app/helpers/forms_helper.rb:249 |
2078 | 2037 | msgid "until" |
2079 | -msgstr "" | |
2038 | +msgstr "hasta" | |
2080 | 2039 | |
2081 | 2040 | #: app/helpers/forms_helper.rb:253 |
2082 | 2041 | msgid "root" |
... | ... | @@ -2560,8 +2519,9 @@ msgid "Select domain" |
2560 | 2519 | msgstr "Seleciona el dominio" |
2561 | 2520 | |
2562 | 2521 | #: app/helpers/profile_editor_helper.rb:151 |
2522 | +#, fuzzy | |
2563 | 2523 | msgid "This field must be public" |
2564 | -msgstr "" | |
2524 | +msgstr "Este campo debe ser público" | |
2565 | 2525 | |
2566 | 2526 | #: app/helpers/profile_helper.rb:38 app/models/enterprise.rb:32 |
2567 | 2527 | #: app/views/maps/edit_location.html.erb:12 |
... | ... | @@ -2577,21 +2537,19 @@ msgstr "correo electrónico" |
2577 | 2537 | |
2578 | 2538 | #: app/helpers/profile_helper.rb:40 |
2579 | 2539 | #: app/views/profile_editor/_person_form.html.erb:16 |
2540 | +#, fuzzy | |
2580 | 2541 | msgid "Jabber" |
2581 | 2542 | msgstr "" |
2582 | 2543 | |
2583 | 2544 | #: app/helpers/profile_helper.rb:41 |
2584 | -#, fuzzy | |
2585 | 2545 | msgid "Date of birth" |
2586 | -msgstr "Fecha de nacimiento:" | |
2546 | +msgstr "Fecha de nacimiento" | |
2587 | 2547 | |
2588 | 2548 | #: app/helpers/profile_helper.rb:42 |
2589 | -#, fuzzy | |
2590 | 2549 | msgid "Profile created at" |
2591 | -msgstr "perfil creado en:" | |
2550 | +msgstr "Perfil creado en" | |
2592 | 2551 | |
2593 | 2552 | #: app/helpers/profile_helper.rb:44 |
2594 | -#, fuzzy | |
2595 | 2553 | msgid "Privacy setting" |
2596 | 2554 | msgstr "Opciones de privacidad" |
2597 | 2555 | |
... | ... | @@ -2619,38 +2577,34 @@ msgstr[0] "Una imagen" |
2619 | 2577 | msgstr[1] "%{num} imágenes" |
2620 | 2578 | |
2621 | 2579 | #: app/helpers/search_helper.rb:11 |
2622 | -#, fuzzy | |
2623 | 2580 | msgid "More popular" |
2624 | -msgstr "Más populares" | |
2581 | +msgstr "Más popular" | |
2625 | 2582 | |
2626 | 2583 | #: app/helpers/search_helper.rb:12 |
2627 | -#, fuzzy | |
2628 | 2584 | msgid "More active" |
2629 | -msgstr "Más activas" | |
2585 | +msgstr "Más activa" | |
2630 | 2586 | |
2631 | 2587 | #: app/helpers/search_helper.rb:13 |
2632 | 2588 | msgid "More recent" |
2633 | 2589 | msgstr "Más recientes" |
2634 | 2590 | |
2635 | 2591 | #: app/helpers/search_helper.rb:14 |
2636 | -#, fuzzy | |
2637 | 2592 | msgid "More comments" |
2638 | -msgstr "Moderar comentarios" | |
2593 | +msgstr "Más comentarios" | |
2639 | 2594 | |
2640 | 2595 | #: app/helpers/search_helper.rb:17 app/helpers/search_helper.rb:115 |
2641 | -#, fuzzy | |
2642 | 2596 | msgid "Map" |
2643 | -msgstr "Mayo" | |
2597 | +msgstr "Mapa" | |
2644 | 2598 | |
2645 | 2599 | #: app/helpers/search_helper.rb:18 app/helpers/search_helper.rb:116 |
2646 | 2600 | #, fuzzy |
2647 | 2601 | msgid "Full" |
2648 | -msgstr "Nombre completo" | |
2602 | +msgstr "Completo" | |
2649 | 2603 | |
2650 | 2604 | #: app/helpers/search_helper.rb:19 app/helpers/search_helper.rb:114 |
2651 | 2605 | #, fuzzy |
2652 | 2606 | msgid "Compact" |
2653 | -msgstr "Computación" | |
2607 | +msgstr "Compacto" | |
2654 | 2608 | |
2655 | 2609 | #: app/helpers/search_helper.rb:52 |
2656 | 2610 | msgid ", " |
... | ... | @@ -2661,14 +2615,13 @@ msgid "search in all categories" |
2661 | 2615 | msgstr "buscar en todas las categorías" |
2662 | 2616 | |
2663 | 2617 | #: app/helpers/search_helper.rb:118 |
2664 | -#, fuzzy | |
2665 | 2618 | msgid "Display" |
2666 | -msgstr "Mostrar nombre" | |
2619 | +msgstr "Mostrar" | |
2667 | 2620 | |
2668 | 2621 | #: app/helpers/search_helper.rb:155 |
2669 | 2622 | #, fuzzy |
2670 | 2623 | msgid "Choose a template" |
2671 | -msgstr "La plantilla \"%s\"" | |
2624 | +msgstr "Eligir una plantilla" | |
2672 | 2625 | |
2673 | 2626 | # Usamos etiquetas o entendemos qeu tag es de uso común? |
2674 | 2627 | #: app/helpers/tags_helper.rb:34 |
... | ... | @@ -2715,17 +2668,15 @@ msgstr "Todos los usuarios" |
2715 | 2668 | #: app/helpers/users_helper.rb:5 |
2716 | 2669 | #, fuzzy |
2717 | 2670 | msgid "Admin users" |
2718 | -msgstr "Cantidad utilizada" | |
2671 | +msgstr "Usuarios de admin" | |
2719 | 2672 | |
2720 | 2673 | #: app/helpers/users_helper.rb:6 |
2721 | -#, fuzzy | |
2722 | 2674 | msgid "Activated users" |
2723 | -msgstr "Activo" | |
2675 | +msgstr "Usuarios activados" | |
2724 | 2676 | |
2725 | 2677 | #: app/helpers/users_helper.rb:7 |
2726 | -#, fuzzy | |
2727 | 2678 | msgid "Deativated users" |
2728 | -msgstr "Administrar usuarios" | |
2679 | +msgstr "Usuarios desactivados" | |
2729 | 2680 | |
2730 | 2681 | #: app/helpers/users_helper.rb:16 app/views/memberships/index.html.erb:16 |
2731 | 2682 | #: app/views/tasks/index.html.erb:25 |
... | ... | @@ -2739,7 +2690,7 @@ msgstr "¡[%s] tienes un nuevo comentario!" |
2739 | 2690 | #: app/mailers/comment_notifier.rb:37 |
2740 | 2691 | #, fuzzy |
2741 | 2692 | msgid "[%s] %s commented on a content of %s" |
2742 | -msgstr "Artículos más comentados" | |
2693 | +msgstr "[%s] %s ha comentado en un contendio de %s" | |
2743 | 2694 | |
2744 | 2695 | #: app/mailers/contact.rb:23 app/views/contact/new.html.erb:23 |
2745 | 2696 | #: app/views/contact/sender/notification.html.erb:14 |
... | ... | @@ -2790,8 +2741,9 @@ msgid "Welcome to environment %s" |
2790 | 2741 | msgstr "Bienvenido a %s" |
2791 | 2742 | |
2792 | 2743 | #: app/mailers/user_mailer.rb:57 |
2744 | +#, fuzzy | |
2793 | 2745 | msgid "[%s] What about grow up your network?" |
2794 | -msgstr "" | |
2746 | +msgstr "[%s] ¿Qué de crecer tu red?" | |
2795 | 2747 | |
2796 | 2748 | #: app/models/abuse_complaint.rb:28 |
2797 | 2749 | msgid "Abuse complaint" |
... | ... | @@ -3063,7 +3015,7 @@ msgstr "Documento de texto HTML" |
3063 | 3015 | #: app/models/article.rb:429 |
3064 | 3016 | #, fuzzy |
3065 | 3017 | msgid "Language not supported by the environment." |
3066 | -msgstr "Lenguaje no soportado por Noosfero" | |
3018 | +msgstr "Lenguaje no soportado por" | |
3067 | 3019 | |
3068 | 3020 | #: app/models/article.rb:435 |
3069 | 3021 | msgid "Language is already used" |
... | ... | @@ -3268,7 +3220,7 @@ msgstr "" |
3268 | 3220 | #: app/models/comment.rb:34 |
3269 | 3221 | #, fuzzy |
3270 | 3222 | msgid "{fn} can only be informed for unauthenticated authors" |
3271 | -msgstr "%{fn} solamente puede ser informado por autores no autentificados" | |
3223 | +msgstr "{fn} solamente puede ser informado para autores no autentificados" | |
3272 | 3224 | |
3273 | 3225 | #: app/models/comment.rb:82 |
3274 | 3226 | msgid "(unauthenticated user)" |
... | ... | @@ -3419,7 +3371,6 @@ msgid "Management information" |
3419 | 3371 | msgstr "Información de gestión" |
3420 | 3372 | |
3421 | 3373 | #: app/models/create_enterprise.rb:47 |
3422 | -#, fuzzy | |
3423 | 3374 | msgid "{fn} is not a validator for the chosen region" |
3424 | 3375 | msgstr "{fn} no es un validador para la región escogida" |
3425 | 3376 | |
... | ... | @@ -3737,7 +3688,6 @@ msgid "Moderator" |
3737 | 3688 | msgstr "Moderador" |
3738 | 3689 | |
3739 | 3690 | #: app/models/environment.rb:118 |
3740 | -#, fuzzy | |
3741 | 3691 | msgid "Disable search for articles " |
3742 | 3692 | msgstr "Desactivar la búsqueda de artículos " |
3743 | 3693 | |
... | ... | @@ -3915,7 +3865,7 @@ msgstr "Permanecer en la misma página en la que el usuario se identificó." |
3915 | 3865 | #: app/models/environment.rb:170 app/models/environment.rb:182 |
3916 | 3866 | #, fuzzy |
3917 | 3867 | msgid "Redirects the user to the environment homepage." |
3918 | -msgstr "Redirige al usuario a la home" | |
3868 | +msgstr "Redirige el usuario a la página de inicio." | |
3919 | 3869 | |
3920 | 3870 | #: app/models/environment.rb:171 app/models/environment.rb:183 |
3921 | 3871 | msgid "Redirects the user to his profile page." |
... | ... | @@ -3941,7 +3891,7 @@ msgstr "" |
3941 | 3891 | #: app/models/environment.rb:186 |
3942 | 3892 | #, fuzzy |
3943 | 3893 | msgid "Redirects the user to the environment welcome page." |
3944 | -msgstr "Redirige al usuario a la página de bienvenida." | |
3894 | +msgstr "Redirige el usuario a la página de bienvenida." | |
3945 | 3895 | |
3946 | 3896 | #: app/models/environment.rb:291 |
3947 | 3897 | msgid "This enterprise needs to be enabled." |
... | ... | @@ -3960,9 +3910,8 @@ msgid "have unsupported languages." |
3960 | 3910 | msgstr "no permite ciertos idiomas." |
3961 | 3911 | |
3962 | 3912 | #: app/models/event.rb:33 |
3963 | -#, fuzzy | |
3964 | 3913 | msgid "{fn} cannot come before end date." |
3965 | -msgstr "%{fn} no puede aparecer antes de la fecha final." | |
3914 | +msgstr "{fn} no puede aparecer antes de la fecha final." | |
3966 | 3915 | |
3967 | 3916 | #: app/models/event.rb:63 |
3968 | 3917 | msgid "A calendar event." |
... | ... | @@ -4044,7 +3993,7 @@ msgstr "Usuarios registrados" |
4044 | 3993 | #: app/models/forum.rb:41 |
4045 | 3994 | #, fuzzy |
4046 | 3995 | msgid "Me" |
4047 | -msgstr "Mí" | |
3996 | +msgstr "Yo" | |
4048 | 3997 | |
4049 | 3998 | #: app/models/forum.rb:45 |
4050 | 3999 | msgid "Administrators" |
... | ... | @@ -4197,18 +4146,22 @@ msgid "Right" |
4197 | 4146 | msgstr "Derecha" |
4198 | 4147 | |
4199 | 4148 | #: app/models/link_list_block.rb:17 |
4149 | +#, fuzzy | |
4200 | 4150 | msgid "Gray Up" |
4201 | 4151 | msgstr "" |
4202 | 4152 | |
4203 | 4153 | #: app/models/link_list_block.rb:18 |
4154 | +#, fuzzy | |
4204 | 4155 | msgid "Gray Down" |
4205 | 4156 | msgstr "" |
4206 | 4157 | |
4207 | 4158 | #: app/models/link_list_block.rb:19 |
4159 | +#, fuzzy | |
4208 | 4160 | msgid "Gray Left" |
4209 | 4161 | msgstr "" |
4210 | 4162 | |
4211 | 4163 | #: app/models/link_list_block.rb:20 |
4164 | +#, fuzzy | |
4212 | 4165 | msgid "Gray Right" |
4213 | 4166 | msgstr "" |
4214 | 4167 | |
... | ... | @@ -4317,10 +4270,9 @@ msgid "%{sender} tried to register." |
4317 | 4270 | msgstr "%{sender} intentó registrarse." |
4318 | 4271 | |
4319 | 4272 | #: app/models/moderate_user_registration.rb:54 |
4320 | -#, fuzzy | |
4321 | 4273 | msgid "You need to login on %{system} in order to approve or reject this user." |
4322 | 4274 | msgstr "" |
4323 | -"Debes iniciar sesión en %{system} para aprobar o rechazar este artículo." | |
4275 | +"Hay que iniciar sesión en %{sistema} para aprobar o rechazar este usuario." | |
4324 | 4276 | |
4325 | 4277 | #: app/models/moderate_user_registration.rb:58 |
4326 | 4278 | msgid "" |
... | ... | @@ -4350,9 +4302,8 @@ msgstr "Nombre nombre de ciudad o estado inválido." |
4350 | 4302 | #: app/models/organization.rb:138 app/models/person.rb:261 |
4351 | 4303 | #: app/views/profile_editor/_person_form.html.erb:26 |
4352 | 4304 | #: app/views/shared/_organization_custom_fields.html.erb:13 |
4353 | -#, fuzzy | |
4354 | 4305 | msgid "Address reference" |
4355 | -msgstr "Dirección:" | |
4306 | +msgstr "Referencia de dirección" | |
4356 | 4307 | |
4357 | 4308 | #: app/models/organization.rb:138 app/models/person.rb:261 |
4358 | 4309 | #: app/views/profile_editor/_person_form.html.erb:27 |
... | ... | @@ -4529,7 +4480,6 @@ msgid "There are no sub-categories for %s" |
4529 | 4480 | msgstr "No existe subcategoria para %s" |
4530 | 4481 | |
4531 | 4482 | #: app/models/product_categories_block.rb:36 |
4532 | -#, fuzzy | |
4533 | 4483 | msgid "Only on the catalog" |
4534 | 4484 | msgstr "Solamente en el catálogo" |
4535 | 4485 | |
... | ... | @@ -4602,14 +4552,13 @@ msgid "Invite members" |
4602 | 4552 | msgstr "Invitar miembros" |
4603 | 4553 | |
4604 | 4554 | #: app/models/profile.rb:82 |
4605 | -#, fuzzy | |
4606 | 4555 | msgid "Send e-Mail to members" |
4607 | 4556 | msgstr "Enviar correo electrónico a los miembros" |
4608 | 4557 | |
4609 | 4558 | #: app/models/profile.rb:83 |
4610 | 4559 | #, fuzzy |
4611 | 4560 | msgid "Manage custom roles" |
4612 | -msgstr "Administrar roles de usuarios" | |
4561 | +msgstr "Administrar roles personalizados" | |
4613 | 4562 | |
4614 | 4563 | #: app/models/profile.rb:137 |
4615 | 4564 | msgid "" |
... | ... | @@ -4921,14 +4870,12 @@ msgid "does not match." |
4921 | 4870 | msgstr "no coinciden." |
4922 | 4871 | |
4923 | 4872 | #: app/presenters/image.rb:16 |
4924 | -#, fuzzy | |
4925 | 4873 | msgid "Image (%s)" |
4926 | -msgstr "Imágenes" | |
4874 | +msgstr "Imagen (%s)" | |
4927 | 4875 | |
4928 | 4876 | #: app/views/account/_identifier_status.html.erb:6 |
4929 | -#, fuzzy | |
4930 | 4877 | msgid "Available: " |
4931 | -msgstr "Distancia:" | |
4878 | +msgstr "Disponible: " | |
4932 | 4879 | |
4933 | 4880 | #: app/views/account/_login_form.html.erb:15 |
4934 | 4881 | #: app/views/account/login.html.erb:26 |
... | ... | @@ -4937,18 +4884,18 @@ msgid "Log in" |
4937 | 4884 | msgstr "Iniciar sesión" |
4938 | 4885 | |
4939 | 4886 | #: app/views/account/_signup_form.html.erb:3 |
4940 | -#, fuzzy | |
4941 | 4887 | msgid "Are you a robot?" |
4942 | -msgstr "¿Estás seguro?" | |
4888 | +msgstr "¿Eres un robot?" | |
4943 | 4889 | |
4944 | 4890 | #: app/views/account/_signup_form.html.erb:4 |
4891 | +#, fuzzy | |
4945 | 4892 | msgid "Please, prove that you are human by filling the captcha." |
4946 | -msgstr "" | |
4893 | +msgstr "Por favor, demuestra que eres humano por llenar este captcha." | |
4947 | 4894 | |
4948 | 4895 | #: app/views/account/_signup_form.html.erb:12 |
4949 | 4896 | #, fuzzy |
4950 | 4897 | msgid "The account could not be created" |
4951 | -msgstr "El mensaje no pudo ser enviado" | |
4898 | +msgstr "La cuenta no pudo ser creada" | |
4952 | 4899 | |
4953 | 4900 | #: app/views/account/_signup_form.html.erb:42 |
4954 | 4901 | msgid "" |
... | ... | @@ -4967,27 +4914,31 @@ msgstr "" |
4967 | 4914 | "menos 4 caracteres." |
4968 | 4915 | |
4969 | 4916 | #: app/views/account/_signup_form.html.erb:52 |
4917 | +#, fuzzy | |
4970 | 4918 | msgid "Short" |
4971 | -msgstr "" | |
4919 | +msgstr "Bajo" | |
4972 | 4920 | |
4973 | 4921 | #: app/views/account/_signup_form.html.erb:55 |
4974 | -#, fuzzy | |
4975 | 4922 | msgid "Bad" |
4976 | -msgstr "Marzo" | |
4923 | +msgstr "Mal" | |
4977 | 4924 | |
4978 | 4925 | #: app/views/account/_signup_form.html.erb:58 |
4926 | +#, fuzzy | |
4979 | 4927 | msgid "Good" |
4980 | -msgstr "" | |
4928 | +msgstr "Buen" | |
4981 | 4929 | |
4982 | 4930 | #: app/views/account/_signup_form.html.erb:61 |
4983 | 4931 | msgid "Strong" |
4984 | -msgstr "" | |
4932 | +msgstr "Fuerte" | |
4985 | 4933 | |
4986 | 4934 | #: app/views/account/_signup_form.html.erb:68 |
4935 | +#, fuzzy | |
4987 | 4936 | msgid "" |
4988 | 4937 | "We need to be sure that you filled in your password correctly. Confirm you " |
4989 | 4938 | "password." |
4990 | 4939 | msgstr "" |
4940 | +"Tenemos que asegurar de que llenaste correctamente tu contraseña. Confirma " | |
4941 | +"tu contraseña." | |
4991 | 4942 | |
4992 | 4943 | #: app/views/account/_signup_form.html.erb:74 |
4993 | 4944 | msgid "This e-mail address will be used to contact you." |
... | ... | @@ -4998,8 +4949,9 @@ msgid "Full name" |
4998 | 4949 | msgstr "Nombre completo" |
4999 | 4950 | |
5000 | 4951 | #: app/views/account/_signup_form.html.erb:99 |
4952 | +#, fuzzy | |
5001 | 4953 | msgid "Tell us your name, it will be used to identify yourself." |
5002 | -msgstr "" | |
4954 | +msgstr "Dinos tu nombre, se va a usarlo para indentificarte." | |
5003 | 4955 | |
5004 | 4956 | #: app/views/account/_signup_form.html.erb:116 |
5005 | 4957 | msgid "I accept the %s" |
... | ... | @@ -5178,7 +5130,7 @@ msgstr "¿Olvidaste tu contraseña?" |
5178 | 5130 | |
5179 | 5131 | #: app/views/account/forgot_password.html.erb:3 |
5180 | 5132 | msgid "Instructions to password recovery could not be sent" |
5181 | -msgstr "" | |
5133 | +msgstr "No se pudo enviar las instrucciones para la recuperación de contraseña" | |
5182 | 5134 | |
5183 | 5135 | #: app/views/account/forgot_password.html.erb:10 |
5184 | 5136 | msgid "Send instructions" |
... | ... | @@ -5293,7 +5245,7 @@ msgstr "" |
5293 | 5245 | |
5294 | 5246 | #: app/views/account/login.html.erb:19 |
5295 | 5247 | msgid "Keep me logged in" |
5296 | -msgstr "" | |
5248 | +msgstr "No cerrar sesión" | |
5297 | 5249 | |
5298 | 5250 | #: app/views/account/login.html.erb:40 |
5299 | 5251 | #: app/views/account/login_block.html.erb:31 |
... | ... | @@ -5373,8 +5325,11 @@ msgid "Go to my enterprise control panel" |
5373 | 5325 | msgstr "Ir al panel de control de mi empresa" |
5374 | 5326 | |
5375 | 5327 | #: app/views/admin_panel/_signup_intro.html.erb:2 |
5328 | +#, fuzzy | |
5376 | 5329 | msgid "This text will be shown to the user on the top of the sign up form." |
5377 | 5330 | msgstr "" |
5331 | +"El usuario va a poder ver este texto en la parte arriba del formulario de " | |
5332 | +"inscripción." | |
5378 | 5333 | |
5379 | 5334 | #: app/views/admin_panel/_signup_intro.html.erb:5 |
5380 | 5335 | #: app/views/admin_panel/_signup_welcome_screen.html.erb:4 |
... | ... | @@ -5384,28 +5339,41 @@ msgid "Body" |
5384 | 5339 | msgstr "Cuerpo" |
5385 | 5340 | |
5386 | 5341 | #: app/views/admin_panel/_signup_welcome_screen.html.erb:2 |
5342 | +#, fuzzy | |
5387 | 5343 | msgid "" |
5388 | 5344 | "If you enable this feature on the \"Features\" section of the Administration " |
5389 | 5345 | "Panel, this text will be shown as a welcome message to users after signup." |
5390 | 5346 | msgstr "" |
5347 | +"Si habilitas este característica en la sección de \"Características\" del " | |
5348 | +"Panel de Administración, se va a mostrar este texto como un mensaje de " | |
5349 | +"bienvenida para los usuarios después de inscribirse." | |
5391 | 5350 | |
5392 | 5351 | #: app/views/admin_panel/_signup_welcome_screen.html.erb:7 |
5352 | +#, fuzzy | |
5393 | 5353 | msgid "" |
5394 | 5354 | "If this content is left blank, the following page will be displayed to the " |
5395 | 5355 | "user:" |
5396 | 5356 | msgstr "" |
5357 | +"Si este contento se queda vacío, se va a mostrar la siguiente página para el " | |
5358 | +"usuario:" | |
5397 | 5359 | |
5398 | 5360 | #: app/views/admin_panel/_signup_welcome_text.html.erb:2 |
5361 | +#, fuzzy | |
5399 | 5362 | msgid "" |
5400 | 5363 | "This text will be sent to new users if the feature \"Send welcome e-mail to " |
5401 | 5364 | "new users\" is enabled on environment." |
5402 | 5365 | msgstr "" |
5366 | +"Se va a enviar este texto a nuevos usuarios si la característica \"Enviar e-" | |
5367 | +"mail de bienvenida a nuevos usuarios\" está habilitado." | |
5403 | 5368 | |
5404 | 5369 | #: app/views/admin_panel/_signup_welcome_text.html.erb:3 |
5370 | +#, fuzzy | |
5405 | 5371 | msgid "" |
5406 | 5372 | "Including %s on body, it will be replaced by the real name of the e-mail " |
5407 | 5373 | "recipient." |
5408 | 5374 | msgstr "" |
5375 | +"Incluyendo %s en el cuerpo, se va a reemplazarlo por el nombre real del " | |
5376 | +"recipiente del correo." | |
5409 | 5377 | |
5410 | 5378 | #: app/views/admin_panel/_site_info.html.erb:1 |
5411 | 5379 | msgid "Site name" |
... | ... | @@ -5414,46 +5382,44 @@ msgstr "Nombre del sitio" |
5414 | 5382 | #: app/views/admin_panel/_site_info.html.erb:3 |
5415 | 5383 | #, fuzzy |
5416 | 5384 | msgid "No reply email" |
5417 | -msgstr "Nuevo correo electrónico" | |
5385 | +msgstr "No correo de respuesta" | |
5418 | 5386 | |
5419 | 5387 | #: app/views/admin_panel/_site_info.html.erb:5 |
5420 | 5388 | msgid "Theme" |
5421 | 5389 | msgstr "Tema" |
5422 | 5390 | |
5423 | 5391 | #: app/views/admin_panel/_site_info.html.erb:8 |
5424 | -#, fuzzy | |
5425 | 5392 | msgid "Article's date format" |
5426 | -msgstr "Resumen del artículo" | |
5393 | +msgstr "Formato de la fecha del artículo" | |
5427 | 5394 | |
5428 | 5395 | #: app/views/admin_panel/_site_info.html.erb:11 |
5429 | 5396 | msgid "mm/dd/yyyy" |
5430 | -msgstr "" | |
5397 | +msgstr "mm/dd/aaaa" | |
5431 | 5398 | |
5432 | 5399 | #: app/views/admin_panel/_site_info.html.erb:12 |
5433 | 5400 | msgid "mm/dd" |
5434 | -msgstr "" | |
5401 | +msgstr "mm/dd" | |
5435 | 5402 | |
5436 | 5403 | #: app/views/admin_panel/_site_info.html.erb:13 |
5437 | 5404 | msgid "Month dd, yyyy" |
5438 | -msgstr "" | |
5405 | +msgstr "Mes dd, aaaa" | |
5439 | 5406 | |
5440 | 5407 | #: app/views/admin_panel/_site_info.html.erb:14 |
5441 | 5408 | msgid "Month dd" |
5442 | -msgstr "" | |
5409 | +msgstr "Mes dd" | |
5443 | 5410 | |
5444 | 5411 | #: app/views/admin_panel/_site_info.html.erb:15 |
5445 | 5412 | msgid "X minutes/hours/days/months/years ago" |
5446 | -msgstr "" | |
5413 | +msgstr "Hace X minutos/horas/días/meses/años" | |
5447 | 5414 | |
5448 | 5415 | #: app/views/admin_panel/_site_info.html.erb:22 |
5449 | 5416 | #, fuzzy |
5450 | 5417 | msgid "Default language" |
5451 | -msgstr "todos los idiomas" | |
5418 | +msgstr "Idioma predeterminado" | |
5452 | 5419 | |
5453 | 5420 | #: app/views/admin_panel/_site_info.html.erb:23 |
5454 | -#, fuzzy | |
5455 | 5421 | msgid "Available languages" |
5456 | -msgstr "todos los idiomas" | |
5422 | +msgstr "Idiomas disponibles" | |
5457 | 5423 | |
5458 | 5424 | #: app/views/admin_panel/_site_info.html.erb:34 |
5459 | 5425 | msgid "Homepage content" |
... | ... | @@ -5464,9 +5430,8 @@ msgid "Administrator Panel" |
5464 | 5430 | msgstr "Panel del administrador" |
5465 | 5431 | |
5466 | 5432 | #: app/views/admin_panel/index.html.erb:3 |
5467 | -#, fuzzy | |
5468 | 5433 | msgid "System settings" |
5469 | -msgstr "Configuraciones" | |
5434 | +msgstr "Configuraciones del sistema" | |
5470 | 5435 | |
5471 | 5436 | # Entorno o ambiente? |
5472 | 5437 | #: app/views/admin_panel/index.html.erb:6 |
... | ... | @@ -5475,78 +5440,68 @@ msgid "Environment settings" |
5475 | 5440 | msgstr "Configuración del entorno" |
5476 | 5441 | |
5477 | 5442 | #: app/views/admin_panel/index.html.erb:7 |
5478 | -#, fuzzy | |
5479 | 5443 | msgid "Features" |
5480 | -msgstr "Característica" | |
5444 | +msgstr "Características" | |
5481 | 5445 | |
5482 | 5446 | #: app/views/admin_panel/index.html.erb:8 |
5483 | 5447 | #: app/views/admin_panel/index.html.erb:31 |
5484 | 5448 | #, fuzzy |
5485 | 5449 | msgid "Plugins" |
5486 | -msgstr "Característica adicional" | |
5450 | +msgstr "Características adicionales" | |
5487 | 5451 | |
5488 | 5452 | #: app/views/admin_panel/index.html.erb:9 |
5489 | -#, fuzzy | |
5490 | 5453 | msgid "Appearance" |
5491 | -msgstr "Editar apariencia" | |
5454 | +msgstr "Apariencia" | |
5492 | 5455 | |
5493 | 5456 | #: app/views/admin_panel/index.html.erb:10 |
5494 | -#, fuzzy | |
5495 | 5457 | msgid "Sideboxes" |
5496 | -msgstr "Editar cajas laterales" | |
5458 | +msgstr "Cajas laterales" | |
5497 | 5459 | |
5498 | 5460 | #: app/views/admin_panel/index.html.erb:12 |
5499 | -#, fuzzy | |
5500 | 5461 | msgid "Licenses" |
5501 | -msgstr "Licencia" | |
5462 | +msgstr "Licencias" | |
5502 | 5463 | |
5503 | 5464 | #: app/views/admin_panel/index.html.erb:13 |
5465 | +#, fuzzy | |
5504 | 5466 | msgid "Trusted sites" |
5505 | -msgstr "" | |
5467 | +msgstr "Páginas de confianza" | |
5506 | 5468 | |
5507 | 5469 | #: app/views/admin_panel/index.html.erb:16 |
5508 | -#, fuzzy | |
5509 | 5470 | msgid "Profiles" |
5510 | -msgstr "Perfil" | |
5471 | +msgstr "Perfiles" | |
5511 | 5472 | |
5512 | 5473 | #: app/views/admin_panel/index.html.erb:19 |
5513 | -#, fuzzy | |
5514 | 5474 | msgid "User roles" |
5515 | -msgstr "Administrar roles de usuario" | |
5475 | +msgstr "Roles de usuario" | |
5516 | 5476 | |
5517 | 5477 | #: app/views/admin_panel/index.html.erb:20 |
5518 | -#, fuzzy | |
5519 | 5478 | msgid "Users" |
5520 | -msgstr "Usuario" | |
5479 | +msgstr "Usuarios" | |
5521 | 5480 | |
5522 | 5481 | #: app/views/admin_panel/index.html.erb:21 |
5523 | 5482 | #: app/views/organizations/index.html.erb:1 |
5524 | -#, fuzzy | |
5525 | 5483 | msgid "Organizations" |
5526 | -msgstr "Organización" | |
5484 | +msgstr "Organizaciones" | |
5527 | 5485 | |
5528 | 5486 | #: app/views/admin_panel/index.html.erb:22 |
5529 | 5487 | #, fuzzy |
5530 | 5488 | msgid "Profile templates" |
5531 | -msgstr "Imagen de perfil" | |
5489 | +msgstr "Plantillas del perfil" | |
5532 | 5490 | |
5533 | 5491 | #: app/views/admin_panel/index.html.erb:23 |
5534 | -#, fuzzy | |
5535 | 5492 | msgid "Fields" |
5536 | -msgstr "Campo" | |
5493 | +msgstr "Campos" | |
5537 | 5494 | |
5538 | 5495 | #: app/views/admin_panel/index.html.erb:39 |
5539 | 5496 | #, fuzzy |
5540 | 5497 | msgid "Enterprise-related settings" |
5541 | -msgstr "Información y configuración de la empresa" | |
5498 | +msgstr "Ajustes relacionados con empresas" | |
5542 | 5499 | |
5543 | 5500 | #: app/views/admin_panel/index.html.erb:42 |
5544 | -#, fuzzy | |
5545 | 5501 | msgid "Message for disabled enterprises" |
5546 | -msgstr "Editar mensaje para empresas deshabilitadas" | |
5502 | +msgstr "Mensaje para empresas deshabilitadas" | |
5547 | 5503 | |
5548 | 5504 | #: app/views/admin_panel/index.html.erb:43 |
5549 | -#, fuzzy | |
5550 | 5505 | msgid "Validators by region" |
5551 | 5506 | msgstr "Validadores por región" |
5552 | 5507 | |
... | ... | @@ -5585,7 +5540,7 @@ msgstr "Seleccionar carpeta del portal" |
5585 | 5540 | #: app/views/admin_panel/set_portal_community.html.erb:21 |
5586 | 5541 | #, fuzzy |
5587 | 5542 | msgid "Define news amount on portal" |
5588 | -msgstr "Define la cantidad por carpeta" | |
5543 | +msgstr "Definir la cantidad de noticias en el portal" | |
5589 | 5544 | |
5590 | 5545 | #: app/views/admin_panel/set_portal_folders.html.erb:1 |
5591 | 5546 | msgid "Select folders" |
... | ... | @@ -5618,22 +5573,20 @@ msgstr "" |
5618 | 5573 | #: app/views/admin_panel/set_portal_news_amount.html.erb:1 |
5619 | 5574 | #, fuzzy |
5620 | 5575 | msgid "News amount on portal" |
5621 | -msgstr "Cantidad de noticias por carpeta" | |
5576 | +msgstr "Cantidad de noticias en el portal" | |
5622 | 5577 | |
5623 | 5578 | #: app/views/admin_panel/set_portal_news_amount.html.erb:5 |
5624 | -#, fuzzy | |
5625 | 5579 | msgid "Number of highlighted news" |
5626 | -msgstr "Número de noticias" | |
5580 | +msgstr "Número de noticias destacadas" | |
5627 | 5581 | |
5628 | 5582 | #: app/views/admin_panel/set_portal_news_amount.html.erb:6 |
5629 | 5583 | #, fuzzy |
5630 | 5584 | msgid "Number of portal news" |
5631 | -msgstr "Número de noticias" | |
5585 | +msgstr "Número de noticias del portal" | |
5632 | 5586 | |
5633 | 5587 | #: app/views/admin_panel/set_portal_news_amount.html.erb:7 |
5634 | -#, fuzzy | |
5635 | 5588 | msgid "Number of news by folder" |
5636 | -msgstr "Número de noticias" | |
5589 | +msgstr "Número de noticias por carpeta" | |
5637 | 5590 | |
5638 | 5591 | #: app/views/admin_panel/site_info.html.erb:11 |
5639 | 5592 | msgid "Terms of use" |
... | ... | @@ -5642,34 +5595,36 @@ msgstr "Términos de uso" |
5642 | 5595 | #: app/views/admin_panel/site_info.html.erb:16 |
5643 | 5596 | #, fuzzy |
5644 | 5597 | msgid "Signup welcome email" |
5645 | -msgstr "Enviar correo electrónico a los usuarios" | |
5598 | +msgstr "Correo electrónico de bienvenida de inscripción" | |
5646 | 5599 | |
5647 | 5600 | #: app/views/admin_panel/site_info.html.erb:18 |
5601 | +#, fuzzy | |
5648 | 5602 | msgid "Signup welcome page" |
5649 | -msgstr "" | |
5603 | +msgstr "Página de bienvenida de inscripción" | |
5650 | 5604 | |
5651 | 5605 | #: app/views/admin_panel/site_info.html.erb:20 |
5652 | 5606 | #, fuzzy |
5653 | 5607 | msgid "Signup introduction text" |
5654 | -msgstr "Enviar instrucciones" | |
5608 | +msgstr "Texto de introducción de inscripción" | |
5655 | 5609 | |
5656 | 5610 | #: app/views/api/index.html.erb:4 |
5611 | +#, fuzzy | |
5657 | 5612 | msgid "api-playground|Try the %s" |
5658 | -msgstr "" | |
5613 | +msgstr "api-patio Prueba el %s" | |
5659 | 5614 | |
5660 | 5615 | #: app/views/api/playground.html.erb:29 |
5616 | +#, fuzzy | |
5661 | 5617 | msgid "Use the login endpoint" |
5662 | -msgstr "" | |
5618 | +msgstr "Utilice el punto final de inicio de sesión" | |
5663 | 5619 | |
5664 | 5620 | #: app/views/api/playground.html.erb:33 |
5665 | -#, fuzzy | |
5666 | 5621 | msgid "Add parameter" |
5667 | -msgstr "Añadir miembros" | |
5622 | +msgstr "Añadir parámetro" | |
5668 | 5623 | |
5669 | 5624 | #: app/views/api/playground.html.erb:34 |
5670 | 5625 | #, fuzzy |
5671 | 5626 | msgid "Run" |
5672 | -msgstr "Dom" | |
5627 | +msgstr "Correr" | |
5673 | 5628 | |
5674 | 5629 | #: app/views/blocks/communities.html.erb:2 |
5675 | 5630 | #: app/views/blocks/communities.html.erb:4 |
... | ... | @@ -5677,14 +5632,12 @@ msgid "communities|View all" |
5677 | 5632 | msgstr "Ver todas" |
5678 | 5633 | |
5679 | 5634 | #: app/views/blocks/communities.html.erb:9 |
5680 | -#, fuzzy | |
5681 | 5635 | msgid "Some suggestions for you" |
5682 | -msgstr "Sugerencias: %s" | |
5636 | +msgstr "Algunas sugerencias para ti" | |
5683 | 5637 | |
5684 | 5638 | #: app/views/blocks/communities.html.erb:14 |
5685 | -#, fuzzy | |
5686 | 5639 | msgid "See all suggestions" |
5687 | -msgstr "Sugerencia de artículos" | |
5640 | +msgstr "Ver todas las sugerencias" | |
5688 | 5641 | |
5689 | 5642 | #: app/views/blocks/disabled_enterprise_message.html.erb:5 |
5690 | 5643 | msgid "Unblock" |
... | ... | @@ -5711,9 +5664,8 @@ msgid "Logged in as %s" |
5711 | 5664 | msgstr "Autenticado como %s" |
5712 | 5665 | |
5713 | 5666 | #: app/views/blocks/login_block.html.erb:5 |
5714 | -#, fuzzy | |
5715 | 5667 | msgid "User since %s/%s" |
5716 | -msgstr "Precio: %s (%s)" | |
5668 | +msgstr "Usuario desde %s/%s" | |
5717 | 5669 | |
5718 | 5670 | #: app/views/blocks/my_network.html.erb:5 |
5719 | 5671 | #: app/views/blocks/profile_info.html.erb:19 |
... | ... | @@ -5753,18 +5705,16 @@ msgstr[0] "Una comunidad" |
5753 | 5705 | msgstr[1] "%{num} comunidades" |
5754 | 5706 | |
5755 | 5707 | #: app/views/blocks/product_categories.html.erb:1 |
5756 | -#, fuzzy | |
5757 | 5708 | msgid "Catalog start" |
5758 | -msgstr "Estado del chat" | |
5709 | +msgstr "Empieza del católogo" | |
5759 | 5710 | |
5760 | 5711 | #: app/views/blocks/profile_info.html.erb:27 |
5761 | 5712 | msgid "Since %{year}/%{month}" |
5762 | 5713 | msgstr "Desde %{month}/%{year}" |
5763 | 5714 | |
5764 | 5715 | #: app/views/blocks/profile_info_actions/_community.html.erb:12 |
5765 | -#, fuzzy | |
5766 | 5716 | msgid "Send an e-mail to the administrators" |
5767 | -msgstr "Enviar correo electrónico a %s" | |
5717 | +msgstr "Enviar un correo electrónico a los administradores" | |
5768 | 5718 | |
5769 | 5719 | #: app/views/blocks/profile_info_actions/_enterprise.html.erb:4 |
5770 | 5720 | msgid "Add enterprise as favorite" |
... | ... | @@ -5777,7 +5727,7 @@ msgstr "Añadir como favorito" |
5777 | 5727 | #: app/views/blocks/profile_info_actions/_join_leave_community.html.erb:4 |
5778 | 5728 | #, fuzzy |
5779 | 5729 | msgid "Your membership is waiting for approval" |
5780 | -msgstr "Asociaciones de espera de aprobación:" | |
5730 | +msgstr "Tu afiliación está en espera de aprobación" | |
5781 | 5731 | |
5782 | 5732 | #: app/views/blocks/profile_info_actions/_join_leave_community.html.erb:10 |
5783 | 5733 | #: app/views/blocks/profile_info_actions/_join_leave_community.html.erb:14 |
... | ... | @@ -5788,7 +5738,7 @@ msgstr "Unirse a esta comunidad" |
5788 | 5738 | #: app/views/blocks/profile_info_actions/_join_leave_community.html.erb:23 |
5789 | 5739 | #, fuzzy |
5790 | 5740 | msgid "Please confirm to leave the community '%{name}'" |
5791 | -msgstr "se ha unido a una comunidad: <br /> %{name}" | |
5741 | +msgstr "Por favor, confirma que quieres salir de la comunidad '%{nombre}'" | |
5792 | 5742 | |
5793 | 5743 | #: app/views/blocks/profile_info_actions/_person.html.erb:6 |
5794 | 5744 | #: app/views/profile/_private_profile.html.erb:13 |
... | ... | @@ -5808,14 +5758,12 @@ msgstr "" |
5808 | 5758 | "usar este bloque correctamente." |
5809 | 5759 | |
5810 | 5760 | #: app/views/box_organizer/_article_block.html.erb:19 |
5811 | -#, fuzzy | |
5812 | 5761 | msgid "Number of posts:" |
5813 | -msgstr "Número de productores" | |
5762 | +msgstr "Número de publicaciones:" | |
5814 | 5763 | |
5815 | 5764 | #: app/views/box_organizer/_article_block.html.erb:24 |
5816 | -#, fuzzy | |
5817 | 5765 | msgid "How to display this content:" |
5818 | -msgstr "Como mostrar las publicaciones:" | |
5766 | +msgstr "Cómo mostrar este contento:" | |
5819 | 5767 | |
5820 | 5768 | #: app/views/box_organizer/_article_block.html.erb:27 |
5821 | 5769 | #: app/views/cms/_blog.html.erb:66 |
... | ... | @@ -5999,7 +5947,7 @@ msgstr "¿En que área te gustaría colocar tu nuevo bloque?" |
5999 | 5947 | |
6000 | 5948 | #: app/views/box_organizer/add_block.html.erb:8 |
6001 | 5949 | msgid "Main area" |
6002 | -msgstr "" | |
5950 | +msgstr "Área principal" | |
6003 | 5951 | |
6004 | 5952 | #: app/views/box_organizer/add_block.html.erb:8 |
6005 | 5953 | msgid "Area %d" |
... | ... | @@ -6020,7 +5968,7 @@ msgstr "Mostrar este bloque:" |
6020 | 5968 | #: app/views/box_organizer/edit.html.erb:16 |
6021 | 5969 | #, fuzzy |
6022 | 5970 | msgid "Display to users:" |
6023 | -msgstr "Mostrar el color" | |
5971 | +msgstr "Mostrar a los usuarios:" | |
6024 | 5972 | |
6025 | 5973 | #: app/views/box_organizer/edit.html.erb:20 |
6026 | 5974 | msgid "all languages" |
... | ... | @@ -6031,18 +5979,17 @@ msgid "Show for:" |
6031 | 5979 | msgstr "Mostrar para:" |
6032 | 5980 | |
6033 | 5981 | #: app/views/box_organizer/edit.html.erb:24 |
6034 | -#, fuzzy | |
6035 | 5982 | msgid "Edit options:" |
6036 | -msgstr "Configuración del correo" | |
5983 | +msgstr "Editar las opciones:" | |
6037 | 5984 | |
6038 | 5985 | #: app/views/box_organizer/edit.html.erb:27 |
6039 | -#, fuzzy | |
6040 | 5986 | msgid "Move options:" |
6041 | -msgstr "Opciones de moderación" | |
5987 | +msgstr "Mover las opciones:" | |
6042 | 5988 | |
6043 | 5989 | #: app/views/box_organizer/edit.html.erb:33 |
5990 | +#, fuzzy | |
6044 | 5991 | msgid "Mirror" |
6045 | -msgstr "" | |
5992 | +msgstr "Espejo" | |
6046 | 5993 | |
6047 | 5994 | #: app/views/box_organizer/index.html.erb:1 |
6048 | 5995 | msgid "Editing sideboxes" |
... | ... | @@ -6069,9 +6016,8 @@ msgid "Manage Products/Services" |
6069 | 6016 | msgstr "Administrar productos y servicios" |
6070 | 6017 | |
6071 | 6018 | #: app/views/catalog/index.html.erb:28 |
6072 | -#, fuzzy | |
6073 | 6019 | msgid "Highlighted product" |
6074 | -msgstr "Destacar este producto" | |
6020 | +msgstr "Producto destacado" | |
6075 | 6021 | |
6076 | 6022 | #: app/views/catalog/index.html.erb:33 |
6077 | 6023 | #: app/views/cms/_text_editor_sidebar.html.erb:5 |
... | ... | @@ -6147,9 +6093,8 @@ msgid "Display in the menu" |
6147 | 6093 | msgstr "Mostrar en el menú" |
6148 | 6094 | |
6149 | 6095 | #: app/views/categories/_form.html.erb:24 |
6150 | -#, fuzzy | |
6151 | 6096 | msgid "Pick a color" |
6152 | -msgstr "Mostrar el color" | |
6097 | +msgstr "Elige un color" | |
6153 | 6098 | |
6154 | 6099 | #: app/views/categories/_form.html.erb:28 |
6155 | 6100 | #: app/views/manage_products/_form.html.erb:11 |
... | ... | @@ -6215,7 +6160,7 @@ msgstr "Descripción:" |
6215 | 6160 | #: app/views/cms/_blog.html.erb:60 |
6216 | 6161 | #, fuzzy |
6217 | 6162 | msgid "Cover image:" |
6218 | -msgstr "Sin imagen" | |
6163 | +msgstr "Imagen de portada:" | |
6219 | 6164 | |
6220 | 6165 | #: app/views/cms/_blog.html.erb:61 |
6221 | 6166 | #: app/views/manage_products/_edit_image.html.erb:8 |
... | ... | @@ -6234,11 +6179,12 @@ msgstr "Primer párrafo" |
6234 | 6179 | #: app/views/cms/_blog.html.erb:68 |
6235 | 6180 | #, fuzzy |
6236 | 6181 | msgid "First paragraph, with post picture" |
6237 | -msgstr "Primer párrafo" | |
6182 | +msgstr "Primer párrafo, con imagen de la publicación" | |
6238 | 6183 | |
6239 | 6184 | #: app/views/cms/_blog.html.erb:69 |
6185 | +#, fuzzy | |
6240 | 6186 | msgid "Title, Image, Lead" |
6241 | -msgstr "" | |
6187 | +msgstr "Título, Imagen, Lead" | |
6242 | 6188 | |
6243 | 6189 | #: app/views/cms/_blog.html.erb:72 app/views/cms/_forum.html.erb:15 |
6244 | 6190 | msgid "Posts per page:" |
... | ... | @@ -6287,15 +6233,15 @@ msgid "Drag images to add them to the text." |
6287 | 6233 | msgstr "Arrastrar imágenes para añadirlas al texto." |
6288 | 6234 | |
6289 | 6235 | #: app/views/cms/_drag_and_drop_note.html.erb:4 |
6290 | -#, fuzzy | |
6291 | 6236 | msgid "Click on file names to add links to the text." |
6292 | -msgstr "Arrastrar imágenes para añadirlas al texto." | |
6237 | +msgstr "Haz clic en los nombres de los archivos para añadir enlaces al texto." | |
6293 | 6238 | |
6294 | 6239 | #: app/views/cms/_enterprise_homepage.html.erb:3 |
6295 | 6240 | msgid "Text" |
6296 | 6241 | msgstr "Texto" |
6297 | 6242 | |
6298 | 6243 | #: app/views/cms/_event.html.erb:11 |
6244 | +#, fuzzy | |
6299 | 6245 | msgid "%Y-%m-%d %H:%M" |
6300 | 6246 | msgstr "" |
6301 | 6247 | |
... | ... | @@ -6310,7 +6256,7 @@ msgstr "Mi foro" |
6310 | 6256 | #: app/views/cms/_forum.html.erb:17 |
6311 | 6257 | #, fuzzy |
6312 | 6258 | msgid "Has terms of use:" |
6313 | -msgstr "términos de uso" | |
6259 | +msgstr "Tiene términos de uso:" | |
6314 | 6260 | |
6315 | 6261 | #: app/views/cms/_forum.html.erb:20 |
6316 | 6262 | #, fuzzy |
... | ... | @@ -6321,7 +6267,7 @@ msgstr "Términos de uso" |
6321 | 6267 | #: app/views/cms/_general_fields.html.erb:1 |
6322 | 6268 | #, fuzzy |
6323 | 6269 | msgid "Parent folder:" |
6324 | -msgstr "Carpeta padre" | |
6270 | +msgstr "Carpeta padre:" | |
6325 | 6271 | |
6326 | 6272 | #: app/views/cms/_general_fields.html.erb:3 |
6327 | 6273 | msgid "License" |
... | ... | @@ -6330,18 +6276,17 @@ msgstr "Licencia" |
6330 | 6276 | #: app/views/cms/_link_article.html.erb:3 |
6331 | 6277 | #, fuzzy |
6332 | 6278 | msgid "Reference" |
6333 | -msgstr "Dirección: " | |
6279 | +msgstr "Referencia" | |
6334 | 6280 | |
6335 | 6281 | #: app/views/cms/_media_new_folder.html.erb:1 |
6336 | -#, fuzzy | |
6337 | 6282 | msgid "Create new folder" |
6338 | -msgstr "Crear nuevo rol" | |
6283 | +msgstr "Crear nueva carpeta" | |
6339 | 6284 | |
6340 | 6285 | # contexto de parent |
6341 | 6286 | #: app/views/cms/_media_new_folder.html.erb:3 |
6342 | 6287 | #, fuzzy |
6343 | 6288 | msgid "Choose parent folder:" |
6344 | -msgstr "Carpeta padre" | |
6289 | +msgstr "Eligir carpeta principal:" | |
6345 | 6290 | |
6346 | 6291 | #: app/views/cms/_media_new_folder.html.erb:11 |
6347 | 6292 | #: app/views/manage_products/_form.html.erb:6 |
... | ... | @@ -6392,9 +6337,8 @@ msgid "Add to the text" |
6392 | 6337 | msgstr "Añadir al texto" |
6393 | 6338 | |
6394 | 6339 | #: app/views/cms/_text_editor_sidebar.html.erb:8 |
6395 | -#, fuzzy | |
6396 | 6340 | msgid "Show/Hide" |
6397 | -msgstr "Mostrar" | |
6341 | +msgstr "Mostrar/Esconder" | |
6398 | 6342 | |
6399 | 6343 | #: app/views/cms/_text_editor_sidebar.html.erb:8 |
6400 | 6344 | msgid "Insert media" |
... | ... | @@ -6407,24 +6351,21 @@ msgstr "Selecciona la carpeta para subir los archivos:" |
6407 | 6351 | |
6408 | 6352 | # contexto de parent |
6409 | 6353 | #: app/views/cms/_text_editor_sidebar.html.erb:21 |
6410 | -#, fuzzy | |
6411 | 6354 | msgid "New folder" |
6412 | -msgstr "Carpeta padre" | |
6355 | +msgstr "Nueva carpeta" | |
6413 | 6356 | |
6414 | 6357 | #: app/views/cms/_text_editor_sidebar.html.erb:26 |
6415 | -#, fuzzy | |
6416 | 6358 | msgid "Hide all uploads" |
6417 | -msgstr "Ver todos los productos" | |
6359 | +msgstr "Esconder todos los archivos subidos" | |
6418 | 6360 | |
6419 | 6361 | #: app/views/cms/_text_editor_sidebar.html.erb:27 |
6420 | -#, fuzzy | |
6421 | 6362 | msgid "Show all uploads" |
6422 | -msgstr "Ver todos los productos" | |
6363 | +msgstr "Ver todos los archivos subidos" | |
6423 | 6364 | |
6424 | 6365 | #: app/views/cms/_text_editor_sidebar.html.erb:33 |
6425 | 6366 | #, fuzzy |
6426 | 6367 | msgid "Recent media" |
6427 | -msgstr "Insertar multimedia" | |
6368 | +msgstr "Media reciente" | |
6428 | 6369 | |
6429 | 6370 | #: app/views/cms/_textile_quick_reference.html.erb:3 |
6430 | 6371 | msgid "Textile markup quick reference" |
... | ... | @@ -6511,7 +6452,7 @@ msgstr "Usar como página de inicio" |
6511 | 6452 | #: app/views/cms/_view_items.html.erb:23 app/views/cms/view.html.erb:10 |
6512 | 6453 | #, fuzzy |
6513 | 6454 | msgid "Reset homepage" |
6514 | -msgstr "Usar como página de inicio" | |
6455 | +msgstr "Reajustar página de inicio" | |
6515 | 6456 | |
6516 | 6457 | #: app/views/cms/destroy.html.erb:1 |
6517 | 6458 | msgid "Delete: %s" |
... | ... | @@ -6566,40 +6507,44 @@ msgid "Separate tags with commas" |
6566 | 6507 | msgstr "Separa las etiquetas con comas" |
6567 | 6508 | |
6568 | 6509 | #: app/views/cms/publish.html.erb:3 |
6569 | -#, fuzzy | |
6570 | 6510 | msgid "Where do you want to publish this article?" |
6571 | -msgstr "Selecciona los grupos donde quieres publicar tu artículo" | |
6511 | +msgstr "¿Dónde quieres publicar este artículo?" | |
6572 | 6512 | |
6573 | 6513 | #: app/views/cms/publish.html.erb:7 |
6574 | 6514 | msgid "There were errors with the following communities: " |
6575 | 6515 | msgstr "Hubo errores con las siguientes comunidades: " |
6576 | 6516 | |
6577 | 6517 | #: app/views/cms/publish.html.erb:22 |
6578 | -#, fuzzy | |
6579 | 6518 | msgid "Publish this article on your profile" |
6580 | -msgstr "Publicar tu artículo en el portal comunitario" | |
6519 | +msgstr "Publicar este artículo en tu perfil" | |
6581 | 6520 | |
6582 | 6521 | #: app/views/cms/publish.html.erb:23 |
6522 | +#, fuzzy | |
6583 | 6523 | msgid "" |
6584 | 6524 | "You can publish this article on your profile where your friends and " |
6585 | 6525 | "followers will see." |
6586 | 6526 | msgstr "" |
6527 | +"Puedes publicar este artículo en tu perfil donde tus amigos y seguidores lo " | |
6528 | +"verán." | |
6587 | 6529 | |
6588 | 6530 | #: app/views/cms/publish.html.erb:37 |
6589 | 6531 | #, fuzzy |
6590 | 6532 | msgid "Publish this article on communities you are part of" |
6591 | -msgstr "Publicar tu artículo en el portal comunitario" | |
6533 | +msgstr "Publicar este artículo en comunidades de que eres parte" | |
6592 | 6534 | |
6593 | 6535 | #: app/views/cms/publish.html.erb:38 |
6536 | +#, fuzzy | |
6594 | 6537 | msgid "" |
6595 | 6538 | "You can submit this article to one or more communities you are a member of, " |
6596 | 6539 | "just search for the community below." |
6597 | 6540 | msgstr "" |
6541 | +"Puedes entregar este artículo en una o más comunidades de que eres parte, " | |
6542 | +"sólo hay que buscar la comunidad abajo." | |
6598 | 6543 | |
6599 | 6544 | #: app/views/cms/publish.html.erb:42 |
6600 | 6545 | #, fuzzy |
6601 | 6546 | msgid "Type in a search for your community" |
6602 | -msgstr "Escribe un término de búsqueda para los usuarios" | |
6547 | +msgstr "Escribe un término de búsqueda para tu comunidad" | |
6603 | 6548 | |
6604 | 6549 | #: app/views/cms/publish.html.erb:54 |
6605 | 6550 | #: app/views/cms/publish_on_portal_community.html.erb:2 |
... | ... | @@ -6607,10 +6552,13 @@ msgid "Publish your article on portal community" |
6607 | 6552 | msgstr "Publicar tu artículo en el portal comunitario" |
6608 | 6553 | |
6609 | 6554 | #: app/views/cms/publish.html.erb:55 |
6555 | +#, fuzzy | |
6610 | 6556 | msgid "" |
6611 | 6557 | "You can suggest this article to the portal community, where it can show up " |
6612 | 6558 | "on the homepage." |
6613 | 6559 | msgstr "" |
6560 | +"Puedes sugerir este artículo para la comunidad del portal, donde puede " | |
6561 | +"aparecer en la página de incio." | |
6614 | 6562 | |
6615 | 6563 | #: app/views/cms/publish_on_portal_community.html.erb:14 |
6616 | 6564 | msgid "There is no portal community in this environment." |
... | ... | @@ -6690,10 +6638,9 @@ msgstr "Gestión de contenido" |
6690 | 6638 | #: app/views/cms/view.html.erb:7 |
6691 | 6639 | #, fuzzy |
6692 | 6640 | msgid "Profile homepage:" |
6693 | -msgstr "Imagen de perfil" | |
6641 | +msgstr "Página de incio del perfil:" | |
6694 | 6642 | |
6695 | 6643 | #: app/views/cms/view.html.erb:12 |
6696 | -#, fuzzy | |
6697 | 6644 | msgid "Profile Information" |
6698 | 6645 | msgstr "Información del perfil" |
6699 | 6646 | |
... | ... | @@ -6793,17 +6740,15 @@ msgid "Post comment" |
6793 | 6740 | msgstr "Publicar comentario" |
6794 | 6741 | |
6795 | 6742 | #: app/views/comment_notifier/mail_to_followers.html.erb:1 |
6796 | -#, fuzzy | |
6797 | 6743 | msgid "Hi!" |
6798 | -msgstr "¡Hola %s!" | |
6744 | +msgstr "¡Hola!" | |
6799 | 6745 | |
6800 | 6746 | #: app/views/comment_notifier/mail_to_followers.html.erb:3 |
6801 | -#, fuzzy | |
6802 | 6747 | msgid "" |
6803 | 6748 | "%{sender} (%{sender_link}) commented on the content \"%{article_title}\"." |
6804 | 6749 | msgstr "" |
6805 | -"%{sender} (%{sender_link}) creó un nuevo comentario en tu artículo" | |
6806 | -"\"%{article_title}\"." | |
6750 | +"%{sender} (%{sender_link}) creó un nuevo comentario en el artículo\"" | |
6751 | +"%{article_title}\"." | |
6807 | 6752 | |
6808 | 6753 | #: app/views/comment_notifier/mail_to_followers.html.erb:5 |
6809 | 6754 | #: app/views/comment_notifier/notification.text.erb:5 |
... | ... | @@ -6816,14 +6761,14 @@ msgid "Comment:" |
6816 | 6761 | msgstr "Comentario: " |
6817 | 6762 | |
6818 | 6763 | #: app/views/comment_notifier/mail_to_followers.html.erb:12 |
6819 | -#, fuzzy | |
6820 | 6764 | msgid "Click on the address below to view this comment:" |
6821 | -msgstr "Accede a la dirección de abajo para ver este comentario:" | |
6765 | +msgstr "Haz clic en la dirección de abajo para ver este comentario:" | |
6822 | 6766 | |
6823 | 6767 | #: app/views/comment_notifier/mail_to_followers.html.erb:15 |
6824 | -#, fuzzy | |
6825 | 6768 | msgid "Click on the address below to cancel the notification of new comments:" |
6826 | -msgstr "Accede a la dirección de abajo para ver este comentario:" | |
6769 | +msgstr "" | |
6770 | +"Haz clic en la dirección de abajo para cancelar las notificaciones de nuevos " | |
6771 | +"comentarios:" | |
6827 | 6772 | |
6828 | 6773 | #: app/views/comment_notifier/mail_to_followers.html.erb:18 |
6829 | 6774 | #: app/views/comment_notifier/notification.text.erb:15 |
... | ... | @@ -6880,13 +6825,12 @@ msgid "Send an e-mail to %s" |
6880 | 6825 | msgstr "Enviar correo electrónico a %s" |
6881 | 6826 | |
6882 | 6827 | #: app/views/contact/new.html.erb:4 |
6883 | -#, fuzzy | |
6884 | 6828 | msgid "Send an e-mail to administrators" |
6885 | -msgstr "Enviar correo electrónico a %s" | |
6829 | +msgstr "Enviar un correo electrónico a los administradores" | |
6886 | 6830 | |
6887 | 6831 | #: app/views/contact/new.html.erb:6 |
6888 | 6832 | msgid "The e-mail will be sent to the administrators of '%s'" |
6889 | -msgstr "" | |
6833 | +msgstr "Se va a enviar el correo electrónico a los administradores de '%s'" | |
6890 | 6834 | |
6891 | 6835 | #: app/views/contact/new.html.erb:31 |
6892 | 6836 | msgid "I want to receive a copy of the message in my e-mail." |
... | ... | @@ -6918,34 +6862,34 @@ msgstr "Sugerir un artículo" |
6918 | 6862 | |
6919 | 6863 | #: app/views/content_viewer/_article_toolbar.html.erb:51 |
6920 | 6864 | #: app/views/content_viewer/versioned_article.html.erb:8 |
6921 | -#, fuzzy | |
6922 | 6865 | msgid "All versions" |
6923 | -msgstr "Ver todos los productos" | |
6866 | +msgstr "Todas las versiones" | |
6924 | 6867 | |
6925 | 6868 | #: app/views/content_viewer/_article_toolbar.html.erb:65 |
6926 | -#, fuzzy | |
6927 | 6869 | msgid "RSS feed" |
6928 | 6870 | msgstr "Noticias RSS" |
6929 | 6871 | |
6930 | 6872 | #: app/views/content_viewer/_confirm_unfollow.html.erb:3 |
6931 | 6873 | msgid "Cancel notification of new comments" |
6932 | -msgstr "" | |
6874 | +msgstr "Cancelar notificaciones de nuevos comentarios" | |
6933 | 6875 | |
6934 | 6876 | #: app/views/content_viewer/_confirm_unfollow.html.erb:4 |
6877 | +#, fuzzy | |
6935 | 6878 | msgid "" |
6936 | 6879 | "Fill in the following field with your e-mail if you don't want to be " |
6937 | 6880 | "notified when this content receives new comments anymore." |
6938 | 6881 | msgstr "" |
6882 | +"Rellene el siguiente campo con tu correo electrónico si ya no quieres " | |
6883 | +"notificaciones cuando este artículo reciba nuevos comentarios." | |
6939 | 6884 | |
6940 | 6885 | #: app/views/content_viewer/_confirm_unfollow.html.erb:7 |
6941 | -#, fuzzy | |
6942 | 6886 | msgid "Enter your e-Mail" |
6943 | -msgstr "Escribe tu comentario" | |
6887 | +msgstr "Introduce tu correo electrónico" | |
6944 | 6888 | |
6945 | 6889 | #: app/views/content_viewer/_confirm_unfollow.html.erb:9 |
6946 | 6890 | #, fuzzy |
6947 | 6891 | msgid "Cancel notifications for e-mail above" |
6948 | -msgstr "Cancela recuperación de correos electronicos" | |
6892 | +msgstr "Cancelar notificaciones para el correo electrónico arriba" | |
6949 | 6893 | |
6950 | 6894 | #: app/views/content_viewer/_publishing_info.html.erb:19 |
6951 | 6895 | msgid "Viewed one time" |
... | ... | @@ -6955,24 +6899,27 @@ msgstr[1] "Visto %{num} veces" |
6955 | 6899 | |
6956 | 6900 | #: app/views/content_viewer/_publishing_info.html.erb:25 |
6957 | 6901 | #: app/views/content_viewer/versioned_article.html.erb:33 |
6902 | +#, fuzzy | |
6958 | 6903 | msgid "Licensed under %s" |
6959 | -msgstr "" | |
6904 | +msgstr "Licenciada debajo %s" | |
6960 | 6905 | |
6961 | 6906 | #: app/views/content_viewer/article_versions.html.erb:2 |
6962 | 6907 | #, fuzzy |
6963 | 6908 | msgid "Go back to latest version" |
6964 | -msgstr "Regresar a %s" | |
6909 | +msgstr "Regresar a la version anterior" | |
6965 | 6910 | |
6966 | 6911 | #: app/views/content_viewer/article_versions.html.erb:7 |
6912 | +#, fuzzy | |
6967 | 6913 | msgid "" |
6968 | 6914 | "This is the list of all versions of this content. Select a version to see it " |
6969 | 6915 | "and then revert to it." |
6970 | 6916 | msgstr "" |
6917 | +"Esta es la lista de todas las versiones de este contenido. Elige una versión " | |
6918 | +"para verla y luego revertirla." | |
6971 | 6919 | |
6972 | 6920 | #: app/views/content_viewer/article_versions.html.erb:15 |
6973 | -#, fuzzy | |
6974 | 6921 | msgid "Version %s" |
6975 | -msgstr "Permisos" | |
6922 | +msgstr "Versión %s" | |
6976 | 6923 | |
6977 | 6924 | #: app/views/content_viewer/article_versions.html.erb:16 |
6978 | 6925 | #: app/views/profile_themes/index.html.erb:16 |
... | ... | @@ -6984,11 +6931,11 @@ msgstr "(actual)" |
6984 | 6931 | #: app/views/content_viewer/article_versions.html.erb:17 |
6985 | 6932 | #, fuzzy |
6986 | 6933 | msgid "by %{author}" |
6987 | -msgstr "Autor" | |
6934 | +msgstr "Por %{author}" | |
6988 | 6935 | |
6989 | 6936 | #: app/views/content_viewer/article_versions.html.erb:56 |
6990 | 6937 | msgid "Show differences between selected versions" |
6991 | -msgstr "" | |
6938 | +msgstr "Mostrar las diferencias entre las versiones seleccionadas" | |
6992 | 6939 | |
6993 | 6940 | #: app/views/content_viewer/blog_page.html.erb:3 |
6994 | 6941 | msgid "(external feed was not loaded yet)" |
... | ... | @@ -7021,45 +6968,43 @@ msgstr "Regresar a la galeria" |
7021 | 6968 | |
7022 | 6969 | #: app/views/content_viewer/versioned_article.html.erb:2 |
7023 | 6970 | #: app/views/content_viewer/versions_diff.html.erb:2 |
7024 | -#, fuzzy | |
7025 | 6971 | msgid "Back to the versions" |
7026 | -msgstr "Regresar a la lista de productos" | |
6972 | +msgstr "Regresar a las versiones" | |
7027 | 6973 | |
7028 | 6974 | #: app/views/content_viewer/versioned_article.html.erb:11 |
7029 | -#, fuzzy | |
7030 | 6975 | msgid "Revert to this version" |
7031 | -msgstr "No hay eventos para esta fecha" | |
6976 | +msgstr "Revertir a esta versión" | |
7032 | 6977 | |
7033 | 6978 | #: app/views/content_viewer/versioned_article.html.erb:16 |
7034 | -#, fuzzy | |
7035 | 6979 | msgid "Go to latest version" |
7036 | -msgstr "No hay eventos para esta fecha" | |
6980 | +msgstr "Ir a la última versión" | |
7037 | 6981 | |
7038 | 6982 | #: app/views/content_viewer/versioned_article.html.erb:20 |
6983 | +#, fuzzy | |
7039 | 6984 | msgid "Version %{version} - %{author} on %{date}" |
7040 | -msgstr "" | |
6985 | +msgstr "Versión %{version} - %{author} en %{date}" | |
7041 | 6986 | |
7042 | 6987 | #: app/views/content_viewer/versioned_article.html.erb:24 |
7043 | 6988 | msgid "This is not the latest version of this content." |
7044 | 6989 | msgstr "" |
7045 | 6990 | |
7046 | 6991 | #: app/views/content_viewer/versions_diff.html.erb:5 |
7047 | -#, fuzzy | |
7048 | 6992 | msgid "Changes on \"%s\"" |
7049 | -msgstr "Cambiando rol de %s" | |
6993 | +msgstr "Cambios en \"%s\"" | |
7050 | 6994 | |
7051 | 6995 | #: app/views/content_viewer/versions_diff.html.erb:7 |
6996 | +#, fuzzy | |
7052 | 6997 | msgid "Changes from %s → %s" |
7053 | -msgstr "" | |
6998 | +msgstr "Cambios de %s → 1 %s" | |
7054 | 6999 | |
7055 | 7000 | #: app/views/content_viewer/versions_diff.html.erb:12 |
7001 | +#, fuzzy | |
7056 | 7002 | msgid "These versions range have no differences." |
7057 | -msgstr "" | |
7003 | +msgstr "Estas versiones no tienen diferencias." | |
7058 | 7004 | |
7059 | 7005 | #: app/views/content_viewer/view_page.html.erb:13 |
7060 | -#, fuzzy | |
7061 | 7006 | msgid "comments" |
7062 | -msgstr "comentario" | |
7007 | +msgstr "comentarios" | |
7063 | 7008 | |
7064 | 7009 | #: app/views/content_viewer/view_page.html.erb:14 |
7065 | 7010 | msgid "No comments yet" |
... | ... | @@ -7074,14 +7019,12 @@ msgid "This article's tags:" |
7074 | 7019 | msgstr "Etiquetas de este artículo:" |
7075 | 7020 | |
7076 | 7021 | #: app/views/content_viewer/view_page.html.erb:76 |
7077 | -#, fuzzy | |
7078 | 7022 | msgid "Oldest first" |
7079 | -msgstr "Fecha (más antiguo primero)" | |
7023 | +msgstr "Más antiguo primero" | |
7080 | 7024 | |
7081 | 7025 | #: app/views/content_viewer/view_page.html.erb:76 |
7082 | -#, fuzzy | |
7083 | 7026 | msgid "Newest first" |
7084 | -msgstr "Fecha (más reciente primero)" | |
7027 | +msgstr "Más reciente primero" | |
7085 | 7028 | |
7086 | 7029 | #: app/views/doc/_path.html.erb:2 |
7087 | 7030 | msgid "You are here:" |
... | ... | @@ -7183,7 +7126,7 @@ msgstr "Ahora ya puedes administrar tu empresa." |
7183 | 7126 | #: app/views/enterprise_registration/creation.html.erb:5 |
7184 | 7127 | #: app/views/memberships/welcome.html.erb:5 |
7185 | 7128 | msgid "What can I do with a %s?" |
7186 | -msgstr "" | |
7129 | +msgstr "¿Qué puedo hacer con un %s?" | |
7187 | 7130 | |
7188 | 7131 | #: app/views/enterprise_registration/select_validator.html.erb:1 |
7189 | 7132 | msgid "Enterprise registration: validator organization" |
... | ... | @@ -7468,9 +7411,8 @@ msgstr "¿Mostrar al crear?" |
7468 | 7411 | #: app/views/features/_manage_community_fields.html.erb:13 |
7469 | 7412 | #: app/views/features/_manage_enterprise_fields.html.erb:13 |
7470 | 7413 | #: app/views/features/_manage_person_fields.html.erb:13 |
7471 | -#, fuzzy | |
7472 | 7414 | msgid "Check/Uncheck All" |
7473 | -msgstr "Desmarcar todos" | |
7415 | +msgstr "Marcar/Desmarcar todos" | |
7474 | 7416 | |
7475 | 7417 | #: app/views/features/_manage_community_fields.html.erb:60 |
7476 | 7418 | #: app/views/features/_manage_enterprise_fields.html.erb:60 |
... | ... | @@ -7529,13 +7471,15 @@ msgid "Configure features" |
7529 | 7471 | msgstr "Configurar características" |
7530 | 7472 | |
7531 | 7473 | #: app/views/features/index.html.erb:29 |
7474 | +#, fuzzy | |
7532 | 7475 | msgid "Page to redirect after signup" |
7533 | -msgstr "" | |
7476 | +msgstr "Página se va a redirigir después de la inscripción" | |
7534 | 7477 | |
7535 | 7478 | #: app/views/features/index.html.erb:32 |
7536 | 7479 | #: app/views/profile_editor/_redirection_after_login.html.erb:5 |
7480 | +#, fuzzy | |
7537 | 7481 | msgid "Page to redirect after login" |
7538 | -msgstr "" | |
7482 | +msgstr "La página se va a redirigir después de iniciar una sesión" | |
7539 | 7483 | |
7540 | 7484 | #: app/views/features/index.html.erb:36 |
7541 | 7485 | msgid "Organization Approval Method" |
... | ... | @@ -7549,37 +7493,36 @@ msgstr "Miembros: %s" |
7549 | 7493 | #: app/views/features/index.html.erb:43 |
7550 | 7494 | #, fuzzy |
7551 | 7495 | msgid "Enable whitelist" |
7552 | -msgstr "Habilitar correo electrónico" | |
7496 | +msgstr "Habilitar la lista blanca" | |
7553 | 7497 | |
7554 | 7498 | #: app/views/features/index.html.erb:46 |
7555 | 7499 | #, fuzzy |
7556 | 7500 | msgid "Allow these people to access this environment:" |
7557 | -msgstr "¿Deseas ver otras personas en este entorno?" | |
7501 | +msgstr "¿Deseas permitir que otras personas puedan acceder este entorno?" | |
7558 | 7502 | |
7559 | 7503 | #: app/views/features/manage_fields.html.erb:1 |
7560 | 7504 | #, fuzzy |
7561 | 7505 | msgid "Manage fields displayed for profiles" |
7562 | -msgstr "Administrar roles de usuarios" | |
7506 | +msgstr "Administrar campos mostrados para perfiles" | |
7563 | 7507 | |
7564 | 7508 | #: app/views/features/manage_fields.html.erb:6 |
7565 | 7509 | #, fuzzy |
7566 | 7510 | msgid "Person's fields" |
7567 | -msgstr "Manejar los campos de personas" | |
7511 | +msgstr "Los campos de personas" | |
7568 | 7512 | |
7569 | 7513 | #: app/views/features/manage_fields.html.erb:8 |
7570 | 7514 | #, fuzzy |
7571 | 7515 | msgid "Community's fields" |
7572 | -msgstr "Perfil de la comunidad" | |
7516 | +msgstr "Campos de la comunidad" | |
7573 | 7517 | |
7574 | 7518 | #: app/views/features/manage_fields.html.erb:11 |
7575 | 7519 | #, fuzzy |
7576 | 7520 | msgid "Enterprise's fields" |
7577 | -msgstr "Perfil de empresas" | |
7521 | +msgstr "Campos de empresas" | |
7578 | 7522 | |
7579 | 7523 | #: app/views/file_presenter/_generic.html.erb:5 |
7580 | -#, fuzzy | |
7581 | 7524 | msgid "Download" |
7582 | -msgstr "Abajo" | |
7525 | +msgstr "Descargar" | |
7583 | 7526 | |
7584 | 7527 | #: app/views/file_presenter/_image.html.erb:7 |
7585 | 7528 | #: app/views/file_presenter/_image.html.erb:9 |
... | ... | @@ -7608,9 +7551,8 @@ msgstr "Contenido etiquetado con \"%s\"" |
7608 | 7551 | |
7609 | 7552 | #: app/views/friends/connections.html.erb:4 |
7610 | 7553 | #: app/views/friends/suggest.html.erb:4 |
7611 | -#, fuzzy | |
7612 | 7554 | msgid "Go to friends list" |
7613 | -msgstr "No tienes nuevos amigos aun." | |
7555 | +msgstr "Ir a la lista de amigos" | |
7614 | 7556 | |
7615 | 7557 | #: app/views/friends/index.html.erb:3 app/views/profile/friends.html.erb:3 |
7616 | 7558 | msgid "%s's friends" |
... | ... | @@ -7633,12 +7575,11 @@ msgstr "Encontrar gente" |
7633 | 7575 | #: app/views/profile/friends.html.erb:21 |
7634 | 7576 | #, fuzzy |
7635 | 7577 | msgid "Invite people" |
7636 | -msgstr "Invitar miembros" | |
7578 | +msgstr "Invitar gente" | |
7637 | 7579 | |
7638 | 7580 | #: app/views/friends/index.html.erb:31 |
7639 | -#, fuzzy | |
7640 | 7581 | msgid "Friends suggestions" |
7641 | -msgstr "Sugerencia de artículos" | |
7582 | +msgstr "Sugerencias de amigos" | |
7642 | 7583 | |
7643 | 7584 | #: app/views/friends/remove.html.erb:3 |
7644 | 7585 | msgid "Removing friend: %s" |
... | ... | @@ -7657,14 +7598,12 @@ msgstr "" |
7657 | 7598 | "también quiera eliminarte de su lista de amigos." |
7658 | 7599 | |
7659 | 7600 | #: app/views/friends/remove_suggestion.html.erb:2 |
7660 | -#, fuzzy | |
7661 | 7601 | msgid "Removing suggestion for friend: %s" |
7662 | -msgstr "Eliminando amigo: %s" | |
7602 | +msgstr "Eliminando sugerencia de amigo: %s" | |
7663 | 7603 | |
7664 | 7604 | #: app/views/friends/suggest.html.erb:1 |
7665 | -#, fuzzy | |
7666 | 7605 | msgid "Friends suggestions for %s" |
7667 | -msgstr "Ajustes de perfil para %s" | |
7606 | +msgstr "Sugerencias de amigos para %s" | |
7668 | 7607 | |
7669 | 7608 | #: app/views/home/index.html.erb:2 |
7670 | 7609 | msgid "News" |
... | ... | @@ -7717,15 +7656,18 @@ msgid "user" |
7717 | 7656 | msgstr "usuario" |
7718 | 7657 | |
7719 | 7658 | #: app/views/home/welcome.html.erb:15 |
7659 | +#, fuzzy | |
7720 | 7660 | msgid "Wait for admin approvement!" |
7721 | -msgstr "" | |
7661 | +msgstr "¡Espera que la admin lo apruebe!" | |
7722 | 7662 | |
7723 | 7663 | #: app/views/home/welcome.html.erb:16 |
7664 | +#, fuzzy | |
7724 | 7665 | msgid "The administrators will evaluate your signup request for approvement." |
7725 | 7666 | msgstr "" |
7667 | +"Los administradores van a evaluar tu solicitud de inscripción para " | |
7668 | +"aprobación." | |
7726 | 7669 | |
7727 | 7670 | #: app/views/home/welcome.html.erb:17 |
7728 | -#, fuzzy | |
7729 | 7671 | msgid "You won't appear as %s until your account is approved." |
7730 | 7672 | msgstr "No aparecerás como %s hasta que tu cuenta sea confirmada." |
7731 | 7673 | |
... | ... | @@ -7734,14 +7676,18 @@ msgid "What to do next?" |
7734 | 7676 | msgstr "¿Qué hacer después?" |
7735 | 7677 | |
7736 | 7678 | #: app/views/home/welcome.html.erb:20 |
7679 | +#, fuzzy | |
7737 | 7680 | msgid "Access your %s and see your face on the network!" |
7738 | -msgstr "" | |
7681 | +msgstr "¡Acceder tu %s y ver tu cara en la red!" | |
7739 | 7682 | |
7740 | 7683 | #: app/views/home/welcome.html.erb:22 |
7684 | +#, fuzzy | |
7741 | 7685 | msgid "" |
7742 | 7686 | "You can also explore your %s to customize your profile. Here are some %s on " |
7743 | 7687 | "what you can do there." |
7744 | 7688 | msgstr "" |
7689 | +"También puedes explorar tu %s para personalizar tu perfil. Aquí están " | |
7690 | +"algunos %s de qué puedes hacer allí." | |
7745 | 7691 | |
7746 | 7692 | #: app/views/home/welcome.html.erb:23 |
7747 | 7693 | #: app/views/profile_editor/index.html.erb:6 |
... | ... | @@ -7750,7 +7696,7 @@ msgstr "Panel de control" |
7750 | 7696 | |
7751 | 7697 | #: app/views/home/welcome.html.erb:24 |
7752 | 7698 | msgid "tips" |
7753 | -msgstr "" | |
7699 | +msgstr "consejos" | |
7754 | 7700 | |
7755 | 7701 | #: app/views/home/welcome.html.erb:25 |
7756 | 7702 | msgid "Invite and find" |
... | ... | @@ -7777,7 +7723,7 @@ msgstr "¡Comienza explorando y diviértete!" |
7777 | 7723 | |
7778 | 7724 | #: app/views/home/welcome.html.erb:29 |
7779 | 7725 | msgid "What can I do as a %s?" |
7780 | -msgstr "" | |
7726 | +msgstr "¿Qué puedo hacer como un %s?" | |
7781 | 7727 | |
7782 | 7728 | #: app/views/invite/_dialog_wait_loading.html.erb:8 |
7783 | 7729 | msgid "Please, wait..." |
... | ... | @@ -7848,7 +7794,7 @@ msgstr "" |
7848 | 7794 | #: app/views/invite/invite_friends.html.erb:2 |
7849 | 7795 | #, fuzzy |
7850 | 7796 | msgid "Ask for friendship" |
7851 | -msgstr "%s amigos" | |
7797 | +msgstr "Pedir la amistad" | |
7852 | 7798 | |
7853 | 7799 | #: app/views/invite/invite_friends.html.erb:3 |
7854 | 7800 | msgid "You can search for user profiles and ask them to become your friends." | ... | ... |
po/pt/noosfero.po
... | ... | @@ -13,8 +13,8 @@ msgid "" |
13 | 13 | msgstr "" |
14 | 14 | "Project-Id-Version: 1.3~rc2-8-g01ea9f7\n" |
15 | 15 | "POT-Creation-Date: 2015-11-04 12:36-0300\n" |
16 | -"PO-Revision-Date: 2016-03-14 15:58+0000\n" | |
17 | -"Last-Translator: Eduardo Vital <vitaldu@gmail.com>\n" | |
16 | +"PO-Revision-Date: 2016-06-20 20:14+0000\n" | |
17 | +"Last-Translator: Gabriel Silva <gabriel93.silva@gmail.com>\n" | |
18 | 18 | "Language-Team: Portuguese " |
19 | 19 | "<https://hosted.weblate.org/projects/noosfero/noosfero/pt/>\n" |
20 | 20 | "Language: pt\n" |
... | ... | @@ -22,7 +22,7 @@ msgstr "" |
22 | 22 | "Content-Type: text/plain; charset=UTF-8\n" |
23 | 23 | "Content-Transfer-Encoding: 8bit\n" |
24 | 24 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
25 | -"X-Generator: Weblate 2.5\n" | |
25 | +"X-Generator: Weblate 2.7-dev\n" | |
26 | 26 | |
27 | 27 | #: app/models/approve_comment.rb:17 |
28 | 28 | msgid "Anonymous" |
... | ... | @@ -4141,7 +4141,7 @@ msgstr "%s não pôde ser desabilitado" |
4141 | 4141 | |
4142 | 4142 | #: app/controllers/admin/organizations_controller.rb:52 |
4143 | 4143 | msgid "%s removed" |
4144 | -msgstr "% foi removido" | |
4144 | +msgstr "%s foi removido" | |
4145 | 4145 | |
4146 | 4146 | #: app/controllers/admin/organizations_controller.rb:54 |
4147 | 4147 | msgid "%s could not be removed" | ... | ... |
public/designs/themes/base-responsive/style.scss
... | ... | @@ -2042,16 +2042,6 @@ table.cms-articles .article-name { |
2042 | 2042 | font-weight: bold; |
2043 | 2043 | } |
2044 | 2044 | |
2045 | -#theme-footer #language-chooser { | |
2046 | - text-align: left; | |
2047 | -} | |
2048 | - | |
2049 | -/* armengue */ | |
2050 | -/* didn't find why .no-boxes has bigger width than its parent */ | |
2051 | -.no-boxes { | |
2052 | - width: 96%; | |
2053 | -} | |
2054 | - | |
2055 | 2045 | @media screen and (min-width:1200px) { |
2056 | 2046 | #top-bar a.icon-help { |
2057 | 2047 | font-size: 0; | ... | ... |
test/api/blocks_test.rb
... | ... | @@ -53,6 +53,16 @@ class BlocksTest < ActiveSupport::TestCase |
53 | 53 | assert_equal 403, last_response.status |
54 | 54 | end |
55 | 55 | |
56 | + should 'get an invisible profile block for an user with permission' do | |
57 | + profile = fast_create(Profile, public_profile: false) | |
58 | + profile.add_admin(person) | |
59 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
60 | + block = fast_create(Block, box_id: box.id) | |
61 | + get "/api/v1/blocks/#{block.id}?#{params.to_query}" | |
62 | + json = JSON.parse(last_response.body) | |
63 | + assert_equal block.id, json["block"]["id"] | |
64 | + end | |
65 | + | |
56 | 66 | should 'get a block for an user with permission in a private profile' do |
57 | 67 | profile = fast_create(Profile, public_profile: false) |
58 | 68 | profile.add_admin(person) |
... | ... | @@ -94,4 +104,41 @@ class BlocksTest < ActiveSupport::TestCase |
94 | 104 | assert_equal "<div>test</div>", json["block"]["api_content"]["html"] |
95 | 105 | end |
96 | 106 | |
107 | + should 'not allow block edition when user has not the permission for profile' do | |
108 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
109 | + block = fast_create(Block, box_id: box.id) | |
110 | + post "/api/v1/blocks/#{block.id}?#{params.to_query}" | |
111 | + assert_equal 403, last_response.status | |
112 | + end | |
113 | + | |
114 | + should 'allow block edition when user has permission to edit profile design' do | |
115 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
116 | + block = fast_create(Block, box_id: box.id) | |
117 | + give_permission(person, 'edit_profile_design', profile) | |
118 | + params[:block] = {title: 'block title'} | |
119 | + post "/api/v1/blocks/#{block.id}?#{params.to_query}" | |
120 | + json = JSON.parse(last_response.body) | |
121 | + assert_equal 201, last_response.status | |
122 | + assert_equal 'block title', json['block']['title'] | |
123 | + end | |
124 | + | |
125 | + should 'save custom block parameters' do | |
126 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
127 | + block = fast_create(RawHTMLBlock, box_id: box.id) | |
128 | + Environment.default.add_admin(person) | |
129 | + params[:block] = {title: 'block title', html: "block content"} | |
130 | + post "/api/v1/blocks/#{block.id}?#{params.to_query}" | |
131 | + json = JSON.parse(last_response.body) | |
132 | + assert_equal 201, last_response.status | |
133 | + assert_equal 'block content', json['block']['api_content']['html'] | |
134 | + end | |
135 | + | |
136 | + should 'list block permissions when get a block' do | |
137 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
138 | + block = fast_create(Block, box_id: box.id) | |
139 | + give_permission(person, 'edit_profile_design', profile) | |
140 | + get "/api/v1/blocks/#{block.id}?#{params.to_query}" | |
141 | + json = JSON.parse(last_response.body) | |
142 | + assert_includes json["block"]["permissions"], 'allow_edit' | |
143 | + end | |
97 | 144 | end | ... | ... |
test/api/boxes_test.rb
... | ... | @@ -81,6 +81,18 @@ class BoxesTest < ActiveSupport::TestCase |
81 | 81 | assert_equal [block.id], json["boxes"].first["blocks"].map {|b| b['id']} |
82 | 82 | end |
83 | 83 | |
84 | + should 'list a block with not logged in display_user for an admin user' do | |
85 | + profile = fast_create(Profile) | |
86 | + profile.add_admin(person) | |
87 | + box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | |
88 | + block = fast_create(Block, box_id: box.id) | |
89 | + block.display_user = 'not_logged' | |
90 | + block.save! | |
91 | + get "/api/v1/profiles/#{profile.id}/boxes?#{params.to_query}" | |
92 | + json = JSON.parse(last_response.body) | |
93 | + assert_equal [block.id], json["boxes"].first["blocks"].map {|b| b['id']} | |
94 | + end | |
95 | + | |
84 | 96 | should 'not list boxes for user without permission' do |
85 | 97 | profile = fast_create(Profile, public_profile: false) |
86 | 98 | box = fast_create(Box, :owner_id => profile.id, :owner_type => Profile.name) | ... | ... |
test/api/profiles_test.rb
... | ... | @@ -191,4 +191,13 @@ class ProfilesTest < ActiveSupport::TestCase |
191 | 191 | post "/api/v1/profiles/#{profile.id}?#{params.to_query}" |
192 | 192 | assert_equal 403, last_response.status |
193 | 193 | end |
194 | + | |
195 | + should 'list profile permissions when get an article' do | |
196 | + login_api | |
197 | + profile = fast_create(Profile) | |
198 | + give_permission(person, 'post_content', profile) | |
199 | + get "/api/v1/profiles/#{profile.id}?#{params.to_query}" | |
200 | + json = JSON.parse(last_response.body) | |
201 | + assert_includes json["permissions"], 'allow_post_content' | |
202 | + end | |
194 | 203 | end | ... | ... |
test/integration/safe_strings_test.rb
... | ... | @@ -175,4 +175,15 @@ class SafeStringsTest < ActionDispatch::IntegrationTest |
175 | 175 | assert_select '.icon-selector .icon-edit' |
176 | 176 | end |
177 | 177 | |
178 | + should 'not escape read more link to article on display short format' do | |
179 | + profile = fast_create Profile | |
180 | + blog = fast_create Blog, :name => 'Blog', :profile_id => profile.id | |
181 | + fast_create(TinyMceArticle, :name => "Post Test", :profile_id => profile.id, :parent_id => blog.id, :accept_comments => false, :body => '<p>Lorem ipsum dolor sit amet</p>') | |
182 | + blog.update_attribute(:visualization_format, 'short') | |
183 | + | |
184 | + get "/#{profile.identifier}/blog" | |
185 | + assert_tag :tag => 'div', :attributes => {:class => 'read-more'}, :child => {:tag => 'a', :content => 'Read more'} | |
186 | + end | |
187 | + | |
188 | + | |
178 | 189 | end | ... | ... |
test/test_helper.rb
... | ... | @@ -8,7 +8,7 @@ require 'rails/test_help' |
8 | 8 | |
9 | 9 | require 'mocha' |
10 | 10 | require 'mocha/mini_test' |
11 | - | |
11 | +require "minitest/spec" | |
12 | 12 | require "minitest/reporters" |
13 | 13 | Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new, ENV, Minitest.backtrace_filter |
14 | 14 | |
... | ... | @@ -52,19 +52,13 @@ class ActiveSupport::TestCase |
52 | 52 | # then set this back to true. |
53 | 53 | self.use_instantiated_fixtures = false |
54 | 54 | |
55 | - # Add more helper methods to be used by all tests here... | |
55 | + extend Test::Should | |
56 | 56 | |
57 | - # for fixture_file_upload | |
58 | 57 | include ActionDispatch::TestProcess |
59 | - | |
60 | 58 | include Noosfero::Factory |
61 | - | |
62 | 59 | include AuthenticatedTestHelper |
63 | - | |
64 | 60 | include PerformanceHelper |
65 | 61 | |
66 | - extend Test::Should | |
67 | - | |
68 | 62 | fixtures :environments, :roles |
69 | 63 | |
70 | 64 | def self.all_fixtures | ... | ... |
test/unit/block_test.rb
... | ... | @@ -421,4 +421,60 @@ class BlockTest < ActiveSupport::TestCase |
421 | 421 | block.expects(:display_to_user?).returns(false) |
422 | 422 | assert !block.visible_to_user?(nil) |
423 | 423 | end |
424 | + | |
425 | + should 'not allow block edition when user has not the permission for profile design' do | |
426 | + block = Block.new | |
427 | + profile = fast_create(Profile) | |
428 | + block.stubs(:owner).returns(profile) | |
429 | + person = create_user('person_one').person | |
430 | + assert !block.allow_edit?(person) | |
431 | + end | |
432 | + | |
433 | + should 'allow block edition when user has permission to edit profile design' do | |
434 | + block = Block.new | |
435 | + profile = fast_create(Profile) | |
436 | + block.stubs(:owner).returns(profile) | |
437 | + person = create_user('person_one').person | |
438 | + give_permission(person, 'edit_profile_design', profile) | |
439 | + assert block.allow_edit?(person) | |
440 | + end | |
441 | + | |
442 | + should 'not allow block edition when user is nil' do | |
443 | + block = Block.new | |
444 | + assert !block.allow_edit?(nil) | |
445 | + end | |
446 | + | |
447 | + should 'not allow block edition when block is not editable' do | |
448 | + block = Block.new | |
449 | + person = create_user('person_one').person | |
450 | + block.expects(:editable?).returns(false) | |
451 | + assert !block.allow_edit?(person) | |
452 | + end | |
453 | + | |
454 | + should 'allow block edition when block is not editable but user is admin' do | |
455 | + block = Block.new | |
456 | + profile = fast_create(Profile) | |
457 | + block.stubs(:owner).returns(profile) | |
458 | + person = create_user('person_one').person | |
459 | + Environment.default.add_admin(person) | |
460 | + block.stubs(:editable?).returns(false) | |
461 | + assert block.allow_edit?(person) | |
462 | + end | |
463 | + | |
464 | + should 'not allow block edition when user has not the permission for environment design' do | |
465 | + block = Block.new | |
466 | + environment = Environment.default | |
467 | + block.stubs(:owner).returns(environment) | |
468 | + person = create_user('person_one').person | |
469 | + assert !block.allow_edit?(person) | |
470 | + end | |
471 | + | |
472 | + should 'allow block edition when user has the permission for environment design' do | |
473 | + block = Block.new | |
474 | + environment = Environment.default | |
475 | + block.stubs(:owner).returns(environment) | |
476 | + person = create_user('person_one').person | |
477 | + give_permission(person, 'edit_environment_design', environment) | |
478 | + assert block.allow_edit?(person) | |
479 | + end | |
424 | 480 | end | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -2204,4 +2204,24 @@ class ProfileTest < ActiveSupport::TestCase |
2204 | 2204 | assert_not_includes profiles, p3 |
2205 | 2205 | assert_not_includes profiles, p4 |
2206 | 2206 | end |
2207 | + | |
2208 | + ['post_content', 'edit_profile', 'destroy_profile'].each do |permission| | |
2209 | + should "return true in #{permission} when user has this permission" do | |
2210 | + profile = fast_create(Profile) | |
2211 | + person = fast_create(Person) | |
2212 | + give_permission(person, permission, profile) | |
2213 | + assert profile.send("allow_#{permission.gsub(/_profile/,'')}?", person) | |
2214 | + end | |
2215 | + | |
2216 | + should "return false in #{permission} when user doesn't have this permission" do | |
2217 | + profile = fast_create(Profile) | |
2218 | + person = fast_create(Person) | |
2219 | + assert !profile.send("allow_#{permission.gsub(/_profile/,'')}?", person) | |
2220 | + end | |
2221 | + | |
2222 | + should "return false in #{permission} when user is nil" do | |
2223 | + profile = fast_create(Profile) | |
2224 | + assert !profile.send("allow_#{permission.gsub(/_profile/,'')}?", nil) | |
2225 | + end | |
2226 | + end | |
2207 | 2227 | end | ... | ... |