Browse Source

Downloadble stats

development
Godwin 9 years ago
parent
commit
8d546ee164
  1. 51
      app/controllers/conferences_controller.rb
  2. 18
      app/views/application/excel.xls.haml
  3. 1
      app/views/conferences/stats.html.haml
  4. 3
      app/views/layouts/user_mailer.html.haml
  5. 2
      config/initializers/mime_types.rb
  6. 2
      config/locales/data/html_records/Broadcast-message--.html
  7. 7
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast.html
  8. 2
      config/locales/data/html_records/Create-workshop--.html
  9. 2
      config/locales/data/html_records/See-a-more-info-link--.html
  10. 2
      config/locales/data/html_records/See-a-register-link--.html
  11. 2
      config/locales/data/html_records/Start-registration-from-landing-page--.html
  12. 7
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-1.html
  13. 5
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-3.html
  14. 7
      config/locales/data/html_records/Start-registration-from-landing-page--email_confirmation.html
  15. 5
      config/locales/data/html_records/Start-registration-from-landing-page--registration_confirmation.html
  16. 2
      config/locales/data/html_records/View-stats--.html
  17. 1
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.html
  18. 46
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.xls.html
  19. 47
      config/locales/data/translation-info.yml
  20. 191
      config/locales/es.yml
  21. 1
      features/registration_page.feature

51
app/controllers/conferences_controller.rb

@ -414,6 +414,7 @@ class ConferencesController < ApplicationController
raise ActiveRecord::PremissionDenied unless (current_user && @this_conference.host?(current_user))
@registrations = ConferenceRegistration.where(:conference_id => @this_conference.id)
@total_registrations = 0
@donation_count = 0
@total_donations = 0
@ -425,6 +426,15 @@ class ConferencesController < ApplicationController
@allergies = []
@other = []
if request.format.xls?
#I18n.backend.init_page(request, params)
@excel_data = {
:columns => [:name, :email, :city, :date, :languages, :arrival, :departure, :housing, :bike, :food, :allergies, :other, :fees_paid],
:key => 'articles.conference_registration.headings',
:data => []
}
end
@registrations.each do |r|
if r.is_attending
@total_registrations += 1
@ -432,15 +442,21 @@ class ConferencesController < ApplicationController
@donation_count += 1 if r.registration_fees_paid
@total_donations += r.registration_fees_paid unless r.registration_fees_paid.blank?
unless r.housing.blank?
@housing[r.housing.to_sym] ||= 0
@housing[r.housing.to_sym] += 1
end
unless r.bike.blank?
@bikes[r.bike.to_sym] ||= 0
@bikes[r.bike.to_sym] += 1
@bike_count += 1 unless r.bike.to_sym == :none
end
unless r.food.blank?
@food[r.food.to_sym] ||= 0
@food[r.food.to_sym] += 1
end
@allergies << r.allergies unless r.allergies.blank?
@other << r.other unless r.other.blank?
@ -448,9 +464,43 @@ class ConferencesController < ApplicationController
JSON.parse(r.languages).each do |l|
@languages[l.to_sym] ||= 0
@languages[l.to_sym] += 1
end unless r.languages.blank?
if @excel_data
user = User.find(r.user_id)
@excel_data[:data] << {
:name => user.firstname,
:email => user.email,
:date => r.created_at.strftime("%F %T"),
:city => r.city,
:languages => ((JSON.parse(r.languages || '[]').map { |x| I18n.t"languages.#{x}" }).join(', ').to_s),
:arrival => r.arrival.strftime("%F %T"),
:departure => r.departure.strftime("%F %T"),
:housing => (I18n.t"articles.conference_registration.questions.housing.#{r.housing || 'none'}"),
:bike => (I18n.t"articles.conference_registration.questions.bike.#{r.bike || 'none'}"),
:food => (I18n.t"articles.conference_registration.questions.food.#{r.food || 'meat'}"),
:fees_paid => (r.registration_fees_paid || 0.0),
:allergies => r.allergies || '',
:other => r.other || ''
}
end
end
end
if ENV["RAILS_ENV"] == 'test' && request.format.xls?
request.format = :html
respond_to do |format|
format.html { render :file => 'application/excel.xls.haml', :formats => [:xls] }
end
return
end
respond_to do |format|
format.html
format.text { render :text => content }
format.xls { render 'application/excel' }
end
end
def register
@ -620,6 +670,7 @@ class ConferencesController < ApplicationController
when :done
@amount = ((@registration.registration_fees_paid || 0) * 100).to_i.to_s.gsub(/^(.*)(\d\d)$/, '\1.\2')
end
end
def registrations

18
app/views/application/excel.xls.haml

@ -0,0 +1,18 @@
- key = @excel_data[:key] || 'excel.columns'
%html
%head
= inject_css! if ENV["RAILS_ENV"] == 'test'
%title
=_!'Excel Spreadsheet'
%body
%table
%thead
%tr
- @excel_data[:columns].each do |column|
%th=_"#{key}.#{column.to_s}"
%tbody
- @excel_data[:data].each do |row|
%tr
- @excel_data[:columns].each do |column|
%td=_!row[column]

1
app/views/conferences/stats.html.haml

@ -4,6 +4,7 @@
= columns(medium: 12) do
%h2=_'articles.conference_registration.headings.Stats'
%p=_'articles.conference_registration.paragraphs.Stats', :p
= link_to (_'links.download.Excel','Download Data in Excel Format'), stats_path(@this_conference.slug, :format => :xls), {:class => :button}
= columns(medium: 6) do
%ul.stats
%li

3
app/views/layouts/user_mailer.html.haml

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;

2
config/initializers/mime_types.rb

@ -3,3 +3,5 @@
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
# Mime::Type.register_alias "text/html", :iphone
Mime::Type.register "application/xls", :xls

2
config/locales/data/html_records/Broadcast-message--.html

@ -46,7 +46,7 @@
<div class="details">
<h3 class="primary">San Marcos, Texas</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

7
config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast.html

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;
@ -77,7 +78,7 @@
<table align='center' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2' style='text-align: center' valign='top'>
<img class='image_fix' src='http://127.0.0.1:57509'>
<img class='image_fix' src='http://127.0.0.1:62230'>
</td>
</tr>
<tr>
@ -93,7 +94,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:57509'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

2
config/locales/data/html_records/Create-workshop--.html

@ -46,7 +46,7 @@
<div class="details">
<h3 class="primary">San Marcos, Texas</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

2
config/locales/data/html_records/See-a-more-info-link--.html

@ -50,7 +50,7 @@
<div class="details">
<h3 class="primary">Halifax, Nova Scotia</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

2
config/locales/data/html_records/See-a-register-link--.html

@ -41,7 +41,7 @@
<div class="details">
<h3 class="primary">Sackville, New Brunswick</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

2
config/locales/data/html_records/Start-registration-from-landing-page--.html

@ -41,7 +41,7 @@
<div class="details">
<h3 class="primary">Halifax, Nova Scotia</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

7
config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-1.html

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;
@ -80,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/7f171b892f2a2059668662f3924c19a8cd4a57fae62fe8f9f5b30d0aaaaae052'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/b0129e7dd5b5a31356afbbbbf89b04281c60477e913606a7841ffb27afcf1fc4'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -94,7 +95,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:57509'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

5
config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-3.html

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;
@ -89,7 +90,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:57509'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

7
config/locales/data/html_records/Start-registration-from-landing-page--email_confirmation.html

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;
@ -80,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/7f171b892f2a2059668662f3924c19a8cd4a57fae62fe8f9f5b30d0aaaaae052'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/b0129e7dd5b5a31356afbbbbf89b04281c60477e913606a7841ffb27afcf1fc4'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -94,7 +95,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:57509'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

5
config/locales/data/html_records/Start-registration-from-landing-page--registration_confirmation.html

@ -42,7 +42,8 @@
padding: 10px 20px;
line-height: 50px;
}
h3 b a {
h3 b a,
h3 b a:visited {
color: #FFF !important;
background-color: #02CA9E;
text-decoration: none !important;
@ -89,7 +90,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:57509'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

2
config/locales/data/html_records/View-stats--.html

@ -46,7 +46,7 @@
<div class="details">
<h3 class="primary">Anchorage, Alaska</h3>
<div class="secondary">
August 13 – 17, 2015
August 14 – 18, 2015
</div>
</div>
</div>

1
config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.html

@ -56,6 +56,7 @@
<article>
<div class="row"><div class="columns medium-12"><h2><span class="translated-content" data-i18n-key="articles.conference_registration.headings.Stats" data-i18n-needs-translation="0">Stats</span></h2>
<p><span class="translated-content" data-i18n-key="articles.conference_registration.paragraphs.Stats" data-i18n-needs-translation="0">Check Out who's coming and what they've paid so far. See at a glance how much accommodation is needed and what people prefer to eat.</span></p>
<a class="button" href="/conferences/MyBikeBike/stats.xls"><span class="translated-content" data-i18n-key="links.download.Excel" data-i18n-needs-translation="1">Download Data in Excel Format</span></a>
</div><div class="columns medium-6"><ul class="stats">
<li>
<h3><span class="translated-content" data-i18n-key="articles.conference_registration.terms.Total_Registrations" data-i18n-needs-translation="0">Total Registrations</span></h3>

46
config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.xls.html

@ -0,0 +1,46 @@
<html><head>
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<title>
Excel Spreadsheet
</title>
</head>
<body>
<table>
<thead>
<tr>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.name" data-i18n-needs-translation="0">What is your name?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.email" data-i18n-needs-translation="1">email</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.city" data-i18n-needs-translation="1">city</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.date" data-i18n-needs-translation="1">date</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.languages" data-i18n-needs-translation="0">Which languages do you speak?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.arrival" data-i18n-needs-translation="0">Arrival</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.departure" data-i18n-needs-translation="0">Departure</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.housing" data-i18n-needs-translation="0">Do you need a place to stay?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.bike" data-i18n-needs-translation="0">Do you need a bike?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.food" data-i18n-needs-translation="0">What are your eating habits?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.allergies" data-i18n-needs-translation="0">Do you have any allergies?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.other" data-i18n-needs-translation="0">Is there anything else you'd like to tell us?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.fees_paid" data-i18n-needs-translation="1">fees paid</span></th>
</tr>
</thead>
<tbody>
<tr>
<td>Jeff</td>
<td>someguy@bikebike.org</td>
<td>Somewhere</td>
<td>2015-09-13 18:31:18</td>
<td>English</td>
<td>2015-09-28 00:00:00</td>
<td>2015-09-28 00:00:00</td>
<td>Indoor Location</td>
<td>Medium</td>
<td>Omnivore</td>
<td></td>
<td></td>
<td>0.0</td>
</tr>
</tbody>
</table>
</body></html>

47
config/locales/data/translation-info.yml

@ -517,6 +517,7 @@ languages.en:
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats.xls
- Create-workshop--confirm.test
- Create-workshop--confirm.test
- Create-workshop--
@ -911,10 +912,12 @@ articles.conference_registration.paragraphs.Registration_Info:
articles.conference_registration.headings.name:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: What is your name?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
forms.labels.generic.name:
pages:
- "/conferences/:slug/register"
@ -951,10 +954,12 @@ forms.labels.generic.departure:
articles.conference_registration.headings.languages:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: Which languages do you speak?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
languages.es:
pages:
- "/conferences/:slug/register"
@ -976,10 +981,12 @@ languages.fr:
articles.conference_registration.headings.housing:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: Do you need a place to stay?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.questions.housing.none:
pages:
- "/conferences/:slug/register"
@ -998,13 +1005,16 @@ articles.conference_registration.questions.housing.house:
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.headings.bike:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: Do you need a bike?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.questions.bike.none:
pages:
- "/conferences/:slug/register"
@ -1023,6 +1033,7 @@ articles.conference_registration.questions.bike.medium:
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.questions.bike.large:
pages:
- "/conferences/:slug/register"
@ -1031,10 +1042,12 @@ articles.conference_registration.questions.bike.large:
articles.conference_registration.headings.food:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: What are your eating habits?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.questions.food.meat:
pages:
- "/conferences/:slug/register"
@ -1042,6 +1055,7 @@ articles.conference_registration.questions.food.meat:
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.questions.food.vegetarian:
pages:
- "/conferences/:slug/register"
@ -1056,10 +1070,12 @@ articles.conference_registration.questions.food.vegan:
articles.conference_registration.headings.allergies:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
context: Do you have any allergies?
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
forms.labels.generic.allergies:
pages:
- "/conferences/:slug/register"
@ -1074,6 +1090,7 @@ articles.conference_registration.headings.other:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats.xls
forms.labels.generic.other:
pages:
- "/conferences/:slug/register"
@ -1268,8 +1285,10 @@ articles.conference_registration.headings.Your_Registration:
articles.conference_registration.headings.arrival:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
time.formats.long:
pages:
- "/conferences/:slug/register"
@ -1285,8 +1304,10 @@ time.am:
articles.conference_registration.headings.departure:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/stats"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.none:
pages:
- "/conferences/:slug/register"
@ -1345,6 +1366,12 @@ articles.conference_registration.paragraphs.Stats:
context: p
examples:
- View-stats--conferences.MyBikeBike.stats
links.download.Excel:
pages:
- "/conferences/:slug/stats"
context: Download Data in Excel Format
examples:
- View-stats--conferences.MyBikeBike.stats
articles.conference_registration.terms.Total_Registrations:
pages:
- "/conferences/:slug/stats"
@ -1415,6 +1442,26 @@ menu.submenu.registration.Broadcast:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
articles.conference_registration.headings.email:
pages:
- "/conferences/:slug/stats"
examples:
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.headings.city:
pages:
- "/conferences/:slug/stats"
examples:
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.headings.date:
pages:
- "/conferences/:slug/stats"
examples:
- View-stats--conferences.MyBikeBike.stats.xls
articles.conference_registration.headings.fees_paid:
pages:
- "/conferences/:slug/stats"
examples:
- View-stats--conferences.MyBikeBike.stats.xls
geography.subregions.US.TX:
pages:
- "/"

191
config/locales/es.yml

@ -32,11 +32,11 @@ es:
- viernes
- sábado
formats:
default: "%d/%m/%Y"
long: "%d de %B de %Y"
short: "%d de %b"
span_same_month_date_2: "%e, %Y"
span_same_month_date_1: "%B %e"
default: '%d/%m/%Y'
long: '%d de %B de %Y'
short: '%d de %b'
span_same_month_date_2: '%e, %Y'
span_same_month_date_1: '%B %e'
month_names:
-
- enero
@ -55,7 +55,7 @@ es:
- :day
- :month
- :year
date_span: "%{date_1} – %{date_2}"
date_span: '%{date_1} – %{date_2}'
datetime:
distance_in_words:
about_x_hours:
@ -82,16 +82,16 @@ es:
other: más de %{count} años
x_days:
one: 1 día
other: "%{count} días"
other: '%{count} días'
x_minutes:
one: 1 minuto
other: "%{count} minutos"
other: '%{count} minutos'
x_months:
one: 1 mes
other: "%{count} meses"
other: '%{count} meses'
x_seconds:
one: 1 segundo
other: "%{count} segundos"
other: '%{count} segundos'
prompts:
day: Día
hour: Hora
@ -100,10 +100,11 @@ es:
second: Segundos
year: Año
errors:
format: "%{attribute} %{message}"
format: '%{attribute} %{message}'
messages:
accepted: debe ser aceptado
blank: no puede estar en blanco
present: debe estar en blanco
confirmation: no coincide
empty: no puede estar vacío
equal_to: debe ser igual a %{count}
@ -119,10 +120,14 @@ es:
not_an_integer: debe ser un entero
odd: debe ser impar
record_invalid: 'La validación falló: %{errors}'
restrict_dependent_destroy:
one: No se puede eliminar el registro porque existe un %{record} dependiente
many: No se puede eliminar el registro porque existen %{record} dependientes
taken: ya está en uso
too_long: es demasiado largo (%{count} caracteres máximo)
too_short: es demasiado corto (%{count} caracteres mínimo)
wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
other_than: debe ser distinto de %{count}
template:
body: 'Se encontraron problemas con los siguientes campos:'
header:
@ -138,22 +143,22 @@ es:
number:
currency:
format:
delimiter: "."
format: "%n %u"
delimiter: .
format: '%n %u'
precision: 2
separator: ","
separator: ','
significant: false
strip_insignificant_zeros: false
unit: "€"
unit:
format:
delimiter: "."
delimiter: .
precision: 3
separator: ","
separator: ','
significant: false
strip_insignificant_zeros: false
human:
decimal_units:
format: "%n %u"
format: '%n %u'
units:
billion: mil millones
million: millón
@ -167,7 +172,7 @@ es:
significant: true
strip_insignificant_zeros: true
storage_units:
format: "%n %u"
format: '%n %u'
units:
byte:
one: Byte
@ -184,19 +189,19 @@ es:
delimiter: ''
support:
array:
last_word_connector: ", y "
two_words_connector: " y "
words_connector: ", "
last_word_connector: ', y '
two_words_connector: ' y '
words_connector: ', '
time:
am: am
formats:
default: "%A, %d de %B de %Y %H:%M:%S %z"
long: "%d de %B de %Y %H:%M"
short: "%d de %b %H:%M"
default: '%A, %d de %B de %Y %H:%M:%S %z'
long: '%d de %B de %Y %H:%M'
short: '%d de %b %H:%M'
pm: pm
languages:
af: afrikáans
ar: "árabe"
ar: árabe
az: azerí
bg: búlgaro
bn: bengalí
@ -692,14 +697,14 @@ es:
conference_registration:
headings:
Registration_Info: Registro
arrival_and_departure: "¿Que día llegas a Guadalajara?"
allergies: "¿Eres alergico a algo?"
languages: "¿Hablas?"
food: "¿Que comes?"
arrival_and_departure: ¿Que día llegas a Guadalajara?
allergies: ¿Eres alergico a algo?
languages: ¿Hablas?
food: ¿Que comes?
Enter_Your_Email: Correo electrónico
location: Ciudad y pais 
name: Nombre
Allergies: "¿Eres alergico a algo?"
Allergies: ¿Eres alergico a algo?
Workshops: Actividades
Your_Workshops: Actividades
Policy_Agreement: Acuerdo del Espacio Mas Seguro
@ -707,25 +712,25 @@ es:
Stats: Estadísticas
Payment: Pago
Your_Registration: Tu registro
Youre_Done: "¡Estás listx!"
Youre_Done: ¡Estás listx!
arrival: Llegada
bike: "¿Necesitas una bici?"
bike: ¿Necesitas una bici?
departure: Salida
email_confirm: Confirmar correo electrónico
housing: "¿Necesitas hospedaje?"
other: "¿Hay algo más que quisieras decirnos?"
housing: ¿Necesitas hospedaje?
other: ¿Hay algo más que quisieras decirnos?
payment: Cargos pagados
payment_confirm: Por favor confirma tu pago
paragraphs:
Registration_Info: EL REGISTRO ESTÁ ABIERTOOOOO! :) Por favor llénalo lo más
pronto que puedas, cualquier pregunta o mejora puedes comentarla más abajo,
estamos preparando una página de preguntas frecuentes sobre el evento para
la página web.
Registration_Info: Por favor llena esta forma de registro para ayudarnos a
prepararnos para tu llegada a Guadalajara. Si tienes alguna pregunta o información
que no te hayamos pedido por favor llena el campo "Más información" al final
de la página.
Payment: Las y los esperamos del 1 al 4 de octubre del 2015.Más información
en: bikebike@gdlenbici.org
Workshops: 'Título de la actividad: Que necesitas? Tipo de espacio? Tema?
Quién es responsable? Descripción? Tiempo?'
Policy_Agreement: Acuerdo del espacio mas Seguro
Policy_Agreement: Acuerdo de Espacios Más Seguros
Confirm_Agreement: Al hacer click en el botón "Acepto", estás comprometiéndote
a cumplir el Acuerdo de Espacios Más Seguros de Bike!Bike!. ¡Gracias!
Email_Participants: Esta página se usa para contactar a todxs lxs participantes.
@ -738,12 +743,12 @@ es:
al ser confirmada podrás completar el registro, agregar talleres y pagar
el donativo de registro. Si ya te registraste puedes re-confirmar tu dirección
de e-mail para modificar los detalles de tu registro.
currency: "(cantidades en dólares americanos $USD)"
done: "¡Gracias por registrarte para Bike!Bike!"
email_confirm: "¡Ve a tu bandeja de entrada! Deberías ver un e-mail por parte
currency: (cantidades en dólares americanos $USD)
done: ¡Gracias por registrarte para Bike!Bike!
email_confirm: ¡Ve a tu bandeja de entrada! Deberías ver un e-mail por parte
de Bike!Bike! en unos momentos. Contendrá un enlace sobre el cual debes
hacer click. Revisa tu bandeja de correo no deseado si no lo ves. Si tienes
algún problema, por favor envía un e-mail a admin@bikebike.org"
algún problema, por favor envía un e-mail a admin@bikebike.org
participants_emailed: Tu correo ha sido enviado a todxs lxs participantes
de %{conference_title}.
payment_confirm: Estás por confirmar tu pago de %{amount} para el registro.
@ -756,24 +761,24 @@ es:
vegan: Vegano
bike:
large: Grande
medium: Mediano
small: Pequeno
medium: Mediana
small: Pequeña
none: Nada
housing:
house: Lugar interior
none: Yo voy a encontrar mis accomodaciones.
tent: La carpa
house: Espacio interior
none: Yo encontraré donde dormir.
tent: Espacio para tienda de campaña
terms:
Bikes: Bici
Donation_Count: Donar
Languages: "¿Hablas?"
Total_Donations: Donar
Donation_Count: Contéo de donaciones
Languages: Lenguajes
Total_Donations: Donaciones totales
Food: Comida
Housing: Hospedaje
Total_Registrations: Registros totales
actions:
View_Workshops: Ver Talleres
none: "(ninguno)"
none: (ninguno)
notes:
Test_Email_Sent: Un email fue enviado a %{email_address}
about_bikebike:
@ -809,14 +814,14 @@ es:
sobre cómo puedes obtener hospedaje por tu cuenta y otros lugares recomendados
para visitar, también debe ser proveída por el anfitrión en la página de
la conferencia o en un documento físico al llegar a la conferencia. '
Volunteer: "¡Sí, por favor! "
Volunteer: '¡Sí, por favor! '
headings:
Amenities: Donde puedo dormir? Donde puedo comer? Como puedo ir de vuelta?
Types_of_Workshops: Que tipos de actividades va ver?
Volunteer: Puedo hacer voluntario?
What_is_BikeBike: Que es Bike!Bike!?
Who_is_Invited: Quienes son los invitados?
bicycle_project: Que es una proyecto bicicleta de la comunidad?
Amenities: ¿Dónde puedo dormir? ¿Qué puedo comer? ¿Cómo puedo moverme?
Types_of_Workshops: ¿Qué tipo de talleres habrá?
Volunteer: ¿Puedo ser voluntario?
What_is_BikeBike: ¿Qué es Bike!Bike!?
Who_is_Invited: ¿Quién es invitado?
bicycle_project: ¿Qué es un proyecto ciclista comunitario?
term:
education: Los talleres tienen un enfoque en la educación, en enseñar a otros
cómo arreglar bicicletas
@ -831,12 +836,12 @@ es:
paragraphs:
info: 'Título de la actividad: Que necesitas? Tipo de espacio? Tema? Quién
es responsable? Descripción? Tiempo?'
Workshops: "¿Tienes alguna habilidad emocionante que quieres compartir con
Workshops: ¿Tienes alguna habilidad emocionante que quieres compartir con
nosotros? ¿Quieres charlar sobre crear espacios comunitarios seguros? ¿Quieres
asegurarte de que hagamos un buen paseo el fin de semana? ¡Propón un taller!
No te preocupes si no eres unx expertx, queremos escuchar acerca de las
experiencias de todxs dentro de los diferentes talleres comunitarios de
los que venimos con sus diferentes configuraciones."
los que venimos con sus diferentes configuraciones.
new_workshop: 'Anteriormente los talleres se han podido integrar en una serie
de categorías amplias: organización/estructura (cómo iniciar un taller comunitario,
cómo registrar una asociación sin fines de lucro, toma de decisiones mediante
@ -848,10 +853,10 @@ es:
ver!'
notes: Las notas se comparten solo con lxs organizadorxs de la conferencia
y con lxs facilitadorxs de los talleres.
space: "¿Qué tipo de espacio necesitas para tu taller?"
theme: "¿Cuáles de estos temas describen mejor tu taller? Esto ayudará a los
space: ¿Qué tipo de espacio necesitas para tu taller?
theme: ¿Cuáles de estos temas describen mejor tu taller? Esto ayudará a los
anfitriones a evitar conflictos de horario. Seleciona 'otro' si ninguna
de las opciones se relaciona de ninguna forma."
de las opciones se relaciona de ninguna forma.
headings:
facilitators: facilitadores
Delete_Workshop: Eliminar Actividad
@ -864,9 +869,9 @@ es:
theme: Tema
policy:
headings:
The_Agreement: Acuerdo del Espacio Mas Seguro
How: "¿Cómo se hace cumplir esta política?"
Why: "¿Porqué tener un Acuerdo de Espacios Más Seguros?"
The_Agreement: Acuerdo de Espacios Más Seguros
How: ¿Cómo se hace cumplir esta política?
Why: ¿Porqué tener un Acuerdo de Espacios Más Seguros?
paragraphs:
How: La ciudad anfitriona tiene la responsabilidad de mediar en cualquier
situación concerniente a Espacios Más Seguros. Ellas decidirán qué amerita
@ -938,13 +943,13 @@ es:
select_language: Cambia tu idioma
facebook: Unirte a nuestro grupo de Facebook
text:
Help_contribute: ayudar a contribuir
Help_contribute: Ayuda o contribuye
File_an_Issue: Reportar un problema
page_titles:
About_BikeBike: Quienes Bike!Bike!
About_BikeBike: Acerca de Bike!Bike!
about:
About_BikeBike: Quienes Bike!Bike!
Safe_Space_Policy: Acuerdo del Espacio Mas Seguro
Safe_Space_Policy: Acuerdo de Espacio Más Seguro
conferences:
Conference_Registration: Registro
Create_Workshop: Crear taller
@ -973,7 +978,7 @@ es:
translate:
content:
translate_now: Translar ahora
can_you_help: "¿Se puede traducir del %%{language_a} al %%{language_b}?"
can_you_help: ¿Se puede traducir del %%{language_a} al %%{language_b}?
outdated_translation: El contenido que ha sido superado
translation_out_of_date: Contenido traducido en esta página puede no ser exacta
un_translated: Contenido sin traducir
@ -997,9 +1002,9 @@ es:
other: plural
two: dos
Incomplete_Locales: Incomplete Languages
Locale_Translations: "%{language} Traducciones"
Locale_Translations: '%{language} Traducciones'
context:
other: "%{context} (× %{count})"
other: '%{context} (× %{count})'
context_title: 'Contexto:'
default_value: Predeterminado
no_value: Indefinido
@ -1019,32 +1024,44 @@ es:
variables: Variables
site:
go_to_locale: Ver el sitio %%{language} ahora
locale_is_available: "%%{site_name} está disponible en %%{language}"
locale_needs_help: "¿Puedes ayudar a traducir el sitio al %%{language}?"
locale_is_available: '%%{site_name} está disponible en %%{language}'
locale_needs_help: ¿Puedes ayudar a traducir el sitio al %%{language}?
locale_not_available: Lo sentimos, %%{site_name} no está disponible en %%{language}.
volunteer:
become_a_volunteer: Conviértete en un traductor voluntario
volunteer: "¿Puedes ayudar a traducir esto?"
volunteer: ¿Puedes ayudar a traducir esto?
menu:
submenu:
registration:
Registration: Registro
Workshops: Actividades
Broadcast: Emitir
Edit: Estadísticas
Stats: Por favor revisa tu e-mail
Edit: Editar conferencia
Stats: Estadísticas
page_descriptions:
home: Bike! Bike! Una conferencia de colectivos en bicicleta, cooperativas, tiendas
de bicicletas de bricolaje sin fines de lucro
home: Bike!Bike! Una conferencia de colectivos ciclistas, cooperativas y talleres
de bicicletas autogestivos sin fines de lucro.
email:
confirmation:
link:
please_confirm: Confirmar ahora
paragraph:
please_confirm: "¡Hola! Para ingresar al registro y otras funciones de Bike!Bike!
confirma tu dirección de e-mail por favor."
please_confirm: ¡Hola! Para ingresar al registro y otras funciones de Bike!Bike!
confirma tu dirección de e-mail por favor.
subject:
confirm_email: E-mail de confirmación
registration_confirmed: ¡Gracias por registrarte para %%{conference_title}!
general:
paragraph:
see_you: ¡Nos vemos en %{conference_location}!
thank_you: Gracias %{name},
registration:
paragraph:
confirmed: Te has registrado exitosamente para %{conference_title}, Puedes
modificar los detalles de tu registro, pagar o agregar talleres en cualquier
momento reiniciando el proceso de registro. Si aún tienes que pagar o agregar
tus talleres y quieres hacerlo te pedimos que lo hagas lo más pronto posible
para ayudarnos a prepararnos para tu llegada.
roles:
workshops:
facilitator:
@ -1066,3 +1083,11 @@ es:
organization: Asuntos organizacionales
other: Otro
race_gender: Políticas de raza, género o clase
acticles:
conferences:
headings:
Proposed_Workshops: Talleres propuestos
paragraphs:
Proposed_Workshops: ¿Te gustaría facilitar tu propio taller? Simplemente regístrate
y visita la página de Talleres. Si ya te registraste puedes acceder a la
página reiniciando el proceso de registro.

1
features/registration_page.feature

@ -64,6 +64,7 @@ Feature: Registration Page
And I am on the stats page
Then I should see Total Registrations
And I click the Excel link
Scenario: Create workshop
Given There is an upcoming conference in San Marcos TX

Loading…
Cancel
Save