# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
- Max: 260
+ Max: 370
# Offense count: 35
# Configuration parameters: AllowSafeAssignment.
autoprefixer-rails (9.7.6)
execjs
aws-eventstream (1.1.0)
- aws-partitions (1.321.0)
- aws-sdk-core (3.96.1)
+ aws-partitions (1.323.0)
+ aws-sdk-core (3.97.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
- aws-sdk-kms (1.31.0)
+ aws-sdk-kms (1.33.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.66.0)
+ aws-sdk-s3 (1.67.1)
aws-sdk-core (~> 3, >= 3.96.1)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
- aws-sigv4 (1.1.3)
+ aws-sigv4 (1.1.4)
aws-eventstream (~> 1.0, >= 1.0.2)
better_errors (2.7.1)
coderay (>= 1.0.0)
autoprefixer-rails (>= 9.1.0)
popper_js (>= 1.14.3, < 2)
sassc-rails (>= 2.0.0)
- browser (4.1.0)
+ browser (4.2.0)
builder (3.2.4)
bzip2-ffi (1.0.0)
ffi (~> 1.0)
regexp_parser (~> 1.5)
xpath (~> 3.2)
childprocess (3.0.0)
- coderay (1.1.2)
+ coderay (1.1.3)
composite_primary_keys (12.0.2)
activerecord (~> 6.0.0)
concurrent-ruby (1.1.6)
railties (>= 4.2.0)
faraday (1.0.1)
multipart-post (>= 1.2, < 3)
- ffi (1.12.2)
+ ffi (1.13.0)
ffi-libarchive (1.0.0)
ffi (~> 1.0)
fspath (3.1.2)
http_accept_language (2.0.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
- i18n-js (3.6.0)
+ i18n-js (3.7.0)
i18n (>= 0.6.6)
image_optim (0.26.5)
exifr (~> 1.2, >= 1.2.2)
rinku (2.0.6)
rotp (6.0.0)
addressable (~> 2.7)
- rubocop (0.84.0)
+ rubocop (0.85.0)
parallel (~> 1.10)
parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0)
+ regexp_parser (>= 1.7)
rexml
rubocop-ast (>= 0.0.3)
ruby-progressbar (~> 1.7)
crass (~> 1.0.2)
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
- sassc (2.3.0)
+ sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
hashdiff (>= 0.4.0, < 2.0.0)
websocket-driver (0.7.2)
websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.4)
+ websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.3.0)
# not just the id, hence this abstraction
def getuser(token)
- if token =~ /^(.+)\:(.+)$/
+ if token =~ /^(.+):(.+)$/
User.authenticate(:username => Regexp.last_match(1), :password => Regexp.last_match(2))
else
User.authenticate(:token => token)
# don't look at object tags if redacted, so as to avoid giving
# away redacted version tag information.
unless object.redacted?
- locale = I18n.locale.to_s
+ available_locales = Locale::List.new(name_locales(object))
- locale = locale.sub(/-[^-]+/, "") while locale =~ /-[^-]+/ && !object.tags.include?("name:#{I18n.locale}")
+ Rails.logger.info "available_locales = #{available_locales.map(&:to_s)}"
+
+ preferred_locales = if current_user
+ current_user.preferred_languages
+ else
+ Locale.new(I18n.locale).candidates
+ end
+
+ Rails.logger.info "preferred_locales = #{preferred_locales.expand.map(&:to_s)}"
+
+ locale = available_locales.preferred(preferred_locales)
+
+ Rails.logger.info "locale = #{locale}"
if object.tags.include? "name:#{locale}"
name = t "printable_name.with_name_html", :name => content_tag(:bdi, object.tags["name:#{locale}"].to_s), :id => content_tag(:bdi, name)
def icon_tags(object)
object.tags.find_all { |k, _v| ICON_TAGS.include? k }.sort
end
+
+ def name_locales(object)
+ object.tags.keys.map { |k| Regexp.last_match(1) if k =~ /^name:(.*)$/ }.flatten
+ end
end
#
# Also accepting / as a visual separator although not given in RFC 3966,
# because it is used as a visual separator in OSM data in some countries.
- if value.match?(%r{^\s*\+[\d\s\(\)/\.-]{6,25}\s*(;\s*\+[\d\s\(\)/\.-]{6,25}\s*)*$})
+ if value.match?(%r{^\s*\+[\d\s()/.-]{6,25}\s*(;\s*\+[\d\s()/.-]{6,25}\s*)*$})
return value.split(";").map do |phone_number|
# for display, remove leading and trailing whitespace
phone_number = phone_number.strip
module ConsistencyValidations
+ extend ActiveSupport::Concern
+
# Generic checks that are run for the updates and deletes of
# node, ways and relations. This code is here to avoid duplication,
# and allow the extention of the checks without having to modify the
-require "osm"
-
module Redactable
- def self.included(base)
- # this is used to extend activerecord bases, as these aren't
- # in scope for the module itself.
- base.scope :unredacted, -> { where(:redaction_id => nil) }
+ extend ActiveSupport::Concern
+
+ included do
+ scope :unredacted, -> { where(:redaction_id => nil) }
end
def redacted?
<li><%= rss_link_to :action => "rss", :language => params[:language] %></li>
<% end -%>
- <% if @user %>
- <% if @user == current_user %>
- <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
- <% end %>
- <% else %>
- <% if current_user %>
- <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
- <% end %>
+ <% if @user && @user == current_user || !@user && current_user %>
+ <li><%= link_to image_tag("new.png", :class => "small_icon") + t(".new"), new_diary_entry_path, :title => t(".new_title") %></li>
+ <% end %>
+
+ <% if !@user && current_user %>
+ <li><%= link_to t(".my_diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %></li>
<% end %>
</ul>
</div>
module OpenStreetMap
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
- config.load_defaults 5.2
+ config.load_defaults 6.0
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W[#{config.root}/lib]
+ # Continue to use the classic autoloader for now
+ config.autoloader = :classic
+
+ # Force requests from old versions of IE (<= IE8) to be UTF-8 encoded.
+ # 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"
+++ /dev/null
-# Be sure to restart your server when you modify this file.
-#
-# This file contains migration options to ease your Rails 5.2 upgrade.
-#
-# Once upgraded flip defaults one by one to migrate to the new default.
-#
-# Read the Guide for Upgrading Ruby on Rails for more info on each option.
-
-# Make Active Record use stable #cache_key alongside new #cache_version method.
-# This is needed for recyclable cache keys.
-# Rails.application.config.active_record.cache_versioning = true
-
-# Use AES-256-GCM authenticated encryption for encrypted cookies.
-# Also, embed cookie expiry in signed or encrypted cookies for increased security.
-#
-# This option is not backwards compatible with earlier Rails versions.
-# It's best enabled when your entire app is migrated and stable on 5.2.
-#
-# Existing cookies will be converted on read then written with the new scheme.
-# Rails.application.config.action_dispatch.use_authenticated_cookie_encryption = true
-
-# Use AES-256-GCM authenticated encryption as default cipher for encrypting messages
-# instead of AES-256-CBC, when use_authenticated_message_encryption is set to true.
-# Rails.application.config.active_support.use_authenticated_message_encryption = true
-
-# Add default protection from forgery to ActionController::Base instead of in
-# ApplicationController.
-# Rails.application.config.action_controller.default_protect_from_forgery = true
-
-# Store boolean values are in sqlite3 databases as 1 and 0 instead of 't' and
-# 'f' after migrating old data.
-# Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true
-
-# Use SHA-1 instead of MD5 to generate non-sensitive digests, such as the ETag header.
-# Rails.application.config.active_support.use_sha1_digests = true
-
-# Make `form_with` generate id attributes for any generated HTML tags.
-# Rails.application.config.action_view.form_with_generates_ids = true
+++ /dev/null
-# Be sure to restart your server when you modify this file.
-#
-# This file contains migration options to ease your Rails 6.0 upgrade.
-#
-# Once upgraded flip defaults one by one to migrate to the new default.
-#
-# Read the Guide for Upgrading Ruby on Rails for more info on each option.
-
-# Don't force requests from old versions of IE to be UTF-8 encoded.
-# Rails.application.config.action_view.default_enforce_utf8 = false
-
-# Embed purpose and expiry metadata inside signed and encrypted
-# cookies for increased security.
-#
-# This option is not backwards compatible with earlier Rails versions.
-# It's best enabled when your entire app is migrated and stable on 6.0.
-# Rails.application.config.action_dispatch.use_cookies_with_metadata = true
-
-# Change the return value of `ActionDispatch::Response#content_type` to Content-Type header without modification.
-# Rails.application.config.action_dispatch.return_only_media_type_on_content_type = false
-
-# Return false instead of self when enqueuing is aborted from a callback.
-# Rails.application.config.active_job.return_false_on_aborted_enqueue = true
-
-# Send Active Storage analysis and purge jobs to dedicated queues.
-# Rails.application.config.active_storage.queues.analysis = :active_storage_analysis
-# Rails.application.config.active_storage.queues.purge = :active_storage_purge
-
-# When assigning to a collection of attachments declared via `has_many_attached`, replace existing
-# attachments instead of appending. Use #attach to add new attachments without replacing existing ones.
-# Rails.application.config.active_storage.replace_on_assign_to_many = true
-
-# Use ActionMailer::MailDeliveryJob for sending parameterized and normal mail.
-#
-# The default delivery jobs (ActionMailer::Parameterized::DeliveryJob, ActionMailer::DeliveryJob),
-# will be removed in Rails 6.1. This setting is not backwards compatible with earlier Rails versions.
-# If you send mail in the background, job workers need to have a copy of
-# MailDeliveryJob to ensure all delivery jobs are processed properly.
-# Make sure your entire app is migrated and stable on 6.0 before using this setting.
-# Rails.application.config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
-
-# Enable the same cache key to be reused when the object being cached of type
-# `ActiveRecord::Relation` changes by moving the volatile information (max updated at and count)
-# of the relation's cache key into the cache version to support recycling cache key.
-# Rails.application.config.active_record.collection_cache_versioning = true
+++ /dev/null
-Rails.configuration.middleware.delete ActiveRecord::QueryCache
diary_comment: Камэнтар у дзёньніку
diary_entry: Запіс у дзёньніку
friend: Сябар
+ issue: Праблема
language: Мова
message: Паведамленьне
node: Вузел
relation: Сувязь
relation_member: Удзельнік сувязі
relation_tag: Тэг сувязі
+ report: Справаздача
session: Сэсыя
trace: Трэк
tracepoint: Пункт трэку
remote:
name: Аддаленае кіраваньне
description: Аддаленае кіраваньне (JOSM ці Merkaartor)
+ auth:
+ providers:
+ none: Няма
+ openid: OpenID
+ google: Google
+ facebook: Facebook
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Вікіпэдыя
api:
notes:
comment:
closed_at_by_html: Разьвізана %{when} удзельнікам %{user}
reopened_at_html: Пераадкрыта %{when}
reopened_at_by_html: Пераадкрыта %{when} удзельнікам %{user}
+ rss:
+ title: Нататкі OpenStreetMap
entry:
full: Поўны тэкст
browse:
more_info_2: 'іх можна знайсьці на:'
success:
subject: '[OpenStreetMap] імпарт GPX адбыўся пасьпяхова'
- loaded_successfully: пасьпяхова загружаны %{trace_points} пунктаў з магчымых
- %{possible_points}.
+ loaded_successfully:
+ one: пасьпяхова загружаны з %{trace_points} з 1 магчымага пункту.
+ few: пасьпяхова загружаныя %{trace_points} пункты з магчымых %{possible_points}.
+ many: пасьпяхова загружаныя %{trace_points} пунктаў з магчымых %{possible_points}.
signup_confirm:
subject: '[OpenStreetMap] Вітаем у OpenStreetMap'
email_confirm:
changesets:
changeset_paging_nav:
showing_page: Pàgina %{page}
- next: Següent »
- previous: « Anterior
+ next: Següent →
+ previous: ← Anterior
changeset:
anonymous: Anònim
no_edits: (no hi ha cap edició)
# Author: Logictheo
# Author: Macofe
# Author: Nikosgranturismogt
+# Author: Norhorn
# Author: Omnipaedista
# Author: Panos78
# Author: Protnet
diary_comment: Σχόλιο Ημερολογίου
diary_entry: Καταχώριση Ημερολογίου
friend: Φίλος
+ issue: Ζήτημα
language: Γλώσσα
message: Μήνυμα
node: Κόμβος
relation: Σχέση
relation_member: Μέλος της Σχέσης
relation_tag: Ετικέτα της Σχέσης
+ report: Αναφορά
session: Συνεδρία
trace: Ίχνος
tracepoint: Σημείο Ίχνους
description: Εξωτερικό πρόγραμμα (JOSM ή Merkaartor)
auth:
providers:
+ none: Κανένα
openid: OpenID
google: Google
facebook: Facebook
+ windowslive: Windows Live
github: GitHub
wikipedia: Βικιπαίδεια
api:
in_language_title: Καταχωρήσεις ημερολογίων στα %{language}
new: Νέα καταχώρηση ημερολογίου
new_title: Σύνταξη νέας καταχώρησης στο ημερολόγιό μου
+ my_diary: Το ημερολόγιό μου
no_entries: Δε βρέθηκαν καταχωρήσεις στο ημερολόγιο
recent_entries: Πρόσφατες καταχωρίσεις ημερολογίου
older_entries: Παλιότερες καταχωρήσεις
more_info_2: 'μπορούν να βρεθούν στο:'
success:
subject: '[OpenStreetMap] Η εισαγωγή GPX πέτυχε'
- loaded_successfully: φόρτωσε επιτυχώς με %{trace_points} από %{possible_points}
- πιθανά σημεία.
+ loaded_successfully:
+ one: φόρτωσε επιτυχώς με %{trace_points} από 1 πιθανό σημείο.
+ other: φόρτωσε επιτυχώς με %{trace_points} από πιθανά %{possible_points}
+ σημεία.
signup_confirm:
subject: '[OpenStreetMap] Καλώς ήλθατε στο OpenStreetMap'
greeting: Γεια σου!
<a href="https://data.wien.gv.at/">Stadt Wien</a> (υπό <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> και
Land Tirol (υπό <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT με τροποποιήσεις</a>).
+ contributors_au_html: |-
+ <strong>Αυστραλία</strong>: Περιέχει δεδομένα από
+ <a href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA Australia Limited</a>
+ με άδεια από το Commonwealth of Australia υπό
+ <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
contributors_ca_html: |-
<strong>Καναδάς</strong>: Περιέχει δεδομένα από τα
GeoBase®, GeoGratis (© Τμήμα Φυσικών
<strong>Σλοβενία</strong>: Περιέχει δεδομένα από την
<a href="http://www.gu.gov.si/en/">Αρχή Τοπογραφίας και Χαρτογράφησης</a> και το <a href="http://www.mkgp.gov.si/en/">Υπουργείο Γεωργίας, Δασών και Τροφίμων</a>
(δημόσιες πληροφορίες της Σλοβενίας).
+ contributors_es_html: |-
+ <strong>Ισπανία</strong>: Περιέχει δεδομένα από το
+ εθνικό γεωγραφικό ινστιτούτο Ισπανίας (<a href="http://www.ign.es/">IGN</a>) και το
+ Εθνικό σύστημα χαρτογράφησης (<a href="http://www.scne.es/">SCNE</a>)
+ αδειοδοτημένο για χρήση υπό <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
contributors_za_html: |-
<strong>Νότια Αφρική</strong>: Περιεχέι δεδομένα που προέρχονται από το
<a href="http://www.ngi.gov.za/">Chief Directorate:
description: Οδηγός αρχαρίων διατηρούμενος από την κοινότητα.
help:
url: https://help.openstreetmap.org/
- title: help.openstreetmap.org
+ title: Κοινότητα βοήθειας
description: Κάντε μία ερώτηση ή αναζητήσετε απαντήσεις στην ιστοσελίδα ερωτήσεων
και απαντήσεων του OpenStreetMap.
mailing_lists:
ό,τι χρειάζεστε να ξέρετε στο Welcome Mat.
wiki:
url: https://wiki.openstreetmap.org/
- title: wiki.openstreetmap.org
+ title: OpenStreetMap Wiki
description: Περιηγηθείτε το wiki για επιμελής τεκμηρίωση του OpenStreetMap.
sidebar:
search_results: Αποτελέσματα Αναζήτησης
trace_uploaded: Το GPX αρχείο σας έχει μεταμορφωθεί και αναμένει την εισαγωγή
στη βάση δεδομένων. Συνήθως αυτό θα συμβεί μέσα σε μισή ώρα, και μετά την
ολοκλήρωση θα σας αποσταλεί ένα email.
+ upload_failed: Η μεταφόρτωση του GPX απέτυχε. Ένας διαχειριστής έχει ενημερωθεί
+ για το σφάλμα. Παρακαλούμε δοκιμάστε ξανά.
traces_waiting:
one: Έχετε %{count} ίχνος σε αναμονή για ανέβασμα. Παρακαλούμε περιμένετε
να ολοκληρωθεί πριν ανεβάσετε άλλα, ώστε να μην εμποδίσετε τη σειρά αναμονής
terms declined: Λυπούμαστε για το ότι αποφασίσατε να μην αποδεχθείτε τους νέους
όρους συνεισφοράς. Για περισσότερες πληροφορίες, παρακαλούμε δείτε <a href="%{url}">αυτήν
τη σελίδα wiki</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: Όροι
heading: Όροι
read and accept with tou: Παρακαλώ διαβάστε τους όρους συνεισφοράς και όρους
χρήσης, επιλέξτε τα δυο πλαίσια ελέγχου όταν έχετε τελειώσει και πατήστε το
κουμπί για να συνεχίσετε.
+ contributor_terms_explain: Η συμφωνία διέπει τους όρους για υπάρχουσες και μελλοντικές
+ συνεισφορές σας.
read_ct: Έχω διαβάσει και αποδέχομαι τους παραπάνω όρους συνεισφοράς
tou_explain_html: Αυτοί %{tou_link} καλύπτουν τη χρήση της ιστοσελίδας και άλλης
υποδομής που προσφέρει η OSMF. Παρακαλώ ακολουθήστε τον σύνδεσμο, διαβάστε
consider_pd: Και επιπρόσθετα στην παραπάνω συμφωνία, καταστώ τις συνεισφορές
μου στο κοινό κτήμα (για ελεύθερη χρήση)
consider_pd_why: τι είναι αυτό;
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance_html: Πληροφορίες για να καταλάβετε αυτούς τους όρους:μία <href="%{summary}">
αναγνώσιμη περίληψη</a>και μερικές <a href=''%{translations}''>ανεπίσημες
μεταφράσεις </a>
continue: Συνέχεια
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Διαφωνώ
you need to accept or decline: Παρακαλώ διαβάστε και αποδεχτείτε ή απορρίψτε
τους νέους Όρους Συνεισφοράς για να συνεχίσετε.
να διαβάσετε και να αποδεχθείτε τους νέους Όρους Συνεισφοράς.
agreed_with_pd: Έχετε επίσης δηλώσει ότι θεωρείτε τις επεξεργασίες σας οτι
είναι Public Domain.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: τι είναι αυτό;
profile description: 'Περιγραφή Προφίλ:'
preferred languages: 'Προτιμώμενες Γλώσσες:'
image: 'Εικόνα:'
gravatar:
gravatar: Χρήση Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: τι είναι αυτό;
disabled: 'Το Gravatar έχει απενεργοποιηθεί:'
enabled: Εμφάνισης του Gravatar σας έχει ενεργοποιηθεί.
out: Σμίκρυνση
locate:
title: Προβολή της Τοποθεσίας μου
+ metersPopup:
+ one: Είστε εντός ενός μέτρου από το σημείο
+ other: Είστε μεταξύ %{count} μέτρων από το σημείο
+ feetPopup:
+ one: Είστε εντός ενός ποδός από το σημείο
+ other: Είστε μεταξύ %{count} ποδιών από το σημείο
base:
standard: Κανονικός
cycle_map: Χάρτης Ποδηλασίας
copyright: © <a href='%{copyright_url}'>Συνεισφέροντες του OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Κάνετε Δωρεά</a>
terms: <a href='%{terms_url}' target='_blank'>Όροι ιστότοπου και API</a>
+ thunderforest: Ευγενική χορηγεία πλακιδίων από τον <a href='%{thunderforest_url}'
+ target='_blank'>Andy Allan</a>
+ hotosm: Στύλ πλακιδίων από την <a href='%{hotosm_url}' target='_blank'>Ομάδα
+ Humanitarian OpenStreetMap</a> φιλοξενείται από <a href='%{osmfrance_url}'
+ target='_blank'>OpenStreetMap Γαλλίας</a>
site:
edit_tooltip: Επεξεργασία του χάρτη
edit_disabled_tooltip: Κάντε μεγέθυνση για να επεξεργαστείτε το χάρτη
in_language_title: "Diary Entries in %{language}"
new: New Diary Entry
new_title: Compose a new entry in my user diary
+ my_diary: My Diary
no_entries: No diary entries
recent_entries: "Recent diary entries"
older_entries: Older Entries
Resources Canada), CanVec (© Department of Natural
Resources Canada), kaj StatCan (Geography Division,
Statistics Canada).
- contributors_fi_html: |-
- <strong>Suomujo</strong>: enhavas datumojn el
- National Land Survey of Finland's Topographic Database kaj aliaj fontoj, laŭ la <a href="https://www.maanmittauslaitos.fi/en/opendata-licence-version1">permesilo NLSFI</a>.
- contributors_fr_html: '<strong>Francio</strong>: enhavas datumojn ricevitajn
- el ''Direction Générale des Impôts''.'
+ contributors_fi_html: '<strong>Finnlando</strong>: enhavas datumojn el la
+ Topografia Datumbazo «Maastotietokanta» de Ŝtata Ofico de Termezurado de
+ Finnlando «Maanmittauslaitos» laŭ la <a href="https://www.maanmittauslaitos.fi/avoindata-lisenssi-versio1">permesilo
+ NLSFI</a>.'
+ contributors_fr_html: '<strong>Francujo</strong>: enhavas datumojn ricevitajn
+ el Ĝenerala Direkcio de Impostoj «Direction Générale des Impôts».'
contributors_nl_html: |-
<strong>Nederlando</strong>: enhavas datumojn el © AND, 2007
(<a href="https://www.and.com">www.and.com</a>).
novan interkonsenton pri uzado por pluigi.
legale_select: 'Loĝlando:'
legale_names:
- france: Francio
+ france: Francujo
italy: Italujo
rest_of_world: Resto de la mondo
no_such_user:
# Author: Harvest
# Author: Hereñu
# Author: Idontknow
+# Author: Ignaciolep
# Author: Indiralena
# Author: Invadinado
# Author: James
activerecord:
errors:
messages:
- invalid_email_address: no aparenta ser una dirección de correo electrónico
- válida
+ invalid_email_address: no parece ser una dirección de correo electrónico válida
email_address_not_routable: no es enrutable
models:
acl: Lista de control de acceso
way: vía
relation: relación
start_rjs:
- feature_warning: Cargando %{num_features} características, lo que puede hacer
- que su navegador se ralentice o que no responda. ¿Está seguro de que desea
- mostrar estos datos?
+ feature_warning: Cargando %{num_features} elementos, lo que puede hacer que
+ su navegador se ralentice o que no responda. ¿Está seguro de que desea mostrar
+ estos datos?
load_data: Cargar datos
loading: Cargando...
tag_details:
hidden_by: Oculto por %{user} <abbr title='%{exact_time}'>%{when}</abbr>
report: Denunciar esta nota
query:
- title: Consultar características
- introduction: Haga clic en el mapa para encontrar características cercanas.
- nearby: Características cercanas
- enclosing: Características envolventes
+ title: Consultar elementos
+ introduction: Haga clic en el mapa para encontrar elementos cercanos.
+ nearby: Elementos cercanos
+ enclosing: Elementos envolventes
changesets:
changeset_paging_nav:
showing_page: Página %{page}
title: No existe esa entrada de diario
heading: 'No hay entrada con la id: %{id}'
body: No hay ninguna entrada de diario o comentario con el identificador %{id}.
- Comprueba la ortografía, o puede que el enlace al que has hecho clic sea incorrecto.
+ Revise su ortografía, o tal vez el enlace en el que hizo clic es incorrecto.
diary_entry:
posted_by_html: Publicado por %{link_user} el %{created} en %{language_link}
comment_link: Comentar esta entrada
credit_title_html: Cómo dar reconocimiento a OpenStreetMap
credit_1_html: Requerimos que utilices los créditos "© Colaboradores de OpenStreetMap".
credit_2_html: |-
- Usted debe también dejar claro que los datos están disponibles bajo la licencia Open Database License (ODbL), y si utiliza nuestros mapas, que la cartografía posee licencia CC BY-SA. Puede hacer esto mediante el enlace a <a href="https://www.openstreetmap.org/copyright">esta página de derechos de autor</a>.
+ También debe dejar en claro que los datos están disponibles bajo la licencia Open Database License (ODbL), y si utiliza nuestros mapas, que la cartografía posee licencia CC BY-SA. Puede hacer esto mediante el enlace a <a href="https://www.openstreetmap.org/copyright">esta página de derechos de autor</a>.
Como alternativa y como un requisito si están distribuyendo OSM en un formulario de datos, puede nombrar y enlazar directamente a las licencias. En medios de comunicación donde los enlaces no sean posibles (por ejemplo, obras impresas), le sugerimos que dirija a sus lectores a openstreetmap.org (quizás expandiendo 'OpenStreetMap' hasta esta dirección completa), a opendatacommons.org, y si procede, a creativecommons.org.
credit_3_html: |-
En un mapa electrónico navegable, los créditos deben aparecer en la esquina del mapa.
title: Ejemplo de atribución
more_title_html: Para saber más...
more_1_html: |-
- Encontrarás más información acerca de cómo utilizar nuestros datos y cómo citarnos como fuente en la <a
+ Encontrará más información acerca de cómo utilizar nuestros datos y cómo citarnos como fuente en la <a
href="https://osmfoundation.org/Licence">página de licencia de la OSMF</a>.
more_2_html: |-
A pesar de que OpenStreetMap es contenido abierto, no podemos suminstrar una API de mapas gratuita para terceros.
title: Qué hay en el mapa
on_html: OpenStreetMap es un lugar para el mapeo de las cosas que son <em>reales
y actuales</em> - esto incluye millones de edificios, carreteras, y otros
- detalles acerca de lugares. Puede mapear cualquier característica de la
- vida real que es interesante para usted.
- off_html: Lo que <em>no</em> se incluye son datos basados en opiniones (por
- ejemplo, valoraciones), características históricas que ya no existen sobre
- el terreno o hipotéticas, ni datos provenientes de fuentes protegidas por
- derechos de autor. A menos que tenga un permiso especial, no copie de mapas
- en línea o en papel.
+ detalles acerca de lugares. Puede mapear cualquier elemento de la vida real
+ que le interese.
+ off_html: Lo que <em>no</em> se incluye son datos basados en opiniones, como
+ calificaciones, elementos históricos o hipotéticos que no existen sobre
+ el terreno, ni datos provenientes de fuentes protegidas por derechos de
+ autor. A menos que tenga un permiso especial, no copie de mapas en línea
+ o en papel.
basic_terms:
title: Términos básicos para mapear
paragraph_1_html: OpenStreetMap tiene su propia jerga. Estas son algunas palabras
description: Explorar los itinerarios GPS recién subidos
tagged_with: etiquetado con %{tags}
empty_html: Todavía no hay nada aquí. <a href='%{upload_link}'>Sube una nueva
- traza</a> o aprende más sobre trazas GPS en la <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>página
+ 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
see_all_traces: Ver todas las trazas
confirm password: 'Confirmar contraseña:'
reset: Restablecer contraseña
flash changed: Tu contraseña ha sido cambiada.
- flash token bad: No se ha encontrado este elemento, ¿quizá debería comprobar
+ flash token bad: No se ha encontrado este elemento, ¿Quizá debería comprobar
la URL?
new:
title: Registrarse
read_tou: He leído y estoy de acuerdo con los Términos de Uso
consider_pd: Además del acuerdo anterior, considero que mis contribuciones se
encuentran en Dominio Público.
- consider_pd_why: ¿qué es esto?
+ consider_pd_why: ¿Qué es esto?
consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance_html: 'Información para ayudar a comprender estos términos: un <a href="%{summary}">resumen
legible</a> y algunas <a href="%{translations}">traducciones informales</a>'
external auth: 'Autenticación externa:'
openid:
link: https://wiki.openstreetmap.org/wiki/OpenID
- link text: ¿qué es esto?
+ link text: ¿Qué es esto?
public editing:
heading: 'Ediciones públicas:'
enabled: Activadas. No es anónimo y puede editar datos.
enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
- enabled link text: ¿qué es esto?
+ enabled link text: ¿Qué es esto?
disabled: Desactivadas y no puede editar datos; todas las ediciones anteriores
son anónimas.
disabled link text: ¿Por qué no puedo editar?
mensajes ni ver su localización. Para mostrar que es lo que ha editado y
permitir a la gente contactar con usted a través del sitio web, pulse el
botón inferior. <b>Desde la migración a la API 0.6, sólo los usuarios públicos
- pueden editar el mapa</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">más
+ pueden editar el mapa</b> (<a href="https://wiki.openstreetmap.org/wiki/ES:Ediciones_an%C3%B3nimas">más
detalles aquí</a>) <ul><li>Su dirección de correo no será revelada por el
hecho de ser público. </li><li>Esta acción no puede ser deshecha y todos
los nuevos usuarios son públicos por omisión.</li></ul>
contributor terms:
heading: 'Términos de Colaborador:'
agreed: Has aceptado los nuevos Términos de Colaborador.
- not yet agreed: Aún no has aceptado los nuevos Términos de Colaborador.
+ not yet agreed: Aún no ha aceptado los nuevos Términos de Colaborador.
review link text: Por favor, haz clic sobre este vínculo para revisar y aceptar
los nuevos Términos de Colaborador.
- agreed_with_pd: También has declarado que consideras tus modificaciones como
+ agreed_with_pd: También ha declarado que consideras tus modificaciones como
de Dominio Público.
link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: ¿Qué es esto?
createnote_disabled_tooltip: Acercar para añadir una nota al mapa
map_notes_zoom_in_tooltip: Acercar para ver notas del mapa
map_data_zoom_in_tooltip: Acercar para ver datos del mapa
- queryfeature_tooltip: Consultar características
- queryfeature_disabled_tooltip: Acercar para consultar características
+ queryfeature_tooltip: Consultar elementos
+ queryfeature_disabled_tooltip: Acercar para consultar elementos
changesets:
show:
comment: Comentar
ascend: Ascender
engines:
fossgis_osrm_bike: Bicicleta (OSRM)
- fossgis_osrm_car: En coche (OSRM)
- fossgis_osrm_foot: Pie (OSRM)
- graphhopper_bicycle: En bicicleta (GraphHopper)
- graphhopper_car: Auto (GraphHopper)
+ fossgis_osrm_car: Automóvil (OSRM)
+ fossgis_osrm_foot: A pie (OSRM)
+ graphhopper_bicycle: Bicicleta (GraphHopper)
+ graphhopper_car: Automóvil (GraphHopper)
graphhopper_foot: A pie (GraphHopper)
descend: Descender
directions: Indicaciones
node: Nodo
way: Vía
relation: Relación
- nothing_found: No se encontraron características
+ nothing_found: No se encontraron elementos
error: 'Error al contactar con %{server}: %{error}'
timeout: Tiempo de espera agotado al contactar con %{server}
context:
directions_to: Indicaciones hasta aquí
add_note: Añadir una nota aquí
show_address: Mostrar dirección
- query_features: Consultar características
+ query_features: Consultar elementos
centre_map: Centrar el mapa aquí
redactions:
edit:
بار شد.
signup_confirm:
subject: '[OpenStreetMap] به اوپناستریتمپ خوش آمدید'
- greeting: سلام!
+ greeting: سلام!
created: کسی (امیدواریم شما) در %{site_url} حساب کاربری ساخت.
confirm: پیش از هر کار دیگری، باید مطمئن شویم این درخواست از سوی شماست. اگر
همینطور است، لطفاً روی پیوند زیر کلیک کنید تا حساب کاربری خود را تأیید کنید:
پیوند زیر کلیک کنید.
note_comment_notification:
anonymous: کاربری گمنام
- greeting: سلام،
+ greeting: سلام،
commented:
subject_own: '[OpenStreetMap] %{commenter} روی یکی از یادداشتهای شما نظر
داد'
custom_dimensions: تنظیم ابعاد سفارشی
format: 'قالب:'
scale: 'مقیاس: '
- image_size: 'لایهٔ استاندارد در تصویری به این ابعاد نمایش داده میشود: '
+ image_size: 'این عکس، لایهٔ استاندارد را با این ابعاد نمایش میدهد: '
download: بارگیری
short_url: نشانی کوتاه
include_marker: شامل نشانگر
in_language_title: Entrées du journal en %{language}
new: Nouvelle entrée du journal
new_title: Écrire une nouvelle entrée dans mon journal utilisateur
+ my_diary: Mon journal
no_entries: Aucune entrée de journal
recent_entries: Entrées récentes du journal
older_entries: Entrées plus anciennes
in_language_title: Дневнички написи на %{language}
new: Нова дневничка ставка
new_title: Напишете нова ставка во вашиот кориснички дневник
+ my_diary: Мојот дневник
no_entries: Нема дневнички ставки
recent_entries: Скорешни дневнички ставки
older_entries: Постари ставки
diary_comment: Comentariu jurnal
diary_entry: Intrare în jurnal
friend: Prieten
+ issue: problemă
language: Limbă
message: Mesaj
node: Nod
relation: Relație
relation_member: Membru relație
relation_tag: Etichetă relație
+ report: Raport
session: Sesiune
trace: Urmă
tracepoint: Punct al unei înregistrări GPS
remote:
name: Control la distanță
description: Control de la distanță (JOSM sau Merkaartor)
+ auth:
+ providers:
+ none: Fără
+ openid: OpenID
+ google: OpenID
+ facebook: OpenID
+ windowslive: Windows Live
+ github: GitHub
+ wikipedia: Wikipedia
api:
notes:
comment:
tag: Pagina de pe wiki pentru tagul %{key}=%{value}
wikidata_link: Elementul %{page} pe Wikidata
wikipedia_link: Articolul %{page} pe Wikipedia
+ wikimedia_commons_link: Item-ul %{page} pe Wikimedia Commons
telephone_link: Sună %{phone_number}
+ colour_preview: Previzualizează %{colour_value} culoare
note:
title: 'Notă: %{id}'
new_note: Notă nouă
in_language_title: Înregistrări de jurnal în %{language}
new: O nouă înregistrare în jurnal
new_title: Compune o înregistrare nouă în jurnalul meu de utilizator
+ my_diary: Jurnalul meu
no_entries: Nu există înregistrări în jurnal
recent_entries: Înregistrări recente din jurnal
older_entries: Înregistrări mai vechi
social_club: Club social
social_facility: Facilitate socială
studio: Studio
- swimming_pool: Bazin de înot
+ swimming_pool: Piscină de înot
taxi: Taxi
telephone: Telefon public
theatre: Teatru
reopen:
reopened: Starea problemei a fost setată la 'Deschis'
comments:
+ comment_from_html: Comentariu de la %{user_link} pe %{comment_created_at}
reassign_param: Realocaţi problema?
reports:
- reported_by_html: Realocați ca %{category} de %{user}
+ reported_by_html: Raportat %{category} de %{user} pe %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, coment #%{comment_id}'
more_info_2: 'acestea pot fi găsite la adresa:'
success:
subject: '[OpenStreetMap] succes import fișier GPX'
- loaded_successfully: încărcate cu succes cu %{trace_points} din cauza punctelor
- posbibile %{possible_points}.
+ loaded_successfully:
+ other: încărcat cu succes cu %{trace_points} din 1 punct posibil.
signup_confirm:
subject: '[OpenStreetMap] Bun venit la OpenStreetMap'
- greeting: Bună!
- created: Cineva (sperăm că tu) tocmai ați creat un cont la %{site_url}.
+ greeting: Salut!
+ created: Cineva (sperăm că tu) tocmai a creat un cont la %{site_url}.
confirm: 'Înainte de a face orice altceva, trebuie să confirmați că această
solicitare a venit de la dvs., deci dacă este adevărat atunci faceți click
pe link-ul de mai jos pentru a vă confirma contul:'
greeting: Salut,
hopefully_you: Cineva (sperăm că tu) dorește să schimbe adresa de e-mail de
la %{server_url} la %{new_address}.
- click_the_link: Dacă sunteți ală, faceți clic pe linkul de mai jos pentru a
- confirma modificarea.
+ click_the_link: Dacă sunteți dumneavoastră, vă rugăm să faceți click pe linkul
+ de mai jos pentru a confirma modificarea.
email_confirm_html:
greeting: Salut,
- hopefully_you: Cineva (sperăm că tu) doriți să schimbați adresa de e-mail de
- la %{server_url} la %{new_address}.
+ hopefully_you: Cineva (sperăm că tu) ar dori să schimbe adresa de e-mail la
+ %{server_url} la %{new_address}.
click_the_link: Dacă sunteți acesta, faceți click pe linkul de mai jos pentru
a confirma modificarea.
lost_password:
greeting: Salut,
hopefully_you: Cineva (posibil tu) a cerut resetarea parolei în contul openstreetmap.org
al acestei adrese de e-mail.
- click_the_link: Dacă vă aflați aici, faceți click pe linkul de mai jos pentru
- a vă reseta parola.
+ click_the_link: Dacă sunteți dumneavoastră, vă rugăm să faceți click pe linkul
+ de mai jos pentru a vă reseta parola.
lost_password_html:
greeting: Salut,
hopefully_you: Cineva (posibil tu) a cerut resetarea parolei în contul openstreetmap.org
al acestei adrese de e-mail.
- click_the_link: Dacă vă aflați aici, faceți clic pe linkul de mai jos pentru
- a vă reseta parola.
+ click_the_link: Dacă sunteți dumneavoastră, vă rugăm să faceți click pe linkul
+ de mai jos pentru a vă reseta parola.
note_comment_notification:
anonymous: Un utilizator anonim
greeting: Salut,
de modificări'
subject_other: '[OpenStreetMap] %{commenter} a comentat un set de modificări
care vă interesează'
- your_changeset: '%{commenter} a lăsat un comentariu asupra uneia dintre setările
- de modificări create la %{time}'
- commented_changeset: '%{commenter} a lăsat un comentariu cu privire la setările
- de modificări ale hărții pe care le urmăriți create de %{changeset_author}
- la %{time}'
+ your_changeset: '%{commenter} a lăsat un comentariu la %{time} asupra unui
+ set de modificări ale dvs.'
+ commented_changeset: '%{commenter} a lăsat un comentariu %{time} cu privire
+ la un set de modificări pe care îl urmăriți creat de %{changeset_author}'
partial_changeset_with_comment: cu comentariul '%{changeset_comment}'
partial_changeset_without_comment: fără comentarii
details: Mai multe detalii despre setul de modificări pot fi găsite la adresa
Drepturi de autor și Pagina de licență</a> pentru detalii.'
legal_title: Legal
legal_1_html: |-
- Acest site și multe alte servicii conexe sunt operate în mod oficial de <a href='https://osmfoundation.org/'>OpenStreetMap Foundation</a> (OSMF)
- în numele comunității. Utilizarea tuturor serviciilor operate de OSMF este supusă <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use">Termenilor de Utilizare</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
- Politicile de Utilizare Acceptabile</a> şi <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">Politica de confidenţialitate
- </a>
- <br>
- Vă rugăm <a href='https://osmfoundation.org/Contact'>contactați OSMF</a>
- dacă aveți licențe, drepturi de autor sau alte întrebări legale.
+ Acest site și multe alte servicii conexe sunt operate în mod formal de <a href='https://osmfoundation.org/'>Fundația OpenStreetMap</a> (OSMF)
+ în numele comunității. Utilizarea tuturor serviciilor operate de OSMF este supusă <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use">Termeni de utilizare</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
+ Politici de utilizare acceptabile</a> și a <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy">Politica de confidențialitate</a>.
+ legal_2_html: |-
+ Vă rugăm să <a href='https://osmfoundation.org/Contact'>contactați OSMF</a>
+ dacă aveți licență, drepturi de autor sau alte întrebări legale.
<br>
- OpenStreetMap, sigla lupă și starea hărții sunt <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">mărci comerciale înregistrate ale OSMF</a>.
+ OpenStreetMap, logo-ul lupa și starea hărții sunt <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">mărci înregistrate ale OSMF</a>.
partners_title: Parteneri
copyright:
foreign:
legate de cartografiere.
welcome:
url: Bun venit
- title: Bine ați venit la OSM
+ title: Bine ați venit la OpenStreetMap
description: Începeți cu acest ghid rapid care acoperă elementele de bază
OpenStreetMap.
beginners_guide:
description: Ghid menținut de comunitate pentru începători.
help:
url: https://help.openstreetmap.org/
- title: help.openstreetmap.org
- description: Puneți o întrebare sau căutați răspunsuri pe site-ul de întrebări
- și răspunsuri al OSM.
+ title: Ajutor Forum
+ description: Adresează o întrebare sau caută răspunsuri pe site-ul OpenStreetMap
+ de întrebări și răspunsuri.
mailing_lists:
title: Lista de e-mail-uri
description: Adresați o întrebare sau discutați despre probleme interesante
ce trebuie să știți în Matricea de întâmpinare.
wiki:
url: https://wiki.openstreetmap.org/
- title: wiki.openstreetmap.org
- description: Răsfoiți wiki-ul pentru o documentație OSM detaliată.
+ title: OpenStreetMap Wiki
+ description: Caută pe wiki pentru o documentație OpenStreetMap detaliată.
sidebar:
search_results: Rezultatele căutării
close: Închide
newer: Urme mai noi
trace:
pending: ÎN AȘTEPTARE
- count_points: puncte %{count}
+ count_points:
+ one: 1 punct
+ other: '%{count} puncte'
more: mai multe
trace_details: Vezi detaliile urmei
view_map: Vezi hartă
no_apps_html: Aveți o aplicație pe care doriți să o înregistrați pentru a fi
utilizată cu noi folosind standardul %{oauth}? Trebuie să vă înregistrați
aplicația web înainte de a putea face cereri OAuth pentru acest serviciu.
+ oauth: OAuth
registered_apps: 'Aveți următoarele aplicații de client înregistrate:'
register_new: Înregistrați-vă cererea
form:
out: Micşorează
locate:
title: Arată locația mea
+ metersPopup:
+ one: Sunteți la un metru de acest punct
+ other: Sunteți la %{count} metri de acest punct
+ feetPopup:
+ one: Sunteți la un picior unitate de măsură de acest punct
+ other: Suntețî la %{count} picioare unitate de măsură de acest punct
base:
standard: Standard
cycle_map: Hartă de ciclism
copyright: © <a href='%{copyright_url}'>contribuitori OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Donează</a>
terms: <a href='%{terms_url}' target='_blank'>Website şi API terms</a>
+ thunderforest: Plăci amabilitatea <a href='%{thunderforest_url}' target='_blank'>Andy
+ Allan</a>
+ hotosm: Stilul plăcilor de <a href='%{hotosm_url}' target='_blank'>Humanitarian
+ OpenStreetMap Team</a> hosted by <a href='%{osmfrance_url}' target='_blank'>OpenStreetMap
+ France</a>
site:
edit_tooltip: Modifică harta
edit_disabled_tooltip: Măriți pentru a edita harta
in_language_title: 語言為%{language}的日記項目
new: 新增日記項目
new_title: 在我的使用者日記裡撰寫新內容
+ my_diary: 我的日記
no_entries: 沒有日記項目
recent_entries: 最近的日記項目
older_entries: 較舊的項目
end
def expand
- map(&:candidates).flatten.uniq << Locale.default
+ List.new(reverse.each_with_object([]) do |locale, expanded|
+ locale.candidates.uniq.reverse_each do |candidate|
+ expanded << candidate if candidate == locale || !expanded.include?(candidate)
+ end
+ end.reverse.uniq << Locale.default)
end
end
end
def self.available
- @available ||= List.new(I18n.available_locales)
+ @available ||= List.new(I18n.available_locales).reject!(&:invalid?)
+ end
+
+ def invalid?
+ I18n.t("activerecord.models.acl", :locale => self, :fallback => false, :raise => true).nil?
+ rescue I18n::MissingTranslationData
+ true
end
def candidates
- [self.class.new(language, script, region, variant),
- self.class.new(language, script, region),
- self.class.new(language, script, nil, variant),
- self.class.new(language, script),
- self.class.new(language, nil, region, variant),
- self.class.new(language, nil, region),
- self.class.new(language, nil, nil, variant),
- self.class.new(language)]
+ List.new([self.class.new(language, script, region, variant),
+ self.class.new(language, script, region),
+ self.class.new(language, script, nil, variant),
+ self.class.new(language, script),
+ self.class.new(language, nil, region, variant),
+ self.class.new(language, nil, region),
+ self.class.new(language, nil, nil, variant),
+ self.class.new(language)])
end
end
+++ /dev/null
-namespace "db" do
- desc "Adds a version number to the nodes table"
- task :node_version => :environment do
- require File.dirname(__FILE__) + "/../../config/environment"
-
- increment = 1000
- offset = 0
- id_max = OldNode.find(:first, :order => "id desc").id
-
- while offset < (id_max + increment)
- hash = {}
-
- # should be offsetting not selecting
- OldNode.find(:all, :limit => increment, :offset => offset, :order => "timestamp").each do |node|
- hash[node.id] ||= []
- hash[node.id] << node
- end
-
- hash.each_value do |node_array|
- n = 1
- node_array.each do |node|
- temp_old_node = TempOldNode.new
- temp_old_node.id = node.id
- temp_old_node.latitude = node.latitude
- temp_old_node.longitude = node.longitude
- temp_old_node.user_id = node.user_id
- temp_old_node.visible = node.visible
- temp_old_node.timestamp = node.timestamp
- temp_old_node.tile = node.tile
- temp_old_node.version = n
- temp_old_node.save! || raise
- n += 1
- end
- end
- offset += increment
- end
- end
-end
+++ /dev/null
-#!/usr/bin/env ruby
-Dir[File.dirname(__FILE__) + "/../lib/daemons/*_ctl"].each { |f| `#{f} #{ARGV.first}` }
+++ /dev/null
-#!/usr/bin/env ruby
-
-# require File.dirname(__FILE__) + "/../config/environment"
-
-start = 0
-User.where("image_use_gravatar AND id >=" + start.to_s).order("id").find_each do |user|
- p "checked up to id " + user.id.to_s if (user.id % 1000).zero? # just give a rough indication where we are for restarting
- next if user.avatar.attached?
-
- hash = Digest::MD5.hexdigest(user.email.downcase)
- url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
- response = OSM.http_client.get(URI.parse(url))
- user.image_use_gravatar = response.success?
- user.save
- sleep(1)
-end
-
-exit 0
create(:node_tag, :node => node, :k => key, :v => value)
end
end
+
+ private
+
+ def current_user
+ nil
+ end
end
end
def test_user_create_submit_duplicate_email
- I18n.available_locales.each do |locale|
+ Locale.available.each do |locale|
dup_email = create(:user).email
display_name = "#{locale}_new_tester"
assert_difference("User.count", 0) do
end
assert_response :success
assert_template "users/new"
- assert_equal locale.to_s, response.headers["Content-Language"] unless locale == :root
+ assert_equal locale.to_s, response.headers["Content-Language"]
assert_select "form > fieldset > div.standard-form-row > input.field_with_errors#user_email"
assert_no_missing_translations
end
end
def test_available
- assert_equal I18n.available_locales.count, Locale.available.count
+ assert Locale.available.count <= I18n.available_locales.count
end
def test_preferred
assert_equal "de", Locale.available.preferred(Locale.list("zh-Hant", "de")).to_s
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-Hant-TW", "de")).to_s
assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-TW", "de")).to_s
- assert_equal "zh-HK", Locale.available.preferred(Locale.list("yue", "zh-HK", "de")).to_s
- assert_equal "zh-yue", Locale.available.preferred(Locale.list("yue", "zh-yue", "zh-HK", "de")).to_s
- assert_equal "zh-yue", Locale.available.preferred(Locale.list("yue", "zh-YUE", "zh-HK", "de")).to_s
+ assert_equal "zh-TW", Locale.available.preferred(Locale.list("zh-HK", "zh-hk", "zh-Hant", "zh-hant", "zh-TW", "zh-tw", "zh", "zh-yue", "yue", "yue-Hant", "yue-HK", "yue-Hans", "zh-classical", "lzh", "ja-Hani", "ko-Hani", "ko_hanja", "vi-Hani", "ja-hani", "ko-hani", "vi-hani", "en-HK", "en-hk", "en-SG", "en-sg", "en-GB", "en-gb", "en-US", "en-us", "en", "ja")).to_s
assert_equal "en", Locale.available.preferred(Locale.list("yue")).to_s
end
end