Commit 6f872902d343d319f6716a6e99bab1f1fa3b5e08
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'next' into AI3133-email_article_to_community_members
Showing
242 changed files
with
25499 additions
and
14541 deletions
Show diff stats
Too many changes.
To preserve performance only 100 of 242 files displayed.
AUTHORS.md
... | ... | @@ -120,16 +120,21 @@ Diego Araujo + Rodrigo Souto + Rafael Manzo <rr.manzo@gmail.com> |
120 | 120 | Diego + Jefferson <diegoamc90@gmail.com> |
121 | 121 | Diego Martinez <diegoamc90@gmail.com> |
122 | 122 | Diego + Renan <renanteruoc@gmail.com> |
123 | +DylanGuedes <djmgguedes@gmail.com> | |
124 | +Eduardo Passos <eduardo@risa.localdomain.localhost> | |
125 | +Eduardo Passos <eduardosteps@gmail.com> | |
123 | 126 | Eduardo Tourinho Edington <eduardo.edington@serpro.gov.br> |
124 | 127 | Evandro Jr <evandrojr@gmail.com> |
125 | 128 | Evandro Junior <evandrojr@gmail.com> |
126 | 129 | Fabio Teixeira <fabio1079@gmail.com> |
130 | +FAMMA TV NOTICIAS MEDIOS DE CO <revistafammatvmusic.oficial@gmail.com> | |
127 | 131 | Fernanda Lopes <nanda.listas+psl@gmail.com> |
128 | 132 | Francisco Marcelo A. Lima Júnior <francisco.lima-junior@serpro.gov.br> |
129 | 133 | Francisco Marcelo de Araujo Lima Junior <79350259591@serpro-1457614.(none)> |
130 | 134 | Francisco Marcelo de Araújo Lima Júnior <francisco.lima-junior@serpro.gov.br> |
131 | 135 | Francisco Marcelo de Araújo Lima Júnior <maljunior@gmail.com> |
132 | 136 | Gabriela Navarro <navarro1703@gmail.com> |
137 | +Gonzalo Exequiel Pedone <hipersayan.x@gmail.com> | |
133 | 138 | Grazieno Pellegrino <grazieno@gmail.com> |
134 | 139 | Gust <darksshades@hotmail.com> |
135 | 140 | Hebert Douglas <hebertdougl@gmail.com> |
... | ... | @@ -186,18 +191,23 @@ Leandro Nunes dos Santos <81665687568@serpro-1541727.(none)> |
186 | 191 | Leandro Nunes dos Santos <leandronunes@gmail.com> |
187 | 192 | Leandro Nunes dos Santos <leandro.santos@serpro.gov.br> |
188 | 193 | LinguÁgil 2010 <linguagil.bahia@gmail.com> |
194 | +Lucas Kanashiro <kanashiro.duarte@gmail.com> | |
189 | 195 | Lucas Melo <lucas@colivre.coop.br> |
190 | 196 | Lucas Melo <lucaspradomelo@gmail.com> |
191 | 197 | Luciano <lucianopcbr@gmail.com> |
192 | 198 | Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> |
193 | 199 | Luis David Aguilar Carlos <ludwig9003@gmail.com> |
194 | 200 | Luiz Fernando de Freitas Matos <luiz@luizff.matos@gmail.com> |
201 | +Marcos <marcos.rpj2@gmail.com> | |
195 | 202 | Marcos Ramos <ms.ramos@outlook.com> |
196 | 203 | Martín Olivera <molivera@solar.org.ar> |
204 | +Maurilio Atila <cabelotaina@gmail.com> | |
205 | +M for Momo <mo@rtnp.org> | |
197 | 206 | Michal Čihař <michal@cihar.com> |
198 | 207 | Moises Machado <moises@colivre.coop.br> |
199 | 208 | Naíla Alves <naila@colivre.coop.br> |
200 | 209 | Nanda Lopes <nanda.listas+psl@gmail.com> |
210 | +Niemand Jedermann <predatorix@web.de> | |
201 | 211 | Parley Martins <parleypachecomartins@gmail.com> |
202 | 212 | Paulo Meirelles + Alessandro Palmeira + João M. M. da Silva <paulo@softwarelivre.org> |
203 | 213 | Paulo Meirelles + Alessandro Palmeira <paulo@softwarelivre.org> |
... | ... | @@ -234,8 +244,11 @@ Ronny Kursawe <kursawe.ronny@googlemail.com> |
234 | 244 | root <root@debian.sdr.serpro> |
235 | 245 | Samuel R. C. Vale <srcvale@holoscopio.com> |
236 | 246 | Tallys Martins <tallysmartins@gmail.com> |
247 | +Tallys Martins <tallysmartins@yahoo.com.br> | |
248 | +tallys <tallys@tallys> | |
237 | 249 | tallys <tallys@tallys.(none)> |
238 | 250 | Thiago Zoroastro <thiago.zoroastro@bol.com.br> |
251 | +Tuux <tuxa@galaxie.eu.org> | |
239 | 252 | Valessio Brito <contato@valessiobrito.com.br> |
240 | 253 | Valessio Brito <contato@valessiobrito.info> |
241 | 254 | Valessio Brito <valessio@gmail.com> | ... | ... |
Gemfile
... | ... | @@ -2,7 +2,7 @@ source "https://rubygems.org" |
2 | 2 | gem 'rails', '~> 3.2.21' |
3 | 3 | gem 'minitest', '~> 3.2.0' |
4 | 4 | gem 'fast_gettext', '~> 0.6.8' |
5 | -gem 'acts-as-taggable-on', '~> 3.0.2' | |
5 | +gem 'acts-as-taggable-on', '~> 3.4.2' | |
6 | 6 | gem 'rails_autolink', '~> 1.1.5' |
7 | 7 | gem 'pg', '~> 0.13.2' |
8 | 8 | gem 'rmagick', '~> 2.13.1' |
... | ... | @@ -15,10 +15,10 @@ gem 'nokogiri', '~> 1.5.5' |
15 | 15 | gem 'rake', :require => false |
16 | 16 | gem 'rest-client', '~> 1.6.7' |
17 | 17 | gem 'exception_notification', '~> 4.0.1' |
18 | -gem 'gettext', '~> 2.2.1', :require => false, :group => :development | |
18 | +gem 'gettext', '~> 2.2.1', :require => false | |
19 | 19 | gem 'locale', '~> 2.0.5' |
20 | 20 | gem 'whenever', :require => false |
21 | -gem 'eita-jrails', :require => false | |
21 | +gem 'eita-jrails', '>= 0.9.5', :require => 'jrails' | |
22 | 22 | |
23 | 23 | group :production do |
24 | 24 | gem 'dalli', '~> 2.7.0' | ... | ... |
... | ... | @@ -0,0 +1,60 @@ |
1 | +Noosfero Instructions for Theme Developers | |
2 | +========================================== | |
3 | + | |
4 | +To build Noosfero themes you must to know HTML and CSS. You may also get some advantages with Ruby and Noosfero hacking knowledge because all customizable pieces of the theme's HTML structure are [erb](http://en.wikipedia.org/wiki/ERuby) files. | |
5 | + | |
6 | + | |
7 | +Organization Basics | |
8 | +------------------- | |
9 | + | |
10 | +A theme is a directory and must inside `noosfero/public/designs/themes`, and you will find tis themes in a fresh installation: | |
11 | +`noosfero`, `aluminium`, `base`, `butter`, `chameleon`, `chocolate`, `orange`, `plum`, `scarletred` and `skyblue`. The `default` is only a link to `noosfero` and you can change this link to any other. | |
12 | + | |
13 | +`noosfero` is the default theme with a big header. All other are colored themes with a thin header. That colored ones can be used as additional themes for any environment, as they will search for `/images/thin-logo.png` inside the current environment.theme, to use as top left logo. | |
14 | + | |
15 | +Inside a theme we can found: | |
16 | +* `theme.yml` — Theme description with some nice configuration options. | |
17 | +* `preview.png` — A 100x100 screenshot of this theme to the theme selection UI. | |
18 | +* `style.css` — The main file. The magic happens here. | |
19 | +* `errors.css` — Change the error page look. (only if this theme is linked by `defaut`) | |
20 | +* `favicon.ico` — The identifier icon for your web site. | |
21 | +* `images` — Another name can be found by your CSS, but will not allow to reuse the logo. | |
22 | + * `thin-logo.png` — The logo to be reused by the colored themes. | |
23 | + * *many images...* | |
24 | +* `site_title.html.erb` — A nice place to put your logo, any code here will be placed inside `h1#site-title`. | |
25 | +* `header.html.erb` — That goes inside `div#theme-header`. | |
26 | +* `navigation.html.erb` — That goes inside `div#navigation ul`, so use `<li>`s. | |
27 | +* `footer.html.erb` — That goes inside `div#theme-footer`. | |
28 | + | |
29 | +You can add more files like javascript and modularized CSS, but you must to refer that by the described files above. | |
30 | + | |
31 | +To refer one of this files trough the web the path is `<domain>/designs/themes/<thistheme>/<somefile>`. | |
32 | + | |
33 | + | |
34 | +theme.yml | |
35 | +--------- | |
36 | + | |
37 | +A simple definition file. See this example: | |
38 | +```yml | |
39 | +name: "My Cool Theme" | |
40 | +layout: "application-ng" | |
41 | +jquery_theme: "smoothness" | |
42 | +icon_theme: [default, pidgin] | |
43 | +gravatar: "retro" | |
44 | +``` | |
45 | + | |
46 | +About non obvious: | |
47 | +* `layout` is about the theme structure to use. The `application-ng` is enough for 99.97358% use cases. If you want to use another structure, you must add a new `*.html.erb` file at `app/views/layouts/`. | |
48 | +* `icon_theme` point to something inside `public/designs/icons/`. | |
49 | +* `gravatar` set the default gravatar *(avatar picture)* for people without picture. | |
50 | + | |
51 | + | |
52 | +Theme Intervention from Environment Theme | |
53 | +----------------------------------------- | |
54 | + | |
55 | +Sometimes an environment (as instace http://cirandas.net) wants to allow profiles to set its own theme, but with some environment identification or functions, like a top bar with the social network logo and a top menu (as instace http://cirandas.net/rango-vegan). | |
56 | +To make the magic happens you can add some files to the environment theme. | |
57 | +All are optional: | |
58 | +* `global.css` — this must be used to style all extra html added by your intervention partials. As it is a free form css file you can style anything, but this is a conflict risk. | |
59 | +* `global_header.html.erb` — Will add content to `#global-header`. | |
60 | +* `global_footer.html.erb` — Will add content to `#global-footer`. | ... | ... |
... | ... | @@ -0,0 +1,18 @@ |
1 | +# This Rakefile is intentionally independent from Rails to it can be used to | |
2 | +# handle release-related tasks without having to load the entire Rails | |
3 | +# environment (which is slow, requires a database connection and several other | |
4 | +# inconveniences). | |
5 | + | |
6 | +$: << 'lib' | |
7 | +require 'noosfero' | |
8 | +require 'noosfero/version' | |
9 | + | |
10 | +load 'lib/tasks/gettext.rake' | |
11 | +load 'lib/tasks/doc.rake' | |
12 | +load 'lib/tasks/error_messages.rake' | |
13 | +load 'lib/tasks/translation.rake' | |
14 | + | |
15 | +load 'lib/tasks/package.rake' | |
16 | +load 'lib/tasks/release.rake' | |
17 | + | |
18 | +task :default => 'noosfero:translations:compile' | ... | ... |
app/controllers/application_controller.rb
... | ... | @@ -179,6 +179,7 @@ class ApplicationController < ActionController::Base |
179 | 179 | include SearchTermHelper |
180 | 180 | |
181 | 181 | def find_by_contents(asset, context, scope, query, paginate_options={:page => 1}, options={}) |
182 | + scope = scope.with_templates(options[:template_id]) unless options[:template_id].blank? | |
182 | 183 | search = plugins.dispatch_first(:find_by_contents, asset, scope, query, paginate_options, options) |
183 | 184 | register_search_term(query, scope.count, search[:results].count, context, asset) |
184 | 185 | search | ... | ... |
app/controllers/public/account_controller.rb
... | ... | @@ -315,7 +315,11 @@ class AccountController < ApplicationController |
315 | 315 | session[:notice] = nil # consume the notice |
316 | 316 | end |
317 | 317 | |
318 | - @plugins.each { |plugin| user_data.merge!(plugin.user_data_extras) } | |
318 | + @plugins.each do |plugin| | |
319 | + user_data_extras = plugin.user_data_extras | |
320 | + user_data_extras = instance_exec(&user_data_extras) if user_data_extras.kind_of?(Proc) | |
321 | + user_data.merge!(user_data_extras) | |
322 | + end | |
319 | 323 | |
320 | 324 | render :text => user_data.to_json, :layout => false, :content_type => "application/javascript" |
321 | 325 | end | ... | ... |
app/controllers/public/content_viewer_controller.rb
... | ... | @@ -221,7 +221,7 @@ class ContentViewerController < ApplicationController |
221 | 221 | # relation. |
222 | 222 | posts = posts.native_translations if blog_with_translation?(@page) |
223 | 223 | |
224 | - @posts = posts.paginate({ :page => params[:npage], :per_page => @page.posts_per_page }.merge(Article.display_filter(user, profile))).to_a | |
224 | + @posts = posts.display_filter(user, profile).paginate({ :page => params[:npage], :per_page => @page.posts_per_page }).to_a | |
225 | 225 | |
226 | 226 | if blog_with_translation?(@page) |
227 | 227 | @posts.replace @posts.map{ |p| p.get_translation_to(FastGettext.locale) }.compact | ... | ... |
app/controllers/public/search_controller.rb
... | ... | @@ -9,6 +9,7 @@ class SearchController < PublicController |
9 | 9 | before_filter :load_search_assets, :except => :suggestions |
10 | 10 | before_filter :load_query, :except => :suggestions |
11 | 11 | before_filter :load_order, :except => :suggestions |
12 | + before_filter :load_templates, :except => :suggestions | |
12 | 13 | |
13 | 14 | # Backwards compatibility with old URLs |
14 | 15 | def redirect_asset_param |
... | ... | @@ -61,7 +62,7 @@ class SearchController < PublicController |
61 | 62 | end |
62 | 63 | |
63 | 64 | def articles |
64 | - @scope = @environment.articles.public | |
65 | + @scope = @environment.articles.public.paginate(paginate_options) | |
65 | 66 | full_text_search |
66 | 67 | end |
67 | 68 | |
... | ... | @@ -75,7 +76,7 @@ class SearchController < PublicController |
75 | 76 | end |
76 | 77 | |
77 | 78 | def products |
78 | - @scope = @environment.products | |
79 | + @scope = @environment.products.paginate(paginate_options) | |
79 | 80 | full_text_search |
80 | 81 | end |
81 | 82 | |
... | ... | @@ -210,6 +211,11 @@ class SearchController < PublicController |
210 | 211 | end |
211 | 212 | end |
212 | 213 | |
214 | + def load_templates | |
215 | + @templates = {} | |
216 | + @templates[@asset] = environment.send(@asset.to_s).templates if [:people, :enterprises, :communities].include?(@asset) | |
217 | + end | |
218 | + | |
213 | 219 | def limit |
214 | 220 | if map_search?(@searches) |
215 | 221 | MAP_SEARCH_LIMIT |
... | ... | @@ -230,7 +236,7 @@ class SearchController < PublicController |
230 | 236 | end |
231 | 237 | |
232 | 238 | def full_text_search |
233 | - @searches[@asset] = find_by_contents(@asset, environment, @scope, @query, paginate_options, {:category => @category, :filter => @order}) | |
239 | + @searches[@asset] = find_by_contents(@asset, environment, @scope, @query, paginate_options, {:category => @category, :filter => @order, :template_id => params[:template_id]}) | |
234 | 240 | end |
235 | 241 | |
236 | 242 | private |
... | ... | @@ -238,7 +244,7 @@ class SearchController < PublicController |
238 | 244 | def visible_profiles(klass, *extra_relations) |
239 | 245 | relations = [:image, :domains, :environment, :preferred_domain] |
240 | 246 | relations += extra_relations |
241 | - @environment.send(klass.name.underscore.pluralize).visible.includes(relations) | |
247 | + @environment.send(klass.name.underscore.pluralize).visible.includes(relations).paginate(paginate_options) | |
242 | 248 | end |
243 | 249 | |
244 | 250 | def per_page | ... | ... |
app/controllers/public_controller.rb
... | ... | @@ -13,7 +13,7 @@ class PublicController < ApplicationController |
13 | 13 | |
14 | 14 | def private_profile |
15 | 15 | private_profile_partial_parameters |
16 | - render :template => 'shared/access_denied.html.erb', :status => 403 | |
16 | + render :template => 'profile/_private_profile', :status => 403, :formats => [:html] | |
17 | 17 | end |
18 | 18 | |
19 | 19 | def invisible_profile | ... | ... |
app/helpers/application_helper.rb
... | ... | @@ -212,6 +212,7 @@ module ApplicationHelper |
212 | 212 | end |
213 | 213 | |
214 | 214 | def button(type, label, url, html_options = {}) |
215 | + html_options ||= {} | |
215 | 216 | the_class = 'with-text' |
216 | 217 | if html_options.has_key?(:class) |
217 | 218 | the_class << ' ' << html_options[:class] |
... | ... | @@ -398,19 +399,27 @@ module ApplicationHelper |
398 | 399 | end |
399 | 400 | end |
400 | 401 | |
401 | - def theme_view_file(template) | |
402 | + def theme_view_file(template, theme=nil) | |
402 | 403 | # Since we cannot control what people are doing in external themes, we |
403 | 404 | # will keep looking for the deprecated .rhtml extension here. |
404 | - file = Rails.root.join('public', theme_path[1..-1], template + '.html.erb') | |
405 | + addr = theme ? "designs/themes/#{theme}" : theme_path[1..-1] | |
406 | + file = Rails.root.join('public', addr, template + '.html.erb') | |
405 | 407 | return file if File.exists?(file) |
406 | 408 | nil |
407 | 409 | end |
408 | 410 | |
409 | 411 | def theme_include(template, options = {}) |
410 | - file = theme_view_file(template) | |
411 | - options.merge!({:file => file, :use_full_path => false}) | |
412 | + from_theme_include(nil, template, options) | |
413 | + end | |
414 | + | |
415 | + def env_theme_include(template, options = {}) | |
416 | + from_theme_include(environment.theme, template, options) | |
417 | + end | |
418 | + | |
419 | + def from_theme_include(theme, template, options = {}) | |
420 | + file = theme_view_file(template, theme) | |
412 | 421 | if file |
413 | - render options | |
422 | + render options.merge(file: file, use_full_path: false) | |
414 | 423 | else |
415 | 424 | nil |
416 | 425 | end |
... | ... | @@ -446,6 +455,14 @@ module ApplicationHelper |
446 | 455 | @theme_extra_navigation ||= theme_include 'navigation' |
447 | 456 | end |
448 | 457 | |
458 | + def global_header | |
459 | + @global_header ||= env_theme_include 'global_header' | |
460 | + end | |
461 | + | |
462 | + def global_footer | |
463 | + @global_footer ||= env_theme_include 'global_footer' | |
464 | + end | |
465 | + | |
449 | 466 | def is_testing_theme |
450 | 467 | !controller.session[:theme].nil? |
451 | 468 | end | ... | ... |
app/helpers/cms_helper.rb
... | ... | @@ -9,12 +9,6 @@ module CmsHelper |
9 | 9 | mime_type.gsub('/', '_').gsub('-', '') |
10 | 10 | end |
11 | 11 | |
12 | - def add_upload_file_field(name, locals) | |
13 | - button_to_function :add, name, nil do |page| | |
14 | - page.insert_html :bottom, :uploaded_files, CGI::escapeHTML(render(:partial => 'upload_file', :locals => locals, :object => UploadedFile.new)) | |
15 | - end | |
16 | - end | |
17 | - | |
18 | 12 | def pagination_links(collection, options={}) |
19 | 13 | options = {:previous_label => '« ', :next_label => ' »', :page_links => false}.merge(options) |
20 | 14 | will_paginate(collection, options) | ... | ... |
app/helpers/dates_helper.rb
... | ... | @@ -2,13 +2,15 @@ require 'noosfero/i18n' |
2 | 2 | |
3 | 3 | module DatesHelper |
4 | 4 | |
5 | - MONTHS = I18n.t('date.month_names') | |
5 | + def months | |
6 | + I18n.t('date.month_names') | |
7 | + end | |
6 | 8 | |
7 | 9 | def month_name(n, abbreviated = false) |
8 | 10 | if abbreviated |
9 | 11 | I18n.t('date.abbr_month_names')[n] |
10 | 12 | else |
11 | - MONTHS[n] | |
13 | + months[n] | |
12 | 14 | end |
13 | 15 | end |
14 | 16 | |
... | ... | @@ -37,7 +39,7 @@ module DatesHelper |
37 | 39 | end |
38 | 40 | end |
39 | 41 | |
40 | - # formats a datetime for displaying. | |
42 | + # formats a datetime for displaying. | |
41 | 43 | def show_time(time) |
42 | 44 | if time |
43 | 45 | _('%{day} %{month} %{year}, %{hour}:%{minutes}') % { :year => time.year, :month => month_name(time.month), :day => time.day, :hour => time.hour, :minutes => time.strftime("%M") } |
... | ... | @@ -138,7 +140,7 @@ module DatesHelper |
138 | 140 | else |
139 | 141 | order = [:day, :month, :year] |
140 | 142 | end |
141 | - date_select(object, method, html_options.merge(options.merge(:include_blank => true, :order => order, :use_month_names => MONTHS))) | |
143 | + date_select(object, method, html_options.merge(options.merge(:include_blank => true, :order => order, :use_month_names => months))) | |
142 | 144 | end |
143 | 145 | |
144 | 146 | end | ... | ... |
app/helpers/layout_helper.rb
... | ... | @@ -49,24 +49,33 @@ module LayoutHelper |
49 | 49 | 'selectordie', |
50 | 50 | 'inputosaurus', |
51 | 51 | 'chat', |
52 | + 'selectordie-theme', | |
52 | 53 | pngfix_stylesheet_path, |
53 | 54 | ] + tokeninput_stylesheets |
54 | - plugins_stylesheets = @plugins.select(&:stylesheet?).map { |plugin| plugin.class.public_path('style.css') } | |
55 | - | |
56 | - output = '' | |
57 | - output += stylesheet_link_tag standard_stylesheets, :cache => 'cache/application' | |
58 | - output += stylesheet_link_tag template_stylesheet_path | |
59 | - output += stylesheet_link_tag icon_theme_stylesheet_path | |
60 | - output += stylesheet_link_tag jquery_ui_theme_stylesheet_path | |
55 | + plugins_stylesheets = @plugins.select(&:stylesheet?).map { |plugin| | |
56 | + plugin.class.public_path('style.css') | |
57 | + } | |
58 | + global_css_pub = "/designs/themes/#{environment.theme}/global.css" | |
59 | + global_css_at_fs = Rails.root.join 'public' + global_css_pub | |
60 | + | |
61 | + output = [] | |
62 | + output << stylesheet_link_tag(standard_stylesheets, :cache => 'cache/application') | |
63 | + output << stylesheet_link_tag(template_stylesheet_path) | |
64 | + output << stylesheet_link_tag(icon_theme_stylesheet_path) | |
65 | + output << stylesheet_link_tag(jquery_ui_theme_stylesheet_path) | |
61 | 66 | unless plugins_stylesheets.empty? |
62 | - output += stylesheet_link_tag plugins_stylesheets, :cache => "cache/plugins-#{Digest::MD5.hexdigest plugins_stylesheets.to_s}" | |
67 | + cacheid = "cache/plugins-#{Digest::MD5.hexdigest plugins_stylesheets.to_s}" | |
68 | + output << stylesheet_link_tag(plugins_stylesheets, :cache => cacheid) | |
63 | 69 | end |
64 | - output += stylesheet_link_tag theme_stylesheet_path | |
65 | - output | |
70 | + if File.exists? global_css_at_fs | |
71 | + output << stylesheet_link_tag(global_css_pub) | |
72 | + end | |
73 | + output << stylesheet_link_tag(theme_stylesheet_path) | |
74 | + output.join "\n" | |
66 | 75 | end |
67 | 76 | |
68 | 77 | def pngfix_stylesheet_path |
69 | - 'iepngfix/iepngfix.css' | |
78 | + 'iepngfix/iepngfix.css' #TODO: deprecate it | |
70 | 79 | end |
71 | 80 | |
72 | 81 | def tokeninput_stylesheets | ... | ... |
app/helpers/plugins_helper.rb
... | ... | @@ -6,4 +6,11 @@ module PluginsHelper |
6 | 6 | end |
7 | 7 | end |
8 | 8 | |
9 | + def plugins_toolbar_actions_for_article(article) | |
10 | + toolbar_actions = Array.wrap(@plugins.dispatch(:article_extra_toolbar_buttons, article)) | |
11 | + toolbar_actions.each do |action| | |
12 | + [:title, :url, :icon].each { |param| raise "No #{param} was passed as parameter for #{action}" unless action.has_key?(param) } | |
13 | + end | |
14 | + end | |
15 | + | |
9 | 16 | end | ... | ... |
app/helpers/search_helper.rb
... | ... | @@ -148,4 +148,11 @@ module SearchHelper |
148 | 148 | link_to(@enabled_searches[asset], "/search/#{asset}") |
149 | 149 | end |
150 | 150 | |
151 | + def assets_submenu(asset) | |
152 | + return '' if @templates[asset].blank? || @templates[asset].length == 1 | |
153 | + options = @templates[asset].map {|template| [template.name, template.id]} | |
154 | + options = options_for_select([[_('Choose a template'), nil]] + options, selected: (params[:template_id])) | |
155 | + select_tag('template_id', options, :id => 'submenu') | |
156 | + end | |
157 | + | |
151 | 158 | end | ... | ... |
app/models/add_friend.rb
... | ... | @@ -4,7 +4,7 @@ class AddFriend < Task |
4 | 4 | |
5 | 5 | validates_presence_of :requestor_id, :target_id |
6 | 6 | |
7 | - validates_uniqueness_of :target_id, :scope => [ :requestor_id ] | |
7 | + validates_uniqueness_of :target_id, scope: [ :requestor_id, :status ], if: proc{ |t| t.status == Task::Status::ACTIVE } | |
8 | 8 | |
9 | 9 | validates_length_of :group_for_person, :group_for_friend, :maximum => 150, :allow_nil => true |
10 | 10 | ... | ... |
app/models/article.rb
... | ... | @@ -486,15 +486,18 @@ class Article < ActiveRecord::Base |
486 | 486 | scope :more_comments, :order => "comments_count DESC" |
487 | 487 | scope :more_recent, :order => "created_at DESC" |
488 | 488 | |
489 | - def self.display_filter(user, profile) | |
490 | - return {:conditions => ['articles.published = ?', true]} if !user | |
491 | - {:conditions => [" articles.published = ? OR | |
492 | - articles.last_changed_by_id = ? OR | |
493 | - articles.profile_id = ? OR | |
494 | - ? OR articles.show_to_followers = ? AND ?", | |
495 | - true, user.id, user.id, user.has_permission?(:view_private_content, profile), | |
496 | - true, user.follows?(profile)]} | |
497 | - end | |
489 | + scope :display_filter, lambda {|user, profile| | |
490 | + return published if (user.nil? && profile && profile.public?) | |
491 | + return [] if user.nil? || (profile && !profile.public? && !user.follows?(profile)) | |
492 | + where( | |
493 | + [ | |
494 | + "published = ? OR last_changed_by_id = ? OR profile_id = ? OR ? | |
495 | + OR (show_to_followers = ? AND ?)", true, user.id, user.id, | |
496 | + profile.nil? ? false : user.has_permission?(:view_private_content, profile), | |
497 | + true, user.follows?(profile) | |
498 | + ] | |
499 | + ) | |
500 | + } | |
498 | 501 | |
499 | 502 | |
500 | 503 | def display_unpublished_article_to?(user) | ... | ... |
app/models/comment.rb
app/models/event.rb
... | ... | @@ -145,11 +145,9 @@ class Event < Article |
145 | 145 | ((self.end_date || self.start_date) - self.start_date).to_i |
146 | 146 | end |
147 | 147 | |
148 | + alias_method :article_lead, :lead | |
148 | 149 | def lead |
149 | - content_tag('div', | |
150 | - show_period(start_date, end_date), | |
151 | - :class => 'event-dates' | |
152 | - ) + super | |
150 | + self.class.action_view.render 'content_viewer/event_lead', event: self | |
153 | 151 | end |
154 | 152 | |
155 | 153 | def event? | ... | ... |
app/models/main_block.rb
app/models/person.rb
... | ... | @@ -150,7 +150,7 @@ roles] } |
150 | 150 | end |
151 | 151 | |
152 | 152 | def already_request_friendship?(person) |
153 | - person.tasks.find_by_requestor_id(self.id, :conditions => { :type => 'AddFriend' }) | |
153 | + person.tasks.where(requestor_id: self.id, type: 'AddFriend', status: Task::Status::ACTIVE).first | |
154 | 154 | end |
155 | 155 | |
156 | 156 | def remove_friend(friend) |
... | ... | @@ -435,6 +435,7 @@ roles] } |
435 | 435 | end |
436 | 436 | |
437 | 437 | def follows?(profile) |
438 | + return false if profile.nil? | |
438 | 439 | profile.followed_by?(self) |
439 | 440 | end |
440 | 441 | ... | ... |
app/models/profile.rb
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | # which by default is the one returned by Environment:default. |
4 | 4 | class Profile < ActiveRecord::Base |
5 | 5 | |
6 | - attr_accessible :name, :identifier, :public_profile, :nickname, :custom_footer, :custom_header, :address, :zip_code, :contact_phone, :image_builder, :description, :closed, :template_id, :environment, :lat, :lng, :is_template, :fields_privacy, :preferred_domain_id, :category_ids, :country, :city, :state, :national_region_code, :email, :contact_email, :redirect_l10n, :notification_time, :redirection_after_login, :email_suggestions, :allow_members_to_invite, :invite_friends_only | |
6 | + attr_accessible :name, :identifier, :public_profile, :nickname, :custom_footer, :custom_header, :address, :zip_code, :contact_phone, :image_builder, :description, :closed, :template_id, :environment, :lat, :lng, :is_template, :fields_privacy, :preferred_domain_id, :category_ids, :country, :city, :state, :national_region_code, :email, :contact_email, :redirect_l10n, :notification_time, :redirection_after_login, :email_suggestions, :allow_members_to_invite, :invite_friends_only, :secret | |
7 | 7 | |
8 | 8 | # use for internationalizable human type names in search facets |
9 | 9 | # reimplement on subclasses |
... | ... | @@ -85,7 +85,15 @@ class Profile < ActiveRecord::Base |
85 | 85 | #FIXME: these will work only if the subclass is already loaded |
86 | 86 | scope :enterprises, lambda { {:conditions => (Enterprise.send(:subclasses).map(&:name) << 'Enterprise').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")} } |
87 | 87 | scope :communities, lambda { {:conditions => (Community.send(:subclasses).map(&:name) << 'Community').map { |klass| "profiles.type = '#{klass}'"}.join(" OR ")} } |
88 | - scope :templates, {:conditions => {:is_template => true}} | |
88 | + scope :templates, lambda { |template_id = nil| | |
89 | + conditions = {:conditions => {:is_template => true}} | |
90 | + conditions[:conditions].merge!({:id => template_id}) unless template_id.nil? | |
91 | + conditions | |
92 | + } | |
93 | + | |
94 | + scope :with_templates, lambda { |templates| | |
95 | + {:conditions => {:template_id => templates}} | |
96 | + } | |
89 | 97 | scope :no_templates, {:conditions => {:is_template => false}} |
90 | 98 | |
91 | 99 | def members |
... | ... | @@ -119,9 +127,9 @@ class Profile < ActiveRecord::Base |
119 | 127 | Profile.column_names.map{|n| [Profile.table_name, n].join('.')}.join(',') |
120 | 128 | end |
121 | 129 | |
122 | - scope :visible, :conditions => { :visible => true } | |
130 | + scope :visible, :conditions => { :visible => true, :secret => false } | |
123 | 131 | scope :disabled, :conditions => { :visible => false } |
124 | - scope :public, :conditions => { :visible => true, :public_profile => true } | |
132 | + scope :public, :conditions => { :visible => true, :public_profile => true, :secret => false } | |
125 | 133 | scope :enabled, :conditions => { :enabled => true } |
126 | 134 | |
127 | 135 | # Subclasses must override this method | ... | ... |
app/models/user.rb
... | ... | @@ -159,6 +159,7 @@ class User < ActiveRecord::Base |
159 | 159 | @task.name = self.name |
160 | 160 | @task.email = self.email |
161 | 161 | @task.target = self.environment |
162 | + @task.requestor = self.person | |
162 | 163 | @task.save |
163 | 164 | end |
164 | 165 | |
... | ... | @@ -301,6 +302,10 @@ class User < ActiveRecord::Base |
301 | 302 | end |
302 | 303 | end |
303 | 304 | |
305 | + def moderate_registration_pending? | |
306 | + return ModerateUserRegistration.exists?(:requestor_id => self.person.id, :target_id => self.environment.id, :status => Task::Status::ACTIVE) | |
307 | + end | |
308 | + | |
304 | 309 | def data_hash(gravatar_default = nil) |
305 | 310 | friends_list = {} |
306 | 311 | enterprises = person.enterprises.map { |e| { 'name' => e.short_name, 'identifier' => e.identifier } } | ... | ... |
app/views/cms/_upload_file.html.erb
app/views/cms/_upload_file_form.html.erb
... | ... | @@ -13,7 +13,7 @@ |
13 | 13 | <%= hidden_field_tag('back_to', @back_to) %> |
14 | 14 | |
15 | 15 | <% button_bar do %> |
16 | - <%= add_upload_file_field(_('More files'), {:size => size}) %> | |
16 | + <%= button_to_function :add, _('More files'), "add_new_file_fields()" %> | |
17 | 17 | <% if @back_to %> |
18 | 18 | <%= submit_button :save, _('Upload'), :cancel => @back_to %> |
19 | 19 | <% else %> | ... | ... |
app/views/content_viewer/_article_toolbar.html.erb
... | ... | @@ -50,6 +50,10 @@ |
50 | 50 | <%= button(:clock, _('All versions'), {:controller => 'content_viewer', :profile => profile.identifier, :action => 'article_versions'}, :id => 'article-versions-link') %> |
51 | 51 | <% end %> |
52 | 52 | |
53 | + <% plugins_toolbar_actions_for_article(@page).each do |plugin_button| %> | |
54 | + <%= button plugin_button[:icon], plugin_button[:title], plugin_button[:url], plugin_button[:html_options] %> | |
55 | + <% end %> | |
56 | + | |
53 | 57 | <%= report_abuse(profile, :link, @page) %> |
54 | 58 | |
55 | 59 | </div> | ... | ... |
app/views/favorite_enterprises/index.html.erb
... | ... | @@ -9,7 +9,7 @@ |
9 | 9 | enterprise.identifier, :class => 'profile-link' %> |
10 | 10 | <%# profile_image_link enterprise, :portrait, 'div' %> |
11 | 11 | <div class="controll"> |
12 | - <%= button(:delete, _('remove'), { :action => 'remove', :id => enterprise.id },:title => _('remove')) %> | |
12 | + <%= button_without_text(:delete, _('remove'), { :action => 'remove', :id => enterprise.id },:title => _('remove')) %> | |
13 | 13 | </div><!-- end class="controll" --> |
14 | 14 | </li> |
15 | 15 | <% end %> | ... | ... |
app/views/layouts/application-ng.html.erb
... | ... | @@ -5,7 +5,10 @@ |
5 | 5 | <%= yield(:feeds) %> |
6 | 6 | <!--<meta http-equiv="refresh" content="1"/>--> |
7 | 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
8 | - <meta name="description" content="<%= @environment.name %>" /> | |
8 | + | |
9 | + <% unless defined? MetadataPlugin and environment.enabled_plugins.include? 'MetadataPlugin' %> | |
10 | + <meta name="description" content="<%= @environment.name %>" /> | |
11 | + <% end %> | |
9 | 12 | |
10 | 13 | <!-- site root --> |
11 | 14 | <meta property="noosfero:root" content="<%= Noosfero.root %>"/> |
... | ... | @@ -22,7 +25,7 @@ |
22 | 25 | end.join("\n") |
23 | 26 | %> |
24 | 27 | |
25 | - <script type='text/javascript'> | |
28 | + <script type="text/javascript"> | |
26 | 29 | DEFAULT_LOADING_MESSAGE = <%="'#{ _('loading...') }'" %>; |
27 | 30 | </script> |
28 | 31 | |
... | ... | @@ -35,9 +38,12 @@ |
35 | 38 | if content.respond_to?(:call) then instance_exec(&content).to_s.html_safe else content.to_s.html_safe end |
36 | 39 | end.join("\n") |
37 | 40 | %> |
41 | + <div id="global-header"> | |
42 | + <%= global_header %> | |
43 | + </div> | |
38 | 44 | |
39 | 45 | <div id="wrap-1"> |
40 | - <div id='theme-header'> | |
46 | + <div id="theme-header"> | |
41 | 47 | <%= theme_header %> |
42 | 48 | </div> |
43 | 49 | <div id="wrap-2"> |
... | ... | @@ -57,9 +63,14 @@ |
57 | 63 | </div><!-- end id="wrap-2" --> |
58 | 64 | </div><!-- end id="wrap-1" --> |
59 | 65 | <%= render_environment_features(:logged_in) if logged_in? %> |
60 | - <div id="theme-footer"> | |
61 | - <%= theme_footer %> | |
62 | - </div><!-- end id="theme-footer" --> | |
66 | + <div id="footer"> | |
67 | + <div id="theme-footer"> | |
68 | + <%= theme_footer %> | |
69 | + </div><!-- end id="theme-footer" --> | |
70 | + <div id="global-footer"> | |
71 | + <%= global_footer %> | |
72 | + </div><!-- end id="global-footer" --> | |
73 | + </div><!-- end id="footer" --> | |
63 | 74 | <%= noosfero_layout_features %> |
64 | 75 | <%= addthis_javascript %> |
65 | 76 | <%= | ... | ... |
app/views/layouts/application.html.erb
... | ... | @@ -52,6 +52,9 @@ |
52 | 52 | registerDocumentSize(); |
53 | 53 | // --> |
54 | 54 | </script> |
55 | + <div id="global-header"> | |
56 | + <%= global_header %> | |
57 | + </div> | |
55 | 58 | |
56 | 59 | <div id="accessibility_menu"> |
57 | 60 | <a href="#content" id="link_go_content"><span><%= _('Go to content') %></span></a> |
... | ... | @@ -112,8 +115,13 @@ |
112 | 115 | </div><!-- id="wrap" --> |
113 | 116 | |
114 | 117 | <div id="footer"> |
115 | - <%= theme_footer %> | |
116 | - </div><!-- id="footer" --> | |
118 | + <div id="theme-footer"> | |
119 | + <%= theme_footer %> | |
120 | + </div><!-- end id="theme-footer" --> | |
121 | + <div id="global-footer"> | |
122 | + <%= global_footer %> | |
123 | + </div><!-- end id="global-footer" --> | |
124 | + </div><!-- end id="footer" --> | |
117 | 125 | |
118 | 126 | <%# if you need to add HTML stuff to the layout, include it in |
119 | 127 | app/views/shared/noosfero_layout_features.html.erb! %> | ... | ... |
app/views/profile_editor/edit.html.erb
... | ... | @@ -34,10 +34,13 @@ |
34 | 34 | </div> |
35 | 35 | <% else %> |
36 | 36 | <div> |
37 | - <%= labelled_radio_button _('Public — show content of this group to all internet users'), 'profile_data[public_profile]', true, @profile.public_profile? %> | |
37 | + <%= labelled_check_box _("Secret — hide the community and all its contents for non members and other people can't join this community unless they are invited to."), 'profile_data[secret]', true, profile.secret, :class => "profile-secret-box" %> | |
38 | 38 | </div> |
39 | 39 | <div> |
40 | - <%= labelled_radio_button _('Private — show content of this group only to members'), 'profile_data[public_profile]', false, !@profile.public_profile? %> | |
40 | + <%= labelled_radio_button _('Public — show content of this group to all internet users'), 'profile_data[public_profile]', true, @profile.public_profile?, :class => "public-community-button" %> | |
41 | + </div> | |
42 | + <div> | |
43 | + <%= labelled_radio_button _('Private — show content of this group only to members'), 'profile_data[public_profile]', false, !@profile.public_profile?, :class => "private-community-button" %> | |
41 | 44 | </div> |
42 | 45 | <% end %> |
43 | 46 | |
... | ... | @@ -85,4 +88,6 @@ |
85 | 88 | <% end %> |
86 | 89 | <% end %> |
87 | 90 | <% end %> |
88 | -<% end %> | |
89 | 91 | \ No newline at end of file |
92 | +<% end %> | |
93 | + | |
94 | +<%= javascript_include_tag 'profile_editor' %> | ... | ... |
app/views/search/_search_content.html.erb
1 | 1 | <div id='search-content'> |
2 | + <div class='total'> | |
3 | + <%= _('Total of %s results ') % @searches[@asset][:results].total_entries.inspect %> | |
4 | + </div> | |
5 | + | |
2 | 6 | <%= display_results(@searches, @asset) %> |
3 | 7 | <% if params[:display] != 'map' %> |
4 | 8 | <%= pagination_links @searches[@asset][:results] %> | ... | ... |
app/views/search/_search_form.html.erb
... | ... | @@ -5,8 +5,12 @@ |
5 | 5 | <div id='search-header'> |
6 | 6 | <%= assets_menu(@asset) %> |
7 | 7 | <%= filters(@asset) %> |
8 | + <div class="clear"></div> | |
8 | 9 | </div> |
9 | 10 | |
11 | + <div id='search-subheader'> | |
12 | + <%= assets_submenu(@asset) %> | |
13 | + </div> | |
10 | 14 | <div class="search-field"> |
11 | 15 | <span class="formfield"> |
12 | 16 | <%= search_input_with_suggestions('query', @asset, @query, {:id => 'search-input', :size => 50, :placeholder => hint}) %> | ... | ... |
app/views/shared/logged_in/xmpp_chat.html.erb
config/bashrc
config/initializers/jrails.rb
... | ... | @@ -1 +0,0 @@ |
1 | -require 'jrails' |
db/migrate/20150116181243_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
0 → 100644
... | ... | @@ -0,0 +1,15 @@ |
1 | +# This migration comes from acts_as_taggable_on_engine (originally 3) | |
2 | +class AddTaggingsCounterCacheToTags < ActiveRecord::Migration | |
3 | + def self.up | |
4 | + add_column :tags, :taggings_count, :integer, default: 0 | |
5 | + | |
6 | + ActsAsTaggableOn::Tag.reset_column_information | |
7 | + ActsAsTaggableOn::Tag.find_each do |tag| | |
8 | + ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings) | |
9 | + end | |
10 | + end | |
11 | + | |
12 | + def self.down | |
13 | + remove_column :tags, :taggings_count | |
14 | + end | |
15 | +end | ... | ... |
db/migrate/20150116181244_add_missing_taggable_index.acts_as_taggable_on_engine.rb
0 → 100644
... | ... | @@ -0,0 +1,10 @@ |
1 | +# This migration comes from acts_as_taggable_on_engine (originally 4) | |
2 | +class AddMissingTaggableIndex < ActiveRecord::Migration | |
3 | + def self.up | |
4 | + add_index :taggings, [:taggable_id, :taggable_type, :context] | |
5 | + end | |
6 | + | |
7 | + def self.down | |
8 | + remove_index :taggings, [:taggable_id, :taggable_type, :context] | |
9 | + end | |
10 | +end | ... | ... |
db/schema.rb
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 | # |
12 | 12 | # It's strongly recommended to check this file into your version control system. |
13 | 13 | |
14 | -ActiveRecord::Schema.define(:version => 20150122165042) do | |
14 | +ActiveRecord::Schema.define(:version => 20150223180806) do | |
15 | 15 | |
16 | 16 | create_table "abuse_reports", :force => true do |t| |
17 | 17 | t.integer "reporter_id" |
... | ... | @@ -535,6 +535,7 @@ ActiveRecord::Schema.define(:version => 20150122165042) do |
535 | 535 | t.integer "welcome_page_id" |
536 | 536 | t.boolean "allow_members_to_invite", :default => true |
537 | 537 | t.boolean "invite_friends_only", :default => false |
538 | + t.boolean "secret", :default => false | |
538 | 539 | end |
539 | 540 | |
540 | 541 | add_index "profiles", ["activities_count"], :name => "index_profiles_on_activities_count" |
... | ... | @@ -655,12 +656,14 @@ ActiveRecord::Schema.define(:version => 20150122165042) do |
655 | 656 | end |
656 | 657 | |
657 | 658 | add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], :name => "taggings_idx", :unique => true |
659 | + add_index "taggings", ["taggable_id", "taggable_type", "context"], :name => "index_taggings_on_taggable_id_and_taggable_type_and_context" | |
658 | 660 | add_index "taggings", ["taggable_id", "taggable_type"], :name => "index_taggings_on_taggable_id_and_taggable_type" |
659 | 661 | |
660 | 662 | create_table "tags", :force => true do |t| |
661 | 663 | t.string "name" |
662 | 664 | t.integer "parent_id" |
663 | - t.boolean "pending", :default => false | |
665 | + t.boolean "pending", :default => false | |
666 | + t.integer "taggings_count", :default => 0 | |
664 | 667 | end |
665 | 668 | |
666 | 669 | add_index "tags", ["name"], :name => "index_tags_on_name", :unique => true | ... | ... |
debian/changelog
1 | +noosfero (1.1~rc2) wheezy; urgency=low | |
2 | + | |
3 | + * Second release candidate for Noosfero 1.1 | |
4 | + | |
5 | + -- Antonio Terceiro <terceiro@colivre.coop.br> Mon, 09 Mar 2015 12:47:39 -0300 | |
6 | + | |
7 | +noosfero (1.1~rc1) wheezy; urgency=low | |
8 | + | |
9 | + * First release candidate for Noosfero 1.1 | |
10 | + | |
11 | + -- Antonio Terceiro <terceiro@colivre.coop.br> Thu, 05 Mar 2015 12:35:49 -0300 | |
12 | + | |
1 | 13 | noosfero (1.0) wheezy; urgency=low |
2 | 14 | |
3 | 15 | * Noosfero 1.0 \o/ | ... | ... |
debian/control
debian/noosfero.install
... | ... | @@ -9,6 +9,7 @@ config/environments usr/share/noosfero/config |
9 | 9 | config/initializers usr/share/noosfero/config |
10 | 10 | config/locales usr/share/noosfero/config |
11 | 11 | config/routes.rb usr/share/noosfero/config |
12 | +config/schedule.rb usr/share/noosfero/config | |
12 | 13 | db usr/share/noosfero |
13 | 14 | debian/database.yml.template usr/share/noosfero/config |
14 | 15 | debian/dbinstall usr/lib/noosfero | ... | ... |
debian/noosfero.links
debian/rules
etc/init.d/noosfero
... | ... | @@ -36,7 +36,9 @@ NOOSFERO_USER=noosfero |
36 | 36 | [ -r /etc/default/$NAME ] && . /etc/default/$NAME |
37 | 37 | |
38 | 38 | # Load the VERBOSE setting and other rcS variables |
39 | -. /lib/init/vars.sh | |
39 | +if [ -e /lib/init/vars.sh ]; then | |
40 | + . /lib/init/vars.sh | |
41 | +fi | |
40 | 42 | |
41 | 43 | if [ -z "$NOOSFERO_DIR" ] || [ -z "$NOOSFERO_USER" ]; then |
42 | 44 | echo "NOOSFERO_DIR or NOOSFERO_USER not defined, noosfero not being started." |
... | ... | @@ -123,7 +125,7 @@ do_restart() { |
123 | 125 | } |
124 | 126 | |
125 | 127 | running(){ |
126 | - pgrep -u noosfero -f 'thin server' > /dev/null | |
128 | + main_script running | |
127 | 129 | } |
128 | 130 | |
129 | 131 | case "$1" in | ... | ... |
... | ... | @@ -0,0 +1,60 @@ |
1 | +Feature: Use a secret community | |
2 | + As a community administrator | |
3 | + I want to manage the community privacy | |
4 | + | |
5 | + Background: | |
6 | + Given the following users | |
7 | + | login | name | | |
8 | + | jose | Jose Wilker | | |
9 | + | maria | Maria Carminha | | |
10 | + And the following community | |
11 | + | identifier | name | | |
12 | + | mycommunity | My Community | | |
13 | + And "Jose Wilker" is admin of "My Community" | |
14 | + And I am logged in as "jose" | |
15 | + And I go to mycommunity's control panel | |
16 | + And I follow "Community Info and settings" | |
17 | + And I check "Secret" | |
18 | + And I press "Save" | |
19 | + And I follow "Logout" | |
20 | + | |
21 | + @selenium | |
22 | + Scenario: Hide privacity options when secret is checked | |
23 | + Given I am logged in as "jose" | |
24 | + And I go to mycommunity's control panel | |
25 | + And I follow "Community Info and settings" | |
26 | + Then I should not see "Public — show content of this group to all internet users" | |
27 | + And I should not see "Private — show content of this group only to members" | |
28 | + And I uncheck "Secret" | |
29 | + Then I should see "Public — show content of this group to all internet users" | |
30 | + Then I should see "Private — show content of this group only to members" | |
31 | + | |
32 | + @selenium | |
33 | + Scenario: Non members shouldn't see secret communit's content | |
34 | + Given I am logged in as "maria" | |
35 | + And I go to mycommunity's homepage | |
36 | + And I should see "Access denied" | |
37 | + And I follow "Communities" | |
38 | + Then I should not see "My Community" | |
39 | + | |
40 | + Scenario: A member should see the secret community's content | |
41 | + Given I am logged in as "maria" | |
42 | + And "Maria Carminha" is a member of "My Community" | |
43 | + And I go to maria's control panel | |
44 | + And I follow "Manage my groups" | |
45 | + And I follow "My Community" | |
46 | + Then I should see "My Community" | |
47 | + | |
48 | + @selenium | |
49 | + Scenario: public article on a secret profile should not be displayed | |
50 | + Given I am logged in as "jose" | |
51 | + And I go to mycommunity's control panel | |
52 | + And I follow "Manage Content" | |
53 | + And I follow "New content" | |
54 | + And I follow "Text article with visual editor" | |
55 | + And I fill in "Title" with "My public article" | |
56 | + And I choose "Public" | |
57 | + And I press "Save and continue" | |
58 | + When I am logged in as "maria" | |
59 | + And I go to /mycommunity/my-public-article | |
60 | + Then I should not see "My public article" | ... | ... |
lib/acts_as_filesystem.rb
... | ... | @@ -85,6 +85,13 @@ module ActsAsFileSystem |
85 | 85 | end |
86 | 86 | end |
87 | 87 | |
88 | + def descendents_options | |
89 | + ["#{self.ancestry_column} LIKE ?", "%#{self.formatted_ancestry_id}%"] | |
90 | + end | |
91 | + def descendents | |
92 | + self.class.scoped :conditions => descendents_options | |
93 | + end | |
94 | + | |
88 | 95 | # calculates the level of the record in the records hierarchy. Top-level |
89 | 96 | # records have level 0; the children of the top-level records have |
90 | 97 | # level 1; the children of records with level 1 have level 2, and so on. | ... | ... |
lib/noosfero/core_ext/active_record.rb
... | ... | @@ -6,6 +6,22 @@ class ActiveRecord::Base |
6 | 6 | ActiveRecord::Base.connection.adapter_name == 'PostgreSQL' |
7 | 7 | end |
8 | 8 | |
9 | + # an ActionView instance for rendering views on models | |
10 | + def self.action_view | |
11 | + @action_view ||= begin | |
12 | + view_paths = ActionController::Base.view_paths | |
13 | + action_view = ActionView::Base.new view_paths | |
14 | + # for using Noosfero helpers inside render calls | |
15 | + action_view.extend ApplicationHelper | |
16 | + action_view | |
17 | + end | |
18 | + end | |
19 | + | |
20 | + # default value needed for the above ActionView | |
21 | + def to_partial_path | |
22 | + self.class.name.underscore | |
23 | + end | |
24 | + | |
9 | 25 | alias :meta_cache_key :cache_key |
10 | 26 | def cache_key |
11 | 27 | key = [Noosfero::VERSION, meta_cache_key] | ... | ... |
lib/noosfero/plugin.rb
... | ... | @@ -437,6 +437,19 @@ class Noosfero::Plugin |
437 | 437 | [] |
438 | 438 | end |
439 | 439 | |
440 | + # -> Adds aditional action buttons to article | |
441 | + # returns = { :title => title, :icon => icon, :url => url, :html_options => {} } | |
442 | + # title = name that will be displayed. | |
443 | + # icon = css class name (for customized icons include them in a css file). | |
444 | + # url = url or route to which the button will redirect. | |
445 | + # html_options = Html options for customization | |
446 | + # | |
447 | + # Multiple values could be passed as parameter. | |
448 | + # returns = [{:title => title, :icon => icon}, {:title => title, :icon => icon}] | |
449 | + def article_extra_toolbar_buttons(article) | |
450 | + [] | |
451 | + end | |
452 | + | |
440 | 453 | # -> Adds adicional content to article |
441 | 454 | # returns = lambda block that creates html code |
442 | 455 | def article_extra_contents(article) |
... | ... | @@ -685,6 +698,8 @@ class Noosfero::Plugin |
685 | 698 | # returns = string with reason of expiration |
686 | 699 | elsif method.to_s =~ /^content_expire_(#{content_actions.join('|')})$/ |
687 | 700 | nil |
701 | + elsif context.respond_to?(method) | |
702 | + context.send(method) | |
688 | 703 | else |
689 | 704 | super |
690 | 705 | end | ... | ... |
lib/noosfero/plugin/routes.rb
... | ... | @@ -18,7 +18,7 @@ Dir.glob(Rails.root.join(plugins_root, '*', 'controllers')) do |controllers_dir| |
18 | 18 | controllers_by_folder.each do |folder, controllers| |
19 | 19 | controllers.each do |controller| |
20 | 20 | controller_name = controller.gsub("#{plugin_name}_plugin_",'') |
21 | - if %w[profile myprofile].include?(folder) | |
21 | + if %w[profile myprofile].include?(folder.to_s) | |
22 | 22 | match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", :controller => controller, :profile => /#{Noosfero.identifier_format}/ |
23 | 23 | else |
24 | 24 | match "#{prefixes_by_folder[folder]}/#{plugin_name}/#{controller_name}(/:action(/:id))", :controller => controller | ... | ... |
lib/noosfero/version.rb
1 | 1 | module Noosfero |
2 | 2 | PROJECT = 'noosfero' |
3 | - VERSION = '1.0' | |
3 | + VERSION = '1.1~rc2' | |
4 | 4 | end |
5 | 5 | |
6 | -if File.exist?(File.join(Rails.root, '.git')) | |
7 | - Noosfero::VERSION.clear << Dir.chdir(Rails.root) { `git describe --tags`.strip } | |
6 | +root = File.expand_path(File.dirname(__FILE__) + '/../..') | |
7 | +if File.exist?(File.join(root, '.git')) | |
8 | + Noosfero::VERSION.clear << Dir.chdir(root) { `git describe --tags`.strip.sub('-rc', '~rc') } | |
8 | 9 | end | ... | ... |
lib/tasks/doc.rake
1 | +require 'noosfero' | |
2 | +require 'pathname' | |
3 | + | |
1 | 4 | namespace :noosfero do |
2 | 5 | namespace :doc do |
3 | 6 | def plugins_textiles |
... | ... | @@ -9,8 +12,9 @@ namespace :noosfero do |
9 | 12 | end |
10 | 13 | end |
11 | 14 | task :unlink_plugins_textiles do |
12 | - rm_f Dir.glob(Rails.root.join('doc/noosfero/plugins/*.textile')) - | |
13 | - [Rails.root.join('doc/noosfero/plugins/index.textile')] | |
15 | + root = Pathname.new(File.dirname(__FILE__) + '/../..').expand_path | |
16 | + rm_f Dir.glob(root.join('doc/noosfero/plugins/*.textile')) - | |
17 | + [root.join('doc/noosfero/plugins/index.textile')] | |
14 | 18 | end |
15 | 19 | input = Dir.glob('doc/noosfero/**/*.textile') + plugins_textiles.map{|i| "doc/noosfero/plugins/#{File.basename(i)}"} |
16 | 20 | topics_xhtml = input.map { |item| item.sub('.textile', '.en.xhtml') }.uniq |
... | ... | @@ -22,7 +26,8 @@ namespace :noosfero do |
22 | 26 | begin |
23 | 27 | require 'redcloth' |
24 | 28 | File.open(output ,'w') do |output_file| |
25 | - output_file.write(RedCloth.new(File.read(input)).to_html) | |
29 | + text = File.read(input, encoding: Encoding::UTF_8) | |
30 | + output_file.write(RedCloth.new(text).to_html) | |
26 | 31 | puts "#{input} -> #{output}" |
27 | 32 | end |
28 | 33 | rescue Exception => e | ... | ... |
lib/tasks/error_messages.rake
1 | -templates = Dir.glob(Rails.root.join('public', '*.html.erb')) | |
1 | +root = Pathname(File.dirname(__FILE__)).join('../../').expand_path | |
2 | +templates = Dir.glob(root.join('public', '*.html.erb')) | |
2 | 3 | targets = [] |
3 | 4 | templates.each do |template| |
4 | 5 | target = template.gsub(/.erb$/, '') |
... | ... | @@ -16,6 +17,6 @@ end |
16 | 17 | namespace :noosfero do |
17 | 18 | namespace 'error-pages' do |
18 | 19 | desc 'Translates Noosfero error pages' |
19 | - task :translate => [:environment] + targets | |
20 | + task :translate => targets | |
20 | 21 | end |
21 | 22 | end | ... | ... |
lib/tasks/gettext.rake
... | ... | @@ -2,6 +2,8 @@ |
2 | 2 | # Added for Ruby-GetText-Package |
3 | 3 | # |
4 | 4 | |
5 | +require 'pathname' | |
6 | + | |
5 | 7 | makemo_stamp = 'tmp/makemo.stamp' |
6 | 8 | desc "Create mo-files for L10n" |
7 | 9 | task :makemo => makemo_stamp |
... | ... | @@ -37,14 +39,15 @@ task :symlinkmo do |
37 | 39 | langmap = { |
38 | 40 | 'pt' => 'pt_BR', |
39 | 41 | } |
40 | - mkdir_p(Rails.root.join('locale')) | |
41 | - Dir.glob(Rails.root.join('po/*/')).each do |dir| | |
42 | + root = Pathname.new(File.dirname(__FILE__) + '/../..').expand_path | |
43 | + mkdir_p(root.join('locale')) | |
44 | + Dir.glob(root.join('po/*/')).each do |dir| | |
42 | 45 | lang = File.basename(dir) |
43 | 46 | orig_lang = langmap[lang] || lang |
44 | - mkdir_p(Rails.root.join('locale', "#{lang}", 'LC_MESSAGES')) | |
47 | + mkdir_p(root.join('locale', "#{lang}", 'LC_MESSAGES')) | |
45 | 48 | ['iso_3166'].each do |domain| |
46 | 49 | origin = "/usr/share/locale/#{orig_lang}/LC_MESSAGES/#{domain}.mo" |
47 | - target = Rails.root.join('locale', "#{lang}", 'LC_MESSAGES', "#{domain}.mo") | |
50 | + target = root.join('locale', "#{lang}", 'LC_MESSAGES', "#{domain}.mo") | |
48 | 51 | if !File.symlink?(target) |
49 | 52 | ln_s origin, target |
50 | 53 | end | ... | ... |
lib/tasks/package.rake
lib/tasks/release.rake
1 | 1 | # encoding: UTF-8 |
2 | 2 | |
3 | -require 'noosfero/version' | |
4 | 3 | $version = Noosfero::VERSION |
5 | 4 | |
6 | 5 | namespace :noosfero do |
... | ... | @@ -132,13 +131,13 @@ EOF |
132 | 131 | |
133 | 132 | if target =~ /-test$/ |
134 | 133 | if new_version =~ /~rc\d+/ |
135 | - new_version.sub!(/\~rc([0-9]+)/) { "~rc#{$1.to_i + 1}" } | |
134 | + new_version.sub!(/\~rc([0-9]+).*/) { "~rc#{$1.to_i + 1}" } | |
136 | 135 | else |
137 | 136 | new_version += '~rc1' |
138 | 137 | end |
139 | 138 | else |
140 | - if new_version =~ /~rc\d+/ | |
141 | - new_version.sub!(/~rc[0-9]+/, '') | |
139 | + if new_version =~ /~rc\d+.*/ | |
140 | + new_version.sub!(/~rc[0-9]+.*/, '') | |
142 | 141 | else |
143 | 142 | components = new_version.split('.').map(&:to_i) |
144 | 143 | if components.size < 3 |
... | ... | @@ -158,9 +157,10 @@ EOF |
158 | 157 | sh "sed -i \"s/VERSION = '[^']*'/VERSION = '#{new_version}'/\" lib/noosfero/version.rb" |
159 | 158 | ENV['DEBFULLNAME'] ||= `git config user.name`.strip |
160 | 159 | ENV['DEBEMAIL'] ||= `git config user.email`.strip |
161 | - sh "dch --newversion #{new_version} --distribution #{target} --force-distribution '#{release_message}'" | |
160 | + distribution = `dpkg-parsechangelog | sed '/Distribution:/!d; s/^.*:\s*//'`.strip | |
161 | + sh "dch --newversion #{new_version} --distribution #{distribution} --force-distribution '#{release_message}'" | |
162 | 162 | |
163 | - sh 'git diff debian/changelog lib/noosfero/version.rb' | |
163 | + sh 'git diff --color debian/changelog lib/noosfero/version.rb' | |
164 | 164 | if confirm("Commit version bump to #{new_version} on #{target} distribution") |
165 | 165 | sh 'git add debian/changelog lib/noosfero/version.rb' |
166 | 166 | sh "git commit -m 'Bumping version #{new_version}'" | ... | ... |
lib/tasks/translation.rake
... | ... | @@ -5,7 +5,7 @@ namespace :noosfero do |
5 | 5 | task :update => ['updatepo', 'noosfero:doc:rebuild'] |
6 | 6 | |
7 | 7 | desc 'Compiles all translations' |
8 | - task :compile => ['makemo', 'environment', 'noosfero:doc:translate'] | |
8 | + task :compile => ['makemo', 'noosfero:doc:translate'] | |
9 | 9 | |
10 | 10 | end |
11 | 11 | end | ... | ... |
lib/user_activation_job.rb
plugins/anti_spam/po/de/anti_spam.po
... | ... | @@ -6,8 +6,8 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
11 | 11 | "PO-Revision-Date: 2014-12-12 14:23+0200\n" |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | 13 | "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | ... | ... |
plugins/anti_spam/po/pt/anti_spam.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/breadcrumbs/lib/breadcrumbs_plugin/content_breadcrumbs_block.rb
... | ... | @@ -2,8 +2,9 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block |
2 | 2 | |
3 | 3 | settings_items :show_cms_action, :type => :boolean, :default => true |
4 | 4 | settings_items :show_profile, :type => :boolean, :default => true |
5 | + settings_items :show_section_name, :type => :boolean, :default => true | |
5 | 6 | |
6 | - attr_accessible :show_cms_action, :show_profile | |
7 | + attr_accessible :show_cms_action, :show_profile, :show_section_name | |
7 | 8 | |
8 | 9 | def self.description |
9 | 10 | _('Content Breadcrumbs') |
... | ... | @@ -40,7 +41,18 @@ class BreadcrumbsPlugin::ContentBreadcrumbsBlock < Block |
40 | 41 | proc do |
41 | 42 | trail = block.trail(@page, @profile, params) |
42 | 43 | if !trail.empty? |
43 | - trail.map { |t| link_to(t[:name], t[:url], :class => 'item') }.join(content_tag('span', ' > ', :class => 'separator')) | |
44 | + separator = content_tag('span', ' > ', :class => 'separator') | |
45 | + | |
46 | + breadcrumb = trail.map do |t| | |
47 | + link_to(t[:name], t[:url], :class => 'item') | |
48 | + end.join(separator) | |
49 | + | |
50 | + if block.show_section_name | |
51 | + section_name = block.show_profile ? trail.second[:name] : trail.first[:name] | |
52 | + breadcrumb << content_tag('div', section_name, :class => 'section-name') | |
53 | + end | |
54 | + | |
55 | + breadcrumb | |
44 | 56 | else |
45 | 57 | '' |
46 | 58 | end | ... | ... |
plugins/breadcrumbs/po/pt/breadcrumbs.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/breadcrumbs/test/functional/profile_design_controller_test.rb
... | ... | @@ -41,4 +41,9 @@ class ProfileDesignControllerTest < ActionController::TestCase |
41 | 41 | assert !@block.show_cms_action |
42 | 42 | end |
43 | 43 | |
44 | + should 'be able save breadcrumbs block with show_section_name option' do | |
45 | + get :edit, :id => @block.id, :profile => @profile.identifier | |
46 | + post :save, :id => @block.id, :profile => @profile.identifier, :block => {:title => 'breadcrumbs', :show_cms_action => false, :show_profile => true, :show_section_name => true } | |
47 | + assert @block.show_section_name | |
48 | + end | |
44 | 49 | end | ... | ... |
plugins/breadcrumbs/views/box_organizer/breadcrumbs_plugin/_content_breadcrumbs_block.html.erb
1 | 1 | <div id='edit-breadcrumbs-block'> |
2 | 2 | <%= labelled_form_field check_box(:block, :show_cms_action) + _('Show cms action'), '' %> |
3 | 3 | <%= labelled_form_field check_box(:block, :show_profile) + _('Show profile'), '' %> |
4 | + <%= labelled_form_field check_box(:block, :show_section_name) + _('Show section name'), '' %> | |
4 | 5 | </div> | ... | ... |
plugins/bsc/po/de/bsc.po
... | ... | @@ -6,8 +6,8 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
11 | 11 | "PO-Revision-Date: 2014-12-12 14:23+0200\n" |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | 13 | "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | ... | ... |
plugins/bsc/po/es/bsc.po
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | 10 | "PO-Revision-Date: 2014-11-03 15:52+0200\n" |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | 12 | "Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/bsc/po/fr/bsc.po
... | ... | @@ -4,9 +4,9 @@ |
4 | 4 | # , 2009. |
5 | 5 | msgid "" |
6 | 6 | msgstr "" |
7 | -"Project-Id-Version: 1.0\n" | |
7 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
8 | 8 | "Report-Msgid-Bugs-To: \n" |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | 10 | "PO-Revision-Date: 2014-12-12 14:22+0200\n" |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | 12 | "Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/" | ... | ... |
plugins/bsc/po/hy/bsc.po
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | 10 | "PO-Revision-Date: 2009-10-26 16:20-0300\n" |
11 | 11 | "Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n" |
12 | 12 | "Language-Team: LANGUAGE <LL@li.org>\n" | ... | ... |
plugins/bsc/po/pt/bsc.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/bsc/po/ru/bsc.po
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | 10 | "PO-Revision-Date: 2014-12-12 14:23+0200\n" |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | 12 | "Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/comment_classification/po/de/comment_classification.po
... | ... | @@ -6,18 +6,18 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
11 | -"PO-Revision-Date: 2014-12-12 14:23+0200\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
11 | +"PO-Revision-Date: 2015-02-23 11:38+0200\n" | |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | -"Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
14 | -"de/>\n" | |
13 | +"Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" | |
14 | +"comment-classification/de/>\n" | |
15 | 15 | "Language: de\n" |
16 | 16 | "MIME-Version: 1.0\n" |
17 | 17 | "Content-Type: text/plain; charset=UTF-8\n" |
18 | 18 | "Content-Transfer-Encoding: 8bit\n" |
19 | 19 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
20 | -"X-Generator: Weblate 2.2-dev\n" | |
20 | +"X-Generator: Weblate 2.3-dev\n" | |
21 | 21 | |
22 | 22 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
23 | 23 | #, fuzzy |
... | ... | @@ -127,7 +127,7 @@ msgstr "Verwaltungsinformationen" |
127 | 127 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
128 | 128 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
129 | 129 | msgid "Name" |
130 | -msgstr "" | |
130 | +msgstr "Name" | |
131 | 131 | |
132 | 132 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
133 | 133 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
... | ... | @@ -173,7 +173,7 @@ msgstr "Aktiviert" |
173 | 173 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
174 | 174 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
175 | 175 | msgid "Actions" |
176 | -msgstr "" | |
176 | +msgstr "Aktionen" | |
177 | 177 | |
178 | 178 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
179 | 179 | #, fuzzy |
... | ... | @@ -212,7 +212,7 @@ msgstr "Sind Sie sicher, dass Sie diesen Eintrag entfernen möchten?" |
212 | 212 | |
213 | 213 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
214 | 214 | msgid "[Select ...]" |
215 | -msgstr "" | |
215 | +msgstr "[Auswahl...]" | |
216 | 216 | |
217 | 217 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:1 |
218 | 218 | #, fuzzy | ... | ... |
plugins/comment_classification/po/es/comment_classification.po
... | ... | @@ -5,85 +5,72 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-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" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-24 20:46+0200\n" | |
11 | +"Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n" | |
12 | +"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"comment-classification/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.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
22 | -#, fuzzy | |
23 | 22 | msgid "A plugin that allow classification of comments." |
24 | -msgstr "Un bloque que muestra tus grupos" | |
23 | +msgstr "Un plugin que permite clasificar comentarios." | |
25 | 24 | |
26 | 25 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:16 |
27 | -#, fuzzy | |
28 | 26 | msgid "Label created" |
29 | -msgstr "Licencia" | |
27 | +msgstr "Etiqueta creada" | |
30 | 28 | |
31 | 29 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:19 |
32 | -#, fuzzy | |
33 | 30 | msgid "Label could not be created" |
34 | -msgstr "%s no pudo ser actualizado" | |
31 | +msgstr "La etiqueta no pudo ser creada" | |
35 | 32 | |
36 | 33 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:31 |
37 | -#, fuzzy | |
38 | 34 | msgid "Label updated" |
39 | -msgstr "Última actualización" | |
35 | +msgstr "Etiqueta actualizada" | |
40 | 36 | |
41 | 37 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:34 |
42 | -#, fuzzy | |
43 | 38 | msgid "Failed to edit label" |
44 | -msgstr "No se pudo editar el rol" | |
39 | +msgstr "Fallo al editar la etiqueta" | |
45 | 40 | |
46 | 41 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:45 |
47 | -#, fuzzy | |
48 | 42 | msgid "Label removed" |
49 | -msgstr "Artículo eliminado." | |
43 | +msgstr "Etiqueta eliminada" | |
50 | 44 | |
51 | 45 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:47 |
52 | 46 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:50 |
53 | -#, fuzzy | |
54 | 47 | msgid "Label could not be removed" |
55 | -msgstr "%s no pudo ser actualizado" | |
48 | +msgstr "No se puede eliminar la etiqueta" | |
56 | 49 | |
57 | 50 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:15 |
58 | -#, fuzzy | |
59 | 51 | msgid "Status created" |
60 | -msgstr "Contrato creado." | |
52 | +msgstr "Estado creado" | |
61 | 53 | |
62 | 54 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:18 |
63 | -#, fuzzy | |
64 | 55 | msgid "Status could not be created" |
65 | -msgstr "%s no pudo ser actualizado" | |
56 | +msgstr "No se puede crear el estado" | |
66 | 57 | |
67 | 58 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:29 |
68 | -#, fuzzy | |
69 | 59 | msgid "Status updated" |
70 | -msgstr "Fecha de inicio" | |
60 | +msgstr "Estado actualizado" | |
71 | 61 | |
72 | 62 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:32 |
73 | -#, fuzzy | |
74 | 63 | msgid "Failed to edit status" |
75 | -msgstr "No se pudo editar el rol" | |
64 | +msgstr "Fallo al editar el estado" | |
76 | 65 | |
77 | 66 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:43 |
78 | -#, fuzzy | |
79 | 67 | msgid "Status removed" |
80 | -msgstr "Contrato eliminado." | |
68 | +msgstr "Estado eliminado" | |
81 | 69 | |
82 | 70 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:45 |
83 | 71 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:48 |
84 | -#, fuzzy | |
85 | 72 | msgid "Status could not be removed" |
86 | -msgstr "El contrato no puede ser eliminado. ¡Perdón! ^^" | |
73 | +msgstr "No se puede eliminar el estado" | |
87 | 74 | |
88 | 75 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/_status_form.html.erb:6 |
89 | 76 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:9 |
... | ... | @@ -92,79 +79,72 @@ msgid "Status" |
92 | 79 | msgstr "Estado" |
93 | 80 | |
94 | 81 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/_status_form.html.erb:7 |
95 | -#, fuzzy | |
96 | 82 | msgid "Reason:" |
97 | -msgstr "Razón" | |
83 | +msgstr "Razón:" | |
98 | 84 | |
99 | 85 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:1 |
100 | -#, fuzzy | |
101 | 86 | msgid "Status for comment" |
102 | -msgstr "sin comentarios" | |
87 | +msgstr "Estado del comentario" | |
103 | 88 | |
104 | 89 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:16 |
105 | 90 | msgid "" |
106 | 91 | "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</" |
107 | 92 | "i>." |
108 | 93 | msgstr "" |
94 | +"<i>%{user}</i> ha agregado el estado <i>%{status_name}</i> en " | |
95 | +"<i>%{created_at}</i>." | |
109 | 96 | |
110 | 97 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18 |
111 | 98 | msgid "<i>Reason:</i> %s" |
112 | -msgstr "" | |
99 | +msgstr "<i>Razón:</i> %s" | |
113 | 100 | |
114 | 101 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:24 |
115 | 102 | #: plugins/comment_classification/views/comment_classification_plugin_status/create.html.erb:1 |
116 | 103 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:29 |
117 | -#, fuzzy | |
118 | 104 | msgid "Add a new status" |
119 | -msgstr "Añadir nuevo producto" | |
105 | +msgstr "Agregar nuevo estado" | |
120 | 106 | |
121 | 107 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/index.html.erb:1 |
122 | -#, fuzzy | |
123 | 108 | msgid "Manage comment classification" |
124 | -msgstr "Información de gestión" | |
109 | +msgstr "Gestionar la clasificación de comentarios" | |
125 | 110 | |
126 | 111 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
127 | 112 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
128 | 113 | msgid "Name" |
129 | -msgstr "" | |
114 | +msgstr "Nombre" | |
130 | 115 | |
131 | 116 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
132 | 117 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
133 | 118 | msgid "Color" |
134 | -msgstr "" | |
119 | +msgstr "Color" | |
135 | 120 | |
136 | 121 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:8 |
137 | -#, fuzzy | |
138 | 122 | msgid "Enable this label?" |
139 | -msgstr "Habilitar correo electrónico" | |
123 | +msgstr "¿Habilitar esta etiqueta?" | |
140 | 124 | |
141 | 125 | #: plugins/comment_classification/views/comment_classification_plugin_labels/edit.html.erb:1 |
142 | -#, fuzzy | |
143 | 126 | msgid "Editing label %s" |
144 | -msgstr "Editando %s" | |
127 | +msgstr "Editar etiqueta %s" | |
145 | 128 | |
146 | 129 | #: plugins/comment_classification/views/comment_classification_plugin_labels/create.html.erb:1 |
147 | 130 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:29 |
148 | -#, fuzzy | |
149 | 131 | msgid "Add a new label" |
150 | -msgstr "Agregar un archivo CSS" | |
132 | +msgstr "Agregar una nueva etiqueta" | |
151 | 133 | |
152 | 134 | # pendiente |
153 | 135 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:1 |
154 | -#, fuzzy | |
155 | 136 | msgid "Manage comments labels" |
156 | -msgstr "Manejar los campos de la comunidad" | |
137 | +msgstr "Gestionar la etiqueta de los comentarios" | |
157 | 138 | |
158 | 139 | # Le ponemos "no registrado" o "sin registrar"? O no especificado? |
159 | 140 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:5 |
160 | -#, fuzzy | |
161 | 141 | msgid "(no label registered yet)" |
162 | -msgstr "(producto no registrado aun)" | |
142 | +msgstr "(todavía no se ha registrado una etiqueta)" | |
163 | 143 | |
164 | 144 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:9 |
165 | 145 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
166 | 146 | msgid "Label" |
167 | -msgstr "" | |
147 | +msgstr "Etiqueta" | |
168 | 148 | |
169 | 149 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:11 |
170 | 150 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:10 |
... | ... | @@ -174,60 +154,50 @@ msgstr "Habilitado" |
174 | 154 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
175 | 155 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
176 | 156 | msgid "Actions" |
177 | -msgstr "" | |
157 | +msgstr "Acciones" | |
178 | 158 | |
179 | 159 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
180 | -#, fuzzy | |
181 | 160 | msgid "Are you sure you want to remove this label?" |
182 | -msgstr "¿Estás seguro de que deseas eliminar este bloque?" | |
161 | +msgstr "¿Estás seguro de que deseas eliminar esta etiqueta?" | |
183 | 162 | |
184 | 163 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:7 |
185 | -#, fuzzy | |
186 | 164 | msgid "Enable this status?" |
187 | -msgstr "Habilitar \"contáctanos\"" | |
165 | +msgstr "¿Habilitar este estado?" | |
188 | 166 | |
189 | 167 | #: plugins/comment_classification/views/comment_classification_plugin_status/edit.html.erb:1 |
190 | -#, fuzzy | |
191 | 168 | msgid "Editing status %s" |
192 | -msgstr "Editando %s" | |
169 | +msgstr "Editando el estado %s" | |
193 | 170 | |
194 | 171 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:1 |
195 | -#, fuzzy | |
196 | 172 | msgid "Manage comments status" |
197 | -msgstr "Administrar contactos" | |
173 | +msgstr "Gestionar el estado de los comentarios" | |
198 | 174 | |
199 | 175 | # Le ponemos "no registrado" o "sin registrar"? O no especificado? |
200 | 176 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:5 |
201 | -#, fuzzy | |
202 | 177 | msgid "(no status registered yet)" |
203 | -msgstr "(producto no registrado aun)" | |
178 | +msgstr "(todavía no se ha registrado un estado)" | |
204 | 179 | |
205 | 180 | # habilitado o permitido? estaba o está? |
206 | 181 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:11 |
207 | -#, fuzzy | |
208 | 182 | msgid "Reason enabled?" |
209 | -msgstr "No habilitado" | |
183 | +msgstr "¿Razón habilitada?" | |
210 | 184 | |
211 | 185 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:21 |
212 | -#, fuzzy | |
213 | 186 | msgid "Are you sure you want to remove this status?" |
214 | -msgstr "¿Estás seguro de que deseas eliminar este elemento?" | |
187 | +msgstr "¿Estás seguro de que deseas eliminar este estado?" | |
215 | 188 | |
216 | 189 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
217 | 190 | msgid "[Select ...]" |
218 | -msgstr "" | |
191 | +msgstr "[Seleccione ...]" | |
219 | 192 | |
220 | 193 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:1 |
221 | -#, fuzzy | |
222 | 194 | msgid "Comments classification options" |
223 | -msgstr "Opciones de moderación" | |
195 | +msgstr "Opciones de clasificación de comentarios" | |
224 | 196 | |
225 | 197 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:4 |
226 | -#, fuzzy | |
227 | 198 | msgid "Manage Labels" |
228 | -msgstr "Administrar campos" | |
199 | +msgstr "Gestionar Etiquetas" | |
229 | 200 | |
230 | 201 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:5 |
231 | -#, fuzzy | |
232 | 202 | msgid "Manage Status" |
233 | -msgstr "Administrar contactos" | |
203 | +msgstr "Gestionar Estados" | ... | ... |
plugins/comment_classification/po/fr/comment_classification.po
... | ... | @@ -4,167 +4,147 @@ |
4 | 4 | # , 2009. |
5 | 5 | msgid "" |
6 | 6 | msgstr "" |
7 | -"Project-Id-Version: 1.0\n" | |
7 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
8 | 8 | "Report-Msgid-Bugs-To: \n" |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
10 | -"PO-Revision-Date: 2014-12-12 14:22+0200\n" | |
11 | -"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
12 | -"Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
13 | -"fr/>\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-03-07 12:26+0200\n" | |
11 | +"Last-Translator: Tuux <tuxa@galaxie.eu.org>\n" | |
12 | +"Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"comment-classification/fr/>\n" | |
14 | 14 | "Language: fr\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.2-dev\n" | |
19 | +"X-Generator: Weblate 2.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
22 | -#, fuzzy | |
23 | 22 | msgid "A plugin that allow classification of comments." |
24 | -msgstr "Un bloc qui affiche vos groupes" | |
23 | +msgstr "Un greffon qui permet de ranger du contenue." | |
25 | 24 | |
26 | 25 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:16 |
27 | -#, fuzzy | |
28 | 26 | msgid "Label created" |
29 | -msgstr "Adresse électronique de contact" | |
27 | +msgstr "Label crée" | |
30 | 28 | |
31 | 29 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:19 |
32 | -#, fuzzy | |
33 | 30 | msgid "Label could not be created" |
34 | -msgstr "Ce fichier n'a pas pu être sauvegardé" | |
31 | +msgstr "Le label n'a pas pu êtres créer" | |
35 | 32 | |
36 | 33 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:31 |
37 | -#, fuzzy | |
38 | 34 | msgid "Label updated" |
39 | -msgstr "Dernière mise à jour" | |
35 | +msgstr "Label mis à jour" | |
40 | 36 | |
41 | 37 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:34 |
42 | -#, fuzzy | |
43 | 38 | msgid "Failed to edit label" |
44 | -msgstr "Échec dans l'édition du rôle" | |
39 | +msgstr "Erreur lors de l'édition du label" | |
45 | 40 | |
46 | 41 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:45 |
47 | -#, fuzzy | |
48 | 42 | msgid "Label removed" |
49 | -msgstr "Corps de l'article" | |
43 | +msgstr "Label supprimé" | |
50 | 44 | |
51 | 45 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:47 |
52 | 46 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_labels_controller.rb:50 |
53 | -#, fuzzy | |
54 | 47 | msgid "Label could not be removed" |
55 | -msgstr "Ce fichier n'a pas pu être sauvegardé" | |
48 | +msgstr "Le label n'a pas pu êtres supprimé" | |
56 | 49 | |
57 | 50 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:15 |
58 | -#, fuzzy | |
59 | 51 | msgid "Status created" |
60 | -msgstr "Adresse électronique de contact" | |
52 | +msgstr "Statut créé" | |
61 | 53 | |
62 | 54 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:18 |
63 | -#, fuzzy | |
64 | 55 | msgid "Status could not be created" |
65 | -msgstr "Ce fichier n'a pas pu être sauvegardé" | |
56 | +msgstr "Les statuts n'ont pas pu êtres créés" | |
66 | 57 | |
67 | 58 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:29 |
68 | -#, fuzzy | |
69 | 59 | msgid "Status updated" |
70 | -msgstr "Date de début" | |
60 | +msgstr "Les statuts sont à jour" | |
71 | 61 | |
72 | 62 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:32 |
73 | -#, fuzzy | |
74 | 63 | msgid "Failed to edit status" |
75 | -msgstr "Échec dans l'édition du rôle" | |
64 | +msgstr "Échec dans l'édition des statuts" | |
76 | 65 | |
77 | 66 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:43 |
78 | -#, fuzzy | |
79 | 67 | msgid "Status removed" |
80 | -msgstr "Corps de l'article" | |
68 | +msgstr "Les statuts ont été supprimés" | |
81 | 69 | |
82 | 70 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:45 |
83 | 71 | #: plugins/comment_classification/controllers/admin/comment_classification_plugin_status_controller.rb:48 |
84 | -#, fuzzy | |
85 | 72 | msgid "Status could not be removed" |
86 | -msgstr "Ce fichier n'a pas pu être sauvegardé" | |
73 | +msgstr "Les statuts ne peuvent pas êtres supprimés" | |
87 | 74 | |
88 | 75 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/_status_form.html.erb:6 |
89 | 76 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:9 |
90 | 77 | #: plugins/comment_classification/views/comment/comment_extra.html.erb:12 |
91 | 78 | msgid "Status" |
92 | -msgstr "Statut" | |
79 | +msgstr "Statuts" | |
93 | 80 | |
94 | 81 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/_status_form.html.erb:7 |
95 | -#, fuzzy | |
96 | 82 | msgid "Reason:" |
97 | -msgstr "Région" | |
83 | +msgstr "Raison:" | |
98 | 84 | |
99 | 85 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:1 |
100 | -#, fuzzy | |
101 | 86 | msgid "Status for comment" |
102 | -msgstr "Un commentaire" | |
87 | +msgstr "Statuts pour le commentaire" | |
103 | 88 | |
104 | 89 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:16 |
105 | 90 | msgid "" |
106 | 91 | "<i>%{user}</i> added the status <i>%{status_name}</i> at <i>%{created_at}</" |
107 | 92 | "i>." |
108 | 93 | msgstr "" |
94 | +"<i>%{utilisateur}</i> ajout des statuts <i>%{nom_ du_statut}</i> à " | |
95 | +"<i>%{creer_a}</i>." | |
109 | 96 | |
110 | 97 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:18 |
111 | 98 | msgid "<i>Reason:</i> %s" |
112 | -msgstr "" | |
99 | +msgstr "<i>Raison:</i> %s" | |
113 | 100 | |
114 | 101 | # (second try of this knid of contents) |
115 | 102 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/add_status.html.erb:24 |
116 | 103 | #: plugins/comment_classification/views/comment_classification_plugin_status/create.html.erb:1 |
117 | 104 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:29 |
118 | -#, fuzzy | |
119 | 105 | msgid "Add a new status" |
120 | -msgstr "Une entreprise" | |
106 | +msgstr "Ajouter un nouveau statut" | |
121 | 107 | |
122 | 108 | #: plugins/comment_classification/views/comment_classification_plugin_myprofile/index.html.erb:1 |
123 | -#, fuzzy | |
124 | 109 | msgid "Manage comment classification" |
125 | -msgstr "Information sur les dirigeants" | |
110 | +msgstr "Manager le rangement de commentaire" | |
126 | 111 | |
127 | 112 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
128 | 113 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
129 | 114 | msgid "Name" |
130 | -msgstr "" | |
115 | +msgstr "Nom" | |
131 | 116 | |
132 | 117 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
133 | 118 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
134 | 119 | msgid "Color" |
135 | -msgstr "" | |
120 | +msgstr "Couleur" | |
136 | 121 | |
137 | 122 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:8 |
138 | -#, fuzzy | |
139 | 123 | msgid "Enable this label?" |
140 | -msgstr "Activer l'entreprise" | |
124 | +msgstr "Activer ce label?" | |
141 | 125 | |
142 | 126 | #: plugins/comment_classification/views/comment_classification_plugin_labels/edit.html.erb:1 |
143 | -#, fuzzy | |
144 | 127 | msgid "Editing label %s" |
145 | -msgstr "Édition de %s" | |
128 | +msgstr "Édition du label %s" | |
146 | 129 | |
147 | 130 | # (second try of this knid of contents) |
148 | 131 | #: plugins/comment_classification/views/comment_classification_plugin_labels/create.html.erb:1 |
149 | 132 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:29 |
150 | -#, fuzzy | |
151 | 133 | msgid "Add a new label" |
152 | -msgstr "Une entreprise" | |
134 | +msgstr "Ajouter un nouveau label" | |
153 | 135 | |
154 | 136 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:1 |
155 | -#, fuzzy | |
156 | 137 | msgid "Manage comments labels" |
157 | -msgstr "Gérer les champs des groupes" | |
138 | +msgstr "Gérer les commentaires des labels" | |
158 | 139 | |
159 | 140 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:5 |
160 | -#, fuzzy | |
161 | 141 | msgid "(no label registered yet)" |
162 | -msgstr "(pas encore de matière brute enregistrée)" | |
142 | +msgstr "(pour le moment aucun label n'est enregistré)" | |
163 | 143 | |
164 | 144 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:9 |
165 | 145 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
166 | 146 | msgid "Label" |
167 | -msgstr "" | |
147 | +msgstr "Label" | |
168 | 148 | |
169 | 149 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:11 |
170 | 150 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:10 |
... | ... | @@ -174,32 +154,27 @@ msgstr "Activé" |
174 | 154 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
175 | 155 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
176 | 156 | msgid "Actions" |
177 | -msgstr "" | |
157 | +msgstr "Actions" | |
178 | 158 | |
179 | 159 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
180 | -#, fuzzy | |
181 | 160 | msgid "Are you sure you want to remove this label?" |
182 | -msgstr "Êtes-vous sûr(e) que vous voulez retirer ce commentaire ?" | |
161 | +msgstr "Êtes-vous sûr(e) que vous voulez retirer ce label ?" | |
183 | 162 | |
184 | 163 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:7 |
185 | -#, fuzzy | |
186 | 164 | msgid "Enable this status?" |
187 | -msgstr "Gérer les contacts." | |
165 | +msgstr "Activer ce statut?" | |
188 | 166 | |
189 | 167 | #: plugins/comment_classification/views/comment_classification_plugin_status/edit.html.erb:1 |
190 | -#, fuzzy | |
191 | 168 | msgid "Editing status %s" |
192 | -msgstr "Édition de %s" | |
169 | +msgstr "Édition du statut %s" | |
193 | 170 | |
194 | 171 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:1 |
195 | -#, fuzzy | |
196 | 172 | msgid "Manage comments status" |
197 | -msgstr "Gérer les contacts." | |
173 | +msgstr "Gérer les commentaires des statuts" | |
198 | 174 | |
199 | 175 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:5 |
200 | -#, fuzzy | |
201 | 176 | msgid "(no status registered yet)" |
202 | -msgstr "genre non enregistré" | |
177 | +msgstr "(il n'y a pas de statut enregistré pour le moment)" | |
203 | 178 | |
204 | 179 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:11 |
205 | 180 | #, fuzzy |
... | ... | @@ -207,25 +182,21 @@ msgid "Reason enabled?" |
207 | 182 | msgstr "%s n'était pas activé(e)" |
208 | 183 | |
209 | 184 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:21 |
210 | -#, fuzzy | |
211 | 185 | msgid "Are you sure you want to remove this status?" |
212 | -msgstr "Êtes-vous sûr(e) de vouloir ôter cet élément ?" | |
186 | +msgstr "Êtes-vous sûr(e) de vouloir supprimer ce statut?" | |
213 | 187 | |
214 | 188 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
215 | 189 | msgid "[Select ...]" |
216 | -msgstr "" | |
190 | +msgstr "[Choisir...]" | |
217 | 191 | |
218 | 192 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:1 |
219 | -#, fuzzy | |
220 | 193 | msgid "Comments classification options" |
221 | -msgstr "Options de modération" | |
194 | +msgstr "Options de rangement des commentaires" | |
222 | 195 | |
223 | 196 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:4 |
224 | -#, fuzzy | |
225 | 197 | msgid "Manage Labels" |
226 | -msgstr "Gérer les champs" | |
198 | +msgstr "Gérer les labels" | |
227 | 199 | |
228 | 200 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:5 |
229 | -#, fuzzy | |
230 | 201 | msgid "Manage Status" |
231 | -msgstr "Gérer les contacts." | |
202 | +msgstr "Gérer les statuts" | ... | ... |
plugins/comment_classification/po/hy/comment_classification.po
... | ... | @@ -5,17 +5,18 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
10 | -"PO-Revision-Date: 2009-10-26 16:20-0300\n" | |
11 | -"Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n" | |
12 | -"Language-Team: LANGUAGE <LL@li.org>\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-23 11:37+0200\n" | |
11 | +"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
12 | +"Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"comment-classification/hy/>\n" | |
13 | 14 | "Language: hy\n" |
14 | 15 | "MIME-Version: 1.0\n" |
15 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
16 | 17 | "Content-Transfer-Encoding: 8bit\n" |
17 | -"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |
18 | -"X-Generator: Pootle 1.1.0\n" | |
18 | +"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |
19 | +"X-Generator: Weblate 2.3-dev\n" | |
19 | 20 | |
20 | 21 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
21 | 22 | #, fuzzy |
... | ... | @@ -125,7 +126,7 @@ msgstr "Տեղեկություններ ղեկավարության մասին" |
125 | 126 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
126 | 127 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
127 | 128 | msgid "Name" |
128 | -msgstr "" | |
129 | +msgstr "Անվանում" | |
129 | 130 | |
130 | 131 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
131 | 132 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
... | ... | @@ -171,7 +172,7 @@ msgstr "Ակտիվացված է" |
171 | 172 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
172 | 173 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
173 | 174 | msgid "Actions" |
174 | -msgstr "" | |
175 | +msgstr "Գործողություններ" | |
175 | 176 | |
176 | 177 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
177 | 178 | #, fuzzy | ... | ... |
plugins/comment_classification/po/pt/comment_classification.po
... | ... | @@ -11,18 +11,18 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
16 | -"PO-Revision-Date: 2014-12-18 18:40-0200\n" | |
17 | -"Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" | |
18 | -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | |
19 | -"noosfero/pt/>\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | +"PO-Revision-Date: 2015-02-23 11:38+0200\n" | |
17 | +"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
18 | +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero" | |
19 | +"/plugin-comment-classification/pt/>\n" | |
20 | 20 | "Language: pt\n" |
21 | 21 | "MIME-Version: 1.0\n" |
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.0\n" | |
25 | +"X-Generator: Weblate 2.3-dev\n" | |
26 | 26 | |
27 | 27 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
28 | 28 | msgid "A plugin that allow classification of comments." |
... | ... | @@ -117,7 +117,7 @@ msgstr "Gerenciar classificação de comentário" |
117 | 117 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
118 | 118 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
119 | 119 | msgid "Name" |
120 | -msgstr "" | |
120 | +msgstr "Nome" | |
121 | 121 | |
122 | 122 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
123 | 123 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
... | ... | @@ -158,7 +158,7 @@ msgstr "Habilitado" |
158 | 158 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
159 | 159 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
160 | 160 | msgid "Actions" |
161 | -msgstr "" | |
161 | +msgstr "Ações" | |
162 | 162 | |
163 | 163 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
164 | 164 | msgid "Are you sure you want to remove this label?" |
... | ... | @@ -190,7 +190,7 @@ msgstr "Tem certeza de que quer excluir este status?" |
190 | 190 | |
191 | 191 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
192 | 192 | msgid "[Select ...]" |
193 | -msgstr "" | |
193 | +msgstr "[Selecione ...]" | |
194 | 194 | |
195 | 195 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:1 |
196 | 196 | msgid "Comments classification options" | ... | ... |
plugins/comment_classification/po/ru/comment_classification.po
... | ... | @@ -5,19 +5,19 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
10 | -"PO-Revision-Date: 2014-12-12 14:23+0200\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-23 11:37+0200\n" | |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | -"Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"noosfero/ru/>\n" | |
12 | +"Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"comment-classification/ru/>\n" | |
14 | 14 | "Language: ru\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 | -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | |
19 | -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | |
20 | -"X-Generator: Weblate 2.2-dev\n" | |
18 | +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" | |
19 | +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | |
20 | +"X-Generator: Weblate 2.3-dev\n" | |
21 | 21 | |
22 | 22 | #: plugins/comment_classification/lib/comment_classification_plugin.rb:11 |
23 | 23 | #, fuzzy |
... | ... | @@ -127,7 +127,7 @@ msgstr "Информация о менеджменте" |
127 | 127 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:6 |
128 | 128 | #: plugins/comment_classification/views/comment_classification_plugin_status/_form.html.erb:6 |
129 | 129 | msgid "Name" |
130 | -msgstr "" | |
130 | +msgstr "Имя" | |
131 | 131 | |
132 | 132 | #: plugins/comment_classification/views/comment_classification_plugin_labels/_form.html.erb:7 |
133 | 133 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:10 |
... | ... | @@ -173,7 +173,7 @@ msgstr "Разрешено" |
173 | 173 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:12 |
174 | 174 | #: plugins/comment_classification/views/comment_classification_plugin_status/index.html.erb:12 |
175 | 175 | msgid "Actions" |
176 | -msgstr "" | |
176 | +msgstr "Действия" | |
177 | 177 | |
178 | 178 | #: plugins/comment_classification/views/comment_classification_plugin_labels/index.html.erb:21 |
179 | 179 | #, fuzzy |
... | ... | @@ -212,7 +212,7 @@ msgstr "Вы уверены что хотите удалить этот элем |
212 | 212 | |
213 | 213 | #: plugins/comment_classification/views/comment/comments_labels_select.html.erb:3 |
214 | 214 | msgid "[Select ...]" |
215 | -msgstr "" | |
215 | +msgstr "[Выберите...]" | |
216 | 216 | |
217 | 217 | #: plugins/comment_classification/views/comment_classification_plugin_admin/index.html.erb:1 |
218 | 218 | #, fuzzy | ... | ... |
plugins/comment_group/po/pt/comment_group.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/community_block/po/pt/community_block.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/community_track/po/de/community_track.po
... | ... | @@ -6,8 +6,8 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
11 | 11 | "PO-Revision-Date: 2014-12-12 14:23+0200\n" |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | 13 | "Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | ... | ... |
plugins/community_track/po/es/community_track.po
... | ... | @@ -5,23 +5,22 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-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" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-24 19:06+0200\n" | |
11 | +"Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n" | |
12 | +"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"community-track/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.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/community_track/lib/community_track_plugin.rb:8 |
22 | -#, fuzzy | |
23 | 22 | msgid "New kind of content for communities." |
24 | -msgstr "Deshabilitar búsqueda por organizaciones" | |
23 | +msgstr "Nuevo tipo de contenido para las comunidades." | |
25 | 24 | |
26 | 25 | #: plugins/community_track/lib/community_track_plugin/step.rb:13 |
27 | 26 | #, fuzzy |
... | ... | @@ -34,15 +33,15 @@ msgstr "" |
34 | 33 | |
35 | 34 | #: plugins/community_track/lib/community_track_plugin/step.rb:52 |
36 | 35 | msgid "Step" |
37 | -msgstr "" | |
36 | +msgstr "Paso" | |
38 | 37 | |
39 | 38 | #: plugins/community_track/lib/community_track_plugin/step.rb:56 |
40 | 39 | msgid "Defines a step." |
41 | -msgstr "" | |
40 | +msgstr "Definir un paso." | |
42 | 41 | |
43 | 42 | #: plugins/community_track/lib/community_track_plugin/track_card_list_block.rb:4 |
44 | 43 | msgid "Track Card List" |
45 | -msgstr "" | |
44 | +msgstr "Seguimiento de Lista de Tarjetas" | |
46 | 45 | |
47 | 46 | #: plugins/community_track/lib/community_track_plugin/track_card_list_block.rb:8 |
48 | 47 | #, fuzzy |
... | ... | @@ -54,23 +53,22 @@ msgid "Closed" |
54 | 53 | msgstr "Cerrado" |
55 | 54 | |
56 | 55 | #: plugins/community_track/lib/community_track_plugin/step_helper.rb:4 |
57 | -#, fuzzy | |
58 | 56 | msgid "Join!" |
59 | -msgstr "Unirse" | |
57 | +msgstr "Unete!" | |
60 | 58 | |
61 | 59 | #: plugins/community_track/lib/community_track_plugin/step_helper.rb:4 |
62 | 60 | #: plugins/community_track/test/unit/community_track_plugin/step_helper_test.rb:33 |
63 | 61 | msgid "Soon" |
64 | -msgstr "" | |
62 | +msgstr "Pronto" | |
65 | 63 | |
66 | 64 | #: plugins/community_track/lib/community_track_plugin/track.rb:11 |
67 | -#, fuzzy | |
68 | 65 | msgid "should not be blank." |
69 | -msgstr "%s no pudo ser actualizado" | |
66 | +msgstr "no debe estar vacío." | |
70 | 67 | |
71 | 68 | #: plugins/community_track/lib/community_track_plugin/track.rb:19 |
69 | +#, fuzzy | |
72 | 70 | msgid "Track" |
73 | -msgstr "" | |
71 | +msgstr "Seguir" | |
74 | 72 | |
75 | 73 | #: plugins/community_track/lib/community_track_plugin/track.rb:23 |
76 | 74 | msgid "Defines a track." |
... | ... | @@ -176,7 +174,7 @@ msgstr "Oculto" |
176 | 174 | |
177 | 175 | #: plugins/community_track/views/blocks/_track_card.html.erb:25 |
178 | 176 | msgid "hits" |
179 | -msgstr "" | |
177 | +msgstr "aciertos" | |
180 | 178 | |
181 | 179 | #: plugins/community_track/views/blocks/_track_list_more.html.erb:5 |
182 | 180 | #, fuzzy | ... | ... |
plugins/community_track/po/pt/community_track.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/container_block/po/pt/container_block.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/container_block/public/container_block.js
1 | 1 | function enableMoveContainerChildren(container, box) { |
2 | 2 | var div = jQuery('#box-'+box+' > .block-outer > .block'); |
3 | 3 | if(!div.is('.ui-resizable')) { |
4 | + div.removeClass('ui-draggable'); | |
4 | 5 | div.resizable({ |
5 | 6 | handles: 'e, w', |
6 | 7 | containment: '#block-'+container+' .block-inner-2', |
... | ... | @@ -14,6 +15,7 @@ function enableMoveContainerChildren(container, box) { |
14 | 15 | function disableMoveContainerChildren(container, box) { |
15 | 16 | var div = jQuery('#box-'+box+' > .block-outer > .block'); |
16 | 17 | if(div.is('.ui-resizable')) { |
18 | + div.addClass('ui-draggable'); | |
17 | 19 | div.resizable('destroy'); |
18 | 20 | } |
19 | 21 | } | ... | ... |
plugins/container_block/views/blocks/container.html.erb
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | <div class="clear"></div> |
11 | 11 | |
12 | 12 | <style> |
13 | - <% box_decorator.select_blocks(block.blocks, { :article => @page, :request_path => request.path, :locale => locale }).each do |child| %> | |
13 | + <% box_decorator.select_blocks(block, block.blocks, { :article => @page, :request_path => request.path, :locale => locale, params: request.params, controller: controller}).each do |child| %> | |
14 | 14 | #block-<%=block.id%> #block-<%=child.id%> { width: <%= block.child_width(child.id) %>px; } |
15 | 15 | <% end %> |
16 | 16 | </style> | ... | ... |
plugins/context_content/po/pt/context_content.po
... | ... | @@ -11,8 +11,8 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
16 | 16 | "PO-Revision-Date: 2014-12-18 18:40-0200\n" |
17 | 17 | "Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" |
18 | 18 | "Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | ... | ... |
plugins/custom_forms/controllers/custom_forms_plugin_profile_controller.rb
... | ... | @@ -9,7 +9,7 @@ class CustomFormsPluginProfileController < ProfileController |
9 | 9 | @submission = CustomFormsPlugin::Submission.find_by_form_id_and_profile_id(@form.id,user.id) |
10 | 10 | @submission ||= CustomFormsPlugin::Submission.new(:form => @form, :profile => user) |
11 | 11 | else |
12 | - @submission = CustomFormsPlugin::Submission.new(:form => @for) | |
12 | + @submission = CustomFormsPlugin::Submission.new(:form => @form) | |
13 | 13 | end |
14 | 14 | |
15 | 15 | # build the answers | ... | ... |
plugins/custom_forms/lib/custom_forms_plugin/submission.rb
... | ... | @@ -5,7 +5,7 @@ class CustomFormsPlugin::Submission < Noosfero::Plugin::ActiveRecord |
5 | 5 | # validation is done manually, see below |
6 | 6 | has_many :answers, :class_name => 'CustomFormsPlugin::Answer', :dependent => :destroy, :validate => false |
7 | 7 | |
8 | - attr_accessible :form, :profile | |
8 | + attr_accessible :form, :profile, :author_name, :author_email | |
9 | 9 | |
10 | 10 | validates_presence_of :form |
11 | 11 | validates_presence_of :author_name, :author_email, :if => lambda {|submission| submission.profile.nil?} |
... | ... | @@ -13,13 +13,16 @@ class CustomFormsPlugin::Submission < Noosfero::Plugin::ActiveRecord |
13 | 13 | validates_format_of :author_email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda {|submission| !submission.author_email.blank?}) |
14 | 14 | validate :check_answers |
15 | 15 | |
16 | - def self.human_attribute_name(attrib) | |
17 | - if /\d+/ =~ attrib and (f = CustomFormsPlugin::Field.find_by_id(attrib.to_i)) | |
16 | + def self.human_attribute_name_with_customization(attrib, options={}) | |
17 | + if /\d+/ =~ attrib and (f = CustomFormsPlugin::Field.find_by_id(attrib.to_s)) | |
18 | 18 | f.name |
19 | 19 | else |
20 | - attrib | |
20 | + _(self.human_attribute_name_without_customization(attrib)) | |
21 | 21 | end |
22 | 22 | end |
23 | + class << self | |
24 | + alias_method_chain :human_attribute_name, :customization | |
25 | + end | |
23 | 26 | |
24 | 27 | before_create do |submission| |
25 | 28 | if submission.profile | ... | ... |
plugins/custom_forms/po/de/custom_forms.po
... | ... | @@ -6,18 +6,18 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
11 | -"PO-Revision-Date: 2014-12-12 14:23+0200\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
11 | +"PO-Revision-Date: 2015-03-09 09:51+0200\n" | |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | -"Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
14 | -"de/>\n" | |
13 | +"Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" | |
14 | +"custom-forms/de/>\n" | |
15 | 15 | "Language: de\n" |
16 | 16 | "MIME-Version: 1.0\n" |
17 | 17 | "Content-Type: text/plain; charset=UTF-8\n" |
18 | 18 | "Content-Transfer-Encoding: 8bit\n" |
19 | 19 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
20 | -"X-Generator: Weblate 2.2-dev\n" | |
20 | +"X-Generator: Weblate 2.3-dev\n" | |
21 | 21 | |
22 | 22 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
23 | 23 | msgid "Invalid string format of access." |
... | ... | @@ -188,7 +188,7 @@ msgstr "Neues Formular" |
188 | 188 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
189 | 189 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
190 | 190 | msgid "Name" |
191 | -msgstr "" | |
191 | +msgstr "Name" | |
192 | 192 | |
193 | 193 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
194 | 194 | msgid "Value" |
... | ... | @@ -198,6 +198,10 @@ msgstr "Wert" |
198 | 198 | msgid "Add a new option" |
199 | 199 | msgstr "Neue Option hinzufügen" |
200 | 200 | |
201 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
202 | +msgid "Ok" | |
203 | +msgstr "OK" | |
204 | + | |
201 | 205 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
202 | 206 | #, fuzzy |
203 | 207 | msgid "Remove alternative" |
... | ... | @@ -355,7 +359,7 @@ msgstr "Beiträge" |
355 | 359 | |
356 | 360 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
357 | 361 | msgid "Actions" |
358 | -msgstr "" | |
362 | +msgstr "Aktionen" | |
359 | 363 | |
360 | 364 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
361 | 365 | msgid "Pending" | ... | ... |
plugins/custom_forms/po/eo/custom_forms.po
... | ... | @@ -5,8 +5,8 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
10 | 10 | "PO-Revision-Date: 2014-11-05 13:05+0200\n" |
11 | 11 | "Last-Translator: Aurélio A. Heckert <aurelio@colivre.coop.br>\n" |
12 | 12 | "Language-Team: Esperanto <https://hosted.weblate.org/projects/noosfero/" |
... | ... | @@ -184,6 +184,10 @@ msgstr "" |
184 | 184 | msgid "Add a new option" |
185 | 185 | msgstr "" |
186 | 186 | |
187 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
188 | +msgid "Ok" | |
189 | +msgstr "" | |
190 | + | |
187 | 191 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
188 | 192 | msgid "Remove alternative" |
189 | 193 | msgstr "" | ... | ... |
plugins/custom_forms/po/es/custom_forms.po
... | ... | @@ -5,18 +5,18 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
10 | -"PO-Revision-Date: 2014-11-03 15:52+0200\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
10 | +"PO-Revision-Date: 2015-03-09 09:51+0200\n" | |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | -"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"noosfero/es/>\n" | |
12 | +"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"custom-forms/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.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
22 | 22 | #, fuzzy |
... | ... | @@ -201,7 +201,7 @@ msgstr "Forma Legal" |
201 | 201 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
202 | 202 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
203 | 203 | msgid "Name" |
204 | -msgstr "" | |
204 | +msgstr "Nombre" | |
205 | 205 | |
206 | 206 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
207 | 207 | msgid "Value" |
... | ... | @@ -212,6 +212,10 @@ msgstr "" |
212 | 212 | msgid "Add a new option" |
213 | 213 | msgstr "Añadir nuevo producto" |
214 | 214 | |
215 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
216 | +msgid "Ok" | |
217 | +msgstr "Ok" | |
218 | + | |
215 | 219 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
216 | 220 | #, fuzzy |
217 | 221 | msgid "Remove alternative" |
... | ... | @@ -377,7 +381,7 @@ msgstr "Permisos" |
377 | 381 | |
378 | 382 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
379 | 383 | msgid "Actions" |
380 | -msgstr "" | |
384 | +msgstr "Acciones" | |
381 | 385 | |
382 | 386 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
383 | 387 | msgid "Pending" | ... | ... |
plugins/custom_forms/po/fr/custom_forms.po
... | ... | @@ -4,19 +4,19 @@ |
4 | 4 | # , 2009. |
5 | 5 | msgid "" |
6 | 6 | msgstr "" |
7 | -"Project-Id-Version: 1.0\n" | |
7 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
8 | 8 | "Report-Msgid-Bugs-To: \n" |
9 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
10 | -"PO-Revision-Date: 2014-12-12 14:22+0200\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-23 11:38+0200\n" | |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | -"Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
13 | -"fr/>\n" | |
12 | +"Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"custom-forms/fr/>\n" | |
14 | 14 | "Language: fr\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.2-dev\n" | |
19 | +"X-Generator: Weblate 2.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
22 | 22 | msgid "Invalid string format of access." |
... | ... | @@ -199,7 +199,7 @@ msgstr "Nouveau dossier" |
199 | 199 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
200 | 200 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
201 | 201 | msgid "Name" |
202 | -msgstr "" | |
202 | +msgstr "Nom" | |
203 | 203 | |
204 | 204 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
205 | 205 | msgid "Value" |
... | ... | @@ -211,6 +211,10 @@ msgstr "" |
211 | 211 | msgid "Add a new option" |
212 | 212 | msgstr "Une entreprise" |
213 | 213 | |
214 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
215 | +msgid "Ok" | |
216 | +msgstr "" | |
217 | + | |
214 | 218 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
215 | 219 | #, fuzzy |
216 | 220 | msgid "Remove alternative" |
... | ... | @@ -383,7 +387,7 @@ msgstr "Permissions" |
383 | 387 | |
384 | 388 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
385 | 389 | msgid "Actions" |
386 | -msgstr "" | |
390 | +msgstr "Actions" | |
387 | 391 | |
388 | 392 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
389 | 393 | #, fuzzy | ... | ... |
plugins/custom_forms/po/hy/custom_forms.po
... | ... | @@ -5,17 +5,18 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
10 | -"PO-Revision-Date: 2009-10-26 16:20-0300\n" | |
11 | -"Last-Translator: Anahit Minassian <anahit.minassian@cooperation.net>\n" | |
12 | -"Language-Team: LANGUAGE <LL@li.org>\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
10 | +"PO-Revision-Date: 2015-02-23 11:37+0200\n" | |
11 | +"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
12 | +"Language-Team: Armenian <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"custom-forms/hy/>\n" | |
13 | 14 | "Language: hy\n" |
14 | 15 | "MIME-Version: 1.0\n" |
15 | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
16 | 17 | "Content-Transfer-Encoding: 8bit\n" |
17 | -"Plural-Forms: nplurals=2; plural=(n > 1);\n" | |
18 | -"X-Generator: Pootle 1.1.0\n" | |
18 | +"Plural-Forms: nplurals=2; plural=(n != 1);\n" | |
19 | +"X-Generator: Weblate 2.3-dev\n" | |
19 | 20 | |
20 | 21 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
21 | 22 | msgid "Invalid string format of access." |
... | ... | @@ -197,7 +198,7 @@ msgstr "Նոր թղթապանակ" |
197 | 198 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
198 | 199 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
199 | 200 | msgid "Name" |
200 | -msgstr "" | |
201 | +msgstr "Անվանում" | |
201 | 202 | |
202 | 203 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
203 | 204 | msgid "Value" |
... | ... | @@ -208,6 +209,10 @@ msgstr "" |
208 | 209 | msgid "Add a new option" |
209 | 210 | msgstr "Մեկ ձեռնարկություն" |
210 | 211 | |
212 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
213 | +msgid "Ok" | |
214 | +msgstr "" | |
215 | + | |
211 | 216 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
212 | 217 | #, fuzzy |
213 | 218 | msgid "Remove alternative" |
... | ... | @@ -375,7 +380,7 @@ msgstr "Թույլտվություններ" |
375 | 380 | |
376 | 381 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
377 | 382 | msgid "Actions" |
378 | -msgstr "" | |
383 | +msgstr "Գործողություններ" | |
379 | 384 | |
380 | 385 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
381 | 386 | #, fuzzy | ... | ... |
plugins/custom_forms/po/pt/custom_forms.po
... | ... | @@ -11,18 +11,18 @@ |
11 | 11 | # |
12 | 12 | msgid "" |
13 | 13 | msgstr "" |
14 | -"Project-Id-Version: 1.0\n" | |
15 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
16 | -"PO-Revision-Date: 2014-12-18 18:40-0200\n" | |
17 | -"Last-Translator: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>\n" | |
18 | -"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero/" | |
19 | -"noosfero/pt/>\n" | |
14 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
15 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
16 | +"PO-Revision-Date: 2015-03-12 15:13+0200\n" | |
17 | +"Last-Translator: daniel <dtygel@eita.org.br>\n" | |
18 | +"Language-Team: Portuguese <https://hosted.weblate.org/projects/noosfero" | |
19 | +"/plugin-custom-forms/pt/>\n" | |
20 | 20 | "Language: pt\n" |
21 | 21 | "MIME-Version: 1.0\n" |
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.0\n" | |
25 | +"X-Generator: Weblate 2.3-dev\n" | |
26 | 26 | |
27 | 27 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
28 | 28 | msgid "Invalid string format of access." |
... | ... | @@ -133,11 +133,11 @@ msgstr "Gerenciar Formulários" |
133 | 133 | |
134 | 134 | #: plugins/custom_forms/controllers/custom_forms_plugin_myprofile_controller.rb:26 |
135 | 135 | msgid "Custom form %s was successfully created." |
136 | -msgstr "\"O formulário %s foi criado com sucesso.\"" | |
136 | +msgstr "O formulário %s foi criado com sucesso." | |
137 | 137 | |
138 | 138 | #: plugins/custom_forms/controllers/custom_forms_plugin_myprofile_controller.rb:46 |
139 | 139 | msgid "Custom form %s was successfully updated." |
140 | -msgstr "O formulário personalizado %s foi atualizado com sucesso" | |
140 | +msgstr "O formulário personalizado %s foi atualizado com sucesso." | |
141 | 141 | |
142 | 142 | #: plugins/custom_forms/controllers/custom_forms_plugin_myprofile_controller.rb:49 |
143 | 143 | msgid "Form could not be updated" |
... | ... | @@ -185,7 +185,7 @@ msgstr "Novo formulário" |
185 | 185 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
186 | 186 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
187 | 187 | msgid "Name" |
188 | -msgstr "" | |
188 | +msgstr "Nome" | |
189 | 189 | |
190 | 190 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
191 | 191 | msgid "Value" |
... | ... | @@ -195,6 +195,10 @@ msgstr "Valor" |
195 | 195 | msgid "Add a new option" |
196 | 196 | msgstr "Adicionar uma nova opção" |
197 | 197 | |
198 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
199 | +msgid "Ok" | |
200 | +msgstr "Ok" | |
201 | + | |
198 | 202 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
199 | 203 | msgid "Remove alternative" |
200 | 204 | msgstr "Remover alternativa" |
... | ... | @@ -340,7 +344,7 @@ msgstr "Submissões" |
340 | 344 | |
341 | 345 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
342 | 346 | msgid "Actions" |
343 | -msgstr "" | |
347 | +msgstr "Ações" | |
344 | 348 | |
345 | 349 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
346 | 350 | msgid "Pending" | ... | ... |
plugins/custom_forms/po/ru/custom_forms.po
... | ... | @@ -5,19 +5,19 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:44-0300\n" | |
10 | -"PO-Revision-Date: 2014-12-12 14:23+0200\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:10-0300\n" | |
10 | +"PO-Revision-Date: 2015-03-09 09:51+0200\n" | |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | -"Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"noosfero/ru/>\n" | |
12 | +"Language-Team: Russian <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"custom-forms/ru/>\n" | |
14 | 14 | "Language: ru\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 | -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | |
19 | -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | |
20 | -"X-Generator: Weblate 2.2-dev\n" | |
18 | +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" | |
19 | +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | |
20 | +"X-Generator: Weblate 2.3-dev\n" | |
21 | 21 | |
22 | 22 | #: plugins/custom_forms/lib/custom_forms_plugin/form.rb:67 |
23 | 23 | msgid "Invalid string format of access." |
... | ... | @@ -200,7 +200,7 @@ msgstr "Новая папка" |
200 | 200 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_form.html.erb:5 |
201 | 201 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:6 |
202 | 202 | msgid "Name" |
203 | -msgstr "" | |
203 | +msgstr "Имя" | |
204 | 204 | |
205 | 205 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:6 |
206 | 206 | msgid "Value" |
... | ... | @@ -211,6 +211,10 @@ msgstr "" |
211 | 211 | msgid "Add a new option" |
212 | 212 | msgstr "Одна компания" |
213 | 213 | |
214 | +#: plugins/custom_forms/views/custom_forms_plugin_myprofile/_edit_select.html.erb:29 | |
215 | +msgid "Ok" | |
216 | +msgstr "OK" | |
217 | + | |
214 | 218 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/custom_forms_plugin/_alternative.html.erb:10 |
215 | 219 | #, fuzzy |
216 | 220 | msgid "Remove alternative" |
... | ... | @@ -379,7 +383,7 @@ msgstr "Разрешения" |
379 | 383 | |
380 | 384 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:10 |
381 | 385 | msgid "Actions" |
382 | -msgstr "" | |
386 | +msgstr "Действия" | |
383 | 387 | |
384 | 388 | #: plugins/custom_forms/views/custom_forms_plugin_myprofile/index.html.erb:20 |
385 | 389 | msgid "Pending" | ... | ... |
plugins/custom_forms/test/functional/custom_forms_plugin_profile_controller_test.rb
... | ... | @@ -29,6 +29,30 @@ class CustomFormsPluginProfileControllerTest < ActionController::TestCase |
29 | 29 | assert_redirected_to :action => 'show' |
30 | 30 | end |
31 | 31 | |
32 | + should 'save submission if fields are ok and user is not logged in' do | |
33 | + logout | |
34 | + form = CustomFormsPlugin::Form.create!(:profile => profile, :name => 'Free Software') | |
35 | + field = CustomFormsPlugin::TextField.create(:name => 'Name', :form => form) | |
36 | + | |
37 | + assert_difference 'CustomFormsPlugin::Submission.count', 1 do | |
38 | + post :show, :profile => profile.identifier, :id => form.id, :author_name => "john", :author_email => 'john@example.com', :submission => {field.id.to_s => 'Noosfero'} | |
39 | + end | |
40 | + assert_redirected_to :action => 'show' | |
41 | + end | |
42 | + | |
43 | + should 'display errors if user is not logged in and author_name is not uniq' do | |
44 | + logout | |
45 | + form = CustomFormsPlugin::Form.create(:profile => profile, :name => 'Free Software') | |
46 | + field = CustomFormsPlugin::TextField.create(:name => 'Name', :form => form) | |
47 | + submission = CustomFormsPlugin::Submission.create(:form => form, :author_name => "john", :author_email => 'john@example.com') | |
48 | + | |
49 | + assert_no_difference 'CustomFormsPlugin::Submission.count' do | |
50 | + post :show, :profile => profile.identifier, :id => form.id, :author_name => "john", :author_email => 'john@example.com', :submission => {field.id.to_s => 'Noosfero'} | |
51 | + end | |
52 | + assert_equal "Submission could not be saved", session[:notice] | |
53 | + assert_tag :tag => 'div', :attributes => { :class => 'errorExplanation', :id => 'errorExplanation' } | |
54 | + end | |
55 | + | |
32 | 56 | should 'disable fields if form expired' do |
33 | 57 | form = CustomFormsPlugin::Form.create!(:profile => profile, :name => 'Free Software', :begining => Time.now + 1.day) |
34 | 58 | form.fields << CustomFormsPlugin::TextField.create(:name => 'Field Name', :form => form, :default_value => "First Field") | ... | ... |
plugins/display_content/po/de/display_content.po
... | ... | @@ -6,18 +6,18 @@ |
6 | 6 | # |
7 | 7 | msgid "" |
8 | 8 | msgstr "" |
9 | -"Project-Id-Version: 1.0\n" | |
10 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
11 | -"PO-Revision-Date: 2014-12-12 14:23+0200\n" | |
9 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
10 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
11 | +"PO-Revision-Date: 2015-02-23 11:37+0200\n" | |
12 | 12 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
13 | -"Language-Team: German <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
14 | -"de/>\n" | |
13 | +"Language-Team: German <https://hosted.weblate.org/projects/noosfero/plugin-" | |
14 | +"display-content/de/>\n" | |
15 | 15 | "Language: de\n" |
16 | 16 | "MIME-Version: 1.0\n" |
17 | 17 | "Content-Type: text/plain; charset=UTF-8\n" |
18 | 18 | "Content-Transfer-Encoding: 8bit\n" |
19 | 19 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
20 | -"X-Generator: Weblate 2.2-dev\n" | |
20 | +"X-Generator: Weblate 2.3-dev\n" | |
21 | 21 | |
22 | 22 | #: plugins/display_content/lib/display_content_plugin.rb:10 |
23 | 23 | msgid "" |
... | ... | @@ -49,17 +49,16 @@ msgid "Abstract" |
49 | 49 | msgstr "Zusammenfassung" |
50 | 50 | |
51 | 51 | #: plugins/display_content/lib/display_content_block.rb:151 |
52 | -#, fuzzy | |
53 | 52 | msgid "Read more" |
54 | -msgstr "Mehr zeigen" | |
53 | +msgstr "Mehr lesen" | |
55 | 54 | |
56 | 55 | #: plugins/display_content/lib/display_content_block.rb:194 |
57 | 56 | msgid "%{month}/%{day}/%{year}" |
58 | -msgstr "" | |
57 | +msgstr "%{day}.%{month}.%{year}" | |
59 | 58 | |
60 | 59 | #: plugins/display_content/lib/display_content_block.rb:194 |
61 | 60 | msgid "%{month}/%{day}" |
62 | -msgstr "" | |
61 | +msgstr "%{day}.%{month}." | |
63 | 62 | |
64 | 63 | #: plugins/display_content/lib/display_content_block.rb:197 |
65 | 64 | msgid "%{month_name} %{day}, %{year}" | ... | ... |
plugins/display_content/po/es/display_content.po
... | ... | @@ -5,18 +5,18 @@ |
5 | 5 | # |
6 | 6 | msgid "" |
7 | 7 | msgstr "" |
8 | -"Project-Id-Version: 1.0\n" | |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
10 | -"PO-Revision-Date: 2014-11-03 15:52+0200\n" | |
8 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-03-09 09:51+0200\n" | |
11 | 11 | "Last-Translator: Michal Čihař <michal@cihar.com>\n" |
12 | -"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/" | |
13 | -"noosfero/es/>\n" | |
12 | +"Language-Team: Spanish <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"display-content/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.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/display_content/lib/display_content_plugin.rb:10 |
22 | 22 | msgid "" |
... | ... | @@ -48,21 +48,20 @@ msgid "Abstract" |
48 | 48 | msgstr "Resumen" |
49 | 49 | |
50 | 50 | #: plugins/display_content/lib/display_content_block.rb:151 |
51 | -#, fuzzy | |
52 | 51 | msgid "Read more" |
53 | -msgstr "Ver más" | |
52 | +msgstr "Leer más" | |
54 | 53 | |
55 | 54 | #: plugins/display_content/lib/display_content_block.rb:194 |
56 | 55 | msgid "%{month}/%{day}/%{year}" |
57 | -msgstr "" | |
56 | +msgstr "%{day} de %{month} %{year}" | |
58 | 57 | |
59 | 58 | #: plugins/display_content/lib/display_content_block.rb:194 |
60 | 59 | msgid "%{month}/%{day}" |
61 | -msgstr "" | |
60 | +msgstr "%{day}/%{month}" | |
62 | 61 | |
63 | 62 | #: plugins/display_content/lib/display_content_block.rb:197 |
64 | 63 | msgid "%{month_name} %{day}, %{year}" |
65 | -msgstr "" | |
64 | +msgstr "%{day} de %{month_name} de %{year}" | |
66 | 65 | |
67 | 66 | #: plugins/display_content/lib/display_content_block.rb:197 |
68 | 67 | msgid "%{month_name} %{day}" | ... | ... |
plugins/display_content/po/fr/display_content.po
... | ... | @@ -4,113 +4,110 @@ |
4 | 4 | # , 2009. |
5 | 5 | msgid "" |
6 | 6 | msgstr "" |
7 | -"Project-Id-Version: 1.0\n" | |
7 | +"Project-Id-Version: 1.0-690-gcb6e853\n" | |
8 | 8 | "Report-Msgid-Bugs-To: \n" |
9 | -"POT-Creation-Date: 2015-02-02 21:43-0300\n" | |
10 | -"PO-Revision-Date: 2014-12-12 14:22+0200\n" | |
11 | -"Last-Translator: Michal Čihař <michal@cihar.com>\n" | |
12 | -"Language-Team: French <https://hosted.weblate.org/projects/noosfero/noosfero/" | |
13 | -"fr/>\n" | |
9 | +"POT-Creation-Date: 2015-03-05 12:09-0300\n" | |
10 | +"PO-Revision-Date: 2015-03-07 02:11+0200\n" | |
11 | +"Last-Translator: Tuux <tuxa@galaxie.eu.org>\n" | |
12 | +"Language-Team: French <https://hosted.weblate.org/projects/noosfero/plugin-" | |
13 | +"display-content/fr/>\n" | |
14 | 14 | "Language: fr\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.2-dev\n" | |
19 | +"X-Generator: Weblate 2.3-dev\n" | |
20 | 20 | |
21 | 21 | #: plugins/display_content/lib/display_content_plugin.rb:10 |
22 | 22 | msgid "" |
23 | 23 | "A plugin that adds a block where you could choose any of your content and " |
24 | 24 | "display it." |
25 | 25 | msgstr "" |
26 | +"Un greffon qui permet d'ajouter une zone ou vous pourrez y afficher le " | |
27 | +"contenue de votre choix." | |
26 | 28 | |
27 | 29 | #: plugins/display_content/lib/display_content_block.rb:34 |
28 | -#, fuzzy | |
29 | 30 | msgid "Display your contents" |
30 | -msgstr "Afficher un de vos contenus." | |
31 | +msgstr "Afficher vos contenus" | |
31 | 32 | |
32 | 33 | #: plugins/display_content/lib/display_content_block.rb:38 |
33 | -#, fuzzy | |
34 | 34 | msgid "" |
35 | 35 | "This block displays articles chosen by you. You can edit the block to select " |
36 | 36 | "which of your articles is going to be displayed in the block." |
37 | 37 | msgstr "" |
38 | -"Ce bloc affiche un de vos articles. Vous pouvez éditer le bloc pour " | |
38 | +"Ce bloc affiche l'article de votre choix. Vous pouvez éditer le bloc pour " | |
39 | 39 | "sélectionner lequel de vos articles va être affiche dans ce bloc." |
40 | 40 | |
41 | 41 | #: plugins/display_content/lib/display_content_block.rb:43 |
42 | -#, fuzzy | |
43 | 42 | msgid "Publish date" |
44 | -msgstr "Publié" | |
43 | +msgstr "Date de publication" | |
45 | 44 | |
46 | 45 | #: plugins/display_content/lib/display_content_block.rb:45 |
47 | 46 | msgid "Abstract" |
48 | 47 | msgstr "Résumé" |
49 | 48 | |
50 | 49 | #: plugins/display_content/lib/display_content_block.rb:151 |
51 | -#, fuzzy | |
52 | 50 | msgid "Read more" |
53 | -msgstr "plus..." | |
51 | +msgstr "En lire plus" | |
54 | 52 | |
55 | 53 | #: plugins/display_content/lib/display_content_block.rb:194 |
56 | 54 | msgid "%{month}/%{day}/%{year}" |
57 | -msgstr "" | |
55 | +msgstr "%{mois}/%{jour}/%{année}" | |
58 | 56 | |
59 | 57 | #: plugins/display_content/lib/display_content_block.rb:194 |
60 | 58 | msgid "%{month}/%{day}" |
61 | -msgstr "" | |
59 | +msgstr "%{mois}/%{jour}" | |
62 | 60 | |
63 | 61 | #: plugins/display_content/lib/display_content_block.rb:197 |
64 | 62 | msgid "%{month_name} %{day}, %{year}" |
65 | -msgstr "" | |
63 | +msgstr "%{nom_du_mois} %{jour}, %{année}" | |
66 | 64 | |
67 | 65 | #: plugins/display_content/lib/display_content_block.rb:197 |
68 | 66 | msgid "%{month_name} %{day}" |
69 | -msgstr "" | |
67 | +msgstr "%{nom_du_mois} %{jour}" | |
70 | 68 | |
71 | 69 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:5 |
72 | 70 | msgid "Choose which attributes should be displayed and drag to reorder them:" |
73 | 71 | msgstr "" |
72 | +"Choisissez quels attribues doivent êtres afficher et glisser/déposer pour " | |
73 | +"les réorganiser:" | |
74 | 74 | |
75 | 75 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:21 |
76 | 76 | msgid "Choose which content should be displayed:" |
77 | -msgstr "" | |
77 | +msgstr "Choisissez le contenu à afficher:" | |
78 | 78 | |
79 | 79 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:23 |
80 | 80 | msgid "Choose directly" |
81 | -msgstr "" | |
81 | +msgstr "Choisir directement" | |
82 | 82 | |
83 | 83 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:24 |
84 | -#, fuzzy | |
85 | 84 | msgid "Choose by Content Type" |
86 | -msgstr "Type de contenu" | |
85 | +msgstr "Choisir par type de contenu" | |
87 | 86 | |
88 | 87 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:28 |
89 | 88 | msgid "Order by:" |
90 | -msgstr "" | |
89 | +msgstr "Trier par:" | |
91 | 90 | |
92 | 91 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:29 |
93 | 92 | msgid "Most recent" |
94 | -msgstr "" | |
93 | +msgstr "Le plus récent" | |
95 | 94 | |
96 | 95 | #: plugins/display_content/views/box_organizer/_display_content_block.html.erb:30 |
97 | 96 | msgid "Most oldest" |
98 | -msgstr "" | |
97 | +msgstr "Le plus ancien" | |
99 | 98 | |
100 | 99 | #: plugins/display_content/views/box_organizer/_choose_by_content_type.html.erb:1 |
101 | -#, fuzzy | |
102 | 100 | msgid "Display content types:" |
103 | -msgstr "Afficher un de vos contenus." | |
101 | +msgstr "Afficher le types de contenue:" | |
104 | 102 | |
105 | 103 | #: plugins/display_content/views/box_organizer/_choose_by_content_type.html.erb:7 |
106 | -#, fuzzy | |
107 | 104 | msgid "more" |
108 | -msgstr "plus..." | |
105 | +msgstr "plus" | |
109 | 106 | |
110 | 107 | #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:5 |
111 | 108 | msgid "Dinamically load children of selected folders" |
112 | -msgstr "" | |
109 | +msgstr "Dynamiquement charger les sous répertoires des répertoires sélectionnés" | |
113 | 110 | |
114 | 111 | #: plugins/display_content/views/box_organizer/_choose_directly.html.erb:9 |
115 | 112 | msgid "Limit:" |
116 | -msgstr "" | |
113 | +msgstr "Limite:" | ... | ... |