runs-on: ubuntu-20.04
steps:
- name: Checkout source
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Poke config
run: |
cp config/example.storage.yml config/storage.yml
runs-on: ubuntu-20.04
steps:
- name: Check out code
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Setup ruby
uses: actions/setup-ruby@v1.1.3
with:
runs-on: ubuntu-20.04
steps:
- name: Check out code
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Setup ruby
uses: actions/setup-ruby@v1.1.3
with:
runs-on: ubuntu-20.04
steps:
- name: Check out code
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Setup ruby
uses: actions/setup-ruby@v1.1.3
with:
runs-on: ubuntu-20.04
steps:
- name: Check out code
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Setup ruby
uses: actions/setup-ruby@v1.1.3
with:
OPENSTREETMAP_MEMCACHE_SERVERS: 127.0.0.1
steps:
- name: Checkout source
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3
- name: Setup ruby
uses: actions/setup-ruby@v1.1.3
with:
- 'lib/rich_text.rb'
- 'test/helpers/application_helper_test.rb'
-# Offense count: 26
-# Cop supports --auto-correct.
-Rails/RedundantPresenceValidationOnBelongsTo:
- Enabled: false
-
-# Offense count: 90
-# Cop supports --auto-correct.
-# Configuration parameters: EnforcedStyle.
-# SupportedStyles: strict, flexible
-Rails/TimeZone:
- Enabled: false
-
# Offense count: 6
# Cop supports --auto-correct.
Rake/Desc:
autoprefixer-rails (10.4.2.0)
execjs (~> 2)
aws-eventstream (1.2.0)
- aws-partitions (1.556.0)
- aws-sdk-core (3.126.2)
+ aws-partitions (1.560.0)
+ aws-sdk-core (3.127.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
- aws-sdk-kms (1.54.0)
- aws-sdk-core (~> 3, >= 3.126.0)
+ aws-sdk-kms (1.55.0)
+ aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.112.0)
- aws-sdk-core (~> 3, >= 3.126.0)
+ aws-sdk-s3 (1.113.0)
+ aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.4.0)
image_optim (~> 0.24)
railties
sprockets
- image_processing (1.12.1)
+ image_processing (1.12.2)
mini_magick (>= 4.9.5, < 5)
ruby-vips (>= 2.0.17, < 3)
image_size (3.0.1)
parallel (1.21.0)
parser (3.1.1.0)
ast (~> 2.4.1)
- pg (1.3.2)
+ pg (1.3.3)
popper_js (1.16.0)
progress (3.6.0)
public_suffix (4.0.6)
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>OpenStreetMap</ShortName>
<LongName>OpenStreetMap Search</LongName>
- <Description>Search for a place in OpenStreetMap, the Wiki World Map</Description>
+ <Description>Search for a place in OpenStreetMap</Description>
<InputEncoding>UTF-8</InputEncoding>
<OutputEncoding>UTF-8</OutputEncoding>
- <Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%19tEXtSoftware%00www.inkscape.org%9B%EE%3C%1A%00%00%01'IDATx%9C%9D%93%B1q%C30%0CE%1F%5Dd%80l%90I%C4*%A7%22%95%CF%85J%97%AE%B2%82%3DC%CE%03%A0%B3%9B%B8f%95%A3%17H%93%05%5C%A7%C8%0A%3F%05E%8A%92l%E7.%D0%E9N%02%81%07%E0Cr%FCaf%A6%FC%BC%5E%AF%DD%F4%3C%3Bt%C5%87%99)%84P%0E%DA%B6%BD%0AI%00%A1%A8%A8%1E%263S%D7u%C9'F%FE%9B%80%0C%C9%C9%22%BD'%B0%0A%AC%86%2CJ%DB%0E%22%11%8F%2F%D4%B3%22%8D%F34%CE%13u%06R%0C%40%D7u%AA%01%C5r%40%0Dq%88%C6%F9i%E8%7C%8CX%5D%A9M%95%D6%A3%A2Ti%C3Xx%CA%9C%F5mf3h%11%B6%07%B8%0APh%97%DD%1E%9E%5E%08!%D0%B6m%F1%87%108%1E%8EY5%007%03%5Cv%7B%00%3E%BF%3E%F8~x%1E%CD%B89l%00%F0I%0FWw%00%20%DB%AEJr%B6%E5%FB%09%80%C6y%CE%7D%91%1AP%B6p%2B%D9%BB%06%18V%3A%B5E%9F%AC%5B%95%AFY%3F%EE%20%A2mW%AA%93%DFN%3F%A0%E1%9B%F0u%E5%BC%BC%89%88%BC.%1F%D5'%DF%FD%C1%EE%F8%FFg%BFp%96%DF%E2%DCw%25%2B%00%00%00%00IEND%AEB%60%82</Image>
+ <Image width="32" height="32">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAHXRFWHRUaXRsZQBPcGVuU3RyZWV0TWFwIGxvZ28gMjAxMbBaqq0AAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAACXBIWXMAAAIJAAACCQGIszliAAADAFBMVEVHcEzJ66zM7KnL5Kap3Y3U7LfR7rLd9KrS8K+99bLG6J/P7a3Z8r7O7KrC6aSswcPT77PW78HH46jJ6KfO7K7X8Lqy4ZXK7KrN66vY87vN7Kuu3ZEkMTHC35/W7byswcGzz67O7azA5aHP67mt35G245na88DB5KC41cXN2KLC4KwvLzbA0M7G5b2brJPT5eKarap6iooxPT3D3K6kurlcUz4tLSPwxTSElXs3NSL14qHL06ra8sFpaVaFl4VUXF6UpqWvxLnE2pvb88LN7avE56S546Da88HM6onM6MrM7KrL6qik24m337na8r/V8LfT8LTU5PLZ7trW8bnJ56fQ77Di8uSg1oXQ7LHO6czU7bjI4dPF46LA2Oze8eDS69PP7K3n8+rH5aTJzJzC56LA56vY8bzj8+bQ6s++1era7d7G4sc4Nzq95qjI6KS24KG846fc6fTX5vLG2+jS77LR4vHU5tei2IjV6d8xMTPW2K7N6qzN5M/R5NW60ueIn4Kox4+31b/T0qs8Oz+nvb1AP0JIRUnC5MPM3qXd7eGuz7PK5cqSv4DIxZnQ7bU7PTG60aK/1+W7456915y+2aPK4qvB3aefuo1TWVCSqZus3JFbY1ZygWfQ6r1BQ0fG487N6dHK3u7X7dfK16Gf04O24Jjo7ua13LjB2tGy0rssLC4xMC/OxqCbzoI1NTWtxrzi8OXF56660Mm0yMPB3p6x3pq+1uCFmHfL577I2dV3h2vM56jAvZS/3ce92L3I4M680t3M0J7U5+zN4O/Z27Owy7DB4r4mJymQoJOtzpSjtaHS4rC30cnW5bSxxqCmv43J6LKcs4aXrIjD3cOZtoe1z5qtwrLB4bRIUklob16Qp3y2zNhvbk13hoXb88JPV12it9BXYmrG393i8OuswpqUyoCx2LWeuYe1uo+TxHyXln6vqIbP5dvQ5dyt0ZrZ8MaZw5mcsZet1q/CzbqkrIeyrK2dsbRCRTeyxtJ6iZGnk1dhbHF+dmKBkJ+ppJCUo7fdGvRRAAAASHRSTlMAi9Bd/klPCBAEJb2KHzftZ6ky+aTOt3OfPvPeCtz2/f2XZ+vqk+V7z3DzJvVs4PbJsD9I4uPTtR2HrvHA88Z91PqX+Kn06tFpmiUEAAADw0lEQVQ4y2NQdGEU4GKAAA5GN2kxJXYIh5NV0B1EC3h5eXkzabJzsPHYOOcWlIezuCryMfAKCCqn3bsnCdIlBVJxUCrNzy/tQkHBrFneMRc/Om6+NnN6QZQfD8gIEaB8R4e3f3BfQX5uwdZJl9a/3bBhQ1bFzpaPfqIgBWxe3t7J3iEJ/sEb8wvyt9ZHV9TWlpXV1tRGnzkhB3IPh7e398HkxTEJEREbgfJvOsuyshYF1dbU7G88c4IVZASTt3dITPLihJKAgKlA/Z1ZYUGL4uMzamq6Vp6xAzsioTokJqQ3yduretr6srJFQVlxcWFxcfHd+7oa5WWACtT8/IL9oqoivJO2bN9bFhcWlJ6eGJYVtsB3edfRTfYMDJJ+aWlRaVFHEmJmLZkZnZWeFfa4qLDoUEW7L1BFowMDA08aUIG//5GQpT5rW4oDiwIDA0uBeOE2oIpnK/kZGESDg4MjIoKbtrD4fJCfCJQrBKKihbF184FGABWwB/j7+0dEVE318fmk0LKt9PChQ4dLD8fGxtZl+/r6NvIzsAYAQXXT6SSfWRunfKtbeDgoqKI4MzY2E2SF714TBuYQ79DQ0DXVeSnXU/J/TswsXhSfsWBiJtCG7mPt8VmGDBzCIUkhCR3JeQk7JjX+/ZE50dPTMzLyUXG0p2dGXLq+EQMDNygg1yRVB8/N3/d/3u26bk9PsJqMRWGJiQbAcBIHRnfvbu/d/vtT9z64/7AuGqzAMz4obNkyHW2gAiFgdG9J9oqZe2D/gQcP235viwQrCFq2LH2FHjhpCefleXUkT8suiZh6t611xv2WBUAl8enLsjafUuAEqZCNyYvZkvy5ac/Nf39ab8yZc7dl04ro6J2bZ7ZcfSIEUsDtHZN0fe/iybPntf26s+vW9lsN51/VX3p+8uq5a1NA6YFdbm53dp8XSH5e852Z0642TL8y/XVDT0/PyaNaoBTF9j6yL7hkyuzWttac7/Vfm5qipk6b8KKh5+XTtZM0QDYIRqbmRk2Z3dzauq5/zpd9t/2bqvpOr5m8NhwI1EEKlFNTL0yY0dzcXNl/80pv9YHLAWerzkYtLV8SXu7DB/JlburcCTNymnMq++dc3BNzuSR7f4B/cEr5Eh8fHxZwqi8oODdjXc66Vf27nu/pPQaMuB0r/P0nAbX7+KiAFDDmvrtRua4SKH9+8m5rCaYEoIrsgJRwoLyPGEgBn7iTbeXq46u3N8hKMAN9xSvOHZodGrOURVoVlqc5rUyPm1kYw7jArKTLyMzLgATYzS1lGHABANfVkEkFerrFAAAAAElFTkSuQmCC</Image>
<Url type="text/html" method="get" template="https://www.openstreetmap.org/search">
<Param name="query" value="{searchTerms}"/>
</Url>
<Query role="example" searchTerms="Reigate" />
- <Developer>Jonathan Bennett</Developer>
<AdultContent>false</AdultContent>
- <Attribution>Data &copy; OpenStreetMap contributors, Some Rights Reserved. CC by-sa 2.0. Geolocation provided by npemap.org.uk, geocoder.us, geocoder.ca and geonames.org.</Attribution>
+ <Attribution>&copy; OpenStreetMap contributors. ODbL 1.0. Geocoding provided by nominatim.openstreetmap.org.</Attribution>
</OpenSearchDescription>
times = time.split(",")
raise OSM::APIBadUserInput, "bad time range" if times.size != 2
- from, to = times.collect { |t| Time.parse(t) }
+ from, to = times.collect { |t| Time.parse(t).utc }
changesets.where("closed_at >= ? and created_at <= ?", from, to)
else
# if there is no comma, assume its a lower limit on time
- changesets.where("closed_at >= ?", Time.parse(time))
+ changesets.where("closed_at >= ?", Time.parse(time).utc)
end
# stupid Time seems to throw both of these for bad parsing, so
# we have to catch both and ensure the correct code path is taken.
changesets
else
changesets.where("closed_at >= ? and num_changes <= ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ Time.now.utc, Changeset::MAX_ELEMENTS)
end
end
changesets
else
changesets.where("closed_at < ? or num_changes > ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ Time.now.utc, Changeset::MAX_ELEMENTS)
end
end
# Add any date filter
if params[:from]
begin
- from = Time.parse(params[:from])
+ from = Time.parse(params[:from]).utc
rescue ArgumentError
raise OSM::APIBadUserInput, "Date #{params[:from]} is in a wrong format"
end
begin
to = if params[:to]
- Time.parse(params[:to])
+ Time.parse(params[:to]).utc
else
- Time.now
+ Time.now.utc
end
rescue ArgumentError
raise OSM::APIBadUserInput, "Date #{params[:to]} is in a wrong format"
elsif closed_since.positive?
notes.where(:status => "open")
.or(notes.where(:status => "closed")
- .where(notes.arel_table[:closed_at].gt(Time.now - closed_since.days)))
+ .where(notes.arel_table[:closed_at].gt(Time.now.utc - closed_since.days)))
else
notes.where(:status => "open")
end
:visibility => visibility,
:inserted => false,
:user => current_user,
- :timestamp => Time.now.getutc,
+ :timestamp => Time.now.utc,
:file => file
)
friendship.befriendee = @new_friend
if current_user.is_friends_with?(@new_friend)
flash[:warning] = t "friendships.make_friend.already_a_friend", :name => @new_friend.display_name
- elsif current_user.friendships.where("created_at >= ?", Time.now.getutc - 1.hour).count >= current_user.max_friends_per_hour
+ elsif current_user.friendships.where("created_at >= ?", Time.now.utc - 1.hour).count >= current_user.max_friends_per_hour
flash.now[:error] = t "friendships.make_friend.limit_exceeded"
elsif friendship.save
flash[:notice] = t "friendships.make_friend.success", :name => @new_friend.display_name
@message = Message.new(message_params)
@message.recipient = @user
@message.sender = current_user
- @message.sent_on = Time.now.getutc
+ @message.sent_on = Time.now.utc
- if current_user.sent_messages.where("sent_on >= ?", Time.now.getutc - 1.hour).count >= current_user.max_messages_per_hour
+ if current_user.sent_messages.where("sent_on >= ?", Time.now.utc - 1.hour).count >= current_user.max_messages_per_hour
flash.now[:error] = t ".limit_exceeded"
render :action => "new"
elsif @message.save
:description => params[:trace][:description],
:visibility => params[:trace][:visibility],
:inserted => false, :user => current_user,
- :timestamp => Time.now.getutc)
+ :timestamp => Time.now.utc)
@trace.valid?
@trace.errors.add(:gpx_file, "can't be blank")
:visibility => visibility,
:inserted => false,
:user => current_user,
- :timestamp => Time.now.getutc,
+ :timestamp => Time.now.utc,
:file => file
)
end
def edit
- params[:user_block_period] = ((@user_block.ends_at - Time.now.getutc) / 1.hour).ceil.to_s
+ params[:user_block_period] = ((@user_block.ends_at - Time.now.utc) / 1.hour).ceil.to_s
end
def create
:user => @user,
:creator => current_user,
:reason => params[:user_block][:reason],
- :ends_at => Time.now.getutc + @block_period.hours,
+ :ends_at => Time.now.utc + @block_period.hours,
:needs_view => params[:user_block][:needs_view]
)
flash[:error] = t(".only_creator_can_edit")
redirect_to :action => "edit"
elsif @user_block.update(
- :ends_at => Time.now.getutc + @block_period.hours,
+ :ends_at => Time.now.utc + @block_period.hours,
:reason => params[:user_block][:reason],
:needs_view => params[:user_block][:needs_view]
)
elsif current_user
unless current_user.terms_agreed?
current_user.consider_pd = params[:user][:consider_pd]
- current_user.tou_agreed = Time.now.getutc
- current_user.terms_agreed = Time.now.getutc
+ current_user.tou_agreed = Time.now.utc
+ current_user.terms_agreed = Time.now.utc
current_user.terms_seen = true
flash[:notice] = t "users.new.terms accepted" if current_user.save
current_user.description = "" if current_user.description.nil?
current_user.creation_ip = request.remote_ip
current_user.languages = http_accept_language.user_preferred_languages
- current_user.terms_agreed = Time.now.getutc
- current_user.tou_agreed = Time.now.getutc
+ current_user.terms_agreed = Time.now.utc
+ current_user.tou_agreed = Time.now.utc
current_user.terms_seen = true
if current_user.auth_uid.blank?
end
def changeset_details(changeset)
- if changeset.closed_at > Time.now
+ if changeset.closed_at > Time.now.utc
action = :created
time = time_ago_in_words(changeset.created_at, :scope => :"datetime.distance_in_words_ago")
title = l(changeset.created_at)
if block.active?
# if the block hasn't expired yet show the date, if the user just needs to login show that
if block.needs_view?
- if block.ends_at > Time.now.getutc
+ if block.ends_at > Time.now.utc
t("user_blocks.helper.time_future_and_until_login_html", :time => friendly_date(block.ends_at))
else
t("user_blocks.helper.until_login")
#
class AccessToken < OauthToken
- belongs_to :user
- belongs_to :client_application
+ belongs_to :user, :optional => true
+ belongs_to :client_application, :optional => true
scope :valid, -> { where(:invalidated_at => nil) }
protected
def set_authorized_at
- self.authorized_at = Time.now
+ self.authorized_at = Time.now.utc
end
end
validates :id, :uniqueness => true, :presence => { :on => :update },
:numericality => { :on => :update, :only_integer => true }
- validates :user_id, :presence => true,
- :numericality => { :only_integer => true }
validates :num_changes, :presence => true,
:numericality => { :only_integer => true,
:greater_than_or_equal_to => 0 }
# note that this may not be a hard limit - due to timing changes and
# concurrency it is possible that some changesets may be slightly
# longer than strictly allowed or have slightly more changes in them.
- ((closed_at > Time.now.getutc) && (num_changes <= MAX_ELEMENTS))
+ ((closed_at > Time.now.utc) && (num_changes <= MAX_ELEMENTS))
end
def set_closed_time_now
- self.closed_at = Time.now.getutc if is_open?
+ self.closed_at = Time.now.utc if is_open?
end
def self.from_xml(xml, create: false)
def self.from_xml_node(pt, create: false)
cs = Changeset.new
if create
- cs.created_at = Time.now.getutc
+ cs.created_at = Time.now.utc
# initial close time is 1h ahead, but will be increased on each
# modification.
cs.closed_at = cs.created_at + IDLE_TIMEOUT
self.closed_at = if (closed_at - created_at) > (MAX_TIME_OPEN - IDLE_TIMEOUT)
created_at + MAX_TIME_OPEN
else
- Time.now.getutc + IDLE_TIMEOUT
+ Time.now.utc + IDLE_TIMEOUT
end
end
end
validates :id, :uniqueness => true, :presence => { :on => :update },
:numericality => { :on => :update, :only_integer => true }
- validates :changeset, :presence => true, :associated => true
- validates :author, :presence => true, :associated => true
+ validates :changeset, :associated => true
+ validates :author, :associated => true
validates :visible, :inclusion => [true, false]
validates :body, :characters => true
belongs_to :changeset
- validates :changeset, :presence => true, :associated => true
+ validates :changeset, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => :changeset_id }
end
#
class ClientApplication < ApplicationRecord
- belongs_to :user
+ belongs_to :user, :optional => true
has_many :tokens, :class_name => "OauthToken", :dependent => :delete_all
has_many :access_tokens
has_many :oauth2_verifiers
class Issue < ApplicationRecord
belongs_to :reportable, :polymorphic => true
- belongs_to :reported_user, :class_name => "User"
- belongs_to :user_resolved, :class_name => "User", :foreign_key => :resolved_by
- belongs_to :user_updated, :class_name => "User", :foreign_key => :updated_by
+ belongs_to :reported_user, :class_name => "User", :optional => true
+ belongs_to :user_resolved, :class_name => "User", :foreign_key => :resolved_by, :optional => true
+ belongs_to :user_updated, :class_name => "User", :foreign_key => :updated_by, :optional => true
has_many :reports, :dependent => :destroy
has_many :comments, :class_name => "IssueComment", :dependent => :destroy
event :resolve do
transitions :from => :open, :to => :resolved
after do
- self.resolved_at = Time.now.getutc
+ self.resolved_at = Time.now.utc
end
end
belongs_to :user
validates :body, :presence => true, :characters => true
- validates :user, :presence => true
- validates :issue, :presence => true
end
belongs_to :recipient, :class_name => "User", :foreign_key => :to_user_id
validates :title, :presence => true, :utf8 => true, :length => 1..255
- validates :body, :sent_on, :sender, :recipient, :presence => true
+ validates :body, :sent_on, :presence => true
validates :title, :body, :characters => true
def self.from_mail(mail, from, to)
:numericality => { :on => :update, :only_integer => true }
validates :version, :presence => true,
:numericality => { :only_integer => true }
- validates :changeset_id, :presence => true,
- :numericality => { :only_integer => true }
validates :latitude, :presence => true,
:numericality => { :only_integer => true }
validates :longitude, :presence => true,
private
def save_with_history!
- t = Time.now.getutc
+ t = Time.now.utc
self.version += 1
self.timestamp = t
belongs_to :node
- validates :node, :presence => true, :associated => true
+ validates :node, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => :node_id }
end
# Close a note
def close
self.status = "closed"
- self.closed_at = Time.now.getutc
+ self.closed_at = Time.now.utc
save
end
class NoteComment < ApplicationRecord
belongs_to :note, :touch => true
- belongs_to :author, :class_name => "User"
+ belongs_to :author, :class_name => "User", :optional => true
validates :id, :uniqueness => true, :presence => { :on => :update },
:numericality => { :on => :update, :only_integer => true }
- validates :note, :presence => true, :associated => true
+ validates :note, :associated => true
validates :visible, :inclusion => [true, false]
validates :author, :associated => true
validates :event, :inclusion => %w[opened closed reopened commented hidden]
def generate_keys
self.token = OAuth::Helper.generate_key(20)[0, 20]
self.expires_at = 10.minutes.from_now
- self.authorized_at = Time.now
+ self.authorized_at = Time.now.utc
end
end
#
class OauthToken < ApplicationRecord
- belongs_to :client_application
- belongs_to :user
+ belongs_to :client_application, :optional => true
+ belongs_to :user, :optional => true
scope :authorized, -> { where("authorized_at IS NOT NULL and invalidated_at IS NULL") }
end
def invalidate!
- update(:invalidated_at => Time.now)
+ update(:invalidated_at => Time.now.utc)
end
def authorized?
# the queries generated by Redactable will use the wrong table name.
include Redactable
- validates :changeset, :presence => true, :associated => true
+ validates :changeset, :associated => true
validates :latitude, :presence => true,
:numericality => { :only_integer => true }
validates :longitude, :presence => true,
validate :validate_position
belongs_to :changeset
- belongs_to :redaction
+ belongs_to :redaction, :optional => true
belongs_to :current_node, :class_name => "Node", :foreign_key => "node_id", :inverse_of => :old_nodes
has_many :old_tags, :class_name => "OldNodeTag", :foreign_key => [:node_id, :version], :inverse_of => :old_node
belongs_to :old_node, :foreign_key => [:node_id, :version], :inverse_of => :old_tags
- validates :old_node, :presence => true, :associated => true
+ validates :old_node, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => [:node_id, :version] }
end
include Redactable
belongs_to :changeset
- belongs_to :redaction
+ belongs_to :redaction, :optional => true
belongs_to :current_relation, :class_name => "Relation", :foreign_key => "relation_id", :inverse_of => :old_relations
has_many :old_members, -> { order(:sequence_id) }, :class_name => "OldRelationMember", :foreign_key => [:relation_id, :version], :inverse_of => :old_relation
has_many :old_tags, :class_name => "OldRelationTag", :foreign_key => [:relation_id, :version], :inverse_of => :old_relation
- validates :changeset, :presence => true, :associated => true
+ validates :changeset, :associated => true
validates :timestamp, :presence => true
validates :visible, :inclusion => [true, false]
belongs_to :old_relation, :foreign_key => [:relation_id, :version], :inverse_of => :old_tags
- validates :old_relation, :presence => true, :associated => true
+ validates :old_relation, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => [:relation_id, :version] }
end
include Redactable
belongs_to :changeset
- belongs_to :redaction
+ belongs_to :redaction, :optional => true
belongs_to :current_way, :class_name => "Way", :foreign_key => "way_id", :inverse_of => :old_ways
has_many :old_nodes, :class_name => "OldWayNode", :foreign_key => [:way_id, :version], :inverse_of => :old_way
has_many :old_tags, :class_name => "OldWayTag", :foreign_key => [:way_id, :version], :inverse_of => :old_way
- validates :changeset, :presence => true, :associated => true
+ validates :changeset, :associated => true
validates :timestamp, :presence => true
validates :visible, :inclusion => [true, false]
belongs_to :old_way, :foreign_key => [:way_id, :version], :inverse_of => :old_tags
- validates :old_way, :presence => true, :associated => true
+ validates :old_way, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => [:way_id, :version] }
end
:numericality => { :on => :update, :only_integer => true }
validates :version, :presence => true,
:numericality => { :only_integer => true }
- validates :changeset_id, :presence => true,
- :numericality => { :only_integer => true }
validates :timestamp, :presence => true
validates :changeset, :associated => true
validates :visible, :inclusion => [true, false]
private
def save_with_history!
- t = Time.now.getutc
+ t = Time.now.utc
self.version += 1
self.timestamp = t
belongs_to :relation
- validates :relation, :presence => true, :associated => true
+ validates :relation, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => :relation_id }
end
belongs_to :issue, :counter_cache => true
belongs_to :user
- validates :issue, :presence => true
- validates :user, :presence => true
validates :details, :presence => true, :characters => true
validates :category, :presence => true
return false if authorized?
self.user = user
- self.authorized_at = Time.now
+ self.authorized_at = Time.now.utc
self.verifier = OAuth::Helper.generate_key(20)[0, 20] unless oauth10?
save
end
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 :user, :associated => true
validates :name, :presence => true, :length => 1..255, :characters => true
validates :description, :presence => { :on => :create }, :length => 1..255, :characters => true
validates :timestamp, :presence => true
belongs_to :user, :class_name => "User"
belongs_to :creator, :class_name => "User"
- belongs_to :revoker, :class_name => "User"
+ belongs_to :revoker, :class_name => "User", :optional => true
PERIODS = Settings.user_block_periods
##
# scope to match active blocks
def self.active
- where("needs_view or ends_at > ?", Time.now.getutc)
+ where("needs_view or ends_at > ?", Time.now.utc)
end
##
# returns true if the block is currently active (i.e: the user can't
# use the API).
def active?
- needs_view || ends_at > Time.now.getutc
+ needs_view || ends_at > Time.now.utc
end
##
# is the user object who is revoking the ban.
def revoke!(revoker)
update(
- :ends_at => Time.now.getutc,
+ :ends_at => Time.now.utc,
:revoker_id => revoker.id,
:needs_view => false
)
belongs_to :user
- validates :user, :presence => true, :associated => true
+ validates :user, :associated => true
validates :k, :v, :length => 1..255, :characters => true
end
after_initialize :set_defaults
def expired?
- expiry < Time.now
+ expiry < Time.now.utc
end
private
:numericality => { :on => :update, :only_integer => true }
validates :version, :presence => true,
:numericality => { :only_integer => true }
- validates :changeset_id, :presence => true,
- :numericality => { :only_integer => true }
validates :timestamp, :presence => true
validates :changeset, :associated => true
validates :visible, :inclusion => [true, false]
private
def save_with_history!
- t = Time.now.getutc
+ t = Time.now.utc
self.version += 1
self.timestamp = t
belongs_to :way
- validates :way, :presence => true, :associated => true
+ validates :way, :associated => true
validates :k, :v, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
validates :k, :uniqueness => { :scope => :way_id }
end
# This has defaulted to false since rails 6.0
config.action_view.default_enforce_utf8 = true
- # This defaults to true from rails 5.0 but our code doesn't comply
- # with it at all so we turn it off
- config.active_record.belongs_to_required_by_default = false unless Settings.status == "database_offline"
-
# Use SQL instead of Active Record's schema dumper when creating the database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
# 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
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
+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
entry:
comment: Komento
full: Tuta rimarko
+ account:
+ deletions:
+ show:
+ title: Forigi mian konton
+ warning: Averto! La procedo de forigo de konto estas definitiva kaj neinversigebla.
+ delete_account: Forigi konton
+ delete_introduction: 'Vi povas forigi vian OpenStreetMap-konton per la butono
+ sube. Estu konscia, ke:'
+ delete_profile: informoj pri via profilo – profilbildo, priskribo kaj hejma
+ pozicio – estos forigitaj;
+ delete_display_name: via montra nomo estos forigita kaj povos esti uzata de
+ aliaj kontoj.
+ retain_caveats: 'Tamen iuj informoj pri vi plue estos konservitaj en OpenStreetMap,
+ eĉ post forigi konton:'
+ retain_edits: viaj (eventualaj) redaktoj al la map-datumbazo estos konservitaj;
+ retain_traces: viaj (eventualaj) alŝutitaj spuroj estos konservitaj;
+ retain_diary_entries: viaj (eventualaj) afiŝoj kaj komentoj en la taglibro
+ estos konservitaj, sed kaŝitaj;
+ retain_notes: viaj (eventualaj) rimarkoj kaj komentoj pri rimarkoj estos konservitaj,
+ sed kaŝitaj;
+ retain_changeset_discussions: viaj (eventualaj) komentoj pri ŝanĝaroj estos
+ konservitaj;
+ retain_email: via retpoŝta adreso estos konservita.
+ confirm_delete: Ĉu vi certas?
+ cancel: Nuligi
accounts:
edit:
title: Redakti konton
external auth: Ekstera aŭtentigo
openid:
link: https://wiki.openstreetmap.org/wiki/OpenID
- link text: kio estas tio?
+ link text: Pliaj informoj
public editing:
heading: Publika redaktado
enabled: Ebligita. Ne anonima kaj rajtas redakti.
enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
- enabled link text: Kio estas tio ?
+ enabled link text: Pliaj informoj
disabled: Malebligita kaj ne rajtas redakti, ĉiuj antaŭaj redaktoj naŭ estas
publikaj.
disabled link text: kial mi ne povas redakti?
agreed_with_pd: Vi ankaŭ deklaris, ke viaj kontribuaĵoj estas en la publika
havaĵo.
link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
- link text: kio estas tio?
+ link text: Pliaj informoj
save changes button: Konservi ŝanĝojn
make edits public button: Publikigu ĉiujn miajn redaktojn.
+ delete_account: Forigi konton…
update:
success_confirm_needed: Uzantinformoj sukcese freŝigitaj. Kontrolu vian retpoŝtilon
por iu mesaĝo kiu konfirmos vian novan retadreso.
success: Uzantinformoj sukcese freŝigitaj.
+ destroy:
+ success: Via konto estas forigita.
browse:
created: Kreita
closed: Fermita
read_tou: Mi legis kaj konsentas la Uzkondiĉojn
consider_pd: Krom la ĉi-supro, mi konfirmas, ke miaj kontribuaĵoj apartenas
al la publika havaĵo
- consider_pd_why: kio estas tio?
+ consider_pd_why: Pliaj informoj
consider_pd_why_url: https://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain
guidance_html: 'Informoj por helpi kompreni ĉi tiun interkonsenton: <a href="%{summary}">simpla
mallongigo</a> kaj kelkaj <a href="%{translations}">neoficialaj tradukoj</a>'
entry:
comment: Comentario
full: Nota completa
+ account:
+ deletions:
+ show:
+ title: Eliminar mi cuenta
+ warning: ¡Advertencia! El proceso de eliminación de la cuenta es definitivo
+ y no puede ser revertido.
+ delete_account: Eliminar cuenta
+ delete_introduction: 'Puede eliminar su cuenta de OpenStreetMap utilizando
+ el botón que aparece a continuación. Tenga en cuenta los siguientes detalles:'
+ delete_profile: Se eliminará la información de su perfil, incluido su avatar,
+ descripción y ubicación de inicio.
+ delete_display_name: Su nombre para mostrar será eliminado, y puede ser reutilizado
+ por otras cuentas.
+ retain_caveats: 'Sin embargo, algunos datos sobre usted se conservarán en
+ OpenStreetMap, incluso después de que se elimine su cuenta:'
+ retain_edits: Sus ediciones en la base de datos de mapas, si las hay, se conservarán.
+ retain_traces: Sus trazas subidas, si las hay, se conservarán.
+ retain_diary_entries: Las entradas y los comentarios de tu diario, si los
+ hay, se conservarán pero estarán ocultos.
+ retain_notes: Las notas del mapa y los comentarios de las notas, si los hay,
+ se conservarán pero estarán ocultos.
+ retain_changeset_discussions: Sus discusiones sobre el conjunto de cambios,
+ si las hay, se conservarán.
+ retain_email: Su dirección de correo electrónico se conservará.
+ confirm_delete: ¿Está seguro?
+ cancel: Cancelar
accounts:
edit:
title: Editar cuenta
link text: ¿Qué es esto?
save changes button: Guardar cambios
make edits public button: Hacer que todas mis ediciones sean públicas
+ delete_account: Eliminar cuenta...
update:
success_confirm_needed: La información del usuario se ha actualizado correctamente.
Compruebe su correo electrónico para ver una nota sobre cómo confirmar su
nueva dirección de correo electrónico.
success: La información del usuario se ha actualizado correctamente.
+ destroy:
+ success: Cuenta eliminada.
browse:
created: Creado
closed: Cerrado
entry:
comment: Kommentti
full: Koko karttailmoitus
+ account:
+ deletions:
+ show:
+ title: Poista käyttäjäni
+ warning: Varoitus! Käyttäjän poistaminen on lopullinen, eikä sitä voi peruuttaa.
+ delete_account: Poista käyttäjä
+ delete_profile: Käyttäjätietosi, avatar, kuvaus ja kotisijainti mukaan lukien
+ poistetaan.
+ retain_edits: Mahdolliset karttatietokantaan tekemäsi muutokset säilytetään.
+ confirm_delete: Oletko varma?
+ cancel: Peruuta
accounts:
edit:
title: Asetusten muokkaus
link text: Mitä tämä tarkoittaa?
save changes button: Tallenna muutokset
make edits public button: Tee muokkauksistani julkisia
+ delete_account: Poista käyttäjä...
update:
success_confirm_needed: Käyttäjätietojen muutokset on tallennettu. Vahvista
uusi sähköpostiosoite siihen lähetettyjen ohjeiden mukaisesti.
success: Käyttäjätietojen muutokset on tallennettu.
+ destroy:
+ success: Käyttäjä poistettu.
browse:
created: Luotu
closed: Ratkaistu
message:
create: Envoyer
client_application:
- create: Enregistrer
+ create: S’inscrire
update: Mettre à jour
doorkeeper_application:
create: S’inscrire
country: Pays
diary_comment: Commentaire du journal
diary_entry: Entrée du journal
- friend: Ami
+ friend: Ami(e)
issue: Problème
language: Langue
message: Message
scopes: Autorisations
friend:
user: Utilisateur
- friend: Ami
+ friend: Ami(e)
trace:
user: Utilisateur
visible: Visible
email_confirmation: Confirmation du courriel
new_email: Nouvelle adresse de courriel
active: Actif
- display_name: Pseudonyme
+ display_name: Nom affiché
description: Description du profil
home_lat: Latitude
home_lon: Longitude
osmchangexml: XML osmChange
feed:
title: Groupe de modifications %{id}
- title_comment: Groupe de modifications %{id} — %{comment}
+ title_comment: 'Groupe de modifications %{id} : %{comment}'
join_discussion: Se connecter pour rejoindre la discussion
discussion: Discussion
still_open: Ensemble de modifications toujours ouvert – la discussion s’ouvrira
changeset_paging_nav:
showing_page: Page %{page}
next: Suivant ››
- previous: â\80¹â\80¹Â Précédent
+ previous: â\97\82 Précédent
changeset:
anonymous: Anonyme
no_edits: (aucune modification)
new:
title: Nouvelle entrée du journal
form:
- location: Lieu
+ location: Emplacement
use_map_link: Utiliser la carte
index:
title: Journaux des utilisateurs
confirm: Confirmer
report: Signaler ce commentaire
location:
- location: 'Lieu :'
+ location: 'Emplacement :'
view: Afficher
edit: Modifier
coordinates: '%{latitude} ; %{longitude}'
place:
allotments: Jardins familiaux
archipelago: Archipel
- city: Ville
+ city: Grande ville
city_block: Bloc urbain
country: Pays
county: Comté
state: État / province
subdivision: Subdivision
suburb: Quartier
- town: Ville
+ town: Petite ville
village: Village
"yes": Lieu
railway:
lock_gate: Porte d’écluse
mooring: Mouillage
rapids: Rapides
- river: Rivière
+ river: Cours d’eau
stream: Ruisseau
wadi: Oued
waterfall: Chute d’eau
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
+ openid_logo_alt: Se connecter avec OpenID
auth_providers:
openid:
- title: Se connecter avec OpenID
+ title: Connexion avec OpenID
alt: Se connecter avec une URL OpenID
google:
title: Connexion avec Google
site:
about:
next: Suivant
- copyright_html: © Contributeurs<br /> d’OpenStreetMap
+ copyright_html: <span>©</span> Contributeurs<br /> d’OpenStreetMap
used_by_html: '%{name} fournit les données cartographiques pour des milliers
de sites web, d’applications mobiles et d’appareils'
lede_text: OpenStreetMap est bâti par une communauté de cartographes bénévoles
intro_3_1_html: "Notre documentation est disponible sous la licence \n<a href=\"https://creativecommons.org/licenses/by-sa/2.0/\">Creative\nCommons
paternité – partage à l’identique 2.0</a> (CC-BY-SA 2.0)."
credit_title_html: Comment créditer OpenStreetMap
- credit_1_html: Nous demandons que votre crédit comporte la mention « © les
- contributeurs d’OpenStreetMap ».
+ credit_1_html: Nous demandons que votre crédit comporte la mention « © Contributeurs
+ d’OpenStreetMap ».
credit_2_1_html: |-
Vous devez également préciser clairement que les données sont disponibles sous la licence
ODbL (Open Database License) et, si vous utilisez les tuiles de notre carte, que la carte est sous la
time_future: Ce blocage se terminera dans %{time}.
past: Ce blocage s’est terminé à %{time} et ne peut plus être annulé.
confirm: Êtes-vous sûr de vouloir annuler ce blocage ?
- revoke: Débloquer !
+ revoke: Révoquer !
flash: Ce blocage a été annulé.
helper:
time_future_html: Prends fin dans %{time}.
gps: Traces GPS publiques
overlays: Autoriser les superpositions pour réparer la carte
title: Couches
- copyright: © <a href='%{copyright_url}'>Contributeurs de OpenStreetMap</a>
+ copyright: © <a href="%{copyright_url}">Contributeurs d’OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Faire un don</a>
terms: <a href="%{terms_url}" target="_blank">Conditions du site web et de l’API</a>
cyclosm: Style de briques par <a href="%{cyclosm_url}" target="_blank">CyclOSM</a>
diary_comment: Deiboekreäksje
diary_entry: Deiboekstik
friend: Freon
+ issue: Probleem
language: Taal
message: Berjocht
node: Punt
node_tag: Puntlebel
+ notifier: Melder
old_node: Ald punt
old_node_tag: Ald puntlebel
old_relation: Alde relaasje
trace:
tagstring: skaat mei komma's
user_block:
+ reason: De reden wêrom't de meidogger útsletten wurdt. Bliuw sa kalm en ridlik
+ mooglik, en jou oer de sitewaasje safolle bysûnderheden as jo kinne, mei
+ yn 'e efterholle dat it berjocht iepenbier sichtber wêze sil. Betink dat
+ net alle meidoggers it mienskipsjargon begripe, dus besykje graach gewoaneminsketaal
+ te brûken.
needs_view: Moat de meidogger oanmelde foar't dizze útsluting ferfalt?
user:
email_confirmation: Jo adres wurdt net publikelik toand; sjoch ús <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy"
title_comment: Wizigingsset %{id} - %{comment}
join_discussion: Meld jo oan en oerlis mei
discussion: Oerlis
- still_open: Wizigingsset net ree - it oerlis iepenet sadree't de wizigingsset
+ still_open: Wizigingsset net ree - it oerlis iepenet sa gau't de wizigingsset
ôfdien is.
node:
title_html: 'Punt: %{name}'
level6: Distrikts-/greefskipsgrins
level7: Gemeentegrins
level8: Gemeente-/stedsgrins
- level9: Doarpsgrins
+ level9: Steds-/doarpsgrins
level10: Wenplak-/dielgebietsgrins
level11: Wyk-/buertgrins
types:
no_results: Gjin treffers fûn
more_results: Mear treffers
issues:
+ index:
+ title: Problemen
+ select_status: Status selektearje
+ select_type: Type selektearje
+ select_last_updated_by: Lêst bywurke troch selektearje
+ reported_user: Melde meidogger
+ not_updated: Net bywurke
+ search: Sykje
+ search_guidance: 'Problemen trochsykje:'
+ user_not_found: Meidogger bestiet net
+ issues_not_found: Gjin oerienkommende problemen fûn
+ status: Status
+ reports: Meldings
+ last_updated: Lêst bywurke
+ last_updated_time_html: <abbr title='%{title}'>%{time}</abbr>
+ last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> troch %{user}
+ link_to_reports: Meldings besjen
+ reports_count:
+ one: 1 melding
+ other: '%{count} meldings'
+ reported_item: Meld elemint
+ states:
+ ignored: Negearre
+ open: Iepen
+ resolved: Oplost
update:
new_report: It fêstlizzen fan jo melding is slagge
successful_update: It bywurkjen fan jo melding is slagge
provide_details: Graach de ferplichte details oanjaan
+ show:
+ title: '%{status} probleem #%{issue_id}'
+ reports:
+ one: 1 melding
+ other: '%{count} meldings'
+ report_created_at: Earst meld op %{datetime}
+ last_resolved_at: Lêst oplost op %{datetime}
+ last_updated_at: Lêst bywurke op %{datetime} troch %{displayname}
+ resolve: Oplosse
+ ignore: Negearje
+ reopen: Weriepenje
+ reports_of_this_issue: Meldings fan dit probleem
+ read_reports: Meldings lêze
+ new_reports: Nije meldings
+ other_issues_against_this_user: Oare problemen mei dizze meidogger
+ no_other_issues: Gjin oare problemen mei dizze meidogger.
+ comments_on_this_issue: Reäksjes by dit probleem
+ resolve:
+ resolved: De probleemstatus is op 'Oplost' set
+ ignore:
+ ignored: De probleemstatus is op 'Negearre' set
+ reopen:
+ reopened: De probleemstatus is op 'Iepen' set
+ comments:
+ comment_from_html: Reäksje fan %{user_link} op %{comment_created_at}
+ reassign_param: Probleem weryndiele?
+ reports:
+ reported_by_html: Meld as %{category} troch %{user} op %{updated_at}
helper:
reportable_title:
+ diary_comment: '%{entry_title}, reäksje #%{comment_id}'
note: 'Notysje #%{note_id}'
+ issue_comments:
+ create:
+ comment_created: It oanmeitsjen fan jo reäksje is slagge
reports:
new:
title_html: '%{link} melde'
missing_params: Kin gjin nije melding oanmeitsje
+ disclaimer:
+ intro: 'Foar''t jo melding dogge by it websteetafersjoch, moat it neikommende
+ fêststean:'
+ not_just_mistake: Jo binne der wis fan dat it probleem net gewoan in fersin
+ is
+ unable_to_fix: Jo binne net by steat en ferhelp it probleem sels, of mei help
+ fan jo meileden út 'e mienskip
+ resolve_with_user: Jo hawwe al besocht om mei de belutsen meidogger it probleem
+ op te lossen
categories:
diary_entry:
spam_label: Dit deiboekstik is/befettet spam
edit: Bewurkje
history: Skiednis
export: Eksportearje
+ issues: Problemen
data: Gegevens
export_data: Data eksportearje
gps_traces: GPS-trajekten
partners_bytemark: Bytemark Hosting
partners_partners: partners
tou: Gebrûksbetingsten
+ osm_offline: De OpenStreetMap-databank is op it stuit ôfline, wylst der it nedige
+ ûnderhâldswurk útfierd wurdt.
+ osm_read_only: De OpenStreetMap-databank is op it stuit allinnich yn lêsmodus,
+ wylst der it nedige ûnderhâldswurk útfierd wurdt.
donate: Stypje OpenStreetMap en %{link} oan it Fernijingsfûns foar Kompjûtersystemen.
help: Help
about: Oer
failed_to_import: 'net ymportearre wurde koe. Hjir is de foutmelding:'
more_info_html: Mear ynformaasje oer GPX-ymportflaters, en hoe't se tefoaren
kommen wurde kinne, fine jo op %{url}.
+ import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures
subject: '[OpenStreetMap] GPX ymportearjen mislearre'
gpx_success:
hi: Goeie %{to_user},
account not active: Spitich, jo akkount is noch net aktyf.<br />Brûk de keppeling
yn 'e akkountbefêstigingsmail en aktivearje jo akkount, of <a href="%{reconfirm}">freegje
in nije befêstigingsmail</a>.
- account is suspended: Spitich, jo akkount is stillein fanwegen fertochte aktiviteiten.<br
+ account is suspended: Spitich, jo akkount is skoattele fanwegen fertochte aktiviteiten.<br
/>Nim kontakt op mei <a href="%{webmaster}">Stipe</a> at jo dat beprate wolle.
auth failure: Spitich, koe jo net oanmelde mei dy gegevens.
openid_logo_alt: Meld jo oan mei in openID
url: https://wiki.openstreetmap.org/
title: OpenStreetMap-wiki
description: De wiki trochsjen foar wiidweidige dokumintaasje oer OpenStreetMap.
+ potlatch:
+ removed: Jo standertbewurker foar OpenStreetMap is ynsteld op Potlatch. Om't
+ Adobe Flash Player weifallen is, is Potlatch net mear beskikber foar gebrûk
+ yn in webblêder.
+ desktop_html: Jo kinne Potlatch nog brûke troch <a href="https://www.systemed.net/potlatch/">it
+ kompjûterprogramma foar Mac as Windows yn te laden</a>.
+ id_html: As alternatyf kinne jo jo standertbewurker ynstelle op iD, dat yn jo
+ webblêder draait krekt as Potlatch foarhinne. <a href="%{settings_url}">Feroarje
+ hjir jo foarkarren</a>.
sidebar:
search_results: Sykresultaten
close: Slute
trace_uploaded: Jo GPX-bestân is opladen en wachtet op databankynfiering. Dat
bart trochstrings binnen in heal oere, en der wurdt jo in e-mail tastjoerd
at it dien is.
+ upload_failed: Spitich, it opladen fan 'e GPX gong mis. In behearder is op 'e
+ flater wiisd. Besykje it nochris
+ traces_waiting:
+ one: Jo hawwe %{count} trajekt foar opladen yn 'e wacht. Wachtsje oant dy
+ klear is foar't jo noch mear oplade, om 'e wachtrige net te ferstopjen foar
+ oare meidoggers.
+ other: Jo hawwe %{count} trajekten foar opladen yn 'e wacht. Wachtsje oant
+ dy klear binne foar't jo noch mear oplade, om 'e wachtrige net te ferstopjen
+ foar oare meidoggers.
edit:
cancel: Annulearje
title: Trajekt %{name} bewurkje
scheduled_for_deletion: Trajekt ynplend om te wiskjen
make_public:
made_public: Trajekt iepenbier makke
+ offline_warning:
+ message: It systeem foar opladen fan GPX-bestannen is op it stuit net beskikber
+ offline:
+ heading: GPX-opslach ôfline
+ message: It systeem foar opslach en opladen fan GPX-bestannen is op it stuit
+ net beskikber.
georss:
title: OpenStreetMap GPS-trajekten
description:
other: GPX-bestân mei %{count} punten fan %{user}
description_without_count: GPX-bestân fan %{user}
application:
+ permission_denied: Jo hawwe net de rjochten foar tagong ta dy hanneling
+ require_cookies:
+ cookies_needed: It liket dat jo 'koekjes' út stean hawwe - set koekjes oan yn
+ jo webblêder foar't jo trochgeane.
+ require_admin:
+ not_an_admin: Jo moatte behearder wêze om dy hanneling útfiere te kinnen.
setup_user_auth:
blocked_zero_hour: Jo hawwe in driuwend berjocht op it OpenStreetMap-webstee.
Jo moatte it berjocht lêze foar't jo jo bewurkings fêstlizze kinne.
- blocked: Jo tagong ta de API is útsletten. Meld jo oan op 'e webside om der
- mear oer te witten.
- need_to_see_terms: Jo tagong ta de API is tydlik stillein. Meld jo oan op 'e
+ blocked: Jo binne útsletten fan tagong ta de API. Meld jo oan op 'e webside
+ om der mear oer te witten.
+ need_to_see_terms: Jo tagong ta de API is tydlik skoattele. Meld jo oan op 'e
webside om de Bydragersbetingsten te besjen. Jo hoege net akkoart te gean,
mar jo moatte se besjen.
settings_menu:
oauth2_applications: Applikaasjes OAuth 2
oauth2_authorizations: Autorisaasjes OAuth 2
oauth:
+ authorize:
+ title: Tagong ta jo akkount autorisearje
+ request_access_html: De applikaasje %{app_name} freget tagong ta jo akkount,
+ %{user}. Gean nei oft jo wolle dat de applikaasje de neikommende mooglikheden
+ kriget. Jo meie der sa folle of sa min kieze as jo wolle.
+ allow_to: 'De kliïnt-applikaasje tastean om:'
+ allow_read_prefs: jo meidoggerfoarkarren te lêzen.
+ allow_write_prefs: jo meidoggerfoarkarren te wizigjen.
+ allow_write_diary: deiboekstikken, reäksjes en freonen te meitsjen.
+ allow_write_api: de kaart te wizigjen.
+ allow_read_gpx: jo privee-GPS-trajekten te lêzen.
+ allow_write_gpx: GPS-trajekten op te laden.
+ allow_write_notes: notysjes te wizigjen.
+ grant_access: Tagong jaan
+ authorize_success:
+ title: Autorisaasjefersyk tastien
+ allowed_html: Jo hawwe de applikaasje %{app_name} tagong ta jo akkount jûn.
+ verification: De ferifikaasjekoade is %{code}.
authorize_failure:
+ title: Autorisaasjefersyk mislearre
+ denied: Jo hawwe de applikaasje %{app_name} tagong ta jo akkount wegere.
invalid: De autorisaasjekaai is net jildich.
revoke:
flash: Jo hawwe de kaai foar %{application} ynlutsen
+ permissions:
+ missing: Jo hawwe de applikaasje de tagong ta dizze foarsjenning net tastien
scopes:
read_prefs: Meidoggerfoarkarren lêzen
write_prefs: Meidoggerfoarkarren wizigjen
oauth_clients:
new:
title: In nije applikaasje registrearje
+ edit:
+ title: Jo applikaasje bewurkje
show:
+ title: OAuth-gegevens foar %{app_name}
support_notice: Wy stypje ûndertekeningen mei HMAC-SHA1 (oanret) en RSA-SHA1.
+ edit: Gegevens bewurkje
+ delete: Kliïnt wiskje
confirm: Seker witte?
+ requests: 'Freget de neikommende rjochten fan ''e meidogger:'
index:
title: Myn OAuth-gegevens
my_tokens: Myn autorisearre applikaasjes
register_new: Jo applikaasje registrearje
form:
requests: 'Freegje de neikommende rjochten fan ''e meidogger:'
+ create:
+ flash: Registrearjen fan 'e ynformaasje slagge
+ update:
+ flash: Bywurkjen fan 'e kliïnt-ynformaasje slagge
+ destroy:
+ flash: Registraasje fan 'e kliïnt-applikaasje ferneatige
oauth2_applications:
index:
title: Myn kliïnt-applikaasjes
edits: Bewurkings
traces: Trajekten
notes: Kaartnotysjes
- remove as friend: Freon ôf
+ remove as friend: Freon ôffiere
add as friend: Freon tafoegje
mapper since: 'Kaartmakker sûnt:'
ct status: 'Bydragersbetingsten:'
ct declined: ôfwiisd
latest edit: 'Lêste bewurking (%{ago}):'
email address: 'E-mailadres:'
+ created from: 'Oanmakke fan:'
status: 'Status:'
+ spam score: 'Spamskoare:'
description: Beskriuwing
user location: Lokaasje meidogger
role:
- administrator: Dizze meidogger is in behearder
- moderator: Dizze meidogger is in tafersjochhâlder
+ administrator: Dizze meidogger is behearder
+ moderator: Dizze meidogger is tafersjochhâlder
grant:
administrator: Behearder meitsje
moderator: Tafersjochhâlder meitsje
moderator_history: Utslutings útdield
comments: Reäksjes
create_block: Dizze meidogger útslute
+ activate_user: Dizze meidogger aktivearje
+ deactivate_user: Dizze meidogger deäktivearje
confirm_user: Dizze meidogger befêstigje
+ unconfirm_user: Dizze meidogger ûnbefêstigje
+ unsuspend_user: Dizze meidogger ûntskoattelje
hide_user: Dizze meidogger ferbergje
+ unhide_user: Dizze meidogger werompleatse
delete_user: Dizze meidogger wiskje
confirm: Befêstigje
report: Dizze meidogger melde
showing:
one: Side %{page} (%{first_item} fan %{items})
other: Side %{page} (%{first_item}-%{last_item} fan %{items})
- summary_html: '%{name} oanmakke fan %{ip_address} ôf op %{date}'
+ summary_html: '%{name} oanmakke fan %{ip_address} op %{date}'
summary_no_ip_html: '%{name} oanmakke op %{date}'
confirm: Selektearre meidoggers befêstigje
hide: Selektearre meidoggers ferbergje
empty: Gjin oerienkommende meidoggers fûn
suspended:
- title: Akkount stillein
- heading: Akkount stillein
+ title: Akkount skoattele
+ heading: Akkount skoattele
support: Stipe
body_html: |-
<p>
- Spitich, jo akkount is automatysk stillein fanwegen
+ Spitich, jo akkount is automatysk skoattele fanwegen
fertochte aktiviteiten.
</p>
<p>
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_role:
+ filter:
+ not_a_role: De tekenrige '%{role}' is net in jildige rol.
+ already_has_role: De meidogger hat al de rol fan %{role}.
+ doesnt_have_role: De meidogger hat net de rol fan %{role}.
+ not_revoke_admin_current_user: Kin de beheardersrol fan dizze meidogger net
+ ynlûke.
+ grant:
+ title: Rol takennen befêstigje
+ heading: Rol takennen befêstigje
+ are_you_sure: Witte jo seker dat jo de rol fan '%{role}' oan 'e meidogger '%{name}'
+ takenne wolle?
+ confirm: Befêstigje
+ fail: Koe de rol fan '%{role}' oan 'e meidogger '%{name}' net takenne. Gean
+ nei oft meidogger en rol beide jildich binne.
+ revoke:
+ title: Rol ynlûken befêstigje
+ heading: Rol ynlûken befêstigje
+ are_you_sure: Witte jo seker dat jo de rol fan '%{role}' fan 'e meidogger '%{name}'
+ ynlûke wolle?
+ confirm: Befêstigje
+ fail: Koe de rol fan '%{role}' fan 'e meidogger '%{name}' net ynlûke. Gean nei
+ oft meidogger en rol beide jildich binne.
user_blocks:
model:
non_moderator_update: Moat tafersjochhâlder wêze om in útsluting oanmeitsje
retain_caveats: 'אבל חלק מהמידע עליך יישמר ב־OpenStreetMap, אפילו אחרי מחיקת
חשבונך:'
retain_edits: העריכות שלך לבסיס הנתונים של המפה, אם קיימות, יישמרו.
+ retain_traces: ההקלטות (traces) שהעליתם, יישמרו.
retain_diary_entries: יומן הכניסות ויומן התגובות שלך, אם קיימים, יישמרו, אך
לא ניתן יהיה לצפות בהם.
+ retain_notes: הערות המפה ותגובות להערות, אם יש כאלה, יישמרו, אבל יוסתרו.
+ retain_changeset_discussions: הדיונים שלכם על ערכות השינויים, אם יש כאלה,
+ יישמרו.
retain_email: כתובת הדואר האלקטרוני שלך תישמר.
+ confirm_delete: להמשיך?
cancel: ביטול
accounts:
edit:
# Author: Nitin1485
# Author: Prong$31
# Author: Rajatkatiyar10
+# Author: Saurmandal
# Author: Sfic
# Author: Shubhamkanodia
# Author: Siddhartha Ghai
entry:
comment: टिप्पणी
full: पूरा नोट
+ account:
+ deletions:
+ show:
+ confirm_delete: क्या आप निश्चित है?
+ cancel: रद्द करें
accounts:
edit:
public editing:
entry:
comment: Commento
full: Nota complete
+ account:
+ deletions:
+ show:
+ title: Deler mi conto
+ warning: Attention! Le deletion de un conto es definitive e irreversibile.
+ delete_account: Deler conto
accounts:
edit:
title: Modificar conto
# Messages for Icelandic (íslenska)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: LoveIceLang
# Author: Macofe
# Author: McDutchie
# Author: Nemo bis
client_application:
create: Nýskrá
update: Uppfæra
+ doorkeeper_application:
+ create: Nýskrá
+ update: Uppfæra
redaction:
create: Búa til leiðréttingu
update: Vista leiðréttingu
latitude: Breiddargráða
longitude: Lengdargráða
language: Tungumál
+ doorkeeper/application:
+ name: Nafn
+ redirect_uri: Tilvísa tengslar
+ confidential: Leynilegur umsókn?
+ scopes: Réttindi
friend:
user: Notandi
friend: Vinur
category: Veldu ástæðu fyrir að þú gerir skýrslu
details: Tilgreindu öll nauðsynleg atriði um vandamálið (nauðsynlegt).
user:
+ auth_provider: Auðkenningaraðili
email: Netfang
email_confirmation: Staðfesting póstfangs
new_email: Nýtt póstfang
pass_crypt: Lykilorð
pass_crypt_confirmation: Staðfestu lykilorð
help:
+ doorkeeper/application:
+ confidential: Forritið verður ekki notuð þar sem leyni viðskiptavinsins er
+ hægt að halda trúnaði (innfæddur farsímaforrit og smásíðuforrit eru ekki
+ trúnaðarmál)
+ redirect_uri: Notaðu einn röð á URI
trace:
tagstring: aðskilið með kommum
user_block:
+ reason: Ástæðan til af hverju Notandinn verði falinn. Vinsamlegast vertu eins
+ rólegur og eins sanngjarn og mögulegt er, gefa eins miklar upplýsingar og
+ þú getur um ástandið, muna að skilaboðin verða sýnileg opinberlega. Hafðu
+ í huga að ekki allir notendur skilja orðalag samfélagsins, svo vinsamlegast
+ reyndu að nota skilmála leikmanna.
needs_view: Notandinn þarf að innskrá sig áður en bannið fellur úr gildi.
user:
+ email_confirmation: Netfangið þitt er ekki birt opinberlega, sjá kaflann <a
+ href="https://wiki.osmfoundation.org/wiki/Privacy_Policy" title=Meðferð
+ OSMF á persónuupplýsingum, þar með töldum netföngum">um meðferð persónuupplýsinga</a>
new_email: (aldrei sýnt opinberlega)
datetime:
distance_in_words_ago:
entry:
comment: Athugasemd
full: Allur minnispunkturinn
+ account:
+ deletions:
+ show:
+ title: Eyði Aðgangi
+ warning: Viðvörun! Eyðing aðgangs er óbreytanlegt, og ekki hægt að afturkalla.
+ delete_account: Eyði Aðgangi
+ delete_introduction: 'Þú getur eytt OpenStreetMap aðgangin þínum með því að
+ nota takkann hér að neðan. Vinsamlegast athugaðu eftirfarandi upplýsingar:'
+ delete_profile: Notenduupplýsingarnar þínar, þar á meðal notandaútlit, lýsing
+ og heimastaðsetning verða fjarlægðar.
+ delete_display_name: Sýningarnafnið þitt verður fjarlægt, og get verið notuð
+ frá öðrum aðgöngum.
+ retain_caveats: 'Hins vegar verða sumar upplýsingar um þig geymdar á OpenStreetMap,
+ jafnvel eftir að aðgangið þitt hefur verið eytt:'
+ retain_edits: Breytingar þínar á kortagagnagrunninum, ef einhverjar eru, verða
+ geymdar.
+ retain_traces: Hlöðuð ummerki þín, ef einhverjar eru, verða geymdar.
+ retain_diary_entries: Dagbókarfærslur þínar og dagbókarathugasemdir, ef einhverjar
+ eru, verða geymdar en falin.
+ retain_notes: Kortaskýrslur þínar og athugasemdir, ef einhverjar eru, verða
+ geymdar en falin.
+ retain_changeset_discussions: Umræður þínar um breytingar, ef einhverjar eru,
+ verða geymdar.
+ retain_email: Netfangið þitt verður geymt.
+ confirm_delete: Ertu viss?
+ cancel: Hætta við
accounts:
edit:
title: Stillingar
link text: Hvað er þetta?
save changes button: Vista breytingar
make edits public button: Gera allar breytingarnar mínar opinberar
+ delete_account: Eyði Aðgangi
update:
success_confirm_needed: Stillingarnar þínar voru uppfærðar. Póstur var sendur
á netfangið þitt sem þú þarft að bregðast við til að netfangið þitt verði
staðfest.
success: Stillingarnar þínar voru uppfærðar.
+ destroy:
+ success: Aðgangi eytt...
browse:
created: Búið til
closed: Lokað
changeset: breytingasett
note: minnispunktur
timeout:
+ title: Hlé Villa
sorry: Ekki var hægt að ná í gögn fyrir %{type} með kennitöluna %{id}, það tók
of langan tíma að ná í gögnin.
type:
nearby mapper: Nálægur notandi
friend: Vinur
show:
+ title: Stjórnborðið Mitt
+ no_home_location_html: '%{edit_profile_link} og stilltu heimastaðsetninguna
+ þína til að sjá nálæga notendur.'
+ edit_your_profile: Breyttu notandaaðgang þínum
my friends: Vinir mínir
no friends: Þú átt enga vini
nearby users: Aðrir nálægir notendur
title: OpenStreetMap bloggfærslur
description: Nýjustu bloggfærslur frá notendum OpenStreetMap
comments:
+ title: Dagbók Athugasemdir bætt við af %{user}
+ heading: Athugasemdir dagbókar %{user}
+ subheading_html: Dagbóka Athugasemdir bætt við af %{user}
+ no_comments: Engar athugasemdir við dagbók
post: Senda
when: Þegar
comment: Athugasemd
newer_comments: Nýrri athugasemdir
older_comments: Eldri athugasemdir
+ doorkeeper:
+ flash:
+ applications:
+ create:
+ notice: Umsókn skráð.
friendships:
make_friend:
heading: Bæta %{user} við sem vini?
success: '%{name} er núna vinur þinn!'
failed: Gat ekki bætt %{name} á vinalistann þinn.
already_a_friend: '%{name} er þegar vinur þinn.'
+ limit_exceeded: Þú hefur vingast við marga notendur nýlega. Vinsamlegast bíddu
+ aðeins áður en þú reynir að vingast fleiri.
remove_friend:
heading: Hætta að vera vinur %{user}?
button: fjarlægja úr vinahópi
window_construction: Gluggasmíði
winery: Víngerð
"yes": Handverkshús
+ crossing: Götugangur
emergency:
access_point: Aðgangspunktur
ambulance_station: Sjúkrabílastöð
trailhead: Upphaf slóða
trunk: Stofnbraut (Hringvegurinn)
trunk_link: Stofnbraut (Hringvegurinn)
+ turning_circle: Beygjuhringur
turning_loop: Snúningsslaufa
unclassified: Óflokkaður vegur
"yes": Vegur
railway: Sögulegt lestarspor
roman_road: Rómverskur vegur
ruins: Rústir
+ rune_stone: Rúnasteinn
stone: Steinn
tomb: Gröf
tower: Turn
sand: Sandur
scree: Skriða
scrub: Kjarr
+ shingle: Riðuströnd
spring: Lind
stone: Steinn
strait: Sund
tree: Tré
+ tree_row: Trjáröð
+ tundra: Freðmýri
valley: Dalur
volcano: Eldfjall
water: Vatn
"yes": Skrifstofa
place:
allotments: Úthlutuð svæði
+ archipelago: Eyjagarður
city: Borg
city_block: Götureitur
country: Land
platform: Brautarpallur
preserved: Varðveitt lestarspor
proposed: Tillaga um lestarteinalagningu
+ rail: Járnbraut
spur: Lestarteinastubbur
station: Lestarstöð
stop: Stöðvunarsvæði lestar
edit_with: Breyta með %{editor}
tag_line: Frjálsa wiki heimskortið
intro_header: Velkomin í OpenStreetMap!
- intro_text: OpenStreetMap er heimskort búið til af fólki eins og þér. Það er gefið
+ intro_text: OpenStreetMap er heimskort gert af fólki eins og þér. Það er gefið
út með opnu hugbúnaðarleyfi og það kostar ekkert að nota það.
intro_2_create_account: Búa til notandaaðgang
- hosting_partners_html: Vefhýsing er studd af %{ucl}, %{bytemark} og öðrum %{partners}.
+ hosting_partners_html: Vefhýsing er studd af %{ucl},%{fastly}, %{bytemark} og
+ öðrum %{partners}.
partners_ucl: UCL
+ partners_fastly: Fastly
partners_bytemark: Bytemark Hosting
partners_partners: samstarfsaðilum
tou: Notkunarskilmálar
hi: Hæ %{to_user},
header: '%{from_user} hefur bætt við athugasemd á OpenStreetMap bloggfærsluna
með titlinum „%{subject}“:'
+ header_html: '%{from_user} hefur bætt við athugasemd á OpenStreetMap dagbókarfærslu
+ með titlinum „%{subject}“:'
footer: Þú getur einnig lesið athugasemdina á %{readurl} og skrifað athugasemd
á %{commenturl} eða sent skilaboð til höfundarins á %{replyurl}
+ footer_html: Þú getur einnig lesið athugasemdina á %{readurl} og skrifað athugasemd
+ á %{commenturl} eða sent skilaboð til höfundarins á %{replyurl}
message_notification:
+ subject: '[OpenStreetMap] %{message_title}'
hi: Hæ %{to_user},
header: '%{from_user} hefur send þér skilaboð á OpenStreetMap með titlinum „%{subject}“:'
+ header_html: '%{from_user} hefur sent eitt skilaboð gegnum OpenStreetMap með
+ efninu %{subject}:'
+ footer: Þú getur einnig lesið skilaboðin á %{readurl} og sent skilaboð til höfundarins
+ á %{replyurl}
footer_html: Þú getur einnig lesið skilaboðin á %{readurl} og sent skilaboð
til höfundarins á %{replyurl}
friendship_notification:
had_added_you: Notandinn %{user} hefur bætt þér við sem vini á OpenStreetMap.
see_their_profile: Þú getur séð notandasíðu notandans á %{userurl} og jafnvel
bætt honum við sem vini líka.
+ see_their_profile_html: Þú getur séð notandasíðu notandans á %{userurl}.
befriend_them: Þú getur líka bætt þeim við sem vinum á %{befriendurl}.
+ befriend_them_html: Þú getur líka bætt þeim við sem vinum á %{befriendurl}.
+ gpx_description:
+ description_with_tags_html: 'Hitt sér út sem að þinn GPX-fil %{trace_name} með
+ lýsingunni %{trace_description} og eftirfarandi merki: %{tags}'
+ description_with_no_tags_html: Hitt sér út sem að þinn GPX-fil %{trace_name}
+ með lýsingunni %{trace_description} og engin merki
gpx_failure:
+ hi: Hæ %{to_user},
failed_to_import: 'Lenti í villu þegar átti að flytja hana inn, hérna er villan::'
+ more_info_html: Meir upplýsingar Um misheppnaðir GPX-innflutningur og hvernig
+ maður forðast þau finnst á %{url}.
import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures
subject: '[OpenStreetMap] Villa við að flytja inn GPX skrá'
gpx_success:
+ hi: Hæ %{to_user},
loaded_successfully:
one: var hlaðið inn með %{trace_points} af 1 punkti mögulegum.
other: var hlaðið inn með %{trace_points} punktum af %{possible_points} mögulegum.
sem þú hefur áhuga á'
your_note: '%{commenter} hefur sett athugasemd við einn af minnispunktunum
þínum nálægt %{place}.'
+ your_note_html: '%{commenter} hefur sett athugasemd við einn af minnispunktunum
+ þínum nálægt %{place}.'
commented_note: '%{commenter} hefur sett athugasemd við minnispunkt á korti
sem þú hefur gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
+ commented_note_html: '%{commenter} hefur sett athugasemd við minnispunkt á
+ korti sem þú hefur gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
closed:
subject_own: '[OpenStreetMap] %{commenter} hefur leyst einn af minnispunktunum
þínum'
þú hefur áhuga á'
your_note: '%{commenter} hefur leyst einn af minnispunktunum þínum nálægt
%{place}.'
+ your_note_html: '%{commenter} hefur leyst einn af minnispunktunum þínum nálægt
+ %{place}.'
commented_note: '%{commenter} hefur leyst minnispunkt á korti sem þú hefur
gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
+ commented_note_html: '%{commenter} hefur leyst minnispunkt á korti sem þú
+ hefur gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} hefur endurvirkjað einn af minnispunktunum
þínum'
sem þú hefur áhuga á'
your_note: '%{commenter} hefur endurvirkjað einn af minnispunktunum þínum
nálægt %{place}.'
+ your_note_html: '%{commenter} hefur endurvirkjað einn af minnispunktunum þínum
+ nálægt %{place}.'
commented_note: '%{commenter} hefur endurvirkjað minnispunkt á korti sem þú
hefur gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
+ commented_note_html: '%{commenter} hefur endurvirkjað minnispunkt á korti
+ sem þú hefur gert athugasemd við. Minnispunkturinn er nálægt %{place}.'
details: Nánari upplýsingar um minnispunktinn er að finna á %{url}.
+ details_html: Nánari upplýsingar um minnispunktinn er að finna á %{url}.
changeset_comment_notification:
hi: Hæ %{to_user},
greeting: Hæ,
sem þú hefur áhuga á'
your_changeset: '%{commenter} hefur sett athugasemd við eitt af breytingasettunum
þínum sem búið var til %{time}'
+ your_changeset_html: '%{commenter} hefur sett athugasemd við eitt af breytingasettunum
+ þínum sem búið var til %{time}'
commented_changeset: '%{commenter} hefur sett athugasemd %{time} við breytingasett
á korti sem þú fylgist með og var búið til af %{changeset_author}'
+ commented_changeset_html: '%{commenter} hefur sett athugasemd %{time} við
+ breytingasett á korti sem þú fylgist með og var gerð af %{changeset_author}'
partial_changeset_with_comment: með umsögninni '%{changeset_comment}'
+ partial_changeset_with_comment_html: með umsögninni '%{changeset_comment}'
partial_changeset_without_comment: án athugasemdar
details: Nánari upplýsingar um breytingasettið er að finna á %{url}.
+ details_html: Nánari upplýsingar um breytingasettið er að finna á %{url}.
unsubscribe: Til að hætta áskrift að uppfærslum á þessu breytingasetti, farðu
þá á %{url} og smelltu á "Segja upp áskrift".
+ unsubscribe_html: Til að hætta áskrift að uppfærslum á þessu breytingasetti,
+ farðu þá á %{url} og smelltu á "Segja upp áskrift".
confirmations:
confirm:
heading: Athuga með tölvupóstinn þinn!
success: Breyting á netfanginu þínu hefur verið staðfest.
failure: Netfang hefur þegar verið staðfest með þessum lykli.
unknown_token: Þessi staðfestingarkóði er útrunninn eða er ekki til staðar.
+ resend_success_flash:
+ confirmation_sent: Við höfum sent nýja staðfestingarmiða til %{email} og um
+ leið og þú staðfestir aðganginn þinn muntu geta fengið kortlagningu.
+ whitelist: Ef þú notar ruslpóstskerfi sem sendir staðfestingarbeiðnir, vinsamlegast
+ vertu viss um að þú skráir %{sender} á hvítlista þar sem við getum ekki svarað
+ neinum staðfestingarbeiðnum.
messages:
inbox:
title: Innhólf
my_inbox: Innhólfið mitt
+ my_outbox: Úthólfið mitt
messages: Þú átt %{new_messages} og %{old_messages}
new_messages:
one: '%{count} ný skilaboð'
body: Því miður er ekkert skilaboð með þetta auðkenni.
outbox:
title: Úthólf
+ my_inbox: Innhólfið mitt
+ my_outbox: Úthólfið mitt
messages:
one: Þú hefur sent %{count} skilaboð
other: Þú hefur sent %{count} skilaboð
reset: Endurstilla lykilorð
flash changed: Lykilorðinu þínu hefur verið breytt
flash token bad: Þessi leynistrengur fannst ekki, kannski er slóðin röng?
+ preferences:
+ show:
+ title: Kjörstillingar
+ preferred_editor: 'Uppáhaldsritill:'
+ preferred_languages: Ákjósanleg tungumál
+ edit_preferences: Kjörstillingar
+ edit:
+ save: Uppfæra kjörstillingar
+ cancel: Hætta við
+ update:
+ failure: Gat ekki uppfært kjörstillingar.
+ update_success_flash:
+ message: Kjörstillingar uppfærðir
profiles:
edit:
+ title: Breyta Notandasíðu
+ save: Uppfæra Notandasíðu
+ cancel: Hætta við
image: Mynd
gravatar:
gravatar: Nota Gravatar-auðkennismynd
home location: Upphafsstaðsetning
no home location: Þú hefur ekki stillt staðsetningu þína.
update home location on click: Uppfæra staðsetninguna þegar ég smelli á kortið
+ update:
+ success: Notandasíða uppfært.
+ failure: Gat ekki uppfært kjörstillingar.
sessions:
new:
title: Innskrá
account not active: Þessi reikningur er ekki virkur.<br />Vinsamlegast smelltu
á tengilinn í staðfestingarpóstinum sem þú fékkst til að virkja reikninginn,
eða <a href="%{reconfirm}">óskaðu eftir nýjum staðfestingarpósti</a>.
- account is suspended: Því miður, notandaaðgangurinn þinn hefur verið frystur
- vegna grunsamlegrar virkni.<br />Hafðu samband við <a href="%{webmaster}">vefstjóra</a>
+ account is suspended: Því miður, notandaaðgangurinn þinn hefur verið lokuð vegna
+ grunsamlegrar virkni.<br />Hafðu samband við <a href="%{webmaster}">vefstjóra</a>
ef þú vilt ræða þetta mál.
auth failure: Þetta notandanafn eða lykilorð er rangt.
openid_logo_alt: Skrá inn með OpenID-aðgangi
logout_button: Útskráning
shared:
markdown_help:
+ title_html: Þáttað með <a href="https://kramdown.gettalong.org/quickref.html">kramdown</a>
headings: Fyrirsagnir
heading: Fyrirsögn
subheading: Undirfyrirsögn
title: Wiki-vefur OpenStreetMap
description: Vafraðu um wiki/kvikuna til að sjá greinargóðar leiðbeiningar
varðandi OpenStreetMap.
+ potlatch:
+ removed: Sjálfgefinn OpenStreetMap ritstjóri er stilltur sem Potlatch. Þar sem
+ Adobe Flash Player er ekki til lengur, er Potlatch ekki lengur hægt að nota
+ í vafra.
sidebar:
search_results: Leitarniðurstöður
close: Loka
in: í
index:
public_traces: Allir ferlar
- my_traces: GPS-ferlarnir mínir
+ my_traces: Ferlarnir mínir
public_traces_from: Ferlar eftir %{user}
description: Skoða nýlega innsenda GPS-ferla
tagged_with: ' með merkið %{tags}'
empty_html: Ekkert hér ennþá. <a href='%{upload_link}'>Sendu inn nýjan feril</a>
eða lærðu meira um GPS-ferlun á <a href='https://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki-síðunni</a>.
upload_trace: Senda inn feril
+ all_traces: Allar ferlar
destroy:
scheduled_for_deletion: Þessum feril verður eitt
make_public:
flash: Uppfærði upplýsingar biðlaraforritsins
destroy:
flash: Eyðilagði skráningu biðlaraforritsins
+ oauth2_applications:
+ index:
+ name: Nafn
+ permissions: Réttindi
+ application:
+ edit: Breyta
+ delete: Eyða
+ confirm_delete: Eyða þessu forriti?
+ new:
+ title: Skrá nýtt forrit
+ edit:
+ title: Breyta forritinu þínu
+ show:
+ edit: Breyta
+ delete: Eyða
users:
new:
title: Nýskrá
tooltip_disabled: Kortaskýringar ekki tiltækar fyrir þetta lag
map:
zoom:
- in: Renna að
- out: Renna frá
+ in: Þysja Inn
+ out: Þysja Út
locate:
title: Birta staðsetningu mína
metersPopup:
France</a>
site:
edit_tooltip: Breyta kortinu
- edit_disabled_tooltip: Renndu að til að breyta kortinu
+ edit_disabled_tooltip: Þysja inn til að breyta kortinu
createnote_tooltip: Bæta við minnispunkti á kortið
- createnote_disabled_tooltip: Renndu að til að bæta minnispunkti á kortið
- map_notes_zoom_in_tooltip: Renndu að til að sjá minnispunkta á kortinu
- map_data_zoom_in_tooltip: Renndu að til að skoða gögn kortsins
+ createnote_disabled_tooltip: Þysja inn til að bæta minnispunkti á kortið
+ map_notes_zoom_in_tooltip: Þysja inn til að sjá minnispunkta á kortinu
+ map_data_zoom_in_tooltip: Þysja inn til að skoða gögn kortsins
queryfeature_tooltip: Rannsaka fitjur
- queryfeature_disabled_tooltip: Renndu inn til að rannsaka fitjur
+ queryfeature_disabled_tooltip: Þysja inn til að rannsaka fitjur
changesets:
show:
comment: Athugasemd
subscribe: Gerast áskrifandi
- unsubscribe: Segja upp áskrift
+ unsubscribe: Hætta í áskrift
hide_comment: fela
unhide_comment: hætta að fela
notes:
entry:
comment: 의견
full: 전체 참고
+ account:
+ deletions:
+ show:
+ title: 내 계정 삭제
+ delete_account: 계정 삭제
+ confirm_delete: 확실합니까?
+ cancel: 취소
accounts:
edit:
title: 계정 편집
link text: 무엇인가요?
save changes button: 변경사항 저장
make edits public button: 내 편집을 공개하기
+ delete_account: 계정 삭제...
update:
success_confirm_needed: 사용자 정보를 성공적으로 업데이트했습니다. 새 이메일 주소를 확인하기 위해 이메일을 확인하세요.
success: 사용자 정보를 성공적으로 업데이트했습니다.
+ destroy:
+ success: 계정이 삭제되었습니다.
browse:
created: 만들어짐
closed: 닫힘
messages:
inbox:
title: Wiadomości odebrane
- my_inbox: skrzynka odbiorcza
- my_outbox: skrzynka nadawcza
+ my_inbox: wiadomości odebrane
+ my_outbox: wiadomości wysłane
messages: Masz %{new_messages} i %{old_messages}
new_messages:
few: '%{count} nowe wiadomości'
heading: Nie ma takiej wiadomości
body: Niestety nie ma wiadomości o tym identyfikatorze.
outbox:
- title: Wysłane
- my_inbox: Wiadomości odebrane
- my_outbox: Wiadomości wysłane
+ title: Wiadomości wysłane
+ my_inbox: wiadomości odebrane
+ my_outbox: wiadomości wysłane
messages:
one: '%{count} wysłana wiadomość'
few: '%{count} wysłane wiadomości'
# Author: G0rn
# Author: Happy13241
# Author: Helpau
+# Author: Ice bulldog
# Author: Ignatus
# Author: Iluvatar
# Author: Infovarius
link text: что это?
save changes button: Сохранить изменения
make edits public button: Сделать все мои правки доступными
- delete_account: Удалить учётную запись...
+ delete_account: Удалить учётную запись…
update:
success_confirm_needed: Информация о пользователе успешно обновлена. Проверьте
свою электронную почту для подтверждения вашего нового адреса.
# Author: Esk78
# Author: Green Zero
# Author: Gzhegozh
+# Author: Ice bulldog
# Author: KEL
# Author: Kareyac
# Author: Lxlalexlxl
entry:
comment: Коментар
full: Повний текст
+ account:
+ deletions:
+ show:
+ title: Видалити мій обліковий запис
+ warning: Увага! Процес видалення облікового запису є остаточним і не може
+ бути скасований.
+ delete_account: Видалити обліковий запис
+ delete_introduction: 'Ви можете видалити свій обліковий запис OpenStreetMap
+ за допомогою кнопки нижче. Будь ласка, зверніть увагу на такі деталі:'
+ delete_profile: Інформацію вашого профілю, включаючи ваш аватар, опис і домашнє
+ місцезнаходження, буде вилучено.
+ delete_display_name: Ваше відображуване ім’я буде вилучено, і його можна буде
+ повторно використовувати іншими обліковими записами.
+ retain_caveats: 'Однак деяка інформація про вас буде збережена на OpenStreetMap,
+ навіть після того, як ваш обліковий запис буде видалено:'
+ retain_edits: Ваші зміни до бази даних мап, якщо такі є, будуть збережені.
+ retain_traces: Ваші завантажені сліди, якщо такі є, будуть збережені.
+ retain_diary_entries: Ваші щоденникові записи та коментарі до щоденника, якщо
+ такі є, будуть збережені, але приховані від перегляду.
+ retain_notes: Ваші примітки до мапи та коментарі до приміток, якщо такі є,
+ будуть збережені, але приховані від перегляду.
+ retain_changeset_discussions: Ваші обговорення набору змін, якщо такі є, будуть
+ збережені.
+ retain_email: Ваша електронна адреса буде збережена.
+ confirm_delete: Ви впевнені?
+ cancel: Скасувати
accounts:
edit:
title: Редагувати обліковий запис
link text: що це?
save changes button: Зберегти зміни
make edits public button: Зробити всі мої редагування загальнодоступними
+ delete_account: Видалити обліковий запис…
update:
success_confirm_needed: Інформацію про учасника успішно оновлено. Перевірте
свою електронну пошту, щоб підтвердити вашу нову адресу е-пошти.
success: Інформацію про учасника успішно оновлено.
+ destroy:
+ success: Обліковий запис видалено.
browse:
created: Створено
closed: Закрито
*
* (without all the *s)
*/
+
+#ifdef PG_MODULE_MAGIC
+PG_MODULE_MAGIC;
+#endif
--- /dev/null
+class RemoveIdDefaults < ActiveRecord::Migration[7.0]
+ def change
+ # Remove defaults from foreign key references
+ change_column_default :gpx_file_tags, :gpx_id, :from => 0, :to => nil
+ change_column_default :relation_members, :relation_id, :from => 0, :to => nil
+ change_column_default :relation_tags, :relation_id, :from => 0, :to => nil
+ change_column_default :way_tags, :way_id, :from => 0, :to => nil
+
+ # Remove defaults from primary keys
+ change_column_default :relations, :relation_id, :from => 0, :to => nil
+ change_column_default :ways, :way_id, :from => 0, :to => nil
+ end
+end
--
CREATE TABLE public.gpx_file_tags (
- gpx_id bigint DEFAULT 0 NOT NULL,
+ gpx_id bigint NOT NULL,
tag character varying NOT NULL,
id bigint NOT NULL
);
--
CREATE TABLE public.relation_members (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
member_type public.nwr_enum NOT NULL,
member_id bigint NOT NULL,
member_role character varying NOT NULL,
--
CREATE TABLE public.relation_tags (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
k character varying DEFAULT ''::character varying NOT NULL,
v character varying DEFAULT ''::character varying NOT NULL,
version bigint NOT NULL
--
CREATE TABLE public.relations (
- relation_id bigint DEFAULT 0 NOT NULL,
+ relation_id bigint NOT NULL,
changeset_id bigint NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
version bigint NOT NULL,
--
CREATE TABLE public.way_tags (
- way_id bigint DEFAULT 0 NOT NULL,
+ way_id bigint NOT NULL,
k character varying NOT NULL,
v character varying NOT NULL,
version bigint NOT NULL
--
CREATE TABLE public.ways (
- way_id bigint DEFAULT 0 NOT NULL,
+ way_id bigint NOT NULL,
changeset_id bigint NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
version bigint NOT NULL,
('20210511104518'),
('20211216185316'),
('20220201183346'),
+('20220223140543'),
('21'),
('22'),
('23'),
elsif reader.name == "ele" && point
point.altitude = reader.read_string.to_f
elsif reader.name == "time" && point
- point.timestamp = Time.parse(reader.read_string)
+ point.timestamp = Time.parse(reader.read_string).utc
end
when XML::Reader::TYPE_END_ELEMENT
if reader.name == "trkpt" && point && point.valid?
require File.join(File.dirname(__FILE__), "..", "config", "environment")
-start_time = Time.now
+start_time = Time.now.utc
puts "<html>"
puts "<head>"
puts "<p><em>Exception: #{e}</em><br />#{e.backtrace.join('<br />')}</p>"
end
-puts "<p>Report took #{Time.new - start_time} seconds to run</p>"
+puts "<p>Report took #{Time.now.utc - start_time} seconds to run</p>"
puts "</body>"
puts "</html>"
addresses = User.count(
:conditions => {
:status => %w[suspended deleted],
- :creation_time => Time.now - 28.days..Time.now
+ :creation_time => Time.now.utc - 28.days..Time.now.utc
},
:group => :creation_ip
)
assert_response :forbidden
# Try again, after agreement with the terms
- user.terms_agreed = Time.now
+ user.terms_agreed = Time.now.utc
user.save!
assert_difference "ChangesetComment.count", 1 do
assert_response :forbidden
# Try again, after agreement with the terms
- user.terms_agreed = Time.now
+ user.terms_agreed = Time.now.utc
user.save!
assert_difference "ChangesetComment.count", 1 do
# test that it really is closed now
cs = Changeset.find(changeset.id)
assert_not(cs.is_open?,
- "changeset should be closed now (#{cs.closed_at} > #{Time.now.getutc}.")
+ "changeset should be closed now (#{cs.closed_at} > #{Time.now.utc}.")
end
##
end
assert_response :gone
- closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
assert_no_difference "NoteComment.count" do
post comment_note_path(:id => closed_note_with_comment, :text => "This is an additional comment"), :headers => auth_header
post close_note_path(:id => hidden_note_with_comment), :headers => auth_header
assert_response :gone
- closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
post close_note_path(:id => closed_note_with_comment), :headers => auth_header
assert_response :conflict
end
def test_reopen_success
- closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now)
+ closed_note_with_comment = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc)
user = create(:user)
post reopen_note_path(:id => closed_note_with_comment, :text => "This is a reopen comment", :format => "json")
end
def test_index_closed
- create(:note_with_comments, :status => "closed", :closed_at => Time.now - 5.days)
- create(:note_with_comments, :status => "closed", :closed_at => Time.now - 100.days)
+ create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 5.days)
+ create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc - 100.days)
create(:note_with_comments, :status => "hidden")
create(:note_with_comments)
def test_read_closed_note
user = create(:user)
- closed_note = create(:note_with_comments, :status => "closed", :closed_at => Time.now, :comments_count => 2) do |note|
+ closed_note = create(:note_with_comments, :status => "closed", :closed_at => Time.now.utc, :comments_count => 2) do |note|
create(:note_comment, :event => "closed", :note => note, :author => user)
end
m = Message.last
assert_equal user.id, m.from_user_id
assert_equal recipient_user.id, m.to_user_id
- assert_in_delta Time.now, m.sent_on, 2
+ assert_in_delta Time.now.utc, m.sent_on, 2
assert_equal "Test Message", m.title
assert_equal "Test message body", m.body
assert_equal "markdown", m.body_format
assert_redirected_to user_block_path(:id => id)
assert_equal "Created a block on user #{target_user.display_name}.", flash[:notice]
b = UserBlock.find(id)
- assert_in_delta Time.now, b.created_at, 1
- assert_in_delta Time.now, b.updated_at, 1
- assert_in_delta Time.now + 12.hours, b.ends_at, 1
+ assert_in_delta Time.now.utc, b.created_at, 1
+ assert_in_delta Time.now.utc, b.updated_at, 1
+ assert_in_delta Time.now.utc + 12.hours, b.ends_at, 1
assert_not b.needs_view
assert_equal "Vandalism", b.reason
assert_equal "markdown", b.reason_format
assert_redirected_to user_block_path(active_block)
assert_equal "Block updated.", flash[:notice]
b = UserBlock.find(active_block.id)
- assert_in_delta Time.now, b.updated_at, 1
+ assert_in_delta Time.now.utc, b.updated_at, 1
assert b.needs_view
assert_equal "Vandalism", b.reason
assert_response :success
assert_template "revoke"
b = UserBlock.find(active_block.id)
- assert b.ends_at - Time.now > 100
+ assert b.ends_at - Time.now.utc > 100
# Check that revoking a block works using POST
post revoke_user_block_path(:id => active_block, :confirm => true)
assert_redirected_to user_block_path(active_block)
b = UserBlock.find(active_block.id)
- assert_in_delta Time.now, b.ends_at, 1
+ assert_in_delta Time.now.utc, b.ends_at, 1
# We should get an error if the block doesn't exist
get revoke_user_block_path(:id => 99999)
factory :message do
sequence(:title) { |n| "Message #{n}" }
sequence(:body) { |n| "Body text for message #{n}" }
- sent_on { Time.now }
+ sent_on { Time.now.utc }
association :sender, :factory => :user
association :recipient, :factory => :user
changeset
visible { true }
- timestamp { Time.now }
+ timestamp { Time.now.utc }
version { 1 }
trait :deleted do
association :current_node, :factory => :node
visible { true }
- timestamp { Time.now }
+ timestamp { Time.now.utc }
version { 1 }
end
end
FactoryBot.define do
factory :old_relation do
- timestamp { Time.now }
+ timestamp { Time.now.utc }
visible { true }
version { 1 }
FactoryBot.define do
factory :old_way do
- timestamp { Time.now }
+ timestamp { Time.now.utc }
visible { true }
version { 1 }
FactoryBot.define do
factory :relation do
- timestamp { Time.now }
+ timestamp { Time.now.utc }
visible { true }
version { 1 }
latitude { 1 * GeoRecord::SCALE }
longitude { 1 * GeoRecord::SCALE }
# tile { QuadTile.tile_for_point(1,1) }
- timestamp { Time.now }
+ timestamp { Time.now.utc }
trace
end
user
- timestamp { Time.now }
+ timestamp { Time.now.utc }
inserted { true }
size { 10 }
end
terms_seen { true }
- terms_agreed { Time.now.getutc }
+ terms_agreed { Time.now.utc }
data_public { true }
trait :with_home_location do
FactoryBot.define do
factory :user_block do
sequence(:reason) { |n| "User Block #{n}" }
- ends_at { Time.now + 1.day }
+ ends_at { Time.now.utc + 1.day }
user
association :creator, :factory => :moderator_user
end
trait :expired do
- ends_at { Time.now - 1.day }
+ ends_at { Time.now.utc - 1.day }
end
trait :revoked do
FactoryBot.define do
factory :way do
- timestamp { Time.now }
+ timestamp { Time.now.utc }
visible { true }
version { 1 }
end
def test_friendly_date
- date = friendly_date(Time.new(2014, 3, 5, 18, 58, 23))
+ date = friendly_date(Time.new(2014, 3, 5, 18, 58, 23).utc)
assert_match %r{^<span title=" *5 March 2014 at 18:58">.*</span>$}, date
- date = friendly_date(Time.now - 1.hour)
+ date = friendly_date(Time.now.utc - 1.hour)
assert_match %r{^<span title=".*">about 1 hour</span>$}, date
- date = friendly_date(Time.now - 2.days)
+ date = friendly_date(Time.now.utc - 2.days)
assert_match %r{^<span title=".*">2 days</span>$}, date
- date = friendly_date(Time.now - 3.weeks)
+ date = friendly_date(Time.now.utc - 3.weeks)
assert_match %r{^<span title=".*">21 days</span>$}, date
- date = friendly_date(Time.now - 4.months)
+ date = friendly_date(Time.now.utc - 4.months)
assert_match %r{^<span title=".*">4 months</span>$}, date
end
include ApplicationHelper
def test_block_status
- block = create(:user_block, :needs_view, :ends_at => Time.now.getutc)
+ block = create(:user_block, :needs_view, :ends_at => Time.now.utc)
assert_equal "Active until the user logs in.", block_status(block)
- block = create(:user_block, :needs_view, :ends_at => Time.now.getutc + 1.hour)
+ block = create(:user_block, :needs_view, :ends_at => Time.now.utc + 1.hour)
assert_match %r{^Ends in <span title=".*">about 1 hour</span> and after the user has logged in\.$}, block_status(block)
- block = create(:user_block, :ends_at => Time.now.getutc + 1.hour)
+ block = create(:user_block, :ends_at => Time.now.utc + 1.hour)
assert_match %r{^Ends in <span title=".*">about 1 hour</span>\.$}, block_status(block)
end
:user_id => blocked_user.id,
:creator_id => create(:moderator_user).id,
:reason => "testing",
- :ends_at => Time.now.getutc + 5.minutes
+ :ends_at => Time.now.utc + 5.minutes
)
get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :forbidden
:user_id => blocked_user.id,
:creator_id => moderator.id,
:reason => "testing",
- :ends_at => Time.now.getutc + 5.minutes
+ :ends_at => Time.now.utc + 5.minutes
)
get "/api/#{Settings.api_version}/user/details", :headers => basic_authorization_header(blocked_user.display_name, "test")
assert_response :forbidden
from "from@example.com"
to "to@example.com"
subject "Test message"
- date Time.now
+ date Time.now.utc
content_type "text/plain; charset=utf-8"
body "This is a test & a message"
end
from "from@example.com"
to "to@example.com"
subject "Test message"
- date Time.now
+ date Time.now.utc
content_type "text/html; charset=utf-8"
body "<p>This is a <b>test</b> & a message</p>"
end
from "from@example.com"
to "to@example.com"
subject "Test message"
- date Time.now
+ date Time.now.utc
text_part do
content_type "text/plain; charset=utf-8"
from "from@example.com"
to "to@example.com"
subject "Test message"
- date Time.now
+ date Time.now.utc
html_part do
content_type "text/html; charset=utf-8"
from "from@example.com"
to "to@example.com"
subject "[OpenStreetMap] Test message"
- date Time.now
+ date Time.now.utc
content_type "text/plain; charset=utf-8"
body "This is a test & a message"
end
end
def test_reopen
- note = create(:note, :status => "closed", :closed_at => Time.now)
+ note = create(:note, :status => "closed", :closed_at => Time.now.utc)
assert_equal "closed", note.status
assert_not_nil note.closed_at
note.reopen
end
def test_closed?
- assert create(:note, :status => "closed", :closed_at => Time.now).closed?
+ assert create(:note, :status => "closed", :closed_at => Time.now.utc).closed?
assert_not create(:note, :status => "open", :closed_at => nil).closed?
end
# yarn lockfile v1
-"@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==
+"@eslint/eslintrc@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.0.tgz#7ce1547a5c46dfe56e1e45c3c9ed18038c721c6a"
+ integrity sha512-igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.0.0:
- version "8.9.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb"
- integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.10.0.tgz#931be395eb60f900c01658b278e05b6dae47199d"
+ integrity sha512-tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==
dependencies:
- "@eslint/eslintrc" "^1.1.0"
+ "@eslint/eslintrc" "^1.2.0"
"@humanwhocodes/config-array" "^0.9.2"
ajv "^6.10.0"
chalk "^4.0.0"