Merge 16743:16811 from trunk.

This commit is contained in:
Tom Hughes 2009-08-03 23:50:47 +00:00
commit cbbfdf3948
15 changed files with 254 additions and 93 deletions

View file

@ -98,9 +98,9 @@ class UserController < ApplicationController
if user
token = user.tokens.create
Notifier.deliver_lost_password(user, token)
flash[:notice] = t 'user.lost_password.notice email on way'
@notice = t 'user.lost_password.notice email on way'
else
flash[:notice] = t 'user.lost_password.notice email cannot find'
@notice = t 'user.lost_password.notice email cannot find'
end
end
end
@ -108,25 +108,28 @@ class UserController < ApplicationController
def reset_password
@title = t 'user.reset_password.title'
if params['token']
if params[:token]
token = UserToken.find_by_token(params[:token])
if token
pass = OSM::make_token(8)
user = token.user
user.pass_crypt = pass
user.pass_crypt_confirmation = pass
user.active = true
user.email_valid = true
user.save!
token.destroy
Notifier.deliver_reset_password(user, pass)
flash[:notice] = t 'user.reset_password.flash changed check mail'
if params[:user]
@user = token.user
@user.pass_crypt = params[:user][:pass_crypt]
@user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
@user.active = true
@user.email_valid = true
if @user.save
token.destroy
flash[:notice] = t 'user.reset_password.flash changed'
redirect_to :action => 'login'
end
end
else
flash[:notice] = t 'user.reset_password.flash token bad'
redirect_to :action => 'lost_password'
end
end
redirect_to :action => 'login'
end
def new

View file

@ -22,13 +22,7 @@ class Notifier < ActionMailer::Base
subject I18n.t('notifier.lost_password.subject')
body :url => url_for(:host => SERVER_URL,
:controller => "user", :action => "reset_password",
:email => user.email, :token => token.token)
end
def reset_password(user, pass)
common_headers user
subject I18n.t('notifier.reset_password.subject')
body :pass => pass
:token => token.token)
end
def gpx_success(trace, possible_points)

View file

@ -4,7 +4,7 @@ class User < ActiveRecord::Base
has_many :traces, :conditions => { :visible => true }
has_many :diary_entries, :order => 'created_at DESC'
has_many :messages, :foreign_key => :to_user_id, :conditions => { :to_user_visible => true }, :order => 'sent_on DESC'
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :message_read => false }, :order => 'sent_on DESC'
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :to_user_visible => true, :message_read => false }, :order => 'sent_on DESC'
has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :conditions => { :from_user_visible => true }, :order => 'sent_on DESC'
has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
has_many :tokens, :class_name => "UserToken"

View file

@ -1,3 +0,0 @@
<p><%= t 'notifier.reset_password_html.greeting' %></p>
<p><%= t 'notifier.reset_password_html.reset', :new_password => @pass %></p>

View file

@ -1,3 +0,0 @@
<%= t 'notifier.reset_password_plain.greeting' %>
<%= t 'notifier.reset_password_plain.reset', :new_password => @pass %>

View file

@ -8,7 +8,7 @@
<p><%= t 'site.edit.not_public' %></p>
<p><%= t 'site.edit.not_public_description',
:user_page => (link_to t('site.edit.user_page_link'), {:controller => 'user', :action => 'account', :display_name => @user.display_name, :anchor => 'public'}) %></p>
<p><%= t 'site.edit.anon_edits', :link => link_to(t('site.edit.anon_edit_link_text'), t('site.edit.anon_edits_link')) %> (<a href=""></a>)</p>
<p><%= t 'site.edit.anon_edits', :link => link_to(t('site.edit.anon_edits_link_text'), t('site.edit.anon_edits_link')) %></p>
<% else %>
<% content_for :greeting do %>
<% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %>

View file

@ -0,0 +1,14 @@
<h1><%= t 'user.reset_password.heading' %></h1>
<%= error_messages_for :user %>
<% form_tag do %>
<%= hidden_field_tag(:token, params[:token]) %>
<table id="loginForm">
<tr><td class="fieldName"><%= t 'user.reset_password.password' %></td><td><%= password_field(:user, :pass_crypt,{:size => 30, :maxlength => 255, :tabindex => 4}) %></td></tr>
<tr><td class="fieldName"><%= t 'user.reset_password.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></td><td align=right><input type="submit" value="<%= t'user.reset_password.reset' %>" tabindex="6"></td></tr>
</table>
<% end %>

View file

@ -239,6 +239,7 @@ de:
showing_page: "Seite"
of: "von"
changeset:
id: "#{{id}}"
still_editing: "(in Bearbeitung)"
anonymous: "Anonym"
no_comment: "(kein Kommentar)"
@ -254,6 +255,15 @@ de:
area: "Bereich"
list:
title: "Changesets"
title_user: "Changesets von {{user}}"
title_bbox: "Changesets in {{bbox}}"
title_user_bbox: "Changesets von {{user}} in {{bbox}}"
heading: "Changesets"
heading_user: "Changesets"
heading_bbox: "Changesets"
heading_user_bbox: "Changesets"
description: "Letzte Änderungen"
description_user: "Letzte Änderungen von {{user}}"
description_bbox: "Letzte Änderungen in {{bbox}}"

View file

@ -260,9 +260,9 @@ en:
title_user_bbox: "Changesets by {{user}} within {{bbox}}"
heading: "Changesets"
heading_user: "Changesets by {{user}}"
heading_bbox: "Changesets within {{bbox}}"
heading_user_bbox: "Changesets by {{user}} within {{bbox}}"
heading_user: "Changesets"
heading_bbox: "Changesets"
heading_user_bbox: "Changesets"
description: "Recent changes"
description_user: "Changesets by {{user}}"
@ -533,14 +533,6 @@ en:
greeting: "Hi,"
hopefully_you: "Someone (possibly you) has asked for the password to be reset on this email address's openstreetmap.org account."
click_the_link: "If this is you, please click the link below to reset your password."
reset_password:
subject: "[OpenStreetMap] Password reset"
reset_password_plain:
greeting: "Hi,"
reset: "Your password has been reset to {{new_password}}"
reset_password_html:
greeting: "Hi,"
reset: "Your password has been reset to {{new_password}}"
message:
inbox:
title: "Inbox"
@ -852,15 +844,19 @@ en:
account not active: "Sorry, your account is not active yet.<br>Please click on the link in the account confirmation email to activate your account."
auth failure: "Sorry, couldn't log in with those details."
lost_password:
title: "lost password"
title: "Lost password"
heading: "Forgotten Password?"
email address: "Email Address:"
new password button: "Send me a new password"
notice email on way: "Sorry you lost it :-( but an email is on its way so you can reset it soon."
notice email cannot find: "Couldn't find that email address, sorry."
reset_password:
title: "reset password"
flash changed check mail: "Your password has been changed and is on its way to your mailbox :-)"
title: "Reset password"
heading: "Reset Password"
password: "Password: "
confirm password: "Confirm Password: "
reset: "Reset Password"
flash changed: "Your password has been changed."
flash token bad: "Didn't find that token, check the URL maybe?"
new:
title: "Create account"

View file

@ -258,9 +258,9 @@ is:
title_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
heading: "Breytingarsett"
heading_user: "Breytingar eftir {{user}}"
heading_bbox: "Breytingar innan {{bbox}}"
heading_user_bbox: "Breytingar eftir {{user}} innan {{bbox}}"
heading_user: "Breytingarsett"
heading_bbox: "Breytingarsett"
heading_user_bbox: "Breytingarsett"
description: "Nýlegar breytingar"
description_user: "Breytingar eftir {{user}}"

View file

@ -72,6 +72,10 @@ pt-BR:
description: "Descrição"
languages: "Línguas"
pass_crypt: "Senha"
printable_name:
with_id: "{{id}}"
with_version: "{{id}}, v{{version}}"
with_name: "{{name}} ({{id}})"
map:
view: "Ver"
edit: "Editar"
@ -83,6 +87,14 @@ pt-BR:
download: "Baixar {{changeset_xml_link}} ou {{osmchange_xml_link}}"
changesetxml: "XML do conjunto de alterações"
osmchangexml: "osmChange XML"
changeset_navigation:
user:
name_tooltip: "Ver edições de {{user}}"
prev_tooltip: "Editado anteriormente por {{user}}"
next_tooltip: "Editado posteriormente por {{user}}"
all:
prev_tooltip: "Conjunto de alterações anterior"
next_tooltip: "Próximo conjunto de alteções"
changeset_details:
created_at: "Criado em:"
closed_at: "Fechado em:"
@ -91,9 +103,15 @@ pt-BR:
no_bounding_box: "Nenhum limite de área foi armazenado para estas alterações."
show_area_box: "Área de exibição"
box: "Área"
has_nodes: "Tem os seguintes {{count}} pontos:"
has_ways: "Tem os seguintes {{count}} caminhos:"
has_relations: "tem as seguintes {{count}} relações:"
has_nodes:
one: "Tem o seguinte {{count}} ponto:"
other: "Tem os seguintes {{count}} pontos:"
has_ways:
one: "Tem o seguinte {{count}} caminho:"
other: "Tem os seguintes {{count}} caminhos:"
has_relations:
one: "Tem a seguinte {{count}} relação:"
other: "Tem as seguintes {{count}} relações:"
common_details:
edited_at: "Editado em:"
edited_by: "Editado por:"
@ -105,20 +123,27 @@ pt-BR:
map:
loading: "Carregando..."
deleted: "Apagado"
larger:
area: "Ver área em um mapa maior"
node: "Ver ponto em um mapa maior"
way: "Ver caminho em um mapa maior"
relation: "Ver relação em um mapa maior"
node_details:
coordinates: "Coordenadas: "
part_of: "Parte de:"
node_history:
node_history: "Histórico do ponto"
node_history_title: "Histórico do ponto: {{node_name}}"
download: "{{download_xml_link}} ou {{view_details_link}}"
download_xml: "Baixar XML"
view_details: "ver detalhes"
node:
node: "Ponto"
node_title: "Ponto: {{node_name}}"
download: "{{download_xml_link}} ou {{view_history_link}}"
download: "{{download_xml_link}}, {{view_history_link}} ou {{edit_link}}"
download_xml: "Baixar XML"
view_history: "ver histórico"
edit: "editar"
not_found:
sorry: "Desculpe, o {{type}} com o ID {{id}}, não pode ser encontrado."
type:
@ -134,6 +159,16 @@ pt-BR:
relation_history:
relation_history: "Histórico de Relação"
relation_history_title: "Histórico da Relação: {{relation_name}}"
download: "{{download_xml_link}} ou {{view_details_link}}"
download_xml: "Baixar XML"
view_details: "ver detalhes"
relation_member:
entry: "{{type}} {{name}}"
entry_role: "{{type}} {{name}} como {{role}}"
type:
node: "Ponto"
way: "Caminho"
relation: "Relação"
relation:
relation: "Relação"
relation_title: "Relação: {{relation_name}}"
@ -198,11 +233,13 @@ pt-BR:
download: "{{download_xml_link}} ou {{view_history_link}}"
download_xml: "Baixar XML"
view_history: "ver histórico"
edit: "editar"
changeset:
changeset_paging_nav:
showing_page: "Exibindo página"
of: "de"
changeset:
id: "#{{id}}"
still_editing: "(ainda editando)"
anonymous: "Anônimo"
no_comment: "(nenhum)"
@ -216,27 +253,21 @@ pt-BR:
user: "Usuário"
comment: "Comentário"
area: "Área"
list_bbox:
history: "Histórico"
changesets_within_the_area: "Alterações na área:"
show_area_box: "exibir limites da área"
no_changesets: "Sem alterações"
all_changes_everywhere: "Para todas as alterações, de qualquer localidade, ver {{recent_changes_link}}"
recent_changes: "Alterações Recentes"
no_area_specified: "Área não especificada"
first_use_view: "Primeiro use o {{view_tab_link}} para mover ou ampliar para uma área de interesse, e então clique na aba de histórico."
view_the_map: "ver o mapa"
view_tab: "ver aba"
alternatively_view: "Alternativamente, ver tudo {{recent_changes_link}}"
list:
recent_changes: "Alterações Recentes"
recently_edited_changesets: "Conjunto de alterações recentes:"
for_more_changesets: "Para mais conjuntos de alterações, selecione um usuário e veja suas edições, ou veja o 'histórico' de edições de uma área específica."
list_user:
edits_by_username: "Edições de {{username_link}}"
no_visible_edits_by: "Sem edições visíveis de {{name}}."
for_all_changes: "Para alterações feitas por todos usuários veja {{recent_changes_link}}"
recent_changes: "Alterações Recentes"
title: "Conjuntos de alterações"
title_user: "Conjuntos de alterações de {{user}}"
title_bbox: "Conjuntos de alterações em {{bbox}}"
title_user_bbox: "Conjuntos de alterações de {{user}} em {{bbox}}"
heading: "Conjuntos de alterações"
heading_user: "Conjuntos de alterações"
heading_bbox: "Conjuntos de alterações"
heading_user_bbox: "Conjuntos de alterações"
description: "Alterações recentes"
description_user: "Conjuntos de alterações de {{user}}"
description_bbox: "Conjuntos de alterações em {{bbox}}"
description_user_bbox: "Conjuntos de alterações de {{user}} em {{bbox}}"
diary_entry:
new:
title: "Nova Entrada de Diário"
@ -269,6 +300,7 @@ pt-BR:
login: "Entrar"
save_button: "Salvar"
no_such_entry:
title: "Entrada de diário inexistente"
heading: "Não há entrada no diário com o id: {{id}}"
body: "Desculpe, não há entrada no diário ou comentário com o id {{id}}. Por favor, verifique se digitou corretamente, ou talvez o link que clicou esteja errado."
no_such_user:
@ -319,14 +351,42 @@ pt-BR:
geocoder:
search:
title:
latlon: 'Resultados de <a href="http://openstreetmap.org/">Internal</a>'
us_postcode: 'Resultados de <a href="http://geocoder.us/">Geocoder.us</a>'
uk_postcode: 'Resultados de <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>'
ca_postcode: 'Resultados de <a href="http://geocoder.ca/">Geocoder.CA</a>'
osm_namefinder: 'Resultados de <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
geonames: 'Resultados de <a href="http://www.geonames.org/">GeoNames</a>'
latlon: 'Resultados <a href="http://openstreetmap.org/">Internos</a>'
us_postcode: 'Resultados do <a href="http://geocoder.us/">Geocoder.us</a>'
uk_postcode: 'Resultados do <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>'
ca_postcode: 'Resultados do <a href="http://geocoder.ca/">Geocoder.CA</a>'
osm_namefinder: 'Resultados do <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
geonames: 'Resultados do <a href="http://www.geonames.org/">GeoNames</a>'
search_osm_namefinder:
prefix: "{{type}} "
suffix_place: ", {{distance}} {{direction}} de {{placename}}"
suffix_parent: "{{suffix}} ({{parentdistance}} {{parentdirection}} de {{parentname}})"
suffix_suburb: "{{suffix}}, {{parentname}}"
description:
title:
osm_namefinder: '{{types}} de <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>'
geonames: 'Localização do <a href="http://www.geonames.org/">GeoNames</a>'
types:
cities: Cidades
towns: Cidades
places: Lugares
description_osm_namefinder:
prefix: "{{distance}} {{direction}} de {{type}} "
results:
no_results: "Não foram encontrados resultados"
no_results: "Nenhum resultado encontrado"
distance:
zero: "a menos de 1km"
one: "a cerca de 1km"
other: "a cerca de {{count}}km"
direction:
south_west: "sudoeste"
south: "sul"
south_east: "sudeste"
east: "leste"
north_east: "nordeste"
north: "norte"
north_west: "noroeste"
west: "oeste"
layouts:
project_name:
# in <title>
@ -362,7 +422,7 @@ pt-BR:
gps_traces_tooltip: "Gerenciar trilhas"
user_diaries: "Diários de Usuário"
user_diaries_tooltip: "Ver os diários dos usuários"
tag_line: "O Wiki de Mapas Livres do Mundo"
tag_line: "O Wiki de Mapas Livres"
intro_1: "OpenStreetMap é um mapa livre e editável do mundo. Ele é feito por pessoas como você."
intro_2: "OpenStreetMap te permite ver, editar e usar dados geográficos de maneira colaborativa de qualquer lugar do mundo."
intro_3: "A hospedagem dos dados do OpenStreetMap é cedida gentilmente por {{ucl}} e {{bytemark}}."
@ -377,7 +437,7 @@ pt-BR:
help_wiki_url: "http://wiki.openstreetmap.org"
news_blog: "Blog de notícias"
news_blog_tooltip: "Blog de notícias sobre o OpenStreetMap, dados geográficos livres, etc."
shop: "Compras"
shop: "Produtos"
shop_tooltip: "Compre produtos com a marca OpenStreetMap"
shop_url: http://wiki.openstreetmap.org/wiki/Merchandise
sotm: 'Venha para a OpenStreetMap Conference 2009 (The State of the Map) de 10 a 12 de julho em Amsterdam!'
@ -430,10 +490,10 @@ pt-BR:
introductory_video: "Você pode assistir um vídeo introdutório (em inglês) sobre o OpenStreetMap aqui:"
more_videos: "Existem mais vídeos aqui:"
the_wiki: "Continue lendo sobre o OpenStreetMap no wiki:"
opengeodata: "OpenGeoData.org é o blog do OpenStreetMap, que também dispõe
de podcasts:"
wiki_signup: "Você também pode querer registrar-se no wiki do
OpenStreetMap em:"
the_wiki_url: "http://wiki.openstreetmap.org/wiki/Beginners%27_Guide"
opengeodata: "OpenGeoData.org é o blog do OpenStreetMap, que também dispõe de podcasts:"
wiki_signup: "Você também pode querer registrar-se no wiki do OpenStreetMap em:"
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
user_wiki_1: "É recomendável que você crie sua página no wiki, incluindo tags de "
user_wiki_2: "categorias marcando onde você está, como [[Category:Users_in_Brazil]]."
@ -496,6 +556,7 @@ OpenStreetMap em:"
unread_button: "Marcar como não lida"
read_button: "Marcar como lida"
reply_button: "Responder"
delete_button: "Apagar"
new:
title: "Enviar mensagem"
send_message_to: "Enviar uma nova mensagem para {{name}}"
@ -531,20 +592,25 @@ OpenStreetMap em:"
reading_your_sent_messages: "Lendo suas mensagens enviadas"
to: "Para"
back_to_outbox: "Voltar para a caixa de saída"
sent_message_summary:
delete_button: "Delete"
mark:
as_read: "Mensagem marcada como lida"
as_unread: "Mensagem marcada como não lida"
delete:
deleted: "Mensagem apagada"
site:
index:
js_1: "Você está usando um navegador sem suporte a javascript, ou está com o javascript desativado."
js_2: "O OpenStreetMap usa javascript para a navegação dos mapas."
js_3: 'Você pode tentar o <a href="http://tah.openstreetmap.org/Browse/">navegador estático Tiles@Home</a> se não for possível ativar o javascript.'
permalink: "Link Permanente"
shortlink: "Link Curto"
license:
notice: "Licenciado sob a {{license_name}} para o {{project_name}} e seus contribuidores."
license_name: "Creative Commons de Atribuição-Compartilhamento pela Mesma Licença 2.0"
license_url: "http://creativecommons.org/licenses/by-sa/2.0/"
project_name: "projeto OpenStreetMap"
project_name: "Projeto OpenStreetMap"
project_url: "http://openstreetmap.org"
edit:
not_public: "Você não configurou suas edições para serem públicas."
@ -566,19 +632,89 @@ OpenStreetMap em:"
key:
map_key: "Map key"
map_key_tooltip: "Map key para a renderização do mapnik neste nível de zoom"
table:
heading: "Legenda para z{{zoom_level}}"
entry:
motorway: "Motorway"
trunk: "Trunk road"
primary: "Primary road"
secondary: "Secondary road"
unclassified: "Unclassified road"
unsurfaced: "Unsurfaced road"
track: "Track"
byway: "Byway"
bridleway: "Bridleway"
cycleway: "Cycleway"
footway: "Footway"
rail: "Railway"
subway: "Subway"
tram:
- Light rail
- tram
cable:
- Cable car
- chair lift
runway:
- Airport Runway
- taxiway
apron:
- Airport apron
- terminal
admin: "Administrative boundary"
forest: "Forest"
wood: "Wood"
golf: "Golf course"
park: "Park"
resident: "Residential area"
tourist: "Tourist attraction"
common:
- Common
- meadow
retail: "Retail area"
industrial: "Industrial area"
commercial: "Commercial area"
heathland: "Heathland"
lake:
- Lake
- reservoir
farm: "Farm"
brownfield: "Brownfield site"
cemetery: "Cemetery"
allotments: "Allotments"
pitch: "Sports pitch"
centre: "Sports centre"
reserve: "Nature reserve"
military: "Military area"
school: "School; university"
building: "Significant building"
station: "Railway station"
summit:
- Summit
- peak
tunnel: "Dashed casing = tunnel"
bridge: "Black casing = bridge"
private: "Private access"
permissive: "Permissive access"
destination: "Destination access"
construction: "Roads under construction"
trace:
create:
upload: "Enviar Trilha GPS"
trace_uploaded: "Seu arquivo GPX foi enviado e está aguardando para ser inserido no banco de dados. Isso normalmente leva meia hora, e um e-mail será enviado para você quando ocorrer."
edit:
title: "Editando trilha {{name}}"
heading: "Editando trilha {{name}}"
filename: "Nome do arquivo:"
uploaded_at: "Subido em:"
download: "baixar"
uploaded_at: "Enviado em:"
points: "Pontos:"
start_coord: "Coordenada de início:"
map: "mapa"
edit: "editar"
owner: "Dono:"
description: "Descrição:"
tags: "Tags:"
tags_help: "separados por vírgulas"
save_button: "Salvar Mudanças"
no_such_user:
title: "Usuário não encontrado"
@ -588,7 +724,10 @@ OpenStreetMap em:"
upload_gpx: "Enviar Arquivo GPX"
description: "Descrição"
tags: "Etiquetas"
tags_help: "separados por vírgulas"
public: "Público?"
public_help: "o que significa isso?"
public_help_url: "http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces"
upload_button: "Enviar"
help: "Ajuda"
help_url: "http://wiki.openstreetmap.org/wiki/Upload"
@ -600,6 +739,8 @@ OpenStreetMap em:"
trace_optionals:
tags: "Etiquetas"
view:
title: "Visualizando trilha {{name}}"
heading: "Visualizando trilha {{name}}"
pending: "PENDENTE"
filename: "Nome do arquivo:"
download: "baixar"
@ -615,7 +756,6 @@ OpenStreetMap em:"
make_public: "Torne esta trilha permanentemente pública"
edit_track: "Edite esta trilha"
delete_track: "Apague esta trilha"
heading: "Visualizando trilha {{name}}"
trace_not_found: "Trilha não encontrada!"
trace_paging_nav:
showing: "Mostrando página"
@ -642,14 +782,14 @@ OpenStreetMap em:"
delete:
scheduled_for_deletion: "Trilha marcada para ser apagada"
make_public:
made_public: "Trilha foi feita pública"
made_public: "Trilha publicada"
user:
login:
title: "Entrar"
heading: "Entrar"
please login: "Por favor entre ou {{create_user_link}}."
please login: "Por favor entre as informações de sua conta para entrar, ou {{create_user_link}}."
create_account: "crie uma nova conta"
email or username: "Endereço de Email ou Nome de Usuário: "
email or username: "Email ou Nome de Usuário: "
password: "Senha: "
lost password link: "Esqueceu sua senha?"
login_button: "Entrar"
@ -672,7 +812,7 @@ OpenStreetMap em:"
no_auto_account_create: "Infelizmente não foi possível criar uma conta para você automaticamente."
contact_webmaster: 'Por favor contate o <a href="mailto:webmaster@openstreetmap.org">webmaster</a> (em inglês) para que uma conta seja criada - nós a criaremos o mais rápido possível. '
fill_form: "Preencha o formulário e lhe enviaremos um email rapidamente para ativar sua conta."
license_agreement: 'Ao criar uma conta, você aceita que todos os dados enviados para o openstreetmap.org serão licenciados (não-exclusivamente) sob a <a href="http://creativecommons.org/licenses/by-sa/2.0/">licença Creative Commons (Atribuição-Compartilhamento pela mesma Licença)</a>.'
license_agreement: 'Ao criar uma conta, você aceita que todos os dados enviados para o openstreetmap.org serão licenciados (não-exclusivamente) sob a <a href="http://creativecommons.org/licenses/by-sa/2.0/">licença Creative Commons de Atribuição e Compartilhamento pela mesma Licença</a>.'
email address: "Endereço de Email: "
confirm email address: "Confirme o Endereço de Email: "
not displayed publicly: 'Não exibir publicamente (veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="política de privacidade no wiki incluindo seção sobre endereços de email">política de privacidade</a>)'
@ -705,12 +845,13 @@ OpenStreetMap em:"
add image: "Adicionar Imagem"
description: "Descrição"
user location: "Local do usuário"
no home location: "Nenhuma localização de casa foi definida."
no home location: "Nenhuma localização foi definida."
if set location: "Se você definir a sua localização, um mapa bonito vai aparecer abaixo. Você pode definir sua localização na página de {{settings_link}}."
settings_link_text: "configurações"
your friends: "Seus amigos"
no friends: "Você ainda não adicionou amigos."
km away: "{{count}} km de distância"
km away: "{{count}}km de distância"
m away: "{{count}}m de distância"
nearby users: "Usuários próximos: "
no nearby users: "Não existem usuários mapeando por perto."
change your settings: "mudar suas configurações"

View file

@ -0,0 +1,9 @@
class AddMessageSenderIndex < ActiveRecord::Migration
def self.up
add_index :messages, [:from_user_id], :name=> "messages_from_user_id_idx"
end
def self.down
drop_index :messages, :name=> "messages_from_user_id_idx"
end
end