Merge branch 'master' into messages
This commit is contained in:
commit
5e407dfb34
193 changed files with 3218 additions and 1547 deletions
|
@ -1,5 +1,8 @@
|
|||
inherit_from: .rubocop_todo.yml
|
||||
|
||||
AllCops:
|
||||
TargetRubyVersion: 2.3
|
||||
|
||||
Rails:
|
||||
Enabled: true
|
||||
|
||||
|
@ -27,6 +30,9 @@ Rails/ApplicationRecord:
|
|||
Rails/CreateTableWithTimestamps:
|
||||
Enabled: false
|
||||
|
||||
Rails/FindEach:
|
||||
Enabled: false
|
||||
|
||||
Rails/HasManyOrHasOneDependent:
|
||||
Enabled: false
|
||||
|
||||
|
|
|
@ -1,23 +1,11 @@
|
|||
# This configuration was generated by
|
||||
# `rubocop --auto-gen-config`
|
||||
# on 2018-06-19 09:02:55 +0100 using RuboCop version 0.57.2.
|
||||
# on 2018-09-19 14:24:02 +0100 using RuboCop version 0.58.2.
|
||||
# The point is for the user to remove these configuration records
|
||||
# one by one as the offenses are removed from the code base.
|
||||
# Note that changes in the inspected code, or installation of new
|
||||
# versions of RuboCop, may require this file to be generated again.
|
||||
|
||||
# Offense count: 34
|
||||
Lint/AmbiguousOperator:
|
||||
Exclude:
|
||||
- 'test/controllers/amf_controller_test.rb'
|
||||
- 'test/controllers/changeset_controller_test.rb'
|
||||
- 'test/lib/bounding_box_test.rb'
|
||||
- 'test/lib/country_test.rb'
|
||||
|
||||
# Offense count: 96
|
||||
Lint/AmbiguousRegexpLiteral:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 32
|
||||
# Configuration parameters: AllowSafeAssignment.
|
||||
Lint/AssignmentInCondition:
|
||||
|
@ -42,17 +30,13 @@ Lint/HandleExceptions:
|
|||
- 'app/controllers/amf_controller.rb'
|
||||
- 'app/controllers/user_controller.rb'
|
||||
|
||||
# Offense count: 2
|
||||
Lint/ShadowingOuterLocalVariable:
|
||||
Exclude:
|
||||
- 'app/views/changeset/list.atom.builder'
|
||||
|
||||
# Offense count: 690
|
||||
# Offense count: 692
|
||||
Metrics/AbcSize:
|
||||
Max: 280
|
||||
|
||||
# Offense count: 41
|
||||
# Offense count: 40
|
||||
# Configuration parameters: CountComments, ExcludedMethods.
|
||||
# ExcludedMethods: refine
|
||||
Metrics/BlockLength:
|
||||
Max: 262
|
||||
|
||||
|
@ -70,7 +54,7 @@ Metrics/ClassLength:
|
|||
Metrics/CyclomaticComplexity:
|
||||
Max: 20
|
||||
|
||||
# Offense count: 688
|
||||
# Offense count: 691
|
||||
# Configuration parameters: CountComments.
|
||||
Metrics/MethodLength:
|
||||
Max: 179
|
||||
|
@ -85,7 +69,7 @@ Metrics/ModuleLength:
|
|||
Metrics/ParameterLists:
|
||||
Max: 9
|
||||
|
||||
# Offense count: 71
|
||||
# Offense count: 72
|
||||
Metrics/PerceivedComplexity:
|
||||
Max: 23
|
||||
|
||||
|
@ -178,10 +162,17 @@ Style/AsciiComments:
|
|||
Exclude:
|
||||
- 'test/models/message_test.rb'
|
||||
|
||||
# Offense count: 229
|
||||
# Offense count: 230
|
||||
Style/Documentation:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 462
|
||||
# Cop supports --auto-correct.
|
||||
# Configuration parameters: EnforcedStyle.
|
||||
# SupportedStyles: when_needed, always, never
|
||||
Style/FrozenStringLiteralComment:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 2
|
||||
# Cop supports --auto-correct.
|
||||
Style/IfUnlessModifier:
|
||||
|
@ -194,7 +185,7 @@ Style/IfUnlessModifier:
|
|||
Style/NumericLiterals:
|
||||
MinDigits: 11
|
||||
|
||||
# Offense count: 3064
|
||||
# Offense count: 3080
|
||||
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
||||
# URISchemes: http, https
|
||||
Metrics/LineLength:
|
||||
|
|
18
Gemfile.lock
18
Gemfile.lock
|
@ -2,7 +2,7 @@ GEM
|
|||
remote: https://rubygems.org/
|
||||
specs:
|
||||
SystemTimer (1.2.3)
|
||||
aasm (5.0.0)
|
||||
aasm (5.0.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
actioncable (5.2.0)
|
||||
actionpack (= 5.2.0)
|
||||
|
@ -63,7 +63,7 @@ GEM
|
|||
bigdecimal (1.1.0)
|
||||
binding_of_caller (0.8.0)
|
||||
debug_inspector (>= 0.0.1)
|
||||
bootsnap (1.3.1)
|
||||
bootsnap (1.3.2)
|
||||
msgpack (~> 1.0)
|
||||
builder (3.2.3)
|
||||
canonical-rails (0.2.4)
|
||||
|
@ -104,10 +104,10 @@ GEM
|
|||
erubi (1.7.1)
|
||||
execjs (2.7.0)
|
||||
exifr (1.3.4)
|
||||
factory_bot (4.11.0)
|
||||
factory_bot (4.11.1)
|
||||
activesupport (>= 3.0.0)
|
||||
factory_bot_rails (4.11.0)
|
||||
factory_bot (~> 4.11.0)
|
||||
factory_bot_rails (4.11.1)
|
||||
factory_bot (~> 4.11.1)
|
||||
railties (>= 3.0.0)
|
||||
faraday (0.12.2)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
|
@ -169,7 +169,7 @@ GEM
|
|||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.0)
|
||||
mini_mime (>= 0.1.1)
|
||||
marcel (0.3.2)
|
||||
marcel (0.3.3)
|
||||
mimemagic (~> 0.3.2)
|
||||
method_source (0.9.0)
|
||||
mime-types (3.2.2)
|
||||
|
@ -301,7 +301,7 @@ GEM
|
|||
rack (>= 1.4)
|
||||
rinku (2.0.4)
|
||||
rotp (3.3.1)
|
||||
rubocop (0.58.2)
|
||||
rubocop (0.59.1)
|
||||
jaro_winkler (~> 1.5.1)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.5, != 2.5.1.1)
|
||||
|
@ -317,7 +317,7 @@ GEM
|
|||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.4.4)
|
||||
nokogumbo (~> 1.4)
|
||||
sass (3.5.7)
|
||||
sass (3.6.0)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
|
@ -358,7 +358,7 @@ GEM
|
|||
tins (1.16.3)
|
||||
tzinfo (1.2.5)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (4.1.18)
|
||||
uglifier (4.1.19)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
unicode-display_width (1.4.0)
|
||||
validates_email_format_of (1.6.3)
|
||||
|
|
|
@ -5,7 +5,7 @@ If you want to deploy the software for your own project, then see the notes at t
|
|||
|
||||
You can install the software directly on your machine, which is the traditional and probably best-supported approach. However, there is an alternative which may be easier: Vagrant. This installs the software into a virtual machine, which makes it easier to get a consistent development environment and may avoid installation difficulties. For Vagrant instructions, see [VAGRANT.md](VAGRANT.md).
|
||||
|
||||
These instructions are based on Ubuntu 12.04 LTS, which is the platform used by the OSMF servers.
|
||||
These instructions are based on Ubuntu 16.04 LTS, which is the platform used by the OSMF servers.
|
||||
The instructions also work, with only minor amendments, for all other current Ubuntu releases, Fedora and MacOSX
|
||||
|
||||
We don't recommend attempting to develop or deploy this software on Windows. If you need to use Windows, then try developing this software using Ubuntu in a virtual machine, or use [Vagrant](VAGRANT.md).
|
||||
|
|
17
Vagrantfile
vendored
17
Vagrantfile
vendored
|
@ -4,23 +4,26 @@
|
|||
Vagrant.configure("2") do |config|
|
||||
# use official ubuntu image for virtualbox
|
||||
config.vm.provider "virtualbox" do |vb, override|
|
||||
override.vm.box = "ubuntu/xenial64"
|
||||
override.vm.box = "ubuntu/bionic64"
|
||||
override.vm.synced_folder ".", "/srv/openstreetmap-website"
|
||||
vb.customize ["modifyvm", :id, "--memory", "1024"]
|
||||
vb.customize ["modifyvm", :id, "--cpus", "2"]
|
||||
vb.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
|
||||
end
|
||||
|
||||
# use third party image and NFS sharing for lxc
|
||||
# Use sshfs sharing if available, otherwise NFS sharing
|
||||
sharing_type = Vagrant.has_plugin?("vagrant-sshfs") ? "sshfs" : "nfs"
|
||||
|
||||
# use third party image and sshfs or NFS sharing for lxc
|
||||
config.vm.provider "lxc" do |_, override|
|
||||
override.vm.box = "generic/ubuntu1604"
|
||||
override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
|
||||
override.vm.box = "generic/ubuntu1804"
|
||||
override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
|
||||
end
|
||||
|
||||
# use third party image and NFS sharing for libvirt
|
||||
# use third party image and sshfs or NFS sharing for libvirt
|
||||
config.vm.provider "libvirt" do |_, override|
|
||||
override.vm.box = "generic/ubuntu1604"
|
||||
override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
|
||||
override.vm.box = "generic/ubuntu1804"
|
||||
override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
|
||||
end
|
||||
|
||||
# configure shared package cache if possible
|
||||
|
|
|
@ -11,13 +11,13 @@ folder 'vendor/assets' do
|
|||
end
|
||||
|
||||
folder 'leaflet' do
|
||||
file 'leaflet.js', 'https://unpkg.com/leaflet@1.3.3/dist/leaflet-src.js'
|
||||
file 'leaflet.css', 'https://unpkg.com/leaflet@1.3.3/dist/leaflet.css'
|
||||
file 'leaflet.js', 'https://unpkg.com/leaflet@1.3.4/dist/leaflet-src.js'
|
||||
file 'leaflet.css', 'https://unpkg.com/leaflet@1.3.4/dist/leaflet.css'
|
||||
|
||||
[ 'layers.png', 'layers-2x.png',
|
||||
'marker-icon.png', 'marker-icon-2x.png',
|
||||
'marker-shadow.png' ].each do |image|
|
||||
file "images/#{image}", "https://unpkg.com/leaflet@1.3.3/dist/images/#{image}"
|
||||
file "images/#{image}", "https://unpkg.com/leaflet@1.3.4/dist/images/#{image}"
|
||||
end
|
||||
|
||||
from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do
|
||||
|
@ -69,7 +69,7 @@ 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'
|
||||
file 'bowser.js', 'https://github.com/lancedikson/bowser/releases/download/1.9.4/bowser.js'
|
||||
end
|
||||
|
||||
folder 'swfobject' do
|
||||
|
|
|
@ -187,12 +187,12 @@ $(document).ready(function () {
|
|||
$.cookie('_osm_location', OSM.locationCookie(map), { expires: expiry, path: '/' });
|
||||
});
|
||||
|
||||
if ($.cookie('_osm_welcome') === 'hide') {
|
||||
$('.welcome').hide();
|
||||
if ($.cookie('_osm_welcome') !== 'hide') {
|
||||
$('.welcome').addClass('visible');
|
||||
}
|
||||
|
||||
$('.welcome .close-wrap').on('click', function() {
|
||||
$('.welcome').hide();
|
||||
$('.welcome').removeClass('visible');
|
||||
$.cookie('_osm_welcome', 'hide', { expires: expiry, path: '/' });
|
||||
});
|
||||
|
||||
|
|
|
@ -61,6 +61,12 @@ L.OSM.Map = L.Map.extend({
|
|||
code: "G",
|
||||
name: I18n.t("javascripts.map.base.gps")
|
||||
});
|
||||
|
||||
this.on("layeradd", function (event) {
|
||||
if (this.baseLayers.indexOf(event.layer) >= 0) {
|
||||
this.setMaxZoom(event.layer.options.maxZoom);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
updateLayers: function(layerParam) {
|
||||
|
|
|
@ -611,11 +611,18 @@ body.compact {
|
|||
height: auto;
|
||||
overflow: hidden;
|
||||
|
||||
#banner,
|
||||
.welcome {
|
||||
#banner {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.welcome {
|
||||
display: none;
|
||||
|
||||
&.visible {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
#sidebar_content {
|
||||
display: none;
|
||||
}
|
||||
|
@ -971,6 +978,8 @@ header .search_forms,
|
|||
|
||||
img.button {
|
||||
display: block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
span.force_width {
|
||||
|
@ -1501,7 +1510,7 @@ tr.turn:hover {
|
|||
|
||||
/* Rules for the trace view */
|
||||
|
||||
.trace-view {
|
||||
.trace-show {
|
||||
.trace_pending {
|
||||
color: red;
|
||||
}
|
||||
|
@ -1585,7 +1594,7 @@ tr.turn:hover {
|
|||
margin-left: 70px;
|
||||
}
|
||||
|
||||
.user-view {
|
||||
.user-show {
|
||||
// Silly exception; remove when user page is redesigned.
|
||||
.content-inner {
|
||||
max-width: none;
|
||||
|
@ -1712,7 +1721,7 @@ tr.turn:hover {
|
|||
}
|
||||
}
|
||||
|
||||
.diary_entry-view img.user_thumbnail {
|
||||
.diary_entry-show img.user_thumbnail {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
|
|
@ -126,9 +126,12 @@ body.small {
|
|||
}
|
||||
}
|
||||
|
||||
#sidebar .welcome,
|
||||
#sidebar #banner {
|
||||
display: none !important;
|
||||
.overlay-sidebar #sidebar .welcome.visible {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.overlay-sidebar #sidebar #banner {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.leaflet-top.leaflet-right {
|
||||
|
|
|
@ -143,6 +143,7 @@ class AmfController < ApplicationController
|
|||
|
||||
if cstags
|
||||
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(cstags)
|
||||
|
||||
cstags = strip_non_xml_chars cstags
|
||||
end
|
||||
|
||||
|
@ -471,7 +472,7 @@ class AmfController < ApplicationController
|
|||
return -1, t("application.setup_user_auth.blocked") if user.blocks.active.exists?
|
||||
|
||||
query = Trace.visible_to(user)
|
||||
query = if searchterm.to_i > 0
|
||||
query = if searchterm.to_i.positive?
|
||||
query.where(:id => searchterm.to_i)
|
||||
else
|
||||
query.where("MATCH(name) AGAINST (?)", searchterm).limit(21)
|
||||
|
@ -497,6 +498,7 @@ class AmfController < ApplicationController
|
|||
rel = Relation.where(:id => relid).first
|
||||
|
||||
return [-4, "relation", relid] if rel.nil? || !rel.visible
|
||||
|
||||
[0, "", relid, rel.tags, rel.members, rel.version]
|
||||
end
|
||||
end
|
||||
|
@ -506,9 +508,9 @@ class AmfController < ApplicationController
|
|||
|
||||
def findrelations(searchterm)
|
||||
rels = []
|
||||
if searchterm.to_i > 0
|
||||
if searchterm.to_i.positive?
|
||||
rel = Relation.where(:id => searchterm.to_i).first
|
||||
rels.push([rel.id, rel.tags, rel.members, rel.version]) if rel && rel.visible
|
||||
rels.push([rel.id, rel.tags, rel.members, rel.version]) if rel&.visible
|
||||
else
|
||||
RelationTag.where("v like ?", "%#{searchterm}%").limit(11).each do |t|
|
||||
rels.push([t.relation.id, t.relation.tags, t.relation.members, t.relation.version]) if t.relation.visible
|
||||
|
@ -533,6 +535,7 @@ class AmfController < ApplicationController
|
|||
return -1, "You must accept the contributor terms before you can edit." if REQUIRE_TERMS_AGREED && user.terms_agreed.nil?
|
||||
|
||||
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(tags)
|
||||
|
||||
tags = strip_non_xml_chars tags
|
||||
|
||||
relid = relid.to_i
|
||||
|
@ -542,7 +545,7 @@ class AmfController < ApplicationController
|
|||
relation = nil
|
||||
Relation.transaction do
|
||||
# create a new relation, or find the existing one
|
||||
relation = Relation.find(relid) if relid > 0
|
||||
relation = Relation.find(relid) if relid.positive?
|
||||
# We always need a new node, based on the data that has been sent to us
|
||||
new_relation = Relation.new
|
||||
|
||||
|
@ -550,7 +553,7 @@ class AmfController < ApplicationController
|
|||
typedmembers = []
|
||||
members.each do |m|
|
||||
mid = m[1].to_i
|
||||
if mid < 0
|
||||
if mid.negative?
|
||||
mid = renumberednodes[mid] if m[0] == "Node"
|
||||
mid = renumberedways[mid] if m[0] == "Way"
|
||||
end
|
||||
|
@ -622,6 +625,7 @@ class AmfController < ApplicationController
|
|||
return -2, "Server error - way is only #{pointlist.length} points long." if pointlist.length < 2
|
||||
|
||||
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(attributes)
|
||||
|
||||
attributes = strip_non_xml_chars attributes
|
||||
|
||||
originalway = originalway.to_i
|
||||
|
@ -651,6 +655,7 @@ class AmfController < ApplicationController
|
|||
|
||||
# fixup node tags in a way as well
|
||||
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(node.tags)
|
||||
|
||||
node.tags = strip_non_xml_chars node.tags
|
||||
|
||||
node.tags.delete("created_by")
|
||||
|
@ -728,6 +733,7 @@ class AmfController < ApplicationController
|
|||
return -1, "You must accept the contributor terms before you can edit." if REQUIRE_TERMS_AGREED && user.terms_agreed.nil?
|
||||
|
||||
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(tags)
|
||||
|
||||
tags = strip_non_xml_chars tags
|
||||
|
||||
id = id.to_i
|
||||
|
@ -735,7 +741,7 @@ class AmfController < ApplicationController
|
|||
node = nil
|
||||
new_node = nil
|
||||
Node.transaction do
|
||||
if id > 0
|
||||
if id.positive?
|
||||
begin
|
||||
node = Node.find(id)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
|
@ -883,12 +889,10 @@ class AmfController < ApplicationController
|
|||
# in the +tags+ hash.
|
||||
def strip_non_xml_chars(tags)
|
||||
new_tags = {}
|
||||
unless tags.nil?
|
||||
tags.each do |k, v|
|
||||
new_k = k.delete "\000-\037\ufffe\uffff", "^\011\012\015"
|
||||
new_v = v.delete "\000-\037\ufffe\uffff", "^\011\012\015"
|
||||
new_tags[new_k] = new_v
|
||||
end
|
||||
tags&.each do |k, v|
|
||||
new_k = k.delete "\000-\037\ufffe\uffff", "^\011\012\015"
|
||||
new_v = v.delete "\000-\037\ufffe\uffff", "^\011\012\015"
|
||||
new_tags[new_k] = new_v
|
||||
end
|
||||
new_tags
|
||||
end
|
||||
|
|
|
@ -283,8 +283,7 @@ class ApplicationController < ActionController::Base
|
|||
# TODO: some sort of escaping of problem characters in the message
|
||||
response.headers["Error"] = message
|
||||
|
||||
if request.headers["X-Error-Format"] &&
|
||||
request.headers["X-Error-Format"].casecmp("xml").zero?
|
||||
if request.headers["X-Error-Format"]&.casecmp("xml")&.zero?
|
||||
result = OSM::API.new.get_xml_doc
|
||||
result.root.name = "osmError"
|
||||
result.root << (XML::Node.new("status") << "#{Rack::Utils.status_code(status)} #{Rack::Utils::HTTP_STATUS_CODES[status]}")
|
||||
|
@ -310,7 +309,7 @@ class ApplicationController < ActionController::Base
|
|||
helper_method :preferred_languages
|
||||
|
||||
def set_locale(reset = false)
|
||||
if current_user && current_user.languages.empty? && !http_accept_language.user_preferred_languages.empty?
|
||||
if current_user&.languages&.empty? && !http_accept_language.user_preferred_languages.empty?
|
||||
current_user.languages = http_accept_language.user_preferred_languages
|
||||
current_user.save
|
||||
end
|
||||
|
@ -435,7 +434,7 @@ class ApplicationController < ActionController::Base
|
|||
def preferred_editor
|
||||
editor = if params[:editor]
|
||||
params[:editor]
|
||||
elsif current_user && current_user.preferred_editor
|
||||
elsif current_user&.preferred_editor
|
||||
current_user.preferred_editor
|
||||
else
|
||||
DEFAULT_EDITOR
|
||||
|
|
|
@ -58,7 +58,7 @@ class BrowseController < ApplicationController
|
|||
def changeset
|
||||
@type = "changeset"
|
||||
@changeset = Changeset.find(params[:id])
|
||||
@comments = if current_user && current_user.moderator?
|
||||
@comments = if current_user&.moderator?
|
||||
@changeset.comments.unscope(:where => :visible).includes(:author)
|
||||
else
|
||||
@changeset.comments.includes(:author)
|
||||
|
@ -77,7 +77,7 @@ class BrowseController < ApplicationController
|
|||
def note
|
||||
@type = "note"
|
||||
|
||||
if current_user && current_user.moderator?
|
||||
if current_user&.moderator?
|
||||
@note = Note.find(params[:id])
|
||||
@note_comments = @note.comments.unscope(:where => :visible)
|
||||
else
|
||||
|
|
|
@ -4,19 +4,19 @@ class ChangesetController < ApplicationController
|
|||
layout "site"
|
||||
require "xml/libxml"
|
||||
|
||||
skip_before_action :verify_authenticity_token, :except => [:list]
|
||||
before_action :authorize_web, :only => [:list, :feed, :comments_feed]
|
||||
before_action :set_locale, :only => [:list, :feed, :comments_feed]
|
||||
skip_before_action :verify_authenticity_token, :except => [:index]
|
||||
before_action :authorize_web, :only => [:index, :feed, :comments_feed]
|
||||
before_action :set_locale, :only => [:index, :feed, :comments_feed]
|
||||
before_action :authorize, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
|
||||
before_action :require_moderator, :only => [:hide_comment, :unhide_comment]
|
||||
before_action :require_allow_write_api, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
|
||||
before_action :require_public_data, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe]
|
||||
before_action :check_api_writable, :only => [:create, :update, :upload, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
|
||||
before_action :check_api_readable, :except => [:create, :update, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
|
||||
before_action(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
|
||||
around_action :api_call_handle_error, :except => [:list, :feed, :comments_feed]
|
||||
around_action :api_call_timeout, :except => [:list, :feed, :comments_feed, :upload]
|
||||
around_action :web_timeout, :only => [:list, :feed, :comments_feed]
|
||||
before_action :check_api_readable, :except => [:create, :update, :upload, :download, :query, :index, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
|
||||
before_action(:only => [:index, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
|
||||
around_action :api_call_handle_error, :except => [:index, :feed, :comments_feed]
|
||||
around_action :api_call_timeout, :except => [:index, :feed, :comments_feed, :upload]
|
||||
around_action :web_timeout, :only => [:index, :feed, :comments_feed]
|
||||
|
||||
# Helper methods for checking consistency
|
||||
include ConsistencyValidations
|
||||
|
@ -255,7 +255,7 @@ class ChangesetController < ApplicationController
|
|||
|
||||
##
|
||||
# list non-empty changesets in reverse chronological order
|
||||
def list
|
||||
def index
|
||||
@params = params.permit(:display_name, :bbox, :friends, :nearby, :max_id, :list)
|
||||
|
||||
if request.format == :atom && @params[:max_id]
|
||||
|
@ -300,14 +300,14 @@ class ChangesetController < ApplicationController
|
|||
|
||||
@edits = changesets.order("changesets.id DESC").limit(20).preload(:user, :changeset_tags, :comments)
|
||||
|
||||
render :action => :list, :layout => false
|
||||
render :action => :index, :layout => false
|
||||
end
|
||||
end
|
||||
|
||||
##
|
||||
# list edits as an atom feed
|
||||
def feed
|
||||
list
|
||||
index
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -481,6 +481,7 @@ class ChangesetController < ApplicationController
|
|||
u = if name.nil?
|
||||
# user input checking, we don't have any UIDs < 1
|
||||
raise OSM::APIBadUserInput, "invalid user ID" if user.to_i < 1
|
||||
|
||||
u = User.find(user.to_i)
|
||||
else
|
||||
u = User.find_by(:display_name => name)
|
||||
|
@ -581,7 +582,7 @@ class ChangesetController < ApplicationController
|
|||
# Get the maximum number of comments to return
|
||||
def comments_limit
|
||||
if params[:limit]
|
||||
if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
|
||||
if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
|
||||
params[:limit].to_i
|
||||
else
|
||||
raise OSM::APIBadUserInput, "Comments limit must be between 1 and 10000"
|
||||
|
|
|
@ -4,11 +4,11 @@ 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_user, :only => [:view, :comments]
|
||||
before_action :lookup_user, :only => [:show, :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]
|
||||
before_action :allow_thirdparty_images, :only => [:new, :edit, :list, :view, :comments]
|
||||
before_action :allow_thirdparty_images, :only => [:new, :edit, :index, :show, :comments]
|
||||
|
||||
def new
|
||||
@title = t "diary_entry.new.title"
|
||||
|
@ -29,7 +29,7 @@ class DiaryEntryController < ApplicationController
|
|||
# Subscribe user to diary comments
|
||||
@diary_entry.subscriptions.create(:user => current_user)
|
||||
|
||||
redirect_to :action => "list", :display_name => current_user.display_name
|
||||
redirect_to :action => "index", :display_name => current_user.display_name
|
||||
else
|
||||
render :action => "edit"
|
||||
end
|
||||
|
@ -47,9 +47,9 @@ class DiaryEntryController < ApplicationController
|
|||
@diary_entry = DiaryEntry.find(params[:id])
|
||||
|
||||
if current_user != @diary_entry.user
|
||||
redirect_to :action => "view", :id => params[:id]
|
||||
redirect_to diary_entry_path(@diary_entry.user, @diary_entry)
|
||||
elsif params[:diary_entry] && @diary_entry.update(entry_params)
|
||||
redirect_to :action => "view", :id => params[:id]
|
||||
redirect_to diary_entry_path(@diary_entry.user, @diary_entry)
|
||||
end
|
||||
|
||||
set_map_location
|
||||
|
@ -71,9 +71,9 @@ class DiaryEntryController < ApplicationController
|
|||
# Add the commenter to the subscribers if necessary
|
||||
@entry.subscriptions.create(:user => current_user) unless @entry.subscribers.exists?(current_user.id)
|
||||
|
||||
redirect_to :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
|
||||
redirect_to diary_entry_path(@entry.user, @entry)
|
||||
else
|
||||
render :action => "view"
|
||||
render :action => "show"
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
|
@ -84,7 +84,7 @@ class DiaryEntryController < ApplicationController
|
|||
|
||||
diary_entry.subscriptions.create(:user => current_user) unless diary_entry.subscribers.exists?(current_user.id)
|
||||
|
||||
redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
redirect_to diary_entry_path(diary_entry.user, diary_entry)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
@ -94,17 +94,17 @@ class DiaryEntryController < ApplicationController
|
|||
|
||||
diary_entry.subscriptions.where(:user => current_user).delete_all if diary_entry.subscribers.exists?(current_user.id)
|
||||
|
||||
redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
|
||||
redirect_to diary_entry_path(diary_entry.user, diary_entry)
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
end
|
||||
|
||||
def list
|
||||
def index
|
||||
if params[:display_name]
|
||||
@user = User.active.find_by(:display_name => params[:display_name])
|
||||
|
||||
if @user
|
||||
@title = t "diary_entry.list.user_title", :user => @user.display_name
|
||||
@title = t "diary_entry.index.user_title", :user => @user.display_name
|
||||
@entries = @user.diary_entries
|
||||
else
|
||||
render_unknown_user params[:display_name]
|
||||
|
@ -112,7 +112,7 @@ class DiaryEntryController < ApplicationController
|
|||
end
|
||||
elsif params[:friends]
|
||||
if current_user
|
||||
@title = t "diary_entry.list.title_friends"
|
||||
@title = t "diary_entry.index.title_friends"
|
||||
@entries = DiaryEntry.where(:user_id => current_user.friend_users)
|
||||
else
|
||||
require_user
|
||||
|
@ -120,7 +120,7 @@ class DiaryEntryController < ApplicationController
|
|||
end
|
||||
elsif params[:nearby]
|
||||
if current_user
|
||||
@title = t "diary_entry.list.title_nearby"
|
||||
@title = t "diary_entry.index.title_nearby"
|
||||
@entries = DiaryEntry.where(:user_id => current_user.nearby)
|
||||
else
|
||||
require_user
|
||||
|
@ -130,10 +130,10 @@ class DiaryEntryController < ApplicationController
|
|||
@entries = DiaryEntry.joins(:user).where(:users => { :status => %w[active confirmed] })
|
||||
|
||||
if params[:language]
|
||||
@title = t "diary_entry.list.in_language_title", :language => Language.find(params[:language]).english_name
|
||||
@title = t "diary_entry.index.in_language_title", :language => Language.find(params[:language]).english_name
|
||||
@entries = @entries.where(:language_code => params[:language])
|
||||
else
|
||||
@title = t "diary_entry.list.title"
|
||||
@title = t "diary_entry.index.title"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -157,7 +157,7 @@ class DiaryEntryController < ApplicationController
|
|||
@entries = user.diary_entries
|
||||
@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
|
||||
@link = url_for :controller => "diary_entry", :action => "index", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
|
||||
else
|
||||
head :not_found
|
||||
return
|
||||
|
@ -169,21 +169,21 @@ class DiaryEntryController < ApplicationController
|
|||
@entries = @entries.where(:language_code => 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
|
||||
@link = url_for :controller => "diary_entry", :action => "index", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
|
||||
else
|
||||
@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
|
||||
@link = url_for :controller => "diary_entry", :action => "index", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
|
||||
end
|
||||
end
|
||||
|
||||
@entries = @entries.visible.includes(:user).order("created_at DESC").limit(20)
|
||||
end
|
||||
|
||||
def view
|
||||
def show
|
||||
@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
|
||||
@title = t "diary_entry.show.title", :user => params[:display_name], :title => @entry.title
|
||||
else
|
||||
@title = t "diary_entry.no_such_entry.title", :id => params[:id]
|
||||
render :action => "no_such_entry", :status => :not_found
|
||||
|
@ -193,13 +193,13 @@ class DiaryEntryController < ApplicationController
|
|||
def hide
|
||||
entry = DiaryEntry.find(params[:id])
|
||||
entry.update(:visible => false)
|
||||
redirect_to :action => "list", :display_name => entry.user.display_name
|
||||
redirect_to :action => "index", :display_name => entry.user.display_name
|
||||
end
|
||||
|
||||
def hidecomment
|
||||
comment = DiaryComment.find(params[:comment])
|
||||
comment.update(:visible => false)
|
||||
redirect_to :action => "view", :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id
|
||||
redirect_to diary_entry_path(comment.diary_entry.user, comment.diary_entry)
|
||||
end
|
||||
|
||||
def comments
|
||||
|
@ -235,7 +235,7 @@ class DiaryEntryController < ApplicationController
|
|||
def require_administrator
|
||||
unless current_user.administrator?
|
||||
flash[:error] = t("user.filter.not_an_administrator")
|
||||
redirect_to :action => "view"
|
||||
redirect_to :action => "show"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ class IssuesController < ApplicationController
|
|||
@issues = Issue.visible_to(current_user)
|
||||
|
||||
# If search
|
||||
if params[:search_by_user] && params[:search_by_user].present?
|
||||
if params[:search_by_user]&.present?
|
||||
@find_user = User.find_by(:display_name => params[:search_by_user])
|
||||
if @find_user
|
||||
@issues = @issues.where(:reported_user_id => @find_user.id)
|
||||
|
@ -28,11 +28,11 @@ class IssuesController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
@issues = @issues.where(:status => params[:status]) if params[:status] && params[:status].present?
|
||||
@issues = @issues.where(:status => params[:status]) if params[:status]&.present?
|
||||
|
||||
@issues = @issues.where(:reportable_type => params[:issue_type]) if params[:issue_type] && params[:issue_type].present?
|
||||
@issues = @issues.where(:reportable_type => params[:issue_type]) if params[:issue_type]&.present?
|
||||
|
||||
if params[:last_updated_by] && params[:last_updated_by].present?
|
||||
if params[:last_updated_by]&.present?
|
||||
last_updated_by = params[:last_updated_by].to_s == "nil" ? nil : params[:last_updated_by].to_i
|
||||
@issues = @issues.where(:updated_by => last_updated_by)
|
||||
end
|
||||
|
|
|
@ -54,6 +54,7 @@ class NodeController < ApplicationController
|
|||
new_node = Node.from_xml(request.raw_post)
|
||||
|
||||
raise OSM::APIBadUserInput, "The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})" unless new_node && new_node.id == node.id
|
||||
|
||||
node.delete_with_history!(new_node, current_user)
|
||||
render :plain => node.version.to_s
|
||||
end
|
||||
|
@ -65,6 +66,7 @@ class NodeController < ApplicationController
|
|||
ids = params["nodes"].split(",").collect(&:to_i)
|
||||
|
||||
raise OSM::APIBadUserInput, "No nodes were given to search for" if ids.empty?
|
||||
|
||||
doc = OSM::API.new.get_xml_doc
|
||||
|
||||
Node.find(ids).each do |node|
|
||||
|
|
|
@ -211,7 +211,7 @@ class NotesController < ApplicationController
|
|||
# Find the note and check it is valid
|
||||
@note = Note.find(params[:id])
|
||||
raise OSM::APINotFoundError unless @note
|
||||
raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || (current_user && current_user.moderator?)
|
||||
raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || current_user&.moderator?
|
||||
|
||||
# Render the result
|
||||
respond_to do |format|
|
||||
|
@ -286,7 +286,7 @@ class NotesController < ApplicationController
|
|||
@page = (params[:page] || 1).to_i
|
||||
@page_size = 10
|
||||
@notes = @user.notes
|
||||
@notes = @notes.visible unless current_user && current_user.moderator?
|
||||
@notes = @notes.visible unless 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
|
||||
@title = t "user.no_such_user.title"
|
||||
|
@ -307,7 +307,7 @@ class NotesController < ApplicationController
|
|||
# Get the maximum number of results to return
|
||||
def result_limit
|
||||
if params[:limit]
|
||||
if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
|
||||
if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
|
||||
params[:limit].to_i
|
||||
else
|
||||
raise OSM::APIBadUserInput, "Note limit must be between 1 and 10000"
|
||||
|
@ -327,9 +327,9 @@ class NotesController < ApplicationController
|
|||
7
|
||||
end
|
||||
|
||||
if closed_since < 0
|
||||
if closed_since.negative?
|
||||
notes.where.not(:status => "hidden")
|
||||
elsif closed_since > 0
|
||||
elsif closed_since.positive?
|
||||
notes.where(:status => "open")
|
||||
.or(notes.where(:status => "closed")
|
||||
.where(notes.arel_table[:closed_at].gt(Time.now - closed_since.days)))
|
||||
|
|
|
@ -70,6 +70,6 @@ class OldController < ApplicationController
|
|||
private
|
||||
|
||||
def show_redactions?
|
||||
current_user && current_user.moderator? && params[:show_redactions] == "true"
|
||||
current_user&.moderator? && params[:show_redactions] == "true"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -92,8 +92,8 @@ class TracesController < ApplicationController
|
|||
def show
|
||||
@trace = Trace.find(params[:id])
|
||||
|
||||
if @trace && @trace.visible? &&
|
||||
(@trace.public? || @trace.user == current_user)
|
||||
if @trace&.visible? &&
|
||||
(@trace&.public? || @trace&.user == current_user)
|
||||
@title = t ".title", :name => @trace.name
|
||||
else
|
||||
flash[:error] = t ".trace_not_found"
|
||||
|
@ -318,7 +318,7 @@ class TracesController < ApplicationController
|
|||
visibility = params[:visibility]
|
||||
|
||||
if visibility.nil?
|
||||
visibility = if params[:public] && params[:public].to_i.nonzero?
|
||||
visibility = if params[:public]&.to_i&.nonzero?
|
||||
"public"
|
||||
else
|
||||
"private"
|
||||
|
|
|
@ -14,11 +14,11 @@ class UserController < ApplicationController
|
|||
before_action :require_allow_read_prefs, :only => [:api_details]
|
||||
before_action :require_allow_read_gpx, :only => [:api_gpx_files]
|
||||
before_action :require_cookies, :only => [:new, :login, :confirm]
|
||||
before_action :require_administrator, :only => [:set_status, :delete, :list]
|
||||
before_action :require_administrator, :only => [:set_status, :delete, :index]
|
||||
around_action :api_call_handle_error, :only => [:api_read, :api_users, :api_details, :api_gpx_files]
|
||||
before_action :lookup_user_by_id, :only => [:api_read]
|
||||
before_action :lookup_user_by_name, :only => [:set_status, :delete]
|
||||
before_action :allow_thirdparty_images, :only => [:view, :account]
|
||||
before_action :allow_thirdparty_images, :only => [:show, :account]
|
||||
|
||||
def terms
|
||||
@legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || DEFAULT_LEGALE
|
||||
|
@ -29,7 +29,7 @@ class UserController < ApplicationController
|
|||
else
|
||||
@title = t "user.terms.title"
|
||||
|
||||
if current_user && current_user.terms_agreed?
|
||||
if current_user&.terms_agreed?
|
||||
# Already agreed to terms, so just show settings
|
||||
redirect_to :action => :account, :display_name => current_user.display_name
|
||||
elsif current_user.nil? && session[:new_user].nil?
|
||||
|
@ -276,7 +276,7 @@ class UserController < ApplicationController
|
|||
if params[:session] == session.id
|
||||
if session[:token]
|
||||
token = UserToken.find_by(:token => session[:token])
|
||||
token.destroy if token
|
||||
token&.destroy
|
||||
session.delete(:token)
|
||||
end
|
||||
session.delete(:user)
|
||||
|
@ -292,7 +292,7 @@ class UserController < ApplicationController
|
|||
def confirm
|
||||
if request.post?
|
||||
token = UserToken.find_by(:token => params[:confirm_string])
|
||||
if token && token.user.active?
|
||||
if token&.user&.active?
|
||||
flash[:error] = t("user.confirm.already active")
|
||||
redirect_to :action => "login"
|
||||
elsif !token || token.expired?
|
||||
|
@ -349,7 +349,7 @@ class UserController < ApplicationController
|
|||
def confirm_email
|
||||
if request.post?
|
||||
token = UserToken.find_by(:token => params[:confirm_string])
|
||||
if token && token.user.new_email?
|
||||
if token&.user&.new_email?
|
||||
self.current_user = token.user
|
||||
current_user.email = current_user.new_email
|
||||
current_user.new_email = nil
|
||||
|
@ -409,11 +409,11 @@ class UserController < ApplicationController
|
|||
render :xml => doc.to_s
|
||||
end
|
||||
|
||||
def view
|
||||
def show
|
||||
@user = User.find_by(:display_name => params[:display_name])
|
||||
|
||||
if @user &&
|
||||
(@user.visible? || (current_user && current_user.administrator?))
|
||||
(@user.visible? || (current_user&.administrator?))
|
||||
@title = @user.display_name
|
||||
else
|
||||
render_unknown_user params[:display_name]
|
||||
|
@ -440,7 +440,7 @@ class UserController < ApplicationController
|
|||
if params[:referer]
|
||||
redirect_to params[:referer]
|
||||
else
|
||||
redirect_to :action => "view"
|
||||
redirect_to :action => "show"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
@ -463,7 +463,7 @@ class UserController < ApplicationController
|
|||
if params[:referer]
|
||||
redirect_to params[:referer]
|
||||
else
|
||||
redirect_to :action => "view"
|
||||
redirect_to :action => "show"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
@ -476,19 +476,19 @@ class UserController < ApplicationController
|
|||
def set_status
|
||||
@user.status = params[:status]
|
||||
@user.save
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
redirect_to user_path(:display_name => params[:display_name])
|
||||
end
|
||||
|
||||
##
|
||||
# delete a user, marking them as deleted and removing personal data
|
||||
def delete
|
||||
@user.delete
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
redirect_to user_path(:display_name => params[:display_name])
|
||||
end
|
||||
|
||||
##
|
||||
# display a list of users matching specified criteria
|
||||
def list
|
||||
def index
|
||||
if request.post?
|
||||
ids = params[:user].keys.collect(&:to_i)
|
||||
|
||||
|
@ -552,7 +552,7 @@ class UserController < ApplicationController
|
|||
if user.nil? && provider == "google"
|
||||
openid_url = auth_info[:extra][:id_info]["openid_id"]
|
||||
user = User.find_by(:auth_provider => "openid", :auth_uid => openid_url) if openid_url
|
||||
user.update(:auth_provider => provider, :auth_uid => uid) if user
|
||||
user&.update(:auth_provider => provider, :auth_uid => uid)
|
||||
end
|
||||
|
||||
if user
|
||||
|
@ -757,7 +757,7 @@ class UserController < ApplicationController
|
|||
flash[:error] = t("user.filter.not_an_administrator")
|
||||
|
||||
if params[:display_name]
|
||||
redirect_to :action => "view", :display_name => params[:display_name]
|
||||
redirect_to user_path(:display_name => params[:display_name])
|
||||
else
|
||||
redirect_to :action => "login", :referer => request.fullpath
|
||||
end
|
||||
|
@ -826,6 +826,7 @@ class UserController < ApplicationController
|
|||
def gravatar_enable(user)
|
||||
# code from example https://en.gravatar.com/site/implement/images/ruby/
|
||||
return false if user.image.present?
|
||||
|
||||
hash = Digest::MD5.hexdigest(user.email.downcase)
|
||||
url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
|
||||
response = OSM.http_client.get(URI.parse(url))
|
||||
|
|
|
@ -26,7 +26,7 @@ module BannerHelper
|
|||
|
||||
# rotate all banner queue positions
|
||||
index = cval.to_i
|
||||
cookies[ckey] = index - 1 if index > 0
|
||||
cookies[ckey] = index - 1 if index.positive?
|
||||
|
||||
# pick banner with mininum queue position
|
||||
next if index > min_index
|
||||
|
|
|
@ -3,7 +3,7 @@ module ChangesetHelper
|
|||
if changeset.user.status == "deleted"
|
||||
t("user.no_such_user.deleted")
|
||||
elsif changeset.user.data_public?
|
||||
link_to(changeset.user.display_name, user_path(changeset.user.display_name))
|
||||
link_to(changeset.user.display_name, user_path(changeset.user))
|
||||
else
|
||||
t("browse.anonymous")
|
||||
end
|
||||
|
@ -32,15 +32,15 @@ module ChangesetHelper
|
|||
end
|
||||
end
|
||||
|
||||
def changeset_list_title(params, user)
|
||||
def changeset_index_title(params, user)
|
||||
if params[:friends] && user
|
||||
t "changeset.list.title_friend"
|
||||
t "changeset.index.title_friend"
|
||||
elsif params[:nearby] && user
|
||||
t "changeset.list.title_nearby"
|
||||
t "changeset.index.title_nearby"
|
||||
elsif params[:display_name]
|
||||
t "changeset.list.title_user", :user => params[:display_name]
|
||||
t "changeset.index.title_user", :user => params[:display_name]
|
||||
else
|
||||
t "changeset.list.title"
|
||||
t "changeset.index.title"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,11 +2,11 @@ module IssuesHelper
|
|||
def reportable_url(reportable)
|
||||
case reportable
|
||||
when DiaryEntry
|
||||
url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.user.display_name, :id => reportable.id)
|
||||
diary_entry_url(reportable.user, reportable)
|
||||
when User
|
||||
url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.display_name)
|
||||
user_url(reportable)
|
||||
when DiaryComment
|
||||
url_for(:controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :anchor => "comment#{reportable.id}")
|
||||
diary_entry_url(reportable.diary_entry.user, reportable.diary_entry, :anchor => "comment#{reportable.id}")
|
||||
when Note
|
||||
url_for(:controller => :browse, :action => :note, :id => reportable.id)
|
||||
end
|
||||
|
@ -29,7 +29,7 @@ module IssuesHelper
|
|||
count = Issue.visible_to(current_user).open.limit(100).size
|
||||
if count > 99
|
||||
content_tag(:span, "99+", :class => "count-number")
|
||||
elsif count > 0
|
||||
elsif count.positive?
|
||||
content_tag(:span, count, :class => "count-number")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ module NoteHelper
|
|||
elsif author.status == "deleted"
|
||||
t("user.no_such_user.deleted")
|
||||
else
|
||||
link_to h(author.display_name), link_options.merge(:controller => "user", :action => "view", :display_name => author.display_name)
|
||||
link_to h(author.display_name), link_options.merge(:controller => "user", :action => "show", :display_name => author.display_name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,6 +29,6 @@ module NotifierHelper
|
|||
# Because we can't use stylesheets in HTML emails, we need to inline the
|
||||
# styles. Rather than copy-paste the same string of CSS into every message,
|
||||
# we apply it once here, after the message has been composed.
|
||||
html.gsub /<p>/, '<p style="color: black; margin: 0.75em 0; font-family: \'Helvetica Neue\', Arial, Sans-Serif">'
|
||||
html.gsub(/<p>/, '<p style="color: black; margin: 0.75em 0; font-family: \'Helvetica Neue\', Arial, Sans-Serif">')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,24 +6,24 @@ module UserRolesHelper
|
|||
end
|
||||
|
||||
def role_icon(user, role)
|
||||
if current_user && current_user.administrator?
|
||||
if current_user&.administrator?
|
||||
if user.has_role?(role)
|
||||
image = "roles/#{role}"
|
||||
alt = t("user.view.role.revoke.#{role}")
|
||||
title = t("user.view.role.revoke.#{role}")
|
||||
alt = t("user.show.role.revoke.#{role}")
|
||||
title = t("user.show.role.revoke.#{role}")
|
||||
url = revoke_role_path(:display_name => user.display_name, :role => role)
|
||||
confirm = t("user_role.revoke.are_you_sure", :name => user.display_name, :role => role)
|
||||
else
|
||||
image = "roles/blank_#{role}"
|
||||
alt = t("user.view.role.grant.#{role}")
|
||||
title = t("user.view.role.grant.#{role}")
|
||||
alt = t("user.show.role.grant.#{role}")
|
||||
title = t("user.show.role.grant.#{role}")
|
||||
url = grant_role_path(:display_name => user.display_name, :role => role)
|
||||
confirm = t("user_role.grant.are_you_sure", :name => user.display_name, :role => role)
|
||||
end
|
||||
elsif user.has_role?(role)
|
||||
image = "roles/#{role}"
|
||||
alt = t("user.view.role.#{role}")
|
||||
title = t("user.view.role.#{role}")
|
||||
alt = t("user.show.role.#{role}")
|
||||
title = t("user.show.role.#{role}")
|
||||
end
|
||||
|
||||
if image
|
||||
|
|
|
@ -106,6 +106,7 @@ class Changeset < ActiveRecord::Base
|
|||
pt.find("tag").each do |tag|
|
||||
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing key") if tag["k"].nil?
|
||||
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing value") if tag["v"].nil?
|
||||
|
||||
cs.add_tag_keyval(tag["k"], tag["v"])
|
||||
end
|
||||
|
||||
|
@ -207,7 +208,7 @@ class Changeset < ActiveRecord::Base
|
|||
|
||||
user_display_name_cache = {} if user_display_name_cache.nil?
|
||||
|
||||
if user_display_name_cache && user_display_name_cache.key?(user_id)
|
||||
if user_display_name_cache&.key?(user_id)
|
||||
# use the cache if available
|
||||
elsif user.data_public?
|
||||
user_display_name_cache[user_id] = user.display_name
|
||||
|
|
|
@ -51,12 +51,13 @@ class ClientApplication < ActiveRecord::Base
|
|||
|
||||
def self.find_token(token_key)
|
||||
token = OauthToken.includes(:client_application).find_by(:token => token_key)
|
||||
token if token && token.authorized?
|
||||
token if token&.authorized?
|
||||
end
|
||||
|
||||
def self.verify_request(request, options = {}, &block)
|
||||
signature = OAuth::Signature.build(request, options, &block)
|
||||
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
|
||||
|
||||
value = signature.verify
|
||||
value
|
||||
rescue OAuth::Signature::UnknownSignatureMethod
|
||||
|
|
|
@ -88,19 +88,23 @@ class Node < ActiveRecord::Base
|
|||
|
||||
raise OSM::APIBadXMLError.new("node", pt, "lat missing") if pt["lat"].nil?
|
||||
raise OSM::APIBadXMLError.new("node", pt, "lon missing") if pt["lon"].nil?
|
||||
|
||||
node.lat = OSM.parse_float(pt["lat"], OSM::APIBadXMLError, "node", pt, "lat not a number")
|
||||
node.lon = OSM.parse_float(pt["lon"], OSM::APIBadXMLError, "node", pt, "lon not a number")
|
||||
raise OSM::APIBadXMLError.new("node", pt, "Changeset id is missing") if pt["changeset"].nil?
|
||||
|
||||
node.changeset_id = pt["changeset"].to_i
|
||||
|
||||
raise OSM::APIBadUserInput, "The node is outside this world" unless node.in_world?
|
||||
|
||||
# version must be present unless creating
|
||||
raise OSM::APIBadXMLError.new("node", pt, "Version is required when updating") unless create || !pt["version"].nil?
|
||||
|
||||
node.version = create ? 0 : pt["version"].to_i
|
||||
|
||||
unless create
|
||||
raise OSM::APIBadXMLError.new("node", pt, "ID is required when updating.") if pt["id"].nil?
|
||||
|
||||
node.id = pt["id"].to_i
|
||||
# .to_i will return 0 if there is no number that can be parsed.
|
||||
# We want to make sure that there is no id with zero anyway
|
||||
|
@ -119,6 +123,7 @@ class Node < ActiveRecord::Base
|
|||
pt.find("tag").each do |tag|
|
||||
raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag["k"].nil?
|
||||
raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag["v"].nil?
|
||||
|
||||
node.add_tag_key_val(tag["k"], tag["v"])
|
||||
end
|
||||
|
||||
|
|
|
@ -87,16 +87,8 @@ class Notifier < ActionMailer::Base
|
|||
@from_user = comment.user.display_name
|
||||
@text = comment.body
|
||||
@title = comment.diary_entry.title
|
||||
@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(:controller => "diary_entry",
|
||||
:action => "view",
|
||||
:display_name => comment.diary_entry.user.display_name,
|
||||
:id => comment.diary_entry.id,
|
||||
:anchor => "newcomment")
|
||||
@readurl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "comment#{comment.id}")
|
||||
@commenturl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "newcomment")
|
||||
@replyurl = new_message_url(comment.user, :message => { :title => "Re: #{comment.diary_entry.title}" })
|
||||
|
||||
@author = @from_user
|
||||
|
@ -112,8 +104,7 @@ class Notifier < ActionMailer::Base
|
|||
def friend_notification(friend)
|
||||
with_recipient_locale friend.befriendee do
|
||||
@friend = friend
|
||||
@viewurl = url_for(:controller => "user", :action => "view",
|
||||
:display_name => @friend.befriender.display_name)
|
||||
@viewurl = user_url(@friend.befriender)
|
||||
@friendurl = url_for(:controller => "user", :action => "make_friend",
|
||||
:display_name => @friend.befriender.display_name)
|
||||
@author = @friend.befriender.display_name
|
||||
|
@ -190,8 +181,8 @@ class Notifier < ActionMailer::Base
|
|||
end
|
||||
|
||||
def user_avatar_file_path(user)
|
||||
image = user && user.image
|
||||
if image && image.file?
|
||||
image = user&.image
|
||||
if image&.file?
|
||||
return image.path(:small)
|
||||
else
|
||||
return Rails.root.join("app", "assets", "images", "users", "images", "small.png")
|
||||
|
|
|
@ -22,8 +22,10 @@ class OauthNonce < ActiveRecord::Base
|
|||
# Remembers a nonce and it's associated timestamp. It returns false if it has already been used
|
||||
def self.remember(nonce, timestamp)
|
||||
return false if Time.now.to_i - timestamp.to_i > 86400
|
||||
|
||||
oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp.to_i)
|
||||
return false if oauth_nonce.new_record?
|
||||
|
||||
oauth_nonce
|
||||
end
|
||||
end
|
||||
|
|
|
@ -70,12 +70,15 @@ class Relation < ActiveRecord::Base
|
|||
relation = Relation.new
|
||||
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "Version is required when updating") unless create || !pt["version"].nil?
|
||||
|
||||
relation.version = pt["version"]
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "Changeset id is missing") if pt["changeset"].nil?
|
||||
|
||||
relation.changeset_id = pt["changeset"]
|
||||
|
||||
unless create
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "ID is required when updating") if pt["id"].nil?
|
||||
|
||||
relation.id = pt["id"].to_i
|
||||
# .to_i will return 0 if there is no number that can be parsed.
|
||||
# We want to make sure that there is no id with zero anyway
|
||||
|
@ -94,6 +97,7 @@ class Relation < ActiveRecord::Base
|
|||
pt.find("tag").each do |tag|
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing key") if tag["k"].nil?
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing value") if tag["v"].nil?
|
||||
|
||||
relation.add_tag_keyval(tag["k"], tag["v"])
|
||||
end
|
||||
|
||||
|
@ -106,6 +110,7 @@ class Relation < ActiveRecord::Base
|
|||
pt.find("member").each do |member|
|
||||
# member_type =
|
||||
raise OSM::APIBadXMLError.new("relation", pt, "The #{member['type']} is not allowed only, #{TYPES.inspect} allowed") unless TYPES.include? member["type"]
|
||||
|
||||
# member_ref = member['ref']
|
||||
# member_role
|
||||
member["role"] ||= "" # Allow the upload to not include this, in which case we default to an empty string.
|
||||
|
@ -207,6 +212,7 @@ class Relation < ActiveRecord::Base
|
|||
lock!
|
||||
check_consistency(self, new_relation, user)
|
||||
raise OSM::APIPreconditionFailedError, "Cannot update relation #{id}: data or member data is invalid." unless new_relation.preconditions_ok?(members)
|
||||
|
||||
self.changeset_id = new_relation.changeset_id
|
||||
self.changeset = new_relation.changeset
|
||||
self.tags = new_relation.tags
|
||||
|
@ -219,6 +225,7 @@ class Relation < ActiveRecord::Base
|
|||
def create_with_history(user)
|
||||
check_create_consistency(self, user)
|
||||
raise OSM::APIPreconditionFailedError, "Cannot create relation: data or member data is invalid." unless preconditions_ok?
|
||||
|
||||
self.version = 0
|
||||
self.visible = true
|
||||
save_with_history!
|
||||
|
@ -253,7 +260,8 @@ class Relation < ActiveRecord::Base
|
|||
element = model.lock("for share").find_by(:id => m[1])
|
||||
|
||||
# and check that it is OK to use.
|
||||
raise OSM::APIPreconditionFailedError, "Relation with id #{id} cannot be saved due to #{m[0]} with id #{m[1]}" unless element && element.visible? && element.preconditions_ok?
|
||||
raise OSM::APIPreconditionFailedError, "Relation with id #{id} cannot be saved due to #{m[0]} with id #{m[1]}" unless element&.visible? && element&.preconditions_ok?
|
||||
|
||||
hash[m[1]] = true
|
||||
end
|
||||
|
||||
|
@ -267,9 +275,10 @@ class Relation < ActiveRecord::Base
|
|||
def fix_placeholders!(id_map, placeholder_id = nil)
|
||||
members.map! do |type, id, role|
|
||||
old_id = id.to_i
|
||||
if old_id < 0
|
||||
if old_id.negative?
|
||||
new_id = id_map[type.downcase.to_sym][old_id]
|
||||
raise OSM::APIBadUserInput, "Placeholder #{type} not found for reference #{old_id} in relation #{self.id.nil? ? placeholder_id : self.id}." if new_id.nil?
|
||||
|
||||
[type, new_id, role]
|
||||
else
|
||||
[type, id, role]
|
||||
|
@ -372,7 +381,7 @@ class Relation < ActiveRecord::Base
|
|||
# reasonable on the assumption that adding or removing members doesn't
|
||||
# materially change the rest of the relation.
|
||||
any_relations =
|
||||
changed_members.collect { |_id, type| type == "relation" }
|
||||
changed_members.collect { |type, _id, _role| type == "Relation" }
|
||||
.inject(false) { |acc, elem| acc || elem }
|
||||
|
||||
update_members = if tags_changed || any_relations
|
||||
|
|
|
@ -40,6 +40,7 @@ class RequestToken < OauthToken
|
|||
|
||||
def authorize!(user)
|
||||
return false if authorized?
|
||||
|
||||
self.user = user
|
||||
self.authorized_at = Time.now
|
||||
self.verifier = OAuth::Helper.generate_key(20)[0, 20] unless oauth10?
|
||||
|
|
|
@ -214,10 +214,12 @@ class Trace < ActiveRecord::Base
|
|||
|
||||
def update_from_xml_node(pt, create = false)
|
||||
raise OSM::APIBadXMLError.new("trace", pt, "visibility missing") if pt["visibility"].nil?
|
||||
|
||||
self.visibility = pt["visibility"]
|
||||
|
||||
unless create
|
||||
raise OSM::APIBadXMLError.new("trace", pt, "ID is required when updating.") if pt["id"].nil?
|
||||
|
||||
id = pt["id"].to_i
|
||||
# .to_i will return 0 if there is no number that can be parsed.
|
||||
# We want to make sure that there is no id with zero anyway
|
||||
|
@ -232,6 +234,7 @@ class Trace < ActiveRecord::Base
|
|||
|
||||
description = pt.find("description").first
|
||||
raise OSM::APIBadXMLError.new("trace", pt, "description missing") if description.nil?
|
||||
|
||||
self.description = description.content
|
||||
|
||||
self.tags = pt.find("tag").collect do |tag|
|
||||
|
@ -303,7 +306,7 @@ class Trace < ActiveRecord::Base
|
|||
tp.save!
|
||||
end
|
||||
|
||||
if gpx.actual_points > 0
|
||||
if gpx.actual_points.positive?
|
||||
max_lat = Tracepoint.where(:gpx_id => id).maximum(:latitude)
|
||||
min_lat = Tracepoint.where(:gpx_id => id).minimum(:latitude)
|
||||
max_lon = Tracepoint.where(:gpx_id => id).maximum(:longitude)
|
||||
|
|
|
@ -68,12 +68,15 @@ class Way < ActiveRecord::Base
|
|||
way = Way.new
|
||||
|
||||
raise OSM::APIBadXMLError.new("way", pt, "Version is required when updating") unless create || !pt["version"].nil?
|
||||
|
||||
way.version = pt["version"]
|
||||
raise OSM::APIBadXMLError.new("way", pt, "Changeset id is missing") if pt["changeset"].nil?
|
||||
|
||||
way.changeset_id = pt["changeset"]
|
||||
|
||||
unless create
|
||||
raise OSM::APIBadXMLError.new("way", pt, "ID is required when updating") if pt["id"].nil?
|
||||
|
||||
way.id = pt["id"].to_i
|
||||
# .to_i will return 0 if there is no number that can be parsed.
|
||||
# We want to make sure that there is no id with zero anyway
|
||||
|
@ -92,6 +95,7 @@ class Way < ActiveRecord::Base
|
|||
pt.find("tag").each do |tag|
|
||||
raise OSM::APIBadXMLError.new("way", pt, "tag is missing key") if tag["k"].nil?
|
||||
raise OSM::APIBadXMLError.new("way", pt, "tag is missing value") if tag["v"].nil?
|
||||
|
||||
way.add_tag_keyval(tag["k"], tag["v"])
|
||||
end
|
||||
|
||||
|
@ -123,7 +127,7 @@ class Way < ActiveRecord::Base
|
|||
ordered_nodes[nd.sequence_id] = nd.node_id.to_s if visible_nodes[nd.node_id]
|
||||
else
|
||||
# otherwise, manually go to the db to check things
|
||||
ordered_nodes[nd.sequence_id] = nd.node_id.to_s if nd.node && nd.node.visible?
|
||||
ordered_nodes[nd.sequence_id] = nd.node_id.to_s if nd.node&.visible?
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -194,6 +198,7 @@ class Way < ActiveRecord::Base
|
|||
def create_with_history(user)
|
||||
check_create_consistency(self, user)
|
||||
raise OSM::APIPreconditionFailedError, "Cannot create way: data is invalid." unless preconditions_ok?
|
||||
|
||||
self.version = 0
|
||||
self.visible = true
|
||||
save_with_history!
|
||||
|
@ -249,9 +254,10 @@ class Way < ActiveRecord::Base
|
|||
# to IDs +id_map+.
|
||||
def fix_placeholders!(id_map, placeholder_id = nil)
|
||||
nds.map! do |node_id|
|
||||
if node_id < 0
|
||||
if node_id.negative?
|
||||
new_id = id_map[:node][node_id]
|
||||
raise OSM::APIBadUserInput, "Placeholder node not found for reference #{node_id} in way #{id.nil? ? placeholder_id : id}" if new_id.nil?
|
||||
|
||||
new_id
|
||||
else
|
||||
node_id
|
||||
|
|
|
@ -127,7 +127,7 @@
|
|||
<% end %>
|
||||
<%=
|
||||
user = (@prev_by_user || @next_by_user).user.display_name
|
||||
link_to content_tag(:bdi, user), :controller => "changeset", :action => "list", :display_name => user
|
||||
link_to content_tag(:bdi, user), :controller => "changeset", :action => "index", :display_name => user
|
||||
%>
|
||||
<% if @next_by_user %>
|
||||
·
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<%= content_tag "li", :id => "changeset_#{changeset.id}", :data => {:changeset => changeset_data} do %>
|
||||
<h4>
|
||||
<a class="changeset_id" href="<%= changeset_path(changeset.id) %>">
|
||||
<a class="changeset_id" href="<%= changeset_path(changeset) %>">
|
||||
<%= changeset.tags['comment'].to_s.presence || t('browse.no_comment') %>
|
||||
</a>
|
||||
</h4>
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
<% end -%>
|
||||
|
||||
<%
|
||||
set_title(changeset_list_title(params, current_user))
|
||||
set_title(changeset_index_title(params, current_user))
|
||||
if params[:display_name]
|
||||
@heading = t('changeset.list.title_user', :user => link_to(params[:display_name], :controller => "user", :action => "view", :display_name => params[:display_name])).html_safe
|
||||
@heading = t('changeset.index.title_user', :user => link_to(params[:display_name], user_path(:display_name => params[:display_name]))).html_safe
|
||||
else
|
||||
@heading = @title
|
||||
end
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
atom_feed(:language => I18n.locale, :schema_date => 2009,
|
||||
:id => url_for(@params.merge(:only_path => false)),
|
||||
:root_url => url_for(@params.merge(:action => :list, :format => nil, :only_path => false)),
|
||||
:root_url => url_for(@params.merge(:action => :index, :format => nil, :only_path => false)),
|
||||
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
|
||||
feed.title changeset_list_title(params, current_user)
|
||||
feed.title changeset_index_title(params, current_user)
|
||||
|
||||
feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max
|
||||
feed.icon image_url("favicon.ico")
|
||||
|
@ -32,7 +32,7 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
|
|||
if changeset.user.data_public?
|
||||
entry.author do |author|
|
||||
author.name changeset.user.display_name
|
||||
author.uri url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
|
||||
author.uri user_url(changeset.user, :only_path => false)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -51,7 +51,7 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
|
|||
table.tr do |tr|
|
||||
tr.th t("browse.changeset.belongs_to")
|
||||
tr.td do |td|
|
||||
td.a h(changeset.user.display_name), :href => url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
|
||||
td.a h(changeset.user.display_name), :href => user_url(changeset.user, :only_path => false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -59,10 +59,10 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
|
|||
table.tr do |tr|
|
||||
tr.th t("browse.tag_details.tags")
|
||||
tr.td do |td|
|
||||
td.table :cellpadding => "0" do |table|
|
||||
td.table :cellpadding => "0" do |tag_table|
|
||||
changeset.tags.sort.each do |tag|
|
||||
table.tr do |tr|
|
||||
tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}"
|
||||
tag_table.tr do |tag_tr|
|
||||
tag_tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -4,10 +4,10 @@
|
|||
<%= 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>
|
||||
<h2><%= link_to h(diary_entry.title), diary_entry_path(diary_entry.user, diary_entry) %></h2>
|
||||
|
||||
<small class='deemphasize'>
|
||||
<%= 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)) %>
|
||||
<%= 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 => 'index', :display_name => nil, :language => diary_entry.language_code)) %>
|
||||
</small>
|
||||
|
||||
</div>
|
||||
|
@ -21,10 +21,10 @@
|
|||
<% end %>
|
||||
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<% if params[:action] == 'list' %>
|
||||
<li><%= link_to t('.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
|
||||
<% if params[:action] == 'index' %>
|
||||
<li><%= link_to t('.comment_link'), diary_entry_path(diary_entry.user, diary_entry, :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>
|
||||
<li><%= link_to t('.comment_count', :count => diary_entry.visible_comments.count), diary_entry_path(diary_entry.user, diary_entry, :anchor => 'comments') %></li>
|
||||
<% end %>
|
||||
|
||||
<% if current_user && current_user == diary_entry.user %>
|
||||
|
|
1
app/views/diary_entry/_diary_index_entry.html.erb
Normal file
1
app/views/diary_entry/_diary_index_entry.html.erb
Normal file
|
@ -0,0 +1 @@
|
|||
<%= render :partial => "diary_entry", :object => diary_index_entry %>
|
|
@ -1 +0,0 @@
|
|||
<%= render :partial => "diary_entry", :object => diary_list_entry %>
|
|
@ -11,7 +11,7 @@
|
|||
<% @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%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></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>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<% if @user %>
|
||||
<%= render :partial => 'diary_entry', :collection => @entries %>
|
||||
<% else %>
|
||||
<%= render :partial => 'diary_list_entry', :collection => @entries %>
|
||||
<%= render :partial => 'diary_index_entry', :collection => @entries %>
|
||||
<% end %>
|
||||
|
||||
<div class="pagination">
|
|
@ -7,24 +7,24 @@ xml.rss("version" => "2.0",
|
|||
xml.channel do
|
||||
xml.title @title
|
||||
xml.description @description
|
||||
xml.link url_for(:action => "list", :only_path => false)
|
||||
xml.link url_for(:action => "index", :only_path => false)
|
||||
xml.image do
|
||||
xml.url image_url("mag_map-rss2.0.png")
|
||||
xml.title @title
|
||||
xml.width "100"
|
||||
xml.height "100"
|
||||
xml.link url_for(:action => "list", :only_path => false)
|
||||
xml.link url_for(:action => "index", :only_path => false)
|
||||
end
|
||||
|
||||
@entries.each do |entry|
|
||||
xml.item do
|
||||
xml.title entry.title
|
||||
xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :only_path => false)
|
||||
xml.guid url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :only_path => false)
|
||||
xml.link diary_entry_url(entry.user, entry, :only_path => false)
|
||||
xml.guid diary_entry_url(entry.user, entry, :only_path => false)
|
||||
xml.description entry.body.to_html
|
||||
xml.dc :creator, entry.user.display_name
|
||||
xml.pubDate entry.created_at.to_s(:rfc822)
|
||||
xml.comments url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :anchor => "comments", :only_path => false)
|
||||
xml.comments diary_entry_url(entry.user, entry, :anchor => "comments", :only_path => false)
|
||||
|
||||
if entry.latitude && entry.longitude
|
||||
xml.geo :lat, entry.latitude.to_s
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<% content_for :heading do %>
|
||||
<div id="userinformation" >
|
||||
<%= user_image @entry.user %>
|
||||
<h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
|
||||
<h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :index %></h2>
|
||||
<p><%= rss_link_to :action => :rss, :display_name => @entry.user.display_name %></p>
|
||||
</div>
|
||||
<% end %>
|
|
@ -2,9 +2,9 @@
|
|||
<% comments.each do |comment| %>
|
||||
<div class="comment">
|
||||
<div style="float:left">
|
||||
<%= link_to user_thumbnail(comment.user), user_path(comment.user.display_name) %>
|
||||
<%= link_to user_thumbnail(comment.user), user_path(comment.user) %>
|
||||
</div>
|
||||
<b> <%= link_to comment.user.display_name, user_path(comment.user.display_name) %> </b> <br/>
|
||||
<b> <%= link_to comment.user.display_name, user_path(comment.user) %> </b> <br/>
|
||||
<%= comment.body %>
|
||||
</div>
|
||||
<span class="deemphasize">
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<% reports.each do |report| %>
|
||||
<div class="report">
|
||||
<div style="float:left">
|
||||
<%= link_to user_thumbnail(report.user), user_path(report.user.display_name) %>
|
||||
<%= link_to user_thumbnail(report.user), user_path(report.user) %>
|
||||
</div>
|
||||
<%= t ".reported_by_html", :category => report.category, :user => link_to(report.user.display_name, user_path(report.user.display_name)) %>
|
||||
<%= t ".reported_by_html", :category => report.category, :user => link_to(report.user.display_name, user_path(report.user)) %>
|
||||
<br/>
|
||||
<span class="deemphasize">
|
||||
<%= t(".updated_at", :datetime => l(report.updated_at.to_datetime, :format => :friendly)) %>
|
||||
|
|
|
@ -34,10 +34,10 @@
|
|||
<td><%= t ".states.#{issue.status}" %></td>
|
||||
<td><%= link_to t(".reports_count", :count => issue.reports_count), issue %></td>
|
||||
<td><%= link_to reportable_title(issue.reportable), reportable_url(issue.reportable) %></td>
|
||||
<td><%= link_to issue.reported_user.display_name, user_path(issue.reported_user.display_name) if issue.reported_user %></td>
|
||||
<td><%= link_to issue.reported_user.display_name, user_path(issue.reported_user) if issue.reported_user %></td>
|
||||
<td>
|
||||
<% if issue.user_updated %>
|
||||
<%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated.display_name)),
|
||||
<%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated)),
|
||||
:time => distance_of_time_in_words_to_now(issue.updated_at),
|
||||
:title => l(issue.updated_at) %>
|
||||
<% else %>
|
||||
|
|
|
@ -82,14 +82,14 @@
|
|||
<li>
|
||||
<%= link_to inbox_messages_path do %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
|
||||
<%= t('user.view.my messages') %>
|
||||
<%= t('user.show.my messages') %>
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t('user.view.my profile'), user_path(:display_name => current_user.display_name) %>
|
||||
<%= link_to t('user.show.my profile'), user_path(current_user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
|
||||
<%= link_to t('user.show.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
|
|
|
@ -43,9 +43,8 @@
|
|||
<h2><%= t 'layouts.intro_header' %></h2>
|
||||
<div class="close-wrap"><span class="icon close"></span></div>
|
||||
<p><%= t 'layouts.intro_text' %></p>
|
||||
<p><%= t 'layouts.partners_html',
|
||||
<p><%= t 'layouts.hosting_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/"),
|
||||
:bytemark => link_to(t('layouts.partners_bytemark'), "https://www.bytemark.co.uk"),
|
||||
:partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
|
||||
</p>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<h1><%= t ".title" %></h1>
|
||||
<% end %>
|
||||
|
||||
<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>
|
||||
<p><%= raw t(".request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, user_path(current_user))) %></p>
|
||||
|
||||
<%= form_tag authorize_url do %>
|
||||
<%= hidden_field_tag "oauth_token", @token.token %>
|
||||
|
|
|
@ -32,9 +32,8 @@
|
|||
|
||||
<div class='section' id='partners'>
|
||||
<h2><div class='icon partners'></div><%= t ".partners_title" %></h2>
|
||||
<p><%= t 'layouts.partners_html',
|
||||
<p><%= t 'layouts.hosting_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/"),
|
||||
:bytemark => link_to(t('layouts.partners_bytemark'), "https://www.bytemark.co.uk"),
|
||||
:partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
|
||||
</p>
|
||||
|
|
|
@ -21,8 +21,8 @@ xml.rss("version" => "2.0",
|
|||
xml.item do
|
||||
xml.title trace.name
|
||||
|
||||
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.link url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
|
||||
xml.guid url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
|
||||
|
||||
xml.description do
|
||||
xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
<% 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 %>)
|
||||
(<%= t 'user.show.m away', :count => (distance * 1000).round %>)
|
||||
<% else %>
|
||||
(<%= t 'user.view.km away', :count => distance.round %>)
|
||||
(<%= t 'user.show.km away', :count => distance.round %>)
|
||||
<% end %>
|
||||
<% end %>
|
||||
</p>
|
||||
<p>
|
||||
<% changeset = contact.changesets.first %>
|
||||
<% if changeset %>
|
||||
<%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
|
||||
<%= t('user.show.latest edit', :ago => t('user.show.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
|
||||
<% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('browse.no_comment') %>
|
||||
"<%= link_to(comment,
|
||||
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
|
||||
|
@ -35,12 +35,12 @@
|
|||
</p>
|
||||
|
||||
<ul class='secondary-actions clearfix deemphasize'>
|
||||
<li><%= link_to t('user.view.send message'), new_message_path(contact) %></li>
|
||||
<li><%= link_to t('user.show.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 %>
|
||||
<%= link_to t('user.show.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
|
||||
<% else %>
|
||||
<%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
|
||||
<%= link_to t('user.show.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
|
||||
<% end %>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
<td>
|
||||
<p>
|
||||
<% if user.creation_ip %>
|
||||
<%= raw t 'user.list.summary',
|
||||
:name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
|
||||
<%= raw t 'user.index.summary',
|
||||
:name => link_to(h(user.display_name), user_path(user)),
|
||||
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
|
||||
:date => l(user.creation_time, :format => :friendly)
|
||||
%>
|
||||
<% else %>
|
||||
<%= raw t 'user.list.summary_no_ip',
|
||||
:name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
|
||||
<%= raw t 'user.index.summary_no_ip',
|
||||
:name => link_to(h(user.display_name), user_path(user)),
|
||||
:date => l(user.creation_time, :format => :friendly)
|
||||
%>
|
||||
<% end %>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<h1><%= t '.my settings' %></h1>
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<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>
|
||||
<li><%= link_to t('user.show.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<!-- Displaying user's own profile page to themself -->
|
||||
<ul class='secondary-actions clearfix'>
|
||||
<li>
|
||||
<%= link_to t('.my edits'), :controller => 'changeset', :action => 'list', :display_name => current_user.display_name %>
|
||||
<%= link_to t('.my edits'), :controller => 'changeset', :action => 'index', :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -18,7 +18,7 @@
|
|||
<span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => current_user.display_name %>
|
||||
<%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'index', :display_name => current_user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -49,7 +49,7 @@
|
|||
<ul class='secondary-actions clearfix'>
|
||||
|
||||
<li>
|
||||
<%= link_to t('.edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
|
||||
<%= link_to t('.edits'), :controller => 'changeset', :action => 'index', :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -66,7 +66,7 @@
|
|||
<%= link_to t('.send message'), new_message_path(@user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t('.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
|
||||
<%= link_to t('.diary'), :controller => 'diary_entry', :action => 'index', :display_name => @user.display_name %>
|
||||
<span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
|
||||
</li>
|
||||
<li>
|
|
@ -5,6 +5,7 @@ module I18n
|
|||
super
|
||||
rescue InvalidPluralizationData => ex
|
||||
raise ex unless ex.entry.key?(:other)
|
||||
|
||||
ex.entry[:other]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -52,6 +52,7 @@ module OpenStreetMap
|
|||
def oauth1_verify(request, options = {}, &block)
|
||||
signature = OAuth::Signature.build(request, options, &block)
|
||||
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
|
||||
|
||||
value = signature.verify
|
||||
if request.ssl? && !value
|
||||
http_request = request.dup
|
||||
|
|
|
@ -222,7 +222,7 @@ af:
|
|||
user: Gebruiker
|
||||
comment: Opmerking
|
||||
area: Gebied
|
||||
list:
|
||||
index:
|
||||
title: Wysigingsstel
|
||||
empty: Geen wysigingstelle gevind nie.
|
||||
empty_area: Geen wysigingstelle in hierdie gebied.
|
||||
|
@ -243,7 +243,7 @@ af:
|
|||
new:
|
||||
title: Nuwe dagboekinskrywing
|
||||
publish_button: Publiseer
|
||||
list:
|
||||
index:
|
||||
title: Gebruikersdagboeke
|
||||
title_friends: Dagboeke van vriende
|
||||
title_nearby: Gebruikers in die omgewing se dagboeke
|
||||
|
@ -266,7 +266,7 @@ af:
|
|||
use_map_link: benut kaart
|
||||
save_button: Stoor
|
||||
marker_text: Ligging van dagboekinskrywing
|
||||
view:
|
||||
show:
|
||||
title: '%{user} se dagboek | %{title}'
|
||||
user_title: '%{user} se dagboek'
|
||||
leave_a_comment: Lewer kommentaar
|
||||
|
@ -1041,7 +1041,7 @@ af:
|
|||
get_directions_title: Kry rigtingaanwysings tussen twee punte
|
||||
from: Vanaf
|
||||
to: Na
|
||||
where_am_i: Waar is ek tans?
|
||||
where_am_i: Waar is dié?
|
||||
submit_text: Soek
|
||||
key:
|
||||
table:
|
||||
|
@ -1340,7 +1340,7 @@ af:
|
|||
heading: Die gebruiker %{user} bestaan nie
|
||||
body: Daar is geen gebruiker met die naam %{user} nie. Gaan u spelling na, of
|
||||
u het moontlik op 'n foutiewe skakel geklik.
|
||||
view:
|
||||
show:
|
||||
my diary: My Dagboek
|
||||
new diary entry: nuwe dagboekinskrywing
|
||||
my edits: My Redigerings
|
||||
|
@ -1451,7 +1451,7 @@ af:
|
|||
remove_friend:
|
||||
success: '%{name} is uit u vriendekring verwyder.'
|
||||
not_a_friend: '%{name} is nie een van u vriende nie.'
|
||||
list:
|
||||
index:
|
||||
title: Gebruikers
|
||||
heading: Gebruikers
|
||||
summary: '%{name} geskep vanaf %{ip_address} op %{date}'
|
||||
|
|
|
@ -142,13 +142,13 @@ aln:
|
|||
user: Përdorues
|
||||
comment: Koment
|
||||
area: Zonë
|
||||
list:
|
||||
index:
|
||||
title: Changesets
|
||||
title_user: Changesets nga %{user}
|
||||
diary_entry:
|
||||
new:
|
||||
title: Hyrja e re Ditari
|
||||
list:
|
||||
index:
|
||||
title: ditarë Përdorues ,
|
||||
user_title: Ditari i %{user}
|
||||
in_language_title: Shënimet e Ditarit në %{language}
|
||||
|
@ -169,7 +169,7 @@ aln:
|
|||
use_map_link: Harta e përdorimit
|
||||
save_button: Ruje
|
||||
marker_text: Vendndodhja Ditari hyrje
|
||||
view:
|
||||
show:
|
||||
title: ditari i %{user} | %{title}
|
||||
user_title: ditari i %{user}
|
||||
leave_a_comment: Lene naj koment
|
||||
|
@ -1167,7 +1167,7 @@ aln:
|
|||
heading: Ky shfrytzues %{user} nuk egziston
|
||||
body: Na vjen keq, ska shfrytëzues me kët emën %{user}. Ju lutemi kontrolloni
|
||||
shkrimin, ose nashta linku ku keni kliku asht gabim.
|
||||
view:
|
||||
show:
|
||||
my diary: ditari im
|
||||
new diary entry: hyrje e re ne ditar
|
||||
my edits: ndryshimet e mia
|
||||
|
@ -1291,7 +1291,7 @@ aln:
|
|||
not_a_friend: '%{name} nuk osht njoni pi shokve tu.'
|
||||
filter:
|
||||
not_an_administrator: Ju duhet të jeni administrator për me kry kët veprim.
|
||||
list:
|
||||
index:
|
||||
title: Perdoruesit
|
||||
heading: Perdoruesit
|
||||
showing:
|
||||
|
|
|
@ -260,7 +260,7 @@ ar:
|
|||
user: المستخدم
|
||||
comment: التعليق
|
||||
area: منطقة
|
||||
list:
|
||||
index:
|
||||
title: حزم التغييرات
|
||||
title_user: حزم التغييرات بواسطة %{user}
|
||||
title_friend: مجموعات تغييرات بواسطة أصدقائي
|
||||
|
@ -285,7 +285,7 @@ ar:
|
|||
new:
|
||||
title: مدخلة يومية جديدة
|
||||
publish_button: نشر
|
||||
list:
|
||||
index:
|
||||
title: يوميات المستخدمين
|
||||
title_friends: يوميات الأصدقاء
|
||||
title_nearby: يوميات/مفكرات المستخدمين في المقبرة
|
||||
|
@ -308,7 +308,7 @@ ar:
|
|||
use_map_link: استخدم الخريطة
|
||||
save_button: احفظ
|
||||
marker_text: موقع مدخلة اليومية
|
||||
view:
|
||||
show:
|
||||
title: يوميات %{user} | %{title}
|
||||
user_title: يومية %{user}
|
||||
leave_a_comment: اترك تعليقًا
|
||||
|
@ -2081,7 +2081,7 @@ ar:
|
|||
body: عذرًا، لا يوجد مستخدم بالاسم %{user}. يرجى تدقيق الاسم، أو ربما يكون الرابط
|
||||
الذي تم النقر عليه خاطئ.
|
||||
deleted: تم حذفه
|
||||
view:
|
||||
show:
|
||||
my diary: اليوميات
|
||||
new diary entry: مدخلة يومية جديدة
|
||||
my edits: المُساهمات
|
||||
|
@ -2252,7 +2252,7 @@ ar:
|
|||
not_a_friend: '%{name} ليس من أحد أصدقائك.'
|
||||
filter:
|
||||
not_an_administrator: عليك أن تكون إداري لتنفيذ هذا الإجراء.
|
||||
list:
|
||||
index:
|
||||
title: المستخدمون
|
||||
heading: المستخدمون
|
||||
showing:
|
||||
|
|
|
@ -117,13 +117,13 @@ arz:
|
|||
user: المستخدم
|
||||
comment: التعليق
|
||||
area: منطقة
|
||||
list:
|
||||
index:
|
||||
title: حزم التغييرات
|
||||
title_user: حزم التغييرات بواسطه %{user}
|
||||
diary_entry:
|
||||
new:
|
||||
title: مدخله يوميه جديدة
|
||||
list:
|
||||
index:
|
||||
title: يوميات المستخدمين
|
||||
user_title: يوميه %{user}
|
||||
in_language_title: مدخلات اليوميه باللغه %{language}
|
||||
|
@ -144,7 +144,7 @@ arz:
|
|||
use_map_link: استخدم الخريطة
|
||||
save_button: احفظ
|
||||
marker_text: موقع مدخله اليومية
|
||||
view:
|
||||
show:
|
||||
title: يوميات المستخدمين | %{user}
|
||||
user_title: يوميه %{user}
|
||||
leave_a_comment: اترك تعليقًا
|
||||
|
@ -972,7 +972,7 @@ arz:
|
|||
heading: المستخدم %{user} غير موجود
|
||||
body: عذرًا، لا يوجد مستخدم بالاسم %{user}. يرجى تدقيق الاسم، أو ربما يكون الرابط
|
||||
الذى تم النقر عليه خاطئ.
|
||||
view:
|
||||
show:
|
||||
my diary: يوميتي
|
||||
new diary entry: مدخله يوميه جديدة
|
||||
my edits: مساهمات
|
||||
|
|
|
@ -233,7 +233,7 @@ ast:
|
|||
user: Usuariu
|
||||
comment: Comentariu
|
||||
area: Área
|
||||
list:
|
||||
index:
|
||||
title: Conxuntos de cambeos
|
||||
title_user: Conxuntos de cambeos de %{user}
|
||||
title_friend: Conxuntos de cambeos de los mios collacios
|
||||
|
@ -259,7 +259,7 @@ ast:
|
|||
new:
|
||||
title: Nueva entrada del diariu
|
||||
publish_button: Espublizar
|
||||
list:
|
||||
index:
|
||||
title: Diarios d'usuarios
|
||||
title_friends: Diarios de collacios
|
||||
title_nearby: Diarios d'usuarios cercanos
|
||||
|
@ -282,7 +282,7 @@ ast:
|
|||
use_map_link: usar mapa
|
||||
save_button: Guardar
|
||||
marker_text: Allugamientu de la entrada del diariu
|
||||
view:
|
||||
show:
|
||||
title: Diariu de %{user} | %{title}
|
||||
user_title: Diariu de %{user}
|
||||
leave_a_comment: Dexar un comentariu
|
||||
|
@ -2067,7 +2067,7 @@ ast:
|
|||
body: Lo siento, nun hai dengún usuariu col nome %{user}. Comprueba la escritura
|
||||
o si calcasti nun enllaz enquivocáu.
|
||||
deleted: desaniciao
|
||||
view:
|
||||
show:
|
||||
my diary: El mio diariu
|
||||
new diary entry: nueva entrada del diariu
|
||||
my edits: Les mios ediciones
|
||||
|
@ -2248,7 +2248,7 @@ ast:
|
|||
not_a_friend: '%{name} nun ye unu de los tos amigos.'
|
||||
filter:
|
||||
not_an_administrator: Has de ser alministrador pa facer esa aición.
|
||||
list:
|
||||
index:
|
||||
title: Usuarios
|
||||
heading: Usuarios
|
||||
showing:
|
||||
|
|
|
@ -185,7 +185,7 @@ az:
|
|||
user: İstifadəçi
|
||||
comment: Şərh
|
||||
area: Ərazi
|
||||
list:
|
||||
index:
|
||||
title: Dəyişikliklər dəsti
|
||||
title_user: '%{user} tərəfindən edilmiş dəyişikliklər dəsti'
|
||||
title_friend: Dostlarınız tərəfindən edilmiş dəyişikliklər dəsti
|
||||
|
@ -199,7 +199,7 @@ az:
|
|||
new:
|
||||
title: Yeni Gündəlik Yazısı
|
||||
publish_button: Nəşr et
|
||||
list:
|
||||
index:
|
||||
title: İstifadəçi gündəlikləri
|
||||
title_friends: Dostların gündəlikləri
|
||||
title_nearby: Yaxınlıqdakı İstifadəçilərin Gündəlikləri
|
||||
|
@ -222,7 +222,7 @@ az:
|
|||
use_map_link: xəritə üzərində göstər
|
||||
save_button: Qeyd et
|
||||
marker_text: Gundəlik yazısının yazıldığı yer
|
||||
view:
|
||||
show:
|
||||
title: İstifadəçi %{user} gündəliyi | %{title}
|
||||
user_title: İstifadəçi %{user} gündəliyi
|
||||
leave_a_comment: Şərh yaz
|
||||
|
@ -1073,7 +1073,7 @@ az:
|
|||
legale_names:
|
||||
france: Fransa
|
||||
italy: İtaliya
|
||||
view:
|
||||
show:
|
||||
my diary: mənim gündəliyim
|
||||
my edits: mənim redaktələrim
|
||||
my comments: mənim şərhlərim
|
||||
|
@ -1129,7 +1129,7 @@ az:
|
|||
remove_friend:
|
||||
heading: '%{user} dostluqdan silək?'
|
||||
button: Dostluqdan sil
|
||||
list:
|
||||
index:
|
||||
title: İstifadəçilər
|
||||
heading: İstifadəçilər
|
||||
hide: Seçilmiş istifadəçiləri gizlət
|
||||
|
|
|
@ -245,7 +245,7 @@ ba:
|
|||
user: Ҡулланыусы
|
||||
comment: Комментарий
|
||||
area: Өлкә
|
||||
list:
|
||||
index:
|
||||
title: Төҙәтеүҙәр пакеты
|
||||
title_user: ' %{user} ҡулланыусыһының төҙәтеүҙәр пакеты'
|
||||
title_friend: Дуҫтарығыҙҙың төҙәтеүҙәре пакеты
|
||||
|
@ -271,7 +271,7 @@ ba:
|
|||
new:
|
||||
title: Яңы көндәлеккә инеү
|
||||
publish_button: Баҫтырырға
|
||||
list:
|
||||
index:
|
||||
title: Көндәлектәр
|
||||
title_friends: Дуҫтарың көндәлектәре
|
||||
title_nearby: Йәнәш ҡатнашыусылар көндәлеге
|
||||
|
@ -291,7 +291,7 @@ ba:
|
|||
use_map_link: картаны ҡуллан
|
||||
save_button: Һаҡларға
|
||||
marker_text: Көндәлек яҙыу урыны
|
||||
view:
|
||||
show:
|
||||
title: '%{ҡулланыусы}ның көндәлеге|%{титул}'
|
||||
user_title: '%{ҡулланыусы}ның көндәлеге'
|
||||
leave_a_comment: Фекер ҡалдыр
|
||||
|
|
|
@ -172,7 +172,7 @@ be-Tarask:
|
|||
user: Карыстальнік
|
||||
comment: Камэнтар
|
||||
area: Абшар
|
||||
list:
|
||||
index:
|
||||
title: Наборы зьменаў
|
||||
title_user: Набор зьменаў %{user}
|
||||
title_friend: Наборы зьменаў маіх сяброў
|
||||
|
@ -183,7 +183,7 @@ be-Tarask:
|
|||
diary_entry:
|
||||
new:
|
||||
title: Новы запіс у дзёньніку
|
||||
list:
|
||||
index:
|
||||
title: Дзёньнікі карыстальнікаў
|
||||
title_friends: Дзёньнікі сяброў
|
||||
title_nearby: Дзёньнікі суседніх удзельнікаў
|
||||
|
@ -206,7 +206,7 @@ be-Tarask:
|
|||
use_map_link: на мапе
|
||||
save_button: Захаваць
|
||||
marker_text: Месцазнаходжаньне запісу дзёньніка
|
||||
view:
|
||||
show:
|
||||
title: Дзёньнік %{user} | %{title}
|
||||
user_title: Дзёньнік %{user}
|
||||
leave_a_comment: Пакінуць камэнтар
|
||||
|
@ -1312,7 +1312,7 @@ be-Tarask:
|
|||
heading: Удзельнік %{user} не існуе
|
||||
body: Прабачце, няма ўдзельніка з іменем %{user}. Калі ласка, праверце дакладнасьць
|
||||
напісаньня, ці, магчыма, спасылка па якой Вы перайшлі, няслушная.
|
||||
view:
|
||||
show:
|
||||
my diary: Мой дзёньнік
|
||||
new diary entry: новы запіс у дзёньніку
|
||||
my edits: Мае рэдагаваньні
|
||||
|
@ -1471,7 +1471,7 @@ be-Tarask:
|
|||
filter:
|
||||
not_an_administrator: Вам неабходна быць адміністратарам, каб выканаць гэтае
|
||||
дзеяньне.
|
||||
list:
|
||||
index:
|
||||
title: Удзельнікі
|
||||
heading: Карыстальнікі
|
||||
showing:
|
||||
|
|
|
@ -238,7 +238,7 @@ be:
|
|||
user: Карыстальнік
|
||||
comment: Каментар
|
||||
area: Мясцовасць
|
||||
list:
|
||||
index:
|
||||
title: Наборы зменаў
|
||||
title_user: Набор зменаў ад %{user}
|
||||
title_friend: Наборы зменаў ад вашых сяброў
|
||||
|
@ -263,7 +263,7 @@ be:
|
|||
new:
|
||||
title: Новы запіс дзённіку
|
||||
publish_button: Апублікаваць
|
||||
list:
|
||||
index:
|
||||
title: Дзённікі карыстальнікаў
|
||||
title_friends: Дзённікі сяброў
|
||||
title_nearby: Дзённікі карыстальнікаў паблізу
|
||||
|
@ -286,7 +286,7 @@ be:
|
|||
use_map_link: карыстацца картай
|
||||
save_button: Запісаць
|
||||
marker_text: Месцазнаходжанне запісу дзённіку
|
||||
view:
|
||||
show:
|
||||
title: Дзённік карыстальніка | %{user}
|
||||
user_title: Дзённік %{user}
|
||||
leave_a_comment: Пакінуць каментар
|
||||
|
@ -1879,7 +1879,7 @@ be:
|
|||
body: Прабачце, карыстальнік %{user} не знойдзены. Please check your spelling,
|
||||
Калі ласка, праверце свой правапіс, ці, магчыма, вам далі няправільную спасылку.
|
||||
deleted: выдалены
|
||||
view:
|
||||
show:
|
||||
my diary: Мой дзённік
|
||||
new diary entry: новы запіс у дзённіку
|
||||
my edits: Мае змены
|
||||
|
@ -2055,7 +2055,7 @@ be:
|
|||
filter:
|
||||
not_an_administrator: Вам неабходна мець правы адміністратара для выканання
|
||||
гэтага дзеяння.
|
||||
list:
|
||||
index:
|
||||
title: Удзельнікі
|
||||
heading: Удзельнікі
|
||||
showing:
|
||||
|
|
|
@ -190,7 +190,7 @@ bg:
|
|||
user: Потребител
|
||||
comment: Коментар
|
||||
area: Област
|
||||
list:
|
||||
index:
|
||||
title: Списък с промени
|
||||
title_user: Списък с промени на %{user}
|
||||
title_friend: Списъци с промени на Ваши приятели
|
||||
|
@ -209,7 +209,7 @@ bg:
|
|||
new:
|
||||
title: Нов запис в дневника
|
||||
publish_button: Публикуване
|
||||
list:
|
||||
index:
|
||||
title: Дневници на потребителите
|
||||
title_friends: Дневници на приятели
|
||||
title_nearby: Дневници на потребители наблизо
|
||||
|
@ -227,7 +227,7 @@ bg:
|
|||
longitude: 'Географска дължина:'
|
||||
use_map_link: използвай карта
|
||||
save_button: Съхраняване
|
||||
view:
|
||||
show:
|
||||
title: Дневник на потребител %{user} | %{title}
|
||||
user_title: дневник на %{user}
|
||||
leave_a_comment: Оставете коментар
|
||||
|
@ -1133,7 +1133,7 @@ bg:
|
|||
title: Няма такъв потребител
|
||||
heading: Потребителят %{user} не съществува
|
||||
deleted: изтрито
|
||||
view:
|
||||
show:
|
||||
my edits: Mоите редакции
|
||||
my traces: Моите следи
|
||||
my notes: Моите бележки
|
||||
|
@ -1207,7 +1207,7 @@ bg:
|
|||
heading: Потвърдете смяната на електронната поща
|
||||
remove_friend:
|
||||
success: '%{name} беше премахнат от списъка с приятелите.'
|
||||
list:
|
||||
index:
|
||||
title: Потребители
|
||||
heading: Потребители
|
||||
user_role:
|
||||
|
|
|
@ -242,7 +242,7 @@ bn:
|
|||
user: ব্যবহারকারী
|
||||
comment: মন্তব্য
|
||||
area: এলাকা
|
||||
list:
|
||||
index:
|
||||
title: পরিবর্তনসমূহ
|
||||
title_user: '%{user} দ্বারা পরিবর্তন ধার্য'
|
||||
title_friend: আমার বন্ধুদের দ্বারা পরিবর্তনসেট
|
||||
|
@ -268,7 +268,7 @@ bn:
|
|||
new:
|
||||
title: নতুন দিনলিপির ভুক্তি
|
||||
publish_button: প্রকাশ করুন
|
||||
list:
|
||||
index:
|
||||
title: ব্যবহারকারীর দিনলিপি
|
||||
title_friends: বন্ধুর দিনলিপি
|
||||
title_nearby: নিকটবর্তী ব্যবহারকারীর দিনলিপি
|
||||
|
@ -291,7 +291,7 @@ bn:
|
|||
use_map_link: মানচিত্র ব্যবহার করুন
|
||||
save_button: সংরক্ষণ
|
||||
marker_text: দিনলিপির ভুক্তির অবস্থান
|
||||
view:
|
||||
show:
|
||||
title: '%{user}-এর দিনলিপি | %{title}'
|
||||
user_title: '%{user}-এর দিনলিপি'
|
||||
leave_a_comment: মন্তব্য করুন
|
||||
|
@ -1325,7 +1325,7 @@ bn:
|
|||
france: ফ্রান্স
|
||||
italy: ইতালি
|
||||
rest_of_world: অন্যান্য দেশসমূহ
|
||||
view:
|
||||
show:
|
||||
my edits: আমার সম্পাদনা
|
||||
my profile: আমার প্রোফাইল
|
||||
my settings: আমার সেটিংস
|
||||
|
@ -1384,7 +1384,7 @@ bn:
|
|||
go_public:
|
||||
flash success: আপনার সকল সম্পাদনা এখন উন্মুক্ত, এবং এখন আপনার সম্পাদনের অনুমতি
|
||||
রয়েছে।
|
||||
list:
|
||||
index:
|
||||
title: ব্যবহারকারীগণ
|
||||
heading: ব্যবহারকারীগণ
|
||||
auth_association:
|
||||
|
|
|
@ -239,7 +239,7 @@ br:
|
|||
user: Implijer
|
||||
comment: Addispleg
|
||||
area: Takad
|
||||
list:
|
||||
index:
|
||||
title: Hollad kemmoù
|
||||
title_user: Strolladoù kemmoù gant %{user}
|
||||
title_friend: Hollad ar c'hemmoù degaset gant ho mignoned
|
||||
|
@ -265,7 +265,7 @@ br:
|
|||
new:
|
||||
title: Enmoned nevez en deizlevr
|
||||
publish_button: Embann
|
||||
list:
|
||||
index:
|
||||
title: Deizlevrioù an implijerien
|
||||
title_friends: Marilhoù ar vignoned
|
||||
title_nearby: Marilhoù mignoned a-dost
|
||||
|
@ -288,7 +288,7 @@ br:
|
|||
use_map_link: implijout ar gartenn
|
||||
save_button: Enrollañ
|
||||
marker_text: Lec'hiadur an enmoned en deizlevr
|
||||
view:
|
||||
show:
|
||||
title: Deizlevr %{user} | %{title}
|
||||
user_title: Deizlevr %{user}
|
||||
leave_a_comment: Lezel un addispleg
|
||||
|
@ -1969,7 +1969,7 @@ br:
|
|||
body: Ho tigarez, n'eus implijer ebet en anv %{user}. Gwiriit hag-eñ eo skrivet
|
||||
mat, pe marteze hoc'h eus kliket war ul liamm fall.
|
||||
deleted: dilamet
|
||||
view:
|
||||
show:
|
||||
my diary: ma deizlevr
|
||||
new diary entry: enmoned nevez en deizlevr
|
||||
my edits: ma aozadennoù
|
||||
|
@ -2148,7 +2148,7 @@ br:
|
|||
not_a_friend: '%{name} n''eo ket unan eus ho mignoned.'
|
||||
filter:
|
||||
not_an_administrator: Ret eo deoc'h bezañ merour evit kas an ober-mañ da benn.
|
||||
list:
|
||||
index:
|
||||
title: Implijerien
|
||||
heading: Implijerien
|
||||
showing:
|
||||
|
|
|
@ -203,7 +203,7 @@ bs:
|
|||
user: Korisnik
|
||||
comment: Komentar
|
||||
area: Područje
|
||||
list:
|
||||
index:
|
||||
title: Setovi promjena
|
||||
title_user: Setovi promjena od %{user}
|
||||
title_friend: Setovi promjena vaših prijatelja
|
||||
|
@ -218,7 +218,7 @@ bs:
|
|||
new:
|
||||
title: Novi unos u dnevnik
|
||||
publish_button: Objavi
|
||||
list:
|
||||
index:
|
||||
title: Dnevnici korisnika
|
||||
title_friends: Dnevnici prijatelja
|
||||
title_nearby: Dnevnici obližnjih korisnika
|
||||
|
@ -241,7 +241,7 @@ bs:
|
|||
use_map_link: korisititi kartu
|
||||
save_button: Spremiti
|
||||
marker_text: Lokacija unosa u dnevnik
|
||||
view:
|
||||
show:
|
||||
title: Dnevnik korisnika %{user} | %{title}
|
||||
user_title: Dnenvnik korisnika %{user}
|
||||
leave_a_comment: Ostaviti komentar
|
||||
|
@ -1542,7 +1542,7 @@ bs:
|
|||
heading: Korisnik %{user} ne postoji
|
||||
body: Žao nam je, ne postoji korisnik s imenom %{user}. Molimo da provjerite
|
||||
Vaš unos ili da li je poveznica na koju ste kliknuli ispravna.
|
||||
view:
|
||||
show:
|
||||
my diary: Moj dnevnik
|
||||
new diary entry: Novi unos u dnevnik
|
||||
my edits: Moje promjene
|
||||
|
@ -1703,7 +1703,7 @@ bs:
|
|||
not_a_friend: '%{name} nije jedan od Vaših prijatelja.'
|
||||
filter:
|
||||
not_an_administrator: Trebate biti moderator da bi izvršili tu radnju.
|
||||
list:
|
||||
index:
|
||||
title: Korisnici
|
||||
heading: Korisnici
|
||||
showing:
|
||||
|
|
|
@ -262,7 +262,7 @@ ca:
|
|||
user: Usuari
|
||||
comment: Comentari
|
||||
area: Àrea
|
||||
list:
|
||||
index:
|
||||
title: Conjunt de canvis
|
||||
title_user: Conjunt de canvis de %{user}
|
||||
title_friend: Conjunts de canvis dels meus amics
|
||||
|
@ -288,7 +288,7 @@ ca:
|
|||
new:
|
||||
title: Entrada de diari nova
|
||||
publish_button: Publica
|
||||
list:
|
||||
index:
|
||||
title: Diaris d'usuari/a
|
||||
title_friends: Diaris dels amics
|
||||
title_nearby: Diaris d'amics propers
|
||||
|
@ -311,7 +311,7 @@ ca:
|
|||
use_map_link: usa el mapa
|
||||
save_button: Desa
|
||||
marker_text: Localització de l'Entrada del Diari
|
||||
view:
|
||||
show:
|
||||
title: Diari de %{user} | %{title}
|
||||
user_title: Diari de %{user}
|
||||
leave_a_comment: Deixa un comentari
|
||||
|
@ -935,6 +935,10 @@ ca:
|
|||
reports:
|
||||
new:
|
||||
categories:
|
||||
diary_entry:
|
||||
other_label: Un altre
|
||||
diary_comment:
|
||||
other_label: Un altre
|
||||
note:
|
||||
spam_label: Aquesta nota és brossa
|
||||
personal_label: Aquesta nota conté dades personals
|
||||
|
@ -1633,6 +1637,7 @@ ca:
|
|||
identifiable: Identifiable (mostrat en llista de traça i com a punts d'identificació,
|
||||
ordenades amb timestamps)
|
||||
new:
|
||||
upload_trace: Carrega una traça GPS
|
||||
upload_gpx: 'Carregui l''arxiu GPX:'
|
||||
description: 'Descripció:'
|
||||
tags: 'Etiquetes:'
|
||||
|
@ -1974,7 +1979,7 @@ ca:
|
|||
body: No hi ha cap usuari amb el nom %{user}. Comproveu l'ortografia, o potser
|
||||
l'enllaç on heu fet clic és incorrecte.
|
||||
deleted: esborrat
|
||||
view:
|
||||
show:
|
||||
my diary: El meu diari
|
||||
new diary entry: Nova entrada del diari
|
||||
my edits: Les meves edicions
|
||||
|
@ -2155,7 +2160,7 @@ ca:
|
|||
not_a_friend: '%{name} no és un dels seus amics.'
|
||||
filter:
|
||||
not_an_administrator: Cal que sigueu administrador per dur a terme aquesta acció.
|
||||
list:
|
||||
index:
|
||||
title: Usuaris
|
||||
heading: Usuaris
|
||||
showing:
|
||||
|
|
|
@ -235,7 +235,7 @@ ce:
|
|||
user: Декъашхо
|
||||
comment: Коммент
|
||||
area: Область
|
||||
list:
|
||||
index:
|
||||
title: Нисдарш
|
||||
title_user: Декъашхочун %{user} нисдарш
|
||||
title_friend: Хьан доттагӀийн нисдарш
|
||||
|
@ -260,7 +260,7 @@ ce:
|
|||
new:
|
||||
title: Де керла дӀаяздар
|
||||
publish_button: Арахеца
|
||||
list:
|
||||
index:
|
||||
title: Дневникаш
|
||||
title_friends: ДоттагӀийн дневникаш
|
||||
title_nearby: Уллера декъашхойн дневникаш
|
||||
|
@ -283,7 +283,7 @@ ce:
|
|||
use_map_link: Гайта картан тӀехь
|
||||
save_button: Ӏалашдан
|
||||
marker_text: Билгало язйаран меттиг
|
||||
view:
|
||||
show:
|
||||
title: Декъашхочун дневник %{user} | %{title}
|
||||
user_title: Декъашхочун дневник %{user}
|
||||
leave_a_comment: Йитта коммент
|
||||
|
@ -660,7 +660,7 @@ ce:
|
|||
user:
|
||||
new:
|
||||
continue: Кхин дӀа
|
||||
view:
|
||||
show:
|
||||
edits: Нисдарш
|
||||
ago: (%{time_in_words_ago} юха)
|
||||
user location: Декъашхо волу/йолу меттиг
|
||||
|
|
|
@ -270,7 +270,7 @@ cs:
|
|||
user: Uživatel
|
||||
comment: Komentář
|
||||
area: Oblast
|
||||
list:
|
||||
index:
|
||||
title: Sady změn
|
||||
title_user: Sady změn uživatele %{user}
|
||||
title_friend: Sady změn podle mých přátel
|
||||
|
@ -295,7 +295,7 @@ cs:
|
|||
new:
|
||||
title: Nový záznam do deníku
|
||||
publish_button: Publikovat
|
||||
list:
|
||||
index:
|
||||
title: Deníky uživatelů
|
||||
title_friends: Deníky přátel
|
||||
title_nearby: Deníky uživatelů poblíž
|
||||
|
@ -318,7 +318,7 @@ cs:
|
|||
use_map_link: použít mapu
|
||||
save_button: Uložit
|
||||
marker_text: Místo deníkového záznamu
|
||||
view:
|
||||
show:
|
||||
title: Deník uživatele %{user} | %{title}
|
||||
user_title: Deník uživatele %{user}
|
||||
leave_a_comment: Zanechat komentář
|
||||
|
@ -1744,6 +1744,8 @@ cs:
|
|||
upload_trace: Nahrát GPS stopu
|
||||
trace_uploaded: Váš GPX soubor byl uložen a čeká na zařazení do databáze. Obvykle
|
||||
to netrvá víc jak půl hodiny. Až bude zařazen, budete informováni emailem.
|
||||
upload_failed: Promiňte, nahrání GPX se nezdařilo. Na problém byl upozorněn
|
||||
správce. Zkuste to prosím znovu
|
||||
traces_waiting:
|
||||
few: Na zpracování čekají %{count} vaše stopy. Zvažte, zda by nebylo před
|
||||
nahráním dalších lepší počkat, dokud nebudou zpracovány, abyste neblokovali
|
||||
|
@ -1772,6 +1774,8 @@ cs:
|
|||
visibility: 'Viditelnost:'
|
||||
visibility_help: co tohle znamená?
|
||||
visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=cs
|
||||
update:
|
||||
updated: Stopa nahrána
|
||||
trace_optionals:
|
||||
tags: Štítky
|
||||
show:
|
||||
|
@ -2082,7 +2086,7 @@ cs:
|
|||
body: Je mi líto, ale uživatel %{user} neexistuje. Zkontrolujte překlepy nebo
|
||||
jste možná klikli na chybný odkaz.
|
||||
deleted: smazán
|
||||
view:
|
||||
show:
|
||||
my diary: Můj deníček
|
||||
new diary entry: nový záznam do deníčku
|
||||
my edits: Moje úpravy
|
||||
|
@ -2261,7 +2265,7 @@ cs:
|
|||
not_a_friend: '%{name} není mezi vašimi přáteli.'
|
||||
filter:
|
||||
not_an_administrator: K provedení této akce musíte být správce.
|
||||
list:
|
||||
index:
|
||||
title: Uživatelé
|
||||
heading: Uživatelé
|
||||
showing:
|
||||
|
|
|
@ -229,7 +229,7 @@ cy:
|
|||
user: Defnyddiwr
|
||||
comment: Sylw
|
||||
area: Maes
|
||||
list:
|
||||
index:
|
||||
title: Setiau-newid
|
||||
title_user: Set-newid gan %{user}
|
||||
title_friend: Setiau-newid eich cyfeillion
|
||||
|
@ -255,7 +255,7 @@ cy:
|
|||
new:
|
||||
title: Cofnod Dyddiadur Newydd
|
||||
publish_button: Cyhoeddi
|
||||
list:
|
||||
index:
|
||||
title: Dyddiaduron defnyddwyr
|
||||
title_friends: Dyddiaduron ffrindiau
|
||||
title_nearby: Dyddiaduron defnyddwyr gerllaw
|
||||
|
@ -278,7 +278,7 @@ cy:
|
|||
use_map_link: defnyddiwch y map
|
||||
save_button: Arbed
|
||||
marker_text: Lleoliad cofnod y dyddiadur
|
||||
view:
|
||||
show:
|
||||
title: yddiadur %{user} | %{title}
|
||||
user_title: dyddiadur %{user}
|
||||
leave_a_comment: Gadael sylw
|
||||
|
@ -1391,7 +1391,7 @@ cy:
|
|||
no_such_user:
|
||||
title: Dim defnyddiwr o'r fath
|
||||
heading: Nid yw'r defnyddiwr %{user} yn bodoli.
|
||||
view:
|
||||
show:
|
||||
my diary: Fy Nyddiadur
|
||||
new diary entry: cofnod dyddiadur newydd
|
||||
my edits: Fy Ngolygiadau
|
||||
|
@ -1510,7 +1510,7 @@ cy:
|
|||
button: Peidio bod yn gyfaill
|
||||
success: Tynnwyd %{name} o'ch cyfeillion.
|
||||
not_a_friend: Nid yw %{name} yn un o'ch cyfeillion.
|
||||
list:
|
||||
index:
|
||||
title: Defnyddwyr
|
||||
heading: Defnyddwyr
|
||||
user_role:
|
||||
|
|
|
@ -261,7 +261,7 @@ da:
|
|||
user: Bruger
|
||||
comment: Kommentar
|
||||
area: Område
|
||||
list:
|
||||
index:
|
||||
title: Ændringssæt
|
||||
title_user: Ændringssæt af %{user}
|
||||
title_friend: Ændringssæt af mine venner
|
||||
|
@ -287,7 +287,7 @@ da:
|
|||
new:
|
||||
title: Nyt blogindlæg
|
||||
publish_button: Offentliggør
|
||||
list:
|
||||
index:
|
||||
title: Brugerblogs
|
||||
title_friends: Venners blogs
|
||||
title_nearby: Blogs fra brugere i nærheden
|
||||
|
@ -310,7 +310,7 @@ da:
|
|||
use_map_link: brug kort
|
||||
save_button: Gem
|
||||
marker_text: Placering for blogindlæg
|
||||
view:
|
||||
show:
|
||||
title: '%{user}''s blog | %{title}'
|
||||
user_title: '%{user}''s blog'
|
||||
leave_a_comment: Tilføj en kommentar
|
||||
|
@ -2033,7 +2033,7 @@ da:
|
|||
body: Der findes desværre ingen bruger ved navn %{user}. Tjek venligst stavningen,
|
||||
ellers kan linket du trykkede på være forkert.
|
||||
deleted: slettet
|
||||
view:
|
||||
show:
|
||||
my diary: Min blog
|
||||
new diary entry: nyt blogindlæg
|
||||
my edits: Mine redigeringer
|
||||
|
@ -2212,7 +2212,7 @@ da:
|
|||
not_a_friend: '%{name} er ikke en af dine venner.'
|
||||
filter:
|
||||
not_an_administrator: Du skal være administrator for at gøre dette.
|
||||
list:
|
||||
index:
|
||||
title: Brugere
|
||||
heading: Brugere
|
||||
showing:
|
||||
|
|
|
@ -285,7 +285,7 @@ de:
|
|||
user: Benutzer
|
||||
comment: Kommentar
|
||||
area: Bereich
|
||||
list:
|
||||
index:
|
||||
title: Änderungssätze
|
||||
title_user: Änderungssätze von %{user}
|
||||
title_friend: Änderungssätze meiner Freunde
|
||||
|
@ -312,7 +312,7 @@ de:
|
|||
new:
|
||||
title: Neuer Blog-Eintrag
|
||||
publish_button: Veröffentlichen
|
||||
list:
|
||||
index:
|
||||
title: Benutzer-Blogs
|
||||
title_friends: Blogs deiner Freunde
|
||||
title_nearby: Blogs von Nutzern in der Nähe
|
||||
|
@ -335,7 +335,7 @@ de:
|
|||
use_map_link: Ort auf Karte auswählen
|
||||
save_button: Speichern
|
||||
marker_text: Ort des Blogeintrags
|
||||
view:
|
||||
show:
|
||||
title: Blog von %{user} | %{title}
|
||||
user_title: Blog von %{user}
|
||||
leave_a_comment: Schreibe einen Kommentar
|
||||
|
@ -2174,7 +2174,7 @@ de:
|
|||
body: Es gibt leider keinen Benutzer mit dem Namen %{user}. Du hast dich möglicherweise
|
||||
vertippt oder bist einem ungültigem Link gefolgt.
|
||||
deleted: gelöscht
|
||||
view:
|
||||
show:
|
||||
my diary: Mein Blog
|
||||
new diary entry: Neuer Blogeintrag
|
||||
my edits: Meine Änderungen
|
||||
|
@ -2358,7 +2358,7 @@ de:
|
|||
not_a_friend: '%{name} ist nicht dein Freund.'
|
||||
filter:
|
||||
not_an_administrator: Du musst ein Administrator sein um diese Aktion auszuführen.
|
||||
list:
|
||||
index:
|
||||
title: Benutzer
|
||||
heading: Benutzer
|
||||
showing:
|
||||
|
|
|
@ -200,7 +200,7 @@ diq:
|
|||
user: Karber
|
||||
comment: Mışewre
|
||||
area: Erz
|
||||
list:
|
||||
index:
|
||||
title: Seta vurnayışan
|
||||
title_user: Vurriyayışê setê %{user}
|
||||
title_friend: Qeydê vurnayışê embazan
|
||||
|
@ -211,7 +211,7 @@ diq:
|
|||
diary_entry:
|
||||
new:
|
||||
publish_button: Vıla ke
|
||||
list:
|
||||
index:
|
||||
user_title: '%{user} (Rocek)'
|
||||
edit:
|
||||
subject: 'Mewzu:'
|
||||
|
@ -221,7 +221,7 @@ diq:
|
|||
latitude: 'Verıniye:'
|
||||
longitude: 'Derganiye:'
|
||||
save_button: Qeyd ke
|
||||
view:
|
||||
show:
|
||||
login: Cıkewtış
|
||||
save_button: Qeyd ke
|
||||
diary_entry:
|
||||
|
@ -912,7 +912,7 @@ diq:
|
|||
no_such_user:
|
||||
title: Karbero do wuna çıniyo
|
||||
heading: '%{user} name dı karber çıniyo'
|
||||
view:
|
||||
show:
|
||||
my diary: Rocekê mı
|
||||
new diary entry: Roceko newe defi
|
||||
my edits: Iştirakê mı
|
||||
|
@ -1004,7 +1004,7 @@ diq:
|
|||
button: Xo rê embaz ke
|
||||
remove_friend:
|
||||
button: Embazan ra vec
|
||||
list:
|
||||
index:
|
||||
title: Karberi
|
||||
heading: Karberi
|
||||
showing:
|
||||
|
|
|
@ -220,7 +220,7 @@ dsb:
|
|||
user: Wužywaŕ
|
||||
comment: Komentar
|
||||
area: Wurězk
|
||||
list:
|
||||
index:
|
||||
title: Sajźby změnow
|
||||
title_user: Sajźby změnow wót %{user}
|
||||
title_friend: Změny twójich pśijaśelow
|
||||
|
@ -237,7 +237,7 @@ dsb:
|
|||
diary_entry:
|
||||
new:
|
||||
title: Nowy zapisk dnjownika
|
||||
list:
|
||||
index:
|
||||
title: Dnjowniki wužywarjow
|
||||
title_friends: Dnjowniki pśijaśelow
|
||||
title_nearby: Dnjowniki wužywarjow w bliskosći
|
||||
|
@ -260,7 +260,7 @@ dsb:
|
|||
use_map_link: kórtu wužywaś
|
||||
save_button: Składowaś
|
||||
marker_text: Městno zapiska dnjownika
|
||||
view:
|
||||
show:
|
||||
title: Dnjownik %{user} | %{title}
|
||||
user_title: dnjownik wužywarja %{user}
|
||||
leave_a_comment: Komentar zawóstajiś
|
||||
|
@ -1677,7 +1677,7 @@ dsb:
|
|||
heading: Wužywaŕ %{user} njeeksistěrujo
|
||||
body: Bóžko njejo wužywaŕ z mjenim %{user}. Pšosym pśekontrolěruj swój pšawopis,
|
||||
abo wótkaz, na kótaryž sy kliknuł, jo njepłaśiwy.
|
||||
view:
|
||||
show:
|
||||
my diary: Mój dnjownik
|
||||
new diary entry: nowy dnjownikowy zapisk
|
||||
my edits: Móje změny
|
||||
|
@ -1847,7 +1847,7 @@ dsb:
|
|||
not_a_friend: '%{name} njejo twój pśijaśel.'
|
||||
filter:
|
||||
not_an_administrator: Musyš administrator byś, aby wuwjadł toś tu akciju.
|
||||
list:
|
||||
index:
|
||||
title: Wužywarje
|
||||
heading: Wužywarje
|
||||
showing:
|
||||
|
|
|
@ -269,7 +269,7 @@ el:
|
|||
user: Χρήστης
|
||||
comment: Σχόλιο
|
||||
area: Περιοχή
|
||||
list:
|
||||
index:
|
||||
title: Ομάδες αλλαγών
|
||||
title_user: Ομάδες αλλαγών από τον %{user}
|
||||
title_friend: Ομάδες αλλαγών από τους φίλους μου
|
||||
|
@ -295,7 +295,7 @@ el:
|
|||
new:
|
||||
title: Νέα καταχώρηση ημερολογίου
|
||||
publish_button: Δημοσίευση
|
||||
list:
|
||||
index:
|
||||
title: Ημερολόγια χρηστών
|
||||
title_friends: Ημερολόγια φίλων
|
||||
title_nearby: Ημερολόγια κοντινών χρηστών
|
||||
|
@ -318,7 +318,7 @@ el:
|
|||
use_map_link: χρησιμοποιήστε τον χάρτη
|
||||
save_button: Αποθήκευση
|
||||
marker_text: Τοποθεσία καταχώρησης ημερολογίου
|
||||
view:
|
||||
show:
|
||||
title: το ημερολόγιο του %{user} | %{title}
|
||||
user_title: ημερολόγιο του %{user}
|
||||
leave_a_comment: Αφήστε ένα σχόλιο
|
||||
|
@ -2150,7 +2150,7 @@ el:
|
|||
ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσω του οποίου φτάσατε σε αυτήν
|
||||
τη σελίδα.
|
||||
deleted: διεγράφη
|
||||
view:
|
||||
show:
|
||||
my diary: Το Ημερολόγιό Μου
|
||||
new diary entry: νέα καταχώρηση ημερολογίου
|
||||
my edits: Οι Επεξεργασίες Μου
|
||||
|
@ -2336,7 +2336,7 @@ el:
|
|||
not_a_friend: Ο χρήστης %{name} δεν είναι ένας από τους φίλους σας.
|
||||
filter:
|
||||
not_an_administrator: Πρέπει να είστε διαχειριστής για να το κάνετε αυτό.
|
||||
list:
|
||||
index:
|
||||
title: Χρήστες
|
||||
heading: Χρήστες
|
||||
showing:
|
||||
|
|
|
@ -252,7 +252,7 @@ en-GB:
|
|||
user: User
|
||||
comment: Comment
|
||||
area: Area
|
||||
list:
|
||||
index:
|
||||
title: Changesets
|
||||
title_user: Changesets by %{user}
|
||||
title_friend: Changesets by your friends
|
||||
|
@ -277,7 +277,7 @@ en-GB:
|
|||
new:
|
||||
title: New Diary Entry
|
||||
publish_button: Publish
|
||||
list:
|
||||
index:
|
||||
title: Users' diaries
|
||||
title_friends: Friends' diaries
|
||||
title_nearby: Nearby Users' diaries
|
||||
|
@ -300,7 +300,7 @@ en-GB:
|
|||
use_map_link: use map
|
||||
save_button: Save
|
||||
marker_text: Diary entry location
|
||||
view:
|
||||
show:
|
||||
title: '%{user}''s diary | %{title}'
|
||||
user_title: '%{user}''s diary'
|
||||
leave_a_comment: Leave a comment
|
||||
|
@ -1909,7 +1909,7 @@ en-GB:
|
|||
body: Sorry, there is no user with the name %{user}. Please check your spelling,
|
||||
or maybe the link you clicked is wrong.
|
||||
deleted: deleted
|
||||
view:
|
||||
show:
|
||||
my diary: My Diary
|
||||
new diary entry: new diary entry
|
||||
my edits: My Edits
|
||||
|
@ -2083,7 +2083,7 @@ en-GB:
|
|||
not_a_friend: '%{name} is not one of your friends.'
|
||||
filter:
|
||||
not_an_administrator: You need to be an administrator to perform that action.
|
||||
list:
|
||||
index:
|
||||
title: Users
|
||||
heading: Users
|
||||
showing:
|
||||
|
|
|
@ -228,7 +228,7 @@ en:
|
|||
user: "User"
|
||||
comment: "Comment"
|
||||
area: "Area"
|
||||
list:
|
||||
index:
|
||||
title: "Changesets"
|
||||
title_user: "Changesets by %{user}"
|
||||
title_friend: "Changesets by my friends"
|
||||
|
@ -253,7 +253,7 @@ en:
|
|||
new:
|
||||
title: New Diary Entry
|
||||
publish_button: "Publish"
|
||||
list:
|
||||
index:
|
||||
title: "Users' diaries"
|
||||
title_friends: "Friends' diaries"
|
||||
title_nearby: "Nearby Users' diaries"
|
||||
|
@ -276,7 +276,7 @@ en:
|
|||
use_map_link: "use map"
|
||||
save_button: "Save"
|
||||
marker_text: Diary entry location
|
||||
view:
|
||||
show:
|
||||
title: "%{user}'s diary | %{title}"
|
||||
user_title: "%{user}'s diary"
|
||||
leave_a_comment: "Leave a comment"
|
||||
|
@ -1055,9 +1055,8 @@ en:
|
|||
intro_header: Welcome to OpenStreetMap!
|
||||
intro_text: OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
|
||||
intro_2_create_account: "Create a user account"
|
||||
partners_html: "Hosting is supported by %{ucl}, %{bytemark}, %{ic}, and other %{partners}."
|
||||
hosting_partners_html: "Hosting is supported by %{ucl}, %{bytemark}, and other %{partners}."
|
||||
partners_ucl: "UCL"
|
||||
partners_ic: "Imperial College London"
|
||||
partners_bytemark: "Bytemark Hosting"
|
||||
partners_partners: "partners"
|
||||
osm_offline: "The OpenStreetMap database is currently offline while essential database maintenance work is carried out."
|
||||
|
@ -2006,7 +2005,7 @@ en:
|
|||
heading: "The user %{user} does not exist"
|
||||
body: "Sorry, there is no user with the name %{user}. Please check your spelling, or maybe the link you clicked is wrong."
|
||||
deleted: "deleted"
|
||||
view:
|
||||
show:
|
||||
my diary: My Diary
|
||||
new diary entry: new diary entry
|
||||
my edits: My Edits
|
||||
|
@ -2168,7 +2167,7 @@ en:
|
|||
not_a_friend: "%{name} is not one of your friends."
|
||||
filter:
|
||||
not_an_administrator: "You need to be an administrator to perform that action."
|
||||
list:
|
||||
index:
|
||||
title: Users
|
||||
heading: Users
|
||||
showing:
|
||||
|
|
|
@ -246,7 +246,7 @@ eo:
|
|||
user: Uzanto
|
||||
comment: Komenti
|
||||
area: Areo
|
||||
list:
|
||||
index:
|
||||
title: Ŝanĝaroj
|
||||
title_user: Ŝanĝaroj de %{user}
|
||||
title_friend: Ŝanĝaroj de miaj amikoj
|
||||
|
@ -271,7 +271,7 @@ eo:
|
|||
new:
|
||||
title: Nova taglibra afiŝo
|
||||
publish_button: Publiki
|
||||
list:
|
||||
index:
|
||||
title: Taglibroj de uzantoj
|
||||
title_friends: Taglibroj de amikoj
|
||||
title_nearby: Taglibroj de proksimaj uzantoj
|
||||
|
@ -294,7 +294,7 @@ eo:
|
|||
use_map_link: uzi mapon
|
||||
save_button: Konservi
|
||||
marker_text: Kie krei la afiŝon
|
||||
view:
|
||||
show:
|
||||
title: Taglibro de %{user} | %{title}
|
||||
user_title: Taglibro de %{user}
|
||||
leave_a_comment: Komenti
|
||||
|
@ -2054,7 +2054,7 @@ eo:
|
|||
body: Bedaŭrinde, ne ekzistas uzanto kun la nomo %{user}. Bonvolu kontroli pri
|
||||
liter-eraroj, aŭ eble vi alklakis mis-ligilon.
|
||||
deleted: forigita
|
||||
view:
|
||||
show:
|
||||
my diary: Mia taglibro
|
||||
new diary entry: nova taglibra afiŝo
|
||||
my edits: Miaj redaktoj
|
||||
|
@ -2229,7 +2229,7 @@ eo:
|
|||
not_a_friend: '%{name} ne estas amiko via.'
|
||||
filter:
|
||||
not_an_administrator: Vi devas esti administranto por fari tion.
|
||||
list:
|
||||
index:
|
||||
title: Uzantoj
|
||||
heading: Uzantoj
|
||||
showing:
|
||||
|
|
|
@ -281,7 +281,7 @@ es:
|
|||
user: Usuario
|
||||
comment: Comentario
|
||||
area: Área
|
||||
list:
|
||||
index:
|
||||
title: Conjuntos de cambios
|
||||
title_user: Conjunto de cambios por %{user}
|
||||
title_friend: Conjuntos de cambios realizados por mis amigos
|
||||
|
@ -308,7 +308,7 @@ es:
|
|||
new:
|
||||
title: Nueva entrada en el diario
|
||||
publish_button: Publicar
|
||||
list:
|
||||
index:
|
||||
title: Diarios de usuarios
|
||||
title_friends: Diarios de amigos
|
||||
title_nearby: Diarios de usuarios cercanos
|
||||
|
@ -331,7 +331,7 @@ es:
|
|||
use_map_link: usar mapa
|
||||
save_button: Guardar
|
||||
marker_text: Lugar de la entrada del diario
|
||||
view:
|
||||
show:
|
||||
title: Diario de %{user} | %{title}
|
||||
user_title: Diario de %{user}
|
||||
leave_a_comment: Dejar un comentario
|
||||
|
@ -1793,6 +1793,8 @@ es:
|
|||
trace_uploaded: Tu archivo GPX ha sido subido y está pendiente de inserción
|
||||
en la base de datos. Esto normalmente ocurre en la próxima media hora, y se
|
||||
te enviará un correo electrónico al terminar.
|
||||
upload_failed: Lo sentimos, no se ha podido subir el GPX. Un administrador ha
|
||||
sido alertado del error. Por favor, inténtalo de nuevo.
|
||||
traces_waiting:
|
||||
one: Tienes %{count} traza esperando por subir. Por favor, considera esperar
|
||||
a que esta termine antes de subir más, para no bloquear la cola a otros
|
||||
|
@ -1817,6 +1819,8 @@ es:
|
|||
save_button: Guardar cambios
|
||||
visibility: 'Visibilidad:'
|
||||
visibility_help: ¿Qué significa esto?
|
||||
update:
|
||||
updated: Traza actualizada
|
||||
trace_optionals:
|
||||
tags: Etiquetas
|
||||
show:
|
||||
|
@ -2136,7 +2140,7 @@ es:
|
|||
body: Lo sentimos, no existe ningún usuario con el nombre %{user}. Por favor,
|
||||
verifica las letras, o tal vez el vínculo en el que has hecho click está equivocado.
|
||||
deleted: borrado
|
||||
view:
|
||||
show:
|
||||
my diary: Mi diario
|
||||
new diary entry: nueva entrada de diario
|
||||
my edits: Mis ediciones
|
||||
|
@ -2318,7 +2322,7 @@ es:
|
|||
not_a_friend: '%{name} no es uno de tus amigos.'
|
||||
filter:
|
||||
not_an_administrator: Necesitas ser administrador para ejecutar esta acción.
|
||||
list:
|
||||
index:
|
||||
title: Usuarios
|
||||
heading: Usuarios
|
||||
showing:
|
||||
|
|
|
@ -238,7 +238,7 @@ et:
|
|||
user: Kasutaja
|
||||
comment: Kommentaar
|
||||
area: Ala
|
||||
list:
|
||||
index:
|
||||
title: Muudatuskogumid
|
||||
title_user: Kasutaja %{user} muudatuskogumid
|
||||
title_friend: Sõprade muudatuskogumid
|
||||
|
@ -263,7 +263,7 @@ et:
|
|||
new:
|
||||
title: Uus päeviku sissekanne
|
||||
publish_button: Avalda
|
||||
list:
|
||||
index:
|
||||
title: Kasutajate päevikud
|
||||
title_friends: Sõprade päevikud
|
||||
title_nearby: Lähedalasuvate kasutajate päevikud
|
||||
|
@ -286,7 +286,7 @@ et:
|
|||
use_map_link: kasuta kaarti
|
||||
save_button: Salvesta
|
||||
marker_text: Päeviku sissekande tegemise asukoht
|
||||
view:
|
||||
show:
|
||||
title: Kasutaja %{user} päevik | %{title}
|
||||
user_title: Kasutaja %{user} päevik
|
||||
leave_a_comment: Kommenteeri
|
||||
|
@ -1767,7 +1767,7 @@ et:
|
|||
heading: Kasutajat %{user} pole olemas
|
||||
body: Vabandust, kuid kasutaja nimega %{user} puudub. Palun kontrolli kirjapilti.
|
||||
Võimalik, et link, millele klõpsasid, on vigane.
|
||||
view:
|
||||
show:
|
||||
my diary: Minu päevik
|
||||
new diary entry: uus päevikusissekanne
|
||||
my edits: Minu muudatused
|
||||
|
@ -1942,7 +1942,7 @@ et:
|
|||
not_a_friend: '%{name} ei ole üks sinu sõpradest.'
|
||||
filter:
|
||||
not_an_administrator: Selle tegevuse sooritamiseks pead sa olema administraator.
|
||||
list:
|
||||
index:
|
||||
title: Kasutajad
|
||||
heading: Kasutajad
|
||||
showing:
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
# Author: EukeneFL
|
||||
# Author: Gorkaazk
|
||||
# Author: Iñaki LL
|
||||
# Author: Maite
|
||||
# Author: Mikel Ibaiba
|
||||
# Author: MikelEH
|
||||
# Author: PerroVerd
|
||||
|
@ -251,7 +252,7 @@ eu:
|
|||
user: Erabiltzailea
|
||||
comment: Iruzkina
|
||||
area: Eremua
|
||||
list:
|
||||
index:
|
||||
title: Aldaketak
|
||||
title_user: '%{user}k egindako aldaketak'
|
||||
title_friend: Nire lagunek egindako aldaketak
|
||||
|
@ -277,7 +278,7 @@ eu:
|
|||
new:
|
||||
title: Eguneroko Sarrera Berria
|
||||
publish_button: Argitaratu
|
||||
list:
|
||||
index:
|
||||
title: Erabiltzaileen egunerokoak
|
||||
title_friends: Lagunen egunerokoak
|
||||
title_nearby: Hurbileko erabiltzaileen egunerokoak
|
||||
|
@ -300,7 +301,7 @@ eu:
|
|||
use_map_link: erabili mapa
|
||||
save_button: Gorde
|
||||
marker_text: Eguneroko sarrera helbidea
|
||||
view:
|
||||
show:
|
||||
title: '%{user}(r)en egunerokoa | %{title}'
|
||||
user_title: '%{user}(r)en egunerokoa'
|
||||
leave_a_comment: Iruzkin bat utzi
|
||||
|
@ -1748,6 +1749,8 @@ eu:
|
|||
upload_trace: GPS Aztarna igo
|
||||
trace_uploaded: Zure GPX fitxategia kargatu da eta datu basean sartzeko zain
|
||||
dago. Ordu erdi barru egongo da eta posta elektronikoz bidaliko zaizu amaitzean.
|
||||
upload_failed: Barkatu, GPX-aren kargak huts egin du. Administratzaile bat akatsaz
|
||||
ohartarazi da. Mesedez berriz saiatu
|
||||
traces_waiting:
|
||||
one: '%{count} aztarna daukazu kargatzeko zain. Kontutan hartu gehiago igotzeko
|
||||
agindua ez ematea zain zauden bitartean, beste erabiltzaile batzuei ilarak
|
||||
|
@ -1772,6 +1775,8 @@ eu:
|
|||
save_button: Aldaketak gorde
|
||||
visibility: Ikusgarritasuna;
|
||||
visibility_help: Zer esan nahi du honek?
|
||||
update:
|
||||
updated: Bilaketa eguneratua
|
||||
trace_optionals:
|
||||
tags: Etiketak
|
||||
show:
|
||||
|
@ -2087,7 +2092,7 @@ eu:
|
|||
body: Barkatu, ez dago %{user} izenarekin erabiltzailerik. Egiaztatu ortografia,
|
||||
edo agian egin duzun esteka gaizki dago.
|
||||
deleted: ezabatua
|
||||
view:
|
||||
show:
|
||||
my diary: Nire egunerokoa
|
||||
new diary entry: eguneroko sarrera berria
|
||||
my edits: Nire aldaketak
|
||||
|
@ -2264,7 +2269,7 @@ eu:
|
|||
not_a_friend: '%{name} ez da zure laguna.'
|
||||
filter:
|
||||
not_an_administrator: Ekintza hori burutzeko administratzaile izan behar duzu.
|
||||
list:
|
||||
index:
|
||||
title: Erabiltzaileak
|
||||
heading: Erabiltzaileak
|
||||
showing:
|
||||
|
|
|
@ -68,7 +68,7 @@ fa:
|
|||
tracetag: برچسب رد
|
||||
user: کاربر
|
||||
user_preference: ترجیحات کاربر
|
||||
user_token: رمزینهٔ کاربر
|
||||
user_token: توکن کاربر
|
||||
way: راه
|
||||
way_node: گره راه
|
||||
way_tag: برچسب راه
|
||||
|
@ -228,9 +228,9 @@ fa:
|
|||
open_title: 'یادداشت حلنشده #%{note_name}'
|
||||
closed_title: 'یادداشت حلشده #%{note_name}'
|
||||
hidden_title: 'یادداشت پنهان #%{note_name}'
|
||||
open_by: ایجاد شده توسط %{user} <abbr title='%{exact_time}'>%{when} قبل </abbr>
|
||||
open_by_anonymous: ایجاد شده توسط ناشناس <abbr title='%{exact_time}'>%{when}
|
||||
قبل</abbr>
|
||||
open_by: <abbr title='%{exact_time}'>%{when} قبل </abbr> %{user} ایجادش کرد
|
||||
open_by_anonymous: <abbr title='%{exact_time}'>%{when} قبل</abbr> فرد ناشناس
|
||||
ایجادش کرد.
|
||||
commented_by: نظر از %{user}، <abbr title='%{exact_time}'>%{when} قبل</abbr>
|
||||
commented_by_anonymous: نظر از ناشناس، <abbr title='%{exact_time}'>%{when} قبل</abbr>
|
||||
closed_by: '%{user} آن را حل کرد، <abbr title=''%{exact_time}''>%{when} قبل</abbr>'
|
||||
|
@ -262,7 +262,7 @@ fa:
|
|||
user: کاربر
|
||||
comment: نظر
|
||||
area: منطقه
|
||||
list:
|
||||
index:
|
||||
title: تغییرات انجام شده
|
||||
title_user: تغییرات انجام شده توسط %{user}
|
||||
title_friend: تغییرات انجام شده توسط دوستان من
|
||||
|
@ -288,7 +288,7 @@ fa:
|
|||
new:
|
||||
title: روزنوشت جدید
|
||||
publish_button: انتشار
|
||||
list:
|
||||
index:
|
||||
title: روزنوشتهای کاربران
|
||||
title_friends: روزنوشتهای دوستان
|
||||
title_nearby: روزنوشتهای کاربران نزدیک
|
||||
|
@ -311,7 +311,7 @@ fa:
|
|||
use_map_link: استفاده از نقشه
|
||||
save_button: ذخیره
|
||||
marker_text: مکان روزنوشت
|
||||
view:
|
||||
show:
|
||||
title: روزنوشت %{user} | %{title}
|
||||
user_title: روزنوشتهای %{user}
|
||||
leave_a_comment: ارسال نظر
|
||||
|
@ -339,6 +339,7 @@ fa:
|
|||
comment_from: نظر از %{link_user} در %{comment_created_at}
|
||||
hide_link: پنهان کردن این نظر
|
||||
confirm: تأیید
|
||||
report: گزارش این نظر
|
||||
location:
|
||||
location: 'مکان:'
|
||||
view: نمایش
|
||||
|
@ -919,12 +920,18 @@ fa:
|
|||
index:
|
||||
reported_user: کاربر گزارششده
|
||||
reports: گزارشها
|
||||
last_updated_time_html: <abbr title='%{title}'>%{time} پیش</abbr>
|
||||
last_updated_time_user_html: <abbr title='%{title}'>%{time} پیش</abbr> توسط
|
||||
%{user}
|
||||
link_to_reports: نمایش گزارشها
|
||||
reports_count:
|
||||
one: 1 گزارش
|
||||
other: '%{count} گزارش'
|
||||
reported_item: گزارشها
|
||||
update:
|
||||
new_report: گزارشتان با موفقیت ثبت شد
|
||||
successful_update: گزارشتان با موفقیت بهروز شد
|
||||
provide_details: لطفاً جزئیات لازم را ارائه دهید
|
||||
show:
|
||||
reports:
|
||||
zero: گزارشی نیست
|
||||
|
@ -934,6 +941,9 @@ fa:
|
|||
new_reports: گزارشهای تازه
|
||||
reports:
|
||||
reported_by_html: '%{user} آن را بهعنوان %{category} گزارش کرد'
|
||||
helper:
|
||||
reportable_title:
|
||||
note: یادداشت %{note_id}
|
||||
reports:
|
||||
new:
|
||||
title_html: گزارش %{link}
|
||||
|
@ -946,6 +956,9 @@ fa:
|
|||
diary_comment:
|
||||
spam_label: این نظر (بر روزنوشت) هرزنامه است/دارد
|
||||
threat_label: این نظر (بر روزنوشت) تهدیدآمیز است
|
||||
note:
|
||||
spam_label: این یادداشت هرزنامه است
|
||||
abusive_label: این یادداشت زشت است
|
||||
create:
|
||||
successful_report: گزارشتان با موفقیت ثبت شد
|
||||
layouts:
|
||||
|
@ -1071,23 +1084,23 @@ fa:
|
|||
anonymous: کاربر ناشناس
|
||||
greeting: سلام ،
|
||||
commented:
|
||||
subject_own: '[OpenStreetMap] %{commenter} روی یکی از یادداشتهایتان نظر داده
|
||||
است'
|
||||
subject_own: '[OpenStreetMap] %{commenter} روی یکی از یادداشتهای شما نظر
|
||||
داده است'
|
||||
subject_other: '[OpenStreetMap] %{commenter} روی یادداشت موردعلاقهتان نظر
|
||||
داده'
|
||||
your_note: '%{commenter} روی یکی از یادداشتهای شما روی نقشه نزدیک %{place}
|
||||
نظر گذاشت.'
|
||||
your_note: '%{commenter} روی یکی از یادداشتهای شما روی نقشه نزدیک به %{place}
|
||||
نظر گذاشته.'
|
||||
commented_note: '%{commenter} روی یک از یادداشتهای نقشه که شما بر آن نظر
|
||||
دادهاید نظر داد. این یادداشت نزدیک %{place} است.'
|
||||
دادهاید نظر داد. این یادداشت نزدیک به %{place} است.'
|
||||
closed:
|
||||
subject_own: '[OpenStreetMap] %{commenter} یکی از یادداشتهای شما را حل کرده
|
||||
است'
|
||||
subject_other: '[OpenStreetMap] %{commenter} یکی از یادداشتهای موردعلاقه
|
||||
subject_other: '[OpenStreetMap] %{commenter} یکی از یادداشتهای موردعلاقهٔ
|
||||
شما را حل کرد'
|
||||
your_note: '%{commenter} یکی از یادداشتهای شما بر نقشه در نزدیکی %{place}
|
||||
را حل کرد.'
|
||||
commented_note: '%{commenter} یکی از یادداشتهای نقشه که شما بر آن نظر گذاشتهاید
|
||||
را حل کرد. یادداشت نزدیک %{place} است.'
|
||||
را حل کرد. یادداشت نزدیک به %{place} است.'
|
||||
reopened:
|
||||
subject_own: '[OpenStreetMap] %{commenter} یکی از یادداشتهای شما را دوباره
|
||||
فعال کرد'
|
||||
|
@ -1096,7 +1109,7 @@ fa:
|
|||
your_note: '%{commenter} یکی از یادداشتهای شما بر نقشه در نزدیکی %{place}
|
||||
را دوباره فعال کرد.'
|
||||
commented_note: '%{commenter} یکی از یادداشتهای نقشه را که شما بر آن نظر
|
||||
گذاشتهاید دوباره فعال کرد. یادداشت نزدیک %{place} است.'
|
||||
گذاشتهاید دوباره فعال کرد. یادداشت نزدیک به %{place} است.'
|
||||
details: اطلاعات بیشتر درباره این یادداشت را در %{url} ببینید.
|
||||
changeset_comment_notification:
|
||||
hi: سلام %{to_user}،
|
||||
|
@ -1588,7 +1601,7 @@ fa:
|
|||
add_a_note:
|
||||
title: زمانی برای ویرایش ندارید؟ یادداشت اضافه کنید!
|
||||
paragraph_1_html: "اگر میخواهید فقط چیز کوچکی را درست کنید و زمانی برای ثبت
|
||||
نام و یادگیری ویرایش ندارید، بهراحتی \nیک یادداشت بنویسید."
|
||||
نام و یادگیری ویرایش ندارید، بهآسانی \nیک یادداشت بنویسید."
|
||||
paragraph_2_html: |-
|
||||
فقط بروید به <a href='%{map_url}'>نقشه</a> و روی آیکون یادداشت کلیک کنید:
|
||||
<span class='icon note'></span>. اینجوری یک علامت گذار به نقشه اضافه میشود، که میتوانید با کشیدن جابجایش کنید. پیامتان را اضافه کنید، بعد روی ذخیره کلیک کنید، و سایر نقشه کشان بررسی خواهند کرد.
|
||||
|
@ -1716,17 +1729,18 @@ fa:
|
|||
require_moderator:
|
||||
not_a_moderator: برای انجام آن عمل نیاز هست مدیر باشید.
|
||||
setup_user_auth:
|
||||
blocked: دسترسی شما به API مسدود شده. برای یافتن اطلاعات بیشتر لطفاً وارد رابط
|
||||
کاربری وب شوید.
|
||||
blocked: دسترسی شما به API مسدود شده. برای یافتن اطلاعات بیشتر لطفاً به رابط
|
||||
کاربری وب وارد شوید (log in).
|
||||
need_to_see_terms: دسترسی شما به API بطور موقت معلق شدهاست. برای مشاهدهٔ شرایط
|
||||
شرکتکننده لطفاً وارد رابط کاربری وب شوید. نیاز به موافقت شما نیست، ولی باید
|
||||
حتماً آنٰها را ببینید.
|
||||
oauth:
|
||||
authorize:
|
||||
title: دسترسی اجازه دادن به حسابتان
|
||||
request_access: برنامهٔ %{app_name}%{app_name} درخواست دسترسی به حسابتان %{user}
|
||||
را دارد. لطفاً بررسی کنید که میخواهید برنامه به قابلیتهای زیر دسترسی داشته
|
||||
باشد. ممکن است چند تا یا فقط تعدادی را که دوست دارید انتخاب کنید.
|
||||
title: اجازهٔ دسترسی به حسابتان را صادر کنید
|
||||
request_access: برنامهٔ %{app_name}%{app_name} درخواست دسترسی به حساب کاربری
|
||||
شما را دارد (%{user}). لطفاً بررسی کنید که آیا مایلید برنامه به قابلیتهای
|
||||
زیر دسترسی داشته باشد. میتوانید همه یا فقط مواردی را که دوست دارید انتخاب
|
||||
کنید.
|
||||
allow_to: 'به برنامه کارخواه اجازه بده که:'
|
||||
allow_read_prefs: خواندن ترجیحات کاربری شما.
|
||||
allow_write_prefs: تغییر ترجیحات کاربری شما.
|
||||
|
@ -1735,17 +1749,17 @@ fa:
|
|||
allow_read_gpx: خواندن ردهای GPS شخصی شما.
|
||||
allow_write_gpx: بارگذاری ردهای GPS
|
||||
allow_write_notes: اصلاح یادداشتها.
|
||||
grant_access: امکان دسترسی
|
||||
grant_access: دسترسی میدهم
|
||||
authorize_success:
|
||||
title: درخواست اجازه دادن مجاز است
|
||||
title: درخواست صدور مجوز انجام شد
|
||||
allowed: شما به برنامه ی %{app_name} اجازه ی دسترسی به حسابتان را دادید.
|
||||
verification: کد تأیید %{code} است.
|
||||
authorize_failure:
|
||||
title: درخواست اجازه دادن انجام نشد
|
||||
title: درخواست صدور مجوز انجام نشد
|
||||
denied: شما به برنامه ی %{app_name} اجازه ی دسترسی به حسابتان را ندادید.
|
||||
invalid: نشانه مجوز معتبر نیست.
|
||||
invalid: توکن مجوز معتبر نیست.
|
||||
revoke:
|
||||
flash: شما نشانه را برای %{application} باطل کردید
|
||||
flash: توکن مربوط %{application} را باطل کردید
|
||||
oauth_clients:
|
||||
new:
|
||||
title: ثبتنام یک برنامهٔ تازه
|
||||
|
@ -1757,7 +1771,7 @@ fa:
|
|||
title: جزئیات OAuth برای %{app_name}
|
||||
key: 'کلید مصرف کننده:'
|
||||
secret: 'کد مخفی مصرف کننده:'
|
||||
url: 'آدرس درخواست نشانه:'
|
||||
url: 'نشانی توکنِ درخواست:'
|
||||
access_url: 'آدرس دسترسی نشانه:'
|
||||
authorize_url: 'آدرس authorise:'
|
||||
support_notice: ما امضا های HMAC-SHA1 (پیشنهاد شده) و RSA-SHA1 را پشتیبانی می
|
||||
|
@ -1776,14 +1790,14 @@ fa:
|
|||
index:
|
||||
title: جزئیات OAuth من
|
||||
my_tokens: نرمافزارهای مجاز من
|
||||
list_tokens: 'مجوزهای زیر با نام شما برای برنامههای زیر صادر شده است:'
|
||||
list_tokens: 'توکنهای زیر با نام شما برای برنامههای زیر صادر شده است:'
|
||||
application: نام برنامه
|
||||
issued_at: تاریخ صدور
|
||||
revoke: باطل کردن!
|
||||
revoke: باطل شود!
|
||||
my_apps: برنامههای کارخواه (client) من
|
||||
no_apps: آیا برنامهای دارید که میخواهید بهوسیله استاندارد %{oauth} ثبتش کنید
|
||||
تا با ما از آن استفاده کنید؟ قبل از اینکه برنامهتان بتواند درخواستهای OAuth
|
||||
را انجام دهد باید برنامه تحت وب خود را ثبت نام کنید.
|
||||
no_apps: آیا برنامهای دارید که میخواهید بهوسیلهٔ استاندارد %{oauth} ثبتش
|
||||
کنید تا با ما از آن استفاده کنید؟ قبل از اینکه برنامهتان بتواند درخواستهای
|
||||
OAuth را انجام دهد باید آن را ثبت کنید.
|
||||
registered_apps: 'شما برنامههای کارخواه (client) زیر را ثبت کردهاید:'
|
||||
register_new: برنامهتان را ثبت کنید
|
||||
form:
|
||||
|
@ -1884,7 +1898,7 @@ fa:
|
|||
confirm password: 'تأیید گذرواژه:'
|
||||
reset: تنظیم مجدد کلمه عبور
|
||||
flash changed: کلمه عبور شما تغییر کرده است.
|
||||
flash token bad: نشانه را نیافتید؟ آدرس را برسی کنید شاید یافتید.
|
||||
flash token bad: توکن را نیافتید؟ نشانی را بررسی کنید شاید یافتید.
|
||||
new:
|
||||
title: ثبت نام
|
||||
no_auto_account_create: متأسفانه در حال حاضر برای ما امکان ساخت خودکار حساب
|
||||
|
@ -1895,8 +1909,8 @@ fa:
|
|||
about:
|
||||
header: رایگان و قابل ویرایش
|
||||
html: |-
|
||||
<p>بر خلاف سایر نقشهها، OpenStreetMap کاملاً توسط افرادی مثل شما ساختهشده و برای تعمیر، بهروزرسانی، دریافت و استفاده برای هر کسی آزاد است.</p>
|
||||
<p>برای شروع کمک ثبت نام کنید. برای تأیید حسابتان ایمیلی میفرستیم.</p>
|
||||
<p>بر خلاف سایر نقشهها، OpenStreetMap کاملاً توسط افرادی مثل شما ساختهشده و اصلاح، بهروزرسانی، بارگیری و استفادهٔ آن برای همه آزاد است.</p>
|
||||
<p>برای شروع همکاری ثبت نام کنید. برای تأیید حساب ایمیلی برای شما میفرستیم.</p>
|
||||
license_agreement: وقتی ایمیلتان را تایید کردید نیاز است که با <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">شرایط
|
||||
همکاری</a> موافقت کنید.
|
||||
email address: 'آدرس ایمیل:'
|
||||
|
@ -1943,7 +1957,7 @@ fa:
|
|||
body: با عرض پوزش، هیچ کاربری با نام %{user} وجود ندارد. لطفاً نحوه نوشتن تان
|
||||
را بررسی کنید، یا شاید پیوندی که کلیک کردید اشتباه است.
|
||||
deleted: حذف شده
|
||||
view:
|
||||
show:
|
||||
my diary: روزنوشت من
|
||||
new diary entry: روزنوشت تازه
|
||||
my edits: ویرایش های من
|
||||
|
@ -1954,7 +1968,7 @@ fa:
|
|||
my settings: تنظیمات من
|
||||
my comments: نظرات من
|
||||
oauth settings: تنظیمات oauth
|
||||
blocks on me: بلوک های بر من
|
||||
blocks on me: مسدودیهای من
|
||||
blocks by me: بوک های توسط من
|
||||
send message: ارسال پیام
|
||||
diary: روزنوشت
|
||||
|
@ -1979,9 +1993,10 @@ fa:
|
|||
if set location: مکان خانهتان را در صفحهٔ %{settings_link} تنظیم کنید تا کاربران
|
||||
نزدیکتان را ببینید.
|
||||
settings_link_text: تنظیمات
|
||||
my friends: دوستان من
|
||||
no friends: شما هنوز هیچ دوستی اضافه نکردهاید
|
||||
km away: '%{count} کیلومتر فاصله'
|
||||
m away: '%{count} متر فاصله'
|
||||
km away: %{count} کیلومتر فاصله
|
||||
m away: %{count} متر فاصله
|
||||
nearby users: دیگر کاربران نزدیک
|
||||
no nearby users: در این حوالی هیچ کاربری نقشه ترسیم نکرده است
|
||||
role:
|
||||
|
@ -1993,10 +2008,10 @@ fa:
|
|||
revoke:
|
||||
administrator: لغو دسترسی سرپرست
|
||||
moderator: لغو دسترسی مدیر
|
||||
block_history: بلوک شده های فعال
|
||||
moderator_history: بلوک های گرفته شده
|
||||
block_history: مسدودیهای فعال
|
||||
moderator_history: مسدودکردنها
|
||||
comments: نظرات
|
||||
create_block: بلوک کردن این کاربر
|
||||
create_block: این کاربر مسدود شود
|
||||
activate_user: فعال کردن این کاربر
|
||||
deactivate_user: غیر فعال کردن این کاربر
|
||||
confirm_user: تأیید این کاربر
|
||||
|
@ -2099,7 +2114,7 @@ fa:
|
|||
دهید.
|
||||
button: تأیید
|
||||
success: تغییر ایمیل شما تأیید شد!
|
||||
failure: یک آدرس ایمیل با این نشانه قبلاً تأیید شده است.
|
||||
failure: یک آدرس ایمیل با این توکن قبلاً تأیید شده است.
|
||||
unknown_token: کد تأیید منقضی شده یا وجود ندارد.
|
||||
set_home:
|
||||
flash success: موقعیت خانه با موفقیت ذخیره شد
|
||||
|
@ -2118,7 +2133,7 @@ fa:
|
|||
not_a_friend: '%{name} یکی از دوستان شما نیست.'
|
||||
filter:
|
||||
not_an_administrator: برای انجام آن عملیات نیاز هست که سرپرست باشید
|
||||
list:
|
||||
index:
|
||||
title: کاربران
|
||||
heading: کاربران
|
||||
showing:
|
||||
|
@ -2178,103 +2193,102 @@ fa:
|
|||
و نقش اطمینان حاصل نمایید.
|
||||
user_blocks:
|
||||
model:
|
||||
non_moderator_update: برای بروزرسانی یا ایجاد بلوک باید یک مدیر بود.
|
||||
non_moderator_revoke: برای لغو یک بلوک باید مدیر بود.
|
||||
non_moderator_update: برای بهروزرسانی یا ایجاد مسدودی باید مدیر بود.
|
||||
non_moderator_revoke: برای لغو یک مسدودی باید مدیر بود.
|
||||
not_found:
|
||||
sorry: پوزش، بلوک کاربر با شناسه %{id} یافت نمی شود.
|
||||
sorry: پوزش، مسدودی کاربر با شناسه %{id} یافت نمیشود.
|
||||
back: بازگشت به فهرست
|
||||
new:
|
||||
title: ایجاد بلوک در %{name}
|
||||
heading: ایجاد بلوک در %{name}
|
||||
reason: دلیل اینکه چرا %{name} بلوک شده است. لطفاً آرام باشید و تا جایی که ممکن
|
||||
است معقول و منطقی باشید، تا جایی که میتوانید دربارهٔ وضعیت اطلاع دهید، این
|
||||
را به خاطر داشته باشید که این پیام بهصورت عمومی پدیدار است. به یاد داشته
|
||||
باشید همهٔ کاربران اصطلاحات خاص انجمن را نمیفهمند، پس لطفاً سعی کنید از شرایط
|
||||
تازهواردان استفاده کنید.
|
||||
period: چه مدت، الان شروع شود، کاربر از API بلوک میشود برای.
|
||||
submit: ایجاد بلوک
|
||||
title: در حال مسدودکردن %{name}
|
||||
heading: مسدودکردن %{name}
|
||||
reason: |-
|
||||
دلیل مسدودشدن کاربری %{name}. لطفاً خونسرد و منطقی باشید و هرچه میتوانید بهشکل جزئیتر اوضاع را شرح دهید و همچنین به یاد داشته باشید که پیام شما بهطور عمومی قابل مشاهده است.
|
||||
در نظر داشته باشید که همهٔ کاربران اصطلاحات تخصصی انجمن را نمیفهمند، لطفاً سعی کنید واژههایی که استفاده میکنید غیرتخصصی باشد.
|
||||
period: مدتزمان مسدودی کاربر از API (شروع از حالا).
|
||||
submit: ایجاد مسدودی
|
||||
tried_contacting: من با کاربر تماس گرفته و درخواست کردم توقف کند.
|
||||
tried_waiting: من مقدار مناسبی زمان را به کاربر دادم تا به این ارتباط پاسخ دهد.
|
||||
needs_view: کاربر قبل از پاک شدن این بلوک نیاز به وارد شدن دارد
|
||||
back: مشاهده تمام بلوک ها
|
||||
needs_view: برای پاکشدن این مسدودی کاربر باید وارد حسابش شود.
|
||||
back: دیدن تمام مسدودیها
|
||||
edit:
|
||||
title: ویرایش بلوک در %{name}
|
||||
heading: ویرایش بلوک در %{name}
|
||||
reason: دلیل اینکه چرا %{name} بلوک شده است. لطفاً آرام باشید و تا جایی که ممکن
|
||||
است معقول و منطقی باشید، تا جایی که میتوانید دربارهٔ وضعیت اطلاع دهید. به
|
||||
یاد داشته باشید همهٔ کاربران اصطلاحات خاص انجمن را نمیفهمند، پس لطفاً سعی
|
||||
کنید از شرایط تازهواردان استفاده کنید.
|
||||
period: چه مدت، الان شروع شود، کاربر از API بلوک میشود برای.
|
||||
submit: به روز رسانی بلوک
|
||||
show: مشاهده این بلوک
|
||||
back: مشاهده تمام بلوک ها
|
||||
needs_view: چرا قبل از پاک کردن این بلوک کاربر نیاز به وارد شدن دارد؟
|
||||
title: ویرایش مسدودی کاربر %{name}
|
||||
heading: ویرایش مسدودی %{name}
|
||||
reason: دلیل مسدودشدن کاربری %{name}. لطفاً خونسرد و منطقی باشید و هرچه میتوانید
|
||||
بهشکل جزئیتر اوضاع را شرح دهید. در نظر داشته باشید که همهٔ کاربران اصطلاحات
|
||||
تخصصی انجمن را نمیفهمند، لطفاً سعی کنید واژههایی که استفاده میکنید غیرتخصصی
|
||||
باشد.
|
||||
period: مدتزمان مسدودی کاربر از API (شروع از حالا).
|
||||
submit: بهروزرسانی مسدودی
|
||||
show: مشاهده این مسدودی
|
||||
back: دیدن تمام مسدودیها
|
||||
needs_view: آیا قبل از پاکشدن این مسدودی، کاربر باید وارد حساب کاربری شود؟
|
||||
filter:
|
||||
block_expired: بلوک قبلا منقضی شده و قابل ویرایش نیست.
|
||||
block_period: دوره ی بلوک کردن باید یکی از مقدار های قابل انتخاب در لیست بازشو
|
||||
باشد.
|
||||
block_expired: مسدودی قبلا منقضی شده و قابل ویرایش نیست.
|
||||
block_period: دوره مسدودی باید یکی از مقدارهای قابل انتخاب در لیست بازشو باشد.
|
||||
create:
|
||||
try_contacting: لطفاً قبل از بلوک کردن با کاربر تماس بگیرید و به آنها زمان مناسب
|
||||
دهید تا پاسخ دهند.
|
||||
try_waiting: لطفاً به کاربر زمان کافی دهید تا قبل از بستهشدن بتواند پاسخگو
|
||||
try_contacting: لطفاً قبل از مسدودکردن کاربر با وی تماس بگیرید و به او زمان
|
||||
بدهید تا پاسخگو باشد.
|
||||
try_waiting: لطفاً پیش از مسدودکردن کاربر به او زمان کافی بدهید تا بتواند پاسخگو
|
||||
باشد.
|
||||
flash: یک بلوک روی کاربر %{name} ایجاد شد.
|
||||
flash: یک مسدودی روی کاربری %{name} ایجاد شد.
|
||||
update:
|
||||
only_creator_can_edit: فقط مدیری که این بلوک را ایجاد کرده میتواند آنرا ویرایش
|
||||
only_creator_can_edit: فقط مدیری که این مسدودی را ایجاد کرده میتواند آنرا ویرایش
|
||||
کند.
|
||||
success: بلوک بروزرسانی شد.
|
||||
success: مسدودی بهروزرسانی شد.
|
||||
index:
|
||||
title: بلوک های کاربر
|
||||
heading: لیست بلوک های کاربر
|
||||
empty: هنوز بلوکی ساخته نشده.
|
||||
title: مسدودیهای کاربر
|
||||
heading: لیست مسدودیهای کاربری
|
||||
empty: هنوز مسدودیتی ساخته نشده.
|
||||
revoke:
|
||||
title: لغو بلوک در %{block_on}
|
||||
heading: لغو بلوک در %{block_on} توسط %{block_by}
|
||||
time_future: این بلوک در %{time} پایان می یابد.
|
||||
past: این بلوک %{time} پایان یافته و اکنون قابل لغو کردن نیست.
|
||||
confirm: مطمئنید میخواهید این بلوک را لغو کنید؟
|
||||
revoke: باطل کردن!
|
||||
flash: این بلوک باطل شد.
|
||||
title: لغو مسدودی از %{block_on}
|
||||
heading: لغو مسدودی از %{block_on}، مسدودشده توسط %{block_by}
|
||||
time_future: این مسدودی در %{time} پایان می یابد.
|
||||
past: این مسدودی %{time} پیش پایان یافته و اکنون قابل لغوکردن نیست.
|
||||
confirm: مطمئنید میخواهید این مسدودی را لغو کنید؟
|
||||
revoke: باطل شود!
|
||||
flash: این مسدودی لغو شد.
|
||||
period:
|
||||
one: 1 ساعت
|
||||
other: '%{count} ساعت'
|
||||
helper:
|
||||
time_future: در %{time} پایان می پذیرد.
|
||||
until_login: فعال تا وقتی کاربر وارد شود.
|
||||
time_past: به پایان رسیده %{time} قبل.
|
||||
time_future_and_until_login: تا %{time} دیگر و پس از ورود به حساب کاربری پایان
|
||||
مییابد.
|
||||
time_past: '%{time} پیش به پایان رسید.'
|
||||
blocks_on:
|
||||
title: بلوک ها در %{name}
|
||||
heading: فهرست بلوک ها در %{name}
|
||||
empty: '%{name} هنوز بلوک نشده.'
|
||||
title: مسدودیهای کاربری %{name}
|
||||
heading: فهرست مسدودیهای %{name}
|
||||
empty: '%{name} تاکنون مسدود نبوده.'
|
||||
blocks_by:
|
||||
title: بلوک توسط %{name}
|
||||
heading: فهرست بلوک توسط %{name}
|
||||
empty: '%{name} هنوز بلوکی ایجاد نکرده.'
|
||||
title: مسدودشدهها توسط %{name}
|
||||
heading: فهرست مسدودشدهها توسط %{name}
|
||||
empty: '%{name} تاکنون مسدود نکرده.'
|
||||
show:
|
||||
title: '%{block_on} توسط %{block_by} بلوک شده'
|
||||
heading: '%{block_on} توسط %{block_by} بلوک شده'
|
||||
title: '%{block_on} توسط %{block_by} مسدود شده'
|
||||
heading: '%{block_on} توسط %{block_by} مسدود شده'
|
||||
time_future: در %{time} پایان می پذیرد
|
||||
time_past: به پایان رسیده %{time} قبل
|
||||
time_past: '%{time} پیش به پایان رسید'
|
||||
created: ایجاد شده
|
||||
ago: '%{time} پیش'
|
||||
status: وضعیت
|
||||
show: نمایش
|
||||
edit: ویرایش
|
||||
revoke: باطل کردن!
|
||||
revoke: باطل شود!
|
||||
confirm: آیا مطمئن هستید؟
|
||||
reason: 'دلیل بلوک:'
|
||||
back: مشاهده تمام بلوک ها
|
||||
reason: 'دلیل مسدودی:'
|
||||
back: دیدن تمام مسدودیها
|
||||
revoker: 'باطل کننده:'
|
||||
needs_view: کاربر قبل از پاک شدن این بلوک نیاز به وارد شدن دارد.
|
||||
needs_view: برای پاکشدن این مسدودی کاربر باید وارد حسابش شود.
|
||||
block:
|
||||
not_revoked: (باطل نشده)
|
||||
show: نمایش
|
||||
edit: ویرایش
|
||||
revoke: باطل کردن!
|
||||
revoke: باطل شود!
|
||||
blocks:
|
||||
display_name: کاربر بلوک شده
|
||||
display_name: کاربر مسدودشده
|
||||
creator_name: ایجاد کننده
|
||||
reason: دلیل بلوک
|
||||
reason: دلیل مسدودی
|
||||
status: وضعیت
|
||||
revoker_name: باطل شده توسط
|
||||
showing_page: صفحهٔ %{page}
|
||||
|
@ -2315,7 +2329,7 @@ fa:
|
|||
javascripts:
|
||||
close: بستن
|
||||
share:
|
||||
title: بهاشتراکگذاری
|
||||
title: همرسانی
|
||||
cancel: لغو
|
||||
image: تصویر
|
||||
link: پیوند یا اچتیامال
|
||||
|
@ -2368,7 +2382,7 @@ fa:
|
|||
createnote_disabled_tooltip: برای افزودن یادداشت به نقشه بزرگنمایی کنید
|
||||
map_notes_zoom_in_tooltip: برای دیدن یادداشتهای نقشه بزرگنمایی کنید
|
||||
map_data_zoom_in_tooltip: برای دیدن دادههای نقشه بزرگنمایی کنید
|
||||
queryfeature_tooltip: کوئری ویژگیها
|
||||
queryfeature_tooltip: پرسوجوی ویژگیها
|
||||
queryfeature_disabled_tooltip: برای پرسوجوی ویژگیها بزرگنمایی کنید
|
||||
changesets:
|
||||
show:
|
||||
|
@ -2474,33 +2488,33 @@ fa:
|
|||
redactions:
|
||||
edit:
|
||||
description: شرح
|
||||
heading: ویرایش کردن ویرایش
|
||||
heading: بازویرایی ویرایش
|
||||
submit: ذخیره ویرایش
|
||||
title: ویرایش کردن ویرایش
|
||||
title: بازویرایی ویرایش
|
||||
index:
|
||||
empty: ویرایشی برای نشان دادن نیست.
|
||||
heading: فهرست ویرایش ها
|
||||
title: فهرست ویرایش ها
|
||||
heading: سیاههٔ بازویراستهها(redactions)
|
||||
title: فهرست ویرایشهای حذفشده
|
||||
new:
|
||||
description: شرح
|
||||
heading: اطلاعات را برای ویرایش جدید وارد کنید
|
||||
heading: اطلاعات را برای بازویرایی جدید وارد کنید
|
||||
submit: ایجاد ویرایش
|
||||
title: ایجاد ویرایش جدید
|
||||
title: ایجاد بازویرایی جدید
|
||||
show:
|
||||
description: 'شرح:'
|
||||
heading: نمایش ویرایش %{title}
|
||||
heading: نمایش بازویرایستهٔ %{title}
|
||||
title: نمایش دادن ویرایش
|
||||
user: 'ایجاد کننده:'
|
||||
edit: ویرایش این ویرایش
|
||||
edit: ویرایش این بازویراسته
|
||||
destroy: حذف این ویرایش
|
||||
confirm: آیا مطمئن هستید؟
|
||||
create:
|
||||
flash: ویرایش پاک شد.
|
||||
flash: بازویراسته ایجاد شد.
|
||||
update:
|
||||
flash: تغییرات ذخیره شد.
|
||||
destroy:
|
||||
not_empty: ویرایش خالی نیست. لطفاً همهٔ نسخههای متعلق به این ویرایش را در آورید
|
||||
قبل از نابود کردنش.
|
||||
not_empty: بازویرایی خالی نیست. لطفاً پیش از نابود کردنش، همهٔ نسخههای متعلق
|
||||
به این بازویرایی را از بازویراستگی درآورید.
|
||||
flash: ویرایش از بین رفت.
|
||||
error: در حال از بین بردن این ویرایش خطایی رخ داد.
|
||||
error: هنگام از بین بردن این بازویراسته خطایی رخ داد.
|
||||
...
|
||||
|
|
|
@ -269,7 +269,7 @@ fi:
|
|||
user: Käyttäjä
|
||||
comment: Kommentti
|
||||
area: Alue
|
||||
list:
|
||||
index:
|
||||
title: Muutoskokoelmat
|
||||
title_user: Käyttäjän %{user} muutoskokoelmat
|
||||
title_friend: Kaverieni muutoskokoelmat
|
||||
|
@ -295,7 +295,7 @@ fi:
|
|||
new:
|
||||
title: Uusi päiväkirjamerkintä
|
||||
publish_button: Julkaise
|
||||
list:
|
||||
index:
|
||||
title: Käyttäjien päiväkirjamerkinnät
|
||||
title_friends: Kaverien päiväkirjat
|
||||
title_nearby: Lähellä olevien käyttäjien päiväkirjat
|
||||
|
@ -318,7 +318,7 @@ fi:
|
|||
use_map_link: valitse kartalta
|
||||
save_button: Tallenna
|
||||
marker_text: Päiväkirjamerkinnän sijainti
|
||||
view:
|
||||
show:
|
||||
title: Käyttäjän %{user} päiväkirja | %{title}
|
||||
user_title: Käyttäjän %{user} päiväkirja
|
||||
leave_a_comment: Kommentoi tätä kirjoitusta
|
||||
|
@ -1200,11 +1200,12 @@ fi:
|
|||
commented_note: '%{commenter} on kommentoinut yhtä kommentoimaasi merkintää.
|
||||
Merkintä on lähellä paikkaa %{place}.'
|
||||
closed:
|
||||
subject_own: '[OpenStreetMap] %{commenter} on selvittänyt yhden merkintäsi'
|
||||
subject_other: '[OpenStreetMap] %{commenter} on selvittänyt sinua kiinnostavan
|
||||
merkinnän'
|
||||
your_note: '%{commenter} on selvittänyt yhden merkintäsi lähellä paikkaa %{place}'
|
||||
commented_note: '%{commenter} on selvittänyt merkinnän, jota olet kommentoinut.
|
||||
subject_own: '[OpenStreetMap] %{commenter} on ratkaissut karttailmoituksesi'
|
||||
subject_other: '[OpenStreetMap] %{commenter} on ratkaissut sinua kiinnostavan
|
||||
karttailmoituksen'
|
||||
your_note: '%{commenter} on ratkaissut lähettämäsi karttailmoituksen lähellä
|
||||
paikkaa %{place}.'
|
||||
commented_note: '%{commenter} on ratkaissut karttailmoituksen, jota olet kommentoinut.
|
||||
Merkintä on lähellä paikkaa %{place}.'
|
||||
reopened:
|
||||
subject_own: '[OpenStreetMap] %{commenter} on avannut karttamerkintäsi uudelleen'
|
||||
|
@ -1215,7 +1216,7 @@ fi:
|
|||
commented_note: '%{commenter} on aktivoinut karttailmoituksen uudelleen. Tämä
|
||||
viesti lähetetään siksi, että olet kommentoinut tätä karttailmoitusta, joka
|
||||
on lähellä paikkaa %{place}.'
|
||||
details: Lisää tietoja merkinnästä löytyy osoitteesta %{url}.
|
||||
details: Lisätietoja merkinnästä löytyy osoitteesta %{url}.
|
||||
changeset_comment_notification:
|
||||
hi: Hei %{to_user},
|
||||
greeting: Hei,
|
||||
|
@ -2086,7 +2087,7 @@ fi:
|
|||
heading: Käyttäjää %{user} ei ole olemassa
|
||||
body: Käyttäjää %{user} ei löytynyt. Tarkista oikeikirjoitus.
|
||||
deleted: poistettu
|
||||
view:
|
||||
show:
|
||||
my diary: Oma päiväkirja
|
||||
new diary entry: uusi päiväkirjamerkintä
|
||||
my edits: Omat muokkaukset
|
||||
|
@ -2261,7 +2262,7 @@ fi:
|
|||
not_a_friend: '%{name} ei ole enää kaverisi.'
|
||||
filter:
|
||||
not_an_administrator: Tähän toimintoon tarvitaan ylläpitäjän oikeudet.
|
||||
list:
|
||||
index:
|
||||
title: Käyttäjät
|
||||
heading: Käyttäjät
|
||||
showing:
|
||||
|
|
|
@ -294,7 +294,7 @@ fr:
|
|||
user: Utilisateur
|
||||
comment: Commentaire
|
||||
area: Zone
|
||||
list:
|
||||
index:
|
||||
title: Groupes de modifications
|
||||
title_user: Groupes de modifications par %{user}
|
||||
title_friend: Groupes de modifications par mes amis
|
||||
|
@ -322,7 +322,7 @@ fr:
|
|||
new:
|
||||
title: Nouvelle entrée du journal
|
||||
publish_button: Publier
|
||||
list:
|
||||
index:
|
||||
title: Journaux des utilisateurs
|
||||
title_friends: Journaux des amis
|
||||
title_nearby: Journaux des utilisateurs à proximité
|
||||
|
@ -345,7 +345,7 @@ fr:
|
|||
use_map_link: utiliser la carte
|
||||
save_button: Enregistrer
|
||||
marker_text: Emplacement de l’entrée du journal
|
||||
view:
|
||||
show:
|
||||
title: Journal de %{user} | %{title}
|
||||
user_title: Journal de %{user}
|
||||
leave_a_comment: Laisser un commentaire
|
||||
|
@ -462,7 +462,7 @@ fr:
|
|||
courthouse: Palais de justice
|
||||
crematorium: Crématorium
|
||||
dentist: Dentiste
|
||||
doctors: Docteurs
|
||||
doctors: Cabinet médical
|
||||
drinking_water: Eau potable
|
||||
driving_school: École de conduite
|
||||
embassy: Ambassade
|
||||
|
@ -2172,7 +2172,7 @@ fr:
|
|||
body: Désolé, il n’y a pas d’utilisateur avec le nom %{user}. Veuillez vérifier
|
||||
l’orthographe, ou le lien que vous avez cliqué n’est pas valide.
|
||||
deleted: supprimé
|
||||
view:
|
||||
show:
|
||||
my diary: Mon journal
|
||||
new diary entry: nouvelle entrée dans le journal
|
||||
my edits: Mes modifications
|
||||
|
@ -2360,11 +2360,12 @@ fr:
|
|||
not_a_friend: '%{name} n’est pas parmi vos amis.'
|
||||
filter:
|
||||
not_an_administrator: Vous devez être administrateur pour effectuer cette action.
|
||||
list:
|
||||
index:
|
||||
title: Utilisateurs
|
||||
heading: Utilisateurs
|
||||
showing:
|
||||
other: Page %{page} (%{first_item}one= sur %{items})
|
||||
one: Page %{page} (%{first_item} sur %{items})
|
||||
other: Page %{page} (%{first_item}-%{last_item} sur %{items})
|
||||
summary: '%{name} créé depuis %{ip_address} le %{date}'
|
||||
summary_no_ip: '%{name} créé le %{date}'
|
||||
confirm: Confirmer les utilisateurs sélectionnés
|
||||
|
|
|
@ -223,7 +223,7 @@ fur:
|
|||
user: Utent
|
||||
comment: Coment
|
||||
area: Aree
|
||||
list:
|
||||
index:
|
||||
title: Grups di cambiaments
|
||||
title_user: Grups di cambiaments di %{user}
|
||||
title_friend: Grups di cambiaments dai tiei amîs
|
||||
|
@ -248,7 +248,7 @@ fur:
|
|||
diary_entry:
|
||||
new:
|
||||
title: Gnove vôs dal diari
|
||||
list:
|
||||
index:
|
||||
title: Diaris dai utents
|
||||
title_friends: Diaris dai amîs
|
||||
title_nearby: Diaris dai utents dongje
|
||||
|
@ -271,7 +271,7 @@ fur:
|
|||
use_map_link: dopre mape
|
||||
save_button: Salve
|
||||
marker_text: Lûc de vôs dal diari
|
||||
view:
|
||||
show:
|
||||
title: Diari di %{user} | %{title}
|
||||
user_title: Diari di %{user}
|
||||
leave_a_comment: Lasse un coment
|
||||
|
@ -1136,7 +1136,7 @@ fur:
|
|||
heading: L'utent %{user} nol esist
|
||||
body: Nol esist un utent di non %{user}. Controle par plasê la grafie o che
|
||||
tu vedis seguît il leam just.
|
||||
view:
|
||||
show:
|
||||
my diary: Il gno diari
|
||||
new diary entry: gnove vôs dal diari
|
||||
my edits: I miei cambiaments
|
||||
|
@ -1287,7 +1287,7 @@ fur:
|
|||
button: Gjave dai amîs
|
||||
success: '%{name} al è stât gjavât dai tiei amîs.'
|
||||
not_a_friend: '%{name} nol è un dai tiei amîs.'
|
||||
list:
|
||||
index:
|
||||
title: Utents
|
||||
heading: Utents
|
||||
showing:
|
||||
|
|
|
@ -228,7 +228,7 @@ ga:
|
|||
user: Úsáideoir
|
||||
comment: Nóta tráchta
|
||||
area: Limistéar
|
||||
list:
|
||||
index:
|
||||
title: Tacair athruithe
|
||||
title_user: Tacair athruithe de chuid %{user}
|
||||
title_friend: Tacair athruithe de chuid mo chairde
|
||||
|
@ -254,7 +254,7 @@ ga:
|
|||
new:
|
||||
title: Iontráil Nua Dialainne
|
||||
publish_button: Foilsigh
|
||||
list:
|
||||
index:
|
||||
title: Dialanna úsáideoirí
|
||||
title_friends: Dialanna cairde
|
||||
title_nearby: Dialann de chuid Úsáideoirí In Aice Láimhe
|
||||
|
@ -277,7 +277,7 @@ ga:
|
|||
use_map_link: an léarscáil a úsáid
|
||||
save_button: Sábháil
|
||||
marker_text: Suíomh na hiontrála dialainne
|
||||
view:
|
||||
show:
|
||||
title: Dialann %{user} | %{title}
|
||||
user_title: Dialann %{user}
|
||||
leave_a_comment: Fág nóta tráchta
|
||||
|
@ -1866,7 +1866,7 @@ ga:
|
|||
no_such_user:
|
||||
title: Níl an t-úsáideoir sin ann
|
||||
deleted: scriosta
|
||||
view:
|
||||
show:
|
||||
my diary: Mo Dhialann
|
||||
new diary entry: iontráil nua dialainne
|
||||
my edits: Mo Athruithe
|
||||
|
@ -1971,7 +1971,7 @@ ga:
|
|||
button: Cuir leis mar chara
|
||||
success: Is cara leat %{name} anois!
|
||||
failed: Ár leithscéal, níorbh fhéidir %{name} a chur leis mar chara.
|
||||
list:
|
||||
index:
|
||||
title: Úsáideoirí
|
||||
heading: Úsáideoirí
|
||||
suspended:
|
||||
|
|
|
@ -244,7 +244,7 @@ gd:
|
|||
user: Cleachdaiche
|
||||
comment: Beachd
|
||||
area: Raon
|
||||
list:
|
||||
index:
|
||||
title: Seataichean atharraichean
|
||||
title_user: Seataichean atharraichean le %{user}
|
||||
title_friend: Seataichean atharraichean le do charaidean
|
||||
|
@ -272,7 +272,7 @@ gd:
|
|||
new:
|
||||
title: Clàr ùr an leabhair-latha
|
||||
publish_button: Foillsich
|
||||
list:
|
||||
index:
|
||||
title: Leabhraichean-latha
|
||||
title_friends: Leabhraichean-latha do charaidean
|
||||
title_nearby: Leabhraichean-latha am fagas
|
||||
|
@ -295,7 +295,7 @@ gd:
|
|||
use_map_link: cleachd mapa
|
||||
save_button: Sàbhail
|
||||
marker_text: Àite clàr an leabhair-latha
|
||||
view:
|
||||
show:
|
||||
title: An leabhar-latha aig %{user} | %{title}
|
||||
user_title: An leabhar-latha aig %{user}
|
||||
leave_a_comment: Thoir do bheachd
|
||||
|
@ -1920,7 +1920,7 @@ gd:
|
|||
an litreachadh no 's dòcha nach eil an ceangal air an do rinn thu briogadh
|
||||
mar bu chòir.
|
||||
deleted: air a sguabadh às
|
||||
view:
|
||||
show:
|
||||
my diary: An leabhar-latha agam
|
||||
new diary entry: clàr leabhair-latha ùr
|
||||
my edits: Na dheasaich mi
|
||||
|
@ -2102,7 +2102,7 @@ gd:
|
|||
not_a_friend: Chan eil càirdeas eadar thu fhèin agus %{name}.
|
||||
filter:
|
||||
not_an_administrator: Feumaidh tu bhith 'nad rianaire gus an gnìomh seo a dhèanamh.
|
||||
list:
|
||||
index:
|
||||
title: Cleachdaichean
|
||||
heading: Cleachdaichean
|
||||
showing:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -251,7 +251,7 @@ he:
|
|||
user: משתמש
|
||||
comment: הערה
|
||||
area: שטח
|
||||
list:
|
||||
index:
|
||||
title: ערכות שינויים
|
||||
title_user: ערכות שינויים של %{user}
|
||||
title_friend: ערכות שינויים של החברים שלי
|
||||
|
@ -276,7 +276,7 @@ he:
|
|||
new:
|
||||
title: רשומת יומן חדשה
|
||||
publish_button: פרסום
|
||||
list:
|
||||
index:
|
||||
title: יומנים של המשתמש
|
||||
title_friends: יומנים של חברים
|
||||
title_nearby: יומנים של משתמשים בסביבה
|
||||
|
@ -299,7 +299,7 @@ he:
|
|||
use_map_link: להשתמש במפה
|
||||
save_button: שמירה
|
||||
marker_text: מיקום רשומת היומן
|
||||
view:
|
||||
show:
|
||||
title: היומן של %{user}‏ | %{title}
|
||||
user_title: היומן של %{user}
|
||||
leave_a_comment: הוספת תגובה
|
||||
|
@ -1937,7 +1937,7 @@ he:
|
|||
heading: המשתמש %{user} אינו קיים
|
||||
body: סליחה, אין חשבון בשם %{user}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
|
||||
deleted: נמחק
|
||||
view:
|
||||
show:
|
||||
my diary: היומן שלי
|
||||
new diary entry: רשומה חדשה ביומן
|
||||
my edits: העריכות שלי
|
||||
|
@ -2110,7 +2110,7 @@ he:
|
|||
not_a_friend: '%{name} לא אחד מהחברים שלך.'
|
||||
filter:
|
||||
not_an_administrator: צריך להיות מנהל כדי לבצע את הפעולה הזאת.
|
||||
list:
|
||||
index:
|
||||
title: משתמשים
|
||||
heading: משתמשים
|
||||
showing:
|
||||
|
|
|
@ -238,7 +238,7 @@ hr:
|
|||
user: Korisnik
|
||||
comment: Komentar
|
||||
area: Područje
|
||||
list:
|
||||
index:
|
||||
title: Setovi promjena
|
||||
title_user: Setovi promjena od %{user}
|
||||
title_friend: Paketi uređivanja tvojih prijatelja
|
||||
|
@ -264,7 +264,7 @@ hr:
|
|||
new:
|
||||
title: Novi zapis u dnevnik
|
||||
publish_button: Objavi
|
||||
list:
|
||||
index:
|
||||
title: Dnevnici korisnika
|
||||
title_friends: Dnevnici prijatelja
|
||||
title_nearby: Dnevnici obližnjih članova
|
||||
|
@ -287,7 +287,7 @@ hr:
|
|||
use_map_link: koristi kartu
|
||||
save_button: Spremi
|
||||
marker_text: Lokacija unosa u dnevnik
|
||||
view:
|
||||
show:
|
||||
title: Blog korisnika %{user} | %{title}
|
||||
user_title: '%{user}ov dnevnik'
|
||||
leave_a_comment: Ostavi komentar
|
||||
|
@ -1623,7 +1623,7 @@ hr:
|
|||
body: Žao mi je, ne postoji korisnik s imenom %{user}. Molim provjerite ukucano
|
||||
ili je link na koji ste kliknuli neispravan.
|
||||
deleted: obrisano
|
||||
view:
|
||||
show:
|
||||
my diary: Moj dnevnik
|
||||
new diary entry: novi unos u dnevnik
|
||||
my edits: Moje promjene
|
||||
|
@ -1782,7 +1782,7 @@ hr:
|
|||
not_a_friend: '%{name} nije tvoj prijatelj.'
|
||||
filter:
|
||||
not_an_administrator: Morate biti administrator za izvođenje ovih akcija.
|
||||
list:
|
||||
index:
|
||||
title: Korisnici
|
||||
heading: Korisnici
|
||||
showing:
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue