Merge pull request #437 from drusepth/revert-433-start-i18n

Revert "Internationalize strings"
This commit is contained in:
Andrew Brown 2015-04-28 23:24:58 -05:00
commit 02a30c8d11
24 changed files with 299 additions and 543 deletions

3
.gitignore vendored
View File

@ -7,9 +7,8 @@
# Ignore bundler config
/.bundle
# Ingore Yardoc temp files and generated documentation
# Ingore Yardoc temp files
/.yardoc
/doc
# Ignore the default SQLite database.
/db/*.sqlite3

View File

@ -8,7 +8,6 @@ gem 'paperclip', '~> 4.2.0'
gem 'rmagick', '2.13.4'
gem 'aws-sdk', '~> 1.50'
gem 'bcrypt', '~> 3.1.10', platforms: [:ruby, :mingw, :x64_mingw]
gem 'rails-i18n', '~> 4.0.0'
group :production do
gem 'less-rails'

View File

@ -125,9 +125,6 @@ GEM
bundler (>= 1.3.0, < 2.0)
railties (= 4.1.0)
sprockets-rails (~> 2.0)
rails-i18n (4.0.4)
i18n (~> 0.6)
railties (~> 4.0)
railties (4.1.0)
actionpack (= 4.1.0)
activesupport (= 4.1.0)
@ -225,7 +222,6 @@ DEPENDENCIES
paperclip (~> 4.2.0)
pg
rails (= 4.1.0)
rails-i18n (~> 4.0.0)
rmagick (= 2.13.4)
rubocop
sass-rails (~> 4.0.3)

View File

@ -1,6 +1,5 @@
# Superclass for all model controllers
class ApplicationController < ActionController::Base
include Localized
protect_from_forgery
helper :html

View File

@ -1,50 +0,0 @@
require 'active_support/concern'
# Sets the locale for every request, from the first available value among
# the following:
# 1. a URL parameter called "locale", ex. +?locale=en+
# 2. the +HTTP_ACCEPT_LANGUAGE+ header property
# 3. the default locale in +I18n.default_locale+
module Localized
extend ActiveSupport::Concern
included do
before_action :set_locale
end
# Sets +I18n.locale+ from the first available value among the following:
# 1. a URL parameter called "locale", ex. +?locale=en+
# 2. the +HTTP_ACCEPT_LANGUAGE+ header property
# 3. the default locale in +I18n.default_locale+
def set_locale
I18n.locale = requested_locale || I18n.default_locale
end
# The locale requested by the user. Returns the first available value:
# 1. a URL paramter called "locale"
# 2. the +HTTP_ACCEPT_LANGUAGE+ header property
def requested_locale
validate_locale locale_from_url_params ||
locale_from_accept_language_header
end
# Returns the given locale if localizations for it are available.
# Returns nil otherwise.
def validate_locale(locale)
return if locale.blank?
locale if locale.to_sym.in?(I18n.available_locales)
end
# The locale in the URL paramters
def locale_from_url_params
params[:locale]
end
# The two-character locale in the +HTTP_ACCEPT_LANGUAGE+ header field
def locale_from_accept_language_header
return if request.blank?
return if request.env['HTTP_ACCEPT_LANGUAGE'].blank?
request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first
end
end

View File

@ -6,22 +6,22 @@
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link_to t('.logged_in_as', username: User.find(session[:user]).name), account_path %></a></li>
<li><a href="/account">Logged in as <%= User.find(session[:user]).name %></a></li>
<li class="divider"></li>
<li><%= link_to t('.my_content'), dashboard_path %></li>
<li><%= link_to t('.account_settings'), account_path %></li>
<li><a href="/my/content">My Content</a></li>
<li><a href="/account">Account Settings</a></li>
<li class="divider"></li>
<li><%= link_to t('.privacy_policy'), privacy_info_path %></li>
<li><a href="/about/privacy">Privacy Policy</a></li>
<li class="divider"></li>
<li><%= link_to t('.report_a_problem'), 'https://docs.google.com/forms/d/198QvP092YZn9adeCkLjU_Jw4BHZaSMYjU8p0F8V7csw/viewform', target: '_blank' %></li>
<li><%= link_to t('.give_feedback'), 'https://docs.google.com/forms/d/11O6mHMIFFbNiUfdj6eqStXnARPcj3tWnYOQ-90QktDk/viewform', target: '_blank' %></li>
<li><%= link_to t('.request_a_feature'), 'https://docs.google.com/forms/d/1ncA82di103_e3KjG8PCHO9g9RQY0_89I6mSQf2L0S4g/viewform', target: '_blank' %></li>
<li><a href="https://docs.google.com/forms/d/198QvP092YZn9adeCkLjU_Jw4BHZaSMYjU8p0F8V7csw/viewform" target="_blank">Report a problem</a></li>
<li><a href="https://docs.google.com/forms/d/11O6mHMIFFbNiUfdj6eqStXnARPcj3tWnYOQ-90QktDk/viewform" target="_blank">Give feedback</a></li>
<li><a href="https://docs.google.com/forms/d/1ncA82di103_e3KjG8PCHO9g9RQY0_89I6mSQf2L0S4g/viewform" target="_blank">Request a feature</a></li>
<li class="divider"></li>
<li><%= link_to t('.log_out'), logout_path %></li>
<li><a href="/logout">Log out</a></li>
</ul>
</li>
<% else %>
<li><%= link_to t('.login'), login_path %></li>
<li><%= link_to t('.register'), signup_path %></a></li>
<li><a href="/login">Login</a></li>
<li><a href="/register">Register</a></li>
<% end %>
</ul>

View File

@ -1,29 +1,25 @@
<nav class="navbar navbar-fixed-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only"><%= t '.toggle_navigation' %></span>
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<%= link_to t('.brand'), homepage_path, class: "navbar-brand" %>
<a class="navbar-brand" href="/">Indent</a>
</div>
<div class="collapse navbar-collapse" id="navbar-container">
<ul class="nav navbar-nav">
<% if session[:user] %>
<li>
<%= link_to homepage_path do %>
<span class="glyphicon glyphicon-home"></span>
<% end %>
</li>
<li><a href="/"><span class="glyphicon glyphicon-home"></span></a></li>
<% end %>
<li><%= link_to Character.model_name.human.pluralize, character_list_path %></li>
<li><%= link_to Equipment.model_name.human.pluralize, equipment_list_path %></li>
<li><%= link_to Language.model_name.human.pluralize, language_list_path %></li>
<li><%= link_to Location.model_name.human.pluralize, location_list_path %></li>
<li><%= link_to Magic.model_name.human.pluralize, magic_list_path %></li>
<li><%= link_to Universe.model_name.human.pluralize, universe_list_path %></li>
<li><a href="/plan/characters">Characters</a></li>
<li class="active"><a href="/plan/equipment">Equipment</a></li>
<li><a href="/plan/languages">Languages</a></li>
<li><a href="/plan/locations">Locations</a></li>
<li><a href="/plan/magic">Magic</a></li>
<li><a href="/plan/universes">Universes</a></li>
</ul>
<div class="navbar-right">

View File

@ -1,7 +1,7 @@
<noscript>
<div class="navbar" style="padding: 12px; margin-top: -20px; background: #ff2211; border-bottom: 1px solid #ffbbaa; text-align: center; text: black;">
<div class="container">
<%= t '.paragraph_1' %>
Please enable Javascript for the site to function correctly. We promise not to do anything bad!
</div>
</div>
</noscript>

View File

@ -20,11 +20,9 @@
<% if session[:anon_user] and session[:user] and User.find(session[:user]).content_count > 0 && !current_page?(account_path) %>
<div class="card">
<div class="card-heading"><%= t '.anonymous_accounts' %></div>
<div class="card-heading">Anonymous accounts</div>
<div class="card-body">
<%= t '.anon_account_explanation',
anon_account: link_to(t('.anon_account'), anon_info_path),
click_here: link_to(t('.click_here')) %>
You are currently using an <a href="/about/anon-login">anonymous account</a>. In order to save the brilliant things you have created with it, please <a href="/account">click here</a> to give yourself a username and password.
</div>
<div class="card-comments"></div>
</div>
@ -32,26 +30,29 @@
<% unless session[:user] %>
<div class="card">
<h1 class="card-heading"><%= t '.getstarted_header' %></h1>
<h1 class="card-heading">Get started instantly</h1>
<div class="card-body">
<%= t '.getstarted_description' %>
Nobody likes creating accounts just to try things out. You can get started making things immediately and create your account later if you want.
</div>
<div class="card-comments">
<div class="comments-collapse-toggle">
<p>
<%= link_to t('.getstarted_link'), anonymous_login_path %>
<%= t '.or' %>
<a href="/anon-login">Get started</a> or
<a data-toggle="collapse" data-target="#c1-comments" href="#">
<%= t '.learnmore_link' %> <i class="icon-angle-down"></i>
Learn more <i class="icon-angle-down"></i>
</a>
</p>
</div>
<div id="c1-comments" class="comments collapse">
<p><%= t '.learnmore_p1_html' %></p>
<p><%= t '.learnmore_p2_html' %></p>
<p>
If you jump right in to creating things, an account will be created for you. As you flesh out characters and worlds, your ideas will be safe and sound under this account, which does not ever expire unless you delete it yourself.
</p>
<p>
At any time, you can change the account's login information, so if you make some good progress you can just create an account and <em>tada!</em> all of your ideas are private to your new account, always there for you.
</p>
<p>
<a data-toggle="collapse" data-target="#c1-comments" href="#">
<%= t '.collapse_card' %> <i class="icon-angle-up"></i>
Collapse card <i class="icon-angle-up"></i>
</a>
</p>
</div>

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="<%= I18n.locale %>">
<html lang="en">
<head>
<title>Indent</title>
<%= stylesheet_link_tag "application", :media => "all" %>
@ -28,10 +28,10 @@
<div class="row">
<div class="col-md-12">
<p>
<%= t '.brand' %> &middot;
<%= link_to t('.image_attribution'), attribution_info_path %> &middot;
<%= link_to t('.privacy_policy'), privacy_info_path %> &middot;
<%= link_to t('.source_code'), 'https://github.com/drusepth/Indent' %>
Indent &middot;
<a href="/about/attribution">Image Attribution</a> &middot;
<a href="/about/privacy">Privacy Policy</a> &middot;
<a href="https://github.com/drusepth/Indent">Source Code</a>
</p>
</div>
</div>

View File

@ -1,15 +0,0 @@
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading"><%= artist_name %></h1>
<%= link_to image_source do %>
<%= image_tag image, style: "width: 100%" %>
<% end %>
<div class="card-comments">
<% if artist_gallery %>
<%= link_to artist_gallery do %>
<%= t '.more_by_this_artist' %>
<% end %>
<% end %>
</div>
</div>
</div>

View File

@ -1,18 +1,37 @@
<div class="row">
<div class="col-md-4">
<div class="card">
<h1 class="card-heading"><%= t '.card_1_heading' %></h1>
<div class="card-body"><%= t '.card_1_body_html' %></div>
<h1 class="card-heading">This is is your dashboard</h1>
<div class="card-body">
<p>
As you plan your stories, you can always return back here to get a view of everything
you've created at a glance. To get back here from anywhere, simply click the
<strong>Indent</strong> logo up top, or the <span class="glyphicon glyphicon-home"></span> icon next to it.
</p>
<p>
Good luck and have fun!
</p>
</div>
<div class="card-comments"></div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<h1 class="card-heading"><%= t '.card_2_heading' %></h1>
<div class="card-body"><%= t('.card_2_body_html', create_universe_link: link_to(t('.create_universe_link_title'), :universe_create)) %></div>
<h1 class="card-heading">Ready to get started?</h1>
<div class="card-body">
<p>
Welcome to Indent. Before you get started, it's recommended that you
<%= link_to "create a universe", :universe_create %>.
</p>
<p>
This universe will contain
everything you create about your world, and is a handy way to keep multiple worlds
cleanly separated during the planning process.
</p>
</div>
<div class="card-comments">
<%= link_to t('.create_universe_button'), :universe_create %>
<%= link_to "Create a universe!", :universe_create %>
</div>
</div>
</div>

View File

@ -1,12 +0,0 @@
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading"><%= model_name %></h1>
<%= image_tag image %>
<div class="card-body">
<p><%= description %></p>
</div>
<div class="card-comments">
<%= link_to t('.plan_your_own'), plan_path, class: "btn" %>
</div>
</div>
</div>

View File

@ -1,10 +1,21 @@
<div class="card">
<h3 class="card-heading simple"><%= t '.heading' %></h3>
<h3 class="card-heading simple">What are "Anonymous" accounts?</h3>
<div class="card-body">
<p><%= t '.paragraph_1_html' %></p>
<p><%= t '.paragraph_2_html' %></p>
<p><%= t '.paragraph_3_html' %></p>
<p><%= t '.paragraph_4_html' %></p>
<p>
Nobody likes having to create an account before being able to check out something cool.
</p>
<p>
So you don't need an account. If you're just browsing or deciding whether or not it's worth creating an account, you can simply log in with the big, blue <a href="/be-anonymous">Be Anonymous</a> button.
</p>
<p>
Clicking the button will generate a random account and automatically log you in, letting you jump right in to planning your stories. Everything acts exactly as it would if you were logged in to a "real" account, except with one caveat:
</p>
<p>
<strong>If you log out or close your browser without <a href="/account">setting a username and password for yourself</a>, your account will be deleted.</strong> To keep all of your content, all you have to do is visit <a href="/account">this page</a> and type in the login information you want to use &ndash; it's that easy. All of your content will be saved and you can log in to your account with that username in the future.
</p>
</div>
<div class="card-comments"></div>
</div>

View File

@ -1,61 +1,111 @@
<div class="row">
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading"><%= t '.title' %></h1>
<h1 class="card-heading">Attribution</h1>
<div class="card-body">
<%= t '.description_html' %>
<p>
There are a lot of wonderful artists out there, but I am not one of them.
</p>
<p>
Therefore, I've populated the site with <a href="http://us.creativecommons.org/">Creative Commons</a> licensed images.
</p>
<p>
Here you can see who the artist is for any piece of art displayed on the site, and typically click through to more of their work.
</p>
</div>
<div class="card-comments"></div>
</div>
</div>
<%= render partial: "artist_card",
locals: {artist_name: t('.ryan_bliss'),
image_source: "http://digb.deviantart.com/art/Portals-367961779",
image: "card-headers/universes.jpg",
artist_gallery: "http://digb.deviantart.com"} %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">
Ryan Bliss
</h1>
<a href="http://digb.deviantart.com/art/Portals-367961779">
<%= image_tag "card-headers/universes.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://digb.deviantart.com">More by this artist</a>
</div>
</div>
</div>
<%= render partial: "artist_card",
locals: {artist_name: t('.anna_steinbauer'),
image_source: "http://depingo.deviantart.com/art/Spark-349760024",
image: "card-headers/characters.jpg",
artist_gallery: "http://depingo.deviantart.com"} %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">Anna Steinbauer</h1>
<a href="http://depingo.deviantart.com/art/Spark-349760024">
<%= image_tag "card-headers/characters.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://depingo.deviantart.com">More by this artist</a>
</div>
</div>
</div>
<%= render partial: "artist_card",
locals: {artist_name: t('.alex_ruiz'),
image_source: "http://alexruizart.deviantart.com/art/Conjuring-410846502",
image: "card-headers/magic.jpg",
artist_gallery: "http://alexruizart.deviantart.com"} %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">Alex Ruiz</h1>
<a href="http://alexruizart.deviantart.com/art/Conjuring-410846502">
<%= image_tag "card-headers/magic.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://alexruizart.deviantart.com">More by this artist</a>
</div>
</div>
</div>
</div>
<div class="row">
<%= render partial: "artist_card",
locals: {artist_name: t('.paul_fischer'),
image_source: "http://paulsgruff.deviantart.com/art/Call-To-Convention-416240260",
image: "card-headers/locations.jpg",
artist_gallery: "http://paulsgruff.deviantart.com"} %>
<%= render partial: "artist_card",
locals: {artist_name: t('.roaala'),
image_source: "http://i.imgur.com/hyfaRvl.jpg",
image: "card-headers/equipment.jpg",
artist_gallery: nil } %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">Paul Fisher</h1>
<a href="http://paulsgruff.deviantart.com/art/Call-To-Convention-416240260">
<%= image_tag "card-headers/locations.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://paulsgruff.deviantart.com">More by this artist</a>
</div>
</div>
</div>
<%= render partial: "artist_card",
locals: {artist_name: t('.tom_harrison'),
image_source: "http://tgharrison.deviantart.com/art/Alien-Territorial-Battle-371618831",
image: "card-headers/languages.jpg",
artist_gallery: "http://tgharrison.deviantart.com" } %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">roaala (name pending)</h1>
<a href="http://i.imgur.com/hyfaRvl.jpg">
<%= image_tag "card-headers/equipment.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="#"></a>
</div>
</div>
</div>
<%= render partial: "artist_card",
locals: {artist_name: t('.tony_delgrosso'),
image_source: "http://www.flickr.com/photos/delgrossodotcom/5715664551",
image: "card-headers/hero.jpg",
artist_gallery: "http://www.flickr.com/photos/delgrossodotcom/" } %>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">Tom Harrison</h1>
<a href="http://tgharrison.deviantart.com/art/Alien-Territorial-Battle-371618831">
<%= image_tag "card-headers/languages.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://tgharrison.deviantart.com">More by this artist</a>
</div>
</div>
</div>
<div class="col-xs-3">
<div class="card">
<h1 class="card-heading">Tony Delgrosso</h1>
<a href="http://www.flickr.com/photos/delgrossodotcom/5715664551">
<%= image_tag "card-headers/hero.jpg", style: "width: 100%" %>
</a>
<div class="card-comments">
<a href="http://www.flickr.com/photos/delgrossodotcom/">More by this artist</a>
</div>
</div>
</div>
</div>

View File

@ -1,9 +1,8 @@
<div class="card">
<h3 class="card-heading simple"><%= t '.header' %></h3>
<h3 class="card-heading simple">Sorry, I haven't coded this yet.</h3>
<div class="card-body">
<p><%= t( '.paragraph_1_html',
a_long_list_link: link_to( t('.list_link'),
"https://github.com/drusepth/Indent/issues")) %>
<p>
It's on my list, but it's <a href="https://github.com/drusepth/Indent/issues">a pretty long list</a>.
</p>
</div>
<div class="card-comments"></div>

View File

@ -1,10 +1,14 @@
<% if @things > 0 %>
<div class="col-md-4">
<div class="card">
<h1 class="card-heading"><%= t '.header_html', count: @things %></h1>
<h1 class="card-heading">
<small>You've created a total of</small> <%= @things %> <small><%= "thing".pluralize(@things) %>!</small>
</h1>
<div class="card-body">
<p><%= t '.card_1_body' %></p>
<p>
Keep it up!
</p>
</div>
<div class="card-comments"></div>
</div>
@ -14,12 +18,12 @@
<div class="card">
<div class="card-body">
<p>
<h2><%= @characters.length %> <small><%= link_to t('.character_count', count: @characters.length), character_list_path %></small></h2>
<h2><%= @equipment.length %> <small><%= link_to t('.equipment_count', count: @equipment.length), equipment_list_path %></small></h2>
<h2><%= @languages.length %> <small><%= link_to t('.language_count', count: @languages.length), language_list_path %></small></h2>
<h2><%= @locations.length %> <small><%= link_to t('.location_count', count: @locations.length), location_list_path %></small></h2>
<h2><%= @magics.length %> <small><%= link_to t('.magic_count', count: @magics.length), magic_list_path %></small></h2>
<h2><%= @universes.length %> <small><%= link_to t('.universe_count', count: @universes.length), universe_list_path %></small></h2>
<h2><%= @characters.length %> <small><%= link_to "character".pluralize(@characters.length), character_list_path %></small></h2>
<h2><%= @equipment.length %> <small><%= link_to "piece".pluralize(@equipment.length) + " of equipment", equipment_list_path %></small></h2>
<h2><%= @languages.length %> <small><%= link_to "language".pluralize(@languages.length), language_list_path %></small></h2>
<h2><%= @locations.length %> <small><%= link_to "location".pluralize(@locations.length), location_list_path %></small></h2>
<h2><%= @magics.length %> <small><%= link_to "manifestation".pluralize(@magics.length) + " of magic", magic_list_path %></small></h2>
<h2><%= @universes.length %> <small><%= link_to "universe".pluralize(@universes.length), universe_list_path %></small></h2>
</p>
</div>
<div class="card-comments"></div>

View File

@ -5,23 +5,24 @@
<div class="card">
<div class="card-body">
<h1 style="font-size: 44px;">
<%= t '.header_html' %>
Indent <small>before you write</small>
</h1>
<p>
<%= t '.paragraph_1_html' %>
Indent is a set of tools for writers, game designers, and roleplayers to create magnificent universes &ndash; and everything within them.
</p>
<p>
<%= t '.paragraph_2_html' %>
From a simple interface in your browser, on your phone, or on your tablet, you can do everything you'd ever want to do while creating your own little (or big!) world.
</p>
<p>
<%= t '.paragraph_3_html' %>
Ready?
</p>
</div>
<div class="card-comments">
<%= link_to t('.get_started_now'), anon_info_path, class: "btn btn-primary btn-lg" %>
<%= t '.or' %>
<%= link_to t('.log_in_existing'), login_path %>
<a class="btn btn-primary btn-lg" href="/anon-login">
Get Started Now<br />
</a>
or <a href="/login">log in to your existing account</a>
</div>
</div>
</div>
@ -34,42 +35,95 @@
</div>
<div class="row" id="content-types">
<%= render partial: "model_card",
locals: {model_name: Character.model_name.human.pluralize,
image: "card-headers/characters.jpg",
description: t('.character_description_html'),
plan_path: character_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading">Characters</h1>
<%= image_tag "card-headers/characters.jpg" %>
<div class="card-body">
<p>
Plan physical appearance, behaviorisms, social roles, family &ndash; even a favorite color!
</p>
</div>
<div class="card-comments">
<a href="/plan/characters" class="btn">Plan your own</a>
</div>
</div>
</div>
<%= render partial: "model_card",
locals: {model_name: Equipment.model_name.human.pluralize,
image: "card-headers/equipment.jpg",
description: t('.equipment_description_html'),
plan_path: equipment_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading">Equipment</h1>
<%= image_tag "card-headers/equipment.jpg" %>
<div class="card-body">
<p>
Every weapon was made by someone. Keep track of every aspect of your equipment.
</p>
</div>
<div class="card-comments">
<a href="/plan/equipment" class="btn">Plan your own</a>
</div>
</div>
</div>
<%= render partial: "model_card",
locals: {model_name: Location.model_name.human.pluralize,
image: "card-headers/locations.jpg",
description: t('.location_description_html'),
plan_path: location_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading">Locations</h1>
<%= image_tag "card-headers/locations.jpg" %>
<div class="card-body">
<p>
Upload maps, link areas, track demographics, and keep track of history.
</p>
</div>
<div class="card-comments">
<a href="/plan/locations" class="btn">Plan your own</a>
</div>
</div>
</div>
<%= render partial: "model_card",
locals: {model_name: Magic.model_name.human,
image: "card-headers/magic.jpg",
description: t('.magic_description_html'),
plan_path: magic_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading">Magic</h1>
<%= image_tag "card-headers/magic.jpg" %>
<div class="card-body">
<p>
Whether it's fireballs or potions or nature or voodoo, craft every facet to how it works.
</p>
</div>
<div class="card-comments">
<a href="/plan/magic" class="btn">Plan your own</a>
</div>
</div>
</div>
<%= render partial: "model_card",
locals: {model_name: Language.model_name.human.pluralize,
image: "card-headers/languages.jpg",
description: t('.language_description_html'),
plan_path: language_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading">Languages</h3>
<%= image_tag "card-headers/languages.jpg" %>
<div class="card-body">
<p>
English doesn't have to be the only language in your world. Everything is fair game.
</p>
</div>
<div class="card-comments">
<a href="/plan/languages" class="btn">Plan your own</a>
</div>
</div>
</div>
<%= render partial: "model_card",
locals: {model_name: Universe.model_name.human.pluralize,
image: "card-headers/universes.jpg",
description: t('.universe_description_html'),
plan_path: universe_list_path } %>
<div class="col-sm-3">
<div class="card">
<h1 class="card-heading simple">Universes</h1>
<%= image_tag "card-headers/universes.jpg" %>
<div class="card-body">
<p>
You know you've always wanted to create <em>an entire universe</em>. Now's your chance!
</p>
</div>
<div class="card-comments">
<a href="/plan/universes" class="btn">Plan your own</a>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,16 +1,26 @@
<div class="card">
<h3 class="card-heading simple"><%= t '.header' %></h3>
<h3 class="card-heading simple">Your privacy is important.</h3>
<div class="card-body">
<p><%= t '.paragraph_1_html' %></p>
<p>
I'm no lawyer, and I won't pretend to be. Nobody likes reading those legalese documents, so I'll just give you the facts in English:
</p>
<ul>
<li><%= t '.list_item_1_html' %></li><br />
<li><%= t '.list_item_2_html' %></li><br />
<li><%= t '.list_item_3_html' %></li>
<li>Indent will <strong>always</strong> do its best to maintain the security and privacy of your data, in order to ensure that it is you and only you that has access to view, modify, or remove it.</li>
<br />
<li>Indent will <strong>never</strong> share your personal information or any information you create in the process of planning characters, locations, etc., with anyone other than you. No advertisers, no partners, no anything except a good product for planning.</li>
<br />
<li>Indent will <strong>never</strong> assume ownership of any data you enter, anywhere. All information relating to stories, characters, locations, etc., are owned by you, the author, and only you.</li>
</ul>
<p><%= t '.paragraph_2_html' %></p>
<p><%= t '.paragraph_3_html' %></p>
<p>
For those of you who <em>do</em> like legalese documents: I'm sorry I'm not a lawyer. I'm working to get one to write something official soon, but in the meantime you'll have to take my word for it.
</p>
<p>
If you have <em>any</em> questions at all, feel free to contact me personally at the email address below and I'd be more than happy to chat:
&lt;image of email address&gt;
</p>
</div>
<div class="card-comments"></div>
</div>

View File

@ -22,12 +22,10 @@ module PlanCharacters
# The default locale is :en and all translations
# from config/locales/*.rb,yml are auto loaded.
config.i18n.load_path +=
Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
config.i18n.default_locale = :en
config.i18n.fallbacks = [:en]
#
# config.i18n.load_path += Dir[Rails.root.join(
# 'my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
# Filter sensitive parameters out of logs
config.filter_parameters << :password

View File

@ -33,104 +33,8 @@ en:
universe: Universe
user: User
attributes:
shared: &shared
name: Name
notes: Notes
private_notes: Private notes
character:
<<: *shared
role: Role
gender: Gender
age: Age
height: Height
weight: Weight
haircolor: Hair color
hairstyle: Hair style
facialhair: Facial hair
eyecolor: Eye color
race: Race
skintone: Skin tone
bodytype: Body type
identmarks: Identifying marks
bestfriend: Best friend
religion: Religion
politics: Politics
prejudices: Prejudices
occupation: Occupation
pets: Pets
mannerisms: Mannerisms
birthday: Birthday
birthplace: Birthplace
education: Education
background: Background
fave_color: Favorite color
fave_food: Favorite food
fave_possession: Favorite possession
fave_weapon: Favorite weapon
fave_animal: Favorite animal
father: Father
mother: Mother
spouse: Spouse
siblings: Siblings
archenemy: Archenemy
equipment:
<<: *shared
equip_type: Type
description: Description
weight: Weight
original_owner: Original owner
made_by: Made by
materials: Materials
year_made: Year made
magic: Magic
language:
<<: *shared
words: Words
established_year: Year established
established_location: Location established
characters: Characters
locations: Locations
location:
<<: *shared
type_of: Type
description: Description
map: Map
map_file_name: Map file name
map_content_type: Map content type
map_file_size: Map file size
map_updated_at: Map updated at
population: Population
language: Language
currency: Currency
motto: Motto
capital: Capital
largest_city: Largest city
notable_cities: Notable cities
area: Area
crops: Crops
located_at: Located at
established_year: Year established
notable_wars: Notable wars
magic:
<<: *shared
type_of: Type
manifestation: Manifestation
symptoms: Symptoms
element: Element
diety: Diety
harmfulness: Harmfulness
helpfulness: Helpfulness
neutralness: Neutralness
resource: Resource
skill_level: Skill level
limitations: Limitations
session:
username: Username
password: Password
universe:
<<: *shared
description: Description
history: History
create_success: "%{model_name} was successfully created."
update_success: "%{model_name} was successfully updated."

View File

@ -1,52 +0,0 @@
en:
layouts:
application:
brand: Indent
image_attribution: Image Attribution
privacy_policy: Privacy Policy
source_code: Source Code
login_box:
logged_in_as: Logged in as %{username}
my_content: My Content
account_settings: Account Settings
privacy_policy: Privacy Policy
report_a_problem: Report a problem
give_feedback: Give feedback
request_a_feature: Request a feature
log_out: Log out
login: Login
register: Register
navbar:
brand: Indent
toggle_navigation: Toggle navigation
noscript_notice:
paragraph_1: >
Please enable Javascript for the site to function correctly. We promise
not to do anything bad!
sidebar:
anonymous_accounts: Anonymous accounts
anon_account_explanation: >
You are currently using an %{anon_account}. In order to save the
brilliant things you have created with it, please %{click_here}
to give yourself a username and password
anon_account: anonymous account
click_here: click here
getstarted_header: Get started instantly
getstarted_description: >
Nobody likes creating accounts just to try things out. You can get
started making things immediately and create your account later if
you want.
getstarted_link: Get started
or: or
learnmore_link: Learn more
learnmore_p1_html: >
If you jump right in to creating things, an account will be created for
you. As you flesh out characters and worlds, your ideas will be safe
and sound under this account, which does not ever expire unless you
delete it yourself.
learnmore_p2_html: >
At any time, you can change the account's login information, so if you
make some good progress you can just create an account and
<em>tada!</em> all of your ideas are private to your new account,
always there for you.
collapse_card: Collapse card

View File

@ -1,153 +0,0 @@
en:
main:
anoninfo:
heading: What are "Anonymous" accounts?
paragraph_1_html: >
Nobody likes having to create an account before being able to
check out something cool.
paragraph_2_html: >
So you don't need an account. If you're just browsing or deciding
whether or not it's worth creating an account, you can simply log in
with the big, blue <a href="/be-anonymous">Be Anonymous</a> button.
paragraph_3_html: >
Clicking the button will generate a random account and automatically
log you in, letting you jump right in to planning your stories.
Everything acts exactly as it would if you were logged in to a "real"
account, except with one caveat:
paragraph_4_html: >
<strong>If you log out or close your browser without
<a href="/account">setting a username and password for yourself</a>,
your account will be deleted.</strong> To keep all of your content,
all you have to do is visit <a href="/account">this page</a> and type
in the login information you want to use &ndash; it's that easy. All of
your content will be saved and you can log in to your account with that
username in the future.
artist_card:
more_by_this_artist: More by this artist
attribution:
title: Attribution
description_html: >
<p>There are a lot of wonderful artists out there, but I am not
one of them.</p>
<p>Therefore, I've populated the site with
<a href="http://us.creativecommons.org/">Creative Commons</a> licensed
images.</p>
<p>Here you can see who the artist is for any piece of art displayed on
the site, and typically click through to more of their work</p>
ryan_bliss: Ryan Bliss
anna_steinbauer: Anna Steinbauer
alex_ruiz: Alex Ruiz
paul_fischer: Paul Fischer
roaala: roaala (name pending)
tom_harrison: Tom Harrison
tony_delgrosso: Tony Delgrosso
comingsoon:
header: Sorry, I haven't coded this yet.
paragraph_1_html: It's on my list, but it's %{a_long_list_link}
list_link: a pretty long list
dashboard:
header_html:
one: <small>You've created a total of</small> 1 <small>thing!</small>
other: <small>You've created a total of</small> %{count} <small>things!</small>
card_1_body: Keep it up!
# We are able to use the activerecord block to define model pluralizations
# for all models except Equipment and Magic, which we need to dress up a
# little more because "4 equipment" or "5 magics" doesn't sound great.
character_count:
one: "character"
other: "characters"
equipment_count:
one: "piece of equipment"
other: "pieces of equipment"
language_count:
one: "language"
other: "languages"
location_count:
one: "location"
other: "locations"
magic_count:
one: "manifestation of magic"
other: "manifestatons of magic"
session_count:
one: "sesson"
other: "sessions"
universe_count:
one: "universes"
other: "universes"
dashboard_intro:
card_1_heading: This is is your dashboard
card_1_body_html: >
<p>As you plan your stories, you can always return back here to get a view of everything
you've created at a glance. To get back here from anywhere, simply click the
<strong>Indent</strong> logo up top, or the
<span class="glyphicon glyphicon-home"></span> icon next to it.</p>
<p>Good luck and have fun!</p>
card_2_heading: Ready to get started?
card_2_body_html: >
<p>Welcome to Indent. Before you get started, it's recommended that you
%{create_universe_link}.</p>
<p>This universe will contain
everything you create about your world, and is a handy way to keep multiple worlds
cleanly separated during the planning process.</p>
create_universe_link_title: create a universe
create_universe_button: Create a universe!
index:
header_html: Indent <small>before you write</small>
paragraph_1_html: >
Indent is a set of tools for writers, game designers, and roleplayers
to create magnificent universes &mdash; and everything within them.
paragraph_2_html: >
From a simple interface in your browser, on your phone, or on your
tablet, you can do everything you'd ever want to do while creating your
own little (or big!) world.
paragraph_3_html: Ready?
get_started_now: Get Started Now
or: or
log_in_existing: log in to your existing account
character_description_html: >
Plan physical appearance, behaviorisms, social roles, family &ndash; even
a favorite color!
equipment_description_html: >
Every weapon was made by someone. Keep track of every aspect of
your equipment.
location_description_html: >
Upload maps, link areas, track demographics, and keep track of history.
magic_description_html: >
Whether it's fireballs or potions or nature or voodoo, craft every facet
to how it works.
language_description_html: >
English doesn't have to be the only language in your world. Everything is
fair game.
universe_description_html: >
You know you've always wanted to create <em>an entire universe</em>.
Now's your chance!
model_card:
plan_your_own: Plan your own
privacyinfo:
header: Your privacy is important.
paragraph_1_html: >
I'm no lawyer, and I won't pretend to be. Nobody likes reading those
legalese documents, so I'll just give you the facts in English:
list_item_1_html: >
Indent will <strong>always</strong> do its best to maintain the
security and privacy of your data, in order to ensure that it is you
and only you that has access to view, modify, or remove it.
list_item_2_html: >
Indent will <strong>never</strong> share your personal information or
any information you create in the process of planning characters,
locations, etc., with anyone other than you. No advertisers, no
partners, no anything except a good product for planning.
list_item_3_html: >
Indent will <strong>never</strong> assume ownership of any data you
enter, anywhere. All information relating to stories, characters,
locations, etc., are owned by you, the author, and only you.
paragraph_2_html: >
For those of you who <em>do</em> like legalese documents: I'm sorry I'm
not a lawyer. I'm working to get one to write something official soon,
but in the meantime you'll have to take my word for it.
paragraph_3_html: >
If you have <em>any</em> questions at all, feel free to contact me
personally at the email address below and I'd be more than happy to
chat: &lt;image of email address&gt;

View File

@ -8,7 +8,6 @@ gem 'paperclip', '~> 4.2.0'
gem 'rmagick', '2.13.4'
gem 'aws-sdk', '~> 1.50'
gem 'bcrypt', '~> 3.1.10', platforms: [:ruby, :mingw, :x64_mingw]
gem 'rails-i18n', '~> 4.0.0'
group :production do
gem 'less-rails'