$ bundle exec rails console
>> user = User.find_by(:display_name => "My New User Name")
=> #[ ... ]
->> user.status = "active"
-=> "active"
->> user.save!
+>> user.activate!
=> true
>> quit
```
You can view test coverage statistics by browsing the `coverage` directory.
-The tests are automatically run on Pull Requests and other commits with the
-results shown on [Travis CI](https://travis-ci.org/openstreetmap/openstreetmap-website).
+The tests are automatically run on Pull Requests and other commits via github
+actions. The results shown are within the PR display on github.
## Static Analysis
Adding or removing keys to this list is therefore discouraged, but contributions
to the descriptive texts are welcome.
-## Code Documentation
-
-To generate the HTML documentation of the API/rails code, run the command
-
-```
-rake doc:app
-```
-
## Committing
When you submit patches, the project maintainer has to read them and
source "https://rubygems.org"
# Require rails
-gem "rails", "6.1.4.4"
+gem "rails", "7.0.2.2"
# Require json for multi_json
gem "json"
gem "bootstrap", "~> 4.5.0"
gem "bootstrap_form", "~> 4.0"
gem "cancancan"
-gem "composite_primary_keys", "~> 13.0.0"
+gem "composite_primary_keys", "~> 14.0.0"
gem "config"
gem "delayed_job_active_record"
gem "http_accept_language", "~> 2.1.1"
gem "oauth-plugin", ">= 0.5.1"
gem "openstreetmap-deadlock_retry", ">= 1.3.1", :require => "deadlock_retry"
gem "rack-cors"
-gem "rails-i18n", "~> 6.0.0"
+gem "rails-i18n", "~> 7.0.0"
gem "rinku", ">= 2.0.6", :require => "rails_rinku"
gem "strong_migrations"
gem "validates_email_format_of", ">= 1.5.1"
gem "rubocop-performance"
gem "rubocop-rails"
gem "rubocop-rake"
- gem "selenium-webdriver", "~> 3.142.7"
+ gem "selenium-webdriver"
gem "simplecov", :require => false
gem "simplecov-lcov", :require => false
gem "webmock"
specs:
aasm (5.2.0)
concurrent-ruby (~> 1.0)
- actioncable (6.1.4.4)
- actionpack (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ actioncable (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailbox (6.1.4.4)
- actionpack (= 6.1.4.4)
- activejob (= 6.1.4.4)
- activerecord (= 6.1.4.4)
- activestorage (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ actionmailbox (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ activejob (= 7.0.2.2)
+ activerecord (= 7.0.2.2)
+ activestorage (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
mail (>= 2.7.1)
- actionmailer (6.1.4.4)
- actionpack (= 6.1.4.4)
- actionview (= 6.1.4.4)
- activejob (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ net-imap
+ net-pop
+ net-smtp
+ actionmailer (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ actionview (= 7.0.2.2)
+ activejob (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
mail (~> 2.5, >= 2.5.4)
+ net-imap
+ net-pop
+ net-smtp
rails-dom-testing (~> 2.0)
- actionpack (6.1.4.4)
- actionview (= 6.1.4.4)
- activesupport (= 6.1.4.4)
- rack (~> 2.0, >= 2.0.9)
+ actionpack (7.0.2.2)
+ actionview (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
+ rack (~> 2.0, >= 2.2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionpack-page_caching (1.2.4)
actionpack (>= 4.0.0)
- actiontext (6.1.4.4)
- actionpack (= 6.1.4.4)
- activerecord (= 6.1.4.4)
- activestorage (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ actiontext (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ activerecord (= 7.0.2.2)
+ activestorage (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
+ globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
- actionview (6.1.4.4)
- activesupport (= 6.1.4.4)
+ actionview (7.0.2.2)
+ activesupport (= 7.0.2.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
active_record_union (1.3.0)
activerecord (>= 4.0)
- activejob (6.1.4.4)
- activesupport (= 6.1.4.4)
+ activejob (7.0.2.2)
+ activesupport (= 7.0.2.2)
globalid (>= 0.3.6)
- activemodel (6.1.4.4)
- activesupport (= 6.1.4.4)
- activerecord (6.1.4.4)
- activemodel (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ activemodel (7.0.2.2)
+ activesupport (= 7.0.2.2)
+ activerecord (7.0.2.2)
+ activemodel (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
activerecord-import (1.3.0)
activerecord (>= 4.2)
- activestorage (6.1.4.4)
- actionpack (= 6.1.4.4)
- activejob (= 6.1.4.4)
- activerecord (= 6.1.4.4)
- activesupport (= 6.1.4.4)
- marcel (~> 1.0.0)
+ activestorage (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ activejob (= 7.0.2.2)
+ activerecord (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
+ marcel (~> 1.0)
mini_mime (>= 1.1.0)
- activesupport (6.1.4.4)
+ activesupport (7.0.2.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
- zeitwerk (~> 2.3)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
- annotate (3.1.1)
- activerecord (>= 3.2, < 7.0)
+ annotate (3.2.0)
+ activerecord (>= 3.2, < 8.0)
rake (>= 10.4, < 14.0)
argon2 (2.1.1)
ffi (~> 1.14)
autoprefixer-rails (10.4.2.0)
execjs (~> 2)
aws-eventstream (1.2.0)
- aws-partitions (1.553.0)
- aws-sdk-core (3.126.0)
+ aws-partitions (1.554.0)
+ aws-sdk-core (3.126.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
bzip2-ffi (1.1.0)
ffi (~> 1.0)
cancancan (3.3.0)
- canonical-rails (0.2.13)
- rails (>= 4.1, <= 7.0)
+ canonical-rails (0.2.14)
+ rails (>= 4.1, <= 7.1)
capybara (3.36.0)
addressable
matrix
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
- childprocess (3.0.0)
+ childprocess (4.1.0)
coderay (1.1.3)
- composite_primary_keys (13.0.3)
- activerecord (~> 6.1.0)
+ composite_primary_keys (14.0.4)
+ activerecord (~> 7.0.2)
concurrent-ruby (1.1.9)
- config (3.1.1)
+ config (4.0.0)
deep_merge (~> 1.2, >= 1.2.1)
dry-validation (~> 1.0, >= 1.0.0)
connection_pool (2.2.5)
crack (0.4.5)
rexml
crass (1.0.6)
- dalli (3.2.0)
+ dalli (3.2.1)
debug_inspector (1.1.0)
deep_merge (1.2.2)
delayed_job (4.1.10)
delayed_job_active_record (4.1.7)
activerecord (>= 3.0, < 8.0)
delayed_job (>= 3.0, < 5)
+ digest (3.1.0)
docile (1.4.0)
doorkeeper (5.5.4)
railties (>= 5)
dry-logic (1.2.0)
concurrent-ruby (~> 1.0)
dry-core (~> 0.5, >= 0.5)
- dry-schema (1.8.0)
+ dry-schema (1.9.0)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.13, >= 0.13.0)
dry-core (~> 0.5, >= 0.5)
html_tokenizer (0.0.7)
htmlentities (4.3.4)
http_accept_language (2.1.1)
- i18n (1.9.1)
+ i18n (1.10.0)
concurrent-ruby (~> 1.0)
i18n-js (3.9.1)
i18n (>= 0.6.6)
ruby-vips (>= 2.0.17, < 3)
image_size (3.0.1)
in_threads (1.6.0)
+ io-wait (0.2.1)
jbuilder (2.11.5)
actionview (>= 5.0.0)
activesupport (>= 5.0.0)
- jmespath (1.5.0)
+ jmespath (1.6.0)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
logstasher (2.1.5)
activesupport (>= 5.2)
request_store
- loofah (2.13.0)
+ loofah (2.14.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (1.1.2)
mini_portile2 (2.7.1)
minitest (5.15.0)
- msgpack (1.4.4)
+ msgpack (1.4.5)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
+ net-imap (0.2.3)
+ digest
+ net-protocol
+ strscan
+ net-pop (0.1.1)
+ digest
+ net-protocol
+ timeout
+ net-protocol (0.1.2)
+ io-wait
+ timeout
+ net-smtp (0.3.1)
+ digest
+ net-protocol
+ timeout
nio4r (2.5.8)
nokogiri (1.13.1)
mini_portile2 (~> 2.7.0)
parallel (1.21.0)
parser (3.1.0.0)
ast (~> 2.4.1)
- pg (1.3.1)
+ pg (1.3.2)
popper_js (1.16.0)
progress (3.6.0)
public_suffix (4.0.6)
- puma (5.6.1)
+ puma (5.6.2)
nio4r (~> 2.0)
quad_tile (1.0.1)
r2 (0.2.7)
rack-openid (1.4.2)
rack (>= 1.1.0)
ruby-openid (>= 2.1.8)
- rack-protection (2.1.0)
+ rack-protection (2.2.0)
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
rack-uri_sanitizer (0.0.2)
- rails (6.1.4.4)
- actioncable (= 6.1.4.4)
- actionmailbox (= 6.1.4.4)
- actionmailer (= 6.1.4.4)
- actionpack (= 6.1.4.4)
- actiontext (= 6.1.4.4)
- actionview (= 6.1.4.4)
- activejob (= 6.1.4.4)
- activemodel (= 6.1.4.4)
- activerecord (= 6.1.4.4)
- activestorage (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ rails (7.0.2.2)
+ actioncable (= 7.0.2.2)
+ actionmailbox (= 7.0.2.2)
+ actionmailer (= 7.0.2.2)
+ actionpack (= 7.0.2.2)
+ actiontext (= 7.0.2.2)
+ actionview (= 7.0.2.2)
+ activejob (= 7.0.2.2)
+ activemodel (= 7.0.2.2)
+ activerecord (= 7.0.2.2)
+ activestorage (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
bundler (>= 1.15.0)
- railties (= 6.1.4.4)
- sprockets-rails (>= 2.0.0)
+ railties (= 7.0.2.2)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
nokogiri (>= 1.6)
rails-html-sanitizer (1.4.2)
loofah (~> 2.3)
- rails-i18n (6.0.0)
+ rails-i18n (7.0.2)
i18n (>= 0.7, < 2)
- railties (>= 6.0.0, < 7)
- railties (6.1.4.4)
- actionpack (= 6.1.4.4)
- activesupport (= 6.1.4.4)
+ railties (>= 6.0.0, < 8)
+ railties (7.0.2.2)
+ actionpack (= 7.0.2.2)
+ activesupport (= 7.0.2.2)
method_source
- rake (>= 0.13)
+ rake (>= 12.2)
thor (~> 1.0)
+ zeitwerk (~> 2.5)
rainbow (3.1.1)
rake (13.0.6)
rb-fsevent (0.11.1)
rb-inotify (0.10.1)
ffi (~> 1.0)
- regexp_parser (2.2.0)
+ regexp_parser (2.2.1)
request_store (1.5.1)
rack (>= 1.4)
rexml (3.2.5)
rubocop-ast (>= 1.15.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
- rubocop-ast (1.15.1)
+ rubocop-ast (1.15.2)
parser (>= 3.0.1.1)
- rubocop-minitest (0.17.1)
+ rubocop-minitest (0.17.2)
rubocop (>= 0.90, < 2.0)
rubocop-performance (1.13.2)
rubocop (>= 1.7.0, < 2.0)
sprockets-rails
tilt
secure_headers (6.3.3)
- selenium-webdriver (3.142.7)
- childprocess (>= 0.5, < 4.0)
+ selenium-webdriver (4.1.0)
+ childprocess (>= 0.5, < 5.0)
+ rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2)
simplecov (0.21.2)
docile (~> 1.1)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
- simplecov_json_formatter (0.1.3)
+ simplecov_json_formatter (0.1.4)
smart_properties (1.17.0)
sprockets (4.0.2)
concurrent-ruby (~> 1.0)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
- strong_migrations (0.7.9)
- activerecord (>= 5)
+ strong_migrations (0.8.0)
+ activerecord (>= 5.2)
+ strscan (3.0.1)
terser (1.1.8)
execjs (>= 0.3.0, < 3)
thor (1.2.1)
tilt (2.0.10)
+ timeout (0.2.0)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
unicode-display_width (2.1.0)
cancancan
canonical-rails
capybara (>= 2.15)
- composite_primary_keys (~> 13.0.0)
+ composite_primary_keys (~> 14.0.0)
config
connection_pool
dalli
r2 (~> 0.2.7)
rack-cors
rack-uri_sanitizer
- rails (= 6.1.4.4)
+ rails (= 7.0.2.2)
rails-controller-testing
- rails-i18n (~> 6.0.0)
+ rails-i18n (~> 7.0.0)
rinku (>= 2.0.6)
rotp
rubocop
sanitize
sassc-rails
secure_headers
- selenium-webdriver (~> 3.142.7)
+ selenium-webdriver
simplecov
simplecov-lcov
strong_migrations
* Install Homebrew from https://brew.sh/
* Install the latest version of Ruby: `brew install ruby`
-* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo`
+* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp`
* Install Bundler: `gem install bundler` (you might need to `sudo gem install bundler` if you get an error about permissions - or see note below about [developer Ruby setup](#rbenv))
You will need to tell `bundler` that `libxml2` is installed in a Homebrew location. If it uses the system-installed one then you will get errors installing the `libxml-ruby` gem later on<a name="macosx-bundle-config"></a>.
If you want to run the tests, you need `geckodriver` as well:
```
-brew tap homebrew/cask
-brew cask install geckodriver
+brew install geckodriver
```
Note that OS X does not have a /home directory by default, so if you are using the GPX functions, you will need to change the directories specified in config/application.yml.
send_data(trace.xml_file.read, :filename => "#{trace.id}.xml", :type => request.format.to_s, :disposition => "attachment")
elsif request.format == Mime[:gpx]
send_data(trace.xml_file.read, :filename => "#{trace.id}.gpx", :type => request.format.to_s, :disposition => "attachment")
+ elsif trace.file.attached?
+ redirect_to rails_blob_path(trace.file, :disposition => "attachment")
else
send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => "attachment")
end
# Sanitise the user's filename
name = file.original_filename.gsub(/[^a-zA-Z0-9.]/, "_")
- # Get a temporary filename...
- filename = "/tmp/#{rand}"
-
- # ...and save the uploaded file to that location
- File.binwrite(filename, file.read)
-
# Create the trace object, falsely marked as already
# inserted to stop the import daemon trying to load it
trace = Trace.new(
:tagstring => tags,
:description => description,
:visibility => visibility,
- :inserted => true,
+ :inserted => false,
:user => current_user,
- :timestamp => Time.now.getutc
+ :timestamp => Time.now.getutc,
+ :file => file
)
- if trace.valid?
- Trace.transaction do
- begin
- # Save the trace object
- trace.save!
-
- # Rename the temporary file to the final name
- FileUtils.mv(filename, trace.trace_name)
- rescue StandardError
- # Remove the file as we have failed to update the database
- FileUtils.rm_f(filename)
-
- # Pass the exception on
- raise
- end
-
- begin
- # Clear the inserted flag to make the import daemon load the trace
- trace.inserted = false
- trace.save!
- rescue StandardError
- # Remove the file as we have failed to update the database
- FileUtils.rm_f(trace.trace_name)
-
- # Pass the exception on
- raise
- end
- end
- end
+ # Save the trace object
+ trace.save!
# Finally save the user's preferred privacy level
if pref = current_user.preferences.where(:k => "gps.trace.visibility").first
logger.info(params[:trace][:gpx_file].class.name)
if params[:trace][:gpx_file].respond_to?(:read)
- begin
- @trace = do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
- params[:trace][:description], params[:trace][:visibility])
- rescue StandardError => e
- logger.debug e
- end
+ @trace = do_create(params[:trace][:gpx_file], params[:trace][:tagstring],
+ params[:trace][:description], params[:trace][:visibility])
if @trace.id
flash[:notice] = t ".trace_uploaded"
send_data(trace.xml_file.read, :filename => "#{trace.id}.xml", :type => request.format.to_s, :disposition => "attachment")
elsif request.format == Mime[:gpx]
send_data(trace.xml_file.read, :filename => "#{trace.id}.gpx", :type => request.format.to_s, :disposition => "attachment")
+ elsif trace.file.attached?
+ redirect_to rails_blob_path(trace.file, :disposition => "attachment")
else
send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => "attachment")
end
if trace.visible? && trace.inserted?
if trace.public? || (current_user && current_user == trace.user)
- expires_in 7.days, :private => !trace.public?, :public => trace.public?
- send_file(trace.large_picture_name, :filename => "#{trace.id}.gif", :type => "image/gif", :disposition => "inline")
+ if trace.icon.attached?
+ redirect_to rails_blob_path(trace.image, :disposition => "inline")
+ else
+ expires_in 7.days, :private => !trace.public?, :public => trace.public?
+ send_file(trace.large_picture_name, :filename => "#{trace.id}.gif", :type => "image/gif", :disposition => "inline")
+ end
else
head :forbidden
end
if trace.visible? && trace.inserted?
if trace.public? || (current_user && current_user == trace.user)
- expires_in 7.days, :private => !trace.public?, :public => trace.public?
- send_file(trace.icon_picture_name, :filename => "#{trace.id}_icon.gif", :type => "image/gif", :disposition => "inline")
+ if trace.icon.attached?
+ redirect_to rails_blob_path(trace.icon, :disposition => "inline")
+ else
+ expires_in 7.days, :private => !trace.public?, :public => trace.public?
+ send_file(trace.icon_picture_name, :filename => "#{trace.id}_icon.gif", :type => "image/gif", :disposition => "inline")
+ end
else
head :forbidden
end
# Sanitise the user's filename
name = file.original_filename.gsub(/[^a-zA-Z0-9.]/, "_")
- # Get a temporary filename...
- filename = "/tmp/#{rand}"
-
- # ...and save the uploaded file to that location
- File.binwrite(filename, file.read)
-
- # Create the trace object, falsely marked as already
- # inserted to stop the import daemon trying to load it
+ # Create the trace object
trace = Trace.new(
:name => name,
:tagstring => tags,
:description => description,
:visibility => visibility,
- :inserted => true,
+ :inserted => false,
:user => current_user,
- :timestamp => Time.now.getutc
+ :timestamp => Time.now.getutc,
+ :file => file
)
- if trace.valid?
- Trace.transaction do
- begin
- # Save the trace object
- trace.save!
-
- # Rename the temporary file to the final name
- FileUtils.mv(filename, trace.trace_name)
- rescue StandardError
- # Remove the file as we have failed to update the database
- FileUtils.rm_f(filename)
-
- # Pass the exception on
- raise
- end
-
- begin
- # Clear the inserted flag to make the import daemon load the trace
- trace.inserted = false
- trace.save!
- rescue StandardError
- # Remove the file as we have failed to update the database
- FileUtils.rm_f(trace.trace_name)
-
- # Pass the exception on
- raise
- end
+ # Save the trace object
+ if trace.save
+ # Finally save the user's preferred privacy level
+ if pref = current_user.preferences.where(:k => "gps.trace.visibility").first
+ pref.v = visibility
+ pref.save
+ else
+ current_user.preferences.create(:k => "gps.trace.visibility", :v => visibility)
end
end
- # Finally save the user's preferred privacy level
- if pref = current_user.preferences.where(:k => "gps.trace.visibility").first
- pref.v = visibility
- pref.save
- else
- current_user.preferences.create(:k => "gps.trace.visibility", :v => visibility)
- end
-
trace
end
end
def preconditions_ok?(good_members = [])
+ raise OSM::APITooManyRelationMembersError.new(id, members.length, Settings.max_number_of_relation_members) if members.length > Settings.max_number_of_relation_members
+
# These are hastables that store an id in the index of all
# the nodes/way/relations that have already been added.
# If the member is valid and visible then we add it to the
scope :visible_to_all, -> { where(:visibility => %w[public identifiable]) }
scope :tagged, ->(t) { joins(:tags).where(:gpx_file_tags => { :tag => t }) }
+ has_one_attached :file, :service => Settings.trace_file_storage
+ has_one_attached :image, :service => Settings.trace_image_storage
+ has_one_attached :icon, :service => Settings.trace_icon_storage
+
validates :user, :presence => true, :associated => true
validates :name, :presence => true, :length => 1..255, :characters => true
validates :description, :presence => { :on => :create }, :length => 1..255, :characters => true
validates :visibility, :inclusion => %w[private public trackable identifiable]
after_destroy :remove_files
+ after_save :set_filename
def tagstring
tags.collect(&:tag).join(", ")
end
end
+ def file=(attachable)
+ case attachable
+ when ActionDispatch::Http::UploadedFile, Rack::Test::UploadedFile
+ super(:io => attachable,
+ :filename => attachable.original_filename,
+ :content_type => content_type(attachable.path),
+ :identify => false)
+ else
+ super(attachable)
+ end
+ end
+
def public?
visibility == "public" || visibility == "identifiable"
end
visibility == "identifiable"
end
- def large_picture=(data)
- f = File.new(large_picture_name, "wb")
- f.syswrite(data)
- f.close
- end
-
- def icon_picture=(data)
- f = File.new(icon_picture_name, "wb")
- f.syswrite(data)
- f.close
- end
-
def large_picture
- f = File.new(large_picture_name, "rb")
- data = f.sysread(File.size(f.path))
- f.close
+ if image.attached?
+ data = image.blob.download
+ else
+ f = File.new(large_picture_name, "rb")
+ data = f.sysread(File.size(f.path))
+ f.close
+ end
+
data
end
def icon_picture
- f = File.new(icon_picture_name, "rb")
- data = f.sysread(File.size(f.path))
- f.close
+ if icon.attached?
+ data = icon.blob.download
+ else
+ f = File.new(icon_picture_name, "rb")
+ data = f.sysread(File.size(f.path))
+ f.close
+ end
+
data
end
end
def mime_type
- filetype = Open3.capture2("/usr/bin/file", "-Lbz", trace_name).first.chomp
- gzipped = filetype.include?("gzip compressed")
- bzipped = filetype.include?("bzip2 compressed")
- zipped = filetype.include?("Zip archive")
- tarred = filetype.include?("tar archive")
-
- if gzipped
- "application/x-gzip"
- elsif bzipped
- "application/x-bzip2"
- elsif zipped
- "application/x-zip"
- elsif tarred
- "application/x-tar"
+ if file.attached?
+ file.content_type
else
- "application/gpx+xml"
+ content_type(trace_name)
end
end
def extension_name
- filetype = Open3.capture2("/usr/bin/file", "-Lbz", trace_name).first.chomp
- gzipped = filetype.include?("gzip compressed")
- bzipped = filetype.include?("bzip2 compressed")
- zipped = filetype.include?("Zip archive")
- tarred = filetype.include?("tar archive")
-
- if tarred && gzipped
- ".tar.gz"
- elsif tarred && bzipped
- ".tar.bz2"
- elsif tarred
- ".tar"
- elsif gzipped
- ".gpx.gz"
- elsif bzipped
- ".gpx.bz2"
- elsif zipped
- ".zip"
- else
- ".gpx"
+ case mime_type
+ when "application/x-tar+gzip" then ".tar.gz"
+ when "application/x-tar+x-bzip2" then ".tar.bz2"
+ when "application/x-tar" then ".tar"
+ when "application/zip" then ".zip"
+ when "application/gzip" then ".gpx.gz"
+ when "application/x-bzip2" then ".gpx.bz2"
+ else ".gpx"
end
end
end
def xml_file
- filetype = Open3.capture2("/usr/bin/file", "-Lbz", trace_name).first.chomp
- gzipped = filetype.include?("gzip compressed")
- bzipped = filetype.include?("bzip2 compressed")
- zipped = filetype.include?("Zip archive")
- tarred = filetype.include?("tar archive")
-
- if gzipped || bzipped || zipped || tarred
- file = Tempfile.new("trace.#{id}")
-
- if tarred && gzipped
- system("tar", "-zxOf", trace_name, :out => file.path)
- elsif tarred && bzipped
- system("tar", "-jxOf", trace_name, :out => file.path)
- elsif tarred
- system("tar", "-xOf", trace_name, :out => file.path)
- elsif gzipped
- system("gunzip", "-c", trace_name, :out => file.path)
- elsif bzipped
- system("bunzip2", "-c", trace_name, :out => file.path)
- elsif zipped
- system("unzip", "-p", trace_name, "-x", "__MACOSX/*", :out => file.path, :err => "/dev/null")
+ with_trace_file do |trace_name|
+ filetype = Open3.capture2("/usr/bin/file", "-Lbz", trace_name).first.chomp
+ gzipped = filetype.include?("gzip compressed")
+ bzipped = filetype.include?("bzip2 compressed")
+ zipped = filetype.include?("Zip archive")
+ tarred = filetype.include?("tar archive")
+
+ if gzipped || bzipped || zipped || tarred
+ file = Tempfile.new("trace.#{id}")
+
+ if tarred && gzipped
+ system("tar", "-zxOf", trace_name, :out => file.path)
+ elsif tarred && bzipped
+ system("tar", "-jxOf", trace_name, :out => file.path)
+ elsif tarred
+ system("tar", "-xOf", trace_name, :out => file.path)
+ elsif gzipped
+ system("gunzip", "-c", trace_name, :out => file.path)
+ elsif bzipped
+ system("bunzip2", "-c", trace_name, :out => file.path)
+ elsif zipped
+ system("unzip", "-p", trace_name, "-x", "__MACOSX/*", :out => file.path, :err => "/dev/null")
+ end
+
+ file.unlink
+ else
+ file = File.open(trace_name)
end
- file.unlink
- else
- file = File.open(trace_name)
+ file
end
-
- file
end
def import
logger.info("GPX Import importing #{name} (#{id}) from #{user.email}")
- gpx = GPX::File.new(trace_name)
-
- f_lat = 0
- f_lon = 0
- first = true
-
- # If there are any existing points for this trace then delete them
- Tracepoint.where(:gpx_id => id).delete_all
-
- gpx.points.each_slice(1_000) do |points|
- # Gather the trace points together for a bulk import
- tracepoints = []
+ with_trace_file do |trace_name|
+ gpx = GPX::File.new(trace_name)
+
+ f_lat = 0
+ f_lon = 0
+ first = true
+
+ # If there are any existing points for this trace then delete them
+ Tracepoint.where(:gpx_id => id).delete_all
+
+ gpx.points.each_slice(1_000) do |points|
+ # Gather the trace points together for a bulk import
+ tracepoints = []
+
+ points.each do |point|
+ if first
+ f_lat = point.latitude
+ f_lon = point.longitude
+ first = false
+ end
+
+ tp = Tracepoint.new
+ tp.lat = point.latitude
+ tp.lon = point.longitude
+ tp.altitude = point.altitude
+ tp.timestamp = point.timestamp
+ tp.gpx_id = id
+ tp.trackid = point.segment
+ tracepoints << tp
+ end
- points.each do |point|
- if first
- f_lat = point.latitude
- f_lon = point.longitude
- first = false
+ # Run the before_save and before_create callbacks, and then import them in bulk with activerecord-import
+ tracepoints.each do |tp|
+ tp.run_callbacks(:save) { false }
+ tp.run_callbacks(:create) { false }
end
- tp = Tracepoint.new
- tp.lat = point.latitude
- tp.lon = point.longitude
- tp.altitude = point.altitude
- tp.timestamp = point.timestamp
- tp.gpx_id = id
- tp.trackid = point.segment
- tracepoints << tp
+ Tracepoint.import!(tracepoints)
end
- # Run the before_save and before_create callbacks, and then import them in bulk with activerecord-import
- tracepoints.each do |tp|
- tp.run_callbacks(:save) { false }
- tp.run_callbacks(:create) { false }
+ 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)
+ min_lon = Tracepoint.where(:gpx_id => id).minimum(:longitude)
+
+ max_lat = max_lat.to_f / 10000000
+ min_lat = min_lat.to_f / 10000000
+ max_lon = max_lon.to_f / 10000000
+ min_lon = min_lon.to_f / 10000000
+
+ self.latitude = f_lat
+ self.longitude = f_lon
+ image.attach(:io => gpx.picture(min_lat, min_lon, max_lat, max_lon, gpx.actual_points), :filename => "#{id}.gif", :content_type => "image/gif")
+ icon.attach(:io => gpx.icon(min_lat, min_lon, max_lat, max_lon), :filename => "#{id}_icon.gif", :content_type => "image/gif")
+ self.size = gpx.actual_points
+ self.inserted = true
+ save!
end
- Tracepoint.import!(tracepoints)
+ logger.info "done trace #{id}"
+
+ gpx
end
+ end
- 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)
- min_lon = Tracepoint.where(:gpx_id => id).minimum(:longitude)
-
- max_lat = max_lat.to_f / 10000000
- min_lat = min_lat.to_f / 10000000
- max_lon = max_lon.to_f / 10000000
- min_lon = min_lon.to_f / 10000000
-
- self.latitude = f_lat
- self.longitude = f_lon
- self.large_picture = gpx.picture(min_lat, min_lon, max_lat, max_lon, gpx.actual_points)
- self.icon_picture = gpx.icon(min_lat, min_lon, max_lat, max_lon)
- self.size = gpx.actual_points
- self.inserted = true
- save!
+ def migrate_to_storage!
+ file.attach(:io => File.open(trace_name),
+ :filename => name,
+ :content_type => content_type(trace_name),
+ :identify => false)
+
+ if inserted
+ image.attach(:io => File.open(large_picture_name),
+ :filename => "#{id}.gif",
+ :content_type => "image/gif")
+ icon.attach(:io => File.open(icon_picture_name),
+ :filename => "#{id}_icon.gif",
+ :content_type => "image/gif")
end
- logger.info "done trace #{id}"
+ save!
- gpx
+ remove_files
end
private
+ def content_type(file)
+ case Open3.capture2("/usr/bin/file", "-Lbz", file).first.chomp
+ when /.*\btar archive\b.*\bgzip\b/ then "application/x-tar+gzip"
+ when /.*\btar archive\b.*\bbzip2\b/ then "application/x-tar+x-bzip2"
+ when /.*\btar archive\b/ then "application/x-tar"
+ when /.*\bZip archive\b/ then "application/zip"
+ when /.*\bXML\b.*\bgzip\b/ then "application/gzip"
+ when /.*\bXML\b.*\bbzip2\b/ then "application/x-bzip2"
+ else "application/gpx+xml"
+ end
+ end
+
+ def with_trace_file
+ if file.attached?
+ file.open do |file|
+ yield file.path
+ end
+ else
+ yield trace_name
+ end
+ end
+
+ def set_filename
+ file.blob.update(:filename => "#{id}#{extension_name}") if file.attached?
+ end
+
def remove_files
FileUtils.rm_f(trace_name)
FileUtils.rm_f(icon_picture_name)
scope :active, -> { where(:status => %w[active confirmed]) }
scope :identifiable, -> { where(:data_public => true) }
- has_one_attached :avatar
+ has_one_attached :avatar, :service => Settings.avatar_storage
validates :display_name, :presence => true, :length => 3..255,
:exclusion => %w[new terms save confirm confirm-email go_public reset-password forgot-password suspended]
api.note_area(:maximum => Settings.max_note_request_area)
api.tracepoints(:per_page => Settings.tracepoints_per_page)
api.waynodes(:maximum => Settings.max_number_of_way_nodes)
+ api.relationmembers(:maximum => Settings.max_number_of_relation_members)
api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS)
api.timeout(:seconds => Settings.api_timeout)
api.status(:database => @database_status,
system! "gem install bundler --conservative"
system("bundle check") || system!("bundle install")
- # Install JavaScript dependencies
- system! "bin/yarn"
-
# puts "\n== Copying sample files =="
- # unless File.exist?('config/database.yml')
- # FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
+ # unless File.exist?("config/database.yml")
+ # FileUtils.cp "config/database.yml.sample", "config/database.yml"
# end
puts "\n== Preparing database =="
# Show full error reports.
config.consider_all_requests_local = true
+ # Enable server timing
+ config.server_timing = true
+
# Enable/disable caching. By default caching is disabled.
# Run rails dev:cache to toggle caching.
if Rails.root.join("tmp/caching-dev.txt").exist?
# Highlight code that triggered database queries in logs.
config.active_record.verbose_query_logs = true unless Settings.status == "database_offline"
- # Debug mode disables concatenation and preprocessing of assets.
- # This option may cause significant delays in view rendering with a large
- # number of complex assets.
- config.assets.debug = true
-
# Suppress logger output for asset requests.
config.assets.quiet = true
# Annotate rendered view with file names.
# config.action_view.annotate_rendered_view_with_filenames = true
- # Use an evented file watcher to asynchronously detect changes in source code,
- # routes, locales, etc. This feature depends on the listen gem.
- config.file_watcher = ActiveSupport::EventedFileUpdateChecker
-
# Uncomment if you wish to allow Action Cable access from any origin.
# config.action_cable.disable_request_forgery_protection = true
config.assets.compile = false
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
- # config.asset_host = 'http://assets.example.com'
+ # config.asset_host = "http://assets.example.com"
# Specifies the header that your server uses for sending files.
- # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
+ # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
+ # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
# Store uploaded files on the local file system (see config/storage.yml for options).
- config.active_storage.service = Settings.storage_service.to_sym
+ config.active_storage.service = :local
# Mount Action Cable outside main process or domain.
# config.action_cable.mount_path = nil
- # config.action_cable.url = 'wss://example.com/cable'
- # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
+ # config.action_cable.url = "wss://example.com/cable"
+ # config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true
# the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true
- # Send deprecation notices to registered listeners.
- config.active_support.deprecation = :notify
-
- # Log disallowed deprecations.
- config.active_support.disallowed_deprecation = :log
-
- # Tell Active Support which deprecation messages to disallow.
- config.active_support.disallowed_deprecation_warnings = []
+ # Don't log any deprecations.
+ config.active_support.report_deprecations = false
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
# Use a different logger for distributed setups.
- # require 'syslog/logger'
- # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
+ # require "syslog/logger"
+ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new($stdout)
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false unless Settings.status == "database_offline"
- # Inserts middleware to perform automatic connection switching.
- # The `database_selector` hash is used to pass options to the DatabaseSelector
- # middleware. The `delay` is used to determine how long to wait after a write
- # to send a subsequent read to the primary.
- #
- # The `database_resolver` class is used by the middleware to determine which
- # database is appropriate to use based on the time delay.
- #
- # The `database_resolver_context` class is used by the middleware to set
- # timestamps for the last write to the primary. The resolver uses the context
- # class timestamps to determine how long to wait before reading from the
- # replica.
- #
- # By default Rails will store a last write timestamp in the session. The
- # DatabaseSelector middleware is designed as such you can define your own
- # strategy for connection switching and pass that into the middleware through
- # these configuration options.
- # config.active_record.database_selector = { delay: 2.seconds }
- # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver
- # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session
-
# Enable autoloading of dependencies.
config.enable_dependency_loading = true
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
+ # Turn false under Spring and add config.action_view.cache_template_loading = true
config.cache_classes = true
- # Do not eager load code on boot. This avoids loading your whole application
- # just for the purpose of running a single test. If you are using a tool that
- # preloads Rails for running tests, you may have to set it to true.
- config.eager_load = false
+ # Eager loading loads your whole application. When running a single test locally,
+ # this probably isn't necessary. It's a good idea to do in a continuous integration
+ # system, or in some way before deploying your code.
+ config.eager_load = ENV["CI"].present?
# Configure public file server for tests with Cache-Control for performance.
config.public_file_server.enabled = true
required(:max_note_request_area).filled(:number?)
required(:tracepoints_per_page).filled(:int?)
required(:max_number_of_way_nodes).filled(:int?)
+ required(:max_number_of_relation_members).filled(:int?)
required(:api_timeout).filled(:int?)
required(:imagery_blacklist).maybe(:array?)
required(:status).filled(:str?, :included_in? => ALLOWED_STATUS)
- required(:storage_service).filled(:str?)
+ required(:avatar_storage).filled(:str?)
+ required(:trace_file_storage).filled(:str?)
+ required(:trace_image_storage).filled(:str?)
+ required(:trace_icon_storage).filled(:str?)
end
end
# For further information see the following documentation
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
-# Rails.application.config.content_security_policy do |policy|
-# policy.default_src :self, :https
-# policy.font_src :self, :https, :data
-# policy.img_src :self, :https, :data
-# policy.object_src :none
-# policy.script_src :self, :https
-# policy.style_src :self, :https
-# # If you are using webpack-dev-server then specify webpack-dev-server host
-# policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development?
-
-# # Specify URI for violation reports
-# # policy.report_uri "/csp-violation-report-endpoint"
+# Rails.application.configure do
+# config.content_security_policy do |policy|
+# policy.default_src :self, :https
+# policy.font_src :self, :https, :data
+# policy.img_src :self, :https, :data
+# policy.object_src :none
+# policy.script_src :self, :https
+# policy.style_src :self, :https
+# # Specify URI for violation reports
+# # policy.report_uri "/csp-violation-report-endpoint"
+# end
+#
+# # Generate session nonces for permitted importmap and inline scripts
+# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
+# config.content_security_policy_nonce_directives = %w(script-src)
+#
+# # Report CSP violations to a specified URI. See:
+# # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
+# # config.content_security_policy_report_only = true
# end
-
-# If you are using UJS then enable automatic nonce generation
-# Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) }
-
-# Set the nonce only to specific directives
-# Rails.application.config.content_security_policy_nonce_directives = %w(script-src)
-
-# Report CSP violations to a specified URI
-# For further information see the following documentation:
-# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
-# Rails.application.config.content_security_policy_report_only = true
# are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.plural /^(ox)$/i, '\1en'
-# inflect.singular /^(ox)en/i, '\1'
-# inflect.irregular 'person', 'people'
+# inflect.plural /^(ox)$/i, "\\1en"
+# inflect.singular /^(ox)en/i, "\\1"
+# inflect.irregular "person", "people"
# inflect.uncountable %w( fish sheep )
# end
# These inflection rules are supported but not enabled by default:
# ActiveSupport::Inflector.inflections(:en) do |inflect|
-# inflect.acronym 'RESTful'
+# inflect.acronym "RESTful"
# end
--- /dev/null
+# Be sure to restart your server when you modify this file.
+#
+# This file eases your Rails 7.0 framework defaults upgrade.
+#
+# Uncomment each configuration one by one to switch to the new default.
+# Once your application is ready to run with all new defaults, you can remove
+# this file and set the `config.load_defaults` to `7.0`.
+#
+# Read the Guide for Upgrading Ruby on Rails for more info on each option.
+# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
+
+# `button_to` view helper will render `<button>` element, regardless of whether
+# or not the content is passed as the first argument or as a block.
+# Rails.application.config.action_view.button_to_generates_button_tag = true
+
+# `stylesheet_link_tag` view helper will not render the media attribute by default.
+# Rails.application.config.action_view.apply_stylesheet_media_default = false
+
+# Change the digest class for the key generators to `OpenSSL::Digest::SHA256`.
+# Changing this default means invalidate all encrypted messages generated by
+# your application and, all the encrypted cookies. Only change this after you
+# rotated all the messages using the key rotator.
+#
+# See upgrading guide for more information on how to build a rotator.
+# https://guides.rubyonrails.org/v7.0/upgrading_ruby_on_rails.html
+# Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256
+
+# Change the digest class for ActiveSupport::Digest.
+# Changing this default means that for example Etags change and
+# various cache keys leading to cache invalidation.
+# Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256
+
+# Don't override ActiveSupport::TimeWithZone.name and use the default Ruby
+# implementation.
+# Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true
+
+# Change the format of the cache entry.
+# Changing this default means that all new cache entries added to the cache
+# will have a different format that is not supported by Rails 6.1 applications.
+# Only change this value after your application is fully deployed to Rails 7.0
+# and you have no plans to rollback.
+# Rails.application.config.active_support.cache_format_version = 7.0
+
+# Calls `Rails.application.executor.wrap` around test cases.
+# This makes test cases behave closer to an actual request or job.
+# Several features that are normally disabled in test, such as Active Record query cache
+# and asynchronous queries will then be enabled.
+# Rails.application.config.active_support.executor_around_test_case = true
+
+# Define the isolation level of most of Rails internal state.
+# If you use a fiber based server or job processor, you should set it to `:fiber`.
+# Otherwise the default of `:thread` if preferable.
+# Rails.application.config.active_support.isolation_level = :thread
+
+# Set both the `:open_timeout` and `:read_timeout` values for `:smtp` delivery method.
+# Rails.application.config.action_mailer.smtp_timeout = 5
+
+# The ActiveStorage video previewer will now use scene change detection to generate
+# better preview images (rather than the previous default of using the first frame
+# of the video).
+# Rails.application.config.active_storage.video_preview_arguments =
+# "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"
+
+# Automatically infer `inverse_of` for associations with a scope.
+# Rails.application.config.active_record.automatic_scope_inversing = true
+
+# Raise when running tests if fixtures contained foreign key violations
+# Rails.application.config.active_record.verify_foreign_keys_for_fixtures = true
+
+# Disable partial inserts.
+# This default means that all columns will be referenced in INSERT queries
+# regardless of whether they have a default or not.
+# Rails.application.config.active_record.partial_inserts = false
+#
+# Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`.
+# Rails.application.config.action_controller.raise_on_open_redirects = true
+
+# Change the variant processor for Active Storage.
+# Changing this default means updating all places in your code that
+# generate variants to use image processing macros and ruby-vips
+# operations. See the upgrading guide for detail on the changes required.
+# The `:mini_magick` option is not deprecated; it's fine to keep using it.
+# Rails.application.config.active_storage.variant_processor = :vips
+
+# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
+# was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter.
+#
+# If you're confident all your cookies are JSON formatted, you can switch to the `:json` formatter.
+#
+# Continue to use `:marshal` for backward-compatibility with old cookies.
+#
+# If you have configured the serializer elsewhere, you can remove this.
+#
+# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information.
+# Rails.application.config.action_dispatch.cookies_serializer = :hybrid
+
+# Enable parameter wrapping for JSON.
+# Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it.
+# To disable parameter wrapping entirely, set this config to `false`.
+# Rails.application.config.action_controller.wrap_parameters_by_default = true
+
+# Specifies whether generated namespaced UUIDs follow the RFC 4122 standard for namespace IDs provided as a
+# `String` to `Digest::UUID.uuid_v3` or `Digest::UUID.uuid_v5` method calls.
+#
+# See https://guides.rubyonrails.org/configuring.html#config-active-support-use-rfc4122-namespaced-uuids for
+# more information.
+# Rails.application.config.active_support.use_rfc4122_namespaced_uuids = true
+
+# Change the default headers to disable browsers' flawed legacy XSS protection.
+# Rails.application.config.action_dispatch.default_headers = {
+# "X-Frame-Options" => "SAMEORIGIN",
+# "X-XSS-Protection" => "0",
+# "X-Content-Type-Options" => "nosniff",
+# "X-Download-Options" => "noopen",
+# "X-Permitted-Cross-Domain-Policies" => "none",
+# "Referrer-Policy" => "strict-origin-when-cross-origin"
+# }
--- /dev/null
+# Define an application-wide HTTP permissions policy. For further
+# information see https://developers.google.com/web/updates/2018/06/feature-policy
+#
+# Rails.application.config.permissions_policy do |f|
+# f.camera :none
+# f.gyroscope :none
+# f.microphone :none
+# f.usb :none
+# f.fullscreen :self
+# f.payment :self, "https://secure.example.com"
+# end
csp_policy[:img_src] << PIWIK["location"] if defined?(PIWIK)
csp_policy[:script_src] << PIWIK["location"] if defined?(PIWIK)
-csp_policy[:img_src] << Settings.storage_url if Settings.key?(:storage_url)
+csp_policy[:img_src] << Settings.avatar_storage_url if Settings.key?(:avatar_storage_url)
+csp_policy[:img_src] << Settings.trace_image_storage_url if Settings.key?(:trace_image_storage_url)
csp_policy[:report_uri] << Settings.csp_report_url if Settings.key?(:csp_report_url)
hosting_partners_html: Kemeret eo an herberc'hiañ e karg gant %{ucl}, %{fastly},
%{bytemark}, ha %{partners} all.
partners_ucl: ↓"Universiy College" Londrez
- partners_fastly: Buan
+ partners_fastly: Fastly
partners_bytemark: ↓Herberc'hiañ Bytemark
partners_partners: Kevelourien
tou: Termenoù implijout
hosting_partners_html: L'allotjament és a càrrec de %{ucl}, %{fastly}, %{bytemark}
i d'altres %{partners}.
partners_ucl: UCL
- partners_fastly: Ràpid
+ partners_fastly: Fastly
partners_bytemark: Bytemark Hosting
partners_partners: socis
tou: Condicions d’ús
"yes": Ort
railway:
abandoned: Aufgegebene Bahnstrecke
+ buffer_stop: Prellbock
construction: Bahnstrecke im Bau
disused: Aufgelassene Bahnstrecke
funicular: Standseilbahn
platform: Bahnsteig
preserved: Museumsbahn
proposed: Geplante Bahnstrecke
+ rail: Bahn
spur: Anschlussgleis
station: Bahnhof
stop: Haltepunkt
switch: Weiche
tram: Straßenbahn
tram_stop: Haltestelle
+ turntable: Drehschreibe
yard: Rangierbahnhof
shop:
agrarian: Agrargeschäft
activate_user: Benutzer aktivieren
deactivate_user: Benutzer deaktivieren
confirm_user: Benutzer bestätigen
+ unconfirm_user: Diesen Benutzer nicht bestätigen
+ unsuspend_user: Diesen Benutzer freischalten
hide_user: Benutzer verstecken
unhide_user: Benutzer nicht mehr verstecken
delete_user: Benutzer löschen
# Author: Ruila
# Author: Sim6
# Author: Sukanya121
+# Author: TehFrog
# Author: Tiberius1701
# Author: Toliño
# Author: Translationista
create: Registrar
update: Actualizar
doorkeeper_application:
- create: Registrarse
+ create: Registrar
update: Actualizar
redaction:
create: Crear redacción
title: Entradas en el diario de OpenStreetMap
description: Entradas recientes en los diarios de los usuarios de OpenStreetMap
comments:
+ title: Comentarios diarios añadidos por %{user}
+ heading: Comentarios diarios de %{user}
+ subheading_html: Comentarios diarios añadidos por %{user}
no_comments: Ningún comentario diario
post: Publicación
when: Cuando
trailhead: Inicio del sendero
trunk: Vía rápida
trunk_link: Enlace de vía rápida
+ turning_circle: Radio de giro
turning_loop: Bucle de giro
unclassified: Carretera sin clasificar
"yes": Camino
"yes": Lugar
railway:
abandoned: Ferrocarril abandonado
+ buffer_stop: Parada de búfer
construction: Vía ferroviaria en construcción
disused: Ferrocarril en desuso
funicular: Vía de funicular
platform: Andén
preserved: Ferrocarril preservado
proposed: Vía de tren proyectada
+ rail: Raíl
spur: Ramal ferroviario
station: Estación de trenes
stop: Parada de tren
switch: Aguja de ferrocarril
tram: Ruta de tranvía
tram_stop: Parada de tranvía
+ turntable: Placa giratoria
yard: Estación de clasificación
shop:
agrarian: Tienda agraria
hosting_partners_html: El alojamiento es apoyado por %{ucl}, %{fastly}, %{bytemark},
y otros %{partners}.
partners_ucl: UCL
- partners_fastly: Rápido
+ partners_fastly: Fastly
partners_bytemark: Bytemark Hosting
partners_partners: socios
tou: Términos de uso
de autenticación.
unknown_token: Ese código de confirmación ha caducado o no existe.
resend_success_flash:
- confirmation_sent: Hemos enviado una nueva nota de confirmación a %{email} y
- tan pronto como confirmes tu cuenta podrás obtener el mapeo.
- whitelist: Si utilizas un antispam sistema qué envía peticiones de confirmación
- entonces complacen marca seguro tú whitelist %{sender} cuando somos incapaces
- de responder a cualesquier peticiones de confirmación.
+ confirmation_sent: Hemos enviado una nueva nota a %{email} y tan pronto como
+ confirmes tu cuenta podrás obtener mapeo.
+ whitelist: Si usas un sistema antispam que envía solicitudes de confirmación
+ entonces por favor asegúrate de incluir en la lista blanca %{sender}, ya que
+ no podemos responder ninguna solicitud de confirmación.
messages:
inbox:
title: Buzón de entrada
traza</a> o aprende más sobre trazas GPS en la <a href='https://wiki.openstreetmap.org/wiki/ES:Gu%C3%ADa_del_principiante_1.2'>página
wiki</a>.
upload_trace: Subir una traza
- all_traces: Todas las trazas
- traces_from: Seguimientos públicos de %{user}
- remove_tag_filter: Saca Filtro de Etiqueta
+ all_traces: Todos los trazos
+ traces_from: Trazos Públicos de %{user}
+ remove_tag_filter: Eliminar Filtro de Etiquetas
destroy:
scheduled_for_deletion: Traza programada para eliminación
make_public:
permissions:
missing: No ha permitido que la aplicación acceda a esta instalación.
scopes:
- read_prefs: Leer las preferencias del usuario
+ read_prefs: Leer preferiencias de usuario
write_prefs: modificar sus preferencias de usuario.
- write_diary: crear entradas en el diario, comentarios y hacer amigos.
+ write_diary: Crea entradas diarias, comentarios y haz amigos
write_api: modificar el mapa.
read_gpx: leer sus trazas de GPS privadas
write_gpx: subir trazas de GPS
- write_notes: Modificar notas
+ write_notes: Modifica notas
read_email: Leer dirección de correo electrónico del usuario
skip_authorization: Auto aprobar aplicación
oauth_clients:
flash: Destruido el registro de aplicación del cliente
oauth2_applications:
index:
- title: Mis aplicaciones cliente
+ title: Mis Aplicaciones de Cliente
no_applications_html: ¿Tiene una aplicación que le gustaría registrar para usar
- con nosotros usando el estándar% {oauth2}? Debe registrar su aplicación antes
- de que pueda realizar solicitudes OAuth a este servicio.
+ con nosotros utilizando el estándar %{oauth2}? Debe registrar su aplicación
+ antes de que pueda hacer solicitudes OAuth a este servicio.
new: Registre su aplicación
name: Nombre
permissions: Permisos
application:
edit: Ediciones
- delete: Borrar
+ delete: Eliminar
confirm_delete: Ver esta aplicación
new:
title: Registrar una nueva aplicación
edit:
- title: Registre su aplicación
+ title: Editar tu aplicación
show:
edit: Editar
delete: Eliminar
introduction: ¿Autorizar a %{application} a acceder a su cuenta con los siguientes
permisos?
authorize: Autorizar →
- deny: Negar
+ deny: Denegar
error:
title: Se produjo un error.
show:
permissions: 'Permisos:'
no_applications_html: Aún no ha autorizado ninguna aplicación %{oauth2}.
application:
- revoke: revocar el acceso
+ revoke: Revocar el acceso
confirm_revoke: ¿Revocar el acceso a esta aplicación?
users:
new:
activate_user: Activar este usuario
deactivate_user: Desactivar este usuario
confirm_user: Confirmar este usuario
+ unconfirm_user: Desconfirmar este usuario
+ unsuspend_user: Desuspender este usuario
hide_user: Ocultar este usuario
unhide_user: Mostrar este usuario
delete_user: Eliminar este usuario
hosting_partners_html: Palvelinkapasiteettia meille tarjoaa %{ucl}, %{fastly},
%{bytemark} ja muut %{partners}.
partners_ucl: UCL
- partners_fastly: Nopeasti
+ partners_fastly: Fastly
partners_bytemark: Bytemark Hosting
partners_partners: kumppanimme
tou: Käyttöehdot
created_html: Créé à <abbr title="%{title}">%{time}</abbr>
closed_html: Fermé <abbr title="%{title}">%{time}</abbr>
created_by_html: Créé à <abbr title="%{title}">%{time}</abbr> par %{user}
- deleted_by_html: Supprimé <abbr title='%{title}'>%{time}</abbr> par %{user}
+ deleted_by_html: Supprimé <abbr title="%{title}">%{time}</abbr> par %{user}
edited_by_html: Modifié <abbr title="%{title}">%{time}</abbr> par %{user}
closed_by_html: Fermé <abbr title="%{title}">%{time}</abbr> par %{user}
version: Version
votre domicile pour voir les utilisateurs à proximité.'
edit_your_profile: Modifier votre profil
my friends: Mes amis
- no friends: Vous n’avez pas encore ajouté d’ami.
+ no friends: Vous n’avez encore ajouté aucun ami.
nearby users: Autres utilisateurs à proximité
no nearby users: Aucun utilisateur n’a encore signalé qu’il cartographiait à
proximité.
title: Entrées des journaux OpenStreetMap
description: Entrées récentes des journaux d’utilisateurs de OpenStreetMap
comments:
- title: Commentaires d’agenda ajoutés par %{user}
- heading: Commentaires d’agenda de %{user}
- subheading_html: Commentaires d’agenda ajoutés par %{user}
- no_comments: Aucun commentaire d’agenda
+ title: Commentaires de journal ajoutés par %{user}
+ heading: Commentaires de journal de %{user}
+ subheading_html: Commentaires de journal ajoutés par %{user}
+ no_comments: Aucun commentaire de journal
post: Billet
when: Quand
comment: Commentaire
cliquer sur le lien dans le courriel de confirmation pour activer votre compte,
sinon <a href="%{reconfirm}">demandez un nouveau courriel de confirmation</a>.
account is suspended: Désolé, votre compte a été suspendu en raison d’une activité
- suspecte.<br /> Veuillez contacter le <a href="%{webmaster}">support</a> si
- vous voulez en discuter.
+ suspecte.<br /> Veuillez contacter l’<a href="%{webmaster}">assistance en
+ ligne</a> si vous voulez en discuter.
auth failure: Désolé, mais les informations fournies n’ont pas permis de vous
identifier.
openid_logo_alt: Se connecter avec un OpenID
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">région du Vorarlberg</a> et la
région du Tyrol (sous licence <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT avec amendements</a>).
contributors_au_html: |-
- <strong>Australie</strong> : incorpore ou développé en utilissant Limites administratives ©
+ <strong>Australie</strong> : incorpore ou développé en utilisant les Limites administratives ©
<a href="https://geoscape.com.au/legal/data-copyright-and-disclaimer/">Geoscape Australia</a> publiées sous la licence
<a href="https://creativecommons.org/licenses/by/4.0/">Creative licence internationale Commons Attribution 4.0 (CC BY 4.0)</a>.
contributors_ca_html: '<strong>Canada</strong> : contient des données de <em>GeoBase</em>®,
license:
copyright: Copyright OpenStreetMap et ses contributeurs, sous une licence
ouverte
- remote_failed: Échec de la modification – Vérifiez que l’éditeur externe JOSM
+ remote_failed: Échec de la modification — vérifiez que l’éditeur externe JOSM
ou Merkaartor est ouvert et que l’option de contrôle à distance de l’application
est activée.
edit:
de vitesse d’une route.
rules:
title: Règles !
- paragraph_1_html: |-
- OpenStreetMap a quelques règles formelles, mais nous attendons de tous les participants une collaboration et une communication avec la communauté. Si vous envisagez d’autres activités que la modification à la main, veuillez lire et suivre les directives sur
- <a href="https://wiki.openstreetmap.org/wiki/Import/Guidelines">les importations</a> et
- <a href="https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct">les modifications automatiques</a>.
+ paragraph_1_html: OpenStreetMap a quelques règles formelles, mais nous attendons
+ de tous les participants une collaboration et une communication avec la
+ communauté. Si vous envisagez d’autres activités que la modification à la
+ main, veuillez lire et suivre les directives sur les <a href="https://wiki.openstreetmap.org/wiki/Import/Guidelines">importations</a>
+ et les <a href="https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct">modifications
+ automatiques</a>.
questions:
title: Des questions ?
paragraph_1_html: |-
allow_write_prefs: modifier vos préférences utilisateur ;
allow_write_diary: créer pour vous des entrées dans votre journal, faire des
commentaires et ajouter des amis ;
- allow_write_api: modifier la carte ;
+ allow_write_api: modifier la carte.
allow_read_gpx: lire vos traces GPS privées ;
allow_write_gpx: envoyer des traces GPS en votre nom ;
allow_write_notes: modifier des notes.
scopes:
read_prefs: Lire les préférences de l’utilisateur
write_prefs: Modifier les préférences de l’utilisateur
- write_diary: Créer les entrées d’agenda, les commentaires, et faire des amis
+ write_diary: Créer des entrées de journal, des commentaires et se faire des
+ amis
write_api: Modifier la carte
read_gpx: Lire les traces GPC privées
write_gpx: Mettre à jour les traces GPC
write_notes: Modifier les notes
- read_email: Lire l'adresse e-mail de l'utilisateur
- skip_authorization: Demande d'approbation automatique
+ read_email: Lire l’adresse courriel de l’utilisateur
+ skip_authorization: Demande d’approbation automatique
oauth_clients:
new:
title: Enregistrer une nouvelle application
index:
title: Mes détails OAuth
my_tokens: Mes applications enregistrées
- list_tokens: 'Les jetons suivants ont été émis aux applications en votre nom
- :'
+ list_tokens: 'Les jetons suivants ont été émis aux applications en votre nom :'
application: Nom de l’application
- issued_at: émis le
- revoke: Révoquer !
+ issued_at: Ã\89mis le
+ revoke: Révoquer !
my_apps: Mes applications clientes
no_apps_html: Avez-vous une application qui aimerait s’enregistrer pour utiliser
le standard %{oauth} ? Vous devez enregistrer votre application web avant
confirm_delete: Supprimer cette application ?
client_id: ID client
client_secret: Secret du client
- client_secret_warning: Assurez-vous de sauvegarder ce secret — il ne sera plus
+ client_secret_warning: Assurez-vous de sauvegarder ce secret — il ne sera plus
accessible
permissions: Autorisations
redirect_uris: Rediriger les URIs
title: Mes applications autorisées
application: Application
permissions: Droits
- no_applications_html: Vous n’avez pas encore autorisé d’application %{oauth2}.
+ no_applications_html: Vous n’avez encore autorisé aucune application %{oauth2}.
application:
revoke: Révoquer l’accès
confirm_revoke: Révoquer l’accès pour cette application ?
no_auto_account_create: Malheureusement, nous sommes actuellement dans l’impossibilité
de vous créer un compte automatiquement.
contact_support_html: Veuillez contacter le <a href="%{support}">support</a>
- pour qu’il vous crée un compte – nous essaierons de traiter votre demande
+ pour qu’il vous crée un compte — nous essaierons de traiter votre demande
le plus rapidement possible.
about:
header: Libre et modifiable
suspended:
title: Compte suspendu
heading: Compte suspendu
- support: support
+ support: assistance
body_html: |-
<p>
Désolé, votre compte a été suspendu en raison d’une
show:
title: « %{block_on} » bloqué par « %{block_by} »
heading_html: « %{block_on} » bloqué par « %{block_by} »
- created: 'Créé :'
- duration: 'Durée :'
- status: 'État :'
+ created: 'Créé :'
+ duration: 'Durée :'
+ status: 'État :'
show: Afficher
edit: Modifier
revoke: Révoquer !
message:
create: Ferstjoere
client_application:
+ create: Registrearje
update: Bywurkje
doorkeeper_application:
+ create: Registrearje
update: Bywurkje
redaction:
create: Redigearring oanmeitsje
tracetag: Trajektlebel
user: Meidogger
user_preference: Meidoggerfoarkar
+ user_token: Meidoggerkaai
way: Line
way_node: Linepunt
way_tag: Linelebel
attributes:
+ client_application:
+ name: Namme (ferplichte)
diary_comment:
body: Ynhâld
diary_entry:
language: Taal
doorkeeper/application:
name: Namme
+ scopes: Rjochten
friend:
user: Meidogger
friend: Freon
comment: Reäksje
newer_comments: Nijere reäksjes
older_comments: Aldere reäksjes
+ doorkeeper:
+ flash:
+ applications:
+ create:
+ notice: Applikaasje registrearre.
friendships:
make_friend:
heading: '%{user} as freon tafoegje?'
success: '%{name} is no jo freon(dinne)!'
failed: Spitich, %{name} as freon tafoegjen mislearre.
already_a_friend: Jo binne al freonen mei %{name}.
+ limit_exceeded: Jo hawwe de lêste tiid in soad meidoggers freon makke. Wachtsje
+ in skoftke mei noch mear te meitsjen.
remove_friend:
heading: '%{user} as freon ôffiere?'
button: Offiere
back_to_inbox: Werom nei ynfek
create:
message_sent: Berjocht ferstjoerd
+ limit_exceeded: Jo hawwe de lêste tiid in soad berjochten ferstjoerd. Wachtsje
+ in skoftke mei noch mear te ferstjoeren.
no_such_message:
title: Berjocht ûnbekend
heading: Berjocht ûnbekend
longitude: 'Lgr.:'
output: Utfier
export_button: Eksportearje
+ fixthemap:
+ how_to_help:
+ add_a_note:
+ instructions_html: |-
+ Klik gewoan op <a class='icon note'></a> of itselde ikoan yn 'e kaartwerjefte.
+ Der komt in markearder op 'e kaart dy't jo
+ ferslepe kinne. Heakje jo berjocht ta, klik bewarje, en oare kaartmakkers sille it dan besjen.
help:
title: Help krije
+ introduction: |-
+ OpenStreetMap hat ferskate middels om oer it projekt te learen, foar it stellen en beäntwurdzjen fan fragen,
+ en yn gearwurking bepraten en fêstlizzen fan kartearringssaken.
welcome:
url: /welcome
title: Wolkom by OpenStreetMap
+ description: Begjin mei dizze koarte útlis oer OpenStreetMap-basisdingen.
beginners_guide:
url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
title: Paadwizer foar begjinners
+ description: Troch de mienskip byholden paadwizer foar begjinners.
help:
url: https://help.openstreetmap.org/
title: Help-foarum
+ description: Stel in fraach of besjoch antwurden op OpenStreetMaps fraach-en-antwurdside.
mailing_lists:
title: Mailinglisten
+ description: Stel in fraach of bepraat nijsgjirrige saken op útienrinnende
+ tematyske as regionale mailinglisten.
forums:
title: Foarums
+ description: Fragen en oerlis foar dejingen dy't leaver yn pripboerd-styl
+ wurkje.
irc:
title: IRC
+ description: Ynteraktyf tsjetten yn ferskate talen en op alderlei mêd.
+ switch2osm:
+ title: switch2osm
+ description: Help foar bedriuwen en organisaasjes dy't oergeane op kaarten
+ en oare tsjinsten fan OpenStreetMap.
welcomemat:
url: https://welcome.openstreetmap.org/
title: Foar organisaasjes
+ description: Mei in organisaasje plannen meitsje foar OpenStreetMap? Fyn wat
+ jo witte wolle op 'e Wolkom-matte.
wiki:
url: https://wiki.openstreetmap.org/
title: OpenStreetMap-wiki
+ description: De wiki trochsjen foar wiidweidige dokumintaasje oer OpenStreetMap.
sidebar:
search_results: Sykresultaten
close: Slute
toilets: Húskes
welcome:
title: Wolkom!
+ introduction_html: |-
+ Wolkom by OpenStreetMap, de frije en bewurkbere wrâldkaart. No't jo ynskreaun binne,
+ binne jo hielendal klear foar jo earste bewurking. Hjir is in koarte útlis mei de wichtichste
+ dingen dy't jo witte moatte.
whats_on_the_map:
title: Wat stiet der op 'e kaart
+ on_html: |-
+ OpenStreetMap is in plak foar it ynkaartsjen fan dingen dy't <em>konkreet én aktueel</em> binne -
+ it befettet miljoenen gebouwen, diken en oare bysûnderheden oer plakken. Jo kinne
+ alle besteande skaaimerken dy't jo nijsgjirrich talykje op 'e kaart sette.
+ off_html: |-
+ Wat it <em>net</em> befettet is subjektive data lykas beoardielings, histoaryske as
+ ûnderstelde skaaimerken, en data út boarnen mei auteursrjocht.
+ Kopiearje net fan digitale as papieren kaarten sûnder spesjale tastimming dêrta.
basic_terms:
title: Basisbegripen foar it kaartmeitsjen
+ paragraph_1_html: OpenStreetMap hat in eigen taaltsje. Hjir binne in pear
+ kaaiwurden dy't fan pas komme sille.
editor_html: In <strong>bewurker</strong> is in programma of webstee dat jo
brûke kinne om 'e kaart te bewurkjen.
node_html: In <strong>punt</strong> is in plak op 'e kaart, lykas in inkel
lykas in restaurantnamme of de maksimum faasje fan in strjitte.
rules:
title: Regels!
+ paragraph_1_html: |-
+ OpenStreetMap hat net folle formele regels, mar wy ferwachtsje fan alle dielnimmers dat hja gearwurkje
+ en kommunisearje mei de mienskip. At jo faaks
+ wat oars dwaan wolle as mei de hân bewurkjen, lês en folgje dan de rjochtlinen foar
+ <a href='https://wiki.openstreetmap.org/wiki/Import/Guidelines'>Ymports</a> en
+ <a href='https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Automatisearre bewurkings</a>.
questions:
title: Noch fragen?
+ paragraph_1_html: |-
+ OpenStreetMap hat ferskate middels om oer it projekt te learen, foar it stellen en beäntwurdzjen
+ fan fragen, en yn gearwurking bepraten en fêstlizzen fan kartearringssaken.
+ <a href='%{help_url}'>Krij hjir help</a>. Mei in organisaasje plannen meitsje foar OpenStreetMap? <a href='https://welcome.openstreetmap.org/'>Besjoch de Wolkom-matte</a>.
start_mapping: Set útein mei kaartmeitsjen
add_a_note:
title: Gjin tiid te bewurkjen? Meitsje in notysje!
+ paragraph_1_html: |-
+ At jo allinnich wat lyts oanpasse wolle, en gjin tiid hawwe yn te skriuwen en bewurkjen te learen, is
+ in notysje taheakjen noflik.
+ paragraph_2_html: |-
+ Gean gewoan nei <a href='%{map_url}'>de kaart</a>, en klik op it notysje-ikoan:
+ <span class='icon note'></span>. Der komt in markearder op 'e kaart dy't jo
+ ferslepe kinne. Heakje jo berjocht ta, klik bewarje, en oare kaartmakkers sille it dan besjen.
traces:
visibility:
private: Privee (inkeld dield as anonime, net-oardere punten)
application:
settings_menu:
account_settings: Akkountynstellings
- oauth1_settings: OAuth 1-ynstellings
- oauth2_applications: OAuth 2-applikaasjes
- oauth2_authorizations: OAuth 2-autorisaasjes
+ oauth1_settings: Ynstellings OAuth 1
+ oauth2_applications: Applikaasjes OAuth 2
+ oauth2_authorizations: Autorisaasjes OAuth 2
oauth:
+ authorize_failure:
+ invalid: De autorisaasjekaai is net jildich.
+ revoke:
+ flash: Jo hawwe de kaai foar %{application} ynlutsen
scopes:
+ read_prefs: Meidoggerfoarkarren lêzen
+ write_prefs: Meidoggerfoarkarren wizigjen
+ write_diary: Deiboekstikken, reäksjes en freonen meitsjen
write_api: Kaart wizigjen
+ read_gpx: Privee-GPS-trajekten lêzen
+ write_gpx: GPS-trajekten opladen
write_notes: Notysjes wizigjen
+ read_email: Meidogger-e-mailadres lêzen
+ skip_authorization: Applikaasje automatysk goedkarren
+ oauth_clients:
+ show:
+ support_notice: Wy stypje ûndertekeningen mei HMAC-SHA1 (oanret) en RSA-SHA1.
+ index:
+ title: Myn OAuth-gegevens
+ my_tokens: Myn autorisearre applikaasjes
+ list_tokens: 'De neikommende kaaien binne ôfjûn oan applikaasjes op jo namme:'
+ application: Applikaasjenamme
+ issued_at: Ofjûn op
+ revoke: Ynlûke!
+ my_apps: Myn kliïnt-applikaasjes
+ no_apps_html: Hawwe jo in applikaasje dy't jo registrearje wolle foar gebrûk
+ by ús mei de %{oauth}-standert? Dan moatte jo jo webapplikaasje registrearje
+ foardat er OAuth-fersiken foar dy tsjinst dwaan kin.
+ oauth: OAuth
+ registered_apps: 'Jo hawwe de neikommende kliïnt-applikaasjes registrearre:'
+ register_new: Jo applikaasje registrearje
oauth2_applications:
index:
+ title: Myn kliïnt-applikaasjes
+ no_applications_html: Hawwe jo in applikaasje dy't jo registrearje wolle foar
+ gebrûk by ús mei de %{oauth2}-standert? Dan moatte jo jo applikaasje registrearje
+ foardat er OAuth-fersiken foar dy tsjinst dwaan kin.
+ oauth_2: OAuth 2
+ new: Nije applikaasje registrearje
name: Namme
+ permissions: Rjochten
application:
edit: Bewurkje
delete: Wiskje
+ confirm_delete: Dizze applikaasje wiskje?
+ new:
+ title: In nije applikaasje registrearje
+ edit:
+ title: Jo applikaasje bewurkje
show:
edit: Bewurkje
delete: Wiskje
+ confirm_delete: Dizze applikaasje wiskje?
+ client_id: Kliïnt-ID
+ client_secret: Kliïnt-geheim
+ permissions: Rjochten
+ not_found:
+ sorry: Spitich, dy applikaasje koe net fûn wurde.
+ oauth2_authorizations:
+ new:
+ title: Autorisaasje frege
+ introduction: '%{application} autorisearje foar tagong ta jo akkount mei de
+ neikommende rjochten?'
+ authorize: Autorisearje
+ deny: Wegerje
+ error:
+ title: In flater die him foar
+ show:
+ title: Autorisaasjekoade
oauth2_authorized_applications:
index:
+ title: Myn autorisearre applikaasjes
application: Applikaasje
permissions: Rjochten
+ no_applications_html: Jo hawwe noch gjin %{oauth2}-applikaasjes autorisearre.
application:
revoke: Tagong ynlûke
+ confirm_revoke: Tagong foar dizze applikaasje ynlûke?
users:
new:
title: Ynskriuwe
heading: Meidoggers
auth_failure:
connection_failed: Ferbining mei de autentifikaasje-oanbieder mislearre
+ invalid_credentials: Unjildige autentifikaasjegegevens
+ no_authorization_code: Gjin autorisaasjekoade
+ unknown_signature_algorithm: Unbekend ûndertekeningsalgoritme
+ invalid_scope: Unjildich rjochtenberik
+ unknown_error: Autentifikaasje mislearre
+ auth_association:
+ heading: Jo ID is noch net ferbûn oan in OpenStreetMap-akkount.
+ option_1: |-
+ At jo nij binne op OpenStreetMap, meitsje dan graach in nij akkount
+ mei it formulier hjirûnder.
+ option_2: |-
+ At jo al in akkount hawwe, kinne jo jo oanmelde op jo akkount
+ mei jo meidochnamme en wachtwurd, en dan it akkount ferbine
+ oan jo ID yn jo meidoggerynstellings.
user_blocks:
+ revoke:
+ revoke: Ynlûke!
helper:
block_duration:
hours:
show:
status: 'Status:'
edit: Bewurkje
+ revoke: Ynlûke!
block:
edit: Bewurkje
+ revoke: Ynlûke!
blocks:
status: Status
showing_page: Side %{page}
platform: Platteforma ferroviari
preserved: Ferrovia preservate
proposed: Ferrovia proponite
+ rail: Rail
spur: Ramification de ferrovia
station: Station ferroviari
stop: Halto ferroviari
switch: Agulia
tram: Tramvia
tram_stop: Halto de tram
+ turntable: Placa tornante
yard: Station de manovras
shop:
agrarian: Magazin agricole
activate_user: Activar iste usator
deactivate_user: Disactivar iste usator
confirm_user: Confirmar iste usator
+ unconfirm_user: Disconfirmar iste usator
+ unsuspend_user: Non plus suspender iste usator
hide_user: Celar iste usator
unhide_user: Revelar iste usator
delete_user: Deler iste usator
no_authorization_code: Nulle codice de autorisation
unknown_signature_algorithm: Algorithmo de signatura non cognoscite
invalid_scope: Ambito non valide
+ unknown_error: Authentication fallite
auth_association:
heading: Tu ID non es ancora associate a un conto de OpenStreetMap.
option_1: Si tu es nove in OpenStreetMap, per favor crea un conto per medio
attributes:
diary_entry:
user: Қолданушы
+ title: Тақырып
language: Тіл
friend:
user: Қолданушы
name: Файл атауы
description: Сипаттама
tagstring: Тегтер
+ message:
+ sender: Жіберуші
+ title: Тақырып
+ body: Мәтін
+ recipient: Алушы
user:
+ email: Е-пошта
+ new_email: Жаңа е-пошта мекенжайы
active: Белсенді
description: Бейін сипаттамасы
languages: Қолайлы тілдер
one: 1 жыл бұрын
other: '%{count} жыл бұрын'
editor:
+ default: Әдепкі (қазіргі уақытта %{name})
id:
name: iD
description: iD (браузердегі редактор)
link text: бұл не?
public editing:
enabled link text: бұл не?
+ disabled link text: Неге өзгерістер енгізе алмаймын?
contributor terms:
link text: бұл не?
save changes button: Өзгерістерді сақтау
download_xml: XML жүктеп алу
location: 'Географиялық орны:'
changeset:
+ comment: Пікірлер (%{count})
+ osmchangexml: osmChange XML
discussion: Талқылау
not_found:
title: Табылмады
opened_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} жасаған
changesets:
changeset_paging_nav:
+ showing_page: '%{page}-беті'
next: Келесі »
previous: « Алдыңғы
changeset:
anonymous: Аноним
+ changesets:
+ id: ID
+ user: Қолданушы
index:
load_more: Көбірек жүктеу
dashboards:
popup:
friend: Дос
+ show:
+ my friends: Достарым
+ friends_diaries: Достардың күнделік жазбалары
diary_entries:
new:
title: Жаңа күнделік жазбасы
index:
title: Қолданушылардың күнделіктері
+ title_friends: Достардың күнделіктері
in_language_title: '%{language} тіліндегі күнделік жазбалары'
new: Жаңа күнделік жазбасы
my_diary: Күнделігім
pitch: Спорт алаңы
resort: Шипажай
sauna: Сауна
+ sports_centre: Спорт орталығы
stadium: Стадион
water_park: Аквапарк
"yes": Бос уақыт
history: Тарих
export: Экспорттау
intro_header: OpenStreetMap-ке қош келдіңіз!
+ partners_ucl: UCL
+ partners_fastly: Fastly
partners_bytemark: Bytemark Hosting
help: Анықтама
about: Жоба туралы
foundation_title: OpenStreetMap қоры
learn_more: Көбірек білу
user_mailer:
+ message_notification:
+ subject: '[OpenStreetMap] %{message_title}'
gpx_success:
subject: '[OpenStreetMap] GPX сәтті импортталды'
signup_confirm:
subject: '[OpenStreetMap] OpenStreetMap-ке қош келдіңіз'
messages:
+ inbox:
+ subject: Тақырып
message_summary:
+ unread_button: Оқылмаған деп белгілеу
+ read_button: Оқылды деп белгілеу
reply_button: Жауап беру
destroy_button: Жою
show:
reset_password:
flash changed: Құпия сөзіңіз өзгертілді.
preferences:
+ show:
+ title: Қалауларым
+ preferred_editor: Қалаған редактор
+ preferred_languages: Қалаған тілдер
edit:
cancel: Болдырмау
profiles:
cancel: Болдырмау
image: Сурет
gravatar:
+ gravatar: Gravatar қолдану
what_is_gravatar: Gravatar деген не?
new image: Сурет қосу
keep image: Ағымдағы суретті сақтап қалу
+ delete image: Ағымдағы суретті жою
replace image: Ағымдағы суретті алмастыру
update:
success: Бейін жаңартылды.
title: switch2osm
welcomemat:
title: Ұйымдар үшін
+ wiki:
+ title: OpenStreetMap Уики
sidebar:
search_results: Іздеу нәтижелері
close: Жабу
- Көл
farm: Ферма
cemetery: Зират
+ pitch: Спорт алаңы
+ centre: Спорт орталығы
school:
- Мектеп
- университет
station: Темір жол бекеті
+ summit:
+ 1: шың
bicycle_shop: Велосипед дүкені
toilets: Дәретхана
welcome:
show:
filename: 'Файл атауы:'
download: жүктеп алу
+ oauth_clients:
+ index:
+ oauth: OAuth
users:
+ new:
+ email address: 'Е-пошта мекенжайы:'
terms:
consider_pd_why: бұл не?
continue: Жалғастыру
france: Франция
italy: Италия
rest_of_world: Қалған әлем
+ show:
+ my diary: Күнделігім
+ my settings: Баптауларым
+ my_preferences: Қалауларым
+ diary: Күнделік
+ index:
+ title: Қолданушылар
+ heading: Қолданушылар
user_blocks:
blocks:
next: Келесі »
cancel: Болдырмау
image: Сурет
link: Сілтеме немесе HTML
+ long_link: Сілтеме
geo_uri: Geo URI
embed: HTML
format: 'Форматы:'
title: Қабаттар
changesets:
show:
+ subscribe: Жазылу
hide_comment: жасыру
notes:
show:
hide: Жасыру
directions:
+ engines:
+ fossgis_osrm_bike: Велосипед (OSRM)
instructions:
exit_counts:
first: 1-ші
# Author: Nickthijssen1994
# Author: NthnH
# Author: Optilete
+# Author: P24
# Author: Peb-kac
# Author: Pje335
# Author: Robin van der Linde
title: Problemen
select_status: Selecteer Status
select_type: Selecteer Type
- select_last_updated_by: Selecteer Laats Bijgewerkt Door
+ select_last_updated_by: Selecteer Laatst Bijgewerkt Door
reported_user: Gerapporteerde Gebruiker
not_updated: Niet Bijgewerkt
search: Zoeken
provide_details: Verschaf de vereiste details
show:
title: '%{status} Probleem #%{issue_id}'
- reports: '{{PLURAL | zero = Geen rapporten | één = 1 rapport |%{count} rapporten}}'
+ reports:
+ one: 1 rapport
+ zero: Geen rapporten
+ other: '%{count} rapporten'
report_created_at: Voor het eerst vermeld op %{datetime}
last_resolved_at: Laatst opgelost op %{datetime}
last_updated_at: Laatst bijgewerkt op %{datetime} door %{displayname}
hosting_partners_html: L'aubergament es pres en carga per %{ucl}, %{fastly}, %{bytemark},
e d'autres %{partners}.
partners_ucl: UCL
- partners_fastly: Lèu
+ partners_fastly: Fastly
partners_bytemark: Albergament Bytemark
partners_partners: partenaris
tou: Condicions d'utilizacion
village: Wieś
"yes": Miejsce
railway:
- abandoned: Dawna linia kolejowa
+ abandoned: Rozebrany tor
buffer_stop: Kozioł oporowy
- construction: Budowana linia kolejowa
+ construction: Kolej w budowie
disused: Nieużywany tor
funicular: Kolej linowo-terenowa
halt: Przystanek kolejowy
platform: Peron
preserved: Tor kolei zabytkowej
proposed: Planowana linia kolejowa
- rail: Linia kolejowa
+ rail: Tor kolejowy
spur: Bocznica kolejowa
station: Stacja kolejowa
stop: Przystanek kolejowy
hosting_partners_html: O hospedagem é suportada por %{ucl}, %{fastly}, %{bytemark}
e outros %{partners}.
partners_ucl: UCL
- partners_fastly: Rapidamente
+ partners_fastly: Fastly
partners_bytemark: Hospedagem Bytemark
partners_partners: parceiros
tou: Termo de uso
tertiary: Дорога третьего класса
tertiary_link: Дорога третьего класса
track: Просёлочная дорога
+ traffic_mirror: Зеркало дорожного движения
traffic_signals: Светофор
trunk: Трасса
trunk_link: Развязка
house: Дом
manor: Поместье
memorial: Памятник
+ milestone: Историческая веха
mine: Рудник
mine_shaft: Шахтный ствол
monument: Монумент
beach_resort: Пляж с насаждениями
bird_hide: Засидка (пункт скрытого наблюдения за птицами)
common: Общественно-доступная земля
+ dance: Танцевальный зал
dog_park: Площадка для собак
firepit: Место для костра
fishing: Рыбалка
latitude: ᱚᱠᱷᱟᱝᱥᱚ
longitude: ᱫᱨᱟᱜᱷᱤᱢᱟᱝᱥᱚ
language: ᱯᱟᱹᱨᱥᱤ
+ doorkeeper/application:
+ name: ᱧᱩᱛᱩᱢ
friend:
user: ᱵᱮᱵᱦᱟᱨᱤᱡ
friend: ᱜᱟᱛᱮ
client_application:
create: Registrovať
update: Aktualizovať
+ doorkeeper_application:
+ create: Registrácia
+ update: Aktualizovať
redaction:
create: Vytvoriť revíziu
update: Uložiť revíziu
errors:
messages:
invalid_email_address: nevyzerá ako platná e-mailová adresa
+ email_address_not_routable: nie je routovateľná
models:
acl: Zoznam prístupových práv
changeset: Sada zmien
attributes:
client_application:
name: Meno (povinné)
+ url: URL adresa hlavnej aplikácie (vyžaduje sa)
callback_url: URL pre spätné volanie (callback)
support_url: URL s podporou
+ allow_read_prefs: čítať ich používateľské nastavenia
+ allow_write_prefs: upraviť ich používateľské nastavenia
+ allow_write_diary: vytvoriť položky denníka, komentovať a nadväzovať priateľstvá
+ allow_write_api: upravovať mapu
+ allow_read_gpx: čítať ich súkromné GPS stopy
+ allow_write_gpx: nahrávať GPS stopy
+ allow_write_notes: meniť poznámky
diary_comment:
body: Text
diary_entry:
latitude: Zem. šírka
longitude: Zem. dĺžka
language: Jazyk
+ doorkeeper/application:
+ name: Názov
+ redirect_uri: URI pre presmerovanie
+ confidential: Dôveryhodná aplikácia?
+ scopes: Oprávnenia
friend:
user: Používateľ
friend: Priateľ
title: Názov
description: Popis
report:
+ category: Uveďte dôvod nahlásenia
details: Prosím uveďte bližšie informácie o probléme (potrebné).
user:
+ auth_provider: Poskytovateľ overenia
+ auth_uid: UID overenia
email: E-mail
+ email_confirmation: Potvrdenie e-mailu
new_email: Nová e-mailová adresa
active: Aktívny
display_name: Zobrazované meno
home_lat: Zemepisná šírka
home_lon: Zemepisná dĺžka
languages: Preferované jazyky
+ preferred_editor: Preferovaný editor
pass_crypt: Heslo
pass_crypt_confirmation: Potvrdenie hesla (ešte raz)
help:
new_email: (nikde se verejne nezobrazuje)
datetime:
distance_in_words_ago:
+ about_x_hours:
+ one: pred približne hodinou
+ few: pred približne %{count} hodinami
+ many: pred približne %{count} hodinami
+ other: pred približne %{count} hodinami
+ about_x_months:
+ one: pred približne mesiacom
+ few: pred približne %{count} mesiacmi
+ many: pred približne %{count} mesiacmi
+ other: pred približne %{count} mesiacmi
+ about_x_years:
+ one: pred približne rokom
+ few: pred približne %{count} rokmi
+ many: pred približne %{count} rokmi
+ other: pred približne %{count} rokmi
+ almost_x_years:
+ one: pred takmer rokom
+ few: pred takmer %{count} rokmi
+ many: pred takmer %{count} rokmi
+ other: pred takmer %{count} rokmi
half_a_minute: pred pol minútou
+ less_than_x_seconds:
+ one: pred menej ako sekundou
+ few: pred menej ako %{count} sekundami
+ many: pred menej ako %{count} sekundami
+ other: pred menej ako %{count} sekundami
+ over_x_years:
+ one: pred viac ako rokom
+ few: pred viac ako %{count} rokmi
+ many: pred viac ako %{count} rokmi
+ other: pred viac ako %{count} rokmi
+ x_seconds:
+ one: pred sekundou
+ few: pred %{count} sekundami
+ many: pred %{count} sekundami
+ other: pred %{count} sekundami
+ x_minutes:
+ one: pred minútou
+ few: pred %{count} minútami
+ many: pred %{count} minútami
+ other: pred %{count} minútami
+ x_months:
+ one: pred mesiacom
+ few: pred %{count} mesiacmi
+ many: pred %{count} mesiacmi
+ other: pred %{count} mesiacmi
+ x_years:
+ one: pred rokom
+ few: pred %{count} rokmi
+ many: pred %{count} rokmi
+ other: pred %{count} rokmi
editor:
default: Predvolený (v súčasnosti %{name})
id:
title_html: 'Relácia: %{name}'
history_title_html: 'História relácie: %{name}'
members: Prvky
+ members_count:
+ one: 1 prvok
+ few: '%{count} prvky'
+ many: '%{count} prvkov'
+ other: '%{count} prvkov'
relation_member:
entry_role_html: '%{type} %{name} ako %{role}'
type:
traffic_signals: Semafor
trunk: Cesta pre motorové vozidlá
trunk_link: Privádzač k ceste pre motorové vozidlá
+ turning_circle: Miesto na otočenie
unclassified: Neklasifikovaná cesta
"yes": Cesta
historic:
logout: Odhlásiť sa
log_in: Prihlásiť sa
log_in_tooltip: Prihlásiť sa k existujúcemu kontu
- sign_up: Zaregistrovať sa
+ sign_up: Zaregistrujte sa
start_mapping: Začať mapovať
sign_up_tooltip: Vytvoriť si používateľské konto pre úpravy
edit: Upraviť
intro_text: OpenStreetMap je mapa sveta, vytvorené ľuďmi ako vy, voľne využiteľná
pod slobodnou licenciou.
intro_2_create_account: Založte si konto
+ hosting_partners_html: Hosting podporuje %{ucl}, %{fastly}, %{bytemark} a ďalší
+ %{partners}.
partners_ucl: UCL
partners_bytemark: Bytemark Hosting
partners_partners: partneri
anonymous: Anonymný používateľ
greeting: Ahoj,
details: Viac podrobností o poznámke môžete nájsť nájsť na %{url}.
+ details_html: Viac podrobností o poznámke môžete nájsť na adrese %{url}.
changeset_comment_notification:
greeting: Ahoj,
+ details: Viac podrobností o sade zmien môžete nájsť na adrese %{url}.
+ unsubscribe: Ak už nechcete dostávať upozornenia pri zmenách v tejto sade zmien,
+ navštívte %{url} a kliknite na "Zrušiť odoberanie".
+ unsubscribe_html: Ak už nechcete dostávať upozornenia pri zmenách v tejto sade
+ zmien, navštívte %{url} a kliknite na "Zrušiť odoberanie".
confirmations:
confirm:
heading: Skontrolujte vašu emailovú adresu!
preferences:
show:
title: Moje predvoľby
+ preferred_editor: Preferovaný editor
+ edit_preferences: Upraviť preferencie
+ edit:
+ save: Aktualizovať preferencie
profiles:
edit:
+ title: Upraviť profil
image: Obrázok
gravatar:
gravatar: Používať Gravatar
logout_button: Odhlásenie
shared:
markdown_help:
+ title_html: Spracováva sa <a href="https://kramdown.gettalong.org/quickref.html">kramdown</a>om
+ headings: Nadpisy
+ unordered: Neusporiadaný zoznam
+ ordered: Číslovaný zoznam
+ link: Odkaz
image: Obrázok
alt: Alternatívny text
url: URL
site:
about:
next: Ďalej
+ used_by_html: '%{name} poskytuje mapové dáta pre tisícky webových stránok, mobilných
+ aplikácií a hardvérových zariadení'
+ lede_text: OpenStreetMap tvorí komunita používateľov, ktorí pridávajú a udržiavajú
+ údaje o cestách, turistických trasách, kaviarňach, železničných staniciach
+ a mnohých ďalších miestach na celom svete.
partners_title: Partneri
copyright:
foreign:
title: O tomto preklade
- html: V prípade rozporu mezi touto preloženou verziou a %{english_original_link}
+ html: V prípade rozporu medzi touto preloženou verziou a %{english_original_link}
má anglická stránka prednosť
english_link: anglickým originálom
native:
copyright: Chránené autorskými právami OpenStreetMap a prispievateľov pod
slobodnou licenciou
remote_failed: Editácia sa nepodarila – skontrolujte, či je JOSM alebo Merkaartor
- spustený a je v ňom povolená funkcia Diaľkové ovládanie (Remote control)
+ spustený a je v ňom zapnutá funkcia Diaľkové ovládanie (Remote control)
edit:
not_public: Nemáte nastavené úpravy na verejné.
not_public_description_html: Kým tak neurobíte, nemôžete ďalej editovať mapu.
title: Pripojte sa ku komunite
help:
title: Získanie pomoci
+ introduction: OpenStreetMap ponúka niekoľko zdrojov, kde je možné získať informácie
+ o projekte, spýtať sa rôzne otázky a spoločne diskutovať a dokumentovať témy
+ týkajúce sa mapovania.
welcome:
url: /welcome
title: Vitajte na OSM
welcome:
title: Vitajte!
introduction_html: Vitajte na OpenStreetMap, slobodnej a upravovateľnej mape
- sveta. Teraz, keÄ\8f ste zaregistrovanÃ, môžete začať mapovať. Tu je stručný
+ sveta. Teraz, keÄ\8f ste zaregistrovaný, môžete začať mapovať. Tu je stručný
prehľad najdôležitejších, ktoré potrebujete vedieť.
whats_on_the_map:
title: Čo patrí do mapy
slov, ktoré vám prídu vhod.
editor_html: <strong>Editor</strong> je program alebo webovej stránky pomocou
ktorej upravujete mapu.
- node_html: <Strong>uzol</strong> je bod na mape, napr. jedna reštaurácia alebo
+ node_html: <Strong>Uzol</strong> je bod na mape, napr. jedna reštaurácia alebo
strom.
way_html: <strong>Cesta</strong> je čiara alebo oblasť, ako cesty, vodné toky,
jazerá alebo budovy.
- tag_html: <strong>Značka</strong> je trochu údajov o uzle alebo ceste, napr.
- názov reštaurácie alebo rýchlostný limit cesty.
+ tag_html: <strong>Značka</strong> je zopár údajov o uzle alebo ceste, napr.
+ názov reštaurácie alebo najvyššia povolená rýchlosť na ceste.
rules:
title: Pravidlá!
questions:
title: Akékoľvek otázky?
- paragraph_1_html: Potrebujete pomoc s mapovaním alebo vám nie je jasné, ako
- OpenStreetMap používať? Odpovede na svoje otázky môžete získať na <a href='http://help.openstreetmap.org/'>webe
- s nápovedou</a>.
+ paragraph_1_html: |-
+ OpenStreetMap ponúka niekoľko zdrojov, kde je možné získať informácie o projekte, spýtať sa rôzne otázky a spoločne diskutovať a dokumentovať témy týkajúce sa mapovania.
+ <a href='%{help_url}'>Tu získajte pomoc</a>. Ste organizácia, ktorá má plány s OpenStreetMap? <a href='https://welcome.openstreetmap.org/'>Pozrite sa na sprievodcu privítaním.</a>.
start_mapping: Začať mapovať
add_a_note:
title: Nie je čas upravovať? Pridajte poznámku!
ich odsúhlasiť, musíte si ich ale zobraziť.
settings_menu:
account_settings: Nastavenia účtu
+ oauth1_settings: Nastavenia OAuth 1
+ oauth2_applications: Aplikácie OAuth 2
oauth:
authorize:
request_access_html: Aplikácia %{app_name} požaduje prístup k vášmu kontu (%{user}).
list_tokens: 'Nasledovné tokeny boli vo vašom mene vydané aplikáciám:'
application: Názov aplikácie
issued_at: Vydané
- revoke: Zrušiť!
+ revoke: Odvolať!
my_apps: Moje klientské aplikácie
no_apps_html: Máte nejakú aplikáciu, využívajúcu štandard %{oauth}, ktorá by
s nami mala spolupracovať? Aplikáciu je potrebné najprv zaregistrovať, až
flash: Úspešne aktualizované informácie o klientovi
destroy:
flash: Registrácia klientskej aplikácie bola zrušená
+ oauth2_applications:
+ index:
+ permissions: Povolenia
+ show:
+ permissions: Povolenia
+ oauth2_authorized_applications:
+ index:
+ title: Moje autorizované aplikácie
+ application:
+ revoke: Odobrať prístup
users:
new:
title: Zaregistrovať sa
contact_support_html: Kontaktujte prosím <a href="%{support}">webmastera</a>
so žiadosťou o založenie konta – budeme sa snažiť vašu požiadavku vybaviť
čo najrýchlejšie.
+ about:
+ header: Slobodné a upravovateľné
+ html: |-
+ <p>Na rozdiel od iných máp sú mapy OpenStreetMap vytvárané ľuďmi ako ste vy a ktokoľvek ich môže slobodne upravovať, aktualizovať, stiahnuť a používať.</p>
+ <p>Zaregistrujte sa a môžete začať prispievať. Na potvrdenie vytvorenia vášho účtu vám pošleme e-mail.</p>
email address: 'Emailová adresa:'
confirm email address: 'Potvrdiť emailovú adresu:'
display name: 'Zobrazované meno:'
my_dashboard: Moja nástenka
blocks on me: Moje zablokovania
blocks by me: Mnou udelené bloky
+ edit_profile: Upraviť profil
send message: Poslať správu
diary: Denník
edits: Úpravy
ct status: 'Podmienky prispievania:'
ct undecided: Nerozhodnuté
ct declined: Odmietnuté
- latest edit: 'Posledné úpravy pred %{ago}:'
+ latest edit: 'Posledné úpravy %{ago}:'
email address: 'Emailová adresa:'
created from: 'Vytvorené od:'
status: 'Stav:'
not_a_role: Reťazec `%{role}' nemá platnú úlohu.
already_has_role: Používateľ už má úlohu %{role}.
doesnt_have_role: Požívateľ nemá úlohu %{role}.
+ not_revoke_admin_current_user: Rolu administrátora nie je možné odobrať aktuálne
+ prihlásenému používateľovi.
grant:
title: Potvrdiť pridelenie funkcie
heading: Potvrdiť pridelenie funkcie
time_future: Tento blok skončí v %{time}.
past: Tento blok už skončil pred %{time} a nemože byť zrušený.
confirm: Ste si istí, že chcete zrušiť tento blok?
- revoke: Zrušiť!
+ revoke: Odvolať!
flash: Tento blok bol zrušený.
helper:
time_future_html: Končí o %{time}.
not_revoked: (nezrušený)
show: Zobraziť
edit: Upraviť
- revoke: Zrušiť!
+ revoke: Odvolať!
blocks:
display_name: Blokovaný používateľ
creator_name: Tvorca
previous: « Predchádzajúca stránka
notes:
index:
+ title: Poznámky vytvorené alebo komentované používateľom %{user}
+ subheading_html: Poznámky vytvorené alebo komentované používateľom %{user}
id: ID
creator: Autor
description: Popis
queryfeature_disabled_tooltip: Pre prieskum prvkov priblížte
changesets:
show:
+ comment: Okomentovať
subscribe: Odoberať
unsubscribe: Zrušiť odoberanie
hide_comment: skryť
právami.
add: Pridať poznámku
show:
+ anonymous_warning: Táto poznámka zahŕňa komentáre anonymných používateľov,
+ ktoré by sa mali nezávisle preveriť.
hide: Skryť
resolve: Vyriešiť
+ comment_and_resolve: Okomentovať a vyriešiť
directions:
ascend: Stúpanie
engines:
no_route: Nepodarilo sa nájsť trasu medzi týmito miestami.
no_place: Ospravedlňujeme sa - nepodarilo sa nájsť toto miesto.
instructions:
+ continue_without_exit: Pokračujte na %{name}
+ onramp_right_without_exit: Odbočte vpravo na nájazd na %{name}
+ onramp_right_with_name_directions: Odbočte vpravo na nájazd na %{name}, smerom
+ na %{directions}
+ onramp_right: Odbočte vpravo na nájazd
+ endofroad_right_without_exit: Na konci cesty odbočte vpravo na %{name}
+ fork_right_without_exit: Na rázcestí odbočte vpravo na %{name}
+ sharp_right_without_exit: Ostro doprava na %{name}
+ sharp_left_without_exit: Ostro doľava na %{name}
+ turn_left_without_exit: Odbočte vľavo na %{name}
+ onramp_left_without_exit: Odbočte vľavo na nájazd na %{name}
+ onramp_left_with_name_directions: Odbočte vľavo na nájazd na %{name}, smerom
+ na %{directions}
+ onramp_left: Odbočte vľavo na nájazd
+ endofroad_left_without_exit: Na konci cesty odbočte vľavo na %{name}
+ fork_left_without_exit: Na rázcestí odbočte vľavo na %{name}
+ start_without_exit: Začnite na %{name}
+ destination_without_exit: Ste v cieli
unnamed: nepomenované
courtesy: Trasa získaná vďaka %{link}
exit_counts:
te:
time:
formats:
- friendly: '%B %e, %Y నాడు %H:%M కి'
+ friendly: '%Y %B %e న %H:%M కి'
helpers:
+ file:
+ prompt: దస్త్రాన్ని ఎంచుకోండి
submit:
diary_comment:
create: భద్రపరుచు
diary_entry:
create: ప్రచురించు
+ update: తాజాకరించు
+ issue_comment:
+ create: వ్యాఖ్య చేర్చండి
message:
create: పంపించు
client_application:
+ create: నమోదవ్వండి
+ update: తాజాకరించు
+ doorkeeper_application:
+ create: నమోదవ్వండి
update: తాజాకరించు
+ redaction:
+ create: సంస్కరణను సృష్టించండి
+ update: సంస్కరణను భద్రపరచు
trace:
create: ఎక్కించు
update: మార్పులను భద్రపరచు
+ user_block:
+ create: నిరోధాన్ని సృష్టించండి
+ update: నిరోధాన్ని తాజాకరించండి
activerecord:
+ errors:
+ messages:
+ invalid_email_address: సరైన ఈ-మెయిలు చిరునామాగా అనిపించడం లేదు
+ email_address_not_routable: రూటు చెయ్యలేనిది
models:
acl: అనుమతి నియంత్రణ జాబితా
- changeset: మార్పుల సమితి
+ changeset: మార్పులసమితి
+ changeset_tag: మార్పులసమితి ట్యాగు
country: దేశం
diary_comment: డైరీ వ్యాఖ్య
- diary_entry: దినచర్య పద్దు
- friend: స్నేహితుడు
+ diary_entry: డైరీ పద్దు
+ friend: మిత్రుడు
+ issue: అంశం
language: భాష
message: సందేశం
- node: à°\85à°\82à°¶à°\82
- node_tag: à°\85à°\82శపà±\81 ట్యాగ్
+ node: à°¬à±\81à°¡à°¿à°ªà±\86
+ node_tag: à°¬à±\81à°¡à°¿à°ªà±\86 ట్యాగ్
notifier: సూచిక
- old_node: పాత à°\85à°\82à°¶à°\82
- old_node_tag: పాత à°\85à°\82à°¶à°\82 à°¯à±\8aà°\95à±\8dà°\95 à°\9fà±\8dయాà°\97à±\8d
+ old_node: పాత à°¬à±\81à°¡à°¿à°ªà±\86
+ old_node_tag: పాత à°¬à±\81à°¡à°¿à°ªà±\86 à°\9fà±\8dయాà°\97à±\81
old_relation: పాత సంబంధం
+ old_relation_member: పాత సంబంధం సభ్యులు
+ old_relation_tag: పాత సంబంధం ట్యాగు
old_way: పాత పద్ధతి
+ old_way_node: పాత దారి బుడిపె
+ old_way_tag: పాత దారి ట్యాగు
relation: సంబంధం
+ relation_member: సంబంధం సభ్యులు
+ relation_tag: సంబంధం ట్యాగు
session: సెషన్
+ trace: అనుసరించు
+ tracepoint: అనుసరణ బిందువు
+ tracetag: అనుసరణ ట్యాగు
user: వాడుకరి
user_preference: వాడుకరి అభిరుచి
+ user_token: వాడుకరి టోకెన్
way: దారి
+ way_node: దారి గమనిక
+ way_tag: దారి ట్యాగు
attributes:
+ client_application:
+ name: పేరు (ఆవశ్యకం)
+ url: ప్రధాన అనువర్తనం URL (ఆవశ్యకం)
+ callback_url: కాల్బ్యాక్ URL
+ support_url: సపోర్ట్ URL
+ allow_read_prefs: వారి వాడుకరి అభిరుచులను చదవండి
+ allow_write_prefs: వారి వాడుకరి అభిరుచులను మార్చు
+ allow_write_diary: డైరీ ఎంట్రీలు, వ్యాఖ్యలు సృష్టించండి, మిత్రులను చేసుకోండి
+ allow_write_api: మ్యాపును సవరించండి
+ allow_read_gpx: వారు గోప్య GPS అనుసరణలను చదవండి
+ allow_write_gpx: GPS అనుసరణలను ఎక్కించండి
+ allow_write_notes: గమనికలను సవరించు
diary_comment:
body: వివరణ
diary_entry:
latitude: అక్షాంశం
longitude: రేఖాంశం
language: భాష
+ doorkeeper/application:
+ name: పేరు
+ redirect_uri: దారిమార్పు URI లు
+ confidential: రహస్యమైన అనువర్తనా?
+ scopes: అనుమతులు
friend:
user: వాడుకరి
friend: స్నేహితుడు
longitude: రేఖాంశం
public: బహిరంగం
description: వివరణ
+ gpx_file: GPX దస్త్రాన్ని ఎక్కించండి
+ visibility: దృశ్యత
+ tagstring: ట్యాగులు
message:
sender: పంపేవారు
title: విషయం
body: వివరణ
recipient: అందుకునేవారు
redaction:
+ title: శీర్షిక
description: వివరణ
+ report:
+ category: మీ ఫిర్యాదుకు కారణాన్ని ఎంచుకోండి
+ details: సమస్య గురించి మరిన్ని వివరాలు ఇవ్వండి (ఆవశ్యకం).
user:
+ auth_provider: ఆథెంటికేషను ఇచ్చేవారు
+ auth_uid: ఆథెంటికేషను UID
email: ఈ-మెయిల్
- new_email: 'కొత్త ఈమెయిల్ చిరునామా:'
+ email_confirmation: ఈమెయిలు నిర్థారణ
+ new_email: కొత్త ఈమెయిలు చిరునామా
active: క్రియాశీలం
display_name: కనిపించే పేరు
- description: వివరణ
- home_lat: 'అక్షాంశం:'
- home_lon: 'రేఖాంశం:'
- languages: భాషలు
+ description: ప్రొఫైలు వివరణ
+ home_lat: అక్షాంశం
+ home_lon: రేఖాంశం
+ languages: అభీష్టమైన భాషలు
+ preferred_editor: అభీష్టమైన ఎడిటరు
pass_crypt: సంకేతపదం
+ pass_crypt_confirmation: సంకేతపదాన్ని నిర్ధారించండి
help:
+ doorkeeper/application:
+ confidential: క్లయంటు రహస్యాన్ని కాపాడగలిగే చోట్ల ఈ అప్లికేషన్ను వాడతాం (మొబైలు
+ యాప్లు, ఒకే పేజీ యాప్లూ గోప్యంగా ఉండవు)
+ redirect_uri: లైనుకో URI చొప్పున వాడండి
trace:
tagstring: కామాలతో వేరుపరచినవి
+ user_block:
+ reason: వాడుకరిని నిరోధిస్తున్న కారణం. వీలైనంత ప్రశాంతంగా, హేతుబద్ధంగా ఉండండి.
+ సందేశం బహిరంగంగా అందరూ చూడగలిగేలా ఉంటుందని గుర్తుంచుకుని, పరిస్థితి గురించి
+ వీలైనన్ని వివరాలనివ్వండి. సముదాయంలో వాడే పరిభాష వాడుకరులందరికీ అర్థం కాదని
+ మనసులో ఉంచుకుని సామాన్యులకు కూడా అర్థమయ్యే పదాలను రాయండి.
+ needs_view: ఈ నిరోధం తొలగాలంటే వాడుకరి లాగినవ్వాలా?
user:
+ email_confirmation: మీ చిరునామాను బహిరంగంగా చూపించం. మరింత సమాచారం కోసం మా
+ <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF
+ privacy policy including section on email addresses">గోప్యతా సమాచారం</a>
+ చూడండి.
new_email: (బహిరంగంగా ఎన్నటికీ చూపించబడదు)
+ datetime:
+ distance_in_words_ago:
+ about_x_hours:
+ one: సుమారు 1 గంట క్రితం
+ other: సుమారు %{count} గంటల క్రితం
+ about_x_months:
+ one: సుమారు 1 నెల క్రితం
+ other: సుమారు %{count} నెలల క్రితం
+ about_x_years:
+ one: సుమారు 1 సంవత్సరం క్రితం
+ other: సుమారు %{count} సంవత్సరాల క్రితం
+ almost_x_years:
+ one: దాదాపు 1 సంవత్సరం క్రితం
+ other: దాదాపు %{count} సంవత్సరాల క్రితం
+ half_a_minute: అర నిమిషం క్రితం
+ less_than_x_seconds:
+ one: 1 సెకండు లోపు సమయం క్రితం
+ other: '%{count} సెకండ్ల లోపు సమయం క్రితం'
+ less_than_x_minutes:
+ one: ఒక నిమిషం లోపు సమయం క్రితం
+ other: '%{count} నిమిషాల లోపు సమయం క్రితం'
+ over_x_years:
+ one: '1 సంవత్సరానికి పైబడిన సమయం క్రితం '
+ other: '%{count} సంవత్సరాలకు పైబడిన సమయం క్రితం'
+ x_seconds:
+ one: 1 సెకండు క్రితం
+ other: '%{count} సెకండ్ల క్రితం'
+ x_minutes:
+ one: 1 నిమిషం క్రితం
+ other: '%{count} నిమిషాల క్రితం'
+ x_days:
+ one: 1 రోజు క్రితం
+ other: '%{count} రోజుల క్రితం'
+ x_months:
+ one: 1 నెల క్రితం
+ other: '%{count} నెలల క్రితం'
+ x_years:
+ one: 1 సంవత్సరం క్రితం
+ other: '%{count} సంవత్సరాల క్రితం'
+ printable_name:
+ with_version: '%{id}, v%{version}'
+ with_name_html: '%{name} (%{id})'
editor:
default: అప్రమేయం (ప్రస్తుతం %{name})
+ id:
+ name: ఐడీ
+ description: ఐడీ (బ్రౌజర్లోని ఎడిటరు)
+ remote:
+ name: రిమోట్ కంట్రోలు
+ description: రిమోట్ కంట్రోలు (JOSM, Potlatch, Merkaartor)
+ auth:
+ providers:
+ none: ఏదీకాదు
+ openid: ఓపెన్ఐడీ
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: వికీపీడియా
api:
notes:
+ comment:
+ opened_at_html: '%{when} సృష్టించారు'
+ opened_at_by_html: '%{when}, %{user} సృష్టించారు'
+ commented_at_html: '%{when} తాజాకరించారు'
+ commented_at_by_html: '%{when}, %{user} తాజాకరించారు'
+ closed_at_html: '%{when} పరిష్కరించారు'
+ closed_at_by_html: '%{when}, %{user} పరిష్కరించారు'
+ reopened_at_html: '%{when} పునరుజ్జీవింపజేసారు'
+ reopened_at_by_html: '%{when}, %{user} పునరుజ్జీవింపజేసారు'
+ rss:
+ title: OpenStreetMap గమనికలు
+ description_area: మీ ప్రాంత [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+ నుండి వచ్చిన గమనికలు, ఫిర్యాదులు, వ్యాఖ్యల జాబితా
+ description_item: '%{id} గమనికకు rss వడ్డన'
+ opened: కొత్త గమనిక (%{place} సమీపాన)
+ commented: కొత్త వ్యాఖ్య (%{place} సమీపాన)
+ closed: మూసేసిన గమనిక (%{place} సమీపాన)
+ reopened: పునరుజ్జీవిత గమనిక (%{place} సమీపాన)
entry:
comment: వ్యాఖ్య
full: పూర్తి గమనిక
edit:
title: ఖాతా మార్పు
my settings: నా అమరికలు
- current email address: 'ప్రస్తుత ఈ-మెయిలు చిరునామా:'
+ current email address: ప్రస్తుత ఈమెయిలు చిరునామా
+ external auth: బయటి ఆథెంటికేషను
openid:
link: https://wiki.openstreetmap.org/wiki/OpenID
link text: ఇది ఏమిటి?
public editing:
+ heading: బహిరంగ ఎడిటింగు
+ enabled: చేతనం. అజ్ఞాతగా లేరు, అంచేత దిద్దుబాట్లు చెయ్యవచ్చు.
enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
enabled link text: ఇది ఏమిటి?
+ disabled: అచేతనంగా ఉంది, అంచేత దిద్దుబాట్లు చెయ్యలేరు. ఇంతకుముందు చేసిన దిద్దుబాట్లన్నీ
+ అజ్ఞాతగా చేసినవే.
disabled link text: నేను ఎందుకు మార్చలేను?
+ public editing note:
+ heading: బహిరంగ ఎడిటింగు
+ html: ప్రస్తుతం మీ దిద్దుబాట్లు అజ్ఞాతగా చేస్తున్నారు. ఇతరులు మీ కు సందేశాలు
+ పంపలేరు, మీ స్థానాన్ని చూడలేరు. మీ దిద్దుబాట్లను వాళ్ళకు చూపించేందుకు, ఈ
+ వెబ్సైటు ద్వారా వాళ్ళు మిమ్మల్ని సంప్రదించే వీలు కలిగించేందుకూ కింది బొత్తాన్ని
+ నొక్కండి. <b>0.6 API మార్పు తరువాత, మ్యాపుల డేటాను బహిరంగ వాడుకరులు మాత్రమే
+ దిద్దుబాటు చేసే వీలుంది</b>. (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits">ఎందుకో
+ తెలుసు కోండి</a>).<ul><li>మిమ్మల్ని మీరు బహిరంగ పరచినంత మాత్రాన మీ ఈమెయిలు
+ చిరునామాను బహిరంగపరచం.</li><li>ఇది తిరగ్గొట్టలేని చర్య, కొత్త వాడుకరులంతా
+ డిఫాల్టుగా బహిరంగంగా ఉంటారు.</li></ul>
contributor terms:
+ heading: తోడ్పాటు నియమాలు
+ agreed: మీరు కొత్త తోడ్పాటు నియమాలకు అంగీకరించారు.
+ not yet agreed: మీరు కొత్త తోడ్పాటు నియమాలకు అంగీకరించలేదు.
+ review link text: మీ వీలును బట్టి ఈ లింకుకు వెళ్ళి కొత్త తోడ్పాటు నియమాలను
+ చూసి, అంగీకరించండి.
+ agreed_with_pd: మీరు చేసే దిద్దుబాట్లు బహిరంగ డొమెయిన్లో ఉంటాయని భావిస్తున్నట్లుగా
+ కూడా ప్రకటించారు.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: ఇది ఏమిటి?
save changes button: మార్పులను భద్రపరచు
make edits public button: నా దిద్దుబాట్లన్నింటినీ బహిరంగం చేయి
update:
+ success_confirm_needed: వాడుకరి సమాచారాన్ని జయప్రదంగా తాజాకరించాం. మీ కొత్త
+ ఈమెయిలు చిరునామాను ధ్రువీకరించేందుకు మెయిల్లో వచ్చిన గమనింపును చూడండి.
success: వాడుకరి సమాచారం విజయవంతంగా తాజాకరించబడింది.
browse:
created: 'సృష్టించబడినది:'
closed: ముగించబడింది
- created_html: <abbr title='%{title}'>%{time}</abbr> à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aబడిà°\82ది
- closed_html: <abbr title='%{title}'>%{time}</abbr> à°®à±\82సివà±\87యబడిà°\82ది
- created_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} à°\9aà±\87 à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aబడిà°\82ది
+ created_html: <abbr title='%{title}'>%{time}</abbr> à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aారà±\81
+ closed_html: <abbr title='%{title}'>%{time}</abbr> à°®à±\82సివà±\87సారà±\81
+ created_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} à°¸à±\83à°·à±\8dà°\9fà°¿à°\82à°\9aారà±\81
deleted_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} చే తొలగించబడింది
edited_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} చే సరిదిద్దబడింది
- closed_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} à°\9aà±\87 à°®à±\82సివà±\87యబడిà°\82ది
+ closed_by_html: <abbr title='%{title}'>%{time}</abbr>, %{user} à°®à±\82సివà±\87సారà±\81
version: సంచిక
+ in_changeset: మార్పులసమితి
anonymous: అజ్ఞాత
no_comment: (వ్యాఖ్య లేదు)
part_of: ఇందులో భాగం
+ part_of_relations:
+ one: 1 సంబంధం
+ other: '%{count} సంబంధాలు'
+ part_of_ways:
+ one: 1 దారి
+ other: '%{count} దారులు'
+ download_xml: XML ను దించుకోండి
view_history: చరిత్రను చూడండి
view_details: వివరాలను చూడండి
location: 'ప్రాంతం:'
+ common_details:
+ coordinates_html: '%{latitude}, %{longitude}'
changeset:
+ title: 'మార్పులసమితి: %{id}'
belongs_to: రచయిత
+ node: బుడిపెలు (%{count})
+ node_paginated: బుడిపెలు (%{count} లో %{x}-%{y})
way: మార్గాలు (%{count})
+ way_paginated: దారులు (%{count} లో %{x}-%{y})
relation: సంబంధాలు (%{count})
relation_paginated: '%{count} లో %{x}-%{y} యొక్క సంబంధాలు'
comment: వ్యాఖ్యలు (%{count})
+ hidden_commented_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user}
+ గారి దాచిన వ్యాఖ్య
commented_by_html: '%{user} నుండి వ్యాఖ్య <abbr title=''%{exact_time}''>%{when}
క్రితం</abbr>'
+ changesetxml: మార్పులసమితి XML
+ osmchangexml: osmChange XML
+ feed:
+ title: మార్పులసమితి %{id}
+ title_comment: మార్పులసమితి %{id} - %{comment}
+ join_discussion: చర్చలో పాల్గొనేందుకు లాగినవండి
discussion: చర్చ
+ still_open: మార్పులసమితి ఇంకా తెరిచే ఉంది - దాన్ని మూసివేయగానే చర్చ తెరుచుకుంటుంది.
node:
title_html: 'బిందువు: %{name}'
+ history_title_html: 'బుడిపె చరిత్ర: %{name}'
way:
title_html: 'దారి: %{name}'
history_title_html: 'దారి చరిత్ర: %{name}'
+ nodes: బుడిపెలు
+ also_part_of_html:
+ one: '%{related_ways} దారిలో భాగం'
+ other: '%{related_ways} దారుల్లో భాగం'
relation:
title_html: 'సంబంధం: %{name}'
history_title_html: 'సంబంధపు చరిత్ర: %{name}'
members: సభ్యులు
+ members_count:
+ one: 1 సభ్యుడు/సభ్యురాలు
+ other: '%{count} సభ్యులు'
relation_member:
+ entry_html: '%{type} %{name}'
+ entry_role_html: '%{type} %{name}, %{role} లాగా'
type:
+ node: బుడిపె
way: దారి
relation: సంబంధం
containing_relation:
entry_html: '%{relation_name} సంబంధం'
+ entry_role_html: '%{relation_name} సంబంధం (%{relation_role} లాగా)'
not_found:
+ title: కనబడలేదు
sorry: 'క్షమించండి, %{type} #%{id} కనబడలేదు.'
type:
+ node: బుడిపె
way: దారి
relation: సంబంధం
+ changeset: మార్పులసమితి
+ note: గమనిక
timeout:
+ title: టైమౌట్ లోపం
+ sorry: సారీ, %{type} రకంలో, %{id} ఐడీకి డేటాను తేవడానికి బాగా ఎక్కువ సమయం పట్టింది.
type:
+ node: బుడిపె
way: దారి
relation: సంబంధం
+ changeset: మార్పులసమితి
+ note: బుడిపె
redacted:
+ redaction: సంస్కరణ %{id}
+ message_html: ఈ %{type} రకపు కూర్పు %{version} ను సంస్కరించినట్లుగా చూపించలేం.
+ వివరాలకు %{redaction_link} చూడండి.
type:
+ node: బుడిపె
way: దారి
relation: సంబంధం
start_rjs:
+ feature_warning: '%{num_features} విశేషాలను లోడు చేస్తున్నాం. దీనివలన మీ బ్రౌజరు
+ నెమ్మదించడం గానీ, స్పందించకపోవడం గానీ జరగవచ్చు. ఈ డేటాను చూపించమనే మీ నిశ్చయమా?'
+ load_data: డేటాను లోడు చెయ్యి
loading: లోడవుతోంది...
tag_details:
tags: ట్యాగులు
+ wiki_link:
+ key: '%{key} ట్యాగుకు వికీ వివరణ పేజీ'
+ tag: '%{key}=%{value} ట్యాగుకు వికీ వివరణ పేజీ'
+ wikidata_link: వికీడేటాలో %{page} అంశం
wikipedia_link: వికీపీడియాలో %{page} వ్యాసం
+ wikimedia_commons_link: వికీమీడియా కామన్స్లో %{page} అంశం
+ telephone_link: '%{phone_number} కు కాల్ చెయ్యి'
+ colour_preview: '%{colour_value} రంగు మునుజూపు'
note:
title: 'గమనిక: %{id}'
new_note: కొత్త గమనిక
description: వివరణ
+ open_title: 'పరిష్కరించని గమనిక #%{note_name}'
+ closed_title: 'పరిష్కారమైన గమనిక #%{note_name}'
+ hidden_title: 'దాచిన గమనిక #%{note_name}'
+ opened_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} సృష్టించారు
+ opened_by_anonymous_html: <abbr title='%{exact_time}'>%{when}</abbr> అజ్ఞాత
+ సృష్టించారు
+ commented_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} చేసిన
+ వ్యాఖ్య
+ commented_by_anonymous_html: <abbr title='%{exact_time}'>%{when}</abbr> అజ్ఞాత
+ చేసిన వ్యాఖ్య
+ closed_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} పరిష్కరించారు
+ closed_by_anonymous_html: <abbr title='%{exact_time}'>%{when}</abbr> అజ్ఞాత
+ పరిష్కరించారు
+ reopened_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} పునరుజ్జీవింపజేసారు
+ reopened_by_anonymous_html: <abbr title='%{exact_time}'>%{when}</abbr> అజ్ఞాత
+ పునరుజ్జీవింపజేసారు
+ hidden_by_html: <abbr title='%{exact_time}'>%{when}</abbr> %{user} దాచారు
+ report: ఈ గమనికపై ఫిర్యాదు చెయ్యండి
+ coordinates_html: '%{latitude}, %{longitude}'
query:
+ title: క్వెరీ విశేషాలు
+ introduction: సమీపం లోని అంశాలను చూసేందుకు మ్యాపుపై నొక్కండి.
nearby: దగ్గర్లోని విశేషాలు
changesets:
changeset_paging_nav:
changeset:
anonymous: అనామకం
no_edits: (మార్పులు లేవు)
+ view_changeset_details: మార్పులసమితి వివరాలు చూడండి
changesets:
id: ఐడీ
saved_at: భద్రపరచిన సమయం
index:
title: మార్పుల సమితులు
title_user: '%{user} చేసిన మార్పులసమితులు'
+ title_friend: నా మిత్రుల మార్పులసమితులు
+ title_nearby: దగ్గర్లోని వాడుకరుల మార్పులసమితులు
+ empty: మార్పులసమితులేమీ కనబడలేదు.
+ empty_area: ఈ ప్రాంతంలో మార్పులసమితులేమీ లేవు.
+ empty_user: ఈ వాడుకరి చేసిన మార్పులసమితులేమీ లేవు.
+ no_more: మరిన్ని మార్పులసమితులు కనబడలేదు.
+ no_more_area: ఈ ప్రాంతంలో మార్పులసమితులు మరి లేవు.
+ no_more_user: ఈ వాడుకరి మార్పులసమితులు ఇక లేవు.
load_more: మరిన్ని చూపించు
+ timeout:
+ sorry: సారీ, మీరడిగిన మార్పులసమితుల జాబితాను తేవడంలో చాలా సమయం పట్టింది.
+ changeset_comments:
+ comment:
+ comment: '#%{changeset_id} మార్పులసమితిపై %{author} వ్యాఖ్య ఏమీ చెయ్యలేదు'
+ commented_at_by_html: '%{when} %{user} తాజాకరించారు'
+ comments:
+ comment: '#%{changeset_id} మార్పులసమితిపై %{author} గారి కొత్త వ్యాఖ్య'
+ index:
+ title_all: OpenStreetMap మార్పులసమితి చర్చ
+ title_particular: 'OpenStreetMap మార్పులసమితి #%{changeset_id} చర్చ'
+ timeout:
+ sorry: సారీ, మీరడిగిన మార్పులసమితి వ్యాఖ్యలు తేవడానికి చాలా సమయం పట్టింది.
dashboards:
contact:
km away: '%{count}కిమీ దూరంలో'
m away: '%{count}మీ దూరంలో'
popup:
your location: మీ ప్రాంతం
+ nearby mapper: సమీపం లోని మ్యాపరు
+ friend: మిత్రుడు
show:
+ title: నా డ్యాష్బోర్డు
+ no_home_location_html: మీ సమీపం లోని వాడూకరులను చూసేందుకు %{edit_profile_link}
+ కు వెళ్ళి మీ స్థానాన్ని సెట్ చేసుకోండి.
+ edit_your_profile: మీ ప్రొఫైలును సవరించండి
+ my friends: నా మిత్రులు
no friends: మీరు ఇంకా స్నేహితులెవరినీ చేర్చలేదు.
nearby users: 'దగ్గరలోని వాడుకరులు:'
+ no nearby users: మ్యాపింగు చేస్తామని చెబుతున్న వాడుకరులు సమీపంలో ఇంకా ఎవరూ లేరు.
+ friends_changesets: మిత్రుల మార్పులసమితులు
+ friends_diaries: మిత్రుల డైరీ పద్దులు
+ nearby_changesets: దగ్గర్లోని వాడుకరుల మార్పులసమితులు
+ nearby_diaries: సమీపం లోని వాడుకరుల డైరీ పద్దులు
diary_entries:
new:
title: కొత్త దినచర్య పద్దు
user_title: '%{user} దినచర్య'
in_language_title: '%{language}లో ఉన్న డైరీ పద్దులు'
new: కొత్త దినచర్య పద్దు
+ new_title: నా వాడుకరి డైరీలో ఓ కొత్త పద్దు రాయండి
+ my_diary: నా డైరీ
no_entries: డైరీ పద్దులు లేవు
recent_entries: ఇటీవలి డైరీ పద్దులు
older_entries: పాత పద్దులు
newer_entries: కొత్త పద్దులు
edit:
title: డైరీ పద్దును మార్చు
+ marker_text: డైరీ పద్దు స్థానం
show:
title: '%{user} డైరీ | %{title}'
user_title: '%{user} డైరీ'
leave_a_comment: వ్యాఖ్యానించండి
login_to_leave_a_comment_html: వ్యాఖ్యానించడానికి %{login_link}
login: ప్రవేశించండి
+ no_such_entry:
+ title: అలాంటి డైరీ పద్దు ఏదీ లేదు
+ heading: 'ఈ ఐడీతో పద్దు లేదు: %{id}'
+ body: సారీ, %{id} అనే ఐడీతో డైరీ పద్దు గాని, వ్యాఖ్య గానీ లేదు. లేదా మీరు నొక్కిన
+ లింకు తప్పై ఉండవచ్చు.
diary_entry:
+ posted_by_html: '%{link_user}, %{created} న %{language_link} లో పోస్టు చేసారు'
+ updated_at_html: చివరిగా %{updated} న తాజాకరించారు.
comment_link: ఈ పద్దుపై వ్యాఖ్యానించండి
- reply_link: à°\88 పదà±\8dà°¦à±\81à°ªà±\88 à°¸à±\8dà°ªà°\82దిà°\82à°\9aండి
+ reply_link: à°\95à°°à±\8dà°¤à°\95à±\81 à°¸à°\82à°¦à±\87à°¶à°\82 à°ªà°\82à°ªండి
comment_count:
zero: వ్యాఖ్యలు లేవు
one: '%{count} వ్యాఖ్య'
other: '%{count} వ్యాఖ్యలు'
edit_link: ఈ పద్దును సవరించు
hide_link: ఈ పద్దును దాచు
- confirm: నిర్ధారించు
+ unhide_link: ఈ పద్దును చూపు
+ confirm: నిర్థారించండి
+ report: ఈ పద్దుపై ఫిర్యాదు చెయ్యండి
diary_comment:
+ comment_from_html: '%{comment_created_at} %{link_user} చేసిన వ్యాఖ్య'
hide_link: ఈ వ్యాఖ్యను దాచు
+ unhide_link: ఈ వ్యాఖ్యను చూపు
confirm: నిర్ధారించు
+ report: ఈ వ్యాఖ్యపై ఫిర్యాదు చెయ్యి
location:
location: 'ప్రాంతం:'
view: చూడండి
edit: మార్చు
+ coordinates: '%{latitude}; %{longitude}'
+ feed:
+ user:
+ title: '%{user} చేర్చిన OpenStreetMap డైరీ పద్దులు'
+ description: '%{user} చేర్చిన ఇటీవలి OpenStreetMap డైరీ పద్దులు'
+ language:
+ title: '%{language_name} లో చేర్చిన OpenStreetMap డైరీ పద్దులు'
+ description: OpenStreetMap వాడుకరులు %{language_name} లో చేర్చిన ఇటీవలి డైరీ
+ పద్దులు
+ all:
+ title: OpenStreetMap డైరీ పద్దులు
+ description: OpenStreetMap వాడుకరులు ఇటీవల చేర్చిన డైరీ పద్దులు
comments:
+ title: '%{user} చేర్చిన డైరీ వ్యాఖ్యలు'
+ heading: '%{user} గారి డైరీ వ్యాఖ్యలు'
+ subheading_html: '%{user} డైరీ వ్యాఖ్యలను చేర్చారు'
+ no_comments: డైరీ వ్యాఖ్యలేమీ లేవు
post: పంపించు
when: ఎప్పుడు
comment: వ్యాఖ్య
newer_comments: కొత్త వ్యాఖ్యలు
older_comments: పాత వ్యాఖ్యలు
+ doorkeeper:
+ flash:
+ applications:
+ create:
+ notice: అనువర్తనం నమోదైంది.
friendships:
make_friend:
+ heading: '%{user} ను మిత్రులుగా చేర్చాలా?'
+ button: మిత్రులుగా చేర్చు
success: '%{name} ఇప్పుడు మీ మిత్రులు!'
+ failed: సారీ, %{name} ను మిత్రులుగా చేర్చలేకపోయాం.
already_a_friend: '%{name} మీకు ఇప్పటికే స్నేహితులు.'
+ limit_exceeded: మీరు ఈ మధ్య చాలామందితో మైత్రి కలుపుకున్నారు. మరింత మందితో మైత్రి
+ కలుపుకునే ముందు కాస్త ఆగండి.
+ remove_friend:
+ heading: '%{user} తో మైత్రి ఆపేస్తారా?'
+ button: మైత్రిని ఆపు
+ success: '%{name} ను మీ మిత్రుల జాబితా నుండి తీసేసాం.'
+ not_a_friend: '%{name} మీ మిత్రులు కాదు.'
geocoder:
search:
title:
latlon_html: <a href="http://openstreetmap.org/">అంతర్గత</a> ఫలితాలు
ca_postcode_html: <a href="http://geocoder.ca/">Geocoder.CA</a> నుండి ఫలితాలు
+ osm_nominatim_html: <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a> నుండి ఫలితాలు
geonames_html: <a href="http://www.geonames.org/">GeoNames</a> నుండి ఫలితాలు
+ osm_nominatim_reverse_html: <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a> నుండి ఫలితాలు
+ geonames_reverse_html: <a href="http://www.geonames.org/">GeoNames</a> నుండి
+ ఫలితాలు
search_osm_nominatim:
+ prefix_format: '%{name}'
prefix:
aerialway:
cable_car: కేబుల్ కారు
chair_lift: చెయిర్ లిఫ్ట్
drag_lift: డ్రాగ్ లిఫ్ట్
gondola: గొండోలా లిఫ్ట్
+ magic_carpet: మాయ దుప్పటిపై లేవడం
+ platter: ప్లాటర్ లిఫ్టు
+ pylon: పైలాన్
station: ఆకాశమార్గ స్టేషను
+ t-bar: T-బార్ లిఫ్టు
+ "yes": వాయు మార్గం
aeroway:
aerodrome: విమానాశ్రయం
+ airstrip: ఎయిర్స్ట్రిప్
apron: విమానాశ్రయ విమానరహదారి
gate: గేటు
+ hangar: హ్యంగర్
helipad: హెలిప్యాడ్
+ holding_position: హోల్డింగ్ పొజిషన్
+ navigationaid: వైమానిక వేవిగేషను సహాయకం
+ parking_position: పార్కింగు పొజిషన్
runway: రన్వే
+ taxilane: ట్యాక్సీ లేన్
taxiway: ట్యాక్సీదారి
terminal: ఆఖరి స్టేషను
+ windsock: విండ్సాక్
amenity:
+ animal_boarding: జంతువుల హాస్టలు
animal_shelter: పశుగృహం
arts_centre: కళాకేంద్రం
atm: ఏటీఎం
bench: బెంచీ
bicycle_parking: సైకిళ్ళు నిలుపు స్థలం
bicycle_rental: సైకిల్ అద్దెకిచ్చు స్థలం
+ bicycle_repair_station: సైకిలు రిపేరు స్థలం
biergarten: బీరు తోట
+ blood_bank: రక్త నిధి
boat_rental: బోట్ అద్దెకు
brothel: వేశ్యావాటిక
bus_station: బస్సలు ఆగు చోటు
car_sharing: కార్లు పంచుకునే స్థలం
car_wash: కార్లు శుభ్రం చేసే స్థలం
casino: జూదగృహం
+ charging_station: ఛార్జింగు స్టేషన్
+ childcare: శిశుకేంద్రం
cinema: సినిమా
clinic: ఆసుపత్రి
clock: గడియారం
college: కళాశాల
community_centre: సామాజిక కేంద్రం
+ conference_centre: సమావేశ కేంద్రం
courthouse: న్యాయస్థానం
crematorium: శ్మశానవాటిక
dentist: దంతవైద్యుడు
drinking_water: త్రాగు నీరు
driving_school: డ్రైవింగ్ పాఠశాల
embassy: దౌత్య కార్యాలయం
+ events_venue: ఘటనా వేదిక
fast_food: అల్పాహారం
+ ferry_terminal: ఫెర్రీ టర్మినల్
+ fire_station: అగ్నిమాపక కేంద్రం
+ food_court: ఆహార శాల
+ fountain: ఫౌంటెన్
fuel: ఇంధనం
+ gambling: జూదం
grave_yard: స్మశానం
hospital: ఆసుపత్రి
+ hunting_stand: వేట మంచె
ice_cream: ఐస్ క్రీం
+ internet_cafe: ఇంటర్నెట్ కేఫ్
+ kindergarten: కిండర్గార్టెన్
+ language_school: భాషా పాఠశాల
library: గ్రంథాలయం
+ loading_dock: లోడు చేసే రేవు
+ love_hotel: ప్రేమ హాస్టలు
marketplace: సంత
+ mobile_money_agent: మొబైల్ మనీ ఏజంటు
+ monastery: ఆశ్రమం
+ money_transfer: డబ్బు బదిలీ
+ motorcycle_parking: మోటార్ సైకిలు పార్కింగు
+ music_school: సంగీత పాఠశాల
+ nightclub: నైట్ క్లబ్బు
+ nursing_home: నర్సింగ్ హోమ్
parking: పార్కింగు
+ parking_entrance: పార్కింగు ప్రవేశం
+ parking_space: పార్కింగు ప్రదేశం
+ payment_terminal: చెల్లింపుల కేంద్రం
pharmacy: మందుల దుకాణం
place_of_worship: పూజా స్థలం
police: పోలీసు
post_box: తపాలా పెట్టె
post_office: తపాలా కార్యాలయం
prison: జైలు
+ pub: పబ్
+ public_bath: బహిరంగ స్నానఘట్టం
+ public_bookcase: బహిరంగ పుస్తకాల అలమర
+ public_building: బహిరంగ భవనం
+ ranger_station: రేంజర్ స్టేషను
+ recycling: రీసైక్లింగ్ పాయింటు
+ restaurant: రెస్టారెంటు
+ sanitary_dump_station: శానిటరీ డంపు స్టేషను
school: బడి
+ shelter: ఆశ్రయం
+ shower: షవరు
+ social_centre: సామాజిక కేంద్రం
+ social_facility: సమాజిక సౌకర్యం
+ studio: స్టూడియో
swimming_pool: ఈత కొలను
taxi: టాక్సీ
telephone: ప్రజా టెలీఫోను
theatre: థియేటరు
toilets: మరుగుదొడ్లు
+ townhall: గ్రామ కచేరి
+ training: శిక్షణ కేంద్రం
university: విశ్వవిద్యాలయం
+ vehicle_inspection: వాహన తనిఖీ
+ vending_machine: వెండింగ్ యంత్రం
+ veterinary: పశు శస్త్రచికిత్స
+ village_hall: రచ్చబండ
waste_basket: చెత్త బుట్ట
+ waste_disposal: వ్యర్థ పదార్థాల పారవేత
+ waste_dump_site: వ్యర్థాల డంపు స్థలం
+ watering_place: నీటి మడుగు
+ water_point: నీటి స్థలం
+ weighbridge: వే బ్రిడ్జి
+ "yes": సదుపాయం
boundary:
+ aboriginal_lands: మూలవాసుల భూములు
administrative: పరిపాలనా సరిహద్దు
+ census: జనగణన సరిహద్దు
national_park: జాతీయ ఉద్యానవనం
+ political: నియోజకవర్గ సరిహద్దు
protected_area: రక్షిత ప్రదేశం
+ "yes": సరిహద్దు
bridge:
+ aqueduct: యాక్విడక్టు
+ boardwalk: బోర్డ్వాక్
+ suspension: వేలాడే వంతెన
+ swing: ఉయ్యాల వంతెన
+ viaduct: వయాడక్టు
"yes": వంతెన
building:
+ apartment: అపార్ట్మెంటు
+ apartments: అపార్ట్మెంట్లు
+ barn: బార్నీ
+ bungalow: బంగళా
+ cabin: పూరిల్లు
+ chapel: చాపెల్
church: చర్చి కట్టడం
+ civic: పౌర సదుపాయ భవనం
+ college: కాలేజీ భవనం
+ commercial: వాణిజ్య భవనం
+ construction: నిర్మాణంలో ఉన్న భవనం
+ detached: విడిగా ఉన్న ఇల్లు
+ dormitory: డార్మిటరీ
+ duplex: డూప్లెక్స్ ఇల్లు
+ farm: ఫార్మ్ హౌస్
+ farm_auxiliary: ఆక్జిలరీ ఫార్మ్ హౌస్
+ garage: గ్యారేజీ
+ garages: గ్యారేజీలు
+ greenhouse: గ్రీన్హౌస్
+ hangar: హ్యాంగర్
+ hospital: ఆసుపత్రి భవనం
+ hotel: హోటలు భవనం
+ house: ఇల్లు
+ houseboat: హౌస్బోట్
+ hut: గుడిసె
+ industrial: పరిశ్రమ భవనం
+ kindergarten: కిండర్గార్టెన్ భవనం
+ manufacture: తయారీ భవనం
+ office: కార్యాలయ భవనం
+ public: పబ్లిక్ భవనం
+ residential: నివాస భవనం
+ retail: రీటెయిల్ భవనం
+ roof: కప్పు
+ ruins: శిథిల భవనం
+ school: పాఠశాల భవనం
+ semidetached_house: కొంత విడిగా ఉన్న భవనం
+ service: సేవా భవనం
+ shed: షెడ్డు
+ stable: గుర్రపు శాల
+ static_caravan: క్యారవాన్
+ temple: ఆలయ భవనం
+ terrace: టెర్రేస్ భవనం
+ train_station: రైల్వే స్టేషను భవనం
+ university: విశ్వవిద్యాలయ భవనం
+ warehouse: గిడ్డంగి
"yes": భవనం
+ club:
+ scout: స్కౌట్ గ్రూపు స్థావరం
+ sport: క్రీడా క్లబ్బు
+ "yes": క్లబ్బు
craft:
+ blacksmith: కమ్మరి
+ brewery: బ్రూవరీ
+ carpenter: వడ్రంగి
+ caterer: క్యాటరర్
+ confectionery: కాన్ఫెక్షనరీ
+ dressmaker: టైలరు
+ electrician: ఎలక్ట్రీషియన్
+ electronics_repair: ఎలక్ట్రానిక్స్ రిపేరు
+ gardener: తోటమాలి
+ handicraft: హస్తకళ
+ metal_construction: లోహాల పనివారు
painter: పెయింటర్
photographer: చాయాగ్రాహకుడు
+ plumber: ప్లంబరు
+ roofer: కప్పునేత పనివాడు
+ sawmill: కోతమిల్లు
+ shoemaker: చెప్పుల తయారీదారు
+ stonemason: కట్టుబడీ మేస్త్రీ
tailor: దర్జీ
+ window_construction: కిటికీ తయారీ
+ winery: వైనరీ
+ "yes": క్రాఫ్టు దుకాణం
+ crossing: క్రాసింగు
+ emergency:
+ ambulance_station: అంబులెన్సు కేంద్రం
+ assembly_point: కూటమి స్థలం
+ defibrillator: డీఫైబ్రిలేటర్
+ fire_extinguisher: అగ్నిమాపకం
+ fire_water_pond: అగ్ని మాపక నీటి దొరువు
+ landing_site: అత్యవసర ల్యాండీంగు స్థలం
+ life_ring: అత్యవసర లైఫ్ రింగు
+ phone: అత్యవసర ఫోను
+ siren: అత్యవసర సైరను
+ suction_point: అత్యవసర సక్షన్ స్థానం
+ water_tank: అత్యవసర నీటి ట్యాంకు
highway:
+ abandoned: విసర్జిత హైవే
+ bus_guideway: బస్ లేన్
+ bus_stop: బస్ స్టాపు
+ construction: నిర్మాణంలో ఉన్న హైవే
+ corridor: నడవా
+ cycleway: సైకిలు దారి
+ elevator: లిఫ్టు
+ emergency_access_point: అత్యవసర యాక్సెస్ స్థానం
+ emergency_bay: అత్యవసర బే
footway: కాలినడక దారి
+ ford: చప్టా
+ give_way: దారి ఇవ్వు సూచిక
+ living_street: నివాసాల దారి
milestone: మైలురాయి
+ motorway: మోటార్వే
+ motorway_junction: మోటార్వే కూడలి
+ motorway_link: మోటార్వే రోడ్డు
path: దారి
pedestrian: కాలిబాట
+ platform: ప్లాట్ఫారం
primary: ప్రధాన రహదారి
primary_link: ప్రధాన రహదారి
+ proposed: ప్రతిపాదిత రోడ్డు
+ raceway: పరుగు పందెపు దారి
residential: నివాసప్రాంత దారి
rest_area: విశ్రాంతి స్థలమ
road: దారి
secondary: ద్వితీయ శ్రేణి రహదారి
secondary_link: ద్వితీయ శ్రేణి రహదారి
+ service: సర్వీసు రోడ్డు
+ services: మోటార్వే సర్వీసులు
+ speed_camera: స్పీడ్ కెమెరా
steps: మెట్లు
+ stop: ఆగుము సూచిక
street_lamp: వీధి దీపం
+ tertiary: తృతీయ రోడ్డు
+ tertiary_link: తృతీయ రోడ్డు
+ track: ట్రాకు
+ traffic_mirror: ట్రాఫిక్ అద్దం
+ traffic_signals: ట్రాఫిక్ సిగ్నళ్ళు
+ trailhead: ట్రెయిల్హెడ్
+ trunk: ట్రంక్ రోడ్డు
+ trunk_link: ట్రంక్ రోడ్డు
+ turning_circle: టర్నింగ్ వృత్తం
+ turning_loop: టర్నింగ్ లూపు
+ unclassified: వర్గీకరించని రోడ్డు
"yes": దారి
historic:
+ aircraft: చారిత్రిక విమానం
+ archaeological_site: పురాతత్వ స్థలం
+ bomb_crater: చారిత్రిక బాంబు బిలం
battlefield: యుద్ధరంగం
boundary_stone: సరిహద్దు రాయి
building: చారిత్రక కట్టడం
+ bunker: బంకరు
+ cannon: చారిత్రిక శతఘ్ని
castle: కోట
+ charcoal_pile: చారిత్రిక చార్కోల్ గుట్ట
church: చర్చి
+ city_gate: నగర ద్వారం
citywalls: నగర గోడలు
fort: కోట
+ heritage: వారసత్వ స్థలం
+ hollow_way: పల్లపు దారి
house: ఇల్లు
+ manor: మహల్
memorial: జ్ఞాపిక
+ milestone: చారిత్రిక మైలురాయి
mine: గని
+ mine_shaft: గని షాఫ్టు
monument: స్మారకం
+ railway: చారిత్రిక రైలుమార్గం
+ roman_road: రోమన్ రోడ్డు
ruins: శిథిలాలు
+ rune_stone: చారిత్రిక శిల
+ stone: శిల
tomb: సమాధి
tower: గోపురం
+ wayside_chapel: దారిపక్క చాపెల్
+ wayside_cross: దారిపక్క క్రాస్
+ wayside_shrine: దారిపక్క ఆలయం
+ wreck: శిథిలాలు
+ "yes": చారిత్రిక స్థలం
junction:
"yes": కూడలి
landuse:
+ allotments: సామూహిక పొలాలు
+ aquaculture: చేపల పెంపకం
+ basin: బేసిన్
+ brownfield: విసర్జిత భూమి
cemetery: శ్మశానం
commercial: వాణిజ్య ప్రదేశం
+ conservation: సంరక్షణ
construction: నిర్మాణం
farm: పొలం
farmland: పంటపొలం
forest: అడవి
garages: మరమ్మత్తు శాలలు
grass: పచ్చిక
+ greenfield: గ్రీన్ఫీల్డ్ భూమి
industrial: పారిశ్రామిక ప్రదేశం
+ landfill: ల్యాండ్ఫిల్
meadow: పచ్చిక బయలు
military: సైనిక ప్రాంతం
mine: గని
orchard: పళ్ళతోట
+ plant_nursery: మొక్కల నర్సరీ
quarry: క్వారీ
railway: రైల్వే
+ recreation_ground: వినోద మైదానం
+ religious: మతపరమైన మైదానం
reservoir: జలాశయం
reservoir_watershed: జలాశయం
residential: నివాస ప్రాంతం
+ retail: రిటెయిల్
+ vineyard: వైన్యార్డు
"yes": భూఉపయోగం
leisure:
+ adult_gaming_centre: వయోజన క్రీడా కేంద్రం
+ amusement_arcade: అమ్యూస్మెంటు కేంద్రం
+ bandstand: బ్యాండ్స్టాండ్
beach_resort: బీచి రిసార్టు
bird_hide: పక్షులకు ఆవాసం
+ bleachers: బ్లీచర్లు
+ bowling_alley: బౌలింగ్ అల్లీ
+ common: కామన్ భూమి
+ dance: నాట్యాంగణం
+ dog_park: కుక్కల పార్కు
+ firepit: ఫైర్ పిట్
fishing: చేపలు పట్టే స్థలం
+ fitness_centre: వ్యాయామ కేంద్రం
+ fitness_station: వ్యాయామ స్థలం
garden: తోట
+ golf_course: గోల్ఫ్ కోర్సు
+ horse_riding: గుర్రపు స్వారీ
+ ice_rink: ఐస్ రింక్
+ marina: మెరీనా
+ miniature_golf: చిన్నపాటి గోల్ఫ్
+ nature_reserve: ప్రకృతి సంరక్షణ కేంద్రం
+ outdoor_seating: బయటి సీటింగు
park: పార్కు
+ picnic_table: పిక్నిక్ టేబులు
+ pitch: క్రీడల పిచ్
playground: ఆటస్థలం
+ recreation_ground: క్రీడా మైదానం
+ resort: రిసార్టు
+ sauna: సౌనా
+ slipway: స్లిప్వే
+ sports_centre: క్రీడా కేంద్రం
+ stadium: స్టేడియమ్
swimming_pool: ఈత కొలను
+ track: రన్నింగ్ ట్రాకు
+ water_park: వాటర్ పార్కు
+ "yes": లీజరు
man_made:
+ adit: ఆడిట్
+ advertising: అడ్వర్టైజింగు
+ antenna: యాంటెన్నా
+ avalanche_protection: అవలాంచి సంరక్షణ కేంద్రం
+ beacon: బీకన్
+ beam: పుంజం
+ beehive: తేనెపట్టు
+ breakwater: బ్రేక్వాటర్
+ bridge: వంతెన
+ bunker_silo: బంకరు
+ cairn: కెయిర్న్
+ chimney: పొగగొట్టం
+ clearcut: నరికిన అడవి
+ communications_tower: కమ్యూనికేషను టవరు
+ crane: క్రేను
+ cross: క్రాస్
+ dolphin: కట్టుగుంజ
+ dyke: డైక్
+ embankment: కరకట్ట
+ flagpole: జండా కొయ్య
+ gasometer: గ్యాసోమీటర్
+ groyne: గ్రోయ్నె
+ kiln: బట్టీ
+ lighthouse: దీపస్థంభం
+ manhole: మ్యాన్హోల్
+ mast: మాస్ట్
+ mine: గని
+ mineshaft: గని షాఫ్టు
+ monitoring_station: మానిటరింగ్ స్టేషను
+ petroleum_well: పెట్రోలియం బావి
+ pier: పయర్
+ pipeline: పైప్లైను
+ pumping_station: పంపింగు స్టేషను
+ reservoir_covered: మూతవేసిన జలాశయం
+ silo: సైలో
+ snow_cannon: మంచు శతఘ్ని
+ snow_fence: మంచు కంచె
+ storage_tank: నిల్వ ట్యాంకు
+ street_cabinet: వీధి క్యాబినెట్
+ surveillance: నిఘా
+ telescope: టెలిస్కోపు
+ tower: టవరు
+ utility_pole: సదుపాయ స్థంభం
+ wastewater_plant: వ్యర్థజలాల ప్లాంటు
+ watermill: నీటి మర
+ water_tap: నీటి కుళాయి
+ water_tower: నీళ్ళ టవరు
water_well: బావి
+ water_works: నీటి సరఫరా కేంద్రం
+ windmill: గాలి మర
works: కర్మాగారం
+ "yes": మానవ నిర్మిత
+ military:
+ airfield: సైనిక వైమానిక క్షేత్రం
+ barracks: బ్యారక్లు
+ bunker: బంకరు
+ checkpoint: చెక్పాయింటు
+ trench: కందకం
+ "yes": సైనిక
+ mountain_pass:
+ "yes": కనుమదారి
natural:
+ atoll: అటాల్
+ bare_rock: రాతి ప్రదేశం
+ bay: అఖాతం
beach: బీచి
+ cape: అగ్రం
cave_entrance: గుహ ద్వారం
+ cliff: కొండకొన
+ coastline: తీరరేఖ
+ crater: బిలం
+ dune: తిన్నె
+ fell: ఫెల్
+ fjord: ఫ్యోర్డ్
forest: అడవి
+ geyser: గీసర్
glacier: హిమానీనదం
+ grassland: పచికబయలు
heath: ఆరోగ్యం
hill: గుట్ట
+ hot_spring: వేడినీటి బుగ్గ
island: దీవి
+ isthmus: భూసంధి
land: నేల
+ marsh: బురద
+ moor: బంజరు
mud: బురద
peak: శిఖరం
+ peninsula: ద్వీపకల్పం
+ point: బిందువు
+ reef: భిత్తిక
+ ridge: కొండ
rock: రాయి
sand: ఇసుక
+ scree: స్క్రీ
+ scrub: పొద
+ shingle: గులకరాళ్ళు
spring: ఊట
stone: రాయి
strait: జలసంధి
tree: చెట్టు
+ tree_row: చెట్ల వరుస
+ tundra: టండ్రా
valley: లోయ
volcano: అగ్ని పర్వతం
water: నీరు
wetland: చిత్తడి నేల
wood: అడవి
+ "yes": ప్రాకృతిక విశేషం
office:
+ accountant: ఎకౌంటెంటు
+ administrative: పరిపాలన
+ advertising_agency: అడ్వర్టైజింగు ఏజన్సీ
architect: వాస్తుశిల్పి
+ association: అసోసియేషను
company: సంస్థ
+ diplomatic: దౌత్య కార్యాలయం
+ educational_institution: విద్యా సంస్థ
+ employment_agency: ఉపాధి కేంద్రం
+ energy_supplier: విద్యుత్తు సరఫరా కార్యాలయం
+ estate_agent: ఎస్టేటు ఏజంటు
+ financial: ఫైనాన్షియల్ కార్యాలయం
government: ప్రభుత్వ కార్యాలయం
insurance: బీమా కార్యాలయం
+ it: ఐటీ కార్యాలయం
lawyer: న్యాయవాది
+ logistics: లాజిస్టిక్స్ కార్యాలయం
+ newspaper: వార్తాసంస్థ కార్యాలయం
+ ngo: NGO కార్యాలయం
+ notary: నోటరీ
+ religion: మతపరమైన కార్యాలయం
+ research: పరిశోధన కార్యాలయం
+ tax_advisor: పన్ను సలహాదారు
+ telecommunication: టెలికమ్యూనికేషను కార్యాలయం
+ travel_agent: ట్రావెల్ ఏజన్సీ
"yes": కార్యాలయం
place:
+ allotments: కేటాయింపులు
+ archipelago: ద్వీపసమూహం
city: నగరం
+ city_block: నగరంలో పేట
country: దేశం
+ county: జిల్లా
+ farm: పొలం
hamlet: కుగ్రామం
house: ఇల్లు
houses: ఇళ్ళు
island: దీవి
+ islet: దీవి
+ isolated_dwelling: ఒంటరి నివాసం
+ locality: ప్రదేశం
+ municipality: మునిసిపాలిటీ
+ neighbourhood: పేట
+ plot: స్థలం
postcode: తపాలా సంకేతం
+ quarter: క్వార్టరు
region: ప్రాంతం
sea: సముద్రం
+ square: స్క్వేర్
state: రాష్ట్రం
subdivision: ఉపవిభాగం
+ suburb: శివారు
town: పట్టణం
village: గ్రామం
+ "yes": స్థలం
railway:
+ abandoned: విసర్జిత రైల్వే
+ buffer_stop: బఫర్ స్టాప్
+ construction: నిర్మాణంలో ఉన్న రైలుమార్గం
+ disused: వాడని రైలుమార్గం
+ funicular: ఎత్తుకు వెళ్ళే రైలుమార్గం
+ halt: రైలు స్టేషను
+ junction: రైల్వే జంక్షను
+ level_crossing: లెవెల్ క్రాసింగు
+ light_rail: లైట్ రైల్
+ miniature: ఆట రైల్వే
+ monorail: మోనోరైల్
+ narrow_gauge: న్యారో గేజ్ రైలు మార్గం
platform: రైల్వే ప్లాట్ఫారం
+ preserved: సంరక్షిత్య రైలుమార్గం
+ proposed: ప్రతిపాదిత రైలుమార్గం
+ rail: రైలు పట్టా
+ spur: రైల్వే స్పర్
station: రైల్వే స్టేషన్
+ stop: రైల్వే స్టాప్
+ subway: సబ్వే
+ subway_entrance: సబ్వే ప్రవేశం
+ switch: రైలుమార్గపు పాయింట్లు
+ tram: ట్రామ్వే
+ tram_stop: ట్రామ్ స్టాపు
+ turntable: టర్న్టేబులు
+ yard: రైల్వే యార్డు
shop:
+ agrarian: వ్యవసాయ ఉత్పత్తుల దుకాణం
+ alcohol: ఆఫ్ లైసెన్సు
+ antiques: ప్రాచీన వస్తువులు
+ appliance: అప్లయన్సుల దుకాణం
+ art: కళా దుకాణం
+ baby_goods: శిశువుల వస్తువులు
+ bag: సంచుల దుకాణం
+ bakery: బేకరీ
+ bathroom_furnishing: బాత్రూము అలంకరణ
+ beauty: సౌందర్య దుకాణం
+ bed: బెడ్డీంగు సామాగ్రి
+ bicycle: సైకిలు దుకాణం
+ bookmaker: బుక్మేకరు
+ books: పుస్తకాల దుకాణం
+ boutique: బొటీక్
butcher: కసాయి
+ car: కారు దుకాణం
+ car_parts: కారు పార్టులు
+ car_repair: కారు రిపేరు
+ carpet: కార్పెట్ దుకాణం
+ charity: చారిటీ దుకాణం
+ cheese: వెన్న దుకాణం
+ chemist: కెమిస్టు
+ chocolate: చాకొలేట్
+ clothes: బట్టల దుకాణం
+ coffee: కాఫీ దుకాణం
+ computer: కంప్యూటరు దుకాణం
+ confectionery: కాన్ఫెక్షనరీ దుకాణం
+ convenience: కన్వీనియెన్స్ దుకాణం
+ copyshop: కాపీ దుకాణం
+ cosmetics: కాస్మెటిక్స్ దుకాణం
+ craft: బొమ్మల సరఫరా దుకాణం
+ curtain: కర్టెన్ల దుకాణం
+ dairy: పాల దుకాణం
+ deli: డేలి
+ department_store: డిపార్ట్మెంటు దుకాణం
+ discount: డిస్కౌంటు వస్తువుల దుకాణం
+ doityourself: డ్రై క్లీనింగు
+ dry_cleaning: డ్రై క్లీనింగు
+ e-cigarette: ఇ-సిగరెట్ల దుకాణం
+ electronics: ఎలక్ట్రానిక్స్ దుకాణం
+ erotic: శృంగార దుకాణం
+ estate_agent: ఎస్టేటు ఏజంటు
+ fabric: వస్త్రాల దుకాణం
+ farm: వ్యవసాయ దుకాణం
+ fashion: ఫ్యాషన్ దుకాణం
+ fishing: ఫిషింగు వస్తువుల దుకాణం
+ florist: పూల దుకాణం
+ food: ఆహార దుకాణం
+ frame: ఫ్రేమ్ దుకాణం
+ funeral_directors: ఖనన కర్మల స్థానం
+ furniture: ఫర్నిచర్
+ garden_centre: తోట దుకాణం
+ gas: గ్యాసు దుకాణం
+ general: జనరల్ దుకాణం
+ gift: బహుమతుల దుకాణం
+ greengrocer: కూరగాయల దుకాణం
+ grocery: కిరాణా దుకాణం
+ hairdresser: క్షౌరశాల
+ hardware: హార్డ్వేర్ దుకాణం
+ health_food: హెల్త్ ఫుడ్ దుకాణం
+ hearing_aids: చెవిటి మిషన్లు
+ hifi: హై-ఫై
+ ice_cream: ఐస్ క్రీము దుకాణం
+ interior_decoration: ఇంటీరియర్ డెకొరేషను
jewelry: నగల దుకాణం
+ kiosk: బడ్డీ కొట్టు
+ kitchen: వంటగది దుకాణం
laundry: చాకలి
+ locksmith: తాళాల పనివారు
+ lottery: లాటరీ
+ mall: మాల్
+ massage: మాలీషు
+ medical_supply: మందుల సరఫరా దుకాణం
+ mobile_phone: మొబైల్ ఫోను దుకాణం
+ money_lender: వడ్డీ వ్యాపారి
+ motorcycle: మోటార్సైకిలు దుకాణం
+ motorcycle_repair: మోటార్సైకిలు రిపేరు దుకాణం
+ music: సంగీతం దుకాణం
+ musical_instrument: సంగీత వాయిద్యాలు
+ newsagent: న్యూస్ ఏజంటు
+ nutrition_supplements: పౌష్టికాహారం
+ optician: కళ్ళజోళ్ళు
+ organic: ఆర్గానిక్ ఆహారం దుకాణం
+ outdoor: ఔట్డోర్ దుకాణం
+ paint: రంగుల దుకాణం
+ pastry: పేస్ట్రీ దుకాణం
+ pawnbroker: తాకట్టు వ్యాపారి
+ perfumery: సెంటు వ్యాపారి
+ pet: పెంపుడు జంతువుల దుకాణం
+ pet_grooming: పెంపుడు జంతువుల అలంకరణ
+ photo: ఫొటో స్టూడియో
+ seafood: సముద్రపు ఆహారం
+ second_hand: సెకండ్ హ్యాండ్ దుకాణం
+ sewing: కుట్టుపని దుకాణం
+ shoes: చెప్పుల దుకాణం
+ sports: క్రీడల దుకాణం
+ stationery: స్టేషనరీ దుకాణం
+ storage_rental: అద్దె గిడ్డంగి
+ supermarket: సూపర్ మార్కెట్
tailor: దర్జీ
+ tattoo: పచ్చబొట్ల దుకాణం
+ tea: టీ కొట్టు
+ ticket: టిక్కెట్ల దుకాణం
+ tobacco: పొగాకు దుకాణం
toys: బొమ్మల అంగడి
+ travel_agency: ట్రావెల్ ఏజన్సీ
+ tyres: టైర్ల దుకాణం
+ vacant: ఖాళీ దుకాణం
+ variety_store: వెరైటీ దుకాణం
+ video: వీడియో దుకాణం
+ video_games: వీడియో గేమ్ దుకాణం
+ wholesale: టోకు దుకాణం
+ wine: వైన్ దుకాణం
"yes": దుకాణం
tourism:
- apartment: అపార్టుమెంట్
+ alpine_hut: ఆల్పైన్ గుడిసె
+ apartment: సెలవు కాలపు అపార్టుమెంట్
+ artwork: కళాకృతి
+ attraction: ఆకర్షణ
+ bed_and_breakfast: బస, బ్రేక్ఫాస్టు
+ cabin: పూరిల్లు
+ camp_pitch: శిబిరం పిచ్
+ camp_site: శిబిరాల స్థలం
+ caravan_site: క్యారవాన్ స్థలం
+ chalet: చాలెట్
+ gallery: చిత్ర ప్రదర్శన
+ guest_house: అతిథి గృహం
+ hostel: హాస్టలు
hotel: హోటెల్
information: సమాచారం
+ motel: మోటెల్
museum: ప్రదర్శన శాల
+ picnic_site: పిక్నిక్ స్థలం
+ theme_park: థీమ్ పార్కు
+ viewpoint: వ్యూ పాయింటు
+ wilderness_hut: అడవి గుడిసె
zoo: జంతుప్రదర్శనశాల
tunnel:
+ building_passage: బిల్డింగ్ పాసేజీ
culvert: చప్టా
"yes": సొరంగం
waterway:
+ artificial: కృత్రిమ జలమార్గం
+ boatyard: పడవల రేవు
canal: కాలువ
dam: ఆనకట్ట
+ derelict_canal: పూడిపోయిన కాలువ
+ ditch: గుంట
+ dock: డాక్
drain: మురిక్కాలువ
+ lock: లాకులు
+ lock_gate: లాకు తలుపు
+ mooring: పడవను కట్టేసే కొయ్య
+ rapids: వడివాగు
river: నది
+ stream: వాగు
+ wadi: వాడి
waterfall: జలపాతం
+ weir: కట్ట
+ "yes": జలమార్గం
admin_levels:
level2: దేశ సరిహద్దు
+ level3: ప్రాంతపు సరిహద్దు
level4: రాష్ట్ర సరిహద్దు
level5: ప్రాంతపు సరిహద్దు
+ level6: దేశ సరిహద్దు
+ level7: మునిసిపాలిటీ సరిహద్దు
level8: నగర సరిహద్దు
level9: గ్రామ పొలిమెర
+ level10: శివారు సరిహద్దు
+ level11: పేట సరిహద్దు
types:
cities: నగరాలు
towns: పట్టణాలు
more_results: మరిన్ని ఫలితాలు
issues:
index:
+ title: అంశాలు
+ select_status: స్థితిని ఎంచుకోండి
+ select_type: రకాన్ని ఎంచుకోండి
+ select_last_updated_by: చివరిగా తాజాకరించినది ఎవరో ఎంచుకోండి
+ reported_user: నివేదించిన వాడుకరి
+ not_updated: తాజాకరించలేదు
+ search: వెతుకు
+ search_guidance: 'అంశాల్లో వెతుకు:'
+ user_not_found: వాడుకరి ఉనికిలో లేరు
+ issues_not_found: అలాంటి అంశాలేమీ కనబడలేదు
status: స్థితి
reports: నివేదికలు
+ last_updated: చివరిగా తాజాకరించినది
+ 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: అంశంపై ఫిర్యాదు చేసారు
+ states:
+ ignored: పట్టించుకోలేదు
+ open: తెరిచి ఉన్నవి
+ resolved: పరిష్కరించినవి
+ update:
+ new_report: మీ ఫిర్యాదు జయప్రదంగా నమోదైంది.
+ successful_update: మీ ఫిర్యాదును జయ[ప్రదంగా తాజాకరించాం
+ provide_details: ఆవశ్యకమైన వివరాలను ఇవ్వండి
+ show:
+ title: '%{status} అంశం #%{issue_id}'
+ report_created_at: '%{datetime} న మొదటిసారి ఫిర్యాదు చేసారు'
+ last_resolved_at: '%{datetime} న చివరిగా పరిష్కరించారు'
+ last_updated_at: చివరిగా %{displayname} గారు %{datetime} కు తాజాకరించారు
+ resolve: పరిష్కరించు
+ ignore: పట్టించుకోవద్దు
+ reopen: మళ్ళీ తెరువు
+ reports_of_this_issue: ఈ అంశంపై ఫిర్యాదులు
+ read_reports: చదివిన ఫిర్యాదులు
+ new_reports: కొత్త ఫిర్యాదులు
+ other_issues_against_this_user: ఈ వాడుకరికి వ్యతిరేకంగా ఉన్న ఇతర అంశాలు
+ no_other_issues: ఈ వాడుకరిపై ఇక వేరే అంశాలేమీ లేవు.
+ comments_on_this_issue: ఈ అంశంపై వ్యాఖ్యలు
+ resolve:
+ resolved: అంశం స్థితిని 'పరిష్కారమైంది' అని మార్చాం
+ ignore:
+ ignored: అంశం స్థితిని 'విస్మరించాం' అని మార్చాం
+ reopen:
+ reopened: అంశం స్థితిని 'తెరిచి ఉన్న' అని పెట్టాం
+ comments:
+ comment_from_html: '%{comment_created_at} %{user_link} చేసిన వ్యాఖ్య'
+ reassign_param: అంశాన్ని తిరిగి కేటాయించాలా?
+ reports:
+ reported_by_html: '%{user} %{updated_at} న %{category} అని ఫిర్యాదు చేసారు'
+ helper:
+ reportable_title:
+ diary_comment: '%{entry_title}, వ్యాఖ్య #%{comment_id}'
+ note: 'గమనిక #%{note_id}'
+ issue_comments:
+ create:
+ comment_created: మీ వ్యాఖ్యను జయప్రదంగా చేర్చాం
+ reports:
+ new:
+ title_html: '%{link} పై ఫిర్యాదు చెయ్యండి'
+ missing_params: కొత్త ఫిర్యాదును సృష్టించలేం
+ disclaimer:
+ intro: 'మీ ఫిర్యాదును మోడరేటర్లకు పంపించేముందు, దీన్ని నిశ్చయపరచుకోండి:'
+ not_just_mistake: సమస్య కేవలం పొరపాటు కాదని మీకు నిశ్చయంగా తెలుసు
+ unable_to_fix: మీరే స్వయంగా గానీ, మీ తోటి సముదాయ సభ్యులతో కలిసి గానీ సమస్యను
+ పరిష్కరించలేకపోయారు
+ resolve_with_user: సంబంధిత వాడుకరితో కలిసి సమస్యను పరిష్కరించే ప్రయత్నం చేసారు
+ categories:
+ diary_entry:
+ spam_label: ఈ డైరీ పద్దులో స్పాము ఉంది/అసలు అదే ఒక స్పాము
+ offensive_label: ఈ డైరీ పద్దు అసహ్యంగా/వికారంగా ఉంది
+ threat_label: ఈ డైరీ పద్దులో బెదిరింపు ఉంది
+ other_label: ఇతర
+ diary_comment:
+ spam_label: ఈ డైరీ వ్యాఖ్యలో స్పాము ఉంది/అసలు అదే ఒక స్పాము
+ offensive_label: ఈ డైరీ వ్యాఖ్య అసహ్యంగా/వికారంగా ఉంది
+ threat_label: ఈ డైరీ వ్యాఖ్యలో బెదిరింపు ఉంది
+ other_label: ఇతర
+ user:
+ spam_label: వాడుకరి ప్రొఫైలులో స్పాము ఉంది/అదే ఒక స్పాము
+ offensive_label: వాడుకరి ప్రొఫైలు అసహ్యంగా/వికారంగా ఉంది
+ threat_label: వాడూకరి ప్రొఫైల్లో వెదిరింపు ఉంది
+ vandal_label: ఈ వాడుకరి దుశ్చర్యలు చేస్తారు
+ other_label: ఇతర
+ note:
+ spam_label: ఈ గమనిక స్పాము
+ personal_label: ఈ గమనికలో వ్యక్తిగత డేటా ఉంది
+ abusive_label: ఈ గమనికలో తిట్లున్నాయి
+ other_label: ఇతర
+ create:
+ successful_report: మీ ఫిర్యాదు జయప్రదంగా నమోదైంది
+ provide_details: ఆవశ్యకమైన వివరాలను ఇవ్వండి
layouts:
logo:
alt_text: ఓపెన్‌స్ట్రీట్‌మాప్ చిహ్నం
log_in: ప్రవేశించండి
log_in_tooltip: ఇప్పటికే ఉన్న ఖాతాతో ప్రవేశించండి
sign_up: నమోదవ్వండి
+ start_mapping: మ్యాపింగు మొదలుపెట్టండి
sign_up_tooltip: సవరించడానికి ఓ ఖాతా సృష్టించుకోండి
edit: మార్చు
history: చరిత్ర
export: ఎగుమతి
+ issues: అంశాలు
data: డేటా
+ export_data: డేటాను ఎగుమతి చెయ్యి
+ gps_traces: GPS జాడలు
+ gps_traces_tooltip: GPS జాడలను నిర్వహించు
user_diaries: వాడుకరి డైరీలు
+ user_diaries_tooltip: వాడుకరి డైరీలను చూడండి
edit_with: '%{editor} తో సవరించండి'
tag_line: స్వేచ్ఛా వికీ ప్రపంచ పటం
intro_header: ఓపెన్స్ట్రీట్మ్యాప్కి స్వాగతం!
+ intro_text: OpenStreetMap, ఓ ప్రపంచ మ్యాపు. మీలాంటి వారే దీన్ని తయారు చేసారు.
+ స్వేచ్ఛా లైసెన్సు ద్వారా స్వేచ్ఛగా దీన్ని వాడుకోవచ్చు.
intro_2_create_account: వాడుకరి ఖాతాను సృష్టించుకోండి
+ hosting_partners_html: '%{ucl}, %{fastly}, %{bytemark}, ఇతర %{partners} హోస్టింగుకు
+ మద్దతు నిస్తున్నారు.'
+ partners_ucl: UCL
+ partners_fastly: Fastly
+ partners_bytemark: Bytemark Hosting
partners_partners: భాగస్వాములు
tou: వాడుక నియమాలు
+ osm_offline: OpenStreetMap డేటాబేసులో అత్యావశ్యకమైన నిర్వహణ పనులు జరుగుతున్నందున
+ అది ప్రస్తుతం ఆఫ్లైనులో ఉంది.
+ osm_read_only: OpenStreetMap డేటాబేసులో అత్యావశ్యకమైన నిర్వహణ పనులు జరుగుతున్నందున
+ అది ప్రస్తుతం రీడ్-ఓన్లీ స్థితిలో ఉంది.
+ donate: హార్డ్వేర్ అప్గ్రేడ్ నిధికి %{link} ఇచ్చి, OpenStreetMap కు మద్దతివ్వండి.
help: సహాయం
about: గురించి
copyright: నకలుహక్కులు
community: కమ్యూనిటీ
community_blogs: కమ్యూనిటీ బ్లాగులు
+ community_blogs_title: OpenStreetMap సముదాయ సభ్యుల బ్లాగులు
foundation: ఫౌండేషన్
+ foundation_title: OpenStreetMap ఫౌండేషను
make_a_donation:
+ title: OpenStreetMap కు ధనసహాయం చేసి మద్దతివ్వండి
text: విరాళమివ్వండి
learn_more: మరింత తెలుసుకోండి
more: మరిన్ని
user_mailer:
diary_comment_notification:
+ subject: '[OpenStreetMap] %{user} ఒక డైరీ పద్దుపై వ్యాఖ్యానించారు'
hi: హలో %{to_user},
+ header: '%{from_user}, %{subject} అనే సబ్జెక్టుతో OpenStreetMap డైరీ పద్దుపై
+ వ్యాఖ్యానించారు:'
+ header_html: '%{from_user}, %{subject} అనే సబ్జెక్టుతో OpenStreetMap డైరీ పద్దుపై
+ వ్యాఖ్యానించారు:'
+ footer: '%{readurl} వద్ద కూడా మీరు ఈ వ్యాఖ్యను చదవవచ్చు, %{commenturl} వద్ద
+ వ్యాఖ్యానించవచ్చు, %{replyurl} వద్ద వారికి సందేశం పంపించవచ్చు.'
+ footer_html: '%{readurl} వద్ద కూడా మీరు ఈ వ్యాఖ్యను చదవవచ్చు, %{commenturl}
+ వద్ద వ్యాఖ్యానించవచ్చు, %{replyurl} వద్ద వారికి సందేశం పంపించవచ్చు.'
message_notification:
+ subject: '[OpenStreetMap] %{message_title}'
hi: హలో %{to_user},
+ header: '%{from_user}, %{subject} అనే సబ్జెక్టుతో OpenStreetMap ద్వారా మీకొక
+ సందేశం పంపించారు:'
+ header_html: '%{from_user}, %{subject} అనే సబ్జెక్టుతో OpenStreetMap ద్వారా
+ మీకొక సందేశం పంపించారు:'
+ footer: ఆ సందేశాన్ని %{readurl} వద్ద కూడా చదవవచ్చు, %{replyurl} వద్ద వారికి
+ సందేశం పంపించవచ్చు
+ footer_html: ఆ సందేశాన్ని %{readurl} వద్ద కూడా చదవవచ్చు, %{replyurl} వద్ద వారికి
+ సందేశం పంపించవచ్చు
+ friendship_notification:
+ hi: నమస్కారం %{to_user} గారూ,
+ subject: '[OpenStreetMap] %{user} మిమ్మల్ని మిత్రులుగా చేర్చుకున్నారు'
+ had_added_you: '%{user} మిమ్మల్ని OpenStreetMap లో మిత్రులుగా చేర్చుకున్నారు.'
+ see_their_profile: '%{userurl} వద్ద వారి ప్రొఫైలును చూడవచ్చు.'
+ see_their_profile_html: '%{userurl} వద్ద వారి ప్రొఫైలును చూడవచ్చు.'
+ befriend_them: '%{befriendurl} వద్ద వారిని మీరు కూడా మిత్రులుగా చేసుకోవచ్చు.'
+ befriend_them_html: అలాగే, %{befriendurl} వద్ద వారిని మీ మిత్రులుగా చేర్చుకోవచ్చు.
+ gpx_description:
+ description_with_tags_html: 'మీ GPX ఫైలుకు %{trace_name}, %{trace_description}
+ వివరణ, కింది ట్యాగులూ ఉన్నట్లున్నాయి: %{tags}'
+ description_with_no_tags_html: మీ GPX ఫైలు %{trace_name}, %{trace_description}
+ వివరణతో ట్యాగులేమీ లేకుండా ఉన్నట్లుంది
+ gpx_failure:
+ hi: నమస్కారం %{to_user} గారూ,
+ failed_to_import: 'దిగుమతి విఫలమైంది. లోపం ఇది:'
+ more_info_html: GPX దిగుమతి వైఫల్యాల గురించి, వాటిని ఎలా నివారించాలనేదాని గురించీ
+ మరింత సమాచారాన్ని %{url} వద్ద చూడవచ్చు.
+ import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures
+ subject: '[OpenStreetMap] GPX దిగుమతి వైఫల్యం'
+ gpx_success:
+ hi: నమస్కారం %{to_user} గారూ,
+ loaded_successfully:
+ one: సంభావ్యమైన 1 పాయింటులో %{trace_points} తో జయప్రదంగా లోడు చేసాం.
+ other: సంభావ్యమైన %{possible_points} పాయింట్లలో %{trace_points} తో జయప్రదంగా
+ లోడు చేసాం.
+ subject: '[OpenStreetMap] GPX దిగుమతి జయప్రదం'
signup_confirm:
subject: '[ఓపెన్స్ట్రీట్మ్యాప్] ఓపెన్స్ట్రీట్మ్యాప్కి స్వాగతం'
+ greeting: హలో!
created: ఎవరో (మీరే కావచ్చు) %{site_url} లో ఖాతాను సృష్టించారు.
+ confirm: 'ఇంకేదైనా చెయ్యబోయే ముందు, ఈ అభ్యర్థన మీనుండే వచ్చిందని మేం నిర్థారించుకోవాలి.
+ అంచేత, ఆ అభ్యర్థన మీరే చేసి ఉంటే, కింది లింకును నొక్కి మీ ఖాతాను నిర్థారించండి:'
+ welcome: మీరు మీ ఖాతాను నిర్థారించాక, మీరు పని మొదలుపెట్టేందుకు గాను, మేం మీకు
+ మరికొంత సమాచారాన్ని ఇస్తాం.
email_confirm:
subject: '[ఓపెన్స్ట్రీట్మాప్] మీ ఈమెయిలు చిరునామాని నిర్ధారించండి'
+ greeting: హలో,
+ hopefully_you: ఎవరో (మీరే అయి ఉండవచ్చు) %{server_url} వద్ద ఉన్న తమ ఈమెయిలు చిరునామాను
+ %{new_address} కు మార్చాలని అనుకుంటున్నారు.
click_the_link: అది మీరే అయితే, మార్పుని నిర్ధారించడానికి ఈ క్రింది లంకెను నొక్కండి.
+ lost_password:
+ subject: '[OpenStreetMap] సంకేతపదం మార్పు అభ్యర్థన'
+ greeting: హలో,
+ hopefully_you: ఈ ఈమెయిలు చిరునామాకు చెందిన openstreetmap.org ఖాతా లోని సంకేతపదాన్ని
+ మార్చమని ఎవరో (బహుశా మీరే) అడిగారు.
+ click_the_link: అది మీరే అయితే, కింది లింకును నొక్కి సంకేతపదం మార్చుకోండి.
note_comment_notification:
anonymous: అజ్ఞాత వాడుకరి
+ greeting: హలో,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} మీ గమనికలపై వ్యాఖ్యానించారు'
+ subject_other: మీకు ఆసక్తి ఉన్న ఒక గమనికపై [OpenStreetMap] %{commenter} వ్యాఖ్యానించారు
+ your_note: '%{place} సమీపం లోని మీ మ్యాపు గమనికలపై %{commenter} ఒక వ్యాఖ్య
+ రాసారు.'
+ your_note_html: '%{place} సమీపం లోని మీ మ్యాపు గమనికలపై %{commenter} ఒక వ్యాఖ్య
+ రాసారు.'
+ commented_note: మీరు వ్యాఖ్యానించిన మ్యాపు గమనికపై %{commenter} ఒక వ్యాఖ్య
+ రాసారు. ఆ గమనిక %{place} సమీపంలో ఉంది.
+ commented_note_html: మీరు వ్యాఖ్యానించిన మ్యాపు గమనికపై %{commenter} ఒక వ్యాఖ్య
+ రాసారు. ఆ గమనిక %{place} సమీపంలో ఉంది.
+ closed:
+ subject_own: '[OpenStreetMap] మీ గమనికల్లో ఒకదాన్ని %{commenter} పరిష్కరించారు'
+ subject_other: '[OpenStreetMap] మీకు ఆసక్తి ఉన్న గమనికల్లో ఒకదాన్ని %{commenter}
+ పరిష్కరించారు'
+ your_note: '%{place} సమీపంలో మీ మ్యాప్ గమనికల్లో ఒకదాన్ని %{commenter} పరిష్కరించారు.'
+ your_note_html: '%{place} సమీపంలో మీ మ్యాప్ గమనికల్లో ఒకదాన్ని %{commenter}
+ పరిష్కరించారు.'
+ commented_note: మీరు వ్యాఖ్యానించిన మ్యాప్ గమనికల్లో ఒకదాన్ని %{commenter}
+ పరిష్కరించారు. ఆ గమనిక %{place} సమీపంలో ఉంది.
+ commented_note_html: మీరు వ్యాఖ్యానించిన మ్యాప్ గమనికల్లో ఒకదాన్ని %{commenter}
+ పరిష్కరించారు. ఆ గమనిక %{place} సమీపంలో ఉంది.
+ reopened:
+ subject_own: '[OpenStreetMap] %{commenter}, మీ గమనికల్లో ఒకదాన్ని పునరుజ్జీవింపజేసారు'
+ subject_other: '[OpenStreetMap] మీకు ఆసక్తి ఉన్న ఒక గమనికను %{commenter} పునరుజ్జీవింపజేసారు'
+ your_note: '%{place} సమీపం లోని మీ మ్యాపు గమనికల్లో ఒకదాన్ని %{commenter}
+ పునరుజ్జీవింపజేసారు.'
+ your_note_html: '%{place} సమీపం లోని మీ మ్యాపు గమనికల్లో ఒకదాన్ని %{commenter}
+ పునరుజ్జీవింపజేసారు.'
+ commented_note: మీరు వ్యాఖ్యానించిన మ్యాపు గమనికల్లో ఒకదాన్ని %{commenter}
+ పునరుజ్జీవింపజేసారు. అది %{place} సమీపంలో ఉంది.
+ commented_note_html: మీరు వ్యాఖ్యానించిన మ్యాపు గమనికల్లో ఒకదాన్ని %{commenter}
+ పునరుజ్జీవింపజేసారు. అది %{place} సమీపంలో ఉంది.
+ details: ఈ గమనిక గురించి మరిన్ని వివరాలను %{url} వద్ద చూడవచ్చు.
+ details_html: ఈ గమనిక గురించి మరిన్ని వివరాలను %{url} వద్ద చూడవచ్చు.
changeset_comment_notification:
hi: '%{to_user} గారూ,'
+ greeting: హలో,
+ commented:
+ subject_own: మీ మార్పులసమితుల్లో ఒకదానిపై [OpenStreetMap] %{commenter} వ్యాఖ్యానించారు
+ subject_other: '[OpenStreetMap] మీకు ఆసక్తి ఉన్న మార్పులసమితిపై %{commenter}
+ వ్యాఖ్యానించారు'
+ your_changeset: మీ మార్పులసమితుల్లో ఒకదానిపై %{commenter}, %{time} ఒక వ్యాఖ్య
+ పెట్టారు
+ your_changeset_html: '%{commenter}, మీ మార్పులసమితుల్లో ఒకదానిపై %{time} ఒక
+ వ్యాఖ్య రాసారు'
+ commented_changeset: '%{changeset_author} సృష్టించిన, మీరు గమనిస్తూ ఉన్న ఒక
+ మార్పులసమితిపై %{commenter}, %{time} ఒక వ్యాఖ్య పెట్టారు'
+ commented_changeset_html: '%{changeset_author} సృష్టించిన, మీరు గమనిస్తూ ఉన్న
+ ఒక మార్పులసమితిపై %{commenter}, %{time} ఒక వ్యాఖ్య పెట్టారు'
+ partial_changeset_with_comment: '''%{changeset_comment}'' వ్యాఖ్యతో'
+ partial_changeset_with_comment_html: '''%{changeset_comment}'' వ్యాఖ్యతో'
+ partial_changeset_without_comment: వ్యాఖ్యేమీ లేకుండా
+ details: ఈ మార్పులసమితికి సంబంధించిన మరిన్ని వివరాలను %{url} వద్ద చూడవచ్చు.
+ details_html: మార్పులసమితి గురించి మరిన్ని వివరాలను %{url} వద్ద చూడవచ్చు.
+ unsubscribe: ఈ మార్పులసమితి తాజాకరణల నుండి చందా విరమించుకోడానికి, %{url} కు
+ వెళ్ళి, "చందా విరమణ" నొక్కండి.
confirmations:
confirm:
heading: మీ ఈమెయిల్ చూడండి!
introduction_1: మీకు నిర్ధారణ ఈమెయిలును పంపించాం.
+ press confirm button: మీ ఖాతాను చేతనపరచేందుకు కింది ధ్రువీకరించు బొత్తాన్ని
+ నొక్కండి.
button: నిర్ధారించు
+ success: మీ ఖాతాను ధ్రువీరించారు. నమోదైనందుకు ధన్యవాదాలు!
already active: ఈ ఖాతాని ఇప్పటికే నిర్ధారించారు.
+ unknown token: ఆ ధ్రువీకరణ కోడ్ మురిగిపోయింది. లేదా అసలు ఉనికిలోనే లేదు.
+ reconfirm_html: ధ్రువీకరణ మెయిలు మళ్ళీ పంపించమనేట్లైతే, <a href="%{reconfirm}">ఇక్కడ
+ నొక్కండి</a>.
confirm_resend:
failure: వాడుకరి %{name} కనబడలేదు.
confirm_email:
బొత్తాన్ని నొక్కండి.
button: నిర్ధారించు
success: మీ ఈమెయిలు చిరునామా నిర్ధారణ అయింది!
+ failure: ఈ టోకెనుతో ఒక ఈమెయిలు చిరునామాను ఈసరికే ధ్రువీకరించారు.
+ unknown_token: ధ్రువీకరణ కోడు మురిగిపోయింది లేదా అదసలు లేనే లేదు.
+ resend_success_flash:
+ confirmation_sent: మేం మరొక ధ్రువీకరణ గమనికను %{email} కు పంపించాం. మీ ఖాతాను
+ ధ్రువీకరించగానే మీరు మ్యాపింగు మొదలుపెట్టవచ్చు.
+ whitelist: మీకు స్పాము వ్యతిరేక వ్యవస్థ ఏదైనా ఉంటే, బహుశా అది ధ్రువీకరణ మెయిళ్ళను
+ స్పాము ఫోల్డరు లోకి పంపిస్తుంది. అంచేత ఈ ఈ %{sender} ను వైట్లిస్టులో పెట్టండి.
+ లేదంటే ధ్రువీకరణ అభ్యర్థనలకు మేమిచ్చే జవాబులు అందవు.
messages:
inbox:
+ title: ఇన్బాక్సు
my_inbox: నా ఇన్బాక్స్
+ my_outbox: నా ఔట్బాక్సు
+ messages: మీకు %{new_messages}, %{old_messages} ఉన్నాయి
+ new_messages:
+ one: '%{count} కొత్త సందేశం'
+ other: '%{count} కొత్త సందేశాలు'
+ old_messages:
+ one: '%{count} పాత సందేశం'
+ other: '%{count} పాత సందేశాలు'
+ from: నుండి
subject: విషయం
date: తేదీ
+ no_messages_yet_html: మీకింకా సందేశాలేమీ లేవు. %{people_mapping_nearby_link}
+ ఎవరినైనా ఎందుకు సంప్రదించకూడదూ?
+ people_mapping_nearby: సమీపంలో మ్యాపింగు చేస్తున్నవారు
message_summary:
+ unread_button: చదవనట్లుగా గుర్తుపెట్టు
+ read_button: చదివినట్లుగా గుర్తుపెట్టు
reply_button: జవాబివ్వు
destroy_button: తొలగించు
new:
+ title: సందేశాన్ని పంపించు
send_message_to_html: '%{name}కి ఒక సందేశాన్ని పంపండి'
subject: విషయం
+ body: దేహం
+ back_to_inbox: తిరిగి ఇన్బాక్సుకు
+ create:
+ message_sent: సందేశాన్ని పంపించాం
+ limit_exceeded: ఈమధ్య మీరు చాలా సందేశాలు పంపించారు. మరిన్ని పంపేముందు కాస్త
+ ఆగండి.
+ no_such_message:
+ title: అలాంటి సందేశమేమీ లేదు
+ heading: అలాంటి సందేశమేమీ లేదు
+ body: సారీ, ఆ ఐడీతో సందేశమేమీ లేదు.
outbox:
+ title: ఔట్బాక్సు
+ my_inbox: నా ఇన్బాక్సు
+ my_outbox: నా ఔట్బాక్సు
+ messages:
+ one: మీకు %{count} పంపిన సందేశం ఉంది
+ other: మీకు %{count} పంపిన సందేశాలు ఉన్నాయి
+ to: కు
subject: విషయం
date: తేదీ
+ no_sent_messages_html: మీకింకా పంపిన సందేశాలు లేవు. %{people_mapping_nearby_link}
+ ఎవరినైనా ఎందుకు సంప్రదించకూడదూ?
+ people_mapping_nearby: సమీపంలో మ్యాపింగు చేస్తున్నవారు
+ reply:
+ wrong_user: మీరు `%{user}' గా లాగినై ఉన్నారు. కానీ మీ సందేశం, మీరు జవాబు ఇవ్వాలని
+ చెప్పిన వాడుకరికి పంపలేదు. సరైన వాడుకరిగా లాగినై జవాబివ్వండి.
show:
+ title: సందేశం చదవండి
+ from: నుండి
subject: విషయం
date: తేదీ
reply_button: జవాబివ్వు
+ unread_button: చదివినట్లుగా గుర్తుపెట్టు
+ destroy_button: తొలగించు
back: వెనుకకు
+ to: కు
+ wrong_user: మీరు `%{user}' గా లాగినై ఉన్నారు. కానీ మీరు చదవదలచిన సందేశం ఆ వాడుకరి
+ పంపలేదు, ఆ వాడుకరికి రాలేదు. సరైన వాడుకరిగా లాగినై చదవండి.
sent_message_summary:
destroy_button: తొలగించు
+ mark:
+ as_read: సందేశాన్ని చదివినట్లుగా గుర్తుపెట్టాం
+ as_unread: సందేశాన్ని చదవనట్లుగా గుర్తుపెట్టాం
+ destroy:
+ destroyed: సందేశాన్ని తొలగించాం
passwords:
lost_password:
title: సంకేతపదం పోయింది
heading: సంకేతపదం మర్చిపోయారా?
email address: 'ఈమెయిల్ చిరునామా:'
+ new password button: సంకేతపదాన్ని మార్చు
+ help_text: నమోదైనపుడు మీరిచ్చిన ఈమెయిలు చిరునామాను ఇవ్వండి. సంకేతపదాన్ని మార్చుకునే
+ లింకును ఆ చిరునామాకు పంపిస్తాం.
+ notice email on way: అయ్యో.. పోయిందా :-( పోన్లెండి, దాన్ని మార్చుకునేందుకు ఒక
+ ఈమెయిలు వచ్చేస్తోంది.
notice email cannot find: క్షమించండి, ఆ ఈమెయిలు చిరునామా దొరకలేదు.
reset_password:
+ title: సంకేతపదం మార్పు
+ heading: '%{user} సంకేతపదాన్ని మార్చు'
+ reset: సంకేతపదాన్ని మార్చు
flash changed: మీ సంకేతపదాన్ని మార్చాం.
+ flash token bad: ఆ టోకెను కనబడలేదు, ఓసారి URL సరిచూస్తారా?
+ preferences:
+ show:
+ title: నా అభీష్టాలు
+ preferred_editor: ఇష్టమైన ఎడిటరు
+ preferred_languages: అభీష్టమైన భాషలు
+ edit_preferences: అభీష్టాలను మార్చు
+ edit:
+ title: అభీష్టాలను మార్చు
+ save: అభీష్టాలను తాజాకరించిఉ
+ cancel: రద్దుచేయి
+ update:
+ failure: అభీష్టాలను తాజాకరించలేక పోయాం.
+ update_success_flash:
+ message: అభీష్టాలను తాజాకరించాం.
profiles:
edit:
- image: 'బొమ్మ:'
+ title: ప్రొఫైలును సవరించండి
+ save: ప్రొఫైలును తాజాకరించండి
+ cancel: రద్దుచేయి
+ image: బొమ్మ
gravatar:
gravatar: గ్రావతార్ని వాడు
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
+ what_is_gravatar: గ్రావతార్ అంటే ఏంటి?
+ disabled: గ్రావతార్ను అచేతనం చేసాం.
+ enabled: మీ గ్రావతార్ను చూపించడం చేత్యనం చేసాం.
+ new image: ఓ బొమ్మను చేర్చండి
keep image: ప్రస్తుత చిత్రాన్ని ఉంచు
delete image: ప్రస్తుత చిత్రాన్ని తొలగించు
replace image: ప్రస్తుత చిత్రాన్ని మార్చు
image size hint: (కనీసం 100x100 ఉండే చదరపు చిత్రం అయితే మేలు)
- home location: 'నివాస ప్రాంతం:'
+ home location: ఇంటి స్థానం
no home location: మీరు మీ నివాస ప్రాంతాన్ని పేర్కొనలేదు.
+ update home location on click: మ్యాపుపై నొక్కినపుడు ఇంటి స్థానాన్ని తాజాకరించాలా?
+ update:
+ success: ప్రొఫైలును తాజాకరించాం.
+ failure: ప్రొఫైలును తాజాకరించలేక పోయాం.
sessions:
new:
title: ప్రవేశం
heading: ప్రవేశం
email or username: 'ఈమెయిల్ చిరునామా లేదా వాడుకరిపేరు:'
password: 'సంకేతపదం:'
+ openid_html: '%{logo} OpenID:'
remember: నన్ను గుర్తుంచుకో
lost password link: మీ సంకేతపదం పోయిందా?
login_button: ప్రవేశించు
register now: ఇప్పుడే నమోదవ్వండి
+ with username: 'ఈసరికే OpenStreetMap ఖాతా ఉందా? అయితే మీ వాడుకరిపేరు, సంకేతపదాలతో
+ లాగినవండి:'
+ with external: 'లేదా, ఏదైనా థర్డ్ పార్టీతో లాగినవండి:'
new to osm: ఓపెన్స్ట్రీట్మ్యాప్కి కొత్తా?
+ to make changes: OpenStreetMap డేటాలో మార్పులు చెయ్యాలంటే, మీకు ఖాతా ఉండడం తప్పనిసరి.
create account minute: ఒక ఖాతాను సృష్టించుకోండి. కేవలం నిమిషంలో అయిపోతుంది.
no account: మీకు ఖాతా లేదా?
+ account not active: సారీ, మీ ఖాతా ఇంకా చేతనం కాలేదు.<br />ఖాతా ధ్రువీకరణ ఈమెయిల్లో
+ ఉన్న లింకును వాడి మీ ఖాతాను చేతనం చెయ్యండి. లేదా <a href="%{reconfirm}">కొత్త
+ ధ్రువీకరణ ఈమెయిలు పంపమని అడగండి</a>.
+ account is suspended: సారీ, అనుమానాస్పద కార్యకలాపాల కారణంగా మీ ఖాతాను సస్పెండు
+ చేసారు.<br />దీని గురించి చర్చించాలంటే <a href="%{webmaster}">సహాయం</a> ను
+ సంప్రదించండి.
+ auth failure: సారీ, ఈ వివరాలతో లాగిన్ చెయ్యలేకపోయాం.
+ openid_logo_alt: ఏదైనా OpenID తో లాగినవండి
+ auth_providers:
+ openid:
+ title: OpenID తో లాగినవండి
+ alt: ఏదైనా OpenID URL తో లాగినవండి
+ google:
+ title: Google తో లాగినవండి
+ alt: Google OpenID తో లాగినవండి
+ facebook:
+ title: Facebook తో లాగినవండి
+ alt: Facebook ఖాతాతో లాగినవండి
+ windowslive:
+ title: Windows Live తో లాగినవండి
+ alt: Windows Live ఖాతాతో లాగినవండి
+ github:
+ title: GitHub తో లాగినవండి
+ alt: GitHub ఖాతాతో లాగినవండి
+ wikipedia:
+ title: వికీపీడియాతో లాగినవండి
+ alt: వికీపీడియా ఖాతాతో లాగినవండి
+ wordpress:
+ title: వర్డ్ప్రెస్తో లాగినవండి
+ alt: వర్డ్ప్రెస్ OpenID తో లాగినవండి
+ aol:
+ title: AOL తో లాగినవండి
+ alt: AOL OpenID తో లాగినవండి
destroy:
title: నిష్క్రమించు
heading: ఓపెన్స్ట్రీట్మ్యాప్ నుండి నిష్క్రమించండి
shared:
markdown_help:
headings: శీర్షికలు
+ heading: శీర్షిక
subheading: ఉప శీర్షిక
unordered: క్రమం లేని జాబితా
ordered: సక్రమ జాబితా
site:
about:
next: తదుపరి
+ copyright_html: <span>©</span>OpenStreetMap<br> తోడ్పాటుదార్లు
+ used_by_html: '%{name} వేలాది వెబ్సైట్లకు, మొబైలు యాప్లకు, హార్డ్వేరు డివైసులకూ
+ మ్యాప్ డేటాను అందిస్తుంది'
+ lede_text: OpenStreetMap ను మ్యాపర్ల సముదాయం నిర్మిస్తోంది. ఈ సముదాయ సభ్యులు
+ ప్రపంచ వ్యాప్తంగా రోడ్లు, రెస్టారెంట్లు, రైల్వే స్టేషన్లు లాంటి ఎన్నో అంశాల
+ గురించి డేటాను చేర్చడం, నిర్వహించడం చేస్తున్నారు.
local_knowledge_title: స్థానిక పరిజ్ఞానం
+ local_knowledge_html: OpenStreetMap స్థానిక పరిజ్ఞానానికి ప్రాముఖ్యత నిస్తుంది.
+ ఇక్కడ తోడ్పాటునందించేవారు విహంగ చిత్రాలను, GPS డివైసులను, లో టెక్ క్షేత్య్ర
+ స్థాయి మ్యాపులనూ వాడి OSM కచ్చితత్వంతో ఉందని, తాజా సమాచారంతో ఉందనీ నిర్థారిస్తారు.
+ community_driven_title: సాముదాయిక కృషితో కూడినది
partners_title: భాగస్వాములు
copyright:
foreign:
title: ఈ అనువాదం గురించి
+ html: అనువదించిన పేజీకీ %{english_original_link} కూ మధ్య ఘర్షణ ఏర్పడినపుడు
+ ఇంగ్లీషు పేజీదే ప్రాధాన్యత
+ english_link: ఒరిజినలు ఇంగ్లీషు కూర్పు
native:
title: ఈ పుట గురించి
+ html: మీరు కాపీహక్కుల పేజీ ఇంగ్లీషు కూర్పును చూస్తున్నారు. తిరిగి ఈ పేజీ %{native_link}
+ కు వెళ్ళవచ్చు, లేదా కాపీహక్కు గురించి %{mapping_link} గురించీ చదవడం ఆపేయవచ్చు.
+ native_link: THIS_LANGUAGE_NAME_HERE కూర్పు
+ mapping_link: మ్యాపింగు మొదలుపెట్టండి
legal_babble:
- title_html: కాపీహక్కులు మరియు లైసెన్సు
+ title_html: కాపీహక్కు, లైసెన్సు
+ intro_1_html: |-
+ OpenStreetMap<sup><a href="#trademarks">®</a></sup> అనేది <i>ఓపెన్ డేట్</i>. దీన్ని <a
+ href="https://opendatacommons.org/licenses/odbl/">ఓపెన్ డేటా కామన్స్ ఓపెన్ డేటాబేస్ లైసెన్సు </a> (ODbL) కు లోబడి <a
+ href="https://osmfoundation.org/">OpenStreetMap ఫౌండేషను</a> (OSMF) అందిస్తోంది.
+ intro_2_html: |-
+ You are free to copy, distribute, transmit and adapt our data,
+ as long as you credit OpenStreetMap కు శ్రేయస్సును ఆపాదించినంతవరకు మా డేటాను కాపీ చేసుకోవచ్చు, పంపిణీ చేసుకోవచ్చు, ప్రసారం చేసుకోనూ వచ్చు. మా డేటాను మార్చినా, దానిపైన మరింగ్త అభిఉవృద్ధి చేసినా దాని ఫలితాన్ని కూడా అదే లైసెన్సు కింద మాత్రమే పంపిణీ చెయ్యాలి. ఈ పూర్తి <a href="https://opendatacommons.org/licenses/odbl/1.0/">లీగల్ కోడ్</a> మీ హక్కులు, బాధ్యతలను వివరిస్తుంది.
+ intro_3_1_html: మా డాక్యుమెంటేషను <a href="https://creativecommons.org/licenses/by-sa/2.0/">క్రియేటివ్
+ కామన్స్ యాట్రిబ్యూషను షేర్అలైక్ 2.0</a> లైసెన్సు (CC BY-SA 2.0) కింద లభ్యమౌతుంది.
+ credit_title_html: OpenStreetMap కు శ్రేయస్సు నివ్వడం ఎలా
+ credit_1_html: |-
+ మీరు “© OpenStreetMap
+ contributors” అనే క్రిడిట్ వాడాలి.
attribution_example:
+ alt: వెబ్పేజీలో OpenStreetMap కు శ్రేయస్సును ఎలా ఆపాదించాలో చెప్పే ఉదాహరణ
title: ఆపాదింపు ఉదాహరణ
more_title_html: మరింత తెలుసుకోవడం
+ more_1_html: |-
+ మా డేటాను ఎలా వాడుకోవచ్చో, మాకు శ్రేయస్సును ఎలా ఆపాదించాలో <a
+ href="https://osmfoundation.org/Licence">OSMF Licence page</a> లో మరింత చదవొచ్చు.
+ more_2_html: "OpenStreetMap అందరికీ లభించే డేటా అయినప్పటికీ, థర్డు పార్టీలకు
+ మ్యాపు API లను ఉచితంగా ఇవ్వం.\nమా <a href=\"https://operations.osmfoundation.org/policies/api/\">API
+ Usage Policy</a>,\n<a href=\"https://operations.osmfoundation.org/policies/tiles/\">Tile
+ Usage Policy</a>, \n<a href=\"https://operations.osmfoundation.org/policies/nominatim/\">Nominatim
+ Usage Policy</a> లను చూడండి."
+ contributors_title_html: మా కాంట్రిబ్యూటర్లు
infringement_title_html: కాపీహక్కుల ఉల్లంఘన
trademarks_title_html: <span id="trademarks"></span>ట్రేడుమార్కులు
index:
shortlink: చిన్నలింకు
edit:
user_page_link: వాడుకరి పేజీ
+ anon_edits_html: (%{link})
+ anon_edits_link_text: ఇది ఇలా ఎందుకుందో తెలుసుకోండి.
+ no_iframe_support: మీ బ్రౌజరులో HTML iframes కు మద్దతు లేదు. ఈ అంశం పనిచేసేందుకు
+ అది అవసరం.
export:
title: ఎగుమతి
+ area_to_export: ఎగిమతి చెయ్యాల్సిన ప్రాంతం
+ manually_select: వేరే ప్రాంతాన్ని మానవికంగా ఎంచుకోండి
+ format_to_export: ఎగిమతి చెయ్యాల్సిన ఆకృతి
+ osm_xml_data: OpenStreetMap XML డేటా
+ map_image: మ్యాపు బొమ్మ (ప్రామాణిక పొరను చూపిస్తుంది)
embeddable_html: ఇముడ్చగలిగే HTML
licence: లైసెన్సు
+ export_details_html: OpenStreetMap డేటా <a href="https://opendatacommons.org/licenses/odbl/1.0/">Open
+ Data Commons Open Database License</a> (ODbL) కు లోబడి ఉంటుంది.
too_large:
+ advice: 'పై ఎగుమతి విఫలమైతే, కింది జాబితా లోంచి ఒక మూలాన్ని వాడండి:'
+ body: ఈ ప్రాంతాన్ని OpenStreetMap XML డేటాగా ఎగుమతి చెయ్యగలిగిన దాని కంటే
+ పెద్దదిగా ఉంది. జూమిన్ చెయ్యండి, లేదా మరింత చిన్న ప్రాంతాన్ని ఎంచుకోండి,
+ లేదా కింద ఉన్న, టోకున దించుకునేందుకు వీలైన మూలాల జాబితా నుండి ఒకదాన్ని వాడండి.
+ planet:
+ title: Planet OSM
+ description: ఎప్పటికప్పుడూ తాజాకరిస్తూ ఉన్న OpenStreetMap సంపూర్ణ డేటాబేసుకు
+ చెందిన కాపీలు
+ overpass:
+ title: Overpass API
other:
title: ఇతర మూలాలు
+ description: Additional sources listed on the OpenStreetMap వికీలోని జాబితాలో
+ ఉన్న అదనపు మూలాలు
options: ఎంపికలు
format: ఫార్మాటు
scale: కొలబద్ద
max: గరిష్టం
image_size: బొమ్మ పరిమాణం
zoom: పెద్దది
+ add_marker: మ్యాపుకు ఒక మార్కరును చేర్చండి
latitude: 'అక్షాం:'
longitude: 'రేఖాం:'
+ output: ఔట్పుట్
+ paste_html: వెబ్సైటులో ఇమిడ్చే HTML ను అతికించండి
+ export_button: ఎగుమతించు
fixthemap:
+ title: సమస్యను నివేదించండి / మ్యాపును సరిచెయ్యండి
how_to_help:
title: ఎలా తోడ్పడాలి
+ join_the_community:
+ title: సముదాయంలో చేరండి
+ explanation_html: మా మ్యాపు డేటాలో మీకేదైనా సమస్య కనిపిస్తే - ఉదాహరణకు మీ
+ అడ్రసు లేకపోవడమో, ఏదైనా రోడ్డు లేకపోవడమో లాంటివి - OpenStreetMap సముదాయంలో
+ చేరి ఆ డేటాను మీరే బాగుచెయ్యడమో లేదా అవసరమైన చేర్పులు చెయ్యడమో ఉత్తమమైన
+ పద్ధతి.
+ other_concerns:
+ title: ఇతర ఆందోళనలు
+ explanation_html: "మా డేటాను ఎలా వినియోగిస్తున్నారో నన్న ఆందోళనలు మీకు ఉంటే,
+ మరింత చట్టపరమైన సమాచారాన్ని ఇచ్చే మా \n<a href='/copyright'>కాపీహక్కు పేజీని</a>
+ చూడండి. లేదా సరైన\n<a href='https://wiki.osmfoundation.org/wiki/Working_Groups'>OSMF
+ కార్య సమూహాన్ని</a> సంప్రదించండి."
help:
title: సహాయం పొందడం
welcome:
+ url: /welcome
title: ఓపెన్స్ట్రీట్మ్యాప్కి స్వాగతం
+ description: OpenStreetMap ప్రాథమికాంశాలను వివరించే ఈ సత్వర మార్గదర్శినితో
+ మొదలు పెట్టండి.
+ beginners_guide:
+ url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
+ title: కొత్తవారికి మార్గదర్శిని
+ description: కొత్తవారి కోసం సముదాయం నిర్వహించే మార్గదర్శిని.
+ help:
+ url: https://help.openstreetmap.org/
+ title: సహాయ వేదిక
+ description: OpenStreetMap వారి ప్రశ్న-జవాబుల సైట్లో మీ ప్రశ్నలు అడగండి, లేదా
+ సమాధానాల కోసం చూడండి.
+ mailing_lists:
+ title: మెయిలింగు జాబితాలు
+ forums:
+ title: వేదికలు
+ description: బులెటిన్ బోర్డు శైలిలో ఉండే ఇంటేర్ఫేసును ఇష్టపడేవారి కోసం ప్రశ్నలు
+ చర్చలూ.
+ irc:
+ title: IRC
+ description: అనేక అంశాలపై అనేక భాషల్లో ఉన్న పరస్పర సంభాషణలు.
+ switch2osm:
+ title: switch2osm
+ description: OpenStreetMap ఆధారిత మ్యాపులు, ఇతర సేవలకు మారిపోయే సంస్థల కోసం.
+ welcomemat:
+ url: https://welcome.openstreetmap.org/
+ title: సంస్థల కోసం
+ description: OpenStreetMap వాడేందుకు ఆలోచిస్తున్న సంస్థలో పనిచేస్తున్నారా?
+ స్వాగత ద్వారం వద్ద మీరు తెలుసుకోవాల్సినవి ఏమిటో తెలుసుకోండి.
+ wiki:
+ url: https://wiki.openstreetmap.org/
+ title: OpenStreetMap వికీ
+ description: లోతైన OpenStreetMap డాక్యుమెంటేషను కోసం వికీలో శోధించండి
+ potlatch:
+ desktop_html: మీరు <a href="https://www.systemed.net/potlatch/">మాక్, విండోస్
+ ల్లో పనిచేసే డెస్క్టాప్ అనువర్తనాన్ని దించుకుని</a> Potlatch వాడుకోవచ్చు.
+ id_html: లేదా, మీ డీఫాల్టు ఎడిటరుగా iD ను పెట్టుకోవచ్చు. గతంలో Potlatch పనిచేసిన
+ విధం గానే ఇది కూడా బ్రౌజరులో పనిచేస్తుంది. <a href="%{settings_url}">మీ అభీష్టాలను
+ ఇక్కడ మార్చుకోండి</a>.
sidebar:
search_results: అన్వేషణ ఫలితాలు
close: మూసివేయి
search:
search: వెతుకు
+ get_directions: మార్గసూచనలను పొందండి
+ get_directions_title: రెండూ బిందువుల మధ్య మార్గసూచనలను తెలుసుకోండి
+ from: నుండి
+ to: కు
where_am_i: ఇది ఎక్కడ ఉంది?
+ where_am_i_title: సెర్చి ఇంజను వాడీ ప్రస్తుత స్థానాన్ని వివరించండి
submit_text: వెళ్ళు
+ reverse_directions_text: మార్గసూచనలను తిరగవెయ్యి
key:
table:
entry:
+ motorway: మోటార్వే
+ main_road: మెయిన్ రోడ్డు
+ trunk: ట్రంకు రోడ్డు
primary: ప్రధాన రహదారి
secondary: ద్వితీయ శ్రేణి రహదారి
+ unclassified: వర్గీకరించని రోడ్డు
+ track: ట్రాకు
+ cycleway: సైకిలు దారి
+ cycleway_national: జాతీయ సైకిలు దారి
+ cycleway_regional: ప్రాంతీయ సైకిలు దారి
+ cycleway_local: స్థానిక సైకిలు దారి
footway: కాల్దారి
+ rail: రైలుమార్గం
subway: కిందారి
+ tram:
+ - లైట్ రైల్
+ - ట్రాము
+ cable:
+ - కేబుల్ కారు
+ - చెయిర్ లిఫ్ట్
+ runway:
+ - విమానాశ్రయం రన్వే
+ - టాక్సీ వే
+ apron:
+ - విమానాశ్రయం ఏప్రాన్
+ - టర్మినల్
admin: పరిపాలనా సరిహద్దు
forest: అడవి
wood: కలప
+ golf: గోల్ఫ్ కోర్సు
park: పార్కు
resident: నివాస ప్రాంతం
common:
- పచ్చికబయలు
- పచ్చికబయలు
+ retail: రిటెయిల్ ప్రదేశం
industrial: పారిశ్రామిక ప్రదేశం
commercial: వాణిజ్య ప్రదేశం
lake:
- సరస్సు
- జలాశయం
farm: పొలాలు
+ brownfield: బ్రౌన్ఫీల్డ్ స్థలం
cemetery: స్మశానం
+ pitch: క్రీడల పిచ్
+ centre: క్రీడా కేంద్రం
+ reserve: ప్రకృతి సంరక్షణ కేంద్రం
military: మిలిటరీ ప్రదేశం
school:
- పాఠశాల
- విశ్వవిద్యాలయం
building: ప్రముఖ కట్టడము
station: రైల్వే స్టేషన్
+ summit:
+ 1: శిఖరం
+ bridge: Black casing = వంతెన
construction: నిర్మాణంలో ఉన్న రహదార్లు
+ bicycle_shop: సైకిలు దుకాణం
+ bicycle_parking: సైకిలు పార్కింగు
toilets: మరుగుదొడ్లు
welcome:
title: స్వాగతం!
whats_on_the_map:
- title: పటంలో ఏముంది
+ title: పటంలో ఏముంటాయి
+ basic_terms:
+ title: మ్యాపులకు సంబంధించిన ప్రాథమిక పదాలు
+ paragraph_1_html: OpenStreetMap కు స్వంత పరిభాష ఉంది. మీకు పనికొచ్చే కొన్ని
+ కీలకమైన పదాలు ఇక్కడున్నాయి చూడండి.
+ editor_html: <strong>ఎడిటరు</strong> అంటే మ్యాపును సవరించే ప్రోగ్రాము లేదా
+ వెబ్సైటు.
+ node_html: 'A <strong>బుడిపె</strong> అంటే మ్యాపులో ఉండే ఒక బిందువు. ఉదా:
+ ఒక రెస్టారెంటు, చెట్టు మొదలైనవి'
+ way_html: 'A <strong>దారి</strong> అనేది ఒక గీత గానీ, ప్రదేశం గానీ. ఉదా: రోడ్డు,
+ వాగు, చెరువు, భవనం.'
+ tag_html: <strong>ట్యాగు</strong> అనేది బుడిపె లేదా దారికి సంబంధించిన డేటా
+ ఐటము. ఉదాహరణకు రెస్టారెంటుకు పేరు, రోడ్డుకు వేగ పరిమితి.
rules:
title: నియమాలు!
questions:
title: సందేహాలున్నాయా?
+ start_mapping: మ్యాపింగు మొదలుపెట్టండి
add_a_note:
title: సరిదిద్దేంత సమయం లేదా? ఒక గమనికను చేర్చండి!
+ paragraph_1_html: ఏదో చిన్న మార్పు చెయ్యాల్సిన అవసరాన్ని మీరు గమనించారనుకోండి.
+ కానీ ఇక్కడ నమోదు చేసుకుని, దిద్దుబాట్లు ఎలా చెయ్యాలో నేర్చుకుని పనిచేసేందుకు
+ తగినంత సమయం లేదు. అలాంటపుడు ఒక గమనిక చేరిస్తే సరిపోతుంది.
traces:
+ visibility:
+ private: ప్రైవేటు (అజ్ఞాత పేరిట మాత్రమే కనిపిస్తుంది, ఆర్డరు చేయని పాయింట్లతో)
+ public: బహిరంగం (అనుసరణ జాబితాలో అజ్ఞాతగా చూపిస్తుంది, ఆర్డరు చేయని పాయింట్లతో)
+ trackable: ట్రాకబుల్ (అజ్ఞాత పేరిట మాత్రమే కనిపిస్తుంది, ఆర్డరు చేసిన పాయింట్లు,
+ టైమ్స్టాంపులతో)
+ identifiable: ఐడెంటిఫయబుల్ (ట్రేస్ జాబితాలో ఐడెంటిఫయబుల్ అని చూపిస్తుంది, ఆర్డరు
+ చేసిన పాయింట్లు, టైమ్స్టాంపులతో)
new:
+ upload_trace: GPS ట్రేస్ను ఎక్కించండి
visibility_help: దీని అర్థమేమిటి?
+ visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
help: సహాయం
+ help_url: https://wiki.openstreetmap.org/wiki/Upload
+ create:
+ upload_trace: GPS ట్రేస్ను ఎక్కించండి
+ trace_uploaded: మీ GPX ఫైలును ఎక్కించాం. డేటాబేసులో చేర్చేందుకోసం వేచి ఉంది.
+ సాధారణంగా దీనికి ఒక అరగంట పడుతుంది. పూర్తవగానే మీకు ఈమెయిలు వస్తుంది.
+ upload_failed: సారీ, GPX ఎక్కింపు విఫలమైంది. లోపం గురించి ఒక నిర్వాహకునికి తెలియబరచాం.
+ మళ్ళీ ప్రయత్నించండి
edit:
cancel: రద్దుచేయి
+ title: '%{name} ట్రేసును సవరిస్తున్నారు'
+ heading: '%{name} ట్రేసు సవరణ'
visibility_help: దీని అర్థం ఏమిటి?
+ update:
+ updated: ట్రేసును తాజాకరించారు
+ trace_optionals:
+ tags: ట్యాగులు
show:
+ title: '%{name} ట్రేసు సవరణ'
+ heading: '%{name} ట్రేసు సవరణ'
+ pending: పెండింగు
filename: 'ఫైలుపేరు:'
download: దింపుకోలు
+ uploaded: 'ఎక్కించబడింది:'
points: 'బిందువులు:'
+ start_coordinates: 'ఆరంభ నిర్దేశాంకాలు:'
+ coordinates_html: '%{latitude}; %{longitude}'
+ map: మ్యాపు
edit: మార్చు
owner: 'యజమాని:'
description: 'వివరణ:'
+ tags: 'ట్యాగులు:'
+ none: ఏమీలేవు
+ edit_trace: ఈ ట్రేసును సవరించండి
+ delete_trace: ఈ ట్రేసును తొలగించండి
+ trace_not_found: ట్రేసు కనబడలేదు!
+ visibility: 'దృశ్యత:'
+ confirm_delete: ఈ ట్రేసును తొలగించాలా?
+ trace_paging_nav:
+ showing_page: '%{page} పేజీ'
+ older: పాత ట్రేసులు
+ newer: కొత్త ట్రేసులు
trace:
+ pending: పెండింగు
count_points:
one: 1 బిందువు
other: '%{count} బిందువులు'
more: మరిన్ని
+ trace_details: ట్రేసు వివరాలను చూడండి
+ view_map: మ్యాపు చూడండి
+ edit_map: మ్యాపును సవరించండి
+ public: బహిరంగం
+ identifiable: ఐడెంటిఫయబుల్
+ private: ప్రైవేటు
+ trackable: ట్రాకబుల్
+ index:
+ public_traces: బహిరంగ GPS ట్రేసులు
+ my_traces: నా ట్రేసులు
+ public_traces_from: '%{user} గారి బహిరంగ GPS ట్రేసులు'
+ description: ఇటీవల ఎక్కించిన GPS ట్రేసులను శోధించండి
+ tagged_with: '%{tags} ట్యాగు తగిలించినవి'
+ empty_html: ఇక్కడ అప్పుడే ఏమీ లేవు. <a href='%{upload_link}'>ఓ కొత ట్రేసును
+ ఎక్కించండి</a> లేదా GPS ట్రేసింగు గురించి <a href='https://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki
+ page</a> వద్ద మరింత తెలుసుకోండి.
+ upload_trace: ఓ ట్రేసును ఎక్కించండి
+ all_traces: ట్రేసులన్నీ
+ traces_from: '%{user} గారి బహిరంగ ట్రేసులు'
+ remove_tag_filter: ట్యాగు వడపోతను తీసెయ్యి
+ destroy:
+ scheduled_for_deletion: ఈ ట్రేసు తొలగింపు కోసం వేచి ఉంది
+ make_public:
+ made_public: ట్రేసును బహిరంగ పరచాం
+ offline_warning:
+ message: GPX ఫైలు ఎక్కింపు వ్యవస్థ ప్రస్తుతం అందుబాటులో లేదు
+ offline:
+ heading: GPX స్టోరేజీ ఆఫ్లైను లోకి పోయింది
+ message: ఫైలు స్టోరేజీ, ఎక్కింపు వ్యవస్థ ప్రస్తుతం అందుబాటులో లేదు.
+ georss:
+ title: OpenStreetMap GPS ట్రేసులు
+ description:
+ description_with_count:
+ one: '%{count} బిందువుతో %{user} గారి GPX ఫైలు'
+ other: '%{count} బిందువులతో %{user} గారి GPX ఫైలు'
+ description_without_count: '%{user} గారి GPX ఫైలు'
+ application:
+ permission_denied: ఈ చర్య చేసేందుకు మీకు అనుమతి లేదు
+ require_cookies:
+ cookies_needed: మీ కూకీలను అచేతనం చేసినట్లున్నారు - ముందు మీ బ్రౌజరులో కూకీలను
+ చేతనం చేసుకుని, ఆపై ముందుకు సాగండి.
+ require_admin:
+ not_an_admin: ఆ పని చెయ్యాలంటే మీరు నిర్వాహకులై ఉండాలి.
+ setup_user_auth:
+ blocked_zero_hour: OpenStreetMap వెబ్సైట్లో మీకు ఒక అర్జెంటు సందేశం ఉంది. మీ
+ దిద్దుబాట్లను భద్రపరచాలంటే, ముందు మీరు ఆ సందేశాన్ని చదవాల్సి ఉంటుంది.
+ blocked: మీరు API ని అందుకోకుండా నిరోధించాం. వెబ్ ఇంటర్ఫేసు లోకి లాగినై, దాని
+ గురించి మరింత తెలుసుకోండి.
+ need_to_see_terms: మీరు API ని అందుకోకుండా తాత్కాలికంగా సస్పెండు చేసారు. వెబ్
+ ఇంటర్ఫేసు లోకి లాగినై, కాంట్రిబ్యూటరు నిబంధనల గురించి తెలుసుకోండి. వాటిని
+ మీరు ఒప్పుకోవాల్సిన అవసరం లేదు, కానీ వాటిని చూసి తీరాలి.
+ settings_menu:
+ account_settings: ఖాతా అమరికలు
+ oauth1_settings: OAuth 1 అమరికలు
+ oauth2_applications: OAuth 2 అనువర్తనాలు
+ oauth2_authorizations: OAuth 2 ఆథరైజేషన్లు
+ oauth:
+ authorize:
+ title: మీ ఖాతాను అందుకునేందుకు ఆథరైజు చెయ్యండి
+ allow_read_prefs: మీ వాడుకరి అభీష్టాలను చదవడం.
+ allow_write_prefs: మీ వాడుకరి అభీష్టాలను మార్చుకోవడం.
+ allow_write_diary: డైరీ ఎంట్రీలు, వ్యాఖ్యలు సృష్టించడం, మిత్రులను చేసుకోవడం.
+ allow_write_api: మ్యాపును సవరించడం.
+ allow_read_gpx: మీ ప్రైవేటు GPS ట్రేసులను చదవడం.
+ allow_write_gpx: GPS ట్రేసులను ఎక్కించడం.
+ allow_write_notes: గమనికలను సవరించడం.
+ authorize_success:
+ title: ఆథరైజేషను అభ్యర్థనను అనుమతించాం
+ scopes:
+ read_prefs: వాడుకరి అభీష్టాలను చదువు
+ write_prefs: వాడుకరి అభీష్టాలను మార్చు
+ write_diary: డైరీ ఎంట్రీలు, వ్యాఖ్యలు సృష్టించండి, మిత్రులను చేసుకోండి
+ write_api: మ్యాపు సవరించండి
+ read_gpx: ప్రైవేటు GPS ట్రేసులను చదవండి
+ write_gpx: GPS ట్రేసులను ఎక్కించండి
oauth_clients:
show:
edit: వివరాలను మార్చు
confirm: నిశ్చయంగానే ఉన్నారా?
index:
application: ఉపకరణపు పేరు
+ oauth2_applications:
+ index:
+ new: కొత్త అనువర్తనాన్ని నమోదు చెయ్యండి
+ name: పేరు
+ permissions: అనుమతులు
+ application:
+ edit: మార్చు
+ delete: తొలగించు
+ confirm_delete: ఈ అనువర్తనాన్ని తొలగించాలా?
+ new:
+ title: కొత్త అనువర్తనాన్ని నమోదు చెయ్యి
users:
new:
title: నమోదవ్వండి
heading: '%{user} వాడుకరి లేనే లేరు'
show:
my diary: నా డైరీ
+ new diary entry: కొత్త డైరీ పద్దు
my edits: నా మార్పులు
+ my traces: నా ట్రేసులు
my notes: నా గమనికలు
my messages: నా సందేశాలు
my profile: నా ప్రొఫైలు
my settings: నా అమరికలు
my comments: నా వ్యాఖ్యలు
+ my_preferences: నా అభీష్టాలు
+ my_dashboard: నా డ్యాష్బోర్డు
blocks on me: నా మీద నిరోధాలు
blocks by me: నా నిరోధాలు
+ edit_profile: ప్రొఫైలును సవరించండి
send message: సందేశాన్ని పంపించు
diary: డైరీ
edits: మార్పులు
+ traces: ట్రేసులు
notes: పటపు గమనికలు
remove as friend: స్నేహితునిగా తొలగించు
add as friend: స్నేహితునిగా చేర్చు
+ mapper since: 'ఇప్పటినుండి మ్యాపరు:'
+ ct status: 'తోడ్పాటు నియమాలు:'
ct undecided: నిర్ణయించుకోలేదు
ct declined: తిరస్కరించారు
latest edit: 'చివరి మార్పు (%{ago}):'
email address: 'ఈమెయిలు చిరునామా:'
status: 'స్థితి:'
+ spam score: 'స్పామ్ స్కోరు:'
description: వివరణ
user location: వాడుకరి ప్రాంతం
role:
administrator: ఈ వాడుకరి ఒక నిర్వాహకులు
+ moderator: ఈ వాడుకరి ఒక మోడరేటరు
+ grant:
+ administrator: నిర్వాహక హోదాను ఇవ్వండి
+ moderator: నిర్వాహక హోదాను ఇవ్వండి
+ revoke:
+ administrator: నిర్వాహక హోదాను తీసెయ్యండి
+ moderator: నిర్వాహక హోదాను తీసెయ్యండి
+ block_history: క్రియాశీల నిరోధాలు
comments: వ్యాఖ్యలు
create_block: ఈ వాడుకరిని నిరోధించు
+ activate_user: ఈ వాడుకరిని చేతనం చెయ్యి
+ deactivate_user: ఈ వాడుకరిని అచేతనం చెయ్యి
+ confirm_user: ఈ వాడుకరిని ధ్రువీకరించు
+ unconfirm_user: ఈ వాడుకరి ధ్రువీకరణను రద్దుచెయ్యి
+ unsuspend_user: ఈ వాడుకరి సస్పెన్షన్ను రద్దుచెయ్యి
+ hide_user: ఈ వాడుకరిని దాచు
+ unhide_user: ఈ వాడుకరిని చూపు
delete_user: ఈ వాడుకరిని తొలగించు
confirm: నిర్ధారించు
+ report: ఈ వాడుకరిపై ఫిర్యాదు చెయ్యి
+ set_home:
+ flash success: ఇంటీ స్థానాన్ని జయప్రదం భద్రపరచాం
go_public:
flash success: ఇప్పుడు మీ మార్పుచేర్పులన్నీ బహిరంగం, మీరు ఇక నుండి దిద్దుబాట్లు
చేయవచ్చు.
index:
title: వాడుకరులు
heading: వాడుకరులు
+ showing:
+ one: పేజీ %{page} (%{items} లో %{first_item})
+ other: పేజీ %{page} (%{items} లో %{first_item}-%{last_item})
+ summary_html: '%{name}, %{date} న %{ip_address} నుండి సృష్టించారు'
+ summary_no_ip_html: '%{name} %{date} న సృష్టించారు'
+ confirm: ఎంచుకున్న వాడూకరులను ధ్రువీకరించు
+ hide: ఎంచుకున్న వాడుకరులను దాచు
+ empty: సరిపోలే వాడుకరులు కనబడలేదు
+ suspended:
+ title: ఖాతాను సస్పెండు చేసారు
+ heading: సస్పెండు చేసిన ఖాతా
+ support: సహాయం
+ body_html: "<p>\n సారీ, అనుమానాస్పద కార్యకలాపాల కారణంగా మీ ఖాతాను \n ఆటోమాటిగ్గా
+ సస్పెండు చేసారు.\n</p>\n<p>\n త్వరలోనే నిర్వాహకులు ఈ నిర్ణయాన్ని సమీక్షిస్తారు,
+ లేదా\n మీరు దీనిపై చర్చించాలనుకుంటే %{webmaster} ను సంప్రదించవచ్చు.\n</p>"
+ auth_failure:
+ connection_failed: ఆథెంటికేషను చేసేవారితో కనెక్టవడం విఫలమైంది
+ invalid_credentials: చెల్లని ఆథెంటికేషను వివరాలు
+ no_authorization_code: ఆథెంటికేషను కోడేమీ లేదు
+ unknown_signature_algorithm: తెలియని సంతకం అల్గారిథమ్
+ unknown_error: ఆథెంటికేషను విఫలమైంది
+ auth_association:
+ heading: మీ ID ఇంకా ఏ OpenStreetMap ఖాతాకూ అనుబంధించి లేదు.
+ option_1: మీరు OpenStreetMap కు కొత్తైతే, కింది ఫారమును వాడి కొత్త ఖాతాను సృష్టించుకోండి.
+ option_2: మీకి ఈసరికే ఖాతా ఉంటే, మీ వాడుకరిపేరు, సంకేతపదాలను వాడి దాన్లోకి లాగినవండి.
+ ఆ తరువాత ఆ ఖాతాను మీ ID తో అనుబంధించండి.
user_role:
+ filter:
+ not_a_role: '`%{role}'' అనేది సరైన పాత్ర కాదు.'
+ already_has_role: ఈ వాడూకరికి ఈసరికే %{role} అనే పాత్ర ఉంది.
+ doesnt_have_role: ఈ వాడుకరికి %{role} అనే పాత్ర లేదు.
+ not_revoke_admin_current_user: ప్రస్తుత వాడుకరి నుండి నిర్వాహక హోదాను తీసెయ్యడం
+ విఫలమైంది.
grant:
+ title: పాత్ర అనుమతిని నిర్థారించండి
+ heading: పాత్ర అనుమతి నిర్థారణ
+ are_you_sure: వాడుకరి `%{name}' కి `%{role}' పాత్ర ఇవ్వాలని మీరు నిశ్చయించుకున్నారా?
confirm: నిర్ధారించు
+ fail: వాడుకరి `%{name}' కు `%{role}' పాత్రను ఇవ్వలేకపోయాం. వాడుకరి, పాత్ర రెండూ
+ సరైనవేనని నిర్థారించుకోండి.
revoke:
+ title: పాత్ర ఉపసంహరణను నిర్థారించండి
+ heading: పాత్ర ఉపసంహరణ నిర్థారణ
+ are_you_sure: వాడుకరి `%{name}' నుండి `%{role}' ను ఉపసంహరించాలని మీరు నిశ్చయించుకున్నారా?
confirm: నిర్ధారించు
+ fail: వాడుకరి `%{name}' నుండి `%{role}' ను ఉపసంహరించలేఖ పోయాం. వాడుకరి, పాత్ర
+ రెండూ సరైనవేనని నిర్థారించుకోండి.
user_blocks:
+ model:
+ non_moderator_update: నిరోధాన్ని విధించాలన్నా, తాజాకరించాలన్నా మోడరేటరై ఉండాలి.
+ non_moderator_revoke: నిరోధాన్ని ఎతివేయాలంటే మోడరేటరై ఉండాలి.
+ not_found:
+ sorry: సారీ, %{id} ID తో వాడుకరి నిరోధమేదీ కనబడలేదు.
+ back: తిరిగి ఇండెక్సుకు
new:
+ title: '%{name} పై నిరోధం విధిస్తున్నాం'
+ heading_html: '%{name} పై నిరోధం విధిస్తున్నాం'
+ period: ఇప్పుడు మొదలుపెట్టి, ఎంత కాలం పాటు వాడుకరి API వాడకుండా నిరోధంలో ఉంటారు.
+ tried_contacting: నేను వాడుకరిని సంప్రదించి, ఆపమని చెప్పాను.
+ tried_waiting: ఈ సంప్రదింపులకు స్పందించేందుకు గాను ఈ వాడుకరికి తగినంత సమయం ఇచ్చాను.
back: అన్ని నిరోధాలను చూడండి
edit:
+ title: '%{name} పై ఉన్న నిరోధాన్ని సవరిస్తున్నారు'
+ heading_html: '%{name} పై ఉన్న నిరోధాన్ని సవరిస్తున్నారు'
+ period: ఇప్పుడు మొదలుపెట్టి, ఎంత కాలం పాటు వాడుకరి API వాడకుండా నిరోధంలో ఉంటారు.
show: ఈ నిరోధాన్ని చూడండి
+ back: అన్ని నిరోధాలను చూడండి
+ filter:
+ block_expired: నిరోధం ఈసరికే ముగిసిపోయింది. దాన్ని సవరించలేరు.
+ block_period: నిరోధ కాలం డ్రాప్ డౌన్ జాబితా లోంచి ఎంచుకునే విలువల్లో ఒకటై ఉండాలి.
+ create:
+ try_contacting: నిరోధం విధించే ముందు, వారిని సంప్రదించి, ప్రతిస్పందించేందుకు
+ వారికి తగినంత సమయం ఇవ్వండి.
+ try_waiting: నిరోధం విధించే ముందు, ప్రతిస్పందించేందుకు వారికి తగినంత సమయం ఇవ్వండి.
+ flash: వాడుకరి %{name} పై నిరోధం సృష్టించారు.
+ update:
+ only_creator_can_edit: నిరోధాన్ని సృష్టించిన మోడరేటరే దాన్ని సవరించగలరు.
+ success: నిరోధాన్ని తాజాకరించారు.
index:
title: వాడుకరి నిరోధాలు
heading: వాడుకరి నిరోధాల జాబితా
+ empty: ఇంకా నిరోధాలేమీ విధించలేదు.
revoke:
+ title: '%{block_on} పై ఉన్న నిరోధాన్ని ఎత్తేస్తున్నారు.'
+ heading_html: '%{block_on} పై %{block_by} విధించిన నిరోధాన్ని ఎత్తేస్తున్నారు.'
+ time_future: '%{time} కు నిరోధం ముగుస్తుంది.'
+ past: '%{time} కు నిరోధం ముగిసిపోయింది. ఇప్పుడు దాన్ని ఎత్తివేయలేరు.'
confirm: మీరు నిజంగానే ఈ నిరోధాన్ని ఎత్తివేయాలనుకుంటున్నారా?
+ revoke: ఎత్తివేయండి!
+ flash: నిరోధాన్ని ఎత్తివేసారు.
helper:
time_future_html: '%{time}లో ముగుస్తుంది.'
+ until_login: వాడుకరి లాగిన్ అయ్యేదాకా చేతనంగా ఉంటుంది.
+ time_future_and_until_login_html: '%{time} కు, వాడుకరి లాగిన్ అయ్యాక ముగుస్తుంది.'
time_past_html: '%{time} క్రితం ముగిసింది.'
block_duration:
hours:
one: 1 గంట
other: '%{count} గంటలు'
+ days:
+ one: 1 రోజు
+ other: '%{count} రోజులు'
+ weeks:
+ one: 1 వారం
+ other: '%{count} వారాలు'
+ months:
+ one: 1 నెల
+ other: '%{count} నెలలు'
+ years:
+ one: 1 సంవత్సరం
+ other: '%{count} సంవత్సరాలు'
blocks_on:
title: '%{name} పై నిరోధాలు'
heading_html: '%{name}పై ఉన్న నిరోధాల జాబితా'
+ empty: '%{name} ను ఇంకా నిరోధించలేదు.'
+ blocks_by:
+ title: '%{name} విధించిన నిరోధాలు'
+ heading_html: '%{name} విధించిన నిరోధాల జాబితా'
+ empty: '%{name} ఇంకా నిరోధాలేమీ విధించలేదు.'
show:
- status: స్థితి
+ title: '%{block_on} ను %{block_by} నిరోధించారు'
+ heading_html: '%{block_on} ను %{block_by} నిరోధించారు'
+ created: 'సృష్టించినది:'
+ duration: 'నిడివి:'
+ status: 'స్థితి:'
show: చూపించు
edit: మార్చు
+ revoke: ఎత్తివేయండి!
confirm: నిశ్చయించుకున్నారా?
reason: 'నిరోధానికి కారణం:'
back: అన్ని నిరోధాలను చూడండి
+ revoker: 'ఎత్తివేసేవారు:'
+ needs_view: ఈ నిరోధం తొలగిపోవాలంటే ఈ వాడుకరి లాగినవ్వాలి.
block:
+ not_revoked: (ఎత్తివేయలేదు)
show: చూపించు
edit: మార్చు
+ revoke: ఎత్తివేయండి!
blocks:
+ display_name: నిరోధిత వాడుకరి
+ creator_name: సృష్టికర్త
reason: నిరోధానికి కారణం
status: స్థితి
+ revoker_name: ఎత్తివేసినవారు
+ showing_page: పేజీ %{page}
next: తదుపరి »
previous: « మునుపటి
notes:
index:
+ title: గమనికలు సమర్పించినది లేదా వ్యాఖ్యానించినది %{user}
heading: '%{user} గమనికలు'
+ subheading_html: గమనికలు సమర్పించినది లేదా వ్యాఖ్యానించినది %{user}
+ no_notes: గమనికలేమీ లేవు
+ id: ఐడీ
+ creator: సృష్టికర్త
description: వివరణ
+ created_at: సృష్టించిన తేదీ
last_changed: చివరి మార్పు
javascripts:
close: మూసివేయి
title: పంచుకోండి
cancel: రద్దుచేయి
image: బొమ్మ
+ link: లింకు లేదా HTML
long_link: లంకె
short_link: పొట్టి లంకె
+ geo_uri: Geo URI
+ embed: HTML
+ format: 'ఆకృతి:'
+ scale: 'స్కేలు:'
+ download: దించుకోండి
+ short_url: పొట్టి URL
key:
title: పటం సూచిక
tooltip: పటం సూచిక
map:
+ zoom:
+ in: జూమ్ ఇన్
+ out: జూమ్ ఔట్
locate:
title: నేనున్న ప్రాంతాన్ని చూపించు
+ metersPopup:
+ one: మీరు ఈ బిందువు నుండి ఒక మీటరు దూరం లోపే ఉన్నారు
+ other: మీరు ఈ బిందువు నుండి %{count} మీటర్ల దూరం లోపే ఉన్నారు
+ feetPopup:
+ one: మీరు ఈ బిందువు నుండి ఒక అడుగు దూరం లోపే ఉన్నారు
+ other: మీరు ఈ బిందువు నుండి %{count} అడుగుల దూరం లోపే ఉన్నారు
base:
standard: ప్రామాణికం
+ cyclosm: CyclOSM
+ cycle_map: సైకిలు మ్యాపు
transport_map: రవాణా పటం
+ hot: మానవత్వ
+ opnvkarte: ÖPNVKarte
layers:
+ header: మ్యాపు పొరలు
notes: పటపు గమనికలు
data: పటం భోగట్టా
+ gps: బహిరంగ GPS ట్రేసులు
+ title: పొరలు
copyright: © <a href='%{copyright_url}'>ఓపెన్స్ట్రీట్మాప్ తోడ్పాటుదార్లు</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>విరాళం ఇవ్వండి</a>
+ terms: <a href='%{terms_url}' target='_blank'>వెబ్సైటు, API నియమాలు</a>
+ site:
+ edit_tooltip: మ్యాపును సరిదిద్దు
+ edit_disabled_tooltip: మ్యాపును సరిదిద్దేందుకు జూమిన్ చెయ్యి
+ createnote_tooltip: మ్యాపుకు ఒక గమనికను చేర్చండి
+ createnote_disabled_tooltip: మ్యాపులో ఒక గమనిక చేర్చేందుకు జూమిన్ చెయ్యి
+ map_notes_zoom_in_tooltip: మ్యాపు గమనికలు చూసేందుకు జూమిన్ చెయ్యి
+ map_data_zoom_in_tooltip: మ్యాపు డేటాను చూసేందుకు జూమిన్ చెయ్యి
+ queryfeature_tooltip: క్వెరీ విశేషాలు
+ queryfeature_disabled_tooltip: క్వెరీ చిశేషాల కోసం జూమిన్ చెయ్యండి
changesets:
show:
comment: వ్యాఖ్య
hide_comment: దాచు
unhide_comment: చూపించు
notes:
+ new:
+ intro: పొరపాట్లేమైనా కనిపించాయా? వటిని సరిచేసేందుకు గాను, ఇతర మ్యాపర్లకు కూడా
+ తెలియజేయండి. మార్కరును సరిన స్థానాంలో పెట్టి, సమస్యను వివరిస్తూ ఒక గమనికను
+ రాయండి.
+ advice: మీ గమనిక బహిరంగంగా కనిపిస్తుంది. దాన్ని బట్టి మ్యాపును తాజాకరిస్తారు.
+ అంచేత వ్యక్తిగత సమాచారాన్ని గానీ, కాపీహక్కులున్న మ్యాపుల సమాచారాన్ని గానీ,
+ డైరెక్టరీల లోని సమాచారాన్ని గానీ చేర్చకండి.
+ add: గమనికను చేర్చు
show:
+ anonymous_warning: ఈ గమనికలో అజ్ఞాతలు చేసిన వ్యాఖ్యలు కూడా ఉన్నాయి. వాటిని
+ విడిగా ధ్రువీకరించుకోవాలి.
hide: దాచు
+ resolve: పరిష్కరించు
+ reactivate: పునరుజ్జీవింపజేయి
comment_and_resolve: వ్యాఖ్యానించి పరిష్కరించండి
comment: వ్యాఖ్యానించండి
+ edit_help: మ్యాపును జరిపి, మీరు సరిదిద్దాలనుకున్న స్థలంపై జూమిన్ చేసి, అప్పుడు
+ ఇక్కడ నొక్కండి.
directions:
+ ascend: ఎగుడు
+ engines:
+ fossgis_osrm_bike: సైకిలు (OSRM)
+ fossgis_osrm_car: కారు (OSRM)
+ fossgis_osrm_foot: నడక (OSRM)
+ graphhopper_bicycle: సైకిలు (GraphHopper)
+ graphhopper_car: కారు (GraphHopper)
+ graphhopper_foot: నడక (GraphHopper)
+ descend: దిగుడు
directions: దిశలు
distance: దూరం
+ errors:
+ no_route: ఆ రెండు స్థలాల మధ్య దారి కనబడలేదు.
+ no_place: సారీ - '%{place}' కనబడలేదు.
+ instructions:
+ continue_without_exit: '%{name} పై కొనసాగండి'
+ slight_right_without_exit: '%{name} వైపుగా కొద్దిగా కుడికి'
+ offramp_right: కుడి వైపున ఉన్న ర్యాంపును తీసుకోండి
+ offramp_right_with_exit: కుడి వైపున ఉన్న %{exit} నిష్క్రమణను తీసుకోండి
+ offramp_right_with_exit_name: '%{name} పైకి, %{exit} నిష్క్రమణను తీసుకోండి'
+ offramp_right_with_exit_directions: '%{directions} వైపు వెళ్ళే కుడి పక్క %{exit}
+ నిష్క్రమణను తీసుకోండి'
+ offramp_right_with_exit_name_directions: '%{name} పైకి, %{directions} కు వెళ్ళే
+ కుడి పక్క %{exit} నిష్క్రమణను తీసుకోండి'
+ offramp_right_with_name: '%{name} పైకి, కుడి పక్కనున్న ర్యాంపును తీసుకోండి'
+ offramp_right_with_directions: '%{directions} వైపు వెళ్ళే కుడి పక్క ర్యాంపును
+ తీసుకోండి'
+ offramp_right_with_name_directions: '%{name} పైకి, %{directions} వైపు వెళ్ళే
+ కుడి పక్క ర్యాంపును తీసుకోండి'
+ onramp_right_without_exit: ర్యాంపులో కుడి పక్కకు, %{name} పైకి తిరగండి
+ onramp_right_with_directions: ర్యాంపులో కుడి పక్కకు, %{directions} వైపుగా
+ తిరగండి
+ onramp_right_with_name_directions: ర్యాంపులో కుడి పక్కకు, %{name} పైకి, %{directions}
+ వైపుగా తిరగండి
+ onramp_right_without_directions: కుడి పక్కకు, ర్యాంపు మీదకి తిరగండి
+ onramp_right: కుడి పక్కకు, ర్యాంపు మీదకి తిరగండి
+ endofroad_right_without_exit: రోడ్డు చివరన, కుడి పక్కకు %{name} పైకి తిరగండి
+ merge_right_without_exit: కుడివైపున %{name} తో కలవండి
+ fork_right_without_exit: వై జంక్షను వద్ద కుడి వైపుకు %{name} పైకి తిరగండి
+ turn_right_without_exit: కుడి వైపుకు %{name} పైకి తిరగండి
+ sharp_right_without_exit: బాగా కుడి వైపుకు %{name} పైకి
+ uturn_without_exit: '%{name} వెంట యు-మలుపు'
+ sharp_left_without_exit: బాగా ఎడమ వైపుకు %{name} మీదకు
+ turn_left_without_exit: ఎడమ వైపుకు %{name} మీదకు తిరగండి
+ offramp_left: ఎడమ వైపున ర్యాంపు తీసుకోండి
+ offramp_left_with_exit: ఎడమ వైపున %{exit} నిష్క్రమణ తీసుకోండి
+ offramp_left_with_exit_name: ఎడమ వైపున %{name} పైకి %{exit} నిష్క్రమణ తీసుకోండి
+ offramp_left_with_exit_directions: '%{directions} వైపు వెళ్ళే ఎడమ పక్క %{exit}
+ నిష్క్రమణను తీసుకోండి'
+ offramp_left_with_exit_name_directions: '%{name} పైకి, %{directions} కు వెళ్ళే
+ ఎడమ పక్క %{exit} నిష్క్రమణను తీసుకోండి'
+ offramp_left_with_name: '%{name} పైకి, ఎడమ పక్కనున్న ర్యాంపును తీసుకోండి'
+ offramp_left_with_directions: '%{directions} వైపు వెళ్ళే ఎడమ పక్క ర్యాంపును
+ తీసుకోండి'
+ offramp_left_with_name_directions: '%{name} పైకి, %{directions} వైపు వెళ్ళే
+ ఎడమ పక్క ర్యాంపును తీసుకోండి'
+ onramp_left_without_exit: ర్యాంపులో ఎడమ పక్కకు, %{name} పైకి తిరగండి
+ onramp_left_with_directions: ర్యాంపులో ఎడమ పక్కకు, %{directions} వైపుగా తిరగండి
+ onramp_left_with_name_directions: ర్యాంపులో ఎడమ పక్కకు, %{name} పైకి, %{directions}
+ వైపుగా తిరగండి
+ onramp_left_without_directions: ఎడమ పక్కకు, ర్యాంపు మీదకి తిరగండి
+ onramp_left: ఎడమ పక్కకు, ర్యాంపు మీదకి తిరగండి
+ endofroad_left_without_exit: రోడ్డు చివరన, ఎడమ పక్కకు %{name} పైకి తిరగండి
+ merge_left_without_exit: ఎడమ వైపున %{name} తో కలవండి
+ fork_left_without_exit: వై జంక్షను వద్ద ఎడమ వైపుకు %{name} పైకి తిరగండి
+ slight_left_without_exit: '%{name} వైపుగా కొద్దిగా ఎడమకు'
+ via_point_without_exit: (దారి మధ్య బిందువు)
+ follow_without_exit: '%{name} అనుసరించండి'
+ roundabout_without_exit: చుట్టు మలుపు వద్ద %{name} పైకి నిష్క్రమణ తీసుకోండి
+ leave_roundabout_without_exit: చుట్టు మలుపుని వీడండి - %{name}
+ stay_roundabout_without_exit: చుట్టు మలుపు పైననే ఉండండి - %{name}
+ start_without_exit: '%{name} పైన బయలుదేరండి'
+ destination_without_exit: గమ్యాన్ని చేరుకోండి
+ against_oneway_without_exit: Go against one-way on %{name} పై వన్-వేకి ఎదురుగా
+ వెళ్ళండి
+ end_oneway_without_exit: '%{name} పై వన్-వే చివర'
+ roundabout_with_exit: చుట్టు మలుపు వద్ద %{name} పైకి %{exit} నిష్క్రమణ తీసుకోండి
+ roundabout_with_exit_ordinal: చుట్టు మలుపు వద్ద %{name} పైకి %{exit} నిష్క్రమణ
+ తీసుకోండి
+ exit_roundabout: చుట్టు మలుపును వీడి %{name} పైకి వెళ్ళండి
+ unnamed: పేరులేని రోడ్డు
+ courtesy: దిశాసూచీలు %{link} వారి సౌజన్యంతో
+ exit_counts:
+ first: 1 వ
+ second: 2 వ
+ third: 3 వ
+ fourth: 4 వ
+ fifth: 5 వ
+ sixth: 6 వ
+ seventh: 7 వ
+ eighth: 8 వ
+ ninth: 9 వ
+ tenth: 10 వ
time: సమయం
query:
+ node: బుడిపె
+ way: దారి
relation: సంబంధం
+ nothing_found: విశేషాలేమీ కనబడలేదు
+ error: '%{server} ను సంప్రదించడంలో లోపం: %{error}'
+ timeout: '%{server} ను సంప్రదించడంలో టైమౌట్ అయిపోయింది'
context:
directions_from: ఇక్కడి నుండి దిశలు
directions_to: ఇక్కడికి దిశలు
+ add_note: ఇక్కడొక గమనికను చేర్చండి
show_address: చిరునామా చూపించు
+ query_features: క్వెరీ విశేషాలు
centre_map: ఈచోటును పటానికి కేంద్రం చేయి
redactions:
+ edit:
+ heading: సంస్కరణను సవరించండి
+ title: సంస్కరణను సవరించండి
+ index:
+ empty: చూపించడానికి సంస్కరణలేమీ లేవు
+ heading: సంస్కరణల జాబితా
+ title: సంస్కరణల జాబితా
+ new:
+ heading: కొత్త సంస్కరణ సమాచారాన్ని ఇవ్వండి
+ title: కొత్త సంస్కరణను సృష్టిస్తున్నారు
show:
description: 'వివరణ:'
+ heading: '"%{title}" సంస్కరణను చూపిస్తున్నాం'
+ title: సంస్కరణను చూపిస్తున్నాం
+ user: 'సృష్టికర్త:'
+ edit: ఈ సంస్కరణను సవరించండి
+ destroy: ఈ సంస్కరణను తీసివెయ్యి
+ confirm: అలా అని నిశ్చయించుకున్నారా?
+ create:
+ flash: సంస్కరణను సృష్టించాం.
+ update:
+ flash: మార్పులను భద్రపరచాం.
+ destroy:
+ not_empty: సంస్కరణ ఖాళీగా ఉంది. ఈ సంస్కరణకు సంబంధించిన కూర్పులన్నిటినీ రద్దు
+ చేసి, ఆ తరువాత సంస్కరణను నిర్మూలించండి.
+ flash: సంస్కరణను నిర్మూలించాం.
+ error: ఈ సంస్కరణను నిర్మూలించడంలో లోపం ఎదురైంది.
+ validations:
+ leading_whitespace: ముందు వైట్స్పేసు ఉంది
+ trailing_whitespace: వెనక వైట్స్పేసు ఉంది
+ invalid_characters: చెల్లని కారెక్టర్లు ఉన్నాయి
+ url_characters: (%{characters}) URL కారెక్టర్లు ఉన్నాయి
...
"yes": Місцевість
railway:
abandoned: Занедбані колії
+ buffer_stop: Буферна зупинка
construction: Будівництво колії
disused: Покинута колія
funicular: Фунікулер
platform: Залізнична платформа
preserved: Законсервовані колії
proposed: Запроектовані залізничні колії
+ rail: Колія
spur: Залізнична гілка
station: Залізнична станція
stop: Залізнична зупинка
switch: Стрілка
tram: Трамвайні колії
tram_stop: Трамвайна зупинка
+ turntable: Поворотний стіл
yard: Депо
shop:
agrarian: Аграрний магазин
activate_user: Активувати цього учасника
deactivate_user: Де-активувати цього учасника
confirm_user: Підтвердити цього учасника
+ unconfirm_user: Скасувати підтвердження цього користувача
+ unsuspend_user: Скасувати призупинення цього користувача
hide_user: Приховати цього учасника
unhide_user: Показати цього учасника
delete_user: Вилучити цього учасника
max_number_of_nodes: 50000
# Maximum number of nodes that can be in a way (checked on save)
max_number_of_way_nodes: 2000
+# Maximum number of members that can be in a relation (checked on save)
+max_number_of_relation_members: 32000
# The maximum area you're allowed to request notes from, in square degrees
max_note_request_area: 25
# Zoom level to use for postcode results from the geocoder
csp_enforce: false
# URL for reporting Content-Security-Policy violations
#csp_report_url: ""
-# Storage service to use in production mode
-storage_service: "local"
-# Root URL for storage service
-# storage_url:
+# Storage services to use in production mode
+avatar_storage: "local"
+trace_file_storage: "local"
+trace_image_storage: "local"
+trace_icon_storage: "local"
+# Root URL for storage services
+# avatar_storage_url:
+# trace_image_storage_url:
+# trace_icon_storage_url:
# URL for tile CDN
#tile_cdn_url: ""
# SMTP settings for outbound mail
wikipedia_auth_secret: "dummy"
# Server URL for testing
server_url: "test.host"
+# Storage services for testing
+avatar_storage: "test"
+trace_file_storage: "test"
+trace_image_storage: "test"
+trace_icon_storage: "test"
create_table :oauth_access_grants do |t|
t.references :resource_owner, :null => false, :type => :bigint
- t.references :application, :null => false
+ t.references :application, :null => false, :type => :bigint
t.string :token, :null => false
t.integer :expires_in, :null => false
t.text :redirect_uri, :null => false
create_table :oauth_access_tokens do |t|
t.references :resource_owner, :index => true, :type => :bigint
- t.references :application, :null => false
+ t.references :application, :null => false, :type => :bigint
t.string :token, :null => false
t.string :refresh_token
t.integer :expires_in
class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0]
def change
create_table :active_storage_variant_records do |t|
- t.belongs_to :blob, :null => false, :index => false
+ t.belongs_to :blob, :null => false, :type => :bigint, :index => false
t.string :variation_digest, :null => false
t.index [:blob_id, :variation_digest], :name => "index_active_storage_variant_records_uniqueness", :unique => true
--- /dev/null
+# This migration comes from active_storage (originally 20211119233751)
+class RemoveNotNullOnActiveStorageBlobsChecksum < ActiveRecord::Migration[6.0]
+ def change
+ change_column_null(:active_storage_blobs, :checksum, true)
+ end
+end
CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
---
--- Name: EXTENSION btree_gist; Type: COMMENT; Schema: -; Owner: -
---
-
-COMMENT ON EXTENSION btree_gist IS 'support for indexing common datatypes in GiST';
-
-
--
-- Name: format_enum; Type: TYPE; Schema: public; Owner: -
--
content_type character varying,
metadata text,
byte_size bigint NOT NULL,
- checksum character varying NOT NULL,
+ checksum character varying,
created_at timestamp without time zone NOT NULL,
service_name character varying NOT NULL
);
('20210510083027'),
('20210510083028'),
('20210511104518'),
+('20211216185316'),
('20220201183346'),
('21'),
('22'),
output = StringIO.new
image.export(output)
- output.read
+ output
end
def icon(min_lat, min_lon, max_lat, max_lon)
end
end
- image.gif
+ StringIO.new(image.gif)
end
end
end
end
+ # Raised when a relation has more than the configured number of relation members.
+ # This prevents relations from being too complex and difficult to work with
+ class APITooManyRelationMembersError < APIError
+ def initialize(id, provided, max)
+ super "You tried to add #{provided} members to relation #{id}, however only #{max} are allowed"
+
+ @id = id
+ @provided = provided
+ @max = max
+ end
+
+ attr_reader :id, :provided, :max
+
+ def status
+ :bad_request
+ end
+ end
+
##
# raised when user input couldn't be parsed
class APIBadUserInput < APIError
--- /dev/null
+namespace :traces do
+ desc "Migrate trace files to ActiveStorage"
+ task :migrate_to_storage => :environment do
+ Trace
+ .with_attached_file
+ .where(:file_attachment => { :id => nil })
+ .find_each(&:migrate_to_storage!)
+ end
+end
if [ ! -f config/database.yml ]; then
sudo -u vagrant cp config/example.database.yml config/database.yml
fi
+if [ ! -f config/storage.yml ]; then
+ cp config/example.storage.yml config/storage.yml
+fi
touch config/settings.local.yml
# migrate the database to the latest version
sudo -u vagrant bundle exec rake db:migrate
assert_select "note_area[maximum='#{Settings.max_note_request_area}']", :count => 1
assert_select "tracepoints[per_page='#{Settings.tracepoints_per_page}']", :count => 1
assert_select "changesets[maximum_elements='#{Changeset::MAX_ELEMENTS}']", :count => 1
+ assert_select "relationmembers[maximum='#{Settings.max_number_of_relation_members}']", :count => 1
assert_select "status[database='online']", :count => 1
assert_select "status[api='online']", :count => 1
assert_select "status[gpx='online']", :count => 1
# Now with some other user, which should work since the trace is public
auth_header = basic_authorization_header create(:user).display_name, "test"
get api_trace_data_path(public_trace_file), :headers => auth_header
+ follow_redirect!
+ follow_redirect!
check_trace_data public_trace_file, "848caa72f2f456d1bd6a0fdf228aa1b9"
# And finally we should be able to do it with the owner of the trace
auth_header = basic_authorization_header public_trace_file.user.display_name, "test"
get api_trace_data_path(public_trace_file), :headers => auth_header
+ follow_redirect!
+ follow_redirect!
check_trace_data public_trace_file, "848caa72f2f456d1bd6a0fdf228aa1b9"
end
# First get the data as is
get api_trace_data_path(identifiable_trace_file), :headers => auth_header
- check_trace_data identifiable_trace_file, "c6422a3d8750faae49ed70e7e8a51b93", "application/x-gzip", "gpx.gz"
+ follow_redirect!
+ follow_redirect!
+ check_trace_data identifiable_trace_file, "c6422a3d8750faae49ed70e7e8a51b93", "application/gzip", "gpx.gz"
# Now ask explicitly for XML format
get api_trace_data_path(identifiable_trace_file, :format => "xml"), :headers => auth_header
# And finally we should be able to do it with the owner of the trace
auth_header = basic_authorization_header anon_trace_file.user.display_name, "test"
get api_trace_data_path(anon_trace_file), :headers => auth_header
+ follow_redirect!
+ follow_redirect!
check_trace_data anon_trace_file, "db4cb5ed2d7d2b627b3b504296c4f701"
end
assert_equal %w[new trace], trace.tags.order(:tag).collect(&:tag)
assert_equal "trackable", trace.visibility
assert_not trace.inserted
- assert_equal File.new(fixture).read, File.new(trace.trace_name).read
+ assert_equal File.new(fixture).read, trace.file.blob.download
trace.destroy
assert_equal "trackable", user.preferences.where(:k => "gps.trace.visibility").first.v
assert_equal %w[new trace], trace.tags.order(:tag).collect(&:tag)
assert_equal "public", trace.visibility
assert_not trace.inserted
- assert_equal File.new(fixture).read, File.new(trace.trace_name).read
+ assert_equal File.new(fixture).read, trace.file.blob.download
trace.destroy
assert_equal "public", user.preferences.where(:k => "gps.trace.visibility").first.v
assert_equal %w[new trace], trace.tags.order(:tag).collect(&:tag)
assert_equal "private", trace.visibility
assert_not trace.inserted
- assert_equal File.new(fixture).read, File.new(trace.trace_name).read
+ assert_equal File.new(fixture).read, trace.file.blob.download
trace.destroy
assert_equal "private", second_user.preferences.where(:k => "gps.trace.visibility").first.v
end
# First with no auth, which should work since the trace is public
get trace_data_path(:display_name => public_trace_file.user.display_name, :id => public_trace_file)
+ follow_redirect!
+ follow_redirect!
check_trace_data public_trace_file, "848caa72f2f456d1bd6a0fdf228aa1b9"
# Now with some other user, which should work since the trace is public
session_for(create(:user))
get trace_data_path(:display_name => public_trace_file.user.display_name, :id => public_trace_file)
+ follow_redirect!
+ follow_redirect!
check_trace_data public_trace_file, "848caa72f2f456d1bd6a0fdf228aa1b9"
# And finally we should be able to do it with the owner of the trace
session_for(public_trace_file.user)
get trace_data_path(:display_name => public_trace_file.user.display_name, :id => public_trace_file)
+ follow_redirect!
+ follow_redirect!
check_trace_data public_trace_file, "848caa72f2f456d1bd6a0fdf228aa1b9"
end
# First get the data as is
get trace_data_path(:display_name => identifiable_trace_file.user.display_name, :id => identifiable_trace_file)
- check_trace_data identifiable_trace_file, "c6422a3d8750faae49ed70e7e8a51b93", "application/x-gzip", "gpx.gz"
+ follow_redirect!
+ follow_redirect!
+ check_trace_data identifiable_trace_file, "c6422a3d8750faae49ed70e7e8a51b93", "application/gzip", "gpx.gz"
# Now ask explicitly for XML format
get trace_data_path(:display_name => identifiable_trace_file.user.display_name, :id => identifiable_trace_file.id, :format => "xml")
# And finally we should be able to do it with the owner of the trace
session_for(anon_trace_file.user)
get trace_data_path(:display_name => anon_trace_file.user.display_name, :id => anon_trace_file)
+ follow_redirect!
+ follow_redirect!
check_trace_data anon_trace_file, "db4cb5ed2d7d2b627b3b504296c4f701"
end
assert_equal %w[new trace], trace.tags.order(:tag).collect(&:tag)
assert_equal "trackable", trace.visibility
assert_not trace.inserted
- assert_equal File.new(fixture).read, File.new(trace.trace_name).read
+ assert_equal File.new(fixture).read, trace.file.blob.download
trace.destroy
assert_equal "trackable", user.preferences.where(:k => "gps.trace.visibility").first.v
end
end
def check_trace_data(trace, digest, content_type = "application/gpx+xml", extension = "gpx")
- assert_response :success
assert_equal digest, Digest::MD5.hexdigest(response.body)
assert_equal content_type, response.media_type
assert_equal "attachment; filename=\"#{trace.id}.#{extension}\"; filename*=UTF-8''#{trace.id}.#{extension}", @response.header["Content-Disposition"]
end
def check_trace_picture(trace)
+ follow_redirect!
+ follow_redirect!
assert_response :success
assert_equal "image/gif", response.media_type
assert_equal trace.large_picture, response.body
end
def check_trace_icon(trace)
+ follow_redirect!
+ follow_redirect!
assert_response :success
assert_equal "image/gif", response.media_type
assert_equal trace.icon_picture, response.body
fixture { nil }
end
- after(:create) do |trace, evaluator|
+ after(:build) do |user, evaluator|
if evaluator.fixture
- FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gpx"),
- File.join(Settings.gpx_trace_dir, "#{trace.id}.gpx"))
- FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gif"),
- File.join(Settings.gpx_image_dir, "#{trace.id}.gif"))
- FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}_icon.gif"),
- File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif"))
+ user.file.attach(Rack::Test::UploadedFile.new(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gpx")))
+
+ if evaluator.inserted
+ user.image.attach(Rack::Test::UploadedFile.new(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gif")))
+ user.icon.attach(Rack::Test::UploadedFile.new(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}_icon.gif")))
+ end
end
end
end
assert_equal 39, changeset.min_lat
assert_equal 116, changeset.max_lat
end
+
+ # Check that the preconditions fail when you are over the defined limit of
+ # the maximum number of members in a relation.
+ def test_max_members_per_relation_limit
+ # Speed up unit test by using a small relation member limit
+ default_limit = Settings.max_number_of_relation_members
+ Settings.max_number_of_relation_members = 20
+
+ user = create(:user)
+ changeset = create(:changeset, :user => user)
+ relation = create(:relation, :changeset => changeset)
+ node = create(:node, :longitude => 116, :latitude => 39)
+ # Create relation which exceeds the relation member limit by one
+ 0.upto(Settings.max_number_of_relation_members) do |i|
+ create(:relation_member, :relation => relation, :member_type => "Node", :member_id => node.id, :sequence_id => i)
+ end
+
+ assert_raise OSM::APITooManyRelationMembersError do
+ relation.create_with_history user
+ end
+
+ Settings.max_number_of_relation_members = default_limit
+ end
end
check_mime_type("a", "application/gpx+xml")
check_mime_type("b", "application/gpx+xml")
check_mime_type("c", "application/x-bzip2")
- check_mime_type("d", "application/x-gzip")
- check_mime_type("f", "application/x-zip")
+ check_mime_type("d", "application/gzip")
+ check_mime_type("f", "application/zip")
check_mime_type("g", "application/x-tar")
- check_mime_type("h", "application/x-gzip")
- check_mime_type("i", "application/x-bzip2")
+ check_mime_type("h", "application/x-tar+gzip")
+ check_mime_type("i", "application/x-tar+x-bzip2")
end
def test_extension_name
def test_large_picture
picture = File.read(Rails.root.join("test/gpx/fixtures/a.gif"), :mode => "rb")
+ trace = create(:trace, :fixture => "a")
- trace = Trace.create
- trace.large_picture = picture
- assert_equal "7c841749e084ee4a5d13f12cd3bef456", md5sum(File.new(trace.large_picture_name))
assert_equal picture, trace.large_picture
-
- trace.destroy
end
def test_icon_picture
picture = File.read(Rails.root.join("test/gpx/fixtures/a_icon.gif"), :mode => "rb")
+ trace = create(:trace, :fixture => "a")
- trace = Trace.create
- trace.icon_picture = picture
- assert_equal "b47baf22ed0e85d77e808694fad0ee27", md5sum(File.new(trace.icon_picture_name))
assert_equal picture, trace.icon_picture
-
- trace.destroy
end
def test_import_removes_previous_tracepoints
end
def test_import_creates_icon
- trace = create(:trace, :fixture => "a")
- icon_path = File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif")
- FileUtils.rm(icon_path)
- assert_not File.exist?(icon_path)
+ trace = create(:trace, :inserted => false, :fixture => "a")
+
+ assert_not trace.icon.attached?
trace.import
- assert_path_exists(icon_path)
+ assert trace.icon.attached?
end
def test_import_creates_large_picture
- trace = create(:trace, :fixture => "a")
- large_picture_path = File.join(Settings.gpx_image_dir, "#{trace.id}.gif")
- FileUtils.rm(large_picture_path)
- assert_not File.exist?(large_picture_path)
+ trace = create(:trace, :inserted => false, :fixture => "a")
+
+ assert_not trace.image.attached?
trace.import
- assert_path_exists(large_picture_path)
+ assert trace.image.attached?
end
def test_import_handles_bz2
- trace = create(:trace, :fixture => "c")
+ trace = create(:trace, :inserted => false, :fixture => "c")
trace.import
end
def test_import_handles_plain
- trace = create(:trace, :fixture => "a")
+ trace = create(:trace, :inserted => false, :fixture => "a")
trace.import
end
def test_import_handles_plain_with_bom
- trace = create(:trace, :fixture => "b")
+ trace = create(:trace, :inserted => false, :fixture => "b")
trace.import
end
def test_import_handles_gz
- trace = create(:trace, :fixture => "d")
+ trace = create(:trace, :inserted => false, :fixture => "d")
trace.import
end
def test_import_handles_zip
- trace = create(:trace, :fixture => "f")
+ trace = create(:trace, :inserted => false, :fixture => "f")
trace.import
end
def test_import_handles_tar
- trace = create(:trace, :fixture => "g")
+ trace = create(:trace, :inserted => false, :fixture => "g")
trace.import
end
def test_import_handles_tar_gz
- trace = create(:trace, :fixture => "h")
+ trace = create(:trace, :inserted => false, :fixture => "h")
trace.import
end
def test_import_handles_tar_bz2
- trace = create(:trace, :fixture => "i")
+ trace = create(:trace, :inserted => false, :fixture => "i")
trace.import
# yarn lockfile v1
-"@eslint/eslintrc@^1.0.5":
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
- integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==
+"@eslint/eslintrc@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3"
+ integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.2.0"
+ espree "^9.3.1"
globals "^13.9.0"
ignore "^4.0.6"
import-fresh "^3.2.1"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-eslint-scope@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153"
- integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==
+eslint-scope@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+ integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
-eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1"
- integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==
+eslint-visitor-keys@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+ integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.0.0:
- version "8.8.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.8.0.tgz#9762b49abad0cb4952539ffdb0a046392e571a2d"
- integrity sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==
+ version "8.9.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb"
+ integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==
dependencies:
- "@eslint/eslintrc" "^1.0.5"
+ "@eslint/eslintrc" "^1.1.0"
"@humanwhocodes/config-array" "^0.9.2"
ajv "^6.10.0"
chalk "^4.0.0"
debug "^4.3.2"
doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.0"
+ eslint-scope "^7.1.1"
eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.2.0"
- espree "^9.3.0"
+ eslint-visitor-keys "^3.3.0"
+ espree "^9.3.1"
esquery "^1.4.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^9.2.0, espree@^9.3.0:
- version "9.3.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8"
- integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==
+espree@^9.3.1:
+ version "9.3.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd"
+ integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==
dependencies:
acorn "^8.7.0"
acorn-jsx "^5.3.1"
- eslint-visitor-keys "^3.1.0"
+ eslint-visitor-keys "^3.3.0"
esquery@^1.4.0:
version "1.4.0"