Merge branch 'master' into openid
Conflicts: app/controllers/user_controller.rb
This commit is contained in:
commit
f85681c5ce
47 changed files with 583 additions and 105 deletions
|
@ -8,7 +8,14 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
def authorize_web
|
def authorize_web
|
||||||
if session[:user]
|
if session[:user]
|
||||||
@user = User.find(session[:user], :conditions => {:visible => true})
|
@user = User.find(session[:user], :conditions => {:status => ["active", "confirmed", "suspended"]})
|
||||||
|
|
||||||
|
if @user.status == "suspended"
|
||||||
|
session[:user] = nil
|
||||||
|
session_expires_automatically
|
||||||
|
|
||||||
|
redirect_to :controller => "user", :action => "suspended"
|
||||||
|
end
|
||||||
elsif session[:token]
|
elsif session[:token]
|
||||||
@user = User.authenticate(:token => session[:token])
|
@user = User.authenticate(:token => session[:token])
|
||||||
session[:user] = @user.id
|
session[:user] = @user.id
|
||||||
|
|
|
@ -255,7 +255,7 @@ class ChangesetController < ApplicationController
|
||||||
conditions = conditions_nonempty
|
conditions = conditions_nonempty
|
||||||
|
|
||||||
if params[:display_name]
|
if params[:display_name]
|
||||||
user = User.find_by_display_name(params[:display_name], :conditions => { :visible => true })
|
user = User.find_by_display_name(params[:display_name], :conditions => { :status => ["active", "confirmed"] })
|
||||||
|
|
||||||
if user
|
if user
|
||||||
if user.data_public? or user == @user
|
if user.data_public? or user == @user
|
||||||
|
|
|
@ -71,7 +71,7 @@ class DiaryEntryController < ApplicationController
|
||||||
|
|
||||||
def list
|
def list
|
||||||
if params[:display_name]
|
if params[:display_name]
|
||||||
@this_user = User.find_by_display_name(params[:display_name], :conditions => { :visible => true })
|
@this_user = User.find_by_display_name(params[:display_name], :conditions => { :status => ["active", "confirmed"] })
|
||||||
|
|
||||||
if @this_user
|
if @this_user
|
||||||
@title = t 'diary_entry.list.user_title', :user => @this_user.display_name
|
@title = t 'diary_entry.list.user_title', :user => @this_user.display_name
|
||||||
|
@ -92,7 +92,7 @@ class DiaryEntryController < ApplicationController
|
||||||
@title = t 'diary_entry.list.in_language_title', :language => Language.find(params[:language]).english_name
|
@title = t 'diary_entry.list.in_language_title', :language => Language.find(params[:language]).english_name
|
||||||
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
||||||
:conditions => {
|
:conditions => {
|
||||||
:users => { :visible => true },
|
:users => { :status => ["active", "confirmed"] },
|
||||||
:visible => true,
|
:visible => true,
|
||||||
:language_code => params[:language]
|
:language_code => params[:language]
|
||||||
},
|
},
|
||||||
|
@ -102,7 +102,7 @@ class DiaryEntryController < ApplicationController
|
||||||
@title = t 'diary_entry.list.title'
|
@title = t 'diary_entry.list.title'
|
||||||
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
@entry_pages, @entries = paginate(:diary_entries, :include => :user,
|
||||||
:conditions => {
|
:conditions => {
|
||||||
:users => { :visible => true },
|
:users => { :status => ["active", "confirmed"] },
|
||||||
:visible => true
|
:visible => true
|
||||||
},
|
},
|
||||||
:order => 'created_at DESC',
|
:order => 'created_at DESC',
|
||||||
|
@ -114,7 +114,7 @@ class DiaryEntryController < ApplicationController
|
||||||
request.format = :rss
|
request.format = :rss
|
||||||
|
|
||||||
if params[:display_name]
|
if params[:display_name]
|
||||||
user = User.find_by_display_name(params[:display_name], :conditions => { :visible => true })
|
user = User.find_by_display_name(params[:display_name], :conditions => { :status => ["active", "confirmed"] })
|
||||||
|
|
||||||
if user
|
if user
|
||||||
@entries = DiaryEntry.find(:all,
|
@entries = DiaryEntry.find(:all,
|
||||||
|
@ -133,7 +133,7 @@ class DiaryEntryController < ApplicationController
|
||||||
elsif params[:language]
|
elsif params[:language]
|
||||||
@entries = DiaryEntry.find(:all, :include => :user,
|
@entries = DiaryEntry.find(:all, :include => :user,
|
||||||
:conditions => {
|
:conditions => {
|
||||||
:users => { :visible => true },
|
:users => { :status => ["active", "confirmed"] },
|
||||||
:visible => true,
|
:visible => true,
|
||||||
:language_code => params[:language]
|
:language_code => params[:language]
|
||||||
},
|
},
|
||||||
|
@ -145,7 +145,7 @@ class DiaryEntryController < ApplicationController
|
||||||
else
|
else
|
||||||
@entries = DiaryEntry.find(:all, :include => :user,
|
@entries = DiaryEntry.find(:all, :include => :user,
|
||||||
:conditions => {
|
:conditions => {
|
||||||
:users => { :visible => true },
|
:users => { :status => ["active", "confirmed"] },
|
||||||
:visible => true
|
:visible => true
|
||||||
},
|
},
|
||||||
:order => 'created_at DESC',
|
:order => 'created_at DESC',
|
||||||
|
@ -157,7 +157,7 @@ class DiaryEntryController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def view
|
def view
|
||||||
user = User.find_by_display_name(params[:display_name], :conditions => { :visible => true })
|
user = User.find_by_display_name(params[:display_name], :conditions => { :status => ["active", "confirmed"] })
|
||||||
|
|
||||||
if user
|
if user
|
||||||
@entry = DiaryEntry.find(:first, :conditions => {
|
@entry = DiaryEntry.find(:first, :conditions => {
|
||||||
|
|
|
@ -27,7 +27,7 @@ class TraceController < ApplicationController
|
||||||
# from display name, pick up user id if one user's traces only
|
# from display name, pick up user id if one user's traces only
|
||||||
display_name = params[:display_name]
|
display_name = params[:display_name]
|
||||||
if target_user.nil? and !display_name.blank?
|
if target_user.nil? and !display_name.blank?
|
||||||
target_user = User.find(:first, :conditions => [ "visible = ? and display_name = ?", true, display_name])
|
target_user = User.find(:first, :conditions => { :status => ["active", "confirmed"], :display_name => display_name })
|
||||||
if target_user.nil?
|
if target_user.nil?
|
||||||
@title = t'trace.no_such_user.title'
|
@title = t'trace.no_such_user.title'
|
||||||
@not_found_user = display_name
|
@not_found_user = display_name
|
||||||
|
|
|
@ -11,12 +11,12 @@ class UserController < ApplicationController
|
||||||
before_filter :require_allow_read_prefs, :only => [:api_details]
|
before_filter :require_allow_read_prefs, :only => [:api_details]
|
||||||
before_filter :require_allow_read_gpx, :only => [:api_gpx_files]
|
before_filter :require_allow_read_gpx, :only => [:api_gpx_files]
|
||||||
before_filter :require_cookies, :only => [:login, :confirm]
|
before_filter :require_cookies, :only => [:login, :confirm]
|
||||||
before_filter :require_administrator, :only => [:activate, :deactivate, :hide, :unhide, :delete]
|
before_filter :require_administrator, :only => [:set_status, :delete, :list]
|
||||||
before_filter :lookup_this_user, :only => [:activate, :deactivate, :hide, :unhide, :delete]
|
before_filter :lookup_this_user, :only => [:set_status, :delete]
|
||||||
|
|
||||||
filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation
|
filter_parameter_logging :password, :pass_crypt, :pass_crypt_confirmation
|
||||||
|
|
||||||
cache_sweeper :user_sweeper, :only => [:account, :hide, :unhide, :delete]
|
cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete]
|
||||||
|
|
||||||
def save
|
def save
|
||||||
@title = t 'user.new.title'
|
@title = t 'user.new.title'
|
||||||
|
@ -38,7 +38,7 @@ class UserController < ApplicationController
|
||||||
else
|
else
|
||||||
@user = User.new(params[:user])
|
@user = User.new(params[:user])
|
||||||
|
|
||||||
@user.visible = true
|
@user.status = "pending"
|
||||||
@user.data_public = true
|
@user.data_public = true
|
||||||
@user.description = "" if @user.description.nil?
|
@user.description = "" if @user.description.nil?
|
||||||
@user.creation_ip = request.remote_ip
|
@user.creation_ip = request.remote_ip
|
||||||
|
@ -139,9 +139,9 @@ class UserController < ApplicationController
|
||||||
set_locale
|
set_locale
|
||||||
|
|
||||||
if @user.new_email.nil? or @user.new_email.empty?
|
if @user.new_email.nil? or @user.new_email.empty?
|
||||||
flash.now[:notice] = t 'user.account.flash update success'
|
flash[:notice] = t 'user.account.flash update success'
|
||||||
else
|
else
|
||||||
flash.now[:notice] = t 'user.account.flash update success confirm needed'
|
flash[:notice] = t 'user.account.flash update success confirm needed'
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Notifier.deliver_email_confirm(@user, @user.tokens.create)
|
Notifier.deliver_email_confirm(@user, @user.tokens.create)
|
||||||
|
@ -149,6 +149,8 @@ class UserController < ApplicationController
|
||||||
# Ignore errors sending email
|
# Ignore errors sending email
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
redirect_to :action => "account", :display_name => @user.display_name
|
||||||
end
|
end
|
||||||
|
|
||||||
if (params[:user][:openid_url].length > 0)
|
if (params[:user][:openid_url].length > 0)
|
||||||
|
@ -271,7 +273,7 @@ class UserController < ApplicationController
|
||||||
@title = t 'user.lost_password.title'
|
@title = t 'user.lost_password.title'
|
||||||
|
|
||||||
if params[:user] and params[:user][:email]
|
if params[:user] and params[:user][:email]
|
||||||
user = User.find_by_email(params[:user][:email], :conditions => {:visible => true})
|
user = User.find_by_email(params[:user][:email], :conditions => {:status => ["pending", "active", "confirmed"]})
|
||||||
|
|
||||||
if user
|
if user
|
||||||
token = user.tokens.create
|
token = user.tokens.create
|
||||||
|
@ -296,7 +298,7 @@ class UserController < ApplicationController
|
||||||
if params[:user]
|
if params[:user]
|
||||||
@user.pass_crypt = params[:user][:pass_crypt]
|
@user.pass_crypt = params[:user][:pass_crypt]
|
||||||
@user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
|
@user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
|
||||||
@user.active = true
|
@user.status = "active"
|
||||||
@user.email_valid = true
|
@user.email_valid = true
|
||||||
|
|
||||||
if @user.save
|
if @user.save
|
||||||
|
@ -350,8 +352,10 @@ class UserController < ApplicationController
|
||||||
if user = User.authenticate(:username => email_or_display_name, :password => pass)
|
if user = User.authenticate(:username => email_or_display_name, :password => pass)
|
||||||
session[:user] = user.id
|
session[:user] = user.id
|
||||||
session_expires_after 1.month if params[:remember_me]
|
session_expires_after 1.month if params[:remember_me]
|
||||||
elsif User.authenticate(:username => email_or_display_name, :password => pass, :inactive => true)
|
elsif User.authenticate(:username => email_or_display_name, :password => pass, :pending => true)
|
||||||
flash.now[:error] = t 'user.login.account not active'
|
flash.now[:error] = t 'user.login.account not active'
|
||||||
|
elsif User.authenticate(:username => email_or_display_name, :password => pass, :suspended => true)
|
||||||
|
flash.now[:error] = t 'user.login.account suspended'
|
||||||
else
|
else
|
||||||
flash.now[:error] = t 'user.login.auth failure'
|
flash.now[:error] = t 'user.login.auth failure'
|
||||||
end
|
end
|
||||||
|
@ -398,7 +402,7 @@ class UserController < ApplicationController
|
||||||
token = UserToken.find_by_token(params[:confirm_string])
|
token = UserToken.find_by_token(params[:confirm_string])
|
||||||
if token and !token.user.active?
|
if token and !token.user.active?
|
||||||
@user = token.user
|
@user = token.user
|
||||||
@user.active = true
|
@user.status = "active"
|
||||||
@user.email_valid = true
|
@user.email_valid = true
|
||||||
@user.save!
|
@user.save!
|
||||||
referer = token.referer
|
referer = token.referer
|
||||||
|
@ -423,7 +427,6 @@ class UserController < ApplicationController
|
||||||
@user = token.user
|
@user = token.user
|
||||||
@user.email = @user.new_email
|
@user.email = @user.new_email
|
||||||
@user.new_email = nil
|
@user.new_email = nil
|
||||||
@user.active = true
|
|
||||||
@user.email_valid = true
|
@user.email_valid = true
|
||||||
if @user.save
|
if @user.save
|
||||||
flash[:notice] = t 'user.confirm_email.success'
|
flash[:notice] = t 'user.confirm_email.success'
|
||||||
|
@ -463,7 +466,7 @@ class UserController < ApplicationController
|
||||||
def make_friend
|
def make_friend
|
||||||
if params[:display_name]
|
if params[:display_name]
|
||||||
name = params[:display_name]
|
name = params[:display_name]
|
||||||
new_friend = User.find_by_display_name(name, :conditions => {:visible => true})
|
new_friend = User.find_by_display_name(name, :conditions => {:status => ["active", "confirmed"]})
|
||||||
friend = Friend.new
|
friend = Friend.new
|
||||||
friend.user_id = @user.id
|
friend.user_id = @user.id
|
||||||
friend.friend_user_id = new_friend.id
|
friend.friend_user_id = new_friend.id
|
||||||
|
@ -489,7 +492,7 @@ class UserController < ApplicationController
|
||||||
def remove_friend
|
def remove_friend
|
||||||
if params[:display_name]
|
if params[:display_name]
|
||||||
name = params[:display_name]
|
name = params[:display_name]
|
||||||
friend = User.find_by_display_name(name, :conditions => {:visible => true})
|
friend = User.find_by_display_name(name, :conditions => {:status => ["active", "confirmed"]})
|
||||||
if @user.is_friends_with?(friend)
|
if @user.is_friends_with?(friend)
|
||||||
Friend.delete_all "user_id = #{@user.id} AND friend_user_id = #{friend.id}"
|
Friend.delete_all "user_id = #{@user.id} AND friend_user_id = #{friend.id}"
|
||||||
flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name
|
flash[:notice] = t 'user.remove_friend.success', :name => friend.display_name
|
||||||
|
@ -506,30 +509,9 @@ class UserController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# activate a user, allowing them to log in
|
# sets a user's status
|
||||||
def activate
|
def set_status
|
||||||
@this_user.update_attributes(:active => true)
|
@this_user.update_attributes(:status => params[:status])
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# deactivate a user, preventing them from logging in
|
|
||||||
def deactivate
|
|
||||||
@this_user.update_attributes(:active => false)
|
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# hide a user, marking them as logically deleted
|
|
||||||
def hide
|
|
||||||
@this_user.update_attributes(:visible => false)
|
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
|
||||||
# unhide a user, clearing the logically deleted flag
|
|
||||||
def unhide
|
|
||||||
@this_user.update_attributes(:visible => true)
|
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -539,14 +521,45 @@ class UserController < ApplicationController
|
||||||
@this_user.delete
|
@this_user.delete
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# display a list of users matching specified criteria
|
||||||
|
def list
|
||||||
|
if request.post?
|
||||||
|
ids = params[:user].keys.collect { |id| id.to_i }
|
||||||
|
|
||||||
|
User.update_all("status = 'confirmed'", :id => ids) if params[:confirm]
|
||||||
|
User.update_all("status = 'deleted'", :id => ids) if params[:hide]
|
||||||
|
|
||||||
|
redirect_to url_for(:status => params[:status], :ip => params[:ip], :page => params[:page])
|
||||||
|
else
|
||||||
|
conditions = Hash.new
|
||||||
|
conditions[:status] = params[:status] if params[:status]
|
||||||
|
conditions[:creation_ip] = params[:ip] if params[:ip]
|
||||||
|
|
||||||
|
@user_pages, @users = paginate(:users,
|
||||||
|
:conditions => conditions,
|
||||||
|
:order => :id,
|
||||||
|
:per_page => 50)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
##
|
##
|
||||||
# require that the user is a administrator, or fill out a helpful error message
|
# require that the user is a administrator, or fill out a helpful error message
|
||||||
# and return them to the user page.
|
# and return them to the user page.
|
||||||
def require_administrator
|
def require_administrator
|
||||||
unless @user.administrator?
|
if @user and not @user.administrator?
|
||||||
flash[:error] = t('user.filter.not_an_administrator')
|
flash[:error] = t('user.filter.not_an_administrator')
|
||||||
|
|
||||||
|
if params[:display_name]
|
||||||
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name]
|
||||||
|
else
|
||||||
|
redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
|
||||||
|
end
|
||||||
|
elsif not @user
|
||||||
|
redirect_to :controller => 'user', :action => 'login', :referer => request.request_uri
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class DiaryEntry < ActiveRecord::Base
|
||||||
has_many :visible_comments, :class_name => "DiaryComment",
|
has_many :visible_comments, :class_name => "DiaryComment",
|
||||||
:include => :user,
|
:include => :user,
|
||||||
:conditions => {
|
:conditions => {
|
||||||
:users => { :visible => true },
|
:users => { :status => ["active", "confirmed" ] },
|
||||||
:visible => true
|
:visible => true
|
||||||
},
|
},
|
||||||
:order => "diary_comments.id"
|
:order => "diary_comments.id"
|
||||||
|
|
15
app/models/spam_observer.rb
Normal file
15
app/models/spam_observer.rb
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
class SpamObserver < ActiveRecord::Observer
|
||||||
|
observe User, DiaryEntry, DiaryComment
|
||||||
|
|
||||||
|
def after_save(record)
|
||||||
|
case
|
||||||
|
when record.is_a?(User): user = record
|
||||||
|
when record.is_a?(DiaryEntry): user = record.user
|
||||||
|
when record.is_a?(DiaryComment): user = record.user
|
||||||
|
end
|
||||||
|
|
||||||
|
if user.status == "active" and user.spam_score > APP_CONFIG['spam_threshold']
|
||||||
|
user.update_attributes(:status => "suspended")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -3,10 +3,11 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
has_many :traces, :conditions => { :visible => true }
|
has_many :traces, :conditions => { :visible => true }
|
||||||
has_many :diary_entries, :order => 'created_at DESC'
|
has_many :diary_entries, :order => 'created_at DESC'
|
||||||
|
has_many :diary_comments, :order => 'created_at DESC'
|
||||||
has_many :messages, :foreign_key => :to_user_id, :conditions => { :to_user_visible => true }, :order => 'sent_on DESC'
|
has_many :messages, :foreign_key => :to_user_id, :conditions => { :to_user_visible => true }, :order => 'sent_on DESC'
|
||||||
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :to_user_visible => true, :message_read => false }, :order => 'sent_on DESC'
|
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :to_user_visible => true, :message_read => false }, :order => 'sent_on DESC'
|
||||||
has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :conditions => { :from_user_visible => true }, :order => 'sent_on DESC'
|
has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :conditions => { :from_user_visible => true }, :order => 'sent_on DESC'
|
||||||
has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
|
has_many :friends, :include => :befriendee, :conditions => "users.status IN ('active', 'confirmed')"
|
||||||
has_many :tokens, :class_name => "UserToken"
|
has_many :tokens, :class_name => "UserToken"
|
||||||
has_many :preferences, :class_name => "UserPreference"
|
has_many :preferences, :class_name => "UserPreference"
|
||||||
has_many :changesets
|
has_many :changesets
|
||||||
|
@ -56,8 +57,11 @@ class User < ActiveRecord::Base
|
||||||
user = token.user if token
|
user = token.user if token
|
||||||
end
|
end
|
||||||
|
|
||||||
if user
|
if user and
|
||||||
user = nil unless user.visible? and (user.active? or options[:inactive])
|
( user.status == "deleted" or
|
||||||
|
( user.status == "pending" and not options[:pending] ) or
|
||||||
|
( user.status == "suspended" and not options[:suspended] ) )
|
||||||
|
user = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
token.update_attribute(:expiry, 1.week.from_now) if token and user
|
token.update_attribute(:expiry, 1.week.from_now) if token and user
|
||||||
|
@ -107,7 +111,8 @@ class User < ActiveRecord::Base
|
||||||
bounds = gc.bounds(radius)
|
bounds = gc.bounds(radius)
|
||||||
sql_for_distance = gc.sql_for_distance("home_lat", "home_lon")
|
sql_for_distance = gc.sql_for_distance("home_lat", "home_lon")
|
||||||
nearby = User.find(:all,
|
nearby = User.find(:all,
|
||||||
:conditions => ["id != ? AND visible = ? AND data_public = ? AND #{sql_for_distance} <= ?", id, true, true, radius], :order => sql_for_distance, :limit => num)
|
:conditions => ["id != ? AND status IN (\'active\', \'confirmed\') AND data_public = ? AND #{sql_for_distance} <= ?", id, true, radius],
|
||||||
|
:order => sql_for_distance, :limit => num)
|
||||||
else
|
else
|
||||||
nearby = []
|
nearby = []
|
||||||
end
|
end
|
||||||
|
@ -129,6 +134,18 @@ class User < ActiveRecord::Base
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# returns true if a user is visible
|
||||||
|
def visible?
|
||||||
|
["pending","active","confirmed"].include? self.status
|
||||||
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# returns true if a user is active
|
||||||
|
def active?
|
||||||
|
["active","confirmed"].include? self.status
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# returns true if the user has the moderator role, false otherwise
|
# returns true if the user has the moderator role, false otherwise
|
||||||
def moderator?
|
def moderator?
|
||||||
|
@ -154,8 +171,9 @@ class User < ActiveRecord::Base
|
||||||
active_blocks.detect { |b| b.needs_view? }
|
active_blocks.detect { |b| b.needs_view? }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# delete a user - leave the account but purge most personal data
|
||||||
def delete
|
def delete
|
||||||
self.active = false
|
|
||||||
self.display_name = "user_#{self.id}"
|
self.display_name = "user_#{self.id}"
|
||||||
self.description = ""
|
self.description = ""
|
||||||
self.home_lat = nil
|
self.home_lat = nil
|
||||||
|
@ -163,8 +181,24 @@ class User < ActiveRecord::Base
|
||||||
self.image = nil
|
self.image = nil
|
||||||
self.email_valid = false
|
self.email_valid = false
|
||||||
self.new_email = nil
|
self.new_email = nil
|
||||||
self.visible = false
|
self.status = "deleted"
|
||||||
self.save
|
self.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# return a spam score for a user
|
||||||
|
def spam_score
|
||||||
|
changeset_score = self.changesets.find(:all, :limit => 10).length * 50
|
||||||
|
trace_score = self.traces.find(:all, :limit => 10).length * 50
|
||||||
|
diary_entry_score = self.diary_entries.inject(0) { |s,e| s += OSM.spam_score(e.body) }
|
||||||
|
diary_comment_score = self.diary_comments.inject(0) { |s,e| s += OSM.spam_score(e.body) }
|
||||||
|
|
||||||
|
score = OSM.spam_score(self.description) * 2
|
||||||
|
score += diary_entry_score / self.diary_entries.length if self.diary_entries.length > 0
|
||||||
|
score += diary_comment_score / self.diary_comments.length if self.diary_comments.length > 0
|
||||||
|
score -= changeset_score
|
||||||
|
score -= trace_score
|
||||||
|
|
||||||
|
return score.to_i
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -14,7 +14,7 @@ private
|
||||||
def expire_cache_for(old_record, new_record)
|
def expire_cache_for(old_record, new_record)
|
||||||
if old_record and
|
if old_record and
|
||||||
(new_record.nil? or
|
(new_record.nil? or
|
||||||
old_record.visible != new_record.visible or
|
old_record.visible? != new_record.visible? or
|
||||||
old_record.display_name != new_record.display_name)
|
old_record.display_name != new_record.display_name)
|
||||||
old_record.diary_entries.each do |entry|
|
old_record.diary_entries.each do |entry|
|
||||||
expire_action(:controller => 'diary_entry', :action => 'view', :display_name => old_record.display_name, :id => entry.id)
|
expire_action(:controller => 'diary_entry', :action => 'view', :display_name => old_record.display_name, :id => entry.id)
|
||||||
|
|
27
app/views/user/_user.html.erb
Normal file
27
app/views/user/_user.html.erb
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<% cl = cycle('table0', 'table1') %>
|
||||||
|
|
||||||
|
<tr class="<%= cl %>">
|
||||||
|
<td>
|
||||||
|
<%= user_thumbnail(user) %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<p>
|
||||||
|
<% if user.creation_ip %>
|
||||||
|
<%= t 'user.list.summary',
|
||||||
|
:name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
|
||||||
|
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
|
||||||
|
:date => l(user.creation_time, :format => :friendly)
|
||||||
|
%>
|
||||||
|
<% else %>
|
||||||
|
<%= t 'user.list.summary_no_ip',
|
||||||
|
:name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
|
||||||
|
:date => l(user.creation_time, :format => :friendly)
|
||||||
|
%>
|
||||||
|
<% end %>
|
||||||
|
</p>
|
||||||
|
<%= htmlize(user.description) %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%= check_box_tag "user_#{user.id}", "", false, :name => "user[#{user.id}]" %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
44
app/views/user/list.html.erb
Normal file
44
app/views/user/list.html.erb
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<% @title = t('user.list.title') %>
|
||||||
|
|
||||||
|
<h1><%= t('user.list.heading') %></h1>
|
||||||
|
|
||||||
|
<% unless @users.empty? %>
|
||||||
|
<% form_tag do %>
|
||||||
|
<%= hidden_field_tag :status, params[:status] if params[:status] %>
|
||||||
|
<%= hidden_field_tag :ip, params[:ip] if params[:ip] %>
|
||||||
|
<%= hidden_field_tag :page, params[:page] if params[:page] %>
|
||||||
|
<table id="user_list">
|
||||||
|
<tr>
|
||||||
|
<td colspan="2">
|
||||||
|
<%= t 'user.list.showing',
|
||||||
|
:page => @user_pages.current_page.number,
|
||||||
|
:first_item => @user_pages.current_page.first_item,
|
||||||
|
:last_item => @user_pages.current_page.last_item,
|
||||||
|
:items => @user_pages.item_count,
|
||||||
|
:count => @user_pages.current_page.last_item - @user_pages.current_page.first_item + 1
|
||||||
|
%>
|
||||||
|
<% if @user_pages.page_count > 1 %>
|
||||||
|
| <%= pagination_links_each(@user_pages, {}) { |n| link_to n, params.merge(:page => n) } %>
|
||||||
|
<% end %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%=
|
||||||
|
check_box_tag("user_all", "1", false, :onchange => update_page do |page|
|
||||||
|
@users.each do |user|
|
||||||
|
page << "$('user_#{user.id}').checked = $('user_all').checked;"
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%= render :partial => 'user', :collection => @users %>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div id="user_list_actions">
|
||||||
|
<%= submit_tag t('user.list.confirm'), :name => "confirm" %>
|
||||||
|
<%= submit_tag t('user.list.hide'), :name => "hide" %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<p><%= t "user.list.empty" %></p>
|
||||||
|
<% end %>
|
5
app/views/user/suspended.html.erb
Normal file
5
app/views/user/suspended.html.erb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<% @title = t "user.suspended.title" %>
|
||||||
|
|
||||||
|
<h1><%= t "user.suspended.heading" %></h1>
|
||||||
|
|
||||||
|
<%= t "user.suspended.body", :webmaster => "webmaster@openstreetmap.org" %>
|
|
@ -59,19 +59,20 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
<% if @user and @user.administrator? %>
|
<% if @user and @user.administrator? %>
|
||||||
<br/>
|
<br/>
|
||||||
<% if @this_user.active? %>
|
<% if ["active", "confirmed"].include? @this_user.status %>
|
||||||
<%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'deactivate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
<%= link_to t('user.view.deactivate_user'), {:controller => 'user', :action => 'set_status', :status => 'pending', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||||
<% else %>
|
<% elsif ["pending"].include? @this_user.status %>
|
||||||
<%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'activate', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
<%= link_to t('user.view.activate_user'), {:controller => 'user', :action => 'set_status', :status => 'active', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||||
|
<% end %>
|
||||||
|
<% if ["active", "suspended"].include? @this_user.status %>
|
||||||
|
<%= link_to t('user.view.confirm_user'), {:controller => 'user', :action => 'set_status', :status => 'confirmed', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||||
|
<% end %>
|
||||||
|
<% if ["pending", "active", "confirmed", "suspended"].include? @this_user.status %>
|
||||||
|
<%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'set_status', :status => 'deleted', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||||
|
<% else %>
|
||||||
|
<%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'set_status', :status => 'active', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %> |
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
|
||||||
<% if @this_user.visible? %>
|
|
||||||
<%= link_to t('user.view.hide_user'), {:controller => 'user', :action => 'hide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
|
||||||
|
|
|
||||||
<%= link_to t('user.view.delete_user'), {:controller => 'user', :action => 'delete', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
<%= link_to t('user.view.delete_user'), {:controller => 'user', :action => 'delete', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
||||||
<% else %>
|
|
||||||
<%= link_to t('user.view.unhide_user'), {:controller => 'user', :action => 'unhide', :display_name => @this_user.display_name}, {:confirm => t('user.view.confirm')} %>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -80,6 +81,8 @@
|
||||||
<% if @user and @user.administrator? %>
|
<% if @user and @user.administrator? %>
|
||||||
<p><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></p>
|
<p><b><%= t 'user.view.email address' %></b> <%= @this_user.email %></p>
|
||||||
<p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
|
<p><b><%= t 'user.view.created from' %></b> <%= @this_user.creation_ip %></p>
|
||||||
|
<p><b><%= t 'user.view.status' %></b> <%= @this_user.status.capitalize %></p>
|
||||||
|
<p><b><%= t 'user.view.spam score' %></b> <%= @this_user.spam_score %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<h3><%= t 'user.view.description' %></h3>
|
<h3><%= t 'user.view.description' %></h3>
|
||||||
|
|
|
@ -22,6 +22,8 @@ standard_settings: &standard_settings
|
||||||
# Quova authentication details
|
# Quova authentication details
|
||||||
#quova_username: ""
|
#quova_username: ""
|
||||||
#quova_password: ""
|
#quova_password: ""
|
||||||
|
# Spam threshold
|
||||||
|
spam_threshold: 50
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *standard_settings
|
<<: *standard_settings
|
||||||
|
|
|
@ -101,7 +101,7 @@ Rails::Initializer.run do |config|
|
||||||
config.active_record.schema_format = :sql
|
config.active_record.schema_format = :sql
|
||||||
|
|
||||||
# Activate observers that should always be running
|
# Activate observers that should always be running
|
||||||
# config.active_record.observers = :cacher, :garbage_collector
|
config.active_record.observers = :spam_observer
|
||||||
|
|
||||||
# Make Active Record use UTC-base instead of local time
|
# Make Active Record use UTC-base instead of local time
|
||||||
config.active_record.default_timezone = :utc
|
config.active_record.default_timezone = :utc
|
||||||
|
|
|
@ -505,6 +505,9 @@ cs:
|
||||||
view_tooltip: Zobrazit mapu
|
view_tooltip: Zobrazit mapu
|
||||||
welcome_user: Vítejte, {{user_link}}
|
welcome_user: Vítejte, {{user_link}}
|
||||||
welcome_user_link_tooltip: Vaše uživatelská stránka
|
welcome_user_link_tooltip: Vaše uživatelská stránka
|
||||||
|
license_page:
|
||||||
|
native:
|
||||||
|
title: O této stránce
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Zpráva smazána
|
deleted: Zpráva smazána
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
# Author: ChrisiPK
|
# Author: ChrisiPK
|
||||||
# Author: CygnusOlor
|
# Author: CygnusOlor
|
||||||
# Author: Grille chompa
|
# Author: Grille chompa
|
||||||
|
# Author: Kghbln
|
||||||
# Author: Markobr
|
# Author: Markobr
|
||||||
# Author: McDutchie
|
# Author: McDutchie
|
||||||
# Author: Michi
|
# Author: Michi
|
||||||
|
@ -137,7 +138,13 @@ de:
|
||||||
navigation:
|
navigation:
|
||||||
all:
|
all:
|
||||||
next_changeset_tooltip: Nächstes Changeset
|
next_changeset_tooltip: Nächstes Changeset
|
||||||
|
next_node_tooltip: Nächster Knoten
|
||||||
|
next_relation_tooltip: Nächste Relation
|
||||||
|
next_way_tooltip: Nächster Weg
|
||||||
prev_changeset_tooltip: Vorheriges Changeset
|
prev_changeset_tooltip: Vorheriges Changeset
|
||||||
|
prev_node_tooltip: Vorheriger Knoten
|
||||||
|
prev_relation_tooltip: Vorherige Relation
|
||||||
|
prev_way_tooltip: Vorheriger Weg
|
||||||
user:
|
user:
|
||||||
name_changeset_tooltip: Änderungen von {{user}} anzeigen
|
name_changeset_tooltip: Änderungen von {{user}} anzeigen
|
||||||
next_changeset_tooltip: Nächste Änderung von {{user}}
|
next_changeset_tooltip: Nächste Änderung von {{user}}
|
||||||
|
@ -226,6 +233,10 @@ de:
|
||||||
zoom_or_select: Karte vergrössern oder einen Bereich auf der Karte auswählen
|
zoom_or_select: Karte vergrössern oder einen Bereich auf der Karte auswählen
|
||||||
tag_details:
|
tag_details:
|
||||||
tags: "Tags:"
|
tags: "Tags:"
|
||||||
|
wiki_link:
|
||||||
|
key: Erläuterungsseite für das {{key}}-Tag
|
||||||
|
tag: Erläuterungsseite für das {{key}}={{value}}-Tag
|
||||||
|
wikipedia_link: Artikel zu {{page}} in der Wikipedia
|
||||||
timeout:
|
timeout:
|
||||||
sorry: Entschuldigung, es dauerte zu lange die Daten für den/die {{type}} mit der ID {{id}} abzurufen.
|
sorry: Entschuldigung, es dauerte zu lange die Daten für den/die {{type}} mit der ID {{id}} abzurufen.
|
||||||
type:
|
type:
|
||||||
|
@ -874,6 +885,7 @@ de:
|
||||||
history_tooltip: Änderungen für diesen Bereich anzeigen
|
history_tooltip: Änderungen für diesen Bereich anzeigen
|
||||||
history_zoom_alert: Du musst näher heranzoomen, um die Chronik zu sehen
|
history_zoom_alert: Du musst näher heranzoomen, um die Chronik zu sehen
|
||||||
layouts:
|
layouts:
|
||||||
|
copyright: Urheberrecht + Lizenz
|
||||||
donate: Unterstütze die OpenStreetMap-Hardwarespendenaktion durch eine eigene {{link}}.
|
donate: Unterstütze die OpenStreetMap-Hardwarespendenaktion durch eine eigene {{link}}.
|
||||||
donate_link_text: Spende
|
donate_link_text: Spende
|
||||||
edit: Bearbeiten
|
edit: Bearbeiten
|
||||||
|
@ -882,7 +894,7 @@ de:
|
||||||
gps_traces: GPS-Tracks
|
gps_traces: GPS-Tracks
|
||||||
gps_traces_tooltip: GPS-Tracks verwalten
|
gps_traces_tooltip: GPS-Tracks verwalten
|
||||||
help_wiki: Hilfe & Wiki
|
help_wiki: Hilfe & Wiki
|
||||||
help_wiki_tooltip: Hilfe & Wiki des Projekts
|
help_wiki_tooltip: Hilfe + Wiki des Projekts
|
||||||
help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de
|
help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de
|
||||||
history: Chronik
|
history: Chronik
|
||||||
home: Standort
|
home: Standort
|
||||||
|
@ -907,7 +919,7 @@ de:
|
||||||
make_a_donation:
|
make_a_donation:
|
||||||
text: Spenden
|
text: Spenden
|
||||||
title: Unterstütze OpenStreetMap mit einer Geldspende
|
title: Unterstütze OpenStreetMap mit einer Geldspende
|
||||||
news_blog: News-Blog
|
news_blog: Neuigkeiten-Blog
|
||||||
news_blog_tooltip: News-Blog über OpenStreetMap, freie geographische Daten, etc.
|
news_blog_tooltip: News-Blog über OpenStreetMap, freie geographische Daten, etc.
|
||||||
osm_offline: Die OpenStreetMap-Datenbank ist im Moment wegen wichtiger Wartungsarbeiten nicht verfügbar.
|
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“.
|
osm_read_only: Die OpenStreetMap-Datenbank ist im Moment wegen wichtiger Wartungsarbeiten im „Nur-Lesen-Modus“.
|
||||||
|
@ -923,6 +935,17 @@ de:
|
||||||
view_tooltip: Karte anzeigen
|
view_tooltip: Karte anzeigen
|
||||||
welcome_user: Willkommen, {{user_link}}
|
welcome_user: Willkommen, {{user_link}}
|
||||||
welcome_user_link_tooltip: Eigene Benutzerseite
|
welcome_user_link_tooltip: Eigene Benutzerseite
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: dem englischsprachigen Original
|
||||||
|
text: Für den Fall einer Abweichung zwischen der vorliegenden Übersetzung und {{english_original_link}}, ist die englischsprachige Seite maßgebend.
|
||||||
|
title: Über diese Übersetzung
|
||||||
|
legal_babble: "<h2>Urheberrecht und Lizenz</h2>\n\n<p>\n OpenStreetMap besteht aus <i>freien Daten</i>, die gemäß der Lizenz <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA) verfügbar sind.\n</p>\n<p>\n Es steht Dir frei unsere Daten und Karten zu kopieren, weiterzugeben, zu übermittelt sowie anzupassen, sofern Du OpenStreetMap und die Mitwirkenden als Quelle angibst. Für den Fall, dass Du auf Basis unserer Daten und Karten Anpassungen vornimmst, oder sie als Basis für weitere Bearbeitungen verwendest, kannst Du das Ergebnis auch nur gemäß der selben Lizenz weitergeben. Der vollständige Lizenztext ist unter <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Lizenz</a> einsehbar und erläutert Deine Rechte und Pflichten.\n</p>\n\n<h3>So ist auf die Urheberschaft von OpenStreetMap hinzuweisen</h3>\n<p>\n Sofern Du Bilder von OpenStreetMap verwendest, so ist mindestens „© OpenStreetMap und Mitwirkende, CC-BY-SA“ als Quelle anzugeben. Werden hingegen ausschließlich Geodaten genutzt, so ist mindestens „Geodaten © OpenStreetMap und Mitwirkende, CC-BY-SA“ anzugeben.\n</p>\n<p>\n Wo möglich, muss ein Hyperlink auf OpenStreetMap <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> und die Lizenz CC-BY-SA <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> gesetzt werden. Für den Fall, dass Du ein Medium einsetzt, bei dem keine derartigen Verweise möglich sind (z. B. ein gedrucktes Buch), schlagen wir vor, dass Du Deine Leser auf www.openstreetmap.org und www.creativecommons.org hinweist.\n</p>\n\n<h3>Mehr hierzu in Erfahrung bringen</h3>\n<p>\n Mehr dazu, wie unsere Daten verwendet werden können, ist unter <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Häufige rechtliche Fragen</a> nachzulesen.\n</p>\n<p>\n Die Mitwirkenden von OpenStreetMap weisen wir darauf hin, dass Sie keinesfalls Daten aus urheberrechtlich geschützten Quellen verwenden dürfen (z. B. Google Maps oder gedruckte Kartenwerke), ohne vorher die ausdrückliche Erlaubnis des Rechteinhabers erhalten zu haben.\n</p>\n<p>\n Obzwar OpenStreetMap aus freien Daten besteht, können wir Dritten keine kostenfreie Programmierschnittstelle (API) für Karten bereitstellen.\n \n Siehe hierzu die <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Richtlinie zur Nutzung einer API</a>, die <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Richtlinie zur Nutzung von Kachelgrafiken</a> und die <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Nutzungsrichtlinie bezüglich Daten von Nominatim</a>.\n</p>\n\n<h3>Unsere Mitwirkenden</h3>\n<p>\n Die von uns verwendete Lizenz CC-BY-SA verlangt, dass Du „für das betreffende Medium oder Mittel in angemessener Weise, auf die ursprünglichen Bearbeiter hinweist.“ Einige an OpenStreetMap Mitwirkende verlangen keine über den Vermerk „OpenStreetMap und Mitwirkende“ hinausgehende Hinweise. Wo allerdings Daten von nationalen Kartografierungsinstitutionen oder aus anderen umfangreichen Quellen einbezogen wurden, ist es sinnvoll, deren Lizenzhinweise direkt wiederzugeben oder auf diese auf dieser Website zu verlinken.\n</p>\n\n<ul id=\"contributors\">\n <li><strong>Australien</strong>: Enthält Daten zu Siedlungen, die auf Daten des Australian Bureau of Statistics basieren.</li>\n <li><strong>Kanada</strong>: Enthält Daten von GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada) und StatCan (Geography Division, Statistics Canada).</li>\n <li><strong>Neuseeland</strong>: Enthält Daten aus Land Information New Zealand. Urheberrecht vorbehalten.</li>\n <li><strong>Vereinigtes Königreich</strong>: Enthält Daten des Ordnance Survey © Urheber- und Datenbankrecht 2010.</li>\n</ul>\n\n<p>\n Die Einbeziehung von Daten bei OpenStreetMap impliziert nicht, das der ursprüngliche Datenlieferant OpenStreetMap unterstützt, Gewährleistung gibt, noch Haftung übernimmt.\n</p>"
|
||||||
|
native:
|
||||||
|
mapping_link: mit dem Kartieren anfangen
|
||||||
|
native_link: deutschen Sprachversion
|
||||||
|
text: Du befindest Dich auf der Seite mit der englischsprachigen Version der Urheberrechts- und Lizensierungsinformationen. Du kannst zur {{native_link}} dieser Seite zurückkehren oder das Lesen der Urheberrechtsinformationen beenden und {{mapping_link}}.
|
||||||
|
title: Über diese Seite
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Nachricht gelöscht
|
deleted: Nachricht gelöscht
|
||||||
|
|
|
@ -936,6 +936,7 @@ dsb:
|
||||||
english_link: engelskim originalom
|
english_link: engelskim originalom
|
||||||
text: W paźe konflikta mjazy pśełožonym bokom a {{english_original_link}}, engelski bok ma prědnosć měś
|
text: W paźe konflikta mjazy pśełožonym bokom a {{english_original_link}}, engelski bok ma prědnosć měś
|
||||||
title: Wó toś tom pśełožku
|
title: Wó toś tom pśełožku
|
||||||
|
legal_babble: "<h2>Awtorske pšawo a licenca</h2>\n<p>\n OpenStreetMap jo <i>zjawne daty</i>, licencěrowane pód licencu <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.de\">Creative\n Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n Móžoš naše kórty a daty kopěrowaś, rozdźělić, pśenjasć a pśiměriś, tak dłujko ako naspomnjejoš OpenStreetMap a jich pśinosowarjow. Jolic změnjaš naše kórty abo daty abo zepěraš se na nje, móžoš wuslědk jano pód teju samkeju licencu rozdźěliś. Dopołny <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">pšawniski kod</a> wujasnjujo twóje pšawa a zagronitosći.\n</p>\n\n<h3>Kak OpenStreetMap naspomnjeś</h3>\n<p>\n Jolic wužywaš kórtowe wobraze z OpenStreetMap, pominamy, až twójo źěkowanje zni nanejmjenjej “© OpenStreetMap contributors, CC-BY-SA”. Jolic jano wužywaš kórtowe daty, pominamy “Map data © OpenStreetMap contributors, CC-BY-SA”.\n</p>\n<p>\n Gaž jo móžno, OpenStreetMap měł wótkaz do <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n a CC-BY-SA to <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měś. Jolic wužywaš medij, źož wótkaze njejsu móžno (na pś. śišćane źěło), naraźujomy, až pokazujoš swójich cytarjow na www.openstreetmap.org (snaź pśez wuměnjenje ‘OpenStreetMap’ pśez półnu adresu) a na www.creativecommons.org.\n</p>\n\n<h3>Dalšne informacije</h3>\n<p>\n Cytaj wěcej wó wužywanju našych datow <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Ceste pšawniske pšašanja</a>.\n</p>\n<p>\n Pśinosowarjow OSM dopominaju, až njepśidawaju nigda daty ze žrědło, kótarež su pśez awtorske pšawo šćitane, (na pś. z Google Maps abo z śišćanych kórtow) bźez eksplicitnego dowolenja awtorow.\n</p>\n<p>\n Lěcrownož OpenStreetMap jo zjawne daty, njamóžomy dermotny kórtowy API za wuwiwarjow tśeśich pobitowaś.\n\n Glědaj na <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Pšawidła za wužywanje API</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Pšawidła za wužywanje polow</a>\n a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Pšawidła za wužywanje Nominatim</a>.\n</p>\n\n<h3>Naše pśinosowarje</h3>\n<p>\n Naša licenca CC-BY-SA pomina, až “daš spócetnemu awtoroju źěk, pśiměrjony medijeju abo srědkoju, kótaryž wužywaš”. Jadnotliwe kartěrowarje OSM njepominaju pśidatne źěkowanje k “OpenStreetMap contributors”, ale gaž se daty zapśimuju z narodnego kartěrowańskego pśedewześa abo z drugego wuznamnego žrědła w OpenStreetMap, jo pśiměrjone, se jim pśez direktne pśewześe jich źěkowanja abo pśez wótkazowanje na njo na toś tym boku źěkowaś.\n</p>\n\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Australska</strong>: Wopśimujo pśedměsćańske daty na zakłaźe datow Australian Bureau of Statistics (Awstralski amt za statistiku).</li>\n <li><strong>Kanada</strong>: Wopśimujo daty z GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), a StatCan (Geography Division,\n Statistics Canada).</li>\n <li><strong>Nowoseelandska</strong>: Wopśimujo daty ze žrědłow wót Land Information New Zealand. Awtorske pšawo wuměnjone.</li>\n <li><strong>Zjadnośone kralojstwo</strong>: Wopśimujo daty z Ordnance\n Survey (Amtske rozměrjenje kraja) © Awtorske pšawo a p3awo za datowe banki 2010.</li>\n</ul>\n\n<p>\n Zapśijimanje datow do OpenStreetMap njegroni, až póbitowaŕ originalnych datow pśipóznawa OpenStreetMap, dawa někaku garantiju abo pśewzejo rukowanje.\n</p>"
|
||||||
native:
|
native:
|
||||||
mapping_link: kartěrowanje zachopiś
|
mapping_link: kartěrowanje zachopiś
|
||||||
native_link: dolnoserbskej wersiji
|
native_link: dolnoserbskej wersiji
|
||||||
|
|
|
@ -1493,6 +1493,7 @@ en:
|
||||||
lost password link: "Lost your password?"
|
lost password link: "Lost your password?"
|
||||||
login_button: "Login"
|
login_button: "Login"
|
||||||
account not active: "Sorry, your account is not active yet.<br />Please click on the link in the account confirmation email to activate your account."
|
account not active: "Sorry, your account is not active yet.<br />Please click on the link in the account confirmation email to activate your account."
|
||||||
|
account suspended: Sorry, your account has been suspended due to suspicious activity.<br />Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> if you wish to discuss this.
|
||||||
auth failure: "Sorry, could not log in with those details."
|
auth failure: "Sorry, could not log in with those details."
|
||||||
openid missing provider: "Sorry, could not contact your OpenID provider"
|
openid missing provider: "Sorry, could not contact your OpenID provider"
|
||||||
openid invalid: "Sorry, your OpenID seems misformed"
|
openid invalid: "Sorry, your OpenID seems misformed"
|
||||||
|
@ -1589,6 +1590,8 @@ en:
|
||||||
ago: "({{time_in_words_ago}} ago)"
|
ago: "({{time_in_words_ago}} ago)"
|
||||||
email address: "Email address:"
|
email address: "Email address:"
|
||||||
created from: "Created from:"
|
created from: "Created from:"
|
||||||
|
status: "Status:"
|
||||||
|
spam score: "Spam Score:"
|
||||||
description: Description
|
description: Description
|
||||||
user location: User location
|
user location: User location
|
||||||
if set location: "If you set your location, a pretty map and stuff will appear here. You can set your home location on your {{settings_link}} page."
|
if set location: "If you set your location, a pretty map and stuff will appear here. You can set your home location on your {{settings_link}} page."
|
||||||
|
@ -1613,6 +1616,7 @@ en:
|
||||||
create_block: "block this user"
|
create_block: "block this user"
|
||||||
activate_user: "activate this user"
|
activate_user: "activate this user"
|
||||||
deactivate_user: "deactivate this user"
|
deactivate_user: "deactivate this user"
|
||||||
|
confirm_user: "confirm this user"
|
||||||
hide_user: "hide this user"
|
hide_user: "hide this user"
|
||||||
unhide_user: "unhide this user"
|
unhide_user: "unhide this user"
|
||||||
delete_user: "delete this user"
|
delete_user: "delete this user"
|
||||||
|
@ -1684,6 +1688,30 @@ en:
|
||||||
not_a_friend: "{{name}} is not one of your friends."
|
not_a_friend: "{{name}} is not one of your friends."
|
||||||
filter:
|
filter:
|
||||||
not_an_administrator: "You need to be an administrator to perform that action."
|
not_an_administrator: "You need to be an administrator to perform that action."
|
||||||
|
list:
|
||||||
|
title: Users
|
||||||
|
heading: Users
|
||||||
|
showing:
|
||||||
|
one: Showing page {{page}} ({{first_item}} of {{items}})
|
||||||
|
other: Showing page {{page}} ({{first_item}}-{{last_item}} of {{items}})
|
||||||
|
summary: "{{name}} created from {{ip_address}} on {{date}}"
|
||||||
|
summary_no_ip: "{{name}} created on {{date}}"
|
||||||
|
confirm: Confirm Selected Users
|
||||||
|
hide: Hide Selected Users
|
||||||
|
empty: No matching users found
|
||||||
|
suspended:
|
||||||
|
title: Account Suspended
|
||||||
|
heading: Account Suspended
|
||||||
|
body: |
|
||||||
|
<p>
|
||||||
|
Sorry, your account has been automatically suspended due to
|
||||||
|
suspicious activity.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This decision will be reviewed by an administrator shortly, or
|
||||||
|
you may contact the <a href="mailto:{{webmaster}}">webmaster</a> if
|
||||||
|
you wish to discuss this.
|
||||||
|
</p>
|
||||||
user_role:
|
user_role:
|
||||||
filter:
|
filter:
|
||||||
not_an_administrator: "Only administrators can perform user role management, and you are not an administrator."
|
not_an_administrator: "Only administrators can perform user role management, and you are not an administrator."
|
||||||
|
|
|
@ -923,6 +923,16 @@ es:
|
||||||
view_tooltip: Ver el mapa
|
view_tooltip: Ver el mapa
|
||||||
welcome_user: Bienvenido, {{user_link}}
|
welcome_user: Bienvenido, {{user_link}}
|
||||||
welcome_user_link_tooltip: Tu página de usuario
|
welcome_user_link_tooltip: Tu página de usuario
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: el original en Inglés
|
||||||
|
text: En el caso de un conflicto entre esta página traducida y {{english_original_link}}, la versión inglesa prevalecerá
|
||||||
|
title: Acerca de esta traducción
|
||||||
|
native:
|
||||||
|
mapping_link: comenzar a mapear
|
||||||
|
native_link: Versión en español
|
||||||
|
text: Está viendo la versión inglesa de la página de copyright. Puede ir a la {{native_link}} de esta página o puede dejar de leer acerca de copyrights y {{mapping_link}}.
|
||||||
|
title: Acerca de esta página
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Mensaje borrado
|
deleted: Mensaje borrado
|
||||||
|
|
|
@ -129,7 +129,13 @@ fr:
|
||||||
navigation:
|
navigation:
|
||||||
all:
|
all:
|
||||||
next_changeset_tooltip: Groupe de modifications suivant
|
next_changeset_tooltip: Groupe de modifications suivant
|
||||||
|
next_node_tooltip: Nœud suivant
|
||||||
|
next_relation_tooltip: Relation suivante
|
||||||
|
next_way_tooltip: Way suivant
|
||||||
prev_changeset_tooltip: Groupe de modifications précédent
|
prev_changeset_tooltip: Groupe de modifications précédent
|
||||||
|
prev_node_tooltip: Nœud précédent
|
||||||
|
prev_relation_tooltip: Relation précédente
|
||||||
|
prev_way_tooltip: Way précédent
|
||||||
user:
|
user:
|
||||||
name_changeset_tooltip: Voir les modifications par {{user}}
|
name_changeset_tooltip: Voir les modifications par {{user}}
|
||||||
next_changeset_tooltip: Modifications suivantes par {{user}}
|
next_changeset_tooltip: Modifications suivantes par {{user}}
|
||||||
|
@ -218,6 +224,10 @@ fr:
|
||||||
zoom_or_select: Zoomer ou sélectionner une zone de la carte pour la visualiser
|
zoom_or_select: Zoomer ou sélectionner une zone de la carte pour la visualiser
|
||||||
tag_details:
|
tag_details:
|
||||||
tags: "Balises :"
|
tags: "Balises :"
|
||||||
|
wiki_link:
|
||||||
|
key: La description du tag {{key}} sur le wiki
|
||||||
|
tag: La description du tag {{key}}={{value}} sur le wiki
|
||||||
|
wikipedia_link: L'article {{page}} sur Wikipedia
|
||||||
timeout:
|
timeout:
|
||||||
sorry: Désolé, les données pour le type {{type}} avec l'id {{id}} prennent trop de temps à être récupérées.
|
sorry: Désolé, les données pour le type {{type}} avec l'id {{id}} prennent trop de temps à être récupérées.
|
||||||
type:
|
type:
|
||||||
|
@ -866,6 +876,7 @@ fr:
|
||||||
history_tooltip: Voir les modifications dans cette zone
|
history_tooltip: Voir les modifications dans cette zone
|
||||||
history_zoom_alert: Vous devez zoomer pour voir l’historique des modifications
|
history_zoom_alert: Vous devez zoomer pour voir l’historique des modifications
|
||||||
layouts:
|
layouts:
|
||||||
|
copyright: Copyright & Licence
|
||||||
donate: Soutenez OpenStreetMap, {{link}} au fond pour améliorer le matériel.
|
donate: Soutenez OpenStreetMap, {{link}} au fond pour améliorer le matériel.
|
||||||
donate_link_text: participez
|
donate_link_text: participez
|
||||||
edit: Modifier
|
edit: Modifier
|
||||||
|
@ -914,6 +925,17 @@ fr:
|
||||||
view_tooltip: Afficher la carte
|
view_tooltip: Afficher la carte
|
||||||
welcome_user: Bienvenue, {{user_link}}
|
welcome_user: Bienvenue, {{user_link}}
|
||||||
welcome_user_link_tooltip: Votre page utilisateur
|
welcome_user_link_tooltip: Votre page utilisateur
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: original en anglais
|
||||||
|
text: En cas de conflit entre cette page et la page {{english_original_link}}, la version anglaise prime
|
||||||
|
title: A propos de cette traduction
|
||||||
|
legal_babble: "<h2>Copyright et licence</h2>\n<p>\n OpenStreetMap est un ensemble de <i>données ouvertes</i>, disponibles sous la licence <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n Vous êtes libre de copier, distribuer, transmettre et adapter nos cartes\n et données, à condition que vous créditiez OpenStreetMap et ses\n contributeurs. Si vous modifiez ou utilisez nos cartes ou données dans d'autres travaux,\n vous ne pouvez distribuer ceux-ci que sous la même licence. Le\n <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">texte\n légal complet</a> détaille vos droits et responsabilités.\n</p>\n\n<h3>Comment créditer OpenStreetMap</h3>\n<p>\n Si vous utilisez les images d'OpenStreetMap, nous demandons que votre\n crédit comporte au moins la mention “© les contributeurs d'OpenStreetMap\n CC-BY-SA”. Si vous n'utilisez que les données des cartes,\n nous demandons “Données de la carte © les contributeurs d'OpenStreetMap,\n CC-BY-SA”.\n</p>\n<p>\n Là où cela est possible, OpenStreetMap doit être un lien hypertexte vers <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n et CC-BY-SA vers <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>.\n Si vous utiliser un média qui ne permet pas de créer des liens (ex :\n un imprimé), nous suggérons que vous dirigiez vos lecteurs vers\n www.openstreetmap.org (peut-être en étendant\n ‘OpenStreetMap’ à l'adresse complète) et vers\n www.creativecommons.org.\n</p>\n\n<h3>Plus d'informations</h3>\n<p>\n Si vous voulez obtenir plus d'informations sur la réutilisation de nos données, lisez la <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ légale</a>.\n</p>\n<p>\n Nous rappelons aux contributeurs d'OSM qu'ils ne doivent jamais ajouter de données provenant\n de sources sous copyright (ex : Google Maps ou des cartes imprimées) sans\n autorisation explicite de la part des détenteurs du copyright.\n</p>\n<p>\n Bien qu'OpenStreetMap soit un ensemble de données ouvertes, nous ne pouvons pas fournir\n d'API libre de frais pour les développeurs tiers.\n\n Voyez nos <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">règles d'utilisation de l'API</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">règles d'utilisation de la carte</a>\n et <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">règles d'utilisation de Nominatim</a>.\n</p>\n\n<h3>Nos contributeurs</h3>\n<p>\n Notre licence CC-BY-SA nécessite que vous “donniez à l'auteur d'origine\n un crédit raisonnable selon le média que vous utilisez”.\n Les cartographes individuels d'OSM ne demandent pas\n d'autre crédit que “les contributeurs d'OpenStreetMap”,\n mais lorsque des données venant d'une agence nationale de cartographie\n ou autre source majeure ont été incluses dans OpenStreetMap,\n il peut être raisonnable de les créditer directement\n de la manière qu'ils demandent ou par un lien vers cette page.\n</p>\n\n<!--\nInformation pour ceux qui modifient cette page\n\nLa liste suivante ne contient que les organisations qui demandent l'attribution\ncomme condition de la présence de leur données dans OpenStreetMap. Ce n'est pas un\ncatalogue général des ajouts, et elle ne doit pas être utilisée,\nsauf lorsque l'attribution est nécessaire pour respecter la licence des données importées.\n\nTout ajout fait ici doit d'abord être discuté avec les administrateurs d'OSM.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Australie</strong>: Contient des données sur les banlieues\n fondée sur les données de l'Australian Bureau of Statistics.</li>\n <li><strong>Canada</strong>: Contient des données de\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), et StatCan (Geography Division,\n Statistics Canada).</li>\n <li><strong>Nouvelle-Zélende</strong>: Contient des données provenant du\n Land Information New Zealand. Crown Copyright reserved.</li>\n <li><strong>Royaume-Uni</strong>: Contient des données d'Ordnance\n Survey data © Crown copyright and database right 2010.</li>\n</ul>\n\n<p>\n L'inclusion de données dans OpenStreetMap n'implique pas que les fournisseurs d'origine\n du contenu approuvent OpenStreetMap, ni ne fournissent, ne garantissent ou n'acceptent quelque lien que ce soit.\n</p>"
|
||||||
|
native:
|
||||||
|
mapping_link: commencer à ontribuer
|
||||||
|
native_link: version française
|
||||||
|
text: Vous lisez la version anglais de la page de copyright. Vous pouvez retourner à la {{native_link}} de cette page ou arrêter de lire cette page et {{mapping_link}}.
|
||||||
|
title: A propos de cette page
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Message supprimé
|
deleted: Message supprimé
|
||||||
|
|
|
@ -128,7 +128,13 @@ hr:
|
||||||
navigation:
|
navigation:
|
||||||
all:
|
all:
|
||||||
next_changeset_tooltip: Slijedeći changeset
|
next_changeset_tooltip: Slijedeći changeset
|
||||||
|
next_node_tooltip: Sljedeća točka
|
||||||
|
next_relation_tooltip: Sljedeća relacija
|
||||||
|
next_way_tooltip: Sljedeći put
|
||||||
prev_changeset_tooltip: Prethodni changeset
|
prev_changeset_tooltip: Prethodni changeset
|
||||||
|
prev_node_tooltip: Prethodna točka
|
||||||
|
prev_relation_tooltip: Prethodna relacija
|
||||||
|
prev_way_tooltip: Prethodni put
|
||||||
user:
|
user:
|
||||||
name_changeset_tooltip: "Prikaži promjene korisnika: {{user}}"
|
name_changeset_tooltip: "Prikaži promjene korisnika: {{user}}"
|
||||||
next_changeset_tooltip: Slijedeća promjena od {{user}}
|
next_changeset_tooltip: Slijedeća promjena od {{user}}
|
||||||
|
@ -217,6 +223,10 @@ hr:
|
||||||
zoom_or_select: Zoomiraj ili izaberi područje karte za pregled
|
zoom_or_select: Zoomiraj ili izaberi područje karte za pregled
|
||||||
tag_details:
|
tag_details:
|
||||||
tags: "Oznake:"
|
tags: "Oznake:"
|
||||||
|
wiki_link:
|
||||||
|
key: Opis wiki stranica za oznaku {{key}} (tag)
|
||||||
|
tag: Opis wiki stranica za oznaku {{key}}={{value}} (tag)
|
||||||
|
wikipedia_link: Članak o {{page}} na Wikipediji
|
||||||
timeout:
|
timeout:
|
||||||
sorry: Žao mi je, podaci za {{type}} sa id {{id}}, predugo se čekaju.
|
sorry: Žao mi je, podaci za {{type}} sa id {{id}}, predugo se čekaju.
|
||||||
type:
|
type:
|
||||||
|
@ -365,6 +375,7 @@ hr:
|
||||||
paste_html: Zalijepi HTML za ubacivanje na webstranicu
|
paste_html: Zalijepi HTML za ubacivanje na webstranicu
|
||||||
scale: Mjerilo
|
scale: Mjerilo
|
||||||
too_large:
|
too_large:
|
||||||
|
body: Ovo područje je preveliko da bi se izvezlo kao OpenStreetMap XML podaci. Molimo povećajte (zoom) ili odaberite manju površinu.
|
||||||
heading: Područje je preveliko
|
heading: Područje je preveliko
|
||||||
zoom: Zoom
|
zoom: Zoom
|
||||||
start_rjs:
|
start_rjs:
|
||||||
|
@ -857,9 +868,14 @@ hr:
|
||||||
cycle_map: Biciklistička karta
|
cycle_map: Biciklistička karta
|
||||||
noname: Bezimene ulice
|
noname: Bezimene ulice
|
||||||
site:
|
site:
|
||||||
|
edit_disabled_tooltip: Uvećajte za uređivanje karte
|
||||||
|
edit_tooltip: Uredi kartu
|
||||||
edit_zoom_alert: Morate zoomirati da bi uređivali kartu
|
edit_zoom_alert: Morate zoomirati da bi uređivali kartu
|
||||||
|
history_disabled_tooltip: Zoomirajte da biste vidjeli uređivanja za ovo područje
|
||||||
|
history_tooltip: Prikaži izmjene za ovo područje
|
||||||
history_zoom_alert: Morate zoomirati da bi vidjeli povijest izmjena
|
history_zoom_alert: Morate zoomirati da bi vidjeli povijest izmjena
|
||||||
layouts:
|
layouts:
|
||||||
|
copyright: Autorska prava & Dozvola
|
||||||
donate: Podržite OpenStreetMap sa {{link}} Hardware Upgrade Fond.
|
donate: Podržite OpenStreetMap sa {{link}} Hardware Upgrade Fond.
|
||||||
donate_link_text: donacije
|
donate_link_text: donacije
|
||||||
edit: Uredi
|
edit: Uredi
|
||||||
|
@ -881,6 +897,9 @@ hr:
|
||||||
intro_1: OpenStreetMap je slobodna, promjenjiva karta cijelog svijeta. Napravili su je ljudi slični tebi.
|
intro_1: OpenStreetMap je slobodna, promjenjiva karta cijelog svijeta. Napravili su je ljudi slični tebi.
|
||||||
intro_2: OpenStreetMap omogućava pregledavanje, uređivanje i korištenje geografskih podataka u suradničkom načinu od bilo gdje sa Zemlje.
|
intro_2: OpenStreetMap omogućava pregledavanje, uređivanje i korištenje geografskih podataka u suradničkom načinu od bilo gdje sa Zemlje.
|
||||||
intro_3: Smještaj OpenStreetMapa je ljubazno podržan od {{ucl}} i {{bytemark}}. Ostali podržavatelji projekta su navedeni u {{partners}}.
|
intro_3: Smještaj OpenStreetMapa je ljubazno podržan od {{ucl}} i {{bytemark}}. Ostali podržavatelji projekta su navedeni u {{partners}}.
|
||||||
|
intro_3_bytemark: bytemarka
|
||||||
|
intro_3_partners: wiki
|
||||||
|
intro_3_ucl: UCL VR Centra
|
||||||
license:
|
license:
|
||||||
title: OpenStreetMap podaci su objavljeni pod licencom Creative Commons Attribution-Share Alike 2.0 Generic License
|
title: OpenStreetMap podaci su objavljeni pod licencom Creative Commons Attribution-Share Alike 2.0 Generic License
|
||||||
log_in: prijava
|
log_in: prijava
|
||||||
|
@ -908,6 +927,17 @@ hr:
|
||||||
view_tooltip: Pogledaj na karti
|
view_tooltip: Pogledaj na karti
|
||||||
welcome_user: Dobrodošli, {{user_link}}
|
welcome_user: Dobrodošli, {{user_link}}
|
||||||
welcome_user_link_tooltip: Tvoja korisnička stranica
|
welcome_user_link_tooltip: Tvoja korisnička stranica
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: Engleski izvornik
|
||||||
|
text: U slučaju konflikta između ove prevedene stranice i {{english_original_link}}, Engleski stranice imaju prednost
|
||||||
|
title: O ovom prijevodu
|
||||||
|
legal_babble: "<h2>Autorska prava i Dozvola</h2>\n<p>\n OpenStreetMap su <i>otvoreni podaci</i>, licencirani pod <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n Commons Attribution-ShareAlike 2.0</a> dozvolom (CC-BY-SA).\n</p>\n<p>\n Slobodni ste kopirati, distribuirati, prenositi i adaptirati naše karte\n i podatke, sve dok navodite OpenStreetMap kao izvor i doprinositelje. Ako izmjenite \n ili nadogradite naše karte ili podatke, možete distribuirati rezultate\n samo pod istom licencom. Potpuna <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">tekst</a> objašnjava prava i obaveze.\n</p>\n\n<h3>Kako navoditi OpenStreetMap kao izvor</h3>\n<p>\n Ako koristite slike OpenstreetMap karte, zahtjevamo da\n se navede najmanje “© OpenStreetMap\n contributors, CC-BY-SA”. Ako koristite samo podatke,\n zahtjevamo “Map data © OpenStreetMap contributors,\n CC-BY-SA”.\n</p>\n<p>\n Gdje je moguće, OpenStreetMap treba biti kao hyperlink na <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n and CC-BY-SA to <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Ako\n koristite medija gdje linkovi nisu mogući (npr. isprintane\n karte), predlažemo da uputite vaše čitatelje na\n www.openstreetmap.org (proširenjem na\n ‘OpenStreetMap’ za ovo punu adresu) i na\n www.creativecommons.org.\n</p>\n\n<h3>Više o</h3>\n<p>\n Čitajte više o korištenju naših podataka na <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Legal\n FAQ</a>.\n</p>\n<p>\n OSM korisnici - doprinostielji se podsjećaju da nikada ne dodaju podakte iz bilo kojeg\n izvora zaštićenog autorskim pravima (npr. Google Maps ili tiskane karte) bez izričite dozvole\n vlasnik autorskih prava.\n</p>\n<p>\n Iako su OpenstreetMap otvoreni podaci, ne možemo pružiti\n besplatni API za kartu za ostale developere.\n\n Vidi našu <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Politiku korištenja API-a</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Politiku korištenja pločica</a>\n and <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Politiku korištenja Nominatim-a</a>.\n</p>\n\n<h3>Naši korisnici - doprinostielji</h3>\n<p>\n Naša CC-BY-SA licenca zahtjeva od vas da “ navedete izvor Originala\n reazumno prema mediju ili načinima koje koristite”. \n Pojedini OSM maperi ne traže navođenje njih preko ili više od\n “OpenStreetMap korisnici - doprinostielja”, ali gdje su podaci\n iz nacionalne agencije za kartiranje ili nekog drugog glavnog izvora uključeni u\n OpenStreetMap, razumno je navesti i njih direktno\n navodeći ime ili link na njihovu stranicu.\n</p>\n\n<!--\nInformacije za urednike stranica\n\nSlijedeće popisuje samo one organizacije koje zahtjevaju navođenje/ \npripisivanje kao uvijet da se njihovi podaci koriste u OpenStreetMap. \nOvo nije cjeloviti katalog \"uvoza\" podataka, i ne smije se koristiti osim\nkada se pripisivanje zahtjeva da bude u skladu s dozvolom uvezenih podataka.\n\nBilo koje dodavanje ovdje, najprije se mora raspraviti s OSM sistemskim administratorima.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Australija</strong>: Sadrži podatke o predgrađima na osnovu podataka Australian Bureau of Statistics.</li>\n <li><strong>Kanada</strong>: Sadrži podatke iz\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), i StatCan (Geography Division,\n Statistics Canada).</li>\n <li><strong>Novi Zeland</strong>: Sadrži podatke izvorno iz\n Land Information New Zealand. Crown Copyright reserved.</li>\n <li><strong>Velika Britanija</strong>: Sadrži podatke Ordnance\n Survey data © Crown copyright and database right\n 2010.</li>\n</ul>\n\n<p>\n Uvrštenje podataka u OpenStreetMap ne podrazumjeva da se izvorni\n davatelj podataka podržava OpenStreetMap, pruža bilo kakovo jamstvo, ili \n prihvaća bilo kakve obveze.\n</p>"
|
||||||
|
native:
|
||||||
|
mapping_link: počnite kartirati
|
||||||
|
native_link: HRVATSKI verzija
|
||||||
|
text: Vi gledate englesku verziju stranice o autorskim pravima. Možete se vratiti na {{native_link}} ove stranice ili možete prestati čitati o autorskim pravima i {{mapping_link}}.
|
||||||
|
title: O ovoj stranici
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Poruka obrisana
|
deleted: Poruka obrisana
|
||||||
|
@ -939,12 +969,13 @@ hr:
|
||||||
subject: Tema
|
subject: Tema
|
||||||
title: Pošalji poruku
|
title: Pošalji poruku
|
||||||
no_such_message:
|
no_such_message:
|
||||||
|
body: Nažalost nema poruka s tim id.
|
||||||
heading: Nema takve poruke
|
heading: Nema takve poruke
|
||||||
title: Nema takve poruke
|
title: Nema takve poruke
|
||||||
no_such_user:
|
no_such_user:
|
||||||
body: Nažalost ne postoji korisnik s tim imenom.
|
body: Nažalost ne postoji korisnik s tim imenom.
|
||||||
heading: Nema takvog korisnika
|
heading: Nema takvog korisnika
|
||||||
title: Nema takvog korisnika ili poruke
|
title: Nema takvog korisnika
|
||||||
outbox:
|
outbox:
|
||||||
date: Datum
|
date: Datum
|
||||||
inbox: dolazna pošta
|
inbox: dolazna pošta
|
||||||
|
@ -988,6 +1019,7 @@ hr:
|
||||||
hopefully_you_1: Netko (nadam se ti) želio bi promjeniti njihove email adrese preko u
|
hopefully_you_1: Netko (nadam se ti) želio bi promjeniti njihove email adrese preko u
|
||||||
hopefully_you_2: "{{server_url}} na {{new_address}}."
|
hopefully_you_2: "{{server_url}} na {{new_address}}."
|
||||||
friend_notification:
|
friend_notification:
|
||||||
|
befriend_them: Također, možete ih dodati kao prijatelja na {{befriendurl}}.
|
||||||
had_added_you: "{{user}} te je dodao kao prijatelja na OpenStreetMap-u."
|
had_added_you: "{{user}} te je dodao kao prijatelja na OpenStreetMap-u."
|
||||||
see_their_profile: Možeš vidjeti njihov profil na {{userurl}}.
|
see_their_profile: Možeš vidjeti njihov profil na {{userurl}}.
|
||||||
subject: "[OpenStreetMap] {{user}} te je dodao kao prijatelja"
|
subject: "[OpenStreetMap] {{user}} te je dodao kao prijatelja"
|
||||||
|
@ -1320,14 +1352,21 @@ hr:
|
||||||
trackable: Trackable-može se pratiti (prikazuje se kao anonimne, posložene točke sa vremenskom oznakom)
|
trackable: Trackable-može se pratiti (prikazuje se kao anonimne, posložene točke sa vremenskom oznakom)
|
||||||
user:
|
user:
|
||||||
account:
|
account:
|
||||||
|
current email address: "Trenutna E-mail adresa:"
|
||||||
|
delete image: Uklonite trenutnu sliku
|
||||||
email never displayed publicly: (nikada se ne prikazuje javno)
|
email never displayed publicly: (nikada se ne prikazuje javno)
|
||||||
flash update success: Korisničke informacije su uspješno ažurirane.
|
flash update success: Korisničke informacije su uspješno ažurirane.
|
||||||
flash update success confirm needed: Korisničke informacije su uspješno ažurirane. Provjerite email za porukom za potvrdu nove email adrese.
|
flash update success confirm needed: Korisničke informacije su uspješno ažurirane. Provjerite email za porukom za potvrdu nove email adrese.
|
||||||
home location: "Dom:"
|
home location: "Dom:"
|
||||||
|
image: "Slika:"
|
||||||
|
image size hint: (kvadratne slike od barem 100x100 pixela rade najbolje)
|
||||||
|
keep image: Zadržite trenutnu sliku
|
||||||
latitude: "Geografska širina (Latitude):"
|
latitude: "Geografska širina (Latitude):"
|
||||||
longitude: "Geografska dužina (Longitude):"
|
longitude: "Geografska dužina (Longitude):"
|
||||||
make edits public button: Napravi sve moje promjene javnim
|
make edits public button: Napravi sve moje promjene javnim
|
||||||
my settings: Moje postavke
|
my settings: Moje postavke
|
||||||
|
new email address: "Nova E-mail adresa:"
|
||||||
|
new image: Dodajte sliku
|
||||||
no home location: Niste unjeli lokaciju vašeg doma.
|
no home location: Niste unjeli lokaciju vašeg doma.
|
||||||
preferred languages: "Željeni jezici:"
|
preferred languages: "Željeni jezici:"
|
||||||
profile description: "Opis profila:"
|
profile description: "Opis profila:"
|
||||||
|
@ -1341,6 +1380,7 @@ hr:
|
||||||
public editing note:
|
public editing note:
|
||||||
heading: Javno uređivanje
|
heading: Javno uređivanje
|
||||||
text: Trenutno su vaše izmjene anonimne i ljudi vam ne mogu poslati poruke ili vidjeti vašu lokaciju. Da bi pokazali vaše izmjene i dozvolili ljudima da vas kontaktiraju preko website-a, kliknite gumb ispod <b>Od promjene 0.6 API-a, samo javni korisnici mogu uređivati karte</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">saznajte zašto</a>).<ul> <li>Vaša email adrea neće biti otkrivena ako postanete javni.</li> <li>Ova akcija se ne može poništiti i svi novi korisnici su postavljeni kao javni.</li> </ul>
|
text: Trenutno su vaše izmjene anonimne i ljudi vam ne mogu poslati poruke ili vidjeti vašu lokaciju. Da bi pokazali vaše izmjene i dozvolili ljudima da vas kontaktiraju preko website-a, kliknite gumb ispod <b>Od promjene 0.6 API-a, samo javni korisnici mogu uređivati karte</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">saznajte zašto</a>).<ul> <li>Vaša email adrea neće biti otkrivena ako postanete javni.</li> <li>Ova akcija se ne može poništiti i svi novi korisnici su postavljeni kao javni.</li> </ul>
|
||||||
|
replace image: Zamijenite trenutnu sliku
|
||||||
return to profile: Vrati se na profil
|
return to profile: Vrati se na profil
|
||||||
save changes button: Snimi promjene
|
save changes button: Snimi promjene
|
||||||
title: Uredi korisnički račun
|
title: Uredi korisnički račun
|
||||||
|
@ -1371,9 +1411,12 @@ hr:
|
||||||
lost password link: Izgubljena lozinka?
|
lost password link: Izgubljena lozinka?
|
||||||
password: "Lozinka:"
|
password: "Lozinka:"
|
||||||
please login: Molimo prijavite se ili {{create_user_link}}.
|
please login: Molimo prijavite se ili {{create_user_link}}.
|
||||||
|
remember: "Zapamti me:"
|
||||||
title: Prijava
|
title: Prijava
|
||||||
logout:
|
logout:
|
||||||
heading: Odjava iz OpenStreetMap
|
heading: Odjava iz OpenStreetMap
|
||||||
|
logout_button: Odjava
|
||||||
|
title: Odjava
|
||||||
lost_password:
|
lost_password:
|
||||||
email address: "Email adresa:"
|
email address: "Email adresa:"
|
||||||
heading: Zaboravljena lozinka?
|
heading: Zaboravljena lozinka?
|
||||||
|
@ -1407,6 +1450,7 @@ hr:
|
||||||
heading: Korisnik {{user}} ne postoji
|
heading: Korisnik {{user}} ne postoji
|
||||||
title: Nema takvog korisnika
|
title: Nema takvog korisnika
|
||||||
popup:
|
popup:
|
||||||
|
friend: Prijatelj
|
||||||
nearby mapper: Obližnji maper
|
nearby mapper: Obližnji maper
|
||||||
your location: Vaša lokacija
|
your location: Vaša lokacija
|
||||||
remove_friend:
|
remove_friend:
|
||||||
|
@ -1451,7 +1495,7 @@ hr:
|
||||||
nearby users: Drugi korisnici u blizini
|
nearby users: Drugi korisnici u blizini
|
||||||
new diary entry: novi unos u dnevnik
|
new diary entry: novi unos u dnevnik
|
||||||
no friends: Nisi dodao niti jednog prijatelja.
|
no friends: Nisi dodao niti jednog prijatelja.
|
||||||
no nearby users: Nema okolnih korisnika koji mapiraju.
|
no nearby users: Još uvijek nema drugih korisnika koji kartiraju-mapiraju u blizini.
|
||||||
oauth settings: oauth postavke
|
oauth settings: oauth postavke
|
||||||
remove as friend: ukloni kao prijatelja
|
remove as friend: ukloni kao prijatelja
|
||||||
role:
|
role:
|
||||||
|
|
|
@ -937,6 +937,7 @@ hsb:
|
||||||
english_link: jendźelskim originalom
|
english_link: jendźelskim originalom
|
||||||
text: W padźe konflikta mjez přełoženej stronje a {{english_original_link}}, jendźelska strona dyrbi prioritatu měć
|
text: W padźe konflikta mjez přełoženej stronje a {{english_original_link}}, jendźelska strona dyrbi prioritatu měć
|
||||||
title: Wo tutym přełožku
|
title: Wo tutym přełožku
|
||||||
|
legal_babble: "<h2>Awtorske prawo a licenca</h2>\n<p>\n OpenStreetMap je <i>zjawne daty</i>, licencowane pod licencu <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.de\">Creative\n Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n Móžeš naše karty a daty kopěrować, rozdźělić, přenjesć a přiměrić, tak dołho kaž OpenStreetMap a jich přinošowarjow naspominaš. Jeli změniš naše karty abo daty abo zepěraš so na nje, móžeš wuslědk jenož pod samsnej licencu rozdźělić. Dospołny <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">prawniski kod</a> wujasnja twoje prawa a zamołwitosće.\n</p>\n\n<h3>Kak OpenStreetMap naspomnić</h3>\n<p>\n Jeli kartowe wobrazy z OpenStreetMap wužiwaš, žadamy sej, zo twoje naspomnjenje znajmjeńša “© OpenStreetMap\n contributors, CC-BY-SA” rěka. Jeli jenož kartowe daty wužiwaš, žadamy sej “Map data © OpenStreetMap contributors, CC-BY-SA”.\n</p>\n<p>\n Hdźež je móžno, OpenStreetMap měł wotkaz do <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n a CC-BY-SA to <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měć. Jeli medij wužiwaš, hdźež wotkazy móžno njejsu (na př. ćišćane dźěło), namjetujemy, zo pokazuješ swojich čitarjow na www.openstreetmap.org (snano přez narunowanje ‘OpenStreetMap’ přez połnu adresu) a na www.creativecommons.org.\n</p>\n\n<h3>Dalše informacije</h3>\n<p>\n Čitaj wjace wo wužiwanju našich datow <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Huste prawniske prašenja</a>.\n</p>\n<p>\n Přinošowarjow OSM dopominaja, zo ženje daty ze žórłow njepřidawaja, kotrež su přez awtorske prawo škitane (na př. z Google Maps abo z ćišćanych kartow) bjez eksplicitnego dowolenja awtorow.\n</p>\n<p>\n Hačrunjež OpenStreetMap je zjawne daty, njemóžemy darmotny kartowy API za wuwiwarjow třećich poskićić.\n\n Hlej na <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Prawidła za wužiwanje API</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Prawidła za wužiwanje polow</a>\n a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Prawidła za wužiwanje Nominatim</a>.\n</p>\n\n<h3>Naši přinošowarjo</h3>\n<p>\n Naša licenca CC-BY-SA žada sej, zo “daš prěnjotnemu awtorej dźak přiměrjeny medijej abo srědkej, kotryž wužiwaš”. Jednotliwi kartěrowarjo OSM nježadaja sej přidatne dźakprajenje k “OpenStreetMap contributors”, ale hdyž so daty z narodneho kartěrowanskeho předewzaća abo z druheho wuznamneho žórła w OpenStreetMap zapřijimaja, je přiměrjene, jim přez direktne přewzaće jich dźakprajenja abo přez wotkazowanje na njo na tutej stronje dźak prajić.\n</p>\n\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Australska</strong>: Wobsahuje předměšćanske daty na zakładźe datow Australian Bureau of Statistics (Awstralska zarjad za statistiku).</li>\n <li><strong>Kanada</strong>: Wobsahuje daty z GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), a StatCan (Geography Division,\n Statistics Canada).</li>\n <li><strong>Nowoseelandska</strong>: Wobsahuje daty ze žórłow wot Land Information New Zealand. Awtorske prawo wuměnjene.</li>\n <li><strong>Zjednoćene kralestwo</strong>: Wobsahuje daty z Ordnance\n Survey (Zarjadniske krajměrjenstwo) © Awtorske prawo a prawo za datowe banki 2010.</li>\n</ul>\n\n<p>\n Zapřijimanje datow do OpenStreetMap njerěka, zo poskićowar originalnych datow OpenStreetMap připóznawa, někajku garantiju dodawa abo rukowanje pśewozmje.\n</p>"
|
||||||
native:
|
native:
|
||||||
mapping_link: kartěrowanje započeć
|
mapping_link: kartěrowanje započeć
|
||||||
native_link: hornjoserbskej wersiji
|
native_link: hornjoserbskej wersiji
|
||||||
|
|
|
@ -123,7 +123,13 @@ ia:
|
||||||
navigation:
|
navigation:
|
||||||
all:
|
all:
|
||||||
next_changeset_tooltip: Gruppo de modificationes sequente
|
next_changeset_tooltip: Gruppo de modificationes sequente
|
||||||
|
next_node_tooltip: Nodo sequente
|
||||||
|
next_relation_tooltip: Relation sequente
|
||||||
|
next_way_tooltip: Via sequente
|
||||||
prev_changeset_tooltip: Gruppo de modificationes precedente
|
prev_changeset_tooltip: Gruppo de modificationes precedente
|
||||||
|
prev_node_tooltip: Nodo precedente
|
||||||
|
prev_relation_tooltip: Relation precedente
|
||||||
|
prev_way_tooltip: Via precedente
|
||||||
user:
|
user:
|
||||||
name_changeset_tooltip: Vider modifications per {{user}}
|
name_changeset_tooltip: Vider modifications per {{user}}
|
||||||
next_changeset_tooltip: Modification sequente per {{user}}
|
next_changeset_tooltip: Modification sequente per {{user}}
|
||||||
|
@ -212,6 +218,10 @@ ia:
|
||||||
zoom_or_select: Face zoom avante o selige un area del carta a visualisar
|
zoom_or_select: Face zoom avante o selige un area del carta a visualisar
|
||||||
tag_details:
|
tag_details:
|
||||||
tags: "Etiquettas:"
|
tags: "Etiquettas:"
|
||||||
|
wiki_link:
|
||||||
|
key: Le pagina wiki que describe le etiquetta {{key}}
|
||||||
|
tag: Le pagina wiki que describe le etiquetta {{key}}={{value}}
|
||||||
|
wikipedia_link: Le articulo {{page}} in Wikipedia
|
||||||
timeout:
|
timeout:
|
||||||
sorry: Pardono, le datos pro le {{type}} con le ID {{id}} ha prendite troppo de tempore pro esser recuperate.
|
sorry: Pardono, le datos pro le {{type}} con le ID {{id}} ha prendite troppo de tempore pro esser recuperate.
|
||||||
type:
|
type:
|
||||||
|
@ -499,6 +509,33 @@ ia:
|
||||||
waste_basket: Corbe a papiro
|
waste_basket: Corbe a papiro
|
||||||
wifi: Accesso WiFi
|
wifi: Accesso WiFi
|
||||||
youth_centre: Centro pro le juventute
|
youth_centre: Centro pro le juventute
|
||||||
|
boundary:
|
||||||
|
administrative: Limite administrative
|
||||||
|
building:
|
||||||
|
apartments: Bloco de appartamentos
|
||||||
|
chapel: Cappella
|
||||||
|
church: Ecclesia
|
||||||
|
city_hall: Casa municipal
|
||||||
|
commercial: Edificio commercial
|
||||||
|
entrance: Entrata de edificio
|
||||||
|
faculty: Edificio de facultate
|
||||||
|
farm: Edificio agricole
|
||||||
|
flats: Appartamentos
|
||||||
|
garage: Garage
|
||||||
|
hospital: Edificio hospitalari
|
||||||
|
hotel: Hotel
|
||||||
|
house: Casa
|
||||||
|
industrial: Edificio industrial
|
||||||
|
public: Edificio public
|
||||||
|
retail: Magazin
|
||||||
|
school: Edificio de schola
|
||||||
|
stadium: Stadio
|
||||||
|
store: Magazin
|
||||||
|
terrace: Terrassa
|
||||||
|
tower: Turre
|
||||||
|
train_station: Station ferroviari
|
||||||
|
university: Edificio de universitate
|
||||||
|
"yes": Edificio
|
||||||
highway:
|
highway:
|
||||||
bridleway: Sentiero pro cavallos
|
bridleway: Sentiero pro cavallos
|
||||||
bus_guideway: Via guidate de autobus
|
bus_guideway: Via guidate de autobus
|
||||||
|
@ -717,17 +754,26 @@ ia:
|
||||||
viewpoint: Puncto de vista
|
viewpoint: Puncto de vista
|
||||||
zoo: Zoo
|
zoo: Zoo
|
||||||
waterway:
|
waterway:
|
||||||
|
boatyard: Cantier naval
|
||||||
|
canal: Canal
|
||||||
|
connector: Connexion aquatic
|
||||||
|
dam: Dica
|
||||||
derelict_canal: Canal abandonate
|
derelict_canal: Canal abandonate
|
||||||
ditch: Fossato
|
ditch: Fossato
|
||||||
dock: Dock
|
dock: Dock
|
||||||
drain: Aquiero
|
drain: Aquiero
|
||||||
lock: Esclusa
|
lock: Esclusa
|
||||||
lock_gate: Porta de esclusa
|
lock_gate: Porta de esclusa
|
||||||
|
mineral_spring: Fonte de aqua mineral
|
||||||
mooring: Ammarrage
|
mooring: Ammarrage
|
||||||
rapids: Rapidos
|
rapids: Rapidos
|
||||||
river: Fluvio/Riviera
|
river: Fluvio/Riviera
|
||||||
riverbank: Ripa de fluvio/riviera
|
riverbank: Ripa de fluvio/riviera
|
||||||
|
stream: Rivo
|
||||||
|
wadi: Wadi
|
||||||
|
water_point: Puncto de aqua
|
||||||
waterfall: Cascada
|
waterfall: Cascada
|
||||||
|
weir: Barrage
|
||||||
javascripts:
|
javascripts:
|
||||||
map:
|
map:
|
||||||
base:
|
base:
|
||||||
|
@ -786,6 +832,17 @@ ia:
|
||||||
view_tooltip: Vider le carta
|
view_tooltip: Vider le carta
|
||||||
welcome_user: Benvenite, {{user_link}}
|
welcome_user: Benvenite, {{user_link}}
|
||||||
welcome_user_link_tooltip: Tu pagina de usator
|
welcome_user_link_tooltip: Tu pagina de usator
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: le original in anglese
|
||||||
|
text: In caso de un conflicto inter iste pagina traducite e {{english_original_link}}, le pagina in anglese prevalera.
|
||||||
|
title: A proposito de iste traduction
|
||||||
|
legal_babble: "<h2>Copyright e Licentia</h2>\n<p>\n OpenStreetMap es <i>datos aperte</i>, disponibile sub le licentia\n <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n Vos es libere de copiar, distribuer, transmitter e adaptar nostre cartas\n e datos, a condition que vos da recognoscentia a OpenStreetMap e su\n contributores. Si vos altera o extende nostre cartas e datos, vos\n pote distribuer le resultato solmente sub le mesme licentia. Le\n complete <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">codice\n legal</a> explica vostre derectos e responsabilitates.\n</p>\n\n<h3>Como dar recognoscentia a OpenStreetMap</h3>\n<p>\n Si vos usa imagines del cartas de OpenStreetMap, nos requesta que\n vostre recognoscentia indica al minus “© Contributores de\n OpenStreetMap, CC-BY-SA”. Si vos usa solmente datos cartographic,\n nos requesta “Datos cartographic © Contributores de OpenStreetMap,\n CC-BY-SA”.\n</p>\n<p>\n Si possibile, le parola OpenStreetMap debe esser un hyperligamine a <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n e le termino CC-BY-SA debe ligar a <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si\n vos usa un medio de communication in le qual le ligamines non es possibile (p.ex. un\n obra imprimite), nos suggere que vos dirige vostre lectores a\n www.openstreetmap.org (possibilemente per expander\n ‘OpenStreetMap’ a iste adresse complete) e a\n www.creativecommons.org.\n</p>\n\n<h3>Pro saper plus</h3>\n<p>\n Lege plus super le uso de nostre datos al <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ\n Legal</a>.\n</p>\n<p>\n Le contributores de OSM es recordate de nunquam adder datos de alcun\n fonte subjecte al derecto de autor (p.ex. Google Maps o cartas imprimite)\n sin explicite permission del titulares del derecto de autor.\n</p>\n<p>\n Ben que OpenStreetMap es datos aperte, nos non pote fornir un\n API cartographic gratuite pro altere disveloppatores.\n\n Vide nostre <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">politica pro le uso del API</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">politica pro le uso de tegulas</a>\n e <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">politica pro le uso de Nominatim</a>.\n</p>\n\n<h3>Nostre contributores</h3>\n<p>\n Nostre licentia CC-BY-SA require que vos “da al Autor\n Original recognoscentia rationabile pro le medio que Vos\n utilisa”. Le cartographos individual de OSM non requesta un\n recognoscentia excedente illo del “Contributores de\n OpenStreetMap”, sed ubi datos de un agentia cartographic\n national o altere fonte major ha essite includite in\n OpenStreetMap, il pote esser rationabile dar les recognoscentia per\n directemente reproducer lor recognoscentia o per ligar a illo in iste pagina.\n</p>\n\n<!--\nInformation pro redactores de iste pagina\n\nIn le sequente lista figura solmente le organisationes que require attribution\ncomo condition pro le uso de lor datos in OpenStreetMap. Isto non es un\ncatalogo general de datos importate, e non debe esser usate salvo si\nattribution es requirite pro conformitate con le licentia del datos\nimportate.\n\nOmne additiones hic debe esser discutite primo con le administratores de OSM.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Australia</strong>: Contine datos de suburbios a base\n de datos del Australian Bureau of Statistics.</li>\n <li><strong>Canada</strong>: Contine datos ab\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), e (Geography Division,\n Statistics Canada).</li>\n <li><strong>Nove Zelandia</strong>: Contine datos obtenite ex\n Land Information New Zealand. Crown Copyright reservate.</li>\n <li><strong>Regno Unite</strong>: Contine datos de Ordnance\n Survey © Crown copyright e derecto de base de datos\n 2010.</li>\n</ul>\n\n<p>\n Le inclusion de datos in OpenStreetMap non implica que le fornitor\n original del datos indorsa OpenStreetMap, forni alcun garantia, o\n accepta alcun responsabilitate.\n</p>"
|
||||||
|
native:
|
||||||
|
mapping_link: comenciar le cartographia
|
||||||
|
native_link: version in interlingua
|
||||||
|
text: Tu vide nunc le version in anglese del pagina de copyright. Tu pote retornar al {{native_link}} de iste pagina o tu pote cessar de leger super copyright e {{mapping_link}}.
|
||||||
|
title: A proposito de iste pagina
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Message delite
|
deleted: Message delite
|
||||||
|
|
|
@ -949,6 +949,17 @@ pt-BR:
|
||||||
view_tooltip: Veja o mapa
|
view_tooltip: Veja o mapa
|
||||||
welcome_user: Bem vindo, {{user_link}}
|
welcome_user: Bem vindo, {{user_link}}
|
||||||
welcome_user_link_tooltip: Sua Página de usuário
|
welcome_user_link_tooltip: Sua Página de usuário
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: o original em Inglês
|
||||||
|
text: Caso haja um conflito entre esta tradução e {{english_original_link}}, a página em Inglês terá precedência
|
||||||
|
title: Sobre esta tradução
|
||||||
|
legal_babble: "<h2>Direitos Autorais e Licença</h2>\n<p>\n O OpenStreetMap possui <i>dados abertos</i>, licenciados sob a licença <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n Commons Atribuição-Compartilhamento pela mesma Licença 2.0</a> (CC-BY-SA).\n</p>\n<p>\n Você está livre para copiar, distribuir, transmitir e adaptar nossos mapas\n e dados, desde que você dê crédito ao OpenStreetMap e seus\n colaboradores. Se você alterar ou criar sobre nossos mapas ou dados, você\n deve distribuir os resultados apenas sobre a mesma licença. A\n <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">licença\n jurídica</a> explica seus direitos e responsabilidades.\n</p>\n\n<h3>Como dar crédito ao OpenStreetMap</h3>\n<p>\n Se você usar as imagens dos mapas do OpenStreetMap, nós pedimos que\n os créditos apareçam como “© OpenStreetMap\n contributors, CC-BY-SA”. Se você estiver usando apenas os dados dos mapas,\n nós pedimos que os créditos apareçam como “Map data © OpenStreetMap contributors,\n CC-BY-SA”.\n</p>\n<p>\n Onde for possível, um link para o OpenStreetMap deve direcionar para <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n e a licença CC-BY-SA para <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Se\n você estiver usando uma mídia que não pode conter links (ex.: um\n trabalho impresso), sugerimos que você direcione seus leitores para \n www.openstreetmap.org (talvez por expandir\n ‘OpenStreetMap’ para este endereço completo) e para \n www.creativecommons.org.\n</p>\n\n<h3>Descobrir mais</h3>\n<p>\n Leia mais sobre o uso de nossos dados no <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Legal\n FAQ</a>.\n</p>\n<p>\n os colaboradores do OSM são lembrados de nunca adicionar dados de quaisquer\n fontes sob copyright (ex.: Google Maps ou mapas impressos) sem\n permissão explícita dos detentores dos direitos atorais.\n</p>\n<p>\n Embora o OpenStreetMap tenha dados abertos, nós não podemos prover uma\n API de mapas livre de encargos para desenvolvedores de terceiros.\n\n Veja nossa <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política de uso da API</a>,\n <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política de Uso de Imagens</a>\n e <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Política de Uso do Nominatim</a>.\n</p>\n\n<h3>Nossos colaboradores</h3>\n<p>\n A nossa licença CC-BY-SA requer que você “dê crédito ao \n Autor Original de forma equivalente à mídia ou meios que Você\n está utilizando”. Mapeadores individuais do OSM não solicitam \n crédito além do “OpenStreetMap\n contributors”, mas quando os dados vem de uma agência \n nacional de mapeamento, ou de outra fonte superior, a ser incluída\n no OpenStreetMap, é razoável creditá-la por reproduzir diretamente \n os seus créditos ou por fazer links para eles nesta página.\n</p>\n\n<!--\nInformações para editores desta página\n\nA lista a seguir mostra apenas as organizações que solicitaram atribuição\ncomo condição para terem seus dados usados no OpenStreetMap. Este não é um \ncatálogo geral de importações, e não deve ser usado como tal, exceto quando a \natribuição é solicitada para obedecer à licença dos dados importados.\n\nQuaisquer adições devem primeiro ser discutidas pelos administradores do OSM.\n-->\n\n<ul id=\"contributors\">\n <li><strong>Austrália</strong>: Contém dados do subúrbio baseado\n nos dados do Australian Bureau of Statistics.</li>\n <li><strong>Canadá</strong>: Contém dados do\n GeoBase®, GeoGratis (© Departamento de Recursos\n Naturais do Canadá), CanVec (© Departamento de Recursos\n Naturais do Canadá), and StatCan (Divisão de Geografia e \n Estatística do Canada).</li>\n <li><strong>Nova Zelândia</strong>: Contém dados do \n Land Information New Zealand. Crown Copyright reserved.</li>\n <li><strong>Reino Unido</strong>: Contém Ordnance\n Survey data © Crown copyright and database right\n 2010.</li>\n</ul>\n\n<p>\n A inclusão de dados no OpenStreetMap não implica em endosso do provedor dos dados \n ao OpenStreetMap, nem em qualquer garantia, ou\n aceitação de qualquer responsabilidade.\n</p>"
|
||||||
|
native:
|
||||||
|
mapping_link: começar a mapear
|
||||||
|
native_link: Versão em Português do Brasil
|
||||||
|
text: Você está vendo a versão em Inglês da página de Direitos Autorais. Você pode voltar para a {{native_link}} desta página ou pode parar de ler sobre direitos autorais e {{mapping_link}}.
|
||||||
|
title: Sobre esta página
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Mensagem apagada
|
deleted: Mensagem apagada
|
||||||
|
|
|
@ -880,7 +880,7 @@ ru:
|
||||||
history_tooltip: Просмотр правок в этой области
|
history_tooltip: Просмотр правок в этой области
|
||||||
history_zoom_alert: Необходимо увеличить масштаб карты, чтобы увидеть историю правок
|
history_zoom_alert: Необходимо увеличить масштаб карты, чтобы увидеть историю правок
|
||||||
layouts:
|
layouts:
|
||||||
copyright: Авт. право и лицензия
|
copyright: Авторское право и лицензия
|
||||||
donate: Поддержите OpenStreetMap {{link}} в Фонд обновления оборудования.
|
donate: Поддержите OpenStreetMap {{link}} в Фонд обновления оборудования.
|
||||||
donate_link_text: пожертвованиями
|
donate_link_text: пожертвованиями
|
||||||
edit: Правка
|
edit: Правка
|
||||||
|
@ -931,6 +931,16 @@ ru:
|
||||||
view_tooltip: Посмотреть карту
|
view_tooltip: Посмотреть карту
|
||||||
welcome_user: Добро пожаловать, {{user_link}}
|
welcome_user: Добро пожаловать, {{user_link}}
|
||||||
welcome_user_link_tooltip: Ваша страница пользователя
|
welcome_user_link_tooltip: Ваша страница пользователя
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: английского оригинала
|
||||||
|
text: В случае конфликта между этой переведённой страницей и {{english_original_link}}, английская страница должна иметь приоритет
|
||||||
|
title: Об этом переводе
|
||||||
|
native:
|
||||||
|
mapping_link: начать картографирование
|
||||||
|
native_link: русской версии
|
||||||
|
text: Вы просматриваете английскую версию страницы авторских прав. Вы можете вернуться к {{native_link}} этой страницы или можете прекратить чтение об авторских правах и {{mapping_link}}.
|
||||||
|
title: Об этой странице
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Сообщение удалено
|
deleted: Сообщение удалено
|
||||||
|
|
|
@ -453,6 +453,8 @@ sr-EC:
|
||||||
primary_link: Главни пут
|
primary_link: Главни пут
|
||||||
raceway: Тркачка стаза
|
raceway: Тркачка стаза
|
||||||
road: Пут
|
road: Пут
|
||||||
|
secondary: Споредни пут
|
||||||
|
secondary_link: Споредни пут
|
||||||
steps: Степенице
|
steps: Степенице
|
||||||
trail: Стаза
|
trail: Стаза
|
||||||
trunk_link: Магистрални пут
|
trunk_link: Магистрални пут
|
||||||
|
@ -795,6 +797,7 @@ sr-EC:
|
||||||
school:
|
school:
|
||||||
- Школа
|
- Школа
|
||||||
- универзитет
|
- универзитет
|
||||||
|
secondary: Споредни пут
|
||||||
station: Железничка станица
|
station: Железничка станица
|
||||||
subway: Подземна железница
|
subway: Подземна железница
|
||||||
summit:
|
summit:
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# Exported from translatewiki.net
|
# Exported from translatewiki.net
|
||||||
# Export driver: syck
|
# Export driver: syck
|
||||||
# Author: Minh Nguyen
|
# Author: Minh Nguyen
|
||||||
|
# Author: Ninomax
|
||||||
vi:
|
vi:
|
||||||
activerecord:
|
activerecord:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -123,7 +124,11 @@ vi:
|
||||||
navigation:
|
navigation:
|
||||||
all:
|
all:
|
||||||
next_changeset_tooltip: Bộ thay đổi sau
|
next_changeset_tooltip: Bộ thay đổi sau
|
||||||
|
next_node_tooltip: Node tiếp theo
|
||||||
|
next_way_tooltip: Đường tiếp theo
|
||||||
prev_changeset_tooltip: Bộ thay đổi trước
|
prev_changeset_tooltip: Bộ thay đổi trước
|
||||||
|
prev_node_tooltip: Node trước
|
||||||
|
prev_relation_tooltip: Relation trước
|
||||||
user:
|
user:
|
||||||
name_changeset_tooltip: Xem các đóng góp của {{user}}
|
name_changeset_tooltip: Xem các đóng góp của {{user}}
|
||||||
next_changeset_tooltip: Đóng góp sau của {{user}}
|
next_changeset_tooltip: Đóng góp sau của {{user}}
|
||||||
|
@ -422,6 +427,7 @@ vi:
|
||||||
bench: Ghế
|
bench: Ghế
|
||||||
bicycle_parking: Chỗ Đậu Xe đạp
|
bicycle_parking: Chỗ Đậu Xe đạp
|
||||||
bicycle_rental: Chỗ Mướn Xe đạp
|
bicycle_rental: Chỗ Mướn Xe đạp
|
||||||
|
bus_station: Trạm xe bus
|
||||||
cafe: Quán Cà phê
|
cafe: Quán Cà phê
|
||||||
car_rental: Chỗ Mướn Xe
|
car_rental: Chỗ Mướn Xe
|
||||||
car_sharing: Chia sẻ Xe cộ
|
car_sharing: Chia sẻ Xe cộ
|
||||||
|
@ -466,6 +472,7 @@ vi:
|
||||||
post_office: Bưu điện
|
post_office: Bưu điện
|
||||||
preschool: Trường Mầm non
|
preschool: Trường Mầm non
|
||||||
prison: Nhà tù
|
prison: Nhà tù
|
||||||
|
pub: Quán rượu
|
||||||
public_market: Chợ phiên
|
public_market: Chợ phiên
|
||||||
restaurant: Nhà hàng
|
restaurant: Nhà hàng
|
||||||
sauna: Nhà Tắm hơi
|
sauna: Nhà Tắm hơi
|
||||||
|
@ -797,6 +804,12 @@ vi:
|
||||||
view_tooltip: Xem bản đồ
|
view_tooltip: Xem bản đồ
|
||||||
welcome_user: Hoan nghênh, {{user_link}}
|
welcome_user: Hoan nghênh, {{user_link}}
|
||||||
welcome_user_link_tooltip: Trang cá nhân của bạn
|
welcome_user_link_tooltip: Trang cá nhân của bạn
|
||||||
|
license_page:
|
||||||
|
foreign:
|
||||||
|
english_link: nguyên bản tiếng Anh
|
||||||
|
text: Trong trường hợp có xung đột giữa trang dịch và trang {{english_original_link}}, trang tiếng Anh sẽ được ưu tiên
|
||||||
|
native:
|
||||||
|
title: Giới thiệu về trang này
|
||||||
message:
|
message:
|
||||||
delete:
|
delete:
|
||||||
deleted: Đã xóa thư
|
deleted: Đã xóa thư
|
||||||
|
|
|
@ -37,7 +37,7 @@ br:
|
||||||
advice_conflict: Tabut gant ar servijer - marteze o po da glask enrollañ adarre
|
advice_conflict: Tabut gant ar servijer - marteze o po da glask enrollañ adarre
|
||||||
advice_deletingpoi: O tilemel POI (Z evit dizober)
|
advice_deletingpoi: O tilemel POI (Z evit dizober)
|
||||||
advice_deletingway: O tilemel an hent (Z evit dizober)
|
advice_deletingway: O tilemel an hent (Z evit dizober)
|
||||||
advice_microblogged: Hizivaet eo bet ho statud
|
advice_microblogged: Hizivaet eo bet ho statud $1
|
||||||
advice_nocommonpoint: N'eus poent boutin ebet etre an hentoù
|
advice_nocommonpoint: N'eus poent boutin ebet etre an hentoù
|
||||||
advice_revertingpoi: Distreiñ d'ar POI enrollet da ziwezhañ (Z evit dizober)
|
advice_revertingpoi: Distreiñ d'ar POI enrollet da ziwezhañ (Z evit dizober)
|
||||||
advice_revertingway: Distreiñ d'an hent enrollet da ziwezhañ (Z evit dizober)
|
advice_revertingway: Distreiñ d'an hent enrollet da ziwezhañ (Z evit dizober)
|
||||||
|
@ -66,7 +66,7 @@ br:
|
||||||
emailauthor: "\n\nTrugarez da gas keloù da richard\\@systemeD.net evit menegiñ an draen, ha displegañ dezhañ ar pezh e oac'h oc'h ober p'eo c'hoarvezet."
|
emailauthor: "\n\nTrugarez da gas keloù da richard\\@systemeD.net evit menegiñ an draen, ha displegañ dezhañ ar pezh e oac'h oc'h ober p'eo c'hoarvezet."
|
||||||
error_anonymous: Ne c'hallit ket mont e darempred gant ur c'hartennour dizanv.
|
error_anonymous: Ne c'hallit ket mont e darempred gant ur c'hartennour dizanv.
|
||||||
error_connectionfailed: "Ho tigarez, c'hwitet eo kevreañ ouzh servijer OpenStreetMap. N'eo ket bet enrollet ho kemmoù diwezhañ.\n\nEsaeañ en-dro ?"
|
error_connectionfailed: "Ho tigarez, c'hwitet eo kevreañ ouzh servijer OpenStreetMap. N'eo ket bet enrollet ho kemmoù diwezhañ.\n\nEsaeañ en-dro ?"
|
||||||
error_microblog_long: "Ur fazi a zo bet er postadur davet $1 :\nKod HTTP : $2\nFazi kemenadenn: $3\nFazi $1 : $4"
|
error_microblog_long: "C'hwitet eo bet ar bostadenn da $1 :\nKod HTTP : $2\nKemennadenn fazi : $3\nFazi $1 : $4"
|
||||||
error_nopoi: N'eo ket bet kavet al Lec'h Dedennus (LED), war ur bajenn all marteze ?, n'hall ket bezañ assavet.
|
error_nopoi: N'eo ket bet kavet al Lec'h Dedennus (LED), war ur bajenn all marteze ?, n'hall ket bezañ assavet.
|
||||||
error_nosharedpoint: "N'eus mui poent boutin ebet etre an hentoù $1 ha $2, setu n'haller ket o adpegañ : n'haller ket dizober an dispartiadenn zo bet graet a-raok."
|
error_nosharedpoint: "N'eus mui poent boutin ebet etre an hentoù $1 ha $2, setu n'haller ket o adpegañ : n'haller ket dizober an dispartiadenn zo bet graet a-raok."
|
||||||
error_noway: N'eo ket bet kavet an hent $1, n'hall ket bezañ assavet d'e stad kent.
|
error_noway: N'eo ket bet kavet an hent $1, n'hall ket bezañ assavet d'e stad kent.
|
||||||
|
@ -137,7 +137,7 @@ br:
|
||||||
option_layer_tip: Dibab an drekleur da ziskwel
|
option_layer_tip: Dibab an drekleur da ziskwel
|
||||||
option_limitways: Kas ur c'hemenn pa vez karget kalz a roadennoù pounner
|
option_limitways: Kas ur c'hemenn pa vez karget kalz a roadennoù pounner
|
||||||
option_microblog_id: "Anv ar mikroblog :"
|
option_microblog_id: "Anv ar mikroblog :"
|
||||||
option_microblog_pwd: "Ger tremen mikroblog :"
|
option_microblog_pwd: "Ger-tremen mikroblog :"
|
||||||
option_noname: Dreistlinennañ an hentoù dizanv
|
option_noname: Dreistlinennañ an hentoù dizanv
|
||||||
option_photo: "Luc'hskeudenn KML :"
|
option_photo: "Luc'hskeudenn KML :"
|
||||||
option_thinareas: Implijout linennoù moanoc'h evit an takadoù
|
option_thinareas: Implijout linennoù moanoc'h evit an takadoù
|
||||||
|
|
|
@ -132,6 +132,7 @@ ca:
|
||||||
option_layer_ooc_scotland: "Regne Unit històric: Escòcia"
|
option_layer_ooc_scotland: "Regne Unit històric: Escòcia"
|
||||||
option_layer_os_streetview: "UK: OS StreetView"
|
option_layer_os_streetview: "UK: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haití: noms de carrers"
|
option_layer_streets_haiti: "Haití: noms de carrers"
|
||||||
|
option_layer_surrey_air_survey: "Regne Unit: Mesurament aeri de Surrey"
|
||||||
option_layer_tip: Escollir el fons a mostrar
|
option_layer_tip: Escollir el fons a mostrar
|
||||||
option_limitways: Avisar si hi ha molta càrrega de dades
|
option_limitways: Avisar si hi ha molta càrrega de dades
|
||||||
option_microblog_id: "Nom microblog:"
|
option_microblog_id: "Nom microblog:"
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
# Author: CygnusOlor
|
# Author: CygnusOlor
|
||||||
# Author: Fnolz
|
# Author: Fnolz
|
||||||
# Author: Grille chompa
|
# Author: Grille chompa
|
||||||
|
# Author: Kghbln
|
||||||
# Author: LWChris
|
# Author: LWChris
|
||||||
# Author: Markobr
|
# Author: Markobr
|
||||||
# Author: Michi
|
# Author: Michi
|
||||||
|
@ -135,11 +136,13 @@ de:
|
||||||
option_layer_cycle_map: OSM - Radwanderkarte
|
option_layer_cycle_map: OSM - Radwanderkarte
|
||||||
option_layer_maplint: OSM - Maplint (Fehler)
|
option_layer_maplint: OSM - Maplint (Fehler)
|
||||||
option_layer_nearmap: "Australien: NearMap"
|
option_layer_nearmap: "Australien: NearMap"
|
||||||
option_layer_ooc_25k: Historische UK Karten 1:25k
|
option_layer_ooc_25k: "UK (historisch): Karten 1:25k"
|
||||||
option_layer_ooc_7th: "UK historic: 7th"
|
option_layer_ooc_7th: "UK (historisch): 7th"
|
||||||
option_layer_ooc_npe: "UK historic: NPE"
|
option_layer_ooc_npe: "UK (historisch): NPE"
|
||||||
option_layer_ooc_scotland: "UK-Historisch: Schottland"
|
option_layer_ooc_scotland: "UK (historisch): Schottland"
|
||||||
|
option_layer_os_streetview: "UK: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haiti: Straßenname"
|
option_layer_streets_haiti: "Haiti: Straßenname"
|
||||||
|
option_layer_surrey_air_survey: "UK: Surrey Air Survey"
|
||||||
option_layer_tip: Hintergrund auswählen
|
option_layer_tip: Hintergrund auswählen
|
||||||
option_limitways: Warnung wenn große Datenmenge geladen wird
|
option_limitways: Warnung wenn große Datenmenge geladen wird
|
||||||
option_microblog_id: "Microblog Name:"
|
option_microblog_id: "Microblog Name:"
|
||||||
|
@ -202,6 +205,7 @@ de:
|
||||||
tags_backtolist: Zurück zur Auflistung
|
tags_backtolist: Zurück zur Auflistung
|
||||||
tags_descriptions: Beschreibungen von '$1'
|
tags_descriptions: Beschreibungen von '$1'
|
||||||
tags_findatag: Einen Tag finden
|
tags_findatag: Einen Tag finden
|
||||||
|
tags_findtag: Tag ermitteln
|
||||||
tags_matching: Beliebte Tags zu '$1'
|
tags_matching: Beliebte Tags zu '$1'
|
||||||
tags_typesearchterm: "Suchbegriff eingeben:"
|
tags_typesearchterm: "Suchbegriff eingeben:"
|
||||||
tip_addrelation: Zu einer Relation hinzufügen
|
tip_addrelation: Zu einer Relation hinzufügen
|
||||||
|
|
|
@ -134,6 +134,7 @@ es:
|
||||||
option_layer_ooc_scotland: "UK histórico: Escocia"
|
option_layer_ooc_scotland: "UK histórico: Escocia"
|
||||||
option_layer_os_streetview: "UK: OS StreetView"
|
option_layer_os_streetview: "UK: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haiti: nombres de calles"
|
option_layer_streets_haiti: "Haiti: nombres de calles"
|
||||||
|
option_layer_surrey_air_survey: "UK: Surrey Air Survey"
|
||||||
option_layer_tip: Elija el fondo a mostrar
|
option_layer_tip: Elija el fondo a mostrar
|
||||||
option_limitways: Lanza una advertencia al cargar gran cantidad de datos.
|
option_limitways: Lanza una advertencia al cargar gran cantidad de datos.
|
||||||
option_microblog_id: "Nombre del microblog:"
|
option_microblog_id: "Nombre del microblog:"
|
||||||
|
|
|
@ -125,12 +125,13 @@ gl:
|
||||||
option_layer_cycle_map: OSM - mapa cíclico
|
option_layer_cycle_map: OSM - mapa cíclico
|
||||||
option_layer_maplint: OSM - Maplint (erros)
|
option_layer_maplint: OSM - Maplint (erros)
|
||||||
option_layer_nearmap: "Australia: NearMap"
|
option_layer_nearmap: "Australia: NearMap"
|
||||||
option_layer_ooc_25k: "Historial UK: 1:25k"
|
option_layer_ooc_25k: "Reino Unido histórico: 1:25k"
|
||||||
option_layer_ooc_7th: "Historial UK: 7º"
|
option_layer_ooc_7th: "Reino Unido histórico: 7º"
|
||||||
option_layer_ooc_npe: "Historial UK: NPE"
|
option_layer_ooc_npe: "Reino Unido histórico: NPE"
|
||||||
option_layer_ooc_scotland: "RU histórico: Escocia"
|
option_layer_ooc_scotland: "Reino Unido histórico: Escocia"
|
||||||
option_layer_os_streetview: "RU: OS StreetView"
|
option_layer_os_streetview: "Reino Unido: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haití: nomes de rúas"
|
option_layer_streets_haiti: "Haití: nomes de rúas"
|
||||||
|
option_layer_surrey_air_survey: "Reino Unido: Enquisa aérea sobre Surrey"
|
||||||
option_layer_tip: Escolla o fondo a mostrar
|
option_layer_tip: Escolla o fondo a mostrar
|
||||||
option_limitways: Avisar ao cargar moitos datos
|
option_limitways: Avisar ao cargar moitos datos
|
||||||
option_microblog_id: "Nome do blogue de mensaxes curtas:"
|
option_microblog_id: "Nome do blogue de mensaxes curtas:"
|
||||||
|
@ -155,7 +156,7 @@ gl:
|
||||||
preset_icon_hospital: Hospital
|
preset_icon_hospital: Hospital
|
||||||
preset_icon_hotel: Hotel
|
preset_icon_hotel: Hotel
|
||||||
preset_icon_museum: Museo
|
preset_icon_museum: Museo
|
||||||
preset_icon_parking: Aparcamento
|
preset_icon_parking: Aparcadoiro
|
||||||
preset_icon_pharmacy: Farmacia
|
preset_icon_pharmacy: Farmacia
|
||||||
preset_icon_place_of_worship: Lugar de culto
|
preset_icon_place_of_worship: Lugar de culto
|
||||||
preset_icon_police: Comisaría de policía
|
preset_icon_police: Comisaría de policía
|
||||||
|
|
|
@ -32,6 +32,7 @@ hr:
|
||||||
advanced_tooltip: Napredne uređivačke akcije
|
advanced_tooltip: Napredne uređivačke akcije
|
||||||
advanced_undelete: Vrati obrisano
|
advanced_undelete: Vrati obrisano
|
||||||
advice_bendy: Previše zavojito za izravnavanje (SHIFT za nasilno)
|
advice_bendy: Previše zavojito za izravnavanje (SHIFT za nasilno)
|
||||||
|
advice_conflict: Konflikt na serveru - možda ćete morati ponovno pokušati spremiti
|
||||||
advice_deletingpoi: Brisanje POI (Z - poništi)
|
advice_deletingpoi: Brisanje POI (Z - poništi)
|
||||||
advice_deletingway: Brisanje puta (poništi sa Z)
|
advice_deletingway: Brisanje puta (poništi sa Z)
|
||||||
advice_microblogged: $1 status je ažuriran
|
advice_microblogged: $1 status je ažuriran
|
||||||
|
@ -89,6 +90,7 @@ hr:
|
||||||
hint_saving: Spremanje podataka
|
hint_saving: Spremanje podataka
|
||||||
hint_saving_loading: učitavanje/spremanje podataka
|
hint_saving_loading: učitavanje/spremanje podataka
|
||||||
inspector: Inspektor
|
inspector: Inspektor
|
||||||
|
inspector_duplicate: "Duplikat od:"
|
||||||
inspector_in_ways: U putevima
|
inspector_in_ways: U putevima
|
||||||
inspector_latlon: "Lat $1\nLon $2"
|
inspector_latlon: "Lat $1\nLon $2"
|
||||||
inspector_locked: Zaključan
|
inspector_locked: Zaključan
|
||||||
|
@ -100,6 +102,7 @@ hr:
|
||||||
inspector_way_connects_to_principal: Spaja se na $1 $2 i $3 drugi $4
|
inspector_way_connects_to_principal: Spaja se na $1 $2 i $3 drugi $4
|
||||||
inspector_way_nodes: $1 točke
|
inspector_way_nodes: $1 točke
|
||||||
inspector_way_nodes_closed: $1 točaka (zatvoren)
|
inspector_way_nodes_closed: $1 točaka (zatvoren)
|
||||||
|
loading: Učitavam...
|
||||||
login_pwd: "Lozinka:"
|
login_pwd: "Lozinka:"
|
||||||
login_retry: Prijava na site nije prepoznata. Pokušajte ponovo.
|
login_retry: Prijava na site nije prepoznata. Pokušajte ponovo.
|
||||||
login_title: Ne mogu se prijaviti
|
login_title: Ne mogu se prijaviti
|
||||||
|
@ -179,13 +182,19 @@ hr:
|
||||||
prompt_microblog: Šalji na $1 ($2 ostalo)
|
prompt_microblog: Šalji na $1 ($2 ostalo)
|
||||||
prompt_revertversion: "Vrati na prijašnju spremljenu verziju:"
|
prompt_revertversion: "Vrati na prijašnju spremljenu verziju:"
|
||||||
prompt_savechanges: Spremi promjene
|
prompt_savechanges: Spremi promjene
|
||||||
prompt_taggedpoints: Neke točke na ovom putu su označene (Tags). Stvarno obrisati?
|
prompt_taggedpoints: Neke od točaka na tom putu su označene ili u relacijama. Želite izbrisati?
|
||||||
prompt_track: Pretvori GPS trag u put
|
prompt_track: Pretvori GPS trag u put
|
||||||
prompt_unlock: Klik za otključavanje
|
prompt_unlock: Klik za otključavanje
|
||||||
prompt_welcome: Dobrodošli na OpenStreetMap!
|
prompt_welcome: Dobrodošli na OpenStreetMap!
|
||||||
retry: Pokušaj ponovo
|
retry: Pokušaj ponovo
|
||||||
revert: Vrati na staro
|
revert: Vrati na staro
|
||||||
save: Spremi
|
save: Spremi
|
||||||
|
tags_backtolist: Povratak na listu
|
||||||
|
tags_descriptions: Opisi '$1'
|
||||||
|
tags_findatag: Pronađi oznaku (tag)
|
||||||
|
tags_findtag: Pronađi oznaku (tag)
|
||||||
|
tags_matching: Popularne oznake koje odgovaraju '$1'
|
||||||
|
tags_typesearchterm: "Unesite riječ za pretragu:"
|
||||||
tip_addrelation: Dodaj relaciji
|
tip_addrelation: Dodaj relaciji
|
||||||
tip_addtag: Dodaj novu oznaku (Tag)
|
tip_addtag: Dodaj novu oznaku (Tag)
|
||||||
tip_alert: Došlo je do greške - klikni za detalje
|
tip_alert: Došlo je do greške - klikni za detalje
|
||||||
|
|
|
@ -132,6 +132,7 @@ hsb:
|
||||||
option_layer_ooc_scotland: "Zjednoćene kralestwo historisce: Šotiska"
|
option_layer_ooc_scotland: "Zjednoćene kralestwo historisce: Šotiska"
|
||||||
option_layer_os_streetview: "Zjednoćene kralestwo: OS StreetView"
|
option_layer_os_streetview: "Zjednoćene kralestwo: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haiti: dróhowe mjena"
|
option_layer_streets_haiti: "Haiti: dróhowe mjena"
|
||||||
|
option_layer_surrey_air_survey: "Zjednoćene kralestwo: Powětrowy wobraz Surrey"
|
||||||
option_layer_tip: Pozadk wubrać
|
option_layer_tip: Pozadk wubrać
|
||||||
option_limitways: Warnować, hdyž so jara wjele datow začituja
|
option_limitways: Warnować, hdyž so jara wjele datow začituja
|
||||||
option_microblog_id: "Mjeno mikrobloga:"
|
option_microblog_id: "Mjeno mikrobloga:"
|
||||||
|
|
|
@ -133,6 +133,7 @@ nl:
|
||||||
option_layer_ooc_scotland: "VK historisch: Schotland"
|
option_layer_ooc_scotland: "VK historisch: Schotland"
|
||||||
option_layer_os_streetview: "VK: OS StreetView"
|
option_layer_os_streetview: "VK: OS StreetView"
|
||||||
option_layer_streets_haiti: "Haïti: straatnamen"
|
option_layer_streets_haiti: "Haïti: straatnamen"
|
||||||
|
option_layer_surrey_air_survey: "VK: Luchtonderzoek Surrey"
|
||||||
option_layer_tip: De achtergrondweergave kiezen
|
option_layer_tip: De achtergrondweergave kiezen
|
||||||
option_limitways: Waarschuwen als er veel gegevens geladen moeten worden
|
option_limitways: Waarschuwen als er veel gegevens geladen moeten worden
|
||||||
option_microblog_id: "Naam microblogdienst:"
|
option_microblog_id: "Naam microblogdienst:"
|
||||||
|
|
|
@ -144,6 +144,7 @@ pt-BR:
|
||||||
option_layer_os_streetview: "UK: OS StreetView"
|
option_layer_os_streetview: "UK: OS StreetView"
|
||||||
option_layer_osmarender: OSM - Osmarender
|
option_layer_osmarender: OSM - Osmarender
|
||||||
option_layer_streets_haiti: "Haiti: nomes de ruas"
|
option_layer_streets_haiti: "Haiti: nomes de ruas"
|
||||||
|
option_layer_surrey_air_survey: "UK: Mapa aéreo de Surrey"
|
||||||
option_layer_tip: Escolha o fundo a mostrar
|
option_layer_tip: Escolha o fundo a mostrar
|
||||||
option_layer_yahoo: Yahoo!
|
option_layer_yahoo: Yahoo!
|
||||||
option_limitways: Avisa carga de muitos dados
|
option_limitways: Avisa carga de muitos dados
|
||||||
|
|
|
@ -142,6 +142,7 @@ ru:
|
||||||
option_layer_os_streetview: "UK: OS StreetView"
|
option_layer_os_streetview: "UK: OS StreetView"
|
||||||
option_layer_osmarender: OSM - Osmarender
|
option_layer_osmarender: OSM - Osmarender
|
||||||
option_layer_streets_haiti: "Гаити: названия улиц"
|
option_layer_streets_haiti: "Гаити: названия улиц"
|
||||||
|
option_layer_surrey_air_survey: "UK: Surrey Air Survey"
|
||||||
option_layer_tip: Выберите фон
|
option_layer_tip: Выберите фон
|
||||||
option_layer_yahoo: Yahoo!
|
option_layer_yahoo: Yahoo!
|
||||||
option_limitways: Предупрежд. когда много данных
|
option_limitways: Предупрежд. когда много данных
|
||||||
|
|
|
@ -104,6 +104,7 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.connect '/user/go_public', :controller => 'user', :action => 'go_public'
|
map.connect '/user/go_public', :controller => 'user', :action => 'go_public'
|
||||||
map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password'
|
map.connect '/user/reset-password', :controller => 'user', :action => 'reset_password'
|
||||||
map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password'
|
map.connect '/user/forgot-password', :controller => 'user', :action => 'lost_password'
|
||||||
|
map.connect '/user/suspended', :controller => 'user', :action => 'suspended'
|
||||||
|
|
||||||
map.connect '/index.html', :controller => 'site', :action => 'index'
|
map.connect '/index.html', :controller => 'site', :action => 'index'
|
||||||
map.connect '/edit.html', :controller => 'site', :action => 'edit'
|
map.connect '/edit.html', :controller => 'site', :action => 'edit'
|
||||||
|
@ -158,10 +159,7 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.connect '/user/:display_name/diary/:id/hide', :controller => 'diary_entry', :action => 'hide', :id => /\d+/
|
map.connect '/user/:display_name/diary/:id/hide', :controller => 'diary_entry', :action => 'hide', :id => /\d+/
|
||||||
map.connect '/user/:display_name/diary/:id/hidecomment/:comment', :controller => 'diary_entry', :action => 'hidecomment', :id => /\d+/, :comment => /\d+/
|
map.connect '/user/:display_name/diary/:id/hidecomment/:comment', :controller => 'diary_entry', :action => 'hidecomment', :id => /\d+/, :comment => /\d+/
|
||||||
map.connect '/user/:display_name/account', :controller => 'user', :action => 'account'
|
map.connect '/user/:display_name/account', :controller => 'user', :action => 'account'
|
||||||
map.connect '/user/:display_name/activate', :controller => 'user', :action => 'activate'
|
map.connect '/user/:display_name/set_status', :controller => 'user', :action => 'set_status'
|
||||||
map.connect '/user/:display_name/deactivate', :controller => 'user', :action => 'deactivate'
|
|
||||||
map.connect '/user/:display_name/hide', :controller => 'user', :action => 'hide'
|
|
||||||
map.connect '/user/:display_name/unhide', :controller => 'user', :action => 'unhide'
|
|
||||||
map.connect '/user/:display_name/delete', :controller => 'user', :action => 'delete'
|
map.connect '/user/:display_name/delete', :controller => 'user', :action => 'delete'
|
||||||
map.connect '/diary/new', :controller => 'diary_entry', :action => 'new'
|
map.connect '/diary/new', :controller => 'diary_entry', :action => 'new'
|
||||||
map.connect '/diary', :controller => 'diary_entry', :action => 'list'
|
map.connect '/diary', :controller => 'diary_entry', :action => 'list'
|
||||||
|
@ -169,6 +167,9 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.connect '/diary/:language', :controller => 'diary_entry', :action => 'list'
|
map.connect '/diary/:language', :controller => 'diary_entry', :action => 'list'
|
||||||
map.connect '/diary/:language/rss', :controller => 'diary_entry', :action => 'rss'
|
map.connect '/diary/:language/rss', :controller => 'diary_entry', :action => 'rss'
|
||||||
|
|
||||||
|
# user lists
|
||||||
|
map.connect '/users', :controller => 'user', :action => 'list'
|
||||||
|
map.connect '/users/:status', :controller => 'user', :action => 'list'
|
||||||
|
|
||||||
# test pages
|
# test pages
|
||||||
map.connect '/test/populate/:table/:from/:count', :controller => 'test', :action => 'populate'
|
map.connect '/test/populate/:table/:from/:count', :controller => 'test', :action => 'populate'
|
||||||
|
|
9
db/migrate/050_add_user_index_to_diary_comments.rb
Normal file
9
db/migrate/050_add_user_index_to_diary_comments.rb
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
class AddUserIndexToDiaryComments < ActiveRecord::Migration
|
||||||
|
def self.up
|
||||||
|
add_index :diary_comments, [:user_id, :created_at], :name => "diary_comment_user_id_created_at_index"
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
remove_index :diary_comments, :name => "diary_comment_user_id_created_at_index"
|
||||||
|
end
|
||||||
|
end
|
29
db/migrate/051_add_status_to_user.rb
Normal file
29
db/migrate/051_add_status_to_user.rb
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
require 'lib/migrate'
|
||||||
|
|
||||||
|
class AddStatusToUser < ActiveRecord::Migration
|
||||||
|
def self.up
|
||||||
|
create_enumeration :user_status_enum, ["pending","active","confirmed","suspended","deleted"]
|
||||||
|
|
||||||
|
add_column :users, :status, :user_status_enum, :null => false, :default => "pending"
|
||||||
|
|
||||||
|
User.update_all("status = 'deleted'", { :visible => false })
|
||||||
|
User.update_all("status = 'pending'", { :visible => true, :active => 0 })
|
||||||
|
User.update_all("status = 'active'", { :visible => true, :active => 1 })
|
||||||
|
|
||||||
|
remove_column :users, :active
|
||||||
|
remove_column :users, :visible
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
add_column :users, :visible, :boolean, :default => true, :null => false
|
||||||
|
add_column :users, :active, :integer, :default => 0, :null => false
|
||||||
|
|
||||||
|
User.update_all("visible = true, active = 1", { :status => "active" })
|
||||||
|
User.update_all("visible = true, active = 0", { :status => "pending" })
|
||||||
|
User.update_all("visible = false, active = 1", { :status => "deleted" })
|
||||||
|
|
||||||
|
remove_column :users, :status
|
||||||
|
|
||||||
|
drop_enumeration :user_status_enum
|
||||||
|
end
|
||||||
|
end
|
20
lib/osm.rb
20
lib/osm.rb
|
@ -7,6 +7,7 @@ module OSM
|
||||||
require 'xml/libxml'
|
require 'xml/libxml'
|
||||||
require 'digest/md5'
|
require 'digest/md5'
|
||||||
require 'RMagick'
|
require 'RMagick'
|
||||||
|
require 'nokogiri'
|
||||||
|
|
||||||
# The base class for API Errors.
|
# The base class for API Errors.
|
||||||
class APIError < RuntimeError
|
class APIError < RuntimeError
|
||||||
|
@ -498,5 +499,24 @@ module OSM
|
||||||
return "#{tilesql} AND #{prefix}latitude BETWEEN #{minlat} AND #{maxlat} AND #{prefix}longitude BETWEEN #{minlon} AND #{maxlon}"
|
return "#{tilesql} AND #{prefix}latitude BETWEEN #{minlat} AND #{maxlat} AND #{prefix}longitude BETWEEN #{minlon} AND #{maxlon}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Return a spam score for a chunk of text
|
||||||
|
def self.spam_score(text)
|
||||||
|
link_count = 0
|
||||||
|
link_size = 0
|
||||||
|
|
||||||
|
doc = Nokogiri::HTML(text)
|
||||||
|
|
||||||
|
if doc.content.length > 0
|
||||||
|
doc.xpath("//a").each do |link|
|
||||||
|
link_count += 1
|
||||||
|
link_size += link.content.length
|
||||||
|
end
|
||||||
|
|
||||||
|
link_proportion = link_size.to_f / doc.content.length.to_f
|
||||||
|
else
|
||||||
|
link_proportion = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
return [link_proportion - 0.2, 0.0].max * 200 + link_count * 20
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -562,6 +562,27 @@ hr {
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Rules for the user list */
|
||||||
|
|
||||||
|
#user_list {
|
||||||
|
width: 100%;
|
||||||
|
font-size: small;
|
||||||
|
}
|
||||||
|
|
||||||
|
#user_list tr {
|
||||||
|
vertical-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#user_list p {
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#user_list_actions {
|
||||||
|
float: right;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Rules for the account settings page */
|
/* Rules for the account settings page */
|
||||||
|
|
||||||
#accountForm td {
|
#accountForm td {
|
||||||
|
|
|
@ -16,7 +16,7 @@ puts "<h2>OpenStreetMap stats report run at #{start_time.to_s}</h2>"
|
||||||
|
|
||||||
begin
|
begin
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
user_count = User.count(:conditions => "active = 1")
|
user_count = User.count(:conditions => { :status => ["active", "confirmed", "suspended"] })
|
||||||
tracepoint_count = Tracepoint.count()
|
tracepoint_count = Tracepoint.count()
|
||||||
node_count = Node.count(:conditions => "visible = true")
|
node_count = Node.count(:conditions => "visible = true")
|
||||||
way_count = Way.count(:conditions => "visible = true")
|
way_count = Way.count(:conditions => "visible = true")
|
||||||
|
|
12
test/fixtures/users.yml
vendored
12
test/fixtures/users.yml
vendored
|
@ -2,7 +2,7 @@
|
||||||
normal_user:
|
normal_user:
|
||||||
id: 1
|
id: 1
|
||||||
email: test@openstreetmap.org
|
email: test@openstreetmap.org
|
||||||
active: true
|
status: active
|
||||||
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
||||||
creation_time: "2007-01-01 00:00:00"
|
creation_time: "2007-01-01 00:00:00"
|
||||||
display_name: test
|
display_name: test
|
||||||
|
@ -15,7 +15,7 @@ normal_user:
|
||||||
public_user:
|
public_user:
|
||||||
id: 2
|
id: 2
|
||||||
email: test@example.com
|
email: test@example.com
|
||||||
active: true
|
status: active
|
||||||
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
||||||
creation_time: "2008-05-01 01:23:45"
|
creation_time: "2008-05-01 01:23:45"
|
||||||
display_name: test2
|
display_name: test2
|
||||||
|
@ -28,7 +28,7 @@ public_user:
|
||||||
inactive_user:
|
inactive_user:
|
||||||
id: 3
|
id: 3
|
||||||
email: inactive@openstreetmap.org
|
email: inactive@openstreetmap.org
|
||||||
active: false
|
status: pending
|
||||||
pass_crypt: <%= Digest::MD5::hexdigest('test2') %>
|
pass_crypt: <%= Digest::MD5::hexdigest('test2') %>
|
||||||
creation_time: "2008-07-01 02:23:45"
|
creation_time: "2008-07-01 02:23:45"
|
||||||
display_name: Inactive User
|
display_name: Inactive User
|
||||||
|
@ -41,7 +41,7 @@ inactive_user:
|
||||||
second_public_user:
|
second_public_user:
|
||||||
id: 4
|
id: 4
|
||||||
email: public@OpenStreetMap.org
|
email: public@OpenStreetMap.org
|
||||||
active: true
|
status: active
|
||||||
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
||||||
creation_time: "2008-05-01 01:23:45"
|
creation_time: "2008-05-01 01:23:45"
|
||||||
display_name: pulibc_test2
|
display_name: pulibc_test2
|
||||||
|
@ -54,7 +54,7 @@ second_public_user:
|
||||||
moderator_user:
|
moderator_user:
|
||||||
id: 5
|
id: 5
|
||||||
email: moderator@example.com
|
email: moderator@example.com
|
||||||
active: true
|
status: active
|
||||||
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
||||||
creation_time: "2008-05-01 01:23:45"
|
creation_time: "2008-05-01 01:23:45"
|
||||||
display_name: moderator
|
display_name: moderator
|
||||||
|
@ -63,7 +63,7 @@ moderator_user:
|
||||||
administrator_user:
|
administrator_user:
|
||||||
id: 6
|
id: 6
|
||||||
email: administrator@example.com
|
email: administrator@example.com
|
||||||
active: true
|
status: active
|
||||||
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
pass_crypt: <%= Digest::MD5.hexdigest('test') %>
|
||||||
creation_time: "2008-05-01 01:23:45"
|
creation_time: "2008-05-01 01:23:45"
|
||||||
display_name: administrator
|
display_name: administrator
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
require File.dirname(__FILE__) + '/../test_helper'
|
require File.dirname(__FILE__) + '/../test_helper'
|
||||||
|
|
||||||
class UserTest < ActiveSupport::TestCase
|
class UserTest < ActiveSupport::TestCase
|
||||||
|
@ -18,7 +19,7 @@ class UserTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
def test_unique_email
|
def test_unique_email
|
||||||
new_user = User.new(:email => users(:normal_user).email,
|
new_user = User.new(:email => users(:normal_user).email,
|
||||||
:active => 1,
|
:status => "active",
|
||||||
:pass_crypt => Digest::MD5.hexdigest('test'),
|
:pass_crypt => Digest::MD5.hexdigest('test'),
|
||||||
:display_name => "new user",
|
:display_name => "new user",
|
||||||
:data_public => 1,
|
:data_public => 1,
|
||||||
|
@ -29,7 +30,7 @@ class UserTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
def test_unique_display_name
|
def test_unique_display_name
|
||||||
new_user = User.new(:email => "tester@openstreetmap.org",
|
new_user = User.new(:email => "tester@openstreetmap.org",
|
||||||
:active => 0,
|
:status => "pending",
|
||||||
:pass_crypt => Digest::MD5.hexdigest('test'),
|
:pass_crypt => Digest::MD5.hexdigest('test'),
|
||||||
:display_name => users(:normal_user).display_name,
|
:display_name => users(:normal_user).display_name,
|
||||||
:data_public => 1,
|
:data_public => 1,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue