Merged I18N branch to head.
This commit is contained in:
commit
d0b845fc60
204 changed files with 11032 additions and 504 deletions
|
@ -100,6 +100,19 @@ class ApplicationController < ActionController::Base
|
|||
response.headers['Error'] = message
|
||||
render :text => message, :status => status
|
||||
end
|
||||
|
||||
def set_locale
|
||||
if @user
|
||||
if !@user.languages.empty?
|
||||
request.user_preferred_languages = @user.languages
|
||||
elsif !request.user_preferred_languages.empty?
|
||||
@user.languages = request.user_preferred_languages
|
||||
@user.save
|
||||
end
|
||||
end
|
||||
|
||||
I18n.locale = request.compatible_language_from(I18n.available_locales)
|
||||
end
|
||||
|
||||
def api_call_handle_error
|
||||
begin
|
||||
|
@ -134,7 +147,6 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
|
||||
private
|
||||
|
||||
# extract authorisation credentials from headers, returns user = nil if none
|
||||
def get_auth_data
|
||||
if request.env.has_key? 'X-HTTP_AUTHORIZATION' # where mod_rewrite might have put it
|
||||
|
|
|
@ -2,6 +2,7 @@ class BrowseController < ApplicationController
|
|||
layout 'site'
|
||||
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
before_filter { |c| c.check_database_readable(true) }
|
||||
|
||||
def start
|
||||
|
@ -63,7 +64,7 @@ class BrowseController < ApplicationController
|
|||
@way_pages, @ways = paginate(:old_ways, :conditions => {:changeset_id => @changeset.id}, :per_page => 20, :parameter => 'way_page')
|
||||
@relation_pages, @relations = paginate(:old_relations, :conditions => {:changeset_id => @changeset.id}, :per_page => 20, :parameter => 'relation_page')
|
||||
|
||||
@title = "Changeset | #{@changeset.id}"
|
||||
@title = "#{I18n.t('browse.changeset.title')} | #{@changeset.id}"
|
||||
@next = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id", { :id => @changeset.id }] )
|
||||
@prev = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id", { :id => @changeset.id }] )
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
|
|
@ -6,6 +6,7 @@ class ChangesetController < ApplicationController
|
|||
|
||||
session :off, :except => [:list, :list_user, :list_bbox]
|
||||
before_filter :authorize_web, :only => [:list, :list_user, :list_bbox]
|
||||
before_filter :set_locale, :only => [:list, :list_user, :list_bbox]
|
||||
before_filter :authorize, :only => [:create, :update, :delete, :upload, :include, :close]
|
||||
before_filter :require_public_data, :only => [:create, :update, :delete, :upload, :include, :close]
|
||||
before_filter :check_api_writable, :only => [:create, :update, :delete, :upload, :include]
|
||||
|
|
|
@ -5,5 +5,4 @@ class ChangesetTagController < ApplicationController
|
|||
@tags = ChangesetTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] )
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
|
@ -2,12 +2,13 @@ class DiaryEntryController < ApplicationController
|
|||
layout 'site', :except => :rss
|
||||
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
before_filter :require_user, :only => [:new, :edit]
|
||||
before_filter :check_database_readable
|
||||
before_filter :check_database_writable, :only => [:new, :edit]
|
||||
|
||||
def new
|
||||
@title = 'New diary entry'
|
||||
@title = I18n.t('diary_entry.list.new')
|
||||
|
||||
if params[:diary_entry]
|
||||
@diary_entry = DiaryEntry.new(params[:diary_entry])
|
||||
|
@ -19,23 +20,21 @@ class DiaryEntryController < ApplicationController
|
|||
render :action => 'edit'
|
||||
end
|
||||
else
|
||||
@diary_entry = DiaryEntry.new(:language_code => @user.preferred_language)
|
||||
render :action => 'edit'
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@title= 'Edit diary entry'
|
||||
@title= I18n.t('diary_entry.edit.title')
|
||||
@diary_entry = DiaryEntry.find(params[:id])
|
||||
|
||||
if @user != @diary_entry.user
|
||||
redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
|
||||
elsif params[:diary_entry]
|
||||
@diary_entry.title = params[:diary_entry][:title]
|
||||
@diary_entry.body = params[:diary_entry][:body]
|
||||
@diary_entry.latitude = params[:diary_entry][:latitude]
|
||||
@diary_entry.longitude = params[:diary_entry][:longitude]
|
||||
|
||||
if @diary_entry.save
|
||||
params[:diary_entry][:language] = Language.find_by_code(params[:diary_entry][:language])
|
||||
params[:diary_entry][:language] = Language.find_by_code("en") if params[:diary_entry][:language].nil?
|
||||
if @diary_entry.update_attributes(params[:diary_entry])
|
||||
redirect_to :controller => 'diary_entry', :action => 'view', :id => params[:id]
|
||||
end
|
||||
end
|
||||
|
@ -71,7 +70,7 @@ class DiaryEntryController < ApplicationController
|
|||
render :action => 'no_such_user', :status => :not_found
|
||||
end
|
||||
else
|
||||
@title = "Users' diaries"
|
||||
@title = I18n.t('diary_entry.list.title')
|
||||
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
||||
:conditions => ["users.visible = ?", true],
|
||||
:order => 'created_at DESC',
|
||||
|
@ -93,6 +92,15 @@ class DiaryEntryController < ApplicationController
|
|||
else
|
||||
render :nothing => true, :status => :not_found
|
||||
end
|
||||
elsif params[:language]
|
||||
@entries = DiaryEntry.find(:all, :include => :user,
|
||||
:conditions => ["users.visible = ? AND diary_entries.language = ?", true, params[:language]],
|
||||
:order => 'created_at DESC', :limit => 20)
|
||||
@title = "OpenStreetMap diary entries in #{params[:language]}"
|
||||
@description = "Recent diary entries from users of OpenStreetMap"
|
||||
@link = "http://#{SERVER_URL}/diary/#{params[:language]}"
|
||||
|
||||
render :content_type => Mime::RSS
|
||||
else
|
||||
@entries = DiaryEntry.find(:all, :include => :user,
|
||||
:conditions => ["users.visible = ?", true],
|
||||
|
@ -110,7 +118,11 @@ class DiaryEntryController < ApplicationController
|
|||
|
||||
if user
|
||||
@entry = DiaryEntry.find(:first, :conditions => ['user_id = ? AND id = ?', user.id, params[:id]])
|
||||
@title = "Users' diaries | #{params[:display_name]}"
|
||||
if @entry
|
||||
@title = "Users' diaries | #{params[:display_name]}"
|
||||
else
|
||||
render :action => 'no_such_entry', :status => :not_found
|
||||
end
|
||||
else
|
||||
@not_found_user = params[:display_name]
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
class ExportController < ApplicationController
|
||||
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
|
||||
def start
|
||||
end
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ class MessageController < ApplicationController
|
|||
layout 'site'
|
||||
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
before_filter :require_user
|
||||
before_filter :check_database_readable
|
||||
before_filter :check_database_writable, :only => [:new, :reply, :mark]
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
class SiteController < ApplicationController
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
before_filter :require_user, :only => [:edit]
|
||||
|
||||
def export
|
||||
|
|
|
@ -2,6 +2,7 @@ class TraceController < ApplicationController
|
|||
layout 'site'
|
||||
|
||||
before_filter :authorize_web
|
||||
before_filter :set_locale
|
||||
before_filter :require_user, :only => [:mine, :create, :edit, :delete, :make_public]
|
||||
before_filter :authorize, :only => [:api_details, :api_data, :api_create]
|
||||
before_filter :check_database_readable, :except => [:api_details, :api_data, :api_create]
|
||||
|
|
|
@ -3,6 +3,7 @@ class UserController < ApplicationController
|
|||
|
||||
before_filter :authorize, :only => [:api_details, :api_gpx_files]
|
||||
before_filter :authorize_web, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :set_locale, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :require_user, :only => [:set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
|
||||
before_filter :check_database_readable, :except => [:api_details, :api_gpx_files]
|
||||
before_filter :check_database_writable, :only => [:login, :new, :set_home, :account, :go_public, :make_friend, :remove_friend, :upload_image, :delete_image]
|
||||
|
@ -22,9 +23,10 @@ class UserController < ApplicationController
|
|||
@user.data_public = true
|
||||
@user.description = "" if @user.description.nil?
|
||||
@user.creation_ip = request.remote_ip
|
||||
@user.languages = request.user_preferred_languages
|
||||
|
||||
if @user.save
|
||||
flash[:notice] = "User was successfully created. Check your email for a confirmation note, and you\'ll be mapping in no time :-)<br /><br />Please note that you won't be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
|
||||
flash[:notice] = I18n.t('user.new.flash create success message')
|
||||
Notifier.deliver_signup_confirm(@user, @user.tokens.create)
|
||||
redirect_to :action => 'login'
|
||||
else
|
||||
|
@ -48,15 +50,18 @@ class UserController < ApplicationController
|
|||
end
|
||||
|
||||
@user.description = params[:user][:description]
|
||||
@user.languages = params[:user][:languages].split(",")
|
||||
@user.home_lat = params[:user][:home_lat]
|
||||
@user.home_lon = params[:user][:home_lon]
|
||||
|
||||
if @user.save
|
||||
set_locale
|
||||
|
||||
if params[:user][:email] == @user.new_email
|
||||
@notice = "User information updated successfully. Check your email for a note to confirm your new email address."
|
||||
flash[:notice] = I18n.t('user.account.flash update success confirm needed')
|
||||
Notifier.deliver_email_confirm(@user, @user.tokens.create)
|
||||
else
|
||||
@notice = "User information updated successfully."
|
||||
flash[:notice] = I18n.t('user.account.flash update success')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -67,7 +72,7 @@ class UserController < ApplicationController
|
|||
@user.home_lat = params[:user][:home_lat].to_f
|
||||
@user.home_lon = params[:user][:home_lon].to_f
|
||||
if @user.save
|
||||
flash[:notice] = "Home location saved successfully."
|
||||
flash[:notice] = I18n.t('user.set_home.flash success')
|
||||
redirect_to :controller => 'user', :action => 'account'
|
||||
end
|
||||
end
|
||||
|
@ -76,27 +81,27 @@ class UserController < ApplicationController
|
|||
def go_public
|
||||
@user.data_public = true
|
||||
@user.save
|
||||
flash[:notice] = 'All your edits are now public.'
|
||||
flash[:notice] = I18n.t('user.go_public.flash success')
|
||||
redirect_to :controller => 'user', :action => 'account', :display_name => @user.display_name
|
||||
end
|
||||
|
||||
def lost_password
|
||||
@title = 'lost password'
|
||||
@title = I18n.t('user.lost_password.title')
|
||||
if params[:user] and params[:user][:email]
|
||||
user = User.find_by_email(params[:user][:email], :conditions => {:visible => true})
|
||||
|
||||
if user
|
||||
token = user.tokens.create
|
||||
Notifier.deliver_lost_password(user, token)
|
||||
@notice = "Sorry you lost it :-( but an email is on its way so you can reset it soon."
|
||||
flash[:notice] = I18n.t('user.lost_password.notice.email on way')
|
||||
else
|
||||
@notice = "Couldn't find that email address, sorry."
|
||||
flash[:notice] = I18n.t('user.lost_password.notice email cannot find')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def reset_password
|
||||
@title = 'reset password'
|
||||
@title = I18n.t('user.reset_password.title')
|
||||
if params['token']
|
||||
token = UserToken.find_by_token(params[:token])
|
||||
if token
|
||||
|
@ -109,9 +114,9 @@ class UserController < ApplicationController
|
|||
user.save!
|
||||
token.destroy
|
||||
Notifier.deliver_reset_password(user, pass)
|
||||
flash[:notice] = "Your password has been changed and is on its way to your mailbox :-)"
|
||||
flash[:notice] = I18n.t('user.reset_password.flash changed check mail')
|
||||
else
|
||||
flash[:notice] = "Didn't find that token, check the URL maybe?"
|
||||
flash[:notice] = I18n.t('user.reset_password.flash token bad')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
class DiaryEntry < ActiveRecord::Base
|
||||
belongs_to :user
|
||||
belongs_to :language, :foreign_key => 'language_code'
|
||||
|
||||
has_many :diary_comments, :include => :user,
|
||||
:conditions => ["users.visible = ?", true],
|
||||
:order => "diary_comments.id"
|
||||
|
||||
validates_presence_of :title, :body
|
||||
validates_length_of :title, :within => 1..255
|
||||
validates_length_of :language, :within => 2..3, :allow_nil => true
|
||||
#validates_length_of :language, :within => 2..5, :allow_nil => false
|
||||
validates_numericality_of :latitude, :allow_nil => true,
|
||||
:greater_than_or_equal_to => -90, :less_than_or_equal_to => 90
|
||||
validates_numericality_of :longitude, :allow_nil => true,
|
||||
:greater_than_or_equal_to => -180, :less_than_or_equal_to => 180
|
||||
validates_associated :user
|
||||
validates_associated :language
|
||||
end
|
||||
|
|
|
@ -108,6 +108,7 @@ private
|
|||
|
||||
def common_headers(recipient)
|
||||
recipients recipient.email
|
||||
locale recipient.preferred_language_from(I18n.available_locales)
|
||||
from "webmaster@openstreetmap.org"
|
||||
headers "return-path" => "bounces@openstreetmap.org",
|
||||
"Auto-Submitted" => "auto-generated"
|
||||
|
|
|
@ -78,6 +78,22 @@ class User < ActiveRecord::Base
|
|||
return el1
|
||||
end
|
||||
|
||||
def languages
|
||||
attribute_present?(:languages) ? read_attribute(:languages).split(",") : []
|
||||
end
|
||||
|
||||
def languages=(languages)
|
||||
write_attribute(:languages, languages.join(","))
|
||||
end
|
||||
|
||||
def preferred_language
|
||||
languages.find { |l| Language.find(:first, :conditions => { :code => l }) }
|
||||
end
|
||||
|
||||
def preferred_language_from(array)
|
||||
(languages & array.collect { |i| i.to_s }).first
|
||||
end
|
||||
|
||||
def nearby(radius = 50, num = 10)
|
||||
if self.home_lon and self.home_lat
|
||||
gc = OSM::GreatCircle.new(self.home_lat, self.home_lon)
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<table>
|
||||
|
||||
<tr>
|
||||
<th>Created at:</th>
|
||||
<td><%= h(changeset_details.created_at) %></td>
|
||||
<th><%= t 'browse.changeset_details.created_at' %></th>
|
||||
<td><%= l changeset_details.created_at %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>Closed at:</th>
|
||||
<td><%= h(changeset_details.closed_at) %></td>
|
||||
<th><%= t 'browse.changeset_details.closed_at' %></th>
|
||||
<td><%= l changeset_details.closed_at %></td>
|
||||
</tr>
|
||||
|
||||
<% if changeset_details.user.data_public? %>
|
||||
<tr>
|
||||
<th>Belongs to:</th>
|
||||
<th><%= t 'browse.changeset_details.belongs_to' %></th>
|
||||
<td><%= link_to h(changeset_details.user.display_name), :controller => "user", :action => "view", :display_name => changeset_details.user.display_name %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
@ -20,9 +20,9 @@
|
|||
<%= render :partial => "tag_details", :object => changeset_details %>
|
||||
|
||||
<tr>
|
||||
<th>Bounding box:</th>
|
||||
<th><%= t 'browse.changeset_details.bounding_box' %></th>
|
||||
<% unless changeset_details.has_valid_bbox? %>
|
||||
<td>No bounding box has been stored for this changeset.</td>
|
||||
<td><%= t 'browse.changeset_details.no_bounding_box' %></td>
|
||||
<% else
|
||||
minlon = changeset_details.min_lon/GeoRecord::SCALE.to_f
|
||||
minlat = changeset_details.min_lat/GeoRecord::SCALE.to_f
|
||||
|
@ -36,7 +36,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><%=minlon -%></td>
|
||||
<td>(<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='show area box'>box</a>)</td>
|
||||
<td>(<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t 'browse.changeset_details.show_area_box' %>'><%= t 'browse.changeset_details.box' %></a>)</td>
|
||||
<td><%=maxlon -%></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -49,7 +49,7 @@
|
|||
|
||||
<% unless @nodes.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Has the following <%= @node_pages.item_count %> nodes:</th>
|
||||
<th><%= t 'browse.changeset_details.has_nodes', :node_count => @node_pages.item_count %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<% @nodes.each do |node| %>
|
||||
|
@ -63,7 +63,7 @@
|
|||
|
||||
<% unless @ways.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Has the following <%= @way_pages.item_count %> ways:</th>
|
||||
<th><%= t 'browse.changeset_details.has_ways', :way_count => @way_pages.item_count %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<% @ways.each do |way| %>
|
||||
|
@ -80,7 +80,7 @@
|
|||
|
||||
<% unless @relations.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Has the following <%= @relation_pages.item_count %> relations:</th>
|
||||
<th><%= t 'browse.changeset_details.has_relations', :relation_count => @relation_pages.item_count %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<% @relations.each do |relation| %>
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
<tr>
|
||||
<th>Edited at:</th>
|
||||
<td><%= h(common_details.timestamp) %></td>
|
||||
<th><%= t 'browse.common_details.edited_at' %></th>
|
||||
<td><%= l common_details.timestamp %></td>
|
||||
</tr>
|
||||
|
||||
<% if common_details.changeset.user.data_public? %>
|
||||
<tr>
|
||||
<th>Edited by:</th>
|
||||
<th><%= t 'browse.common_details.edited_by' %></th>
|
||||
<td><%= link_to h(common_details.changeset.user.display_name), :controller => "user", :action => "view", :display_name => common_details.changeset.user.display_name %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
<tr>
|
||||
<th>Version:</th>
|
||||
<th><%= t 'browse.common_details.version' %></th>
|
||||
<td><%= h(common_details.version) %></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>In changeset:</th>
|
||||
<th><%= t 'browse.common_details.in_changeset' %></th>
|
||||
<td><%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %></td>
|
||||
</tr>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<tr>
|
||||
<td>
|
||||
<%= link_to "Relation " + h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s %>
|
||||
<%= link_to t('browse.containing_relation.relation', :relation_name => h(printable_name(containing_relation.relation))), :action => "relation", :id => containing_relation.relation.id.to_s %>
|
||||
<% unless containing_relation.member_role.blank? %>
|
||||
(as <%= h(containing_relation.member_role) %>)
|
||||
<%= t 'browse.containing_relation.relation_as', :relation_role => h(containing_relation.member_role) %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
<% if map.instance_of? Changeset or map.visible %>
|
||||
<div id="small_map" style="width:250px; height: 300px; border: solid 1px black">
|
||||
</div>
|
||||
<span id="loading">Loading...</span>
|
||||
<span id="loading"><%= t 'browse.map.loading' %></span>
|
||||
<a id="larger_map" href=""></a>
|
||||
<% else %>
|
||||
Deleted
|
||||
<%= t 'browse.map.deleted' %>
|
||||
<% end %>
|
||||
</td>
|
||||
<script type="text/javascript">
|
||||
|
@ -30,7 +30,7 @@
|
|||
$("loading").innerHTML = "";
|
||||
|
||||
$("larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes';
|
||||
$("larger_map").innerHTML = "View Larger Map";
|
||||
$("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>";
|
||||
<% else %>
|
||||
var obj_type = "<%= map.class.name.downcase %>";
|
||||
var obj_id = <%= map.id %>;
|
||||
|
@ -63,7 +63,7 @@
|
|||
|
||||
var center = getMapCenter();
|
||||
$("larger_map").href = '/?lat='+center.lat+'&lon='+center.lon+'&zoom='+this.map.getZoom();
|
||||
$("larger_map").innerHTML = "View Larger Map";
|
||||
$("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>";
|
||||
} else {
|
||||
$("small_map").style.display = "none";
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
<%= render :partial => "common_details", :object => node_details %>
|
||||
|
||||
<tr>
|
||||
<th>Coordinates:</th>
|
||||
<td><div class="geo"><a href="/?lat=<%= h(node_details.lat) %>&lon=<%= h(node_details.lon) %>&zoom=18"><span class="latitude"><%= h(node_details.lat) %></span>, <span class="longitude"><%= h(node_details.lon) %></span></a></div></td>
|
||||
<th><%= t 'browse.node_details.coordinates' %></th>
|
||||
<td><div class="geo"><%= link_to ("<span class='latitude'>#{number_with_delimiter(node_details.lat)}</span>, <span class='longitude'>#{number_with_delimiter(node_details.lon)}</span>"), {:controller => 'site', :action => 'index', :lat => h(node_details.lat), :lon => h(node_details.lon), :zoom => "18"} %></div></td>
|
||||
</tr>
|
||||
|
||||
<% unless node_details.ways.empty? and node_details.containing_relation_members.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Part of:</th>
|
||||
<th><%= t 'browse.node_details.part_of' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<% node_details.ways.each do |way| %>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<tr><td colspan='2'>
|
||||
<% current_page = pages.current_page %>
|
||||
|
||||
Showing page
|
||||
<%= t'browse.paging_nav.showing_page' %>
|
||||
<%= current_page.number %> (<%= current_page.first_item %><%
|
||||
if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
|
||||
%>-<%= current_page.last_item %><%
|
||||
end %>
|
||||
of <%= pages.item_count %>)
|
||||
<%= t'browse.paging_nav.of'%> <%= pages.item_count %>)
|
||||
|
||||
<% if pages.page_count > 1 %>
|
||||
| <%= pagination_links_each(pages, {}) { |n| link_to_page(n, page_param) } %>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<% unless relation_details.relation_members.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Members:</th>
|
||||
<th><%= t'browse.relation_details.members' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<%= render :partial => "relation_member", :collection => relation_details.relation_members %>
|
||||
|
@ -15,7 +15,7 @@
|
|||
|
||||
<% unless relation_details.containing_relation_members.empty? %>
|
||||
<tr>
|
||||
<th>Part of:</th>
|
||||
<th><%= t'browse.relation_details.part_of' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<%= render :partial => "containing_relation", :collection => relation_details.containing_relation_members %>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<%= relation_member.member_type.capitalize %>
|
||||
<%= link_to h(printable_name(relation_member.member)), :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s %>
|
||||
<% unless relation_member.member_role.blank? %>
|
||||
as
|
||||
<%= t'browse.relation_member.as' %>
|
||||
<%= h(relation_member.member_role) %>
|
||||
<% end %>
|
||||
</td>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div>
|
||||
<div style="text-align: center">
|
||||
<p style="margin-top: 10px; margin-bottom: 20px">
|
||||
<a id="browse_select_view" href="#">View data for current map view</a>
|
||||
<a id="browse_select_view" href="#"><%= t'browse.start.view_data' %></a>
|
||||
<br />
|
||||
<a id="browse_select_box" href="#">Manually select a different area</a>
|
||||
<a id="browse_select_box" href="#"><%= t'browse.start.manually_select' %></a>
|
||||
</p>
|
||||
</div>
|
||||
<div id="browse_status" style="text-align: center; display: none">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<% unless tag_details.tags.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Tags:</th>
|
||||
<th><%= t'browse.tag_details.tags' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<%= render :partial => "tag", :collection => tag_details.tags.sort %>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<%= render :partial => "common_details", :object => way_details %>
|
||||
|
||||
<tr valign="top">
|
||||
<th>Nodes:</th>
|
||||
<th><%= t'browse.way_details.nodes' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<% way_details.way_nodes.each do |wn| %>
|
||||
|
@ -20,7 +20,7 @@
|
|||
|
||||
<% unless way_details.containing_relation_members.empty? %>
|
||||
<tr valign="top">
|
||||
<th>Part of:</th>
|
||||
<th><%= t'browse.way_details.part_of' %></th>
|
||||
<td>
|
||||
<table cellpadding="0">
|
||||
<%= render :partial => "containing_relation", :collection => way_details.containing_relation_members %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Changeset: <%= h(@changeset.id) %></h2>
|
||||
<h2><%= t 'browse.changeset.changeset' %> <%= h(@changeset.id) %></h2>
|
||||
</td>
|
||||
<td>
|
||||
<%= render :partial => "navigation" %>
|
||||
|
@ -11,10 +11,8 @@
|
|||
<td>
|
||||
<%= render :partial => "changeset_details", :object => @changeset %>
|
||||
<hr />
|
||||
Download
|
||||
<%= link_to "Changeset XML", :controller => "changeset", :action => "read" %>
|
||||
or
|
||||
<%= link_to "osmChange XML", :controller => "changeset", :action => "download" %>
|
||||
<%= t 'browse.changeset.download', :changeset_xml_link => link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read"),
|
||||
:osmchange_xml_link => link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %>
|
||||
</td>
|
||||
<% if @changeset.has_valid_bbox? %>
|
||||
<%= render :partial => "map", :object => @changeset %>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<%
|
||||
@name = printable_name @node
|
||||
@title = 'Node | ' + @name
|
||||
@title = t('browse.node.node') + ' | ' + @name
|
||||
%>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Node: <%= h(@name) %></h2>
|
||||
<h2><%= t'browse.node.node_title', :node_name => h(@name) %></h2>
|
||||
</td>
|
||||
<td>
|
||||
<%= render :partial => "navigation" %>
|
||||
|
@ -15,9 +15,8 @@
|
|||
<td>
|
||||
<%= render :partial => "node_details", :object => @node %>
|
||||
<hr />
|
||||
<%= link_to "Download XML", :controller => "node", :action => "read" %>
|
||||
or
|
||||
<%= link_to "view history", :action => "node_history" %>
|
||||
<%= t'browse.node.download', :download_xml_link => link_to(t('browse.node.download_xml'), :controller => "node", :action => "read"),
|
||||
:view_history_link => link_to(t('browse.node.view_history'), :action => "node_history") %>
|
||||
</td>
|
||||
<%= render :partial => "map", :object => @node %>
|
||||
</tr>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<%
|
||||
@name = printable_name @node
|
||||
@title = 'Node History | ' + @name
|
||||
@title = t('browse.node_history.node_history') + ' | ' + @name
|
||||
%>
|
||||
<h2>Node History: <%= h(@name) %></h2>
|
||||
|
||||
|
@ -11,9 +11,8 @@
|
|||
<%= render :partial => "node_details", :object => node %>
|
||||
<hr />
|
||||
<% end %>
|
||||
<%= link_to "Download XML", :controller => "old_node", :action => "history" %>
|
||||
or
|
||||
<%= link_to "view details", :action => "node" %>
|
||||
<%= t 'browse.node_history.download', :download_xml_link => link_to(t('browse.node_history.download_xml'), :controller => "old_node", :action => "history"),
|
||||
:view_details_link => link_to(t('browse.node_history.view_details'), :action => "node") %>
|
||||
</td>
|
||||
<%= render :partial => "map", :object => @node %>
|
||||
</tr>
|
||||
|
|
|
@ -1 +1 @@
|
|||
<p>Sorry, the <%= @type -%> with the id <%= params[:id] -%>, could not be found.</p>
|
||||
<p><%= t'browse.not_found.sorry', :type=> @type , :id => params[:id] %></p>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<%
|
||||
@name = printable_name @relation
|
||||
@title = 'Relation | ' + @name
|
||||
@title = t('browse.relation.relation') + ' | ' + @name
|
||||
%>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Relation: <%= h(@name) %></h2>
|
||||
<h2><%= t'browse.relation.relation_title', :relation_name => h(@name) %></h2>
|
||||
</td>
|
||||
<td>
|
||||
<%= render :partial => "navigation" %>
|
||||
|
@ -15,9 +15,8 @@
|
|||
<td>
|
||||
<%= render :partial => "relation_details", :object => @relation %>
|
||||
<hr />
|
||||
<%= link_to "Download XML", :controller => "relation", :action => "read" %>
|
||||
or
|
||||
<%= link_to "view history", :action => "relation_history" %>
|
||||
<%= t'browse.relation.download', :download_xml_link => link_to(t('browse.relation.download_xml'), :controller => "relation", :action => "read"),
|
||||
:view_history_link => link_to(t('browse.relation.view_history'), :action => "relation_history") %>
|
||||
</td>
|
||||
<%= render :partial => "map", :object => @relation %>
|
||||
</tr>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<%
|
||||
@name = printable_name @relation
|
||||
@title = 'Relation History | ' + @name
|
||||
@title = t('browse.relation_history.relation_history') + ' | ' + @name
|
||||
%>
|
||||
<h2>Relation History: <%= h(@name) %></h2>
|
||||
<h2><%= t'browse.relation_history.relation_history_title', :relation_name => h(@name) %></h2>
|
||||
|
||||
<table width="100%">
|
||||
<tr valign="top">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
page.replace_html :sidebar_title, 'Data'
|
||||
page.replace_html :sidebar_title, t('browse.start_rjs.data_frame_title')
|
||||
page.replace_html :sidebar_content, :partial => 'start'
|
||||
page << <<EOJ
|
||||
var browseBoxControl;
|
||||
|
@ -41,7 +41,7 @@ page << <<EOJ
|
|||
if (map.getZoom() >= 15) {
|
||||
useMap();
|
||||
} else {
|
||||
setStatus("Zoom in or select an area of the map to view");
|
||||
setStatus("#{I18n.t('browse.start_rjs.zoom_or_select')}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -76,7 +76,7 @@ page << <<EOJ
|
|||
}
|
||||
|
||||
function startDrag() {
|
||||
$("browse_select_box").innerHTML='Drag a box on the map to select an area';
|
||||
$("browse_select_box").innerHTML='#{I18n.t('browse.start_rjs.drag_a_box')}';
|
||||
|
||||
browseBoxControl.activate();
|
||||
|
||||
|
@ -121,7 +121,7 @@ page << <<EOJ
|
|||
|
||||
browseMode = "manual";
|
||||
|
||||
$("browse_select_box").innerHTML = "Manually select a different area";
|
||||
$("browse_select_box").innerHTML = "#{I18n.t('browse.start_rjs.manually_select')}";
|
||||
$("browse_select_view").style.display = "inline";
|
||||
}
|
||||
|
||||
|
@ -131,12 +131,12 @@ page << <<EOJ
|
|||
var div = document.createElement("div");
|
||||
|
||||
var p = document.createElement("p");
|
||||
p.appendChild(document.createTextNode("You have loaded an area which contains " + browseFeatureList.length + " features. In general, some browsers may not cope well with displaying this quantity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below."));
|
||||
p.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.loaded_an_area')} " + browseFeatureList.length + " #{I18n.t('browse.start_rjs.browsers')}"));
|
||||
div.appendChild(p);
|
||||
|
||||
var input = document.createElement("input");
|
||||
input.type = "submit";
|
||||
input.value = "Load Data";
|
||||
input.value = "#{I18n.t('browse.start_rjs.load_data')}";
|
||||
input.onclick = loadFeatureList;
|
||||
div.appendChild(input);
|
||||
|
||||
|
@ -187,14 +187,14 @@ page << <<EOJ
|
|||
var size = projected.getWidth() * projected.getHeight();
|
||||
|
||||
if (size > 0.25) {
|
||||
setStatus("Unable to load: Bounding box size of " + size + " is too large (must be smaller than 0.25)");
|
||||
setStatus("#{I18n.t('browse.start_rjs.unable_to_load')} " + size + " #{I18n.t('must_be_smaller')}");
|
||||
} else {
|
||||
loadGML("/api/#{API_VERSION}/map?bbox=" + projected.toBBOX());
|
||||
}
|
||||
}
|
||||
|
||||
function loadGML(url) {
|
||||
setStatus("Loading...");
|
||||
setStatus("#{I18n.t('browse.start_rjs.loading')}");
|
||||
$("browse_content").innerHTML = "";
|
||||
|
||||
if (!browseDataLayer) {
|
||||
|
@ -381,7 +381,7 @@ page << <<EOJ
|
|||
|
||||
var link = document.createElement("a");
|
||||
link.href = "/browse/" + type + "/" + feature.osm_id + "/history";
|
||||
link.appendChild(document.createTextNode("Show history"));
|
||||
link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.show_history')}"));
|
||||
link.onclick = OpenLayers.Function.bind(loadHistory, {
|
||||
type: type, feature: feature, link: link
|
||||
});
|
||||
|
@ -394,7 +394,7 @@ page << <<EOJ
|
|||
|
||||
function loadHistory() {
|
||||
this.link.href = "";
|
||||
this.link.innerHTML = "Wait...";
|
||||
this.link.innerHTML = "#{I18n.t('browse.start_rjs.wait')}";
|
||||
|
||||
new Ajax.Request("/api/#{API_VERSION}/" + this.type + "/" + this.feature.osm_id + "/history", {
|
||||
onComplete: OpenLayers.Function.bind(displayHistory, this)
|
||||
|
@ -421,7 +421,7 @@ page << <<EOJ
|
|||
table.appendChild(tr);
|
||||
|
||||
var heading = document.createElement("td");
|
||||
heading.appendChild(document.createTextNode("History for " + featureName(this.feature)));
|
||||
heading.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.history_for')} " + featureName(this.feature)));
|
||||
tr.appendChild(heading);
|
||||
|
||||
var td = document.createElement("td");
|
||||
|
@ -430,7 +430,7 @@ page << <<EOJ
|
|||
|
||||
var link = document.createElement("a");
|
||||
link.href = "/browse/" + this.type + "/" + this.feature.osm_id + "/history";
|
||||
link.appendChild(document.createTextNode("Details"));
|
||||
link.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.details')}"));
|
||||
td.appendChild(link);
|
||||
|
||||
var div = document.createElement("div");
|
||||
|
@ -439,10 +439,10 @@ page << <<EOJ
|
|||
var nodes = doc.getElementsByTagName(this.type);
|
||||
var history = document.createElement("ul");
|
||||
for (var i = nodes.length - 1; i >= 0; i--) {
|
||||
var user = nodes[i].getAttribute("user") || "private user";
|
||||
var user = nodes[i].getAttribute("user") || "#{I18n.t('browse.start_rjs.private_user')}";
|
||||
var timestamp = nodes[i].getAttribute("timestamp");
|
||||
var item = document.createElement("li");
|
||||
item.appendChild(document.createTextNode("Edited by " + user + " at " + timestamp));
|
||||
item.appendChild(document.createTextNode("#{I18n.t('browse.start_rjs.edited_by')} " + user + " #{I18n.t('browse.start_rjs.at_timestamp')} " + timestamp));
|
||||
history.appendChild(item);
|
||||
}
|
||||
div.appendChild(history);
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<%
|
||||
@name = printable_name @way
|
||||
@title = 'Way | ' + @name
|
||||
@title = t('browse.way.way') + ' | ' + @name
|
||||
%>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Way: <%= h(@name) %></h2>
|
||||
<h2><%= t'browse.way.way_title', :way_name => h(@name) %></h2>
|
||||
</td>
|
||||
<td>
|
||||
<%= render :partial => "navigation" %>
|
||||
|
@ -15,9 +15,8 @@
|
|||
<td>
|
||||
<%= render :partial => "way_details", :object => @way %>
|
||||
<hr />
|
||||
<%= link_to "Download XML", :controller => "way", :action => "read" %>
|
||||
or
|
||||
<%= link_to "view history", :action => "way_history" %>
|
||||
<%= t'browse.way.download', :download_xml_link => link_to(t('browse.way.download_xml'), :controller => "way", :action => "read"),
|
||||
:view_history_link => link_to(t('browse.way.view_history'), :action => "way_history") %>
|
||||
</td>
|
||||
<%= render :partial => "map", :object => @way %>
|
||||
</tr>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<%
|
||||
@name = printable_name @way
|
||||
@title = 'Way History | ' + @name
|
||||
@title = t('browse.way_history.way_history') + ' | ' + @name
|
||||
%>
|
||||
<h2>Way History: <%= h(@name) %></h2>
|
||||
<h2><%= t'browse.way_history.way_history_title', :way_name => h(@name) %></h2>
|
||||
|
||||
<table width="100%">
|
||||
<tr valign="top">
|
||||
|
@ -11,9 +11,8 @@
|
|||
<%= render :partial => "way_details", :object => way %>
|
||||
<hr />
|
||||
<% end %>
|
||||
<%= link_to "Download XML", :controller => "old_way", :action => "history" %>
|
||||
or
|
||||
<%= link_to "view details", :action => "way" %>
|
||||
<%= t'browse.way_history.download', :download_xml_link => link_to(t('browse.way_history.download_xml'), :controller => "old_way", :action => "history"),
|
||||
:view_details_link => link_to(t('browse.way_history.view_details'), :action => "way") %>
|
||||
</td>
|
||||
<%= render :partial => "map", :object => @way %>
|
||||
</tr>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
</td>
|
||||
|
||||
<td class="<%= cl %> date">
|
||||
<% if changeset.closed_at > DateTime.now %> (still editing)
|
||||
<% if changeset.closed_at > DateTime.now %> <%= t'changeset.changeset.still_editing' %>
|
||||
<% else %><%= changeset.closed_at.strftime("%d %b %Y %H:%M") %><% end %>
|
||||
</td>
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
|||
<% if changeset.user.data_public? %>
|
||||
<%= link_to h(changeset.user.display_name), :controller => "changeset", :action => "list_user", :display_name => changeset.user.display_name %>
|
||||
<% else %>
|
||||
<i>Anonymous</i>
|
||||
<i><%= t'changeset.changeset.anonymous' %></i>
|
||||
<% end %>
|
||||
</td>
|
||||
<% end %>
|
||||
|
@ -25,23 +25,23 @@
|
|||
<% if changeset.tags['comment'] %>
|
||||
<%= h(changeset.tags['comment']) %>
|
||||
<% else %>
|
||||
(none)
|
||||
<%= t'changeset.changeset.no_comment' %>
|
||||
<% end %>
|
||||
</td>
|
||||
|
||||
<td class="<%= cl %> area">
|
||||
<% if changeset.min_lat.nil? %>
|
||||
(no edits)
|
||||
<%= t'changeset.changeset.no_edits' %>
|
||||
<% else
|
||||
minlon = changeset.min_lon/GeoRecord::SCALE.to_f
|
||||
minlat = changeset.min_lat/GeoRecord::SCALE.to_f
|
||||
maxlon = changeset.max_lon/GeoRecord::SCALE.to_f
|
||||
maxlat = changeset.max_lat/GeoRecord::SCALE.to_f
|
||||
%>
|
||||
<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='show area box'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>
|
||||
<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.changset.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>
|
||||
<!--<%=changeset.area%>-->
|
||||
<% if changeset.area > 1500000000000 %>
|
||||
(big)
|
||||
<% t'changeset.changeset.big_area' %>
|
||||
<%
|
||||
end
|
||||
end
|
||||
|
@ -49,7 +49,7 @@
|
|||
</td>
|
||||
|
||||
<td class="<%= cl %>">
|
||||
<%= link_to 'more', {:controller => 'browse', :action => 'changeset', :id => changeset.id}, {:title => 'View changeset details'} %>
|
||||
<%= link_to t('changeset.changeset.more'), {:controller => 'browse', :action => 'changeset', :id => changeset.id}, {:title => t('changeset.changeset.view_changeset_details')} %>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<% current_page = @edit_pages.current_page %>
|
||||
|
||||
Showing page
|
||||
<%= t'changeset.changeset_paging_nav.showing_page' %>
|
||||
<%= current_page.number %> (<%= current_page.first_item %><%
|
||||
if (current_page.first_item < current_page.last_item) # if more than 1 changeset on page
|
||||
%>-<%= current_page.last_item %><%
|
||||
end %>
|
||||
of <%= @edit_pages.item_count %>)
|
||||
<%= t'changeset.changeset_paging_nav.of'%> <%= @edit_pages.item_count %>)
|
||||
|
||||
<%
|
||||
if @edit_pages.page_count > 1
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<% showusername = true if showusername.nil? %>
|
||||
<table id="changeset_list" cellpadding="3">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Saved at</th>
|
||||
<th><%= t'changeset.changesets.id' %></th>
|
||||
<th><%= t'changeset.changesets.saved_at' %></th>
|
||||
<% if showusername %>
|
||||
<th>User</th>
|
||||
<th><%= t'changeset.changesets.user' %></th>
|
||||
<% end %>
|
||||
<th>Comment</th>
|
||||
<th>Area</th>
|
||||
<th><%= t'changeset.changesets.comment' %></th>
|
||||
<th><%= t'changeset.changesets.area' %></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<%= render :partial => 'changeset', :locals => {:showusername => showusername}, :collection => @edits unless @edits.nil? %>
|
||||
</table>
|
||||
</table>
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
<h1>Recent Changes</h1>
|
||||
<p>Recently edited changesets:</p>
|
||||
<h1><%= t'changeset.list.recent_changes' %></h1>
|
||||
<p><%= t'changeset.list.recently_edited_changesets' %></p>
|
||||
|
||||
<%= render :partial => 'changesets' %>
|
||||
|
||||
<p>
|
||||
For more changesets, select a user and view their edits, or see the editing 'history' of a specific area.
|
||||
</p>
|
||||
<p><%= t'changeset.list.for_more_changesets' %></p>
|
||||
<br>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<h1>History</h1>
|
||||
<h1><%= t'changeset.list_bbox.history' %></h1>
|
||||
<%
|
||||
if @bbox!=nil
|
||||
minlon = @bbox[0]
|
||||
|
@ -8,20 +8,20 @@ if @bbox!=nil
|
|||
|
||||
%>
|
||||
<p>
|
||||
Changesets within the area:
|
||||
(<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='show area box'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>)
|
||||
<%= t'changeset.list_bbox.changesets_within_the_area' %>
|
||||
(<a href='/?minlon=<%= minlon %>&minlat=<%= minlat %>&maxlon=<%= maxlon %>&maxlat=<%= maxlat %>&box=yes' title='<%= t'changeset.list_bbox.show_area_box' %>'><%= format("%0.3f",minlon) -%>,<%= format("%0.3f",minlat) -%>,<%= format("%0.3f",maxlon) -%>,<%= format("%0.3f",maxlat) -%></a>)
|
||||
|
||||
</p>
|
||||
|
||||
<% if @edits.nil? or @edits.empty? %>
|
||||
<p><b>No changesets</b></p>
|
||||
<p><b><%= t'changeset.list_bbox.no_changesets' %></b></p>
|
||||
<% else %>
|
||||
|
||||
<%= render :partial => 'changeset_paging_nav' %>
|
||||
<%= render :partial => 'changesets' %>
|
||||
<%= render :partial => 'changeset_paging_nav' %>
|
||||
|
||||
<p>For all changes everywhere see <%= link_to("Recent Changes", :controller => "browse", :action => "changesets") %> </p>
|
||||
<p><%= t'changeset.list_bbox.all_changes_everywhere' , :recent_changes_link => link_to(t('changest.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %> </p>
|
||||
|
||||
<%
|
||||
end
|
||||
|
@ -30,9 +30,9 @@ else
|
|||
#bbox is nil. happens if the user surfs to this page directly.
|
||||
%>
|
||||
|
||||
<p>No area specified</p>
|
||||
<p>First use the <a href="/" title="view the map">view tab</a> to pan and zoom to an area of interest, then click the history tab.</p>
|
||||
<p>Alternatively view all <%= link_to("recent changes", :controller => "browse", :action => "changesets") %> </p>
|
||||
<p><%= t'changeset.list_bbox.no_area_specified' %></p>
|
||||
<p><%= t'changeset.list_bbox.first_use_view', :view_tab_link => '<a href="/" title="' + t('changeset.list_bbox.view_the_map') + '">' + t('changeset.list_bbox.view_tab') + '</a>' %></p>
|
||||
<p><%= t'changeset.list_bbox.alternatively_view', :recent_changes_link => link_to(t('changeset.list_bbox.recent_changes'), :controller => "browse", :action => "changesets") %></p>
|
||||
|
||||
<%
|
||||
end
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<h1>Edits by <%= link_to(h(@display_name), {:controller=>'user', :action=>'view', :display_name=>@display_name}) %></h1>
|
||||
<h1><%= t'changeset.list_user.edits_by_username', :username_link => link_to(h(@display_name), {:controller=>'user', :action=>'view', :display_name=>@display_name}) %></h1>
|
||||
|
||||
<% if not @edits or @edits.empty? %>
|
||||
<p><b>No visible edits by <%= h(@display_name) %>.</b></p>
|
||||
<p><b><%= t'changeset.list_user.no_visible_edits_by', :name => h(@display_name) %>.</b></p>
|
||||
<% else %>
|
||||
<%= render :partial => 'changeset_paging_nav' %>
|
||||
<%= render :partial => 'changesets', :locals => {:showusername => false} %>
|
||||
<%= render :partial => 'changeset_paging_nav' %>
|
||||
<% end %>
|
||||
|
||||
<p>For changes by all users see <%= link_to("Recent Changes", :controller => "browse", :action => "changesets") %> </p>
|
||||
<p><%= t'changeset.list_user.for_all_changes', :recent_changes_link => link_to(t('changeset.list_user.recent_changes'), :controller => "browse", :action => "changesets") %></p>
|
||||
<br>
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<h4 id="comment<%= diary_comment.id %>">Comment from <%= link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name %> at <%= diary_comment.created_at %></h4>
|
||||
<h4 id="comment<%= diary_comment.id %>"><%= t('diary_entry.comment_from', :link_user => (link_to h(diary_comment.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_comment.user.display_name), :comment_created_at => l(diary_comment.created_at)) %></h4>
|
||||
<%= htmlize(diary_comment.body) %>
|
||||
<hr />
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
<b><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></b><br />
|
||||
<%= htmlize(diary_entry.body) %>
|
||||
<% if diary_entry.latitude and diary_entry.longitude %>
|
||||
Coordinates: <div class="geo" style="display: inline"><span class="latitude"><%= diary_entry.latitude %></span>; <span class="longitude"><%= diary_entry.longitude %></span></div> (<%=link_to 'map', :controller => 'site', :action => 'index', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %> / <%=link_to 'edit', :controller => 'site', :action => 'edit', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %>)<br/>
|
||||
<%= t 'map.coordinates' %> <div class="geo" style="display: inline"><span class="latitude"><%= diary_entry.latitude %></span>; <span class="longitude"><%= diary_entry.longitude %></span></div> (<%=link_to (t 'map.view'), :controller => 'site', :action => 'index', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %> / <%=link_to (t 'map.edit'), :controller => 'site', :action => 'edit', :lat => diary_entry.latitude, :lon => diary_entry.longitude, :zoom => 14 %>)<br/>
|
||||
<% end %>
|
||||
Posted by <b><%= link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name %></b> at <%= diary_entry.created_at %>
|
||||
<%= t 'diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), :controller => 'user', :action => 'view', :display_name => diary_entry.user.display_name), :created => l(diary_entry.created_at), :language => diary_entry.language.name %>
|
||||
<% if params[:action] == 'list' %>
|
||||
<br />
|
||||
<%= link_to 'Comment on this entry', :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %>
|
||||
<%= link_to t('diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %>
|
||||
|
|
||||
<%= link_to 'Reply to this entry', :controller => 'message', :action => 'new', :user_id => diary_entry.user.id, :title => "Re: #{diary_entry.title}" %>
|
||||
<%= link_to t('diary_entry.reply_link'), :controller => 'message', :action => 'new', :user_id => diary_entry.user.id, :title => "Re: #{diary_entry.title}" %>
|
||||
|
|
||||
<%= link_to pluralize(diary_entry.diary_comments.count, "comment"), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %>
|
||||
<%= link_to t('diary_entry.comment_count', :count => diary_entry.diary_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %>
|
||||
<% end %>
|
||||
<% if @user == diary_entry.user %>
|
||||
| <%= link_to 'Edit this entry', :action => 'edit', :display_name => @user.display_name, :id => diary_entry.id %>
|
||||
| <%= link_to t('diary_entry.edit_link'), :action => 'edit', :display_name => @user.display_name, :id => diary_entry.id %>
|
||||
<% end %>
|
||||
<br />
|
||||
<hr />
|
||||
|
|
|
@ -5,26 +5,30 @@
|
|||
<% form_for :diary_entry do |f| %>
|
||||
<table>
|
||||
<tr valign="top">
|
||||
<td class="fieldName">Subject:</td>
|
||||
<td class="fieldName"><%= t 'diary_entry.edit.subject' -%></td>
|
||||
<td><%= f.text_field :title, :size => 60 %></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td class="fieldName">Body:</td>
|
||||
<td class="fieldName"><%= t 'diary_entry.edit.body' -%></td>
|
||||
<td><%= f.text_area :body, :cols => 80 %></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td class="fieldName">Location:</td>
|
||||
<td class="fieldName"><%= t 'diary_entry.edit.language' -%></td>
|
||||
<td><%= f.collection_select :language_code, Language.find(:all, :order => :english_name), :code, :name %></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td class="fieldName"><%= t 'diary_entry.edit.location' -%></td>
|
||||
<td>
|
||||
<div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px; display: none;"></div>
|
||||
<span class="location">Latitude: <%= f.text_field :latitude, :size => 20, :id => "latitude" %> Longitude: <%= f.text_field :longitude, :size => 20, :id => "longitude" %></span>
|
||||
<a href="javascript:openMap()" id="usemap">use map</a>
|
||||
<span class="location"><%= t 'diary_entry.edit.latitude' -%> <%= f.text_field :latitude, :size => 20, :id => "latitude" %> <%= t 'diary_entry.edit.longitude' -%> <%= f.text_field :longitude, :size => 20, :id => "longitude" %></span>
|
||||
<a href="javascript:openMap()" id="usemap"><%= t 'diary_entry.edit.use_map_link' -%></a>
|
||||
<br/><br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<%= submit_tag 'Save' %>
|
||||
<%= submit_tag t('diary_entry.edit.save_button') %>
|
||||
<%# TODO: button should say 'publish' or 'save changes' depending on new/edit state %>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -72,7 +76,7 @@
|
|||
removeMarkerFromMap(marker);
|
||||
}
|
||||
|
||||
marker = addMarkerToMap(lonlat, null, "Diary entry location");
|
||||
marker = addMarkerToMap(lonlat, null, "<%= t 'diary_entry.edit.marker_text' -%>");
|
||||
}
|
||||
|
||||
function openMap() {
|
||||
|
|
|
@ -7,27 +7,27 @@
|
|||
|
||||
<% if @this_user %>
|
||||
<% if @user == @this_user %>
|
||||
<%= link_to image_tag("new.png", :border=>0) + 'New diary entry', {:controller => 'diary_entry', :action => 'new', :display_name => @user.display_name}, {:title => 'Compose a new entry in your user diary'} %>
|
||||
<%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new', :display_name => @user.display_name}, {:title => t('diary_entry.list.new_title')} %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% if @user %>
|
||||
<%= link_to image_tag("new.png", :border=>0) + 'New diary entry', {:controller => 'diary_entry', :action => 'new', :display_name => @user.display_name}, {:title => 'Compose a new entry in your user diary'} %>
|
||||
<%= link_to image_tag("new.png", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new', :display_name => @user.display_name}, {:title => t('diary_entry.list.new_title')} %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% if @entries.empty? %>
|
||||
<p>No diary entries</p>
|
||||
<p><%= t 'diary_entry.list.no_entries' %></p>
|
||||
<% else %>
|
||||
<p>Recent diary entries:</p>
|
||||
<p><%= t 'diary_entry.list.recent_entries' %></p>
|
||||
|
||||
<hr />
|
||||
|
||||
<%= render :partial => 'diary_entry', :collection => @entries %>
|
||||
|
||||
<%= link_to "Older Entries", { :page => @entry_pages.current.next } if @entry_pages.current.next %>
|
||||
<%= link_to t('diary_entry.list.older_entries'), { :page => @entry_pages.current.next } if @entry_pages.current.next %>
|
||||
<% if @entry_pages.current.next and @entry_pages.current.previous %>|<% end %>
|
||||
<%= link_to "Newer Entries", { :page => @entry_pages.current.previous } if @entry_pages.current.previous %>
|
||||
<%= link_to t('diary_entry.list.newer_entries'), { :page => @entry_pages.current.previous } if @entry_pages.current.previous %>
|
||||
|
||||
<br />
|
||||
<% end %>
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<h2>No entry with the id: <%= h(params[:id]) %></h2>
|
||||
<p>Sorry, there is no diary entry or comment with the id <%=h params[:id] -%>, or no id was given. Please check your spelling, or maybe the link you clicked is wrong.</p>
|
||||
<h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
|
||||
<p><%= t 'diary_entry.no_such_entry.body', :id => h(params[:id]) %></p>
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<h2><%= h(@not_found_user) %></h2>
|
||||
<p>Sorry, there is no user with the name <%= @not_found_user -%>. Please check your spelling, or maybe the link you clicked is wrong.</p>
|
||||
<p><%= t 'diary_entry.no_such_user.body', :user => @not_found_user %></p>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<% form_tag :action => "finish" do %>
|
||||
|
||||
<p class="export_heading">Area to Export</p>
|
||||
<p class="export_heading"><%= t'export.start.area_to_export' %></p>
|
||||
|
||||
<div class="export_bounds">
|
||||
<%= text_field_tag('maxlat', nil, :size => 10, :class => "export_bound") %>
|
||||
|
@ -10,70 +10,70 @@
|
|||
<br/>
|
||||
<%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
|
||||
<p class="export_hint">
|
||||
<a id='drag_box' href="#" onclick="return startBox();">Manually select a different area</a>
|
||||
<a id='drag_box' href="#" onclick="return startBox();"><%= t'export.start.manually_select' %></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p class="export_heading">Format to Export</p>
|
||||
<p class="export_heading"><%= t'export.start.format_to_export' %></p>
|
||||
|
||||
<div class="export_details">
|
||||
<p>
|
||||
<%= radio_button_tag("format", "osm") %> OpenStreetMap XML Data
|
||||
<%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %>
|
||||
<br/>
|
||||
<%= radio_button_tag("format", "mapnik") %> Mapnik Image
|
||||
<%= radio_button_tag("format", "mapnik") %> <%= t'export.start.mapnik_image' %>
|
||||
<br/>
|
||||
<%= radio_button_tag("format", "osmarender") %> Osmarender Image
|
||||
<%= radio_button_tag("format", "osmarender") %> <%= t'export.start.osmarender_image' %>
|
||||
<br/>
|
||||
<%= radio_button_tag("format", "html") %> Embeddable HTML
|
||||
<%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="export_osm">
|
||||
<p class="export_heading">Licence</p>
|
||||
<p class="export_heading"><%= t'export.start.licence' %></p>
|
||||
|
||||
<div class="export_details">
|
||||
<p>OpenStreetMap data is licensed under the <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0 license</a>.</p>
|
||||
<p><%= t'export.start.export_details' %></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="export_mapnik">
|
||||
<p class="export_heading">Options</p>
|
||||
<p class="export_heading"><%= t'export.start.options' %></p>
|
||||
|
||||
<div class="export_details">
|
||||
<p>Format <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"], ["Postscript", "ps"]], "png")) %></p>
|
||||
<p>Scale 1 : <%= text_field_tag("mapnik_scale", nil, :size => 8) %> <span class="export_hint">(max 1 : <span id="mapnik_max_scale"></span>)</span></p>
|
||||
<p>Image Size <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></p>
|
||||
<p><%= t'export.start.format' %> <%= select_tag("mapnik_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"], ["SVG", "svg"], ["PDF", "pdf"], ["Postscript", "ps"]], "png")) %></p>
|
||||
<p><%= t'export.start.scale' %> 1 : <%= text_field_tag("mapnik_scale", nil, :size => 8) %> <span class="export_hint">(<%= t'export.start.max' %> 1 : <span id="mapnik_max_scale"></span>)</span></p>
|
||||
<p><%= t'export.start.image_size' %> <span id="mapnik_image_width"></span> x <span id="mapnik_image_height"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="export_osmarender">
|
||||
<p class="export_heading">Options</p>
|
||||
<p class="export_heading"><%= t'export.start.options' %></p>
|
||||
|
||||
<div class="export_details">
|
||||
<p>Format <%= select_tag("osmarender_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"]], "png")) %></p>
|
||||
<p>Zoom <%= select_tag("osmarender_zoom", options_for_select([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17])) %></p>
|
||||
<p><%= t'export.start.format' %> <%= select_tag("osmarender_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"]], "png")) %></p>
|
||||
<p><%= t'export.start.zoom' %> <%= select_tag("osmarender_zoom", options_for_select([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17])) %></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="export_html">
|
||||
<p class="export_heading">Options</p>
|
||||
<p class="export_heading"><%= t'export.start.options' %></p>
|
||||
<div class="export_details">
|
||||
<p><a id="add_marker" href="#">Add a marker to the map</a></p>
|
||||
<p><a id="add_marker" href="#"><%= t'export.start.add_marker' %></a></p>
|
||||
<p id="marker_inputs" style="display:none">
|
||||
Lat: <input type="text" id="marker_lat" size="9" />
|
||||
Lon: <input type="text" id="marker_lon" size="9" />
|
||||
<%= t'export.start.latitude' %> <input type="text" id="marker_lat" size="9" />
|
||||
<%= t'export.start.longitude' %> <input type="text" id="marker_lon" size="9" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p class="export_heading">Output</p>
|
||||
<p class="export_heading"><%= t'export.start.output' %></p>
|
||||
<div class="export_details">
|
||||
<p><input type="text" id="export_html_text" style="width:95%" /></p>
|
||||
<p>Paste HTML to embed in website</p>
|
||||
<p><%= t'export.start.paste_html' %></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="export_buttons">
|
||||
<p><%= submit_tag "Export", :id => "export_commit" %></p>
|
||||
<p><%= submit_tag t('export.start.export_button'), :id => "export_commit" %></p>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
page.replace_html :sidebar_title, 'Export'
|
||||
page.replace_html :sidebar_title, t('export.start_rjs.export')
|
||||
page.replace_html :sidebar_content, :partial => 'start'
|
||||
page << <<EOJ
|
||||
var vectors;
|
||||
|
@ -77,7 +77,7 @@ page << <<EOJ
|
|||
$("minlat").onchange = boundsChanged;
|
||||
|
||||
function startDrag() {
|
||||
$("drag_box").innerHTML='Drag a box on the map to select an area';
|
||||
$("drag_box").innerHTML='#{I18n.t('export.start_rjs.drag_a_box')}';
|
||||
|
||||
clearBox();
|
||||
box.activate();
|
||||
|
@ -94,11 +94,11 @@ page << <<EOJ
|
|||
box.deactivate();
|
||||
validateControls();
|
||||
|
||||
$("drag_box").innerHTML = "Manually select a different area";
|
||||
$("drag_box").innerHTML = "#{I18n.t('export.start_rjs.manually_select')}";
|
||||
}
|
||||
|
||||
function startMarker() {
|
||||
$("add_marker").innerHTML='Click on the map to add a marker';
|
||||
$("add_marker").innerHTML='#{I18n.t('export.start_rjs.click_add_marker')}';
|
||||
|
||||
if (!markerLayer) {
|
||||
markerLayer = new OpenLayers.Layer.Vector("",{
|
||||
|
@ -130,7 +130,7 @@ page << <<EOJ
|
|||
function endMarker(event) {
|
||||
markerControl.deactivate();
|
||||
|
||||
$("add_marker").innerHTML = "Change marker position";
|
||||
$("add_marker").innerHTML = "#{I18n.t('export.start_rjs.change_marker')}";
|
||||
$("marker_inputs").style.display = "block";
|
||||
|
||||
var epsg4326 = new OpenLayers.Projection("EPSG:4326");
|
||||
|
@ -147,7 +147,7 @@ page << <<EOJ
|
|||
$("marker_lon").value = "";
|
||||
$("marker_lat").value = "";
|
||||
$("marker_inputs").style.display = "none";
|
||||
$("add_marker").innerHTML = "Add a marker to the map";
|
||||
$("add_marker").innerHTML = "#{I18n.t('export.start_rjs.add_marker')}";
|
||||
|
||||
if (markerLayer) {
|
||||
markerControl.destroy();
|
||||
|
@ -248,7 +248,7 @@ page << <<EOJ
|
|||
|
||||
var layers = getMapLayers();
|
||||
|
||||
html += '<br /><small><a href="http://#{SERVER_URL}/?lat='+center.lat+'&lon='+center.lon+'&zoom='+zoom+'&layers='+layers+markerUrl+'">View Larger Map</a></small>';
|
||||
html += '<br /><small><a href="http://#{SERVER_URL}/?lat='+center.lat+'&lon='+center.lon+'&zoom='+zoom+'&layers='+layers+markerUrl+'">#{I18n.t('export.start_rjs.view_larger_map')}</a></small>';
|
||||
|
||||
$("export_html_text").value = html;
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<% results.each do |source| %>
|
||||
<% type = source[:type] || "Results" %>
|
||||
<p class="search_results_heading"><%= type %> from <%= link_to source[:source], source[:url] %></p>
|
||||
<% type = source[:type] || t('geocoder.results.results') %>
|
||||
<p class="search_results_heading"><%= t'geocoder.results.type_from_source', :type => type, :source_link => link_to(source[:source], source[:url]) %></p>
|
||||
<% if source[:results] %>
|
||||
<% if source[:results].empty? %>
|
||||
<p class="search_results_entry">No results found</p>
|
||||
<p class="search_results_entry"><%= t'geocoder.results.no_results' %></p>
|
||||
<% else %>
|
||||
<% source[:results].each do |result| %>
|
||||
<p class="search_results_entry"><%= result_to_html(result) %></p>
|
||||
|
|
|
@ -22,14 +22,14 @@
|
|||
|
||||
<span id="greeting">
|
||||
<% if @user and @user.id %>
|
||||
Welcome, <%= link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}%> |
|
||||
<%= t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}) %> |
|
||||
<% @inbox_weight = 'bold' if @user.new_messages.size > 0 %>
|
||||
<%= yield :greeting %>
|
||||
<%= link_to "inbox (#{@user.new_messages.size})", {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, {:style => "font-weight: #{@inbox_weight};" } %> |
|
||||
<%= link_to 'logout', {:controller => 'user', :action => 'logout', :referer => request.request_uri}, {:id => 'logoutanchor'}%>
|
||||
<% else %>
|
||||
<%= link_to 'log in', {:controller => 'user', :action => 'login', :referer => request.request_uri}, {:id => 'loginanchor'}%> |
|
||||
<%= link_to 'sign up', {:controller => 'user', :action => 'new'}, {:id => 'registeranchor'} %>
|
||||
<%= link_to t('layouts.inbox', :size => @user.new_messages.size), {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, {:style => "font-weight: #{@inbox_weight};" } %> |
|
||||
<%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :referer => request.request_uri}, {:id => 'logoutanchor'}%>
|
||||
<% else %>
|
||||
<%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.request_uri}, {:id => 'loginanchor'}%> |
|
||||
<%= link_to t('layouts.sign_up'), {:controller => 'user', :action => 'new'}, {:id => 'registeranchor'} %>
|
||||
<% end %>
|
||||
</span>
|
||||
|
||||
|
@ -48,16 +48,16 @@
|
|||
traceclass = 'active' if params['controller'] == 'trace'
|
||||
diaryclass = 'active' if params['controller'] == 'diary_entry'
|
||||
%>
|
||||
<li><%= link_to 'View', {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => 'view maps', :class => viewclass} %></li>
|
||||
<li><%= link_to 'Edit', {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => 'edit maps', :class => editclass} %></li>
|
||||
<li><%= link_to 'History', {:controller => 'changeset', :action => 'list_bbox' }, {:id => 'historyanchor', :title => 'changeset history', :class => historyclass} %></li>
|
||||
<li><%= link_to t('layouts.view'), {:controller => 'site', :action => 'index'}, {:id => 'viewanchor', :title => 'view maps', :class => viewclass} %></li>
|
||||
<li><%= link_to t('layouts.edit'), {:controller => 'site', :action => 'edit'}, {:id => 'editanchor', :title => 'edit maps', :class => editclass} %></li>
|
||||
<li><%= link_to t('layouts.history'), {:controller => 'changeset', :action => 'list_bbox' }, {:id => 'historyanchor', :title => 'changeset history', :class => historyclass} %></li>
|
||||
<% if params['controller'] == 'site' and (params['action'] == 'index' or params['action'] == 'export') %>
|
||||
<li><%= link_to_remote 'Export', {:url => {:controller => 'export', :action => 'start'}}, {:id => 'exportanchor', :title => 'export map data', :class => exportclass, :href => url_for(:controller => 'site', :action => 'export')} %></li>
|
||||
<li><%= link_to_remote t('layouts.export'), {:url => {:controller => 'export', :action => 'start'}}, {:id => 'exportanchor', :title => 'export map data', :class => exportclass, :href => url_for(:controller => 'site', :action => 'export')} %></li>
|
||||
<% else %>
|
||||
<li><%= link_to 'Export', {:controller => 'site', :action => 'export'}, {:id => 'exportanchor', :title => 'export map data', :class => exportclass} %></li>
|
||||
<li><%= link_to t('layouts.export'), {:controller => 'site', :action => 'export'}, {:id => 'exportanchor', :title => 'export map data', :class => exportclass} %></li>
|
||||
<% end %>
|
||||
<li><%= link_to 'GPS Traces', {:controller => 'trace', :action => 'list'}, {:id => 'traceanchor', :title => 'manage traces', :class => traceclass} %></li>
|
||||
<li><%= link_to 'User Diaries', {:controller => 'diary_entry', :action => 'list', :display_name => nil}, {:id => 'diaryanchor', :title => 'view user diaries', :class => diaryclass} %></li>
|
||||
<li><%= link_to t('layouts.gps_traces'), {:controller => 'trace', :action => 'list'}, {:id => 'traceanchor', :title => 'manage traces', :class => traceclass} %></li>
|
||||
<li><%= link_to t('layouts.user_diaries'), {:controller => 'diary_entry', :action => 'list', :display_name => nil}, {:id => 'diaryanchor', :title => 'view user diaries', :class => diaryclass} %></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -67,64 +67,57 @@
|
|||
<center>
|
||||
<h1>OpenStreetMap</h1>
|
||||
<%= link_to(image_tag("osm_logo.png", :size => "120x120", :border => 0), :controller => 'site', :action => 'index') %><br/>
|
||||
<h2 class="nowrap">The Free Wiki World Map</h2>
|
||||
<h2 class="nowrap"><%= t('layouts.tag_line') %></h2>
|
||||
</center>
|
||||
</div>
|
||||
|
||||
<% unless @user %>
|
||||
<div id="intro">
|
||||
<p>
|
||||
OpenStreetMap is a free editable map of the whole world. It
|
||||
is made by people like you.
|
||||
<%= t 'layouts.intro_1' %>
|
||||
</p>
|
||||
<p>
|
||||
OpenStreetMap allows you to view, edit and use geographical
|
||||
data in a collaborative way from anywhere on Earth.
|
||||
<%= t 'layouts.intro_2' %>.
|
||||
</p>
|
||||
<p>
|
||||
OpenStreetMap's hosting is kindly supported by the
|
||||
<a href="http://www.vr.ucl.ac.uk">UCL VR Centre</a> and
|
||||
<a href="http://www.bytemark.co.uk">bytemark</a>.
|
||||
<%= t 'layouts.intro_3',
|
||||
:ucl => '<a href="http://www.vr.ucl.ac.uk">UCL VR Centre</a>',
|
||||
:bytemark => '<a href="http://www.bytemark.co.uk">bytemark</a>' %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% if OSM_STATUS == :database_offline or OSM_STATUS == :api_offline %>
|
||||
<div id="alert">
|
||||
The OpenStreetMap database is currently offline while
|
||||
essential database maintenance work is carried out.
|
||||
<%= t 'layouts.offline' %>
|
||||
</div>
|
||||
<% elsif OSM_STATUS == :database_readonly or OSM_STATUS == :api_readonly %>
|
||||
<div id="alert">
|
||||
The OpenStreetMap database is currently in read-only mode while
|
||||
essential database maintenance work is carried out.
|
||||
</div>
|
||||
<%= t 'layouts.read_only' %>
|
||||
<% end %>
|
||||
|
||||
<% if false %>
|
||||
<div id="donate" class="notice">
|
||||
Support OpenStreetMap by
|
||||
<a href="http://donate.openstreetmap.org/">donating</a>
|
||||
to the Hardware Upgrade Fund.
|
||||
<%= t 'layouts.donate', :link => "<a href=\"http://donate.openstreetmap.org/\">#{t('layouts.donate_link_text')}</a>" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div id="left_menu" class="left_menu">
|
||||
<a href="http://wiki.openstreetmap.org">Help & Wiki</a><br />
|
||||
<a href="http://www.opengeodata.org/">News blog</a><br />
|
||||
<a href="http://wiki.openstreetmap.org/index.php/Merchandise">Shop</a><br />
|
||||
<a href="http://wiki.openstreetmap.org"><%= t 'layouts.help_wiki' %></a><br />
|
||||
<a href="http://www.opengeodata.org/"><%= t 'layouts.news_blog' %></a><br />
|
||||
<a href="http://wiki.openstreetmap.org/index.php/Merchandise"><%= t 'layouts.shop' %></a><br />
|
||||
<%= yield :left_menu %>
|
||||
</div>
|
||||
|
||||
<div id="sotm" class="notice">
|
||||
<%= link_to image_tag("sotm.png", :alt => "State of the Map", :border => "0"), "http://www.stateofthemap.org/" %>
|
||||
<%= link_to image_tag("sotm.png", :alt => t('layouts.sotm'), :title => t('layouts.sotm'), :border => "0"), "http://www.stateofthemap.org/" %>
|
||||
</div>
|
||||
|
||||
<%= yield :optionals %>
|
||||
|
||||
<center>
|
||||
<div class="button" style="width: 115px">
|
||||
<a href="http://donate.openstreetmap.org/"><img src="/images/donate.png" border="0" alt="Make a Donation" /></a>
|
||||
<a href="http://donate.openstreetmap.org/"><img src="/images/donate.png" border="0" alt="<%= t 'layouts.alt_donation' %>" title="<%= t 'layouts.alt_donation' %>" /></a>
|
||||
</div>
|
||||
|
||||
<div id="cclogo" class="button" style="width: 88px">
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
<tr class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
|
||||
<td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(message_summary.sender.display_name), :controller => 'user', :action => message_summary.sender.display_name %></td>
|
||||
<td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id %></td>
|
||||
<td class="inbox-sent" bgcolor="<%= this_colour %>"><%= message_summary.sent_on %></td>
|
||||
<td class="inbox-sent" bgcolor="<%= this_colour %>"><%= l message_summary.sent_on %></td>
|
||||
<% if message_summary.message_read? %>
|
||||
<td><%= button_to 'Mark as unread', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %></td>
|
||||
<td><%= button_to t('message.message_summary.unread_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread' %></td>
|
||||
<% else %>
|
||||
<td><%= button_to 'Mark as read', :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
|
||||
<td><%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
|
||||
<% end %>
|
||||
<td><%= button_to 'Reply', :controller => 'message', :action => 'reply', :message_id => message_summary.id %></td>
|
||||
<td><%= button_to t('message.message_summary.reply_button'), :controller => 'message', :action => 'reply', :message_id => message_summary.id %></td>
|
||||
</tr>
|
||||
|
|
|
@ -4,5 +4,5 @@
|
|||
<tr class="inbox-row">
|
||||
<td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => sent_message_summary.recipient.display_name %></td>
|
||||
<td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id %></td>
|
||||
<td class="inbox-sent" bgcolor="<%= this_colour %>"><%= sent_message_summary.sent_on %></td>
|
||||
<td class="inbox-sent" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
|
||||
</tr>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<h2>My inbox/<%= link_to "outbox", url_for(:controller => "user", :action => "outbox", :id => @user.display_name) %></h2>
|
||||
<h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), url_for(:controller => "user", :action => "outbox", :id => @user.display_name) %></h2>
|
||||
|
||||
<p>You have <%= @user.new_messages.size %> new messages and <%= @user.messages.size - @user.new_messages.size %> old messages</p>
|
||||
<p><%= t'message.inbox.you_have', :new_count => @user.new_messages.size, :old_count => (@user.messages.size - @user.new_messages.size) %></p>
|
||||
|
||||
<% if @user.messages.size > 0 %>
|
||||
<div id="messages">
|
||||
<table class="messages">
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<th>Subject</th>
|
||||
<th>Date</th>
|
||||
<th><%= t'message.inbox.from' %></th>
|
||||
<th><%= t'message.inbox.subject' %></th>
|
||||
<th><%= t'message.inbox.date' %></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
@ -16,5 +16,5 @@
|
|||
</table>
|
||||
</div>
|
||||
<% else %>
|
||||
<div id="messages">You have no messages yet. Why not get in touch with some of the <%= link_to 'people mapping nearby', :controller => 'user', :action => 'view', :display_name => @user.display_name %>?</div>
|
||||
<div id="messages"><%= t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
|
||||
<% end %>
|
||||
|
|
|
@ -1,29 +1,24 @@
|
|||
<h2>Send a new message to <%= h(@to_user.display_name) %></h2>
|
||||
|
||||
<% if params[:display_name] %>
|
||||
<p>Writing a new message to <%= h(params[:display_name]) %></p>
|
||||
<p>TODO: drop down box of your friends</p>
|
||||
<%end%>
|
||||
<h2><%= t'message.new.send_message_to', :name => h(@to_user.display_name) %></h2>
|
||||
|
||||
<%= error_messages_for 'message' %>
|
||||
|
||||
<% form_for :message, :url => { :action => "new", :user_id => @to_user.id } do |f| %>
|
||||
<table>
|
||||
<tr valign="top">
|
||||
<th>Subject</th>
|
||||
<th><%= t'message.new.subject' %></th>
|
||||
<td><%= f.text_field :title, :size => 60, :value => @title %></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th>Body</th>
|
||||
<th><%= t'message.new.body' %></th>
|
||||
<td><%= f.text_area :body, :cols => 80, :value => @body %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<td><%= submit_tag 'Send' %></td>
|
||||
<td><%= submit_tag t('message.new.send_button') %></td>
|
||||
</tr>
|
||||
</table>
|
||||
<% end %>
|
||||
|
||||
<br />
|
||||
|
||||
<%= link_to 'Back to inbox', :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
|
||||
<%= link_to t('message.new.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<h1>No such user or message</h1>
|
||||
<p>Sorry there is no user or message with that name or id</p>
|
||||
<h1><%= t'message.no_such_user.no_such_user' %></h1>
|
||||
<p><%= t'message.no_such_user.sorry' %></p>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<h2>My <%= link_to "inbox", url_for(:controller => "user", :action => "inbox", :id => @user.display_name) %>/outbox</h2>
|
||||
<h2><%= t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), url_for(:controller => "user", :action => "inbox", :id => @user.display_name)) %>/<%= t'message.outbox.outbox' %></h2>
|
||||
|
||||
<p>You have <%= @user.sent_messages.size %> sent messages
|
||||
<p><%= t'message.outbox.you_have_sent_messages', :sent_count => @user.sent_messages.size %>
|
||||
|
||||
<% if @user.sent_messages.size > 0 %>
|
||||
<div id="messages">
|
||||
<table class="messages">
|
||||
<tr>
|
||||
<th>To</th>
|
||||
<th>Subject</th>
|
||||
<th>Date</th>
|
||||
<th><%= t'message.outbox.to' %></th>
|
||||
<th><%= t'message.outbox.subject' %></th>
|
||||
<th><%= t'message.outbox.date' %></th>
|
||||
</tr>
|
||||
<%= render :partial => "sent_message_summary", :collection => @user.sent_messages %>
|
||||
</table>
|
||||
</div>
|
||||
<% else %>
|
||||
<div id="messages">You have no sent messages yet. Why not get in touch with some of the <%= link_to 'people mapping nearby', :controller => 'user', :action => 'view', :display_name => @user.display_name %>?</div>
|
||||
<div id="messages"><%= t'message.outbox.no_sent_messages', :people_mapping_nearby_link => link_to(t('message.outbox.people_mapping_nearby'), :controller => 'user', :action => 'view', :display_name => @user.display_name) %></div>
|
||||
<% end %>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<% if @user == @message.recipient %>
|
||||
|
||||
<h2>Reading your messages</h2>
|
||||
<h2><%= t'message.read.reading_your_messages' %></h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th align="right">From</th>
|
||||
<th align="right"><%= t'message.read.from' %></th>
|
||||
<td>
|
||||
<% if @message.sender.image %>
|
||||
<%= image_tag url_for_file_column(@message.sender, "image") %>
|
||||
|
@ -13,12 +13,12 @@
|
|||
<%= link_to h(@message.sender.display_name), :controller => 'user', :action => 'view', :display_name => @message.sender.display_name %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="right">Subject</th>
|
||||
<th align="right"><%= t'message.read.subject' %></th>
|
||||
<td><%= h(@message.title) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="right">Date</th>
|
||||
<td><%= @message.sent_on %></td>
|
||||
<th align="right"><%= t'message.read.date' %></th>
|
||||
<td><%= l @message.sent_on %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
|
@ -30,28 +30,28 @@
|
|||
|
||||
<table>
|
||||
<tr>
|
||||
<td><%= button_to 'Reply', :controller => 'message', :action => 'reply', :message_id => @message.id %></td>
|
||||
<td><%= button_to 'Mark as unread', :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %></td>
|
||||
<td><%= link_to 'Back to inbox', :controller => 'message', :action => 'inbox', :display_name => @user.display_name %></td>
|
||||
<td><%= button_to t('message.read.reply_button'), :controller => 'message', :action => 'reply', :message_id => @message.id %></td>
|
||||
<td><%= button_to t('message.read.unread_button'), :controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread' %></td>
|
||||
<td><%= link_to t('message.read.back_to_inbox'), :controller => 'message', :action => 'inbox', :display_name => @user.display_name %></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<% else %>
|
||||
|
||||
<h2>Reading your sent messages</h2>
|
||||
<h2><%= t'message.read.reading_your_sent_messages' %></h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th align="right">To</th>
|
||||
<th align="right"><%= t'message.read.to' %></th>
|
||||
<td><%= link_to h(@message.recipient.display_name), :controller => 'user', :action => 'view', :display_name => @message.recipient.display_name %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="right">Subject</th>
|
||||
<th align="right"><%= t'message.read.subject' %></th>
|
||||
<td><%= h(@message.title) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th align="right">Date</th>
|
||||
<td><%= @message.sent_on %></td>
|
||||
<th align="right"><%= t'message.read.date' %></th>
|
||||
<td><%= l @message.sent_on %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
|
@ -63,7 +63,7 @@
|
|||
|
||||
<table>
|
||||
<tr>
|
||||
<td><%= link_to 'Back to outbox', :controller => 'message', :action => 'outbox', :display_name => @user.display_name %></td>
|
||||
<td><%= link_to t('message.read.back_to_outbox'), :controller => 'message', :action => 'outbox', :display_name => @user.display_name %></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -1,44 +1,25 @@
|
|||
***************************************************************************
|
||||
* *
|
||||
* Please do not reply to this email. *
|
||||
* Use the OpenStreetMap web site to reply. *
|
||||
* *
|
||||
* Bitte antworten Sie nicht auf diese E-Mail. *
|
||||
* Verwenden Sie die OpenStreetMap Website zum Antworten. *
|
||||
* *
|
||||
* Por favor, no responda a este mensaje. *
|
||||
* Utilice el OpenStreetMap sitio web para responder. *
|
||||
* *
|
||||
* S’il vous plaît de ne pas répondre à ce message. *
|
||||
* Utilisez le OpenStreetMap site Web pour y répondre. *
|
||||
<%= t'banner1' %>
|
||||
<%= t'banner2' %>
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Hi <%= @to_user %>,
|
||||
|
||||
<%= @from_user %> has commented on your recent OpenStreetMap diary entry
|
||||
with the subject "<%= @subject %>":
|
||||
<%= t'notifier.diary.hi', :to_user => @to_user %>
|
||||
|
||||
<%= t'notifier.diary.header', :from_user => @from_user, :subject => @subject %>
|
||||
|
||||
==
|
||||
<%= @body %>
|
||||
==
|
||||
|
||||
You can also read the comment at <%= @readurl %>
|
||||
and you can comment at <%= @commenturl %>
|
||||
or reply at <%= @replyurl %>
|
||||
<%= t'notifier.diary.header', :readurl => @readurl, :commenturl => @commenturl, :replyurl => @replyurl
|
||||
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Please do not reply to this email. *
|
||||
* Use the OpenStreetMap web site to reply. *
|
||||
* *
|
||||
* Bitte antworten Sie nicht auf diese E-Mail. *
|
||||
* Verwenden Sie die OpenStreetMap Website zum Antworten. *
|
||||
* *
|
||||
* Por favor, no responda a este mensaje. *
|
||||
* Utilice el OpenStreetMap sitio web para responder. *
|
||||
* *
|
||||
* S’il vous plaît de ne pas répondre à ce message. *
|
||||
* Utilisez le OpenStreetMap site Web pour y répondre. *
|
||||
<%= t'banner1' %>
|
||||
<%= t'banner2' %>
|
||||
* *
|
||||
***************************************************************************
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<p>Hi there!</p>
|
||||
<p><%= t'notifier.signup_confirm_html.greeting' %></p>
|
||||
|
||||
<p>Someone (hopefully you) would like to create an account over at
|
||||
<p><%= t'notifier.signup_confirm_html.hopefully_you' %>
|
||||
<%= SERVER_URL %>.</p>
|
||||
|
||||
<p>If this is you, welcome! Please click the link below to confirm that account and read on for more information about OpenStreetMap</p>
|
||||
<p><%= t'notifier.signup_confirm_html.click_the_link' %></p>
|
||||
|
||||
<p><a href="<%= @url %>"><%= @url %></a></p>
|
||||
|
||||
<p>You can watch an introductory video to OpenStreetMap <a href="http://showmedo.com/videos/video?name=1800000&fromSeriesID=180">video here</a>. There are more <a href="http://showmedo.com/videos/series?name=mS2P1ZqS6">videos here</a>.
|
||||
<p><%= t'notifier.signup_confirm_html.introductory_video', :introductory_video_link => ('<a href="http://showmedo.com/videos/video?name=1800000&fromSeriesID=180">' + t('notifier.signup_confirm_html.video_to_openstreetmap') + '</a>') %> <%= t'notifier.signup_confirm_html.more_videos', :more_videos_link => ('<a href="http://showmedo.com/videos/series?name=mS2P1ZqS6">' + t('notifier.signup_confirm_html.more_videos_here') + '</a>') %>
|
||||
|
||||
Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!
|
||||
<p><%= t'notifier.signup_confirm_html.get_reading' %></p>
|
||||
|
||||
<p>You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.</p>
|
||||
<p><%= t'notifier.signup_confirm_html.wiki_signup' %></p>
|
||||
|
||||
<p>It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/index.php/Category:Users_in_London">[[Category:Users_in_London]]</a>.</p>
|
||||
<p><%= t'notifier.signup_confirm_html.user_wiki_page' %></p>
|
||||
|
||||
<p>A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/index.php/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.</p>
|
||||
<p><%= t'notifier.signup_confirm_html.current_user' %></p>
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
Hi there!
|
||||
<%= t'notifier.signup_confirm_plain.greeting' %>
|
||||
|
||||
Someone (hopefully you) would like to create an account over at
|
||||
<%= t'notifier.signup_confirm_plain.hopefully_you' %>
|
||||
<%= SERVER_URL %>
|
||||
|
||||
If this is you, welcome! Please click the link below to confirm that
|
||||
account and read on for more information about OpenStreetMap.
|
||||
<%= t'notifier.signup_confirm_plain.click_the_link_1' %>
|
||||
<%= t'notifier.signup_confirm_plain.click_the_link_2' %>
|
||||
|
||||
<%= @url %>
|
||||
|
||||
You can watch an introductory video to OpenStreetMap here:
|
||||
<%= t'notifier.signup_confirm_plain.introductory_video' %>
|
||||
|
||||
http://showmedo.com/videos/video?name=1800000&fromSeriesID=180
|
||||
|
||||
There are more videos here:
|
||||
<%= t'notifier.signup_confirm_plain.more_videos' %>
|
||||
|
||||
http://showmedo.com/videos/series?name=mS2P1ZqS6
|
||||
|
||||
Get reading about OpenStreetMap on the wiki:
|
||||
<%= t'notifier.signup_confirm_plain.the_wiki' %>
|
||||
|
||||
http://wiki.openstreetmap.org/wiki/Beginners%27_Guide
|
||||
|
||||
OpenGeoData.org is OpenStreetMap's blog, and it has podcasts too:
|
||||
<%= t'notifier.signup_confirm_plain.opengeodata' %>
|
||||
|
||||
http://www.opengeodata.org/
|
||||
|
||||
You may also want to sign up to the OpenStreetMap wiki at:
|
||||
<%= t'notifier.signup_confirm_plain.wiki_signup' %>
|
||||
|
||||
http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page
|
||||
|
||||
It is recommended that you create a user wiki page, which includes
|
||||
category tags noting where you are, such as [[Category:Users_in_London]].
|
||||
<%= t'notifier.signup_confirm_plain.user_wiki_1' %>
|
||||
<%= t'notifier.signup_confirm_plain.user_wiki_2' %>
|
||||
|
||||
A list of current users in categories, based on where in the world
|
||||
they are, is available from:
|
||||
<%= t'notifier.signup_confirm_plain.current_user_1' %>
|
||||
<%= t'notifier.signup_confirm_plain.current_user_2' %>
|
||||
|
||||
http://wiki.openstreetmap.org/index.php/Category:Users_by_geographical_region
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<% content_for :left_menu do %>
|
||||
<%= link_to_function "Map key", "showKey();" %>
|
||||
<%= link_to_function t('site.key.map_key'), "showKey();" %>
|
||||
<% end %>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -31,23 +31,21 @@
|
|||
|
||||
<% content_for "optionals" do %>
|
||||
<div class="optionalbox">
|
||||
<span class="oboxheader">Search</span>
|
||||
<span class="whereami"><a href="javascript:describeLocation()">Where am I?</a></span>
|
||||
<span class="oboxheader"><%= t 'site.search.search' %></span>
|
||||
<span class="whereami"><a href="javascript:describeLocation()"><%= t 'site.search.where_am_i' %></a></span>
|
||||
<div class="search_form">
|
||||
<div id="search_field">
|
||||
<% form_remote_tag(:loading => "startSearch()",
|
||||
:complete => "endSearch()",
|
||||
:url => { :controller => :geocoder, :action => :search }) do %>
|
||||
<%= text_field_tag :query, h(params[:query]) %>
|
||||
<%= submit_tag "Go" %>
|
||||
<%= submit_tag t('site.search.submit_text') %>
|
||||
<% end %>
|
||||
</div>
|
||||
<p id="search_active">Searching...</p>
|
||||
<p id="search_active"><%= t 'site.search.searching' %></p>
|
||||
</div>
|
||||
<p class="search_help">
|
||||
examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ',
|
||||
or 'post offices near Lünen'
|
||||
<a href="http://wiki.openstreetmap.org/index.php/Search">more examples...</a>
|
||||
<%= t 'site.search.search_help' %>
|
||||
</p>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div id="sidebar">
|
||||
<table class="sidebar_title" width="100%">
|
||||
<tr>
|
||||
<td align="left" id="sidebar_title">Search Results</td>
|
||||
<td align="right"><a href="javascript:closeSidebar()">Close</a></td>
|
||||
<td align="left" id="sidebar_title"><% t 'site.sidebar.search_results' %></td>
|
||||
<td align="right"><a href="javascript:closeSidebar()"><%= t 'site.sidebar.close' %></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="sidebar_content">
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
<% if OSM_STATUS == :database_offline or OSM_STATUS == :api_offline %>
|
||||
<p>The OpenStreetMap database is currently offline while
|
||||
essential database maintenance work is carried out.
|
||||
<p><%= t 'layouts.osm_offline' %>
|
||||
</p>
|
||||
<% elsif OSM_STATUS == :database_readonly or OSM_STATUS == :api_readonly %>
|
||||
<p>The OpenStreetMap database is currently in read-only mode while
|
||||
essential database maintenance work is carried out.
|
||||
<p><%= t 'layouts.osm_read_only' %>
|
||||
</p>
|
||||
<% elsif !@user.data_public? %>
|
||||
<p>You haven't set your edits to be public.</p>
|
||||
<p>You can no longer edit the map unless you do so. You can set your edits as public from your
|
||||
<%= link_to 'user page', {:controller => 'user', :action => 'account', :display_name => @user.display_name, :anchor => 'public'}%>.</p>
|
||||
<p>(<a href="http://wiki.openstreetmap.org/index.php/Disabling_anonymous_edits">Find out why this is the case.</a>)</p>
|
||||
<p><%= t 'site.edit.not_public' %></p>
|
||||
<p><%= t 'site.edit.not_public_description',
|
||||
:user_page => (link_to t('site.edit.user_page_link'), {:controller => 'user', :action => 'account', :display_name => @user.display_name, :anchor => 'public'}) %></p>
|
||||
<p><%= t 'site.edit.anon_edits', :link => link_to(t('site.edit.anon_edit_link_text'), t('site.edit.anon_edits_link')) %> (<a href=""></a>)</p>
|
||||
<% else %>
|
||||
<% content_for :greeting do %>
|
||||
<% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %>
|
||||
|
@ -54,11 +52,7 @@ zoom='14' if zoom.nil?
|
|||
%>
|
||||
|
||||
<div id="map">
|
||||
You need a Flash player to use Potlatch, the
|
||||
OpenStreetMap Flash editor. You can <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">download Flash Player from Adobe.com</a>.
|
||||
|
||||
<a href="http://wiki.openstreetmap.org/index.php/Editing">Several other options</a> are also available
|
||||
for editing OpenStreetMap.
|
||||
<%= t 'site.edit.flash_player_required' %>
|
||||
</div>
|
||||
|
||||
<%= javascript_include_tag 'swfobject.js' %>
|
||||
|
@ -71,7 +65,7 @@ zoom='14' if zoom.nil?
|
|||
|
||||
window.onbeforeunload=function() {
|
||||
if (!changesaved && !winie) {
|
||||
return "You have unsaved changes.";
|
||||
return "<%= t 'site.edit.potlatch_unsaved_changes' %>";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
<noscript>
|
||||
<div id="noscript">
|
||||
<p>You are either using a browser that doesn't support javascript, or you have disabled javascript.</p>
|
||||
<p>OpenStreetMap uses javascript for its slippy map.</p>
|
||||
<p>You may want to try the <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> if you are unable to enable javascript.</p>
|
||||
<p><%= t 'site.index.js_1' %></p>
|
||||
<p><%= t 'site.index.js_2' %></p>
|
||||
<p><%= t 'site.index.js_3' %></p>
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
<div id="map">
|
||||
<div id="permalink"><a href="/" id="permalinkanchor">Permalink</a></div>
|
||||
<div id="permalink"><a href="/" id="permalinkanchor"><%= t 'site.index.permalink' %></a></div>
|
||||
</div>
|
||||
|
||||
<div id="attribution">
|
||||
|
@ -27,7 +27,7 @@
|
|||
<td align="right">http://openstreetmap.org/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align="center">Licensed under the Creative Commons Attribution-Share Alike 2.0 license by the OpenStreetMap project and its contributors.</td>
|
||||
<td colspan="2" align="center"><%= t 'site.index.license' %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
<% if OSM_STATUS == :database_offline %>
|
||||
<p>The OpenStreetMap database is currently offline while
|
||||
essential database maintenance work is carried out.
|
||||
<p><%= t 'layouts.osm_offline' %>
|
||||
</p>
|
||||
<% else %>
|
||||
<p>The OpenStreetMap database is currently in read-only mode while
|
||||
essential database maintenance work is carried out.
|
||||
<p><%= t 'layouts.osm_read_only' %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<% if trace.inserted %>
|
||||
<a href="<%= url_for :controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => 'trace', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
|
||||
<% else %>
|
||||
<span style="color:red">PENDING</span>
|
||||
<span style="color:red"><%= t'trace.trace.pending' %></span>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="<%= cl %>"><%= link_to trace.name, {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id} %>
|
||||
|
@ -13,20 +13,20 @@
|
|||
(<%= trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %> points)
|
||||
<% end %>
|
||||
... <%= time_ago_in_words( trace.timestamp ) %> ago</span>
|
||||
<%= link_to 'more', {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id}, {:title => 'View Trace Details'} %> /
|
||||
<%= link_to_if trace.inserted?, 'map', {:controller => 'site', :action => 'index', :lat => trace.latitude, :lon => trace.longitude, :zoom => 14}, {:title => 'View Map'} %> /
|
||||
<%= link_to 'edit', {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => 'Edit Map'} %>
|
||||
<%= link_to t('trace.trace.more'), {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id}, {:title => t('trace.trace.trace_details')} %> /
|
||||
<%= link_to_if trace.inserted?, 'map', {:controller => 'site', :action => 'index', :lat => trace.latitude, :lon => trace.longitude, :zoom => 14}, {:title => t('trace.trace.view_map')} %> /
|
||||
<%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %>
|
||||
<% if trace.public? %>
|
||||
<span style="color:green">PUBLIC</span>
|
||||
<span style="color:green"><%= t'trace.trace.public' %></span>
|
||||
<% else %>
|
||||
<span style="color:red">PRIVATE</span>
|
||||
<span style="color:red"><%= t'trace.trace.private' %></span>
|
||||
<% end %>
|
||||
<br />
|
||||
<%= h(trace.description) %>
|
||||
<br />
|
||||
by <%= link_to h(trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %>
|
||||
<%= t'trace.trace.by' %> <%=link_to h(trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %>
|
||||
<% if !trace.tags.empty? %>
|
||||
in
|
||||
<%= t'trace.trace.in' %>
|
||||
<% trace.tags.each do |tag| %>
|
||||
<%= link_to_tag tag.tag %>
|
||||
<% end %>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<% form_for :trace, @trace, :url => { :action => "create" }, :html => { :multipart => true } do |f| %>
|
||||
<table>
|
||||
<tr><td align="right">Upload GPX File</td><td><%= f.file_field :gpx_file, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right">Description</td><td><%= f.text_field :description, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right">Tags</td><td><%= f.text_field :tagstring, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right">Public?</td><td><%= f.check_box :public %></td></tr>
|
||||
<tr><td></td><td><%= submit_tag 'Upload' %> | <a href="http://wiki.openstreetmap.org/index.php/Upload">Help</a></td></tr>
|
||||
<tr><td align="right"><%= t'trace.trace_form.upload_gpx' %></td><td><%= f.file_field :gpx_file, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right"><%= t'trace.trace_form.description' %></td><td><%= f.text_field :description, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right"><%= t'trace.trace_form.tags' %></td><td><%= f.text_field :tagstring, :size => 50, :maxlength => 255 %></td></tr>
|
||||
<tr><td align="right"><%= t'trace.trace_form.public' %></td><td><%= f.check_box :public %></td></tr>
|
||||
<tr><td></td><td><%= submit_tag t('trace.trace_form.upload_button') %> | <a href="http://wiki.openstreetmap.org/index.php/Upload"><%= t'trace.trace_form.help' %></a></td></tr>
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -7,20 +7,16 @@
|
|||
<p>
|
||||
<%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %>
|
||||
<% if @user.nil? or @display_name.nil? or @user.display_name != @display_name %>
|
||||
| <%= link_to 'See just your traces, or upload a trace', :action => 'mine' %>
|
||||
| <%= link_to t('trace.trace_header.see_just_your_traces'), :action => 'mine' %>
|
||||
<% end %>
|
||||
<% if @tag or @display_name %>
|
||||
| <%= link_to 'See all traces', :controller => 'trace', :action => 'list' %>
|
||||
| <%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list' %>
|
||||
<% end %>
|
||||
<% if @tag and @user and @user.display_name == @display_name %>
|
||||
| <%= link_to 'See all your traces', :controller => 'trace', :action => 'mine' %>
|
||||
| <%= link_to t('trace.trace_header.see_your_traces'), :controller => 'trace', :action => 'mine' %>
|
||||
<% end %>
|
||||
</p>
|
||||
|
||||
<% if @user and @user.traces.count(:conditions => ["inserted=?", false]) > 4 %>
|
||||
<p>
|
||||
You have <%= @user.traces.count(:conditions => ["inserted=?", false]) %> traces
|
||||
waiting for upload. Please consider waiting for these to finish before
|
||||
uploading any more, so as not to block the queue for other users.
|
||||
</p>
|
||||
<p><%= t'trace.trace_header.traces_waiting', :count => @user.traces.count(:conditions => ["inserted=?", false]) %></p>
|
||||
<% end %>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<% content_for "optionals" do %>
|
||||
<div class="optionalbox">
|
||||
<span class="oboxheader">Tags</span>
|
||||
<span class="oboxheader"><%= t'trace.trace_optionals.tags' %></span>
|
||||
<br />
|
||||
<br />
|
||||
<% if @all_tags %>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<% current_page = @trace_pages.current_page %>
|
||||
|
||||
Showing page
|
||||
<%= t'trace.trace_paging_nav.showing' %>
|
||||
<%= current_page.number %> (<%= current_page.first_item %><%
|
||||
if (current_page.first_item < current_page.last_item) # if more than 1 trace on page
|
||||
%>-<%= current_page.last_item %><%
|
||||
end %>
|
||||
of <%= @trace_pages.item_count %>)
|
||||
<%= t'trace.trace_paging_nav.of' %> <%= @trace_pages.item_count %>)
|
||||
|
||||
<% if @trace_pages.page_count > 1 %>
|
||||
| <%= pagination_links_each(@trace_pages, {}) { |n| link_to_page(n) } %>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<h1>Upload GPS Trace</h1>
|
||||
<h1><%= t'trace.create.upload_trace' %></h1>
|
||||
|
||||
<%= error_messages_for 'trace' %>
|
||||
|
||||
|
|
|
@ -6,28 +6,28 @@
|
|||
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Filename:</td>
|
||||
<td><%= t'trace.edit.filename' %></td>
|
||||
<td><%= @trace.name %> (<%= link_to 'download', :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Uploaded at:</td>
|
||||
<td><%= t'trace.edit.uploaded_at' %></td>
|
||||
<td><%= @trace.timestamp %></td>
|
||||
</tr>
|
||||
<% if @trace.inserted? %>
|
||||
<tr>
|
||||
<td>Points:</td>
|
||||
<td><%= t'trace.edit.points' %></td>
|
||||
<td><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></td></tr>
|
||||
<tr>
|
||||
<td>Start coordinate:</td>
|
||||
<td><div class="geo" style="display: inline"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to 'map', :controller => 'site', :action => 'index', :lat => @trace.latitude, :lon => @trace.longitude, :zoom => 14 %> / <%=link_to 'edit', :controller => 'site', :action => 'edit', :lat => @trace.latitude, :lon => @trace.longitude, :gpx=> @trace.id, :zoom => 14 %>)</td>
|
||||
<td><%= t'trace.edit.start_coord' %>Start coordinate:</td>
|
||||
<td><div class="geo" style="display: inline"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to 'map', :controller => 'site', :action => 'index', :lat => @trace.latitude, :lon => @trace.longitude, :zoom => 14 %> / <%=link_to t('trace.edit.edit'), :controller => 'site', :action => 'edit', :lat => @trace.latitude, :lon => @trace.longitude, :gpx=> @trace.id, :zoom => 14 %>)</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td>Owner:</td>
|
||||
<td><%= t'trace.edit.owner' %></td>
|
||||
<td><%= link_to h(@trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => @trace.user.display_name} %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Description:</td>
|
||||
<td><%= t'trace.edit.description' %></td>
|
||||
<td><%= f.text_field :description %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<h2><%= h(@not_found_user) %></h2>
|
||||
<p>Sorry, there is no user with the name <%= @not_found_user -%>. Please check your spelling, or maybe the link you clicked is wrong.</p>
|
||||
<p><%= t'trace.no_such_user.no_such_user', :name => @not_found_user %></p>
|
||||
|
|
|
@ -3,44 +3,44 @@
|
|||
<% if @trace.inserted %>
|
||||
<img src="<%= url_for :controller => 'trace', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
|
||||
<% else %>
|
||||
<span style="color:red">PENDING</span>
|
||||
<span style="color:red"><%= t'trace.view.pending' %></span>
|
||||
<% end %>
|
||||
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>Filename:</td>
|
||||
<td><%= @trace.name %> (<%= link_to 'download', :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
|
||||
<td><%= t'trace.view.filename' %></td>
|
||||
<td><%= @trace.name %> (<%= link_to t('trace.view.download'), :controller => 'trace', :action => 'data', :id => @trace.id %>)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Uploaded at:</td>
|
||||
<td><%= t'trace.view.uploaded' %></td>
|
||||
<td><%= @trace.timestamp %></td>
|
||||
</tr>
|
||||
<% if @trace.inserted? %>
|
||||
<tr>
|
||||
<td>Points:</td>
|
||||
<td><%= t'trace.view.points' %></td>
|
||||
<td><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></td></tr>
|
||||
<tr>
|
||||
<td>Start coordinate:</td>
|
||||
<td><div class="geo" style="display: inline"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to 'map', :controller => 'site', :action => 'index', :lat => @trace.latitude, :lon => @trace.longitude, :zoom => 14 %> / <%=link_to 'edit', :controller => 'site', :action => 'edit', :lat => @trace.latitude, :lon => @trace.longitude, :gpx=> @trace.id, :zoom => 14 %>)</td>
|
||||
<td><%= t'trace.view.start_coordinates' %></td>
|
||||
<td><div class="geo" style="display: inline"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to t('trace.view.map'), :controller => 'site', :action => 'index', :lat => @trace.latitude, :lon => @trace.longitude, :zoom => 14 %> / <%=link_to t('trace.view.edit'), :controller => 'site', :action => 'edit', :lat => @trace.latitude, :lon => @trace.longitude, :gpx=> @trace.id, :zoom => 14 %>)</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<tr>
|
||||
<td>Owner:</td>
|
||||
<td><%= t'trace.view.owner' %></td>
|
||||
<td><%= link_to h(@trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => @trace.user.display_name} %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Description:</td>
|
||||
<td><%= t'trace.view.description' %></td>
|
||||
<td><%= h(@trace.description) %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tags:</td>
|
||||
<td><%= t'trace.view.tags' %></td>
|
||||
<td>
|
||||
<% if @trace.tags %>
|
||||
<% @trace.tags.each do |tag| %>
|
||||
<%= link_to tag.tag, { :controller => 'trace', :action => 'list', :tag => tag.tag, :id => nil } %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
None
|
||||
<%= t'trace.view.none' %>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -51,13 +51,13 @@
|
|||
<table>
|
||||
<tr>
|
||||
<% unless @trace.public? %>
|
||||
<td><%= button_to 'Make this track public permanently', :controller => 'trace', :action => 'make_public', :id => @trace.id %></td>
|
||||
<td><%= button_to t('trace.view.make_public'), :controller => 'trace', :action => 'make_public', :id => @trace.id %></td>
|
||||
<% end %>
|
||||
<% if @trace.user == @user %>
|
||||
<td><%= button_to 'Edit this track', :controller => 'trace', :action => 'edit', :id => @trace.id %></td>
|
||||
<td><%= button_to t('trace.view.edit_track'), :controller => 'trace', :action => 'edit', :id => @trace.id %></td>
|
||||
<% end %>
|
||||
<% if @trace.user == @user %>
|
||||
<td><%= button_to 'Delete this track', :controller => 'trace', :action => 'delete', :id => @trace.id %></td>
|
||||
<td><%= button_to t('trace.view.delete_track'), :controller => 'trace', :action => 'delete', :id => @trace.id %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -45,14 +45,14 @@
|
|||
setMapCenter(centre, zoom);
|
||||
|
||||
<% if marker %>
|
||||
marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>), null, "Your location");
|
||||
marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>), null, "<%= t 'user.friend_map.your location' %>");
|
||||
<% end %>
|
||||
|
||||
var near_icon = OpenLayers.Marker.defaultIcon();
|
||||
near_icon.url = OpenLayers.Util.getImagesLocation() + "marker-green.png";;
|
||||
var i = nearest.length;
|
||||
while( i-- ) {
|
||||
var description = 'Nearby mapper: <a href="/user/'+nearest[i].display_name+'">'+nearest[i].display_name+'</a>'
|
||||
var description = '<%= t 'user.friend_map.nearby mapper'%><a href="/user/'+nearest[i].display_name+'">'+nearest[i].display_name+'</a>'
|
||||
var nearmarker = addMarkerToMap(new OpenLayers.LonLat(nearest[i].home_lon, nearest[i].home_lat), near_icon.clone(), description);
|
||||
}
|
||||
|
||||
|
@ -75,7 +75,7 @@
|
|||
removeMarkerFromMap(marker);
|
||||
}
|
||||
|
||||
marker = addMarkerToMap(lonlat, null, "Your location");
|
||||
marker = addMarkerToMap(lonlat, null, "<%= t 'user.friend_map.your location' %>");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,33 +1,35 @@
|
|||
<h2>My settings</h2>
|
||||
<h2><%= t 'user.account.my settings' %></h2>
|
||||
<%= error_messages_for 'user' %>
|
||||
<% form_for :user, @user do |f| %>
|
||||
<table id="accountForm">
|
||||
<tr><td class="fieldName">Display Name : </td><td><%= f.text_field :display_name %></td></tr>
|
||||
<tr><td class="fieldName">Email : </td><td><%= f.text_field :email, {:size => 50, :maxlength => 255} %> <span class="minorNote">(never displayed publicly)</span></td></tr>
|
||||
<tr><td class="fieldName" style="padding-bottom:0px;">Password : </td><td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
|
||||
<tr><td class="fieldName">Confirm Password : </td><td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.display name' %></td><td><%= f.text_field :display_name %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.email address' %></td><td><%= f.text_field :email, {:size => 50, :maxlength => 255} %> <span class="minorNote"><%= t 'user.account.email never displayed publicly' %></span></td></tr>
|
||||
<tr><td class="fieldName" style="padding-bottom:0px;"><%= t 'user.new.password' %></td><td style="padding-bottom:0px;"><%= f.password_field :pass_crypt, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.confirm password' %></td><td><%= f.password_field :pass_crypt_confirmation, {:value => '', :size => 30, :maxlength => 255} %></td></tr>
|
||||
|
||||
<tr>
|
||||
<td class="fieldName" valign="top">Public editing :</td>
|
||||
<td class="fieldName" valign="top"><%= t 'user.account.public editing.heading' %></td>
|
||||
<td>
|
||||
<% if @user.data_public? %>
|
||||
Enabled. Not anonymous <span class="minorNote">(<a href="http://wiki.openstreetmap.org/index.php/Disabling_anonymous_edits" target="_new">what's this?</a>)</span>
|
||||
<%= t 'user.account.public editing.enabled' %> <span class="minorNote">(<a href="<%= t 'user.account.public editing.enabled link' %>" target="_new"><%= t 'user.account.public editing.enabled link text' %></a>)</span>
|
||||
<% else %>
|
||||
Disabled and anonymous. <span class="minorNote">(<a href="#public">why's this bad?</a>)</span>
|
||||
<%= t 'user.account.public editing.disabled' %><span class="minorNote">(<a href="#public"><%= t 'user.account.public editing.disabled link text' %></a>)</span>
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td class="fieldName" valign="top">Profile Description : </td><td><%= f.text_area :description, :rows => '5', :cols => '60' %><br /><br /></td></tr>
|
||||
<tr><td class="fieldName" valign="top"><%= t 'user.account.profile description' %></td><td><%= f.text_area :description, :rows => '5', :cols => '60' %></td></tr>
|
||||
|
||||
<tr id="homerow" <% unless @user.home_lat and @user.home_lon %> class="nohome" <%end%> ><td class="fieldName">Home Location : </td><td><em class="message">You have not entered your home location.</em><span class="location">Latitude: <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %> Longitude <%= f.text_field :home_lon, :size => 20, :id => "home_lon" %></span></td></tr>
|
||||
<tr><td class="fieldName" valign="top"><%= t 'user.account.preferred languages' %></td><td><%= f.text_field :languages %></td></tr>
|
||||
|
||||
<tr id="homerow" <% unless @user.home_lat and @user.home_lon %> class="nohome" <%end%> ><td class="fieldName"><%= t 'user.account.home location' %></td><td><em class="message"><%= t 'user.account.no home location' %></em><span class="location"><%= t 'user.account.latitude' %> <%= f.text_field :home_lat, :size => 20, :id => "home_lat" %><%= t 'user.account.longitude' %><%= f.text_field :home_lon, :size => 20, :id => "home_lon" %></span></td></tr>
|
||||
|
||||
<tr><td></td><td>
|
||||
<p>Update home location when I click on the map? <input type="checkbox" value="1" <% unless @user.home_lat and @user.home_lon %> checked="checked" <% end %> id="updatehome" /> </p>
|
||||
<p><%= t 'user.account.update home location on click' %> <input type="checkbox" value="1" <% unless @user.home_lat and @user.home_lon %> checked="checked" <% end %> id="updatehome" /> </p>
|
||||
<div id="map" style="border:1px solid black; position:relative; width:500px; height:400px;"></div>
|
||||
</td></tr>
|
||||
|
||||
<tr><td></td><td align=right><br/></br><%= submit_tag 'Save Changes' %></td></tr>
|
||||
<tr><td></td><td align=right><br/></br><%= submit_tag t('user.account.save changes button') %></td></tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
|
@ -42,10 +44,10 @@
|
|||
Your email address will not be revealed by becoming public.<br />
|
||||
This action cannot be reversed and all new users are now public by default.<br />
|
||||
<br /><br />
|
||||
<%= button_to "Make all my edits public", :action => :go_public %>
|
||||
<%= button_to t('user.account.make all my edits public button'), :action => :go_public %>
|
||||
<% end %>
|
||||
<br/>
|
||||
<br/>
|
||||
<%= link_to 'return to profile', :controller => 'user', :action => @user.display_name %>
|
||||
<%= link_to t('user.account.return to profile'), :controller => 'user', :action => @user.display_name %>
|
||||
<br/>
|
||||
<br/>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<h1>Confirm a user account</h1>
|
||||
<h1><%= t 'user.confirm.heading' %></h1>
|
||||
|
||||
<p>Press the confirm button below to activate your account.</p>
|
||||
<p><%= t 'user.confirm.press confirm button' %></p>
|
||||
|
||||
<form method="post">
|
||||
<input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
|
||||
<input type="submit" name="confirm_action" value="Confirm">
|
||||
<input type="submit" name="confirm_action" value="<%= t 'user.confirm.button' %>">
|
||||
</form>
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<h1>Confirm a change of email address</h1>
|
||||
<h1><%= t 'user.confirm email.heading' %></h1>
|
||||
|
||||
<p>Press the confirm button below to confirm your new email address.</p>
|
||||
<p><%= t 'user.confirm email. press confirm button' %></p>
|
||||
|
||||
<form method="post">
|
||||
<input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
|
||||
<input type="submit" name="confirm_action" value="Confirm">
|
||||
<input type="submit" name="confirm_action" value="<%= t 'user.confirm email.button' %>">
|
||||
</form>
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<h1>Login</h1>
|
||||
<h1><%= t 'user.login.heading' %></h1>
|
||||
|
||||
<p>Please login or <%= link_to 'create an account', :controller => 'user', :action => 'new' %>.</p>
|
||||
<p><%= t 'user.login.please login', :create_user_link => link_to(t('user.login.create_account'), :controller => 'user', :action => 'new') %></p>
|
||||
|
||||
<% form_tag :action => 'login' do %>
|
||||
<%= hidden_field_tag('referer', h(params[:referer])) %>
|
||||
<table>
|
||||
<tr><td class="fieldName">Email Address or Username:</td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
|
||||
<tr><td class="fieldName">Password:</td><td><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> <span class="minorNote">(<%= link_to 'Lost your password?', :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field('user', 'password',{:size => 28, :maxlength => 255, :tabindex => 2}) %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
|
||||
<tr><td colspan=2> <!--vertical spacer--></td></tr>
|
||||
<tr><td></td><td align="right"><%= submit_tag 'Login', :tabindex => 3 %></td></tr>
|
||||
<tr><td></td><td align="right"><%= submit_tag t('user.login.login_button'), :tabindex => 3 %></td></tr>
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<h1>Forgotten Password?</h1><br>
|
||||
<h1><%= t 'user.lost_password.heading' %></h1><br>
|
||||
|
||||
<% form_tag :action => 'lost_password' do %>
|
||||
<table>
|
||||
<tr><td>Email Address:</td><td><%= text_field('user', 'email', {:size => 50, :maxlength => 255} ) %></td></tr>
|
||||
<tr><td><%= t 'user.lost_password.email address' %></td><td><%= text_field('user', 'email', {:size => 50, :maxlength => 255} ) %></td></tr>
|
||||
</table>
|
||||
<br>
|
||||
<input type="submit" value="Send me a new password">
|
||||
<input type="submit" value="<%= t 'user.lost_password.new password button' %>">
|
||||
<% end %>
|
||||
|
|
|
@ -1,44 +1,36 @@
|
|||
<h1>Create a User Account</h1>
|
||||
<h1><%= t 'user.new.heading' %></h1>
|
||||
|
||||
<% if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"}) %>
|
||||
|
||||
<p>Unfortunately we are not currently able to create an account for
|
||||
you automatically.
|
||||
<p><%= t 'user.new.no_auto_account_create' %>
|
||||
</p>
|
||||
|
||||
<p>Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a>
|
||||
to arrange for an account to be created - we will try and deal with
|
||||
the request as quickly as possible.
|
||||
<p><%= t 'user.new.contact_webmaster' %>
|
||||
</p>
|
||||
|
||||
<% else %>
|
||||
|
||||
<p>Fill in the form and we'll send you a quick email to activate your
|
||||
account.
|
||||
<p><%= t 'user.new.fill_form' %>
|
||||
</p>
|
||||
|
||||
<p>By creating an account, you agree that all work uploaded to
|
||||
openstreetmap.org and all data created by use of any tools which
|
||||
connect to openstreetmap.org is to be (non-exclusively) licensed under
|
||||
<a href="http://creativecommons.org/licenses/by-sa/2.0/">this Creative
|
||||
Commons license (by-sa)</a>.
|
||||
<p><%= t 'user.new.license_agreement' %>
|
||||
</p>
|
||||
|
||||
<%= error_messages_for 'user' %>
|
||||
|
||||
<% form_tag :action => 'save' do %>
|
||||
<table id="loginForm">
|
||||
<tr><td class="fieldName">Email Address : </td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
|
||||
<tr><td class="fieldName">Confirm Email Address : </td><td><%= text_field('user', 'email_confirmation',{:size => 50, :maxlength => 255, :tabindex => 2}) %></td></tr>
|
||||
<tr><td></td><td><span class="minorNote">Not displayed publicly (see <a href="http://wiki.openstreetmap.org/index.php/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)</span></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.email address' %></td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.confirm email address' %></td><td><%= text_field('user', 'email_confirmation',{:size => 50, :maxlength => 255, :tabindex => 2}) %></td></tr>
|
||||
<tr><td></td><td><span class="minorNote"><%= t 'user.new.not displayed publicly' %></span></td></tr>
|
||||
<tr><td colspan=2> <!--vertical spacer--></td></tr>
|
||||
<tr><td class="fieldName">Display Name : </td><td><%= text_field('user', 'display_name',{:size => 30, :maxlength => 255, :tabindex => 3}) %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.display name' %></td><td><%= text_field('user', 'display_name',{:size => 30, :maxlength => 255, :tabindex => 3}) %></td></tr>
|
||||
<tr><td colspan=2> <!--vertical spacer--></td></tr>
|
||||
<tr><td class="fieldName">Password : </td><td><%= password_field('user', 'pass_crypt',{:size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
|
||||
<tr><td class="fieldName">Confirm Password : </td><td><%= password_field('user', 'pass_crypt_confirmation',{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.password' %></td><td><%= password_field('user', 'pass_crypt',{:size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
|
||||
<tr><td class="fieldName"><%= t 'user.new.confirm password' %></td><td><%= password_field('user', 'pass_crypt_confirmation',{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
|
||||
|
||||
<tr><td colspan=2> <!--vertical spacer--></td></tr>
|
||||
<tr><td></td><td align=right><input type="submit" value="Signup" tabindex="6"></td></tr>
|
||||
<tr><td></td><td align=right><input type="submit" value="<%= t'user.new.signup' %>" tabindex="6"></td></tr>
|
||||
</table>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<h2><%= h(@not_found_user) %></h2>
|
||||
<p>Sorry, there is no user with the name <%= @not_found_user -%>. Please check your spelling, or maybe the link you clicked is wrong.</p>
|
||||
<p><%= t 'user.no_such_user.body', :user => @not_found_user %></p>
|
||||
|
|
|
@ -1,66 +1,65 @@
|
|||
<% @this_user = User.find_by_display_name(@this_user.display_name) %>
|
||||
<h2><%= h(@this_user.display_name) %></h2>
|
||||
<div id="userinformation">
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<!-- Displaying user's own profile page -->
|
||||
<%= link_to 'my diary', :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
|
||||
| <%= link_to 'new diary entry', :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
|
||||
| <%= link_to 'my edits', :controller => 'changeset', :action => 'list_user', :display_name => @user.display_name %>
|
||||
| <%= link_to 'my traces', :controller => 'trace', :action=>'mine' %>
|
||||
| <%= link_to 'my settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
|
||||
<%= link_to t('user.view.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
|
||||
| <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
|
||||
| <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list_user', :display_name => @user.display_name %>
|
||||
| <%= link_to t('user.view.my traces'), :controller => 'trace', :action=>'mine' %>
|
||||
| <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
|
||||
<% else %>
|
||||
<!-- Displaying another user's profile page -->
|
||||
<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @this_user.id %>
|
||||
| <%= link_to 'diary', :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
|
||||
| <%= link_to 'edits', :controller => 'changeset', :action => 'list_user', :display_name => @this_user.display_name %>
|
||||
| <%= link_to 'traces', :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
|
||||
<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => @this_user.id %>
|
||||
| <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
|
||||
| <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list_user', :display_name => @this_user.display_name %>
|
||||
| <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'view', :display_name => @this_user.display_name %>
|
||||
| <% if @user and @user.is_friends_with?(@this_user) %>
|
||||
<%= link_to 'remove as friend', :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
|
||||
<%= link_to t('user.view.remove as friend'), :controller => 'user', :action => 'remove_friend', :display_name => @this_user.display_name %>
|
||||
<% else %>
|
||||
<%= link_to 'add as friend', :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
|
||||
<%= link_to t('user.view.add as friend'), :controller => 'user', :action => 'make_friend', :display_name => @this_user.display_name %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<% if @this_user != nil %>
|
||||
<P>
|
||||
<b>Mapper since : </b><%= @this_user.creation_time %> (<%= time_ago_in_words(@this_user.creation_time) %> ago)
|
||||
<b><%= t 'user.view.mapper since' %></b><%= l @this_user.creation_time %> <%= t 'user.view.ago', :time_in_words_ago => time_ago_in_words(@this_user.creation_time) %>
|
||||
</P>
|
||||
<% end %>
|
||||
|
||||
<h3>User image</h3>
|
||||
<h3><%= t 'user.view.user image heading' %></h3>
|
||||
<% if @this_user.image %>
|
||||
<%= image_tag url_for_file_column(@this_user, "image") %>
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<%= button_to 'Delete Image', :action => 'delete_image' %>
|
||||
<%= button_to t('user.view.delete image'), :action => 'delete_image' %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<br />
|
||||
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
Upload an image<br />
|
||||
<%= t 'user.view.upload an image' %><br />
|
||||
<%= form_tag({:action=>'upload_image'}, :multipart => true)%>
|
||||
<%= file_column_field 'user', 'image' %>
|
||||
<%= submit_tag 'Add Image' %>
|
||||
<%= submit_tag t('user.view.add image') %>
|
||||
</form>
|
||||
<% end %>
|
||||
|
||||
<h3>Description</h3>
|
||||
<h3><%= t 'user.view.description' %></h3>
|
||||
<div id="description"><%= htmlize(@this_user.description) %></div>
|
||||
|
||||
<% if @this_user.home_lat.nil? or @this_user.home_lon.nil? %>
|
||||
<h3>User location</h3>
|
||||
<h3><%= t 'user.view.user location' %></h3>
|
||||
|
||||
No home location has been set.
|
||||
<%= t 'user.view.no home location' %>
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
If you set your location, a pretty map and stuff will appear below. You can set your home location on your <%= link_to 'settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %> page.
|
||||
<%= t 'user.view.if set location', :settings_link => (link_to t('user.view.settings_link_text'), :controller => 'user', :action => 'account', :display_name => @user.display_name) %>
|
||||
<% end %>
|
||||
<% else %>
|
||||
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<h3>Your friends</h3>
|
||||
<h3><%= t 'user.view.your friends' %></h3>
|
||||
<% if @this_user.friends.empty? %>
|
||||
You have not added any friends yet.
|
||||
<%= t 'user.view.no friends' %>
|
||||
<% else %>
|
||||
<table id="friends">
|
||||
<% @this_user.friends.each do |friend| %>
|
||||
|
@ -72,8 +71,8 @@
|
|||
<% end %>
|
||||
</td>
|
||||
<td class="username"><%= link_to h(@friend.display_name), :controller => 'user', :action => 'view', :display_name => @friend.display_name %></td>
|
||||
<td><% if @friend.home_lon and @friend.home_lat %><%= @this_user.distance(@friend).round %>km away<% end %></td>
|
||||
<td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => @friend.id %>)</td>
|
||||
<td><% if @friend.home_lon and @friend.home_lat %><%= t 'user.view.km away', :distance => l(@this_user.distance(@friend).round) %><% end %></td>
|
||||
<td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => @friend.id %>)</td>
|
||||
</tr>
|
||||
<%end%>
|
||||
</table>
|
||||
|
@ -83,9 +82,9 @@
|
|||
|
||||
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<h3>Nearby users:</h3>
|
||||
<h3><%= t 'user.view.nearby users' %></h3>
|
||||
<% if @this_user.nearby.empty? %>
|
||||
There are no users who admit to mapping nearby yet.
|
||||
<%= t 'user.view.no nearby users' %>
|
||||
<% else %>
|
||||
|
||||
<div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px;"></div>
|
||||
|
@ -94,8 +93,8 @@
|
|||
<% @this_user.nearby.each do |nearby| %>
|
||||
<tr>
|
||||
<td class="username"><%= link_to h(nearby.display_name), :controller => 'user', :action => 'view', :display_name => nearby.display_name %></td>
|
||||
<td><%= @this_user.distance(nearby).round %>km away</td>
|
||||
<td class="message">(<%= link_to 'send message', :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
|
||||
<td><%= t 'user.view.no nearby users', :distance => l(@this_user.distance(nearby).round) %></td>
|
||||
<td class="message">(<%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :user_id => nearby.id %>)</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</table>
|
||||
|
@ -106,5 +105,5 @@
|
|||
<br/>
|
||||
<br/>
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<%= link_to 'change your settings', :controller => 'user', :action => 'account', :display_name => @user.display_name %>
|
||||
<%= link_to t('user.view.change your settings'), :controller => 'user', :action => 'account', :display_name => @user.display_name %>
|
||||
<% end %>
|
||||
|
|
|
@ -14,3 +14,25 @@ module Net
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Monkey patch to allow sending of messages in specific locales
|
||||
module ActionMailer
|
||||
class Base
|
||||
adv_attr_accessor :locale
|
||||
private
|
||||
alias_method :old_render_message, :render_message
|
||||
|
||||
def render_message(method_name, body)
|
||||
old_locale= I18n.locale
|
||||
|
||||
begin
|
||||
I18n.locale = @locale
|
||||
message = old_render_message(method_name, body)
|
||||
ensure
|
||||
I18n.locale = old_locale
|
||||
end
|
||||
|
||||
message
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
4
config/initializers/i18n.rb
Normal file
4
config/initializers/i18n.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
require 'globalize/i18n/missing_translations_log_handler'
|
||||
|
||||
I18n.missing_translations_logger = Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
|
||||
I18n.exception_handler = :missing_translations_log_handler
|
271
config/locales/de.yml
Normal file
271
config/locales/de.yml
Normal file
|
@ -0,0 +1,271 @@
|
|||
de:
|
||||
map:
|
||||
view: Karte
|
||||
edit: Bearbeiten
|
||||
coordinates: "Koordinaten:"
|
||||
browse:
|
||||
changeset:
|
||||
changeset: "Changeset:"
|
||||
download: "Download {{changeset_xml_link}} oder {{osmchange_xml_link}}"
|
||||
changesetxml: "Changeset XML"
|
||||
osmchangexml: "osmChange XML"
|
||||
changeset_details:
|
||||
created_at: "Erstellt am:"
|
||||
closed_at: "Geschlossen am:"
|
||||
belongs_to: "Erstellt von:"
|
||||
bounding_box: "Zeichen-Box:"
|
||||
no_bounding_box: "Es wurde keine Zeichen-Box für dieses Changeset gespeichert."
|
||||
show_area_box: "Zeige Gebiet"
|
||||
box: "Box"
|
||||
has_nodes: "Enthält folgende {{node_count}} Knoten:"
|
||||
has_ways: "Enthält folgende {{way_count}} Wege:"
|
||||
has_relations: "Enthält folgende {{relation_count}} Relationen:"
|
||||
common_details:
|
||||
edited_at: "Bearbeitet am:"
|
||||
edited_by: "Bearbeitet von:"
|
||||
version: "Version:"
|
||||
in_changeset: "In Changeset:"
|
||||
containing_relation:
|
||||
relation: "Relation {{relation_name}}"
|
||||
relation_as: "(als {{relation_role}})"
|
||||
map:
|
||||
loading: "Lädt..."
|
||||
deleted: "Gelöscht"
|
||||
view_larger_map: "Größere Karte"
|
||||
node_details:
|
||||
part_of: "Teil von:"
|
||||
node_history:
|
||||
node_history: "Knoten Vergangenheit"
|
||||
download: "{{download_xml_link}} oder {{view_details_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_details: "Details"
|
||||
node:
|
||||
node: "Knoten"
|
||||
node_title: "Knoten: {{node_name}}"
|
||||
download: "{{download_xml_link}} oder {{view_history_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_history: "Verlauf"
|
||||
not_found:
|
||||
sorry: "Sorry, das {{type}} mit der Nummer {{id}} konnte nicht gefunden werden."
|
||||
paging_nav:
|
||||
showing_page: "Zeige Seite"
|
||||
of: "von"
|
||||
relation_details:
|
||||
members: "Mitglieder:"
|
||||
part_of: "Teil von:"
|
||||
relation_history:
|
||||
relation_history: "Relation Vergangenheit"
|
||||
relation_history_title: "Relation Vergangenheit: {{relation_name}}"
|
||||
relation_member:
|
||||
as: "als"
|
||||
relation:
|
||||
relation: "Relation"
|
||||
relation_title: "Relation: {{relation_name}}"
|
||||
download: "{{download_xml_link}} oder {{view_history_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_history: "Vergangenheit"
|
||||
start:
|
||||
view_data: "Daten des aktuellen Kartenausschnittes"
|
||||
manually_select: "Manuell einen anderen Kartenausschnitt auswählen"
|
||||
start_rjs:
|
||||
data_frame_title: "Daten"
|
||||
zoom_or_select: "Zoom in or select an area of the map to view"
|
||||
drag_a_box: "Drag a box on the map to select an area"
|
||||
manually_select: "Manuell einen anderen Kartenausschnitt auswählen"
|
||||
loaded_an_area: "You have loaded an area which contains"
|
||||
browsers: "features. In general, some browsers may not cope well with displaying this quanity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below."
|
||||
load_data: "Lade Daten"
|
||||
unable_to_load: "Unable to load: Bounding box size of"
|
||||
must_be_smaller: "is too large (must be smaller than 0.25)"
|
||||
loading: "Loading..."
|
||||
show_history: "Vergangenheit"
|
||||
wait: "Warten..."
|
||||
history_for: "Vergangenheit für"
|
||||
details: "Details"
|
||||
private_user: "private user"
|
||||
edited_by: "Bearbeitet von"
|
||||
at_timestamp: "at"
|
||||
diary_entry:
|
||||
list:
|
||||
new: Neuer Tagebucheintrag
|
||||
new_title: Verfasse einen neuen Tagebucheintrag
|
||||
no_entries: Keine Tagebucheinträge
|
||||
recent_entries: "Letzte Tagebucheinträge: "
|
||||
older_entries: Ältere Einträge
|
||||
newer_entries: Neuere Einträge
|
||||
edit:
|
||||
subject: "Betreff: "
|
||||
body: "Text: "
|
||||
language: "Sprache: "
|
||||
location: "Ort: "
|
||||
latitude: "Breitengrad: "
|
||||
longitude: "Längengrad: "
|
||||
use_map_link: "Karte nutzen"
|
||||
save_button: "Speichern"
|
||||
marker_text: Ort des Tagebucheintrages
|
||||
no_such_entry:
|
||||
heading: "Kein Eintrag mit der Nummer: {{id}}"
|
||||
body: "Leider gibt es keinen Eintrag oder Kommentar mit dieser Nummer {{id}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt."
|
||||
no_such_user:
|
||||
body: "Es gibt leider keinen Benutzer mit dem Namen {{user}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt."
|
||||
posted_by: "Verfasst von {{link_user}} am {{created}} in {{language}}"
|
||||
comment_link: Kommentar zu diesem Eintrag
|
||||
reply_link: Antworte auf diesen Eintrag
|
||||
comment_count:
|
||||
one: 1 Kommentar
|
||||
other: "{{count}} Kommentare"
|
||||
edit_link: Bearbeite diesen Eintrag
|
||||
comment_from: "Kommentar von {{link_user}} um {{comment_created_at}}"
|
||||
layouts:
|
||||
welcome_user: "Willkommen, {{user_link}}"
|
||||
inbox: "Posteingang ({{size}})"
|
||||
logout: Abmelden
|
||||
log_in: Anmelden
|
||||
sign_up: Registrieren
|
||||
view: Karte
|
||||
edit: Bearbeiten
|
||||
history: Verlauf
|
||||
export: Export
|
||||
gps_traces: GPS Tracks
|
||||
user_diaries: Benutzer Tagebücher
|
||||
tag_line: Die freie Wiki-Weltkarte
|
||||
intro_1: "OpenStreetMap ist eine freie, editierbare Karte der gesamten Welt, die von Menschen wie dir erstellt wird."
|
||||
intro_2: "OpenStreetMap ermöglicht es geographische Daten gemeinschaftlich von überall auf der Welt anzuschauen und zu bearbeiten."
|
||||
intro_3: "Das Hosting der OpenStreetMap-Server wird freundlicherweise von {{ucl}} und {{bytemark}} unterstützt."
|
||||
osm_offline: "Die OpenStreetMap Datenbank ist im Moment wegen wichtiger Wartungsarbeiten nicht verfügbar."
|
||||
osm_read_only: 'Die OpenStreetMap Datenbank ist im Moment wegen wichtiger Wartungsarbeiten im "Nur-Lesen-Modus".'
|
||||
donate: "Unterstütze OpenStreetMap mit einer {{link}} für die Hardware Spendenaktion."
|
||||
donate_link_text: Spende
|
||||
sotm: 'Komme zur OpenStreetMap Konferenz 2009, <a href="http://www.stateofthemap.org">The State of the Map</a>, am 10.-12. Juli in Amsterdam!'
|
||||
alt_donation: Spenden
|
||||
notifier:
|
||||
diary:
|
||||
banner1: "* Bitte antworte nicht auf diese E-Mail. *"
|
||||
banner2: "* Verwende stattdessen die OpenStreetMap Website zum Antworten. *"
|
||||
site:
|
||||
index:
|
||||
js_1: "Dein Browser unterstützt kein Javascript oder du hast es deaktiviert."
|
||||
js_2: "OpenStreetMap nutzt Javascript für die Kartendarstellung."
|
||||
js_3: 'Du kannst den <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> nutzen, wenn du kein Javascript nutzen kannst.'
|
||||
permalink: Permalink
|
||||
license: "Lizenziert unter Creative Commons Attribution-Share Alike 2.0 Lizenz durch das OpenStreetMap Projekt und seine Mitwirkenden."
|
||||
edit:
|
||||
not_public: "Deine Einstellungen sind auf anonymes Bearbeiten gestellt."
|
||||
not_public_description: "Du musst deine Einstellungen auf öffentliches Bearbeiten umstellen. Dies kannst du auf deiner Benutzerseite tun {{user_page}}."
|
||||
user_page_link: Benutzerseite
|
||||
anon_edits: "({{link}})"
|
||||
anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
anon_edits_link_text: "Hier findest du mehr Infos dazu."
|
||||
flash_player_required: 'Du benötigst den Flash Player um Potlatch, den OpenStreetMap Flash Editor zu benutzen. <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Lade den Flash Player von Adobe.com herunter</a>. <a href="http://wiki.openstreetmap.org/wiki/DE:Editing">Einige andere Möglichkeiten</a>, um OpenStreetMap zu editieren, sind hier beschrieben.'
|
||||
potlatch_unsaved_changes: "Du hast deine Arbeit noch nicht gespeichert. (Um sie in Potlach zu speichern, klicke auf eine leere Fläche bzw. deselektiere den Weg oder Punkt, wenn du im Live Modus editierst, oder klicke auf Speichern, wenn ein Speicherbutton vorhanden ist.)"
|
||||
sidebar:
|
||||
search_results: Suchergebnisse
|
||||
close: Schließen
|
||||
search:
|
||||
search: Suchen
|
||||
where_am_i: "Wo bin ich?"
|
||||
submit_text: "Los"
|
||||
searching: "Sucht..."
|
||||
search_help: "Beispiele: 'München', 'Heinestraße, Würzburg', 'CB2 5AQ', or 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>mehr Beispiele...</a>"
|
||||
key:
|
||||
map_key: "Legende"
|
||||
user:
|
||||
login:
|
||||
heading: Anmelden
|
||||
please login: "Bitte melde dich an oder {{create_user_link}}."
|
||||
create_account: erstelle ein Benutzerkonto
|
||||
email or username: "E-Mail-Adresse oder Benutzername: "
|
||||
password: "Passwort: "
|
||||
lost password link: "Passwort vergessen?"
|
||||
login_button: Anmelden
|
||||
lost_password:
|
||||
title: Passwort verloren
|
||||
heading: "Passwort vergessen?"
|
||||
email address: "E-Mail-Adresse:"
|
||||
new password button: "Sende mir ein neues Passwort"
|
||||
notice email on way: "Ärgerlich, dass du es verloren hast :-( aber eine E-Mail ist schon auf dem Weg, so dass du es bald zurücksetzen kannst."
|
||||
notice email cannot find: "Konnte diese E-Mail-Adresse leider nicht finden."
|
||||
reset_password:
|
||||
title: Passwort zurücksetzen
|
||||
flash changed check mail: "Dein Passwort wurde geändert und ist auf dem Weg in deinen E-Mail-Posteingang :-)"
|
||||
flash token bad: "Konnte das Kürzel nicht finden, überprüfe bitte die URL?"
|
||||
new:
|
||||
heading: Erstelle ein Benutzerkonto
|
||||
no_auto_account_create: "Leider ist das automatische Erstellen eines Benutzerkontos gerade nicht möglich."
|
||||
contact_webmaster: 'Bitte kontaktiere den <a href="mailto:webmaster@openstreetmap.org">Webmaster</a> um ein Benutzerkonto erstellt zu bekommen - wir werden die Anfrage so schnell wie möglich bearbeiten. '
|
||||
fill_form: "Fülle das Formular aus und dir wird eine kurze E-Mail zur Aktivierung deines Accounts geschickt."
|
||||
license_agreement: 'Mit der Accounterstellung stimmst du zu, dass alle Daten, die du zu openstreetmap.org hochlädst und alle Daten, die du mit irgendeinem externem Programm, dass sich mit openstreetmap.org verbindet, erstellst, (nicht exklusiv) unter <a href="http://creativecommons.org/licenses/by-sa/2.0/">dieser Creative Commons Lizenz (by-sa)</a> lizenziert werden.'
|
||||
email address: "E-Mail-Adresse: "
|
||||
confirm email address: "Bestätige deine E-Mail-Adresse: "
|
||||
not displayed publicly: 'Nicht öffentlich sichtbar (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">Datenschutzrichtlinie</a>)'
|
||||
display name: "Benutzername: "
|
||||
password: "Passwort: "
|
||||
confirm password: "Passwort bestätigen: "
|
||||
signup: Registieren
|
||||
flash create success message: "Benutzer wurde erfolgreich erstellt. Ein Bestätigungscode wurde dier per E-Mail zugesendet, bitte bestätige diesen und du kannst mit dem Mappen beginnen<br /><br />Du kannst dich nicht einloggen bevor du deine E-Mail-Adresse mit dem Bestätigungscode bestätigt hast.<br /><br />Falls du ein Antispam System nutzt, dass Bestätigungsanfragen sendet, dann setze bitte webmaster@openstreetmap.org auf deine Whitelist, weil wir auf keine Bestätigungsanfrage antworten können."
|
||||
no_such_user:
|
||||
body: "Es gibt leider keinen Benutzer mit dem Namen {{user}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt."
|
||||
view:
|
||||
my diary: Mein Tagebuch
|
||||
new diary entry: neuer Tagebucheintrag
|
||||
my edits: Meine Bearbeitungen
|
||||
my traces: Meine Tracks
|
||||
my settings: Meine Einstellungen
|
||||
send message: Sende Nachricht
|
||||
diary: Tagebuch
|
||||
edits: Bearbeitungen
|
||||
traces: Tracks
|
||||
remove as friend: Als Freund entfernen
|
||||
add as friend: Als Freund hinzufügen
|
||||
mapper since: "Mapper seit: "
|
||||
user image heading: Benutzerbild
|
||||
delete image: Lösche Bild
|
||||
upload an image: Lade ein Bild hoch
|
||||
add image: Füge ein Bild hinzu
|
||||
description: Beschreibung
|
||||
user location: Standort des Benutzers
|
||||
no home location: "Es wurde kein Standort angegeben."
|
||||
if set location: "Wenn du deinen Standort angegeben hast, erscheint eine Karte am Seitenende. Du kannst deinen Standort in deinen {{settings_link}} ändern."
|
||||
settings_link_text: Einstellungen
|
||||
your friends: Deine Freunde
|
||||
no friends: Du hast bis jetzt keine Freunde hinzugefügt.
|
||||
km away: "{{distance}}km entfernt"
|
||||
nearby users: "Benutzer in der Nähe: "
|
||||
no nearby users: "Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben."
|
||||
change your settings: Ändere deine Einstellungen
|
||||
friend_map:
|
||||
your location: Dein Standort
|
||||
nearby mapper: "Mapper in der Nähe: "
|
||||
account:
|
||||
my settings: Meine Einstellungen
|
||||
email never displayed publicly: "(nicht öffentlich sichtbar)"
|
||||
public editing:
|
||||
heading: "Öffentliches Bearbeiten: "
|
||||
enabled: "Aktiviert. Nicht anonym, bearbeiten der Kartendaten möglich."
|
||||
enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
enabled link text: "Was ist das?"
|
||||
disabled: "Deaktiviert, bearbeiten von Daten nicht möglich, alle bisherigen Bearbeitungen sind anonym."
|
||||
disabled link text: "Warum kann ich nichts bearbeiten?"
|
||||
profile description: "Profil Beschreibung: "
|
||||
home location: "Standort: "
|
||||
no home location: "Du hast noch keinen Standort angegeben."
|
||||
latitude: "Breitengrad: "
|
||||
longitude: "Längengrad: "
|
||||
update home location on click: "Standort bei Klick auf die Karte aktualisieren?"
|
||||
save changes button: Speichere Änderungen
|
||||
make edits public button: Mache alle meine Bearbeitungen öffentlich
|
||||
return to profile: Zurück zum Profil
|
||||
flash update success confirm needed: "Benutzerinformationen erfolgreich aktualisiert. Du erzählst eine E-Mail, um deine neue E-Mail-Adresse zu bestätigen."
|
||||
flash update success: "Benutzerinformationen erfolgreich aktualisiert."
|
||||
confirm:
|
||||
heading: Bestätige das Benutzerkonto
|
||||
press confirm button: "Aktiviere dein Account, indem du auf den Bestätigungsbutton klickst."
|
||||
button: Bestätigen
|
||||
confirm email:
|
||||
heading: Bestätige die Änderung der E-Mail-Adresse
|
||||
press confirm button: "Bestätige deine neue E-Mail-Adresse, indem du auf den Bestätigungsbutton klickst."
|
||||
button: Bestätigen
|
||||
set_home:
|
||||
flash success: "Standort erfolgreich gespeichert"
|
||||
go_public:
|
||||
flash success: "Alle deine Bearbeitungen sind nun öffentlich und du kannst nun die Kartendaten bearbeiten."
|
507
config/locales/en.yml
Normal file
507
config/locales/en.yml
Normal file
|
@ -0,0 +1,507 @@
|
|||
en:
|
||||
map:
|
||||
view: View
|
||||
edit: Edit
|
||||
coordinates: "Coordinates:"
|
||||
browse:
|
||||
changeset:
|
||||
title: "Changeset"
|
||||
changeset: "Changeset:"
|
||||
download: "Download {{changeset_xml_link}} or {{osmchange_xml_link}}"
|
||||
changesetxml: "Changeset XML"
|
||||
osmchangexml: "osmChange XML"
|
||||
changeset_details:
|
||||
created_at: "Created at:"
|
||||
closed_at: "Closed at:"
|
||||
belongs_to: "Belongs to:"
|
||||
bounding_box: "Bounding box:"
|
||||
no_bounding_box: "No bounding box has been stored for this changeset."
|
||||
show_area_box: "Show Area Box"
|
||||
box: "box"
|
||||
has_nodes: "Has the following {{node_count}} nodes:"
|
||||
has_ways: "Has the following {{way_count}} ways:"
|
||||
has_relations: "Has the following {{relation_count}} relations:"
|
||||
common_details:
|
||||
edited_at: "Edited at:"
|
||||
edited_by: "Edited by:"
|
||||
version: "Version:"
|
||||
in_changeset: "In changeset:"
|
||||
containing_relation:
|
||||
relation: "Relation {{relation_name}}"
|
||||
relation_as: "(as {{relation_role}})"
|
||||
map:
|
||||
loading: "Loading..."
|
||||
deleted: "Deleted"
|
||||
view_larger_map: "View Larger Map"
|
||||
node_details:
|
||||
coordinates: "Coordinates: "
|
||||
part_of: "Part of:"
|
||||
node_history:
|
||||
node_history: "Node History"
|
||||
download: "{{download_xml_link}} or {{view_details_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_details: "view details"
|
||||
node:
|
||||
node: "Node"
|
||||
node_title: "Node: {{node_name}}"
|
||||
download: "{{download_xml_link}} or {{view_history_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_history: "view history"
|
||||
not_found:
|
||||
sorry: "Sorry, the {{type}} with the id {{id}}, could not be found."
|
||||
paging_nav:
|
||||
showing_page: "Showing page"
|
||||
of: "of"
|
||||
relation_details:
|
||||
members: "Members:"
|
||||
part_of: "Part of:"
|
||||
relation_history:
|
||||
relation_history: "Relation History"
|
||||
relation_history_title: "Relation History: {{relation_name}}"
|
||||
relation_member:
|
||||
as: "as"
|
||||
relation:
|
||||
relation: "Relation"
|
||||
relation_title: "Relation: {{relation_name}}"
|
||||
download: "{{download_xml_link}} or {{view_history_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_history: "view history"
|
||||
start:
|
||||
view_data: "View data for current map view"
|
||||
manually_select: "Manually select a different area"
|
||||
start_rjs:
|
||||
data_frame_title: "Data"
|
||||
zoom_or_select: "Zoom in or select an area of the map to view"
|
||||
drag_a_box: "Drag a box on the map to select an area"
|
||||
manually_select: "Manually select a different area"
|
||||
loaded_an_area: "You have loaded an area which contains"
|
||||
browsers: "features. In general, some browsers may not cope well with displaying this quanity of data. Generally, browsers work best at displaying less than 100 features at a time: doing anything else may make your browser slow/unresponsive. If you are sure you want to display this data, you may do so by clicking the button below."
|
||||
load_data: "Load Data"
|
||||
unable_to_load: "Unable to load: Bounding box size of"
|
||||
must_be_smaller: "is too large (must be smaller than 0.25)"
|
||||
loading: "Loading..."
|
||||
show_history: "Show History"
|
||||
wait: "Wait..."
|
||||
history_for: "History for"
|
||||
details: "Details"
|
||||
private_user: "private user"
|
||||
edited_by: "Edited by"
|
||||
at_timestamp: "at"
|
||||
tag_details:
|
||||
tags: "Tags:"
|
||||
way_details:
|
||||
nodes: "Nodes:"
|
||||
part_of: "Part of:"
|
||||
way_history:
|
||||
way_history: "Way History"
|
||||
way_history_title: "Way History: {{way_name}}"
|
||||
download: "{{download_xml_link}} or {{view_details_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_details: "view details"
|
||||
way:
|
||||
way: "Way"
|
||||
way_title: "Way: {{way_name}}"
|
||||
download: "{{download_xml_link}} or {{view_history_link}}"
|
||||
download_xml: "Download XML"
|
||||
view_history: "view history"
|
||||
changeset:
|
||||
changeset_paging_nav:
|
||||
showing_page: "Showing page"
|
||||
of: "of"
|
||||
changeset:
|
||||
still_editing: "(still editing)"
|
||||
anonymous: "Anonymous"
|
||||
no_comment: "(none)"
|
||||
no_edits: "(no edits)"
|
||||
show_area_box: "show area box"
|
||||
big_area: "(big)"
|
||||
view_changeset_details: "View changeset details"
|
||||
more: "more"
|
||||
changesets:
|
||||
id: "ID"
|
||||
saved_at: "Saved at"
|
||||
user: "User"
|
||||
comment: "Comment"
|
||||
area: "Area"
|
||||
list_bbox:
|
||||
history: "History"
|
||||
changesets_within_the_area: "Changesets within the area:"
|
||||
show_area_box: "show area box"
|
||||
no_changesets: "No changesets"
|
||||
all_changes_everywhere: "For all changes everywhere see {{recent_changes_link}}"
|
||||
recent_changes: "Recent Changes"
|
||||
no_area_specified: "No area specified"
|
||||
first_use_view: "First use the {{view_tab_link}} to pan and zoom to an area of interest, then click the history tab."
|
||||
view_the_map: "view the map"
|
||||
view_tab: "view tab"
|
||||
alternatively_view: "Alternatively, view all {{recent_changes_link}}"
|
||||
list:
|
||||
recent_changes: "Recent Changes"
|
||||
recently_edited_changesets: "Recently edited changesets:"
|
||||
for_more_changesets: "For more changesets, select a user and view their edits, or see the editing 'history' of a specific area."
|
||||
list_user:
|
||||
edits_by_username: "Edits by {{username_link}}"
|
||||
no_visible_edits_by: "No visible edits by {{name}}."
|
||||
for_all_changes: "For changes by all users see {{recent_changes_link}}"
|
||||
recent_changes: "Recent Changes"
|
||||
diary_entry:
|
||||
list:
|
||||
title: "Users' diaries"
|
||||
new: New Diary Entry
|
||||
new_title: Compose a new entry in your user diary
|
||||
no_entries: No diary entries
|
||||
recent_entries: "Recent diary entries: "
|
||||
older_entries: Older Entries
|
||||
newer_entries: Newer Entries
|
||||
edit:
|
||||
title: "Edit diary entry"
|
||||
subject: "Subject: "
|
||||
body: "Body: "
|
||||
language: "Language: "
|
||||
location: "Location: "
|
||||
latitude: "Latitude: "
|
||||
longitude: "Longitude: "
|
||||
use_map_link: "use map"
|
||||
save_button: "Save"
|
||||
marker_text: Diary entry location
|
||||
no_such_entry:
|
||||
heading: "No entry with the id: {{id}}"
|
||||
body: "Sorry, there is no diary entry or comment with the id {{id}}. Please check your spelling, or maybe the link you clicked is wrong."
|
||||
no_such_user:
|
||||
body: "Sorry, there is no user with the name {{user}}. Please check your spelling, or maybe the link you clicked is wrong."
|
||||
posted_by: "Posted by {{link_user}} at {{created}} in {{language}}"
|
||||
comment_link: Comment on this entry
|
||||
reply_link: Reply to this entry
|
||||
comment_count:
|
||||
one: 1 comment
|
||||
other: "{{count}} comments"
|
||||
edit_link: Edit this entry
|
||||
comment_from: "Comment from {{link_user}} at {{comment_created_at}}"
|
||||
export:
|
||||
start:
|
||||
area_to_export: "Area to Export"
|
||||
manually_select: "Manually select a different area"
|
||||
format_to_export: "Format to Export"
|
||||
osm_xml_data: "OpenStreetMap XML Data"
|
||||
mapnik_image: "Mapnik Image"
|
||||
osmarender_image: "Osmarender Image"
|
||||
embeddable_html: "Embeddable HTML"
|
||||
licence: "Licence"
|
||||
export_details: 'OpenStreetMap data is licensed under the <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0 license</a>.'
|
||||
options: "Options"
|
||||
format: "Format"
|
||||
scale: "Scale"
|
||||
max: "max"
|
||||
image_size: "Image Size"
|
||||
zoom: "Zoom"
|
||||
add_marker: "Add a marker to the map"
|
||||
latitude: "Lat:"
|
||||
longitude: "Lon:"
|
||||
output: "Output"
|
||||
paste_html: "Paste HTML to embed in website"
|
||||
export_button: "Export"
|
||||
start_rjs:
|
||||
export: "Export"
|
||||
drag_a_box: "Drag a box on the map to select an area"
|
||||
manually_select: "Manually select a different area"
|
||||
click_add_marker: "Click on the map to add a marker"
|
||||
change_marker: "Change marker position"
|
||||
add_marker: "Add a marker to the map"
|
||||
view_larger_map: "View Larger Map"
|
||||
geocoder:
|
||||
results:
|
||||
results: "Results"
|
||||
type_from_source: "{{type}} from {{source_link}}"
|
||||
no_results: "No results found"
|
||||
layouts:
|
||||
welcome_user: "Welcome, {{user_link}}"
|
||||
inbox: "inbox ({{size}})"
|
||||
logout: logout
|
||||
log_in: log in
|
||||
sign_up: sign up
|
||||
view: View
|
||||
edit: Edit
|
||||
history: History
|
||||
export: Export
|
||||
gps_traces: GPS Traces
|
||||
user_diaries: User Diaries
|
||||
tag_line: The Free Wiki World Map
|
||||
intro_1: "OpenStreetMap is a free editable map of the whole world. It is made by people like you."
|
||||
intro_2: "OpenStreetMap allows you to view, edit and use geographical data in a collaborative way from anywhere on Earth."
|
||||
intro_3: "OpenStreetMap's hosting is kindly supported by the {{ucl}} and {{bytemark}}."
|
||||
osm_offline: "The OpenStreetMap database is currently offline while essential database maintenance work is carried out."
|
||||
osm_read_only: "The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out."
|
||||
donate: "Support OpenStreetMap by {{link}} to the Hardware Upgrade Fund."
|
||||
donate_link_text: donating
|
||||
help_wiki: "Help & Wiki"
|
||||
news_blog: "News blog"
|
||||
shop: Shop
|
||||
sotm: 'Come to the 2009 OpenStreetMap Conference, The State of the Map, July 10-12 in Amsterdam!'
|
||||
alt_donation: Make a Donation
|
||||
notifier:
|
||||
diary:
|
||||
banner1: "* Please do not reply to this email. *"
|
||||
banner2: "* Use the OpenStreetMap web site to reply. *"
|
||||
hi: "Hi {{to_user}},"
|
||||
header: "{{from_user}} has commented on your recent OpenStreetMap diary entry with the subject {{subject}}:"
|
||||
footer: "You can also read the comment at {{readurl}} and you can comment at {{commenturl}} or reply at {{replyurl}}"
|
||||
signup_confirm_plain:
|
||||
greeting: "Hi there!"
|
||||
hopefully_you: "Someone (hopefully you) would like to create an account over at"
|
||||
# next two translations run-on : please word wrap appropriately
|
||||
click_the_link_1: "If this is you, welcome! Please click the link below to confirm your"
|
||||
click_the_link_2: "account and read on for more information about OpenStreetMap."
|
||||
introductory_video: "You can watch an introductory video to OpenStreetMap here:"
|
||||
more_videos: "There are more videos here:"
|
||||
the_wiki: "Get reading about OpenStreetMap on the wiki:"
|
||||
opengeodata: "OpenGeoData.org is OpenStreetMap's blog, and it has podcasts too:"
|
||||
wiki_signup: "You may also want to sign up to the OpenStreetMap wiki at:"
|
||||
# next four translations are in pairs : please word wrap appropriately
|
||||
user_wiki_1: "It is recommended that you create a user wiki page, which includes"
|
||||
user_wiki_2: "category tags noting where you are, such as [[Category:Users_in_London]]."
|
||||
current_user_1: "A list of current users in categories, based on where in the world"
|
||||
current_user_2: "they are, is available from:"
|
||||
signup_confirm_html:
|
||||
greeting: "Hi there!"
|
||||
hopefully_you: "Someone (hopefully you) would like to create an account over at"
|
||||
click_the_link: "If this is you, welcome! Please click the link below to confirm that account and read on for more information about OpenStreetMap"
|
||||
introductory_video: "You can watch an {{introductory_video_link}}."
|
||||
video_to_openstreetmap: "introductory video to OpenStreetMap"
|
||||
more_videos: "There are {{more_videos_link}}."
|
||||
more_videos_here: "more videos here"
|
||||
get_reading: 'Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</p> or <a href="http://www.opengeodata.org/">the opengeodata blog</a> which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!'
|
||||
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
|
||||
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
|
||||
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'
|
||||
message:
|
||||
inbox:
|
||||
my_inbox: "My inbox"
|
||||
outbox: "outbox"
|
||||
you_have: "You have {{new_count}} new messages and {{old_count}} old messages"
|
||||
from: "From"
|
||||
subject: "Subject"
|
||||
date: "Date"
|
||||
no_messages_yet: "You have no messages yet. Why not get in touch with some of the {{people_mapping_nearby_link}}?"
|
||||
people_mapping_nearby: "people mapping nearby"
|
||||
message_summary:
|
||||
unread_button: "Mark as unread"
|
||||
read_button: "Mark as read"
|
||||
reply_button: "Reply"
|
||||
new:
|
||||
send_message_to: "Send a new message to {{name}}"
|
||||
subject: "Subject"
|
||||
body: "Body"
|
||||
send_button: "Send"
|
||||
back_to_inbox: "Back to inbox"
|
||||
no_such_user:
|
||||
no_such_user: "No such user or message"
|
||||
sorry: "Sorry there is no user or message with that name or id"
|
||||
outbox:
|
||||
my_inbox: "My {{inbox_link}}"
|
||||
inbox: "inbox"
|
||||
outbox: "outbox"
|
||||
you_have_sent_messages: "You have {{sent_count}} sent messages"
|
||||
to: "To"
|
||||
subject: "Subject"
|
||||
date: "Date"
|
||||
no_sent_messages: "You have no sent messages yet. Why not get in touch with some of the {{people_mapping_nearby_link}}?"
|
||||
people_mapping_nearby: "people mapping nearby"
|
||||
read:
|
||||
reading_your_messages: "Reading your messages"
|
||||
from: "From"
|
||||
subject: "Subject"
|
||||
date: "Date"
|
||||
reply_button: "Reply"
|
||||
unread_button: "Mark as unread"
|
||||
back_to_inbox: "Back to inbox"
|
||||
reading_your_sent_messages: "Reading your sent messages"
|
||||
to: "To"
|
||||
back_to_outbox: "Back to outbox"
|
||||
site:
|
||||
index:
|
||||
js_1: "You are either using a browser that doesn't support javascript, or you have disabled javascript."
|
||||
js_2: "OpenStreetMap uses javascript for its slippy map."
|
||||
js_3: 'You may want to try the <a href="http://tah.openstreetmap.org/Browse/">Tiles@Home static tile browser</a> if you are unable to enable javascript.'
|
||||
permalink: Permalink
|
||||
license: "Licensed under the Creative Commons Attribution-Share Alike 2.0 license by the OpenStreetMap project and its contributors."
|
||||
edit:
|
||||
not_public: "You haven't set your edits to be public."
|
||||
not_public_description: "You can no longer edit the map unless you do so. You can set your edits as public from your {{user_page}}."
|
||||
user_page_link: user page
|
||||
anon_edits: "({{link}})"
|
||||
anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
anon_edits_link_text: "Find out why this is the case."
|
||||
flash_player_required: 'You need a Flash player to use Potlatch, the OpenStreetMap Flash editor. You can <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">download Flash Player from Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Several other options</a> are also available for editing OpenStreetMap.'
|
||||
potlatch_unsaved_changes: "You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in list mode, or click save if you have a save button.)"
|
||||
sidebar:
|
||||
search_results: Search Results
|
||||
close: Close
|
||||
search:
|
||||
search: Search
|
||||
where_am_i: "Where am I?"
|
||||
submit_text: "Go"
|
||||
searching: "Searching..."
|
||||
search_help: "examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', or 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>more examples...</a>"
|
||||
key:
|
||||
map_key: "Map key"
|
||||
trace:
|
||||
create:
|
||||
upload: "Upload GPS Trace"
|
||||
edit:
|
||||
filename: "Filename:"
|
||||
uploaded_at: "Uploaded at:"
|
||||
points: "Points:"
|
||||
start_coord: "Start coordinate:"
|
||||
edit: "edit"
|
||||
owner: "Owner:"
|
||||
description: "Description:"
|
||||
tags: "Tags:"
|
||||
save_button: "Save Changes"
|
||||
no_such_user:
|
||||
no_such_user: "Sorry, there is no user with the name {{name}}. Please check your spelling, or maybe the link you clicked is wrong."
|
||||
trace_form:
|
||||
upload_gpx: "Upload GPX File"
|
||||
description: "Description"
|
||||
tags: "Tags"
|
||||
public: "Public?"
|
||||
upload_button: "Upload"
|
||||
help: "Help"
|
||||
trace_header:
|
||||
see_just_your_traces: "See just your traces, or upload a trace"
|
||||
see_all_traces: "See all traces"
|
||||
see_your_traces: "See all your traces"
|
||||
traces_waiting: "You have {{count}} traces waiting for upload. Please consider waiting for these to finish before uploading any more, so as not to block the queue for other users."
|
||||
trace_optionals:
|
||||
tags: "Tags"
|
||||
view:
|
||||
pending: "PENDING"
|
||||
filename: "Filename:"
|
||||
download: "download"
|
||||
uploaded: "Uploaded at:"
|
||||
points: "Points:"
|
||||
start_coordinates: "Start coordinate:"
|
||||
map: "map"
|
||||
edit: "edit"
|
||||
owner: "Owner:"
|
||||
description: "Description:"
|
||||
tags: "Tags"
|
||||
none: "None"
|
||||
make_public: "Make this track public permanently"
|
||||
edit_track: "Edit this track"
|
||||
delete_track: "Delete this track"
|
||||
trace_paging_nav:
|
||||
showing: "Showing page"
|
||||
of: "of"
|
||||
trace:
|
||||
pending: "PENDING"
|
||||
more: "more"
|
||||
trace_details: "View Trace Details"
|
||||
view_map: "View Map"
|
||||
edit: "edit"
|
||||
edit_map: "Edit Map"
|
||||
public: "PUBLIC"
|
||||
pritate: "PRIVATE"
|
||||
by: "by"
|
||||
in: "in"
|
||||
user:
|
||||
login:
|
||||
heading: "Login"
|
||||
please login: "Please login or {{create_user_link}}."
|
||||
create_account: "create an account"
|
||||
email or username: "Email Address or Username: "
|
||||
password: "Password: "
|
||||
lost password link: "Lost your password?"
|
||||
login_button: "Login"
|
||||
lost_password:
|
||||
title: "lost password"
|
||||
heading: "Forgotten Password?"
|
||||
email address: "Email Address:"
|
||||
new password button: "Send me a new password"
|
||||
notice email on way: "Sorry you lost it :-( but an email is on its way so you can reset it soon."
|
||||
notice email cannot find: "Couldn't find that email address, sorry."
|
||||
reset_password:
|
||||
title: "reset password"
|
||||
flash changed check mail: "Your password has been changed and is on its way to your mailbox :-)"
|
||||
flash token bad: "Didn't find that token, check the URL maybe?"
|
||||
new:
|
||||
heading: "Create a User Account"
|
||||
no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically."
|
||||
contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible. '
|
||||
fill_form: "Fill in the form and we'll send you a quick email to activate your account."
|
||||
license_agreement: 'By creating an account, you agree that all work uploaded to openstreetmap.org and all data created by use of any tools which connect to openstreetmap.org is to be (non-exclusively) licensed under <a href="http://creativecommons.org/licenses/by-sa/2.0/">this Creative Commons license (by-sa)</a>.'
|
||||
email address: "Email Address: "
|
||||
confirm email address: "Confirm Email Address: "
|
||||
not displayed publicly: 'Not displayed publicly (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)'
|
||||
display name: "Display Name: "
|
||||
password: "Password: "
|
||||
confirm password: "Confirm Password: "
|
||||
signup: Signup
|
||||
flash create success message: "User was successfully created. Check your email for a confirmation note, and you\'ll be mapping in no time :-)<br /><br />Please note that you won't be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
|
||||
no_such_user:
|
||||
body: "Sorry, there is no user with the name {{user}}. Please check your spelling, or maybe the link you clicked is wrong."
|
||||
view:
|
||||
my diary: my diary
|
||||
new diary entry: new diary entry
|
||||
my edits: my edits
|
||||
my traces: my traces
|
||||
my settings: my settings
|
||||
send message: send message
|
||||
diary: diary
|
||||
edits: edits
|
||||
traces: traces
|
||||
remove as friend: remove as friend
|
||||
add as friend: add as friend
|
||||
mapper since: "Mapper since: "
|
||||
ago: "({{time_in_words_ago}} ago)"
|
||||
user image heading: User image
|
||||
delete image: Delete Image
|
||||
upload an image: Upload an image
|
||||
add image: Add Image
|
||||
description: Description
|
||||
user location: User location
|
||||
no home location: "No home location has been set."
|
||||
if set location: "If you set your location, a pretty map and stuff will appear below. You can set your home location on your {{settings_link}} page."
|
||||
settings_link_text: settings
|
||||
your friends: Your friends
|
||||
no friends: You have not added any friends yet.
|
||||
km away: "{{distance}}km away"
|
||||
nearby users: "Nearby users: "
|
||||
no nearby users: "There are no users who admit to mapping nearby yet."
|
||||
change your settings: change your settings
|
||||
friend_map:
|
||||
your location: Your location
|
||||
nearby mapper: "Nearby mapper: "
|
||||
account:
|
||||
my settings: My settings
|
||||
email never displayed publicly: "(never displayed publicly)"
|
||||
public editing:
|
||||
heading: "Public editing: "
|
||||
enabled: "Enabled. Not anonymous and can edit data."
|
||||
enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
enabled link text: "what's this?"
|
||||
disabled: "Disabled and cannot edit data, all previous edits are anonymous."
|
||||
disabled link text: "why can't I edit?"
|
||||
profile description: "Profile Description: "
|
||||
preferred languages: "Preferred Languages: "
|
||||
home location: "Home Location: "
|
||||
no home location: "You have not entered your home location."
|
||||
latitude: "Latitude: "
|
||||
longitude: "Longitude: "
|
||||
update home location on click: "Update home location when I click on the map?"
|
||||
save changes button: Save Changes
|
||||
make edits public button: Make all my edits public
|
||||
return to profile: Return to profile
|
||||
flash update success confirm needed: "User information updated successfully. Check your email for a note to confirm your new email address."
|
||||
flash update success: "User information updated successfully."
|
||||
confirm:
|
||||
heading: Confirm a user account
|
||||
press confirm button: "Press the confirm button below to activate your account."
|
||||
button: Confirm
|
||||
confirm email:
|
||||
heading: Confirm a change of email address
|
||||
press confirm button: "Press the confirm button below to confirm your new email address."
|
||||
button: Confirm
|
||||
set_home:
|
||||
flash success: "Home location saved successfully"
|
||||
go_public:
|
||||
flash success: "All your edits are now public, and you are now allowed to edit."
|
6
config/locales/es.yml
Normal file
6
config/locales/es.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
es:
|
||||
notifier:
|
||||
diary:
|
||||
banner1: "* Por favor, no responda a este mensaje. *"
|
||||
banner2: "* Utilice el OpenStreetMap sitio web para responder. *"
|
||||
|
259
config/locales/fr.yml
Normal file
259
config/locales/fr.yml
Normal file
|
@ -0,0 +1,259 @@
|
|||
fr:
|
||||
map:
|
||||
view: "Voir"
|
||||
edit: "Éditer"
|
||||
coordinates: "Coordonnées"
|
||||
browse:
|
||||
changeset:
|
||||
changeset: "Changeset:"
|
||||
download: "Télécharger {{changeset_xml_link}} ou {{osmchange_xml_link}}"
|
||||
changesetxml: "Changeset XML"
|
||||
osmchangexml: "osmChange XML"
|
||||
changeset_details:
|
||||
created_at: "Créé le:"
|
||||
closed_at: "Terminé le:"
|
||||
belongs_to: "Appartient à:"
|
||||
bounding_box: "Bounding box:"
|
||||
no_bounding_box: "Aucune bounding box n'a été stockée pour ce changeset."
|
||||
show_area_box: "Montrer la boite"
|
||||
box: "boite"
|
||||
has_nodes: "A les {{node_count}} points suivants:"
|
||||
has_ways: "A les {{way_count}} ways suivants:"
|
||||
has_relations: "A les {{relation_count}} relations suivantes:"
|
||||
common_details:
|
||||
edited_at: "Édité le:"
|
||||
edited_by: "Édité par:"
|
||||
version: "Version:"
|
||||
in_changeset: "Dans le changeset:"
|
||||
containing_relation:
|
||||
relation: "Relation {{relation_name}}"
|
||||
relation_as: "(en tant que {{relation_role}})"
|
||||
map:
|
||||
loading: "Chargement..."
|
||||
deleted: "Effacé"
|
||||
view_larger_map: "Agrandir la carte"
|
||||
node_details:
|
||||
part_of: "Faisant partie de:"
|
||||
node_history:
|
||||
node_history: "Historique des points"
|
||||
download: "{{download_xml_link}} ou {{view_details_link}}"
|
||||
download_xml: "Télécharger XML"
|
||||
view_details: "voir détails"
|
||||
node:
|
||||
node: "Point"
|
||||
node_title: "Point: {{node_name}}"
|
||||
download: "{{download_xml_link}} ou {{view_history_link}}"
|
||||
download_xml: "Télécharger XML"
|
||||
view_history: "voir l'historique"
|
||||
not_found:
|
||||
sorry: "Désolé, le {{type}} avec l'id {{id}}, n'a pas pu être trouvé."
|
||||
paging_nav:
|
||||
showing_page: "Page en cours"
|
||||
of: "de"
|
||||
relation_details:
|
||||
members: "Membres:"
|
||||
part_of: "Faisant partie de:"
|
||||
relation_history:
|
||||
relation_history: "Historique des relations"
|
||||
relation_history_title: "Historique des relations: {{relation_name}}"
|
||||
start:
|
||||
view_data: "Voir les données sur la carte actuelle"
|
||||
manually_select: "Sélectionner manuellement une zone différente"
|
||||
start_rjs:
|
||||
data_frame_title: "Données"
|
||||
zoom_or_select: "Zoomer ou sélectionner une zone de la carte pour la visualiser"
|
||||
drag_a_box: "Dessiner une boite sur la carte pour sélectionner une zone"
|
||||
manually_select: "Sélectionner manuellement une zone différente"
|
||||
loaded_an_area: "Vous avez chargé une zone qui contient"
|
||||
browsers: "un grand nombre d'éléments. En général, les navigateurs ne supportent pas bien l'affichage de tant de données, et travaillent mieux lorsqu'ils affichent moins de 100 éléments: accepter peut rendre votre navigateur lent ou non fonctionnel. Si vous etes sûr de vouloir afficher ces données, vous pouvez le faire en appuyant sur le bouton ci-dessous."
|
||||
load_data: "Charger les données"
|
||||
unable_to_load: "Impossible de charger les données: la Bounding box d'une taille de"
|
||||
must_be_smaller: "est trop grande (elle doit être plus petite que 0.25)"
|
||||
loading: "Chargement..."
|
||||
show_history: "Montrer l'historique"
|
||||
wait: "Patienter..."
|
||||
history_for: "Historique pour"
|
||||
details: "Détails"
|
||||
private_user: "utilisateur privé"
|
||||
edited_by: "Édité par"
|
||||
at_timestamp: "le"
|
||||
diary_entry:
|
||||
list:
|
||||
new: "Nouvelle entrée du journal"
|
||||
new_title: "Ajouter une nouvelle entrée dans votre journal"
|
||||
no_entries: "Aucune entrée dans votre journal"
|
||||
recent_entries: "Entrées récentes:"
|
||||
older_entries: "Entrées plus anciennes"
|
||||
newer_entries: "Entrées plus récentes"
|
||||
edit:
|
||||
subject: "Sujet:"
|
||||
body: "Message:"
|
||||
language: "Langue:"
|
||||
location: "Lieu:"
|
||||
latitude: "Latitude:"
|
||||
longitude: "Longitude:"
|
||||
use_map_link: "Utiliser la carte"
|
||||
save_button: "Sauvegarder"
|
||||
marker_text: "Emplacement de l'entrée du journal"
|
||||
no_such_entry:
|
||||
heading: "Aucune entrée avec l'id: {{id}}"
|
||||
body: "Desolé, il n'y a aucune entrée dans le journal ou commentaires avec l'id {{id}}. Veuillez vérifier l'orthographe, ou le lien que vous avez cliqué n'est pas valide."
|
||||
no_such_user:
|
||||
body: "Desolé, il n'y pas d'utilisateur avec le nom {{user}}. Veuillez vérifier l'orthographe, ou le lien que vous avez cliqué n'est pas valide."
|
||||
posted_by: "Posté par {{link_user}} à {{created}} en {{language}}"
|
||||
comment_link: "Commenter cette entrée"
|
||||
reply_link: "Répondre a cette entrée"
|
||||
comment_count:
|
||||
one: "1 commentaire"
|
||||
other: "{{count}} commentaires"
|
||||
edit_link: "Éditer cette entrée"
|
||||
comment_from: "Commentaire de {{link_user}} le {{comment_created_at}}"
|
||||
layouts:
|
||||
welcome_user: "Bienvenue, {{user_link}}"
|
||||
inbox: "Boite aux lettres ({{size}})"
|
||||
logout: "Déconnexion"
|
||||
log_in: "Connexion"
|
||||
sign_up: "S'inscrire"
|
||||
view: "Voir"
|
||||
edit: "Éditer"
|
||||
history: "Historique"
|
||||
export: "Exporter"
|
||||
gps_traces: "Traces GPS"
|
||||
user_diaries: "Journaux"
|
||||
tag_line: La wiki carte du monde libre
|
||||
intro_1: "OpenStreetMap est une carte du monde entier librement éditable, faite par des gens comme vous."
|
||||
intro_2: "OpenStreetMap vous permet de voir, éditer et utiliser des données géographiques de n'importe quel endroit dans le monde."
|
||||
intro_3: "OpenStreetMap est gracieusement hébergé par {{ucl}} et {{bytemark}}."
|
||||
osm_offline: "La base de données de OpenStreetMap est actuellement hors ligne; une maintenance essentielle à son bon fonctionnement est en cours."
|
||||
osm_read_only: "La base de données de OpenStreetMap est actuellement en mode lecture seule ; une maintenance essentielle à son bon fonctionnement est en cours."
|
||||
donate: "Soutenez OpenStreetMap, {{link}} au fond pour améliorer le matériel."
|
||||
donate_link_text: "participez"
|
||||
help_wiki: "Aide & Wiki"
|
||||
news_blog: "Blog de nouvelles"
|
||||
shop: "Boutique"
|
||||
sotm: 'Venez a la conférence 2009 de OpenStreetMap, <a href="http://www.stateofthemap.org">The State of the Map</a>, 10-12 juillet à Amsterdam!'
|
||||
alt_donation: "Faites une donation"
|
||||
notifier:
|
||||
diary:
|
||||
banner1: "* S’il vous plaît de ne pas répondre à ce message. *"
|
||||
banner2: "* Utilisez le OpenStreetMap site Web pour y répondre. *"
|
||||
site:
|
||||
index:
|
||||
js_1: "Vous utilisez soit un navigateur qui ne supporte pas Javascript soit vous avez désactivé Javascript."
|
||||
js_2: "OpenStreetMap utilise Javascript pour ses cartes glissantes."
|
||||
js_3: "Si vous êtes dans l'incapacité d'utiliser Javascript, essayer d'utiliser le <a href='http://tah.openstreetmap.org/Browse/'>navigateur statique de Tiles@Home</a>."
|
||||
permalink: "Permalink"
|
||||
license: "Sous license Creative Commons Attribution-Share Alike 2.0 par le projet OpenStreetMap et ses contributeurs."
|
||||
edit:
|
||||
not_public: "Vous n'avez pas réglé vos éditions pour qu'elles soient publiques."
|
||||
not_public_description: "Vous ne pouvez plus éditer la carte a moins que vous ne rendiez vos éditions publiques. Vous pouvez rendre vos éditions publiques à partir de votre {{user_page}}."
|
||||
user_page_link: "page utilisateur"
|
||||
anon_edits: "({{link}})"
|
||||
anon_edits_link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
anon_edits_link_text: "Trouvez pourquoi ici."
|
||||
flash_player_required: "Vous avez besoin d''un lecteur Flash pour utiliser Potlatch, l'éditeur Flash de OpenStreetMap. Vous pouvez <a href='http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'>télécharger Flash Player sur le site d'Adobe</a>. <a href='http://wiki.openstreetmap.org/wiki/Editing'>D'autres options</a> sont également disponibles pour éditer OpenStreetMap."
|
||||
potlatch_unsaved_changes: "Vous avez des modifications non sauvegardées. (Pour sauvegarder dans Potlatch, vous devez dé-sélectionner le way ou le node en cours si vous éditez en mode liste, ou cliquer sur sauvegarder si vous avez un bouton sauvegarder.)"
|
||||
sidebar:
|
||||
search_results: "Résultats de la recherche"
|
||||
close: "Fermer"
|
||||
search:
|
||||
search: "Chercher"
|
||||
where_am_i: "Où suis-je?"
|
||||
submit_text: "Allez"
|
||||
searching: "En cours de recherche..."
|
||||
search_help: "exemples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', ou 'bureaux de poste près de Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>D'autres d'exemples...</a>"
|
||||
key:
|
||||
map_key: "Clé de la carte"
|
||||
user:
|
||||
login:
|
||||
heading: "Connexion"
|
||||
please login: "Veuillez vous connecter ou {{create_user_link}}."
|
||||
create_account: "Créer un compte"
|
||||
email or username: "Adresse e-mail ou nom d'utilisateur:"
|
||||
password: "Mot de passe: "
|
||||
lost password link: "Vous avez perdu votre mot de passe?"
|
||||
login_button: "Se connecter"
|
||||
lost_password:
|
||||
heading: "Vous avez perdu votre mot de passe?"
|
||||
email address: "Adresse e-mail:"
|
||||
new password button: "Envoyer un nouveau mot de passe"
|
||||
new:
|
||||
heading: "Créer un compte utilisateur"
|
||||
no_auto_account_create: "Malheureusement, nous sommes actuellement dans l'impossibilité de vous créer un compte automatiquement."
|
||||
contact_webmaster: "Veuillez contacter le <a href='mailto:webmaster@openstreetmap.org'>webmaster</a> pour qu'il vous crée un compte - nous essaierons de traiter votre demande le plus rapidement possible."
|
||||
fill_form: "Remplissez le formulaire et nous vous enverrons un e-mail pour activer votre compte."
|
||||
license_agreement: "En créant un compte, vous acceptez que tout le travail envoyé sur Openstreetmap.org et toutes les données créées par l'utilisation d'outils qui se connectent à Openstreetmap.org soient sous la licence (non exclusive) <a href='http://creativecommons.org/licenses/by-sa/2.0/'>Creative Commons license (by-sa)</a>."
|
||||
email address: "Adresse e-mail: "
|
||||
confirm email address: "Confirmer l'adresse e-mail: "
|
||||
not displayed publicly: 'Non affichée publiquement (voir <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">notre charte sur la confidentialité</a>)'
|
||||
display name: "Nom affiché: "
|
||||
password: "Mot de passe: "
|
||||
confirm password: "Confirmer le Mot de passe: "
|
||||
signup: "S'inscrire"
|
||||
flash create success message: "L'utilisateur a été créé avec succès. Vérifier votre e-mail de confirmation, et vous serez prêt à mapper dans peu de temps :-)<br /><br />Veuillez noter que vous ne serez pas capable de vous connecter tant que vous n'aurez pas recu le mail de confirmation et confirmé votre e-mail. <br /><br />Si vous utilisez un logiciel anti-spam qui envoie des requêtes de confirmation, veuillez mettre dans votre liste blanche webmaster@openstreetmap.org car nous sommes incapables de répondre à ces e-mails."
|
||||
no_such_user:
|
||||
body: "Désolé, il n'y a pas d'utilisateur avec le nom {{user}}. Veuillez vérifier l'orthographe, ou le lien que vous avez cliqué n'est pas valide."
|
||||
view:
|
||||
my diary: "Mon journal"
|
||||
new diary entry: "Nouvelle entrée dans le journal"
|
||||
my edits: "Mes éditions"
|
||||
my traces: "Mes traces"
|
||||
my settings: "Mes options"
|
||||
send message: "Envoyer un message"
|
||||
diary: "journal"
|
||||
edits: "éditions"
|
||||
traces: "traces"
|
||||
remove as friend: "enlever en tant qu'ami"
|
||||
add as friend: "ajouter en tant qu'ami"
|
||||
mapper since: "Mappeur depuis: "
|
||||
user image heading: "Image utilisateur"
|
||||
delete image: "Effacer l'image"
|
||||
upload an image: "Envoyer une image"
|
||||
add image: "Ajouter une image"
|
||||
description: Description
|
||||
user location: "Emplacement de l'utilisateur"
|
||||
no home location: "Aucun lieu n'a été défini."
|
||||
if set location: "Si vous définissez un lieu, une jolie carte va apparaître en dessous. Vous pouvez définir votre lieu sur votre page {{settings_link}}."
|
||||
settings_link_text: "options"
|
||||
your friends: "Vos amis"
|
||||
no friends: "Vous n'avez pas encore ajouté d'ami"
|
||||
km away: "{{distance}} km"
|
||||
nearby users: "Utilisateurs proches: "
|
||||
no nearby users: "Il n'y a pas encore d'utilisateur à proximité."
|
||||
change your settings: "modifiez vos options"
|
||||
friend_map:
|
||||
your location: "Votre emplacement"
|
||||
nearby mapper: "Mappeur dans les environs: "
|
||||
account:
|
||||
my settings: "Mes options"
|
||||
email never displayed publicly: "(jamais affiché publiquement)"
|
||||
public editing:
|
||||
heading: "Édition publique: "
|
||||
enabled: "Activé. Non anonyme et peut éditer les données."
|
||||
enabled link: "http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits"
|
||||
enabled link text: "qu'est-ce que c'est?"
|
||||
disabled: "Désactivé et ne peut pas éditer les données; toutes les précédentes éditions sont anonymes."
|
||||
disabled link text: "pourquoi ne puis-je pas éditer?"
|
||||
profile description: "Description du profil: "
|
||||
home location: "Emplacement du domicile: "
|
||||
no home location: "Vous n'avez pas entré l'emplacement de votre domicile."
|
||||
latitude: "Latitude: "
|
||||
longitude: "Longitude: "
|
||||
update home location on click: "Mettre a jour l'emplacement de votre domicile quand vous cliquez sur la carte?"
|
||||
save changes button: "Sauvegarder les changements"
|
||||
make edits public button: "Rendre toutes mes éditions publiques"
|
||||
return to profile: "Retourner au profil"
|
||||
flash update success confirm needed: "Informations sur l'utilisateur mises à jour avec succès. Vérifiez votre boite mail afin de valider la vérification de votre nouvelle adresse e-mail."
|
||||
flash update success: "Informations sur l'utilisateur mises à jour avec succès."
|
||||
confirm:
|
||||
heading: "Confirmer un compte utilisateur"
|
||||
press confirm button: "Appuyer le bouton confirmer ci-dessous pour activer votre compte."
|
||||
button: "Confirmer"
|
||||
confirm email:
|
||||
heading: "Confirmer le changement de votre adresse e-mail"
|
||||
press confirm button: "Appuyer sur le bouton confirmer pour confirmer votre nouvelle adresse e-mail."
|
||||
button: "Confirmer"
|
||||
set_home:
|
||||
flash success: "Emplacement de mon domicile sauvegardé avec succès"
|
||||
go_public:
|
||||
flash success: "Tous vos éditions sont dorénavant publiques et vous n'êtes pas autorisé a éditer."
|
|
@ -85,6 +85,7 @@ ActionController::Routing::Routes.draw do |map|
|
|||
map.connect '/browse/changesets', :controller => 'changeset', :action => 'list'
|
||||
|
||||
# web site
|
||||
map.root :controller => 'site', :action => 'index'
|
||||
map.connect '/', :controller => 'site', :action => 'index'
|
||||
map.connect '/edit', :controller => 'site', :action => 'edit'
|
||||
map.connect '/history', :controller => 'changeset', :action => 'list_bbox'
|
||||
|
|
15
db/migrate/035_change_user_locale.rb
Normal file
15
db/migrate/035_change_user_locale.rb
Normal file
|
@ -0,0 +1,15 @@
|
|||
require 'lib/migrate'
|
||||
|
||||
class ChangeUserLocale < ActiveRecord::Migration
|
||||
def self.up
|
||||
remove_foreign_key :users, [:locale], :languages, [:code]
|
||||
|
||||
rename_column :users, :locale, :languages
|
||||
end
|
||||
|
||||
def self.down
|
||||
rename_column :users, :languages, :locale
|
||||
|
||||
add_foreign_key :users, [:locale], :languages, [:code]
|
||||
end
|
||||
end
|
|
@ -21,6 +21,11 @@ module ActiveRecord
|
|||
"REFERENCES #{reftbl} (#{quote_column_names(refcol || column_name)})"
|
||||
end
|
||||
|
||||
def remove_foreign_key(table_name, column_name, reftbl, refcol = nil)
|
||||
execute "ALTER TABLE #{table_name} DROP " +
|
||||
"CONSTRAINT #{table_name}_#{column_name[0]}_fkey"
|
||||
end
|
||||
|
||||
alias_method :old_options_include_default?, :options_include_default?
|
||||
|
||||
def options_include_default?(options)
|
||||
|
|
22
test/fixtures/countries.yml
vendored
22
test/fixtures/countries.yml
vendored
|
@ -1,13 +1,15 @@
|
|||
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
||||
|
||||
one:
|
||||
min_lat:
|
||||
max_lat:
|
||||
min_lon:
|
||||
max_lon:
|
||||
gb:
|
||||
code: gb
|
||||
min_lat: 49.9061889648438
|
||||
max_lat: 60.8458099365234
|
||||
min_lon: -8.62355613708496
|
||||
max_lon: 1.75900018215179
|
||||
|
||||
two:
|
||||
min_lat:
|
||||
max_lat:
|
||||
min_lon:
|
||||
max_lon:
|
||||
de:
|
||||
code: de
|
||||
min_lat: 47.2757720947266
|
||||
max_lat: 55.0556411743164
|
||||
min_lon: 5.865638256073
|
||||
max_lon: 15.0398902893066
|
||||
|
|
4
test/fixtures/diary_entries.yml
vendored
4
test/fixtures/diary_entries.yml
vendored
|
@ -7,7 +7,7 @@ normal_user_entry_1:
|
|||
updated_at: "2008-11-07 17:43:34"
|
||||
latitude:
|
||||
longitude:
|
||||
language: en
|
||||
language_code: en
|
||||
|
||||
normal_user_geo_entry:
|
||||
id: 2
|
||||
|
@ -18,4 +18,4 @@ normal_user_geo_entry:
|
|||
updated_at: "2008-11-07 17:47:34"
|
||||
latitude: 51.50763
|
||||
longitude: -0.10781
|
||||
language: de
|
||||
language_code: de
|
||||
|
|
|
@ -72,6 +72,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
assert_select "form[action='/diary_entry/#{diary_entries(:normal_user_entry_1).id}/edit'][method=post]", :count => 1 do
|
||||
assert_select "input#diary_entry_title[name='diary_entry[title]'][value='#{diary_entries(:normal_user_entry_1).title}']", :count => 1
|
||||
assert_select "textarea#diary_entry_body[name='diary_entry[body]']", :text => diary_entries(:normal_user_entry_1).body, :count => 1
|
||||
assert_select "select#diary_entry_language_code", :count => 1
|
||||
assert_select "input#latitude[name='diary_entry[latitude]']", :count => 1
|
||||
assert_select "input#longitude[name='diary_entry[longitude]']", :count => 1
|
||||
assert_select "input[name=commit][type=submit][value=Save]", :count => 1
|
||||
|
@ -86,8 +87,10 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
new_body = "This is a new body for the diary entry"
|
||||
new_latitude = "1.1"
|
||||
new_longitude = "2.2"
|
||||
new_language_code = "en"
|
||||
post(:edit, {:id => diary_entries(:normal_user_entry_1).id, 'commit' => 'save',
|
||||
'diary_entry'=>{'title' => new_title, 'body' => new_body, 'latitude' => new_latitude, 'longitude' => new_longitude} },
|
||||
'diary_entry'=>{'title' => new_title, 'body' => new_body, 'latitude' => new_latitude,
|
||||
'longitude' => new_longitude, 'language_code' => new_language_code} },
|
||||
{'user' => users(:normal_user).id})
|
||||
assert_response :redirect
|
||||
assert_redirected_to :action => :view, :id => diary_entries(:normal_user_entry_1).id
|
||||
|
@ -142,21 +145,51 @@ class DiaryEntryControllerTest < ActionController::TestCase
|
|||
|
||||
end
|
||||
|
||||
def test_editing_creating_diary_comment
|
||||
def test_edit_diary_entry_i18n
|
||||
I18n.available_locales.each do |locale|
|
||||
set_locale locale
|
||||
|
||||
get(:edit, {:id => diary_entries(:normal_user_entry_1).id}, {'user' => users(:normal_user).id})
|
||||
assert_response :success
|
||||
assert_select "span[class=translation_missing]", false, "Missing translation in edit diary entry"
|
||||
end
|
||||
end
|
||||
|
||||
def test_create_diary_entry
|
||||
#post :new
|
||||
end
|
||||
|
||||
def test_creating_diary_comment
|
||||
|
||||
end
|
||||
|
||||
# Check that you can get the expected response and template for all available languages
|
||||
# Should test that there are no <span class="translation_missing">
|
||||
def test_listing_diary_entries
|
||||
I18n.available_locales.each do |locale|
|
||||
set_locale locale
|
||||
|
||||
get :list
|
||||
assert_response :success, "Should be able to list the diary entries in #{locale}"
|
||||
assert_template 'list', "Should use the list template in #{locale}"
|
||||
assert_select "span[class=translation_missing]", false, "Missing translation in list of diary entries"
|
||||
|
||||
# Now try to find a specific user's diary entry
|
||||
get :list, {:display_name => users(:normal_user).display_name}
|
||||
assert_response :success, "Should be able to list the diary entries for a user in #{locale}"
|
||||
assert_template 'list', "Should use the list template for a user in #{locale}"
|
||||
assert_select "span[class=translation_missing]", false, "Missing translation in list of diary entries for user"
|
||||
end
|
||||
end
|
||||
|
||||
def test_rss
|
||||
get :rss
|
||||
assert :success
|
||||
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
def test_viewing_diary_entry
|
||||
|
||||
get :view, {:display_name => users(:normal_user).display_name, :id => diary_entries(:normal_user_entry_1).id}
|
||||
assert_response :success
|
||||
assert_template 'view'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -123,6 +123,10 @@ class Test::Unit::TestCase
|
|||
@request.env["RAW_POST_DATA"] = c.to_s
|
||||
end
|
||||
|
||||
def set_locale(l)
|
||||
@request.env["HTTP_ACCEPT_LANGUAGE"] = l.to_s
|
||||
end
|
||||
|
||||
# Used to check that the error header and the forbidden responses are given
|
||||
# when the owner of the changset has their data not marked as public
|
||||
def assert_require_public_data(msg = "Shouldn't be able to use API when the user's data is not public")
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
require 'test_helper'
|
||||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
|
||||
class CountryTest < ActiveSupport::TestCase
|
||||
# Replace this with your real tests.
|
||||
test "the truth" do
|
||||
assert true
|
||||
fixtures :countries
|
||||
|
||||
test "country count" do
|
||||
assert_equal 2, Country.count
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../test_helper'
|
|||
|
||||
class DiaryEntryTest < Test::Unit::TestCase
|
||||
api_fixtures
|
||||
fixtures :diary_entries
|
||||
fixtures :diary_entries, :languages
|
||||
|
||||
def test_diary_entry_count
|
||||
assert_equal 2, DiaryEntry.count
|
||||
|
@ -27,7 +27,7 @@ class DiaryEntryTest < Test::Unit::TestCase
|
|||
def diary_entry_valid(attrs, result = true)
|
||||
entry = diary_entries(:normal_user_entry_1).clone
|
||||
entry.attributes = attrs
|
||||
assert_equal result, entry.valid?
|
||||
assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
|
||||
end
|
||||
|
||||
end
|
||||
|
|
4
vendor/plugins/globalize2/.gitignore
vendored
Normal file
4
vendor/plugins/globalize2/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
doc
|
||||
spec/spec/db/*
|
||||
vendor
|
||||
NOTES
|
21
vendor/plugins/globalize2/LICENSE
vendored
Normal file
21
vendor/plugins/globalize2/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
The MIT License
|
||||
|
||||
Copyright (c) 2008, 2009 Joshua Harvey
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue