Browse Source

Added localization to workshops, made login persist through subdomains

development
Godwin 9 years ago
parent
commit
01d8679c9d
  1. 2
      Gemfile
  2. 62
      Gemfile.lock
  3. 17
      app/assets/stylesheets/_application.scss
  4. 24
      app/controllers/conferences_controller.rb
  5. 6
      app/models/workshop.rb
  6. 4
      app/views/conferences/edit.html.haml
  7. 2
      app/views/shared/_footer.html.haml
  8. 4
      app/views/shared/_navbar.html.haml
  9. 9
      app/views/workshops/new.html.haml
  10. 3
      app/views/workshops/show.html.haml
  11. 2
      config/initializers/session_store.rb
  12. 16
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--.html
  13. 16
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1.html
  14. 16
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2.html
  15. 16
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1.html
  16. 14
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--confirm.test.html
  17. 16
      config/locales/data/html_records/Broadcast-message--.html
  18. 14
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast-1.html
  19. 14
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast-2.html
  20. 14
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast-3.html
  21. 4
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast.html
  22. 14
      config/locales/data/html_records/Broadcast-message--confirm.test.html
  23. 16
      config/locales/data/html_records/Create-workshop--.html
  24. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.register.html
  25. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops-1.html
  26. 17
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-1.html
  27. 17
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-2.html
  28. 17
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-3.html
  29. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.delete.html
  30. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.edit.html
  31. 17
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.html
  32. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.create.html
  33. 14
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.html
  34. 14
      config/locales/data/html_records/Create-workshop--confirm.test.html
  35. 157
      config/locales/data/html_records/Edit-a-conference--.html
  36. 75
      config/locales/data/html_records/Edit-a-conference--conferences.MyBikeBike.edit.html
  37. 159
      config/locales/data/html_records/Edit-a-conference--confirm.test.html
  38. 16
      config/locales/data/html_records/Like-a-workshop--.html
  39. 18
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-1.html
  40. 18
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-2.html
  41. 18
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1.html
  42. 14
      config/locales/data/html_records/Like-a-workshop--confirm.test.html
  43. 14
      config/locales/data/html_records/Read-the-about-page--about.html
  44. 14
      config/locales/data/html_records/Read-the-policy-page--policy.html
  45. 14
      config/locales/data/html_records/See-a-404-page--error_404.html
  46. 16
      config/locales/data/html_records/See-a-more-info-link--.html
  47. 16
      config/locales/data/html_records/See-a-register-link--.html
  48. 18
      config/locales/data/html_records/Start-registration-from-landing-page--.html
  49. 4
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-1.html
  50. 2
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-3.html
  51. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register-2.html
  52. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register-4.html
  53. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register-5.html
  54. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register-6.html
  55. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register.html
  56. 14
      config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token.html
  57. 14
      config/locales/data/html_records/Start-registration-from-landing-page--doconfirm.html
  58. 4
      config/locales/data/html_records/Start-registration-from-landing-page--email_confirmation.html
  59. 2
      config/locales/data/html_records/Start-registration-from-landing-page--registration_confirmation.html
  60. 16
      config/locales/data/html_records/View-stats--.html
  61. 14
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.html
  62. 2
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.xls.html
  63. 14
      config/locales/data/html_records/View-stats--confirm.test.html
  64. 384
      config/locales/data/translation-info.yml
  65. 8
      config/locales/en.yml
  66. 5
      db/migrate/20150914230507_add_locale_to_workshops.rb
  67. 3
      db/schema.rb
  68. 10
      features/registration_page.feature
  69. 9
      features/step_definitions/interface_steps.rb
  70. 13
      features/support/env.rb
  71. 1
      features/support/factory_girl.rb
  72. 300
      features/support/location_cache.yml
  73. 2
      features/support/paths.rb

2
Gemfile

@ -63,7 +63,7 @@ group :test do
gem 'gherkin3', '>= 3.1.0'
gem 'cucumber', :git => "git://github.com/cucumber/cucumber-ruby.git", branch: "integrate-gherkin3-parser"
gem 'cucumber-core', :git => "git://github.com/cucumber/cucumber-ruby-core.git", branch: "integrate-gherkin3-parser"
gem 'cucumber-rails', :git => "git://github.com/cucumber/cucumber-rails.git"
gem 'cucumber-rails', :git => "git://github.com/cucumber/cucumber-rails.git", require: false
#gem 'capybara'
gem 'poltergeist'

62
Gemfile.lock

@ -11,7 +11,7 @@ GIT
GIT
remote: git://github.com/cucumber/cucumber-ruby-core.git
revision: 7348412f3421dc8bdbb7e8e4d6036b05818b3353
revision: 4eaa907716637579a996b10840fce207cc4bd095
branch: integrate-gherkin3-parser
specs:
cucumber-core (1.2.0)
@ -112,9 +112,9 @@ GEM
blockspring (0.1.4)
rest-client (> 1.6.7)
builder (3.2.2)
cairo (1.14.1)
cairo (1.14.3)
pkg-config (>= 1.1.5)
cairo (1.14.1-x86-mingw32)
cairo (1.14.3-x86-mingw32)
pkg-config (>= 1.1.5)
callsite (0.0.11)
capistrano (2.15.6)
@ -160,7 +160,7 @@ GEM
safe_yaml (~> 1.0.0)
daemon-spawn (0.4.2)
daemons (1.2.3)
database_cleaner (1.4.1)
database_cleaner (1.5.0)
debug_inspector (0.0.2)
delayed_job (4.0.6)
activesupport (>= 3.0, < 5.0)
@ -192,16 +192,16 @@ GEM
foundation-rails (5.5.2.1)
railties (>= 3.1.0)
sass (>= 3.3.0, < 3.5)
gdk_pixbuf2 (2.2.5)
glib2 (= 2.2.5)
gdk_pixbuf2 (2.2.5-x86-mingw32)
glib2 (= 2.2.5)
geocoder (1.2.9)
gdk_pixbuf2 (3.0.2)
glib2 (= 3.0.2)
gdk_pixbuf2 (3.0.2-x86-mingw32)
glib2 (= 3.0.2)
geocoder (1.2.11)
gherkin3 (3.1.1)
git-version-bump (0.15.1)
glib2 (2.2.5)
glib2 (3.0.2)
pkg-config
glib2 (2.2.5-x86-mingw32)
glib2 (3.0.2-x86-mingw32)
cairo (>= 1.12.8)
pkg-config
globalid (0.3.6)
@ -228,7 +228,7 @@ GEM
haml (>= 4.0.6, < 5.0)
html2haml (>= 1.0.1)
railties (>= 4.0.1)
highline (1.7.3)
highline (1.7.5)
html2haml (2.0.0)
erubis (~> 2.7.0)
haml (~> 4.0.0)
@ -240,7 +240,7 @@ GEM
httpauth (0.2.1)
i18n (0.7.0)
image_optimizer (1.3.0)
jquery-rails (4.0.4)
jquery-rails (4.0.5)
rails-dom-testing (~> 1.0)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
@ -249,7 +249,7 @@ GEM
json (1.8.3)
jwt (0.1.13)
multi_json (>= 1.5)
kgio (2.9.3)
kgio (2.10.0)
launchy (2.4.3)
addressable (~> 2.3)
listen (3.0.3)
@ -266,8 +266,8 @@ GEM
railties (>= 3.0.0, < 5.0.0)
metaclass (0.0.4)
method_source (0.8.2)
mime-types (2.6.1)
mini_magick (4.2.10)
mime-types (2.6.2)
mini_magick (4.3.3)
mini_portile (0.6.2)
minitest (5.8.0)
mocha (1.1.0)
@ -299,6 +299,9 @@ GEM
jwt (~> 0.1.4)
multi_json (~> 1.0)
rack (~> 1.2)
pango (3.0.2-x86-mingw32)
cairo (>= 1.14.0)
glib2 (= 3.0.2)
paper_trail (3.0.8)
activerecord (>= 3.0, < 5.0)
activesupport (>= 3.0, < 5.0)
@ -306,8 +309,8 @@ GEM
activesupport (>= 2.3)
attr_required (>= 0.0.5)
rest-client
pg (0.18.2)
pg (0.18.2-x86-mingw32)
pg (0.18.3)
pg (0.18.3-x86-mingw32)
pkg-config (1.1.6)
poltergeist (1.6.0)
capybara (~> 2.1)
@ -348,7 +351,7 @@ GEM
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.2)
loofah (~> 2.0)
rails-i18n (4.0.4)
rails-i18n (4.0.5)
i18n (~> 0.6)
railties (~> 4.0)
rails_12factor (0.0.3)
@ -363,7 +366,7 @@ GEM
thor (>= 0.18.1, < 2.0)
raindrops (0.15.0)
rake (10.4.2)
rb-fsevent (0.9.5)
rb-fsevent (0.9.6)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
redcarpet (3.3.2)
@ -397,12 +400,13 @@ GEM
rspec-mocks (~> 3.3.0)
rspec-support (~> 3.3.0)
rspec-support (3.3.0)
rsvg2 (2.2.5)
rsvg2 (3.0.2)
cairo (>= 1.12.8)
gdk_pixbuf2 (= 2.2.5)
rsvg2 (2.2.5-x86-mingw32)
gdk_pixbuf2 (= 3.0.2)
rsvg2 (3.0.2-x86-mingw32)
cairo (>= 1.12.8)
gdk_pixbuf2 (= 2.2.5)
gdk_pixbuf2 (= 3.0.2)
pango (>= 3.0.2)
ruby_parser (3.7.1)
sexp_processor (~> 4.1)
rubyzip (1.1.7)
@ -412,12 +416,12 @@ GEM
sass (3.4.18)
sass-json-vars (0.3.2)
sass (>= 3.1)
sass-rails (5.0.3)
sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (~> 1.1)
tilt (>= 1.1, < 3)
selenium-webdriver (2.47.1)
childprocess (~> 0.5)
multi_json (~> 1.0)
@ -437,9 +441,9 @@ GEM
bcrypt (~> 3.1)
oauth (~> 0.4, >= 0.4.4)
oauth2 (>= 0.8.0)
sprockets (3.3.3)
sprockets (3.3.4)
rack (~> 1.0)
sprockets-rails (2.3.2)
sprockets-rails (2.3.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
@ -447,7 +451,7 @@ GEM
tins (~> 1.0)
thor (0.19.1)
thread_safe (0.3.5)
tilt (1.4.1)
tilt (2.0.1)
tins (1.6.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)

17
app/assets/stylesheets/_application.scss

@ -539,6 +539,10 @@ form {
font-weight: bold;
font-size: 1.25em;
}
.left {
float: left;
}
}
}
@ -1889,3 +1893,16 @@ html[data-lingua-franca-example="html"] {
margin-left: 1em;
}
}
.original-text {
margin: 0 0 1em 1em;
h4 {
margin: 0;
}
.value {
margin-left: 1em;
}
p {
font-size: 1.1em;
}
}

24
app/controllers/conferences_controller.rb

@ -823,7 +823,8 @@ class ConferencesController < ApplicationController
set_conference_registration
@workshop = Workshop.find_by_id_and_conference_id(params[:workshop_id], @this_conference.id)
do_404 unless @workshop
do_403 unless @workshop.can_edit?(current_user)
@can_edit = @workshop.can_edit?(current_user)
do_403 unless @can_edit || @workshop.can_translate?(current_user)
@title = @workshop.title
@info = @workshop.info
@needs = JSON.parse(@workshop.needs || '[]').map &:to_sym
@ -869,20 +870,29 @@ class ConferencesController < ApplicationController
def save_workshop
set_conference
set_conference_registration
if params[:workshop_id]
workshop = Workshop.find(params[:workshop_id])
do_404 unless workshop
else
workshop = Workshop.new(:conference_id => @this_conference.id)
workshop.workshop_facilitators = [WorkshopFacilitator.new(:user_id => current_user.id, :role => :creator)]
end
can_edit = workshop.can_edit?(current_user)
do_403 unless can_edit || workshop.can_translate?(current_user)
workshop.title = params[:title]
workshop.info = params[:info]
if can_edit
# dont allow translators to edit these fields
workshop.languages = (params[:languages] || {}).keys.to_json
workshop.needs = (params[:needs] || {}).keys.to_json
workshop.theme = params[:theme] == 'other' ? params[:other_theme] : params[:theme]
workshop.space = params[:space]
workshop.notes = params[:notes]
end
workshop.save
redirect_to view_workshop_url(@this_conference.slug, workshop.id)
@ -920,16 +930,16 @@ class ConferencesController < ApplicationController
def set_conference_registration
@registration = logged_in? ? ConferenceRegistration.find_by(:user_id => current_user.id, :conference_id => @this_conference.id) : nil
@is_host = @conference.host?(current_user)
@is_host = @this_conference.host?(current_user)
if @registration || @is_host
@submenu = {
register_path(@conference.slug) => 'registration.Registration',
workshops_path(@conference.slug) => 'registration.Workshops'
register_path(@this_conference.slug) => 'registration.Registration',
workshops_path(@this_conference.slug) => 'registration.Workshops'
}
if @is_host
@submenu[edit_conference_path(@conference.slug)] = 'registration.Edit'
@submenu[stats_path(@conference.slug)] = 'registration.Stats'
@submenu[broadcast_path(@conference.slug)] = 'registration.Broadcast'
@submenu[edit_conference_path(@this_conference.slug)] = 'registration.Edit'
@submenu[stats_path(@this_conference.slug)] = 'registration.Stats'
@submenu[broadcast_path(@this_conference.slug)] = 'registration.Broadcast'
end
end
end

6
app/models/workshop.rb

@ -1,4 +1,6 @@
class Workshop < ActiveRecord::Base
translates :info, :title
belongs_to :conference
has_many :workshop_facilitators, :dependent => :destroy
@ -48,6 +50,10 @@ class Workshop < ActiveRecord::Base
workshops ? workshops.size : 0
end
def can_translate?(user)
user.can_translate? || can_edit?(user)
end
private
def make_slug
if !self.slug

4
app/views/conferences/edit.html.haml

@ -7,6 +7,10 @@
= label_tag :info
= text_area_tag :info, @this_conference.info, :required => true
.actions.right
.left
- I18n.backend.enabled_locales.each do |locale|
= (link_to (_'actions.conference.Translate', "Edit #{language_name(locale)} version", :vars => {:language => language_name(locale)}), edit_conference_path(@this_conference.slug, url_params(locale)), :class => 'translate') if locale.to_sym != I18n.locale.to_sym
= button_tag :save, :value => :save
:javascript

2
app/views/shared/_footer.html.haml

@ -18,7 +18,7 @@
%ul
-I18n.backend.enabled_locales.each do |locale|
%li
%a{href: request.original_url.gsub(/^(https?:\/\/)(preview\-)?(..\.)?(.*)$/, '\1\2' + locale + '.\4')}
%a{href: home_url(url_params(locale))}
=_! locale.upcase
%span=I18n.t("languages.#{locale}", locale: locale, context: I18n.t("languages.#{locale}"))
.copy

4
app/views/shared/_navbar.html.haml

@ -9,11 +9,11 @@
= nav_link about_path, (_'page_titles.About_BikeBike')
= nav_link policy_path, (_'page_titles.Safe_Space_Policy')
.actions
- if @conference.registration_open
- if @conference && @conference.registration_open
- if params[:action] != 'register' && !@registration
= link_to register_path(@conference.slug), class: [:button, :register] do
=_'conference.actions.Register'
- else
- elsif @conference
= render 'shared/donate_button', :email_address => (@conference.paypal_email_address || @conference.email_address)
- if current_user
= form_tag :logout, class: :logout do

9
app/views/workshops/new.html.haml

@ -8,9 +8,18 @@
.text-field.input-field.big
= label_tag :title
= text_field_tag :title, @title, :required => true
- if @workshop && I18n.locale.to_s != @workshop.locale.to_s
.original-text
%h4=_'translate.content.Translation_of'
.value=@workshop.title!
.text-area-field.input-field
= label_tag :info
= text_area_tag :info, @info, :required => true
- if @workshop && I18n.locale.to_s != @workshop.locale.to_s
.original-text
%h4=_'translate.content.Translation_of'
.value=markdown @workshop.info!
- if !@workshop || @can_edit
= columns(medium: 6) do
%h3=_'articles.workshops.headings.languages','Workshop Language'
- [:en, :es, :fr].each do |language|

3
app/views/workshops/show.html.haml

@ -40,4 +40,7 @@
= columns(medium: 12) do
.actions
= (link_to (_'actions.workshops.Edit'), edit_workshop_path(@this_conference.slug, @workshop.id), :class => 'button modify') if @workshop.can_edit?(current_user)
- if @workshop.can_translate?(current_user)
- I18n.backend.enabled_locales.each do |locale|
= (link_to (_'actions.workshops.Translate', "Translate into #{language_name(locale)}", :vars => {:language => language_name(locale)}), edit_workshop_url(@this_conference.slug, @workshop.id, url_params(locale)), :class => 'button translate') if locale.to_sym != I18n.locale.to_sym
= (link_to (_'actions.workshops.Delete'), delete_workshop_path(@this_conference.slug, @workshop.id), :class => 'button delete') if @workshop.can_delete?(current_user)

2
config/initializers/session_store.rb

@ -1,7 +1,7 @@
# Be sure to restart your server when you modify this file.
if Rails.env == 'production' || Rails.env == 'preview'
BikeBike::Application.config.session_store :active_record_store, :domain => 'bikebike.org'
BikeBike::Application.config.session_store :active_record_store, :domain => :all
else
BikeBike::Application.config.session_store :active_record_store
end

16
config/locales/data/html_records/Be-the-first-to-like-a-workshop--.html

@ -46,7 +46,7 @@
<div class="details">
<h3 class="primary">Guadalajara, Jalisco, Mexico</h3>
<div class="secondary">
August 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -92,11 +92,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="row"><div class="columns medium-12"><h2>Nam Nulla</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.you_are_interested_count" data-i18n-needs-translation="0">You are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="row"><div class="columns medium-12"><h2>Nam Nulla</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="row"><div class="columns medium-12"><h2>Nam Nulla</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Be-the-first-to-like-a-workshop--confirm.test.html

@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -92,11 +92,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -100,11 +100,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/broadcast/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -100,11 +100,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/broadcast/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -89,11 +89,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/broadcast/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -78,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:49162'>
<img class='image_fix' src='http://127.0.0.1:54389'>
</td>
</tr>
<tr>
@ -94,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:49162'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:54389'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

14
config/locales/data/html_records/Broadcast-message--confirm.test.html

@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -92,11 +92,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.register.html

@ -106,11 +106,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops-1.html

@ -87,11 +87,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

17
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -72,6 +72,9 @@
</div><div class="columns medium-12"><div class="actions">
<a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a>
<a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a>
</div>
</div></div></article>
@ -102,11 +105,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

17
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -72,6 +72,9 @@
</div><div class="columns medium-12"><div class="actions">
<a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a>
<a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a>
</div>
</div></div></article>
@ -102,11 +105,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

17
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-3.html

@ -72,6 +72,9 @@
</div><div class="columns medium-12"><div class="actions">
<a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a>
<a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a>
</div>
</div></div></article>
@ -102,11 +105,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.delete.html

@ -87,11 +87,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/delete">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.edit.html

@ -171,11 +171,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/edit">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

17
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.html

@ -72,6 +72,9 @@
</div><div class="columns medium-12"><div class="actions">
<a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a>
<a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a>
<a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a>
</div>
</div></div></article>
@ -102,11 +105,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.create.html

@ -171,11 +171,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/create/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.html

@ -87,11 +87,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Create-workshop--confirm.test.html

@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

157
config/locales/data/html_records/Edit-a-conference--.html

@ -0,0 +1,157 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<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">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="home">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a class="current" href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a><form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div id="header-title">
<div class="cover" style="background-image: url(/assets/default_cover.jpg)"></div>
<div class="title">
<h2 class="background">2015!</h2>
<div class="details">
<h3 class="primary">Portland, Oregon</h3>
<div class="secondary">
August 15 – 19, 2015
</div>
</div>
</div>
</div>
<figure>
<img src="/assets/default_poster.jpg">
</figure>
</header>
<div id="content">
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

75
config/locales/data/html_records/Edit-a-conference--conferences.MyBikeBike.edit.html

@ -0,0 +1,75 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<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">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-edit">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/edit">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.Edit" data-i18n-needs-translation="1">Edit</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
<a href="/conferences/MyBikeBike/edit/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Edit" data-i18n-needs-translation="0">Edit Conference</span></a>
<a href="/conferences/MyBikeBike/stats/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Stats" data-i18n-needs-translation="0">Stats</span></a>
<a href="/conferences/MyBikeBike/broadcast/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Broadcast" data-i18n-needs-translation="0">Broadcast</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><form class="composition" action="/conferences/MyBikeBike/save/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<div class="text-editor input-field">
<label for="info"><span class="translated-content" data-i18n-key="forms.labels.generic.info" data-i18n-needs-translation="0">Info</span></label>
<textarea name="info" id="info" required="required">Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.</textarea>
</div>
<div class="actions right">
<div class="left">
<a class="translate" href="/conferences/MyBikeBike/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.conference.Translate" data-i18n-needs-translation="1">Edit <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span> version</span></a>
<a class="translate" href="/conferences/MyBikeBike/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.conference.Translate" data-i18n-needs-translation="1">Edit <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span> version</span></a>
</div>
<span class="translated-content" data-i18n-key="forms.actions.generic.save" data-i18n-needs-translation="0"><button name="button" type="submit" value="save">Save</button></span>
</div>
</form>
</div></div></article>
<script>
window.jQuery || document.write('<script src="https://code.jquery.com/jquery-2.1.3.min.js"><\/script>')
</script><script src="https://code.jquery.com/jquery-2.1.3.min.js"></script></div></main></body></html>

159
config/locales/data/html_records/Edit-a-conference--confirm.test.html

@ -0,0 +1,159 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<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">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="confirm">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a></div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title">
<svg>
<defs>
<filter id="saturate">
<feColorMatrix in="SourceGraphic" type="saturate" values=".25" result="A"></feColorMatrix>
</filter>
<image x="0" y="0" width="100%" height="100%" xlink:href="/assets/grafitti.jpg" id="banner-image" preserveAspectRatio="xMidYMid slice" filter="url(#saturate)"></image>
<filter id="banner-img" x="0" y="0" width="1" height="1">
<feImage xlink:href="#banner-image" result="banner-image"></feImage>
<feBlend mode="multiply" in="banner-image" in2="SourceGraphic"></feBlend>
</filter>
</defs>
<rect x="0" y="0" width="100%" height="100%" filter="url(#banner-img)"></rect>
</svg>
<h1><span class="translated-content" data-i18n-key="page_titles.403.Please_Confirm_Email" data-i18n-needs-translation="0">Please confirm your email</span></h1>
</div>
</header>
<div id="content"><article>
<div class="row"><div class="columns medium-12"><h2><span class="translated-content" data-i18n-key="articles.permission_denied.headings.confirm_email" data-i18n-needs-translation="0">Please confirm your email address</span></h2>
</div><div class="columns medium-6 large-5"><form action="/doconfirm/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<div class="email-field input-field">
<input type="email" name="email" id="email" required="required">
<label for="email"><span class="translated-content" data-i18n-key="forms.labels.generic.email" data-i18n-needs-translation="0">Email address</span></label>
</div>
<input type="hidden" name="token" id="token" value="test">
<span class="translated-content" data-i18n-key="forms.actions.generic.login" data-i18n-needs-translation="0"><button name="button" type="submit">Sign In</button></span>
</form>
</div></div>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

16
config/locales/data/html_records/Like-a-workshop--.html

@ -46,7 +46,7 @@
<div class="details">
<h3 class="primary">Guadalajara, Jalisco, Mexico</h3>
<div class="secondary">
August 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -92,11 +92,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

18
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.you_are_interested_count" data-i18n-needs-translation="0">You and&nbsp;4&nbsp;others are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -59,7 +59,7 @@
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
<p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

18
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4&nbsp;people are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -59,7 +59,7 @@
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
<p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

18
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1.html

@ -51,7 +51,7 @@
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4&nbsp;people are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
@ -59,7 +59,7 @@
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
<p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Like-a-workshop--confirm.test.html

@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Read-the-about-page--about.html

@ -101,11 +101,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/about">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Read-the-policy-page--policy.html

@ -99,11 +99,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/policy">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/See-a-404-page--error_404.html

@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/error_404">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -96,11 +96,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

16
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -87,11 +87,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

18
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -62,7 +62,7 @@ Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h4>My Awesome Workshop</h4>
<div class="workshop-interest">
</div>
<div class="workshop-description"><p>Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.</p>
<div class="workshop-description"><p>In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.</p>
</div>
</li>
</ul>
@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -81,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/228dda383321efc7ced7155b678956ea654b22a9fb120bef9318b8b01720f453'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/c2bb6ed97af822a11e0698e06192407c851fad7af17c8cdb57bb5ce019676285'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -95,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:49162'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:54389'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

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

@ -90,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:49162'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:54389'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

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

@ -105,11 +105,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -102,11 +102,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -102,11 +102,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -141,11 +141,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -83,11 +83,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

14
config/locales/data/html_records/Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token.html

@ -86,11 +86,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/register/paypal_confirm/token">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -89,11 +89,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/doconfirm/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -81,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/228dda383321efc7ced7155b678956ea654b22a9fb120bef9318b8b01720f453'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/c2bb6ed97af822a11e0698e06192407c851fad7af17c8cdb57bb5ce019676285'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -95,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:49162'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:54389'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

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

@ -90,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:49162'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:54389'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

16
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 14 – 18, 2015
August 15 – 19, 2015
</div>
</div>
</div>
@ -92,11 +92,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -148,11 +148,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/stats/">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -28,7 +28,7 @@ Excel Spreadsheet
<td>Jeff</td>
<td>someguy@bikebike.org</td>
<td>Somewhere</td>
<td>2015-09-14 01:24:17</td>
<td>2015-09-15 04:09:19</td>
<td>English</td>
<td>2015-09-28 00:00:00</td>
<td>2015-09-28 00:00:00</td>

14
config/locales/data/html_records/View-stats--confirm.test.html

@ -94,11 +94,23 @@ EN
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
<a href="/?lang=en">
EN
</a>
<span>English</span>
</li>
<li>
<a href="/?lang=es">
ES
</a>
<span>español</span>
</li>
<li>
<a href="/?lang=fr">
FR
</a>
<span>français</span>
</li>
</ul>
</div>
</span></div>

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

@ -17,6 +17,7 @@ date.formats.span_same_month_date_1:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
date.month_names:
pages:
- "/"
@ -32,6 +33,7 @@ date.month_names:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
date.formats.span_same_month_date_2:
pages:
- "/"
@ -44,6 +46,7 @@ date.formats.span_same_month_date_2:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
date.date_span:
pages:
- "/"
@ -59,6 +62,7 @@ date.date_span:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
articles.workshops.headings.Proposed_Workshops:
pages:
- "/"
@ -71,6 +75,7 @@ articles.workshops.headings.Proposed_Workshops:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
articles.workshops.paragraphs.Proposed_Workshops:
pages:
- "/"
@ -86,6 +91,7 @@ articles.workshops.paragraphs.Proposed_Workshops:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
- Edit-a-conference--
page_descriptions.home:
pages:
- "/"
@ -100,6 +106,7 @@ page_descriptions.home:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -147,6 +154,9 @@ page_descriptions.home:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -164,6 +174,7 @@ page_titles.About_BikeBike:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -211,6 +222,9 @@ page_titles.About_BikeBike:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -228,6 +242,7 @@ page_titles.Safe_Space_Policy:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -275,6 +290,9 @@ page_titles.Safe_Space_Policy:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -304,6 +322,7 @@ links.footer.text.File_an_Issue:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -351,6 +370,9 @@ links.footer.text.File_an_Issue:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -368,6 +390,7 @@ links.footer.text.Help_contribute:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -415,6 +438,9 @@ links.footer.text.Help_contribute:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -432,6 +458,7 @@ links.footer.help_text.facebook:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -480,6 +507,9 @@ links.footer.help_text.facebook:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -497,6 +527,7 @@ links.footer.help_text.select_language:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -545,6 +576,9 @@ links.footer.help_text.select_language:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -562,6 +596,7 @@ languages.en:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -658,6 +693,12 @@ languages.en:
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-about-page--about
- Read-the-policy-page--policy
@ -665,6 +706,268 @@ languages.en:
- See-a-404-page--error_404
- See-a-404-page--error_404
context: English
languages.es:
pages:
- "/"
- "/conferences/:slug/register"
- "/doconfirm"
- "/conferences/:slug/register/:button/:confirmation_token"
- "/confirm/:token"
- "/conferences/:slug/stats"
- "/conferences/:slug/workshops"
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id"
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
examples:
- See-a-more-info-link--
- See-a-more-info-link--
- See-a-register-link--
- See-a-register-link--
- Start-registration-from-landing-page--
- Start-registration-from-landing-page--
- Start-registration-from-landing-page--conferences.MyBikeBike.register
- Start-registration-from-landing-page--conferences.MyBikeBike.register
- Start-registration-from-landing-page--conferences.MyBikeBike.register-1
- Start-registration-from-landing-page--conferences.MyBikeBike.register-1
- Start-registration-from-landing-page--doconfirm
- Start-registration-from-landing-page--doconfirm
- Start-registration-from-landing-page--conferences.MyBikeBike.register-2
- Start-registration-from-landing-page--conferences.MyBikeBike.register-2
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-4
- Start-registration-from-landing-page--conferences.MyBikeBike.register-4
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--confirm.test
- View-stats--confirm.test
- View-stats--
- View-stats--
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats
- Create-workshop--confirm.test
- Create-workshop--confirm.test
- Create-workshop--
- Create-workshop--
- Create-workshop--conferences.MyBikeBike.register
- Create-workshop--conferences.MyBikeBike.register
- Create-workshop--conferences.MyBikeBike.workshops
- Create-workshop--conferences.MyBikeBike.workshops
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-about-page--about
- Read-the-policy-page--policy
- Read-the-policy-page--policy
- See-a-404-page--error_404
- See-a-404-page--error_404
context: Spanish
languages.fr:
pages:
- "/"
- "/conferences/:slug/register"
- "/doconfirm"
- "/conferences/:slug/register/:button/:confirmation_token"
- "/confirm/:token"
- "/conferences/:slug/stats"
- "/conferences/:slug/workshops"
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id"
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
examples:
- See-a-more-info-link--
- See-a-more-info-link--
- See-a-register-link--
- See-a-register-link--
- Start-registration-from-landing-page--
- Start-registration-from-landing-page--
- Start-registration-from-landing-page--conferences.MyBikeBike.register
- Start-registration-from-landing-page--conferences.MyBikeBike.register
- Start-registration-from-landing-page--conferences.MyBikeBike.register-1
- Start-registration-from-landing-page--conferences.MyBikeBike.register-1
- Start-registration-from-landing-page--doconfirm
- Start-registration-from-landing-page--doconfirm
- Start-registration-from-landing-page--conferences.MyBikeBike.register-2
- Start-registration-from-landing-page--conferences.MyBikeBike.register-2
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Start-registration-from-landing-page--conferences.MyBikeBike.register-4
- Start-registration-from-landing-page--conferences.MyBikeBike.register-4
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--confirm.test
- View-stats--confirm.test
- View-stats--
- View-stats--
- View-stats--conferences.MyBikeBike.stats
- View-stats--conferences.MyBikeBike.stats
- Create-workshop--confirm.test
- Create-workshop--confirm.test
- Create-workshop--
- Create-workshop--
- Create-workshop--conferences.MyBikeBike.register
- Create-workshop--conferences.MyBikeBike.register
- Create-workshop--conferences.MyBikeBike.workshops
- Create-workshop--conferences.MyBikeBike.workshops
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-about-page--about
- Read-the-policy-page--policy
- Read-the-policy-page--policy
- See-a-404-page--error_404
- See-a-404-page--error_404
context: French
links.footer.help_text.contributors:
pages:
- "/"
@ -679,6 +982,7 @@ links.footer.help_text.contributors:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
- "/about"
- "/policy"
- "/error_404"
@ -727,6 +1031,9 @@ links.footer.help_text.contributors:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--confirm.test
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
- Read-the-about-page--about
- Read-the-policy-page--policy
- See-a-404-page--error_404
@ -754,6 +1061,8 @@ conference.actions.Register:
- Like-a-workshop--
- Broadcast-message--confirm.test
- Broadcast-message--
- Edit-a-conference--confirm.test
- Edit-a-conference--
page_titles.conferences.Conference_Registration:
pages:
- "/conferences/:slug/register"
@ -794,6 +1103,7 @@ forms.labels.generic.email:
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
- Edit-a-conference--confirm.test
forms.actions.generic.register:
pages:
- "/conferences/:slug/register"
@ -990,6 +1300,7 @@ forms.actions.generic.Log_out:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-2
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
@ -1023,6 +1334,8 @@ forms.actions.generic.Log_out:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--
- Edit-a-conference--conferences.MyBikeBike.edit
articles.conference_registration.headings.Registration_Info:
pages:
- "/conferences/:slug/register"
@ -1086,24 +1399,6 @@ articles.conference_registration.headings.languages:
- 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"
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id/edit"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
languages.fr:
pages:
- "/conferences/:slug/register"
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id/edit"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-3
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
articles.conference_registration.headings.housing:
pages:
- "/conferences/:slug/register"
@ -1311,6 +1606,7 @@ menu.submenu.registration.Registration:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
@ -1336,6 +1632,7 @@ menu.submenu.registration.Registration:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--conferences.MyBikeBike.edit
menu.submenu.registration.Workshops:
pages:
- "/conferences/:slug/register"
@ -1347,6 +1644,7 @@ menu.submenu.registration.Workshops:
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/workshops/:workshop_id/delete"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-5
- Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token
@ -1372,6 +1670,7 @@ menu.submenu.registration.Workshops:
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--conferences.MyBikeBike.edit
articles.conference_registration.headings.payment_confirm:
pages:
- "/conferences/:slug/register/:button/:confirmation_token"
@ -1470,6 +1769,7 @@ page_titles.403.Please_Confirm_Email:
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
- Edit-a-conference--confirm.test
articles.permission_denied.headings.confirm_email:
pages:
- "/confirm/:token"
@ -1480,6 +1780,7 @@ articles.permission_denied.headings.confirm_email:
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
- Edit-a-conference--confirm.test
forms.actions.generic.login:
pages:
- "/confirm/:token"
@ -1489,6 +1790,7 @@ forms.actions.generic.login:
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
- Edit-a-conference--confirm.test
geography.subregions.US.AK:
pages:
- "/"
@ -1560,32 +1862,38 @@ menu.submenu.registration.Edit:
pages:
- "/conferences/:slug/stats"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- View-stats--conferences.MyBikeBike.stats
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--conferences.MyBikeBike.edit
menu.submenu.registration.Stats:
pages:
- "/conferences/:slug/stats"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- View-stats--conferences.MyBikeBike.stats
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--conferences.MyBikeBike.edit
menu.submenu.registration.Broadcast:
pages:
- "/conferences/:slug/stats"
- "/conferences/:slug/broadcast"
- "/conferences/:slug/edit"
examples:
- View-stats--conferences.MyBikeBike.stats
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
- Broadcast-message--conferences.MyBikeBike.broadcast-3
- Edit-a-conference--conferences.MyBikeBike.edit
articles.conference_registration.headings.email:
pages:
- "/conferences/:slug/stats"
@ -1670,9 +1978,11 @@ forms.labels.generic.info:
pages:
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/edit"
examples:
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Edit-a-conference--conferences.MyBikeBike.edit
articles.workshops.headings.languages:
pages:
- "/conferences/:slug/workshops/create"
@ -1847,9 +2157,11 @@ forms.actions.generic.save:
pages:
- "/conferences/:slug/workshops/create"
- "/conferences/:slug/workshops/:workshop_id/edit"
- "/conferences/:slug/edit"
examples:
- Create-workshop--conferences.MyBikeBike.workshops.create
- Create-workshop--conferences.MyBikeBike.workshops.1.edit
- Edit-a-conference--conferences.MyBikeBike.edit
page_titles.conferences.View_Workshop:
pages:
- "/conferences/:slug/workshops/:workshop_id"
@ -1909,6 +2221,22 @@ actions.workshops.Edit:
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
actions.workshops.Translate:
pages:
- "/conferences/:slug/workshops/:workshop_id"
context: Translate into <span class="translated-content" data-i18n-key="languages.es"
data-i18n-needs-translation="0">Spanish</span>
vars:
- :language
examples:
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1-3
actions.workshops.Delete:
pages:
- "/conferences/:slug/workshops/:workshop_id"
@ -2055,6 +2383,26 @@ articles.conference_registration.paragraphs.participants_emailed:
- :conference_title
examples:
- Broadcast-message--conferences.MyBikeBike.broadcast-3
geography.subregions.US.OR:
pages:
- "/"
examples:
- Edit-a-conference--
page_titles.conferences.Edit:
pages:
- "/conferences/:slug/edit"
examples:
- Edit-a-conference--conferences.MyBikeBike.edit
actions.conference.Translate:
pages:
- "/conferences/:slug/edit"
context: Edit <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span>
version
vars:
- :language
examples:
- Edit-a-conference--conferences.MyBikeBike.edit
- Edit-a-conference--conferences.MyBikeBike.edit
page_titles.about.About_BikeBike:
pages:
- "/about"

8
config/locales/en.yml

@ -5456,7 +5456,9 @@ en:
Workshops: Workshops
Your_Workshops: Your Workshops
paragraphs:
Proposed_Workshops: Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.
Proposed_Workshops: Would you like to facilitate your own workshop? Simply
register and visit the workshops page. If you have already registered you
can access the page by restarting the registration process.
info: Please accurately describe your workshop in detail. This will help hosts
decide if they wish to add it to the schedule and when it should best be
scheduled. Enter normal text but if you want to get fancy you can use [Markdown](http://daringfireball.net/projects/markdown/basics)
@ -5545,6 +5547,7 @@ en:
Workshops: Workshops
Delete_Workshop: Create Workshop
Edit_Workshop: Edit Workshop
Edit: Edit Conference
policy:
Safer_Spaces_Policy: Safer Space Agreement
'404':
@ -5578,6 +5581,9 @@ en:
create: New Workshop
Delete: Delete Workshop
Edit: Edit
Translate: Translate into %{language}
conference:
Translate: Edit %{language} version
error:
'404':
description: Sorry, we couldn't find the page you were looking for. If you really

5
db/migrate/20150914230507_add_locale_to_workshops.rb

@ -0,0 +1,5 @@
class AddLocaleToWorkshops < ActiveRecord::Migration
def change
add_column :workshops, :locale, :string
end
end

3
db/schema.rb

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150912010105) do
ActiveRecord::Schema.define(version: 20150914230507) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -386,6 +386,7 @@ ActiveRecord::Schema.define(version: 20150912010105) do
t.string "theme"
t.text "host_info"
t.text "notes"
t.string "locale"
end
end

10
features/registration_page.feature

@ -168,3 +168,13 @@ Feature: Registration Page
Then I should see email has been sent
And I should see Preview
And I should see My Subject
Scenario: Edit a conference
Given There is an upcoming conference in Portland OR
And Registration is open
And I am logged in as somebody@bikebike.org
And My name is John Doe
And I am a conference host
And I am registered for the conference
And I am on the edit conference page
Then I should see Edit Spanish

9
features/step_definitions/interface_steps.rb

@ -78,23 +78,23 @@ Given(/^There is an upcoming conference( in .+)?$/) do |location|
end
end
Given(/^an organization( named .+)? exists( in .+)?$/) do |name, location|
Given(/^an organization( named .+)? exists in (.+)?$/) do |name, location|
if location =~ /every country/i
Carmen::World.instance.subregions.each { |country|
if country.subregions?
country.subregions.each { |region|
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence)
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))
org.locations << Location.new(city: 'City', country: country.code, territory: region.code)
org.save!
}
else
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence)
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))
org.locations << Location.new(city: 'City', country: country.code)
org.save!
end
}
else
create_org(name ? name.gsub(/^\s*named\s+(.*?)\s*$/, '\1') : nil, location ? location.gsub(/^\s*in\s+(.*?)\s*$/, '\1') : nil)
create_org(name ? name.gsub(/^\s*named\s+(.*?)\s*$/, '\1') : nil, location)
end
end
@ -103,6 +103,7 @@ Given(/^a workshop( titled .+)? exists?$/) do |title|
workshop.conference_id = @last_conference.id
workshop.title = title ? title.gsub(/^\s*titled\s*(.*?)\s*$/, '\1') : Forgery::LoremIpsum.sentence({:random => true}).gsub(/\.$/, '').titlecase
workshop.info = Forgery::LoremIpsum.paragraph({:random => true})
workshop.locale = :en
workshop.save
@last_workshop = workshop
end

13
features/support/env.rb

@ -109,8 +109,15 @@ end
def create_org(name = nil, location = nil)
org = FactoryGirl.create(:org)
found_location = nil
if !location.nil?
if location.present?
cache_file = File.join(File.dirname(__FILE__), 'location_cache.yml')
cache = File.exists?(cache_file) ? YAML.load_file(cache_file) : {}
l = cache[location]
if l.nil?
l = Geocoder.search(location).first
cache[location] = l
File.open(cache_file, 'w') { |f| f.write cache.to_yaml }
end
begin
found_location = Location.new(city: l.city, territory: l.province_code, country: l.country_code, latitude: l.latitude, longitude: l.longitude)
rescue; end
@ -120,11 +127,11 @@ def create_org(name = nil, location = nil)
return org
end
end
if !name.nil?
if name.present?
org.name = name
org.slug = org.generate_slug(name, found_location)
end
if !found_location.nil?
if found_location.present?
org.locations << found_location
end
org.save!

1
features/support/factory_girl.rb

@ -10,6 +10,7 @@ FactoryGirl.define do
end_date Date.today - 26.days
conference_type_id (ConferenceType.find_by(:slug => 'bikebike') || ConferenceType.create(:slug => 'bikebike')).id
paypal_username 'joe'
locale 'en'
end
factory :org, :class => 'Organization' do

300
features/support/location_cache.yml

@ -0,0 +1,300 @@
---
" in Halifax NS": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: Halifax
short_name: Halifax
types:
- locality
- political
- long_name: Halifax
short_name: Halifax
types:
- administrative_area_level_3
- political
- long_name: Halifax Regional Municipality
short_name: Halifax Regional Municipality
types:
- administrative_area_level_2
- political
- long_name: Nova Scotia
short_name: NS
types:
- administrative_area_level_1
- political
- long_name: Canada
short_name: CA
types:
- country
- political
formatted_address: Halifax, NS, Canada
geometry:
bounds:
northeast:
lat: 44.7035313
lng: -63.5576784
southwest:
lat: 44.5949302
lng: -63.68627009999999
location:
lat: 44.6488625
lng: -63.5753196
location_type: APPROXIMATE
viewport:
northeast:
lat: 44.7035313
lng: -63.5576784
southwest:
lat: 44.5949302
lng: -63.68627009999999
partial_match: true
place_id: ChIJwfrbBxQhWksR3C2LQ6bja2Y
types:
- locality
- political
cache_hit:
" in Sackville NB": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: Sackville
short_name: Sackville
types:
- locality
- political
- long_name: Westmorland County
short_name: Westmorland County
types:
- administrative_area_level_2
- political
- long_name: New Brunswick
short_name: NB
types:
- administrative_area_level_1
- political
- long_name: Canada
short_name: CA
types:
- country
- political
formatted_address: Sackville, NB, Canada
geometry:
bounds:
northeast:
lat: 45.96934
lng: -64.31345000000002
southwest:
lat: 45.86707
lng: -64.4562439
location:
lat: 45.897903
lng: -64.3682803
location_type: APPROXIMATE
viewport:
northeast:
lat: 45.96934
lng: -64.31345000000002
southwest:
lat: 45.86707
lng: -64.4562439
partial_match: true
place_id: ChIJA-OnietQX0sR3kWeYPsw4gs
types:
- locality
- political
cache_hit:
" in Anchorage AK": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: Anchorage
short_name: Anchorage
types:
- locality
- political
- long_name: Anchorage
short_name: Anchorage
types:
- administrative_area_level_2
- political
- long_name: Alaska
short_name: AK
types:
- administrative_area_level_1
- political
- long_name: United States
short_name: US
types:
- country
- political
formatted_address: Anchorage, AK, USA
geometry:
bounds:
northeast:
lat: 61.4838912
lng: -148.460007
southwest:
lat: 60.733791
lng: -150.2862833
location:
lat: 61.2180556
lng: -149.9002778
location_type: APPROXIMATE
viewport:
northeast:
lat: 61.4838912
lng: -148.460007
southwest:
lat: 60.733791
lng: -150.2862833
partial_match: true
place_id: ChIJQT-zBHaRyFYR42iEp1q6fSU
types:
- locality
- political
cache_hit:
" in San Marcos TX": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: San Marcos
short_name: San Marcos
types:
- locality
- political
- long_name: Hays County
short_name: Hays County
types:
- administrative_area_level_2
- political
- long_name: Texas
short_name: TX
types:
- administrative_area_level_1
- political
- long_name: United States
short_name: US
types:
- country
- political
formatted_address: San Marcos, TX, USA
geometry:
bounds:
northeast:
lat: 29.9605819
lng: -97.8419149
southwest:
lat: 29.777154
lng: -98.012087
location:
lat: 29.8832749
lng: -97.9413941
location_type: APPROXIMATE
viewport:
northeast:
lat: 29.9605819
lng: -97.8419149
southwest:
lat: 29.777154
lng: -98.012087
partial_match: true
place_id: ChIJWUZBNCqnXIYRJzGOU2wzOi8
types:
- locality
- political
cache_hit:
" in Guadalajara Mexico": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: Guadalajara
short_name: Guadalajara
types:
- locality
- political
- long_name: Guadalajara
short_name: Guadalajara
types:
- administrative_area_level_2
- political
- long_name: Jalisco
short_name: Jal.
types:
- administrative_area_level_1
- political
- long_name: Mexico
short_name: MX
types:
- country
- political
formatted_address: Guadalajara, Jalisco, Mexico
geometry:
bounds:
northeast:
lat: 20.7438464
lng: -103.2637617
southwest:
lat: 20.6037373
lng: -103.4070646
location:
lat: 20.6596988
lng: -103.3496092
location_type: APPROXIMATE
viewport:
northeast:
lat: 20.7438464
lng: -103.2637617
southwest:
lat: 20.6037373
lng: -103.4070646
partial_match: true
place_id: ChIJm9MvtYyxKIQRUFeGvwKTPdY
types:
- locality
- political
cache_hit:
" in Portland OR": !ruby/object:Geocoder::Result::Google
data:
address_components:
- long_name: Portland
short_name: Portland
types:
- locality
- political
- long_name: Multnomah County
short_name: Multnomah County
types:
- administrative_area_level_2
- political
- long_name: Oregon
short_name: OR
types:
- administrative_area_level_1
- political
- long_name: United States
short_name: US
types:
- country
- political
formatted_address: Portland, OR, USA
geometry:
bounds:
northeast:
lat: 45.6524799
lng: -122.4718489
southwest:
lat: 45.432393
lng: -122.8369952
location:
lat: 45.5230622
lng: -122.6764816
location_type: APPROXIMATE
viewport:
northeast:
lat: 45.6524799
lng: -122.4718489
southwest:
lat: 45.432393
lng: -122.8369952
partial_match: true
place_id: ChIJJ3SpfQsLlVQRkYXR9ua5Nhw
types:
- locality
- political
cache_hit:

2
features/support/paths.rb

@ -7,6 +7,8 @@ module NavigationHelpers
path = :home
when /^registration$/i
path = "/conferences/#{@last_conference.slug}/register/"
when /^edit conference$/i
path = "/conferences/#{@last_conference.slug}/edit/"
when /^(workshops|stats|broadcast)$/i
path = "/conferences/#{@last_conference.slug}/#{path}/"
end

Loading…
Cancel
Save