Merge branch 'master' into openstreetbugs

This commit is contained in:
Tom Hughes 2010-05-11 19:53:57 +01:00
commit 959442d087
32 changed files with 451 additions and 76 deletions

View file

@ -18,11 +18,29 @@ class UserController < ApplicationController
cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete] cache_sweeper :user_sweeper, :only => [:account, :set_status, :delete]
def terms
@title = t 'user.new.title'
@user = User.new(params[:user])
@legale = params[:legale] || OSM.IPToCountry(request.remote_ip) || APP_CONFIG['default_legale']
@text = OSM.legal_text_for_country(@legale)
if request.xhr?
render :update do |page|
page.replace_html "contributorTerms", :partial => "terms"
end
elsif @user.invalid?
render :action => 'new'
end
end
def save def save
@title = t 'user.new.title' @title = t 'user.new.title'
if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"}) if Acl.find_by_address(request.remote_ip, :conditions => {:k => "no_account_creation"})
render :action => 'new' render :action => 'new'
elsif params[:decline]
redirect_to t('user.terms.declined')
else else
@user = User.new(params[:user]) @user = User.new(params[:user])
@ -31,6 +49,7 @@ class UserController < ApplicationController
@user.description = "" if @user.description.nil? @user.description = "" if @user.description.nil?
@user.creation_ip = request.remote_ip @user.creation_ip = request.remote_ip
@user.languages = request.user_preferred_languages @user.languages = request.user_preferred_languages
@user.terms_agreed = Time.now.getutc
if @user.save if @user.save
flash[:notice] = t 'user.new.flash create success message' flash[:notice] = t 'user.new.flash create success message'

View file

@ -0,0 +1,30 @@
<p id="first"><%= @text['intro'] %></p>
<ol>
<li>
<p><%= @text['section_1'] %></p>
</li>
<li>
<p><%= @text['section_2'] %></p>
</li>
<li>
<p><%= @text['section_3'] %></p>
<p><%= @text['active_defn_1'] %></p>
<p><%= @text['active_defn_2'] %></p>
</li>
<li>
<p><%= @text['section_4'] %></p>
</li>
<li>
<p><%= @text['section_5'] %></p>
</li>
<li>
<p><%= @text['section_6'] %></p>
<ol>
<li><p><%= @text['section_6_1'] %></p></li>
<li><p><%= @text['section_6_2'] %></p></li>
</ol>
</li>
<li>
<p id="last"><%= @text['section_7'] %></p>
</li>
</ol>

View file

@ -13,12 +13,9 @@
<p><%= t 'user.new.fill_form' %> <p><%= t 'user.new.fill_form' %>
</p> </p>
<p><%= t 'user.new.license_agreement' %>
</p>
<%= error_messages_for 'user' %> <%= error_messages_for 'user' %>
<% form_tag :action => 'save' do %> <% form_tag :action => 'terms' do %>
<%= hidden_field_tag('referer', h(params[:referer])) unless params[:referer].nil? %> <%= hidden_field_tag('referer', h(params[:referer])) unless params[:referer].nil? %>
<table id="signupForm"> <table id="signupForm">
<tr><td class="fieldName"><%= t 'user.new.email address' %></td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr> <tr><td class="fieldName"><%= t 'user.new.email address' %></td><td><%= text_field('user', 'email',{:size => 50, :maxlength => 255, :tabindex => 1}) %></td></tr>
@ -32,7 +29,7 @@
<tr><td class="fieldName"><%= t 'user.new.confirm password' %></td><td><%= password_field('user', 'pass_crypt_confirmation',{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr> <tr><td class="fieldName"><%= t 'user.new.confirm password' %></td><td><%= password_field('user', 'pass_crypt_confirmation',{:size => 30, :maxlength => 255, :tabindex => 5}) %></td></tr>
<tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr> <tr><td colspan="2">&nbsp;<!--vertical spacer--></td></tr>
<tr><td></td><td align="right"><input type="submit" value="<%= t'user.new.signup' %>" tabindex="6"></td></tr> <tr><td></td><td align="right"><input type="submit" value="<%= t'user.new.continue' %>" tabindex="6"></td></tr>
</table> </table>
<% end %> <% end %>

View file

@ -0,0 +1,46 @@
<h1><%= t 'user.terms.heading' %></h1>
<p><%= t 'user.terms.press accept button' %></p>
<!-- legale is <%= @legale %> -->
<% form_tag :action => 'terms' do %>
<p>
<%= t 'user.terms.legale_select' %>
<% [['france', 'FR'], ['italy', 'IT'], ['rest_of_world', 'GB']].each do |name,legale| %>
<%=
radio_button_tag 'legale', legale, @legale == legale,
:onchange => remote_function(
:before => update_page do |page|
page.replace_html 'contributorTerms', image_tag('searching.gif')
end,
:url => {:legale => legale}
)
%>
<%= label_tag "legale_#{legale}", t('user.terms.legale_names.' + name) %>
<% end %>
</p>
<% end %>
<div id="contributorTerms">
<%= render :partial => "terms" %>
</div>
<% form_tag({:action => "save"}, { :id => "termsForm" }) do %>
<p>
<label for="confirm_pd_checkbox"><%= t 'user.terms.consider_pd' %></label>
<%= check_box('user', 'consider_pd') %>
<span class="minorNote">(<%= link_to(t('user.terms.consider_pd_why'), t('user.terms.consider_pd_why_url'), :target => :new)%>)</span>
</p>
<p>
<%= hidden_field_tag('referer', h(params[:referer])) unless params[:referer].nil? %>
<%= hidden_field('user', 'email') %>
<%= hidden_field('user', 'email_confirmation') %>
<%= hidden_field('user', 'display_name') %>
<%= hidden_field('user', 'pass_crypt') %>
<%= hidden_field('user', 'pass_crypt_confirmation') %>
<div id="buttons">
<%= submit_tag(t('user.terms.decline'), :name => "decline", :id => "decline") %>
<%= submit_tag(t('user.terms.agree'), :name => "agree", :id => "agree") %>
</div>
</p>
<% end %>

View file

@ -24,6 +24,8 @@ standard_settings: &standard_settings
#quova_password: "" #quova_password: ""
# Spam threshold # Spam threshold
spam_threshold: 50 spam_threshold: 50
# Default legale (jurisdiction location) for contributor terms
default_legale: GB
development: development:
<<: *standard_settings <<: *standard_settings

12
config/legales/FR.yml Normal file
View file

@ -0,0 +1,12 @@
intro: "Nous vous remercions de votre intérêt pour la base de données géographiques du projet OpenStreetMap (« le Projet ») et pour votre volonté dy intégrer des données et/ou tout autre contenu (collectivement « les Contenus »). Cet accord de contribution (« lAccord ») est conclu entre vous (ci-après « Vous ») et la Fondation OpenStreetMap (« OSMF ») et a pour objectif de définir létendue des droits de propriété intellectuelle relatifs aux Contenus que vous déciderez de soumettre au Projet. Lisez attentivement les articles suivants et si vous en acceptez les termes, cliquez sur le bouton « Jaccepte » en bas de la page afin de continuer."
section_1: "Dans le cas où des Contenus comprennent des éléments soumis à un droit dauteur, Vous acceptez de najouter que des Contenus dont Vous possédez la propriété intellectuelle. Vous garantissez le fait que Vous êtes légalement habilité à octroyer une licence telle que définie à lArticle 2 des Présentes et que cette licence ne contrevient à aucune loi, à aucune disposition contractuelle ni, à votre connaissance, à aucun droit dun tiers. Si Vous nêtes pas détenteur des droits de propriété intellectuelle, Vous devez garantir le fait que vous avez obtenu laccord exprès et préalable dutiliser les droits de propriété intellectuelle afférents au Contenu et de concéder une licence dutilisation de ce Contenu."
section_2: "Droits concédés. Vous concédez à OSMF, dans les conditions définies à larticle 3, de manière irrévocable et perpétuelle, une licence internationale, non soumise aux droits patrimoniaux dauteur et non exclusive, portant sur tout acte relatif au Contenu, quel que soit le support. La concession porte notamment sur une éventuelle utilisation commerciale du Contenu ainsi que sur le droit de sous-licencier lensemble des contributions à des tiers ou sous-traitants. Vous acceptez de ne pas user de votre droit moral à lencontre de OSMF ou de ses sous-traitants si la loi ou les conventions vous donne un tel droit relativement aux Contenus."
section_3: "OSMF consent à utiliser ou sous-licencier votre Contenu comme partie de la base de données et seulement par le biais dune des licences suivantes : ODbL 1.0 pour la base de données et DbCL 1.0 pour les contenus individuels de la base de données ; CC-BY-SA 2.0 ; ou toute autre licence libre et ouverte choisie à la majorité par vote des membres OSMF puis adoptée par une majorité de 2/3 des contributeurs actifs."
active_defn_1: "Un contributeur actif est défini comme suit:"
active_defn_2: "Une personne physique (utilisant un ou plusieurs comptes, agissant pour son compte ou au nom dun tiers pouvant être une société) qui, ayant une adresse email valide dans son profil enregistré a, dans 3 des 12 derniers mois, modifié le Projet, ce qui démontre ainsi son intérêt réel et renouvelé dans le projet et qui, lorsquelle est sollicitée répond dans un délai maximal de 3 semaines."
section_4: "OSMF accepte de Vous citer ou de citer le titulaire des droits dauteur, selon Votre souhait ou celui du titulaire des droits. Le procédé d'attribution sera fourni ultérieurement. Actuellement, il s'agit de la <a href=\"http://wiki.openstreetmap.org/wiki/Attribution\">page web</a>."
section_5: "Nonobstant les cas prévus dans les Présentes, Vous conservez les droits et intérêts à agir relatifs à vos Contenus."
section_6: "Limitation de responsabilité"
section_6_1: "A lexception des garanties prévues à lArticle 1 des Présentes et dans les limites permises par la loi, Vous fournissez les Contenus en létat sans aucune garantie daucune sorte, expresse ou tacite, notamment sans garantie de valeur commerciale, dadéquation à un usage ou à besoin quelconque."
section_6_2: "En cas de responsabilité ne pouvant être limitée ou exclue par la loi, aucun préjudice particulier, indirect ou punitif, lorsque ces termes sappliquent, ne pourra Vous être imputé ou être imputé à OSMF dans le cadre de cet Accord. Cette limitation de responsabilité sapplique même si chaque Partie était avisée de la possibilité de réalisation dun tel dommage."
section_7: "Divers. Cet Accord est régi par le Droit Anglais, nonobstant les règles en vigueur relatives aux conflits de Lois. Vous convenez que la Convention des Nations Unies sur les Ventes Internationales de Marchandises de 1980 est intégralement inapplicable à cet Accord. Cet Accord entre Vous et OSMF remplace et annule tout accord antérieur, quil soit oral ou écrit, concernant lobjet de cet Accord."

12
config/legales/GB.yml Normal file
View file

@ -0,0 +1,12 @@
intro: "Thank you for your interest in contributing data and/or any other content (collectively, 'Contents') to the geo-database of the OpenStreetMap project (the 'Project'). This contributor agreement (the 'Agreement') is made between you ('You') and The OpenStreetMap Foundation ('OSMF') and clarifies the intellectual property rights in any Contents that You choose to submit to the Project. Please read the following terms and conditions carefully and click either the 'Accept' or 'Decline' button at the bottom to continue."
section_1: "You agree to only add Contents for which You are the copyright holder (to the extent the Contents include any copyrightable elements). You represent and warrant that You are legally entitled to grant the licence in Section 2 below and that such licence does not violate any law, breach any contract, or, to the best of Your knowledge, infringe any third partys rights. If You are not the copyright holder of the Contents, You represent and warrant that You have explicit permission from the rights holder to submit the Contents and grant the licence below."
section_2: "Rights granted. Subject to Section 3 below, You hereby grant to OSMF a worldwide, royalty-free, non-exclusive, perpetual, irrevocable licence to do any act that is restricted by copyright over anything within the Contents, whether in the original medium or any other. These rights explicitly include commercial use, and do not exclude any field of endeavour. These rights include, without limitation, the right to sublicense the work through multiple tiers of sublicensees. To the extent allowable under applicable local laws and copyright conventions, You also waive and/or agree not to assert against OSMF or its licensees any moral rights that You may have in the Contents."
section_3: "OSMF agrees to use or sub-license Your Contents as part of a database and only under the terms of one of the following licences: ODbL 1.0 for the database and DbCL 1.0 for the individual contents of the database; CC-BY-SA 2.0; or another free and open licence. Which other free and open licence is chosen by a vote of the OSMF membership and approved by at least a 2/3 majority vote of active contributors."
active_defn_1: "An 'active contributor' is defined as:"
active_defn_2: "a natural person (whether using a single or multiple accounts) who has edited the Project in any 3 calendar months from the last 12 months (i.e. there is a demonstrated interest over time); and has maintained a valid email address in their registration profile and responds within 3 weeks."
section_4: "At Your or the copyright holders option, OSMF agrees to attribute You or the copyright holder. A mechanism will be provided, currently a <a href=\"http://wiki.openstreetmap.org/wiki/Attribution\">web page</a>."
section_5: "Except as set forth herein, You reserve all right, title, and interest in and to Your Contents."
section_6: "Limitation of Liability"
section_6_1: "To the extent permitted by applicable law, except as provided above in Section 1, You provide the Contents 'as is' without warranty of any kind, either express or implied, including without limitation any warranties or conditions of merchantability, fitness for a particular purpose, or otherwise."
section_6_2: "Subject to any liability that may not be excluded or limited by law, neither You nor OSMF shall be liable for any special, indirect, incidental, consequential, punitive, or exemplary damages under this Agreement, however caused and under any theory of liability. This exclusion applies even if either party has been advised of the possibility of such damages."
section_7: "Miscellaneous. This Agreement shall be governed by English law without regard to principles of conflict of law. You agree that the United Nations Convention on Contracts for the International Sale of Goods (1980) is hereby excluded in its entirety from application to this Agreement. In the event of invalidity of any provision of this Agreement, the parties agree that such invalidity shall not affect the validity of the remaining portions of this Agreement. This is the entire agreement between You and OSMF which supersedes any prior agreement, whether written or oral, relating to the subject matter of this agreement."

13
config/legales/IT.yml Normal file
View file

@ -0,0 +1,13 @@
intro: "Ti ringraziamo per la tua disponibilità a fornire dati e/o qualunque altro contenuto (di seguito indicati collettivamente “Contenuti”) al database geografico del progetto OpenStreetMap (di seguito “Progetto”).. Il presente accordo per la contribuzione di dati (di seguito “Accordo”) si conclude fra Te e la OpenStreetMap Foundation (“OSMF”) e disciplina i diritti sui Contenuti che Tu decidi di apportare al progetto. Leggi per favore le seguenti condizioni generali e premi il tasto “Accetto” o “Rifiuto” posto in fondo al testo per proseguire."
section_1: "Sei impegnato ad apportare esclusivamente contenuti rispetto ai quali Tu sia titolare dei relativi diritti di autore (nella misura in cui i Contenuti riguardino dati o elementi suscettibili di protezione secondo il diritto di autore). Tu dichiari e garantisci di poter validamente concedere la licenza di cui al successivo Articolo 2 e dichiari e garantisci altresì che tale licenza non viola nessuna legge e/o nessun contratto e, per quanto sia di Tua conoscenza, non viola alcun diritto di terzi. Nel caso Tu non sia titolare dei diritti di autore rispetto ai Contenuti, Tu dichiari e garantisci di avere ricevuto del titolare di tali diritti lespressa autorizzazione di apportare i Contenuti e concederne la licenza di cui al successivo punto 2."
section_2: "Diritti concessi. Con il presente Accordo Tu, nei limiti di cui al successivo punto 3, concedi a OSMF in via NON esclusiva una licenza gratuita, valida su tutto il territorio mondiale e di carattere perpetuo e irrevocabile a compiere qualunque atto riservato ai titolari dei diritti di autore sopra i Contenuti e/o qualunque loro singola parte, da effettuarsi su qualunque supporto e mezzo di comunicazione ivi compresi quelli ulteriori e diversi rispetto alloriginale."
section_3: "OSMF userà o concederà in sub-licenza i tuoi Contenuti come parte di un database e solamente nel rispetto di una di queste licenze: ODbl 1.0 per quanto riguarda il database e DdCL 1.0 per i contenuti individuali del database; CC-BY-SA 2.0; o una altra licenza gratuita e di carattere aperto. I membri di OMSF potranno scegliere altre licenze gratuite e di carattere aperto, le quali saranno si intenderanno approvate con il voto della maggioranza dei 2/3 dei voti dei contributori attivi."
active_defn_1: "Per “contributore attivo” deve intendersi:"
active_defn_2: "una persona fisica (indipendentemente dal fatto che usi uno o più account) con i seguenti requisiti cumulativi: 1) che negli ultimi dodici mesi ha fornito in almeno tre diverse circostanze verificatesi in tre diversi mesi propri Contenuti pubblicati nel Progetto (dimostrando così un interesse continuato nel tempo); 2) che ha sempre mantenuto un valido indirizzo email nel suo profilo di registrazione rispondendo a eventuali messaggi entro tre settimane dal loro invio."
section_4: "OSMF riconoscerà la esistenza dei diritti di autore sui Contenuti apportati, e a tal fine indicherà Te o il loro eventuale titolare originario, a scelta di questultimo o Tua. In questo senso verrà attuato un apposito meccanismo di attribuzione, che al momento risulta dalla <a href=\"http://wiki.openstreetmap.org/wiki/Attribution\">pagina web</a>."
section_5: "Salvo quanto stabilito nel presente Accordo, Tu conservi ogni eventuale altro diritto o prerogativa relativa ai Contenuti da Te apportati."
section_6: "Limitazione di responsabilità"
section_6_1: "Nei limiti consentiti dalla legge applicabile, e senza pregiudizio a quanto previsto dal precedente articolo 1; Tu fornisci i Contenuti senza garanzie esplicite o implicite di nessun tipo per quanto riguarda a titolo esemplificativo la loro qualità, assenza di vizi o difetti, adeguatezza e conformità al loro scopo o altro."
section_6_2: "Fatte salve le responsabilità che la legge non permette di escludere o derogare, né Tu né OSMF potranno intendersi responsabili di eventuali danni, siano essi diretti o indiretti, a titolo contrattuale o extracontrattuale, morali o materiali, e a qualunque genere essi appartengano. La presente esclusione di responsabilità sarà valida anche nel caso in cui una delle parti sia stata avvertita della possibilità che tali danni si verifichino."
section_7: "Varie. Il presente Accordo è disciplinato dalla legge vigente in Inghilterra Regno Unito, senza possibilità di applicazione delle relative norme di diritto internazionale privato. Si conviene espressamente che al presente Accordo non potrà essere applicata la Convenzione delle Nazioni Unit."

View file

@ -722,7 +722,7 @@ ar:
subdivision: التقسيم الفرعي subdivision: التقسيم الفرعي
suburb: ضاحية suburb: ضاحية
town: بلدة town: بلدة
unincorporated_area: مساحة غير منظمة unincorporated_area: منطقة فردية
village: قرية village: قرية
railway: railway:
abandoned: سكة حديد مهجورة abandoned: سكة حديد مهجورة

View file

@ -452,7 +452,7 @@ br:
fountain: Feunteun fountain: Feunteun
fuel: Trelosk fuel: Trelosk
grave_yard: Bered grave_yard: Bered
gym: Fitness/jiminas gym: Fitness/embregerezh-korf
hall: Sal hall: Sal
health_centre: Kreizenn yec'hed health_centre: Kreizenn yec'hed
hospital: Ospital hospital: Ospital
@ -465,7 +465,7 @@ br:
marketplace: Marc'hallac'h marketplace: Marc'hallac'h
mountain_rescue: Sikourioù er menezioù mountain_rescue: Sikourioù er menezioù
nightclub: Klub-noz nightclub: Klub-noz
nursery: Diwallerezh nursery: Spluseg
nursing_home: Ti yec'hed nursing_home: Ti yec'hed
office: Burev office: Burev
park: Park park: Park
@ -480,7 +480,7 @@ br:
pub: Tavarn pub: Tavarn
public_building: Savadur foran public_building: Savadur foran
public_market: Marc'had foran public_market: Marc'had foran
reception_area: Tachenn degemer reception_area: Takad degemer
recycling: Lec'h adaozañ recycling: Lec'h adaozañ
restaurant: Preti restaurant: Preti
retirement_home: Ti-retredidi retirement_home: Ti-retredidi
@ -513,18 +513,18 @@ br:
chapel: Chapel chapel: Chapel
church: Iliz church: Iliz
city_hall: Ti-kêr city_hall: Ti-kêr
commercial: Savadur gant burevioù commercial: Savadur kenwerzhel
dormitory: Kouskva dormitory: Kouskva
entrance: Dont-tre ar savadur entrance: Antre ar savadur
faculty: Savadur kevrenn faculty: Kevrenn skol-veur
farm: Savadur feurm farm: Ti feurm
flats: Ranndioù flats: Ranndioù
garage: Karrdi garage: Karrdi
hall: Sal hall: Sal
hospital: Savadur ospital hospital: Savadur ospital
hotel: Leti hotel: Leti
house: Ti house: Ti
industrial: Savadurioù greantel industrial: Savadur greantel
office: Savadur burevioù office: Savadur burevioù
public: Savadur foran public: Savadur foran
residential: Savadur annez residential: Savadur annez
@ -540,12 +540,12 @@ br:
"yes": Savadur "yes": Savadur
highway: highway:
bridleway: Hent evit ar varc'hegerien bridleway: Hent evit ar varc'hegerien
bus_guideway: Hent kirri boutin hentet bus_guideway: Roudenn vus heñchet
bus_stop: Arsav bus bus_stop: Arsav bus
byway: Hent eil renk byway: Hent eil renk
construction: Gourhent o vezañ savet construction: Chanter gourhent
cycleway: Roudenn divrodegoù cycleway: Roudenn divrodegoù
distance_marker: Bonn kilometr distance_marker: Bonn kilometrek
emergency_access_point: Poent moned trummadoù emergency_access_point: Poent moned trummadoù
footway: Gwenodenn evit an droadeien footway: Gwenodenn evit an droadeien
ford: Roudour ford: Roudour
@ -553,19 +553,19 @@ br:
living_street: Straed annez living_street: Straed annez
minor: Hent dister minor: Hent dister
motorway: Gourhent motorway: Gourhent
motorway_junction: Liammadur gourhent motorway_junction: Kengej gourhent
motorway_link: Hentoù gourhentet motorway_link: Gourhent
path: Gwenodenn path: Gwenodenn
pedestrian: Hent evit an droadeien pedestrian: Hent evit an droadeien
platform: Leurenn platform: Leurenn
primary: Hent kentañ renk primary: Hent kentañ renk
primary_link: Hent kentañ primary_link: Pennhent
raceway: Redva raceway: Redva
residential: Takad annezet residential: Takad annezet
road: Hent road: Hent
secondary: Hent eil renk secondary: Hent eil renk
secondary_link: Hent a-eil secondary_link: Hent a eil renk
service: Hent ar servij service: Hent servij
services: Servijoù gourhent services: Servijoù gourhent
steps: Diri steps: Diri
stile: Skalier stile: Skalier
@ -574,11 +574,11 @@ br:
trail: Roudenn trail: Roudenn
trunk: Hent-tizh trunk: Hent-tizh
trunk_link: Hent-tizh trunk_link: Hent-tizh
unclassified: Hent bihan unclassified: Hent dirumm
unsurfaced: Hent nann-gwisket unsurfaced: Hent dizolo
historic: historic:
archaeological_site: Lec'hienn henoniel archaeological_site: Lec'hienn henoniel
battlefield: Takad emgann battlefield: Tachenn emgann
boundary_stone: Bonn harzoù boundary_stone: Bonn harzoù
building: Savadur building: Savadur
castle: Kastell castle: Kastell
@ -601,10 +601,10 @@ br:
brownfield: Tachenn rezet brownfield: Tachenn rezet
cemetery: Bered cemetery: Bered
commercial: Takad kenwerzh commercial: Takad kenwerzh
conservation: Tachenn gwarezet conservation: Takad gwarezet
construction: Savadur construction: Savadur
farm: Atant farm: Atant
farmland: Tachennoù labour-douar farmland: Douaroù-labour
farmyard: Mereuri farmyard: Mereuri
forest: Koadeg forest: Koadeg
grass: Geot grass: Geot
@ -621,17 +621,17 @@ br:
plaza: Plasenn plaza: Plasenn
quarry: Mengleuz quarry: Mengleuz
railway: Hent-houarn railway: Hent-houarn
recreation_ground: Tachenn c'hoari recreation_ground: Leur c'hoari
reservoir: Mirlenn reservoir: Mirlenn
residential: Takad annez residential: Takad annez
retail: Takad kenwerzh retail: Kenwerzhioù
village_green: Tachenn foran gant geot village_green: Takad natur foran
vineyard: Gwinieg vineyard: Gwinieg
wetland: Takad gleborek wetland: Takad gleborek
wood: Koad wood: Koad
leisure: leisure:
beach_resort: Kêr-gouronkañ beach_resort: Kêr-gouronkañ
common: Tachenn kumun common: Tachennoù foran
fishing: Takad pesketa fishing: Takad pesketa
garden: Liorzh garden: Liorzh
golf_course: Tachenn golf golf_course: Tachenn golf
@ -657,7 +657,7 @@ br:
channel: Kanol channel: Kanol
cliff: Tornaod cliff: Tornaod
coastline: Arvor coastline: Arvor
crater: Toull-diskarg crater: Krater
feature: Elfenn feature: Elfenn
fell: Fell fell: Fell
fjord: Fjord fjord: Fjord
@ -699,14 +699,14 @@ br:
houses: Tiez houses: Tiez
island: Enez island: Enez
islet: Enezennig islet: Enezennig
locality: Lec'hiadenn locality: Kêr
moor: Lanneg moor: Lanneg
municipality: Kumun municipality: Kumun
postcode: Kod post postcode: Kod post
region: Rannvro region: Rannvro
sea: Mor sea: Mor
state: Stad state: Stad
subdivision: Eilrannad subdivision: Isrann
suburb: Karter suburb: Karter
town: Kêr town: Kêr
unincorporated_area: Takad diaoz unincorporated_area: Takad diaoz
@ -714,26 +714,26 @@ br:
railway: railway:
abandoned: Hent-houarn dilezet abandoned: Hent-houarn dilezet
construction: Hent-houarn war sevel construction: Hent-houarn war sevel
disused: Hent-houarn dizimplijet disused: Hent-houarn dilezet
disused_station: Porzh-houarn dizimplijet disused_station: Porzh-houarn dilezet
funicular: Hent-houarn fundren funicular: Hent-houarn fundren
halt: Chom a-sav an tren halt: Arsav tren
historic_station: Lec'h chom a-sav istorel an tren historic_station: Arsav tren istorel
junction: Kej hent-houarn junction: Kej hent-houarn
level_crossing: Treuzenn hent-houarn level_crossing: Treuzenn hent-houarn
light_rail: Hent-houarn bihan light_rail: Hent-houarn bihan
monorail: Monorail monorail: Hent-houarn unroud
narrow_gauge: Hent-houarn strizh narrow_gauge: Hent-houarn strizh
platform: Pondalez hent-houarn platform: Savenn hent-houarn
preserved: Hent-houarn miret preserved: Hent-houarn miret
spur: Hent-houarn kevreañ spur: Hent-houarn kevreañ
station: Porzh-houarn station: Porzh-houarn
subway: Arsav metro subway: Arsav metro
subway_entrance: Dont-tre ar metro subway_entrance: Antre metro
switch: Hentoù-houarn heñchañ switch: Hentoù-houarn heñchañ
tram: Tramgarr tram: Tramgarr
tram_stop: Lec'h chom a-sav an tram tram_stop: Arsav tramgarr
yard: Hent rummañ yard: Gar-dibab
shop: shop:
alcohol: Gwezher alkool alcohol: Gwezher alkool
apparel: Stal dilhad apparel: Stal dilhad
@ -744,29 +744,29 @@ br:
bicycle: Stal marc'hoù-houarn bicycle: Stal marc'hoù-houarn
books: Levrdi books: Levrdi
butcher: Kiger butcher: Kiger
car: Stal kirri car: Stal girri
car_dealer: Gwerzher kirri car_dealer: Gwerzher kirri
car_parts: Pezhioù evit ar c'hirri car_parts: Pezhioù evit ar c'hirri
car_repair: Dresañ kirri car_repair: Dresañ kirri
carpet: Stal pallennoù carpet: Stal pallennoù
charity: Stal madobererezh charity: Stal garitez
chemist: Stal produioù yec'hederezh chemist: Stal produioù yec'hederezh
clothes: Stal dilhad clothes: Stal dilhad
computer: Stal urzhiataerioù computer: Stal urzhiataerioù
confectionery: Koñfizerezh confectionery: Koñfizerezh
convenience: Ispiserezh convenience: Ispiserezh
copyshop: Stal luc'heilañ copyshop: Stal luc'heilañ
cosmetics: Stal gwezeladoù cosmetics: Stal produioù kened
department_store: Gour stalioù department_store: Gourstal
discount: Stal discount discount: Stal discount
doityourself: Stal bitellat doityourself: Stal bitellat
drugstore: Apotikerezh drugstore: Apotikerezh
dry_cleaning: Netadur sec'h dry_cleaning: Naetaat ent sec'h
electronics: Stal traoù eletronek electronics: Stal traoù eletronek
estate_agent: Kourater tiez estate_agent: Kourater tiez
farm: Stal evit al labour-douar farm: Stal evit al labour-douar
fashion: Stal giz fashion: Stal gizioù
fish: Peskerezh fish: Stal besked
florist: Bokedour florist: Bokedour
food: Stal voued food: Stal voued
funeral_directors: Kañvlidoù funeral_directors: Kañvlidoù
@ -792,7 +792,7 @@ br:
newsagent: Gwerzher kazetennoù newsagent: Gwerzher kazetennoù
optician: Luneder optician: Luneder
organic: Stal boued bio organic: Stal boued bio
outdoor: Stal obererezhioù en diavaez outdoor: Stal oberiantizoù diavaez
pet: Stal loened pet: Stal loened
photo: Stal luc'hskeudenniñ photo: Stal luc'hskeudenniñ
salon: Saloñs salon: Saloñs
@ -806,7 +806,7 @@ br:
video: Stal videoioù video: Stal videoioù
wine: Kavour gwin wine: Kavour gwin
tourism: tourism:
alpine_hut: Ti repu alpine_hut: Bod menez
artwork: Oberenn arz artwork: Oberenn arz
attraction: Tra zedennus attraction: Tra zedennus
bed_and_breakfast: Bod ha boued bed_and_breakfast: Bod ha boued
@ -814,7 +814,7 @@ br:
camp_site: Tachenn gampiñ camp_site: Tachenn gampiñ
caravan_site: Tachenn karavanennoù caravan_site: Tachenn karavanennoù
chalet: Ti-menez chalet: Ti-menez
guest_house: Ti ostizien guest_house: Ti herberc'h
hostel: Herberc'h hostel: Herberc'h
hotel: Leti hotel: Leti
information: Titouroù information: Titouroù
@ -836,15 +836,15 @@ br:
dock: Dok dock: Dok
drain: Dizourer drain: Dizourer
lock: Skluz lock: Skluz
lock_gate: Dor skluz lock_gate: Skluz
mineral_spring: Mammenn dour melar mineral_spring: Mammenn dour melar
mooring: Fes mooring: Fes
rapids: Taranoù rapids: Taranoù
river: Stêr river: Stêr
riverbank: Strad ar stêr riverbank: Naoz
stream: Gwazh-dour stream: Gwazh-dour
wadi: Oued wadi: Oued
water_point: Lec'h dour water_point: Doureg
waterfall: Lamm-dour waterfall: Lamm-dour
weir: Stankell weir: Stankell
javascripts: javascripts:
@ -1256,9 +1256,9 @@ br:
title: Implijer ebet evel-se title: Implijer ebet evel-se
offline: offline:
heading: Stokañ GPX ezlinenn heading: Stokañ GPX ezlinenn
message: Ar sistem stokañ ha kas GPX a zo dizimplijadus evit poent. message: Ne'z a ket ar sistem stokañ hag enporzhiañ GPX en-dro evit poent.
offline_warning: offline_warning:
message: Dizimplijadus eo ar sistem kas restroù GPX evit ar poent message: Ne'z a ket ar sistem enporzhiañ restroù GPX en-dro evit ar poent
trace: trace:
ago: "{{time_in_words_ago}} zo" ago: "{{time_in_words_ago}} zo"
by: gant by: gant
@ -1348,7 +1348,7 @@ br:
heading: "Aozañ foran :" heading: "Aozañ foran :"
public editing note: public editing note:
heading: Kemm foran heading: Kemm foran
text: Evit poent ez eo ho embannoù dianv, dre-se ne c'hell den skrivañ deoc'h pe gwelet ho lec'hiadur. Evit diskouez ar pezh o peus embannet ha reiñ an tu d'an dud da vont e darempred ganeoc'h dre al lec'hienn, klikit war al liamm da heul. <b>Abaoe ar c'hemm davet ar stumm API 0.6, ne c'hell nemet an dud gant an doare "kemmoù foran" embann kartennoù</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">gouzout hiroc'h</a>).<ul><li>Ne vo ket roet ho chomlec'h e-mail d'an dud o kregiñ ganti.</li><li>An obererezh-se ne c'hell ket bezañ nullet hag an implijerien nevez a zo en doare "kemmoù foran" dre ziouer.</li></ul> text: Evit poent ez eo dianv ho tegasadennoù ha den ne c'hall skrivañ deoc'h pe gwelet ho lec'hiadur. Evit diskouez ar pezh hoc'h eus embannet ha reiñ an tu d'an dud da vont e darempred ganeoc'h dre al lec'hienn, klikit war al liamm da-heul. <b>Abaoe ar c'hemm davet ar stumm API 0.6, n'eus nemet an dud gant an doare "kemmoù foran" a c'hall embann kartennoù</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">gouzout hiroc'h</a>).<ul><li>Ne vo ket roet ho chomlec'h postel d'an dud.</li><li>N'hall ket an obererezh-se bezañ nullet hag emañ an holl implijerien nevez gant an doare "kemmoù foran" dre ziouer.</li></ul>
replace image: Erlec'hiañ ar skeudenn a-vremañ replace image: Erlec'hiañ ar skeudenn a-vremañ
return to profile: Distreiñ d'ar profil return to profile: Distreiñ d'ar profil
save changes button: Enrollañ ar c'hemmoù save changes button: Enrollañ ar c'hemmoù

View file

@ -893,7 +893,7 @@ 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_wiki: Hilfe + Wiki
help_wiki_tooltip: Hilfe + Wiki des Projekts help_wiki_tooltip: Hilfe + Wiki des Projekts
help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de help_wiki_url: http://wiki.openstreetmap.org/wiki/Hauptseite?uselang=de
history: Chronik history: Chronik
@ -1456,7 +1456,7 @@ de:
no_auto_account_create: Im Moment ist das automatische Erstellen eines Benutzerkontos leider nicht möglich. no_auto_account_create: Im Moment ist das automatische Erstellen eines Benutzerkontos leider nicht möglich.
not displayed publicly: Nicht öffentlich sichtbar (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy">Datenschutzrichtlinie</a>) not displayed publicly: Nicht öffentlich sichtbar (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy">Datenschutzrichtlinie</a>)
password: "Passwort:" password: "Passwort:"
signup: Registrieren signup: Fortsetzen
title: Benutzerkonto erstellen title: Benutzerkonto erstellen
no_such_user: no_such_user:
body: Es gibt leider keinen Benutzer mit dem Namen {{user}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt. body: Es gibt leider keinen Benutzer mit dem Namen {{user}}. Bitte überprüfe deine Schreibweise oder der Link war beschädigt.

View file

@ -1528,7 +1528,7 @@ en:
no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically." no_auto_account_create: "Unfortunately we are not currently able to create an account for you automatically."
contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible.' contact_webmaster: 'Please contact the <a href="mailto:webmaster@openstreetmap.org">webmaster</a> to arrange for an account to be created - we will try and deal with the request as quickly as possible.'
fill_form: "Fill in the form and we will send you a quick email to activate your account." fill_form: "Fill in the form and we will send you a quick email to activate your account."
license_agreement: 'By creating an account, you agree that all data you submit to the Openstreetmap project is to be (non-exclusively) licensed under <a href="http://creativecommons.org/licenses/by-sa/2.0/">this Creative Commons license (by-sa)</a>.' license_agreement: 'When you confirm your account you will need to agree to the <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">contributor terms</a>.'
email address: "Email Address:" email address: "Email Address:"
confirm email address: "Confirm Email Address:" confirm email address: "Confirm Email Address:"
not displayed publicly: 'Not displayed publicly (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)' not displayed publicly: 'Not displayed publicly (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)'
@ -1536,8 +1536,23 @@ en:
display name description: "Your publicly displayed username. You can change this later in the preferences." display name description: "Your publicly displayed username. You can change this later in the preferences."
password: "Password:" password: "Password:"
confirm password: "Confirm Password:" confirm password: "Confirm Password:"
signup: Signup continue: Continue
flash create success message: "User was successfully created. Check your email for a confirmation note, and you will be mapping in no time :-)<br /><br />Please note that you will not be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests." flash create success message: "User was successfully created. Check your email for a confirmation note, and you will be mapping in no time :-)<br /><br />Please note that you will not be able to login until you've received and confirmed your email address.<br /><br />If you use an antispam system which sends confirmation requests then please make sure you whitelist webmaster@openstreetmap.org as we are unable to reply to any confirmation requests."
terms:
heading: "Contributor terms"
press accept button: "Please read the agreement below and press the agree button to create your account."
consider_pd: "I consider my contributions to be in the Public Domain"
consider_pd_why: "what's this?"
consider_pd_why_url: http://wiki.openstreetmap.org/wiki/Why_would_I_want_my_contributions_to_be_public_domain
agree: Agree
declined: "http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
decline: "Decline"
legale_select: "Please select your country of residence:"
legale_button: "Go"
legale_names:
france: "France"
italy: "Italy"
rest_of_world: "Rest of the world"
no_such_user: no_such_user:
title: "No such user" title: "No such user"
heading: "The user {{user}} does not exist" heading: "The user {{user}} does not exist"

View file

@ -435,6 +435,7 @@ gl:
social_club: Club social social_club: Club social
studio: Estudio studio: Estudio
supermarket: Supermercado supermarket: Supermercado
taxi: Taxi
telephone: Teléfono público telephone: Teléfono público
theatre: Teatro theatre: Teatro
toilets: Aseos toilets: Aseos
@ -646,6 +647,16 @@ 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
license_page:
foreign:
english_link: a orixinal en inglés
text: En caso de conflito entre esta páxina traducida e {{english_original_link}}, a páxina en inglés prevalecerá
title: Acerca desta tradución
native:
mapping_link: comezar a contribuír
native_link: versión en galego
text: Estás vendo a versión en inglés da páxina de dereitos de autor. Pode volver á {{native_link}} desta páxina ou pode deixar de ler sobre os dereitos de autor e {{mapping_link}}.
title: Acerca desta páxina
message: message:
delete: delete:
deleted: Mensaxe borrada deleted: Mensaxe borrada

View file

@ -326,6 +326,10 @@ ia:
recent_entries: "Entratas recente de diario:" recent_entries: "Entratas recente de diario:"
title: Diarios de usatores title: Diarios de usatores
user_title: Diario de {{user}} user_title: Diario de {{user}}
location:
edit: Modificar
location: "Loco:"
view: Vider
new: new:
title: Nove entrata de diario title: Nove entrata de diario
no_such_entry: no_such_entry:
@ -403,6 +407,7 @@ ia:
other: circa {{count}} km other: circa {{count}} km
zero: minus de 1 km zero: minus de 1 km
results: results:
more_results: Plus resultatos
no_results: Nulle resultato trovate no_results: Nulle resultato trovate
search: search:
title: title:
@ -513,22 +518,29 @@ ia:
administrative: Limite administrative administrative: Limite administrative
building: building:
apartments: Bloco de appartamentos apartments: Bloco de appartamentos
block: Bloco de edificios
bunker: Bunker
chapel: Cappella chapel: Cappella
church: Ecclesia church: Ecclesia
city_hall: Casa municipal city_hall: Casa municipal
commercial: Edificio commercial commercial: Edificio commercial
dormitory: Dormitorio
entrance: Entrata de edificio entrance: Entrata de edificio
faculty: Edificio de facultate faculty: Edificio de facultate
farm: Edificio agricole farm: Edificio agricole
flats: Appartamentos flats: Appartamentos
garage: Garage garage: Garage
hall: Sala
hospital: Edificio hospitalari hospital: Edificio hospitalari
hotel: Hotel hotel: Hotel
house: Casa house: Casa
industrial: Edificio industrial industrial: Edificio industrial
office: Edificio de officio
public: Edificio public public: Edificio public
residential: Edificio residential
retail: Magazin retail: Magazin
school: Edificio de schola school: Edificio de schola
shop: Boteca
stadium: Stadio stadium: Stadio
store: Magazin store: Magazin
terrace: Terrassa terrace: Terrassa
@ -574,11 +586,59 @@ ia:
trunk_link: Via national trunk_link: Via national
unclassified: Via non classificate unclassified: Via non classificate
unsurfaced: Cammino de terra unsurfaced: Cammino de terra
historic:
archaeological_site: Sito archeologic
battlefield: Campo de battalia
boundary_stone: Lapide de frontiera
building: Edificio
castle: Castello
church: Ecclesia
house: Casa
icon: Icone
manor: Casa senioral
memorial: Memorial
mine: Mina
monument: Monumento
museum: Museo
ruins: Ruinas
tower: Turre
wayside_cross: Cruce juxta le via
wayside_shrine: Reliquario juxta le via
wreck: Naufragio
landuse: landuse:
allotments: Jardines familial
basin: Bassino
brownfield: Terreno industrial subutilisate
cemetery: Cemeterio
commercial: Area commercial commercial: Area commercial
conservation: Conservation
construction: Construction
farm: Ferma farm: Ferma
farmland: Terra arabile
farmyard: Corte de ferma
forest: Foreste
grass: Herba
greenfield: Terreno sin edificios
industrial: Area industrial
landfill: Discargatorio
meadow: Pastura
military: Area militar military: Area militar
mine: Mina
mountain: Montania
nature_reserve: Reserva natural nature_reserve: Reserva natural
park: Parco
piste: Pista de ski
plaza: Placia
quarry: Petreria
railway: Ferrovia
recreation_ground: Area recreative
reservoir: Reservoir
residential: Area residential
retail: Magazines
village_green: Parco de village
vineyard: Vinia
wetland: Terra humide
wood: Bosco
leisure: leisure:
beach_resort: Loco de vacantias al plagia beach_resort: Loco de vacantias al plagia
common: Terreno commun common: Terreno commun
@ -661,6 +721,29 @@ ia:
town: Urbe town: Urbe
unincorporated_area: Area sin municipalitate unincorporated_area: Area sin municipalitate
village: Village village: Village
railway:
abandoned: Ferrovia abandonate
construction: Ferrovia in construction
disused: Ferrovia in disuso
disused_station: Station ferroviari in disuso
funicular: Ferrovia funicular
halt: Halto de traino
historic_station: Station ferroviari historic
junction: Junction ferroviari
level_crossing: Passage a nivello
light_rail: Metro legier
monorail: Monorail
narrow_gauge: Ferrovia stricte
platform: Platteforma ferroviari
preserved: Ferrovia preservate
spur: Ramification de ferrovia
station: Station ferroviari
subway: Station de metro
subway_entrance: Entrata al metro
switch: Agulia
tram: Tramvia
tram_stop: Halto de tram
yard: Station de manovras
shop: shop:
alcohol: Magazin de bibitas alcoholic alcohol: Magazin de bibitas alcoholic
apparel: Boteca de vestimentos apparel: Boteca de vestimentos
@ -780,9 +863,14 @@ ia:
cycle_map: Carta cyclista cycle_map: Carta cyclista
noname: Sin nomine noname: Sin nomine
site: site:
edit_disabled_tooltip: Face zoom avante pro modificar le carta
edit_tooltip: Modificar le carta
edit_zoom_alert: Tu debe facer zoom avante pro modificar le carta edit_zoom_alert: Tu debe facer zoom avante pro modificar le carta
history_disabled_tooltip: Face zoom avante pro vider le modificationes de iste area
history_tooltip: Vider le modificationes de iste area
history_zoom_alert: Tu debe facer zoom avante pro vider le historia de modification history_zoom_alert: Tu debe facer zoom avante pro vider le historia de modification
layouts: layouts:
copyright: Copyright &amp; Licentia
donate: Supporta OpenStreetMap per {{link}} al Fundo de Actualisation de Hardware. donate: Supporta OpenStreetMap per {{link}} al Fundo de Actualisation de Hardware.
donate_link_text: donation donate_link_text: donation
edit: Modificar edit: Modificar
@ -804,6 +892,7 @@ ia:
intro_2: OpenStreetMap permitte vider, modificar e usar datos geographic de modo collaborative desde ubique in le mundo. intro_2: OpenStreetMap permitte vider, modificar e usar datos geographic de modo collaborative desde ubique in le mundo.
intro_3: Le albergamento de OpenStreetMap es gratiosemente supportate per le {{ucl}} e per {{bytemark}}. Altere sponsores del projecto es listate in le {{partners}}. intro_3: Le albergamento de OpenStreetMap es gratiosemente supportate per le {{ucl}} e per {{bytemark}}. Altere sponsores del projecto es listate in le {{partners}}.
intro_3_bytemark: Bytemark intro_3_bytemark: Bytemark
intro_3_partners: wiki
intro_3_ucl: Centro VR del UCL intro_3_ucl: Centro VR del UCL
license: license:
title: Le datos de OpenStreetMap es disponibile sub le licentia Attribution-Share Alike 2.0 Generic de Creative Commons title: Le datos de OpenStreetMap es disponibile sub le licentia Attribution-Share Alike 2.0 Generic de Creative Commons
@ -873,6 +962,10 @@ ia:
send_message_to: Inviar un nove message a {{name}} send_message_to: Inviar un nove message a {{name}}
subject: Subjecto subject: Subjecto
title: Inviar message title: Inviar message
no_such_message:
body: Non existe un message con iste ID.
heading: Message non existe
title: Message non existe
no_such_user: no_such_user:
body: Regrettabilemente, il non ha un usator o message con iste nomine. body: Regrettabilemente, il non ha un usator o message con iste nomine.
heading: Iste usator non existe heading: Iste usator non existe
@ -900,6 +993,9 @@ ia:
title: Leger message title: Leger message
to: A to: A
unread_button: Marcar como non legite unread_button: Marcar como non legite
wrong_user: Tu es identificate como "{{user}}", ma le message que tu vole leger non ha essite inviate per o a iste usator. Per favor aperi un session como le usator correcte pro poter leger lo.
reply:
wrong_user: Tu es identificate como "{{user}}", ma le message al qual tu vole responder non ha essite inviate a iste usator. Per favor aperi un session como le usator correcte pro poter responder.
sent_message_summary: sent_message_summary:
delete_button: Deler delete_button: Deler
notifier: notifier:

View file

@ -733,7 +733,7 @@ nl:
halt: Treinhalte halt: Treinhalte
historic_station: Historisch spoorwegstation historic_station: Historisch spoorwegstation
junction: Spoorwegkruising junction: Spoorwegkruising
level_crossing: Gelijkvloerse kruising level_crossing: Spoorwegovergang
light_rail: Lightrail light_rail: Lightrail
monorail: Monorail monorail: Monorail
narrow_gauge: Smalspoor narrow_gauge: Smalspoor
@ -743,7 +743,7 @@ nl:
station: Spoorwegstation station: Spoorwegstation
subway: Metrostation subway: Metrostation
subway_entrance: Metroingang subway_entrance: Metroingang
switch: Spoogwegpunten switch: Wissel
tram: Tramrails tram: Tramrails
tram_stop: Tramhalte tram_stop: Tramhalte
yard: Rangeerterrein yard: Rangeerterrein
@ -1399,8 +1399,20 @@ nl:
not_an_administrator: U moet beheerder zijn om deze handeling uit te kunnen voeren. not_an_administrator: U moet beheerder zijn om deze handeling uit te kunnen voeren.
go_public: go_public:
flash success: Al uw bewerkingen zijn nu openbaar en u kunt bewerken. flash success: Al uw bewerkingen zijn nu openbaar en u kunt bewerken.
list:
confirm: Geselecteerde gebruikers bevestigen
empty: Geen gebruikers gevonden
heading: Gebruikers
hide: Gelelecteerde gebruikers verbergen
showing:
one: Pagina {{page}} ({{page}} van {{page}})
other: Pagina {{page}} ({{page}}-{{page}} van {{page}})
summary: "{{name}} aangemaakt vanaf {{ip_address}} op {{date}}"
summary_no_ip: "{{name}} aangemaakt op {{date}}"
title: Gebruikers
login: login:
account not active: Sorry, uw gebruiker is nog niet actief.<br />Klik op de verwijzing in de bevestigingse-mail om deze te activeren. account not active: Sorry, uw gebruiker is nog niet actief.<br />Klik op de verwijzing in de bevestigingse-mail om deze te activeren.
account suspended: Uw gebruiker is automatisch opgeschort vanwege verdachte activiteit.<br />Neem contact op met de <a href="mailto:Template:Webmaster">webmaster</a> als u deze handeling wilt bespreken.
auth failure: Sorry, met deze gegevens kunt u niet aanmelden. auth failure: Sorry, met deze gegevens kunt u niet aanmelden.
create_account: registreren create_account: registreren
email or username: "E-mailadres of gebruikersnaam:" email or username: "E-mailadres of gebruikersnaam:"
@ -1464,6 +1476,10 @@ nl:
title: reset wachtwoord title: reset wachtwoord
set_home: set_home:
flash success: De thuislocatie is opgeslagen flash success: De thuislocatie is opgeslagen
suspended:
body: "<p>Uw gebruiker is automatisch opgeschort vanwege verdachte activiteit.</p>\n<p>Deze beslissing wordt snel beoordeeld door een beheerder, maar u kunt ook contact opnemen met de <a href=\"mailto:{{webmaster}}\">webmaster</a> als u deze handeling wilt bespreken.</p>"
heading: Gebruiker opgeschort
title: Gebruiker opgeschort
view: view:
activate_user: gebruiker actief maken activate_user: gebruiker actief maken
add as friend: vriend toevoegen add as friend: vriend toevoegen
@ -1472,6 +1488,7 @@ nl:
blocks by me: blokkades door mij blocks by me: blokkades door mij
blocks on me: blokkades door mij blocks on me: blokkades door mij
confirm: Bevestigen confirm: Bevestigen
confirm_user: deze gebruiker bevestigen
create_block: gebruiker blokkeren create_block: gebruiker blokkeren
created from: "Aangemaakt door:" created from: "Aangemaakt door:"
deactivate_user: gebruiker inactief maken deactivate_user: gebruiker inactief maken
@ -1507,6 +1524,8 @@ nl:
moderator: Moderatorrechten intrekken moderator: Moderatorrechten intrekken
send message: bericht verzenden send message: bericht verzenden
settings_link_text: voorkeuren settings_link_text: voorkeuren
spam score: "Spamscore:"
status: "Status:"
traces: tracks traces: tracks
unhide_user: gebruiker weer zichtbaar maken unhide_user: gebruiker weer zichtbaar maken
user location: Gebruikerslocatie user location: Gebruikerslocatie

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -134,6 +134,7 @@ br:
option_layer_ooc_scotland: "R-U istorel : Skos" option_layer_ooc_scotland: "R-U istorel : Skos"
option_layer_os_streetview: "R-U : OS StreetView" option_layer_os_streetview: "R-U : OS StreetView"
option_layer_streets_haiti: "Haiti: anvioù ar straedoù" option_layer_streets_haiti: "Haiti: anvioù ar straedoù"
option_layer_surrey_air_survey: "Rouantelezh Unanet : Muzuliadenn Aerel Surrey"
option_layer_tip: Dibab an drekleur da ziskwel option_layer_tip: Dibab an drekleur da ziskwel
option_limitways: Kas ur c'hemenn pa vez karget kalz a roadennoù pounner option_limitways: Kas ur c'hemenn pa vez karget kalz a roadennoù pounner
option_microblog_id: "Anv ar mikroblog :" option_microblog_id: "Anv ar mikroblog :"

View file

@ -1,6 +1,7 @@
# Messages for Portuguese (Português) # Messages for Portuguese (Português)
# Exported from translatewiki.net # Exported from translatewiki.net
# Export driver: syck # Export driver: syck
# Author: Hamilton Abreu
# Author: Luckas Blade # Author: Luckas Blade
# Author: Malafaya # Author: Malafaya
pt: pt:
@ -42,13 +43,16 @@ pt:
hint_saving: a gravar dados hint_saving: a gravar dados
inspector_way_nodes: $1 nós inspector_way_nodes: $1 nós
inspector_way_nodes_closed: $1 nós (fechado) inspector_way_nodes_closed: $1 nós (fechado)
loading: A carregar...
login_pwd: "Palavra-passe:" login_pwd: "Palavra-passe:"
login_uid: "Nome de utilizador:" login_uid: "Nome de utilizador:"
mail: Correio mail: Correio
more: Mais more: Mais
"no": Não
nobackground: Sem fundo nobackground: Sem fundo
ok: Ok ok: Ok
option_fadebackground: Esbater fundo option_fadebackground: Esbater fundo
option_layer_streets_haiti: "Haiti: nomes de ruas"
option_thinareas: Usar linhas mais finas em áreas option_thinareas: Usar linhas mais finas em áreas
option_thinlines: Usar linhas finas em todas as escalas option_thinlines: Usar linhas finas em todas as escalas
option_warnings: Mostrar avisos flutuantes option_warnings: Mostrar avisos flutuantes
@ -61,10 +65,15 @@ pt:
preset_icon_convenience: Loja conveniência preset_icon_convenience: Loja conveniência
preset_icon_fire_station: Bombeiros preset_icon_fire_station: Bombeiros
preset_icon_hospital: Hospital preset_icon_hospital: Hospital
preset_icon_hotel: Hotel
preset_icon_museum: Museu
preset_icon_pharmacy: Farmácia preset_icon_pharmacy: Farmácia
preset_icon_police: Esquadra polícia preset_icon_police: Esquadra polícia
preset_icon_restaurant: Restaurante preset_icon_restaurant: Restaurante
preset_icon_school: Escola
preset_icon_supermarket: Supermercado
preset_icon_telephone: Telefone preset_icon_telephone: Telefone
preset_icon_theatre: Teatro
prompt_addtorelation: Adicionar $1 a uma relação prompt_addtorelation: Adicionar $1 a uma relação
prompt_changesetcomment: "Introduza uma descrição das suas alterações:" prompt_changesetcomment: "Introduza uma descrição das suas alterações:"
prompt_createparallel: Criar via paralela prompt_createparallel: Criar via paralela
@ -76,6 +85,7 @@ pt:
prompt_welcome: Bem-vindo ao OpenStreetMap! prompt_welcome: Bem-vindo ao OpenStreetMap!
revert: Reverter revert: Reverter
save: Gravar save: Gravar
tags_backtolist: Voltar à lista
tip_addrelation: Adicionar a uma relação tip_addrelation: Adicionar a uma relação
tip_alert: Ocorreu um erro - clique para detalhes tip_alert: Ocorreu um erro - clique para detalhes
tip_direction: Direção da via - clique para inverter tip_direction: Direção da via - clique para inverter

View file

@ -161,7 +161,7 @@ ru:
preset_icon_cafe: Кафе preset_icon_cafe: Кафе
preset_icon_cinema: Кинотеатр preset_icon_cinema: Кинотеатр
preset_icon_convenience: Минимаркет preset_icon_convenience: Минимаркет
preset_icon_disaster: Здание на Гаити preset_icon_disaster: Развалины от землетрясения
preset_icon_fast_food: Фастфуд preset_icon_fast_food: Фастфуд
preset_icon_ferry_terminal: Паром preset_icon_ferry_terminal: Паром
preset_icon_fire_station: Пожарная часть preset_icon_fire_station: Пожарная часть

View file

@ -135,6 +135,7 @@ vi:
option_layer_os_streetview: "Anh: OS StreetView" option_layer_os_streetview: "Anh: OS StreetView"
option_layer_osmarender: OSM Osmarender option_layer_osmarender: OSM Osmarender
option_layer_streets_haiti: "Haiti: tên đường sá" option_layer_streets_haiti: "Haiti: tên đường sá"
option_layer_surrey_air_survey: "Anh: Khảo sát Hàng không Surrey"
option_layer_tip: Chọn nền để hiển thị option_layer_tip: Chọn nền để hiển thị
option_limitways: Báo trước khi tải nhiều dữ liệu option_limitways: Báo trước khi tải nhiều dữ liệu
option_microblog_id: "Tên tiểu blog:" option_microblog_id: "Tên tiểu blog:"

View file

@ -120,6 +120,7 @@ ActionController::Routing::Routes.draw do |map|
map.connect '/offline', :controller => 'site', :action => 'offline' map.connect '/offline', :controller => 'site', :action => 'offline'
map.connect '/key', :controller => 'site', :action => 'key' map.connect '/key', :controller => 'site', :action => 'key'
map.connect '/user/new', :controller => 'user', :action => 'new' map.connect '/user/new', :controller => 'user', :action => 'new'
map.connect '/user/terms', :controller => 'user', :action => 'terms'
map.connect '/user/save', :controller => 'user', :action => 'save' map.connect '/user/save', :controller => 'user', :action => 'save'
map.connect '/user/confirm', :controller => 'user', :action => 'confirm' map.connect '/user/confirm', :controller => 'user', :action => 'confirm'
map.connect '/user/confirm-email', :controller => 'user', :action => 'confirm_email' map.connect '/user/confirm-email', :controller => 'user', :action => 'confirm_email'

View file

@ -0,0 +1,11 @@
class AddContributorTermsToUser < ActiveRecord::Migration
def self.up
add_column :users, :terms_agreed, :datetime
add_column :users, :consider_pd, :boolean, :null => false, :default => false
end
def self.down
remove_column :users, :consider_pd
remove_column :users, :terms_agreed
end
end

View file

@ -447,7 +447,7 @@ module OSM
end end
end end
def self.IPLocation(ip_address) def self.IPToCountry(ip_address)
Timeout::timeout(4) do Timeout::timeout(4) do
ipinfo = Quova::IpInfo.new(ip_address) ipinfo = Quova::IpInfo.new(ip_address)
@ -460,9 +460,7 @@ module OSM
end end
end end
country = Country.find_by_code(country.upcase) return country.upcase
return { :minlon => country.min_lon, :minlat => country.min_lat, :maxlon => country.max_lon, :maxlat => country.max_lat }
end end
return nil return nil
@ -470,6 +468,18 @@ module OSM
return nil return nil
end end
def self.IPLocation(ip_address)
code = OSM.IPToCountry(ip_address)
unless code.nil?
country = Country.find_by_code(code)
return { :minlon => country.min_lon, :minlat => country.min_lat, :maxlon => country.max_lon, :maxlat => country.max_lat }
end
return nil
end
# Construct a random token of a given length # Construct a random token of a given length
def self.make_token(length = 30) def self.make_token(length = 30)
chars = 'abcdefghijklmnopqrtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' chars = 'abcdefghijklmnopqrtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
@ -529,4 +539,10 @@ module OSM
return [link_proportion - 0.2, 0.0].max * 200 + link_count * 20 return [link_proportion - 0.2, 0.0].max * 200 + link_count * 20
end end
def self.legal_text_for_country(country_code)
file_name = File.join(RAILS_ROOT, "config", "legales", country_code.to_s + ".yml")
file_name = File.join(RAILS_ROOT, "config", "legales", APP_CONFIG['default_legale'] + ".yml") unless File.exist? file_name
YAML::load_file(file_name)
end
end end

View file

@ -583,6 +583,47 @@ hr {
margin-top: 10px; margin-top: 10px;
} }
/* Rules for the account confirmation page */
div#contributorTerms {
border: 1px solid black;
padding: 4px;
overflow: auto;
width: 80%;
height: 60%;
}
div#contributorTerms p#first {
margin-top: 0px;
}
div#contributorTerms p#last {
margin-bottom: 0px;
}
div#contributorTerms ol {
margin-bottom: 0px;
}
div#contributorTerms img {
display: block;
margin-left: auto;
margin-right: auto;
margin-top: 10%;
}
form#termsForm {
width: 80%;
}
form#termsForm div#buttons {
float: right;
}
form#termsForm input#agree {
margin-left: 50px;
}
/* Rules for the account settings page */ /* Rules for the account settings page */
#accountForm td { #accountForm td {

View file

@ -22,7 +22,7 @@ addresses.each do |address,count|
Acl.create( Acl.create(
:address => address, :address => address,
:netmask => "255.255.255.255", :netmask => "255.255.255.255",
:k => "no_account", :k => "no_account_creation",
:v => "auto_spam_block" :v => "auto_spam_block"
) )

View file

@ -14,13 +14,13 @@ class UserControllerTest < ActionController::TestCase
end end
assert_select "body", :count => 1 do assert_select "body", :count => 1 do
assert_select "div#content", :count => 1 do assert_select "div#content", :count => 1 do
assert_select "form[action='/user/save'][method=post]", :count => 1 do assert_select "form[action='/user/terms'][method=post]", :count => 1 do
assert_select "input[id=user_email]", :count => 1 assert_select "input[id=user_email]", :count => 1
assert_select "input[id=user_email_confirmation]", :count => 1 assert_select "input[id=user_email_confirmation]", :count => 1
assert_select "input[id=user_display_name]", :count => 1 assert_select "input[id=user_display_name]", :count => 1
assert_select "input[id=user_pass_crypt][type=password]", :count => 1 assert_select "input[id=user_pass_crypt][type=password]", :count => 1
assert_select "input[id=user_pass_crypt_confirmation][type=password]", :count => 1 assert_select "input[id=user_pass_crypt_confirmation][type=password]", :count => 1
assert_select "input[type=submit][value=Signup]", :count => 1 assert_select "input[type=submit][value=Continue]", :count => 1
end end
end end
end end