Merge branch 'master' into openid

This commit is contained in:
Tom Hughes 2010-09-24 09:35:36 +01:00
commit f70feedc65
115 changed files with 1701 additions and 2867 deletions

View file

@ -1,8 +0,0 @@
class ChangesetTagController < ApplicationController
layout 'site'
def search
@tags = ChangesetTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] )
end
end

View file

@ -52,9 +52,17 @@ class OauthController < ApplicationController
if any_auth if any_auth
@token.authorize!(@user) @token.authorize!(@user)
redirect_url = params[:oauth_callback] || @token.client_application.callback_url if @token.oauth10?
if redirect_url redirect_url = params[:oauth_callback] || @token.client_application.callback_url
redirect_to "#{redirect_url}?oauth_token=#{@token.token}" else
redirect_url = @token.oob? ? @token.client_application.callback_url : @token.callback_url
end
if redirect_url and not redirect_url.empty?
if @token.oauth10?
redirect_to "#{redirect_url}?oauth_token=#{@token.token}"
else
redirect_to "#{redirect_url}?oauth_token=#{@token.token}&oauth_verifier=#{@token.verifier}"
end
else else
render :action => "authorize_success" render :action => "authorize_success"
end end

View file

@ -1,3 +0,0 @@
class OldRelationTagController < ApplicationController
end

View file

@ -1,2 +0,0 @@
class OldWayTagController < ApplicationController
end

View file

@ -1,9 +0,0 @@
class RelationTagController < ApplicationController
layout 'site'
def search
@tags = RelationTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] )
end
end

View file

@ -231,7 +231,7 @@ class UserController < ApplicationController
else else
password_authentication(params[:username], params[:password]) password_authentication(params[:username], params[:password])
end end
else elsif flash[:notice].nil?
flash.now[:notice] = t 'user.login.notice' flash.now[:notice] = t 'user.login.notice'
end end
end end

View file

@ -1,9 +0,0 @@
class WayTagController < ApplicationController
layout 'site'
def search
@tags = WayTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", params[:query][:query].to_s] )
end
end

View file

@ -6,6 +6,21 @@ class ClientApplication < ActiveRecord::Base
validates_uniqueness_of :key validates_uniqueness_of :key
before_validation_on_create :generate_keys before_validation_on_create :generate_keys
validates_format_of :url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i
validates_format_of :support_url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true
validates_format_of :callback_url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true
attr_accessor :token_callback_url
def self.find_token(token_key)
token = OauthToken.find_by_token(token_key, :include => :client_application)
if token && token.authorized?
token
else
nil
end
end
def self.verify_request(request, options = {}, &block) def self.verify_request(request, options = {}, &block)
begin begin
signature = OAuth::Signature.build(request, options, &block) signature = OAuth::Signature.build(request, options, &block)
@ -35,7 +50,7 @@ class ClientApplication < ActiveRecord::Base
end end
def create_request_token def create_request_token
RequestToken.create :client_application => self RequestToken.create :client_application => self, :callback_url => self.token_callback_url
end end
# the permissions that this client would like from the user # the permissions that this client would like from the user
@ -52,8 +67,8 @@ protected
:allow_write_api, :allow_read_gpx, :allow_write_gpx ] :allow_write_api, :allow_read_gpx, :allow_write_gpx ]
def generate_keys def generate_keys
@oauth_client = oauth_server.generate_consumer_credentials oauth_client = oauth_server.generate_consumer_credentials
self.key = @oauth_client.key self.key = oauth_client.key
self.secret = @oauth_client.secret self.secret = oauth_client.secret
end end
end end

View file

@ -1,17 +1,23 @@
class RequestToken < OauthToken class RequestToken < OauthToken
attr_accessor :provided_oauth_verifier
def authorize!(user) def authorize!(user)
return false if authorized? return false if authorized?
self.user = user self.user = user
self.authorized_at = Time.now self.authorized_at = Time.now
self.verifier = OAuth::Helper.generate_key(16)[0,20] unless oauth10?
self.save self.save
end end
def exchange! def exchange!
return false unless authorized? return false unless authorized?
return false unless oauth10? || verifier == provided_oauth_verifier
RequestToken.transaction do RequestToken.transaction do
params = { :user => user, :client_application => client_application } params = { :user => user, :client_application => client_application }
# copy the permissions from the authorised request token to the access token # copy the permissions from the authorised request token to the access token
client_application.permissions.each { |p| client_application.permissions.each { |p|
params[p] = read_attribute(p) params[p] = read_attribute(p)
} }
@ -20,4 +26,21 @@ class RequestToken < OauthToken
access_token access_token
end end
end end
def to_query
if oauth10?
super
else
"#{super}&oauth_callback_confirmed=true"
end
end
def oob?
self.callback_url=='oob'
end
def oauth10?
(defined? OAUTH_10_SUPPORT) && OAUTH_10_SUPPORT && self.callback_url.blank?
end
end end

View file

@ -25,10 +25,10 @@ page << <<EOJ
sides: 4, sides: 4,
snapAngle: 90, snapAngle: 90,
irregular: true, irregular: true,
persist: true, persist: true
callbacks: { done: endDrag }
} }
}); });
browseBoxControl.handler.callbacks.done = endDrag;
map.addControl(browseBoxControl); map.addControl(browseBoxControl);
map.events.register("moveend", map, showData); map.events.register("moveend", map, showData);

View file

@ -17,10 +17,10 @@ page << <<EOJ
sides: 4, sides: 4,
snapAngle: 90, snapAngle: 90,
irregular: true, irregular: true,
persist: true, persist: true
callbacks: { done: endDrag }
} }
}); });
box.handler.callbacks.done = endDrag;
map.addControl(box); map.addControl(box);
map.events.register("moveend", map, mapMoved); map.events.register("moveend", map, mapMoved);
@ -228,12 +228,12 @@ page << <<EOJ
function htmlUrlChanged() { function htmlUrlChanged() {
var bounds = new OpenLayers.Bounds($("minlon").value, $("minlat").value, $("maxlon").value, $("maxlat").value); var bounds = new OpenLayers.Bounds($("minlon").value, $("minlat").value, $("maxlon").value, $("maxlat").value);
var layerName = map.baseLayer.keyid; var layerName = map.baseLayer.keyid;
var url = "http://#{SERVER_URL}/export/embed.html?bbox=" + bounds.toBBOX() + "&layer=" + layerName; var url = "http://#{SERVER_URL}/export/embed.html?bbox=" + bounds.toBBOX() + "&amp;layer=" + layerName;
var markerUrl = ""; var markerUrl = "";
if ($("marker_lat").value && $("marker_lon").value) { if ($("marker_lat").value && $("marker_lon").value) {
markerUrl = "&mlat=" + $("marker_lat").value + "&mlon=" + $("marker_lon").value; markerUrl = "&amp;mlat=" + $("marker_lat").value + "&amp;mlon=" + $("marker_lon").value;
url += "&marker=" + $("marker_lat").value + "," + $("marker_lon").value; url += "&amp;marker=" + $("marker_lat").value + "," + $("marker_lon").value;
} }
var html = '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+url+'" style="border: 1px solid black"></iframe>'; var html = '<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+url+'" style="border: 1px solid black"></iframe>';
@ -248,7 +248,7 @@ page << <<EOJ
var layers = getMapLayers(); var layers = getMapLayers();
html += '<br /><small><a href="http://#{SERVER_URL}/?lat='+center.lat+'&lon='+center.lon+'&zoom='+zoom+'&layers='+layers+markerUrl+'">'+"#{html_escape_unicode(I18n.t('export.start_rjs.view_larger_map'))}"+'</a></small>'; html += '<br /><small><a href="http://#{SERVER_URL}/?lat='+center.lat+'&amp;lon='+center.lon+'&amp;zoom='+zoom+'&amp;layers='+layers+markerUrl+'">'+"#{html_escape_unicode(I18n.t('export.start_rjs.view_larger_map'))}"+'</a></small>';
$("export_html_text").value = html; $("export_html_text").value = html;

View file

@ -117,7 +117,10 @@
<% end %> <% end %>
<div id="left_menu" class="left_menu"> <div id="left_menu" class="left_menu">
<a href="<%= t 'layouts.help_wiki_url' %>" title="<%= t 'layouts.help_wiki_tooltip' %>"><%= t 'layouts.help_wiki' %></a><br /> <%= t 'layouts.help_and_wiki',
:help => link_to(t('layouts.help'), t('layouts.help_url'), :title => t('layouts.help_title')),
:wiki => link_to(t('layouts.wiki'), t('layouts.wiki_url'), :title => t('layouts.wiki_title'))
%><br />
<%= link_to t('layouts.copyright'), {:controller => 'site', :action => 'copyright'} %><br /> <%= link_to t('layouts.copyright'), {:controller => 'site', :action => 'copyright'} %><br />
<a href="http://blogs.openstreetmap.org/" title="<%= t 'layouts.news_blog_tooltip' %>"><%= t 'layouts.news_blog' %></a><br /> <a href="http://blogs.openstreetmap.org/" title="<%= t 'layouts.news_blog_tooltip' %>"><%= t 'layouts.news_blog' %></a><br />
<a href="<%= t 'layouts.shop_url' %>" title="<%= t 'layouts.shop_tooltip' %>"><%= t 'layouts.shop' %></a><br /> <a href="<%= t 'layouts.shop_url' %>" title="<%= t 'layouts.shop_tooltip' %>"><%= t 'layouts.shop' %></a><br />

View file

@ -11,6 +11,8 @@
<p><%= t'notifier.signup_confirm_html.get_reading' %></p> <p><%= t'notifier.signup_confirm_html.get_reading' %></p>
<p><%= t'notifier.signup_confirm_html.ask_questions' %></p>
<p><%= t'notifier.signup_confirm_html.wiki_signup' %></p> <p><%= t'notifier.signup_confirm_html.wiki_signup' %></p>
<p><%= t'notifier.signup_confirm_html.user_wiki_page' %></p> <p><%= t'notifier.signup_confirm_html.user_wiki_page' %></p>

View file

@ -29,6 +29,10 @@
http://www.opengeodata.org/ http://www.opengeodata.org/
<%= t'notifier.signup_confirm_plain.ask_questions' %>
http://help.openstreetmap.org/
<%= t'notifier.signup_confirm_plain.wiki_signup' %> <%= t'notifier.signup_confirm_plain.wiki_signup' %>
<%= t'notifier.signup_confirm_plain.wiki_signup_url' %> <%= t'notifier.signup_confirm_plain.wiki_signup_url' %>

View file

@ -1 +1,5 @@
<h1>You have allowed this request</h1> <h1>You have allowed this request</h1>
<% if @token.oob? %>
<p>The verification code is <%= @token.verifier %></p>
<% end %>

View file

@ -1,24 +0,0 @@
<h2>Search results</h5>
fixme postcodes and geonames
<% form_tag :controller => 'way_tag', :action => 'search' do %>
<%= text_field 'query', 'query'%>
<%= submit_tag 'Search' %>
<% end %>
<table border="0">
<% @tags.each do |tag| %>
<tr>
<td>
<%= link_to tag.v, :controller => 'site', :action => 'goto_way', :id => tag.id %> (k:<%= tag.k %>)<br>
<font size="-2" color="green">
Way <%= tag.id %> (<%= tag.way.timestamp %>)
<%= link_to 'Map', :controller => 'site', :action => 'goto_way', :id => tag.id %> -
<%= link_to 'API', :controller => 'way', :action => 'rest', :id => tag.id %>
<br /><br/ >
</font>
</td>
</tr>
<% end %>
</table>

View file

@ -20,7 +20,8 @@ Rails::Initializer.run do |config|
end end
config.gem 'libxml-ruby', :version => '>= 1.1.1', :lib => 'libxml' config.gem 'libxml-ruby', :version => '>= 1.1.1', :lib => 'libxml'
config.gem 'rmagick', :lib => 'RMagick' config.gem 'rmagick', :lib => 'RMagick'
config.gem 'oauth', :version => '>= 0.3.6' config.gem 'oauth', :version => '>= 0.4.3'
config.gem 'oauth-plugin', :version => '>= 0.3.14'
config.gem 'httpclient' config.gem 'httpclient'
config.gem 'SystemTimer', :version => '>= 1.1.3', :lib => 'system_timer' config.gem 'SystemTimer', :version => '>= 1.1.3', :lib => 'system_timer'
config.gem 'sanitize' config.gem 'sanitize'

View file

@ -53,6 +53,8 @@ standard_settings: &standard_settings
gpx_image_dir: "/home/osm/images" gpx_image_dir: "/home/osm/images"
# Location of data for file columns # Location of data for file columns
#file_column_root: "" #file_column_root: ""
# Enable legacy OAuth 1.0 support
oauth_10_support: true
development: development:
<<: *standard_settings <<: *standard_settings

View file

@ -758,8 +758,6 @@ af:
export_tooltip: Eksporteer kaartdata export_tooltip: Eksporteer kaartdata
gps_traces: GPS-spore gps_traces: GPS-spore
gps_traces_tooltip: Beheer GPS-spore gps_traces_tooltip: Beheer GPS-spore
help_wiki: Help &amp; Wiki
help_wiki_tooltip: Help en wiki vir die projek
history: Geskiedenis history: Geskiedenis
home: tuis home: tuis
home_tooltip: Gaan na tuisligging home_tooltip: Gaan na tuisligging

View file

@ -883,8 +883,6 @@ aln:
export_tooltip: Harta dhënat Eksporti export_tooltip: Harta dhënat Eksporti
gps_traces: GPS Gjurmët gps_traces: GPS Gjurmët
gps_traces_tooltip: Manage gjurmë GPS gps_traces_tooltip: Manage gjurmë GPS
help_wiki: Ndihmë & Wiki
help_wiki_tooltip: Ndihmë & Wiki faqe interneti për projektin
history: Historia history: Historia
home: shtëpi home: shtëpi
home_tooltip: Shkoni në shtëpi vend home_tooltip: Shkoni në shtëpi vend

View file

@ -890,8 +890,6 @@ ar:
export_tooltip: صدّر بيانات الخريطة export_tooltip: صدّر بيانات الخريطة
gps_traces: آثار جي بي أس gps_traces: آثار جي بي أس
gps_traces_tooltip: عالج آثار جي بي إس gps_traces_tooltip: عالج آثار جي بي إس
help_wiki: المساعدة والويكي
help_wiki_tooltip: المساعدة وموقع الويكي للمشروع
history: تاريخ history: تاريخ
home: الصفحة الرئيسية home: الصفحة الرئيسية
home_tooltip: اذهب إلى الصفحة الرئيسية home_tooltip: اذهب إلى الصفحة الرئيسية

View file

@ -822,8 +822,6 @@ arz:
export_tooltip: صدّر بيانات الخريطة export_tooltip: صدّر بيانات الخريطة
gps_traces: آثار جى بى أس gps_traces: آثار جى بى أس
gps_traces_tooltip: عالج الآثار gps_traces_tooltip: عالج الآثار
help_wiki: المساعده والويكي
help_wiki_tooltip: المساعده وموقع الويكى للمشروع
history: تاريخ history: تاريخ
home: الصفحه الرئيسية home: الصفحه الرئيسية
home_tooltip: اذهب إلى الصفحه الرئيسية home_tooltip: اذهب إلى الصفحه الرئيسية

View file

@ -286,9 +286,6 @@ be:
export_tooltip: Экспартаваць данныя карты export_tooltip: Экспартаваць данныя карты
gps_traces: GPS Трэкі gps_traces: GPS Трэкі
gps_traces_tooltip: Працаваць з трэкамі gps_traces_tooltip: Працаваць з трэкамі
help_wiki: Дапамога і Wiki
help_wiki_tooltip: Даведка і сайт Вікі
help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=be
history: Гісторыя history: Гісторыя
home: дамоў home: дамоў
home_tooltip: Паказаць маю хату home_tooltip: Паказаць маю хату

View file

@ -879,8 +879,6 @@ br:
export_tooltip: Ezporzhiañ roadennoù ar gartenn export_tooltip: Ezporzhiañ roadennoù ar gartenn
gps_traces: Roudoù GPS gps_traces: Roudoù GPS
gps_traces_tooltip: Merañ ar roudoù GPS gps_traces_tooltip: Merañ ar roudoù GPS
help_wiki: Skoazell &amp; Wiki
help_wiki_tooltip: Skoazell &amp; lec'hienn Wiki evit ar raktres
history: Istor history: Istor
home: degemer home: degemer
home_tooltip: Mont da lec'h ar gêr home_tooltip: Mont da lec'h ar gêr

View file

@ -287,11 +287,19 @@ cs:
subject: "Předmět:" subject: "Předmět:"
use_map_link: použít mapu use_map_link: použít mapu
feed: feed:
all:
description: Nedávné záznamy v deníčcích uživatelů OpenStreetMap
title: Deníčkové záznamy OpenStreetMap
language: language:
description: Aktuální záznamy v deníčcích uživatelů OpenStreetMap v jazyce {{language_name}} description: Aktuální záznamy v deníčcích uživatelů OpenStreetMap v jazyce {{language_name}}
title: Deníčkové záznamy OpenStreetMap v jazyce {{language_name}} title: Deníčkové záznamy OpenStreetMap v jazyce {{language_name}}
user:
description: Nedávné záznamy v OpenStreetMap deníčku uživatele {{user}}
title: Záznamy v OpenStreetMap deníčku uživatele {{user}}
list: list:
in_language_title: Deníčkové záznamy v jazyce {{language}} in_language_title: Deníčkové záznamy v jazyce {{language}}
new: Nový záznam do deníčku
new_title: Sepsat nový záznam do vašeho uživatelského deníčku
no_entries: Žádné záznamy v deníčku no_entries: Žádné záznamy v deníčku
recent_entries: "Aktuální deníčkové záznamy:" recent_entries: "Aktuální deníčkové záznamy:"
title: Deníčky uživatelů title: Deníčky uživatelů
@ -390,21 +398,41 @@ cs:
amenity: amenity:
airport: Letiště airport: Letiště
bank: Banka bank: Banka
bench: Lavička
cafe: Kavárna cafe: Kavárna
cinema: Kino cinema: Kino
courthouse: Soud
crematorium: Krematorium crematorium: Krematorium
embassy: Velvyslanectví embassy: Velvyslanectví
ferry_terminal: Přístaviště přívozu
fire_station: Hasičská stanice
fountain: Fontána
fuel: Čerpací stanice
grave_yard: Hřbitov
hospital: Nemocnice
hunting_stand: Posed
kindergarten: Mateřská škola kindergarten: Mateřská škola
library: Knihovna
mountain_rescue: Horská služba
park: Park park: Park
parking: Parkoviště parking: Parkoviště
place_of_worship: Náboženský objekt
post_box: Poštovní schránka
post_office: Pošta post_office: Pošta
prison: Věznice
retirement_home: Domov důchodců retirement_home: Domov důchodců
school: Škola
telephone: Telefonní automat telephone: Telefonní automat
theatre: Divadlo
toilets: Toalety toilets: Toalety
townhall: Radnice
boundary:
administrative: Administrativní hranice
building: building:
city_hall: Radnice city_hall: Radnice
entrance: Vstup do objektu entrance: Vstup do objektu
hospital: Nemocniční budova hospital: Nemocniční budova
public: Veřejná budova
stadium: Stadion stadium: Stadion
tower: Věž tower: Věž
train_station: Železniční stanice train_station: Železniční stanice
@ -413,13 +441,16 @@ cs:
bus_stop: Autobusová zastávka bus_stop: Autobusová zastávka
construction: Silnice ve výstavbě construction: Silnice ve výstavbě
gate: Brána gate: Brána
living_street: Obytná zóna
motorway: Dálnice motorway: Dálnice
residential: Ulice residential: Ulice
secondary: Silnice II. třídy secondary: Silnice II. třídy
secondary_link: Silnice II. třídy
steps: Schody steps: Schody
unsurfaced: Nezpevněná cesta unsurfaced: Nezpevněná cesta
historic: historic:
battlefield: Bojiště battlefield: Bojiště
building: Budova
memorial: Památník memorial: Památník
museum: Muzeum museum: Muzeum
wreck: Vrak wreck: Vrak
@ -429,6 +460,7 @@ cs:
construction: Staveniště construction: Staveniště
landfill: Skládka landfill: Skládka
military: Vojenský prostor military: Vojenský prostor
piste: Sjezdovka
vineyard: Vinice vineyard: Vinice
leisure: leisure:
garden: Zahrada garden: Zahrada
@ -442,12 +474,19 @@ cs:
swimming_pool: Bazén swimming_pool: Bazén
natural: natural:
beach: Pláž beach: Pláž
cliff: Útes
coastline: Pobřežní čára
fjord: Fjord
geyser: Gejzír
glacier: Ledovec glacier: Ledovec
hill: Kopec hill: Kopec
island: Ostrov island: Ostrov
marsh: Mokřina
peak: Vrchol
river: Řeka river: Řeka
tree: Strom tree: Strom
valley: Údolí valley: Údolí
volcano: Sopka
place: place:
airport: Letiště airport: Letiště
city: Velkoměsto city: Velkoměsto
@ -484,6 +523,7 @@ cs:
hairdresser: Kadeřnictví hairdresser: Kadeřnictví
jewelry: Klenotnictví jewelry: Klenotnictví
optician: Oční optika optician: Oční optika
travel_agency: Cestovní kancelář
tourism: tourism:
alpine_hut: Vysokohorská chata alpine_hut: Vysokohorská chata
attraction: Turistická atrakce attraction: Turistická atrakce
@ -520,9 +560,10 @@ cs:
edit: Upravit edit: Upravit
export: Export export: Export
export_tooltip: Exportovat mapová data export_tooltip: Exportovat mapová data
help_wiki: Nápověda &amp; wiki gps_traces: GPS stopy
help_wiki_tooltip: Server s nápovědou a wiki k tomuto projektu help: Nápověda
help_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Main_Page?uselang=cs help_and_wiki: "{{help}} & {{wiki}}"
help_title: Stránky s nápovědou k tomuto projektu
history: Historie history: Historie
home: domů home: domů
home_tooltip: Přejít na polohu domova home_tooltip: Přejít na polohu domova
@ -564,6 +605,8 @@ 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
wiki: wiki
wiki_title: Wiki k tomuto projektu
license_page: license_page:
native: native:
title: O této stránce title: O této stránce
@ -647,6 +690,18 @@ cs:
signup_confirm_plain: signup_confirm_plain:
the_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Beginners_Guide?uselang=cs the_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Beginners_Guide?uselang=cs
wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=Cs:Main_Page&uselang=cs wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=Cs:Main_Page&uselang=cs
oauth:
oauthorize:
allow_read_gpx: číst vaše soukromé GPS stopy.
allow_read_prefs: číst vaše uživatelské nastavení.
allow_to: "Umožnit klientské aplikaci:"
allow_write_api: upravovat mapu.
allow_write_diary: vytvářet deníčkové záznamy, komentovat a navazovat přátelství.
allow_write_gpx: nahrávat GPS stopy.
allow_write_prefs: měnit vaše uživatelské nastavení.
request_access: Aplikace {{app_name}} žádá o přístup k vašemu účtu. Vyberte si, zda si přejete, aby aplikace měla následující oprávnění. Můžete jich zvolit libovolný počet.
revoke:
flash: Přístup pro aplikaci {{application}} byl odvolán.
oauth_clients: oauth_clients:
index: index:
my_apps: Mé klientské aplikace my_apps: Mé klientské aplikace
@ -680,6 +735,7 @@ cs:
bridleway: Koňská stezka bridleway: Koňská stezka
brownfield: Zbořeniště brownfield: Zbořeniště
building: Významná budova building: Významná budova
byway: Cesta
cable: cable:
- Lanovka - Lanovka
- sedačková lanovka - sedačková lanovka
@ -733,6 +789,7 @@ cs:
tunnel: Čárkované obrysy = tunel tunnel: Čárkované obrysy = tunel
unclassified: Silnice unclassified: Silnice
unsurfaced: Nezpevněná cesta unsurfaced: Nezpevněná cesta
wood: Les
heading: Legenda pro z{{zoom_level}} heading: Legenda pro z{{zoom_level}}
search: search:
search: Hledat search: Hledat
@ -749,73 +806,103 @@ cs:
trace: trace:
create: create:
trace_uploaded: Váš GPX soubor byl uložen a čeká na zařazení do databáze. Obvykle to netrvá víc jak půl hodiny. Až bude zařazen, budete informováni emailem. trace_uploaded: Váš GPX soubor byl uložen a čeká na zařazení do databáze. Obvykle to netrvá víc jak půl hodiny. Až bude zařazen, budete informováni emailem.
upload_trace: Nahrát GPS záznam upload_trace: Nahrát GPS stopu
delete:
scheduled_for_deletion: Stopa označena ke smazání
edit: edit:
description: "Popis:" description: "Popis:"
download: stáhnout download: stáhnout
edit: upravit edit: upravit
filename: "Název souboru:" filename: "Název souboru:"
heading: Úprava GPS záznamu {{name}} heading: Úprava stopy {{name}}
map: mapa map: mapa
owner: "Vlastník:" owner: "Vlastník:"
points: "Body:" points: "Body:"
save_button: Uložit změny save_button: Uložit změny
start_coord: "Souřadnice začátku:" start_coord: "Souřadnice začátku:"
tags: "Tagy:" tags: "Štítky:"
tags_help: oddělené čárkou tags_help: oddělené čárkou
title: Úprava stopy {{name}}
uploaded_at: "Nahráno v:" uploaded_at: "Nahráno v:"
visibility: "Viditelnost:" visibility: "Viditelnost:"
visibility_help: co tohle znamená? visibility_help: co tohle znamená?
list: list:
your_traces: Vaše GPS záznamy public_traces: Veřejné GPS stopy
public_traces_from: Veřejné GPS stopy uživatele {{user}}
tagged_with: " oštítkované jako {{tags}}"
your_traces: Vaše GPS stopy
make_public:
made_public: Stopa zveřejněna
no_such_user: no_such_user:
body: Lituji, ale uživatel {{user}} neexistuje. Zkontrolujte překlepy nebo jste možná klikli na chybný odkaz. body: Lituji, ale uživatel {{user}} neexistuje. Zkontrolujte překlepy nebo jste možná klikli na chybný odkaz.
heading: Uživatel {{user}} neexistuje heading: Uživatel {{user}} neexistuje
title: Uživatel nenalezen title: Uživatel nenalezen
offline:
heading: GPX úložiště offline
message: Úložiště GPX souborů a systém pro nahrávání jsou momentálně mimo provoz.
offline_warning:
message: Systém pro načítání GPX souborů je momentálně mimo provoz.
trace: trace:
ago: před {{time_in_words_ago}} ago: před {{time_in_words_ago}}
by: od by: od
count_points: "{{count}} bodů" count_points: "{{count}} bodů"
edit: upravit edit: upravit
edit_map: Upravit mapu edit_map: Upravit mapu
identifiable: IDENTIFIKOVATELNÁ
in: v in: v
map: mapa map: mapa
more: více more: více
pending: ZPRACOVÁVÁ SE
private: SOUKROMÁ
public: VEŘEJNÁ
trace_details: Zobrazit podrobnosti stopy
trackable: STOPOVATELNÁ
view_map: Zobrazit mapu view_map: Zobrazit mapu
trace_form: trace_form:
description: Popis description: Popis
help: Nápověda help: Nápověda
tags: Tagy tags: Štítky
tags_help: oddělěné čárkou tags_help: oddělené čárkou
upload_button: Nahrát upload_button: Nahrát
upload_gpx: Nahrát GPX soubor upload_gpx: Nahrát GPX soubor
visibility: Viditelnost visibility: Viditelnost
visibility_help: co tohle znamená? visibility_help: co tohle znamená?
trace_header: trace_header:
see_all_traces: Zobrazit všechny GPS záznamy see_all_traces: Zobrazit všechny stopy
see_your_traces: Zobrazit všechny vaše GPS záznamy see_your_traces: Zobrazit všechny vaše stopy
traces_waiting: Na zpracování čeká {{count}} vašich stop. Zvažte, zda by nebylo před nahráním dalších lepší počkat, dokud nebudou zpracovány, abyste neblokovali frontu dalším uživatelům.
upload_trace: Nahrát stopu
your_traces: Zobrazit pouze vaše stopy
trace_optionals: trace_optionals:
tags: Tagy tags: Štítky
trace_paging_nav: trace_paging_nav:
next: Následující &raquo; next: Následující &raquo;
previous: "&laquo; Předchozí" previous: "&laquo; Předchozí"
showing_page: Zobrazuji stranu {{page}} showing_page: Zobrazuji stranu {{page}}
view: view:
delete_track: Smazat tuto stopu
description: "Popis:" description: "Popis:"
download: stáhnout download: stáhnout
edit: upravit edit: upravit
edit_track: Upravit tuto stopu
filename: "Název souboru:" filename: "Název souboru:"
heading: Zobrazení stopy {{name}}
map: mapa map: mapa
none: Žádné
owner: "Vlastník:" owner: "Vlastník:"
tags: "Tagy:" pending: ZPRACOVÁVÁ SE
trace_not_found: GPS záznam nenalezen! points: "Bodů:"
start_coordinates: "Souřadnice začátku:"
tags: "Štítky:"
title: Zobrazení stopy {{name}}
trace_not_found: Stopa nenalezena!
uploaded: "Nahráno v:" uploaded: "Nahráno v:"
visibility: "Viditelnost:" visibility: "Viditelnost:"
visibility: visibility:
identifiable: Identifikovatelný (zobrazuje se v seznamu a jako identifikovatelné, uspořádané body s časovou značkou) identifiable: Identifikovatelná (zobrazuje se v seznamu a jako identifikovatelné uspořádané body s časovou značkou)
private: Soukromý (dostupná jedině jako anonymní, neuspořádané body) private: Soukromá (veřejně dostupná jedině jako anonymní, neuspořádané body)
public: Veřejný (zobrazuje se v seznamu i jako anonymní, neuspořádané body) public: Veřejná (zobrazuje se v seznamu i jako anonymní, neuspořádané body)
trackable: Trackable (dostupný jedině jako anonymní, uspořádané body s časovými značkami) trackable: Stopovatelná (veřejně dostupná jedině jako anonymní, uspořádané body s časovými značkami)
user: user:
account: account:
current email address: "Stávající e-mailová adresa:" current email address: "Stávající e-mailová adresa:"
@ -857,6 +944,9 @@ cs:
success: Vaše e-mailová adresa byla potvrzena, děkujeme za registraci! success: Vaše e-mailová adresa byla potvrzena, děkujeme za registraci!
filter: filter:
not_an_administrator: K provedení této akce musíte být správce. not_an_administrator: K provedení této akce musíte být správce.
list:
heading: Uživatelé
title: Uživatelé
login: login:
account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.<br />Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu. account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.<br />Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu.
account suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.<br />Pokud to chcete řešit, kontaktujte {{webmaster}}. account suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.<br />Pokud to chcete řešit, kontaktujte {{webmaster}}.
@ -957,7 +1047,7 @@ cs:
remove as friend: odstranit jako přítele remove as friend: odstranit jako přítele
send message: poslat zprávu send message: poslat zprávu
settings_link_text: nastavení settings_link_text: nastavení
traces: záznamy traces: stopy
user location: Pozice uživatele user location: Pozice uživatele
your friends: Vaši přátelé your friends: Vaši přátelé
user_block: user_block:

View file

@ -343,9 +343,6 @@ da:
export_tooltip: Eksporter kortdata export_tooltip: Eksporter kortdata
gps_traces: GPS-spor gps_traces: GPS-spor
gps_traces_tooltip: Håndter GPS-spor gps_traces_tooltip: Håndter GPS-spor
help_wiki: Hjælp &amp; Wiki
help_wiki_tooltip: Hjælp- og Wiki-side for projektet
help_wiki_url: http://wiki.openstreetmap.org/wiki/Da:Main_Page?uselang=da
history: Historik history: Historik
home: hjem home: hjem
home_tooltip: Gå til hjemmeposition home_tooltip: Gå til hjemmeposition

View file

@ -897,9 +897,9 @@ de:
export_tooltip: Kartendaten exportieren export_tooltip: Kartendaten exportieren
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: Hilfe
help_wiki_tooltip: Hilfe + Wiki des Projekts help_and_wiki: "{{help}} + {{wiki}}"
help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de help_title: Hilfesite des Projekts
history: Chronik history: Chronik
home: Standort home: Standort
home_tooltip: Eigener Standort home_tooltip: Eigener Standort
@ -938,6 +938,8 @@ 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
wiki: Wiki
wiki_title: Wiki des Projekts
license_page: license_page:
foreign: foreign:
english_link: dem englischsprachigen Original english_link: dem englischsprachigen Original
@ -1070,6 +1072,7 @@ de:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Deine E-Mail-Adresse bestätigen" subject: "[OpenStreetMap] Deine E-Mail-Adresse bestätigen"
signup_confirm_html: signup_confirm_html:
ask_questions: Du kannst jegliche Fragen zu OpenStreetMap auf unserer Website mit <a href="http://help.openstreetmap.org/">Fragen und Antworten</a> stellen.
click_the_link: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile um dein Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM. click_the_link: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile um dein Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM.
current_user: Ebenso ist <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">eine Liste mit allen Benutzern in einer Kategorie</a>, die anzeigt wo diese auf der Welt sind, verfügbar. current_user: Ebenso ist <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">eine Liste mit allen Benutzern in einer Kategorie</a>, die anzeigt wo diese auf der Welt sind, verfügbar.
get_reading: Weitere Informationen über OpenStreetMap findest du in <a href="http://wiki.openstreetmap.org/wiki/DE:Beginners_Guide">unserem Wiki</a>, informiere dich über die neusten Nachrichten über das <a href="http://blog.openstreetmap.org/">OpenStreetMap-Blog</a> oder <a href="http://twitter.com/openstreetmap">Twitter</a>, oder besuche das <a href="http://www.opengeodata.org/">OpenGeoData-Blog</a> von OpenStreetMap-Gründer Steve Coast für die gekürzte Geschichte des Projektes, dort werden auch <a href="http://www.opengeodata.org/?cat=13">Podcasts zum Hören</a> angeboten. get_reading: Weitere Informationen über OpenStreetMap findest du in <a href="http://wiki.openstreetmap.org/wiki/DE:Beginners_Guide">unserem Wiki</a>, informiere dich über die neusten Nachrichten über das <a href="http://blog.openstreetmap.org/">OpenStreetMap-Blog</a> oder <a href="http://twitter.com/openstreetmap">Twitter</a>, oder besuche das <a href="http://www.opengeodata.org/">OpenGeoData-Blog</a> von OpenStreetMap-Gründer Steve Coast für die gekürzte Geschichte des Projektes, dort werden auch <a href="http://www.opengeodata.org/?cat=13">Podcasts zum Hören</a> angeboten.
@ -1082,6 +1085,7 @@ de:
video_to_openstreetmap: Einführungsvideo zu OpenStreetMap video_to_openstreetmap: Einführungsvideo zu OpenStreetMap
wiki_signup: Im <a href="http://wiki.openstreetmap.org/wiki/Hauptseite">Wiki von OpenStreetMap</a> kannst du dich ebenfalls <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup">registrieren</a>. wiki_signup: Im <a href="http://wiki.openstreetmap.org/wiki/Hauptseite">Wiki von OpenStreetMap</a> kannst du dich ebenfalls <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup">registrieren</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Du kannst jegliche Fragen zu OpenStreetMap auf unserer Website mit Fragen und Antworten stellen:"
blog_and_twitter: "Immer auf dem neuesten Stand dank dem OpenStreetMap-Blog oder Twitter:" blog_and_twitter: "Immer auf dem neuesten Stand dank dem OpenStreetMap-Blog oder Twitter:"
click_the_link_1: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile, um dein click_the_link_1: Wenn du das bist, Herzlich Willkommen! Bitte klicke auf den folgenden Link unter dieser Zeile, um dein
click_the_link_2: Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM. click_the_link_2: Benutzerkonto zu bestätigen. Lies danach weiter, denn es folgen mehr Informationen über OSM.

View file

@ -890,8 +890,6 @@ dsb:
export_tooltip: Kórtowe daty eksportěrowaś export_tooltip: Kórtowe daty eksportěrowaś
gps_traces: GPS-slědy gps_traces: GPS-slědy
gps_traces_tooltip: GPS-slědy zastojaś gps_traces_tooltip: GPS-slědy zastojaś
help_wiki: Pomoc &amp; wiki
help_wiki_tooltip: Pomoc &amp; wikisedło za projekt
history: Historija history: Historija
home: domoj home: domoj
home_tooltip: K stojnišćoju home_tooltip: K stojnišćoju

View file

@ -924,9 +924,13 @@ en:
osm_read_only: "The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out." osm_read_only: "The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out."
donate: "Support OpenStreetMap by {{link}} to the Hardware Upgrade Fund." donate: "Support OpenStreetMap by {{link}} to the Hardware Upgrade Fund."
donate_link_text: donating donate_link_text: donating
help_wiki: "Help &amp; Wiki" help_and_wiki: "{{help}} & {{wiki}}"
help_wiki_tooltip: "Help &amp; Wiki site for the project" help: Help
help_wiki_url: "http://wiki.openstreetmap.org" help_url: http://help.openstreetmap.org/
help_title: Help site for the project
wiki: Wiki
wiki_url: http://wiki.openstreetmap.org/
wiki_title: Wiki site for the project
copyright: "Copyright &amp; License" copyright: "Copyright &amp; License"
news_blog: "News blog" news_blog: "News blog"
news_blog_tooltip: "News blog about OpenStreetMap, free geographical data, etc." news_blog_tooltip: "News blog about OpenStreetMap, free geographical data, etc."
@ -1100,6 +1104,7 @@ en:
the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide" the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"
blog_and_twitter: "Catch up with the latest news via the OpenStreetMap blog or Twitter:" blog_and_twitter: "Catch up with the latest news via the OpenStreetMap blog or Twitter:"
opengeodata: "OpenGeoData.org is OpenStreetMap founder Steve Coast's blog, and it has podcasts too:" opengeodata: "OpenGeoData.org is OpenStreetMap founder Steve Coast's blog, and it has podcasts too:"
ask_questions: "You can ask any questions you may have about OpenStreetMap at our question and answer site:"
wiki_signup: "You may also want to sign up to the OpenStreetMap wiki at:" wiki_signup: "You may also want to sign up to the OpenStreetMap wiki at:"
wiki_signup_url: "http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page" wiki_signup_url: "http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page"
# next four translations are in pairs : please word wrap appropriately # next four translations are in pairs : please word wrap appropriately
@ -1116,6 +1121,7 @@ en:
more_videos: "There are {{more_videos_link}}." more_videos: "There are {{more_videos_link}}."
more_videos_here: "more videos here" more_videos_here: "more videos here"
get_reading: Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a>, catch up with the latest news via the <a href="http://blog.openstreetmap.org/">OpenStreetMap blog</a> or <a href="http://twitter.com/openstreetmap">Twitter</a>, or browse through OpenStreetMap founder Steve Coast's <a href="http://www.opengeodata.org/">OpenGeoData blog</a> for the potted history of the project, which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also! get_reading: Get reading about OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">on the wiki</a>, catch up with the latest news via the <a href="http://blog.openstreetmap.org/">OpenStreetMap blog</a> or <a href="http://twitter.com/openstreetmap">Twitter</a>, or browse through OpenStreetMap founder Steve Coast's <a href="http://www.opengeodata.org/">OpenGeoData blog</a> for the potted history of the project, which has <a href="http://www.opengeodata.org/?cat=13">podcasts to listen to</a> also!
ask_questions: You can ask any questions you may have about OpenStreetMap at our <a href="http://help.openstreetmap.org/">question and answer site</a>.
wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.' wiki_signup: 'You may also want to <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">sign up to the OpenStreetMap wiki</a>.'
user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.' user_wiki_page: 'It is recommended that you create a user wiki page, which includes category tags noting where you are, such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a>.'
current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.' current_user: 'A list of current users in categories, based on where in the world they are, is available from <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.'

View file

@ -345,8 +345,6 @@ eo:
export_tooltip: Eksporti mapajn datumojn export_tooltip: Eksporti mapajn datumojn
gps_traces: GPS spuroj gps_traces: GPS spuroj
gps_traces_tooltip: Manipuli spurojn gps_traces_tooltip: Manipuli spurojn
help_wiki: Helpo kaj Vikio
help_wiki_tooltip: Helpo kaj Vikio por la projekto
history: Historio history: Historio
home: hejmo home: hejmo
home_tooltip: Iri al hejmloko home_tooltip: Iri al hejmloko
@ -384,7 +382,7 @@ eo:
inbox: inbox:
date: Dato date: Dato
my_inbox: Mia leterkesto my_inbox: Mia leterkesto
title: Leterkesto title: Alvenkesto
you_have: Vi havas {{new_count}} novajn mesaĝojn kaj {{old_count}} malnovajn mesaĝojn you_have: Vi havas {{new_count}} novajn mesaĝojn kaj {{old_count}} malnovajn mesaĝojn
mark: mark:
as_read: Mesaĝo markita kiel legita as_read: Mesaĝo markita kiel legita
@ -405,7 +403,7 @@ eo:
title: Tiu uzanto aŭ mesaĝo ne ekzistas title: Tiu uzanto aŭ mesaĝo ne ekzistas
outbox: outbox:
date: Dato date: Dato
inbox: leterkesto inbox: Alvenkesto
my_inbox: Mia {{inbox_link}} my_inbox: Mia {{inbox_link}}
you_have_sent_messages: you_have_sent_messages:
one: Vi havas 1 mesaĝon one: Vi havas 1 mesaĝon

View file

@ -883,9 +883,6 @@ es:
export_tooltip: Exportar datos del mapa export_tooltip: Exportar datos del mapa
gps_traces: Trazas GPS gps_traces: Trazas GPS
gps_traces_tooltip: Gestiona las trazas GPS gps_traces_tooltip: Gestiona las trazas GPS
help_wiki: Ayuda y Wiki
help_wiki_tooltip: Ayuda y sitio Wiki del proyecto
help_wiki_url: http://wiki.openstreetmap.org/wiki/ES:Main_Page?uselang=es
history: Historial history: Historial
home: inicio home: inicio
home_tooltip: Ir a la página inicial home_tooltip: Ir a la página inicial

View file

@ -495,7 +495,6 @@ eu:
layouts: layouts:
edit: Aldatu edit: Aldatu
export: Esportatu export: Esportatu
help_wiki: Laguntza eta Wiki
history: Historia history: Historia
home: hasiera home: hasiera
inbox: sarrera-ontzia ({{count}}) inbox: sarrera-ontzia ({{count}})

View file

@ -723,8 +723,6 @@ fi:
export: Vienti export: Vienti
export_tooltip: Karttatiedon vienti export_tooltip: Karttatiedon vienti
gps_traces: GPS-jäljet gps_traces: GPS-jäljet
help_wiki: Wiki ja ohjeet
help_wiki_tooltip: Projektin ohje ja wiki
history: Historia history: Historia
home: koti home: koti
home_tooltip: Siirry kotisijaintiin home_tooltip: Siirry kotisijaintiin

View file

@ -888,8 +888,6 @@ fr:
export_tooltip: Exporter les données de la carte export_tooltip: Exporter les données de la carte
gps_traces: Traces GPS gps_traces: Traces GPS
gps_traces_tooltip: Gérer les traces GPS gps_traces_tooltip: Gérer les traces GPS
help_wiki: Aide &amp; Wiki
help_wiki_tooltip: Aide et site Wiki du projet
history: Historique history: Historique
home: Chez moi home: Chez moi
home_tooltip: Aller à l'emplacement de mon domicile home_tooltip: Aller à l'emplacement de mon domicile

View file

@ -479,8 +479,6 @@ fur:
export_tooltip: Espuarte i dâts de mape export_tooltip: Espuarte i dâts de mape
gps_traces: Percors GPS gps_traces: Percors GPS
gps_traces_tooltip: Gjestìs i percors GPS gps_traces_tooltip: Gjestìs i percors GPS
help_wiki: Jutori &amp; Vichi
help_wiki_tooltip: Jutori &amp; Vichi pal progjet
history: Storic history: Storic
home: lûc iniziâl home: lûc iniziâl
home_tooltip: Va al lûc iniziâl home_tooltip: Va al lûc iniziâl

View file

@ -881,8 +881,9 @@ gl:
export_tooltip: Exportar os datos do mapa export_tooltip: Exportar os datos do mapa
gps_traces: Pistas GPS gps_traces: Pistas GPS
gps_traces_tooltip: Xestionar as pistas GPS gps_traces_tooltip: Xestionar as pistas GPS
help_wiki: Axuda e wiki help: Axuda
help_wiki_tooltip: Axuda e sitio wiki do proxecto help_and_wiki: "{{help}} e {{wiki}}"
help_title: Sitio de axuda do proxecto
history: Historial history: Historial
home: inicio home: inicio
home_tooltip: Ir ao meu domicilio home_tooltip: Ir ao meu domicilio
@ -921,6 +922,8 @@ gl:
view_tooltip: Ver o mapa view_tooltip: Ver o mapa
welcome_user: Benvido, {{user_link}} welcome_user: Benvido, {{user_link}}
welcome_user_link_tooltip: A súa páxina de usuario welcome_user_link_tooltip: A súa páxina de usuario
wiki: wiki
wiki_title: Wiki de axuda do proxecto
license_page: license_page:
foreign: foreign:
english_link: a orixinal en inglés english_link: a orixinal en inglés
@ -1053,6 +1056,7 @@ gl:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Confirme o seu enderezo de correo electrónico" subject: "[OpenStreetMap] Confirme o seu enderezo de correo electrónico"
signup_confirm_html: signup_confirm_html:
ask_questions: Pode facer calquera pregunta en relación ao OpenStreetMap no noso <a href="http://help.openstreetmap.org/">sitio de preguntas e respostas</a>.
click_the_link: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa conta e obter máis información sobre o OpenStreetMap. click_the_link: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa conta e obter máis información sobre o OpenStreetMap.
current_user: "A lista de todos os usuarios por categorías, baseada segundo a súa localización no mundo, está dispoñible en: <a href=\"http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region\">Category:Users_by_geographical_region</a>." current_user: "A lista de todos os usuarios por categorías, baseada segundo a súa localización no mundo, está dispoñible en: <a href=\"http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region\">Category:Users_by_geographical_region</a>."
get_reading: Infórmese sobre o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">no wiki</a>, póñase ao día das últimas novas a través do <a href="http://blog.openstreetmap.org/">blogue</a> ou o <a href="http://twitter.com/openstreetmap">Twitter</a> do OpenStreetMap ou vaia polo <a href="http://www.opengeodata.org/">blogue OpenGeoData</a> de Steve Coast, o fundador do OpenStreetMap, para ler a pequena historia do proxecto e <a href="http://www.opengeodata.org/?cat=13">escoitar os podcasts</a> tamén! get_reading: Infórmese sobre o OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">no wiki</a>, póñase ao día das últimas novas a través do <a href="http://blog.openstreetmap.org/">blogue</a> ou o <a href="http://twitter.com/openstreetmap">Twitter</a> do OpenStreetMap ou vaia polo <a href="http://www.opengeodata.org/">blogue OpenGeoData</a> de Steve Coast, o fundador do OpenStreetMap, para ler a pequena historia do proxecto e <a href="http://www.opengeodata.org/?cat=13">escoitar os podcasts</a> tamén!
@ -1065,6 +1069,7 @@ gl:
video_to_openstreetmap: vídeo introdutorio ao OpenStreetMap video_to_openstreetmap: vídeo introdutorio ao OpenStreetMap
wiki_signup: Poida que tamén queira <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">crear unha conta no wiki do OpenStreetMap</a>. wiki_signup: Poida que tamén queira <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">crear unha conta no wiki do OpenStreetMap</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Pode facer calquera pregunta en relación ao OpenStreetMap no noso sitio de preguntas e respostas:"
blog_and_twitter: "Póñase ao día das últimas novas a través do blogue ou o Twitter do OpenStreetMap:" blog_and_twitter: "Póñase ao día das últimas novas a través do blogue ou o Twitter do OpenStreetMap:"
click_the_link_1: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa click_the_link_1: Se este é vostede, benvido! Prema na ligazón que aparece a continuación para confirmar a súa
click_the_link_2: conta e obter máis información sobre o OpenStreetMap. click_the_link_2: conta e obter máis información sobre o OpenStreetMap.

View file

@ -3,6 +3,7 @@
# Export driver: syck # Export driver: syck
# Author: Mnalis # Author: Mnalis
# Author: Mvrban # Author: Mvrban
# Author: SpeedyGonsales
hr: hr:
activerecord: activerecord:
attributes: attributes:
@ -885,9 +886,9 @@ hr:
export_tooltip: Izvoz podataka karte export_tooltip: Izvoz podataka karte
gps_traces: GPS trase gps_traces: GPS trase
gps_traces_tooltip: Upravljaj GPS trasama gps_traces_tooltip: Upravljaj GPS trasama
help_wiki: Pomoć &amp; Wiki help: Pomoć
help_wiki_tooltip: Pomoć &amp; Wiki-site za projekt help_and_wiki: "{{help}} & {{wiki}}"
help_wiki_url: http://wiki.openstreetmap.org/wiki/Hr:Main_Page?uselang=hr help_title: Stranice pomoći za projekt
history: Povijest history: Povijest
home: dom home: dom
home_tooltip: Idi na lokaciju svog doma home_tooltip: Idi na lokaciju svog doma
@ -928,6 +929,8 @@ 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
wiki: Wiki
wiki_title: Wiki stranice projekta
license_page: license_page:
foreign: foreign:
english_link: Engleski izvornik english_link: Engleski izvornik
@ -1060,6 +1063,7 @@ hr:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] potvrdi email adresu" subject: "[OpenStreetMap] potvrdi email adresu"
signup_confirm_html: signup_confirm_html:
ask_questions: Možete postaviti bilo kakva pitanja koja imate o projektu OpenStreetMap na našim <a href="http://help.openstreetmap.org/">stranicama pitanja i odgovora</a>.
click_the_link: Ako si ovo ti, dobrodošao! Molim klikni na link ispod za potvrdu korisničkog računa i čitaj dalje za više informacija o OpenStreetMap-u click_the_link: Ako si ovo ti, dobrodošao! Molim klikni na link ispod za potvrdu korisničkog računa i čitaj dalje za više informacija o OpenStreetMap-u
current_user: Lista trenutnih korisnika u kategorijama, bazirano gdje su na svijetu, je dostupna s <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>. current_user: Lista trenutnih korisnika u kategorijama, bazirano gdje su na svijetu, je dostupna s <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
get_reading: Čitajte o OpenStreetMap-u <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">na wiki-ju</a>, budute u toku s zadnjim novostima preko <a href="http://blog.openstreetmap.org/">OpenStreetMap bloga</a> ili <a href="http://twitter.com/openstreetmap">Twittera</a>, ili pregledajte <a href="http://www.opengeodata.org/">OpenGeoData blog</a> osnivača OpenStreetMap-a, Stevea Coasta za povijest projekta, gdje imate i <a href="http://www.opengeodata.org/?cat=13">podcaste za slušanje</a>! get_reading: Čitajte o OpenStreetMap-u <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">na wiki-ju</a>, budute u toku s zadnjim novostima preko <a href="http://blog.openstreetmap.org/">OpenStreetMap bloga</a> ili <a href="http://twitter.com/openstreetmap">Twittera</a>, ili pregledajte <a href="http://www.opengeodata.org/">OpenGeoData blog</a> osnivača OpenStreetMap-a, Stevea Coasta za povijest projekta, gdje imate i <a href="http://www.opengeodata.org/?cat=13">podcaste za slušanje</a>!
@ -1072,6 +1076,7 @@ hr:
video_to_openstreetmap: uvodni video za OpenStreetMap video_to_openstreetmap: uvodni video za OpenStreetMap
wiki_signup: Možda se želiš <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">otvoriti račun na OpenStreetMap wiki</a>. wiki_signup: Možda se želiš <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">otvoriti račun na OpenStreetMap wiki</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Možete postaviti bilo kakva pitanja koja imate o projektu OpenStreetMap na našim stranicama pitanja i odgovora:"
blog_and_twitter: "Budite u toku s najnovijim vijestima preko OpenstreetMap bloga ili Twittera:" blog_and_twitter: "Budite u toku s najnovijim vijestima preko OpenstreetMap bloga ili Twittera:"
click_the_link_1: Ako si to ti, dobrodošao! Molim klikni donji link za potvrdu click_the_link_1: Ako si to ti, dobrodošao! Molim klikni donji link za potvrdu
click_the_link_2: korinički račun i čitaj za više informacija o OpenStreetMap-u. click_the_link_2: korinički račun i čitaj za više informacija o OpenStreetMap-u.

View file

@ -890,8 +890,6 @@ hsb:
export_tooltip: Kartowe daty eksportować export_tooltip: Kartowe daty eksportować
gps_traces: GPS-ćěrje gps_traces: GPS-ćěrje
gps_traces_tooltip: GPS-ćěrje zrjadować gps_traces_tooltip: GPS-ćěrje zrjadować
help_wiki: Pomoc &amp; wiki
help_wiki_tooltip: Sydło Pomoc & wiki za projekt
history: Historija history: Historija
home: domoj home: domoj
home_tooltip: Domoj hić home_tooltip: Domoj hić

View file

@ -885,9 +885,6 @@ hu:
export_tooltip: Térképadatok exportálása export_tooltip: Térképadatok exportálása
gps_traces: Nyomvonalak gps_traces: Nyomvonalak
gps_traces_tooltip: GPS nyomvonalak kezelése gps_traces_tooltip: GPS nyomvonalak kezelése
help_wiki: Segítség és wiki
help_wiki_tooltip: Segítség és wikioldal a projekthez
help_wiki_url: http://wiki.openstreetmap.org/wiki/HU:Main_Page?uselang=hu
history: Előzmények history: Előzmények
home: otthon home: otthon
home_tooltip: Ugrás otthonra home_tooltip: Ugrás otthonra

View file

@ -880,8 +880,9 @@ ia:
export_tooltip: Exportar datos cartographic export_tooltip: Exportar datos cartographic
gps_traces: Tracias GPS gps_traces: Tracias GPS
gps_traces_tooltip: Gerer tracias GPS gps_traces_tooltip: Gerer tracias GPS
help_wiki: Adjuta &amp; Wiki help: Adjuta
help_wiki_tooltip: Adjuta &amp; sito Wiki pro le projecto help_and_wiki: "{{help}} & {{wiki}}"
help_title: Sito de adjuta pro le projecto
history: Historia history: Historia
home: initio home: initio
home_tooltip: Ir al position de origine home_tooltip: Ir al position de origine
@ -922,6 +923,8 @@ 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
wiki: Wiki
wiki_title: Sito wiki pro le projecto
license_page: license_page:
foreign: foreign:
english_link: le original in anglese english_link: le original in anglese
@ -1054,6 +1057,7 @@ ia:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Confirma tu adresse de e-mail" subject: "[OpenStreetMap] Confirma tu adresse de e-mail"
signup_confirm_html: signup_confirm_html:
ask_questions: Tu pote poner qualcunque questiones super OpenStreetMap a nostre <a href="http://help.openstreetmap.org/">sito de questiones e responsas</a>.
click_the_link: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar iste conto e continua a leger pro ulterior informationes super OpenStreetMap click_the_link: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar iste conto e continua a leger pro ulterior informationes super OpenStreetMap
current_user: Un lista de usatores actual in categorias, a base de lor position geographic, es disponibile de <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>. current_user: Un lista de usatores actual in categorias, a base de lor position geographic, es disponibile de <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
get_reading: Informa te super OpenStreetMap per <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">leger le wiki</a>, tene te al currente con le ultime novas via le <a href="http://blog.openstreetmap.org/">blog de OpenStreetMap</a> o con <a href="http://twitter.com/openstreetmap">Twitter</a>, o percurre le <a href="http://www.opengeodata.org/">blog OpenGeoData</a> del fundator de OpenStreetMap Steve Coast pro le historia compendiose del projecto, le qual include tamben <a href="http://www.opengeodata.org/?cat=13">podcasts a ascoltar</a>! get_reading: Informa te super OpenStreetMap per <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">leger le wiki</a>, tene te al currente con le ultime novas via le <a href="http://blog.openstreetmap.org/">blog de OpenStreetMap</a> o con <a href="http://twitter.com/openstreetmap">Twitter</a>, o percurre le <a href="http://www.opengeodata.org/">blog OpenGeoData</a> del fundator de OpenStreetMap Steve Coast pro le historia compendiose del projecto, le qual include tamben <a href="http://www.opengeodata.org/?cat=13">podcasts a ascoltar</a>!
@ -1066,6 +1070,7 @@ ia:
video_to_openstreetmap: video de introduction a OpenStreetMap video_to_openstreetmap: video de introduction a OpenStreetMap
wiki_signup: Considera tamben <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">inscriber te al wiki de OpenStreetMap</a>. wiki_signup: Considera tamben <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">inscriber te al wiki de OpenStreetMap</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Tu pote poner qualcunque questiones super OpenStreetMap a nostre sito de questiones e responsas:"
blog_and_twitter: "Tene te al currente con le ultime novas al blog de OpenStreetMap o con Twitter:" blog_and_twitter: "Tene te al currente con le ultime novas al blog de OpenStreetMap o con Twitter:"
click_the_link_1: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar tu click_the_link_1: Si isto es tu, benvenite! Per favor clicca super le ligamine ci infra pro confirmar tu
click_the_link_2: conto. Continua a leger pro plus informationes a proposito de OpenStreetMap. click_the_link_2: conto. Continua a leger pro plus informationes a proposito de OpenStreetMap.

View file

@ -579,9 +579,6 @@ is:
export_tooltip: Niðurhala kortagögnum á hinum ýmsu sniðum export_tooltip: Niðurhala kortagögnum á hinum ýmsu sniðum
gps_traces: GPS ferlar gps_traces: GPS ferlar
gps_traces_tooltip: Sjá alla GPS ferla gps_traces_tooltip: Sjá alla GPS ferla
help_wiki: Hjálp &amp; Wiki
help_wiki_tooltip: Hjálpar og wiki-síða fyrir verkefnið
help_wiki_url: http://wiki.openstreetmap.org/wiki/Fors%C3%AD%C3%B0a?uselang=is
history: Breytingarskrá history: Breytingarskrá
home: heim home: heim
home_tooltip: Færa kortasýnina á þína staðsetningu home_tooltip: Færa kortasýnina á þína staðsetningu

View file

@ -815,8 +815,6 @@ it:
export_tooltip: Esporta i dati della mappa export_tooltip: Esporta i dati della mappa
gps_traces: Tracciati GPS gps_traces: Tracciati GPS
gps_traces_tooltip: Gestisci i tracciati GPS gps_traces_tooltip: Gestisci i tracciati GPS
help_wiki: Aiuto &amp; Wiki
help_wiki_tooltip: Sito e Wiki di supporto per il progetto
history: Storico history: Storico
home: posizione iniziale home: posizione iniziale
inbox: in arrivo ({{count}}) inbox: in arrivo ({{count}})

View file

@ -618,6 +618,7 @@ ja:
place: place:
airport: 空港 airport: 空港
city: city:
country:
county: county:
farm: 牧場 farm: 牧場
hamlet: hamlet:
@ -714,9 +715,6 @@ ja:
export_tooltip: 地図データのエクスポート export_tooltip: 地図データのエクスポート
gps_traces: GPS トレース gps_traces: GPS トレース
gps_traces_tooltip: トレースの管理 gps_traces_tooltip: トレースの管理
help_wiki: ヘルプと Wiki
help_wiki_tooltip: プロジェクトのヘルプと Wiki
help_wiki_url: http://wiki.openstreetmap.org/wiki/Ja:Main_Page?uselang=ja
history: 履歴 history: 履歴
home: ホーム home: ホーム
home_tooltip: ホームへ戻る home_tooltip: ホームへ戻る
@ -1180,6 +1178,7 @@ ja:
list: list:
confirm: 選択したユーザを確認 confirm: 選択したユーザを確認
empty: 条件に一致するユーザーが見つかりません empty: 条件に一致するユーザーが見つかりません
heading: 利用者
hide: 選択したユーザーを隠す hide: 選択したユーザーを隠す
title: ユーザー title: ユーザー
login: login:

637
config/locales/lb.yml Normal file
View file

@ -0,0 +1,637 @@
# Messages for Luxembourgish (Lëtzebuergesch)
# Exported from translatewiki.net
# Export driver: syck
# Author: Robby
lb:
activerecord:
attributes:
diary_entry:
language: Sprooch
title: Titel
user: Benotzer
friend:
friend: Frënd
user: Benotzer
message:
title: Titel
trace:
description: Beschreiwung
name: Numm
public: Ëffentlech
size: Gréisst
user: Benotzer
user:
active: Aktiv
description: Beschreiwung
display_name: Numm dee gewise gëtt
email: E-Mail
languages: Sproochen
pass_crypt: Passwuert
models:
country: Land
friend: Frënd
language: Sprooch
message: Message
node: Knuet
old_node: Ale Knuet
old_relation: Al Relatioun
old_way: Ale Wee
relation: Relatioun
user: Benotzer
user_preference: Benotzerastellung
way: Wee
browse:
changeset:
download: Als {{changeset_xml_link}} oder {{osmchange_xml_link}} eroflueden.
osmchangexml: osmChange XML
changeset_details:
belongs_to: "Gehéiert dem:"
closed_at: "Zougemaach den:"
common_details:
changeset_comment: "Bemierkung:"
edited_at: "Geännert den:"
edited_by: "Geännert vum:"
version: "Versioun:"
containing_relation:
entry: Relatioun {{relation_name}}
entry_role: Relatioun {{relation_name}} (als {{relation_role}})
map:
deleted: Geläscht
larger:
area: Géigend op méi enger grousser Kaart weisen
node: Knuet op méi enger grousser Kaart weisen
relation: D'Relatioun op méi enger grousser Kaart weisen
way: Wee op méi enger grousser Kaart weisen
loading: Lueden...
navigation:
all:
next_node_tooltip: Nächste Knuet
next_relation_tooltip: Nächst Relatioun
next_way_tooltip: Nächste Wee
prev_node_tooltip: Virege Knuet
prev_relation_tooltip: Vireg Relatioun
prev_way_tooltip: Virege Wee
user:
name_changeset_tooltip: Ännerunge vum {{user}} weisen
next_changeset_tooltip: Nächst Ännerung vum {{user}}
prev_changeset_tooltip: Vireg Ännerung vum {{user}}
node:
download: "{{download_xml_link}}, {{view_history_link}} oder {{edit_link}}"
download_xml: XML eroflueden
edit: änneren
node: Knuet
node_title: "Knuet: {{node_name}}"
view_history: Versioune weisen
node_details:
coordinates: "Koordinaten:"
part_of: "Deel vu(n):"
node_history:
download: "{{download_xml_link}} oder {{view_details_link}}"
download_xml: XML eroflueden
view_details: Detailer weisen
not_found:
type:
node: Knuet
relation: Relatioun
way: Wee
paging_nav:
of: vu(n)
showing_page: Säit gëtt gewisen
relation:
download: "{{download_xml_link}} oder {{view_history_link}}"
download_xml: XML eroflueden
relation: Relatioun
relation_title: "Relatioun: {{relation_name}}"
view_history: Versioune weisen
relation_details:
members: "Memberen:"
part_of: "Deel vu(n):"
relation_history:
download: "{{download_xml_link}} oder {{view_details_link}}"
download_xml: XML eroflueden
view_details: Detailer weisen
relation_member:
entry_role: "{{type}} {{name}} als {{role}}"
type:
node: Knuet
relation: Relatioun
way: Wee
start_rjs:
data_frame_title: Donnéeën
data_layer_name: Donnéeën
details: Detailer
edited_by_user_at_timestamp: Vum [[user]] de(n) [[timestamp]] geännert
load_data: Donnéeë lueden
loading: Lueden...
object_list:
details: Detailer
heading: Lëscht mat Objeten
history:
type:
node: Knuet [[id]]
way: Wee [[id]]
selected:
type:
node: Knuet [[id]]
way: Wee [[id]]
type:
node: Knuet
way: Wee
private_user: private Benotzer
show_history: Versioune weisen
wait: Waart w.e.g. ...
tag_details:
wikipedia_link: Den Artikel {{page}} op der Wikipedia
timeout:
type:
node: Knuet
relation: Relatioun
way: Wee
way:
download: "{{download_xml_link}}, {{view_history_link}} oder {{edit_link}}"
download_xml: XML eroflueden
edit: änneren
view_history: Versioune weisen
way: Wee
way_title: "Wee: {{way_name}}"
way_details:
nodes: "Kniet:"
part_of: "Deel vu(n):"
way_history:
download: "{{download_xml_link}} oder {{view_details_link}}"
download_xml: XML eroflueden
view_details: Detailer weisen
changeset:
changeset:
anonymous: Anonym
big_area: (grouss)
no_edits: (keng Ännerungen)
changeset_paging_nav:
next: Nächst &raquo;
previous: "&laquo; Vireg"
changesets:
user: Benotzer
diary_entry:
diary_comment:
confirm: Confirméieren
diary_entry:
confirm: Confirméieren
edit:
language: "Sprooch:"
save_button: Späicheren
subject: "Sujet:"
location:
edit: Änneren
no_such_user:
heading: De Benotzer {{user}} gëtt et net
title: Esou e Benotzer gëtt et net
view:
save_button: Späicheren
export:
start:
format: Format
image_size: "Gréisst vum Bild:"
licence: Lizenz
options: Optiounen
scale: Maassstab
zoom: Zoom
geocoder:
direction:
east: ëstlech
north: nërdlech
north_east: nordost
north_west: nordwest
south: südlech
south_east: südost
south_west: südwest
west: westlech
search_osm_namefinder:
suffix_place: ", {{distance}} {{direction}} vu(n) {{placename}}"
search_osm_nominatim:
prefix:
amenity:
airport: Fluchhafen
bank: Bank
bus_station: Busarrêt
cafe: Café
cinema: Kino
clinic: Klinik
crematorium: Crematoire
dentist: Zänndokter
doctors: Dokteren
driving_school: Fahrschoul
embassy: Ambassade
fire_station: Pompjeeën
fountain: Sprangbur
hospital: Klinik
hotel: Hotel
kindergarten: Spillschoul
market: Maart
marketplace: Maartplaz
mountain_rescue: Biergrettung
park: Park
pharmacy: Apdikt
police: Police
preschool: Spillschoul
prison: Prisong
restaurant: Restaurant
sauna: Sauna
school: Schoul
supermarket: Supermarché
taxi: Taxi
telephone: Telefonscabine
theatre: Theater
toilets: Toiletten
townhall: Stadhaus
university: Universitéit
building:
bunker: Bunker
chapel: Kapell
church: Kierch
hotel: Hotel
house: Haus
stadium: Stadion
terrace: Terrasse
tower: Tuerm
train_station: Gare (Eisebunn)
"yes": Gebai
highway:
footway: Fousswee
gate: Paard
motorway: Autobunn
path: Pad
road: Strooss
historic:
building: Gebai
castle: Schlass
church: Kierch
house: Haus
monument: Monument
museum: Musée
ruins: Ruinen
tower: Tuerm
landuse:
cemetery: Kierfecht
forest: Bësch
military: Militairegebitt
park: Park
railway: Eisebunn
vineyard: Wéngert
wood: Bësch
leisure:
marina: Yachthafen
miniature_golf: Minigolf
playground: Spillplaz
stadium: Stadion
swimming_pool: Schwëmm
natural:
crater: Krater
fjord: Fjord
geyser: Geysir
glacier: Gletscher
hill: Hiwwel
island: Insel
point: Punkt
river: Floss
rock: Steng
spring: Quell
tree: Bam
valley: Dall
volcano: Vulkan
water: Waasser
wood: Bësch
place:
airport: Fluchhafen
country: Land
houses: Haiser
island: Insel
region: Regioun
sea: Mier
town: Stad
village: Duerf
railway:
disused: Fréier Eisebunn
tram: Tram
shop:
bakery: Bäckerei
books: Bichergeschäft
chemist: Apdikt
clothes: Kleedergeschäft
dry_cleaning: Botzerei
hairdresser: Coiffeur
insurance: Versécherungsbüro
jewelry: Bijouterie
optician: Optiker
photo: Fotosgeschäft
shoes: Schonggeschäft
supermarket: Supermarché
travel_agency: Reesbüro
tourism:
artwork: Konschtwierk
attraction: Attraktioun
information: Informatioun
museum: Musée
picnic_site: Piknikplaz
valley: Dall
viewpoint: Aussiichtspunkt
zoo: Zoo
waterway:
canal: Kanal
river: Floss
wadi: Wadi
waterfall: Waasserfall
javascripts:
site:
edit_tooltip: Kaart änneren
layouts:
copyright: Copyright &amp; Lizenz
donate_link_text: Don
edit: Änneren
intro_3_partners: Wiki
make_a_donation:
text: En Don maachen
shop: Geschäft
user_diaries: Benotzer Bloggen
welcome_user: Wëllkomm, {{user_link}}
welcome_user_link_tooltip: Är Benotzersäit
license_page:
foreign:
english_link: den engleschen Original
title: Iwwer dës Iwwersetzung
native:
native_link: lëtzebuergesch Versioun
title: Iwwer dës Säit
message:
delete:
deleted: Message geläscht
inbox:
date: Datum
subject: Sujet
message_summary:
delete_button: Läschen
reply_button: Äntwerten
new:
send_button: Schécken
subject: Sujet
title: Noriicht schécken
no_such_user:
heading: Esou e Benotzer gëtt et net
title: Esou e Benotzer gëtt et net
outbox:
date: Datum
subject: Sujet
read:
date: Datum
reply_button: Äntwerten
sent_message_summary:
delete_button: Läschen
notifier:
diary_comment_notification:
hi: Salut {{to_user}},
email_confirm_html:
greeting: Salut,
email_confirm_plain:
greeting: Salut,
gpx_notification:
greeting: Salut,
with_description: mat der Beschreiwung
lost_password_html:
greeting: Salut,
lost_password_plain:
greeting: Salut,
signup_confirm_plain:
more_videos: "Hei si méi Videoen:"
oauth_clients:
edit:
submit: Änneren
form:
name: Numm
new:
submit: Registréieren
show:
allow_write_api: Kaart änneren
site:
edit:
user_page_link: Benotzersäit
key:
table:
entry:
golf: Golfterrain
lake:
- Séi
motorway: Autobunn
rail: Eisebunn
school:
- Schoul
- Universitéit
subway: Metro
summit:
- Spëtzt
wood: Bësch
search:
search: Sichen
submit_text: Lass
sidebar:
close: Zoumaachen
search_results: Reaultater vun der Sich
time:
formats:
friendly: "%e %B %Y ëm %H:%M"
trace:
edit:
description: "Beschreiwung:"
download: eroflueden
edit: änneren
filename: "Numm vum Fichier:"
map: Kaart
owner: "Besëtzer:"
points: "Punkten:"
save_button: Ännerunge späicheren
tags_help: Mat Komma getrennt
uploaded_at: "Eropgelueden:"
visibility: "Visibilitéit:"
visibility_help: wat heescht dat?
no_such_user:
heading: De Benotzer {{user}} gëtt et net
title: Esou e Benotzer gëtt et net
trace:
ago: viru(n) {{time_in_words_ago}}
by: vum
count_points: "{{count}} Punkten"
edit: änneren
edit_map: Kaart änneren
in: an
map: Kaart
more: méi
private: PRIVAT
public: ËFFENTLECH
view_map: Kaart weisen
trace_form:
description: Beschreiwung
help: Hëllef
upload_button: Eroplueden
upload_gpx: GPX-Fichier eroplueden
visibility: Visibilitéit
visibility_help: wat heescht dat?
trace_paging_nav:
next: Nächst &raquo;
previous: "&laquo; Vireg"
showing_page: D'Säit {{page}} gëtt gewisen
view:
description: "Beschreiwung:"
download: eroflueden
edit: änneren
filename: "Numm vum Fichier:"
map: Kaart
none: Keen
owner: "Besëtzer:"
points: "Punkten:"
uploaded: "Eropgelueden:"
visibility: "Visibilitéit:"
user:
account:
contributor terms:
link text: wat ass dëst?
current email address: "Aktuell E-Mailadress:"
delete image: Dat aktuellt Bild ewechhuelen
flash update success: Benotzerinformatioun ass elo aktualiséiert.
image: "Bild:"
keep image: Dat aktuellt Bild behalen
make edits public button: All meng Ännerunge ëffentlech maachen
my settings: Meng Astellungen
new email address: "Nei E-Mailadress:"
new image: E Bild derbäisetzen
preferred languages: "Léifste Sproochen:"
public editing:
disabled link text: Firwat kann ech net änneren?
enabled link text: wat ass dëst?
replace image: Dat aktuellt Bild ersetzen
save changes button: Ännerunge späicheren
confirm:
button: Confirméieren
heading: E Benotzerkont confirméieren
press confirm button: Klickt w.e.g. op de Knäppchen confirméieren fir Äre Benotzerkont z'aktivéieren.
confirm_email:
button: Confirméieren
go_public:
flash success: All Är Ännerunge sinn elo ëffentlech, an Dir däerft elo änneren.
list:
confirm: Erausgesichte Benotzer confirméieren
heading: Benotzer
hide: Erausgesichte Benotzer vrstoppen
title: Benotzer
login:
lost password link: Hutt Dir Äert Passwuert vergiess?
password: "Passwuert:"
webmaster: Webmaster
logout:
logout_button: Ofmellen
title: Ofmellen
lost_password:
email address: "E-Mailadress:"
heading: Passwuert vergiess?
new password button: Passwuert zrécksetzen
notice email cannot find: Déi E-Mailadress konnt net fonnt ginn, pardon
title: Passwuert vergiess
make_friend:
already_a_friend: Dir sidd schonn de Frënd vum {{name}}.
success: "{{name}} ass elo Äre Frënd."
new:
confirm email address: "E-Mailadress confirméieren:"
confirm password: "Passwuert confirméieren:"
continue: Weider
display name: Numm weisen
email address: "E-Mailadress:"
heading: E Benotzerkont uleeën
password: "Passwuert:"
no_such_user:
heading: De Benotzer {{user}} gëtt et net
title: Esou e Benotzer gëtt et net
popup:
friend: Frënn
remove_friend:
not_a_friend: "{{name}} ass kee vun Äre Frënn."
reset_password:
confirm password: "Passwuert confirméieren:"
flash changed: Äert Passwuert gouf geännert.
heading: Passwuert fir {{user}} zrécksetzen
password: "Passwuert:"
reset: Passwuert zrécksetzen
title: Passwuert zrécksetzen
suspended:
webmaster: Webmaster
terms:
agree: Akzeptéieren
consider_pd_why: wat ass dat?
legale_names:
france: Frankräich
italy: Italien
rest_of_world: Rescht vun der Welt
legale_select: "Sicht w.e.g. d'Land eraus wou Dir wunnt:"
view:
activate_user: dëse Benotzer aktivéieren
add as friend: als Frënd derbäisetzen
ago: (viru(n) {{time_in_words_ago}})
confirm: Confirméieren
confirm_user: dëse Benotzer confirméieren
create_block: dëse Benotzer spären
deactivate_user: dëse Benotzer desaktivéieren
delete_user: dëse Benotzer läschen
description: Beschreiwung
diary: Blog
edits: Ännerungen
email address: "E-Mailadress:"
hide_user: dëse Benotzer verstoppen
km away: "{{count}} km ewech"
m away: "{{count}} m ewech"
my diary: mäi Blog
my edits: meng Ännerungen
my settings: meng Astellungen
nearby users: Aner Benotzer nobäi
remove as friend: als Frënd ewechhuelen
role:
administrator: Dëse Benotzer ass en Administrateur
settings_link_text: Astellungen
unhide_user: dëse Benotzer net méi verstoppen
your friends: Är Frënn
user_block:
blocks_by:
title: Späre vum {{name}}
edit:
submit: Spär aktualiséieren
index:
title: Benotzerspären
new:
submit: Spär uleeën
partial:
confirm: Sidd Dir sécher?
display_name: Gespaarte Benotzer
edit: Änneren
reason: Grond fir d'Spär
show: Weisen
period:
one: 1 Stonn
other: "{{count}} Stonnen"
show:
confirm: Sidd Dir sécher?
edit: Änneren
heading: "{{block_on}} gespaart vum {{block_by}}"
reason: "Grond fir d'Spär:"
show: Weisen
title: "{{block_on}} gespaart vum {{block_by}}"
update:
success: Spär aktualiséiert
user_role:
filter:
already_has_role: De Benotzer huet d'Roll {{role}} schonn.
doesnt_have_role: De Benotzer huet d'Roll {{role}} net.
not_a_role: D'Zeechen '{{role}}' ass keng valabel Roll.
not_an_administrator: Nëmmen Adminstrateure kënnen d'Gstioun vun de Rolle maachen, an Dir sidd net Administrateur.
grant:
confirm: Confirméieren
revoke:
are_you_sure: Sidd Dir sécher datt Dir dem Benotzer '{{name}}' d'Roll '{{role}}' ofhuele wëllt?
confirm: Confirméieren
fail: D'Roll '{{role}}' konnt met vum Benotzer '{{name}}' ewechgeholl ginn. Kuckt w.e.g. no ob de Benotzer an d'Roll allen zwee valabel sinn.
heading: Confirméiert d'Zréckzéie vun der Roll
title: Confirméiert d'Zréckzéie vun der Roll

View file

@ -301,9 +301,9 @@ mk:
body: "Содржина:" body: "Содржина:"
language: "Јазик:" language: "Јазик:"
latitude: Геог. ширина latitude: Геог. ширина
location: "Локација:" location: "Местоположба:"
longitude: Геог. должина longitude: Геог. должина
marker_text: Локација на дневничкиот запис marker_text: Место на дневничкиот запис
save_button: Зачувај save_button: Зачувај
subject: "Наслов:" subject: "Наслов:"
title: Уреди дневничка ставка title: Уреди дневничка ставка
@ -386,9 +386,9 @@ mk:
geocoder: geocoder:
description: description:
title: title:
geonames: Локација од <a href="http://www.geonames.org/">GeoNames</a> geonames: Местоположба од <a href="http://www.geonames.org/">GeoNames</a>
osm_namefinder: "{{types}} од <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Именикот</a>" osm_namefinder: "{{types}} од <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Именикот</a>"
osm_nominatim: Локација од <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a> osm_nominatim: Местоположба од <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
types: types:
cities: Градови cities: Градови
places: Места places: Места
@ -880,11 +880,12 @@ mk:
export_tooltip: Извоз на податоци од картата export_tooltip: Извоз на податоци од картата
gps_traces: GPS-траги gps_traces: GPS-траги
gps_traces_tooltip: Работа со GPS траги gps_traces_tooltip: Работа со GPS траги
help_wiki: Помош и вики help: Помош
help_wiki_tooltip: Помош и Вики-страница за овој проект help_and_wiki: "{{help}} и {{wiki}}"
help_title: Помошна страница за проектот
history: Историја history: Историја
home: дома home: дома
home_tooltip: Оди на домашна локација home_tooltip: Оди на матичната местоположба
inbox: пораки ({{count}}) inbox: пораки ({{count}})
inbox_tooltip: inbox_tooltip:
one: Имате 1 непрочитана порака во сандачето one: Имате 1 непрочитана порака во сандачето
@ -922,6 +923,8 @@ mk:
view_tooltip: Види карта view_tooltip: Види карта
welcome_user: Добредојде, {{user_link}} welcome_user: Добредојде, {{user_link}}
welcome_user_link_tooltip: Ваша корисничка страница welcome_user_link_tooltip: Ваша корисничка страница
wiki: Вики
wiki_title: Помошна страница за проектот
license_page: license_page:
foreign: foreign:
english_link: англискиот оригинал english_link: англискиот оригинал
@ -1054,6 +1057,7 @@ mk:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Потврдете ја вашата е-поштенска адреса" subject: "[OpenStreetMap] Потврдете ја вашата е-поштенска адреса"
signup_confirm_html: signup_confirm_html:
ask_questions: Можете да поставувате прашања за OpenStreetMap на нашата <a href="http://help.openstreetmap.org/">страница за прашања и одговори</a>.
click_the_link: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите таа сметка и да прочитате повеќе информации за OpenStreetMap click_the_link: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите таа сметка и да прочитате повеќе информации за OpenStreetMap
current_user: На <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Категорија:Корисници_по_географски_регион</a> ќе најдете список на тековни корисници во категории, зависно од нивната местоположба во светот. current_user: На <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Категорија:Корисници_по_географски_регион</a> ќе најдете список на тековни корисници во категории, зависно од нивната местоположба во светот.
get_reading: Читајте за OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">на викито</a>, информирајте се за најновите збиднувања преку <a href="http://blog.openstreetmap.org/">OpenStreetMap блогот</a> или <a href="http://twitter.com/openstreetmap">Twitter</a>, или пак прелистајте го<a href="http://www.opengeodata.org/">блогот „OpenGeoData“</a> на основачот на OpenStreetMap, Стив Коуст за историја на проектот, заедно со <a href="http://www.opengeodata.org/?cat=13">под-емитувања</a>! get_reading: Читајте за OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">на викито</a>, информирајте се за најновите збиднувања преку <a href="http://blog.openstreetmap.org/">OpenStreetMap блогот</a> или <a href="http://twitter.com/openstreetmap">Twitter</a>, или пак прелистајте го<a href="http://www.opengeodata.org/">блогот „OpenGeoData“</a> на основачот на OpenStreetMap, Стив Коуст за историја на проектот, заедно со <a href="http://www.opengeodata.org/?cat=13">под-емитувања</a>!
@ -1066,11 +1070,12 @@ mk:
video_to_openstreetmap: воведен видеоклип за OpenStreetMap video_to_openstreetmap: воведен видеоклип за OpenStreetMap
wiki_signup: Препорачуваме да <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">се регистрирате на викито на OpenStreetMap</a>. wiki_signup: Препорачуваме да <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">се регистрирате на викито на OpenStreetMap</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Можете да поставувате прашања за OpenStreetMap на нашата страница за прашања и одговори:"
blog_and_twitter: "Бидете информирани за најновите збиднувања преку блогот на OpenStreetMap blog или Twitter:" blog_and_twitter: "Бидете информирани за најновите збиднувања преку блогот на OpenStreetMap blog или Twitter:"
click_the_link_1: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите click_the_link_1: Ако ова сте вие, добредојдовте! Кликнете на врската подолу за да ја потврдите
click_the_link_2: сметка и прочитајте повеќе за дополнителни информации за OpenStreetMap. click_the_link_2: сметка и прочитајте повеќе за дополнителни информации за OpenStreetMap.
current_user_1: Список на тековни корисници во категории, врз основа на нивната местоположба во светот current_user_1: Список на тековни корисници во категории, врз основа на нивната местоположба во светот
current_user_2: "локација во светот ќе најдете на:" current_user_2: "местоположба во светот ќе најдете на:"
greeting: Здраво! greeting: Здраво!
hopefully_you: Некој (се надеваме, Вие) сака да отвори сметка на hopefully_you: Некој (се надеваме, Вие) сака да отвори сметка на
introductory_video: "Погледајте го воведниот видеоклип за OpenStreetMap тука:" introductory_video: "Погледајте го воведниот видеоклип за OpenStreetMap тука:"
@ -1240,7 +1245,7 @@ mk:
search_help: "примери: 'Струмица', 'Илинденска', 'Regent Street, Cambridge', 'CB2 5AQ' или 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>повеќе примери...</a>" search_help: "примери: 'Струмица', 'Илинденска', 'Regent Street, Cambridge', 'CB2 5AQ' или 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>повеќе примери...</a>"
submit_text: -> submit_text: ->
where_am_i: Каде сум? where_am_i: Каде сум?
where_am_i_title: Опишете ја моменталната локација со помош на пребарувачот where_am_i_title: Опишете ја моменталната местоположба со помош на пребарувачот
sidebar: sidebar:
close: Затвори close: Затвори
search_results: Резултати од пребарувањето search_results: Резултати од пребарувањето
@ -1361,7 +1366,7 @@ mk:
email never displayed publicly: (никогаш не се прикажува јавно) email never displayed publicly: (никогаш не се прикажува јавно)
flash update success: Корисничките информации се успешно ажурирани. flash update success: Корисничките информации се успешно ажурирани.
flash update success confirm needed: Корисничките информации се успешно ажурирани. Проверете е-пошта за да ја потврдите на адресата. flash update success confirm needed: Корисничките информации се успешно ажурирани. Проверете е-пошта за да ја потврдите на адресата.
home location: "Домашна локација:" home location: "Матична местоположба:"
image: "Слика:" image: "Слика:"
image size hint: (најдобро работат квадратни слики, барем 100x100) image size hint: (најдобро работат квадратни слики, барем 100x100)
keep image: Задржи ја тековната слика keep image: Задржи ја тековната слика
@ -1371,7 +1376,7 @@ mk:
my settings: Мои прилагодувања my settings: Мои прилагодувања
new email address: "Нова е-поштенска адреса:" new email address: "Нова е-поштенска адреса:"
new image: Додај слика new image: Додај слика
no home location: Немате внесено домашна локација. no home location: Немате внесено матична местоположба.
preferred languages: "Претпочитани јазици:" preferred languages: "Претпочитани јазици:"
profile description: "Опис за профилот:" profile description: "Опис за профилот:"
public editing: public editing:
@ -1388,7 +1393,7 @@ mk:
return to profile: Назад кон профилот return to profile: Назад кон профилот
save changes button: Зачувај ги промените save changes button: Зачувај ги промените
title: Уреди сметка title: Уреди сметка
update home location on click: Подновувај ја домашната локација кога ќе кликнам на картата update home location on click: Подновувај го матичната местоположба кога ќе кликнам на картата
confirm: confirm:
button: Потврди button: Потврди
failure: Веќе имаме потврдено корисничка сметка со овој жетон. failure: Веќе имаме потврдено корисничка сметка со овој жетон.
@ -1471,7 +1476,7 @@ mk:
popup: popup:
friend: Пријател friend: Пријател
nearby mapper: Соседен картограф nearby mapper: Соседен картограф
your location: Ваша локација your location: Ваша местоположба
remove_friend: remove_friend:
not_a_friend: "{{name}} не е меѓу вашите пријатели." not_a_friend: "{{name}} не е меѓу вашите пријатели."
success: Корисникот {{name}} е отстранет од вашите пријатели. success: Корисникот {{name}} е отстранет од вашите пријатели.
@ -1480,11 +1485,11 @@ mk:
flash changed: Лозинката ви е сменета. flash changed: Лозинката ви е сменета.
flash token bad: Не го пронајдов тој жетон. Проверете ја URL адресата. flash token bad: Не го пронајдов тој жетон. Проверете ја URL адресата.
heading: Смени лозинка за {{user}} heading: Смени лозинка за {{user}}
password: Лозинка password: "Лозинка:"
reset: Смени лозинка reset: Смени лозинка
title: Смени лозинка title: Смени лозинка
set_home: set_home:
flash success: Домашната локација е успешно зачувана flash success: Матичната местоположба е успешно зачувана
suspended: suspended:
body: "<p>\n Нажалост, вашата сметка беше автоматски закочена поради\n сомнителни активности.\n</p>\n<p>\n Донесената одлуката набргу ќе ја прегледа администратор, но\n можете да се обратите кај {{webmaster}} ако сакате да продискутирате за овој проблем.\n</p>" body: "<p>\n Нажалост, вашата сметка беше автоматски закочена поради\n сомнителни активности.\n</p>\n<p>\n Донесената одлуката набргу ќе ја прегледа администратор, но\n можете да се обратите кај {{webmaster}} ако сакате да продискутирате за овој проблем.\n</p>"
heading: Сметката е закочена heading: Сметката е закочена
@ -1521,7 +1526,7 @@ mk:
edits: уредувања edits: уредувања
email address: Е-пошта email address: Е-пошта
hide_user: сокриј го корисников hide_user: сокриј го корисников
if set location: Ако ја наместите вашата локација, под ова ќе ви се појави убава карта и други работи. Домашната локација можете да си ја наместите на страницата {{settings_link}}. if set location: Ако ја наместите вашата местоположба, под ова ќе ви се појави убава карта и други работи. Матичната местоположба можете да си ја наместите на страницата {{settings_link}}.
km away: "{{count}}km од вас" km away: "{{count}}km од вас"
m away: "{{count}}m од вас" m away: "{{count}}m од вас"
mapper since: "Картограф од:" mapper since: "Картограф од:"
@ -1551,7 +1556,7 @@ mk:
status: "Статус:" status: "Статус:"
traces: траги traces: траги
unhide_user: покажи го корисникот unhide_user: покажи го корисникот
user location: Локација на корисникот user location: Местоположба на корисникот
your friends: Ваши пријатели your friends: Ваши пријатели
user_block: user_block:
blocks_by: blocks_by:

View file

@ -883,8 +883,9 @@ nl:
export_tooltip: Kaartgegevens exporteren export_tooltip: Kaartgegevens exporteren
gps_traces: GPS-tracks gps_traces: GPS-tracks
gps_traces_tooltip: GPS-tracks beheren gps_traces_tooltip: GPS-tracks beheren
help_wiki: Help &amp; wiki help: Hulp
help_wiki_tooltip: Help en wikisite voor het project help_and_wiki: "{{help}} en {{wiki}}"
help_title: Helpsite voor dit project
history: Geschiedenis history: Geschiedenis
home: home home: home
home_tooltip: Naar thuislocatie gaan home_tooltip: Naar thuislocatie gaan
@ -923,6 +924,8 @@ nl:
view_tooltip: Kaart bekijken view_tooltip: Kaart bekijken
welcome_user: Welkom, {{user_link}} welcome_user: Welkom, {{user_link}}
welcome_user_link_tooltip: Uw gebruikerspagina welcome_user_link_tooltip: Uw gebruikerspagina
wiki: wiki
wiki_title: Wikisite voor het project
license_page: license_page:
foreign: foreign:
english_link: Engelstalige origineel english_link: Engelstalige origineel
@ -1055,6 +1058,7 @@ nl:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Bevestig uw e-mailadres" subject: "[OpenStreetMap] Bevestig uw e-mailadres"
signup_confirm_html: signup_confirm_html:
ask_questions: U kunt vragen stellen over OpenStreetMap op onze <a href="http://help.openstreetmap.org/">vraag en antwoordsite</a>.
click_the_link: Als u dat bent, welkom! Volg de verwijzing hieronder beneden om uw gebruiker bevestigen en om meer over OpenStreetMap te weten te komen click_the_link: Als u dat bent, welkom! Volg de verwijzing hieronder beneden om uw gebruiker bevestigen en om meer over OpenStreetMap te weten te komen
current_user: Een lijst van gebruikers, gesorteerd op woonplaats, is te zien op <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>. current_user: Een lijst van gebruikers, gesorteerd op woonplaats, is te zien op <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
get_reading: Lees over OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">op de wiki</a>, volg het laatste nieuws op de <a href="http://blog.openstreetmap.org/">OpenStreetMap-blog</a> of via <a href="http://twitter.com/openstreetmap">Twitter</a>. Lees ook de <a href="http://www.opengeodata.org/">OpenGeoData-blog</a> van OpenSteetMap-grondlegger Steve Coast, die ook <a href="http://www.opengeodata.org/?cat=13">podcasts</a> aanbiedt! get_reading: Lees over OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">op de wiki</a>, volg het laatste nieuws op de <a href="http://blog.openstreetmap.org/">OpenStreetMap-blog</a> of via <a href="http://twitter.com/openstreetmap">Twitter</a>. Lees ook de <a href="http://www.opengeodata.org/">OpenGeoData-blog</a> van OpenSteetMap-grondlegger Steve Coast, die ook <a href="http://www.opengeodata.org/?cat=13">podcasts</a> aanbiedt!
@ -1067,6 +1071,7 @@ nl:
video_to_openstreetmap: introductievideo over OpenStreetMap bekijken video_to_openstreetmap: introductievideo over OpenStreetMap bekijken
wiki_signup: U kunt zich ook <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">registreren op de OpenStreetMap-wiki</a>. wiki_signup: U kunt zich ook <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">registreren op de OpenStreetMap-wiki</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "U kunt vragen stellen over OpenStreetMap op onze vraag en antwoordsite:"
blog_and_twitter: "Volg het laatste nieuws via de OpenStreetMap-blog of Twitter:" blog_and_twitter: "Volg het laatste nieuws via de OpenStreetMap-blog of Twitter:"
click_the_link_1: Als u dat bent, welkom! Volg de verwijzing hieronder om uw gebruiker te bevestigen click_the_link_1: Als u dat bent, welkom! Volg de verwijzing hieronder om uw gebruiker te bevestigen
click_the_link_2: en om meer informatie over OpenStreetMap te krijgen. click_the_link_2: en om meer informatie over OpenStreetMap te krijgen.

View file

@ -93,7 +93,7 @@
title: Endringssett title: Endringssett
changeset_details: changeset_details:
belongs_to: "Tilhører:" belongs_to: "Tilhører:"
bounding_box: "Bounding box:" bounding_box: "Avgrensingsboks:"
box: boks box: boks
closed_at: "Lukket:" closed_at: "Lukket:"
created_at: "Opprettet:" created_at: "Opprettet:"
@ -106,7 +106,7 @@
has_ways: has_ways:
one: "Har følgende {{count}} vei:" one: "Har følgende {{count}} vei:"
other: "Har følgende {{count}} veier:" other: "Har følgende {{count}} veier:"
no_bounding_box: Ingen bounding box er lagret for dette endringssettet. no_bounding_box: Ingen avgrensingsboks er lagret for dette endringssettet.
show_area_box: Vis boks for område show_area_box: Vis boks for område
common_details: common_details:
changeset_comment: "Kommentar:" changeset_comment: "Kommentar:"
@ -218,7 +218,7 @@
way: Vei way: Vei
private_user: privat bruker private_user: privat bruker
show_history: Vis historikk show_history: Vis historikk
unable_to_load_size: "Klarte ikke laste inn: Bounding box med størrelse [[bbox_size]] er for stor (må være mindre enn {{max_bbox_size}})" unable_to_load_size: "Klarte ikke laste inn: Avgrensingsboks med størrelse [[bbox_size]] er for stor (må være mindre enn {{max_bbox_size}})"
wait: Vent ... wait: Vent ...
zoom_or_select: Zoom inn eller velg et område av kartet for visning zoom_or_select: Zoom inn eller velg et område av kartet for visning
tag_details: tag_details:
@ -530,8 +530,10 @@
chapel: Kapell chapel: Kapell
church: Kirke church: Kirke
city_hall: Rådhus city_hall: Rådhus
commercial: Kommersiell bygning
dormitory: Sovesal dormitory: Sovesal
entrance: Bygningsinngang entrance: Bygningsinngang
faculty: Fakultetsbygning
farm: Gårdsbygg farm: Gårdsbygg
flats: Leiligheter flats: Leiligheter
garage: Garasje garage: Garasje
@ -543,6 +545,7 @@
office: Kontorbygg office: Kontorbygg
public: Offentlig bygg public: Offentlig bygg
residential: Boligbygg residential: Boligbygg
retail: Detaljsalgbygg
school: Skolebygg school: Skolebygg
shop: Butikk shop: Butikk
stadium: Stadion stadium: Stadion
@ -554,6 +557,7 @@
"yes": Bygning "yes": Bygning
highway: highway:
bridleway: Ridevei bridleway: Ridevei
bus_guideway: Ledet bussfelt
bus_stop: Busstopp bus_stop: Busstopp
byway: Stikkvei byway: Stikkvei
construction: Motorvei under konstruksjon construction: Motorvei under konstruksjon
@ -561,20 +565,27 @@
distance_marker: Avstandsmarkør distance_marker: Avstandsmarkør
emergency_access_point: Nødtilgangspunkt emergency_access_point: Nødtilgangspunkt
footway: Gangsti footway: Gangsti
ford: Vadested
gate: Bom gate: Bom
living_street: Gatetun
minor: Mindre vei minor: Mindre vei
motorway: Motorvei motorway: Motorvei
motorway_junction: Motorveikryss motorway_junction: Motorveikryss
motorway_link: Vei til motorvei
path: Sti path: Sti
pedestrian: Gangvei pedestrian: Gangvei
platform: Perrong
primary: Primær vei primary: Primær vei
primary_link: Primær vei primary_link: Primær vei
raceway: Racerbane
residential: Bolig residential: Bolig
road: Vei road: Vei
secondary: Sekundær vei secondary: Sekundær vei
secondary_link: Sekundær vei secondary_link: Sekundær vei
service: Tjenestevei service: Tjenestevei
services: Motorveitjenester
steps: Trapper steps: Trapper
stile: Stige
tertiary: Tertiær vei tertiary: Tertiær vei
track: Sti track: Sti
trail: Sti trail: Sti
@ -600,14 +611,19 @@
tower: Tårn tower: Tårn
wreck: Vrak wreck: Vrak
landuse: landuse:
allotments: Kolonihager
basin: Elveområde
brownfield: Tidligere industriområde
cemetery: Gravplass cemetery: Gravplass
commercial: Kommersielt område commercial: Kommersielt område
conservation: Fredet
construction: Kontruksjon construction: Kontruksjon
farm: Gård farm: Gård
farmland: Jordbruksland farmland: Jordbruksland
farmyard: Gårdstun farmyard: Gårdstun
forest: Skog forest: Skog
grass: Gress grass: Gress
greenfield: Ikke-utviklet område
industrial: Industriområde industrial: Industriområde
landfill: Landfylling landfill: Landfylling
meadow: Eng meadow: Eng
@ -616,11 +632,15 @@
mountain: Fjell mountain: Fjell
nature_reserve: Naturreservat nature_reserve: Naturreservat
park: Park park: Park
piste: Løype
plaza: Torg
quarry: Steinbrudd quarry: Steinbrudd
railway: Jernbane railway: Jernbane
recreation_ground: Idrettsplass recreation_ground: Idrettsplass
reservoir: Reservoar reservoir: Reservoar
residential: Boligområde residential: Boligområde
retail: Detaljsalg
village_green: landsbypark
vineyard: Vingård vineyard: Vingård
wetland: Våtland wetland: Våtland
wood: Skog wood: Skog
@ -635,6 +655,7 @@
miniature_golf: Minigolf miniature_golf: Minigolf
nature_reserve: Naturreservat nature_reserve: Naturreservat
park: Park park: Park
pitch: Sportsarena
playground: Lekeplass playground: Lekeplass
recreation_ground: Idrettsplass recreation_ground: Idrettsplass
slipway: Slipp slipway: Slipp
@ -715,18 +736,24 @@
junction: Jernbanekryss junction: Jernbanekryss
light_rail: Bybane light_rail: Bybane
monorail: Enskinnebane monorail: Enskinnebane
narrow_gauge: Smalspor jernbane
platform: Jernbaneperrong platform: Jernbaneperrong
preserved: Bevart jernbane
spur: Jernbaneforgrening
station: Jernbanestasjon station: Jernbanestasjon
subway: T-banestasjon subway: T-banestasjon
subway_entrance: T-baneinngang subway_entrance: T-baneinngang
switch: Sporveksel
tram: Sporvei tram: Sporvei
tram_stop: Trikkestopp tram_stop: Trikkestopp
yard: Skiftetomt
shop: shop:
alcohol: Utenfor lisens alcohol: Utenfor lisens
apparel: Klesbutikk apparel: Klesbutikk
art: Kunstbutikk art: Kunstbutikk
bakery: Bakeri bakery: Bakeri
beauty: Skjønnhetssalong beauty: Skjønnhetssalong
beverages: Drikkevarerbutikk
bicycle: Sykkelbutikk bicycle: Sykkelbutikk
books: Bokhandel books: Bokhandel
butcher: Slakter butcher: Slakter
@ -739,6 +766,7 @@
chemist: Kjemiker chemist: Kjemiker
clothes: Klesbutikk clothes: Klesbutikk
computer: Databutikk computer: Databutikk
confectionery: Konditori
convenience: Nærbutikk convenience: Nærbutikk
copyshop: Kopieringsbutikk copyshop: Kopieringsbutikk
cosmetics: Kosmetikkforretning cosmetics: Kosmetikkforretning
@ -754,6 +782,7 @@
fish: Fiskebutikk fish: Fiskebutikk
florist: Blomsterbutikk florist: Blomsterbutikk
food: Matbutikk food: Matbutikk
funeral_directors: Begravelsesforretning
furniture: Møbler furniture: Møbler
gallery: Galleri gallery: Galleri
garden_centre: Hagesenter garden_centre: Hagesenter
@ -783,6 +812,7 @@
shoes: Skobutikk shoes: Skobutikk
shopping_centre: Kjøpesenter shopping_centre: Kjøpesenter
sports: Sportsbutikk sports: Sportsbutikk
stationery: Papirbutikk
supermarket: Supermarked supermarket: Supermarked
toys: Lekebutikk toys: Lekebutikk
travel_agency: Reisebyrå travel_agency: Reisebyrå
@ -810,16 +840,25 @@
viewpoint: Utsiktspunkt viewpoint: Utsiktspunkt
zoo: Dyrepark zoo: Dyrepark
waterway: waterway:
boatyard: Båthan
canal: Kanal canal: Kanal
connector: Vannveiforbindelse
dam: Demning dam: Demning
ditch: Grøft ditch: Grøft
dock: Dokk dock: Dokk
drain: Avløp
lock: Sluse
lock_gate: Sluseport
mineral_spring: Mineralkilde
mooring: Fortøyning mooring: Fortøyning
rapids: Stryk rapids: Stryk
river: Elv river: Elv
riverbank: Elvebredd riverbank: Elvebredd
stream: Strøm stream: Strøm
wadi: Elveleie
water_point: Vannpunkt
waterfall: Foss waterfall: Foss
weir: Overløpskant \
javascripts: javascripts:
map: map:
base: base:
@ -841,8 +880,6 @@
export_tooltip: Eksporter kartdata export_tooltip: Eksporter kartdata
gps_traces: GPS-spor gps_traces: GPS-spor
gps_traces_tooltip: Behandle GPS-spor gps_traces_tooltip: Behandle GPS-spor
help_wiki: Hjelp &amp; Wiki
help_wiki_tooltip: Hjelp- &amp; Wiki-side for prosjektet
history: Historikk history: Historikk
home: hjem home: hjem
home_tooltip: Gå til hjemmeposisjon home_tooltip: Gå til hjemmeposisjon
@ -1121,15 +1158,17 @@
shortlink: Kort lenke shortlink: Kort lenke
key: key:
map_key: Kartforklaring map_key: Kartforklaring
map_key_tooltip: Kartforklaring for Mapnik-visninen på dette zoom-nivået map_key_tooltip: Kartforklaring for Mapnik-visningen på dette zoom-nivået
table: table:
entry: entry:
admin: Administrativ grense admin: Administrativ grense
allotments: Kolonihager
apron: apron:
- terminal - terminal
- terminal - terminal
bridge: Sort kant = bru bridge: Sort kant = bru
bridleway: Ridevei bridleway: Ridevei
brownfield: Tidligere industriområde
building: Viktig bygning building: Viktig bygning
byway: Stikkvei byway: Stikkvei
cable: cable:
@ -1148,6 +1187,7 @@
footway: Gangvei footway: Gangvei
forest: Skog forest: Skog
golf: Golfbane golf: Golfbane
heathland: Heilandskap
industrial: Industriområde industrial: Industriområde
lake: lake:
- Innsjø - Innsjø
@ -1156,12 +1196,13 @@
motorway: Motorvei motorway: Motorvei
park: Park park: Park
permissive: Betinget tilgang permissive: Betinget tilgang
pitch: Sportsarena
primary: Primær vei primary: Primær vei
private: Privat tilgang private: Privat tilgang
rail: Jernbane rail: Jernbane
reserve: Naturreservat reserve: Naturreservat
resident: Boligområde resident: Boligområde
retail: Militært område retail: Detaljsalgområde
runway: runway:
- Flystripe - Flystripe
- taksebane - taksebane
@ -1359,6 +1400,9 @@
empty: Ingen samsvarende brukere funnet empty: Ingen samsvarende brukere funnet
heading: Brukere heading: Brukere
hide: Skjul valgte brukere hide: Skjul valgte brukere
showing:
one: Viser side {{page}} ({{page}} av {{page}})
other: Viser side {{page}} ({{page}}-{{page}} av {{page}})
summary: "{{name}} opprettet fra {{ip_address}} den {{date}}" summary: "{{name}} opprettet fra {{ip_address}} den {{date}}"
summary_no_ip: "{{name}} opprettet {{date}}" summary_no_ip: "{{name}} opprettet {{date}}"
title: Brukere title: Brukere
@ -1371,6 +1415,7 @@
heading: Logg inn heading: Logg inn
login_button: Logg inn login_button: Logg inn
lost password link: Mistet passordet ditt? lost password link: Mistet passordet ditt?
notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Finn ut mer om OpenStreetMap sitt kommende bytte av lisens</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">oversettelser</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskusjon</a>)
password: "Passord:" password: "Passord:"
please login: Logg inn eller {{create_user_link}}. please login: Logg inn eller {{create_user_link}}.
remember: "Huske meg:" remember: "Huske meg:"
@ -1446,6 +1491,7 @@
italy: Italia italy: Italia
rest_of_world: Resten av verden rest_of_world: Resten av verden
legale_select: "Velg ditt bostedsland:" legale_select: "Velg ditt bostedsland:"
read and accept: Les avtalen nedenfor og trykk godkjenningsknapp for å bekrefte at du godtar betingelsene i denne avtalen for dine eksisterende og kommende bidrag.
title: Bidragsytervilkår title: Bidragsytervilkår
view: view:
activate_user: aktiver denne brukeren activate_user: aktiver denne brukeren
@ -1577,6 +1623,7 @@
needs_view: Brukeren må logge inn før denne blokkeringen blir fjernet. needs_view: Brukeren må logge inn før denne blokkeringen blir fjernet.
reason: "Årsak for blokkering:" reason: "Årsak for blokkering:"
revoke: Tilbakekall! revoke: Tilbakekall!
revoker: "Tilbakekaller:"
show: Vis show: Vis
status: Status status: Status
time_future: Slutter om {{time}} time_future: Slutter om {{time}}

View file

@ -882,8 +882,6 @@ pl:
export_tooltip: Eksport danych mapy export_tooltip: Eksport danych mapy
gps_traces: Ślady GPS gps_traces: Ślady GPS
gps_traces_tooltip: Zarządzanie śladami GPS gps_traces_tooltip: Zarządzanie śladami GPS
help_wiki: Pomoc &amp; Wiki
help_wiki_tooltip: Pomoc i strony Wiki projektu
history: Zmiany history: Zmiany
home: główna home: główna
home_tooltip: Przejdź do strony głównej home_tooltip: Przejdź do strony głównej

View file

@ -901,9 +901,9 @@ pt-BR:
export_tooltip: Exportar dados do mapa export_tooltip: Exportar dados do mapa
gps_traces: Trilhas GPS gps_traces: Trilhas GPS
gps_traces_tooltip: Gerenciar trilhas GPS gps_traces_tooltip: Gerenciar trilhas GPS
help_wiki: Ajuda & Wiki help: Ajuda
help_wiki_tooltip: Ajuda &amp; Wiki do projeto help_and_wiki: "{{help}} & {{wiki}}"
help_wiki_url: http://wiki.openstreetmap.org/wiki/Pt-br:Main_Page?uselang=pt-br help_title: Site de ajuda para o projeto
history: Histórico history: Histórico
home: início home: início
home_tooltip: Ir para a sua localização home_tooltip: Ir para a sua localização
@ -950,6 +950,8 @@ 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
wiki: Wikia
wiki_title: Site wiki para o projeto
license_page: license_page:
foreign: foreign:
english_link: o original em Inglês english_link: o original em Inglês

View file

@ -12,6 +12,7 @@
# Author: Lockal # Author: Lockal
# Author: Yuri Nazarov # Author: Yuri Nazarov
# Author: Александр Сигачёв # Author: Александр Сигачёв
# Author: Сrower
ru: ru:
activerecord: activerecord:
attributes: attributes:
@ -892,9 +893,9 @@ ru:
export_tooltip: Экспортировать данные карты export_tooltip: Экспортировать данные карты
gps_traces: GPS-треки gps_traces: GPS-треки
gps_traces_tooltip: Работать с GPS треками gps_traces_tooltip: Работать с GPS треками
help_wiki: Справка и вики help: Помощь
help_wiki_tooltip: Справка и вики-сайт проекта help_and_wiki: "{{help}} & {{wiki}}"
help_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Main_Page?uselang=ru help_title: Сайт помощи проекта
history: История history: История
home: домой home: домой
home_tooltip: Показать мой дом home_tooltip: Показать мой дом
@ -934,6 +935,8 @@ ru:
view_tooltip: Посмотреть карту view_tooltip: Посмотреть карту
welcome_user: Добро пожаловать, {{user_link}} welcome_user: Добро пожаловать, {{user_link}}
welcome_user_link_tooltip: Ваша страница пользователя welcome_user_link_tooltip: Ваша страница пользователя
wiki: Вики
wiki_title: Вики-сайт проекта
license_page: license_page:
foreign: foreign:
english_link: английского оригинала english_link: английского оригинала
@ -1067,6 +1070,7 @@ ru:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Подтвердите ваш адрес электронной почты" subject: "[OpenStreetMap] Подтвердите ваш адрес электронной почты"
signup_confirm_html: signup_confirm_html:
ask_questions: Вы можете задать интересующие Вас вопросы о OpenStreetMap на нашем <a href="http://help.openstreetmap.org/">сайте вопросов и ответов</a> .
click_the_link: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить регистрацию и просмотреть дополнительную информацию об OpenStreetMap click_the_link: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить регистрацию и просмотреть дополнительную информацию об OpenStreetMap
current_user: "Список пользователей, основанный на их местоположении, доступен здесь: <a href=\"http://wiki.openstreetmap.org/index.php?title=Category:Users_by_geographical_region&uselang=ru\">Category:Users_by_geographical_region</a>." current_user: "Список пользователей, основанный на их местоположении, доступен здесь: <a href=\"http://wiki.openstreetmap.org/index.php?title=Category:Users_by_geographical_region&uselang=ru\">Category:Users_by_geographical_region</a>."
get_reading: Прочтите об OpenStreetMap в <a href="http://wiki.openstreetmap.org/index.php?title=RU:Beginners_Guide&uselang=ru">вики</a>, узнайте последние новости в <a href="http://blog.openstreetmap.org/">блоге OpenStreetMap</a> или в <a href="http://twitter.com/openstreetmap">Twitter</a>. Ознакомьтесь с историей проекта в <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, автором которого является Стив Коуст (Steve Coast), основатель OpenStreetMap, в этом блоге есть <a href="http://www.opengeodata.org/?cat=13">подкасты</a>, которые также можно прослушать! get_reading: Прочтите об OpenStreetMap в <a href="http://wiki.openstreetmap.org/index.php?title=RU:Beginners_Guide&uselang=ru">вики</a>, узнайте последние новости в <a href="http://blog.openstreetmap.org/">блоге OpenStreetMap</a> или в <a href="http://twitter.com/openstreetmap">Twitter</a>. Ознакомьтесь с историей проекта в <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, автором которого является Стив Коуст (Steve Coast), основатель OpenStreetMap, в этом блоге есть <a href="http://www.opengeodata.org/?cat=13">подкасты</a>, которые также можно прослушать!
@ -1079,6 +1083,7 @@ ru:
video_to_openstreetmap: ознакомительное видео об OpenStreetMap video_to_openstreetmap: ознакомительное видео об OpenStreetMap
wiki_signup: Вы можете <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Ru:Main_Page&uselang=ru">зарегистрироваться в вики OpenStreetMap</a>. wiki_signup: Вы можете <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Ru:Main_Page&uselang=ru">зарегистрироваться в вики OpenStreetMap</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Вы можете задать интересующие Вас вопросы об OpenStreetMap на нашем сайте вопросов и ответов:"
blog_and_twitter: "Ознакомиться с последними новостями через блог OpenStreetMap или Twitter:" blog_and_twitter: "Ознакомиться с последними новостями через блог OpenStreetMap или Twitter:"
click_the_link_1: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить click_the_link_1: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить
click_the_link_2: регистрацию и прочитать больше об OpenStreetMap. click_the_link_2: регистрацию и прочитать больше об OpenStreetMap.

View file

@ -829,8 +829,6 @@ sk:
export_tooltip: Export mapových dát export_tooltip: Export mapových dát
gps_traces: GPS Stopy gps_traces: GPS Stopy
gps_traces_tooltip: Správa GPS stopy gps_traces_tooltip: Správa GPS stopy
help_wiki: Pomocník &amp; Wiki
help_wiki_tooltip: Help &amp; Wiki stránka projektu
history: História history: História
home: domov home: domov
home_tooltip: Choďte na domácu polohu home_tooltip: Choďte na domácu polohu

View file

@ -479,9 +479,6 @@ sl:
export_tooltip: Izvozite podatke zemljevida export_tooltip: Izvozite podatke zemljevida
gps_traces: GPS sledi gps_traces: GPS sledi
gps_traces_tooltip: Upravljaj sledi GPS gps_traces_tooltip: Upravljaj sledi GPS
help_wiki: Pomoč in Wiki
help_wiki_tooltip: Pomoč in Wiki strani projekta
help_wiki_url: http://wiki.openstreetmap.org/wiki/Sl:Main_Page?uselang=sl
history: Zgodovina history: Zgodovina
home: domov home: domov
home_tooltip: Prikaži domači kraj home_tooltip: Prikaži domači kraj

File diff suppressed because one or more lines are too long

View file

@ -683,8 +683,12 @@ sv:
cycle_map: Cykelkarta cycle_map: Cykelkarta
noname: NoName noname: NoName
site: site:
edit_disabled_tooltip: Zooma in för att redigera kartan
edit_tooltip: Redigera kartan
edit_zoom_alert: Du måste zooma in för att kunna ändra kartan edit_zoom_alert: Du måste zooma in för att kunna ändra kartan
history_zoom_alert: Du måste zooma in för att kunna se karterings historik. history_disabled_tooltip: Zooma in för att kunna se karteringshistorik för detta område
history_tooltip: Visa ändringar för detta område
history_zoom_alert: Du måste zooma in för att kunna se karteringshistorik.
layouts: layouts:
donate: Donera till OpenStreetMap via {{link}} till hårdvaruuppgraderingsfonden. donate: Donera till OpenStreetMap via {{link}} till hårdvaruuppgraderingsfonden.
donate_link_text: donera donate_link_text: donera
@ -692,9 +696,7 @@ sv:
export: Exportera export: Exportera
export_tooltip: Exportera kartdata som bild eller rådata export_tooltip: Exportera kartdata som bild eller rådata
gps_traces: GPS-spår gps_traces: GPS-spår
gps_traces_tooltip: Hantera spår gps_traces_tooltip: Visa, ladda upp och ändra GPS-spår.
help_wiki: Hjälp &amp; wiki
help_wiki_tooltip: Hjälp och wiki för projektet
history: Historik history: Historik
home: hem home: hem
home_tooltip: Gå till hempositionen home_tooltip: Gå till hempositionen
@ -878,6 +880,7 @@ sv:
map_key: Kartnyckel map_key: Kartnyckel
table: table:
entry: entry:
admin: Administrativ gräns
allotments: Koloniträdgårdar allotments: Koloniträdgårdar
apron: apron:
- Flygplatsterminal - Flygplatsterminal
@ -931,7 +934,7 @@ sv:
heading: Symbolförklaring för z{{zoom_level}} heading: Symbolförklaring för z{{zoom_level}}
search: search:
search: Sök search: Sök
search_help: "exempel: 'Delsbo', 'Storgatan, Svedala', 'post offices near Hässelby' <a href='http://wiki.openstreetmap.org/wiki/Sv:Search'>Fler exempel..</a>" search_help: "exempel: 'Delsbo', 'Storgatan, Svedala', <a href='http://wiki.openstreetmap.org/wiki/Sv:Search'>Fler exempel..</a>"
submit_text: submit_text:
where_am_i: Var är jag where_am_i: Var är jag
sidebar: sidebar:

View file

@ -889,9 +889,6 @@ uk:
export_tooltip: Експортувати картографічні дані export_tooltip: Експортувати картографічні дані
gps_traces: GPS-треки gps_traces: GPS-треки
gps_traces_tooltip: Управління GPS треками gps_traces_tooltip: Управління GPS треками
help_wiki: Довідка та Вікі
help_wiki_tooltip: Довідка та Вікі проекту
help_wiki_url: http://wiki.openstreetmap.org/wiki/Uk:Main_Page?uselang=uk
history: Історія history: Історія
home: додому home: додому
home_tooltip: Показати моє місце знаходження home_tooltip: Показати моє місце знаходження

View file

@ -796,9 +796,9 @@ vi:
export_tooltip: Xuất dữ liệu bản đồ export_tooltip: Xuất dữ liệu bản đồ
gps_traces: Tuyến đường GPS gps_traces: Tuyến đường GPS
gps_traces_tooltip: Quản lý tuyến đường GPS gps_traces_tooltip: Quản lý tuyến đường GPS
help_wiki: Trợ giúp &amp; Wiki help: Trợ giúp
help_wiki_tooltip: Site trợ giúp &amp; wiki của dự án help_and_wiki: "{{help}} & {{wiki}}"
help_wiki_url: http://wiki.openstreetmap.org/wiki/Vi:Main_Page?uselang=vi help_title: Trang trợ giúp của dự án
history: Lịch sử history: Lịch sử
home: nhà home: nhà
home_tooltip: Về vị trí nhà home_tooltip: Về vị trí nhà
@ -840,6 +840,8 @@ 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
wiki: Wiki
wiki_title: Trang wiki của dự án
license_page: license_page:
foreign: foreign:
english_link: nguyên bản tiếng Anh english_link: nguyên bản tiếng Anh
@ -973,6 +975,7 @@ vi:
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Xác nhận địa chỉ thư điện tử của bạn" subject: "[OpenStreetMap] Xác nhận địa chỉ thư điện tử của bạn"
signup_confirm_html: signup_confirm_html:
ask_questions: Có thể đặt bất kỳ câu hỏi mà bạn có về OpenStreetMap tại <a href="http://help.openstreetmap.org/">trang hỏi đáp</a>.
click_the_link: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để xác nhân tài khoản đó và đọc tiếp để tìm hiểu thêm về OpenStreetMap. click_the_link: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để xác nhân tài khoản đó và đọc tiếp để tìm hiểu thêm về OpenStreetMap.
current_user: Có danh sách các người dùng, xếp thể loại theo nơi ở, tại <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region?uselang=vi">Category:Users by geographical region</a>. current_user: Có danh sách các người dùng, xếp thể loại theo nơi ở, tại <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region?uselang=vi">Category:Users by geographical region</a>.
get_reading: Bắt đầu tìm hiểu về OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Vi:Beginners%27_Guide?uselang=vi">tại wiki</a>, theo dõi tin tức gần đây tại <a href="http://blog.openstreetmap.org/">blog OpenGeoData</a> hay <a href="http://twitter.com/openstreetmap">Twitter</a>, hoặc đọc <a href="http://www.opengeodata.org/">blog</a> và nghe <a href="http://www.opengeodata.org/?cat=13">podcast</a> của nhà sáng lập Steve Coast! get_reading: Bắt đầu tìm hiểu về OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Vi:Beginners%27_Guide?uselang=vi">tại wiki</a>, theo dõi tin tức gần đây tại <a href="http://blog.openstreetmap.org/">blog OpenGeoData</a> hay <a href="http://twitter.com/openstreetmap">Twitter</a>, hoặc đọc <a href="http://www.opengeodata.org/">blog</a> và nghe <a href="http://www.opengeodata.org/?cat=13">podcast</a> của nhà sáng lập Steve Coast!
@ -985,6 +988,7 @@ vi:
video_to_openstreetmap: video giới thiệu về OpenStreetMap video_to_openstreetmap: video giới thiệu về OpenStreetMap
wiki_signup: Có lẽ bạn cũng muốn <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Vi:Main_Page&uselang=vi">mở tài khoản ở wiki OpenStreetMap</a>. wiki_signup: Có lẽ bạn cũng muốn <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Vi:Main_Page&uselang=vi">mở tài khoản ở wiki OpenStreetMap</a>.
signup_confirm_plain: signup_confirm_plain:
ask_questions: "Có thể đặt bất kỳ câu hỏi mà bạn có về OpenStreetMap tại trang hỏi đáp:"
blog_and_twitter: "Theo dõi tin tức gần đây tại blog OpenStreetMap và Twitter:" blog_and_twitter: "Theo dõi tin tức gần đây tại blog OpenStreetMap và Twitter:"
click_the_link_1: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để click_the_link_1: Nếu bạn là người đó, hoan nghênh! Xin hãy nhấn chuột vào liên kết ở dưới để
click_the_link_2: xác nhận tài khoản của bạn và đọc tiếp để tìm hiểu thêm về OpenStreetMap. click_the_link_2: xác nhận tài khoản của bạn và đọc tiếp để tìm hiểu thêm về OpenStreetMap.

View file

@ -269,7 +269,6 @@ zh-CN:
export_tooltip: 输出地图数据 export_tooltip: 输出地图数据
gps_traces: GPS 追踪 gps_traces: GPS 追踪
gps_traces_tooltip: 管理追踪 gps_traces_tooltip: 管理追踪
help_wiki: 帮助 &amp; Wiki
history: 历史 history: 历史
home: 主页 home: 主页
home_tooltip: 回到主页位置 home_tooltip: 回到主页位置

View file

@ -454,8 +454,6 @@ zh-TW:
export_tooltip: 匯出地圖資料 export_tooltip: 匯出地圖資料
gps_traces: GPS 軌跡 gps_traces: GPS 軌跡
gps_traces_tooltip: 管理 GPS 軌跡 gps_traces_tooltip: 管理 GPS 軌跡
help_wiki: 求助 &amp; Wiki
help_wiki_tooltip: 本計畫的求助 &amp; Wiki 網站
history: 歷史 history: 歷史
home: home:
home_tooltip: 移至家位置 home_tooltip: 移至家位置

View file

@ -24,4 +24,3 @@ police amenity=police
place_of_worship amenity=place_of_worship place_of_worship amenity=place_of_worship
museum tourism=museum museum tourism=museum
school amenity=school school amenity=school
disaster building=yes;earthquake_damage=(type damage here)

View file

@ -1,6 +1,7 @@
# Messages for Czech (Česky) # Messages for Czech (Česky)
# Exported from translatewiki.net # Exported from translatewiki.net
# Export driver: syck # Export driver: syck
# Author: Mormegil
cs: cs:
a_poi: $1 bod zájmu a_poi: $1 bod zájmu
a_way: $1 cestu a_way: $1 cestu
@ -56,7 +57,7 @@ cs:
prompt_launch: Otevřít externí webovou adresu? prompt_launch: Otevřít externí webovou adresu?
prompt_revertversion: "Vrátit se ke dříve uložené verzi:" prompt_revertversion: "Vrátit se ke dříve uložené verzi:"
prompt_savechanges: Uložit změny prompt_savechanges: Uložit změny
prompt_taggedpoints: Některé uzle této cesty mají tagy, opravdu smazat? prompt_taggedpoints: Některé body na této cestě jsou označené nebo v relacích. Opravdu smazat?
prompt_track: Převede vaši GPS stopu na (uzamčené) cesty, které následně můžete upravit. prompt_track: Převede vaši GPS stopu na (uzamčené) cesty, které následně můžete upravit.
prompt_welcome: Vítejte na OpenStreetMap prompt_welcome: Vítejte na OpenStreetMap
save: Uložit změny save: Uložit změny
@ -66,7 +67,7 @@ cs:
tip_anticlockwise: Proti směru hodinových ručiček (kliknutím otočíte směr kruhové cesty) tip_anticlockwise: Proti směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
tip_clockwise: Po směru hodinových ručiček (kliknutím otočíte směr kruhové cesty) tip_clockwise: Po směru hodinových ručiček (kliknutím otočíte směr kruhové cesty)
tip_direction: Směr cesty (kliknutím otočíte) tip_direction: Směr cesty (kliknutím otočíte)
tip_gps: Zobrazit GPX stopy (GPS logy) (G) tip_gps: Zobrazit GPS stopy (G)
tip_noundo: Není, co vzít zpět tip_noundo: Není, co vzít zpět
tip_options: Možnosti (vyberte si mapu na pozadí) tip_options: Možnosti (vyberte si mapu na pozadí)
tip_presettype: Zvolit skupinu předvoleb v menu. tip_presettype: Zvolit skupinu předvoleb v menu.

View file

@ -2,6 +2,7 @@
# Exported from translatewiki.net # Exported from translatewiki.net
# Export driver: syck # Export driver: syck
# Author: Mvrban # Author: Mvrban
# Author: SpeedyGonsales
hr: hr:
a_poi: $1 POI (točka interesa) a_poi: $1 POI (točka interesa)
a_way: $1 put a_way: $1 put
@ -64,8 +65,8 @@ hr:
emailauthor: \n\nMolim pošalji e-mail richard\@systemeD.net sa izvješćem o bug-u, recite što ste radili u to vrijeme. emailauthor: \n\nMolim pošalji e-mail richard\@systemeD.net sa izvješćem o bug-u, recite što ste radili u to vrijeme.
error_anonymous: Ne možete kontaktirati anonimnog mappera. error_anonymous: Ne možete kontaktirati anonimnog mappera.
error_connectionfailed: Žao mi je, veza sa OpenstreetMap serverom nije uspjela. Neke nedavne promjene nisu spremljene.\n\nŽelite li pokušati ponovno? error_connectionfailed: Žao mi je, veza sa OpenstreetMap serverom nije uspjela. Neke nedavne promjene nisu spremljene.\n\nŽelite li pokušati ponovno?
error_microblog_long: "Slanje na $1 nije uspjelo:\nHTTP code: $2\nPoruka o grešci: $3\n$1 greška: $4" error_microblog_long: "Slanje na $1 nije uspjelo:\nHTTP kod pogreške: $2\nTekst pogreške: $3\n$1 pogreška: $4"
error_nopoi: POI se ne može naći (možda ste pomakli kartu), tako da nemogu poništiti. error_nopoi: POI se ne može naći (možda ste pomakli kartu), tako da ne mogu poništiti.
error_nosharedpoint: Putevi $1 i $2 više ne dijele zajedničku točku, pa se ne mogu razdvojiti. error_nosharedpoint: Putevi $1 i $2 više ne dijele zajedničku točku, pa se ne mogu razdvojiti.
error_noway: Put $1 se ne može pronaći (možda ste pomakli kartu?), pa ne mogu poništiti. error_noway: Put $1 se ne može pronaći (možda ste pomakli kartu?), pa ne mogu poništiti.
error_readfailed: Žao mi je, OpenStreetMap server nije reagirao kada je bio upitan za podatke.\n\nŽelite li pokušati ponovno? error_readfailed: Žao mi je, OpenStreetMap server nije reagirao kada je bio upitan za podatke.\n\nŽelite li pokušati ponovno?
@ -129,19 +130,22 @@ hr:
option_layer_ooc_25k: UK povijesni 1:25k option_layer_ooc_25k: UK povijesni 1:25k
option_layer_ooc_7th: "UK povijesni: 7th" option_layer_ooc_7th: "UK povijesni: 7th"
option_layer_ooc_npe: "UK povijesni: NPE" option_layer_ooc_npe: "UK povijesni: NPE"
option_layer_ooc_scotland: "UK povijesni: Škotska"
option_layer_os_streetview: "UK: OS pregled ulica"
option_layer_streets_haiti: "Haiti: imena ulica" option_layer_streets_haiti: "Haiti: imena ulica"
option_layer_surrey_air_survey: "UK: Surrey fotografije iz zraka"
option_layer_tip: Izaberite pozadinu za prikaz option_layer_tip: Izaberite pozadinu za prikaz
option_limitways: Upozori kada se učitava puno podataka option_limitways: Upozori kada se učitava puno podataka
option_microblog_id: "Naziv Microbloga:" option_microblog_id: "Naziv Microbloga:"
option_microblog_pwd: "Microblog lozinka:" option_microblog_pwd: "Microblog lozinka:"
option_noname: Osvjetli neimenovane ceste option_noname: Osvjetli neimenovane ceste
option_photo: "Fotografija KML:" option_photo: "Fotografija KML:"
option_thinareas: Koristi take linije za područja option_thinareas: Koristi tanke linije za područja
option_thinlines: Koristi tanke linije u svim uvećanjima option_thinlines: Koristi tanke linije u svim uvećanjima
option_tiger: Osvjetli nepromjenjeni TIGER option_tiger: Osvjetli nepromjenjeni TIGER
option_warnings: Prikaži plutajuća upozorenja option_warnings: Prikaži plutajuća upozorenja
point: Točka point: Točka
preset_icon_airport: Aerodrom preset_icon_airport: Zračna luka
preset_icon_bar: Bar preset_icon_bar: Bar
preset_icon_bus_stop: Autobusno stajalište preset_icon_bus_stop: Autobusno stajalište
preset_icon_cafe: Caffe bar preset_icon_cafe: Caffe bar
@ -189,7 +193,7 @@ hr:
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_backtolist: Povratak na popis
tags_descriptions: Opisi '$1' tags_descriptions: Opisi '$1'
tags_findatag: Pronađi oznaku (tag) tags_findatag: Pronađi oznaku (tag)
tags_findtag: Pronađi oznaku (tag) tags_findtag: Pronađi oznaku (tag)
@ -217,8 +221,8 @@ hr:
uploading_deleting_ways: Brišem puteve uploading_deleting_ways: Brišem puteve
uploading_poi: Uploadiram POI $1 uploading_poi: Uploadiram POI $1
uploading_poi_name: Uploadiram POI $1, $2 uploading_poi_name: Uploadiram POI $1, $2
uploading_relation: Upoloadiram relaciju $1 uploading_relation: Snimam relaciju $1 na poslužitelj
uploading_relation_name: Uploadiram relaciju $1, $2 uploading_relation_name: Snimam relaciju $1, $2 na poslužitelj
uploading_way: Uploadiram put $1 uploading_way: Uploadiram put $1
uploading_way_name: Uploadiram put $1, $2 uploading_way_name: Uploadiram put $1, $2
warning: Upozorenje! warning: Upozorenje!

View file

@ -5,8 +5,10 @@
lb: lb:
a_way: $1 ee Wee a_way: $1 ee Wee
action_deletepoint: e Punkt läschen action_deletepoint: e Punkt läschen
action_mergeways: Zwee Weeër zesummeleeën
action_movepoint: e Punkt réckelen action_movepoint: e Punkt réckelen
action_splitway: e Wee opdeelen action_splitway: e Wee opdeelen
advanced: Erweidert
advanced_inspector: Inspekter advanced_inspector: Inspekter
advanced_maximise: Fënster maximéieren advanced_maximise: Fënster maximéieren
advanced_minimise: Fënster minimiséieren advanced_minimise: Fënster minimiséieren
@ -22,12 +24,16 @@ lb:
delete: Läschen delete: Läschen
deleting: läschen deleting: läschen
heading_drawing: Zeechnen heading_drawing: Zeechnen
heading_introduction: Aféierung
help: Hëllef help: Hëllef
hint_loading: Donnéeë lueden
inspector: Inspekter inspector: Inspekter
inspector_duplicate: Doublon vu(n)
inspector_locked: Gespaart inspector_locked: Gespaart
inspector_node_count: ($1 mol) inspector_node_count: ($1 mol)
inspector_unsaved: Net gespäichert inspector_unsaved: Net gespäichert
inspector_uploading: (eroplueden) inspector_uploading: (eroplueden)
inspector_way_nodes: $1 Kniet
loading: Lueden... loading: Lueden...
login_pwd: "Passwuert:" login_pwd: "Passwuert:"
login_uid: "Benotzernumm:" login_uid: "Benotzernumm:"
@ -37,10 +43,15 @@ lb:
offset_motorway: Autobunn (D3) offset_motorway: Autobunn (D3)
ok: OK ok: OK
option_layer_cycle_map: OSM - Vëloskaart option_layer_cycle_map: OSM - Vëloskaart
option_layer_nearmap: "Australien: NearMap"
option_layer_os_streetview: "UK : OS StreetView"
option_layer_streets_haiti: "Haiti: Stroossennimm" option_layer_streets_haiti: "Haiti: Stroossennimm"
option_photo: "Foto-KML:" option_photo: "Foto-KML:"
point: Punkt
preset_icon_airport: Fluchhafen preset_icon_airport: Fluchhafen
preset_icon_bar: Bar preset_icon_bar: Bar
preset_icon_bus_stop: Busarrêt
preset_icon_cafe: Café
preset_icon_cinema: Kino preset_icon_cinema: Kino
preset_icon_disaster: Haiti Gebai preset_icon_disaster: Haiti Gebai
preset_icon_ferry_terminal: Fähr preset_icon_ferry_terminal: Fähr
@ -50,24 +61,40 @@ lb:
preset_icon_museum: Musée preset_icon_museum: Musée
preset_icon_parking: Parking preset_icon_parking: Parking
preset_icon_pharmacy: Apdikt preset_icon_pharmacy: Apdikt
preset_icon_police: Policebüro
preset_icon_post_box: Bréifboîte
preset_icon_pub: Bistro preset_icon_pub: Bistro
preset_icon_recycling: Recyclage
preset_icon_restaurant: Restaurant preset_icon_restaurant: Restaurant
preset_icon_school: Schoul preset_icon_school: Schoul
preset_icon_station: Gare preset_icon_station: Gare
preset_icon_supermarket: Supermarché preset_icon_supermarket: Supermarché
preset_icon_telephone: Telefon preset_icon_telephone: Telefon
preset_icon_theatre: Theater preset_icon_theatre: Theater
prompt_addtorelation: $1 bäi eng Relatioun derbäisetzen
prompt_changesetcomment: "Gitt eng Beschreiwung vun Ären Ännerungen:" prompt_changesetcomment: "Gitt eng Beschreiwung vun Ären Ännerungen:"
prompt_editlive: Live änneren
prompt_editsave: Mat späicheren änneren
prompt_helpavailable: Neie Benotzer? Kuckt ënne lenks fir Hëllef.
prompt_launch: Extern URL opmaachen
prompt_revertversion: "Op eng méi fréi gespäichert Versioun zerécksetzen:"
prompt_savechanges: Ännerunge späicheren prompt_savechanges: Ännerunge späicheren
prompt_welcome: Wëllkomm op OpenStreetMap!
retry: Nach eng Kéier probéieren retry: Nach eng Kéier probéieren
revert: Zrécksetzen revert: Zrécksetzen
save: Späicheren save: Späicheren
tags_backtolist: Zréck op d'Lëscht tags_backtolist: Zréck op d'Lëscht
tags_descriptions: Beschreiwunge vu(n) '$1' tags_descriptions: Beschreiwunge vu(n) '$1'
tip_alert: Et ass e Feeler geschitt - klickt hei fir weider Detailer
tip_options: Optiounen astellen (Sicht den Hannergrond vun der Kaart eraus)
tip_photo: Fotoe lueden tip_photo: Fotoe lueden
tip_undo: $1 réckgängeg maachen (Z)
uploading: Eroplueden... uploading: Eroplueden...
uploading_deleting_ways: Weeër läschen uploading_deleting_ways: Weeër läschen
uploading_poi: POI $1 eroplueden
uploading_poi_name: POI $1, $2 eroplueden
uploading_relation: Realtioun $1 eroplueden uploading_relation: Realtioun $1 eroplueden
uploading_way: Wee $1 eroplueden
warning: Warnung warning: Warnung
way: Wee way: Wee
"yes": Jo "yes": Jo

File diff suppressed because one or more lines are too long

View file

@ -2,6 +2,7 @@
# Exported from translatewiki.net # Exported from translatewiki.net
# Export driver: syck # Export driver: syck
# Author: BraulioBezerra # Author: BraulioBezerra
# Author: Giro720
# Author: Luckas Blade # Author: Luckas Blade
# Author: Nighto # Author: Nighto
# Author: Rodrigo Avila # Author: Rodrigo Avila
@ -197,7 +198,7 @@ pt-BR:
prompt_manyways: Esta área contém muitos detalhes e demorará muito para carregar. Você prefere aproximar? prompt_manyways: Esta área contém muitos detalhes e demorará muito para carregar. Você prefere aproximar?
prompt_microblog: Enviando para $1 ($2 restantes) prompt_microblog: Enviando para $1 ($2 restantes)
prompt_revertversion: "Reverter para versão anterior:" prompt_revertversion: "Reverter para versão anterior:"
prompt_savechanges: Salvar mudanças prompt_savechanges: Salvar alterações
prompt_taggedpoints: Alguns pontos tem etiquetas ou pertencem a uma relação. Quer realmente apagá-los? prompt_taggedpoints: Alguns pontos tem etiquetas ou pertencem a uma relação. Quer realmente apagá-los?
prompt_track: Converta a sua trilha GPS para caminhos (trancados) a serem editados. prompt_track: Converta a sua trilha GPS para caminhos (trancados) a serem editados.
prompt_unlock: Clique para desbloquear prompt_unlock: Clique para desbloquear

View file

@ -0,0 +1,155 @@
# Messages for Rusyn (Русиньскый)
# Exported from translatewiki.net
# Export driver: syck
# Author: Gazeb
rue:
a_poi: $1 обєкту (POI)
a_way: $1 лінію
action_changeway: зміны в лінії
action_createpoi: створїня обєкту (POI)
action_insertnode: придаваня узла до лінії
action_mergeways: злучіня двох ліній
action_movepoi: пересуваня обєкту (POI)
action_moveway: пересуваня лінії
action_pointtags: наставлїня таґів на точку
action_reverseway: зміна напрямкы лінії
action_revertway: навернутя лінії
action_waytags: наставлїня таґів на лінію
advanced: Росшырене
advanced_close: Заперти саду змін
advanced_history: Історія лінії
advanced_inspector: Іншпектор
advanced_maximise: Максімалізовати окно
advanced_minimise: Мінімалізовати окно
advanced_parallel: Паралелна лінія
advanced_undelete: Обновити
advice_deletingpoi: Вымазаня обєкту (POI) (Z про зрушіня)
advice_deletingway: Вымазаня лінії (Z про зрушіня)
advice_revertingway: Навернутя до послїднёй уложеной лінії (Z про назад)
advice_toolong: Дуже довге про одомкнутя - просиме роздїльте до куртшых ліній
advice_uploadsuccess: Вшыткы дата успішно награты на сервер
cancel: Зрушыти
closechangeset: Заперти саду змін
conflict_poichanged: Потім, як сьте зачали едітованя, хтось змінив точку $1$2.
conflict_relchanged: Потім, як сьте зачали едітованя, хтось змінив звязок $1$2.
conflict_visitway: Стисните 'ОК', про вказаня лінії.
conflict_waychanged: Потім, як сьте зачали едітованя, хтось змінив лінію $1$2.
createrelation: Створити новый звязок
custom: "Шпеціалный:"
delete: Вымазати
editinglive: Едітованя нажыво
error_microblog_long: "Посыланя до $1 неможне:\nHTTP код: $2\nХыбове повідомлїня: $3\n$1 жыба: $4"
error_nopoi: Обєкт (POI) ся не нашов (може сьте посунули мапу?) — не дасть ся вернути назад.
error_nosharedpoint: Лінії $1 і $2 в сучасности не мають сполочну точку, также ся не можу вернути назад.
heading_drawing: Креслїня
heading_introduction: Вступ
heading_troubleshooting: Рїшіня проблему
help: Поміч
hint_drawmode: придайте точку кликнутём\nдвойклик/Enter\nукончіть лінію
hint_latlon: "шыр $1\nдов $2"
hint_overpoint: над точков ($1)\nкликнутём лінію напоїте
hint_pointselected: точка выбрана\n(Shift-ЛК на точці\nзачне нову лінію)
hint_saving: уложіня дат
inspector: Іншпектор
inspector_duplicate: Дуплікат
inspector_in_ways: В лініях
inspector_latlon: "Шыр $1\nДов $2"
inspector_locked: Замкнуто
inspector_node_count: ($1 раз)
inspector_unsaved: Неуложене
inspector_uploading: (награваня)
inspector_way_connects_to_principal: Споює з $1 $2 і $3 іншыма $4
inspector_way_nodes: $1 узлы
loading: Награваня...
login_pwd: "Гесло:"
login_retry: Ваше мено хоснователя не было розознане, Спробуйте іщі раз.
login_title: Не годен войти
login_uid: "Мено хоснователя:"
mail: Е.пошта
more: Іщі
"no": Нїт
nobackground: Без позадя
offset_broadcanal: Набережна шырокого каналу
offset_choose: Выбер офсету (м)
offset_motorway: Автомаґістрала (D3)
offset_narrowcanal: Набережна узкого каналу
ok: Най буде
openchangeset: Отворям саду змін
option_layer_cycle_map: OSM — цікло-мапа
option_layer_maplint: OSM — Maplint (хыбы)
option_layer_nearmap: "Австралія: NearMap"
option_layer_ooc_25k: "В.БРІТАНІЯ істор.: 1:25k"
option_layer_ooc_7th: "В.БРІТАНІЯ істор.: 1:7000"
option_layer_ooc_npe: "В.БРІТАНІЯ істор.: NPE"
option_layer_os_streetview: "В.БРІТАНІЯ: OS StreetView"
option_layer_streets_haiti: "Гаїті: назвы уліць"
option_layer_surrey_air_survey: "UK: Surrey Air Survey"
option_layer_tip: Выберте позадя
option_photo: "Фото KML:"
option_thinareas: Тонкы лінії про поліґоны
option_thinlines: Тонкы лінії у вшыткых мірках мап
option_tiger: Вказати незміненый TIGER
option_warnings: Вказати плаваючі варованя
point: Точка
preset_icon_airport: Летїско
preset_icon_bar: Бар
preset_icon_bus_stop: Автобусова заставка
preset_icon_cafe: Кафе
preset_icon_cinema: Кіно
preset_icon_disaster: Будова на Гаїті
preset_icon_fast_food: Швыдка страва
preset_icon_ferry_terminal: Паром
preset_icon_fire_station: Пожарна станіця
preset_icon_hospital: Шпыталь
preset_icon_hotel: Готел
preset_icon_museum: Музей
preset_icon_parking: Паркованя
preset_icon_pharmacy: Лїкарня
preset_icon_police: Поліція
preset_icon_post_box: Поштова схранка
preset_icon_pub: Корчма
preset_icon_recycling: Кош на смітя
preset_icon_restaurant: Рештаврація
preset_icon_school: Школа
preset_icon_station: Желїзнічна станіця
preset_icon_supermarket: Супермаркет
preset_icon_taxi: Таксі
preset_icon_telephone: Телефон
preset_icon_theatre: Театр
preset_tip: Выберте з меню шаблонів теаів, пописанім в $1
prompt_addtorelation: Придати $1 до звязку
prompt_changesetcomment: "Опиште вашы зміны:"
prompt_closechangeset: Заперти саду змін $1
prompt_createparallel: Створїня паралелной лінії
prompt_editlive: Едітованя нажыво
prompt_helpavailable: Новый хоснователь? Поміч найдете вправо долов.
prompt_launch: Отворити екстерну URL
prompt_manyways: Тота область є дуже подробна і буде довго єй награвати. Преферуєте приближыти єй?
prompt_revertversion: "Вернути ся ку скоре уложеній верзії:"
prompt_savechanges: Уложыти зміны
prompt_taggedpoints: Дакоры точкы на тій лінії мають таґы. Справды змазати?
prompt_welcome: Вітайте на OpenStreetMap!
retry: Повтор
revert: Вернути назад
save: Уложыти
tags_descriptions: Опис '$1'
tags_findatag: Найти таґ
tags_findtag: Найти таґ
tags_matching: Популарны таґы згодны з "$1"
tip_anticlockwise: Проти дразї годіновой ручкы (кликнутём зміните напрямку)
tip_clockwise: По дразї годіновой ручкы (кликнутём зміните напрямку)
tip_direction: Напрямок лінії — змінити на протилежный
tip_options: Можности (выберте собі мапу про позадя)
tip_photo: Награти фото
tip_repeattag: Наставити таґы передтым выбраной лінії(R)
tip_tidy: Вырівнати точкы у лінії (Т)
tip_undo: "Назад: $1 (Z)"
uploading: Награваня...
uploading_deleting_pois: Змазаня (POI)
uploading_deleting_ways: Змазаня ліній
uploading_poi: Награваня (POI) $1
uploading_poi_name: Награваня (POI) $1, $2
uploading_way_name: Награваня лінії $1, $2
warning: Позір!
way: Лінія
"yes": Гей

View file

@ -113,7 +113,6 @@ ActionController::Routing::Routes.draw do |map|
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'
map.connect '/export.html', :controller => 'site', :action => 'export' map.connect '/export.html', :controller => 'site', :action => 'export'
map.connect '/search.html', :controller => 'way_tag', :action => 'search'
map.connect '/login.html', :controller => 'user', :action => 'login' map.connect '/login.html', :controller => 'user', :action => 'login'
map.connect '/logout.html', :controller => 'user', :action => 'logout' map.connect '/logout.html', :controller => 'user', :action => 'logout'
map.connect '/create-account.html', :controller => 'user', :action => 'new' map.connect '/create-account.html', :controller => 'user', :action => 'new'

View file

@ -55,6 +55,7 @@ de:
man_made: DE:Key:man made man_made: DE:Key:man made
maxheight: DE:Key:maxheight maxheight: DE:Key:maxheight
maxspeed: DE:Key:maxspeed maxspeed: DE:Key:maxspeed
maxweight: DE:Key:maxweight
military: DE:Key:military military: DE:Key:military
mtb:scale: DE:Key:mtb:scale mtb:scale: DE:Key:mtb:scale
name: DE:Key:name name: DE:Key:name
@ -71,6 +72,7 @@ de:
railway: DE:Key:railway railway: DE:Key:railway
route: DE:Key:route route: DE:Key:route
sac_scale: DE:Key:sac scale sac_scale: DE:Key:sac scale
seamark: DE:Key:seamark
service: DE:Key:service service: DE:Key:service
shop: DE:Key:shop shop: DE:Key:shop
smoking: DE:Key:smoking smoking: DE:Key:smoking
@ -92,15 +94,19 @@ de:
amenity=baby_hatch: DE:Tag:amenity=baby hatch amenity=baby_hatch: DE:Tag:amenity=baby hatch
amenity=bank: DE:Tag:amenity=bank amenity=bank: DE:Tag:amenity=bank
amenity=bench: DE:Tag:amenity=bench amenity=bench: DE:Tag:amenity=bench
amenity=bicycle_rental: DE:Tag:amenity=bicycle rental
amenity=biergarten: DE:Tag:amenity=biergarten amenity=biergarten: DE:Tag:amenity=biergarten
amenity=bus_station: DE:Tag:amenity=bus station amenity=bus_station: DE:Tag:amenity=bus station
amenity=clock: DE:Tag:amenity=clock amenity=clock: DE:Tag:amenity=clock
amenity=compressed_air: DE:Tag:amenity=compressed air amenity=compressed_air: DE:Tag:amenity=compressed air
amenity=drinking_water: DE:Tag:amenity=drinking water amenity=drinking_water: DE:Tag:amenity=drinking water
amenity=emergency_phone: DE:Tag:amenity=emergency phone
amenity=fuel: DE:Tag:amenity=fuel amenity=fuel: DE:Tag:amenity=fuel
amenity=grit_bin: DE:Tag:amenity=grit bin amenity=grit_bin: DE:Tag:amenity=grit bin
amenity=hospital: DE:Tag:amenity=hospital amenity=hospital: DE:Tag:amenity=hospital
amenity=hunting_stand: DE:Tag:amenity=hunting stand
amenity=nightclub: DE:Tag:amenity=nightclub amenity=nightclub: DE:Tag:amenity=nightclub
amenity=nursing_home: DE:Tag:amenity=nursing home
amenity=parking: DE:Tag:amenity=parking amenity=parking: DE:Tag:amenity=parking
amenity=pharmacy: DE:Tag:amenity=pharmacy amenity=pharmacy: DE:Tag:amenity=pharmacy
amenity=place_of_worship: DE:Tag:amenity=place of worship amenity=place_of_worship: DE:Tag:amenity=place of worship
@ -108,6 +114,7 @@ de:
amenity=pub: DE:Tag:amenity=pub amenity=pub: DE:Tag:amenity=pub
amenity=recycling: DE:Tag:amenity=recycling amenity=recycling: DE:Tag:amenity=recycling
amenity=register_office: DE:Tag:amenity=register office amenity=register_office: DE:Tag:amenity=register office
amenity=restaurant: DE:Tag:amenity=restaurant
amenity=school: DE:Tag:amenity=school amenity=school: DE:Tag:amenity=school
amenity=telephone: DE:Tag:amenity=telephone amenity=telephone: DE:Tag:amenity=telephone
amenity=toilets: DE:Tag:amenity=toilets amenity=toilets: DE:Tag:amenity=toilets
@ -117,6 +124,7 @@ de:
barrier=lift_gate: DE:Tag:barrier=lift gate barrier=lift_gate: DE:Tag:barrier=lift gate
boundary=water_protection_area: DE:Tag:boundary=water protection area boundary=water_protection_area: DE:Tag:boundary=water protection area
club-mate=yes: DE:Tag:club-mate=yes club-mate=yes: DE:Tag:club-mate=yes
emergency=fire_hydrant: DE:Tag:emergency=fire hydrant
highway=bus_stop: DE:Tag:highway=bus stop highway=bus_stop: DE:Tag:highway=bus stop
highway=crossing: DE:Tag:highway=crossing highway=crossing: DE:Tag:highway=crossing
highway=cycleway: DE:Tag:highway=cycleway highway=cycleway: DE:Tag:highway=cycleway
@ -148,14 +156,17 @@ de:
historic=monastery: DE:Tag:historic=monastery historic=monastery: DE:Tag:historic=monastery
junction=roundabout: DE:Tag:junction=roundabout junction=roundabout: DE:Tag:junction=roundabout
landuse=allotments: DE:Tag:landuse=allotments landuse=allotments: DE:Tag:landuse=allotments
landuse=farm: DE:Tag:landuse=farm landuse=cemetery: DE:Tag:landuse=cemetery
landuse=farmland: DE:Tag:landuse=farmland
landuse=farmyard: DE:Tag:landuse=farmyard landuse=farmyard: DE:Tag:landuse=farmyard
landuse=forest: DE:Tag:landuse=forest landuse=forest: DE:Tag:landuse=forest
landuse=meadow: DE:Tag:landuse=meadow landuse=meadow: DE:Tag:landuse=meadow
landuse=orchard: DE:Tag:landuse=orchard landuse=orchard: DE:Tag:landuse=orchard
landuse=quarry: DE:Tag:landuse=quarry landuse=quarry: DE:Tag:landuse=quarry
landuse=residential: DE:Tag:landuse=residential
landuse=village_green: DE:Tag:landuse=village green landuse=village_green: DE:Tag:landuse=village green
leisure=dog_park: DE:Tag:leisure=dog park leisure=dog_park: DE:Tag:leisure=dog park
leisure=garden: DE:Tag:leisure=garden
leisure=playground: DE:Tag:leisure=playground leisure=playground: DE:Tag:leisure=playground
leisure=slipway: DE:Tag:leisure=slipway leisure=slipway: DE:Tag:leisure=slipway
man_made=crane: DE:Tag:man made=crane man_made=crane: DE:Tag:man made=crane
@ -164,6 +175,7 @@ de:
man_made=pipeline: DE:Tag:man made=pipeline man_made=pipeline: DE:Tag:man made=pipeline
man_made=survey_point: DE:Tag:man made=survey point man_made=survey_point: DE:Tag:man made=survey point
man_made=wastewater_plant: DE:Tag:man made=wastewater plant man_made=wastewater_plant: DE:Tag:man made=wastewater plant
microbrewery=yes: DE:Tag:microbrewery=yes
military=bunker: DE:Tag:military=bunker military=bunker: DE:Tag:military=bunker
natural=stone: DE:Tag:natural=stone natural=stone: DE:Tag:natural=stone
natural=tree: DE:Tag:natural=tree natural=tree: DE:Tag:natural=tree
@ -181,6 +193,7 @@ de:
power=tower: DE:Tag:power=tower power=tower: DE:Tag:power=tower
railway=crossing: DE:Tag:railway=crossing railway=crossing: DE:Tag:railway=crossing
railway=halt: DE:Tag:railway=halt railway=halt: DE:Tag:railway=halt
railway=monorail: DE:Tag:railway=monorail
railway=platform: DE:Tag:railway=platform railway=platform: DE:Tag:railway=platform
railway=station: DE:Tag:railway=station railway=station: DE:Tag:railway=station
railway=tram: DE:Tag:railway=tram railway=tram: DE:Tag:railway=tram
@ -220,6 +233,7 @@ en:
atv: Key:atv atv: Key:atv
barrier: Key:barrier barrier: Key:barrier
basin: Key:basin basin: Key:basin
beacon: Key:beacon
bicycle: Key:bicycle bicycle: Key:bicycle
boat: Key:boat boat: Key:boat
border_type: Key:border type border_type: Key:border type
@ -227,8 +241,10 @@ en:
bridge: Key:bridge bridge: Key:bridge
building: Key:building building: Key:building
bunker_type: Key:bunker type bunker_type: Key:bunker type
buoy: Key:buoy
capacity: Key:capacity capacity: Key:capacity
cep: Key:cep cep: Key:cep
clothes: Key:clothes
collection_times: Key:collection times collection_times: Key:collection times
comment: Key:comment comment: Key:comment
construction: Key:construction construction: Key:construction
@ -245,6 +261,7 @@ en:
designation: Key:designation designation: Key:designation
destination: Key:destination destination: Key:destination
direction: Key:direction direction: Key:direction
disabled: Key:disabled
dispensing: Key:dispensing dispensing: Key:dispensing
disused: Key:disused disused: Key:disused
drink: Key:drink drink: Key:drink
@ -260,6 +277,7 @@ en:
fenced: Key:fenced fenced: Key:fenced
fixme: Key:fixme fixme: Key:fixme
flood_prone: Key:flood prone flood_prone: Key:flood prone
fog_signal: Key:fog signal
foot: Key:foot foot: Key:foot
ford: Key:ford ford: Key:ford
fuel:discount: Key:fuel:discount fuel:discount: Key:fuel:discount
@ -276,18 +294,21 @@ en:
internet_access: Key:internet access internet_access: Key:internet access
is_in: Key:is in is_in: Key:is in
junction: Key:junction junction: Key:junction
landmark: Key:landmark
landuse: Key:landuse landuse: Key:landuse
lanes: Key:lanes lanes: Key:lanes
layer: Key:layer layer: Key:layer
lcn_ref: Key:lcn ref lcn_ref: Key:lcn ref
leisure: Key:leisure leisure: Key:leisure
length: Key:length length: Key:length
light: Key:light
lit: Key:lit lit: Key:lit
lit:perceived: Key:lit:perceived lit:perceived: Key:lit:perceived
lock: Key:lock lock: Key:lock
man_made: Key:man made man_made: Key:man made
managed: Key:managed managed: Key:managed
manhole: Key:manhole manhole: Key:manhole
maxage: Key:maxage
maxairdraft: Key:maxairdraft maxairdraft: Key:maxairdraft
maxaxleload: Key:maxaxleload maxaxleload: Key:maxaxleload
maxdraught: Key:maxdraught maxdraught: Key:maxdraught
@ -301,6 +322,7 @@ en:
maxweight: Key:maxweight maxweight: Key:maxweight
maxwidth: Key:maxwidth maxwidth: Key:maxwidth
military: Key:military military: Key:military
minage: Key:minage
minspeed: Key:minspeed minspeed: Key:minspeed
monitoring:glonass: Key:monitoring:glonass monitoring:glonass: Key:monitoring:glonass
monitoring:gps: Key:monitoring:gps monitoring:gps: Key:monitoring:gps
@ -351,6 +373,7 @@ en:
route: Key:route route: Key:route
sac_scale: Key:sac scale sac_scale: Key:sac scale
sagns_id: Key:sagns id sagns_id: Key:sagns id
seabed_surface: Key:seabed surface
seamark: Key:seamark seamark: Key:seamark
seasonal:snowfall:regaintime: Key:seasonal:snowfall:regaintime seasonal:snowfall:regaintime: Key:seasonal:snowfall:regaintime
service: Key:service service: Key:service
@ -361,12 +384,15 @@ en:
snowplowing:category: Key:snowplowing:category snowplowing:category: Key:snowplowing:category
source: Key:source source: Key:source
sport: Key:sport sport: Key:sport
stars: Key:stars
start_date: Key:start date start_date: Key:start date
step_count: Key:step count step_count: Key:step count
stop: Key:stop stop: Key:stop
sub_sea: Key:sub sea
sulky: Key:sulky sulky: Key:sulky
surface: Key:surface surface: Key:surface
tactile_paving: Key:tactile paving tactile_paving: Key:tactile paving
timezone: Key:timezone
toll: Key:toll toll: Key:toll
tourism: Key:tourism tourism: Key:tourism
tracktype: Key:tracktype tracktype: Key:tracktype
@ -409,6 +435,7 @@ en:
aeroway=taxiway: Tag:aeroway=taxiway aeroway=taxiway: Tag:aeroway=taxiway
aeroway=terminal: Tag:aeroway=terminal aeroway=terminal: Tag:aeroway=terminal
aeroway=windsock: Tag:aeroway=windsock aeroway=windsock: Tag:aeroway=windsock
amenity=architect_office: Tag:amenity=architect office
amenity=arts_centre: Tag:amenity=arts centre amenity=arts_centre: Tag:amenity=arts centre
amenity=atm: Tag:amenity=atm amenity=atm: Tag:amenity=atm
amenity=audiologist: Tag:amenity=audiologist amenity=audiologist: Tag:amenity=audiologist
@ -420,12 +447,14 @@ en:
amenity=bicycle_parking: Tag:amenity=bicycle parking amenity=bicycle_parking: Tag:amenity=bicycle parking
amenity=bicycle_rental: Tag:amenity=bicycle rental amenity=bicycle_rental: Tag:amenity=bicycle rental
amenity=biergarten: Tag:amenity=biergarten amenity=biergarten: Tag:amenity=biergarten
amenity=boat_storage: Tag:amenity=boat storage
amenity=brothel: Tag:amenity=brothel amenity=brothel: Tag:amenity=brothel
amenity=bureau_de_change: Tag:amenity=bureau de change amenity=bureau_de_change: Tag:amenity=bureau de change
amenity=bus_station: Tag:amenity=bus station amenity=bus_station: Tag:amenity=bus station
amenity=cafe: Tag:amenity=cafe amenity=cafe: Tag:amenity=cafe
amenity=car_rental: Tag:amenity=car rental amenity=car_rental: Tag:amenity=car rental
amenity=car_sharing: Tag:amenity=car sharing amenity=car_sharing: Tag:amenity=car sharing
amenity=casino: Tag:amenity=casino
amenity=cinema: Tag:amenity=cinema amenity=cinema: Tag:amenity=cinema
amenity=clock: Tag:amenity=clock amenity=clock: Tag:amenity=clock
amenity=coast_guard: Tag:amenity=coast guard amenity=coast_guard: Tag:amenity=coast guard
@ -438,11 +467,10 @@ en:
amenity=doctors: Tag:amenity=doctors amenity=doctors: Tag:amenity=doctors
amenity=drinking_water: Tag:amenity=drinking water amenity=drinking_water: Tag:amenity=drinking water
amenity=embassy: Tag:amenity=embassy amenity=embassy: Tag:amenity=embassy
amenity=emergency_phone: Tag:amenity=emergency phone
amenity=fast_food: Tag:amenity=fast food amenity=fast_food: Tag:amenity=fast food
amenity=ferry_terminal: Tag:amenity=ferry terminal amenity=ferry_terminal: Tag:amenity=ferry terminal
amenity=fire_hydrant: Tag:amenity=fire hydrant
amenity=fire_station: Tag:amenity=fire station amenity=fire_station: Tag:amenity=fire station
amenity=food_court: Tag:amenity=food court
amenity=fountain: Tag:amenity=fountain amenity=fountain: Tag:amenity=fountain
amenity=fuel: Tag:amenity=fuel amenity=fuel: Tag:amenity=fuel
amenity=grave_yard: Tag:amenity=grave yard amenity=grave_yard: Tag:amenity=grave yard
@ -482,6 +510,7 @@ en:
amenity=veterinary: Tag:amenity=veterinary amenity=veterinary: Tag:amenity=veterinary
amenity=waste_basket: Tag:amenity=waste basket amenity=waste_basket: Tag:amenity=waste basket
amenity=waste_disposal: Tag:amenity=waste disposal amenity=waste_disposal: Tag:amenity=waste disposal
amenity=waste_transfer_station: Tag:amenity=waste transfer station
amenity=watering_place: Tag:amenity=watering place amenity=watering_place: Tag:amenity=watering place
atm=no: Tag:atm=no atm=no: Tag:atm=no
atm=yes: Tag:atm=yes atm=yes: Tag:atm=yes
@ -502,6 +531,7 @@ en:
barrier=sally_port: Tag:barrier=sally port barrier=sally_port: Tag:barrier=sally port
barrier=stile: Tag:barrier=stile barrier=stile: Tag:barrier=stile
barrier=toll_booth: Tag:barrier=toll booth barrier=toll_booth: Tag:barrier=toll booth
barrier=turnstile: Tag:barrier=turnstile
barrier=wall: Tag:barrier=wall barrier=wall: Tag:barrier=wall
boundary=administrative: Tag:boundary=administrative boundary=administrative: Tag:boundary=administrative
boundary=civil: Tag:boundary=civil boundary=civil: Tag:boundary=civil
@ -515,9 +545,18 @@ en:
building=parliament: Tag:building=parliament building=parliament: Tag:building=parliament
bunker_type=munitions: Tag:bunker type=munitions bunker_type=munitions: Tag:bunker type=munitions
bunker_type=pillbox: Tag:bunker type=pillbox bunker_type=pillbox: Tag:bunker type=pillbox
clothes=sports: Tag:clothes=sports
club-mate=yes: Tag:club-mate=yes club-mate=yes: Tag:club-mate=yes
cycleway=bike_box: Tag:cycleway=bike box cycleway=bike_box: Tag:cycleway=bike box
denomination=mormon: Tag:denomination=mormon denomination=mormon: Tag:denomination=mormon
emergency=ambulance_station: Tag:emergency=ambulance station
emergency=fire_extinguisher: Tag:emergency=fire extinguisher
emergency=fire_flapper: Tag:emergency=fire flapper
emergency=fire_hose: Tag:emergency=fire hose
emergency=fire_hydrant: Tag:emergency=fire hydrant
emergency=phone: Tag:emergency=phone
emergency=ses_station: Tag:emergency=ses station
emergency=siren: Tag:emergency=siren
geological=palaeontological_site: Tag:geological=palaeontological site geological=palaeontological_site: Tag:geological=palaeontological site
highway=bridleway: Tag:highway=bridleway highway=bridleway: Tag:highway=bridleway
highway=bus_guideway: Tag:highway=bus guideway highway=bus_guideway: Tag:highway=bus guideway
@ -539,14 +578,12 @@ en:
highway=pedestrian: Tag:highway=pedestrian highway=pedestrian: Tag:highway=pedestrian
highway=platform: Tag:highway=platform highway=platform: Tag:highway=platform
highway=primary: Tag:highway=primary highway=primary: Tag:highway=primary
highway=primary_link: Tag:highway=primary link
highway=proposed: Tag:highway=proposed highway=proposed: Tag:highway=proposed
highway=raceway: Tag:highway=raceway highway=raceway: Tag:highway=raceway
highway=residential: Tag:highway=residential highway=residential: Tag:highway=residential
highway=rest_area: Tag:highway=rest area highway=rest_area: Tag:highway=rest area
highway=road: Tag:highway=road highway=road: Tag:highway=road
highway=secondary: Tag:highway=secondary highway=secondary: Tag:highway=secondary
highway=secondary_link: Tag:highway=secondary link
highway=service: Tag:highway=service highway=service: Tag:highway=service
highway=services: Tag:highway=services highway=services: Tag:highway=services
highway=speed_camera: Tag:highway=speed camera highway=speed_camera: Tag:highway=speed camera
@ -558,7 +595,6 @@ en:
highway=traffic_signals: Tag:highway=traffic signals highway=traffic_signals: Tag:highway=traffic signals
highway=trail: Tag:highway=trail highway=trail: Tag:highway=trail
highway=trunk: Tag:highway=trunk highway=trunk: Tag:highway=trunk
highway=trunk_link: Tag:highway=trunk link
highway=turning_circle: Tag:highway=turning circle highway=turning_circle: Tag:highway=turning circle
highway=unclassified: Tag:highway=unclassified highway=unclassified: Tag:highway=unclassified
historic=archaeological_site: Tag:historic=archaeological site historic=archaeological_site: Tag:historic=archaeological site
@ -583,6 +619,7 @@ en:
landuse=commercial: Tag:landuse=commercial landuse=commercial: Tag:landuse=commercial
landuse=construction: Tag:landuse=construction landuse=construction: Tag:landuse=construction
landuse=farm: Tag:landuse=farm landuse=farm: Tag:landuse=farm
landuse=farmland: Tag:landuse=farmland
landuse=farmyard: Tag:landuse=farmyard landuse=farmyard: Tag:landuse=farmyard
landuse=forest: Tag:landuse=forest landuse=forest: Tag:landuse=forest
landuse=garages: Tag:landuse=garages landuse=garages: Tag:landuse=garages
@ -606,7 +643,6 @@ en:
landuse=street: Tag:landuse=street landuse=street: Tag:landuse=street
landuse=village_green: Tag:landuse=village green landuse=village_green: Tag:landuse=village green
landuse=vineyard: Tag:landuse=vineyard landuse=vineyard: Tag:landuse=vineyard
landuse=wood: Tag:landuse=wood
leisure=beach_resort: Tag:leisure=beach resort leisure=beach_resort: Tag:leisure=beach resort
leisure=common: Tag:leisure=common leisure=common: Tag:leisure=common
leisure=dance: Tag:leisure=dance leisure=dance: Tag:leisure=dance
@ -619,20 +655,27 @@ en:
leisure=marina: Tag:leisure=marina leisure=marina: Tag:leisure=marina
leisure=miniature_golf: Tag:leisure=miniature golf leisure=miniature_golf: Tag:leisure=miniature golf
leisure=nature_reserve: Tag:leisure=nature reserve leisure=nature_reserve: Tag:leisure=nature reserve
leisure=paddling_pool: Tag:leisure=paddling pool
leisure=park: Tag:leisure=park leisure=park: Tag:leisure=park
leisure=picnic_table: Tag:leisure=picnic table leisure=picnic_table: Tag:leisure=picnic table
leisure=pitch: Tag:leisure=pitch leisure=pitch: Tag:leisure=pitch
leisure=playground: Tag:leisure=playground leisure=playground: Tag:leisure=playground
leisure=ski_playground: Tag:leisure=ski playground
leisure=slipway: Tag:leisure=slipway leisure=slipway: Tag:leisure=slipway
leisure=sports_centre: Tag:leisure=sports centre leisure=sports_centre: Tag:leisure=sports centre
leisure=track: Tag:leisure=track leisure=track: Tag:leisure=track
leisure=video_arcade: Tag:leisure=video arcade
leisure=water_park: Tag:leisure=water park leisure=water_park: Tag:leisure=water park
man_made=adit: Tag:man made=adit
man_made=archimedes_screw: Tag:man made=archimedes screw
man_made=beacon: Tag:man made=beacon man_made=beacon: Tag:man made=beacon
man_made=chimney: Tag:man made=chimney
man_made=compass_rose: Tag:man made=compass rose man_made=compass_rose: Tag:man made=compass rose
man_made=crane: Tag:man made=crane man_made=crane: Tag:man made=crane
man_made=cutline: Tag:man made=cutline man_made=cutline: Tag:man made=cutline
man_made=dyke: Tag:man made=dyke man_made=dyke: Tag:man made=dyke
man_made=flagpole: Tag:man made=flagpole man_made=fish_passage: Tag:man made=fish passage
man_made=flare: Tag:man made=flare
man_made=ground_station: Tag:man made=ground station man_made=ground_station: Tag:man made=ground station
man_made=groyne: Tag:man made=groyne man_made=groyne: Tag:man made=groyne
man_made=jetty: Tag:man made=jetty man_made=jetty: Tag:man made=jetty
@ -643,6 +686,7 @@ en:
man_made=pipeline: Tag:man made=pipeline man_made=pipeline: Tag:man made=pipeline
man_made=pumping_rig: Tag:man made=pumping rig man_made=pumping_rig: Tag:man made=pumping rig
man_made=reservoir_covered: Tag:man made=reservoir covered man_made=reservoir_covered: Tag:man made=reservoir covered
man_made=storage_tank: Tag:man made=storage tank
man_made=surveillance: Tag:man made=surveillance man_made=surveillance: Tag:man made=surveillance
man_made=survey_point: Tag:man made=survey point man_made=survey_point: Tag:man made=survey point
man_made=tower: Tag:man made=tower man_made=tower: Tag:man made=tower
@ -651,8 +695,12 @@ en:
man_made=water_well: Tag:man made=water well man_made=water_well: Tag:man made=water well
man_made=water_works: Tag:man made=water works man_made=water_works: Tag:man made=water works
man_made=watermill: Tag:man made=watermill man_made=watermill: Tag:man made=watermill
man_made=well: Tag:man made=well
man_made=wildlife_crossing: Tag:man made=wildlife crossing
man_made=windmill: Tag:man made=windmill man_made=windmill: Tag:man made=windmill
man_made=windpump: Tag:man made=windpump
man_made=works: Tag:man made=works man_made=works: Tag:man made=works
microbrewery=yes: Tag:microbrewery=yes
military=airfield: Tag:military=airfield military=airfield: Tag:military=airfield
military=bunker: Tag:military=bunker military=bunker: Tag:military=bunker
military=naval_base: Tag:military=naval base military=naval_base: Tag:military=naval base
@ -661,13 +709,15 @@ en:
natural=cave_entrance: Tag:natural=cave entrance natural=cave_entrance: Tag:natural=cave entrance
natural=cliff: Tag:natural=cliff natural=cliff: Tag:natural=cliff
natural=coastline: Tag:natural=coastline natural=coastline: Tag:natural=coastline
natural=dune: Tag:natural=dune
natural=fell: Tag:natural=fell natural=fell: Tag:natural=fell
natural=glacier: Tag:natural=glacier natural=glacier: Tag:natural=glacier
natural=heath: Tag:natural=heath natural=heath: Tag:natural=heath
natural=lake: Tag:natural=lake natural=lake: Tag:natural=lake
natural=land: Tag:natural=land natural=land: Tag:natural=land
natural=meadow: Tag:natural=meadow
natural=peak: Tag:natural=peak natural=peak: Tag:natural=peak
natural=rock: Tag:natural=rock
natural=scree: Tag:natural=scree
natural=scrub: Tag:natural=scrub natural=scrub: Tag:natural=scrub
natural=spring: Tag:natural=spring natural=spring: Tag:natural=spring
natural=stone: Tag:natural=stone natural=stone: Tag:natural=stone
@ -687,6 +737,8 @@ en:
office=newspaper: Tag:office=newspaper office=newspaper: Tag:office=newspaper
office=ngo: Tag:office=ngo office=ngo: Tag:office=ngo
office=quango: Tag:office=quango office=quango: Tag:office=quango
office=research: Tag:office=research
office=telecommunication: Tag:office=telecommunication
office=travel_agent: Tag:office=travel agent office=travel_agent: Tag:office=travel agent
pipeline=marker: Tag:pipeline=marker pipeline=marker: Tag:pipeline=marker
pipeline=valve: Tag:pipeline=valve pipeline=valve: Tag:pipeline=valve
@ -751,8 +803,10 @@ en:
service=yard: Tag:service=yard service=yard: Tag:service=yard
shop=SpotColor: Tag:shop=SpotColor shop=SpotColor: Tag:shop=SpotColor
shop=alcohol: Tag:shop=alcohol shop=alcohol: Tag:shop=alcohol
shop=art: Tag:shop=art
shop=bakery: Tag:shop=bakery shop=bakery: Tag:shop=bakery
shop=beauty: Tag:shop=beauty shop=beauty: Tag:shop=beauty
shop=bed: Tag:shop=bed
shop=beverages: Tag:shop=beverages shop=beverages: Tag:shop=beverages
shop=bicycle: Tag:shop=bicycle shop=bicycle: Tag:shop=bicycle
shop=books: Tag:shop=books shop=books: Tag:shop=books
@ -764,18 +818,26 @@ en:
shop=charity: Tag:shop=charity shop=charity: Tag:shop=charity
shop=chemist: Tag:shop=chemist shop=chemist: Tag:shop=chemist
shop=clothes: Tag:shop=clothes shop=clothes: Tag:shop=clothes
shop=communication: Tag:shop=communication
shop=computer: Tag:shop=computer shop=computer: Tag:shop=computer
shop=confectionery: Tag:shop=confectionery shop=confectionery: Tag:shop=confectionery
shop=convenience: Tag:shop=convenience shop=convenience: Tag:shop=convenience
shop=copyshop: Tag:shop=copyshop
shop=curtain: Tag:shop=curtain
shop=deli: Tag:shop=deli
shop=department_store: Tag:shop=department store shop=department_store: Tag:shop=department store
shop=dive: Tag:shop=dive
shop=doityourself: Tag:shop=doityourself shop=doityourself: Tag:shop=doityourself
shop=dry_cleaning: Tag:shop=dry cleaning shop=dry_cleaning: Tag:shop=dry cleaning
shop=electronics: Tag:shop=electronics shop=electronics: Tag:shop=electronics
shop=fabrics: Tag:shop=fabrics shop=erotic: Tag:shop=erotic
shop=fabric: Tag:shop=fabric
shop=farm: Tag:shop=farm shop=farm: Tag:shop=farm
shop=florist: Tag:shop=florist shop=florist: Tag:shop=florist
shop=food: Tag:shop=food shop=food: Tag:shop=food
shop=frame: Tag:shop=frame
shop=funeral_directors: Tag:shop=funeral directors shop=funeral_directors: Tag:shop=funeral directors
shop=furnace: Tag:shop=furnace
shop=furniture: Tag:shop=furniture shop=furniture: Tag:shop=furniture
shop=garden_centre: Tag:shop=garden centre shop=garden_centre: Tag:shop=garden centre
shop=general: Tag:shop=general shop=general: Tag:shop=general
@ -783,8 +845,10 @@ en:
shop=glaziery: Tag:shop=glaziery shop=glaziery: Tag:shop=glaziery
shop=greengrocer: Tag:shop=greengrocer shop=greengrocer: Tag:shop=greengrocer
shop=hairdresser: Tag:shop=hairdresser shop=hairdresser: Tag:shop=hairdresser
shop=hardware: Tag:shop=hardware
shop=hearing_aids: Tag:shop=hearing aids shop=hearing_aids: Tag:shop=hearing aids
shop=hifi: Tag:shop=hifi shop=hifi: Tag:shop=hifi
shop=houseware: Tag:shop=houseware
shop=ice_cream: Tag:shop=ice cream shop=ice_cream: Tag:shop=ice cream
shop=jewelry: Tag:shop=jewelry shop=jewelry: Tag:shop=jewelry
shop=kiosk: Tag:shop=kiosk shop=kiosk: Tag:shop=kiosk
@ -792,14 +856,18 @@ en:
shop=locksmith: Tag:shop=locksmith shop=locksmith: Tag:shop=locksmith
shop=mall: Tag:shop=mall shop=mall: Tag:shop=mall
shop=massage: Tag:shop=massage shop=massage: Tag:shop=massage
shop=mobile_phone: Tag:shop=mobile phone
shop=money_lender: Tag:shop=money lender shop=money_lender: Tag:shop=money lender
shop=motorcycle: Tag:shop=motorcycle shop=motorcycle: Tag:shop=motorcycle
shop=motorcycle_repair: Tag:shop=motorcycle repair shop=motorcycle_repair: Tag:shop=motorcycle repair
shop=musical_instrument: Tag:shop=musical instrument
shop=newsagent: Tag:shop=newsagent shop=newsagent: Tag:shop=newsagent
shop=optician: Tag:shop=optician shop=optician: Tag:shop=optician
shop=organic: Tag:shop=organic shop=organic: Tag:shop=organic
shop=outdoor: Tag:shop=outdoor shop=outdoor: Tag:shop=outdoor
shop=paint: Tag:shop=paint
shop=pawnbroker: Tag:shop=pawnbroker shop=pawnbroker: Tag:shop=pawnbroker
shop=pet: Tag:shop=pet
shop=seafood: Tag:shop=seafood shop=seafood: Tag:shop=seafood
shop=second_hand: Tag:shop=second hand shop=second_hand: Tag:shop=second hand
shop=shoes: Tag:shop=shoes shop=shoes: Tag:shop=shoes
@ -807,8 +875,10 @@ en:
shop=stationery: Tag:shop=stationery shop=stationery: Tag:shop=stationery
shop=supermarket: Tag:shop=supermarket shop=supermarket: Tag:shop=supermarket
shop=systembolaget: Tag:shop=systembolaget shop=systembolaget: Tag:shop=systembolaget
shop=tattoo: Tag:shop=tattoo
shop=toys: Tag:shop=toys shop=toys: Tag:shop=toys
shop=travel_agency: Tag:shop=travel agency shop=trade: Tag:shop=trade
shop=vacuum_cleaner: Tag:shop=vacuum cleaner
shop=variety_store: Tag:shop=variety store shop=variety_store: Tag:shop=variety store
shop=video: Tag:shop=video shop=video: Tag:shop=video
source:ele=barometric: Tag:source:ele=barometric source:ele=barometric: Tag:source:ele=barometric
@ -818,16 +888,61 @@ en:
1:25000 map (2007) 1:25000 map (2007)
source=Isle_of_Man_Government_aerial_imagery_(2001): Tag:source=Isle of Man Government source=Isle_of_Man_Government_aerial_imagery_(2001): Tag:source=Isle of Man Government
aerial imagery (2001) aerial imagery (2001)
sport=10pin: Tag:sport=10pin
sport=9pin: Tag:sport=9pin sport=9pin: Tag:sport=9pin
sport=american_football: Tag:sport=american football
sport=archery: Tag:sport=archery
sport=athletics: Tag:sport=athletics
sport=australian_football: Tag:sport=australian football sport=australian_football: Tag:sport=australian football
sport=badminton: Tag:sport=badminton
sport=baseball: Tag:sport=baseball
sport=basketball: Tag:sport=basketball
sport=beachvolleyball: Tag:sport=beachvolleyball
sport=boules: Tag:sport=boules sport=boules: Tag:sport=boules
sport=bowls: Tag:sport=bowls
sport=canadian_football: Tag:sport=canadian football
sport=canoe: Tag:sport=canoe
sport=chess: Tag:sport=chess
sport=climbing: Tag:sport=climbing
sport=cricket: Tag:sport=cricket
sport=cricket_nets: Tag:sport=cricket nets
sport=croquet: Tag:sport=croquet
sport=cycling: Tag:sport=cycling
sport=diving: Tag:sport=diving sport=diving: Tag:sport=diving
sport=dog_racing: Tag:sport=dog racing
sport=equestrian: Tag:sport=equestrian
sport=gaelic_football: Tag:sport=gaelic football
sport=gaelic_games: Tag:sport=gaelic games
sport=golf: Tag:sport=golf
sport=gymnastics: Tag:sport=gymnastics
sport=hockey: Tag:sport=hockey
sport=horse_racing: Tag:sport=horse racing
sport=horseshoes: Tag:sport=horseshoes
sport=ice_stock: Tag:sport=ice stock
sport=korfball: Tag:sport=korfball
sport=motor: Tag:sport=motor
sport=multi: Tag:sport=multi
sport=orienteering: Tag:sport=orienteering sport=orienteering: Tag:sport=orienteering
sport=paddle_tennis: Tag:sport=paddle tennis
sport=paragliding: Tag:sport=paragliding
sport=pelota: Tag:sport=pelota
sport=racquet: Tag:sport=racquet
sport=rowing: Tag:sport=rowing sport=rowing: Tag:sport=rowing
sport=rugby_league: Tag:sport=rugby league
sport=rugby_union: Tag:sport=rugby union
sport=shooting: Tag:sport=shooting sport=shooting: Tag:sport=shooting
sport=skateboard: Tag:sport=skateboard
sport=skating: Tag:sport=skating
sport=skiing: Tag:sport=skiing
sport=soccer: Tag:sport=soccer sport=soccer: Tag:sport=soccer
sport=surfing: Tag:sport=surfing
sport=swimming: Tag:sport=swimming
sport=table_tennis: Tag:sport=table tennis
sport=team_handball: Tag:sport=team handball
sport=tennis: Tag:sport=tennis
sport=toboggan: Tag:sport=toboggan sport=toboggan: Tag:sport=toboggan
sport=volleyball: Tag:sport=volleyball sport=volleyball: Tag:sport=volleyball
sport=water_ski: Tag:sport=water ski
sub_sea=reef: Tag:sub sea=reef sub_sea=reef: Tag:sub sea=reef
tourism=alpine_hut: Tag:tourism=alpine hut tourism=alpine_hut: Tag:tourism=alpine hut
tourism=aquarium: Tag:tourism=aquarium tourism=aquarium: Tag:tourism=aquarium
@ -846,6 +961,7 @@ en:
tourism=theme_park: Tag:tourism=theme park tourism=theme_park: Tag:tourism=theme park
tourism=viewpoint: Tag:tourism=viewpoint tourism=viewpoint: Tag:tourism=viewpoint
tourism=zoo: Tag:tourism=zoo tourism=zoo: Tag:tourism=zoo
tunnel=culvert: Tag:tunnel=culvert
type=site: Tag:type=site type=site: Tag:type=site
vending=bicycle_tube: Tag:vending=bicycle tube vending=bicycle_tube: Tag:vending=bicycle tube
waterway=boatyard: Tag:waterway=boatyard waterway=boatyard: Tag:waterway=boatyard
@ -857,6 +973,7 @@ en:
waterway=lock_gate: Tag:waterway=lock gate waterway=lock_gate: Tag:waterway=lock gate
waterway=river: Tag:waterway=river waterway=river: Tag:waterway=river
waterway=riverbank: Tag:waterway=riverbank waterway=riverbank: Tag:waterway=riverbank
waterway=seaway: Tag:waterway=seaway
waterway=stream: Tag:waterway=stream waterway=stream: Tag:waterway=stream
waterway=turning_point: Tag:waterway=turning point waterway=turning_point: Tag:waterway=turning point
waterway=water_point: Tag:waterway=water point waterway=water_point: Tag:waterway=water point
@ -868,6 +985,7 @@ es:
amenity=bar: ES:Tag:amenity=bar amenity=bar: ES:Tag:amenity=bar
amenity=recycling: ES:Tag:amenity=recycling amenity=recycling: ES:Tag:amenity=recycling
highway=bus_stop: ES:Tag:highway=bus stop highway=bus_stop: ES:Tag:highway=bus stop
railway=level_crossing: ES:Tag:railway=level crossing
et: et:
key: key:
highway: Et:Key:highway highway: Et:Key:highway
@ -890,6 +1008,7 @@ fi:
natural: Fi:Key:natural natural: Fi:Key:natural
note: Fi:Key:note note: Fi:Key:note
operator: Fi:Key:operator operator: Fi:Key:operator
parking:lane:both: Fi:Key:parking:lane:both
shop: Fi:Key:shop shop: Fi:Key:shop
surface: Fi:Key:surface surface: Fi:Key:surface
tracktype: Fi:Key:tracktype tracktype: Fi:Key:tracktype
@ -964,37 +1083,54 @@ fr:
highway: FR:Key:highway highway: FR:Key:highway
landuse: FR:Key:landuse landuse: FR:Key:landuse
lanes: FR:Key:lanes lanes: FR:Key:lanes
leisure: FR:Key:leisure
man_made: FR:Key:man made
maxweight: FR:Key:maxweight maxweight: FR:Key:maxweight
name: FR:Key:name name: FR:Key:name
natural: FR:Key:natural
noname: FR:Key:noname noname: FR:Key:noname
opening_hours: FR:Key:opening hours opening_hours: FR:Key:opening hours
operator: FR:Key:operator
parking: FR:Key:parking
place: FR:Key:place place: FR:Key:place
power: FR:Key:power power: FR:Key:power
sac_scale: FR:Key:sac scale sac_scale: FR:Key:sac scale
shop: FR:Key:shop shop: FR:Key:shop
smoothness: FR:Key:smoothness smoothness: FR:Key:smoothness
sport: FR:Key:sport
surface: FR:Key:surface
tracktype: FR:Key:tracktype
waterway: FR:Key:waterway waterway: FR:Key:waterway
tag: tag:
aeroway=runway: FR:Tag:aeroway=runway aeroway=runway: FR:Tag:aeroway=runway
amenity=bicycle_parking: FR:Tag:amenity=bicycle parking amenity=bicycle_parking: FR:Tag:amenity=bicycle parking
amenity=bicycle_rental: FR:Tag:amenity=bicycle rental amenity=bicycle_rental: FR:Tag:amenity=bicycle rental
amenity=community_centre: FR:Tag:amenity=community centre
amenity=fire_station: FR:Tag:amenity=fire station amenity=fire_station: FR:Tag:amenity=fire station
amenity=library: FR:Tag:amenity=library
amenity=pharmacy: FR:Tag:amenity=pharmacy amenity=pharmacy: FR:Tag:amenity=pharmacy
amenity=recycling: FR:Tag:amenity=recycling amenity=recycling: FR:Tag:amenity=recycling
amenity=telephone: FR:Tag:amenity=telephone
amenity=townhall: FR:Tag:amenity=townhall amenity=townhall: FR:Tag:amenity=townhall
barrier=bollard: FR:Tag:barrier=bollard barrier=bollard: FR:Tag:barrier=bollard
barrier=gate: FR:Tag:barrier=gate barrier=gate: FR:Tag:barrier=gate
cycleway=bike_box: FR:Tag:cycleway=bike box cycleway=bike_box: FR:Tag:cycleway=bike box
highway=bus_guideway: FR:Tag:highway=bus guideway
highway=bus_stop: FR:Tag:highway=bus stop highway=bus_stop: FR:Tag:highway=bus stop
highway=crossing: FR:Tag:highway=crossing highway=crossing: FR:Tag:highway=crossing
highway=cycleway: FR:Tag:highway=cycleway highway=cycleway: FR:Tag:highway=cycleway
highway=give_way: FR:Tag:highway=give way
highway=motorway: FR:Tag:highway=motorway highway=motorway: FR:Tag:highway=motorway
highway=motorway_link: FR:Tag:highway=motorway link highway=motorway_link: FR:Tag:highway=motorway link
highway=track: FR:Tag:highway=track
landuse=farmyard: FR:Tag:landuse=farmyard landuse=farmyard: FR:Tag:landuse=farmyard
landuse=forest: FR:Tag:landuse=forest landuse=forest: FR:Tag:landuse=forest
leisure=playground: FR:Tag:leisure=playground leisure=playground: FR:Tag:leisure=playground
man_made=cutline: FR:Tag:man made=cutline
man_made=surveillance: FR:Tag:man made=surveillance
man_made=water_works: FR:Tag:man made=water works man_made=water_works: FR:Tag:man made=water works
natural=tree: FR:Tag:natural=tree natural=tree: FR:Tag:natural=tree
natural=water: FR:Tag:natural=water
place=city: FR:Tag:place=city place=city: FR:Tag:place=city
place=hamlet: FR:Tag:place=hamlet place=hamlet: FR:Tag:place=hamlet
place=locality: FR:Tag:place=locality place=locality: FR:Tag:place=locality
@ -1007,12 +1143,15 @@ fr:
railway=subway_entrance: FR:Tag:railway=subway entrance railway=subway_entrance: FR:Tag:railway=subway entrance
shop=bakery: FR:Tag:shop=bakery shop=bakery: FR:Tag:shop=bakery
shop=supermarket: FR:Tag:shop=supermarket shop=supermarket: FR:Tag:shop=supermarket
waterway=river: FR:Tag:waterway=river
waterway=riverbank: FR:Tag:waterway=riverbank waterway=riverbank: FR:Tag:waterway=riverbank
waterway=stream: FR:Tag:waterway=stream waterway=stream: FR:Tag:waterway=stream
waterway=weir: FR:Tag:waterway=weir waterway=weir: FR:Tag:waterway=weir
hr: hr:
key: key:
tracktype: Hr:Key:tracktype tracktype: Hr:Key:tracktype
tag:
amenity=atm: Hr:Tag:amenity=atm
hu: hu:
key: key:
aeroway: HU:Key:aeroway aeroway: HU:Key:aeroway
@ -1037,11 +1176,14 @@ it:
geological: IT:Key:geological geological: IT:Key:geological
highway: IT:Key:highway highway: IT:Key:highway
historic: IT:Key:historic historic: IT:Key:historic
incline: IT:Key:incline
junction: IT:Key:junction junction: IT:Key:junction
landuse: IT:Key:landuse landuse: IT:Key:landuse
leisure: IT:Key:leisure leisure: IT:Key:leisure
lock: IT:Key:lock lock: IT:Key:lock
man_made: IT:Key:man made man_made: IT:Key:man made
maxheight: IT:Key:maxheight
maxwidth: IT:Key:maxwidth
military: IT:Key:military military: IT:Key:military
mooring: IT:Key:mooring mooring: IT:Key:mooring
name: IT:Key:name name: IT:Key:name
@ -1068,12 +1210,15 @@ it:
type: IT:Key:type type: IT:Key:type
waterway: IT:Key:waterway waterway: IT:Key:waterway
wheelchair: IT:Key:wheelchair wheelchair: IT:Key:wheelchair
width: IT:Key:width
tag: tag:
amenity=bicycle_rental: IT:Tag:amenity=bicycle rental amenity=bicycle_rental: IT:Tag:amenity=bicycle rental
amenity=college: IT:Tag:amenity=college amenity=college: IT:Tag:amenity=college
amenity=fountain: IT:Tag:amenity=fountain
amenity=fuel: IT:Tag:amenity=fuel amenity=fuel: IT:Tag:amenity=fuel
amenity=hospital: IT:Tag:amenity=hospital amenity=hospital: IT:Tag:amenity=hospital
amenity=kindergarten: IT:Tag:amenity=kindergarten amenity=kindergarten: IT:Tag:amenity=kindergarten
amenity=parking: IT:Tag:amenity=parking
amenity=place_of_worship: IT:Tag:amenity=place of worship amenity=place_of_worship: IT:Tag:amenity=place of worship
amenity=police: IT:Tag:amenity=police amenity=police: IT:Tag:amenity=police
amenity=post_office: IT:Tag:amenity=post office amenity=post_office: IT:Tag:amenity=post office
@ -1087,6 +1232,7 @@ it:
highway=mini_roundabout: IT:Tag:highway=mini roundabout highway=mini_roundabout: IT:Tag:highway=mini roundabout
highway=motorway: IT:Tag:highway=motorway highway=motorway: IT:Tag:highway=motorway
highway=motorway_link: IT:Tag:highway=motorway link highway=motorway_link: IT:Tag:highway=motorway link
highway=pedestrian: IT:Tag:highway=pedestrian
highway=primary: IT:Tag:highway=primary highway=primary: IT:Tag:highway=primary
highway=primary_link: IT:Tag:highway=primary link highway=primary_link: IT:Tag:highway=primary link
highway=trunk: IT:Tag:highway=trunk highway=trunk: IT:Tag:highway=trunk
@ -1096,9 +1242,14 @@ it:
landuse=construction: IT:Tag:landuse=construction landuse=construction: IT:Tag:landuse=construction
leisure=beach_resort: IT:Tag:leisure=beach resort leisure=beach_resort: IT:Tag:leisure=beach resort
leisure=dog_park: IT:Tag:leisure=dog park leisure=dog_park: IT:Tag:leisure=dog park
leisure=marina: IT:Tag:leisure=marina
railway=level_crossing: IT:Tag:railway=level crossing
shop=butcher: IT:Tag:shop=butcher shop=butcher: IT:Tag:shop=butcher
shop=car: IT:Tag:shop=car shop=car: IT:Tag:shop=car
shop=clothes: IT:Tag:shop=clothes
shop=florist: IT:Tag:shop=florist shop=florist: IT:Tag:shop=florist
shop=newsagent: IT:Tag:shop=newsagent
tourism=artwork: IT:Tag:tourism=artwork
ja: ja:
key: key:
abutters: JA:Key:abutters abutters: JA:Key:abutters
@ -1122,6 +1273,7 @@ ja:
information: JA:Key:information information: JA:Key:information
internet_access: JA:Key:internet access internet_access: JA:Key:internet access
landuse: JA:Key:landuse landuse: JA:Key:landuse
lanes: JA:Key:lanes
leisure: JA:Key:leisure leisure: JA:Key:leisure
man_made: JA:Key:man made man_made: JA:Key:man made
military: JA:Key:military military: JA:Key:military
@ -1150,6 +1302,7 @@ ja:
amenity=baby_hatch: JA:Tag:amenity=baby hatch amenity=baby_hatch: JA:Tag:amenity=baby hatch
amenity=bus_station: JA:Tag:amenity=bus station amenity=bus_station: JA:Tag:amenity=bus station
amenity=cafe: JA:Tag:amenity=cafe amenity=cafe: JA:Tag:amenity=cafe
amenity=crematorium: JA:Tag:amenity=crematorium
amenity=drinking_water: JA:Tag:amenity=drinking water amenity=drinking_water: JA:Tag:amenity=drinking water
amenity=fast_food: JA:Tag:amenity=fast food amenity=fast_food: JA:Tag:amenity=fast food
amenity=fire_station: JA:Tag:amenity=fire station amenity=fire_station: JA:Tag:amenity=fire station
@ -1184,10 +1337,13 @@ ja:
railway=station: JA:Tag:railway=station railway=station: JA:Tag:railway=station
shop=doityourself: JA:Tag:shop=doityourself shop=doityourself: JA:Tag:shop=doityourself
shop=garden_centre: JA:Tag:shop=garden centre shop=garden_centre: JA:Tag:shop=garden centre
shop=gift: JA:Tag:shop=gift
shop=motorcycle: JA:Tag:shop=motorcycle shop=motorcycle: JA:Tag:shop=motorcycle
shop=outdoor: JA:Tag:shop=outdoor shop=outdoor: JA:Tag:shop=outdoor
tourism=hostel: JA:Tag:tourism=hostel
tourism=hotel: JA:Tag:tourism=hotel tourism=hotel: JA:Tag:tourism=hotel
tourism=information: JA:Tag:tourism=information tourism=information: JA:Tag:tourism=information
tourism=viewpoint: JA:Tag:tourism=viewpoint
waterway=riverbank: JA:Tag:waterway=riverbank waterway=riverbank: JA:Tag:waterway=riverbank
waterway=water_point: JA:Tag:waterway=water point waterway=water_point: JA:Tag:waterway=water point
nl: nl:
@ -1200,13 +1356,18 @@ nl:
zoo=petting_zoo: NL:Tag:zoo=petting zoo zoo=petting_zoo: NL:Tag:zoo=petting zoo
no: no:
key: key:
amenity: No:Key:amenity
boundary: No:Key:boundary
fenced: No:Key:fenced fenced: No:Key:fenced
maxheight:legal: No:Key:maxheight:legal
maxheight:marine: No:Key:maxheight:marine maxheight:marine: No:Key:maxheight:marine
maxheight:physical: No:Key:maxheight:physical
tag: tag:
amenity=bank: No:Tag:amenity=bank amenity=bank: No:Tag:amenity=bank
amenity=marketplace: No:Tag:amenity=marketplace amenity=marketplace: No:Tag:amenity=marketplace
amenity=pharmacy: No:Tag:amenity=pharmacy amenity=pharmacy: No:Tag:amenity=pharmacy
amenity=place_of_worship: No:Tag:amenity=place of worship amenity=place_of_worship: No:Tag:amenity=place of worship
boundary=maritime: No:Tag:boundary=maritime
pl: pl:
key: key:
height: Pl:Key:height height: Pl:Key:height
@ -1316,10 +1477,12 @@ ru:
aeroway: RU:Key:aeroway aeroway: RU:Key:aeroway
amenity: RU:Key:amenity amenity: RU:Key:amenity
area: RU:Key:area area: RU:Key:area
barrier: RU:Key:barrier
bicycle: RU:Key:bicycle bicycle: RU:Key:bicycle
boat: RU:Key:boat boat: RU:Key:boat
border_type: RU:Key:border type border_type: RU:Key:border type
boundary: RU:Key:boundary boundary: RU:Key:boundary
bridge: RU:Key:bridge
building: RU:Key:building building: RU:Key:building
bunker_type: RU:Key:bunker type bunker_type: RU:Key:bunker type
capacity: RU:Key:capacity capacity: RU:Key:capacity
@ -1372,6 +1535,7 @@ ru:
place: RU:Key:place place: RU:Key:place
population: RU:Key:population population: RU:Key:population
power: RU:Key:power power: RU:Key:power
power_source: RU:Key:power source
railway: RU:Key:railway railway: RU:Key:railway
ref: RU:Key:ref ref: RU:Key:ref
religion: RU:Key:religion religion: RU:Key:religion
@ -1426,7 +1590,9 @@ ru:
amenity=waste_basket: RU:Tag:amenity=waste basket amenity=waste_basket: RU:Tag:amenity=waste basket
amenity=waste_disposal: RU:Tag:amenity=waste disposal amenity=waste_disposal: RU:Tag:amenity=waste disposal
atm=yes: RU:Tag:atm=yes atm=yes: RU:Tag:atm=yes
barrier=fence: RU:Tag:barrier=fence
barrier=lift_gate: RU:Tag:barrier=lift gate barrier=lift_gate: RU:Tag:barrier=lift gate
barrier=toll_booth: RU:Tag:barrier=toll booth
building=entrance: RU:Tag:building=entrance building=entrance: RU:Tag:building=entrance
highway=bridleway: RU:Tag:highway=bridleway highway=bridleway: RU:Tag:highway=bridleway
highway=bus_stop: RU:Tag:highway=bus stop highway=bus_stop: RU:Tag:highway=bus stop
@ -1473,6 +1639,7 @@ ru:
landuse=industrial: RU:Tag:landuse=industrial landuse=industrial: RU:Tag:landuse=industrial
landuse=meadow: RU:Tag:landuse=meadow landuse=meadow: RU:Tag:landuse=meadow
landuse=military: RU:Tag:landuse=military landuse=military: RU:Tag:landuse=military
landuse=peat_cutting: RU:Tag:landuse=peat cutting
landuse=railway: RU:Tag:landuse=railway landuse=railway: RU:Tag:landuse=railway
landuse=reservoir: RU:Tag:landuse=reservoir landuse=reservoir: RU:Tag:landuse=reservoir
landuse=residential: RU:Tag:landuse=residential landuse=residential: RU:Tag:landuse=residential
@ -1482,6 +1649,7 @@ ru:
man_made=cutline: RU:Tag:man made=cutline man_made=cutline: RU:Tag:man made=cutline
man_made=lighthouse: RU:Tag:man made=lighthouse man_made=lighthouse: RU:Tag:man made=lighthouse
man_made=pier: RU:Tag:man made=pier man_made=pier: RU:Tag:man made=pier
natural=beach: RU:Tag:natural=beach
natural=fell: RU:Tag:natural=fell natural=fell: RU:Tag:natural=fell
natural=spring: RU:Tag:natural=spring natural=spring: RU:Tag:natural=spring
natural=tree: RU:Tag:natural=tree natural=tree: RU:Tag:natural=tree
@ -1493,7 +1661,9 @@ ru:
place=island: RU:Tag:place=island place=island: RU:Tag:place=island
place=town: RU:Tag:place=town place=town: RU:Tag:place=town
place=village: RU:Tag:place=village place=village: RU:Tag:place=village
power=generator: RU:Tag:power=generator
power=line: RU:Tag:power=line power=line: RU:Tag:power=line
power=station: RU:Tag:power=station
power=sub_station: RU:Tag:power=sub station power=sub_station: RU:Tag:power=sub station
power=tower: RU:Tag:power=tower power=tower: RU:Tag:power=tower
railway=crossing: RU:Tag:railway=crossing railway=crossing: RU:Tag:railway=crossing
@ -1527,6 +1697,8 @@ ru:
waterway=stream: RU:Tag:waterway=stream waterway=stream: RU:Tag:waterway=stream
waterway=weir: RU:Tag:waterway=weir waterway=weir: RU:Tag:waterway=weir
sv: sv:
key:
access: Sv:Key:access
tag: tag:
amenity=place_of_worship: Sv:Tag:amenity=place of worship amenity=place_of_worship: Sv:Tag:amenity=place of worship
tr: tr:
@ -1553,7 +1725,5 @@ uk:
highway=tertiary: Uk:Tag:highway=tertiary highway=tertiary: Uk:Tag:highway=tertiary
highway=trunk: Uk:Tag:highway=trunk highway=trunk: Uk:Tag:highway=trunk
highway=trunk_link: Uk:Tag:highway=trunk link highway=trunk_link: Uk:Tag:highway=trunk link
zh-hans: highway=unclassified: Uk:Tag:highway=unclassified
key:
place: Zh-hans:Key:place

View file

@ -0,0 +1,11 @@
class AddCallbackToOauthTokens < ActiveRecord::Migration
def self.up
add_column :oauth_tokens, :callback_url, :string
add_column :oauth_tokens, :verifier, :string, :limit => 20
end
def self.down
remove_column :oauth_tokens, :callback_url
remove_column :oauth_tokens, :verifier
end
end

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -1,5 +0,0 @@
doc
pkg
*.log
.DS_Store
.svn

View file

@ -1,61 +0,0 @@
2/11/2009
- Fixed escaping error and file path error in the generator simultaneously reported and fixed by Ivan Valdes and Mike Demers thanks
2/9/2009
- Fixed compatibility issue with OAuth Gem 3.1 (wr0ngway and aeden)
- Added Test:Unit tests to generator (Ed Hickey)
- added missing oauth_clients/edit.html.erb view template (Ed Hickey)
- added missing :oauth_clients resource route in USAGE (Ed Hickey)
- Don't throw NPE it token is not in db (Haruska)
- Cleaned up whitespace (bricolage, Nicholas Nam)
- Fixed bug in default verify_oauth_signature (igrigorik)
- Doc fixes (skippy)
6/23/2008
- Split OAuth controller into two parts: OAuth and OAuth clients. [jcrosby]
revision 31
- patch that fixes a problem in oauth_required from Hannes Tyden and Sean Treadway from SoundCloud. Thanks.
revision 30
- updated to use oauth gem 0.2.1
revision 23
- removed all core libraries from plugin. They are now in the oauth gem.
# oauth-plugin-pre-gem Branch created
revision 18
- added a generator for creation oauth_providers
revision 12
- the bug with post and put has now been fixed.
- better documentation
revision 9
- added a test helper. Include OAuth::TestHelper in your tests or specs to mock incoming requests
revision: 8
- moved tests into oauth folder and renamed them to make them work with autotest by default
- Refactored the request methods to make them more flexible and ready for integrating with ActiveResource
- There are a few tests that fail. All of them to do with put and post requests with payload data. I decided to commit anyway, to get the new api out.
revision: 7
- Done a lot of work on the Server side of things. The Server class has changed a lot and is likely to be incompatible with previous versions
revision: 6
- Throws InsecureSignatureMethod exception if attempting to use straight sha1 or md5.
- Disables plaintext signature over http (throws an InsecureSignatureMethod)
- Better testing of signature methods - the prior tests were seriously flawed.
revision: 5
- Removed support for sha1 and md5
- Implemented draft 6 support of OAuth removing secrets from base string

View file

@ -1,20 +0,0 @@
Copyright (c) 2007 [name of plugin creator]
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,110 +0,0 @@
= OAuth Plugin
This is the beginning of a plugin for implementing OAuth Providers in Rails applications.
See the OAuth specs at:
http://oauth.net/core/1.0/
and the OAuth site at:
http://oauth.net
== Requirements
You need to install the oauth gem (0.2.1) which is the core OAuth ruby library. It will NOT work on any previous version of the gem.
sudo gem install oauth
The Generator currently creates code (in particular views) that only work in Rails 2.
It should not be difficult to manually modify the code to work on Rails 1.2.x
I think the only real issue is that the views have .html.erb extensions. So these could theoretically just be renamed to .rhtml.
Please let me know if this works and I will see if I can make the generator conditionally create .rhtml for pre 2.0 versions of RAILS.
== OAuth Provider generator
While it isn't very flexible at the moment there is an oauth_provider generator which you can use like this:
./script/generate oauth_provider
This generates OAuth and OAuth client controllers as well as the required models.
It requires an authentication framework such as acts_as_authenticated, restful_authentication or restful_open_id_authentication. It also requires Rails 2.0.
=== Routes
You need to add the following to your routes (config/routes.rb)
map.resources :oauth_clients
map.authorize '/oauth/authorize',:controller=>'oauth',:action=>'authorize'
map.request_token '/oauth/request_token',:controller=>'oauth',:action=>'request_token'
map.access_token '/oauth/access_token',:controller=>'oauth',:action=>'access_token'
map.test_request '/oauth/test_request',:controller=>'oauth',:action=>'test_request'
=== User Model
Add the following lines to your user model:
has_many :client_applications
has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application]
=== Migrate database
The database is defined in:
db/migrate/XXX_create_oauth_tables.rb
Run them as any other normal migration in rails with:
rake db:migrate
=== RSpec
The generator installs a collection of RSpec (http://rspec.info) specs instead of normal unit_tests. If you don't use RSpec (and really why aren't you?) feel free to remove the spec folder.
If you would like to contribute regular unit tests I will accept them with a smile.
== Protecting your actions
I recommend that you think about what your users would want to provide access to and limit oauth for those only. For example in a CRUD controller you may think about if you want to let consumer applications do the create, update or delete actions. For your application this might make sense, but for others maybe not.
If you want to give oauth access to everything a registered user can do, just replace the filter you have in your controllers with:
before_filter :login_or_oauth_required
If you want to restrict consumers to the index and show methods of your controller do the following:
before_filter :login_required,:except=>[:show,:index]
before_filter :login_or_oauth_required,:only=>[:show,:index]
If you have an action you only want used via oauth:
before_filter :oauth_required
All of these places the tokens user in current_user as you would expect. It also exposes the following methods:
* current_token - for accessing the token used to authorize the current request
* current_client_application - for accessing information about which consumer is currently accessing your request
You could add application specific information to the OauthToken and ClientApplication model for such things as object level access control, billing, expiry etc. Be creative and you can create some really cool applications here.
== More
The Google Code project is http://code.google.com/p/oauth-plugin/
The Mailing List for all things OAuth in Ruby is:
http://groups.google.com/group/oauth-ruby
The Mailing list for everything else OAuth is:
http://groups.google.com/group/oauth
The OAuth Ruby Gem home page is http://oauth.rubyforge.org
Please help documentation, patches and testing.
Copyright (c) 2007-2008 Pelle Braendgaard, released under the MIT license

View file

@ -1,22 +0,0 @@
require 'rake'
require 'rake/testtask'
require 'rake/rdoctask'
desc 'Default: run unit tests.'
task :default => :test
desc 'Test the oauth plugin.'
Rake::TestTask.new(:test) do |t|
t.libs << 'lib'
t.pattern = 'test/**/*_test.rb'
t.verbose = true
end
desc 'Generate documentation for the oauth plugin.'
Rake::RDocTask.new(:rdoc) do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = 'Oauth'
rdoc.options << '--line-numbers' << '--inline-source'
rdoc.rdoc_files.include('README')
rdoc.rdoc_files.include('lib/**/*.rb')
end

View file

@ -1,24 +0,0 @@
./script/generate oauth_provider
This creates an OAuth Provider controller as well as the requisite models.
It requires an authentication framework such as acts_as_authenticated, restful_authentication or restful_open_id_authentication.
If you generated the migration file (true by default), make sure you run
rake db:migrate
You need to add the following routes to your config/routes.rb file:
map.resources :oauth_clients
map.oauth '/oauth',:controller=>'oauth',:action=>'index'
map.authorize '/oauth/authorize',:controller=>'oauth',:action=>'authorize'
map.request_token '/oauth/request_token',:controller=>'oauth',:action=>'request_token'
map.access_token '/oauth/access_token',:controller=>'oauth',:action=>'access_token'
map.test_request '/oauth/test_request',:controller=>'oauth',:action=>'test_request'
include the following in your user.rb
has_many :client_applications
has_many :tokens, :class_name=>"OauthToken",:order=>"authorized_at desc",:include=>[:client_application]

View file

@ -1,116 +0,0 @@
class OauthProviderGenerator < Rails::Generator::Base
default_options :skip_migration => false
attr_reader :class_path,
:controller_name,
:controller_class_path,
:controller_file_path,
:controller_class_name,
:controller_singular_name,
:controller_plural_name
alias_method :controller_file_name, :controller_singular_name
def initialize(runtime_args, runtime_options = {})
super
@controller_name = args.shift || 'oauth'
@controller_singular_name = 'oauth'
@controller_plural_name = 'oauth'
@controller_file_name = 'oauth'
@controller_class_name="Oauth"
@class_path=''
@controller_class_path=''
end
def manifest
record do |m|
# Check for class naming collisions.
# Check for class naming collisions.
m.class_collisions controller_class_path, "#{controller_class_name}Controller", # Oauth Controller
"#{controller_class_name}Helper",
"#{controller_class_name}ClientsController",
"#{controller_class_name}ClientsHelper"
m.class_collisions class_path, "ClientApplication","OauthNonce","RequestToken","AccessToken","OauthToken"
# Controller, helper, views, and test directories.
m.directory File.join('app/models', class_path)
m.directory File.join('app/controllers', controller_class_path)
m.directory File.join('app/helpers', controller_class_path)
m.directory File.join('app/views', controller_class_path, controller_file_name)
m.directory File.join('app/views', controller_class_path, 'oauth_clients')
m.template 'client_application.rb',File.join('app/models',"client_application.rb")
m.template 'oauth_token.rb', File.join('app/models',"oauth_token.rb")
m.template 'request_token.rb', File.join('app/models',"request_token.rb")
m.template 'access_token.rb', File.join('app/models',"access_token.rb")
m.template 'oauth_nonce.rb', File.join('app/models',"oauth_nonce.rb")
m.template 'controller.rb',File.join('app/controllers',controller_class_path,"#{controller_file_name}_controller.rb")
m.template 'helper.rb',File.join('app/helpers',controller_class_path,"#{controller_file_name}_helper.rb")
m.template 'clients_controller.rb',File.join('app/controllers',controller_class_path,"#{controller_file_name}_clients_controller.rb")
m.template 'clients_helper.rb',File.join('app/helpers',controller_class_path,"#{controller_file_name}_clients_helper.rb")
if !options[:test_unit]
m.directory File.join('spec')
m.directory File.join('spec/models')
m.directory File.join('spec/fixtures', class_path)
m.directory File.join('spec/controllers', controller_class_path)
m.template 'client_application_spec.rb',File.join('spec/models',"client_application_spec.rb")
m.template 'oauth_token_spec.rb', File.join('spec/models',"oauth_token_spec.rb")
m.template 'oauth_nonce_spec.rb', File.join('spec/models',"oauth_nonce_spec.rb")
m.template 'client_applications.yml',File.join('spec/fixtures',"client_applications.yml")
m.template 'oauth_tokens.yml', File.join('spec/fixtures',"oauth_tokens.yml")
m.template 'oauth_nonces.yml', File.join('spec/fixtures',"oauth_nonces.yml")
m.template 'controller_spec_helper.rb', File.join('spec/controllers', controller_class_path,"#{controller_file_name}_controller_spec_helper.rb")
m.template 'controller_spec.rb',File.join('spec/controllers',controller_class_path,"#{controller_file_name}_controller_spec.rb")
m.template 'clients_controller_spec.rb',File.join('spec/controllers',controller_class_path,"#{controller_file_name}_clients_controller_spec.rb")
else
m.directory File.join('test')
m.directory File.join('test/unit')
m.directory File.join('test/fixtures', class_path)
m.directory File.join('test/functional', controller_class_path)
m.template 'client_application_test.rb',File.join('test/unit',"client_application_test.rb")
m.template 'oauth_token_test.rb', File.join('test/unit',"oauth_token_test.rb")
m.template 'oauth_nonce_test.rb', File.join('test/unit',"oauth_nonce_test.rb")
m.template 'client_applications.yml',File.join('test/fixtures',"client_applications.yml")
m.template 'oauth_tokens.yml', File.join('test/fixtures',"oauth_tokens.yml")
m.template 'oauth_nonces.yml', File.join('test/fixtures',"oauth_nonces.yml")
m.template 'controller_test_helper.rb', File.join('test', controller_class_path,"#{controller_file_name}_controller_test_helper.rb")
m.template 'controller_test.rb',File.join('test/functional',controller_class_path,"#{controller_file_name}_controller_test.rb")
m.template 'clients_controller_test.rb',File.join('test/functional',controller_class_path,"#{controller_file_name}_clients_controller_test.rb")
end
m.template '_form.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "_form.html.erb")
m.template 'new.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "new.html.erb")
m.template 'index.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "index.html.erb")
m.template 'show.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "show.html.erb")
m.template 'edit.html.erb', File.join('app/views', controller_class_path, 'oauth_clients', "edit.html.erb")
m.template 'authorize.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize.html.erb")
m.template 'authorize_success.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize_success.html.erb")
m.template 'authorize_failure.html.erb', File.join('app/views', controller_class_path, controller_file_name, "authorize_failure.html.erb")
unless options[:skip_migration]
m.migration_template 'migration.rb', 'db/migrate', :assigns => {
:migration_name => "CreateOauthTables"
}, :migration_file_name => "create_oauth_tables"
end
end
end
protected
def banner
"Usage: #{$0} #{spec.name}"
end
def add_options!(opt)
opt.separator ''
opt.separator 'Options:'
opt.on("--skip-migration",
"Don't generate a migration file") { |v| options[:skip_migration] = v }
opt.on("--test-unit",
"Generate the Test::Unit compatible tests instead of RSpec") { |v| options[:test_unit] = v }
end
end

View file

@ -1,16 +0,0 @@
<div class="field">
<label for="client_application_name">Name*</label><br/>
<%%= f.text_field :name %>
</div>
<div class="field">
<label for="client_application_url">Main Application URL*</label><br/>
<%%= f.text_field :url %>
</div>
<div class="field">
<label for="client_application_callback_url">Callback URL*</label><br/>
<%%= f.text_field :callback_url %>
</div>
<div class="field">
<label for="client_application_support_url">Support URL</label><br/>
<%%= f.text_field :support_url %>
</div>

View file

@ -1,10 +0,0 @@
class AccessToken<OauthToken
validates_presence_of :user
before_create :set_authorized_at
protected
def set_authorized_at
self.authorized_at = Time.now
end
end

View file

@ -1,14 +0,0 @@
<h1>Authorize access to your account</h1>
<p>Would you like to authorize <%%= link_to @token.client_application.name,@token.client_application.url %> (<%%= link_to @token.client_application.url,@token.client_application.url %>) to access your account?</p>
<%% form_tag authorize_url do %>
<%%= hidden_field_tag "oauth_token", @token.token %>
<%%- if params[:oauth_callback] -%>
<%%= hidden_field_tag "oauth_callback", params[:oauth_callback] %>
<%%- end -%>
<p>
<%%= check_box_tag 'authorize' %> authorize access
</p>
<p>
<%%= submit_tag %>
</p>
<%% end %>

View file

@ -1 +0,0 @@
<h1>You have disallowed this request</h1>

View file

@ -1 +0,0 @@
<h1>You have allowed this request</h1>

View file

@ -1,54 +0,0 @@
require 'oauth'
class ClientApplication < ActiveRecord::Base
belongs_to :user
has_many :tokens, :class_name => "OauthToken"
validates_presence_of :name, :url, :key, :secret
validates_uniqueness_of :key
before_validation_on_create :generate_keys
def self.find_token(token_key)
token = OauthToken.find_by_token(token_key, :include => :client_application)
if token && token.authorized?
logger.info "Loaded #{token.token} which was authorized by (user_id=#{token.user_id}) on the #{token.authorized_at}"
token
else
nil
end
end
def self.verify_request(request, options = {}, &block)
begin
signature = OAuth::Signature.build(request, options, &block)
logger.info "Signature Base String: #{signature.signature_base_string}"
logger.info "Consumer: #{signature.send :consumer_key}"
logger.info "Token: #{signature.send :token}"
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
value = signature.verify
logger.info "Signature verification returned: #{value.to_s}"
value
rescue OAuth::Signature::UnknownSignatureMethod => e
logger.info "ERROR"+e.to_s
false
end
end
def oauth_server
@oauth_server ||= OAuth::Server.new("http://your.site")
end
def credentials
@oauth_client ||= OAuth::Consumer.new(key, secret)
end
def create_request_token
RequestToken.create :client_application => self
end
protected
def generate_keys
@oauth_client = oauth_server.generate_consumer_credentials
self.key = @oauth_client.key
self.secret = @oauth_client.secret
end
end

View file

@ -1,60 +0,0 @@
require File.dirname(__FILE__) + '/../spec_helper'
module OAuthSpecHelpers
def create_consumer
@consumer = OAuth::Consumer.new(@application.key,@application.secret,
{
:site => @application.oauth_server.base_url
})
end
def create_test_request
end
def create_oauth_request
@token = AccessToken.create :client_application => @application, :user => users(:quentin)
@request = @consumer.create_signed_request(:get, "/hello", @token)
end
def create_request_token_request
@request = @consumer.create_signed_request(:get, @application.oauth_server.request_token_path, @token)
end
def create_access_token_request
@token = RequestToken.create :client_application => @application
@request = @consumer.create_signed_request(:get, @application.oauth_server.request_token_path, @token)
end
end
describe ClientApplication do #, :shared => true do
include OAuthSpecHelpers
fixtures :users, :client_applications, :oauth_tokens
before(:each) do
@application = ClientApplication.create :name => "Agree2", :url => "http://agree2.com", :user => users(:quentin)
create_consumer
end
it "should be valid" do
@application.should be_valid
end
it "should not have errors" do
@application.errors.full_messages.should == []
end
it "should have key and secret" do
@application.key.should_not be_nil
@application.secret.should_not be_nil
end
it "should have credentials" do
@application.credentials.should_not be_nil
@application.credentials.key.should == @application.key
@application.credentials.secret.should == @application.secret
end
end

View file

@ -1,42 +0,0 @@
require File.dirname(__FILE__) + '/../test_helper'
module OAuthHelpers
def create_consumer
@consumer=OAuth::Consumer.new(@application.key,@application.secret,
{
:site=>@application.oauth_server.base_url
})
end
end
class ClientApplicationTest < ActiveSupport::TestCase
include OAuthHelpers
fixtures :users,:client_applications,:oauth_tokens
def setup
@application = ClientApplication.create :name=>"Agree2",:url=>"http://agree2.com",:user=>users(:quentin)
create_consumer
end
def test_should_be_valid
assert @application.valid?
end
def test_should_not_have_errors
assert_equal [], @application.errors.full_messages
end
def test_should_have_key_and_secret
assert_not_nil @application.key
assert_not_nil @application.secret
end
def test_should_have_credentials
assert_not_nil @application.credentials
assert_equal @application.key, @application.credentials.key
assert_equal @application.secret, @application.credentials.secret
end
end

View file

@ -1,23 +0,0 @@
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
one:
id: 1
name: MyString
url: MyString
support_url: MyString
callback_url: MyString
key: one_key
secret: MyString
user_id: 1
created_at: 2007-11-17 16:56:51
updated_at: 2007-11-17 16:56:51
two:
id: 2
name: MyString
url: MyString
support_url: MyString
callback_url: MyString
key: two_key
secret: MyString
user_id: 1
created_at: 2007-11-17 16:56:51
updated_at: 2007-11-17 16:56:51

View file

@ -1,47 +0,0 @@
class OauthClientsController < ApplicationController
before_filter :login_required
def index
@client_applications = current_user.client_applications
@tokens = current_user.tokens.find :all, :conditions => 'oauth_tokens.invalidated_at is null and oauth_tokens.authorized_at is not null'
end
def new
@client_application = ClientApplication.new
end
def create
@client_application = current_user.client_applications.build(params[:client_application])
if @client_application.save
flash[:notice] = "Registered the information successfully"
redirect_to :action => "show", :id => @client_application.id
else
render :action => "new"
end
end
def show
@client_application = current_user.client_applications.find(params[:id])
end
def edit
@client_application = current_user.client_applications.find(params[:id])
end
def update
@client_application = current_user.client_applications.find(params[:id])
if @client_application.update_attributes(params[:client_application])
flash[:notice] = "Updated the client information successfully"
redirect_to :action => "show", :id => @client_application.id
else
render :action => "edit"
end
end
def destroy
@client_application = current_user.client_applications.find(params[:id])
@client_application.destroy
flash[:notice] = "Destroyed the client application registration"
redirect_to :action => "index"
end
end

View file

@ -1,239 +0,0 @@
require File.dirname(__FILE__) + '/../spec_helper'
require File.dirname(__FILE__) + '/oauth_controller_spec_helper'
require 'oauth/client/action_controller_request'
describe OauthClientsController, "index" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
end
def do_get
get :index
end
it "should be successful" do
do_get
response.should be_success
end
it "should query current_users client applications" do
@user.should_receive(:client_applications).and_return(@client_applications)
do_get
end
it "should assign client_applications" do
do_get
assigns[:client_applications].should equal(@client_applications)
end
it "should render index template" do
do_get
response.should render_template('index')
end
end
describe OauthClientsController, "show" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
end
def do_get
get :show, :id => '3'
end
it "should be successful" do
do_get
response.should be_success
end
it "should query current_users client applications" do
@user.should_receive(:client_applications).and_return(@client_applications)
@client_applications.should_receive(:find).with('3').and_return(@client_application)
do_get
end
it "should assign client_applications" do
do_get
assigns[:client_application].should equal(@client_application)
end
it "should render show template" do
do_get
response.should render_template('show')
end
end
describe OauthClientsController, "new" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
ClientApplication.stub!(:new).and_return(@client_application)
end
def do_get
get :new
end
it "should be successful" do
do_get
response.should be_success
end
it "should assign client_applications" do
do_get
assigns[:client_application].should equal(@client_application)
end
it "should render show template" do
do_get
response.should render_template('new')
end
end
describe OauthClientsController, "edit" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
end
def do_get
get :edit, :id => '3'
end
it "should be successful" do
do_get
response.should be_success
end
it "should query current_users client applications" do
@user.should_receive(:client_applications).and_return(@client_applications)
@client_applications.should_receive(:find).with('3').and_return(@client_application)
do_get
end
it "should assign client_applications" do
do_get
assigns[:client_application].should equal(@client_application)
end
it "should render edit template" do
do_get
response.should render_template('edit')
end
end
describe OauthClientsController, "create" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
@client_applications.stub!(:build).and_return(@client_application)
@client_application.stub!(:save).and_return(true)
end
def do_valid_post
@client_application.should_receive(:save).and_return(true)
post :create, 'client_application'=>{'name' => 'my site'}
end
def do_invalid_post
@client_application.should_receive(:save).and_return(false)
post :create, :client_application=>{:name => 'my site'}
end
it "should query current_users client applications" do
@client_applications.should_receive(:build).and_return(@client_application)
do_valid_post
end
it "should redirect to new client_application" do
do_valid_post
response.should be_redirect
response.should redirect_to(:action => "show", :id => @client_application.id)
end
it "should assign client_applications" do
do_invalid_post
assigns[:client_application].should equal(@client_application)
end
it "should render show template" do
do_invalid_post
response.should render_template('new')
end
end
describe OauthClientsController, "destroy" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
@client_application.stub!(:destroy)
end
def do_delete
delete :destroy, :id => '3'
end
it "should query current_users client applications" do
@user.should_receive(:client_applications).and_return(@client_applications)
@client_applications.should_receive(:find).with('3').and_return(@client_application)
do_delete
end
it "should destroy client applications" do
@client_application.should_receive(:destroy)
do_delete
end
it "should redirect to list" do
do_delete
response.should be_redirect
response.should redirect_to(:action => 'index')
end
end
describe OauthClientsController, "update" do
include OAuthControllerSpecHelper
before(:each) do
login_as_application_owner
end
def do_valid_update
@client_application.should_receive(:update_attributes).and_return(true)
put :update, :id => '1', 'client_application'=>{'name' => 'my site'}
end
def do_invalid_update
@client_application.should_receive(:update_attributes).and_return(false)
put :update, :id => '1', 'client_application'=>{'name' => 'my site'}
end
it "should query current_users client applications" do
@user.should_receive(:client_applications).and_return(@client_applications)
@client_applications.should_receive(:find).with('1').and_return(@client_application)
do_valid_update
end
it "should redirect to new client_application" do
do_valid_update
response.should be_redirect
response.should redirect_to(:action => "show", :id => @client_application.id)
end
it "should assign client_applications" do
do_invalid_update
assigns[:client_application].should equal(@client_application)
end
it "should render show template" do
do_invalid_update
response.should render_template('edit')
end
end

View file

@ -1,280 +0,0 @@
require File.dirname(__FILE__) + '/../test_helper'
require File.dirname(__FILE__) + '/../oauth_controller_test_helper'
require 'oauth/client/action_controller_request'
class OauthClientsController; def rescue_action(e) raise e end; end
class OauthClientsControllerIndexTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
end
def do_get
get :index
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_current_users_client_applications
@user.expects(:client_applications).returns(@client_applications)
do_get
end
def test_should_assign_client_applications
do_get
assert_equal @client_applications, assigns(:client_applications)
end
def test_should_render_index_template
do_get
assert_template 'index'
end
end
class OauthClientsControllerShowTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
end
def do_get
get :show, :id=>'3'
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_current_users_client_applications
@user.expects(:client_applications).returns(@client_applications)
@client_applications.expects(:find).with('3').returns(@client_application)
do_get
end
def test_should_assign_client_applications
do_get
assert_equal @client_application, assigns(:client_application)
end
def test_should_render_show_template
do_get
assert_template 'show'
end
end
class OauthClientsControllerNewTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
ClientApplication.stubs(:new).returns(@client_application)
end
def do_get
get :new
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_assign_client_applications
do_get
assert_equal @client_application, assigns(:client_application)
end
def test_should_render_show_template
do_get
assert_template 'new'
end
end
class OauthClientsControllerEditTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
end
def do_get
get :edit, :id=>'3'
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_current_users_client_applications
@user.expects(:client_applications).returns(@client_applications)
@client_applications.expects(:find).with('3').returns(@client_application)
do_get
end
def test_should_assign_client_applications
do_get
assert_equal @client_application, assigns(:client_application)
end
def test_should_render_edit_template
do_get
assert_template 'edit'
end
end
class OauthClientsControllerCreateTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
@client_applications.stubs(:build).returns(@client_application)
@client_application.stubs(:save).returns(true)
end
def do_valid_post
@client_application.expects(:save).returns(true)
post :create,'client_application'=>{'name'=>'my site'}
end
def do_invalid_post
@client_application.expects(:save).returns(false)
post :create,:client_application=>{:name=>'my site'}
end
def test_should_query_current_users_client_applications
@client_applications.expects(:build).returns(@client_application)
do_valid_post
end
def test_should_redirect_to_new_client_application
do_valid_post
assert_response :redirect
assert_redirected_to(:action => "show", :id => @client_application.id)
end
def test_should_assign_client_applications
do_invalid_post
assert_equal @client_application, assigns(:client_application)
end
def test_should_render_show_template
do_invalid_post
assert_template('new')
end
end
class OauthClientsControllerDestroyTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
@client_application.stubs(:destroy)
end
def do_delete
delete :destroy,:id=>'3'
end
def test_should_query_current_users_client_applications
@user.expects(:client_applications).returns(@client_applications)
@client_applications.expects(:find).with('3').returns(@client_application)
do_delete
end
def test_should_destroy_client_applications
@client_application.expects(:destroy)
do_delete
end
def test_should_redirect_to_list
do_delete
assert_response :redirect
assert_redirected_to :action => 'index'
end
end
class OauthClientsControllerUpdateTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthClientsController
def setup
@controller = OauthClientsController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
login_as_application_owner
end
def do_valid_update
@client_application.expects(:update_attributes).returns(true)
put :update, :id => '1', 'client_application' => {'name'=>'my site'}
end
def do_invalid_update
@client_application.expects(:update_attributes).returns(false)
put :update, :id=>'1', 'client_application' => {'name'=>'my site'}
end
def test_should_query_current_users_client_applications
@user.expects(:client_applications).returns(@client_applications)
@client_applications.expects(:find).with('1').returns(@client_application)
do_valid_update
end
def test_should_redirect_to_new_client_application
do_valid_update
assert_response :redirect
assert_redirected_to :action => "show", :id => @client_application.id
end
def test_should_assign_client_applications
do_invalid_update
assert_equal @client_application, assigns(:client_application)
end
def test_should_render_show_template
do_invalid_update
assert_template('edit')
end
end

View file

@ -1,2 +0,0 @@
module OauthClientsHelper
end

View file

@ -1,62 +0,0 @@
class OauthController < ApplicationController
before_filter :login_required, :except => [:request_token, :access_token, :test_request]
before_filter :login_or_oauth_required, :only => [:test_request]
before_filter :verify_oauth_consumer_signature, :only => [:request_token]
before_filter :verify_oauth_request_token, :only => [:access_token]
# Uncomment the following if you are using restful_open_id_authentication
# skip_before_filter :verify_authenticity_token
def request_token
@token = current_client_application.create_request_token
if @token
render :text => @token.to_query
else
render :nothing => true, :status => 401
end
end
def access_token
@token = current_token && current_token.exchange!
if @token
render :text => @token.to_query
else
render :nothing => true, :status => 401
end
end
def test_request
render :text => params.collect{|k,v|"#{k}=#{v}"}.join("&")
end
def authorize
@token = RequestToken.find_by_token params[:oauth_token]
unless @token.invalidated?
if request.post?
if params[:authorize] == '1'
@token.authorize!(current_user)
redirect_url = params[:oauth_callback] || @token.client_application.callback_url
if redirect_url
redirect_to "#{redirect_url}?oauth_token=#{@token.token}"
else
render :action => "authorize_success"
end
elsif params[:authorize] == "0"
@token.invalidate!
render :action => "authorize_failure"
end
end
else
render :action => "authorize_failure"
end
end
def revoke
@token = current_user.tokens.find_by_token params[:token]
if @token
@token.invalidate!
flash[:notice] = "You've revoked the token for #{@token.client_application.name}"
end
redirect_to oauth_clients_url
end
end

View file

@ -1,296 +0,0 @@
require File.dirname(__FILE__) + '/../spec_helper'
require File.dirname(__FILE__) + '/oauth_controller_spec_helper'
require 'oauth/client/action_controller_request'
describe OauthController, "getting a request token" do
include OAuthControllerSpecHelper
before(:each) do
setup_oauth
sign_request_with_oauth
@client_application.stub!(:create_request_token).and_return(@request_token)
end
def do_get
get :request_token
end
it "should be successful" do
do_get
response.should be_success
end
it "should query for client_application" do
ClientApplication.should_receive(:find_by_key).with('key').and_return(@client_application)
do_get
end
it "should request token from client_application" do
@client_application.should_receive(:create_request_token).and_return(@request_token)
do_get
end
it "should return token string" do
do_get
response.body.should == @request_token_string
end
end
describe OauthController, "token authorization" do
include OAuthControllerSpecHelper
before(:each) do
login
setup_oauth
RequestToken.stub!(:find_by_token).and_return(@request_token)
end
def do_get
get :authorize, :oauth_token => @request_token.token
end
def do_post
@request_token.should_receive(:authorize!).with(@user)
post :authorize, :oauth_token => @request_token.token, :authorize => "1"
end
def do_post_without_user_authorization
@request_token.should_receive(:invalidate!)
post :authorize, :oauth_token => @request_token.token, :authorize => "0"
end
def do_post_with_callback
@request_token.should_receive(:authorize!).with(@user)
post :authorize, :oauth_token => @request_token.token, :oauth_callback => "http://application/alternative", :authorize => "1"
end
def do_post_with_no_application_callback
@request_token.should_receive(:authorize!).with(@user)
@client_application.stub!(:callback_url).and_return(nil)
post :authorize, :oauth_token => @request_token.token, :authorize => "1"
end
it "should be successful" do
do_get
response.should be_success
end
it "should query for client_application" do
RequestToken.should_receive(:find_by_token).and_return(@request_token)
do_get
end
it "should assign token" do
do_get
assigns[:token].should equal(@request_token)
end
it "should render authorize template" do
do_get
response.should render_template('authorize')
end
it "should redirect to default callback" do
do_post
response.should be_redirect
response.should redirect_to("http://application/callback?oauth_token=#{@request_token.token}")
end
it "should redirect to callback in query" do
do_post_with_callback
response.should be_redirect
response.should redirect_to("http://application/alternative?oauth_token=#{@request_token.token}")
end
it "should be successful on authorize without any application callback" do
do_post_with_no_application_callback
response.should be_success
end
it "should be successful on authorize without any application callback" do
do_post_with_no_application_callback
response.should render_template('authorize_success')
end
it "should render failure screen on user invalidation" do
do_post_without_user_authorization
response.should render_template('authorize_failure')
end
it "should render failure screen if token is invalidated" do
@request_token.should_receive(:invalidated?).and_return(true)
do_get
response.should render_template('authorize_failure')
end
end
describe OauthController, "getting an access token" do
include OAuthControllerSpecHelper
before(:each) do
setup_oauth
sign_request_with_oauth @request_token
@request_token.stub!(:exchange!).and_return(@access_token)
end
def do_get
get :access_token
end
it "should be successful" do
do_get
response.should be_success
end
it "should query for client_application" do
ClientApplication.should_receive(:find_token).with(@request_token.token).and_return(@request_token)
do_get
end
it "should request token from client_application" do
@request_token.should_receive(:exchange!).and_return(@access_token)
do_get
end
it "should return token string" do
do_get
response.body.should == @access_token_string
end
end
class OauthorizedController<ApplicationController
before_filter :login_or_oauth_required, :only => :both
before_filter :login_required, :only => :interactive
before_filter :oauth_required, :only => :token_only
def interactive
end
def token_only
end
def both
end
end
describe OauthorizedController, " access control" do
include OAuthControllerSpecHelper
before(:each) do
end
it "should have access_token set up correctly" do
setup_to_authorize_request
@access_token.is_a?(AccessToken).should == true
@access_token.should be_authorized
@access_token.should_not be_invalidated
@access_token.user.should == @user
@access_token.client_application.should == @client_application
end
it "should return false for oauth? by default" do
controller.send(:oauth?).should == false
end
it "should return nil for current_token by default" do
controller.send(:current_token).should be_nil
end
it "should allow oauth when using login_or_oauth_required" do
setup_to_authorize_request
sign_request_with_oauth(@access_token)
ClientApplication.should_receive(:find_token).with(@access_token.token).and_return(@access_token)
get :both
controller.send(:current_token).should == @access_token
controller.send(:current_token).is_a?(AccessToken).should == true
controller.send(:current_user).should == @user
controller.send(:current_client_application).should == @client_application
response.code.should == '200'
response.should be_success
end
it "should allow interactive when using login_or_oauth_required" do
login
get :both
response.should be_success
controller.send(:current_user).should == @user
controller.send(:current_token).should be_nil
end
it "should allow oauth when using oauth_required" do
setup_to_authorize_request
sign_request_with_oauth(@access_token)
ClientApplication.should_receive(:find_token).with(@access_token.token).and_return(@access_token)
get :token_only
controller.send(:current_token).should == @access_token
controller.send(:current_client_application).should == @client_application
controller.send(:current_user).should == @user
response.code.should == '200'
response.should be_success
end
it "should disallow oauth using RequestToken when using oauth_required" do
setup_to_authorize_request
ClientApplication.should_receive(:find_token).with(@request_token.token).and_return(@request_token)
sign_request_with_oauth(@request_token)
get :token_only
response.code.should == '401'
end
it "should disallow interactive when using oauth_required" do
login
get :token_only
response.code.should == '401'
controller.send(:current_user).should == @user
controller.send(:current_token).should be_nil
end
it "should disallow oauth when using login_required" do
setup_to_authorize_request
sign_request_with_oauth(@access_token)
get :interactive
response.code.should == "302"
controller.send(:current_user).should be_nil
controller.send(:current_token).should be_nil
end
it "should allow interactive when using login_required" do
login
get :interactive
response.should be_success
controller.send(:current_user).should == @user
controller.send(:current_token).should be_nil
end
end
describe OauthController, "revoke" do
include OAuthControllerSpecHelper
before(:each) do
setup_oauth_for_user
@request_token.stub!(:invalidate!)
end
def do_post
post :revoke, :token => "TOKEN STRING"
end
it "should redirect to index" do
do_post
response.should be_redirect
response.should redirect_to('http://test.host/oauth_clients')
end
it "should query current_users tokens" do
@tokens.should_receive(:find_by_token).and_return(@request_token)
do_post
end
it "should call invalidate on token" do
@request_token.should_receive(:invalidate!)
do_post
end
end

View file

@ -1,74 +0,0 @@
module OAuthControllerSpecHelper
def login
controller.stub!(:local_request?).and_return(true)
@user = mock_model(User)
controller.stub!(:current_user).and_return(@user)
@tokens = []
@tokens.stub!(:find).and_return(@tokens)
@user.stub!(:tokens).and_return(@tokens)
User.stub!(:find_by_id).and_return(@user)
end
def login_as_application_owner
login
@client_application = mock_model(ClientApplication)
@client_applications = [@client_application]
@user.stub!(:client_applications).and_return(@client_applications)
@client_applications.stub!(:find).and_return(@client_application)
end
def setup_oauth
controller.stub!(:local_request?).and_return(true)
@user||=mock_model(User)
User.stub!(:find_by_id).and_return(@user)
@server = OAuth::Server.new "http://test.host"
@consumer = OAuth::Consumer.new('key', 'secret',{:site => "http://test.host"})
@client_application = mock_model(ClientApplication)
controller.stub!(:current_client_application).and_return(@client_application)
ClientApplication.stub!(:find_by_key).and_return(@client_application)
@client_application.stub!(:key).and_return(@consumer.key)
@client_application.stub!(:secret).and_return(@consumer.secret)
@client_application.stub!(:name).and_return("Client Application name")
@client_application.stub!(:callback_url).and_return("http://application/callback")
@request_token = mock_model(RequestToken, :token => 'request_token', :client_application => @client_application, :secret => "request_secret", :user => @user)
@request_token.stub!(:invalidated?).and_return(false)
ClientApplication.stub!(:find_token).and_return(@request_token)
@request_token_string = "oauth_token = request_token&oauth_token_secret = request_secret"
@request_token.stub!(:to_query).and_return(@request_token_string)
@access_token = mock_model(AccessToken, :token => 'access_token', :client_application => @client_application, :secret => "access_secret", :user => @user)
@access_token.stub!(:invalidated?).and_return(false)
@access_token.stub!(:authorized?).and_return(true)
@access_token_string = "oauth_token = access_token&oauth_token_secret = access_secret"
@access_token.stub!(:to_query).and_return(@access_token_string)
@client_application.stub!(:authorize_request?).and_return(true)
# @client_application.stub!(:sign_request_with_oauth_token).and_return(@request_token)
@client_application.stub!(:exchange_for_access_token).and_return(@access_token)
end
def setup_oauth_for_user
login
setup_oauth
@tokens = [@request_token]
@tokens.stub!(:find).and_return(@tokens)
@tokens.stub!(:find_by_token).and_return(@request_token)
@user.stub!(:tokens).and_return(@tokens)
end
def sign_request_with_oauth(token = nil)
ActionController::TestRequest.use_oauth = true
@request.configure_oauth(@consumer,token)
end
def setup_to_authorize_request
setup_oauth
OauthToken.stub!(:find_by_token).with( @access_token.token).and_return(@access_token)
@access_token.stub!(:is_a?).and_return(true)
end
end

View file

@ -1,310 +0,0 @@
require File.dirname(__FILE__) + '/../test_helper'
require File.dirname(__FILE__) + '/../oauth_controller_test_helper'
require 'oauth/client/action_controller_request'
class OauthController; def rescue_action(e) raise e end; end
class OauthControllerRequestTokenTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthController
def setup
@controller = OauthController.new
setup_oauth
sign_request_with_oauth
@client_application.stubs(:create_request_token).returns(@request_token)
end
def do_get
get :request_token
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_for_client_application
ClientApplication.expects(:find_by_key).with('key').returns(@client_application)
do_get
end
def test_should_request_token_from_client_application
@client_application.expects(:create_request_token).returns(@request_token)
do_get
end
def test_should_return_token_string
do_get
assert_equal @request_token_string, @response.body
end
end
class OauthControllerTokenAuthorizationTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthController
def setup
@controller = OauthController.new
login
setup_oauth
RequestToken.stubs(:find_by_token).returns(@request_token)
end
def do_get
get :authorize, :oauth_token => @request_token.token
end
def do_post
@request_token.expects(:authorize!).with(@user)
post :authorize,:oauth_token=>@request_token.token,:authorize=>"1"
end
def do_post_without_user_authorization
@request_token.expects(:invalidate!)
post :authorize,:oauth_token=>@request_token.token,:authorize=>"0"
end
def do_post_with_callback
@request_token.expects(:authorize!).with(@user)
post :authorize,:oauth_token=>@request_token.token,:oauth_callback=>"http://application/alternative",:authorize=>"1"
end
def do_post_with_no_application_callback
@request_token.expects(:authorize!).with(@user)
@client_application.stubs(:callback_url).returns(nil)
post :authorize, :oauth_token => @request_token.token, :authorize=>"1"
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_for_client_application
RequestToken.expects(:find_by_token).returns(@request_token)
do_get
end
def test_should_assign_token
do_get
assert_equal @request_token, assigns(:token)
end
def test_should_render_authorize_template
do_get
assert_template('authorize')
end
def test_should_redirect_to_default_callback
do_post
assert_response :redirect
assert_redirected_to("http://application/callback?oauth_token=#{@request_token.token}")
end
def test_should_redirect_to_callback_in_query
do_post_with_callback
assert_response :redirect
assert_redirected_to("http://application/alternative?oauth_token=#{@request_token.token}")
end
def test_should_be_successful_on_authorize_without_any_application_callback
do_post_with_no_application_callback
assert @response.success?
assert_template('authorize_success')
end
def test_should_render_failure_screen_on_user_invalidation
do_post_without_user_authorization
assert_template('authorize_failure')
end
def test_should_render_failure_screen_if_token_is_invalidated
@request_token.expects(:invalidated?).returns(true)
do_get
assert_template('authorize_failure')
end
end
class OauthControllerGetAccessTokenTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthController
def setup
@controller = OauthController.new
setup_oauth
sign_request_with_oauth @request_token
@request_token.stubs(:exchange!).returns(@access_token)
end
def do_get
get :access_token
end
def test_should_be_successful
do_get
assert @response.success?
end
def test_should_query_for_client_application
ClientApplication.expects(:find_token).with(@request_token.token).returns(@request_token)
do_get
end
def test_should_request_token_from_client_application
@request_token.expects(:exchange!).returns(@access_token)
do_get
end
def test_should__return_token_string
do_get
assert_equal @access_token_string, @response.body
end
end
class OauthorizedController < ApplicationController
before_filter :login_or_oauth_required,:only=>:both
before_filter :login_required,:only=>:interactive
before_filter :oauth_required,:only=>:token_only
def interactive
render :text => "interactive"
end
def token_only
render :text => "token"
end
def both
render :text => "both"
end
end
class OauthControllerAccessControlTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthorizedController
def setup
@controller = OauthorizedController.new
end
def test_should__have_access_token_set_up_correctly
setup_to_authorize_request
assert @access_token.is_a?(AccessToken)
assert @access_token.authorized?
assert !@access_token.invalidated?
assert_equal @user, @access_token.user
assert_equal @client_application, @access_token.client_application
end
def test_should_return_false_for_oauth_by_default
assert_equal false, @controller.send(:oauth?)
end
def test_should_return_nil_for_current_token_by_default
assert_nil @controller.send(:current_token)
end
def test_should_allow_oauth_when_using_login_or_oauth_required
setup_to_authorize_request
sign_request_with_oauth(@access_token)
ClientApplication.expects(:find_token).with(@access_token.token).returns(@access_token)
get :both
assert_equal @access_token, @controller.send(:current_token)
assert @controller.send(:current_token).is_a?(AccessToken)
assert_equal @user, @controller.send(:current_user)
assert_equal @client_application, @controller.send(:current_client_application)
assert_equal '200', @response.code
assert @response.success?
end
def test_should_allow_interactive_when_using_login_or_oauth_required
login
get :both
assert @response.success?
assert_equal @user, @controller.send(:current_user)
assert_nil @controller.send(:current_token)
end
def test_should_allow_oauth_when_using_oauth_required
setup_to_authorize_request
sign_request_with_oauth(@access_token)
ClientApplication.expects(:find_token).with(@access_token.token).returns(@access_token)
get :token_only
assert_equal @access_token, @controller.send(:current_token)
assert_equal @client_application, @controller.send(:current_client_application)
assert_equal @user, @controller.send(:current_user)
assert_equal '200', @response.code
assert @response.success?
end
def test_should_disallow_oauth_using_request_token_when_using_oauth_required
setup_to_authorize_request
ClientApplication.expects(:find_token).with(@request_token.token).returns(@request_token)
sign_request_with_oauth(@request_token)
get :token_only
assert_equal '401', @response.code
end
def test_should_disallow_interactive_when_using_oauth_required
login
get :token_only
assert_equal '401', @response.code
assert_equal @user, @controller.send(:current_user)
assert_nil @controller.send(:current_token)
end
def test_should_disallow_oauth_when_using_login_required
setup_to_authorize_request
sign_request_with_oauth(@access_token)
get :interactive
assert_equal "302",@response.code
assert_nil @controller.send(:current_user)
assert_nil @controller.send(:current_token)
end
def test_should_allow_interactive_when_using_login_required
login
get :interactive
assert @response.success?
assert_equal @user, @controller.send(:current_user)
assert_nil @controller.send(:current_token)
end
end
class OauthControllerRevokeTest < ActionController::TestCase
include OAuthControllerTestHelper
tests OauthController
def setup
@controller = OauthController.new
setup_oauth_for_user
@request_token.stubs(:invalidate!)
end
def do_post
post :revoke, :token => "TOKEN STRING"
end
def test_should_redirect_to_index
do_post
assert_response :redirect
assert_redirected_to('http://test.host/oauth_clients')
end
def test_should_query_current_users_tokens
@tokens.expects(:find_by_token).returns(@request_token)
do_post
end
def test_should_call_invalidate_on_token
@request_token.expects(:invalidate!)
do_post
end
end

View file

@ -1,115 +0,0 @@
require "mocha"
module OAuthControllerTestHelper
# Some custom stuff since we're using Mocha
def mock_model(model_class, options_and_stubs = {})
id = rand(10000)
options_and_stubs.reverse_merge! :id => id,
:to_param => id.to_s,
:new_record? => false,
:errors => stub("errors", :count => 0)
m = stub("#{model_class.name}_#{options_and_stubs[:id]}", options_and_stubs)
m.instance_eval <<-CODE
def is_a?(other)
#{model_class}.ancestors.include?(other)
end
def kind_of?(other)
#{model_class}.ancestors.include?(other)
end
def instance_of?(other)
other == #{model_class}
end
def class
#{model_class}
end
CODE
yield m if block_given?
m
end
def mock_full_client_application
mock_model(ClientApplication,
:name => "App1",
:url => "http://app.com",
:callback_url => "http://app.com/callback",
:support_url => "http://app.com/support",
:key => "asd23423yy",
:secret => "secret",
:oauth_server => OAuth::Server.new("http://kowabunga.com")
)
end
def login
@controller.stubs(:local_request?).returns(true)
@user = mock_model(User, :login => "ron")
@controller.stubs(:current_user).returns(@user)
@tokens=[]
@tokens.stubs(:find).returns(@tokens)
@user.stubs(:tokens).returns(@tokens)
User.stubs(:find_by_id).returns(@user)
end
def login_as_application_owner
login
@client_application = mock_full_client_application
@client_applications = [@client_application]
@user.stubs(:client_applications).returns(@client_applications)
@client_applications.stubs(:find).returns(@client_application)
end
def setup_oauth
@controller.stubs(:local_request?).returns(true)
@user||=mock_model(User)
User.stubs(:find_by_id).returns(@user)
@server=OAuth::Server.new "http://test.host"
@consumer=OAuth::Consumer.new('key','secret',{:site=>"http://test.host"})
@client_application = mock_full_client_application
@controller.stubs(:current_client_application).returns(@client_application)
ClientApplication.stubs(:find_by_key).returns(@client_application)
@client_application.stubs(:key).returns(@consumer.key)
@client_application.stubs(:secret).returns(@consumer.secret)
@client_application.stubs(:name).returns("Client Application name")
@client_application.stubs(:callback_url).returns("http://application/callback")
@request_token=mock_model(RequestToken,:token=>'request_token',:client_application=>@client_application,:secret=>"request_secret",:user=>@user)
@request_token.stubs(:invalidated?).returns(false)
ClientApplication.stubs(:find_token).returns(@request_token)
@request_token_string="oauth_token=request_token&oauth_token_secret=request_secret"
@request_token.stubs(:to_query).returns(@request_token_string)
@access_token=mock_model(AccessToken,:token=>'access_token',:client_application=>@client_application,:secret=>"access_secret",:user=>@user)
@access_token.stubs(:invalidated?).returns(false)
@access_token.stubs(:authorized?).returns(true)
@access_token_string="oauth_token=access_token&oauth_token_secret=access_secret"
@access_token.stubs(:to_query).returns(@access_token_string)
@client_application.stubs(:authorize_request?).returns(true)
# @client_application.stubs(:sign_request_with_oauth_token).returns(@request_token)
@client_application.stubs(:exchange_for_access_token).returns(@access_token)
end
def setup_oauth_for_user
login
setup_oauth
@tokens=[@request_token]
@tokens.stubs(:find).returns(@tokens)
@tokens.stubs(:find_by_token).returns(@request_token)
@user.stubs(:tokens).returns(@tokens)
end
def sign_request_with_oauth(token=nil)
ActionController::TestRequest.use_oauth=true
@request.configure_oauth(@consumer, token)
end
def setup_to_authorize_request
setup_oauth
OauthToken.stubs(:find_by_token).with( @access_token.token).returns(@access_token)
@access_token.stubs(:is_a?).returns(true)
end
end

View file

@ -1,5 +0,0 @@
<h1>Edit your application</h1>
<%% form_for :client_application do |f| %>
<%%= render :partial => "form", :locals => { :f => f } %>
<%%= submit_tag "Edit" %>
<%% end %>

View file

@ -1,2 +0,0 @@
module OauthHelper
end

View file

@ -1,40 +0,0 @@
<div class="flash"><%%= flash[:notice] %></div>
<h1>OAuth Client Applications</h1>
<%% unless @tokens.empty? %>
<p>The following tokens have been issued to applications in your name</p>
<table>
<tr><th>Application</th><th>Issued</th><th>&nbsp;</th></tr>
<%% @tokens.each do |token|%>
<%% content_tag_for :tr, token do %>
<td><%%= link_to token.client_application.name, token.client_application.url %></td>
<td><%%= token.authorized_at %></td>
<td>
<%% form_tag :controller => 'oauth', :action => 'revoke' do %>
<%%= hidden_field_tag 'token', token.token %>
<%%= submit_tag "Revoke!" %>
<%% end %>
</td>
<%% end %>
<%% end %>
</table>
<%% end %>
<h3>Application Developers</h3>
<%% if @client_applications.empty? %>
<p>
Do you have an application you would like to register for use with us using the <a href="http://oauth.net">OAuth</a> standard?
</p>
<p>
You must register your web application before it can make OAuth requests to this service
</p>
<%% else %>
<p>
You have the following client applications registered:
</p>
<%% @client_applications.each do |client|%>
<%% div_for client do %>
<%%= link_to client.name, :action => :show, :id => client.id %>
<%% end %>
<%% end %>
<%% end %>
<h3><%%= link_to "Register your application", :action => :new %></h3>

View file

@ -1,44 +0,0 @@
class CreateOauthTables < ActiveRecord::Migration
def self.up
create_table :client_applications do |t|
t.string :name
t.string :url
t.string :support_url
t.string :callback_url
t.string :key, :limit => 50
t.string :secret, :limit => 50
t.integer :user_id
t.timestamps
end
add_index :client_applications, :key, :unique
create_table :oauth_tokens do |t|
t.integer :user_id
t.string :type, :limit => 20
t.integer :client_application_id
t.string :token, :limit => 50
t.string :secret, :limit => 50
t.timestamp :authorized_at, :invalidated_at
t.timestamps
end
add_index :oauth_tokens, :token, :unique
create_table :oauth_nonces do |t|
t.string :nonce
t.integer :timestamp
t.timestamps
end
add_index :oauth_nonces,[:nonce, :timestamp], :unique
end
def self.down
drop_table :client_applications
drop_table :oauth_tokens
drop_table :oauth_nonces
end
end

View file

@ -1,5 +0,0 @@
<h1>Register a new application</h1>
<%% form_for :client_application, :url => { :action => :create } do |f| %>
<%%= render :partial => "form", :locals => { :f => f } %>
<%%= submit_tag "Register" %>
<%% end %>

Some files were not shown because too many files have changed in this diff Show more