Merge branch 'master' into next
authorTom Hughes <tom@compton.nu>
Sun, 10 Jun 2018 16:02:12 +0000 (17:02 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 10 Jun 2018 16:02:12 +0000 (17:02 +0100)
471 files changed:
.rubocop.yml
.rubocop_todo.yml
CONFIGURE.md
Gemfile
Gemfile.lock
Vagrantfile
Vendorfile
app/assets/javascripts/edit/id.js.erb
app/assets/javascripts/index.js
app/assets/javascripts/index/directions.js
app/assets/javascripts/index/directions/graphhopper.js
app/assets/javascripts/index/directions/osrm.js
app/assets/javascripts/index/query.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/messages.js [new file with mode: 0644]
app/assets/stylesheets/browse.scss
app/assets/stylesheets/common.scss
app/controllers/api_controller.rb
app/controllers/application_controller.rb
app/controllers/browse_controller.rb
app/controllers/diary_entry_controller.rb
app/controllers/messages_controller.rb [moved from app/controllers/message_controller.rb with 67% similarity]
app/controllers/notes_controller.rb
app/controllers/oauth_controller.rb
app/controllers/redactions_controller.rb
app/controllers/site_controller.rb
app/controllers/traces_controller.rb [moved from app/controllers/trace_controller.rb with 82% similarity]
app/controllers/user_blocks_controller.rb
app/controllers/user_controller.rb
app/controllers/user_preferences_controller.rb [moved from app/controllers/user_preference_controller.rb with 97% similarity]
app/controllers/user_roles_controller.rb
app/helpers/application_helper.rb
app/helpers/browse_helper.rb
app/helpers/user_blocks_helper.rb
app/models/notifier.rb
app/models/user.rb
app/views/browse/_containing_relation.html.erb
app/views/browse/_relation.html.erb
app/views/browse/_relation_member.html.erb
app/views/browse/_tag_details.html.erb
app/views/browse/_way.html.erb
app/views/browse/changeset.html.erb
app/views/browse/not_found.html.erb
app/views/browse/note.html.erb
app/views/browse/query.html.erb
app/views/browse/timeout.html.erb
app/views/changeset/list.html.erb
app/views/changeset/timeout.atom.builder
app/views/changeset/timeout.html.erb
app/views/diary_entry/_diary_comment.html.erb
app/views/diary_entry/_diary_entry.html.erb
app/views/diary_entry/_location.html.erb
app/views/diary_entry/comments.html.erb
app/views/diary_entry/edit.html.erb
app/views/diary_entry/list.html.erb
app/views/diary_entry/no_such_entry.html.erb
app/views/diary_entry/view.html.erb
app/views/geocoder/results.html.erb
app/views/geocoder/search.html.erb
app/views/layouts/_head.html.erb
app/views/layouts/_header.html.erb
app/views/message/_message_summary.html.erb [deleted file]
app/views/message/delete.js.erb [deleted file]
app/views/message/inbox.html.erb [deleted file]
app/views/message/mark.js.erb [deleted file]
app/views/message/new.html.erb [deleted file]
app/views/message/no_such_message.html.erb [deleted file]
app/views/message/outbox.html.erb [deleted file]
app/views/messages/_message_count.html.erb [moved from app/views/message/_message_count.html.erb with 57% similarity]
app/views/messages/_message_summary.html.erb [new file with mode: 0644]
app/views/messages/_sent_message_summary.html.erb [moved from app/views/message/_sent_message_summary.html.erb with 50% similarity]
app/views/messages/destroy.json.jsonify [new file with mode: 0644]
app/views/messages/inbox.html.erb [new file with mode: 0644]
app/views/messages/mark.json.jsonify [new file with mode: 0644]
app/views/messages/new.html.erb [new file with mode: 0644]
app/views/messages/no_such_message.html.erb [new file with mode: 0644]
app/views/messages/outbox.html.erb [new file with mode: 0644]
app/views/messages/show.html.erb [moved from app/views/message/read.html.erb with 58% similarity]
app/views/notes/_comment.html.erb
app/views/notes/_entry.html.erb
app/views/notes/_note.rss.builder
app/views/notes/feed.rss.builder
app/views/notes/index.rss.builder
app/views/notes/mine.html.erb
app/views/notes/show.rss.builder
app/views/notifier/_message_body.html.erb
app/views/notifier/changeset_comment_notification.html.erb
app/views/notifier/changeset_comment_notification.text.erb
app/views/notifier/diary_comment_notification.html.erb
app/views/notifier/diary_comment_notification.text.erb
app/views/notifier/friend_notification.html.erb
app/views/notifier/friend_notification.text.erb
app/views/notifier/message_notification.html.erb
app/views/notifier/message_notification.text.erb
app/views/notifier/note_comment_notification.html.erb
app/views/notifier/note_comment_notification.text.erb
app/views/notifier/signup_confirm.html.erb
app/views/notifier/signup_confirm.text.erb
app/views/oauth/authorize.html.erb
app/views/oauth/authorize_failure.html.erb
app/views/oauth/authorize_success.html.erb
app/views/oauth_clients/_form.html.erb
app/views/oauth_clients/edit.html.erb
app/views/oauth_clients/index.html.erb
app/views/oauth_clients/new.html.erb
app/views/oauth_clients/not_found.erb
app/views/oauth_clients/show.html.erb
app/views/redactions/edit.html.erb
app/views/redactions/index.html.erb
app/views/redactions/new.html.erb
app/views/redactions/show.html.erb
app/views/site/_markdown_help.html.erb
app/views/site/about.html.erb
app/views/site/copyright.html.erb
app/views/site/edit.html.erb
app/views/site/export.html.erb
app/views/site/fixthemap.html.erb
app/views/site/help.html.erb
app/views/site/key.html.erb
app/views/site/welcome.html.erb
app/views/trace/_description.html.erb [deleted file]
app/views/trace/_trace.html.erb [deleted file]
app/views/trace/_trace_paging_nav.html.erb [deleted file]
app/views/trace/create.html.erb [deleted file]
app/views/trace/edit.html.erb [deleted file]
app/views/trace/offline.html.erb [deleted file]
app/views/trace/view.html.erb [deleted file]
app/views/traces/_description.html.erb [new file with mode: 0644]
app/views/traces/_trace.html.erb [new file with mode: 0644]
app/views/traces/_trace_optionals.html.erb [moved from app/views/trace/_trace_optionals.html.erb with 80% similarity]
app/views/traces/_trace_paging_nav.html.erb [new file with mode: 0644]
app/views/traces/edit.html.erb [new file with mode: 0644]
app/views/traces/georss.rss.builder [moved from app/views/trace/georss.rss.builder with 62% similarity]
app/views/traces/list.html.erb [moved from app/views/trace/list.html.erb with 53% similarity]
app/views/traces/new.html.erb [new file with mode: 0644]
app/views/traces/offline.html.erb [new file with mode: 0644]
app/views/traces/view.html.erb [new file with mode: 0644]
app/views/user/_auth_association.html.erb
app/views/user/_contact.html.erb
app/views/user/_popup.html.erb
app/views/user/account.html.erb
app/views/user/api_read.builder
app/views/user/confirm.html.erb
app/views/user/confirm_email.html.erb
app/views/user/index.html.erb [deleted file]
app/views/user/list.html.erb
app/views/user/login.html.erb
app/views/user/logout.html.erb
app/views/user/lost_password.html.erb
app/views/user/make_friend.html.erb
app/views/user/new.html.erb
app/views/user/no_such_user.html.erb
app/views/user/remove_friend.html.erb
app/views/user/reset_password.html.erb
app/views/user/suspended.html.erb
app/views/user/terms.html.erb
app/views/user/view.html.erb
app/views/user_blocks/_block.html.erb
app/views/user_blocks/_blocks.html.erb
app/views/user_blocks/blocks_by.html.erb
app/views/user_blocks/blocks_on.html.erb
app/views/user_blocks/edit.html.erb
app/views/user_blocks/index.html.erb
app/views/user_blocks/new.html.erb
app/views/user_blocks/not_found.html.erb
app/views/user_blocks/revoke.html.erb
app/views/user_blocks/show.html.erb
config/example.application.yml
config/initializers/action_mailer.rb
config/initializers/assets.rb
config/initializers/better_errors.rb [new file with mode: 0644]
config/initializers/secure_headers.rb
config/jshint.yml
config/locales/af.yml
config/locales/aln.yml
config/locales/ar.yml
config/locales/arz.yml
config/locales/ast.yml
config/locales/az.yml
config/locales/ba.yml
config/locales/be-Tarask.yml
config/locales/be.yml
config/locales/bg.yml
config/locales/bn.yml
config/locales/br.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/cy.yml
config/locales/da.yml
config/locales/de.yml
config/locales/diq.yml
config/locales/dsb.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/fur.yml
config/locales/fy.yml
config/locales/ga.yml
config/locales/gd.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/ia.yml
config/locales/id.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ka.yml
config/locales/kab.yml
config/locales/km.yml
config/locales/kn.yml
config/locales/ko.yml
config/locales/ku-Latn.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mr.yml
config/locales/ms.yml
config/locales/nb.yml
config/locales/nds.yml
config/locales/ne.yml
config/locales/nl.yml
config/locales/nn.yml
config/locales/oc.yml
config/locales/pa.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt-PT.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/scn.yml
config/locales/sco.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sq.yml
config/locales/sr-Latn.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/ta.yml
config/locales/te.yml
config/locales/th.yml
config/locales/tl.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
config/routes.rb
db/functions/xid_to_int4.c
lib/potlatch2.rb
script/vagrant/setup/provision.sh
test/application_system_test_case.rb
test/controllers/changeset_controller_test.rb
test/controllers/diary_entry_controller_test.rb
test/controllers/messages_controller_test.rb [moved from test/controllers/message_controller_test.rb with 80% similarity]
test/controllers/old_node_controller_test.rb
test/controllers/traces_controller_test.rb [moved from test/controllers/trace_controller_test.rb with 93% similarity]
test/controllers/user_controller_test.rb
test/controllers/user_preferences_controller_test.rb [moved from test/controllers/user_preference_controller_test.rb with 93% similarity]
test/helpers/application_helper_test.rb
test/helpers/browse_helper_test.rb
test/integration/user_changeset_comments_test.rb
test/integration/user_terms_seen_test.rb
test/models/acl_test.rb
test/models/changeset_comment_test.rb
test/models/changeset_tag_test.rb
test/models/issue_test.rb
test/models/message_test.rb
test/models/node_tag_test.rb
test/models/old_node_tag_test.rb
test/models/old_relation_tag_test.rb
test/models/old_way_tag_test.rb
test/models/relation_tag_test.rb
test/models/report_test.rb
test/models/tracepoint_test.rb
test/models/user_test.rb
test/models/way_tag_test.rb
test/system/diary_entry_test.rb [new file with mode: 0644]
test/system/issues_test.rb
test/system/report_diary_comment_test.rb
test/system/report_diary_entry_test.rb
test/system/report_note_test.rb
test/system/report_user_test.rb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/img/community-sprite.svg [new file with mode: 0644]
vendor/assets/iD/iD/img/iD-sprite.svg
vendor/assets/iD/iD/img/maki-sprite.svg
vendor/assets/iD/iD/locales/af.json
vendor/assets/iD/iD/locales/ar.json
vendor/assets/iD/iD/locales/ast.json
vendor/assets/iD/iD/locales/bg-BG.json [deleted file]
vendor/assets/iD/iD/locales/bg.json
vendor/assets/iD/iD/locales/bn.json
vendor/assets/iD/iD/locales/bs.json
vendor/assets/iD/iD/locales/ca.json
vendor/assets/iD/iD/locales/ckb.json
vendor/assets/iD/iD/locales/cs.json
vendor/assets/iD/iD/locales/da.json
vendor/assets/iD/iD/locales/de.json
vendor/assets/iD/iD/locales/el.json
vendor/assets/iD/iD/locales/en-GB.json
vendor/assets/iD/iD/locales/en.json
vendor/assets/iD/iD/locales/eo.json
vendor/assets/iD/iD/locales/es.json
vendor/assets/iD/iD/locales/et.json
vendor/assets/iD/iD/locales/fa.json
vendor/assets/iD/iD/locales/fi.json
vendor/assets/iD/iD/locales/fr.json
vendor/assets/iD/iD/locales/gl.json
vendor/assets/iD/iD/locales/he.json
vendor/assets/iD/iD/locales/hr.json
vendor/assets/iD/iD/locales/hu.json
vendor/assets/iD/iD/locales/hy.json
vendor/assets/iD/iD/locales/id.json
vendor/assets/iD/iD/locales/is.json
vendor/assets/iD/iD/locales/it.json
vendor/assets/iD/iD/locales/ja.json
vendor/assets/iD/iD/locales/kn.json
vendor/assets/iD/iD/locales/ko.json
vendor/assets/iD/iD/locales/ku.json
vendor/assets/iD/iD/locales/lt.json
vendor/assets/iD/iD/locales/lv.json
vendor/assets/iD/iD/locales/mg.json
vendor/assets/iD/iD/locales/mk.json
vendor/assets/iD/iD/locales/ms.json
vendor/assets/iD/iD/locales/nl.json
vendor/assets/iD/iD/locales/no.json
vendor/assets/iD/iD/locales/pl.json
vendor/assets/iD/iD/locales/pt-BR.json
vendor/assets/iD/iD/locales/pt.json
vendor/assets/iD/iD/locales/ro.json
vendor/assets/iD/iD/locales/ru.json
vendor/assets/iD/iD/locales/si.json
vendor/assets/iD/iD/locales/sk.json
vendor/assets/iD/iD/locales/sl.json
vendor/assets/iD/iD/locales/so.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/ta.json
vendor/assets/iD/iD/locales/te.json
vendor/assets/iD/iD/locales/tl.json
vendor/assets/iD/iD/locales/tr.json
vendor/assets/iD/iD/locales/uk.json
vendor/assets/iD/iD/locales/vi.json
vendor/assets/iD/iD/locales/yue.json
vendor/assets/iD/iD/locales/zh-CN.json
vendor/assets/iD/iD/locales/zh-HK.json
vendor/assets/iD/iD/locales/zh-TW.json
vendor/assets/iD/iD/locales/zh.json
vendor/assets/javascripts/bowser.js [new file with mode: 0644]
vendor/assets/leaflet/leaflet.locationfilter.css
vendor/assets/leaflet/leaflet.locationfilter.js
vendor/assets/potlatch2/potlatch2.swf
vendor/assets/potlatch2/potlatch2/assets.zip
vendor/assets/potlatch2/potlatch2/locales/af.swf
vendor/assets/potlatch2/potlatch2/locales/ar.swf
vendor/assets/potlatch2/potlatch2/locales/arc.swf
vendor/assets/potlatch2/potlatch2/locales/ast.swf
vendor/assets/potlatch2/potlatch2/locales/az.swf
vendor/assets/potlatch2/potlatch2/locales/ba.swf
vendor/assets/potlatch2/potlatch2/locales/be-tarask.swf
vendor/assets/potlatch2/potlatch2/locales/be.swf
vendor/assets/potlatch2/potlatch2/locales/bg.swf
vendor/assets/potlatch2/potlatch2/locales/bn.swf
vendor/assets/potlatch2/potlatch2/locales/br.swf
vendor/assets/potlatch2/potlatch2/locales/bs.swf
vendor/assets/potlatch2/potlatch2/locales/ca.swf
vendor/assets/potlatch2/potlatch2/locales/ce.swf
vendor/assets/potlatch2/potlatch2/locales/cs_CZ.swf
vendor/assets/potlatch2/potlatch2/locales/cy.swf
vendor/assets/potlatch2/potlatch2/locales/da.swf
vendor/assets/potlatch2/potlatch2/locales/de-formal.swf
vendor/assets/potlatch2/potlatch2/locales/de_DE.swf
vendor/assets/potlatch2/potlatch2/locales/diq.swf
vendor/assets/potlatch2/potlatch2/locales/dsb.swf
vendor/assets/potlatch2/potlatch2/locales/el.swf
vendor/assets/potlatch2/potlatch2/locales/en_GB.swf
vendor/assets/potlatch2/potlatch2/locales/en_US.swf
vendor/assets/potlatch2/potlatch2/locales/eo.swf
vendor/assets/potlatch2/potlatch2/locales/es_ES.swf
vendor/assets/potlatch2/potlatch2/locales/et.swf
vendor/assets/potlatch2/potlatch2/locales/eu.swf
vendor/assets/potlatch2/potlatch2/locales/fa.swf
vendor/assets/potlatch2/potlatch2/locales/fi.swf
vendor/assets/potlatch2/potlatch2/locales/fo.swf
vendor/assets/potlatch2/potlatch2/locales/fr_FR.swf
vendor/assets/potlatch2/potlatch2/locales/fur.swf
vendor/assets/potlatch2/potlatch2/locales/fy.swf [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2/locales/ga.swf
vendor/assets/potlatch2/potlatch2/locales/gd.swf
vendor/assets/potlatch2/potlatch2/locales/gl.swf
vendor/assets/potlatch2/potlatch2/locales/grc.swf
vendor/assets/potlatch2/potlatch2/locales/he.swf
vendor/assets/potlatch2/potlatch2/locales/hr.swf
vendor/assets/potlatch2/potlatch2/locales/hsb.swf
vendor/assets/potlatch2/potlatch2/locales/hu.swf
vendor/assets/potlatch2/potlatch2/locales/ia.swf
vendor/assets/potlatch2/potlatch2/locales/id.swf
vendor/assets/potlatch2/potlatch2/locales/is.swf
vendor/assets/potlatch2/potlatch2/locales/it_IT.swf
vendor/assets/potlatch2/potlatch2/locales/ja_JP.swf
vendor/assets/potlatch2/potlatch2/locales/ka.swf
vendor/assets/potlatch2/potlatch2/locales/kab.swf
vendor/assets/potlatch2/potlatch2/locales/km.swf
vendor/assets/potlatch2/potlatch2/locales/kn.swf
vendor/assets/potlatch2/potlatch2/locales/ko.swf
vendor/assets/potlatch2/potlatch2/locales/krc.swf
vendor/assets/potlatch2/potlatch2/locales/ksh.swf
vendor/assets/potlatch2/potlatch2/locales/ku-latn.swf
vendor/assets/potlatch2/potlatch2/locales/ky.swf
vendor/assets/potlatch2/potlatch2/locales/lb.swf
vendor/assets/potlatch2/potlatch2/locales/lez.swf
vendor/assets/potlatch2/potlatch2/locales/lt.swf
vendor/assets/potlatch2/potlatch2/locales/lv.swf
vendor/assets/potlatch2/potlatch2/locales/lzz.swf
vendor/assets/potlatch2/potlatch2/locales/mg.swf
vendor/assets/potlatch2/potlatch2/locales/mk.swf
vendor/assets/potlatch2/potlatch2/locales/mr.swf
vendor/assets/potlatch2/potlatch2/locales/ms.swf
vendor/assets/potlatch2/potlatch2/locales/nb_NO.swf
vendor/assets/potlatch2/potlatch2/locales/ne.swf [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2/locales/nl_NL.swf
vendor/assets/potlatch2/potlatch2/locales/nn_NO.swf
vendor/assets/potlatch2/potlatch2/locales/oc.swf
vendor/assets/potlatch2/potlatch2/locales/pa.swf
vendor/assets/potlatch2/potlatch2/locales/pl_PL.swf
vendor/assets/potlatch2/potlatch2/locales/ps.swf
vendor/assets/potlatch2/potlatch2/locales/pt_BR.swf
vendor/assets/potlatch2/potlatch2/locales/pt_PT.swf
vendor/assets/potlatch2/potlatch2/locales/ro.swf
vendor/assets/potlatch2/potlatch2/locales/ru.swf
vendor/assets/potlatch2/potlatch2/locales/rue.swf
vendor/assets/potlatch2/potlatch2/locales/sah.swf
vendor/assets/potlatch2/potlatch2/locales/scn.swf
vendor/assets/potlatch2/potlatch2/locales/shn.swf [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2/locales/sk.swf
vendor/assets/potlatch2/potlatch2/locales/skr-arab.swf
vendor/assets/potlatch2/potlatch2/locales/sl.swf
vendor/assets/potlatch2/potlatch2/locales/sq.swf
vendor/assets/potlatch2/potlatch2/locales/sr-ec.swf
vendor/assets/potlatch2/potlatch2/locales/sr-el.swf
vendor/assets/potlatch2/potlatch2/locales/sty.swf [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2/locales/sv_SE.swf
vendor/assets/potlatch2/potlatch2/locales/ta.swf
vendor/assets/potlatch2/potlatch2/locales/te.swf
vendor/assets/potlatch2/potlatch2/locales/th.swf [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2/locales/tl.swf
vendor/assets/potlatch2/potlatch2/locales/tly.swf
vendor/assets/potlatch2/potlatch2/locales/tr.swf
vendor/assets/potlatch2/potlatch2/locales/tyv.swf
vendor/assets/potlatch2/potlatch2/locales/tzm.swf
vendor/assets/potlatch2/potlatch2/locales/uk.swf
vendor/assets/potlatch2/potlatch2/locales/vi_VN.swf
vendor/assets/potlatch2/potlatch2/locales/vo.swf
vendor/assets/potlatch2/potlatch2/locales/yi.swf
vendor/assets/potlatch2/potlatch2/locales/zh_CN.swf
vendor/assets/potlatch2/potlatch2/locales/zh_TW.swf
vendor/assets/swfobject/expressInstall.swf [changed mode: 0644->0755]
vendor/assets/swfobject/swfobject.js [changed mode: 0644->0755]

index 6f721998dcdec8093d975fbb6d5fab1b0ca996e6..fc2b5cd85c884c5c40117df99ec75ae7b884d36b 100644 (file)
@@ -1,26 +1,5 @@
 inherit_from: .rubocop_todo.yml
 
-AllCops:
-  Include:
-    - '**/*.gemspec'
-    - '**/*.podspec'
-    - '**/*.jbuilder'
-    - '**/*.rake'
-    - '**/*.opal'
-    - '**/config.ru'
-    - '**/Gemfile'
-    - '**/Rakefile'
-    - '**/Capfile'
-    - '**/Guardfile'
-    - '**/Podfile'
-    - '**/Thorfile'
-    - '**/Vagrantfile'
-    - '**/Berksfile'
-    - '**/Cheffile'
-    - '**/Vagabondfile'
-    - '**/Fastfile'
-    - '**/*.builder'
-
 Rails:
   Enabled: true
 
index 5846de44f47d987a1bf16d6f67a19dd7227617e2..da801d681ab11b8071dcf50a836d3b884cb36ccd 100644 (file)
@@ -33,9 +33,9 @@ Lint/AssignmentInCondition:
     - 'app/controllers/application_controller.rb'
     - 'app/controllers/geocoder_controller.rb'
     - 'app/controllers/notes_controller.rb'
-    - 'app/controllers/trace_controller.rb'
+    - 'app/controllers/traces_controller.rb'
     - 'app/controllers/user_controller.rb'
-    - 'app/controllers/user_preference_controller.rb'
+    - 'app/controllers/user_preferences_controller.rb'
     - 'app/helpers/application_helper.rb'
     - 'app/helpers/browse_helper.rb'
     - 'app/models/client_application.rb'
@@ -67,7 +67,7 @@ Metrics/AbcSize:
 # Offense count: 41
 # Configuration parameters: CountComments, ExcludedMethods.
 Metrics/BlockLength:
-  Max: 250
+  Max: 257
 
 # Offense count: 12
 # Configuration parameters: CountBlocks.
index 3cbe31cb9f4ac650214f81a260714dbe3d049f8f..0b8af0483fbe7a7d5cecbb669142cdd1981ecbf7 100644 (file)
@@ -86,6 +86,8 @@ potlatch2_key: "8lFmZPsagHV4l3rkAHq0hWY5vV3Ctl3oEFY1aXth"
 
 Follow the same process for registering and configuring iD (`id_key`) and the website/Notes (`oauth_key`), or to save time, simply reuse the same consumer key for each.
 
+**NOTE:** If you forget to set up OAuth, then you will get an error message similar to `uninitialized constant ActionView::CompiledTemplates::ID_KEY`.
+
 ## Troubleshooting
 
 Rails has its own log.  To inspect the log, do this:
diff --git a/Gemfile b/Gemfile
index a9a6cb4b6d1466d65c41c05d8037a695e8900b54..ef14d06c5b86eaed0853550541b81cfa01c8198d 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -108,6 +108,8 @@ gem "logstasher"
 # Gems useful for development
 group :development do
   gem "annotate"
+  gem "better_errors"
+  gem "binding_of_caller"
   gem "listen"
   gem "vendorer"
 end
index d1a9a0dd2ffb18f048cb34537d3377f10147a20d..49f9b5977231da55204cf6ac91542989ba31538b 100644 (file)
@@ -44,17 +44,23 @@ GEM
       tzinfo (~> 1.1)
     addressable (2.5.2)
       public_suffix (>= 2.0.2, < 4.0)
-    annotate (2.7.2)
+    annotate (2.7.3)
       activerecord (>= 3.2, < 6.0)
       rake (>= 10.4, < 13.0)
     arel (8.0.0)
     ast (2.4.0)
-    autoprefixer-rails (8.2.0)
+    autoprefixer-rails (8.5.1)
       execjs
+    better_errors (2.4.0)
+      coderay (>= 1.0.0)
+      erubi (>= 1.0.0)
+      rack (>= 0.9.0)
     bigdecimal (1.1.0)
+    binding_of_caller (0.8.0)
+      debug_inspector (>= 0.0.1)
     builder (3.2.3)
-    canonical-rails (0.2.2)
-      rails (>= 4.1, < 5.2)
+    canonical-rails (0.2.3)
+      rails (>= 4.1, < 5.3)
     capybara (2.18.0)
       addressable
       mini_mime (>= 0.1.3)
@@ -64,6 +70,7 @@ GEM
       xpath (>= 2.0, < 4.0)
     climate_control (0.2.0)
     cliver (0.3.2)
+    coderay (1.1.2)
     coffee-rails (4.2.2)
       coffee-script (>= 2.2.0)
       railties (>= 4.0.0)
@@ -82,17 +89,18 @@ GEM
       tins (~> 1.6)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    crass (1.0.3)
-    dalli (2.7.6)
+    crass (1.0.4)
+    dalli (2.7.8)
+    debug_inspector (0.0.3)
     docile (1.1.5)
     dynamic_form (1.1.4)
     erubi (1.7.1)
     execjs (2.7.0)
-    exifr (1.3.3)
-    factory_bot (4.8.2)
+    exifr (1.3.4)
+    factory_bot (4.10.0)
       activesupport (>= 3.0.0)
-    factory_bot_rails (4.8.2)
-      factory_bot (~> 4.8.2)
+    factory_bot_rails (4.10.0)
+      factory_bot (~> 4.10.0)
       railties (>= 3.0.0)
     faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
@@ -121,7 +129,7 @@ GEM
       sprockets
     image_size (1.5.0)
     in_threads (1.5.0)
-    jquery-rails (4.3.1)
+    jquery-rails (4.3.3)
       rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
@@ -164,7 +172,7 @@ GEM
     multi_json (1.13.1)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
-    nio4r (2.3.0)
+    nio4r (2.3.1)
     nokogiri (1.8.2)
       mini_portile2 (~> 2.3.0)
     nokogumbo (1.5.0)
@@ -184,7 +192,7 @@ GEM
     omniauth (1.8.1)
       hashie (>= 3.4.6, < 3.6.0)
       rack (>= 1.6.2, < 3)
-    omniauth-facebook (4.0.0)
+    omniauth-facebook (5.0.0)
       omniauth-oauth2 (~> 1.2)
     omniauth-github (1.3.0)
       omniauth (~> 1.5)
@@ -216,25 +224,25 @@ GEM
       mimemagic (~> 0.3.0)
       terrapin (~> 0.6.0)
     parallel (1.12.1)
-    parser (2.5.0.5)
+    parser (2.5.1.0)
       ast (~> 2.4.0)
     pg (0.21.0)
-    poltergeist (1.17.0)
-      capybara (~> 2.1)
+    poltergeist (1.18.1)
+      capybara (>= 2.1, < 4)
       cliver (~> 0.3.1)
       websocket-driver (>= 0.2.0)
     powerpack (0.1.1)
     progress (3.4.0)
     psych (3.0.2)
     public_suffix (3.0.2)
-    puma (3.11.3)
+    puma (3.11.4)
     r2 (0.2.7)
-    rack (2.0.4)
+    rack (2.0.5)
     rack-cors (1.0.2)
     rack-openid (1.3.1)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
-    rack-test (0.8.3)
+    rack-test (1.0.0)
       rack (>= 1.0, < 3)
     rack-uri_sanitizer (0.0.2)
     rails (5.1.5)
@@ -280,7 +288,7 @@ GEM
       rack (>= 1.4)
     rinku (2.0.4)
     rotp (3.3.1)
-    rubocop (0.54.0)
+    rubocop (0.56.0)
       parallel (~> 1.10)
       parser (>= 2.5)
       powerpack (~> 0.1)
@@ -291,7 +299,7 @@ GEM
     ruby-progressbar (1.9.0)
     ruby_dep (1.5.0)
     safe_yaml (1.0.4)
-    sanitize (4.6.4)
+    sanitize (4.6.5)
       crass (~> 1.0.2)
       nokogiri (>= 1.4.4)
       nokogumbo (~> 1.4)
@@ -306,8 +314,7 @@ GEM
       sprockets (>= 2.8, < 4.0)
       sprockets-rails (>= 2.0, < 4.0)
       tilt (>= 1.1, < 3)
-    secure_headers (5.0.5)
-      useragent (>= 0.15.0)
+    secure_headers (6.0.0)
     simplecov (0.14.1)
       docile (~> 1.1.0)
       json (>= 1.8, < 3)
@@ -333,21 +340,20 @@ GEM
     tins (1.16.3)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    uglifier (4.1.8)
+    uglifier (4.1.10)
       execjs (>= 0.3.0, < 3)
-    unicode-display_width (1.3.0)
-    useragent (0.16.10)
+    unicode-display_width (1.3.2)
     validates_email_format_of (1.6.3)
       i18n
     vendorer (0.1.16)
-    webmock (3.3.0)
+    webmock (3.4.1)
       addressable (>= 2.3.6)
       crack (>= 0.3.2)
       hashdiff
     websocket-driver (0.6.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.3)
-    xpath (3.0.0)
+    xpath (3.1.0)
       nokogiri (~> 1.8)
 
 PLATFORMS
@@ -359,7 +365,9 @@ DEPENDENCIES
   actionpack-page_caching
   annotate
   autoprefixer-rails
+  better_errors
   bigdecimal (~> 1.1.0)
+  binding_of_caller
   canonical-rails
   capybara (~> 2.13)
   coffee-rails (~> 4.2)
@@ -417,4 +425,4 @@ DEPENDENCIES
   webmock
 
 BUNDLED WITH
-   1.15.4
+   1.16.2
index f41f9676c7e4bf55510499a7803f493f1b9d5dd8..44d914d75a1816c9b5f7591274c70e96e182f54e 100644 (file)
@@ -12,13 +12,13 @@ Vagrant.configure("2") do |config|
 
   # use third party image and NFS sharing for lxc
   config.vm.provider "lxc" do |_, override|
-    override.vm.box = "sputnik13/trusty64"
+    override.vm.box = "generic/ubuntu1604"
     override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
   end
 
   # use third party image and NFS sharing for libvirt
   config.vm.provider "libvirt" do |_, override|
-    override.vm.box = "sputnik13/trusty64"
+    override.vm.box = "generic/ubuntu1604"
     override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
   end
 
index e57ab21fee5b8a9e26bc595962a3d2ad8543196a..67307f8444796f2631dbb9d1ec47b29649302bd0 100644 (file)
@@ -68,5 +68,13 @@ folder 'vendor/assets' do
 
   folder 'javascripts' do
     file 'html5shiv.js', 'https://raw.githubusercontent.com/aFarkas/html5shiv/master/src/html5shiv.js'
+    file 'bowser.js', 'https://github.com/lancedikson/bowser/releases/download/1.9.3/bowser.js'
+  end
+
+  folder 'swfobject' do
+    from 'git://github.com/swfobject/swfobject.git', :tag => '2.2' do
+      file 'expressInstall.swf', 'swfobject/expressInstall.swf'
+      file 'swfobject.js', 'swfobject/src/swfobject.js'
+    end
   end
 end
index 9831171831db58a071d6f55fcfffcf97cc025be9..a85fcef457f98271606c692985d1227ad191a7bc 100644 (file)
@@ -2,9 +2,9 @@ $(document).ready(function () {
   var id = $("#id-embed");
 
   if (id.data("key")) {
-    var hashParams = OSM.params(location.hash.substring(1)),
-        mapParams = OSM.mapParams(),
-        params = {};
+    var hashParams = OSM.params(location.hash.substring(1));
+    var mapParams = OSM.mapParams();
+    var params = {};
 
     if (mapParams.object) {
       params.id = mapParams.object.type[0] + mapParams.object.id;
@@ -20,8 +20,9 @@ $(document).ready(function () {
 
     if (hashParams.background) params.background = hashParams.background;
     if (hashParams.comment) params.comment = hashParams.comment;
-    if (hashParams.disable_features) params.disable_features = hashParams.disable_features;
     if (hashParams.hashtags) params.hashtags = hashParams.hashtags;
+    if (hashParams.source) params.source = hashParams.source;
+    if (hashParams.disable_features) params.disable_features = hashParams.disable_features;
     if (hashParams.offset) params.offset = hashParams.offset;
     if (hashParams.walkthrough) params.walkthrough = hashParams.walkthrough;
 
index 4ea643b261e68b676ae640c9e01cc9e24ba48449..ccf4e561c98ceacd14d0e612f77e408fc6bac734 100644 (file)
@@ -20,6 +20,7 @@
 //= require index/changeset
 //= require index/query
 //= require router
+//= require bowser
 
 $(document).ready(function () {
   var loaderTimeout;
@@ -241,7 +242,7 @@ $(document).ready(function () {
 
   function remoteEditHandler(bbox, object) {
     var loaded = false,
-        url = "http://127.0.0.1:8111/load_and_zoom?",
+        url,
         query = {
           left: bbox.getWest() - 0.0001,
           top: bbox.getNorth() + 0.0001,
@@ -249,6 +250,13 @@ $(document).ready(function () {
           bottom: bbox.getSouth() - 0.0001
         };
 
+    if (location.protocol === 'http' ||
+        bowser.check({chrome: "53", firefox: "55"})) {
+      url = "http://127.0.0.1:8111/load_and_zoom?";
+    } else {
+      url = "https://127.0.0.1:8112/load_and_zoom?";
+    }
+
     if (object) query.select = object.type + object.id;
 
     var iframe = $('<iframe>')
index 2b3319f8f35c1e95279b88af763c5b348ac78521..8a80328cc05c3767813ac7ff3823330001095d9e 100644 (file)
@@ -69,6 +69,7 @@ OSM.Directions = function (map) {
     endpoint.setValue = function(value, latlng) {
       endpoint.value = value;
       delete endpoint.latlng;
+      input.removeClass("error");
       input.val(value);
 
       if (latlng) {
index f05f1ab3dfb761336a471ce49f542edd4965af60..ce568409d5052628aa8532b148ab56354ca88849 100644 (file)
@@ -27,13 +27,12 @@ function GraphHopperEngine(id, vehicleType) {
           locale: I18n.currentLocale(),
           key: "LijBPDQGfu7Iiq80w3HzwB4RUDJbMbhs6BU0dEnn",
           "ch.disable": vehicleType === "car",
-          type: "jsonp",
           elevation: false,
           instructions: true,
           point: points.map(function (p) { return p.lat + "," + p.lng; })
         },
         traditional: true,
-        dataType: "jsonp",
+        dataType: "json",
         success: function (data) {
           if (!data.paths || data.paths.length === 0)
             return callback(true);
index 84f085c5a6c942cc16f0cc8fcb6344989d7ff2db..81c62e1831252b31c3dff3b2457ef1bead75020b 100644 (file)
@@ -32,6 +32,8 @@ function OSRMEngine() {
         'turn slight left': 'javascripts.directions.instructions.slight_left',
         'roundabout': 'javascripts.directions.instructions.roundabout',
         'rotary': 'javascripts.directions.instructions.roundabout',
+        'exit roundabout': 'javascripts.directions.instructions.exit_roundabout',
+        'exit rotary': 'javascripts.directions.instructions.exit_roundabout',
         'depart': 'javascripts.directions.instructions.start',
         'arrive': 'javascripts.directions.instructions.destination',
       };
@@ -57,9 +59,14 @@ function OSRMEngine() {
         'turn sharp left': 7,
         'roundabout': 10,
         'rotary': 10,
+        'exit roundabout': 10,
+        'exit rotary': 10,
         'depart': 8,
         'arrive': 14
       };
+      var numToWord = function(num) {
+        return ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth"][num-1];
+      };
       var transformed_steps = input_steps.map(function(step, idx) {
         var maneuver_id;
 
@@ -76,6 +83,8 @@ function OSRMEngine() {
           case 'arrive':
           case 'roundabout':
           case 'rotary':
+          case 'exit roundabout':
+          case 'exit rotary':
             maneuver_id = step.maneuver.type;
             break;
           case 'roundabout turn':
@@ -110,11 +119,17 @@ function OSRMEngine() {
           namedRoad = false;
         }
 
-        if (step.maneuver.type.match(/rotary|roundabout/)) {
+        if (step.maneuver.type.match(/exit (rotary|roundabout)/)) {
+          instText += I18n.t(template, { name: name });
+        } else if (step.maneuver.type.match(/rotary|roundabout/)) {
           if (step.maneuver.exit) {
-            instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name } );
+            if (step.maneuver.exit <= 10) {
+              instText += I18n.t(template + '_with_exit_ordinal', { exit: I18n.t('javascripts.directions.instructions.exit_counts.' + numToWord(step.maneuver.exit)), name: name });
+            } else {
+              instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name });
+            }
           } else {
-            instText += I18n.t(template + '_without_exit', { name: name } );
+            instText += I18n.t(template + '_without_exit', { name: name });
           }
         } else if (step.maneuver.type.match(/on ramp|off ramp/)) {
           var params = {};
index c01caba700cc3f41bbe2ee1387d099c3d9524dc1..3da84c7d90e46b214575cf44212070bcbe4217c2 100644 (file)
@@ -287,7 +287,7 @@ OSM.Query = function(map) {
       nodes = "node(" + around + ")",
       ways = "way(" + around + ")",
       relations = "relation(" + around + ")",
-      nearby = "(" + nodes + ";" + ways + ");out tags geom(" + bbox + ");" + relations + ";out geom(" + bbox + ");",
+      nearby = "(" + nodes + ";" + ways + ";);out tags geom(" + bbox + ");" + relations + ";out geom(" + bbox + ");",
       isin = "is_in(" + lat + "," + lng + ")->.a;way(pivot.a);out tags bb;out ids geom(" + bbox + ");relation(pivot.a);out tags bb;";
 
     $("#sidebar_content .query-intro")
index d952a7376f4ea1c140131d512204fa550b2e3ad5..ba88e5904dca22cb3c30577ebcf16d25ba95688f 100644 (file)
@@ -44,7 +44,7 @@ L.OSM.Map = L.Map.extend({
     }
 
     this.baseLayers.push(new L.OSM.HOT({
-      attribution: copyright + ". Tiles courtesy of <a href='https://www.hotosm.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>",
+      attribution: copyright + ". Tiles style by <a href='https://www.hotosm.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>" + " hosted by <a href='https://openstreetmap.fr/' target='_blank'>OpenStreetMap France</a>",
       code: "H",
       keyid: "hot",
       name: I18n.t("javascripts.map.base.hot")
diff --git a/app/assets/javascripts/messages.js b/app/assets/javascripts/messages.js
new file mode 100644 (file)
index 0000000..0cae79a
--- /dev/null
@@ -0,0 +1,30 @@
+$(document).ready(function () {
+  $(".inbox-mark-unread").on("ajax:success", function (event, data) {
+    $("#inboxanchor").remove();
+    $(".user-button").before(data.inboxanchor);
+
+    $("#inbox-count").replaceWith(data.inbox_count);
+
+    $(this).parents(".inbox-row").removeClass("inbox-row").addClass("inbox-row-unread");
+  });
+
+  $(".inbox-mark-read").on("ajax:success", function (event, data) {
+    $("#inboxanchor").remove();
+    $(".user-button").before(data.inboxanchor);
+
+    $("#inbox-count").replaceWith(data.inbox_count);
+
+    $(this).parents(".inbox-row-unread").removeClass("inbox-row-unread").addClass("inbox-row");
+  });
+
+  $(".inbox-destroy").on("ajax:success", function (event, data) {
+    $("#inboxanchor").remove();
+    $(".user-button").before(data.inboxanchor);
+
+    $("#inbox-count").replaceWith(data.inbox_count);
+
+    $(this).parents(".inbox-row, .inbox-row-unread").fadeOut(800, "linear", function () {
+      $(this).remove();
+    });
+  });
+});
index f497a22d86db7eb994ada531fbc07dc26110ed18..a80966ee142f9e96f9519373827ce8c3af5f4b74 100644 (file)
@@ -92,7 +92,7 @@
   .railway.level_crossing::before { content: image-url('browse/level_crossing.p.16.png'); }
 
   .shop::before { content: image-url('browse/shop_convenience.p.16.png'); }
-  .shop.alcohol::before { content: image-url('browse/shop_alcohol.16.pn'); }
+  .shop.alcohol::before { content: image-url('browse/shop_alcohol.16.png'); }
   .shop.bakery::before { content: image-url('browse/shop_bakery.16.png'); }
   .shop.bicycle::before { content: image-url('browse/shop_bicycle.16.png'); }
   .shop.books::before { content: image-url('browse/shop_books.16.png'); }
index 50b38e7a358e368257f8cb862554791eb708b110..f9214b24dba1a94dd84c129541bfefbd6e09cd7b 100644 (file)
@@ -1028,7 +1028,7 @@ header .search_forms,
 
 /* Rules for search sidebar */
 
-.search_results_entry {
+#sidebar .search_results_entry {
   ul li {
     border-bottom: $keyline;
     cursor: pointer;
@@ -1036,12 +1036,9 @@ header .search_forms,
     &.selected { background: $list-highlight; }
   }
 
-  .search_details {
-    display: block;
-    float: right;
-    text-align: right;
-    margin-top: 0.2em;
-    margin-left: 0.5em;
+  .search_more .loader {
+    display: none;
+    width: 100%;
   }
 }
 
@@ -1131,6 +1128,11 @@ tr.turn:hover {
   .comments-0 {
     opacity: 0.5;
   }
+
+  .changeset_more .loader {
+    display: none;
+    width: 100%;
+  }
 }
 
 /* Rules for the browse sidebar */
@@ -1668,10 +1670,6 @@ tr.turn:hover {
   }
 }
 
-.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
-  display: inline;
-}
-
 .pagination {
   padding-top: $lineheight;
 }
@@ -1891,14 +1889,14 @@ tr.turn:hover {
   display: none;
 }
 
-.message-read .message-buttons {
+.messages-show .message-buttons {
   margin-top: $lineheight;
   margin-bottom: $lineheight * 1.5;
   padding-top: $lineheight;
   border-top: 1px solid $lightgrey;
 }
 
-.message-read .buttons .mark-unread-button {
+.messages-show .buttons .mark-unread-button {
   border-radius: 0;
 }
 
index f9b48cb1c5281800d49d5facae8ea0100d94525d..021ada0cdcaae4a77ad5745e5baeba5627ab16fb 100644 (file)
@@ -67,7 +67,7 @@ class ApiController < ApplicationController
           if gpx_file.identifiable?
             track << (XML::Node.new("name") << gpx_file.name)
             track << (XML::Node.new("desc") << gpx_file.description)
-            track << (XML::Node.new("url") << url_for(:controller => "trace", :action => "view", :display_name => gpx_file.user.display_name, :id => gpx_file.id))
+            track << (XML::Node.new("url") << url_for(:controller => "traces", :action => "view", :display_name => gpx_file.user.display_name, :id => gpx_file.id))
           end
         else
           # use the anonymous track segment if the user hasn't allowed
index c354b53862c19899373b09f50b6330d22322954d..3afb17f470afb5668a2c2be34e60696f4c57f952 100644 (file)
@@ -175,7 +175,7 @@ class ApplicationController < ActionController::Base
   end
 
   def authorize(realm = "Web Password", errormessage = "Couldn't authenticate you")
-    # make the @user object from any auth sources we have
+    # make the current_user object from any auth sources we have
     setup_user_auth
 
     # handle authenticate pass/fail
@@ -295,7 +295,8 @@ class ApplicationController < ActionController::Base
     end
   end
 
-  def preferred_languages
+  def preferred_languages(reset = false)
+    @preferred_languages = nil if reset
     @preferred_languages ||= if params[:locale]
                                Locale.list(params[:locale])
                              elsif current_user
@@ -307,13 +308,13 @@ class ApplicationController < ActionController::Base
 
   helper_method :preferred_languages
 
-  def set_locale
+  def set_locale(reset = false)
     if current_user && current_user.languages.empty? && !http_accept_language.user_preferred_languages.empty?
       current_user.languages = http_accept_language.user_preferred_languages
       current_user.save
     end
 
-    I18n.locale = Locale.available.preferred(preferred_languages)
+    I18n.locale = Locale.available.preferred(preferred_languages(reset))
 
     response.headers["Vary"] = "Accept-Language"
     response.headers["Content-Language"] = I18n.locale.to_s
@@ -377,9 +378,9 @@ class ApplicationController < ActionController::Base
   end
 
   ##
-  # ensure that there is a "this_user" instance variable
-  def lookup_this_user
-    render_unknown_user params[:display_name] unless @this_user = User.active.find_by(:display_name => params[:display_name])
+  # ensure that there is a "user" instance variable
+  def lookup_user
+    render_unknown_user params[:display_name] unless @user = User.active.find_by(:display_name => params[:display_name])
   end
 
   ##
@@ -409,10 +410,11 @@ class ApplicationController < ActionController::Base
 
   def map_layout
     append_content_security_policy_directives(
-      :child_src => %w[127.0.0.1:8111],
-      :connect_src => %w[nominatim.openstreetmap.org overpass-api.de router.project-osrm.org],
+      :child_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
+      :frame_src => %w[http://127.0.0.1:8111 https://127.0.0.1:8112],
+      :connect_src => %w[nominatim.openstreetmap.org overpass-api.de router.project-osrm.org graphhopper.com],
       :form_action => %w[render.openstreetmap.org],
-      :script_src => %w[graphhopper.com open.mapquestapi.com],
+      :script_src => %w[open.mapquestapi.com],
       :img_src => %w[developer.mapquest.com]
     )
 
index 41fa14aae07ff05a9f7aa6369fe5184cd208a576..b4cb4594fb43e7dcffa9694e7b8919961e4cdfdf 100644 (file)
@@ -3,7 +3,7 @@ class BrowseController < ApplicationController
 
   before_action :authorize_web
   before_action :set_locale
-  before_action :except => [:query] { |c| c.check_database_readable(true) }
+  before_action(:except => [:query]) { |c| c.check_database_readable(true) }
   before_action :require_oauth
   around_action :web_timeout
 
index 7f5f4fb3ac8bd522578c526bbc95c52adb819854..f2c11fc741453c2ee3b643ea266eae5682281583 100644 (file)
@@ -4,7 +4,7 @@ class DiaryEntryController < ApplicationController
   before_action :authorize_web
   before_action :set_locale
   before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
-  before_action :lookup_this_user, :only => [:view, :comments]
+  before_action :lookup_user, :only => [:view, :comments]
   before_action :check_database_readable
   before_action :check_database_writable, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
   before_action :require_administrator, :only => [:hide, :hidecomment]
@@ -101,11 +101,11 @@ class DiaryEntryController < ApplicationController
 
   def list
     if params[:display_name]
-      @this_user = User.active.find_by(:display_name => params[:display_name])
+      @user = User.active.find_by(:display_name => params[:display_name])
 
-      if @this_user
-        @title = t "diary_entry.list.user_title", :user => @this_user.display_name
-        @entries = @this_user.diary_entries
+      if @user
+        @title = t "diary_entry.list.user_title", :user => @user.display_name
+        @entries = @user.diary_entries
       else
         render_unknown_user params[:display_name]
         return
@@ -155,9 +155,9 @@ class DiaryEntryController < ApplicationController
 
       if user
         @entries = user.diary_entries
-        @title = I18n.t("diary_entry.feed.user.title", :user => user.display_name)
-        @description = I18n.t("diary_entry.feed.user.description", :user => user.display_name)
-        @link = "#{SERVER_PROTOCOL}://#{SERVER_URL}/user/#{user.display_name}/diary"
+        @title = t("diary_entry.feed.user.title", :user => user.display_name)
+        @description = t("diary_entry.feed.user.description", :user => user.display_name)
+        @link = url_for :controller => "diary_entry", :action => "list", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
       else
         head :not_found
         return
@@ -167,13 +167,13 @@ class DiaryEntryController < ApplicationController
 
       if params[:language]
         @entries = @entries.where(:language_code => params[:language])
-        @title = I18n.t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name)
-        @description = I18n.t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name)
-        @link = "#{SERVER_PROTOCOL}://#{SERVER_URL}/diary/#{params[:language]}"
+        @title = t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name)
+        @description = t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name)
+        @link = url_for :controller => "diary_entry", :action => "list", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
       else
-        @title = I18n.t("diary_entry.feed.all.title")
-        @description = I18n.t("diary_entry.feed.all.description")
-        @link = "#{SERVER_PROTOCOL}://#{SERVER_URL}/diary"
+        @title = t("diary_entry.feed.all.title")
+        @description = t("diary_entry.feed.all.description")
+        @link = url_for :controller => "diary_entry", :action => "list", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
       end
     end
 
@@ -181,7 +181,7 @@ class DiaryEntryController < ApplicationController
   end
 
   def view
-    @entry = @this_user.diary_entries.visible.where(:id => params[:id]).first
+    @entry = @user.diary_entries.visible.where(:id => params[:id]).first
     if @entry
       @title = t "diary_entry.view.title", :user => params[:display_name], :title => @entry.title
     else
@@ -205,7 +205,7 @@ class DiaryEntryController < ApplicationController
   def comments
     @comment_pages, @comments = paginate(:diary_comments,
                                          :conditions => {
-                                           :user_id => @this_user,
+                                           :user_id => @user,
                                            :visible => true
                                          },
                                          :order => "created_at DESC",
similarity index 67%
rename from app/controllers/message_controller.rb
rename to app/controllers/messages_controller.rb
index 3952b67ca47e1ae40a0b15ff593054e8f146c73e..d1460569243045db32ab88b05d7169771aa0ae15 100644 (file)
@@ -1,13 +1,13 @@
-class MessageController < ApplicationController
+class MessagesController < ApplicationController
   layout "site"
 
   before_action :authorize_web
   before_action :set_locale
   before_action :require_user
-  before_action :lookup_this_user, :only => [:new]
+  before_action :lookup_user, :only => [:new]
   before_action :check_database_readable
-  before_action :check_database_writable, :only => [:new, :reply, :mark]
-  before_action :allow_thirdparty_images, :only => [:new, :read]
+  before_action :check_database_writable, :only => [:new, :reply, :mark, :destroy]
+  before_action :allow_thirdparty_images, :only => [:new, :show]
 
   # Allow the user to write a new message to another user. This action also
   # deals with the sending of that message to the other user when the user
@@ -16,23 +16,23 @@ class MessageController < ApplicationController
   def new
     if request.post?
       if current_user.sent_messages.where("sent_on >= ?", Time.now.getutc - 1.hour).count >= MAX_MESSAGES_PER_HOUR
-        flash[:error] = t "message.new.limit_exceeded"
+        flash[:error] = t ".limit_exceeded"
       else
         @message = Message.new(message_params)
-        @message.recipient = @this_user
+        @message.recipient = @user
         @message.sender = current_user
         @message.sent_on = Time.now.getutc
 
         if @message.save
-          flash[:notice] = t "message.new.message_sent"
+          flash[:notice] = t ".message_sent"
           Notifier.message_notification(@message).deliver_now
-          redirect_to :action => "inbox", :display_name => current_user.display_name
+          redirect_to :action => :inbox
         end
       end
     end
 
-    @message ||= Message.new(message_params.merge(:recipient => @this_user))
-    @title = t "message.new.title"
+    @message ||= Message.new(message_params.merge(:recipient => @user))
+    @title = t ".title"
   end
 
   # Allow the user to reply to another message.
@@ -52,47 +52,39 @@ class MessageController < ApplicationController
 
       render :action => "new"
     else
-      flash[:notice] = t "message.reply.wrong_user", :user => current_user.display_name
+      flash[:notice] = t ".wrong_user", :user => current_user.display_name
       redirect_to :controller => "user", :action => "login", :referer => request.fullpath
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t "message.no_such_message.title"
+    @title = t "messages.no_such_message.title"
     render :action => "no_such_message", :status => :not_found
   end
 
   # Show a message
-  def read
-    @title = t "message.read.title"
-    @message = Message.find(params[:message_id])
+  def show
+    @title = t ".title"
+    @message = Message.find(params[:id])
 
     if @message.recipient == current_user || @message.sender == current_user
       @message.message_read = true if @message.recipient == current_user
       @message.save
     else
-      flash[:notice] = t "message.read.wrong_user", :user => current_user.display_name
+      flash[:notice] = t ".wrong_user", :user => current_user.display_name
       redirect_to :controller => "user", :action => "login", :referer => request.fullpath
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t "message.no_such_message.title"
+    @title = t "messages.no_such_message.title"
     render :action => "no_such_message", :status => :not_found
   end
 
   # Display the list of messages that have been sent to the user.
   def inbox
-    @title = t "message.inbox.title"
-    if current_user && params[:display_name] == current_user.display_name
-    else
-      redirect_to :action => "inbox", :display_name => current_user.display_name
-    end
+    @title = t ".title"
   end
 
   # Display the list of messages that the user has sent to other users.
   def outbox
-    @title = t "message.outbox.title"
-    if current_user && params[:display_name] == current_user.display_name
-    else
-      redirect_to :action => "outbox", :display_name => current_user.display_name
-    end
+    @title = t ".title"
   end
 
   # Set the message as being read or unread.
@@ -100,37 +92,37 @@ class MessageController < ApplicationController
     @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id])
     if params[:mark] == "unread"
       message_read = false
-      notice = t "message.mark.as_unread"
+      notice = t ".as_unread"
     else
       message_read = true
-      notice = t "message.mark.as_read"
+      notice = t ".as_read"
     end
     @message.message_read = message_read
     if @message.save && !request.xhr?
       flash[:notice] = notice
-      redirect_to :action => "inbox", :display_name => current_user.display_name
+      redirect_to :action => :inbox
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t "message.no_such_message.title"
+    @title = t "messages.no_such_message.title"
     render :action => "no_such_message", :status => :not_found
   end
 
-  # Delete the message.
-  def delete
+  # Destroy the message.
+  def destroy
     @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id])
     @message.from_user_visible = false if @message.sender == current_user
     @message.to_user_visible = false if @message.recipient == current_user
     if @message.save && !request.xhr?
-      flash[:notice] = t "message.delete.deleted"
+      flash[:notice] = t ".destroyed"
 
       if params[:referer]
         redirect_to params[:referer]
       else
-        redirect_to :action => "inbox", :display_name => current_user.display_name
+        redirect_to :action => :inbox
       end
     end
   rescue ActiveRecord::RecordNotFound
-    @title = t "message.no_such_message.title"
+    @title = t "messages.no_such_message.title"
     render :action => "no_such_message", :status => :not_found
   end
 
index a51d70f9030300056b73f5e532ed73523524211f..853072b7bbc2134758526a32325e4e2136ce1b09 100644 (file)
@@ -278,14 +278,14 @@ class NotesController < ApplicationController
   # Display a list of notes by a specified user
   def mine
     if params[:display_name]
-      if @this_user = User.active.find_by(:display_name => params[:display_name])
+      if @user = User.active.find_by(:display_name => params[:display_name])
         @params = params.permit(:display_name)
-        @title = t "note.mine.title", :user => @this_user.display_name
-        @heading = t "note.mine.heading", :user => @this_user.display_name
-        @description = t "note.mine.subheading", :user => render_to_string(:partial => "user", :object => @this_user)
+        @title = t "notes.mine.title", :user => @user.display_name
+        @heading = t "notes.mine.heading", :user => @user.display_name
+        @description = t "notes.mine.subheading", :user => render_to_string(:partial => "user", :object => @user)
         @page = (params[:page] || 1).to_i
         @page_size = 10
-        @notes = @this_user.notes
+        @notes = @user.notes
         @notes = @notes.visible unless current_user && current_user.moderator?
         @notes = @notes.order("updated_at DESC, id").distinct.offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author).to_a
       else
index 84bbcf1850e5c95cf6d6d925c0c009b3f7e83315..96b562b5ef4bdce00cabe31bc68e16a032b471e0 100644 (file)
@@ -30,7 +30,7 @@ class OauthController < ApplicationController
     @token = current_user.oauth_tokens.find_by :token => params[:token]
     if @token
       @token.invalidate!
-      flash[:notice] = t("oauth.revoke.flash", :application => @token.client_application.name)
+      flash[:notice] = t(".flash", :application => @token.client_application.name)
     end
     redirect_to oauth_clients_url(:display_name => @token.user.display_name)
   end
@@ -38,10 +38,10 @@ class OauthController < ApplicationController
   protected
 
   def oauth1_authorize
-    append_content_security_policy_directives(:form_action => %w[*])
+    override_content_security_policy_directives(:form_action => []) if CSP_ENFORCE || defined?(CSP_REPORT_URL)
 
     if @token.invalidated?
-      @message = t "oauth.oauthorize_failure.invalid"
+      @message = t "oauth.authorize_failure.invalid"
       render :action => "authorize_failure"
     elsif request.post?
       if user_authorizes_token?
@@ -69,7 +69,7 @@ class OauthController < ApplicationController
         end
       else
         @token.invalidate!
-        @message = t("oauth.oauthorize_failure.denied", :app_name => @token.client_application.name)
+        @message = t("oauth.authorize_failure.denied", :app_name => @token.client_application.name)
         render :action => "authorize_failure"
       end
     end
index f15060d5b596d2ca62be7fc0c0334e7a25e706a3..b8ecce9e250fca521d3ae346f8b958a30026973e 100644 (file)
@@ -25,7 +25,7 @@ class RedactionsController < ApplicationController
     # note that the description format will default to 'markdown'
 
     if @redaction.save
-      flash[:notice] = t("redaction.create.flash")
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
       render :action => "new"
@@ -42,7 +42,7 @@ class RedactionsController < ApplicationController
     @redaction.description = params[:redaction][:description]
 
     if @redaction.save
-      flash[:notice] = t("redaction.update.flash")
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
       render :action => "edit"
@@ -54,14 +54,14 @@ class RedactionsController < ApplicationController
        @redaction.old_ways.empty? &&
        @redaction.old_relations.empty?
       if @redaction.destroy
-        flash[:notice] = t("redaction.destroy.flash")
+        flash[:notice] = t(".flash")
         redirect_to :redactions
       else
-        flash[:error] = t("redaction.destroy.error")
+        flash[:error] = t(".error")
         redirect_to @redaction
       end
     else
-      flash[:error] = t("redaction.destroy.not_empty")
+      flash[:error] = t(".not_empty")
       redirect_to @redaction
     end
   end
index fa8ec5a1ee0478036750be78dec10150fd391d0e..6cbe302d61d2b928b70e5305c8f6a3b9a246efa0 100644 (file)
@@ -120,7 +120,8 @@ class SiteController < ApplicationController
     append_content_security_policy_directives(
       :connect_src => %w[*],
       :img_src => %w[* blob:],
-      :script_src => %w[dev.virtualearth.net 'unsafe-eval']
+      :script_src => %w[dev.virtualearth.net *.wikipedia.org www.wikidata.org services.arcgisonline.com serviceslab.arcgisonline.com 'unsafe-eval'],
+      :style_src => %w['unsafe-inline']
     )
 
     render "id", :layout => false
similarity index 82%
rename from app/controllers/trace_controller.rb
rename to app/controllers/traces_controller.rb
index f97e5ecd2f9f64308a066b88fad2e964f3a20a83..8994d8a2e58df90e17535edf5ae63a6cf08b258e 100644 (file)
@@ -1,19 +1,19 @@
-class TraceController < ApplicationController
+class TracesController < ApplicationController
   layout "site", :except => :georss
 
   skip_before_action :verify_authenticity_token, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
   before_action :authorize_web
   before_action :set_locale
-  before_action :require_user, :only => [:mine, :create, :edit, :delete]
+  before_action :require_user, :only => [:mine, :new, :create, :edit, :delete]
   before_action :authorize, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
   before_action :check_database_readable, :except => [:api_read, :api_data]
-  before_action :check_database_writable, :only => [:create, :edit, :delete, :api_create, :api_update, :api_delete]
+  before_action :check_database_writable, :only => [:new, :create, :edit, :delete, :api_create, :api_update, :api_delete]
   before_action :check_api_readable, :only => [:api_read, :api_data]
   before_action :check_api_writable, :only => [:api_create, :api_update, :api_delete]
   before_action :require_allow_read_gpx, :only => [:api_read, :api_data]
   before_action :require_allow_write_gpx, :only => [:api_create, :api_update, :api_delete]
   before_action :offline_warning, :only => [:mine, :view]
-  before_action :offline_redirect, :only => [:create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
+  before_action :offline_redirect, :only => [:new, :create, :edit, :delete, :data, :api_create, :api_delete, :api_data]
   around_action :api_call_handle_error, :only => [:api_create, :api_read, :api_update, :api_delete, :api_data]
 
   # Counts and selects pages of GPX traces for various criteria (by user, tags, public etc.).
@@ -31,14 +31,14 @@ class TraceController < ApplicationController
 
     # set title
     @title = if target_user.nil?
-               t "trace.list.public_traces"
+               t ".public_traces"
              elsif current_user && current_user == target_user
-               t "trace.list.my_traces"
+               t ".my_traces"
              else
-               t "trace.list.public_traces_from", :user => target_user.display_name
+               t ".public_traces_from", :user => target_user.display_name
              end
 
-    @title += t "trace.list.tagged_with", :tags => params[:tag] if params[:tag]
+    @title += t ".tagged_with", :tags => params[:tag] if params[:tag]
 
     # four main cases:
     # 1 - all traces, logged in = all public traces + all user's (i.e + all mine)
@@ -94,50 +94,50 @@ class TraceController < ApplicationController
 
     if @trace && @trace.visible? &&
        (@trace.public? || @trace.user == current_user)
-      @title = t "trace.view.title", :name => @trace.name
+      @title = t ".title", :name => @trace.name
     else
-      flash[:error] = t "trace.view.trace_not_found"
+      flash[:error] = t ".trace_not_found"
       redirect_to :action => "list"
     end
   rescue ActiveRecord::RecordNotFound
-    flash[:error] = t "trace.view.trace_not_found"
+    flash[:error] = t ".trace_not_found"
     redirect_to :action => "list"
   end
 
-  def create
-    if request.post?
-      logger.info(params[:trace][:gpx_file].class.name)
+  def new
+    @title = t ".upload_trace"
+    @trace = Trace.new(:visibility => default_visibility)
+  end
 
-      if params[:trace][:gpx_file].respond_to?(:read)
-        begin
-          do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
-                    params[:trace][:description], params[:trace][:visibility])
-        rescue StandardError => ex
-          logger.debug ex
-        end
+  def create
+    logger.info(params[:trace][:gpx_file].class.name)
 
-        if @trace.id
-          flash[:notice] = t "trace.create.trace_uploaded"
+    if params[:trace][:gpx_file].respond_to?(:read)
+      begin
+        do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
+                  params[:trace][:description], params[:trace][:visibility])
+      rescue StandardError => ex
+        logger.debug ex
+      end
 
-          flash[:warning] = t "trace.trace_header.traces_waiting", :count => current_user.traces.where(:inserted => false).count if current_user.traces.where(:inserted => false).count > 4
+      if @trace.id
+        flash[:notice] = t ".trace_uploaded"
+        flash[:warning] = t ".traces_waiting", :count => current_user.traces.where(:inserted => false).count if current_user.traces.where(:inserted => false).count > 4
 
-          redirect_to :action => :list, :display_name => current_user.display_name
-        end
-      else
-        @trace = Trace.new(:name => "Dummy",
-                           :tagstring => params[:trace][:tagstring],
-                           :description => params[:trace][:description],
-                           :visibility => params[:trace][:visibility],
-                           :inserted => false, :user => current_user,
-                           :timestamp => Time.now.getutc)
-        @trace.valid?
-        @trace.errors.add(:gpx_file, "can't be blank")
+        redirect_to :action => :list, :display_name => current_user.display_name
       end
     else
-      @trace = Trace.new(:visibility => default_visibility)
+      @trace = Trace.new(:name => "Dummy",
+                         :tagstring => params[:trace][:tagstring],
+                         :description => params[:trace][:description],
+                         :visibility => params[:trace][:visibility],
+                         :inserted => false, :user => current_user,
+                         :timestamp => Time.now.getutc)
+      @trace.valid?
+      @trace.errors.add(:gpx_file, "can't be blank")
+      @title = t ".upload_trace"
+      render :action => "new"
     end
-
-    @title = t "trace.create.upload_trace"
   end
 
   def data
@@ -168,7 +168,7 @@ class TraceController < ApplicationController
     elsif current_user.nil? || @trace.user != current_user
       head :forbidden
     else
-      @title = t "trace.edit.title", :name => @trace.name
+      @title = t ".title", :name => @trace.name
 
       if request.post? && params[:trace]
         @trace.description = params[:trace][:description]
@@ -191,7 +191,7 @@ class TraceController < ApplicationController
     else
       trace.visible = false
       trace.save
-      flash[:notice] = t "trace.delete.scheduled_for_deletion"
+      flash[:notice] = t ".scheduled_for_deletion"
       redirect_to :action => :list, :display_name => trace.user.display_name
     end
   rescue ActiveRecord::RecordNotFound
@@ -385,7 +385,7 @@ class TraceController < ApplicationController
   end
 
   def offline_warning
-    flash.now[:warning] = t "trace.offline_warning.message" if STATUS == :gpx_offline
+    flash.now[:warning] = t "traces.offline_warning.message" if STATUS == :gpx_offline
   end
 
   def offline_redirect
index c41501367e0896abdd52a7d2a93edf7a7ffbc243..2b7bf3f58f7e190a5346abcaf45d3fa2c1a0e3a4 100644 (file)
@@ -5,7 +5,7 @@ class UserBlocksController < ApplicationController
   before_action :set_locale
   before_action :require_user, :only => [:new, :create, :edit, :update, :revoke]
   before_action :require_moderator, :only => [:new, :create, :edit, :update, :revoke]
-  before_action :lookup_this_user, :only => [:new, :create, :blocks_on, :blocks_by]
+  before_action :lookup_user, :only => [:new, :create, :blocks_on, :blocks_by]
   before_action :lookup_user_block, :only => [:show, :edit, :update, :revoke]
   before_action :require_valid_params, :only => [:create, :update]
   before_action :check_database_readable
@@ -37,7 +37,7 @@ class UserBlocksController < ApplicationController
   def create
     if @valid_params
       @user_block = UserBlock.new(
-        :user => @this_user,
+        :user => @user,
         :creator => current_user,
         :reason => params[:user_block][:reason],
         :ends_at => Time.now.getutc + @block_period.hours,
@@ -45,7 +45,7 @@ class UserBlocksController < ApplicationController
       )
 
       if @user_block.save
-        flash[:notice] = t("user_block.create.flash", :name => @this_user.display_name)
+        flash[:notice] = t(".flash", :name => @user.display_name)
         redirect_to @user_block
       else
         render :action => "new"
@@ -58,14 +58,14 @@ class UserBlocksController < ApplicationController
   def update
     if @valid_params
       if @user_block.creator != current_user
-        flash[:error] = t("user_block.update.only_creator_can_edit")
+        flash[:error] = t(".only_creator_can_edit")
         redirect_to :action => "edit"
       elsif @user_block.update(
         :ends_at => Time.now.getutc + @block_period.hours,
         :reason => params[:user_block][:reason],
         :needs_view => params[:user_block][:needs_view]
       )
-        flash[:notice] = t("user_block.update.success")
+        flash[:notice] = t(".success")
         redirect_to(@user_block)
       else
         render :action => "edit"
@@ -80,7 +80,7 @@ class UserBlocksController < ApplicationController
   def revoke
     if params[:confirm]
       if @user_block.revoke! current_user
-        flash[:notice] = t "user_block.revoke.flash"
+        flash[:notice] = t ".flash"
         redirect_to(@user_block)
       end
     end
@@ -92,7 +92,7 @@ class UserBlocksController < ApplicationController
     @params = params.permit(:display_name)
     @user_blocks_pages, @user_blocks = paginate(:user_blocks,
                                                 :include => [:user, :creator, :revoker],
-                                                :conditions => { :user_id => @this_user.id },
+                                                :conditions => { :user_id => @user.id },
                                                 :order => "user_blocks.ends_at DESC",
                                                 :per_page => 20)
   end
@@ -103,7 +103,7 @@ class UserBlocksController < ApplicationController
     @params = params.permit(:display_name)
     @user_blocks_pages, @user_blocks = paginate(:user_blocks,
                                                 :include => [:user, :creator, :revoker],
-                                                :conditions => { :creator_id => @this_user.id },
+                                                :conditions => { :creator_id => @user.id },
                                                 :order => "user_blocks.ends_at DESC",
                                                 :per_page => 20)
   end
@@ -128,10 +128,10 @@ class UserBlocksController < ApplicationController
     @valid_params = false
 
     if !UserBlock::PERIODS.include?(@block_period)
-      flash[:error] = t("user_block.filter.block_period")
+      flash[:error] = t("user_blocks.filter.block_period")
 
     elsif @user_block && !@user_block.active?
-      flash[:error] = t("user_block.filter.block_expired")
+      flash[:error] = t("user_blocks.filter.block_expired")
 
     else
       @valid_params = true
index 0c3ad0b05e31444fee19e1aa82318525da740b34..63fad8c8378aa7f210ebe90b040badac88a3d0b1 100644 (file)
@@ -118,7 +118,6 @@ class UserController < ApplicationController
   end
 
   def account
-    @title = t "user.account.title"
     @tokens = current_user.oauth_tokens.authorized
 
     if params[:user] && params[:user][:display_name] && params[:user][:description]
@@ -135,6 +134,7 @@ class UserController < ApplicationController
         current_user.errors.add(attribute, error)
       end
     end
+    @title = t "user.account.title"
   end
 
   def go_public
@@ -377,7 +377,7 @@ class UserController < ApplicationController
   end
 
   def api_read
-    if @this_user.visible?
+    if @user.visible?
       render :action => :api_read, :content_type => "text/xml"
     else
       head :gone
@@ -385,7 +385,7 @@ class UserController < ApplicationController
   end
 
   def api_details
-    @this_user = current_user
+    @user = current_user
     render :action => :api_read, :content_type => "text/xml"
   end
 
@@ -398,11 +398,11 @@ class UserController < ApplicationController
   end
 
   def view
-    @this_user = User.find_by(:display_name => params[:display_name])
+    @user = User.find_by(:display_name => params[:display_name])
 
-    if @this_user &&
-       (@this_user.visible? || (current_user && current_user.administrator?))
-      @title = @this_user.display_name
+    if @user &&
+       (@user.visible? || (current_user && current_user.administrator?))
+      @title = @user.display_name
     else
       render_unknown_user params[:display_name]
     end
@@ -462,15 +462,15 @@ class UserController < ApplicationController
   ##
   # sets a user's status
   def set_status
-    @this_user.status = params[:status]
-    @this_user.save
+    @user.status = params[:status]
+    @user.save
     redirect_to :action => "view", :display_name => params[:display_name]
   end
 
   ##
   # delete a user, marking them as deleted and removing personal data
   def delete
-    @this_user.delete
+    @user.delete
     redirect_to :action => "view", :display_name => params[:display_name]
   end
 
@@ -712,7 +712,7 @@ class UserController < ApplicationController
     end
 
     if user.save
-      set_locale
+      set_locale(true)
 
       if user.new_email.blank? || user.new_email == user.email
         flash.now[:notice] = t "user.account.flash update success"
@@ -761,17 +761,17 @@ class UserController < ApplicationController
   end
 
   ##
-  # ensure that there is a "this_user" instance variable
+  # ensure that there is a "user" instance variable
   def lookup_user_by_id
-    @this_user = User.find(params[:id])
+    @user = User.find(params[:id])
   end
 
   ##
-  # ensure that there is a "this_user" instance variable
+  # ensure that there is a "user" instance variable
   def lookup_user_by_name
-    @this_user = User.find_by(:display_name => params[:display_name])
+    @user = User.find_by(:display_name => params[:display_name])
   rescue ActiveRecord::RecordNotFound
-    redirect_to :action => "view", :display_name => params[:display_name] unless @this_user
+    redirect_to :action => "view", :display_name => params[:display_name] unless @user
   end
 
   ##
similarity index 97%
rename from app/controllers/user_preference_controller.rb
rename to app/controllers/user_preferences_controller.rb
index 16165513aefa217b11b1ac80520a89882de5d465..0aa2e8d523240c5f1eb3add8f6c978204bcab86f 100644 (file)
@@ -1,5 +1,5 @@
 # Update and read user preferences, which are arbitrayr key/val pairs
-class UserPreferenceController < ApplicationController
+class UserPreferencesController < ApplicationController
   skip_before_action :verify_authenticity_token
   before_action :authorize
   before_action :require_allow_read_prefs, :only => [:read_one, :read]
index 37d4da00e009cdeeabdfa1a763264ca158329561..732a2bb2c24a48c19e49324c75e3a5eea12050e0 100644 (file)
@@ -3,25 +3,25 @@ class UserRolesController < ApplicationController
 
   before_action :authorize_web
   before_action :require_user
-  before_action :lookup_this_user
+  before_action :lookup_user
   before_action :require_administrator
   before_action :require_valid_role
   before_action :not_in_role, :only => [:grant]
   before_action :in_role, :only => [:revoke]
 
   def grant
-    @this_user.roles.create(:role => @role, :granter => current_user)
-    redirect_to user_path(@this_user)
+    @user.roles.create(:role => @role, :granter => current_user)
+    redirect_to user_path(@user)
   end
 
   def revoke
     # checks that administrator role is not revoked from current user
-    if current_user == @this_user && @role == "administrator"
+    if current_user == @user && @role == "administrator"
       flash[:error] = t("user_role.filter.not_revoke_admin_current_user")
     else
-      UserRole.where(:user_id => @this_user.id, :role => @role).delete_all
+      UserRole.where(:user_id => @user.id, :role => @role).delete_all
     end
-    redirect_to user_path(@this_user)
+    redirect_to user_path(@user)
   end
 
   private
@@ -32,7 +32,7 @@ class UserRolesController < ApplicationController
   def require_administrator
     unless current_user.administrator?
       flash[:error] = t "user_role.filter.not_an_administrator"
-      redirect_to user_path(@this_user)
+      redirect_to user_path(@user)
     end
   end
 
@@ -43,25 +43,25 @@ class UserRolesController < ApplicationController
     @role = params[:role]
     unless UserRole::ALL_ROLES.include?(@role)
       flash[:error] = t("user_role.filter.not_a_role", :role => @role)
-      redirect_to user_path(@this_user)
+      redirect_to user_path(@user)
     end
   end
 
   ##
   # checks that the user doesn't already have this role
   def not_in_role
-    if @this_user.has_role? @role
+    if @user.has_role? @role
       flash[:error] = t("user_role.filter.already_has_role", :role => @role)
-      redirect_to user_path(@this_user)
+      redirect_to user_path(@user)
     end
   end
 
   ##
   # checks that the user already has this role
   def in_role
-    unless @this_user.has_role? @role
+    unless @user.has_role? @role
       flash[:error] = t("user_role.filter.doesnt_have_role", :role => @role)
-      redirect_to user_path(@this_user)
+      redirect_to user_path(@user)
     end
   end
 end
index adcf5c6c011ec6fdcc31821b2c0af3b74065c083..c78c3ea46423227e62db5a69b01633c714f0cb68 100644 (file)
@@ -17,44 +17,6 @@ module ApplicationHelper
     link_to(image_tag("RSS.png", :size => "16x16", :border => 0), Hash[*args], :class => "rsssmall")
   end
 
-  def style_rules
-    css = ""
-
-    css << ".hidden { display: none !important }"
-    css << ".hide_unless_logged_in { display: none !important }" unless current_user
-    css << ".hide_if_logged_in { display: none !important }" if current_user
-    css << ".hide_if_user_#{current_user.id} { display: none !important }" if current_user
-    css << ".show_if_user_#{current_user.id} { display: inline !important }" if current_user
-    css << ".hide_unless_administrator { display: none !important }" unless current_user && current_user.administrator?
-    css << ".hide_unless_moderator { display: none !important }" unless current_user && current_user.moderator?
-
-    content_tag(:style, css, :type => "text/css")
-  end
-
-  def if_logged_in(tag = :div, &block)
-    content_tag(tag, capture(&block), :class => "hide_unless_logged_in")
-  end
-
-  def if_not_logged_in(tag = :div, &block)
-    content_tag(tag, capture(&block), :class => "hide_if_logged_in")
-  end
-
-  def if_user(user, tag = :div, &block)
-    content_tag(tag, capture(&block), :class => "hidden show_if_user_#{user.id}") if user
-  end
-
-  def unless_user(user, tag = :div, &block)
-    if user
-      content_tag(tag, capture(&block), :class => "hide_if_user_#{user.id}")
-    else
-      content_tag(tag, capture(&block))
-    end
-  end
-
-  def if_administrator(tag = :div, &block)
-    content_tag(tag, capture(&block), :class => "hide_unless_administrator")
-  end
-
   def richtext_area(object_name, method, options = {})
     id = "#{object_name}_#{method}"
     type = options.delete(:format) || "markdown"
index b99ba93384b603efd3ea9de115a77b31d2bb87dc..eebe1af8fb46a37fc2b1bdbd2dc6dc6e9454572c 100644 (file)
@@ -163,7 +163,7 @@ module BrowseHelper
     # The simple wikidata-tag (this is limited to only one value)
     if key == "wikidata" && value =~ /^[Qq][1-9][0-9]*$/
       return [{
-        :url => "//www.wikidata.org/wiki/#{value}?uselang=#{I18n.locale}",
+        :url => "//www.wikidata.org/entity/#{value}?uselang=#{I18n.locale}",
         :title => value
       }]
     # Key has to be one of the accepted wikidata-tags
@@ -172,7 +172,7 @@ module BrowseHelper
           value =~ /^[Qq][1-9][0-9]*(\s*;\s*[Qq][1-9][0-9]*)*$/
       # Splitting at every semicolon to get a separate hash for each wikidata-ID
       return value.split(";").map do |id|
-        { :title => id, :url => "//www.wikidata.org/wiki/#{id.strip}?uselang=#{I18n.locale}" }
+        { :title => id, :url => "//www.wikidata.org/entity/#{id.strip}?uselang=#{I18n.locale}" }
       end
     end
     nil
index 3c9c0a37e5f6a5d1ab237505e9835a75e844d865..668eeb0e5aa66668ee1118c43bbf36fa14600040 100644 (file)
@@ -7,19 +7,19 @@ module UserBlocksHelper
       # if the block hasn't expired yet show the date, if the user just needs to login show that
       if block.needs_view?
         if block.ends_at > Time.now.getutc
-          I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe
+          I18n.t("user_blocks.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe
         else
-          I18n.t("user_block.helper.until_login")
+          I18n.t("user_blocks.helper.until_login")
         end
       else
-        I18n.t("user_block.helper.time_future", :time => friendly_date(block.ends_at)).html_safe
+        I18n.t("user_blocks.helper.time_future", :time => friendly_date(block.ends_at)).html_safe
       end
     else
       # the max of the last update time or the ends_at time is when this block finished
       # either because the user viewed the block (updated_at) or it expired or was
       # revoked (ends_at)
       last_time = [block.ends_at, block.updated_at].max
-      I18n.t("user_block.helper.time_past", :time => friendly_date(last_time)).html_safe
+      I18n.t("user_blocks.helper.time_past", :time => friendly_date(last_time)).html_safe
     end
   end
 end
index 36564f61492a4a60ee08092817d75076d0111f14..d08bedd8ca05a5c9f9d162a942248499a1b711bf 100644 (file)
@@ -8,9 +8,7 @@ class Notifier < ActionMailer::Base
 
   def signup_confirm(user, token)
     with_recipient_locale user do
-      @url = url_for(:host => SERVER_URL,
-                     :protocol => SERVER_PROTOCOL,
-                     :controller => "user", :action => "confirm",
+      @url = url_for(:controller => "user", :action => "confirm",
                      :display_name => user.display_name,
                      :confirm_string => token.token)
 
@@ -22,9 +20,7 @@ class Notifier < ActionMailer::Base
   def email_confirm(user, token)
     with_recipient_locale user do
       @address = user.new_email
-      @url = url_for(:host => SERVER_URL,
-                     :protocol => SERVER_PROTOCOL,
-                     :controller => "user", :action => "confirm_email",
+      @url = url_for(:controller => "user", :action => "confirm_email",
                      :confirm_string => token.token)
 
       mail :to => user.new_email,
@@ -34,9 +30,7 @@ class Notifier < ActionMailer::Base
 
   def lost_password(user, token)
     with_recipient_locale user do
-      @url = url_for(:host => SERVER_URL,
-                     :protocol => SERVER_PROTOCOL,
-                     :controller => "user", :action => "reset_password",
+      @url = url_for(:controller => "user", :action => "reset_password",
                      :token => token.token)
 
       mail :to => user.email,
@@ -75,14 +69,8 @@ class Notifier < ActionMailer::Base
       @from_user = message.sender.display_name
       @text = message.body
       @title = message.title
-      @readurl = url_for(:host => SERVER_URL,
-                         :protocol => SERVER_PROTOCOL,
-                         :controller => "message", :action => "read",
-                         :message_id => message.id)
-      @replyurl = url_for(:host => SERVER_URL,
-                          :protocol => SERVER_PROTOCOL,
-                          :controller => "message", :action => "reply",
-                          :message_id => message.id)
+      @readurl = message_url(message)
+      @replyurl = reply_message_url(message)
       @author = @from_user
 
       attach_user_avatar(message.sender)
@@ -99,26 +87,18 @@ class Notifier < ActionMailer::Base
       @from_user = comment.user.display_name
       @text = comment.body
       @title = comment.diary_entry.title
-      @readurl = url_for(:host => SERVER_URL,
-                         :protocol => SERVER_PROTOCOL,
-                         :controller => "diary_entry",
+      @readurl = url_for(:controller => "diary_entry",
                          :action => "view",
                          :display_name => comment.diary_entry.user.display_name,
                          :id => comment.diary_entry.id,
                          :anchor => "comment#{comment.id}")
-      @commenturl = url_for(:host => SERVER_URL,
-                            :protocol => SERVER_PROTOCOL,
-                            :controller => "diary_entry",
+      @commenturl = url_for(:controller => "diary_entry",
                             :action => "view",
                             :display_name => comment.diary_entry.user.display_name,
                             :id => comment.diary_entry.id,
                             :anchor => "newcomment")
-      @replyurl = url_for(:host => SERVER_URL,
-                          :protocol => SERVER_PROTOCOL,
-                          :controller => "message",
-                          :action => "new",
-                          :display_name => comment.user.display_name,
-                          :title => "Re: #{comment.diary_entry.title}")
+      @replyurl = new_message_url(comment.user, :message => { :title => "Re: #{comment.diary_entry.title}" })
+
       @author = @from_user
 
       attach_user_avatar(comment.user)
@@ -132,13 +112,9 @@ class Notifier < ActionMailer::Base
   def friend_notification(friend)
     with_recipient_locale friend.befriendee do
       @friend = friend
-      @viewurl = url_for(:host => SERVER_URL,
-                         :protocol => SERVER_PROTOCOL,
-                         :controller => "user", :action => "view",
+      @viewurl = url_for(:controller => "user", :action => "view",
                          :display_name => @friend.befriender.display_name)
-      @friendurl = url_for(:host => SERVER_URL,
-                           :protocol => SERVER_PROTOCOL,
-                           :controller => "user", :action => "make_friend",
+      @friendurl = url_for(:controller => "user", :action => "make_friend",
                            :display_name => @friend.befriender.display_name)
       @author = @friend.befriender.display_name
 
@@ -150,7 +126,7 @@ class Notifier < ActionMailer::Base
 
   def note_comment_notification(comment, recipient)
     with_recipient_locale recipient do
-      @noteurl = browse_note_url(comment.note, :host => SERVER_URL)
+      @noteurl = browse_note_url(comment.note)
       @place = Nominatim.describe_location(comment.note.lat, comment.note.lon, 14, I18n.locale)
       @comment = comment.body
       @owner = recipient == comment.note.author
@@ -178,7 +154,7 @@ class Notifier < ActionMailer::Base
   def changeset_comment_notification(comment, recipient)
     with_recipient_locale recipient do
       @to_user = recipient.display_name
-      @changeset_url = changeset_url(comment.changeset, :host => SERVER_URL)
+      @changeset_url = changeset_url(comment.changeset)
       @comment = comment.body
       @owner = recipient == comment.changeset.user
       @commenter = comment.author.display_name
@@ -202,7 +178,7 @@ class Notifier < ActionMailer::Base
   private
 
   def set_shared_template_vars
-    @root_url = root_url(:host => SERVER_URL)
+    @root_url = root_url
   end
 
   def attach_project_logo
index 2a0a5ab4508f2c193c048cf3eeb24edff5262fdc..aaa00169f5210f2ac5fda89f0e1b8bd5d839811e 100644 (file)
@@ -117,6 +117,7 @@ class User < ActiveRecord::Base
   before_save :encrypt_password
   before_save :update_tile
   after_save :spam_check
+  after_save :reset_preferred_languages
 
   def to_param
     display_name
@@ -197,6 +198,10 @@ class User < ActiveRecord::Base
     @preferred_languages ||= Locale.list(languages)
   end
 
+  def reset_preferred_languages
+    @preferred_languages = nil
+  end
+
   def nearby(radius = NEARBY_RADIUS, num = NEARBY_USERS)
     if home_lon && home_lat
       gc = OSM::GreatCircle.new(home_lat, home_lon)
index de41d92471912bec8cbb73bf43bacc49e21f588c..1b26a89b61e0fc8fda99e7489244c083d231791c 100644 (file)
@@ -1,8 +1,8 @@
 <li><%=
   linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
   if containing_relation.member_role.blank?
-    raw t 'browse.containing_relation.entry', :relation_name => linked_name
+    raw t '.entry', :relation_name => linked_name
   else
-    raw t 'browse.containing_relation.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
+    raw t '.entry_role', :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
   end
-%></li>
\ No newline at end of file
+%></li>
index 235a7e91d5641e3c933143c71877f4b1047d4326..e187da6ca1930d4f3f3f1e2f0ecaeac9199a0ac6 100644 (file)
@@ -16,7 +16,7 @@
     <% end %>
 
     <% unless relation.relation_members.empty? %>
-      <h4><%= t'browse.relation.members' %></h4>
+      <h4><%= t '.members' %></h4>
       <ul><%= render :partial => "relation_member", :collection => relation.relation_members %></ul>
     <% end %>
   </div>
index 87b7e301bddaa638ca25d9fac809904b6324b1ba..cedc6f5e906df44971b134e8ff59611e33a4721c 100644 (file)
@@ -1,12 +1,12 @@
 <%
   member_class = link_class(relation_member.member_type.downcase, relation_member.member)
   linked_name = link_to printable_name(relation_member.member), { :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, :title => link_title(relation_member.member), :rel => link_follow(relation_member.member)
-  type_str = t'browse.relation_member.type.' + relation_member.member_type.downcase
+  type_str = t '.type.' + relation_member.member_type.downcase
 %>
   <li class="<%= member_class %>"><%=
     if relation_member.member_role.blank?
-      raw t'browse.relation_member.entry', :type => type_str, :name => linked_name
+      raw t '.entry', :type => type_str, :name => linked_name
     else
-      raw t'browse.relation_member.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
+      raw t '.entry_role', :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
     end
   %></li>
index 16e3b51b2865b156558eb93d271a49b43382aba8..9c3fbbfc206961291a77d8bdb37f0dc75fdffc18 100644 (file)
@@ -1,5 +1,5 @@
 <% unless tag_details.empty? %>
-  <h4><%= t 'browse.tag_details.tags' %></h4>
+  <h4><%= t '.tags' %></h4>
   <table class='browse-tag-list'>
     <%= render :partial => "tag", :collection => tag_details.sort %>
   </table>
index c2287a1cc0b9b854881a1d3fa31de2e3cb25b491..4f331b5e9be43ee96ffa8d87b25ce3396bdc80cf 100644 (file)
     <% end %>
 
     <% unless way.way_nodes.empty? %>
-      <h4><%= t'browse.way.nodes' %></h4>
+      <h4><%= t '.nodes' %></h4>
       <ul>
         <% way.way_nodes.each do |wn| %>
           <li>
             <%= link_to printable_name(wn.node), { :action => "node", :id => wn.node_id.to_s }, :class => link_class('node', wn.node), :title => link_title(wn.node), :rel => link_follow(wn.node) %>
             <% related_ways = wn.node.ways.reject { |w| w.id == wn.way_id } %>
             <% if related_ways.size > 0 then %>
-              (<%= raw t 'browse.way.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(printable_name(w), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
+              (<%= raw t '.also_part_of', :count => related_ways.size, :related_ways => related_ways.map { |w| link_to(printable_name(w), { :action => "way", :id => w.id.to_s }, :class => link_class('way', w), :title => link_title(w) ) }.to_sentence %>)
             <% end %>
           </li>
         <% end %>
index 81e1614c10570f5b691108c1d6957ec1fae61f62..85b9515dfedab9442490590023bdbbf0c67977e1 100644 (file)
@@ -1,8 +1,8 @@
-<% set_title(t('browse.changeset.title', :id => @changeset.id)) %>
+<% set_title(t('.title', :id => @changeset.id)) %>
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t('browse.changeset.title', :id => @changeset.id) %>
+  <%= t('.title', :id => @changeset.id) %>
 </h2>
 
 <div class="browse-section">
 
   <%= render :partial => "tag_details", :object => @changeset.tags.except('comment') %>
 
-  <h4 class="comments-header"><%= t('browse.changeset.discussion') %></h4>
+  <h4 class="comments-header"><%= t('.discussion') %></h4>
 
-  <div class="buttons clearfix subscribe-buttons">
-    <form action="#" class="hide_unless_logged_in">
-      <% if current_user and @changeset.subscribers.exists?(current_user.id) %>
-        <input class="action-button" type="submit" name="unsubscribe" value="<%= t('javascripts.changesets.show.unsubscribe') %>" data-method="POST" data-url="<%= changeset_unsubscribe_url(@changeset) %>" />
-      <% else %>
-        <input class="action-button" type="submit" name="subscribe" value="<%= t('javascripts.changesets.show.subscribe') %>" data-method="POST" data-url="<%= changeset_subscribe_url(@changeset) %>" />
-      <% end %>
-    </form>
-  </div>
+  <% if current_user %>
+    <div class="buttons clearfix subscribe-buttons">
+      <form action="#">
+        <% if @changeset.subscribers.exists?(current_user.id) %>
+          <input class="action-button" type="submit" name="unsubscribe" value="<%= t('javascripts.changesets.show.unsubscribe') %>" data-method="POST" data-url="<%= changeset_unsubscribe_url(@changeset) %>" />
+        <% else %>
+          <input class="action-button" type="submit" name="subscribe" value="<%= t('javascripts.changesets.show.subscribe') %>" data-method="POST" data-url="<%= changeset_subscribe_url(@changeset) %>" />
+        <% end %>
+      </form>
+    </div>
+  <% end %>
 
   <div class="clearfix"></div>
 
@@ -33,7 +35,7 @@
             <% if comment.visible %>
               <li id="c<%= comment.id %>">
                 <small class='deemphasize'>
-                  <%= t("browse.changeset.commented_by",
+                  <%= t(".commented_by",
                     :when => friendly_date(comment.created_at), :exact_time => l(comment.created_at),
                     :user => link_to(h(comment.author.display_name), user_path(comment.author))).html_safe %>
                   <% if current_user and current_user.moderator? %>
@@ -45,7 +47,7 @@
             <% elsif current_user and current_user.moderator? %>
               <li id="c<%= comment.id %>">
                 <small class='deemphasize'>
-                  <%= t("browse.changeset.hidden_commented_by",
+                  <%= t(".hidden_commented_by",
                     :when => friendly_date(comment.created_at), :exact_time => l(comment.created_at),
                     :user => link_to(h(comment.author.display_name), user_path(comment.author))).html_safe %>
                   — <span class="action-button deemphasize" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_unhide_url(comment.id) %>"><%= t('javascripts.changesets.show.unhide_comment') %></span>
     </div>
   <% end %>
 
-  <div class="notice hide_if_logged_in">
-    <%= link_to(t("browse.changeset.join_discussion"), :controller => 'user', :action => 'login', :referer => request.fullpath) %>
-  </div>
+  <% unless current_user %>
+    <div class="notice">
+      <%= link_to(t(".join_discussion"), :controller => 'user', :action => 'login', :referer => request.fullpath) %>
+    </div>
+  <% end %>
 
-  <% unless @changeset.is_open? %>
-    <form action="#" class="hide_unless_logged_in">
-      <textarea class="comment" name="text" cols="40" rows="5"></textarea>
-      <div class="buttons clearfix">
-        <input type="submit" name="comment" value="<%= t('javascripts.changesets.show.comment') %>" data-changeset-id="<%= @changeset.id %>" data-method="POST" data-url="<%= changeset_comment_url(@changeset) %>" disabled="1"/>
+  <% if current_user %>
+    <% unless @changeset.is_open? %>
+      <form action="#">
+        <textarea class="comment" name="text" cols="40" rows="5"></textarea>
+        <div class="buttons clearfix">
+          <input type="submit" name="comment" value="<%= t('javascripts.changesets.show.comment') %>" data-changeset-id="<%= @changeset.id %>" data-method="POST" data-url="<%= changeset_comment_url(@changeset) %>" disabled="1"/>
+        </div>
+      </form>
+    <% else %>
+      <div class="notice">
+      <%= t('.still_open') %>
       </div>
-    </form>
-  <% else %>
-    <div class="notice hide_unless_logged_in">
-    <%= t('browse.changeset.still_open') %>
-    </div>
+    <% end %>
   <% end %>
 
   <% unless @ways.empty? %>
 <% end %>
 
 <div class='secondary-actions'>
-  <%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %>
+  <%= link_to(t('.changesetxml'), :controller => "changeset", :action => "read") %>
   &middot;
-  <%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %>
+  <%= link_to(t('.osmchangexml'), :controller => "changeset", :action => "download") %>
 </div>
index a8974b474706421dfb46e24362de714763fc6faa..3c4e8a4c837db40655e4c36e717fc52e22f45147 100644 (file)
@@ -1,12 +1,4 @@
-<%
-  browse_not_found_type = {
-    'node' => I18n.t('browse.not_found.type.node'),
-    'way' => I18n.t('browse.not_found.type.way'),
-    'relation' => I18n.t('browse.not_found.type.relation'),
-    'changeset' => I18n.t('browse.not_found.type.changeset'),
-  };
-%>
-
 <h2>
-    <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-    <%= t'browse.not_found.sorry', :type=> browse_not_found_type[@type] , :id => params[:id] %></h2>
+  <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
+  <%= t ".sorry", :type => t(".type.#{@type}"), :id => params[:id] %>
+</h2>
index fa9e886280780a1cfbefdb4a045b2f84697dba8b..53ea0759e9f79866bbbfc97dfe416e0b0a1d0e8d 100644 (file)
@@ -1,12 +1,12 @@
-<% set_title(t('browse.note.title', :id => @note.id)) %>
+<% set_title(t('.title', :id => @note.id)) %>
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t "browse.note.#{@note.status}_title", :note_name => @note.id %>
+  <%= t ".#{@note.status}_title", :note_name => @note.id %>
 </h2>
 
 <div class="browse-section">
-  <h4><%= t('browse.note.description') %></h4>
+  <h4><%= t('.description') %></h4>
   <div class="note-description">
     <%= h(@note_comments.first.body.to_html) %>
   </div>
     <form action="#">
       <textarea class="comment" name="text" cols="40" rows="5"></textarea>
       <div class="buttons clearfix">
-        <input type="submit" name="hide" value="<%= t('javascripts.notes.show.hide') %>" class="hide_unless_moderator deemphasize" data-note-id="<%= @note.id %>" data-method="DELETE" data-url="<%= note_url(@note, 'json') %>">
-        <input type="submit" name="close" value="<%= t('javascripts.notes.show.resolve') %>" class="hide_unless_logged_in" data-note-id="<%= @note.id %>" data-method="POST" data-url="<%= close_note_url(@note, 'json') %>">
+        <% if current_user and current_user.moderator? -%>
+          <input type="submit" name="hide" value="<%= t('javascripts.notes.show.hide') %>" class="deemphasize" data-note-id="<%= @note.id %>" data-method="DELETE" data-url="<%= note_url(@note, 'json') %>">
+        <% end -%>
+        <% if current_user -%>
+          <input type="submit" name="close" value="<%= t('javascripts.notes.show.resolve') %>" data-note-id="<%= @note.id %>" data-method="POST" data-url="<%= close_note_url(@note, 'json') %>">
+        <% end -%>
         <input type="submit" name="comment" value="<%= t('javascripts.notes.show.comment') %>" data-note-id="<%= @note.id %>" data-method="POST" data-url="<%= comment_note_url(@note, 'json') %>" disabled="1">
       </div>
     </form>
     <form action="#">
       <input type="hidden" name="text" value="">
       <div class="buttons clearfix">
-        <input type="submit" name="hide" value="<%= t('javascripts.notes.show.hide') %>" class="hide_unless_moderator deemphasize" data-note-id="<%= @note.id %>" data-method="DELETE" data-url="<%= note_url(@note, 'json') %>">
-        <input type="submit" name="reopen" value="<%= t('javascripts.notes.show.reactivate') %>" class="hide_unless_logged_in" data-note-id="<%= @note.id %>" data-method="POST" data-url="<%= reopen_note_url(@note, 'json') %>">
+        <% if current_user and current_user.moderator? -%>
+          <input type="submit" name="hide" value="<%= t('javascripts.notes.show.hide') %>" class="deemphasize" data-note-id="<%= @note.id %>" data-method="DELETE" data-url="<%= note_url(@note, 'json') %>">
+        <% end -%>
+        <% if current_user -%>
+          <input type="submit" name="reopen" value="<%= t('javascripts.notes.show.reactivate') %>" data-note-id="<%= @note.id %>" data-method="POST" data-url="<%= reopen_note_url(@note, 'json') %>">
+        <% end -%>
       </div>
     </form>
   <% end %>
index 629d84c05456f1f3abcd05eef5740b2e34451147..8b07adfc2ad0e3ec152b569660e43b3c670b6faa 100644 (file)
@@ -1,22 +1,22 @@
-<% set_title(t "browse.query.title") %>
+<% set_title(t ".title") %>
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t "browse.query.title" %>
+  <%= t ".title" %>
 </h2>
 
 <div class="query-intro">
-  <p><%= t("browse.query.introduction") %></p>
+  <p><%= t(".introduction") %></p>
 </div>
 
 <div id="query-nearby" class="query-results">
-  <h3><%= t("browse.query.nearby") %></h3>
+  <h3><%= t(".nearby") %></h3>
   <%= image_tag "searching.gif", :class => "loader" %>
   <ul class="query-results-list"></ul>
 </div>
 
 <div id="query-isin" class="query-results">
-  <h3><%= t("browse.query.enclosing") %></h3>
+  <h3><%= t(".enclosing") %></h3>
   <%= image_tag "searching.gif", :class => "loader" %>
   <ul class="query-results-list"></ul>
 </div>
index a624bf0a60e65f1f0208906a0e7490ac982d67ec..e6dd7b68d5d20ede57ae500b2692e44ca3ffabdd 100644 (file)
@@ -1,12 +1,4 @@
-<%
-  browse_timeout_type = {
-    'node' => I18n.t('browse.timeout.type.node'),
-    'way' => I18n.t('browse.timeout.type.way'),
-    'relation' => I18n.t('browse.timeout.type.relation'),
-    'changeset' => I18n.t('browse.timeout.type.changeset'),
-  };
-%>
 <div class="browse-section">
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t'browse.timeout.sorry', :type=> browse_timeout_type[@type] , :id => params[:id] %>
+  <%= t '.sorry', :type => t(".type.#{@type}"), :id => params[:id] %>
 </div>
index c448912512eeb9907c287e1b098d01024ac8816a..cedd3e83aa4d4e75f1f32641e730122b0e6b2aad 100644 (file)
@@ -4,14 +4,14 @@
   </ol>
 <% if @edits.size == 20 -%>
   <div class="changeset_more">
-    <%= link_to t('changeset.list.load_more'), url_for(@params.merge(:max_id => @edits.last.id - 1)), :class => "button load_more" %>
-    <%= image_tag "searching.gif", :class => "loader", :style => "display: none;" %>
+    <%= link_to t('.load_more'), url_for(@params.merge(:max_id => @edits.last.id - 1)), :class => "button load_more" %>
+    <div class="loader"><%= image_tag "searching.gif" %></div>
   </div>
 <% end -%>
 <% elsif params[:bbox] %>
-  <div class="inner22"><%= t(params[:max_id] ? 'changeset.list.no_more_area' : 'changeset.list.empty_area') %></div>
+  <div class="inner22"><%= t(params[:max_id] ? '.no_more_area' : '.empty_area') %></div>
 <% elsif params[:display_name] %>
-  <div class="inner22"><%= t(params[:max_id] ? 'changeset.list.no_more_user' : 'changeset.list.empty_user') %></div>
+  <div class="inner22"><%= t(params[:max_id] ? '.no_more_user' : '.empty_user') %></div>
 <% else %>
-  <div class="inner22"><%= t(params[:max_id] ? 'changeset.list.no_more' : 'changeset.list.empty') %></div>
+  <div class="inner22"><%= t(params[:max_id] ? '.no_more' : '.empty') %></div>
 <% end %>
index c878905e6ed17d63ac9c33713f53232949cc38a5..b5eeeed4a1e37f2c3a16352f3d8eeb3fabd5723f 100644 (file)
@@ -6,7 +6,7 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
 
   feed.subtitle :type => "xhtml" do |xhtml|
     xhtml.p do |p|
-      p << t("changeset.timeout.sorry")
+      p << t(".sorry")
     end
   end
 end
index 3ba59fae76569aef64bc5535326ac06860be12f1..84432bc8d77acdf3da49e10a09fde9096b8938b0 100644 (file)
@@ -1 +1 @@
-<p><%= t'changeset.timeout.sorry' %></p>
\ No newline at end of file
+<p><%= t '.sorry' %></p>
index 8e17b095422a86c0681511c87fce68c97e5eaa14..4ac9a0f967f1950dbe6e86f98b8a9d2c1f7e5a42 100644 (file)
@@ -1,13 +1,15 @@
 <div class="clearfix diary-comment">
   <%= user_thumbnail diary_comment.user %>
-  <p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= raw(t('diary_entry.diary_comment.comment_from', :link_user => (link_to h(diary_comment.user.display_name), user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}"))) %>
+  <p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= raw(t('.comment_from', :link_user => (link_to h(diary_comment.user.display_name), user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}"))) %>
     <% if current_user and diary_comment.user.id != current_user.id %>
       | <%= report_link(t(".report"), diary_comment) %>
     <% end %>
   </p>
 
   <div class="richtext"><%= diary_comment.body.to_html %></div>
-  <%= if_administrator(:span) do %>
-    <%= link_to t('diary_entry.diary_comment.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('diary_entry.diary_comment.confirm') } %>
+  <% if current_user && current_user.administrator? %>
+    <span>
+      <%= link_to t('.hide_link'), hide_diary_comment_path(:display_name => diary_comment.diary_entry.user.display_name, :id => diary_comment.diary_entry.id, :comment => diary_comment.id), :method => :post, :data=> { :confirm => t('.confirm') } %>
+    </span>
   <% end %>
 </div>
index ce311c168f5798ed3c464f558ccc6a2e2e5589dd..930f20e5ecd1e48dbe037889e44187c46c0ae97c 100644 (file)
@@ -1,13 +1,13 @@
 <div class='diary_post'>
   <div class='post_heading clearfix'>
-    <% if !@this_user %>
+    <% if !@user %>
       <%= user_thumbnail diary_entry.user %>
     <% end %>
 
     <h2><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></h2>
 
     <small class='deemphasize'>
-      <%= raw(t 'diary_entry.diary_entry.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
+      <%= raw(t '.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
     </small>
 
   </div>
 
   <ul class='secondary-actions clearfix'>
     <% if params[:action] == 'list' %>
-      <li><%= link_to t('diary_entry.diary_entry.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
-      <li><%= link_to t('diary_entry.diary_entry.reply_link'), :controller => 'message', :action => 'new', :display_name => diary_entry.user.display_name, :title => "Re: #{diary_entry.title}" %></li>
-      <li><%= link_to t('diary_entry.diary_entry.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %></li>
+      <li><%= link_to t('.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
+      <li><%= link_to t('.reply_link'), new_message_path(diary_entry.user, :message => { :title => "Re: #{diary_entry.title}" }) %></li>
+      <li><%= link_to t('.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %></li>
     <% end %>
 
-    <%= if_user(diary_entry.user, :li) do %>
-      <%= link_to t('diary_entry.diary_entry.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %>
+    <% if current_user && current_user == diary_entry.user %>
+      <li><%= link_to t('.edit_link'), :action => 'edit', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></li>
     <% end %>
 
     <% if current_user and diary_entry.user != current_user %>
       </li>
     <% end %>
 
-    <%= if_administrator(:li) do %>
-      <%= link_to t('diary_entry.diary_entry.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('diary_entry.diary_entry.confirm') } %>
+    <% if current_user && current_user.administrator? %>
+      <li>
+        <%= link_to t('.hide_link'), hide_diary_entry_path(:display_name => diary_entry.user.display_name, :id => diary_entry.id), :method => :post, :data => { :confirm => t('.confirm') } %>
+      </li>
     <% end %>
   </ul>
 </div>
index a5db0cdca949be7df2846819f6b75f47fb71a311..6828cd4dc282b536567731a55ede2bcaa4d5e12a 100644 (file)
@@ -1,4 +1,4 @@
-<%= t 'diary_entry.location.location' %>
+<%= t '.location' %>
 
 <a href="<%= url_for :controller => 'site', :action => 'index', :anchor => "map=14/#{location.latitude}/#{location.longitude}" %>">
 <abbr class="geo" title="<%= number_with_precision(location.latitude, :precision => 4) %>; <%= number_with_precision(location.longitude, :precision => 4) %>">
index 9dc800cff56849107b7e25d7b202fe7f27543279..7283a8ee12ff3ab150ca8bf8f1ccfb33c1ab9575 100644 (file)
@@ -1,24 +1,24 @@
 <% content_for :heading do %>
-  <h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
+  <h1><%= t('.has_commented_on', :display_name => @user.display_name) %></h1>
 <% end %>
 
 <table class="messages" width="100%">
   <tr>
-    <th width="25%"><%= t 'diary_entry.comments.post' %></th>
-    <th width="25%"><%= t 'diary_entry.comments.when' %></th>
-    <th width="50%"><%= t 'diary_entry.comments.comment' %></th>
+    <th width="25%"><%= t '.post' %></th>
+    <th width="25%"><%= t '.when' %></th>
+    <th width="50%"><%= t '.comment' %></th>
   </tr>
   <% @comments.each do |comment| -%>
   <% cl = cycle('table0', 'table1') %>
   <tr class="<%= cl %>">
     <td width="25%"><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
-    <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
+    <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= t '.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
     <td width="50%" class="richtext"><%= comment.body.to_html %></td>
   </tr>
   <% end -%>
 </table>
 
 <div class='secondary-actions clearfix'>
-  <span><%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %>
-  <%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %></span>
+  <span><%= link_to t('.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %>
+  <%= link_to t('.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %></span>
 </div>
index f29dc30ffec2edce53a397ad78d0a51237c712bb..d408938e5ac8aafd8e49a700e13f66fe5d9c9ed1 100644 (file)
   <div class="diary_entry standard-form">
     <fieldset>
       <div class='form-row'>
-        <label class="standard-label"><%= t 'diary_entry.edit.subject' -%></label>
+        <label class="standard-label"><%= t '.subject' -%></label>
         <%= f.text_field :title, :class => "richtext_title" %>
       </div>
       <div class='form-row'>
-        <label class="standard-label"><%= t 'diary_entry.edit.body' -%></label>
+        <label class="standard-label"><%= t '.body' -%></label>
         <%= richtext_area :diary_entry, :body, :cols => 80, :rows => 20, :format => @diary_entry.body_format %>
       </div>
       <div class='form-row'>
-        <label class="standard-label"><%= t 'diary_entry.edit.language' -%></label>
+        <label class="standard-label"><%= t '.language' -%></label>
         <%= f.collection_select :language_code, Language.order(:english_name), :code, :name %>
     </div>
     </fieldset>
     <fieldset class='location'>
-      <label class="standard-label"><%= t 'diary_entry.edit.location' -%></label>
+      <label class="standard-label"><%= t '.location' -%></label>
       <%= content_tag "div", "", :id => "map", :data => {:lat => @lat, :lon => @lon, :zoom => @zoom} %>
       <div class='form-row clearfix'>
         <div class='form-column'>
-          <label class="secondary standard-label"><%= t 'diary_entry.edit.latitude' -%></label>
+          <label class="secondary standard-label"><%= t '.latitude' -%></label>
           <%= f.text_field :latitude, :size => 20, :id => "latitude" %>
         </div>
         <div class='form-column'>
-          <label class="secondary standard-label"><%= t 'diary_entry.edit.longitude' -%></label>
+          <label class="secondary standard-label"><%= t '.longitude' -%></label>
           <%= f.text_field :longitude, :size => 20, :id => "longitude" %>
         </div>
         <div class='form-column'>
-          <a href="#" id="usemap"><%= t 'diary_entry.edit.use_map_link' -%></a>
+          <a href="#" id="usemap"><%= t '.use_map_link' -%></a>
         </div>
       </div>
     </fieldset>
@@ -45,7 +45,7 @@
     <% if action_name == 'new' %>
       <%= submit_tag t('diary_entry.new.publish_button') %>
     <% else %>
-      <%= submit_tag t('diary_entry.edit.save_button') %>
+      <%= submit_tag t('.save_button') %>
     <% end %>
   </div>
 <% end %>
index d6af432fb01d485adfa7cdc7ec6585fbd8fdb9b0..2d9a4b1671f98e90d4726e2b9669c6e327e9d94d 100644 (file)
@@ -1,7 +1,7 @@
 <% content_for :heading do %>
-  <div <% if @this_user %> id="userinformation"<% end %> >
-    <% if @this_user %>
-      <%= user_image @this_user %>
+  <div <% if @user %> id="userinformation"<% end %> >
+    <% if @user %>
+      <%= user_image @user %>
     <% end %>
     <h1><%= h(@title) %></h1>
 
         <li><%= rss_link_to :action => 'rss', :language => params[:language] %></li>
       <% end -%>
 
-      <% if @this_user %>
-        <%= if_user(@this_user) do %>
-          <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
+      <% if @user %>
+        <% if @user == current_user %>
+          <div>
+            <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('.new_title')} %></li>
+          </div>
         <% end %>
       <% else %>
-        <%= if_logged_in do %>
-          <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('diary_entry.list.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('diary_entry.list.new_title')} %></li>
+        <% if current_user %>
+          <div>
+            <li><%= link_to image_tag("new.png", :class => "small_icon", :border=>0) + t('.new'), {:controller => 'diary_entry', :action => 'new'}, {:title => t('.new_title')} %></li>
+          </div>
         <% end %>
       <% end %>
     </ul>
 <% end %>
 
 <% if @entries.empty? %>
-  <h4><%= t 'diary_entry.list.no_entries' %></h4>
+  <h4><%= t '.no_entries' %></h4>
 <% else %>
-  <h4><%= t 'diary_entry.list.recent_entries' %></h4>
+  <h4><%= t '.recent_entries' %></h4>
 
-  <% if @this_user %>
+  <% if @user %>
     <%= render :partial => 'diary_entry', :collection => @entries %>
   <% else %>
     <%= render :partial => 'diary_list_entry', :collection => @entries %>
 
   <div class="pagination">
     <% if @entries.size < @page_size -%>
-      <%= t('diary_entry.list.older_entries') %>
+      <%= t('.older_entries') %>
     <% else -%>
-      <%= link_to t('diary_entry.list.older_entries'), @params.merge(:page => @page + 1 ) %>
+      <%= link_to t('.older_entries'), @params.merge(:page => @page + 1 ) %>
     <% end -%>
 
     |
 
     <% if @page > 1 -%>
-      <%= link_to t('diary_entry.list.newer_entries'), @params.merge(:page => @page - 1) %>
+      <%= link_to t('.newer_entries'), @params.merge(:page => @page - 1) %>
     <% else -%>
-      <%= t('diary_entry.list.newer_entries') %>
+      <%= t('.newer_entries') %>
     <% end -%>
   </div>
 <% end %>
index ff9a811c76abdbb33ec1b6b93383fb18d9a34e26..4fb5ca49d4739f768306414163b618cb34d8bc0e 100644 (file)
@@ -1,5 +1,5 @@
 <% content_for :heading do %>
-  <h2><%= t 'diary_entry.no_such_entry.heading', :id => h(params[:id]) %></h2>
+  <h2><%= t '.heading', :id => h(params[:id]) %></h2>
 <% end %>
 
-<p><%= t 'diary_entry.no_such_entry.body', :id => h(params[:id]) %></p>
+<p><%= t '.body', :id => h(params[:id]) %></p>
index 3c2264d3e58fb849a8793ef1e0aee9da806cd315..9871da8ccfa09b5d9d8a8273e105302be5ccb521 100644 (file)
@@ -1,7 +1,7 @@
 <% content_for :heading do %>
   <div id="userinformation" >
     <%= user_image @entry.user %>
-    <h2><%= link_to t('diary_entry.view.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
+    <h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
     <p><%= rss_link_to :action => :rss, :display_name => @entry.user.display_name %></p>
   </div>
 <% end %>
 <div class='comments'>
 <%= render :partial => 'diary_comment', :collection => @entry.visible_comments %>
 </div>
-<%= if_logged_in(:div) do %>
-  <h3 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h3>
 
-  <%= error_messages_for 'diary_comment' %>
 
-  <%= form_for :diary_comment, :url => { :action => 'comment' } do |f| %>
-    <%= richtext_area :diary_comment, :body, :cols => 80, :rows => 15 %>
-    <%= submit_tag t('diary_entry.view.save_button') %>
-  <% end %>
-  <% if current_user and @entry.subscribers.exists?(current_user.id) %>
-    <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.unsubscribe'), diary_entry_unsubscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
-  <% elsif current_user %>
-    <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.subscribe'), diary_entry_subscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
-  <% end %>
-<% end %>
+<div>
+  <% if current_user %>
+    <h3 id="newcomment"><%= t '.leave_a_comment' %></h3>
 
-<%= if_not_logged_in(:div) do %>
-  <h3 id="newcomment"><%= raw t("diary_entry.view.login_to_leave_a_comment", :login_link => link_to(t("diary_entry.view.login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h3>
-<% end %>
+    <%= error_messages_for 'diary_comment' %>
+
+    <%= form_for :diary_comment, :url => { :action => 'comment' } do |f| %>
+      <%= richtext_area :diary_comment, :body, :cols => 80, :rows => 15 %>
+      <%= submit_tag t('.save_button') %>
+    <% end %>
+    <% if @entry.subscribers.exists?(current_user.id) %>
+      <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.unsubscribe'), diary_entry_unsubscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
+    <% else %>
+      <div class="diary-subscribe-buttons"><%= link_to t('javascripts.changesets.show.subscribe'), diary_entry_subscribe_path(:display_name => @entry.user.display_name, :id => @entry.id), :method => :post, :class => :button %></div>
+    <% end %>
+  <% else %>
+    <h3 id="newcomment"><%= raw t(".login_to_leave_a_comment", :login_link => link_to(t(".login"), :controller => 'user', :action => 'login', :referer => request.fullpath)) %></h3>
+  <% end %>
+</div>
 
 <% content_for :auto_discovery_link_tag do -%>
 <%= auto_discovery_link_tag :rss, :action => :rss, :display_name => @entry.user.display_name %>
index d990b7f0ec14ae0f3ab7c5f4affb1d147c6cf51b..5ee241375c7826f0ae2dea72861027655e5728a4 100644 (file)
@@ -1,5 +1,5 @@
 <% if @results.empty? %>
-  <p class="search_results_entry inner12"><%= t 'geocoder.results.no_results' %></p>
+  <p class="search_results_entry inner12"><%= t '.no_results' %></p>
 <% else %>
   <ul class='results-list'>
     <% @results.each do |result| %>
@@ -8,8 +8,8 @@
   </ul>
   <% if @more_params %>
     <div class="search_more">
-      <%= link_to t('geocoder.results.more_results'), url_for(@more_params), :class => "button load_more" %>
-      <%= image_tag "searching.gif", :class => "loader", :style => "display: none;" %>
+      <%= link_to t('.more_results'), url_for(@more_params), :class => "button load_more" %>
+      <div class="loader"><%= image_tag "searching.gif" %></div>
     </div>
   <% end %>
 <% end %>
index 21484d4c072a76dd48dbff8340cd93e29658647b..2d2a25c97b7b9911ea509d9c7b098a5541776db1 100644 (file)
@@ -3,7 +3,7 @@
        <%= t('site.sidebar.search_results') %>
 </h2>
 <% @sources.each do |source| %>
-  <h4 class="inner12"><%= raw(t "geocoder.search.title.#{source}") %></h4>
+  <h4 class="inner12"><%= raw(t ".title.#{source}") %></h4>
   <div class="search_results_entry" data-href="<%= url_for @params.merge(:action => "search_#{source}") %>">
     <%= image_tag "searching.gif", :class => "loader" %>
   </div>
index bf9f78b4376c3774129afd2d05e8f9c5a14bbe86..fbc9037faa8bf91702e05e60b8deb74953fb2284 100644 (file)
@@ -33,7 +33,6 @@
   <% if flash[:piwik_goal] -%>
   <%= tag("meta", :name => "piwik-goal", :content => flash[:piwik_goal]) %>
   <% end -%>
-  <%= style_rules %>
   <%= yield :head %>
   <%= yield :auto_discovery_link_tag %>
   <%= csrf_meta_tag %>
index d8e5443b1384406b876739000453b0282a8f4606..c9107e7a83d16111d8308f7cda6c0e5d30b38d66 100644 (file)
@@ -67,7 +67,7 @@
         </a>
         <ul class='dropdown-menu'>
           <li>
-            <%= link_to inbox_path(:display_name => current_user.display_name) do %>
+            <%= link_to inbox_messages_path do %>
               <span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
               <%= t('user.view.my messages') %>
             <% end %>
diff --git a/app/views/message/_message_summary.html.erb b/app/views/message/_message_summary.html.erb
deleted file mode 100644 (file)
index 5e1f17e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<tr id="inbox-<%= message_summary.id %>" class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
-  <td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), user_path(message_summary.sender) %></td>
-  <td class="inbox-subject"><%= link_to h(message_summary.title), :controller => 'message', :action => 'read', :message_id => message_summary.id  %></td>
-  <td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
-  <td class="inbox-mark-unread"><%= button_to t('message.message_summary.unread_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'unread'}, { :remote => true } %></td>
-  <td class="inbox-mark-read"><%= button_to t('message.message_summary.read_button'), {:controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read'}, { :remote => true } %></td>
-  <td class="inbox-delete"><%= button_to t('message.message_summary.delete_button'), {:controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.fullpath}, { :remote => true } %></td>
-</tr>
diff --git a/app/views/message/delete.js.erb b/app/views/message/delete.js.erb
deleted file mode 100644 (file)
index 86677ab..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-$("#inboxanchor").replaceWith("<%=j render :partial => "layouts/inbox" %>");
-$("#inbox-count").replaceWith("<%=j render :partial => "message_count" %>");
-$("#inbox-<%= @message.id %>").fadeOut(800, "linear", function () {
-  $(this).remove();
-});
diff --git a/app/views/message/inbox.html.erb b/app/views/message/inbox.html.erb
deleted file mode 100644 (file)
index f9fc311..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<% content_for :heading do %>
-  <h2><%= t'message.inbox.my_inbox'%>/<%= link_to t('message.inbox.outbox'), outbox_path(current_user.display_name) %></h2>
-<% end %>
-
-  <h4><%= render :partial => "message_count" %></h4>
-
-<% if current_user.messages.size > 0 %>
-  <table class="messages">
-    <thead>
-      <tr>
-        <th><%= t'message.inbox.from' %></th>
-        <th><%= t'message.inbox.subject' %></th>
-        <th><%= t'message.inbox.date' %></th>
-        <th></th>
-        <th></th>
-      </tr>
-    </thead>
-    <tbody>
-        <%= render :partial => "message_summary", :collection => current_user.messages %>
-    </tbody>
-  </table>
-<% else %>
-  <div><%= raw(t'message.inbox.no_messages_yet', :people_mapping_nearby_link => link_to(t('message.inbox.people_mapping_nearby'), user_path(current_user))) %></div>
-<% end %>
diff --git a/app/views/message/mark.js.erb b/app/views/message/mark.js.erb
deleted file mode 100644 (file)
index d67e74a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-$("#inboxanchor").replaceWith("<%=j render :partial => "layouts/inbox" %>");
-$("#inbox-count").replaceWith("<%=j render :partial => "message_count" %>");
-<% if @message.message_read? -%>
-$("#inbox-<%= @message.id %>").removeClass("inbox-row-unread").addClass("inbox-row");
-<% else -%>
-$("#inbox-<%= @message.id %>").removeClass("inbox-row").addClass("inbox-row-unread");
-<% end -%>
diff --git a/app/views/message/new.html.erb b/app/views/message/new.html.erb
deleted file mode 100644 (file)
index 0b54adb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<% content_for :heading do %>
-  <h2><%= raw(t'message.new.send_message_to', :name => link_to(h(@message.recipient.display_name), user_path(@message.recipient))) %></h2>
-<% end %>
-
-<%= error_messages_for 'message' %>
-
-<%= form_for :message, :html => { :class => 'standard-form' }, :url => { :action => "new", :display_name => @message.recipient.display_name } do |f| %>
-  <fieldset>
-    <div class='form-row'>
-      <label class="standard-label"><%= t'message.new.subject' %></label>
-      <%= f.text_field :title, :size => 60, :class => "richtext_title" %>
-    </div>
-    <div class='form-row'>
-      <label class="standard-label"><%= t'message.new.body' %></label>
-      <%= richtext_area :message, :body, :cols => 80, :rows => 20 %>
-    </div>
-    <div class='buttons'>
-      <%= submit_tag t('message.new.send_button') %>
-      <%= link_to t('message.new.back_to_inbox'), { :controller => 'message', :action => 'inbox', :display_name => current_user.display_name }, :class => 'deemphasize button' %>
-    </div>
-  </fieldset>
-<% end %>
diff --git a/app/views/message/no_such_message.html.erb b/app/views/message/no_such_message.html.erb
deleted file mode 100644 (file)
index 9bf6ddb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<% content_for :heading do %>
-  <h1><%= t'message.no_such_message.heading' %></h1>
-<% end %>
-
-<p><%= t'message.no_such_message.body' %></p>
diff --git a/app/views/message/outbox.html.erb b/app/views/message/outbox.html.erb
deleted file mode 100644 (file)
index a3a0dbb..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<% content_for :heading do %>
-  <h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), inbox_path(current_user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
-<% end %>
-
-<h4><%= t'message.outbox.messages', :count => current_user.sent_messages.size %></h4>
-
-<% if current_user.sent_messages.size > 0 %>
-  <table class="messages">
-    <thead>
-      <tr>
-        <th><%= t'message.outbox.to' %></th>
-        <th><%= t'message.outbox.subject' %></th>
-        <th><%= t'message.outbox.date' %></th>
-        <th></th>
-      </tr>
-    </thead>
-    <tbody>
-      <%= render :partial => "sent_message_summary", :collection => current_user.sent_messages %>
-    </tbody>
-  </table>
-<% else %>
-  <div class="messages"><%= raw(t'message.outbox.no_sent_messages', :people_mapping_nearby_link => link_to(t('message.outbox.people_mapping_nearby'), user_path(current_user))) %></div>
-<% end %>
similarity index 57%
rename from app/views/message/_message_count.html.erb
rename to app/views/messages/_message_count.html.erb
index 3a995c17144bb37e389a8de93c49e0d77dbbc83b..c6d84032dc83029183f134eab4841b0151007e63 100644 (file)
@@ -1,8 +1,8 @@
 <p id="inbox-count">
-<%= t "message.inbox.messages",
-      :new_messages => t("message.inbox.new_messages",
+<%= t "messages.inbox.messages",
+      :new_messages => t("messages.inbox.new_messages",
                          :count => current_user.new_messages.size),
-      :old_messages => t("message.inbox.old_messages",
+      :old_messages => t("messages.inbox.old_messages",
                          :count => current_user.messages.size - current_user.new_messages.size)
 %>
 </p>
diff --git a/app/views/messages/_message_summary.html.erb b/app/views/messages/_message_summary.html.erb
new file mode 100644 (file)
index 0000000..1e4cd89
--- /dev/null
@@ -0,0 +1,8 @@
+<tr id="inbox-<%= message_summary.id %>" class="inbox-row<%= "-unread" if not message_summary.message_read? %>">
+  <td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), user_path(message_summary.sender) %></td>
+  <td class="inbox-subject"><%= link_to h(message_summary.title), message_path(message_summary) %></td>
+  <td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
+  <td class="inbox-mark-unread"><%= button_to t('.unread_button'), mark_message_path(message_summary, :mark => 'unread'), { :remote => true } %></td>
+  <td class="inbox-mark-read"><%= button_to t('.read_button'), mark_message_path(message_summary, :mark => 'read'), { :remote => true } %></td>
+  <td class="inbox-destroy"><%= button_to t('.destroy_button'), destroy_message_path(message_summary, :referer => request.fullpath), { :remote => true } %></td>
+</tr>
similarity index 50%
rename from app/views/message/_sent_message_summary.html.erb
rename to app/views/messages/_sent_message_summary.html.erb
index 6b4637708edb773cb5c973d44cdaed8f86482d1f..a9346fb5ee9343879dbcf51ab641f5dfe0fd39c1 100644 (file)
@@ -1,6 +1,6 @@
 <tr class="inbox-row">
   <td class="inbox-sender"><%= link_to h(sent_message_summary.recipient.display_name), user_path(sent_message_summary.recipient) %></td>
-  <td class="inbox-subject"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id  %></td>
+  <td class="inbox-subject"><%= link_to h(sent_message_summary.title), message_path(sent_message_summary) %></td>
   <td class="inbox-sent"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
-  <td class="inbox-delete"><%= button_to t('message.sent_message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => sent_message_summary.id, :referer => request.fullpath %></td>
+  <td class="inbox-destroy"><%= button_to t('.destroy_button'), destroy_message_path(sent_message_summary, :referer => request.fullpath), { :remote => true } %></td>
 </tr>
diff --git a/app/views/messages/destroy.json.jsonify b/app/views/messages/destroy.json.jsonify
new file mode 100644 (file)
index 0000000..3403ac8
--- /dev/null
@@ -0,0 +1,2 @@
+json.inboxanchor render(:partial => "layouts/inbox")
+json.inbox_count render(:partial => "message_count")
diff --git a/app/views/messages/inbox.html.erb b/app/views/messages/inbox.html.erb
new file mode 100644 (file)
index 0000000..03e0191
--- /dev/null
@@ -0,0 +1,28 @@
+<% content_for :head do %>
+  <%= javascript_include_tag "messages" %>
+<% end %>
+
+<% content_for :heading do %>
+  <h2><%= t '.my_inbox'%>/<%= link_to t('.outbox'), outbox_messages_path %></h2>
+<% end %>
+
+  <h4><%= render :partial => "message_count" %></h4>
+
+<% if current_user.messages.size > 0 %>
+  <table class="messages">
+    <thead>
+      <tr>
+        <th><%= t '.from' %></th>
+        <th><%= t '.subject' %></th>
+        <th><%= t '.date' %></th>
+        <th></th>
+        <th></th>
+      </tr>
+    </thead>
+    <tbody>
+        <%= render :partial => "message_summary", :collection => current_user.messages %>
+    </tbody>
+  </table>
+<% else %>
+  <div><%= raw(t '.no_messages_yet', :people_mapping_nearby_link => link_to(t('.people_mapping_nearby'), user_path(current_user))) %></div>
+<% end %>
diff --git a/app/views/messages/mark.json.jsonify b/app/views/messages/mark.json.jsonify
new file mode 100644 (file)
index 0000000..3403ac8
--- /dev/null
@@ -0,0 +1,2 @@
+json.inboxanchor render(:partial => "layouts/inbox")
+json.inbox_count render(:partial => "message_count")
diff --git a/app/views/messages/new.html.erb b/app/views/messages/new.html.erb
new file mode 100644 (file)
index 0000000..e33bc17
--- /dev/null
@@ -0,0 +1,22 @@
+<% content_for :heading do %>
+  <h2><%= raw(t '.send_message_to', :name => link_to(h(@message.recipient.display_name), user_path(@message.recipient))) %></h2>
+<% end %>
+
+<%= error_messages_for 'message' %>
+
+<%= form_for :message, :html => { :class => 'standard-form' }, :url => new_message_path(@message.recipient) do |f| %>
+  <fieldset>
+    <div class='form-row'>
+      <label class="standard-label" for="message_title"><%= t '.subject' %></label>
+      <%= f.text_field :title, :size => 60, :class => "richtext_title" %>
+    </div>
+    <div class='form-row'>
+      <label class="standard-label" for="message_body"><%= t '.body' %></label>
+      <%= richtext_area :message, :body, :cols => 80, :rows => 20 %>
+    </div>
+    <div class='buttons'>
+      <%= submit_tag t('.send_button') %>
+      <%= link_to t('.back_to_inbox'), inbox_messages_path, :class => 'deemphasize button' %>
+    </div>
+  </fieldset>
+<% end %>
diff --git a/app/views/messages/no_such_message.html.erb b/app/views/messages/no_such_message.html.erb
new file mode 100644 (file)
index 0000000..fd3b907
--- /dev/null
@@ -0,0 +1,5 @@
+<% content_for :heading do %>
+  <h1><%= t '.heading' %></h1>
+<% end %>
+
+<p><%= t '.body' %></p>
diff --git a/app/views/messages/outbox.html.erb b/app/views/messages/outbox.html.erb
new file mode 100644 (file)
index 0000000..199cfdc
--- /dev/null
@@ -0,0 +1,27 @@
+<% content_for :head do %>
+  <%= javascript_include_tag "messages" %>
+<% end %>
+
+<% content_for :heading do %>
+  <h2><%= raw(t '.my_inbox', :inbox_link => link_to(t('.inbox'), inbox_messages_path)) %>/<%= t'.outbox' %></h2>
+<% end %>
+
+<h4><%= t '.messages', :count => current_user.sent_messages.size %></h4>
+
+<% if current_user.sent_messages.size > 0 %>
+  <table class="messages">
+    <thead>
+      <tr>
+        <th><%= t '.to' %></th>
+        <th><%= t '.subject' %></th>
+        <th><%= t '.date' %></th>
+        <th></th>
+      </tr>
+    </thead>
+    <tbody>
+      <%= render :partial => "sent_message_summary", :collection => current_user.sent_messages %>
+    </tbody>
+  </table>
+<% else %>
+  <div class="messages"><%= raw(t '.no_sent_messages', :people_mapping_nearby_link => link_to(t('.people_mapping_nearby'), user_path(current_user))) %></div>
+<% end %>
similarity index 58%
rename from app/views/message/read.html.erb
rename to app/views/messages/show.html.erb
index c23eabe95acf59d99f7028c617f6e75b563b39aa..934cfb99a74499a27fa43372fffea2bc5674613d 100644 (file)
@@ -14,9 +14,9 @@
   <div class="richtext"><%= @message.body.to_html %></div>
 
   <div class='message-buttons buttons'>
-    <%= button_to t('message.read.reply_button'), {:controller => 'message', :action => 'reply', :message_id => @message.id}, :class => 'reply-button' %>
-    <%= button_to t('message.read.unread_button'), {:controller => 'message', :action => 'mark', :message_id => @message.id, :mark => 'unread'}, :class => 'mark-unread-button' %>
-    <%= button_to t('message.read.delete_button'), {:controller => 'message', :action => 'delete', :message_id => @message.id}, :class => 'delete-button' %>
+    <%= button_to t('.reply_button'), reply_message_path(@message), :class => 'reply-button' %>
+    <%= button_to t('.unread_button'), mark_message_path(@message, :mark => 'unread'), :class => 'mark-unread-button' %>
+    <%= button_to t('.destroy_button'), destroy_message_path(@message), :class => 'destroy-button' %>
 
 <% else %>
 
@@ -36,5 +36,5 @@
 
 <% end %>
 
-  <%= link_to t('message.read.back'), {:controller => 'message', :action => 'outbox', :display_name => current_user.display_name }, :class => "button deemphasize" %>
+  <%= link_to t('.back'), outbox_messages_path, :class => "button deemphasize" %>
   </div>
index c0d6e17d32b156efc308a97582c28ecb795efd3a..d9c17848b26995f00abbd91f9e4fca25b943db84 100644 (file)
@@ -1,8 +1,8 @@
 <div class="note-comment" style="margin-top: 5px">
   <% if comment.author.nil? -%>
-  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t "note.description.#{comment.event}_at_html", :when => friendly_date(comment.created_at) %></div>
+  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t ".#{comment.event}_at_html", :when => friendly_date(comment.created_at) %></div>
   <% else -%>
-  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t "note.description.#{comment.event}_at_by_html", :when => friendly_date(comment.created_at), :user => note_author(comment.author, :only_path => false) %></div>
+  <div class="note-comment-description" style="font-size: smaller; color: #999999"><%= t ".#{comment.event}_at_by_html", :when => friendly_date(comment.created_at), :user => note_author(comment.author, :only_path => false) %></div>
   <% end -%>
   <div class="note-comment-text"><%= comment.body %></div>
 </div>
index 6f0c8fb717e1b7209f041716206c69219c0ecf6f..624ecd15d8654e3c8733e589f99a317465b37705 100644 (file)
@@ -1,4 +1,4 @@
-<h2><%= t "note.entry.comment" %></h2>
+<h2><%= t ".comment" %></h2>
 <%= render :partial => "comment", :object => entry %>
-<h2><%= t "note.entry.full" %></h2>
+<h2><%= t ".full" %></h2>
 <%= render :partial => "description", :object => entry.note %>
index 38c42f1ec4786de0dba3fd82469903ec8d88fca0..9c72b8a5d42c15cd2e30ca248f659852be0c922b 100644 (file)
@@ -2,11 +2,11 @@ xml.item do
   location = describe_location(note.lat, note.lon, 14, locale)
 
   if note.closed?
-    xml.title t("note.rss.closed", :place => location)
+    xml.title t("notes.rss.closed", :place => location)
   elsif note.comments.length > 1
-    xml.title t("note.rss.commented", :place => location)
+    xml.title t("notes.rss.commented", :place => location)
   else
-    xml.title t("note.rss.opened", :place => location)
+    xml.title t("notes.rss.opened", :place => location)
   end
 
   xml.link browse_note_url(note)
index 708192e5f48f020149ead7ef6dadd3aabdb5ee1c..4a4fb3e1a75c05bb6b1ec9340163f6cdf5a6694a 100644 (file)
@@ -5,15 +5,15 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     @comments.each do |comment|
       location = describe_location(comment.note.lat, comment.note.lon, 14, locale)
 
       xml.item do
-        xml.title t("note.rss.#{comment.event}", :place => location)
+        xml.title t("notes.rss.#{comment.event}", :place => location)
 
         xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
         xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
index e912b99216455257bcb91cf80dfd4840cd1a8a4c..d28efa1942da01a918fb9f38cea6b508b3f2eae5 100644 (file)
@@ -5,8 +5,8 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << (render(:partial => "note", :collection => @notes) || "")
index 666c7dc8f94c6af01bad70d4f32d2b54969949f6..13824419e8a02e1d9e638f3f013ec3608c44aa2e 100644 (file)
@@ -8,11 +8,11 @@
 <table class="note_list">
   <tr>
     <th></th>
-    <th><%= t'note.mine.id' %></th>
-    <th><%= t'note.mine.creator' %></th>
-    <th><%= t'note.mine.description' %></th>
-    <th><%= t'note.mine.created_at' %></th>
-    <th><%= t'note.mine.last_changed' %></th>
+    <th><%= t '.id' %></th>
+    <th><%= t '.creator' %></th>
+    <th><%= t '.description' %></th>
+    <th><%= t '.created_at' %></th>
+    <th><%= t '.last_changed' %></th>
   </tr>
 <% @notes.each do |note| -%>
   <tr<% if note.author != @user2 %> class="creator"<% end %>>
@@ -25,9 +25,9 @@
     </td>
     <td><%= link_to note.id.to_s, :controller => "browse", :action => "note", :id => note.id %></td>
     <td><%= note_author(note.author) %></td>
-    <td><%= note.comments.first.body.to_html %></td>   
-    <td><%= t 'note.mine.ago_html', :when => friendly_date(note.created_at) %></td>
-    <td><%= t 'note.mine.ago_html', :when => friendly_date(note.updated_at) %></td>
+    <td><%= note.comments.first.body.to_html %></td>
+    <td><%= t '.ago_html', :when => friendly_date(note.created_at) %></td>
+    <td><%= t '.ago_html', :when => friendly_date(note.updated_at) %></td>
   </tr>
 <% end -%>
 </table>
index 62ccbe8a94a4ab2f3f2969eff254b4264ae65d1f..f406479008471afa2eaeaba5ad3a516afb84e1a0 100644 (file)
@@ -4,8 +4,8 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("note.rss.title")
-    xml.description t("note.rss.description_item", :id => @note.id)
+    xml.title t("notes.rss.title")
+    xml.description t("notes.rss.description_item", :id => @note.id)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << render(:partial => "note", :object => @note)
index b71c5f99443b75fb5be8acf36c00a34040aedcf4..38f4917993b8c40dbf1ad2afb52a1a7eaba4ec75 100644 (file)
@@ -10,7 +10,7 @@
             height: 50,
             border: 0
           ),
-          user_url(@author, :host => SERVER_URL),
+          user_url(@author),
           :target => "_blank"
       ) %>
     </td>
index 80f9d8aa11b35a6e438f0b640bfb08bb8aec86df..04bafb0d4e587baeb6a7fa82a5eb14bb2b67ae04 100644 (file)
@@ -1,16 +1,16 @@
 <p>
-  <%= t 'notifier.changeset_comment_notification.hi', :to_user => @to_user %>
+  <%= t '.hi', :to_user => @to_user %>
 </p>
 <p>
   <% if @owner %>
-    <%= raw t "notifier.changeset_comment_notification.commented.your_changeset", :commenter => link_to_user(@commenter), :time => @time %>
+    <%= raw t ".commented.your_changeset", :commenter => link_to_user(@commenter), :time => @time %>
   <% else %>
-    <%= raw t "notifier.changeset_comment_notification.commented.commented_changeset", :commenter => link_to_user(@commenter), :time => @time, :changeset_author => @changeset_author %>
+    <%= raw t ".commented.commented_changeset", :commenter => link_to_user(@commenter), :time => @time, :changeset_author => @changeset_author %>
   <% end %>
   <% if @changeset_comment %>
-    <%= raw t "notifier.changeset_comment_notification.commented.partial_changeset_with_comment", :changeset_comment => content_tag("em", @changeset_comment) %>
+    <%= raw t ".commented.partial_changeset_with_comment", :changeset_comment => content_tag("em", @changeset_comment) %>
   <% else %>
-    <%= t "notifier.changeset_comment_notification.commented.partial_changeset_without_comment" %>
+    <%= t ".commented.partial_changeset_without_comment" %>
   <% end %>
 </p>
 
 <% end %>
 
 <p>
-  <%= raw t 'notifier.changeset_comment_notification.details', :url => link_to(@changeset_url, @changeset_url) %>
+  <%= raw t '.details', :url => link_to(@changeset_url, @changeset_url) %>
 </p>
 
 <% content_for :footer do %>
   <p>
-    <%= raw t 'notifier.changeset_comment_notification.unsubscribe', :url => link_to(@changeset_url, @changeset_url, :style => "color: #222") %>
+    <%= raw t '.unsubscribe', :url => link_to(@changeset_url, @changeset_url, :style => "color: #222") %>
   </p>
 <% end %>
index 9919f21031d15787797f3881f471c410c817f179..ce9c0099a1948da7e0c44e7b49a445157d53b916 100644 (file)
@@ -1,20 +1,20 @@
-<%= t 'notifier.changeset_comment_notification.hi', :to_user => @to_user %>
+<%= t '.hi', :to_user => @to_user %>
 
 <% if @owner %>
-<%= t "notifier.changeset_comment_notification.commented.your_changeset", :commenter => @commenter, :time => @time %>
+<%= t ".commented.your_changeset", :commenter => @commenter, :time => @time %>
 <% else %>
-<%= t "notifier.changeset_comment_notification.commented.commented_changeset", :commenter => @commenter, :time => @time, :changeset_author => @changeset_author %>
+<%= t ".commented.commented_changeset", :commenter => @commenter, :time => @time, :changeset_author => @changeset_author %>
 <% end %>
 <% if @changeset_comment %>
-<%= t "notifier.changeset_comment_notification.commented.partial_changeset_with_comment", :changeset_comment => @changeset_comment %>
+<%= t ".commented.partial_changeset_with_comment", :changeset_comment => @changeset_comment %>
 <% else %>
-<%= t "notifier.changeset_comment_notification.commented.partial_changeset_without_comment" %>
+<%= t ".commented.partial_changeset_without_comment" %>
 <% end %>
 
 ==
 <%= @comment.to_text %>
 ==
 
-<%= t 'notifier.changeset_comment_notification.details', :url => @changeset_url %>
+<%= t '.details', :url => @changeset_url %>
 
-<%= t 'notifier.changeset_comment_notification.unsubscribe', :url => @changeset_url %>
+<%= t '.unsubscribe', :url => @changeset_url %>
index 73bfe9a33d655b6c117cd3ddcb69e6cd2b53a758..163223b44584cbd2fe92df87b920db081cf85474 100644 (file)
@@ -1,8 +1,8 @@
 <p>
-  <%= t'notifier.diary_comment_notification.hi', :to_user => @to_user %>
+  <%= t '.hi', :to_user => @to_user %>
 </p>
 <p>
-  <%= raw t'notifier.diary_comment_notification.header', :from_user => link_to_user(@from_user), :subject => content_tag("em", @title) %>
+  <%= raw t '.header', :from_user => link_to_user(@from_user), :subject => content_tag("em", @title) %>
 </p>
 
 <%= message_body do %>
@@ -10,7 +10,7 @@
 <% end %>
 
 <% content_for :footer do %>
-  <p><%= raw t'notifier.diary_comment_notification.footer',
+  <p><%= raw t '.footer',
              :readurl => link_to(@readurl, @readurl) + tag(:br),
              :commenturl => link_to(@commenturl, @commenturl) + tag(:br),
              :replyurl => link_to(@replyurl, @replyurl)
index 7d112a42b6d09845dc60ed774aeed88c7436103a..b86c303ae8bfdfb83f14d3a3826e7455bec869b6 100644 (file)
@@ -1,9 +1,9 @@
-<%= t'notifier.diary_comment_notification.hi', :to_user => @to_user %> 
+<%= t '.hi', :to_user => @to_user %>
 
-<%= t'notifier.diary_comment_notification.header', :from_user => @from_user, :subject => @title %>
+<%= t '.header', :from_user => @from_user, :subject => @title %>
 
 ==
 <%= raw @text.to_text %>
 ==
 
-<%= t'notifier.diary_comment_notification.footer', :readurl => @readurl, :commenturl => @commenturl, :replyurl => @replyurl %>
+<%= t '.footer', :readurl => @readurl, :commenturl => @commenturl, :replyurl => @replyurl %>
index cfea971958452e8e7a69dfebd1b3a8a56390ee51..f6774f2dc93efa042a7cd845b639d8f4de32d7b5 100644 (file)
@@ -1,9 +1,9 @@
-<p><%= t 'notifier.friend_notification.had_added_you', :user => @friend.befriender.display_name %></p>
+<p><%= t '.had_added_you', :user => @friend.befriender.display_name %></p>
 
 <%= message_body do %>
-  <p><%= raw t 'notifier.friend_notification.see_their_profile', :userurl => link_to(@viewurl, @viewurl) %></p>
+  <p><%= raw t '.see_their_profile', :userurl => link_to(@viewurl, @viewurl) %></p>
 
   <% unless @friend.befriendee.is_friends_with?(@friend.befriender) -%>
-  <p><%= raw t 'notifier.friend_notification.befriend_them', :befriendurl => link_to(@friendurl, @friendurl) %></p>
+  <p><%= raw t '.befriend_them', :befriendurl => link_to(@friendurl, @friendurl) %></p>
   <% end -%>
 <% end %>
index ae89a41365d96037450da9006892ac6674163391..e1db966ab3adce85ea657ab80ca5e638d09cf7d5 100644 (file)
@@ -1,7 +1,7 @@
-<%= t 'notifier.friend_notification.had_added_you', :user => @friend.befriender.display_name %>
+<%= t '.had_added_you', :user => @friend.befriender.display_name %>
 
-<%= t 'notifier.friend_notification.see_their_profile', :userurl => @viewurl %>
+<%= t '.see_their_profile', :userurl => @viewurl %>
 
 <% unless @friend.befriendee.is_friends_with?(@friend.befriender) -%>
-<%= t 'notifier.friend_notification.befriend_them', :befriendurl => @friendurl %>
+<%= t '.befriend_them', :befriendurl => @friendurl %>
 <% end -%>
index 97a352a499e7f51385c620f90385762d6097f90e..4e4b2ea9a993ff9cb97d4e8c76a923c931685b8c 100644 (file)
@@ -1,8 +1,8 @@
 <p>
-  <%= t'notifier.message_notification.hi', :to_user => @to_user %>
+  <%= t '.hi', :to_user => @to_user %>
 </p>
 <p>
-  <%= raw t'notifier.message_notification.header',
+  <%= raw t '.header',
           :from_user => link_to_user(@from_user),
           :subject => content_tag("em", @title)
   %>
@@ -14,7 +14,7 @@
 
 <% content_for :footer do %>
   <p>
-    <%= t'notifier.message_notification.footer_html',
+    <%= t '.footer_html',
           :readurl => link_to(@readurl, @readurl) + tag(:br),
           :replyurl => link_to(@replyurl, @replyurl)
     %>
index c006941d9ff63149b0379c7da05e77fe5b776cea..b3a74bb88d668be241b0e758d65aaca2a9a36de5 100644 (file)
@@ -1,9 +1,9 @@
-<%= raw t'notifier.message_notification.hi', :to_user => @to_user %> 
+<%= raw t '.hi', :to_user => @to_user %>
 
-<%= raw t'notifier.message_notification.header', :from_user => @from_user, :subject => @title %>
+<%= raw t '.header', :from_user => @from_user, :subject => @title %>
 
 ==
 <%= raw @text.to_text %>
 ==
 
-<%= word_wrap(t'notifier.message_notification.footer_html', :readurl => @readurl, :replyurl => @replyurl) %>
+<%= word_wrap(t '.footer_html', :readurl => @readurl, :replyurl => @replyurl) %>
index 909bffaa664c087873694dae8b8356d1a073d8d8..835168583df16fa66e42a78be6559c5355cedef2 100644 (file)
@@ -1,9 +1,9 @@
-<p><%= t 'notifier.note_comment_notification.greeting' %></p>
+<p><%= t '.greeting' %></p>
 
 <% if @owner %>
-  <p><%= raw t "notifier.note_comment_notification.#{@event}.your_note", :commenter => link_to_user(@commenter), :place => @place %></p>
+  <p><%= raw t ".#{@event}.your_note", :commenter => link_to_user(@commenter), :place => @place %></p>
 <% else %>
-  <p><%= raw t "notifier.note_comment_notification.#{@event}.commented_note", :commenter => link_to_user(@commenter), :place => @place %></p>
+  <p><%= raw t ".#{@event}.commented_note", :commenter => link_to_user(@commenter), :place => @place %></p>
 <% end %>
 
 <% unless @comment.empty? %>
@@ -12,4 +12,4 @@
   <% end %>
 <% end %>
 
-<p><%= raw t 'notifier.note_comment_notification.details', :url => link_to(@noteurl, @noteurl) %></p>
+<p><%= raw t '.details', :url => link_to(@noteurl, @noteurl) %></p>
index 5924c8a9d2036975a35ce07db95439b83f351748..7014a5057c28e9c1e050b276a323c684abaafbc2 100644 (file)
@@ -1,9 +1,9 @@
-<%= t 'notifier.note_comment_notification.greeting' %>
+<%= t '.greeting' %>
 
 <% if @owner %>
-<%= t "notifier.note_comment_notification.#{@event}.your_note", :commenter => @commenter, :place => @place %>
+<%= t ".#{@event}.your_note", :commenter => @commenter, :place => @place %>
 <% else %>
-<%= t "notifier.note_comment_notification.#{@event}.commented_note", :commenter => @commenter, :place => @place %>
+<%= t ".#{@event}.commented_note", :commenter => @commenter, :place => @place %>
 <% end %>
 
 <% unless @comment.empty? %>
@@ -12,4 +12,4 @@
 ==
 
 <% end %>
-<%= t 'notifier.note_comment_notification.details', :url => @noteurl %>
+<%= t '.details', :url => @noteurl %>
index 814deee9171220d93896643b05484d1bb9133076..a0e0079fc537f92a1fa06c4fdb6ab235379634b5 100644 (file)
@@ -1,9 +1,9 @@
-<p><%= t("notifier.signup_confirm.greeting") %></p>
+<p><%= t(".greeting") %></p>
 
-<p><%= t("notifier.signup_confirm.created", :site_url => SERVER_URL) %></p>
+<p><%= t(".created", :site_url => SERVER_URL) %></p>
 
-<p><%= t("notifier.signup_confirm.confirm") %></p>
+<p><%= t(".confirm") %></p>
 
 <p><%= link_to @url, @url %></p>
 
-<p><%= t("notifier.signup_confirm.welcome") %></p>
+<p><%= t(".welcome") %></p>
index aee44782d3e7f79b8bd5693f7bd38cb4e7ddcff7..e170564687ec0e6f581053fc1033904e44f1de05 100644 (file)
@@ -1,9 +1,9 @@
-<%= fp(t("notifier.signup_confirm.greeting")) %>
+<%= fp(t(".greeting")) %>
 
-<%= fp(t("notifier.signup_confirm.created", :site_url => SERVER_URL)) %>
+<%= fp(t(".created", :site_url => SERVER_URL)) %>
 
-<%= fp(t("notifier.signup_confirm.confirm")) %>
+<%= fp(t(".confirm")) %>
 
   <%= @url %>
 
-<%= fp(t("notifier.signup_confirm.welcome")) %>
+<%= fp(t(".welcome")) %>
index 6c8bc3a9e92f8e384d6aae20dd506eb8ced9a5fc..efb7de7ec995065294fdf243db2f62a8a988e689 100644 (file)
@@ -1,19 +1,19 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= raw t("oauth.oauthorize.request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, :controller => :user, :action => :view, :display_name => current_user.display_name)) %></p>
+<p><%= raw t(".request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, :controller => :user, :action => :view, :display_name => current_user.display_name)) %></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><%= t 'oauth.oauthorize.allow_to' %></p>
+  <p><%= t '.allow_to' %></p>
   <ul>
   <% @token.client_application.permissions.each do |perm| %>
-    <li><%= check_box_tag perm.to_s, "yes", @token.read_attribute(perm) %><%= t "oauth.oauthorize.#{perm}" %></li>
+    <li><%= check_box_tag perm.to_s, "yes", @token.read_attribute(perm) %><%= label_tag perm.to_s, t(".#{perm}") %></li>
   <% end %>
   </ul>
-  <p><%= submit_tag t("oauth.oauthorize.grant_access") %></p>
+  <p><%= submit_tag t(".grant_access") %></p>
 <% end %>
index 4afba70e306c685a268286e4823f7fdd80243422..7142a71a0c49387dfd62d286cd1a696bc5f8dc90 100644 (file)
@@ -1,5 +1,5 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize_failure.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
 <p><%= @message %></p>
index c8f56af3345a538da083acba1a2db13fca297269..9c817372fd50f262c0e604c741f63fb2a81452ca 100644 (file)
@@ -1,9 +1,9 @@
 <% content_for :heading do %>
-  <h1><%= t "oauth.oauthorize_success.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= raw t("oauth.oauthorize_success.allowed", :app_name => link_to(@token.client_application.name, @token.client_application.url)) %></p>
+<p><%= raw t(".allowed", :app_name => link_to(@token.client_application.name, @token.client_application.url)) %></p>
 
 <% if @token.oob? and not @token.oauth10? %>
-<p><%= t "oauth.oauthorize_success.verification", :code => @token.verifier %></p>
+<p><%= t ".verification", :code => @token.verifier %></p>
 <% end %>
index 96ab68ad7bc2eae27d2f1ee13e8ca537dd2d201d..bb0506671cbdf917d109215e5dce64fc7cc6297a 100644 (file)
@@ -1,29 +1,29 @@
 <div class='standard-form'>
   <fieldset>
     <div class="form-row">
-      <label class='standard-label' for="client_application_name"><%= t'oauth_clients.form.name' %> (<%= t'oauth_clients.form.required' %>)</label>
+      <label class='standard-label' for="client_application_name"><%= t '.name' %> (<%= t '.required' %>)</label>
       <%= f.text_field :name %>
     </div>
     <div class="form-row">
-      <label class='standard-label' for="client_application_url"><%= t'oauth_clients.form.url' %> (<%= t'oauth_clients.form.required' %>)</label>
+      <label class='standard-label' for="client_application_url"><%= t '.url' %> (<%= t '.required' %>)</label>
       <%= f.text_field :url %>
     </div>
     <div class="form-row">
-      <label class='standard-label' for="client_application_callback_url"><%= t'oauth_clients.form.callback_url' %></label>
+      <label class='standard-label' for="client_application_callback_url"><%= t '.callback_url' %></label>
       <%= f.text_field :callback_url %>
     </div>
     <div class="form-row">
-      <label class='standard-label' for="client_application_support_url"><%= t'oauth_clients.form.support_url' %></label>
+      <label class='standard-label' for="client_application_support_url"><%= t '.support_url' %></label>
       <%= f.text_field :support_url %>
     </div>
   </fieldset>
   <fieldset class='form-divider'>
-      <p><%= t'oauth_clients.form.requests' %></p>
+      <p><%= t '.requests' %></p>
       <% ClientApplication.all_permissions.each do |perm| %>
         <div class="form-row">
           <%= f.check_box perm %>
-          <label class='standard-label' for="client_application_<%= perm.to_s %>"><%= t('oauth_clients.form.' + perm.to_s) %></label>
+          <label class='standard-label' for="client_application_<%= perm.to_s %>"><%= t('.' + perm.to_s) %></label>
         </div>
       <% end %>
   </fieldset>
-</div>
\ No newline at end of file
+</div>
index 397849c4442d28d4e3a4dd9affa96a4b93149210..2a5f9938193af3311e2e95e32799949fcfe0d99d 100644 (file)
@@ -1,8 +1,8 @@
 <% content_for :heading do %>
-  <h1><%= t'oauth_clients.edit.title' %></h1>
+  <h1><%= t '.title' %></h1>
 <% end %>
 
 <%= form_for @client_application, :url => oauth_client_path(@client_application.user.display_name, @client_application), :html => { :method => :put } do |f| %>
   <%= render :partial => "form", :locals => { :f => f } %>
-  <%= submit_tag t'oauth_clients.edit.submit' %>
+  <%= submit_tag t '.submit' %>
 <% end %>
index f88d9316cd7e77cf88de2a34121f28a8d3184dd9..64a316718a9f709239c360779cd5ef4f40be3918 100644 (file)
@@ -1,13 +1,13 @@
 <% content_for :heading do %>
-  <h1><%= t'oauth_clients.index.title' %></h1>
+  <h1><%= t '.title' %></h1>
 <% end %>
 
 <% unless @tokens.empty? %>
-<h3><%= t'oauth_clients.index.my_tokens' %></h3>
-<p><%= t'oauth_clients.index.list_tokens' %></p>
+<h3><%= t '.my_tokens' %></h3>
+<p><%= t '.list_tokens' %></p>
 <table>
-  <tr><th><%= t'oauth_clients.index.application' %></th>
-    <th><%= t'oauth_clients.index.issued_at' %></th><th>&nbsp;</th></tr>
+  <tr><th><%= t '.application' %></th>
+    <th><%= t '.issued_at' %></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>
        <%= form_tag :controller => 'oauth', :action => 'revoke' do %>
        <%= hidden_field_tag 'token', token.token %>
-       <%= submit_tag t('oauth_clients.index.revoke') %>
+       <%= submit_tag t('.revoke') %>
        <% end %>
       </td>
     <% end %>
   <% end %>
 </table>
 <% end %>
-<h3><%= t'oauth_clients.index.my_apps' %></h3>
+<h3><%= t '.my_apps' %></h3>
 <% if @client_applications.empty? %>
-<p><%= raw(t('oauth_clients.index.no_apps', :oauth => "<a href=\"https://oauth.net\">OAuth</a>")) %></p>
+<p><%= raw(t('.no_apps', :oauth => "<a href=\"https://oauth.net\">OAuth</a>")) %></p>
 <% else %>
-<p><%= t'oauth_clients.index.registered_apps' %></p>
+<p><%= t '.registered_apps' %></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 t('oauth_clients.index.register_new'), :action => :new %></h3>
+<h3><%= link_to t('.register_new'), :action => :new %></h3>
index 7542d77b538e164a70be50fa7073c0150331cd32..b5767e6ca7ccf391f5a9b96685a402e51dbb9d4f 100644 (file)
@@ -1,10 +1,10 @@
 <% content_for :heading do %>
-  <h1><%= t'oauth_clients.new.title' %></h1>
+  <h1><%= t '.title' %></h1>
 <% end %>
 
 <div class='standard-form'>
   <%= form_for :client_application, :url => { :action => :create } do |f| %>
     <%= render :partial => "form", :locals => { :f => f } %>
-    <%= submit_tag t('oauth_clients.new.submit') %>
+    <%= submit_tag t('.submit') %>
   <% end %>
 </div>
index d5c6ca755b5b98dc77d188d491fd8874fc61c8e5..fda9ab06db192b01b9cb13d8db3cdedd59a24864 100644 (file)
@@ -1 +1 @@
-<p><%= t('oauth_clients.not_found.sorry', :type => @type) %></p>
+<p><%= t('.sorry', :type => @type) %></p>
index a23ce082d05fc91ea1d01a0d0591073a138bf1a4..200fbc7beeaa54a8c56b32e1972ec8ee7c7db3ab 100644 (file)
@@ -1,33 +1,33 @@
 <% content_for :heading do %>
-  <h1><%= t('oauth_clients.show.title', :app_name => @client_application.name) %></h1>
+  <h1><%= t('.title', :app_name => @client_application.name) %></h1>
 <% end %>
 <div class='prose'>
   <p>
-    <strong><%= t'oauth_clients.show.key' %></strong> <%=@client_application.key %>
+    <strong><%= t '.key' %></strong> <%=@client_application.key %>
   </p>
   <p>
-    <strong><%= t'oauth_clients.show.secret' %></strong> <%=@client_application.secret %>
+    <strong><%= t '.secret' %></strong> <%=@client_application.secret %>
   </p>
   <p>
-    <strong><%= t'oauth_clients.show.url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.request_token_path %>
+    <strong><%= t '.url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.request_token_path %>
   </p>
   <p>
-    <strong><%= t'oauth_clients.show.access_url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.access_token_path %>
+    <strong><%= t '.access_url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.access_token_path %>
   </p>
   <p>
-    <strong><%= t'oauth_clients.show.authorize_url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.authorize_path %>
+    <strong><%= t '.authorize_url' %></strong> http<%='s' if request.ssl? %>://<%= request.host_with_port %><%=@client_application.oauth_server.authorize_path %>
   </p>
 
-  <p><%= t'oauth_clients.show.requests' %></p>
+  <p><%= t '.requests' %></p>
   <ul><% @client_application.permissions.each do |perm| %>
   <div class="field">
     <li><%= t('oauth_clients.form.' + perm.to_s) %></li>
   </div>
   <% end %></ul>
 
-  <p><%= t'oauth_clients.show.support_notice' %></p>
+  <p><%= t '.support_notice' %></p>
 </div>
 <div class="buttons">
-  <%= button_to t('oauth_clients.show.edit'), edit_oauth_client_path(@client_application.user.display_name, @client_application), :method => :get, :class=> "oauth-edit" %>
-  <%= button_to t('oauth_clients.show.delete'), oauth_client_path(@client_application.user.display_name, @client_application), :method => :delete, :data => { :confirm => t('oauth_clients.show.confirm') }, :class=> "oauth-delete deemphasize" %>
+  <%= button_to t('.edit'), edit_oauth_client_path(@client_application.user.display_name, @client_application), :method => :get, :class=> "oauth-edit" %>
+  <%= button_to t('.delete'), oauth_client_path(@client_application.user.display_name, @client_application), :method => :delete, :data => { :confirm => t('.confirm') }, :class=> "oauth-delete deemphasize" %>
 </div>
index 2dd63c9cbda9a85d49c2fab3d47f6b0d517effee..fe85d0756246f8df0c6e1f18fb7fd9aa335592ba 100644 (file)
@@ -1,22 +1,21 @@
-<% @title = t 'redaction.edit.title' %>
+<% @title = t '.title' %>
 
 <% content_for :heading do %>
-  <h1><%= t 'redaction.edit.heading' %></h1>
+  <h1><%= t '.heading' %></h1>
 <% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :title, t('redaction.edit.title') %><br />
+    <%= f.label :title, t('.title') %><br />
     <%= f.text_field :title %>
   </p>
   <p>
-    <%= f.label :description, t('redaction.edit.description') %><br />
+    <%= f.label :description, t('.description') %><br />
     <%= richtext_area :redaction, :description, :cols => 80, :rows => 20, :format => @redaction.description_format %>
   </p>
   <p>
-    <%= f.submit t('redaction.edit.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
-
index a5a85c38d4758093c5d12a7b04e6394c6ac780e9..b53e9b74780496119932f321eb31e4884bd6f340 100644 (file)
@@ -1,10 +1,10 @@
-<% @title = t('redaction.index.title') %>
+<% @title = t('.title') %>
 <% content_for :heading do %>
-  <h1><%= t('redaction.index.heading') %></h1>
+  <h1><%= t('.heading') %></h1>
 <% end %>
 
 <% unless @redactions.empty? %>
   <%= render :partial => 'redactions' %>
 <% else %>
-  <p><%= t 'redaction.index.empty' %></p>
+  <p><%= t '.empty' %></p>
 <% end %>
index 5004c0e1e8178a6247fe37f8ae6f83995ebbf5e1..e6838073d1065172ed55a41f6b6d8eb3532ddbb8 100644 (file)
@@ -1,22 +1,20 @@
-<% @title = t 'redaction.new.title' %>
+<% @title = t '.title' %>
 <% content_for :heading do %>
-  <h1><%= t 'redaction.new.heading' %></h1>
+  <h1><%= t '.heading' %></h1>
 <% end %>
 
 <%= form_for(@redaction) do |f| %>
   <%= f.error_messages %>
 
   <p>
-    <%= f.label :title, t('redaction.new.title') %><br />
+    <%= f.label :title, t('.title') %><br />
     <%= f.text_field :title %>
   </p>
   <p>
-    <%= f.label :description, t('redaction.new.description') %><br />
+    <%= f.label :description, t('.description') %><br />
     <%= richtext_area :redaction, :description, :cols => 80, :rows => 20, :format => @redaction.description_format %>
   </p>
   <p>
-    <%= f.submit t('redaction.new.submit') %>
+    <%= f.submit t('.submit') %>
   </p>
 <% end %>
-
-
index 99f7cd1f1a42d834434f3ab37cfa72b8607d65ed..8ec72f3ac17cfd44a76ef8dc4ce88cf34efb8091 100644 (file)
@@ -1,20 +1,20 @@
-<% @title = t('redaction.show.title') %>
+<% @title = t('.title') %>
 <% content_for :heading do %>
-  <h1><%= t('redaction.show.heading', :title => @redaction.title) %></h1>
+  <h1><%= t('.heading', :title => @redaction.title) %></h1>
 <% end %>
 
 <p>
-  <b><%= t 'redaction.show.user' %></b>
+  <b><%= t '.user' %></b>
   <%= link_to(@redaction.user.display_name, user_path(@redaction.user)) %>
 </p>
 <p class="richtext">
-  <b><%= t 'redaction.show.description' %></b>
+  <b><%= t '.description' %></b>
   <%= @redaction.description.to_html %>
 </p>
 
 <% if current_user and current_user.moderator? %>
 <div class="buttons">
-  <%= button_to t('redaction.show.edit'), edit_redaction_path(@redaction), :method => :get %></td>
-  <%= button_to t('redaction.show.destroy'), @redaction, :method => "delete", :remote => true, :data => { :confirm => t('redaction.show.confirm') } %>
+  <%= button_to t('.edit'), edit_redaction_path(@redaction), :method => :get %></td>
+  <%= button_to t('.destroy'), @redaction, :method => "delete", :remote => true, :data => { :confirm => t('.confirm') } %>
 </div>
 <% end %>
index 7c5639912b37c082e29ec42af5f27beba095035e..aeb3a1be52ecd33802aacebd08591827d898717d 100644 (file)
@@ -1,26 +1,26 @@
-<h4 class='heading'><%= t "site.markdown_help.title_html" %></h4>
+<h4 class='heading'><%= t ".title_html" %></h4>
 <ul>
   <li>
-    <h4><%= t "site.markdown_help.headings" %></h4>
-    <p># <%= t "site.markdown_help.heading" %><br>
-       ## <%= t "site.markdown_help.subheading" %></p>
+    <h4><%= t ".headings" %></h4>
+    <p># <%= t ".heading" %><br>
+       ## <%= t ".subheading" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.unordered" %></h4>
-    <p>* <%= t "site.markdown_help.first" %><br>
-       * <%= t "site.markdown_help.second" %></p>
+    <h4><%= t ".unordered" %></h4>
+    <p>* <%= t ".first" %><br>
+       * <%= t ".second" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.ordered" %></h4>
-    <p>1. <%= t "site.markdown_help.first" %><br>
-       2. <%= t "site.markdown_help.second" %></p>
+    <h4><%= t ".ordered" %></h4>
+    <p>1. <%= t ".first" %><br>
+       2. <%= t ".second" %></p>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.link" %></h4>
-    <span>[<%= t "site.markdown_help.text" %>](<%= t "site.markdown_help.url" %>)</span>
+    <h4><%= t ".link" %></h4>
+    <span>[<%= t ".text" %>](<%= t ".url" %>)</span>
   </li>
   <li>
-    <h4><%= t "site.markdown_help.image" %></h4>
-    <span>![<%= t "site.markdown_help.alt" %>](<%= t "site.markdown_help.url" %>)</span>
+    <h4><%= t ".image" %></h4>
+    <span>![<%= t ".alt" %>](<%= t ".url" %>)</span>
   </li>
 </ul>
index 0c8075c6ef2261ad564ea40ff2454c77086e0d97..702a0243d19f7aaf06e4233b0657b60b21477219 100644 (file)
@@ -1,37 +1,37 @@
 <div class='attr'>
   <div class='byosm'>
-    <%= t "about_page.copyright_html" %>
+    <%= t ".copyright_html" %>
   </div>
 
   <div class='user-image'></div>
 
-  <h1><%= raw t "about_page.used_by", :name => "<span class='user-name'>OpenStreetMap</span>" %></h1>
+  <h1><%= raw t ".used_by", :name => "<span class='user-name'>OpenStreetMap</span>" %></h1>
 </div>
 
 <div class='text'>
   <div class='section'>
-    <p><strong><%= t "about_page.lede_text" %></strong></p>
-    <h2><div class='icon local'></div><%= t "about_page.local_knowledge_title" %></h2>
-    <p><%= t "about_page.local_knowledge_html" %></p>
+    <p><strong><%= t ".lede_text" %></strong></p>
+    <h2><div class='icon local'></div><%= t ".local_knowledge_title" %></h2>
+    <p><%= t ".local_knowledge_html" %></p>
   </div>
 
   <div class='section'>
-    <h2><div class='icon community'></div><%= t "about_page.community_driven_title" %></h2>
-    <p><%= t "about_page.community_driven_html", :diary_path => diary_path %></p>
+    <h2><div class='icon community'></div><%= t ".community_driven_title" %></h2>
+    <p><%= t ".community_driven_html", :diary_path => diary_path %></p>
   </div>
 
   <div class='section' id='open-data'>
-    <h2><div class='icon open'></div><%= t "about_page.open_data_title" %></h2>
-    <p><%= t "about_page.open_data_html", :copyright_path => copyright_path %></p>
+    <h2><div class='icon open'></div><%= t ".open_data_title" %></h2>
+    <p><%= t ".open_data_html", :copyright_path => copyright_path %></p>
   </div>
 
   <div class='section' id='legal'>
-    <h2><div class='icon legal'></div><%= t "about_page.legal_title" %></h2>
-    <p><%= t "about_page.legal_html" %></p>
+    <h2><div class='icon legal'></div><%= t ".legal_title" %></h2>
+    <p><%= t ".legal_html" %></p>
   </div>
 
   <div class='section' id='partners'>
-    <h2><div class='icon partners'></div><%= t "about_page.partners_title" %></h2>
+    <h2><div class='icon partners'></div><%= t ".partners_title" %></h2>
     <p><%= t 'layouts.partners_html',
              :ucl => link_to(t('layouts.partners_ucl'), "https://www.ucl.ac.uk"),
              :ic => link_to(t('layouts.partners_ic'), "https://www.imperial.ac.uk/"),
index 887782be25b9d9f1333412b7bbcbcb96f838ff92..1b85d201cdcda0e8aa004a2cbefce3753e12f43b 100644 (file)
@@ -2,15 +2,15 @@
 <% if @locale == 'en' %>
   <!-- Maybe ease foreigners back to their native page -->
 
-    <% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
-      <h1><%= t 'license_page.native.title' %></h1>
+    <% if t('.legal_babble', :locale => I18n.locale) != t('.legal_babble', :locale => :en) %>
+      <h1><%= t '.native.title' %></h1>
       <p>
-        <%= raw t 'license_page.native.text',
-                    :native_link => link_to(t('license_page.native.native_link'),
+        <%= raw t '.native.text',
+                    :native_link => link_to(t('.native.native_link'),
                                                 :controller => 'site',
                                                 :action => 'copyright',
                                                 :copyright_locale => nil),
-                    :mapping_link => link_to(t('license_page.native.mapping_link'),
+                    :mapping_link => link_to(t('.native.mapping_link'),
                                                 :controller => 'site',
                                                 :action => 'index') %>
       </p>
     <% end %>
   <% else %>
     <!-- Maybe note that this page has been translated -->
-    <% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
-      <h1><%= t 'license_page.foreign.title' %></h1>
+    <% if t('.legal_babble', :locale => @locale) != t('.legal_babble', :locale => :en) %>
+      <h1><%= t '.foreign.title' %></h1>
       <p>
-        <%= raw t 'license_page.foreign.text',
-                    :english_original_link => link_to(t('license_page.foreign.english_link'),
+        <%= raw t '.foreign.text',
+                    :english_original_link => link_to(t('.foreign.english_link'),
                                                           :controller => 'site',
                                                           :action => 'copyright',
                                                           :copyright_locale => 'en') %>
     <% end %>
   <% end %>
 
-  <h1><%= t "license_page.legal_babble.title_html", :locale => @locale %></h1>
+  <h1><%= t ".legal_babble.title_html", :locale => @locale %></h1>
 
 <% end %>
 
-<p><%= t "license_page.legal_babble.intro_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.intro_2_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.intro_3_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.intro_3_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.credit_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.credit_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.credit_2_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.credit_3_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.credit_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.credit_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.credit_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.credit_3_html", :locale => @locale %></p>
 <p><%= image_tag("attribution_example.png",
-              :alt => t('license_page.legal_babble.attribution_example.alt'),
+              :alt => t('.legal_babble.attribution_example.alt'),
               :border => 0,
-              :title => t('license_page.legal_babble.attribution_example.title')) %>
+              :title => t('.legal_babble.attribution_example.title')) %>
 
-<h3><%= t "license_page.legal_babble.more_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.more_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.more_2_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.more_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.more_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.more_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.contributors_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.contributors_intro_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.contributors_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.contributors_intro_html", :locale => @locale %></p>
 <ul id="contributors">
-  <li><%= t "license_page.legal_babble.contributors_at_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_ca_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_fi_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_fr_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_nl_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_nz_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_si_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_za_html", :locale => @locale %></li>
-  <li><%= t "license_page.legal_babble.contributors_gb_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_at_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_ca_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_fi_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_fr_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_nl_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_nz_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_si_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_za_html", :locale => @locale %></li>
+  <li><%= t ".legal_babble.contributors_gb_html", :locale => @locale %></li>
 </ul>
-<p><%= t "license_page.legal_babble.contributors_footer_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.contributors_footer_2_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.contributors_footer_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.contributors_footer_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.infringement_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.infringement_1_html", :locale => @locale %></p>
-<p><%= t "license_page.legal_babble.infringement_2_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.infringement_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.infringement_1_html", :locale => @locale %></p>
+<p><%= t ".legal_babble.infringement_2_html", :locale => @locale %></p>
 
-<h3><%= t "license_page.legal_babble.trademarks_title_html", :locale => @locale %></h3>
-<p><%= t "license_page.legal_babble.trademarks_1_html", :locale => @locale %></p>
+<h3><%= t ".legal_babble.trademarks_title_html", :locale => @locale %></h3>
+<p><%= t ".legal_babble.trademarks_1_html", :locale => @locale %></p>
index 81095140ed8f1fbdf47a64fdd8330e880c9a1dda..e84adf2d48bae0d20188c14b20c772f0521167ef 100644 (file)
@@ -4,9 +4,9 @@
   <% elsif STATUS == :database_readonly or STATUS == :api_readonly %>
     <p><%= t 'layouts.osm_read_only' %></p>
   <% elsif !current_user.data_public? %>
-    <p><%= t 'site.edit.not_public' %></p>
-    <p><%= raw t 'site.edit.not_public_description', :user_page => (link_to t('site.edit.user_page_link'), {:controller => 'user', :action => 'account', :display_name => current_user.display_name, :anchor => 'public'}) %></p>
-    <p><%= raw t 'site.edit.anon_edits', :link => link_to(t('site.edit.anon_edits_link_text'), t('site.edit.anon_edits_link')) %></p>
+    <p><%= t '.not_public' %></p>
+    <p><%= raw t '.not_public_description', :user_page => (link_to t('.user_page_link'), {:controller => 'user', :action => 'account', :display_name => current_user.display_name, :anchor => 'public'}) %></p>
+    <p><%= raw t 'site.edit.anon_edits', :link => link_to(t('.anon_edits_link_text'), t('.anon_edits_link')) %></p>
   <% else %>
     <%= render :partial => preferred_editor %>
   <% end %>
index bf5376fb55bd1be2e10c321ba756492c6b63f6ea..f11ad8d790a7b85a95f767b8c9de610f3625c5e3 100644 (file)
@@ -1,8 +1,8 @@
-<% set_title(t('export.title')) %>
+<% set_title(t('.title')) %>
 
 <h2>
   <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a>
-  <%= t 'export.title' %>
+  <%= t '.title' %>
 </h2>
 
 <%= form_tag({:controller => "export", :action => "finish"}, :class => "export_form") do %>
       <br/><br/>
       <%= text_field_tag('minlat', nil, :size => 10, :class => "export_bound") %>
       </div>
-    <a id='drag_box' href="#"><%= t'export.start.manually_select' %></a>
+    <a id='drag_box' href="#"><%= t '.manually_select' %></a>
   </div>
 
-  <h4><%= t'export.start.licence' %></h4>
-  <p><%= raw t 'export.start.export_details' %></p>
+  <h4><%= t '.licence' %></h4>
+  <p><%= raw t '.export_details' %></p>
 
   <div id="export_osm_too_large">
     <p class="warning">
-      <%= t'export.start.too_large.body' %>
+      <%= t '.too_large.body' %>
     </p>
   </div>
 
   <div id="export_commit">
     <div class="export_button">
-      <%= submit_tag t('export.start.export_button') %>
+      <%= submit_tag t('.export_button') %>
     </div>
 
-    <p><%= t'export.start.too_large.advice' %></p>
+    <p><%= t '.too_large.advice' %></p>
   </div>
 
-  <dl class="inner12">  
-    <dt><a id="export_overpass" href="https://overpass-api.de/api/map?bbox="><%= t'export.start.too_large.overpass.title' %></a></dt>
-    <dd><%= t'export.start.too_large.overpass.description' %></dd>
-    
-    <dt><a href="https://planet.openstreetmap.org/"><%= t'export.start.too_large.planet.title' %></a></dt>
-    <dd><%= t'export.start.too_large.planet.description' %></dd>
+  <dl class="inner12">
+    <dt><a id="export_overpass" href="https://overpass-api.de/api/map?bbox="><%= t '.too_large.overpass.title' %></a></dt>
+    <dd><%= t '.too_large.overpass.description' %></dd>
 
-    <dt><a href="https://download.geofabrik.de/"><%= t'export.start.too_large.geofabrik.title' %></a></dt>
-    <dd><%= t'export.start.too_large.geofabrik.description' %></dd>
+    <dt><a href="https://planet.openstreetmap.org/"><%= t '.too_large.planet.title' %></a></dt>
+    <dd><%= t '.too_large.planet.description' %></dd>
 
-    <dt><a href="https://wiki.openstreetmap.org/wiki/Download"><%= t'export.start.too_large.other.title' %></a></dt>
-    <dd><%= t'export.start.too_large.other.description' %></dd>
+    <dt><a href="https://download.geofabrik.de/"><%= t '.too_large.geofabrik.title' %></a></dt>
+    <dd><%= t '.too_large.geofabrik.description' %></dd>
+
+    <dt><a href="https://wiki.openstreetmap.org/wiki/Download"><%= t '.too_large.other.title' %></a></dt>
+    <dd><%= t '.too_large.other.description' %></dd>
   </dl>
 <% end %>
index fc5fecc9a48a9c308297445974bd4618f72e1851..571a9b25fc0ed445ebf8a3d29e16e97da4f3c4ac 100644 (file)
@@ -3,35 +3,35 @@
 <% end %>
 
 <% content_for :heading do %>
-  <h1><%= t "fixthemap.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
 <h3><%= t "layouts.intro_header" %></h3>
 
 <p><%= t "layouts.intro_text" %></p>
 
-<h3><%= t "fixthemap.how_to_help.title" %></h3>
+<h3><%= t ".how_to_help.title" %></h3>
 
 <div class='clearfix'>
   <div class='col6 inner11'>
-    <h3><%= t "fixthemap.how_to_help.join_the_community.title" %></h3>
-    <%= t "fixthemap.how_to_help.join_the_community.explanation_html" %>
+    <h3><%= t ".how_to_help.join_the_community.title" %></h3>
+    <%= t ".how_to_help.join_the_community.explanation_html" %>
     <div class='clearfix center'>
       <a class="button sign-up" href="<%= user_new_path %>"><%= t('layouts.start_mapping') %></a>
     </div>
   </div>
   <div class='col6 inner11'>
-    <h3><%= t "welcome_page.add_a_note.title" %></h3>
-    <p><%= t "welcome_page.add_a_note.paragraph_1_html" %></p>
-    <p><%= t "fixthemap.how_to_help.add_a_note.instructions_html", :map_url => root_path %></p>
+    <h3><%= t "site.welcome.add_a_note.title" %></h3>
+    <p><%= t "site.welcome.add_a_note.paragraph_1_html" %></p>
+    <p><%= t ".how_to_help.add_a_note.instructions_html", :map_url => root_path %></p>
   </div>
 </div>
 
-<h3><%= t "fixthemap.other_concerns.title" %></h3>
-<p><%= t "fixthemap.other_concerns.explanation_html" %></p>
+<h3><%= t ".other_concerns.title" %></h3>
+<p><%= t ".other_concerns.explanation_html" %></p>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.questions.title" %></h3>
+  <h3><%= t "site.welcome.questions.title" %></h3>
   <span class='sprite small term question'></span>
-  <p><%= t "welcome_page.questions.paragraph_1_html", :help_url => help_path %></p>
+  <p><%= t "site.welcome.questions.paragraph_1_html", :help_url => help_path %></p>
 </div>
index dff2108cacbc7831b48cbb9572ffd9069698f470..085ea63d53eb69bccd5660d2e2765dc937f071c5 100644 (file)
@@ -1,18 +1,18 @@
 <% content_for :heading do %>
-  <h1><%= t "help_page.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p class='introduction'><%= t "help_page.introduction" %></p>
+<p class='introduction'><%= t ".introduction" %></p>
 
 <% ['welcome', 'beginners_guide', 'help', 'mailing_lists', 'forums', 'irc', 'switch2osm', 'wiki'].each do |site| %>
   <% unless site == 'welcome' && !current_user %>
   <div class='<%= site %> help-item'>
   <h3>
-    <a href='<%= t "help_page.#{site}.url" %>'>
-      <%= t "help_page.#{site}.title" %>
+    <a href='<%= t ".#{site}.url" %>'>
+      <%= t ".#{site}.title" %>
     </a>
   </h3>
-  <p><%= t "help_page.#{site}.description" %></p>
+  <p><%= t ".#{site}.description" %></p>
   </div>
   <% end %>
 <% end %>
index 039c9a51cc5e205a1430490edcce984303998907..91dfd125023d1fdc61395efc2c0707b9d17f6af6 100644 (file)
@@ -7,7 +7,7 @@
             <%= image_tag "key/#{name}/#{entry['image']}" %>
           </td>
           <td class="mapkey-table-value">
-            <%= [*t("site.key.table.entry.#{entry['name']}")].to_sentence %>
+            <%= [*t(".table.entry.#{entry['name']}")].to_sentence %>
           </td>
         </tr>
       <% end %>
index 92220039a0ea86609dc3093bca70173d351c3b81..dc6a519dfeed144f584cd803b96cf47dff8bbc68 100644 (file)
@@ -3,71 +3,71 @@
 <% end %>
 
 <% content_for :heading do %>
-  <h1><%= t "welcome_page.title" %></h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
-<p><%= t "welcome_page.introduction_html" %></p>
+<p><%= t ".introduction_html" %></p>
 
-<h3><%= t "welcome_page.whats_on_the_map.title" %></h3>
+<h3><%= t ".whats_on_the_map.title" %></h3>
 
 <div class=' clearfix'>
   <div class='col6 inner11'>
     <div class='center clearfix inner11'>
       <span class='sprite small check'></span>
     </div>
-    <p><%= t "welcome_page.whats_on_the_map.on_html" %></p>
+    <p><%= t ".whats_on_the_map.on_html" %></p>
   </div>
   <div class='col6 inner11'>
     <div class='center clearfix inner11'>
       <span class='sprite small x'></span>
     </div>
-    <p><%= t "welcome_page.whats_on_the_map.off_html" %></p>
+    <p><%= t ".whats_on_the_map.off_html" %></p>
   </div>
 </div>
 
-<h3><%= t "welcome_page.basic_terms.title" %></h3>
+<h3><%= t ".basic_terms.title" %></h3>
 
-<p><%= t "welcome_page.basic_terms.paragraph_1_html" %></p>
+<p><%= t ".basic_terms.paragraph_1_html" %></p>
 
 <div class='col12 clearfix icon-list'>
   <div class='clearfix'>
     <span class='sprite small term editor'></span>
-    <p><%= t "welcome_page.basic_terms.editor_html" %></p>
+    <p><%= t ".basic_terms.editor_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term node'></span>
-    <p><%= t "welcome_page.basic_terms.node_html" %></p>
+    <p><%= t ".basic_terms.node_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term way'></span>
-    <p><%= t "welcome_page.basic_terms.way_html" %></p>
+    <p><%= t ".basic_terms.way_html" %></p>
   </div>
   <div class='clearfix'>
     <span class='sprite small term tag'></span>
-    <p><%= t "welcome_page.basic_terms.tag_html" %></p>
+    <p><%= t ".basic_terms.tag_html" %></p>
   </div>
 </div>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.rules.title" %></h3>
+  <h3><%= t ".rules.title" %></h3>
   <span class='sprite small term rules'></span>
-  <p><%= t "welcome_page.rules.paragraph_1_html" %></p>
+  <p><%= t ".rules.paragraph_1_html" %></p>
 </div>
 
 <div class='col12 clearfix icon-list'>
-  <h3><%= t "welcome_page.questions.title" %></h3>
+  <h3><%= t ".questions.title" %></h3>
   <span class='sprite small term question'></span>
-  <p><%= t "welcome_page.questions.paragraph_1_html", :help_url => help_path %></p>
+  <p><%= t ".questions.paragraph_1_html", :help_url => help_path %></p>
 </div>
 
 <div class='clearfix center'>
-  <a href="<%= edit_path %>" class="button start-mapping"><%= t "welcome_page.start_mapping" %></a>
+  <a href="<%= edit_path %>" class="button start-mapping"><%= t ".start_mapping" %></a>
 </div>
 
 <div class='note-box'>
   <div class='inner22'>
-    <h3><%= t "welcome_page.add_a_note.title" %></h3>
-    <p><%= t "welcome_page.add_a_note.paragraph_1_html" %></p>
-    <p><%= t "welcome_page.add_a_note.paragraph_2_html", :map_url => root_path %></p>
+    <h3><%= t ".add_a_note.title" %></h3>
+    <p><%= t ".add_a_note.paragraph_1_html" %></p>
+    <p><%= t ".add_a_note.paragraph_2_html", :map_url => root_path %></p>
   </div>
 </div>
diff --git a/app/views/trace/_description.html.erb b/app/views/trace/_description.html.erb
deleted file mode 100644 (file)
index 9b81283..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<%= image_tag(url_for(:controller => :trace, :action => :icon, :id => description.id, :display_name => description.user.display_name)) %>
-<% if description.size -%>
-<%= t "trace.description.description_with_count", :count => description.size, :user => description.user.display_name %>
-<% else -%>
-<%= t "trace.description.description_without_count", :user => description.user.display_name %>
-<% end -%>
diff --git a/app/views/trace/_trace.html.erb b/app/views/trace/_trace.html.erb
deleted file mode 100644 (file)
index ecadacc..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<tr>
-  <% cl = cycle('table0', 'table1') %>
-  <td class="<%= cl %>">
-    <% if STATUS != :gpx_offline %>
-      <% if trace.inserted %>
-        <a href="<%= url_for :controller => 'trace', :action => 'view', :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => 'trace', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
-      <% else %>
-        <span class="trace_pending"><%= t'trace.trace.pending' %></span>
-      <% end %>
-    <% end %>
-  </td>
-  <td class="<%= cl %>"><%= link_to trace.name, {:controller => 'trace', :action => 'view', :display_name => trace.user.display_name, :id => trace.id} %>
-    <span class="trace_summary" title="<%= trace.timestamp %>"> ...
-      <% if trace.inserted %>
-        (<%= t'trace.trace.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
-      <% end %>
-      ... <%= t'trace.trace.ago', :time_in_words_ago => time_ago_in_words(trace.timestamp) %></span>
-      <%= link_to_if trace.inserted?, t('trace.trace.map'), {:controller => 'site', :action => 'index', :mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}"}, {:title => t('trace.trace.view_map')} %> /
-      <%= link_to t('trace.trace.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('trace.trace.edit_map')} %>
-      <span class="trace_<%= trace.visibility %>"><%= t('trace.trace.' + trace.visibility) %></span>
-      <br />
-      <%= trace.description %>
-    <br />
-    <%= t'trace.trace.by' %> <%=link_to h(trace.user.display_name), user_path(trace.user) %>
-    <% if !trace.tags.empty? %>
-      <%= t'trace.trace.in' %>
-      <%= raw(trace.tags.collect { |tag| link_to_tag tag.tag }.join(", ")) %>
-    <% end %>
-  </td>
-</tr>
diff --git a/app/views/trace/_trace_paging_nav.html.erb b/app/views/trace/_trace_paging_nav.html.erb
deleted file mode 100644 (file)
index 10a563f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<p>
-
-<% if @traces.size > 1 %>
-<% if @page > 1 %>
-<%= link_to t('trace.trace_paging_nav.newer'), @params.merge({ :page => @page - 1 }) %>
-<% else %>
-<%= t('trace.trace_paging_nav.newer') %>
-<% end %>
-
-| <%= t('trace.trace_paging_nav.showing_page', :page => @page) %> |
-
-<% if @traces.size < @page_size %>
-<%= t('trace.trace_paging_nav.older') %>
-<% else %>
-<%= link_to t('trace.trace_paging_nav.older'), @params.merge({ :page => @page + 1 }) %>
-<% end %>
-<% end %>
-</p>
diff --git a/app/views/trace/create.html.erb b/app/views/trace/create.html.erb
deleted file mode 100644 (file)
index 43d4eff..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<% content_for :heading do %>
-  <h1><%= t'trace.create.upload_trace' %></h1>
-<% end %>
-
-<%= error_messages_for 'trace' %>
-
-<%= form_for @trace, :url => { :action => "create" }, :html => { :multipart => true } do |f| %>
-  <div class="standard-form">
-    <fieldset>
-      <div class='form-row'>
-        <label for="trace_gpx_file" class="standard-label"><%= t'trace.trace_form.upload_gpx' %></label>
-        <%= f.file_field :gpx_file %>
-      </div>
-      <div class='form-row'>
-        <label class="standard-label"><%= t'trace.trace_form.description' %></label>
-        <%= f.text_field :description %>
-      </div>
-      <div class='form-row'>
-        <label class="standard-label"><%= t'trace.trace_form.tags' %></label>
-        <%= f.text_field :tagstring %>
-        <span class="form-help deemphasize">(<%= t'trace.trace_form.tags_help' %>)</span>
-      </div>
-      <div class='form-row'>
-        <label class="standard-label"><%= t'trace.trace_form.visibility' %></label>
-        <%= f.select :visibility, [[t('trace.visibility.private'),"private"],[t('trace.visibility.public'),"public"],[t('trace.visibility.trackable'),"trackable"],[t('trace.visibility.identifiable'),"identifiable"]] %>
-        <span class="form-help deemphasize">(<a href="<%= t'trace.trace_form.visibility_help_url' %>"><%= t'trace.trace_form.visibility_help' %></a>)</span>
-      </div>
-    </fieldset>
-
-    <%= submit_tag t('trace.trace_form.upload_button') %>
-    <span class="form-help deemphasize"><a href="<%= t'trace.trace_form.help_url' %>"><%= t'trace.trace_form.help' %></a></span>
-  </div>
-<% end %>
diff --git a/app/views/trace/edit.html.erb b/app/views/trace/edit.html.erb
deleted file mode 100644 (file)
index b2254af..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<% content_for :heading do %>
-  <h2><%= t 'trace.edit.heading', :name => h(@trace.name) %></h2>
-<% end %>
-
-<img src="<%= url_for :controller => 'trace', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
-
-<%= form_for @trace, :method => :post, :url => { :action => "edit" } do |f| %>
-
-<div id='edit-trace-form' class='standard-form'>
-  <fieldset>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.filename' %></label>
-      <p class='deemphasize'><%= @trace.name %> (<%= link_to t('trace.edit.download'), trace_data_path(@trace) %>)</p>
-    </div>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.uploaded_at' %></label>
-      <p class='deemphasize'><%= l @trace.timestamp, :format => :friendly %></p>
-    </div>
-  <% if @trace.inserted? %>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.points' %></label>
-      <p class='deemphasize'><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></p>
-    </div>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.start_coord' %></label>
-    </div>
-    <div class="geo">
-      <span class="latitude"><%= @trace.latitude %></span>;
-      <span class="longitude"><%= @trace.longitude %></span>
-    </div>
-    (<%=link_to t('trace.edit.map'), :controller => 'site', :action => 'index', :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %> / <%=link_to t('trace.edit.edit'), :controller => 'site', :action => 'edit', :gpx=> @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %>)
-  <% end %>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.owner' %></label>
-      <p class='deemphasize'><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></p>
-    </div>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.description' %></label>
-      <%= f.text_field :description %>
-    </div>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.tags' %></label>
-      <%= f.text_field :tagstring %> (<%= t'trace.edit.tags_help' %>)
-    </div>
-    <div class='form-row'>
-      <label class='standard-label'><%= t'trace.edit.visibility' %></label>
-      <%= f.select :visibility, [[t('trace.visibility.private'),"private"],[t('trace.visibility.public'),"public"],[t('trace.visibility.trackable'),"trackable"],[t('trace.visibility.identifiable'),"identifiable"]] %> (<a href="<%= t'trace.edit.visibility_help_url' %>"><%= t'trace.edit.visibility_help' %></a>)
-    </div>
-  </fieldset>
-
-</div>
-
-<%= submit_tag t'trace.edit.save_button' %>
-
-<% end %>
diff --git a/app/views/trace/offline.html.erb b/app/views/trace/offline.html.erb
deleted file mode 100644 (file)
index ed6c1c5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<% content_for :heading do %>
-<h2><%= t 'trace.offline.heading' %></h2>
-<% end %>
-
-<p><%= t 'trace.offline.message' %></p>
diff --git a/app/views/trace/view.html.erb b/app/views/trace/view.html.erb
deleted file mode 100644 (file)
index 8fc17a1..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<% content_for :heading do %>
-  <h2><%= t 'trace.view.heading', :name => h(@trace.name) %></h2>
-<% end %>
-
-<% if STATUS != :gpx_offline %>
-  <% if @trace.inserted %>
-    <img src="<%= url_for :controller => 'trace', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
-  <% else %>
-    <span class="trace_pending"><%= t'trace.view.pending' %></span>
-  <% end %>
-<% end %>
-
-<table border="0">
-  <tr>
-    <td><%= t'trace.view.filename' %></td>
-    <td><%= @trace.name %> (<%= link_to t('trace.view.download'), trace_data_path(@trace) %>)</td>
-  </tr>
-  <tr>
-    <td><%= t'trace.view.uploaded' %></td>
-    <td><%= l @trace.timestamp, :format => :friendly %></td>
-  </tr>
-  <% if @trace.inserted? %>
-  <tr>
-    <td><%= t'trace.view.points' %></td>
-    <td><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></td></tr>
-  <tr>
-    <td><%= t'trace.view.start_coordinates' %></td>
-    <td><div class="geo"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to t('trace.view.map'), :controller => 'site', :action => 'index', :mlat => @trace.latitude, :mlon => @trace.longitude, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %> / <%=link_to t('trace.view.edit'), :controller => 'site', :action => 'edit', :gpx=> @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %>)</td>
-  </tr>
-  <% end %>
-  <tr>
-    <td><%= t'trace.view.owner' %></td>
-    <td><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></td>
-  </tr>
-  <tr>
-    <td><%= t'trace.view.description' %></td>
-    <td><%= h(@trace.description) %></td>
-  </tr>
-  <tr>
-    <td><%= t'trace.view.tags' %></td>
-    <td>
-    <% unless @trace.tags.empty? %>
-      <%= raw(@trace.tags.collect { |tag| link_to tag.tag, { :controller => 'trace', :action => 'list', :tag => tag.tag, :id => nil } }.join(", ")) %>
-    <% else %>
-      <i><%= t'trace.view.none' %></i>
-    <% end %>
-    </td>
-  </tr>
-  <tr>
-    <td><%= t'trace.view.visibility' %></td>
-    <td><%= t"trace.visibility.#{@trace.visibility}" %></td>
-  </tr>
-</table>
-
-<br /><br />
-
-<% if current_user && (current_user==@trace.user || current_user.administrator? || current_user.moderator?)%>
-  <div class="buttons">
-    <%= if_user(@trace.user) do %>
-      <%= button_to t('trace.view.edit_track'), trace_edit_path(@trace) %>
-    <% end %>
-    <%= button_to t('trace.view.delete_track'), { :controller => 'trace', :action => 'delete', :id => @trace.id }, :data => { :confirm => t('trace.view.confirm_delete') } %>
-  </div>
-<% end %>
diff --git a/app/views/traces/_description.html.erb b/app/views/traces/_description.html.erb
new file mode 100644 (file)
index 0000000..f4edc0e
--- /dev/null
@@ -0,0 +1,6 @@
+<%= image_tag(url_for(:controller => :traces, :action => :icon, :id => description.id, :display_name => description.user.display_name)) %>
+<% if description.size -%>
+<%= t ".description_with_count", :count => description.size, :user => description.user.display_name %>
+<% else -%>
+<%= t ".description_without_count", :user => description.user.display_name %>
+<% end -%>
diff --git a/app/views/traces/_trace.html.erb b/app/views/traces/_trace.html.erb
new file mode 100644 (file)
index 0000000..9b8b16a
--- /dev/null
@@ -0,0 +1,30 @@
+<tr>
+  <% cl = cycle('table0', 'table1') %>
+  <td class="<%= cl %>">
+    <% if STATUS != :gpx_offline %>
+      <% if trace.inserted %>
+        <a href="<%= url_for :controller => 'traces', :action => 'view', :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => 'traces', :action => 'icon', :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
+      <% else %>
+        <span class="trace_pending"><%= t '.pending' %></span>
+      <% end %>
+    <% end %>
+  </td>
+  <td class="<%= cl %>"><%= link_to trace.name, { :controller => 'traces', :action => 'view', :display_name => trace.user.display_name, :id => trace.id } %>
+    <span class="trace_summary" title="<%= trace.timestamp %>"> ...
+      <% if trace.inserted %>
+        (<%= t '.count_points', :count => trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %>)
+      <% end %>
+      ... <%= t '.ago', :time_in_words_ago => time_ago_in_words(trace.timestamp) %></span>
+      <%= link_to_if trace.inserted?, t('.map'), {:controller => 'site', :action => 'index', :mlat => trace.latitude, :mlon => trace.longitude, :anchor => "map=14/#{trace.latitude}/#{trace.longitude}"}, {:title => t('.view_map')} %> /
+      <%= link_to t('.edit'), {:controller => 'site', :action => 'edit', :gpx => trace.id }, {:title => t('.edit_map')} %>
+      <span class="trace_<%= trace.visibility %>"><%= t('.' + trace.visibility) %></span>
+      <br />
+      <%= trace.description %>
+    <br />
+    <%= t '.by' %> <%=link_to h(trace.user.display_name), user_path(trace.user) %>
+    <% if !trace.tags.empty? %>
+      <%= t '.in' %>
+      <%= raw(trace.tags.collect { |tag| link_to_tag tag.tag }.join(", ")) %>
+    <% end %>
+  </td>
+</tr>
similarity index 80%
rename from app/views/trace/_trace_optionals.html.erb
rename to app/views/traces/_trace_optionals.html.erb
index a20091c077b4a6aec5ce47bf458798241e5f329a..6f0c2130b442dcc86604701e2eec456c8944fa39 100644 (file)
@@ -1,6 +1,6 @@
 <% content_for :optionals do %>
   <div class="optionalbox">
-    <h4><%= t'trace.trace_optionals.tags' %></h4>
+    <h4><%= t '.tags' %></h4>
     <% if @all_tags %>
       <% @all_tags.each do |tag| %>
         <%= link_to_tag tag %><br />
diff --git a/app/views/traces/_trace_paging_nav.html.erb b/app/views/traces/_trace_paging_nav.html.erb
new file mode 100644 (file)
index 0000000..4f4b837
--- /dev/null
@@ -0,0 +1,18 @@
+<p>
+
+<% if @traces.size > 1 %>
+<% if @page > 1 %>
+<%= link_to t('.newer'), @params.merge({ :page => @page - 1 }) %>
+<% else %>
+<%= t('.newer') %>
+<% end %>
+
+| <%= t('.showing_page', :page => @page) %> |
+
+<% if @traces.size < @page_size %>
+<%= t('.older') %>
+<% else %>
+<%= link_to t('.older'), @params.merge({ :page => @page + 1 }) %>
+<% end %>
+<% end %>
+</p>
diff --git a/app/views/traces/edit.html.erb b/app/views/traces/edit.html.erb
new file mode 100644 (file)
index 0000000..6657a33
--- /dev/null
@@ -0,0 +1,55 @@
+<% content_for :heading do %>
+  <h2><%= t '.heading', :name => h(@trace.name) %></h2>
+<% end %>
+
+<img src="<%= url_for :controller => 'traces', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
+
+<%= form_for @trace, :method => :post, :url => { :action => "edit" } do |f| %>
+
+<div id='edit-trace-form' class='standard-form'>
+  <fieldset>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.filename' %></label>
+      <p class='deemphasize'><%= @trace.name %> (<%= link_to t('.download'), trace_data_path(@trace) %>)</p>
+    </div>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.uploaded_at' %></label>
+      <p class='deemphasize'><%= l @trace.timestamp, :format => :friendly %></p>
+    </div>
+  <% if @trace.inserted? %>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.points' %></label>
+      <p class='deemphasize'><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></p>
+    </div>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.start_coord' %></label>
+    </div>
+    <div class="geo">
+      <span class="latitude"><%= @trace.latitude %></span>;
+      <span class="longitude"><%= @trace.longitude %></span>
+    </div>
+    (<%=link_to t('.map'), :controller => 'site', :action => 'index', :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %> / <%=link_to t('.edit'), :controller => 'site', :action => 'edit', :gpx=> @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %>)
+  <% end %>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.owner' %></label>
+      <p class='deemphasize'><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></p>
+    </div>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.description' %></label>
+      <%= f.text_field :description %>
+    </div>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.tags' %></label>
+      <%= f.text_field :tagstring %> (<%= t '.tags_help' %>)
+    </div>
+    <div class='form-row'>
+      <label class='standard-label'><%= t '.visibility' %></label>
+      <%= f.select :visibility, [[t('traces.visibility.private'),"private"], [t('traces.visibility.public'),"public"], [t('traces.visibility.trackable'),"trackable"], [t('traces.visibility.identifiable'),"identifiable"]] %> (<a href="<%= t '.visibility_help_url' %>"><%= t '.visibility_help' %></a>)
+    </div>
+  </fieldset>
+
+</div>
+
+<%= submit_tag t '.save_button' %>
+
+<% end %>
similarity index 62%
rename from app/views/trace/georss.rss.builder
rename to app/views/traces/georss.rss.builder
index 8470e85cbedb234fc10b1fa0b25604c1504314ce..66dad596da9e6f4bbb6678e906c07c9eb007cb23 100644 (file)
@@ -5,24 +5,24 @@ xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t("trace.georss.title")
-    xml.description t("trace.georss.title")
-    xml.link url_for(:controller => :trace, :action => :list, :only_path => false)
+    xml.title t(".title")
+    xml.description t(".title")
+    xml.link url_for(:controller => :traces, :action => :list, :only_path => false)
 
     xml.image do
       xml.url image_url("mag_map-rss2.0.png")
-      xml.title t("trace.georss.title")
+      xml.title t(".title")
       xml.width 100
       xml.height 100
-      xml.link url_for(:controller => :trace, :action => :list, :only_path => false)
+      xml.link url_for(:controller => :traces, :action => :list, :only_path => false)
     end
 
     @traces.each do |trace|
       xml.item do
         xml.title trace.name
 
-        xml.link url_for(:controller => :trace, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
-        xml.guid url_for(:controller => :trace, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
+        xml.link url_for(:controller => :traces, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
+        xml.guid url_for(:controller => :traces, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
 
         xml.description do
           xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
similarity index 53%
rename from app/views/trace/list.html.erb
rename to app/views/traces/list.html.erb
index 7dcfacb809cee05d56ad18f941cdfa9de170a5b0..3cd90f3e7345894f7144212a92caf56c46a30138 100644 (file)
@@ -1,18 +1,18 @@
 <% content_for :heading do %>
   <h1><%= h(@title) %></h1>
   <ul class='secondary-actions clearfix'>
-    <li><%= t('trace.list.description') %></li>
+    <li><%= t('.description') %></li>
     <li><%= rss_link_to :action => 'georss', :display_name => @display_name, :tag => @tag %></li>
-    <li><%= link_to t('trace.trace_header.upload_trace'), :action => 'create' %></li>
+    <li><%= link_to t('.upload_trace'), new_trace_path %></li>
     <% if @tag %>
-      <li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
-      <li><%= link_to t('trace.trace_header.see_my_traces'), :action => 'mine', :tag => nil, :page => nil %></li>
+      <li><%= link_to t('.see_all_traces'), :controller => 'traces', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
+      <li><%= link_to t('.see_my_traces'), :action => 'mine', :tag => nil, :page => nil %></li>
     <% else %>
       <% if @display_name %>
-        <li><%= link_to t('trace.trace_header.see_all_traces'), :controller => 'trace', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
+        <li><%= link_to t('.see_all_traces'), :controller => 'traces', :action => 'list', :display_name => nil, :tag => nil, :page => nil %></li>
       <% end %>
-      <%= unless_user(@target_user, :li) do %>
-        <%= link_to t('trace.trace_header.see_my_traces'), :action => 'mine', :tag => nil, :page => nil %>
+      <% if current_user && current_user != @target_user %>
+        <li><%= link_to t('.see_my_traces'), :action => 'mine', :tag => nil, :page => nil %></li>
       <% end %>
     <% end %>
   </ul>
@@ -39,7 +39,7 @@
 
   <%= render :partial => 'trace_paging_nav' %>
 <% else %>
-  <h4><%= t 'trace.list.empty_html', :upload_link => trace_create_path %></h4>
+  <h4><%= t '.empty_html', :upload_link => new_trace_path %></h4>
 <% end %>
 
 <%= render :partial => 'trace_optionals' %>
diff --git a/app/views/traces/new.html.erb b/app/views/traces/new.html.erb
new file mode 100644 (file)
index 0000000..42d9f8a
--- /dev/null
@@ -0,0 +1,33 @@
+<% content_for :heading do %>
+  <h1><%= t '.upload_trace' %></h1>
+<% end %>
+
+<%= error_messages_for 'trace' %>
+
+<%= form_for @trace, :url => { :action => "create" }, :html => { :multipart => true } do |f| %>
+  <div class="standard-form">
+    <fieldset>
+      <div class='form-row'>
+        <label for="trace_gpx_file" class="standard-label"><%= t '.upload_gpx' %></label>
+        <%= f.file_field :gpx_file %>
+      </div>
+      <div class='form-row'>
+        <label class="standard-label"><%= t '.description' %></label>
+        <%= f.text_field :description %>
+      </div>
+      <div class='form-row'>
+        <label class="standard-label"><%= t '.tags' %></label>
+        <%= f.text_field :tagstring %>
+        <span class="form-help deemphasize">(<%= t '.tags_help' %>)</span>
+      </div>
+      <div class='form-row'>
+        <label class="standard-label"><%= t '.visibility' %></label>
+        <%= f.select :visibility, [[t('traces.visibility.private'),"private"],[t('traces.visibility.public'),"public"],[t('traces.visibility.trackable'),"trackable"],[t('traces.visibility.identifiable'),"identifiable"]] %>
+        <span class="form-help deemphasize">(<a href="<%= t '.visibility_help_url' %>"><%= t '.visibility_help' %></a>)</span>
+      </div>
+    </fieldset>
+
+    <%= submit_tag t('.upload_button') %>
+    <span class="form-help deemphasize"><a href="<%= t '.help_url' %>"><%= t '.help' %></a></span>
+  </div>
+<% end %>
diff --git a/app/views/traces/offline.html.erb b/app/views/traces/offline.html.erb
new file mode 100644 (file)
index 0000000..5959d0e
--- /dev/null
@@ -0,0 +1,5 @@
+<% content_for :heading do %>
+<h2><%= t '.heading' %></h2>
+<% end %>
+
+<p><%= t '.message' %></p>
diff --git a/app/views/traces/view.html.erb b/app/views/traces/view.html.erb
new file mode 100644 (file)
index 0000000..648160c
--- /dev/null
@@ -0,0 +1,66 @@
+<% content_for :heading do %>
+  <h2><%= t '.heading', :name => h(@trace.name) %></h2>
+<% end %>
+
+<% if STATUS != :gpx_offline %>
+  <% if @trace.inserted %>
+    <img src="<%= url_for :controller => 'traces', :action => 'picture', :id => @trace.id, :display_name => @trace.user.display_name %>">
+  <% else %>
+    <span class="trace_pending"><%= t '.pending' %></span>
+  <% end %>
+<% end %>
+
+<table border="0">
+  <tr>
+    <td><%= t '.filename' %></td>
+    <td><%= @trace.name %> (<%= link_to t('.download'), trace_data_path(@trace) %>)</td>
+  </tr>
+  <tr>
+    <td><%= t '.uploaded' %></td>
+    <td><%= l @trace.timestamp, :format => :friendly %></td>
+  </tr>
+  <% if @trace.inserted? %>
+  <tr>
+    <td><%= t '.points' %></td>
+    <td><%= @trace.size.to_s.gsub(/(\d)(?=(\d{3})+$)/,'\1,') %></td></tr>
+  <tr>
+    <td><%= t '.start_coordinates' %></td>
+    <td><div class="geo"><span class="latitude"><%= @trace.latitude %></span>; <span class="longitude"><%= @trace.longitude %></span></div> (<%=link_to t('.map'), :controller => 'site', :action => 'index', :mlat => @trace.latitude, :mlon => @trace.longitude, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %> / <%=link_to t('.edit'), :controller => 'site', :action => 'edit', :gpx=> @trace.id, :anchor => "map=14/#{@trace.latitude}/#{@trace.longitude}" %>)</td>
+  </tr>
+  <% end %>
+  <tr>
+    <td><%= t '.owner' %></td>
+    <td><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></td>
+  </tr>
+  <tr>
+    <td><%= t '.description' %></td>
+    <td><%= h(@trace.description) %></td>
+  </tr>
+  <tr>
+    <td><%= t '.tags' %></td>
+    <td>
+    <% unless @trace.tags.empty? %>
+      <%= raw(@trace.tags.collect { |tag| link_to tag.tag, { :controller => 'traces', :action => 'list', :tag => tag.tag, :id => nil } }.join(", ")) %>
+    <% else %>
+      <i><%= t '.none' %></i>
+    <% end %>
+    </td>
+  </tr>
+  <tr>
+    <td><%= t '.visibility' %></td>
+    <td><%= t "traces.visibility.#{@trace.visibility}" %></td>
+  </tr>
+</table>
+
+<br /><br />
+
+<% if current_user && (current_user==@trace.user || current_user.administrator? || current_user.moderator?)%>
+  <div class="buttons">
+    <% if current_user == @trace.user %>
+      <div>
+        <%= button_to t('.edit_track'), trace_edit_path(@trace) %>
+      </div>
+    <% end %>
+    <%= button_to t('.delete_track'), { :controller => 'traces', :action => 'delete', :id => @trace.id }, :data => { :confirm => t('.confirm_delete') } %>
+  </div>
+<% end %>
index abddf19d3ff6ad49cbc87de6b5701ba8300f5404..8932b7fef485cd4bb0e004a63ee253d06e724320 100644 (file)
@@ -1,3 +1,3 @@
-<p><%= t "user.auth_association.heading" %></p>
-<p><%= t "user.auth_association.option_1" %></p>
-<p><%= t "user.auth_association.option_2" %></p>
+<p><%= t ".heading" %></p>
+<p><%= t ".option_1" %></p>
+<p><%= t ".option_2" %></p>
index bb1dff0dceaec32429f228a9b3459b8ea4b2a9b4..6132833718b417ed0eb1cf901819eccd646d4e07 100644 (file)
@@ -11,8 +11,8 @@
   <div class='activity-details'>
     <p class='deemphasize'>
       <%= link_to h(contact.display_name), user_path(contact) %>
-      <% if @this_user.home_lon and @this_user.home_lat and contact.home_lon and contact.home_lat %>
-        <% distance = @this_user.distance(contact) %>
+      <% if @user.home_lon and @user.home_lat and contact.home_lon and contact.home_lat %>
+        <% distance = @user.distance(contact) %>
         <% if distance < 1 %>
           (<%= t 'user.view.m away', :count => (distance * 1000).round %>)
         <% else %>
@@ -35,7 +35,7 @@
     </p>
 
     <ul class='secondary-actions clearfix deemphasize'>
-      <li><%= link_to t('user.view.send message'), :controller => 'message', :action => 'new', :display_name => contact.display_name %></li>
+      <li><%= link_to t('user.view.send message'), new_message_path(contact) %></li>
       <li>
         <% if current_user.is_friends_with?(contact) %>
           <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
index 80446b7a9369270c8639393136da5e2d94adc439..957664b3bb78c5db8f90d24215d292c8817c40e4 100644 (file)
@@ -1,5 +1,5 @@
 <div class="user_popup">
   <%= user_thumbnail popup %>
-  <p><%= t('user.popup.' + type) %></p>
+  <p><%= t('.' + type) %></p>
   <p><%= link_to popup.display_name, user_path(popup) %></p>
 </div>
index a493ade681a408fe3cae2aed5c9a74464c23e364..16fbc46ca828bfc48ab6854beccaf30a9b2ee47d 100644 (file)
@@ -3,9 +3,9 @@
 <% end %>
 
 <% content_for :heading do %>
-  <h1><%= t 'user.account.my settings' %></h1>
+  <h1><%= t '.my settings' %></h1>
   <ul class='secondary-actions clearfix'>
-    <li><%= link_to t('user.account.return to profile'), user_path(current_user) %></li>
+    <li><%= link_to t('.return to profile'), user_path(current_user) %></li>
     <li><%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
   </ul>
 <% end %>
 
   <fieldset>
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.current email address' %></label>
+      <label class="standard-label"><%= t '.current email address' %></label>
       <input type="email" disabled value="<%= current_user.email %>" />
-      <span class="form-help deemphasize"><%= t 'user.account.email never displayed publicly' %></span>
+      <span class="form-help deemphasize"><%= t '.email never displayed publicly' %></span>
     </div>
 
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.new email address' %></label>
+      <label class="standard-label"><%= t '.new email address' %></label>
       <%= f.email_field :new_email, :autocomplete => :off %>
-      <span class="form-help deemphasize"><%= t 'user.account.email never displayed publicly' %></span>
+      <span class="form-help deemphasize"><%= t '.email never displayed publicly' %></span>
     </div>
   </fieldset>
 
 
   <fieldset>
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.external auth' %></label>
+      <label class="standard-label"><%= t '.external auth' %></label>
       <%= f.select :auth_provider, Auth::PROVIDERS %>
       <%= f.text_field :auth_uid %>
-      <span class="form-help deemphasize">(<a href="<%= t 'user.account.openid.link' %>" target="_new"><%= t 'user.account.openid.link text' %></a>)</span>
+      <span class="form-help deemphasize">(<a href="<%= t '.openid.link' %>" target="_new"><%= t '.openid.link text' %></a>)</span>
     </diV>
   </fieldset>
 
   <fieldset class="form-divider">
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.public editing.heading' %></label>
+      <label class="standard-label"><%= t '.public editing.heading' %></label>
       <span class="form-help deemphasize">
         <% if current_user.data_public? %>
-          <%= t 'user.account.public editing.enabled' %>
-          (<a href="<%= t 'user.account.public editing.enabled link' %>" target="_new"><%= t 'user.account.public editing.enabled link text' %></a>)
+          <%= t '.public editing.enabled' %>
+          (<a href="<%= t '.public editing.enabled link' %>" target="_new"><%= t '.public editing.enabled link text' %></a>)
         <% else %>
-          <%= t 'user.account.public editing.disabled' %>
-          (<a href="#public"><%= t 'user.account.public editing.disabled link text' %></a>)
+          <%= t '.public editing.disabled' %>
+          (<a href="#public"><%= t '.public editing.disabled link text' %></a>)
         <% end %>
       </span>
     </div>
 
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.contributor terms.heading' %></label>
+      <label class="standard-label"><%= t '.contributor terms.heading' %></label>
       <span class="form-help deemphasize">
         <% if current_user.terms_agreed? %>
-          <%= t 'user.account.contributor terms.agreed' %>
-          (<a href="<%= t 'user.account.contributor terms.link' %>" target="_new"><%= t 'user.account.contributor terms.link text' %></a>)
+          <%= t '.contributor terms.agreed' %>
+          (<a href="<%= t '.contributor terms.link' %>" target="_new"><%= t '.contributor terms.link text' %></a>)
           <% if current_user.consider_pd? %>
-            <%= t 'user.account.contributor terms.agreed_with_pd' %>
+            <%= t '.contributor terms.agreed_with_pd' %>
           <% end %>
         <% else %>
-          <%= t 'user.account.contributor terms.not yet agreed' %>
-          <%= link_to t('user.account.contributor terms.review link text'), :controller => 'user', :action => 'terms' %>
+          <%= t '.contributor terms.not yet agreed' %>
+          <%= link_to t('.contributor terms.review link text'), :controller => 'user', :action => 'terms' %>
         <% end %>
       </span>
     </div>
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.preferred editor' %></label>
+      <label class="standard-label"><%= t '.preferred editor' %></label>
       <%= f.select :preferred_editor, [[t("editor.default", :name => t("editor.#{DEFAULT_EDITOR}.name")), 'default']] + Editors::ALL_EDITORS.collect { |e| [t("editor.#{e}.description"), e] } %>
     </div>
   </fieldset>
 
   <fieldset class="form-divider">
     <div class='form-row'>
-      <label class="standard-label"><%= t 'user.account.profile description' %></label>
+      <label class="standard-label"><%= t '.profile description' %></label>
       <%= richtext_area :user, :description, :object => current_user, :cols => 80, :rows => 20 %>
     </div>
 
     <div class="form-row">
-      <label class="standard-label"><%= t 'user.account.preferred languages' %></label>
+      <label class="standard-label"><%= t '.preferred languages' %></label>
       <%= f.text_field :languages %>
     </div>
 
     <div class='form-row accountImage'>
-      <label class="standard-label"><%= t 'user.account.image' %></label>
+      <label class="standard-label"><%= t '.image' %></label>
         <%= user_image current_user %>
         <ul class='form-list accountImage-options'>
         <% if current_user.image.file? %>
         <li>
           <%= radio_button_tag "image_action", "keep", !current_user.image_use_gravatar %>
-          <label class='standard-label' for='image_action_keep'><%= t 'user.account.keep image' %></label>
+          <label class='standard-label' for='image_action_keep'><%= t '.keep image' %></label>
         </li>
         <% end %>
         <% if current_user.image.file? || current_user.image_use_gravatar? %>
         <li>
           <%= radio_button_tag "image_action", "delete" %>
-          <label class='standard-label' for='image_action_delete'><%= t 'user.account.delete image' %></label>
+          <label class='standard-label' for='image_action_delete'><%= t '.delete image' %></label>
         </li>
         <% end %>
         <% if current_user.image.file? %>
           <li>
             <%= radio_button_tag "image_action", "new" %>
             <label class='standard-label' for='image_action_new'>
-                <%= t 'user.account.replace image' %>
-                <span class="form-help deemphasize"><%= t 'user.account.image size hint' %></span>
+                <%= t '.replace image' %>
+                <span class="form-help deemphasize"><%= t '.image size hint' %></span>
             </label>
             <%= f.file_field :image %>
           </li>
         <li>
           <%= radio_button_tag "image_action", "new" %>
           <label class='standard-label' for='image_action_new'>
-            <%= t 'user.account.new image' %>
-            <span class="form-help deemphasize"><%= t 'user.account.image size hint' %></span>
+            <%= t '.new image' %>
+            <span class="form-help deemphasize"><%= t '.image size hint' %></span>
           </label>
           <%= f.file_field :image %>
         </li>
         <li>
           <%= radio_button_tag "image_action", "gravatar", current_user.image_use_gravatar %>
           <label class='standard-label' for='image_action_gravatar'>
-            <%= t 'user.account.gravatar.gravatar' %>
-            <span class='form-help deemphasize'> (<a href="<%= t 'user.account.gravatar.link' %>" target="_new"><%= t 'user.account.gravatar.link text' %></a>)</span>
+            <%= t '.gravatar.gravatar' %>
+            <span class='form-help deemphasize'> (<a href="<%= t '.gravatar.link' %>" target="_new"><%= t '.gravatar.link text' %></a>)</span>
           </label>
         </li>
       </ul>
 
   <fieldset class="form-divider">
     <div class='form-row location clearfix'>
-    <label class="standard-label"><%= t 'user.account.home location' %></label>
+    <label class="standard-label"><%= t '.home location' %></label>
     <div id="homerow" <% unless current_user.home_lat and current_user.home_lon %>class="nohome"<%end%> >
-      <p class="message form-help deemphasize"><%= t 'user.account.no home location' %></p>
+      <p class="message form-help deemphasize"><%= t '.no home location' %></p>
         <div class='form-column'>
-          <label class="standard-label secondary"><%= t 'user.account.latitude' %></label>
+          <label class="standard-label secondary"><%= t '.latitude' %></label>
           <%= f.text_field :home_lat, :id => "home_lat" %>
         </div>
         <div class='form-column'>
-          <label class="standard-label secondary"><%= t 'user.account.longitude' %></label>
+          <label class="standard-label secondary"><%= t '.longitude' %></label>
           <%= f.text_field :home_lon, :id => "home_lon" %>
         </div>
       </div>
 
     <div class="form-row">
       <input type="checkbox" name="updatehome" value="1" <% unless current_user.home_lat and current_user.home_lon %> checked="checked" <% end %> id="updatehome" />
-      <label class="standard-label" for="updatehome"><%= t 'user.account.update home location on click' %></label>
+      <label class="standard-label" for="updatehome"><%= t '.update home location on click' %></label>
     </div>
     <%= content_tag "div", "", :id => "map", :class => "content_map settings_map set_location" %>
   </fieldset>
 
-  <%= submit_tag t('user.account.save changes button') %>
+  <%= submit_tag t('.save changes button') %>
 <% end %>
 
 <% unless current_user.data_public? %>
 <a name="public"></a>
-<h2><%= t 'user.account.public editing note.heading' %></h2>
-<%= raw t 'user.account.public editing note.text' %>
-  <%= button_to t('user.account.make edits public button'), :action => :go_public %>
+<h2><%= t '.public editing note.heading' %></h2>
+<%= raw t '.public editing note.text' %>
+  <%= button_to t('.make edits public button'), :action => :go_public %>
 <% end %>
index fe5af4bcf6cfa547c108fec36eb9270a4cdfe0a4..4ed8c9e942018597c7d5540d5f98a773eecf0fa0 100644 (file)
@@ -1,46 +1,46 @@
 xml.instruct! :xml, :version => "1.0"
 xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
-  xml.tag! "user", :id => @this_user.id,
-                   :display_name => @this_user.display_name,
-                   :account_created => @this_user.creation_time.xmlschema do
-    xml.tag! "description", @this_user.description if @this_user.description
-    if current_user && current_user == @this_user
-      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?,
-                                    :pd => @this_user.consider_pd
+  xml.tag! "user", :id => @user.id,
+                   :display_name => @user.display_name,
+                   :account_created => @user.creation_time.xmlschema do
+    xml.tag! "description", @user.description if @user.description
+    if current_user && current_user == @user
+      xml.tag! "contributor-terms", :agreed => @user.terms_agreed.present?,
+                                    :pd => @user.consider_pd
     else
-      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?
+      xml.tag! "contributor-terms", :agreed => @user.terms_agreed.present?
     end
-    xml.tag! "img", :href => user_image_url(@this_user, :size => 256) if @this_user.image.file? || @this_user.image_use_gravatar
+    xml.tag! "img", :href => user_image_url(@user, :size => 256) if @user.image.file? || @user.image_use_gravatar
     xml.tag! "roles" do
-      @this_user.roles.each do |role|
+      @user.roles.each do |role|
         xml.tag! role.role
       end
     end
-    xml.tag! "changesets", :count => @this_user.changesets.size
-    xml.tag! "traces", :count => @this_user.traces.size
+    xml.tag! "changesets", :count => @user.changesets.size
+    xml.tag! "traces", :count => @user.traces.size
     xml.tag! "blocks" do
-      xml.tag! "received", :count => @this_user.blocks.size,
-                           :active => @this_user.blocks.active.size
-      if @this_user.moderator?
-        xml.tag! "issued", :count => @this_user.blocks_created.size,
-                           :active => @this_user.blocks_created.active.size
+      xml.tag! "received", :count => @user.blocks.size,
+                           :active => @user.blocks.active.size
+      if @user.moderator?
+        xml.tag! "issued", :count => @user.blocks_created.size,
+                           :active => @user.blocks_created.active.size
       end
     end
-    if current_user && current_user == @this_user
-      if @this_user.home_lat && @this_user.home_lon
-        xml.tag! "home", :lat => @