From 8c45b21dea2530ceaaf62fcea1c1327a98cf0b1d Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Tue, 9 Feb 2016 17:22:01 -0500 Subject: [PATCH 01/70] allowing multiple place rules in a project --- .../ang/controllers/observation_search.js | 18 ++++++++++--- .../javascripts/ang/models/observation.js | 4 +-- .../javascripts/inaturalist/map3.js.erb | 2 +- app/controllers/projects_controller.rb | 2 +- app/models/observation.rb | 8 +++++- app/models/project.rb | 26 +++++++++++++++---- lib/ruler/ruler/has_rules_for.rb | 3 +++ 7 files changed, 49 insertions(+), 14 deletions(-) diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index 1e678db64fd..8c2794fc0d7 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -229,7 +229,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.alignMapOnSearch = true; $scope.params.place_id = $scope.selectedPlace.id; } - } else { + } else if( !_.isArray( $scope.params.place_id) ) { $scope.alignMapOnSearch = false; $scope.params.place_id = "any"; } @@ -256,10 +256,17 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root } }; $scope.initializePlaceParams = function( ) { - if( $scope.params.place_id ) { + $scope.params.place_id = $scope.params["place_id[]"] || $scope.params.place_id; + if( _.isString( $scope.params.place_id ) ) { + $scope.params.place_id = _.filter( $scope.params.place_id.split(","), _.identity ); + } + if( _.isArray( $scope.params.place_id ) && $scope.params.place_id.length === 1 ) { + $scope.params.place_id = $scope.params.place_id[0]; + } + if( $scope.params.place_id && !_.isArray( $scope.params.place_id ) ) { $scope.params.place_id = parseInt( $scope.params.place_id ); } - if( $scope.params.place_id ) { + if( $scope.params.place_id && !_.isArray( $scope.params.place_id ) ) { // load place name and polygon from ID PlacesFactory.show( $scope.params.place_id ).then( function( response ) { places = PlacesFactory.responseToInstances( response ); @@ -946,7 +953,10 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root // If there's a more readable way to perform this simple task, please let me know. $scope.params.observationFields = _.reduce( urlParams, function( memo, v, k ) { if( k.match(/(\w+):(\w+)/ ) ) { - memo[k] = v; + // true represents a key with no value, so leave value undefined + k = k.replace( /(%20|\+)/g, " "); + if( _.isString( v ) ) { v = v.replace( /(%20|\+)/g, " "); } + memo[k] = ( v === true ) ? undefined : v; } return memo; }, { } ); diff --git a/app/assets/javascripts/ang/models/observation.js b/app/assets/javascripts/ang/models/observation.js index 568476030f6..0f677db3283 100644 --- a/app/assets/javascripts/ang/models/observation.js +++ b/app/assets/javascripts/ang/models/observation.js @@ -29,11 +29,11 @@ iNatModels.Observation.prototype.photo = function( ) { iNatModels.Observation.prototype.hasMedia = function( ) { return this.photo( ) || this.hasSound( ); -} +}; iNatModels.Observation.prototype.hasSound = function( ) { return (this.sounds && this.sounds.length > 0); -} +}; iNatModels.Observation.prototype.displayPlace = function( ) { if (this.place_guess) { diff --git a/app/assets/javascripts/inaturalist/map3.js.erb b/app/assets/javascripts/inaturalist/map3.js.erb index 9299dfc30fb..84748e2fd1f 100644 --- a/app/assets/javascripts/inaturalist/map3.js.erb +++ b/app/assets/javascripts/inaturalist/map3.js.erb @@ -904,7 +904,7 @@ var appendValidParamsToURL = function( url, options ) { if( _.contains( options.validParams, key ) ) { params[ key ] = value; } - if ( key.match( /field:\w+/ ) ) { + if ( key.match( /field[:%]\w+/ ) ) { params[ key ] = value; } }); diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index b96daa6ec0c..4b378c29bd6 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -850,7 +850,7 @@ def scope_for_add_matching @taxon = Taxon.find_by_id(params[:taxon_id]) unless params[:taxon_id].blank? scope = @project.observations_matching_rules. by(current_user). - includes(:taxon, :project_observations). + joins(:project_observations). where("project_observations.id IS NULL OR project_observations.project_id != ?", @project) scope = scope.of(@taxon) if @taxon scope diff --git a/app/models/observation.rb b/app/models/observation.rb index 7b2cbcc5f4a..a4983258aea 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -385,7 +385,13 @@ def distinct_taxon joins("JOIN place_geometries ON place_geometries.place_id = #{place_id}"). where("ST_Intersects(place_geometries.geom, observations.private_geom)") } - + + # should use .select("DISTINCT observations.*") + scope :in_places, lambda {|place_ids| + joins("JOIN place_geometries ON place_geometries.place_id IN (#{place_ids.join(",")})"). + where("ST_Intersects(place_geometries.geom, observations.private_geom)") + } + scope :in_taxons_range, lambda {|taxon| taxon_id = taxon.is_a?(Taxon) ? taxon.id : taxon.to_i joins("JOIN taxon_ranges ON taxon_ranges.taxon_id = #{taxon_id}"). diff --git a/app/models/project.rb b/app/models/project.rb index d50edac14d0..6a1c4d6bb0f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -133,6 +133,7 @@ def aggregation_preference_allowed? automated: false def place_with_boundary + return if place_id.blank? unless PlaceGeometry.where(:place_id => place_id).exists? errors.add(:place_id, "must be set and have a boundary for a bioblitz") end @@ -211,7 +212,11 @@ def curated_by?(user) end def rule_place - project_observation_rules.where(operator: "observed_in_place?").first.try(:operand) + @rule_place ||= rule_places.first + end + + def rule_places + @rule_places ||= project_observation_rules.where(operator: "observed_in_place?").map(&:operand).compact end def rule_taxon @@ -219,7 +224,7 @@ def rule_taxon end def rule_taxa - @rule_taxa ||= project_observation_rules.where(:operator => "in_taxon?").map(&:operand).compact + @rule_taxa ||= project_observation_rules.where(operator: "in_taxon?").map(&:operand).compact end def icon_url @@ -258,12 +263,13 @@ def tracking_code_allowed?(code) def observations_matching_rules scope = Observation.all + place_ids = [ ] project_observation_rules.each do |rule| case rule.operator when "in_taxon?" scope = scope.of(rule.operand) when "observed_in_place?" - scope = scope.in_place(rule.operand) + place_ids << rule.operand.try(:id) || rule.operand when "on_list?" scope = scope.where("observations.taxon_id = listed_taxa.taxon_id"). joins("JOIN listed_taxa ON listed_taxa.list_id = #{project_list.id}") @@ -273,11 +279,14 @@ def observations_matching_rules scope = scope.where("observations.geom IS NOT NULL") end end + unless place_ids.empty? + scope = scope.in_places(place_ids) + end scope end def observations_url_params - params = {:place_id => place_id} + params = { } if start_time && end_time if prefers_range_by_date? params.merge!( @@ -289,11 +298,13 @@ def observations_url_params end end taxon_ids = [] + place_ids = [ place_id ] project_observation_rules.each do |rule| case rule.operator when "in_taxon?" taxon_ids << rule.operand_id when "observed_in_place?" + place_ids << rule.operand_id # Ignore, we already added the place_id when "on_list?" params[:list_id] = project_list.id @@ -314,8 +325,10 @@ def observations_url_params params[:captive] = false end end - taxon_ids.compact.uniq! + taxon_ids = taxon_ids.compact.uniq + place_ids = place_ids.compact.uniq params.merge!(taxon_ids: taxon_ids) unless taxon_ids.blank? + params.merge!(place_id: place_ids) unless place_ids.blank? params end @@ -627,6 +640,9 @@ def invite_only? def aggregation_allowed? return true if place && place.bbox_area < 141 return true if project_observation_rules.where("operator IN (?)", %w(in_taxon? on_list?)).exists? + return true if project_observation_rules.where("operator IN (?)", %w(observed_in_place?)).map{ |r| + r.operand && r.operand.bbox_area < 141 + }.uniq == [ true ] false end diff --git a/lib/ruler/ruler/has_rules_for.rb b/lib/ruler/ruler/has_rules_for.rb index ef2e4f7c2ce..72ad89c7011 100644 --- a/lib/ruler/ruler/has_rules_for.rb +++ b/lib/ruler/ruler/has_rules_for.rb @@ -28,6 +28,9 @@ def validates_rules_from(association, options = {}) next if errors_for_operator.blank? if operator_rules.size == 1 errors[:base] << "Didn't pass rule: #{errors_for_operator.first}" + # FYI: if there are multiple rules with the same operator + # ONLY ONE of the rules with that operator must pass. For example + # if there are 10 place rules, the obs needs be in only 1 elsif errors_for_operator.size == operator_rules.size errors[:base] << "Didn't pass rules: #{errors_for_operator.join(' OR ')}" end From 1f044b452dd6ad82a9fa12ca4f4588ade0cb82ac Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Thu, 11 Feb 2016 13:05:29 -0500 Subject: [PATCH 02/70] added apply_project_rules_for param for project with too many rules --- .../observation_search/filter_menu.html.haml | 1 + .../javascripts/inaturalist/map3.js.erb | 3 +- app/controllers/observations_controller.rb | 8 +++- app/es_indices/observation_index.rb | 6 +-- app/models/project.rb | 12 ++++-- lib/observation_search.rb | 38 ++++++++++++------- lib/ruler/ruler/has_rules_for.rb | 5 ++- .../indices/observation_index_spec.rb | 8 ++-- spec/lib/observation_search_spec.rb | 4 +- 9 files changed, 54 insertions(+), 31 deletions(-) diff --git a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml index 0e1fa98fe81..7886201ec16 100644 --- a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml @@ -143,6 +143,7 @@ %input{ type: "hidden", name: "year" } %input{ type: "hidden", name: "site_id" } %input{ type: "hidden", name: "projects[]" } + %input{ type: "hidden", name: "apply_project_rules_for" } .row .col-xs-12 %button#filters-more-btn.btn.btn-link{ type: 'button', "ng-class" => "{ 'collapsed': moreFiltersHidden }", "ng-click" => "toggleMoreFilters( )" } diff --git a/app/assets/javascripts/inaturalist/map3.js.erb b/app/assets/javascripts/inaturalist/map3.js.erb index 84748e2fd1f..663664c1c1e 100644 --- a/app/assets/javascripts/inaturalist/map3.js.erb +++ b/app/assets/javascripts/inaturalist/map3.js.erb @@ -1056,7 +1056,8 @@ google.maps.Map.prototype.addObservationsLayer = function(title, options) { 'featured_observation_id', 'threatened', 'introduced', 'endemic', 'native', 'verifiable', 'popular', 'has', 'photos', 'sounds', 'photo_license', 'created_d1', 'created_d2', 'not_in_project', - 'lat', 'lng', 'viewer_id', 'identified', 'taxon_ids[]', 'projects[]' ]; + 'lat', 'lng', 'viewer_id', 'identified', 'taxon_ids[]', 'projects[]', + 'apply_project_rules_for' ]; gridTileSuffix = appendValidParamsToURL( gridTileSuffix, _.extend( options, { validParams: paramKeys, endpoint: "grid" } )); pointTileSuffix = appendValidParamsToURL( pointTileSuffix, _.extend( diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index f3a871307bc..303bcb7b812 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -118,6 +118,11 @@ def index params[:taxon_id] = t.id end end + if params[:apply_project_rules_for] && + project = Project.find_by_id(params[:apply_project_rules_for]) + params.merge!(project.observations_url_params(extended: true)) + params.delete(:apply_project_rules_for) + end render layout: "bootstrap", locals: { params: params } end @@ -2044,7 +2049,8 @@ def stats_adequately_scoped?(search_params = { }) stats_params[:place_id].blank? && stats_params[:user_id].blank? && stats_params[:on].blank? && - stats_params[:created_on].blank? + stats_params[:created_on].blank? && + stats_params[:apply_project_rules_for].blank? ) end diff --git a/app/es_indices/observation_index.rb b/app/es_indices/observation_index.rb index c613b10e429..b9d3a8c4ce3 100644 --- a/app/es_indices/observation_index.rb +++ b/app/es_indices/observation_index.rb @@ -233,7 +233,7 @@ def self.params_to_elastic_query(params, options = {}) { http_param: :month, es_field: "observed_on_details.month" }, { http_param: :year, es_field: "observed_on_details.year" }, { http_param: :week, es_field: "observed_on_details.week" }, - { http_param: :place, es_field: "place_ids" }, + { http_param: :place_id, es_field: "place_ids" }, { http_param: :site_id, es_field: "site_id" } ].each do |filter| unless p[ filter[:http_param] ].blank? @@ -561,12 +561,12 @@ def self.conservation_condition(es_field, values, params) } } } } } - if params[:place] + if params[:place_id] # if a place condition is specified, return all results # from the place(s) specified, or where place is NULL status_condition[:nested][:query][:filtered][:filter] = { bool: { should: [ { terms: { "taxon.statuses.place_id" => - [ params[:place] ].flatten.map{ |v| ElasticModel.id_or_object(v) } } }, + [ params[:place_id] ].flatten.map{ |v| ElasticModel.id_or_object(v) } } }, { missing: { field: "taxon.statuses.place_id" } } ] } } else diff --git a/app/models/project.rb b/app/models/project.rb index 6a1c4d6bb0f..2a8dca5cf3e 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -285,7 +285,7 @@ def observations_matching_rules scope end - def observations_url_params + def observations_url_params(options = {}) params = { } if start_time && end_time if prefers_range_by_date? @@ -327,8 +327,12 @@ def observations_url_params end taxon_ids = taxon_ids.compact.uniq place_ids = place_ids.compact.uniq - params.merge!(taxon_ids: taxon_ids) unless taxon_ids.blank? - params.merge!(place_id: place_ids) unless place_ids.blank? + if !options[:extended] && taxon_ids.count + place_ids.count >= 50 + params = { apply_project_rules_for: self.id } + else + params.merge!(taxon_ids: taxon_ids) unless taxon_ids.blank? + params.merge!(place_id: place_ids) unless place_ids.blank? + end params end @@ -655,7 +659,7 @@ def aggregate_observations(options = {}) added = 0 fails = 0 logger.info "[INFO #{Time.now}] Starting aggregation for #{self}" - params = observations_url_params.merge(per_page: 200, not_in_project: id) + params = observations_url_params(extended: true).merge(per_page: 200, not_in_project: id) # making sure we only look observations opdated since the last aggregation unless last_aggregated_at.nil? params[:updated_since] = last_aggregated_at.to_s diff --git a/lib/observation_search.rb b/lib/observation_search.rb index 48f8bb413d8..7154d07e3a2 100644 --- a/lib/observation_search.rb +++ b/lib/observation_search.rb @@ -16,7 +16,9 @@ def site_search_params(site, params = {}) when Site::OBSERVATIONS_FILTERS_SITE search_params[:site_id] = site.id if search_params[:site_id].blank? when Site::OBSERVATIONS_FILTERS_PLACE - search_params[:place] = site.place if search_params[:place_id].blank? + if search_params[:place_id].blank? && site.place + search_params[:place_id] = site.place.id + end when Site::OBSERVATIONS_FILTERS_BOUNDING_BOX if search_params[:nelat].blank? && search_params[:nelng].blank? && @@ -171,6 +173,11 @@ def elastic_taxon_leaf_ids(elastic_params = {}) # elastic_query (ES) def query_params(params) p = params.clone.symbolize_keys + unless p[:apply_project_rules_for].blank? + if p[:apply_project_rules_for] = Project.find_by_id(p[:apply_project_rules_for]) + p.merge!(p[:apply_project_rules_for].observations_url_params(extended: true)) + end + end if p[:swlat].blank? && p[:swlng].blank? && p[:nelat].blank? && p[:nelng].blank? && p[:BBOX] p[:swlng], p[:swlat], p[:nelng], p[:nelat] = p[:BBOX].split(',') end @@ -318,10 +325,13 @@ def query(params = {}) scope = self viewer = params[:viewer].is_a?(User) ? params[:viewer].id : params[:viewer] - place_id = if params[:place_id].to_i > 0 - params[:place_id] - elsif !params[:place_id].blank? - Place.find(params[:place_id]).try(:id) rescue 0 + place_ids = [ ] + if params[:place_id].is_a?(Array) + place_ids = params[:place_id] + elsif params[:place_id].to_i > 0 + place_ids << params[:place_id] + elsif !params[:place_id].blank? && p = Place.find(params[:place_id]) + place_ids << p.id end # support bounding box queries @@ -387,7 +397,7 @@ def query(params = {}) end scope = scope.by(params[:user_id]) if params[:user_id] scope = scope.in_projects(params[:projects]) if params[:projects] - scope = scope.in_place(place_id) unless params[:place_id].blank? + scope = scope.in_places(place_ids) unless place_ids.empty? scope = scope.created_on(params[:created_on]) if params[:created_on] scope = scope.out_of_range if params[:out_of_range] == 'true' scope = scope.in_range if params[:out_of_range] == 'false' @@ -437,37 +447,37 @@ def query(params = {}) if !params[:cs].blank? scope = scope.joins(:taxon => :conservation_statuses).where("conservation_statuses.status IN (?)", [params[:cs]].flatten) - scope = if place_id.blank? + scope = if place_ids.empty? scope.where("conservation_statuses.place_id IS NULL") else - scope.where("conservation_statuses.place_id = ? OR conservation_statuses.place_id IS NULL", place_id) + scope.where("conservation_statuses.place_id IN (?) OR conservation_statuses.place_id IS NULL", place_ids.join(",")) end end if !params[:csi].blank? iucn_equivs = [params[:csi]].flatten.map{|v| Taxon::IUCN_CODE_VALUES[v.upcase]}.compact.uniq scope = scope.joins(:taxon => :conservation_statuses).where("conservation_statuses.iucn IN (?)", iucn_equivs) - scope = if place_id.blank? + scope = if place_ids.empty? scope.where("conservation_statuses.place_id IS NULL") else - scope.where("conservation_statuses.place_id = ? OR conservation_statuses.place_id IS NULL", place_id) + scope.where("conservation_statuses.place_id IN (?) OR conservation_statuses.place_id IS NULL", place_ids.join(",")) end end if !params[:csa].blank? scope = scope.joins(:taxon => :conservation_statuses).where("conservation_statuses.authority = ?", params[:csa]) - scope = if place_id.blank? + scope = if place_ids.empty? scope.where("conservation_statuses.place_id IS NULL") else - scope.where("conservation_statuses.place_id = ? OR conservation_statuses.place_id IS NULL", place_id) + scope.where("conservation_statuses.place_id IN (?) OR conservation_statuses.place_id IS NULL", place_ids.join(",")) end end establishment_means = params[:establishment_means] || params[:em] - if !place_id.blank? && !establishment_means.blank? + if !place_ids.empty? && !establishment_means.blank? scope = scope. joins("JOIN listed_taxa ON listed_taxa.taxon_id = observations.taxon_id"). - where("listed_taxa.place_id = ?", place_id) + where("listed_taxa.place_id IN (?)", place_ids.join(",")) scope = case establishment_means when ListedTaxon::NATIVE scope.where("listed_taxa.establishment_means IN (?)", ListedTaxon::NATIVE_EQUIVALENTS) diff --git a/lib/ruler/ruler/has_rules_for.rb b/lib/ruler/ruler/has_rules_for.rb index 72ad89c7011..0585bd473e7 100644 --- a/lib/ruler/ruler/has_rules_for.rb +++ b/lib/ruler/ruler/has_rules_for.rb @@ -21,7 +21,10 @@ def validates_rules_from(association, options = {}) rules.group_by(&:operator).each do |operator, operator_rules| errors_for_operator = [] operator_rules.each do |rule| - unless rule.validates?(self) + if rule.validates?(self) + # since only one of the group needs to pass, we can stop + break + else errors_for_operator << rule.terms end end diff --git a/spec/lib/elastic_model/indices/observation_index_spec.rb b/spec/lib/elastic_model/indices/observation_index_spec.rb index a6ec6a25fbf..847f87856d5 100644 --- a/spec/lib/elastic_model/indices/observation_index_spec.rb +++ b/spec/lib/elastic_model/indices/observation_index_spec.rb @@ -200,7 +200,7 @@ { http_param: :observed_on_day, es_field: "observed_on_details.day" }, { http_param: :observed_on_month, es_field: "observed_on_details.month" }, { http_param: :observed_on_year, es_field: "observed_on_details.year" }, - { http_param: :place, es_field: "place_ids" }, + { http_param: :place_id, es_field: "place_ids" }, { http_param: :site_id, es_field: "site_id" } ].each do |filter| # single values @@ -542,7 +542,7 @@ complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: { "taxon.statuses.status" => [ "testing" ]}}]}}, filter: [ { missing: { field: "taxon.statuses.place_id" }}]}}}}]) - expect( Observation.params_to_elastic_query({ cs: "testing", place: 6 }) ).to include( + expect( Observation.params_to_elastic_query({ cs: "testing", place_id: 6 }) ).to include( complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: {"taxon.statuses.status" => [ "testing" ]}}]}}, filter: { bool: { should: [ @@ -555,7 +555,7 @@ complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: { "taxon.statuses.iucn" => [ 10 ]}}]}}, filter: [ { missing: { field: "taxon.statuses.place_id" }}]}}}}]) - expect( Observation.params_to_elastic_query({ csi: "LC", place: 6 }) ).to include( + expect( Observation.params_to_elastic_query({ csi: "LC", place_id: 6 }) ).to include( complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: {"taxon.statuses.iucn" => [ 10 ]}}]}}, filter: { bool: { should: [ @@ -568,7 +568,7 @@ complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: { "taxon.statuses.authority" => [ "iucn" ]}}]}}, filter: [ { missing: { field: "taxon.statuses.place_id" }}]}}}}]) - expect( Observation.params_to_elastic_query({ csa: "IUCN", place: 6 }) ).to include( + expect( Observation.params_to_elastic_query({ csa: "IUCN", place_id: 6 }) ).to include( complex_wheres: [ { nested: { path: "taxon.statuses", query: { filtered: { query: { bool: { must: [ { terms: {"taxon.statuses.authority" => [ "iucn" ]}}]}}, filter: { bool: { should: [ diff --git a/spec/lib/observation_search_spec.rb b/spec/lib/observation_search_spec.rb index 7d95bef0175..426a99f64de 100644 --- a/spec/lib/observation_search_spec.rb +++ b/spec/lib/observation_search_spec.rb @@ -17,11 +17,9 @@ place: Place.make!) req_params = { } query_params = Observation.site_search_params(s, req_params) - expect( query_params[:place] ).to eq s.place - expect( query_params[:place_id] ).to be nil + expect( query_params[:place_id] ).to eq s.place.id req_params = { place_id: s.place.id + 1 } query_params = Observation.site_search_params(s, req_params) - expect( query_params[:place] ).to be nil expect( query_params[:place_id] ).to eq (s.place.id + 1) end From 96f06e31f024f3f2f03d7013cae2558ec4e704df Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Thu, 11 Feb 2016 14:05:12 -0500 Subject: [PATCH 03/70] fixing observation form place bug --- app/controllers/observations_controller.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index 303bcb7b812..2379a1f59db 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -2133,7 +2133,10 @@ def set_up_instance_variables(search_params) @swlng = search_params[:swlng] unless search_params[:swlng].blank? @nelat = search_params[:nelat] unless search_params[:nelat].blank? @nelng = search_params[:nelng] unless search_params[:nelng].blank? - @place = search_params[:place] unless search_params[:place].blank? + unless search_params[:place].blank? || + (search_params[:place].is_a?(Array) && search_params[:place].length > 1) + @place = search_params[:place] + end @q = search_params[:q] unless search_params[:q].blank? @search_on = search_params[:search_on] @iconic_taxa = search_params[:iconic_taxa_instances] From 2868ab13674b16e1daf093afe2227671d126d90f Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 12 Feb 2016 10:46:12 -0500 Subject: [PATCH 04/70] adding to ES list_ids, ancestry for min rank species counts; fixed bug with aggregator --- app/es_indices/observation_index.rb | 5 +++-- app/es_indices/taxon_index.rb | 2 ++ app/models/observation.rb | 1 + app/models/project.rb | 7 ++++++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/es_indices/observation_index.rb b/app/es_indices/observation_index.rb index b9d3a8c4ce3..f5af3568f91 100644 --- a/app/es_indices/observation_index.rb +++ b/app/es_indices/observation_index.rb @@ -7,7 +7,7 @@ class Observation < ActiveRecord::Base :indexed_project_ids_without_curator_id scope :load_for_index, -> { includes( - :user, :confirmed_reviews, :flags, :quality_metrics, + :user, :confirmed_reviews, :flags, :quality_metrics, :lists, { sounds: :user }, { photos: [ :user, :flags ] }, { taxon: [ { taxon_names: :place_taxon_names }, :conservation_statuses, @@ -104,6 +104,7 @@ def as_indexed_json(options={}) project_ids_without_curator_id: (indexed_project_ids_without_curator_id || project_observations.select{ |po| po.curator_identification_id.nil? }. map(&:project_id)).compact.uniq, + list_ids: lists.map(&:id).compact.uniq, reviewed_by: confirmed_reviews.map(&:user_id), tags: (indexed_tag_names || tags.map(&:name)).compact.uniq, user: user ? user.as_indexed_json : nil, @@ -514,7 +515,7 @@ def self.params_to_elastic_query(params, options = {}) { cached_votes_total: sort_order } when "id" { id: sort_order } - else "observations.id" + else { created_at: sort_order } end diff --git a/app/es_indices/taxon_index.rb b/app/es_indices/taxon_index.rb index 8a113eae6dd..739f8c9a489 100644 --- a/app/es_indices/taxon_index.rb +++ b/app/es_indices/taxon_index.rb @@ -58,6 +58,8 @@ def as_indexed_json(options={}) statuses: conservation_statuses.map(&:as_indexed_json) } json[:ancestry] = json[:ancestor_ids].join(",") + json[:min_species_ancestry] = (rank_level && rank_level < RANK_LEVELS["species"]) ? + json[:ancestor_ids][0...-1].join(",") : json[:ancestry] unless options[:for_observation] json.merge!({ created_at: created_at, diff --git a/app/models/observation.rb b/app/models/observation.rb index a4983258aea..1d32ad58195 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -232,6 +232,7 @@ class Observation < ActiveRecord::Base # note last_observation and first_observation on listed taxa will get reset # by CheckList.refresh_with_observation has_many :listed_taxa, :foreign_key => 'last_observation_id' + has_many :lists, -> { joins(:listed_taxa).distinct }, foreign_key: :taxon_id, primary_key: :taxon_id has_many :first_listed_taxa, :class_name => "ListedTaxon", :foreign_key => 'first_observation_id' has_many :first_check_listed_taxa, -> { where("listed_taxa.place_id IS NOT NULL") }, :class_name => "ListedTaxon", :foreign_key => 'first_observation_id' diff --git a/app/models/project.rb b/app/models/project.rb index 2a8dca5cf3e..8b855753afe 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -669,6 +669,7 @@ def aggregate_observations(options = {}) list = params[:list_id] ? List.find_by_id(params[:list_id]) : nil page = 1 total_entries = nil + last_observation_id = 0 while true if options[:pidfile] unless File.exists?(options[:pidfile]) @@ -691,9 +692,12 @@ def aggregate_observations(options = {}) Observation.query(params).paginate(page: page, total_entries: total_entries, per_page: observations_url_params[:per_page]) else + search_params = Observation.get_search_params(params) # setting list_id to nil because we would have used the DB above # if we could have, and ES can't handle list_ids - Observation.elastic_query(params.merge(page: page, list_id: nil)) + search_params.merge!({ min_id: last_observation_id + 1, + list_id: nil, order_by: "id", order: "asc" }) + Observation.page_of_results(search_params) end break if observations.blank? # caching total entries since it should be the same for each page @@ -710,6 +714,7 @@ def aggregate_observations(options = {}) Rails.logger.debug "[DEBUG] Failed to add #{po} to #{self}: #{po.errors.full_messages.to_sentence}" end end + last_observation_id = observations.last.id observations = nil page += 1 end From b2e8e2d3448f1f3b26bea06fea345024d2df21ec Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Wed, 17 Feb 2016 00:17:38 -0800 Subject: [PATCH 05/70] semantics change for still_needs_id --- Gemfile.lock | 3 --- config/locales/en.yml | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1de1e5d6aa8..3b74d80582c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -782,6 +782,3 @@ DEPENDENCIES xmp! ya2yaml yui-compressor - -BUNDLED WITH - 1.10.6 diff --git a/config/locales/en.yml b/config/locales/en.yml index fc7e56158f5..f5c17f388f2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2723,7 +2723,7 @@ en: status_globally: "%{status} Globally" status_in_place: "%{status} in %{place}" still_no_luck?: Still no luck? - still_needs_id?: Still needs ID? + still_needs_id?: Community can confirm/improve ID? still_working_on_classifying_taxon: Still working on classifying this taxon. Check back later stop_editing: Stop Editing stop_following_user: "Stop following %{user}" @@ -4825,3 +4825,4 @@ en: previous_label: "← Prev" next_label: "Next →" page_gap: "…" + From f75667b87fc56077c499ed78356cde04d0716634 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Wed, 17 Feb 2016 14:45:48 -0500 Subject: [PATCH 06/70] allowing list_id queries to go through ES --- app/controllers/observations_controller.rb | 5 ----- app/es_indices/observation_index.rb | 3 +-- app/models/observation.rb | 5 +++-- lib/observation_search.rb | 15 ++++++++++++--- .../indices/observation_index_spec.rb | 15 +++++++++++++++ spec/models/observation_spec.rb | 13 +++++++++++++ 6 files changed, 44 insertions(+), 12 deletions(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index 13316b59669..dec4c643e01 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -118,11 +118,6 @@ def index params[:taxon_id] = t.id end end - if params[:apply_project_rules_for] && - project = Project.find_by_id(params[:apply_project_rules_for]) - params.merge!(project.observations_url_params(extended: true)) - params.delete(:apply_project_rules_for) - end render layout: "bootstrap", locals: { params: params } end diff --git a/app/es_indices/observation_index.rb b/app/es_indices/observation_index.rb index f5af3568f91..8d082cd6fb3 100644 --- a/app/es_indices/observation_index.rb +++ b/app/es_indices/observation_index.rb @@ -7,7 +7,7 @@ class Observation < ActiveRecord::Base :indexed_project_ids_without_curator_id scope :load_for_index, -> { includes( - :user, :confirmed_reviews, :flags, :quality_metrics, :lists, + :user, :confirmed_reviews, :flags, :quality_metrics, { sounds: :user }, { photos: [ :user, :flags ] }, { taxon: [ { taxon_names: :place_taxon_names }, :conservation_statuses, @@ -104,7 +104,6 @@ def as_indexed_json(options={}) project_ids_without_curator_id: (indexed_project_ids_without_curator_id || project_observations.select{ |po| po.curator_identification_id.nil? }. map(&:project_id)).compact.uniq, - list_ids: lists.map(&:id).compact.uniq, reviewed_by: confirmed_reviews.map(&:user_id), tags: (indexed_tag_names || tags.map(&:name)).compact.uniq, user: user ? user.as_indexed_json : nil, diff --git a/app/models/observation.rb b/app/models/observation.rb index 722919ad2ac..46e667c213f 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -240,7 +240,8 @@ def captive_flag=(v) # note last_observation and first_observation on listed taxa will get reset # by CheckList.refresh_with_observation has_many :listed_taxa, :foreign_key => 'last_observation_id' - has_many :lists, -> { joins(:listed_taxa).distinct }, foreign_key: :taxon_id, primary_key: :taxon_id + has_many :taxa_listed_taxa, class_name: "ListedTaxon", foreign_key: :taxon_id + has_many :lists, through: :taxa_listed_taxa has_many :first_listed_taxa, :class_name => "ListedTaxon", :foreign_key => 'first_observation_id' has_many :first_check_listed_taxa, -> { where("listed_taxa.place_id IS NOT NULL") }, :class_name => "ListedTaxon", :foreign_key => 'first_observation_id' @@ -262,7 +263,7 @@ def captive_flag=(v) class_name: "ObservationReview" FIELDS_TO_SEARCH_ON = %w(names tags description place) - NON_ELASTIC_ATTRIBUTES = %w(establishment_means em list_id) + NON_ELASTIC_ATTRIBUTES = %w(establishment_means em) accepts_nested_attributes_for :observation_field_values, :allow_destroy => true, diff --git a/lib/observation_search.rb b/lib/observation_search.rb index 7154d07e3a2..f51bb01c47a 100644 --- a/lib/observation_search.rb +++ b/lib/observation_search.rb @@ -174,9 +174,18 @@ def elastic_taxon_leaf_ids(elastic_params = {}) def query_params(params) p = params.clone.symbolize_keys unless p[:apply_project_rules_for].blank? - if p[:apply_project_rules_for] = Project.find_by_id(p[:apply_project_rules_for]) - p.merge!(p[:apply_project_rules_for].observations_url_params(extended: true)) + if proj = Project.find_by_id(p[:apply_project_rules_for]) + p.merge!(proj.observations_url_params(extended: true)) end + p.delete(:apply_project_rules_for) + end + unless p[:list_id].blank? + list = List.find_by_id(p[:list_id]) + if list && list.taxon_ids.any? + p[:taxon_ids] ||= [ ] + p[:taxon_ids] += list.taxon_ids + end + p.delete(:list_id) end if p[:swlat].blank? && p[:swlng].blank? && p[:nelat].blank? && p[:nelng].blank? && p[:BBOX] p[:swlng], p[:swlat], p[:nelng], p[:nelat] = p[:BBOX].split(',') @@ -211,7 +220,7 @@ def query_params(params) p[:taxon_ids] = nil end if !p[:observations_taxon] && !p[:taxon_ids].blank? - p[:observations_taxon_ids] = [p[:taxon_ids]].flatten.join(',').split(',') + p[:observations_taxon_ids] = [p[:taxon_ids]].flatten.join(',').split(',').map(&:to_i) p[:observations_taxa] = Taxon.where(id: p[:observations_taxon_ids]).limit(100) end diff --git a/spec/lib/elastic_model/indices/observation_index_spec.rb b/spec/lib/elastic_model/indices/observation_index_spec.rb index 847f87856d5..35116b15a9b 100644 --- a/spec/lib/elastic_model/indices/observation_index_spec.rb +++ b/spec/lib/elastic_model/indices/observation_index_spec.rb @@ -163,6 +163,21 @@ Observation::NON_ELASTIC_ATTRIBUTES.first => "anything") ).to be nil end + it "filters by project rules" do + project = Project.make! + rule = ProjectObservationRule.make!(operator: "identified?", ruler: project) + expect( Observation.params_to_elastic_query(apply_project_rules_for: project.id)). + to include( filters: [{ exists: { field: "taxon" } }]) + end + + it "filters by list taxa" do + list = List.make! + lt1 = ListedTaxon.make!(list: list, taxon: Taxon.make!) + lt2 = ListedTaxon.make!(list: list, taxon: Taxon.make!) + expect( Observation.params_to_elastic_query(list_id: list.id)). + to include( filters: [{ terms: { "taxon.ancestor_ids" => [ lt1.taxon_id, lt2.taxon_id ] } }]) + end + it "doesn't apply a site filter unless the site wants one" do s = Site.make!(preferred_site_observations_filter: nil) expect( Observation.params_to_elastic_query({ }, site: s) ).to include( filters: [ ] ) diff --git a/spec/models/observation_spec.rb b/spec/models/observation_spec.rb index d613ce7bd91..1935ca34122 100644 --- a/spec/models/observation_spec.rb +++ b/spec/models/observation_spec.rb @@ -3096,4 +3096,17 @@ expect( Observation.find_by_id(@dupe.id) ).not_to be_blank end end + + describe "lists" do + it "can fetch lists through listed_taxa" do + o = Observation.make!(taxon: Taxon.make!) + 3.times do + ListedTaxon.make!(list: List.make!, taxon: o.taxon) + end + expect( o.taxa_listed_taxa.count ).to be 3 + expect( o.taxa_listed_taxa.first.class ).to be ListedTaxon + expect( o.lists.count ).to be 3 + expect( o.lists.first.class ).to be List + end + end end From e26233bcbbeb4b5340df83a5caa08b733a471b80 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Wed, 17 Feb 2016 15:22:46 -0500 Subject: [PATCH 07/70] can use list_id in new obs search --- .../templates/observation_search/filter_menu.html.haml | 1 + app/assets/javascripts/inaturalist/map3.js.erb | 2 +- app/es_indices/observation_index.rb | 2 ++ lib/observation_search.rb | 8 ++++++-- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml index 2b6f139a805..60e6a63aaff 100644 --- a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml @@ -145,6 +145,7 @@ %input{ type: "hidden", name: "site_id" } %input{ type: "hidden", name: "projects[]" } %input{ type: "hidden", name: "apply_project_rules_for" } + %input{ type: "hidden", name: "list_id" } .row .col-xs-12 %button#filters-more-btn.btn.btn-link{ type: 'button', "ng-class" => "{ 'collapsed': moreFiltersHidden }", "ng-click" => "toggleMoreFilters( )" } diff --git a/app/assets/javascripts/inaturalist/map3.js.erb b/app/assets/javascripts/inaturalist/map3.js.erb index 663664c1c1e..74418d7403f 100644 --- a/app/assets/javascripts/inaturalist/map3.js.erb +++ b/app/assets/javascripts/inaturalist/map3.js.erb @@ -1057,7 +1057,7 @@ google.maps.Map.prototype.addObservationsLayer = function(title, options) { 'native', 'verifiable', 'popular', 'has', 'photos', 'sounds', 'photo_license', 'created_d1', 'created_d2', 'not_in_project', 'lat', 'lng', 'viewer_id', 'identified', 'taxon_ids[]', 'projects[]', - 'apply_project_rules_for' ]; + 'apply_project_rules_for', 'list_id' ]; gridTileSuffix = appendValidParamsToURL( gridTileSuffix, _.extend( options, { validParams: paramKeys, endpoint: "grid" } )); pointTileSuffix = appendValidParamsToURL( pointTileSuffix, _.extend( diff --git a/app/es_indices/observation_index.rb b/app/es_indices/observation_index.rb index 8d082cd6fb3..86ca3f62a79 100644 --- a/app/es_indices/observation_index.rb +++ b/app/es_indices/observation_index.rb @@ -193,6 +193,8 @@ def self.params_to_elastic_query(params, options = {}) current_user = options[:current_user] || params[:viewer] p = params[:_query_params_set] ? params : query_params(params) return nil unless Observation.able_to_use_elasticsearch?(p) + # one of the param initializing steps saw an impossible condition + return nil if p[:empty_set] p = site_search_params(options[:site], p) search_wheres = { } complex_wheres = [ ] diff --git a/lib/observation_search.rb b/lib/observation_search.rb index f51bb01c47a..33e64ece7bf 100644 --- a/lib/observation_search.rb +++ b/lib/observation_search.rb @@ -181,11 +181,15 @@ def query_params(params) end unless p[:list_id].blank? list = List.find_by_id(p[:list_id]) + p.delete(:list_id) + p[:taxon_ids] ||= [ ] if list && list.taxon_ids.any? - p[:taxon_ids] ||= [ ] p[:taxon_ids] += list.taxon_ids + else + # the list has no taxa, so no results. Set this + # params so the query returns nothing + p[:empty_set] = true end - p.delete(:list_id) end if p[:swlat].blank? && p[:swlng].blank? && p[:nelat].blank? && p[:nelng].blank? && p[:BBOX] p[:swlng], p[:swlat], p[:nelng], p[:nelat] = p[:BBOX].split(',') From dea10f21359dc0fe9abe8d33ef928c1c8611d969 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Thu, 18 Feb 2016 12:05:13 -0500 Subject: [PATCH 08/70] Addresses project issues #874, #875, #876, #879 --- app/controllers/projects_controller.rb | 15 +++------ app/models/observation.rb | 6 +++- app/models/project.rb | 33 +++++++++----------- app/models/project_observation.rb | 5 +++ app/views/projects/_form.html.erb | 10 ++++-- config/locales/en.yml | 9 ++++++ spec/controllers/projects_controller_spec.rb | 14 +++++---- spec/models/observation_spec.rb | 2 +- 8 files changed, 53 insertions(+), 41 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 4b378c29bd6..9751e3ea756 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -130,7 +130,7 @@ def show ]). order("project_observations.id DESC") @project_observations_count = @project_observations.count - @observations = @project_observations.map(&:observation) unless @project.project_type == 'bioblitz' + @observations = @project_observations.map(&:observation) @project_journal_posts = @project.posts.published.order("published_at DESC").limit(4) @custom_project = @project.custom_project @project_assets = @project.project_assets.limit(100) @@ -149,11 +149,7 @@ def show map(&:provider_uid) @fb_admin_ids += CONFIG.facebook.admin_ids if CONFIG.facebook && CONFIG.facebook.admin_ids @fb_admin_ids = @fb_admin_ids.compact.map(&:to_s).uniq - @observations_url_params = if @project.project_type == Project::BIOBLITZ_TYPE - @project.observations_url_params - else - { projects: [@project.slug] } - end + @observations_url_params = { projects: [@project.slug] } @observations_url = observations_url(@observations_url_params) if logged_in? && @project_user.blank? @project_user_invitation = @project.project_user_invitations.where(:invited_user_id => current_user).first @@ -927,11 +923,8 @@ def filter_params else params[:project].delete(:featured_at) end - - if !current_user.is_curator? && params[:project][:prefers_aggregation].yesish? && (@project.blank? || !@project.prefers_aggregation?) - flash[:error] = I18n.t(:only_site_curators_can_turn_on_observation_aggregation) - redirect_back_or_default @project - return false + if params[:project][:project_type] != Project::BIOBLITZ_TYPE + params[:project][:prefers_aggregation] = false end true end diff --git a/app/models/observation.rb b/app/models/observation.rb index 46e667c213f..d63bd63cbdc 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -1169,7 +1169,11 @@ def research_grade? # community_supported_id? && research_grade_candidate? quality_grade == RESEARCH_GRADE end - + + def verifiable? + [ NEEDS_ID, RESEARCH_GRADE ].include?(quality_grade) + end + def photos? observation_photos.loaded? ? ! observation_photos.empty? : observation_photos.exists? end diff --git a/app/models/project.rb b/app/models/project.rb index 8b855753afe..5e1a7d24cdf 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -243,7 +243,7 @@ def matching_project_observation_rule_terms end def matching_project_observation_rules - matching_operators = %w(in_taxon? observed_in_place? on_list? identified? georeferenced?) + matching_operators = %w(in_taxon? observed_in_place? on_list? identified? georeferenced? verifiable?) project_observation_rules.select{|rule| matching_operators.include?(rule.operator)} end @@ -275,8 +275,11 @@ def observations_matching_rules joins("JOIN listed_taxa ON listed_taxa.list_id = #{project_list.id}") when "identified?" scope = scope.where("observations.taxon_id IS NOT NULL") - when "georeferenced" + when "georeferenced?" scope = scope.where("observations.geom IS NOT NULL") + when "verifiable?" + scope = scope.where("observations.quality_grade IN (?,?)", + Observation::NEEDS_ID, Observation::RESEARCH_GRADE) end end unless place_ids.empty? @@ -305,7 +308,6 @@ def observations_url_params(options = {}) taxon_ids << rule.operand_id when "observed_in_place?" place_ids << rule.operand_id - # Ignore, we already added the place_id when "on_list?" params[:list_id] = project_list.id when "identified?" @@ -323,10 +325,15 @@ def observations_url_params(options = {}) params[:captive] = true when "wild?" params[:captive] = false + when "verifiable?" + params[:verifiable] = true end end taxon_ids = taxon_ids.compact.uniq place_ids = place_ids.compact.uniq + # the new obs search sets some defaults we want to override + params[:verifiable] = "any" if !params[:verifiable] + params[:place_id] = "any" if place_ids.blank? if !options[:extended] && taxon_ids.count + place_ids.count >= 50 params = { apply_project_rules_for: self.id } else @@ -670,6 +677,7 @@ def aggregate_observations(options = {}) page = 1 total_entries = nil last_observation_id = 0 + search_params = Observation.get_search_params(params) while true if options[:pidfile] unless File.exists?(options[:pidfile]) @@ -684,23 +692,10 @@ def aggregate_observations(options = {}) raise ProjectAggregatorAlreadyRunning, msg end end - # the list filter will be ignored if the count is over the cap, - # so we might as well use the faster ES search in that case - # Might want to experiment with removing the cap, though - observations = if list && list.listed_taxa.count <= ObservationSearch::LIST_FILTER_SIZE_CAP - # using cached total_entries to avoid many COUNT(*)s on slow queries - Observation.query(params).paginate(page: page, total_entries: total_entries, - per_page: observations_url_params[:per_page]) - else - search_params = Observation.get_search_params(params) - # setting list_id to nil because we would have used the DB above - # if we could have, and ES can't handle list_ids - search_params.merge!({ min_id: last_observation_id + 1, - list_id: nil, order_by: "id", order: "asc" }) - Observation.page_of_results(search_params) - end + search_params.merge!({ min_id: last_observation_id + 1, + order_by: "id", order: "asc" }) + observations = Observation.page_of_results(search_params) break if observations.blank? - # caching total entries since it should be the same for each page total_entries = observations.total_entries if page === 1 Rails.logger.debug "[DEBUG] Processing page #{observations.current_page} of #{observations.total_pages} for #{slug}" observations.each do |o| diff --git a/app/models/project_observation.rb b/app/models/project_observation.rb index cb46d0df1f5..0beab4a47df 100644 --- a/app/models/project_observation.rb +++ b/app/models/project_observation.rb @@ -18,6 +18,7 @@ class ProjectObservation < ActiveRecord::Base :in_taxon?, :observed_in_place?, :on_list?, + :verifiable?, :wild? ], :unless => "errors.any?" validates_uniqueness_of :observation_id, :scope => :project_id, :message => "already added to this project" @@ -312,6 +313,10 @@ def wild? !captive? end + def verifiable? + observation.verifiable? + end + def coordinates_shareable_by_project_curators? prefers_curator_coordinate_access? end diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 6f12b581025..20098aa983e 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -5,7 +5,6 @@ <%= google_maps_js %> + <%= javascript_include_tag "ang/controllers/project_stats_controller" %> <%- end -%> <%- content_for(:extracss) do -%> @@ -78,7 +81,7 @@ <%= t(:observations) %> <% end -%> - <% if @project.project_type == Project::BIOBLITZ_TYPE -%> + <% if @project.bioblitz? -%>
<%- start_time = @project.start_time.in_time_zone(@project.user.time_zone) %> <%- end_time = @project.end_time.in_time_zone(@project.user.time_zone) %> @@ -125,7 +128,7 @@
- <% if @project.project_type == Project::BIOBLITZ_TYPE -%> + <% if @project.bioblitz? -%> <% if !@project.event_url.blank? && !@project.event_started? -%>
<% if @project.eventbrite_id -%> @@ -149,10 +152,10 @@ <% end -%> <% end %> - <% if (@project.project_type != Project::BIOBLITZ_TYPE) || @project.event_started? -%> + <% if !@project.bioblitz? || @project.event_started? -%>

- <% if @project.project_type == Project::BIOBLITZ_TYPE -%> + <% if @project.bioblitz? -%> <%= @project.event_in_progress? ? t(:event_in_progress) : t(:event_stats) %> <% else %> <%=t :stats %> @@ -161,14 +164,14 @@
<%- extra = capture do -%>
<% end -%> @@ -245,15 +248,14 @@

<%=t :recent_observations %> - <%= link_to t(:view_all), @project.project_type == Project::BIOBLITZ_TYPE ? @observations_url : project_observations_url(@project), :class => "ui readmore", :style => "font-size: 60%; margin-left: 5px" %> + <%= link_to t(:view_all), project_observations_url(@project), class: "ui readmore", style: "font-size: 60%; margin-left: 5px" %>

<%= loading %>
- <%= link_to t(:more_observations), @project.project_type == Project::BIOBLITZ_TYPE ? @observations_url : project_observations_url(@project), - :class => "readmore" %> + <%= link_to t(:more_observations), project_observations_url(@project), class: "readmore" %>

@@ -312,18 +314,18 @@ :rel => "nofollow" %> <% end -%> - <% if @project.project_type == Project::BIOBLITZ_TYPE -%> + <% if @project.bioblitz? -%>
<%=t 'views.projects.show.project_observations_desc' %>
<% end -%> - <% if @project.project_type != Project::BIOBLITZ_TYPE %> + <% if !@project.bioblitz? %>
  • <%= link_to "» #{t(:checklist)}".html_safe, list_path(@project.project_list, {rank: @project.preferred_count_by}), :class => "navlink" %>
  • <% end -%> - <% if logged_in? && @project.project_type != Project::BIOBLITZ_TYPE -%> + <% if logged_in? && !@project.bioblitz? -%>
  • <%= link_to "» #{t(:usage_stats)}".html_safe, project_stats_path(@project), :class => "navlink" %>
  • @@ -341,7 +343,7 @@ <% end -%> - <% unless @project.project_type == Project::BIOBLITZ_TYPE && !@project.event_started? %> + <% unless @project.bioblitz? && !@project.event_started? %>

    <%=t :about %>

    <%= truncate_with_more formatted_user_text(@project.description, :tags => Post::ALLOWED_TAGS + %w(table tr td img p iframe div), diff --git a/config/locales/en.yml b/config/locales/en.yml index 39fb4854f5a..b4d05be3295 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -4151,6 +4151,7 @@ en: revoke_observations_desc: | If the only reason you're leaving is to stop project curators from viewing your private coordinates. edit: + aggregation_pending: Aggregation pending bioblitz_create_a_new_place_html: | %{link}, make sure it has a boundary, then come back here and try again. bioblitz_desc_html: | From faa2fcb5e80a4a2cae6103f0e9b331a3a8cabe22 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Mon, 22 Feb 2016 12:49:39 -0500 Subject: [PATCH 15/70] resetting project last_aggregated_at when times change #879; fixed verifiable=true param --- .../ang/controllers/observation_search.js | 7 +- .../observers_table.html.haml | 10 +- app/models/project.rb | 9 +- spec/models/project_spec.rb | 782 +++++++++--------- 4 files changed, 418 insertions(+), 390 deletions(-) diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index d974cf86db1..cf898b5687e 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -69,7 +69,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $rootScope.mapLabels = true; $rootScope.mapTerrain = false; $scope.defaultParams = { - verifiable: "true", + verifiable: true, order_by: "observations.id", order: "desc", page: 1 @@ -298,6 +298,9 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root // set params from the URL and lookup any Taxon or Place selections $scope.setInitialParams = function( ) { var initialParams = _.extend( { }, $scope.defaultParams, $location.search( ) ); + if( initialParams.verifiable === "true" ) { + initialParams.verifiable = true; + } // turning the key taxon_ids[] into taxon_ids if( initialParams["taxon_ids[]"] ) { initialParams.taxon_ids = initialParams["taxon_ids[]"]; @@ -493,7 +496,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.numberTaxaShown = 15; $scope.numberIdentifiersShown = 15; $scope.numberObserversShown = 15; - $scope.observersSort = "observationCount"; + $scope.observersSort = "-observationCount"; options = options || { }; $scope.updateBrowserLocation( options ); $scope.observations = [ ]; diff --git a/app/assets/javascripts/ang/templates/observation_search/observers_table.html.haml b/app/assets/javascripts/ang/templates/observation_search/observers_table.html.haml index 5a5eeed3ee5..708de90dc5d 100644 --- a/app/assets/javascripts/ang/templates/observation_search/observers_table.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/observers_table.html.haml @@ -6,20 +6,20 @@ {{ shared.t( 'rank_position' )}} %th.user {{ shared.t( 'user' )}} - %th{ "ng-click": "observersSort = 'observationCount';", :class => "sortable sorting-desc {{ observersSort == 'observationCount' ? 'sorting' : '' }}" } + %th{ "ng-click": "observersSort = '-observationCount';", :class => "sortable sorting-desc {{ observersSort == 'observationCount' ? 'sorting' : '' }}" } {{ shared.t( 'observations' )}} - %th{ "ng-click": "observersSort = 'speciesCount';", :class => "sortable sorting-desc {{ observersSort == 'speciesCount' ? 'sorting' : '' }}" } + %th{ "ng-click": "observersSort = '-speciesCount';", :class => "sortable sorting-desc {{ observersSort == 'speciesCount' ? 'sorting' : '' }}" } {{ shared.t( 'species' )}} %tbody - %tr{ "ng-repeat": "u in observers | orderBy:observersSort:true | limitTo: numberObserversShown" } + %tr{ "ng-repeat": "u in observers | orderBy:[ observersSort, '+login' ] | limitTo: numberObserversShown" } %td.rank {{ $index + 1 }} %td %user-icon{ u: "u" } %user-login{ u: "u" } - %td{ :class => "{{ observersSort == 'observationCount' ? 'sorting' : '' }}" } + %td{ :class => "{{ observersSort == '-observationCount' ? 'sorting' : '' }}" } {{ shared.numberWithCommas( u.observationCount ) }} - %td{ :class => "{{ observersSort == 'speciesCount' ? 'sorting' : '' }}" } + %td{ :class => "{{ observersSort == '-speciesCount' ? 'sorting' : '' }}" } {{ shared.numberWithCommas( u.speciesCount ) }} .spinner.ng-cloak{ "ng-show": "pagination.searching" } %span.fa.fa-spin.fa-refresh diff --git a/app/models/project.rb b/app/models/project.rb index e7cfb886328..4ecbbfcddc3 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -23,6 +23,7 @@ class Project < ActiveRecord::Base before_save :strip_title before_save :unset_show_from_place_if_no_place + before_save :reset_last_aggregated_at after_create :create_the_project_list after_save :add_owner_as_project_user @@ -254,7 +255,13 @@ def project_observations_count def featured_at_utc featured_at.try(:utc) end - + + def reset_last_aggregated_at + if start_time_changed? || end_time_changed? + self.last_aggregated_at = nil + end + end + def tracking_code_allowed?(code) return false if code.blank? return false if tracking_codes.blank? diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 090a5e9c4e2..9db691720d2 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -1,451 +1,469 @@ require File.dirname(__FILE__) + '/../spec_helper.rb' -describe Project, "creation" do - it "should automatically add the creator as a member" do - project = Project.make! - expect(project.project_users).not_to be_empty - expect(project.project_users.first.user_id).to eq project.user_id +describe Project do + + it "resets last_aggregated_at if start or end times changed" do + p = Project.make!(prefers_aggregation: true, project_type: Project::BIOBLITZ_TYPE, + place: make_place_with_geom, start_time: Time.now, end_time: Time.now) + p.update_attributes(last_aggregated_at: Time.now) + expect( p.last_aggregated_at ).to_not be_nil + # change the start time + p.update_attributes(start_time: 1.hour.ago) + expect( p.last_aggregated_at ).to be_nil + p.update_attributes(last_aggregated_at: Time.now) + expect( p.last_aggregated_at ).to_not be_nil + # change the end time + p.update_attributes(end_time: 1.minute.ago) + expect( p.last_aggregated_at ).to be_nil end - it "should automatically add the creator as a member for invite-only projects" do - project = Project.make!(prefers_membership_model: Project::MEMBERSHIP_INVITE_ONLY) - expect(project.project_users).not_to be_empty - expect(project.project_users.first.user_id).to eq project.user_id - end + describe "creation" do + it "should automatically add the creator as a member" do + project = Project.make! + expect(project.project_users).not_to be_empty + expect(project.project_users.first.user_id).to eq project.user_id + end + + it "should automatically add the creator as a member for invite-only projects" do + project = Project.make!(prefers_membership_model: Project::MEMBERSHIP_INVITE_ONLY) + expect(project.project_users).not_to be_empty + expect(project.project_users.first.user_id).to eq project.user_id + end - it "should not allow ProjectsController action names as titles" do - project = Project.make! - expect(project).to be_valid - project.title = "new" - expect(project).not_to be_valid - project.title = "user" - expect(project).not_to be_valid - end + it "should not allow ProjectsController action names as titles" do + project = Project.make! + expect(project).to be_valid + project.title = "new" + expect(project).not_to be_valid + project.title = "user" + expect(project).not_to be_valid + end - it "should stip titles" do - project = Project.make!(:title => " zomg spaces ") - expect(project.title).to eq 'zomg spaces' - end - - it "should validate uniqueness of title" do - p1 = Project.make! - p2 = Project.make(:title => p1.title) - expect(p2).not_to be_valid - expect(p2.errors[:title]).not_to be_blank - end - - it "should notify the owner that the admin changed" do - p = without_delay {Project.make!} - expect(Update.where(:resource_type => "Project", :resource_id => p.id, :subscriber_id => p.user_id).first).to be_blank - end - - describe "for bioblitzes" do - let(:p) do - Project.make( - project_type: Project::BIOBLITZ_TYPE, - place: make_place_with_geom, - start_time: "2013-05-10T00:00:00-0800", - end_time: "2013-05-11T23:00:00-0800" - ) + it "should stip titles" do + project = Project.make!(:title => " zomg spaces ") + expect(project.title).to eq 'zomg spaces' end - it "should parse unconventional start_time formats" do - p.start_time = "3 days ago" - p.end_time = "3 days ago" - p.save - expect( p ).to be_valid + it "should validate uniqueness of title" do + p1 = Project.make! + p2 = Project.make(:title => p1.title) + expect(p2).not_to be_valid + expect(p2.errors[:title]).not_to be_blank end - it "should not raise an exception when start time isn't set" do - p.start_time = "2:00 p.m. 4/24/15" - p.end_time = "2:00 p.m. 4/25/15" - expect( Chronic.parse(p.start_time) ).to be_nil - expect { p.save }.not_to raise_error - expect( p ).not_to be_valid + it "should notify the owner that the admin changed" do + p = without_delay {Project.make!} + expect(Update.where(:resource_type => "Project", :resource_id => p.id, :subscriber_id => p.user_id).first).to be_blank end - it "should not allow comma-separated event URLs" do - expect( p ).to be_valid - p.event_url = "http://bioblitz-birding.eventbrite.com, http://bioblitz-plants.eventbrite.com, http://bioblitz-ecosystems.eventbrite.com" - expect( p ).not_to be_valid + describe "for bioblitzes" do + let(:p) do + Project.make( + project_type: Project::BIOBLITZ_TYPE, + place: make_place_with_geom, + start_time: "2013-05-10T00:00:00-0800", + end_time: "2013-05-11T23:00:00-0800" + ) + end + + it "should parse unconventional start_time formats" do + p.start_time = "3 days ago" + p.end_time = "3 days ago" + p.save + expect( p ).to be_valid + end + + it "should not raise an exception when start time isn't set" do + p.start_time = "2:00 p.m. 4/24/15" + p.end_time = "2:00 p.m. 4/25/15" + expect( Chronic.parse(p.start_time) ).to be_nil + expect { p.save }.not_to raise_error + expect( p ).not_to be_valid + end + + it "should not allow comma-separated event URLs" do + expect( p ).to be_valid + p.event_url = "http://bioblitz-birding.eventbrite.com, http://bioblitz-plants.eventbrite.com, http://bioblitz-ecosystems.eventbrite.com" + expect( p ).not_to be_valid + end end - end -end - -describe Project, "destruction" do - it "should work despite rule against owner leaving the project" do - project = Project.make! - expect{ project.destroy }.to_not raise_error end - it "should delete project observations" do - po = make_project_observation - p = po.project - po.reload - p.destroy - expect(ProjectObservation.find_by_id(po.id)).to be_blank - end -end + describe "destruction" do + it "should work despite rule against owner leaving the project" do + project = Project.make! + expect{ project.destroy }.to_not raise_error + end -describe Project, "update_curator_idents_on_make_curator" do - before(:each) do - @project_user = ProjectUser.make! - @project = @project_user.project - @observation = Observation.make!(:user => @project_user.user) + it "should delete project observations" do + po = make_project_observation + p = po.project + po.reload + p.destroy + expect(ProjectObservation.find_by_id(po.id)).to be_blank + end end + + describe "update_curator_idents_on_make_curator" do + before(:each) do + @project_user = ProjectUser.make! + @project = @project_user.project + @observation = Observation.make!(:user => @project_user.user) + end - it "should set curator_identification_id on existing project observations" do - po = ProjectObservation.make!(:project => @project, :observation => @observation) - c = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) - expect(po.curator_identification_id).to be_blank - ident = Identification.make!(:user => c.user, :observation => po.observation) - Project.update_curator_idents_on_make_curator(@project.id, c.id) - po.reload - expect(po.curator_identification_id).to eq ident.id + it "should set curator_identification_id on existing project observations" do + po = ProjectObservation.make!(:project => @project, :observation => @observation) + c = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) + expect(po.curator_identification_id).to be_blank + ident = Identification.make!(:user => c.user, :observation => po.observation) + Project.update_curator_idents_on_make_curator(@project.id, c.id) + po.reload + expect(po.curator_identification_id).to eq ident.id + end end -end -describe Project, "update_curator_idents_on_remove_curator" do - before(:each) do - @project = Project.make! - @project_user = ProjectUser.make!(:project => @project) - @observation = Observation.make!(:user => @project_user.user) - @project_observation = ProjectObservation.make!(:project => @project, :observation => @observation) - @project_user_curator = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) - Identification.make!(:user => @project_user_curator.user, :observation => @project_observation.observation) - Project.update_curator_idents_on_make_curator(@project.id, @project_user_curator.id) - @project_observation.reload - end + describe "update_curator_idents_on_remove_curator" do + before(:each) do + @project = Project.make! + @project_user = ProjectUser.make!(:project => @project) + @observation = Observation.make!(:user => @project_user.user) + @project_observation = ProjectObservation.make!(:project => @project, :observation => @observation) + @project_user_curator = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) + Identification.make!(:user => @project_user_curator.user, :observation => @project_observation.observation) + Project.update_curator_idents_on_make_curator(@project.id, @project_user_curator.id) + @project_observation.reload + end - it "should remove curator_identification_id on existing project observations if no other curator idents" do - @project_user_curator.update_attributes(:role => nil) - Project.update_curator_idents_on_remove_curator(@project.id, @project_user_curator.user_id) - @project_observation.reload - expect(@project_observation.curator_identification_id).to be_blank - end + it "should remove curator_identification_id on existing project observations if no other curator idents" do + @project_user_curator.update_attributes(:role => nil) + Project.update_curator_idents_on_remove_curator(@project.id, @project_user_curator.user_id) + @project_observation.reload + expect(@project_observation.curator_identification_id).to be_blank + end - it "should reset curator_identification_id on existing project observations if other curator idents" do - pu = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) - ident = Identification.make!(:observation => @project_observation.observation, :user => pu.user) + it "should reset curator_identification_id on existing project observations if other curator idents" do + pu = ProjectUser.make!(:project => @project, :role => ProjectUser::CURATOR) + ident = Identification.make!(:observation => @project_observation.observation, :user => pu.user) - @project_user_curator.update_attributes(:role => nil) - Project.update_curator_idents_on_remove_curator(@project.id, @project_user_curator.user_id) + @project_user_curator.update_attributes(:role => nil) + Project.update_curator_idents_on_remove_curator(@project.id, @project_user_curator.user_id) - @project_observation.reload - expect(@project_observation.curator_identification_id).to eq ident.id - end + @project_observation.reload + expect(@project_observation.curator_identification_id).to eq ident.id + end - it "should work for deleted users" do - user_id = @project_user_curator.user_id - @project_user_curator.user.destroy - Project.update_curator_idents_on_remove_curator(@project.id, user_id) - @project_observation.reload - expect(@project_observation.curator_identification_id).to be_blank + it "should work for deleted users" do + user_id = @project_user_curator.user_id + @project_user_curator.user.destroy + Project.update_curator_idents_on_remove_curator(@project.id, user_id) + @project_observation.reload + expect(@project_observation.curator_identification_id).to be_blank + end end -end -describe Project, "eventbrite_id" do - it "should parse a variety of URLS" do - id = "12345" - [ - "http://www.eventbrite.com/e/memorial-park-bioblitz-2014-tickets-#{id}", - "http://www.eventbrite.com/e/#{id}" - ].each do |url| - p = Project.make(:event_url => url) - expect(p.eventbrite_id).to eq id + describe "eventbrite_id" do + it "should parse a variety of URLS" do + id = "12345" + [ + "http://www.eventbrite.com/e/memorial-park-bioblitz-2014-tickets-#{id}", + "http://www.eventbrite.com/e/#{id}" + ].each do |url| + p = Project.make(:event_url => url) + expect(p.eventbrite_id).to eq id + end + end + it "should not bail if no id" do + expect { + Project.make(:event_url => "http://www.eventbrite.com").eventbrite_id + }.not_to raise_error end end - it "should not bail if no id" do - expect { - Project.make(:event_url => "http://www.eventbrite.com").eventbrite_id - }.not_to raise_error - end -end -describe Project, "icon_url" do - let(:p) { Project.make! } - before do - allow(p).to receive(:icon_file_name) { "foo.png" } - allow(p).to receive(:icon_content_type) { "image/png" } - allow(p).to receive(:icon_file_size) { 12345 } - allow(p).to receive(:icon_updated_at) { Time.now } - expect(p.icon_url).not_to be_blank - end - it "should be absolute" do - expect(p.icon_url).to match /^http/ - end - it "should not have two protocols" do - expect(p.icon_url.scan(/http/).size).to eq 1 + describe "icon_url" do + let(:p) { Project.make! } + before do + allow(p).to receive(:icon_file_name) { "foo.png" } + allow(p).to receive(:icon_content_type) { "image/png" } + allow(p).to receive(:icon_file_size) { 12345 } + allow(p).to receive(:icon_updated_at) { Time.now } + expect(p.icon_url).not_to be_blank + end + it "should be absolute" do + expect(p.icon_url).to match /^http/ + end + it "should not have two protocols" do + expect(p.icon_url.scan(/http/).size).to eq 1 + end end -end -describe Project, "range_by_date" do - it "should be false by default" do - expect(Project.make!).not_to be_prefers_range_by_date - end - describe "date boundary" do - let(:place) { make_place_with_geom } - let(:project) { - Project.make!( - project_type: Project::BIOBLITZ_TYPE, - start_time: '2014-05-14T21:08:00-07:00', - end_time: '2014-05-25T20:59:00-07:00', - place: place, - prefers_range_by_date: true - ) - } - it "should include observations observed outside the time boundary by inside the date boundary" do - expect(project).to be_prefers_range_by_date - o = Observation.make!(latitude: place.latitude, longitude: place.longitude, observed_on_string: '2014-05-14T21:06:00-07:00') - expect(Observation.query(project.observations_url_params).to_a).to include o - end - it "should exclude observations on the outside" do - o = Observation.make!(latitude: place.latitude, longitude: place.longitude, observed_on_string: '2014-05-13T21:06:00-07:00') - expect(Observation.query(project.observations_url_params).to_a).not_to include o + describe "range_by_date" do + it "should be false by default" do + expect(Project.make!).not_to be_prefers_range_by_date + end + describe "date boundary" do + let(:place) { make_place_with_geom } + let(:project) { + Project.make!( + project_type: Project::BIOBLITZ_TYPE, + start_time: '2014-05-14T21:08:00-07:00', + end_time: '2014-05-25T20:59:00-07:00', + place: place, + prefers_range_by_date: true + ) + } + it "should include observations observed outside the time boundary by inside the date boundary" do + expect(project).to be_prefers_range_by_date + o = Observation.make!(latitude: place.latitude, longitude: place.longitude, observed_on_string: '2014-05-14T21:06:00-07:00') + expect(Observation.query(project.observations_url_params).to_a).to include o + end + it "should exclude observations on the outside" do + o = Observation.make!(latitude: place.latitude, longitude: place.longitude, observed_on_string: '2014-05-13T21:06:00-07:00') + expect(Observation.query(project.observations_url_params).to_a).not_to include o + end end end -end -describe Project, "generate_csv" do - it "should include curator_coordinate_access" do - path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") - po = make_project_observation - po.project.generate_csv(path, Observation::CSV_COLUMNS) - CSV.foreach(path, headers: true) do |row| - expect(row['curator_coordinate_access']).not_to be_blank + describe "generate_csv" do + it "should include curator_coordinate_access" do + path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") + po = make_project_observation + po.project.generate_csv(path, Observation::CSV_COLUMNS) + CSV.foreach(path, headers: true) do |row| + expect(row['curator_coordinate_access']).not_to be_blank + end end - end - it "curator_coordinate_access should be false by default for non-members" do - path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") - po = ProjectObservation.make! - po.project.generate_csv(path, Observation::CSV_COLUMNS) - CSV.foreach(path, headers: true) do |row| - expect(row['curator_coordinate_access']).to eq "false" + it "curator_coordinate_access should be false by default for non-members" do + path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") + po = ProjectObservation.make! + po.project.generate_csv(path, Observation::CSV_COLUMNS) + CSV.foreach(path, headers: true) do |row| + expect(row['curator_coordinate_access']).to eq "false" + end end - end - it "should include captive_cultivated" do - path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") - po = make_project_observation - po.project.generate_csv(path, Observation::CSV_COLUMNS) - CSV.foreach(path, headers: true) do |row| - expect(row['captive_cultivated']).not_to be_blank + it "should include captive_cultivated" do + path = File.join(Dir::tmpdir, "project_generate_csv_test-#{Time.now.to_i}") + po = make_project_observation + po.project.generate_csv(path, Observation::CSV_COLUMNS) + CSV.foreach(path, headers: true) do |row| + expect(row['captive_cultivated']).not_to be_blank + end end end -end -describe Project, "aggregation preference" do - it "should be false by default" do - expect( Project.make! ).not_to be_prefers_aggregation - end + describe "aggregation preference" do + it "should be false by default" do + expect( Project.make! ).not_to be_prefers_aggregation + end - it "should cause a validation error if aggregation is not allowed" do - p = Project.make! - expect( p ).not_to be_aggregation_allowed - p.prefers_aggregation = true - expect( p ).not_to be_valid + it "should cause a validation error if aggregation is not allowed" do + p = Project.make! + expect( p ).not_to be_aggregation_allowed + p.prefers_aggregation = true + expect( p ).not_to be_valid + end end -end -describe Project, "aggregate_observations class method" do - before(:each) { enable_elastic_indexing(Observation, Place) } - after(:each) { disable_elastic_indexing(Observation, Place) } - it "should touch projects that prefer aggregation" do - p = Project.make!(prefers_aggregation: true, place: make_place_with_geom, trusted: true) - expect( p.last_aggregated_at ).to be_nil - Project.aggregate_observations - p.reload - expect( p.last_aggregated_at ).not_to be_nil - end + describe "aggregate_observations class method" do + before(:each) { enable_elastic_indexing(Observation, Place) } + after(:each) { disable_elastic_indexing(Observation, Place) } + it "should touch projects that prefer aggregation" do + p = Project.make!(prefers_aggregation: true, place: make_place_with_geom, trusted: true) + expect( p.last_aggregated_at ).to be_nil + Project.aggregate_observations + p.reload + expect( p.last_aggregated_at ).not_to be_nil + end - it "should not touch projects that do not prefer aggregation" do - p = Project.make!(prefers_aggregation: false, place: make_place_with_geom, trusted: true) - expect( p.last_aggregated_at ).to be_nil - Project.aggregate_observations - p.reload - expect( p.last_aggregated_at ).to be_nil + it "should not touch projects that do not prefer aggregation" do + p = Project.make!(prefers_aggregation: false, place: make_place_with_geom, trusted: true) + expect( p.last_aggregated_at ).to be_nil + Project.aggregate_observations + p.reload + expect( p.last_aggregated_at ).to be_nil + end end -end -describe Project, "aggregate_observations" do - before(:each) { enable_elastic_indexing(Observation, Place) } - after(:each) { disable_elastic_indexing(Observation, Place) } - let(:project) { Project.make! } - it "should add observations matching the project observation scope" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - project.aggregate_observations - o.reload - expect( o.projects ).to include project - end + describe "aggregate_observations" do + before(:each) { enable_elastic_indexing(Observation, Place) } + after(:each) { disable_elastic_indexing(Observation, Place) } + let(:project) { Project.make! } + it "should add observations matching the project observation scope" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + project.aggregate_observations + o.reload + expect( o.projects ).to include project + end - it "should set last_aggregated_at" do - project.update_attributes(place: make_place_with_geom, trusted: true) - expect( project.last_aggregated_at ).to be_nil - project.aggregate_observations - expect( project.last_aggregated_at ).not_to be_nil - end + it "should set last_aggregated_at" do + project.update_attributes(place: make_place_with_geom, trusted: true) + expect( project.last_aggregated_at ).to be_nil + project.aggregate_observations + expect( project.last_aggregated_at ).not_to be_nil + end - it "should not add observations not matching the project observation scope" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude*-1, longitude: project.place.longitude*-1) - project.aggregate_observations - o.reload - expect( o.projects ).not_to include project - end + it "should not add observations not matching the project observation scope" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude*-1, longitude: project.place.longitude*-1) + project.aggregate_observations + o.reload + expect( o.projects ).not_to include project + end - it "should not happen if aggregation is not allowed" do - expect( project ).not_to be_aggregation_allowed - o = Observation.make!(latitude: 1, longitude: 1) - project.aggregate_observations - o.reload - expect( o.projects ).not_to include project - end + it "should not happen if aggregation is not allowed" do + expect( project ).not_to be_aggregation_allowed + o = Observation.make!(latitude: 1, longitude: 1) + project.aggregate_observations + o.reload + expect( o.projects ).not_to include project + end - it "should not add observation if observer has opted out" do - u = User.make!(preferred_project_addition_by: User::PROJECT_ADDITION_BY_NONE) - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude, user: u) - project.aggregate_observations - o.reload - expect( o.projects ).not_to include project - end + it "should not add observation if observer has opted out" do + u = User.make!(preferred_project_addition_by: User::PROJECT_ADDITION_BY_NONE) + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude, user: u) + project.aggregate_observations + o.reload + expect( o.projects ).not_to include project + end - it "should not add observation if observer has not joined and prefers not to allow addition for projects not joined" do - u = User.make!(preferred_project_addition_by: User::PROJECT_ADDITION_BY_JOINED) - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude, user: u) - project.aggregate_observations - o.reload - expect( o.projects ).not_to include project - end + it "should not add observation if observer has not joined and prefers not to allow addition for projects not joined" do + u = User.make!(preferred_project_addition_by: User::PROJECT_ADDITION_BY_JOINED) + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude, user: u) + project.aggregate_observations + o.reload + expect( o.projects ).not_to include project + end - it "should add observations created since last_aggregated_at" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o1 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - project.aggregate_observations - expect( project.observations.count ).to eq 1 - o2 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - project.aggregate_observations - expect( project.observations.count ).to eq 2 - end + it "should add observations created since last_aggregated_at" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o1 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + project.aggregate_observations + expect( project.observations.count ).to eq 1 + o2 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + project.aggregate_observations + expect( project.observations.count ).to eq 2 + end - it "should not add duplicates" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - project.aggregate_observations - project.aggregate_observations - o.reload - expect( o.projects ).to include project - expect( o.project_observations.size ).to eq 1 - end + it "should not add duplicates" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + project.aggregate_observations + project.aggregate_observations + o.reload + expect( o.projects ).to include project + expect( o.project_observations.size ).to eq 1 + end - it "adds observations whose users were updated since last_aggregated_at" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o1 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - o2 = Observation.make!(latitude: 90, longitude: 90) - project.aggregate_observations - expect( project.observations.count ).to eq 1 - o2.update_attributes(latitude: project.place.latitude, longitude: project.place.longitude) - o2.update_columns(updated_at: 1.day.ago) - o2.elastic_index! - project.aggregate_observations - # it's still 1 becuase the observations was updated in the past - expect( project.observations.count ).to eq 1 - o2.user.update_columns(updated_at: Time.now) - project.aggregate_observations - # now the observation was aggregated because the user was updated - expect( project.observations.count ).to eq 2 - end + it "adds observations whose users were updated since last_aggregated_at" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o1 = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + o2 = Observation.make!(latitude: 90, longitude: 90) + project.aggregate_observations + expect( project.observations.count ).to eq 1 + o2.update_attributes(latitude: project.place.latitude, longitude: project.place.longitude) + o2.update_columns(updated_at: 1.day.ago) + o2.elastic_index! + project.aggregate_observations + # it's still 1 becuase the observations was updated in the past + expect( project.observations.count ).to eq 1 + o2.user.update_columns(updated_at: Time.now) + project.aggregate_observations + # now the observation was aggregated because the user was updated + expect( project.observations.count ).to eq 2 + end - it "adds observations whose ProjectUsers were updated since last_aggregated_at" do - project.update_attributes(place: make_place_with_geom, trusted: true) - o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) - pu = ProjectUser.make!(project: project, user: o.user) - project.aggregate_observations - expect( project.observations.count ).to eq 1 - ProjectObservation.delete_all - o.update_columns(updated_at: 1.day.ago) - o.elastic_index! - project.aggregate_observations - # the observation was updated BEFORE the last aggregation - expect( project.observations.count ).to eq 0 - pu.touch - project.aggregate_observations - # the ProjectUser and User were updated AFTER the last aggregation - expect( project.observations.count ).to eq 1 + it "adds observations whose ProjectUsers were updated since last_aggregated_at" do + project.update_attributes(place: make_place_with_geom, trusted: true) + o = Observation.make!(latitude: project.place.latitude, longitude: project.place.longitude) + pu = ProjectUser.make!(project: project, user: o.user) + project.aggregate_observations + expect( project.observations.count ).to eq 1 + ProjectObservation.delete_all + o.update_columns(updated_at: 1.day.ago) + o.elastic_index! + project.aggregate_observations + # the observation was updated BEFORE the last aggregation + expect( project.observations.count ).to eq 0 + pu.touch + project.aggregate_observations + # the ProjectUser and User were updated AFTER the last aggregation + expect( project.observations.count ).to eq 1 + end end -end -describe Project, "aggregation_allowed?" do - it "is false by default" do - expect( Project.make! ).not_to be_aggregation_allowed - end + describe "aggregation_allowed?" do + it "is false by default" do + expect( Project.make! ).not_to be_aggregation_allowed + end - it "is true if place smaller than Texas" do - p = Project.make!(place: make_place_with_geom, trusted: true) - expect( p ).to be_aggregation_allowed - end + it "is true if place smaller than Texas" do + p = Project.make!(place: make_place_with_geom, trusted: true) + expect( p ).to be_aggregation_allowed + end - it "is false if place bigger than Texas" do - envelope_ewkt = "MULTIPOLYGON(((0 0,0 15,15 15,15 0,0 0)))" - p = Project.make!(place: make_place_with_geom(ewkt: envelope_ewkt), trusted: true) - expect( p ).not_to be_aggregation_allowed - end + it "is false if place bigger than Texas" do + envelope_ewkt = "MULTIPOLYGON(((0 0,0 15,15 15,15 0,0 0)))" + p = Project.make!(place: make_place_with_geom(ewkt: envelope_ewkt), trusted: true) + expect( p ).not_to be_aggregation_allowed + end - it "should be true with a taxon rule" do - p = Project.make!(trusted: true) - por = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) - expect( por.ruler ).to be_aggregation_allowed - end + it "should be true with a taxon rule" do + p = Project.make!(trusted: true) + por = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) + expect( por.ruler ).to be_aggregation_allowed + end - it "should be true with multiple taxon rules" do - p = Project.make!(trusted: true) - por1 = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) - por2 = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) - expect( por1.ruler ).to be_aggregation_allowed - end + it "should be true with multiple taxon rules" do + p = Project.make!(trusted: true) + por1 = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) + por2 = ProjectObservationRule.make!(operator: 'in_taxon?', operand: Taxon.make!, ruler: p) + expect( por1.ruler ).to be_aggregation_allowed + end - it "should be true with a list rule" do - p = Project.make!(trusted: true) - por = ProjectObservationRule.make!(operator: 'on_list?', ruler: p) - expect( por.ruler ).to be_aggregation_allowed + it "should be true with a list rule" do + p = Project.make!(trusted: true) + por = ProjectObservationRule.make!(operator: 'on_list?', ruler: p) + expect( por.ruler ).to be_aggregation_allowed + end end -end -describe Project, "slug" do - it "should change when the title changes" do - p = Project.make!(title: "The Title") - expect( p.slug ).to eq 'the-title' - p.update_attributes(title: 'The BEST Title') - p.reload - expect( p.title ).to eq 'The BEST Title' - expect( p.slug ).to eq 'the-best-title' + describe "slug" do + it "should change when the title changes" do + p = Project.make!(title: "The Title") + expect( p.slug ).to eq 'the-title' + p.update_attributes(title: 'The BEST Title') + p.reload + expect( p.title ).to eq 'The BEST Title' + expect( p.slug ).to eq 'the-best-title' + end end -end -describe Project, "preferred_submission_model" do - it "should allow observations submitted by anybody when set to any" do - p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_ANYONE) - po = ProjectObservation.make!(project: p) - expect( po ).to be_valid - end - it "should allow observations submitted by curators when set to curators" do - p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) - po = ProjectObservation.make!(project: p, user: p.user) - expect( po ).to be_valid - end - it "should allow observations with no submitter when set to curators" do - p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) - po = ProjectObservation.make!(project: p) - expect( po ).to be_valid - end - it "should not allow observations submitted by non-curators when set to curators" do - p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) - pu = ProjectUser.make!(project: p) - po = ProjectObservation.make(project: p, user: pu.user) - expect( po ).not_to be_valid - po.save - expect( po ).not_to be_persisted + describe "preferred_submission_model" do + it "should allow observations submitted by anybody when set to any" do + p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_ANYONE) + po = ProjectObservation.make!(project: p) + expect( po ).to be_valid + end + it "should allow observations submitted by curators when set to curators" do + p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) + po = ProjectObservation.make!(project: p, user: p.user) + expect( po ).to be_valid + end + it "should allow observations with no submitter when set to curators" do + p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) + po = ProjectObservation.make!(project: p) + expect( po ).to be_valid + end + it "should not allow observations submitted by non-curators when set to curators" do + p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_CURATORS) + pu = ProjectUser.make!(project: p) + po = ProjectObservation.make(project: p, user: pu.user) + expect( po ).not_to be_valid + po.save + expect( po ).not_to be_persisted + end end end From e2df8be05739dae6b9bf9d4bf6d494e725d63afd Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 23 Feb 2016 10:46:41 -0800 Subject: [PATCH 16/70] Include project descriptions in obs/:id.json response (closes #893) --- app/controllers/observations_controller.rb | 2 +- spec/blueprints.rb | 1 + spec/controllers/observation_controller_api_spec.rb | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index a7439c6b865..ee0a9cab5da 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -333,7 +333,7 @@ def show :project_observations => { :include => { :project => { - :only => [:id, :title], + :only => [:id, :title, :description], :methods => [:icon_url] } } diff --git a/spec/blueprints.rb b/spec/blueprints.rb index e8c2bcd49a5..8a0071bf7e1 100644 --- a/spec/blueprints.rb +++ b/spec/blueprints.rb @@ -234,6 +234,7 @@ Project.blueprint do user { User.make! } title { Faker::Lorem.sentence } + description { Faker::Lorem.paragraph.truncate(255) } end ProjectInvitation.blueprint do diff --git a/spec/controllers/observation_controller_api_spec.rb b/spec/controllers/observation_controller_api_spec.rb index cb99e3885ac..036e333aada 100644 --- a/spec/controllers/observation_controller_api_spec.rb +++ b/spec/controllers/observation_controller_api_spec.rb @@ -290,6 +290,14 @@ r = JSON.parse( response.body ) expect( r['captive_flag'] ).to eq false end + + it "should include project observations with project descriptions" do + po = ProjectObservation.make! + get :show, format: :json, id: po.observation_id + r = JSON.parse( response.body ) + expect( r["project_observations"] ).not_to be_blank + expect( r["project_observations"][0]["project"]["description"] ).to eq po.project.description + end end describe "update" do From 22f2caace0b8ff25ed27bd603dc5d639a1749d3c Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 23 Feb 2016 15:55:57 -0800 Subject: [PATCH 17/70] Fixed issue making oauth requests to projects/members, some sanity testing (#884) --- app/controllers/comments_controller.rb | 4 +- app/controllers/projects_controller.rb | 4 +- .../projects_controller_api_spec.rb | 40 +++++++++++++------ 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 3cb02b3fa52..3da848e3e51 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -1,5 +1,7 @@ class CommentsController < ApplicationController - before_action :doorkeeper_authorize!, :only => [ :create, :update, :destroy ], :if => lambda { authenticate_with_oauth? } + before_action :doorkeeper_authorize!, + only: [ :create, :update, :destroy ], + if: lambda { authenticate_with_oauth? } before_filter :authenticate_user!, :except => [:index], :unless => lambda { authenticated_with_oauth? } before_filter :admin_required, :only => [:user] before_filter :load_comment, :only => [:show, :edit, :update, :destroy] diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index b96daa6ec0c..822306fdd08 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -9,7 +9,9 @@ class ProjectsController < ApplicationController :cache_path => Proc.new {|c| c.params}, :if => Proc.new {|c| c.request.format == :widget} - before_action :doorkeeper_authorize!, :only => [ :by_login, :join, :leave ], :if => lambda { authenticate_with_oauth? } + before_action :doorkeeper_authorize!, + only: [ :by_login, :join, :leave, :members ], + if: lambda { authenticate_with_oauth? } before_filter :return_here, :only => [:index, :show, :contributors, :members, :show_contributor, :terms, :invite] before_filter :authenticate_user!, diff --git a/spec/controllers/projects_controller_api_spec.rb b/spec/controllers/projects_controller_api_spec.rb index 3bf7f2b9fd0..aff6392b337 100644 --- a/spec/controllers/projects_controller_api_spec.rb +++ b/spec/controllers/projects_controller_api_spec.rb @@ -3,16 +3,6 @@ shared_examples_for "a ProjectsController" do let(:user) { User.make! } let(:project) { Project.make! } - before(:each) do - @project_user = ProjectUser.make!(:user => user, :project => project) - end - - it "should list joined projects" do - expect(project.users).to include(user) - get :by_login, :format => :json, :login => user.login - expect(response).to be_success - expect(response.body).to be =~ /#{project.title}/ - end describe "join" do let(:unjoined_project) { Project.make! } @@ -64,14 +54,16 @@ end describe "members" do + let(:new_user) { User.make! } before do - sign_in User.make! + sign_in new_user end it "should include project members" do + pu = ProjectUser.make!( user: new_user, project: project ) get :members, format: :json, id: project.id json = JSON.parse(response.body) user_ids = json.map{|pu| pu['user']['id']} - expect( user_ids ).to include @project_user.user_id + expect( user_ids ).to include pu.user_id end it "should include role" do get :members, format: :json, id: project.id @@ -80,6 +72,30 @@ expect( admin['role'] ).to eq ProjectUser::MANAGER end end + + describe "by_login" do + let(:project) { Project.make! } + before do + sign_in user + end + it "should list joined projects" do + pu = ProjectUser.make!( user: user, project: project ) + expect(project.users).to include(user) + get :by_login, :format => :json, :login => user.login + expect(response).to be_success + expect(response.body).to be =~ /#{project.title}/ + end + it "should change when a user joins a project" do + expect( user.project_users.to_a ).to be_blank + get :by_login, format: :json, login: user.login, id: project.id + json = JSON.parse(response.body) + expect( json ).to be_blank + pu = ProjectUser.make!( user: user, project: project ) + get :by_login, format: :json, login: user.login, id: project.id + json = JSON.parse(response.body) + expect( json.detect{|pu| pu['project_id'].to_i == project.id } ).not_to be_blank + end + end end describe ProjectsController, "oauth authentication" do From 71594cd0d2495447f27c7425cfb831a8ef3c4fe9 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 23 Feb 2016 16:02:05 -0800 Subject: [PATCH 18/70] Added user name field to response to obs/user_stats (closes #880) --- app/controllers/observations_controller.rb | 2 +- .../observation_controller_api_spec.rb | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index ee0a9cab5da..d8ff522bc2a 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -1734,7 +1734,7 @@ def user_stats @user_ids = @user_counts.map{ |c| c["user_id"] } | @user_taxon_counts.map{ |c| c["user_id"] } @users = User.where(id: @user_ids). - select("id, login, icon_file_name, icon_updated_at, icon_content_type") + select("id, login, name, icon_file_name, icon_updated_at, icon_content_type") @users_by_id = @users.index_by(&:id) else @user_counts = [ ] diff --git a/spec/controllers/observation_controller_api_spec.rb b/spec/controllers/observation_controller_api_spec.rb index 036e333aada..eb3382c3743 100644 --- a/spec/controllers/observation_controller_api_spec.rb +++ b/spec/controllers/observation_controller_api_spec.rb @@ -1280,21 +1280,28 @@ before(:each) { enable_elastic_indexing( Observation, Place ) } after(:each) { disable_elastic_indexing( Observation, Place ) } before do - @o = Observation.make!(:observed_on_string => "2013-07-20", :taxon => Taxon.make!(:rank => Taxon::SPECIES)) - get :user_stats, :format => :json, :on => "2013-07-20" - @json = JSON.parse(response.body) + @o = Observation.make!( + observed_on_string: "2013-07-20", + taxon: Taxon.make!( rank: Taxon::SPECIES ) + ) + get :user_stats, format: :json, on: "2013-07-20" + @json = JSON.parse( response.body ) end it "should include a total" do - expect(@json["total"].to_i).to be > 0 + expect( @json["total"].to_i ).to be > 0 end it "should include most_observations" do - expect(@json["most_observations"].size).to be > 0 + expect( @json["most_observations"].size ).to be > 0 end it "should include most_species" do - expect(@json["most_species"].size).to be > 0 + expect( @json["most_species"].size ).to be > 0 + end + + it "should include user name" do + expect( @json["most_observations"][0]["user"]["name"] ).to eq @o.user.name end end From fb52f2dd3251d8f1dd033ac025ee7a1300496057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 25 Feb 2016 09:19:13 +0100 Subject: [PATCH 19/70] Localisation updates from https://translatewiki.net. --- config/locales/br.yml | 3 +++ config/locales/ca.yml | 3 +++ config/locales/qqq.yml | 7 +++---- config/locales/zh-CN.yml | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/config/locales/br.yml b/config/locales/br.yml index b2c7c9cbe3b..5673c4ee012 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -47,6 +47,9 @@ br: x_faves: one: 1 Pennroll other: '%{count} Pennrolloù' + x_people_like_this: + one: 1 den a blij an dra-mañ dezhañ + other: '%{count} tud a blij an dra-mañ dezho' x_people_agree_html: one: 1 den a sav a-du other: %{count} tud a sav a-du diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 4d80c1e3676..aee42df509d 100755 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -57,6 +57,9 @@ ca: x_faves: one: 1 favorit other: '%{count} favorits' + x_people_like_this: + one: 1 persona li agrada aquest(a) + other: '%{count} persones els agrada aquest(a)' x_people_agree_html: one: 1 persona està d'acord other: %{count} persones estan d'acord diff --git a/config/locales/qqq.yml b/config/locales/qqq.yml index 42550d33af2..ec777ea28c9 100644 --- a/config/locales/qqq.yml +++ b/config/locales/qqq.yml @@ -366,8 +366,7 @@ qqq: from_licensed_site_observations: where site_name is the name of the site full_screen: '{{Identical|Full screen}}' general: '{{Identical|General}}' - geoprivacy: See [https://en.wiktionary.org/wiki/geoprivacy geoprivacy on Wiktionary] - for hints. + geoprivacy: See [[wiktionary:geoprivacy|geoprivacy on Wiktionary]] for hints. getting_started: '{{Identical|Getting started}}' go: '{{Identical|Go}}' grant_role: where grant is removed/added and role is a role like admin @@ -732,8 +731,8 @@ qqq: class: '{{Identical|Class}}' subclass: '{{Identical|Subclass}}' order: '{{Identical|Order}}' - epifamily: See [[w:en:Biological classification]],[[:w:en:Taxonomic_rank#All_ranks]],[[wiktionary:epifamily]] - for details. + epifamily: See [[w:en:Biological classification]], [[:w:en:Taxonomic_rank#All_ranks]], + [[wiktionary:epifamily]] for details. family: '{{Identical|Family}}' form: '{{Identical|Form}}' reason: '{{Identical|Reason}}' diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index a84a734e62d..f2865cb544a 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -522,6 +522,7 @@ zh-CN: clear_color_filters: 清除颜色过滤器 clear_search: 清空搜索 clear_shapes: 清除形状 + click_add_an_observation_to_the_lower_right: 欢迎来到 %{site_name_short}!在右下方点击“添加观察”。如果您尚未登录/注册的话,您将被提示这样做 click_the_map: 点击地图以增加一个地点。 code: 代码 collapse_days: 折叠日子 From bf7b26554a4a052ff6ad4e88c4f16a70be74cf9e Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Thu, 25 Feb 2016 15:30:27 -0800 Subject: [PATCH 20/70] Make sure obs are re-indexed after user merge. --- app/models/observation.rb | 4 ++++ app/models/user.rb | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/observation.rb b/app/models/observation.rb index 53e3eaf08a7..174558b755a 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -2546,4 +2546,8 @@ def self.dedupe_for_user(user, options = {}) puts "Deleted #{deleted} observations in #{Time.now - start}s" if options[:debug] end + def self.index_observations_for_user(user_id) + Observation.elastic_index!( scope: Observation.by( user_id ) ) + end + end diff --git a/app/models/user.rb b/app/models/user.rb index 7ef2f632a1e..0b3ae569363 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -405,7 +405,8 @@ def merge(reject) reject.friendships.where(friend_id: id).each{ |f| f.destroy } merge_has_many_associations(reject) reject.destroy - LifeList.delay(:priority => USER_INTEGRITY_PRIORITY).reload_from_observations(life_list_id) + LifeList.delay(priority: USER_INTEGRITY_PRIORITY).reload_from_observations(life_list_id) + Observation.delay(priority: USER_INTEGRITY_PRIORITY).index_observations_for_user( id ) end def set_locale From 6355891113237761edb8276a5228198cfb728336 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Thu, 25 Feb 2016 18:02:36 -0800 Subject: [PATCH 21/70] Catch CSV formatting issues when processing bulk csv obs uploads. --- lib/bulk_observation_file.rb | 43 ++++++++++++++--------- spec/models/bulk_observation_file_spec.rb | 15 +++++++- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/lib/bulk_observation_file.rb b/lib/bulk_observation_file.rb index 9ae1aea75c7..3d008d750c8 100644 --- a/lib/bulk_observation_file.rb +++ b/lib/bulk_observation_file.rb @@ -66,22 +66,27 @@ def validate_file errors = [] # Parse the entire observation file looking for possible errors. - CSV.foreach(@observation_file, encoding: 'iso-8859-1:utf-8', headers: true) do |row| - next if skip_row?(row) - - # Look for the species and flag it if it's not found. - taxon = Taxon.single_taxon_for_name(row[0]) - errors << BulkObservationException.new("Species not found: #{row[0]}", row_count + 1, [], 'species_not_found') if taxon.nil? - - # Check the validity of the observation - obs = new_observation(row) - errors << BulkObservationException.new('Observation is not valid', row_count + 1, obs.errors) unless obs.valid? - - # Increment the row count. - row_count = row_count + 1 - - # Stop if we have reached our max error count - break if errors.count >= MAX_ERROR_COUNT + begin + CSV.foreach(@observation_file, encoding: 'iso-8859-1:utf-8', headers: true) do |row| + next if skip_row?(row) + + # Look for the species and flag it if it's not found. + taxon = Taxon.single_taxon_for_name(row[0]) + errors << BulkObservationException.new("Species not found: #{row[0]}", row_count + 1, [], 'species_not_found') if taxon.nil? + + # Check the validity of the observation + obs = new_observation(row) + errors << BulkObservationException.new('Observation is not valid', row_count + 1, obs.errors) unless obs.valid? + + # Increment the row count. + row_count = row_count + 1 + + # Stop if we have reached our max error count + break if errors.count >= MAX_ERROR_COUNT + end + rescue CSV::MalformedCSVError => e + line = e.message[/line (\d+)/, 1] + errors << BulkObservationException.new(e.message, line, [e]) end if errors.count > 0 raise BulkObservationException.new( @@ -220,7 +225,11 @@ def collate_errors(exception) end end - { :reason => exception.reason, :errors => errors.stringify_keys.sort_by { |k, v| k }, :field_options => field_options } + { + reason: exception.reason, + errors: errors.stringify_keys.sort_by { |k, v| k }, + field_options: field_options + } end def max_attempts diff --git a/spec/models/bulk_observation_file_spec.rb b/spec/models/bulk_observation_file_spec.rb index f2c0fc5df57..2bcbcb1b53b 100644 --- a/spec/models/bulk_observation_file_spec.rb +++ b/spec/models/bulk_observation_file_spec.rb @@ -81,7 +81,6 @@ end it "should skip rows with leading pound sign" do - work_path = File.join(Dir::tmpdir, "import_file_test-#{Time.now.to_i}.csv") t = Taxon.make! File.open(@work_path, 'w') do |f| f << <<-CSV @@ -96,6 +95,20 @@ user.reload expect( user.observations.count ).to eq 1 end + + it "should validate quotes in coordinates" do + File.open(@work_path, 'w') do |f| + t = Taxon.make! + f << <<-CSV +species guess,Date,Description,Location,Latitude / y coord / northing,Longitude / x coord / easting,Tags,Geoprivacy +#{t.name},2013-01-01 09:10:11,,1",1,,"List,Of,Tags",Private + CSV + end + bof = BulkObservationFile.new(@work_path, nil, nil, user) + user.observations.destroy_all + bof.perform + expect(user.observations).to be_blank + end describe "with project" do before do From 67cebeb31cb77df9df66ba1cc0e7558a93c506a6 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Fri, 26 Feb 2016 09:38:49 -0800 Subject: [PATCH 22/70] Added XML responses to errors controller. --- app/controllers/errors_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index 74c29024027..990febb8c07 100644 --- a/app/controllers/errors_controller.rb +++ b/app/controllers/errors_controller.rb @@ -3,6 +3,7 @@ def error_404 respond_to do |format| format.any(:html, :mobile) { render status: 404, layout: "application" } format.json { render json: { error: t(:not_found) }, status: 404 } + format.xml { render xml: { error: t(:not_found) }, status: 404 } end end @@ -10,6 +11,7 @@ def error_422 respond_to do |format| format.any(:html, :mobile) { render :error_404, status: 422, layout: "application" } format.json { render json: { error: t(:unprocessable) }, status: 422 } + format.xml { render xml: { error: t(:unprocessable) }, status: 422 } end end @@ -17,6 +19,7 @@ def error_500 respond_to do |format| format.any(:html, :mobile) { render status: 500, layout: "application" } format.json { render json: { error: t(:internal_server_error) }, status: 500 } + format.xml { render xml: { error: t(:internal_server_error) }, status: 500 } end end end From a271b1cb1a7f63709c8d37607b9aae5cdc7634f4 Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Fri, 26 Feb 2016 17:55:07 -0800 Subject: [PATCH 23/70] merged upstream --- db/structure.sql | 8138 ++-------------------------------------------- 1 file changed, 189 insertions(+), 7949 deletions(-) diff --git a/db/structure.sql b/db/structure.sql index 117bf5fc1b8..5b06d2d4a75 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -23,7926 +23,250 @@ CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'; -SET search_path = public, pg_catalog; - --- --- Name: box2d; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE box2d; - - --- --- Name: box2d_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2d_in(cstring) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_in'; - - --- --- Name: box2d_out(box2d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2d_out(box2d) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_out'; - - --- --- Name: box2d; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE box2d ( - INTERNALLENGTH = 65, - INPUT = box2d_in, - OUTPUT = box2d_out, - ALIGNMENT = int4, - STORAGE = plain -); - - --- --- Name: box2df; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE box2df; - - --- --- Name: box2df_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2df_in(cstring) RETURNS box2df - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'box2df_in'; - - --- --- Name: box2df_out(box2df); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2df_out(box2df) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'box2df_out'; - - --- --- Name: box2df; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE box2df ( - INTERNALLENGTH = 16, - INPUT = box2df_in, - OUTPUT = box2df_out, - ALIGNMENT = double, - STORAGE = plain -); - - --- --- Name: box3d; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE box3d; - - --- --- Name: box3d_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box3d_in(cstring) RETURNS box3d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_in'; - - --- --- Name: box3d_out(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box3d_out(box3d) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_out'; - - --- --- Name: box3d; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE box3d ( - INTERNALLENGTH = 52, - INPUT = box3d_in, - OUTPUT = box3d_out, - ALIGNMENT = double, - STORAGE = plain -); - - --- --- Name: geography; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE geography; - - --- --- Name: geography_analyze(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_analyze(internal) RETURNS boolean - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', 'gserialized_analyze_nd'; - - --- --- Name: geography_in(cstring, oid, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_in(cstring, oid, integer) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_in'; - - --- --- Name: geography_out(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_out(geography) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_out'; - - --- --- Name: geography_recv(internal, oid, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_recv(internal, oid, integer) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_recv'; - - --- --- Name: geography_send(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_send(geography) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_send'; - - --- --- Name: geography_typmod_in(cstring[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_typmod_in(cstring[]) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_typmod_in'; - - --- --- Name: geography_typmod_out(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_typmod_out(integer) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_typmod_out'; - - --- --- Name: geography; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE geography ( - INTERNALLENGTH = variable, - INPUT = geography_in, - OUTPUT = geography_out, - RECEIVE = geography_recv, - SEND = geography_send, - TYPMOD_IN = geography_typmod_in, - TYPMOD_OUT = geography_typmod_out, - ANALYZE = geography_analyze, - DELIMITER = ':', - ALIGNMENT = double, - STORAGE = main -); - - --- --- Name: geometry; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE geometry; - - --- --- Name: geometry_analyze(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_analyze(internal) RETURNS boolean - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', 'gserialized_analyze_nd'; - - --- --- Name: geometry_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_in(cstring) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_in'; - - --- --- Name: geometry_out(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_out(geometry) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_out'; - - --- --- Name: geometry_recv(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_recv(internal) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_recv'; - - --- --- Name: geometry_send(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_send(geometry) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_send'; - - --- --- Name: geometry_typmod_in(cstring[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_typmod_in(cstring[]) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_typmod_in'; - - --- --- Name: geometry_typmod_out(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_typmod_out(integer) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_typmod_out'; - - --- --- Name: geometry; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE geometry ( - INTERNALLENGTH = variable, - INPUT = geometry_in, - OUTPUT = geometry_out, - RECEIVE = geometry_recv, - SEND = geometry_send, - TYPMOD_IN = geometry_typmod_in, - TYPMOD_OUT = geometry_typmod_out, - ANALYZE = geometry_analyze, - DELIMITER = ':', - ALIGNMENT = double, - STORAGE = main -); - - --- --- Name: geometry_dump; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE geometry_dump AS ( - path integer[], - geom geometry -); - - --- --- Name: gidx; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE gidx; - - --- --- Name: gidx_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gidx_in(cstring) RETURNS gidx - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gidx_in'; - - --- --- Name: gidx_out(gidx); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gidx_out(gidx) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gidx_out'; - - --- --- Name: gidx; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE gidx ( - INTERNALLENGTH = variable, - INPUT = gidx_in, - OUTPUT = gidx_out, - ALIGNMENT = double, - STORAGE = plain -); - - --- --- Name: pgis_abs; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE pgis_abs; - - --- --- Name: pgis_abs_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_abs_in(cstring) RETURNS pgis_abs - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'pgis_abs_in'; - - --- --- Name: pgis_abs_out(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_abs_out(pgis_abs) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'pgis_abs_out'; - - --- --- Name: pgis_abs; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE pgis_abs ( - INTERNALLENGTH = 8, - INPUT = pgis_abs_in, - OUTPUT = pgis_abs_out, - ALIGNMENT = double, - STORAGE = plain -); - - --- --- Name: spheroid; Type: SHELL TYPE; Schema: public; Owner: - --- - -CREATE TYPE spheroid; - - --- --- Name: spheroid_in(cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION spheroid_in(cstring) RETURNS spheroid - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ellipsoid_in'; - - --- --- Name: spheroid_out(spheroid); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION spheroid_out(spheroid) RETURNS cstring - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ellipsoid_out'; - - --- --- Name: spheroid; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE spheroid ( - INTERNALLENGTH = 65, - INPUT = spheroid_in, - OUTPUT = spheroid_out, - ALIGNMENT = double, - STORAGE = plain -); - - --- --- Name: valid_detail; Type: TYPE; Schema: public; Owner: - --- - -CREATE TYPE valid_detail AS ( - valid boolean, - reason character varying, - location geometry -); - - --- --- Name: _final_median(numeric[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _final_median(numeric[]) RETURNS numeric - LANGUAGE sql IMMUTABLE - AS $_$ - SELECT AVG(val) - FROM ( - SELECT val - FROM unnest($1) val - ORDER BY 1 - LIMIT 2 - MOD(array_upper($1, 1), 2) - OFFSET CEIL(array_upper($1, 1) / 2.0) - 1 - ) sub; -$_$; - - --- --- Name: _final_median(anyarray); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _final_median(anyarray) RETURNS double precision - LANGUAGE sql IMMUTABLE - AS $_$ - WITH q AS - ( - SELECT val - FROM unnest($1) val - WHERE VAL IS NOT NULL - ORDER BY 1 - ), - cnt AS - ( - SELECT COUNT(*) AS c FROM q - ) - SELECT AVG(val)::float8 - FROM - ( - SELECT val FROM q - LIMIT 2 - MOD((SELECT c FROM cnt), 2) - OFFSET GREATEST(CEIL((SELECT c FROM cnt) / 2.0) - 1,0) - ) q2; - $_$; - - --- --- Name: _postgis_deprecate(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _postgis_deprecate(oldname text, newname text, version text) RETURNS void - LANGUAGE plpgsql IMMUTABLE STRICT - AS $$ -DECLARE - curver_text text; -BEGIN - -- - -- Raises a NOTICE if it was deprecated in this version, - -- a WARNING if in a previous version (only up to minor version checked) - -- - curver_text := '2.1.7'; - IF split_part(curver_text,'.',1)::int > split_part(version,'.',1)::int OR - ( split_part(curver_text,'.',1) = split_part(version,'.',1) AND - split_part(curver_text,'.',2) != split_part(version,'.',2) ) - THEN - RAISE WARNING '% signature was deprecated in %. Please use %', oldname, version, newname; - ELSE - RAISE DEBUG '% signature was deprecated in %. Please use %', oldname, version, newname; - END IF; -END; -$$; - - --- --- Name: _postgis_join_selectivity(regclass, text, regclass, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _postgis_join_selectivity(regclass, text, regclass, text, text DEFAULT '2'::text) RETURNS double precision - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', '_postgis_gserialized_joinsel'; - - --- --- Name: _postgis_selectivity(regclass, text, geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _postgis_selectivity(tbl regclass, att_name text, geom geometry, mode text DEFAULT '2'::text) RETURNS double precision - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', '_postgis_gserialized_sel'; - - --- --- Name: _postgis_stats(regclass, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _postgis_stats(tbl regclass, att_name text, text DEFAULT '2'::text) RETURNS text - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', '_postgis_gserialized_stats'; - - --- --- Name: _st_3ddfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_3ddfullywithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_dfullywithin3d'; - - --- --- Name: _st_3ddwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_3ddwithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_dwithin3d'; - - --- --- Name: _st_3dintersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_3dintersects(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'intersects3d'; - - --- --- Name: _st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_asgeojson(integer, geography, integer, integer) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_as_geojson'; - - --- --- Name: _st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_asgeojson(integer, geometry, integer, integer) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asGeoJson'; - - --- --- Name: _st_asgml(integer, geography, integer, integer, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_asgml(integer, geography, integer, integer, text, text) RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'geography_as_gml'; - - --- --- Name: _st_asgml(integer, geometry, integer, integer, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_asgml(integer, geometry, integer, integer, text, text) RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'LWGEOM_asGML'; - - --- --- Name: _st_askml(integer, geography, integer, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_askml(integer, geography, integer, text) RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'geography_as_kml'; - - --- --- Name: _st_askml(integer, geometry, integer, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_askml(integer, geometry, integer, text) RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'LWGEOM_asKML'; - - --- --- Name: _st_asx3d(integer, geometry, integer, integer, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_asx3d(integer, geometry, integer, integer, text) RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'LWGEOM_asX3D'; - - --- --- Name: _st_bestsrid(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_bestsrid(geography) RETURNS integer - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_BestSRID($1,$1)$_$; - - --- --- Name: _st_bestsrid(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_bestsrid(geography, geography) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_bestsrid'; - - --- --- Name: _st_buffer(geometry, double precision, cstring); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_buffer(geometry, double precision, cstring) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'buffer'; - - --- --- Name: _st_concavehull(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_concavehull(param_inputgeom geometry) RETURNS geometry - LANGUAGE plpgsql IMMUTABLE STRICT - AS $$ - DECLARE - vexhull GEOMETRY; - var_resultgeom geometry; - var_inputgeom geometry; - vexring GEOMETRY; - cavering GEOMETRY; - cavept geometry[]; - seglength double precision; - var_tempgeom geometry; - scale_factor integer := 1; - i integer; - - BEGIN - - -- First compute the ConvexHull of the geometry - vexhull := ST_ConvexHull(param_inputgeom); - var_inputgeom := param_inputgeom; - --A point really has no concave hull - IF ST_GeometryType(vexhull) = 'ST_Point' OR ST_GeometryType(vexHull) = 'ST_LineString' THEN - RETURN vexhull; - END IF; - - -- convert the hull perimeter to a linestring so we can manipulate individual points - vexring := CASE WHEN ST_GeometryType(vexhull) = 'ST_LineString' THEN vexhull ELSE ST_ExteriorRing(vexhull) END; - IF abs(ST_X(ST_PointN(vexring,1))) < 1 THEN --scale the geometry to prevent stupid precision errors - not sure it works so make low for now - scale_factor := 100; - vexring := ST_Scale(vexring, scale_factor,scale_factor); - var_inputgeom := ST_Scale(var_inputgeom, scale_factor, scale_factor); - --RAISE NOTICE 'Scaling'; - END IF; - seglength := ST_Length(vexring)/least(ST_NPoints(vexring)*2,1000) ; - - vexring := ST_Segmentize(vexring, seglength); - -- find the point on the original geom that is closest to each point of the convex hull and make a new linestring out of it. - cavering := ST_Collect( - ARRAY( - - SELECT - ST_ClosestPoint(var_inputgeom, pt ) As the_geom - FROM ( - SELECT ST_PointN(vexring, n ) As pt, n - FROM - generate_series(1, ST_NPoints(vexring) ) As n - ) As pt - - ) - ) - ; - - - var_resultgeom := ST_MakeLine(geom) - FROM ST_Dump(cavering) As foo; - - IF ST_IsSimple(var_resultgeom) THEN - var_resultgeom := ST_MakePolygon(var_resultgeom); - --RAISE NOTICE 'is Simple: %', var_resultgeom; - ELSE - --RAISE NOTICE 'is not Simple: %', var_resultgeom; - var_resultgeom := ST_ConvexHull(var_resultgeom); - END IF; - - IF scale_factor > 1 THEN -- scale the result back - var_resultgeom := ST_Scale(var_resultgeom, 1/scale_factor, 1/scale_factor); - END IF; - RETURN var_resultgeom; - - END; -$$; - - --- --- Name: _st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_contains(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'contains'; - - --- --- Name: _st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_containsproperly(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'containsproperly'; - - --- --- Name: _st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_coveredby(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'coveredby'; - - --- --- Name: _st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_covers(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_covers'; - - --- --- Name: _st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_covers(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'covers'; - - --- --- Name: _st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_crosses(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'crosses'; - - --- --- Name: _st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dfullywithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dfullywithin'; - - --- --- Name: _st_distance(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distance(geography, geography, double precision, boolean) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_distance'; - - --- --- Name: _st_distancetree(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distancetree(geography, geography) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_DistanceTree($1, $2, 0.0, true)$_$; - - --- --- Name: _st_distancetree(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distancetree(geography, geography, double precision, boolean) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_distance_tree'; - - --- --- Name: _st_distanceuncached(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distanceuncached(geography, geography) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_DistanceUnCached($1, $2, 0.0, true)$_$; - - --- --- Name: _st_distanceuncached(geography, geography, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distanceuncached(geography, geography, boolean) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_DistanceUnCached($1, $2, 0.0, $3)$_$; - - --- --- Name: _st_distanceuncached(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_distanceuncached(geography, geography, double precision, boolean) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_distance_uncached'; - - --- --- Name: _st_dumppoints(geometry, integer[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dumppoints(the_geom geometry, cur_path integer[]) RETURNS SETOF geometry_dump - LANGUAGE plpgsql - AS $$ -DECLARE - tmp geometry_dump; - tmp2 geometry_dump; - nb_points integer; - nb_geom integer; - i integer; - j integer; - g geometry; - -BEGIN - - -- RAISE DEBUG '%,%', cur_path, ST_GeometryType(the_geom); - - -- Special case collections : iterate and return the DumpPoints of the geometries - - IF (ST_IsCollection(the_geom)) THEN - - i = 1; - FOR tmp2 IN SELECT (ST_Dump(the_geom)).* LOOP - - FOR tmp IN SELECT * FROM _ST_DumpPoints(tmp2.geom, cur_path || tmp2.path) LOOP - RETURN NEXT tmp; - END LOOP; - i = i + 1; - - END LOOP; - - RETURN; - END IF; - - - -- Special case (POLYGON) : return the points of the rings of a polygon - IF (ST_GeometryType(the_geom) = 'ST_Polygon') THEN - - FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP - RETURN NEXT tmp; - END LOOP; - - j := ST_NumInteriorRings(the_geom); - FOR i IN 1..j LOOP - FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_InteriorRingN(the_geom, i), cur_path || ARRAY[i+1]) LOOP - RETURN NEXT tmp; - END LOOP; - END LOOP; - - RETURN; - END IF; - - -- Special case (TRIANGLE) : return the points of the external rings of a TRIANGLE - IF (ST_GeometryType(the_geom) = 'ST_Triangle') THEN - - FOR tmp IN SELECT * FROM _ST_DumpPoints(ST_ExteriorRing(the_geom), cur_path || ARRAY[1]) LOOP - RETURN NEXT tmp; - END LOOP; - - RETURN; - END IF; - - - -- Special case (POINT) : return the point - IF (ST_GeometryType(the_geom) = 'ST_Point') THEN - - tmp.path = cur_path || ARRAY[1]; - tmp.geom = the_geom; - - RETURN NEXT tmp; - RETURN; - - END IF; - - - -- Use ST_NumPoints rather than ST_NPoints to have a NULL value if the_geom isn't - -- a LINESTRING, CIRCULARSTRING. - SELECT ST_NumPoints(the_geom) INTO nb_points; - - -- This should never happen - IF (nb_points IS NULL) THEN - RAISE EXCEPTION 'Unexpected error while dumping geometry %', ST_AsText(the_geom); - END IF; - - FOR i IN 1..nb_points LOOP - tmp.path = cur_path || ARRAY[i]; - tmp.geom := ST_PointN(the_geom, i); - RETURN NEXT tmp; - END LOOP; - -END -$$; - - --- --- Name: _st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dwithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_dwithin'; - - --- --- Name: _st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dwithin(geography, geography, double precision, boolean) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_dwithin'; - - --- --- Name: _st_dwithinuncached(geography, geography, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dwithinuncached(geography, geography, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithinUnCached($1, $2, $3, true)$_$; - - --- --- Name: _st_dwithinuncached(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_dwithinuncached(geography, geography, double precision, boolean) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_dwithin_uncached'; - - --- --- Name: _st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_equals(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_Equals'; - - --- --- Name: _st_expand(geography, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_expand(geography, double precision) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_expand'; - - --- --- Name: _st_geomfromgml(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_geomfromgml(text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'geom_from_gml'; - - --- --- Name: _st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_intersects(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'intersects'; - - --- --- Name: _st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_linecrossingdirection(geom1 geometry, geom2 geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_LineCrossingDirection'; - - --- --- Name: _st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_longestline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_longestline2d'; - - --- --- Name: _st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_maxdistance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_maxdistance2d_linestring'; - - --- --- Name: _st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_orderingequals(geometrya geometry, geometryb geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_same'; - - --- --- Name: _st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_overlaps(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'overlaps'; - - --- --- Name: _st_pointoutside(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_pointoutside(geography) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_point_outside'; - - --- --- Name: _st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_touches(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'touches'; - - --- --- Name: _st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION _st_within(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT _ST_Contains($2,$1)$_$; - - --- --- Name: addauth(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION addauth(text) RETURNS boolean - LANGUAGE plpgsql - AS $_$ -DECLARE - lockid alias for $1; - okay boolean; - myrec record; -BEGIN - -- check to see if table exists - -- if not, CREATE TEMP TABLE mylock (transid xid, lockcode text) - okay := 'f'; - FOR myrec IN SELECT * FROM pg_class WHERE relname = 'temp_lock_have_table' LOOP - okay := 't'; - END LOOP; - IF (okay <> 't') THEN - CREATE TEMP TABLE temp_lock_have_table (transid xid, lockcode text); - -- this will only work from pgsql7.4 up - -- ON COMMIT DELETE ROWS; - END IF; - - -- INSERT INTO mylock VALUES ( $1) --- EXECUTE 'INSERT INTO temp_lock_have_table VALUES ( '|| --- quote_literal(getTransactionID()) || ',' || --- quote_literal(lockid) ||')'; - - INSERT INTO temp_lock_have_table VALUES (getTransactionID(), lockid); - - RETURN true::boolean; -END; -$_$; - - --- --- Name: addgeometrycolumn(character varying, character varying, integer, character varying, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION addgeometrycolumn(table_name character varying, column_name character varying, new_srid integer, new_type character varying, new_dim integer, use_typmod boolean DEFAULT true) RETURNS text - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT AddGeometryColumn('','',$1,$2,$3,$4,$5, $6) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: addgeometrycolumn(character varying, character varying, character varying, integer, character varying, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION addgeometrycolumn(schema_name character varying, table_name character varying, column_name character varying, new_srid integer, new_type character varying, new_dim integer, use_typmod boolean DEFAULT true) RETURNS text - LANGUAGE plpgsql STABLE STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT AddGeometryColumn('',$1,$2,$3,$4,$5,$6,$7) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: addgeometrycolumn(character varying, character varying, character varying, character varying, integer, character varying, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION addgeometrycolumn(catalog_name character varying, schema_name character varying, table_name character varying, column_name character varying, new_srid_in integer, new_type character varying, new_dim integer, use_typmod boolean DEFAULT true) RETURNS text - LANGUAGE plpgsql STRICT - AS $$ -DECLARE - rec RECORD; - sr varchar; - real_schema name; - sql text; - new_srid integer; - -BEGIN - - -- Verify geometry type - IF (postgis_type_name(new_type,new_dim) IS NULL ) - THEN - RAISE EXCEPTION 'Invalid type name "%(%)" - valid ones are: - POINT, MULTIPOINT, - LINESTRING, MULTILINESTRING, - POLYGON, MULTIPOLYGON, - CIRCULARSTRING, COMPOUNDCURVE, MULTICURVE, - CURVEPOLYGON, MULTISURFACE, - GEOMETRY, GEOMETRYCOLLECTION, - POINTM, MULTIPOINTM, - LINESTRINGM, MULTILINESTRINGM, - POLYGONM, MULTIPOLYGONM, - CIRCULARSTRINGM, COMPOUNDCURVEM, MULTICURVEM - CURVEPOLYGONM, MULTISURFACEM, TRIANGLE, TRIANGLEM, - POLYHEDRALSURFACE, POLYHEDRALSURFACEM, TIN, TINM - or GEOMETRYCOLLECTIONM', new_type, new_dim; - RETURN 'fail'; - END IF; - - - -- Verify dimension - IF ( (new_dim >4) OR (new_dim <2) ) THEN - RAISE EXCEPTION 'invalid dimension'; - RETURN 'fail'; - END IF; - - IF ( (new_type LIKE '%M') AND (new_dim!=3) ) THEN - RAISE EXCEPTION 'TypeM needs 3 dimensions'; - RETURN 'fail'; - END IF; - - - -- Verify SRID - IF ( new_srid_in > 0 ) THEN - IF new_srid_in > 998999 THEN - RAISE EXCEPTION 'AddGeometryColumn() - SRID must be <= %', 998999; - END IF; - new_srid := new_srid_in; - SELECT SRID INTO sr FROM spatial_ref_sys WHERE SRID = new_srid; - IF NOT FOUND THEN - RAISE EXCEPTION 'AddGeometryColumn() - invalid SRID'; - RETURN 'fail'; - END IF; - ELSE - new_srid := ST_SRID('POINT EMPTY'::geometry); - IF ( new_srid_in != new_srid ) THEN - RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid; - END IF; - END IF; - - - -- Verify schema - IF ( schema_name IS NOT NULL AND schema_name != '' ) THEN - sql := 'SELECT nspname FROM pg_namespace ' || - 'WHERE text(nspname) = ' || quote_literal(schema_name) || - 'LIMIT 1'; - RAISE DEBUG '%', sql; - EXECUTE sql INTO real_schema; - - IF ( real_schema IS NULL ) THEN - RAISE EXCEPTION 'Schema % is not a valid schemaname', quote_literal(schema_name); - RETURN 'fail'; - END IF; - END IF; - - IF ( real_schema IS NULL ) THEN - RAISE DEBUG 'Detecting schema'; - sql := 'SELECT n.nspname AS schemaname ' || - 'FROM pg_catalog.pg_class c ' || - 'JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace ' || - 'WHERE c.relkind = ' || quote_literal('r') || - ' AND n.nspname NOT IN (' || quote_literal('pg_catalog') || ', ' || quote_literal('pg_toast') || ')' || - ' AND pg_catalog.pg_table_is_visible(c.oid)' || - ' AND c.relname = ' || quote_literal(table_name); - RAISE DEBUG '%', sql; - EXECUTE sql INTO real_schema; - - IF ( real_schema IS NULL ) THEN - RAISE EXCEPTION 'Table % does not occur in the search_path', quote_literal(table_name); - RETURN 'fail'; - END IF; - END IF; - - - -- Add geometry column to table - IF use_typmod THEN - sql := 'ALTER TABLE ' || - quote_ident(real_schema) || '.' || quote_ident(table_name) - || ' ADD COLUMN ' || quote_ident(column_name) || - ' geometry(' || postgis_type_name(new_type, new_dim) || ', ' || new_srid::text || ')'; - RAISE DEBUG '%', sql; - ELSE - sql := 'ALTER TABLE ' || - quote_ident(real_schema) || '.' || quote_ident(table_name) - || ' ADD COLUMN ' || quote_ident(column_name) || - ' geometry '; - RAISE DEBUG '%', sql; - END IF; - EXECUTE sql; - - IF NOT use_typmod THEN - -- Add table CHECKs - sql := 'ALTER TABLE ' || - quote_ident(real_schema) || '.' || quote_ident(table_name) - || ' ADD CONSTRAINT ' - || quote_ident('enforce_srid_' || column_name) - || ' CHECK (st_srid(' || quote_ident(column_name) || - ') = ' || new_srid::text || ')' ; - RAISE DEBUG '%', sql; - EXECUTE sql; - - sql := 'ALTER TABLE ' || - quote_ident(real_schema) || '.' || quote_ident(table_name) - || ' ADD CONSTRAINT ' - || quote_ident('enforce_dims_' || column_name) - || ' CHECK (st_ndims(' || quote_ident(column_name) || - ') = ' || new_dim::text || ')' ; - RAISE DEBUG '%', sql; - EXECUTE sql; - - IF ( NOT (new_type = 'GEOMETRY')) THEN - sql := 'ALTER TABLE ' || - quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD CONSTRAINT ' || - quote_ident('enforce_geotype_' || column_name) || - ' CHECK (GeometryType(' || - quote_ident(column_name) || ')=' || - quote_literal(new_type) || ' OR (' || - quote_ident(column_name) || ') is null)'; - RAISE DEBUG '%', sql; - EXECUTE sql; - END IF; - END IF; - - RETURN - real_schema || '.' || - table_name || '.' || column_name || - ' SRID:' || new_srid::text || - ' TYPE:' || new_type || - ' DIMS:' || new_dim::text || ' '; -END; -$$; - - --- --- Name: box(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box(box3d) RETURNS box - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_to_BOX'; - - --- --- Name: box(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box(geometry) RETURNS box - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_BOX'; - - --- --- Name: box2d(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2d(box3d) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_to_BOX2D'; - - --- --- Name: box2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box2d(geometry) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_BOX2D'; - - --- --- Name: box3d(box2d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box3d(box2d) RETURNS box3d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_to_BOX3D'; - - --- --- Name: box3d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box3d(geometry) RETURNS box3d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_BOX3D'; - - --- --- Name: box3dtobox(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION box3dtobox(box3d) RETURNS box - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT box($1)$_$; - - --- --- Name: bytea(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bytea(geography) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_bytea'; - - --- --- Name: bytea(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION bytea(geometry) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_bytea'; - - --- --- Name: checkauth(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION checkauth(text, text) RETURNS integer - LANGUAGE sql - AS $_$ SELECT CheckAuth('', $1, $2) $_$; - - --- --- Name: checkauth(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION checkauth(text, text, text) RETURNS integer - LANGUAGE plpgsql - AS $_$ -DECLARE - schema text; -BEGIN - IF NOT LongTransactionsEnabled() THEN - RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; - END IF; - - if ( $1 != '' ) THEN - schema = $1; - ELSE - SELECT current_schema() into schema; - END IF; - - -- TODO: check for an already existing trigger ? - - EXECUTE 'CREATE TRIGGER check_auth BEFORE UPDATE OR DELETE ON ' - || quote_ident(schema) || '.' || quote_ident($2) - ||' FOR EACH ROW EXECUTE PROCEDURE CheckAuthTrigger(' - || quote_literal($3) || ')'; - - RETURN 0; -END; -$_$; - - --- --- Name: checkauthtrigger(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION checkauthtrigger() RETURNS trigger - LANGUAGE c - AS '$libdir/postgis-2.1', 'check_authorization'; - - --- --- Name: cleangeometry(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION cleangeometry(geom geometry) RETURNS geometry - LANGUAGE plpgsql - AS $_$ - DECLARE - inGeom ALIAS for $1; - outGeom geometry; - tmpLinestring geometry; - sqlString text; - - BEGIN - - outGeom := NULL; - - -- Clean Polygons -- - IF (ST_GeometryType(inGeom) = 'ST_Polygon' OR ST_GeometryType(inGeom) = 'ST_MultiPolygon') THEN - - -- Check if it needs fixing - IF NOT ST_IsValid(inGeom) THEN - - sqlString := ' - -- separate multipolygon into 1 polygon per row - WITH split_multi (geom, poly) AS ( - SELECT - (ST_Dump($1)).geom, - (ST_Dump($1)).path[1] -- polygon number - ), - -- break each polygon into linestrings - split_line (geom, poly, line) AS ( - SELECT - ST_Boundary((ST_DumpRings(geom)).geom), - poly, - (ST_DumpRings(geom)).path[1] -- line number - FROM split_multi - ), - -- get the linestrings that make up the exterior of each polygon - line_exterior (geom, poly) AS ( - SELECT - geom, - poly - FROM split_line - WHERE line = 0 - ), - -- get an array of all the linestrings that make up the interior of each polygon - line_interior (geom, poly) AS ( - SELECT - array_agg(geom ORDER BY line), - poly - FROM split_line - WHERE line > 0 - GROUP BY poly - ), - -- use MakePolygon to rebuild the polygons - poly_geom (geom, poly) AS ( - SELECT - CASE WHEN line_interior.geom IS NULL - THEN ST_Buffer(ST_MakePolygon(line_exterior.geom), 0) - ELSE ST_Buffer(ST_MakePolygon(line_exterior.geom, line_interior.geom), 0) - END, - line_exterior.poly - FROM line_exterior - LEFT JOIN line_interior USING (poly) - ) - '; - - IF (ST_GeometryType(inGeom) = 'ST_Polygon') THEN - sqlString := sqlString || ' - SELECT geom - FROM poly_geom - '; - ELSE - sqlString := sqlString || ' - , -- if its a multipolygon combine the polygons back together - multi_geom (geom) AS ( - SELECT - ST_Multi(ST_Collect(geom ORDER BY poly)) - FROM poly_geom - ) - SELECT geom - FROM multi_geom - '; - END IF; - - EXECUTE sqlString INTO outGeom USING inGeom; - - RETURN outGeom; - ELSE - RETURN inGeom; - END IF; - - -- Clean Lines -- - ELSIF (ST_GeometryType(inGeom) = 'ST_Linestring') THEN - - outGeom := ST_Union(ST_Multi(inGeom), ST_PointN(inGeom, 1)); - RETURN outGeom; - ELSIF (ST_GeometryType(inGeom) = 'ST_MultiLinestring') THEN - outGeom := ST_Multi(ST_Union(ST_Multi(inGeom), ST_PointN(inGeom, 1))); - RETURN outGeom; - ELSE - RAISE NOTICE 'The input type % is not supported',ST_GeometryType(inGeom); - RETURN inGeom; - END IF; - END; - $_$; - - --- --- Name: crc32(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION crc32(word text) RETURNS bigint - LANGUAGE plpgsql IMMUTABLE - AS $$ - DECLARE tmp bigint; - DECLARE i int; - DECLARE j int; - DECLARE byte_length int; - DECLARE word_array bytea; - BEGIN - IF COALESCE(word, '') = '' THEN - return 0; - END IF; - - i = 0; - tmp = 4294967295; - byte_length = bit_length(word) / 8; - word_array = decode(replace(word, E'\\', E'\\\\'), 'escape'); - LOOP - tmp = (tmp # get_byte(word_array, i))::bigint; - i = i + 1; - j = 0; - LOOP - tmp = ((tmp >> 1) # (3988292384 * (tmp & 1)))::bigint; - j = j + 1; - IF j >= 8 THEN - EXIT; - END IF; - END LOOP; - IF i >= byte_length THEN - EXIT; - END IF; - END LOOP; - return (tmp # 4294967295); - END - $$; - - --- --- Name: disablelongtransactions(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION disablelongtransactions() RETURNS text - LANGUAGE plpgsql - AS $$ -DECLARE - rec RECORD; - -BEGIN - - -- - -- Drop all triggers applied by CheckAuth() - -- - FOR rec IN - SELECT c.relname, t.tgname, t.tgargs FROM pg_trigger t, pg_class c, pg_proc p - WHERE p.proname = 'checkauthtrigger' and t.tgfoid = p.oid and t.tgrelid = c.oid - LOOP - EXECUTE 'DROP TRIGGER ' || quote_ident(rec.tgname) || - ' ON ' || quote_ident(rec.relname); - END LOOP; - - -- - -- Drop the authorization_table table - -- - FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' LOOP - DROP TABLE authorization_table; - END LOOP; - - -- - -- Drop the authorized_tables view - -- - FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' LOOP - DROP VIEW authorized_tables; - END LOOP; - - RETURN 'Long transactions support disabled'; -END; -$$; - - --- --- Name: dropgeometrycolumn(character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrycolumn(table_name character varying, column_name character varying) RETURNS text - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT DropGeometryColumn('','',$1,$2) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: dropgeometrycolumn(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrycolumn(schema_name character varying, table_name character varying, column_name character varying) RETURNS text - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT DropGeometryColumn('',$1,$2,$3) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: dropgeometrycolumn(character varying, character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrycolumn(catalog_name character varying, schema_name character varying, table_name character varying, column_name character varying) RETURNS text - LANGUAGE plpgsql STRICT - AS $$ -DECLARE - myrec RECORD; - okay boolean; - real_schema name; - -BEGIN - - - -- Find, check or fix schema_name - IF ( schema_name != '' ) THEN - okay = false; - - FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP - okay := true; - END LOOP; - - IF ( okay <> true ) THEN - RAISE NOTICE 'Invalid schema name - using current_schema()'; - SELECT current_schema() into real_schema; - ELSE - real_schema = schema_name; - END IF; - ELSE - SELECT current_schema() into real_schema; - END IF; - - -- Find out if the column is in the geometry_columns table - okay = false; - FOR myrec IN SELECT * from geometry_columns where f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP - okay := true; - END LOOP; - IF (okay <> true) THEN - RAISE EXCEPTION 'column not found in geometry_columns table'; - RETURN false; - END IF; - - -- Remove table column - EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || - quote_ident(table_name) || ' DROP COLUMN ' || - quote_ident(column_name); - - RETURN real_schema || '.' || table_name || '.' || column_name ||' effectively removed.'; - -END; -$$; - - --- --- Name: dropgeometrytable(character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrytable(table_name character varying) RETURNS text - LANGUAGE sql STRICT - AS $_$ SELECT DropGeometryTable('','',$1) $_$; - - --- --- Name: dropgeometrytable(character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrytable(schema_name character varying, table_name character varying) RETURNS text - LANGUAGE sql STRICT - AS $_$ SELECT DropGeometryTable('',$1,$2) $_$; - - --- --- Name: dropgeometrytable(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION dropgeometrytable(catalog_name character varying, schema_name character varying, table_name character varying) RETURNS text - LANGUAGE plpgsql STRICT - AS $$ -DECLARE - real_schema name; - -BEGIN - - IF ( schema_name = '' ) THEN - SELECT current_schema() into real_schema; - ELSE - real_schema = schema_name; - END IF; - - -- TODO: Should we warn if table doesn't exist probably instead just saying dropped - -- Remove table - EXECUTE 'DROP TABLE IF EXISTS ' - || quote_ident(real_schema) || '.' || - quote_ident(table_name) || ' RESTRICT'; - - RETURN - real_schema || '.' || - table_name ||' dropped.'; - -END; -$$; - - --- --- Name: enablelongtransactions(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION enablelongtransactions() RETURNS text - LANGUAGE plpgsql - AS $$ -DECLARE - "query" text; - exists bool; - rec RECORD; - -BEGIN - - exists = 'f'; - FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorization_table' - LOOP - exists = 't'; - END LOOP; - - IF NOT exists - THEN - "query" = 'CREATE TABLE authorization_table ( - toid oid, -- table oid - rid text, -- row id - expires timestamp, - authid text - )'; - EXECUTE "query"; - END IF; - - exists = 'f'; - FOR rec IN SELECT * FROM pg_class WHERE relname = 'authorized_tables' - LOOP - exists = 't'; - END LOOP; - - IF NOT exists THEN - "query" = 'CREATE VIEW authorized_tables AS ' || - 'SELECT ' || - 'n.nspname as schema, ' || - 'c.relname as table, trim(' || - quote_literal(chr(92) || '000') || - ' from t.tgargs) as id_column ' || - 'FROM pg_trigger t, pg_class c, pg_proc p ' || - ', pg_namespace n ' || - 'WHERE p.proname = ' || quote_literal('checkauthtrigger') || - ' AND c.relnamespace = n.oid' || - ' AND t.tgfoid = p.oid and t.tgrelid = c.oid'; - EXECUTE "query"; - END IF; - - RETURN 'Long transactions support enabled'; -END; -$$; - - --- --- Name: equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION equals(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_Equals'; - - --- --- Name: find_srid(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION find_srid(character varying, character varying, character varying) RETURNS integer - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -DECLARE - schem text; - tabl text; - sr int4; -BEGIN - IF $1 IS NULL THEN - RAISE EXCEPTION 'find_srid() - schema is NULL!'; - END IF; - IF $2 IS NULL THEN - RAISE EXCEPTION 'find_srid() - table name is NULL!'; - END IF; - IF $3 IS NULL THEN - RAISE EXCEPTION 'find_srid() - column name is NULL!'; - END IF; - schem = $1; - tabl = $2; --- if the table contains a . and the schema is empty --- split the table into a schema and a table --- otherwise drop through to default behavior - IF ( schem = '' and tabl LIKE '%.%' ) THEN - schem = substr(tabl,1,strpos(tabl,'.')-1); - tabl = substr(tabl,length(schem)+2); - ELSE - schem = schem || '%'; - END IF; - - select SRID into sr from geometry_columns where f_table_schema like schem and f_table_name = tabl and f_geometry_column = $3; - IF NOT FOUND THEN - RAISE EXCEPTION 'find_srid() - couldnt find the corresponding SRID - is the geometry registered in the GEOMETRY_COLUMNS table? Is there an uppercase/lowercase missmatch?'; - END IF; - return sr; -END; -$_$; - - --- --- Name: geography(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography(bytea) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_from_binary'; - - --- --- Name: geography(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography(geometry) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_from_geometry'; - - --- --- Name: geography(geography, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography(geography, integer, boolean) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_enforce_typmod'; - - --- --- Name: geography_cmp(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_cmp(geography, geography) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_cmp'; - - --- --- Name: geography_eq(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_eq(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_eq'; - - --- --- Name: geography_ge(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_ge(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_ge'; - - --- --- Name: geography_gist_compress(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_compress(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_compress'; - - --- --- Name: geography_gist_consistent(internal, geography, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_consistent(internal, geography, integer) RETURNS boolean - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_consistent'; - - --- --- Name: geography_gist_decompress(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_decompress(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_decompress'; - - --- --- Name: geography_gist_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_penalty(internal, internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_penalty'; - - --- --- Name: geography_gist_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_picksplit(internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_picksplit'; - - --- --- Name: geography_gist_same(box2d, box2d, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_same(box2d, box2d, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_same'; - - --- --- Name: geography_gist_union(bytea, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gist_union(bytea, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_union'; - - --- --- Name: geography_gt(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_gt(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_gt'; - - --- --- Name: geography_le(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_le(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_le'; - - --- --- Name: geography_lt(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_lt(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_lt'; - - --- --- Name: geography_overlaps(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geography_overlaps(geography, geography) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overlaps'; - - --- --- Name: geometry(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(bytea) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_bytea'; - - --- --- Name: geometry(path); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(path) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'path_to_geometry'; - - --- --- Name: geometry(point); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(point) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'point_to_geometry'; - - --- --- Name: geometry(polygon); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(polygon) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'polygon_to_geometry'; - - --- --- Name: geometry(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'parse_WKT_lwgeom'; - - --- --- Name: geometry(box2d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(box2d) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_to_LWGEOM'; - - --- --- Name: geometry(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(box3d) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_to_LWGEOM'; - - --- --- Name: geometry(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(geography) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_from_geography'; - - --- --- Name: geometry(geometry, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry(geometry, integer, boolean) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_enforce_typmod'; - - --- --- Name: geometry_above(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_above(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_above_2d'; - - --- --- Name: geometry_below(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_below(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_below_2d'; - - --- --- Name: geometry_cmp(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_cmp(geom1 geometry, geom2 geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_cmp'; - - --- --- Name: geometry_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_contains(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_contains_2d'; - - --- --- Name: geometry_distance_box(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_distance_box(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_distance_box_2d'; - - --- --- Name: geometry_distance_centroid(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_distance_centroid(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_distance_centroid_2d'; - - --- --- Name: geometry_eq(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_eq(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_eq'; - - --- --- Name: geometry_ge(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_ge(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_ge'; - - --- --- Name: geometry_gist_compress_2d(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_compress_2d(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_compress_2d'; - - --- --- Name: geometry_gist_compress_nd(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_compress_nd(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_compress'; - - --- --- Name: geometry_gist_consistent_2d(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_consistent_2d(internal, geometry, integer) RETURNS boolean - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_consistent_2d'; - - --- --- Name: geometry_gist_consistent_nd(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_consistent_nd(internal, geometry, integer) RETURNS boolean - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_consistent'; - - --- --- Name: geometry_gist_decompress_2d(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_decompress_2d(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_decompress_2d'; - - --- --- Name: geometry_gist_decompress_nd(internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_decompress_nd(internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_decompress'; - - --- --- Name: geometry_gist_distance_2d(internal, geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_distance_2d(internal, geometry, integer) RETURNS double precision - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_distance_2d'; - - --- --- Name: geometry_gist_penalty_2d(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_penalty_2d(internal, internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_penalty_2d'; - - --- --- Name: geometry_gist_penalty_nd(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_penalty_nd(internal, internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_penalty'; - - --- --- Name: geometry_gist_picksplit_2d(internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_picksplit_2d(internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_picksplit_2d'; - - --- --- Name: geometry_gist_picksplit_nd(internal, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_picksplit_nd(internal, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_picksplit'; - - --- --- Name: geometry_gist_same_2d(geometry, geometry, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_same_2d(geom1 geometry, geom2 geometry, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_same_2d'; - - --- --- Name: geometry_gist_same_nd(geometry, geometry, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_same_nd(geometry, geometry, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_same'; - - --- --- Name: geometry_gist_union_2d(bytea, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_union_2d(bytea, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_union_2d'; - - --- --- Name: geometry_gist_union_nd(bytea, internal); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gist_union_nd(bytea, internal) RETURNS internal - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_union'; - - --- --- Name: geometry_gt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_gt(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_gt'; - - --- --- Name: geometry_le(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_le(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_le'; - - --- --- Name: geometry_left(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_left(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_left_2d'; - - --- --- Name: geometry_lt(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_lt(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'lwgeom_lt'; - - --- --- Name: geometry_overabove(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overabove(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overabove_2d'; - - --- --- Name: geometry_overbelow(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overbelow(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overbelow_2d'; - - --- --- Name: geometry_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overlaps(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overlaps_2d'; - - --- --- Name: geometry_overlaps_nd(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overlaps_nd(geometry, geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overlaps'; - - --- --- Name: geometry_overleft(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overleft(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overleft_2d'; - - --- --- Name: geometry_overright(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_overright(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_overright_2d'; - - --- --- Name: geometry_right(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_right(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_right_2d'; - - --- --- Name: geometry_same(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_same(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_same_2d'; - - --- --- Name: geometry_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometry_within(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'gserialized_within_2d'; - - --- --- Name: geometrytype(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometrytype(geography) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_getTYPE'; - - --- --- Name: geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geometrytype(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_getTYPE'; - - --- --- Name: geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geomfromewkb(bytea) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOMFromWKB'; - - --- --- Name: geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION geomfromewkt(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'parse_WKT_lwgeom'; - - --- --- Name: get_proj4_from_srid(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION get_proj4_from_srid(integer) RETURNS text - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -BEGIN - RETURN proj4text::text FROM spatial_ref_sys WHERE srid= $1; -END; -$_$; - - --- --- Name: gettransactionid(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gettransactionid() RETURNS xid - LANGUAGE c - AS '$libdir/postgis-2.1', 'getTransactionID'; - - --- --- Name: gserialized_gist_joinsel_2d(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gserialized_gist_joinsel_2d(internal, oid, internal, smallint) RETURNS double precision - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_joinsel_2d'; - - --- --- Name: gserialized_gist_joinsel_nd(internal, oid, internal, smallint); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gserialized_gist_joinsel_nd(internal, oid, internal, smallint) RETURNS double precision - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_joinsel_nd'; - - --- --- Name: gserialized_gist_sel_2d(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gserialized_gist_sel_2d(internal, oid, internal, integer) RETURNS double precision - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_sel_2d'; - - --- --- Name: gserialized_gist_sel_nd(internal, oid, internal, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION gserialized_gist_sel_nd(internal, oid, internal, integer) RETURNS double precision - LANGUAGE c - AS '$libdir/postgis-2.1', 'gserialized_gist_sel_nd'; - - --- --- Name: lockrow(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION lockrow(text, text, text) RETURNS integer - LANGUAGE sql STRICT - AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, now()::timestamp+'1:00'); $_$; - - --- --- Name: lockrow(text, text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION lockrow(text, text, text, text) RETURNS integer - LANGUAGE sql STRICT - AS $_$ SELECT LockRow($1, $2, $3, $4, now()::timestamp+'1:00'); $_$; - - --- --- Name: lockrow(text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION lockrow(text, text, text, timestamp without time zone) RETURNS integer - LANGUAGE sql STRICT - AS $_$ SELECT LockRow(current_schema(), $1, $2, $3, $4); $_$; - - --- --- Name: lockrow(text, text, text, text, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION lockrow(text, text, text, text, timestamp without time zone) RETURNS integer - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - myschema alias for $1; - mytable alias for $2; - myrid alias for $3; - authid alias for $4; - expires alias for $5; - ret int; - mytoid oid; - myrec RECORD; - -BEGIN - - IF NOT LongTransactionsEnabled() THEN - RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; - END IF; - - EXECUTE 'DELETE FROM authorization_table WHERE expires < now()'; - - SELECT c.oid INTO mytoid FROM pg_class c, pg_namespace n - WHERE c.relname = mytable - AND c.relnamespace = n.oid - AND n.nspname = myschema; - - -- RAISE NOTICE 'toid: %', mytoid; - - FOR myrec IN SELECT * FROM authorization_table WHERE - toid = mytoid AND rid = myrid - LOOP - IF myrec.authid != authid THEN - RETURN 0; - ELSE - RETURN 1; - END IF; - END LOOP; - - EXECUTE 'INSERT INTO authorization_table VALUES ('|| - quote_literal(mytoid::text)||','||quote_literal(myrid)|| - ','||quote_literal(expires::text)|| - ','||quote_literal(authid) ||')'; - - GET DIAGNOSTICS ret = ROW_COUNT; - - RETURN ret; -END; -$_$; - - --- --- Name: longtransactionsenabled(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION longtransactionsenabled() RETURNS boolean - LANGUAGE plpgsql - AS $$ -DECLARE - rec RECORD; -BEGIN - FOR rec IN SELECT oid FROM pg_class WHERE relname = 'authorized_tables' - LOOP - return 't'; - END LOOP; - return 'f'; -END; -$$; - - --- --- Name: path(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION path(geometry) RETURNS path - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_to_path'; - - --- --- Name: pgis_geometry_accum_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_accum_finalfn(pgis_abs) RETURNS geometry[] - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_accum_finalfn'; - - --- --- Name: pgis_geometry_accum_transfn(pgis_abs, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_accum_transfn(pgis_abs, geometry) RETURNS pgis_abs - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_accum_transfn'; - - --- --- Name: pgis_geometry_collect_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_collect_finalfn(pgis_abs) RETURNS geometry - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_collect_finalfn'; - - --- --- Name: pgis_geometry_makeline_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_makeline_finalfn(pgis_abs) RETURNS geometry - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_makeline_finalfn'; - - --- --- Name: pgis_geometry_polygonize_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_polygonize_finalfn(pgis_abs) RETURNS geometry - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_polygonize_finalfn'; - - --- --- Name: pgis_geometry_union_finalfn(pgis_abs); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION pgis_geometry_union_finalfn(pgis_abs) RETURNS geometry - LANGUAGE c - AS '$libdir/postgis-2.1', 'pgis_geometry_union_finalfn'; - - --- --- Name: point(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION point(geometry) RETURNS point - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_to_point'; - - --- --- Name: polygon(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION polygon(geometry) RETURNS polygon - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_to_polygon'; - - --- --- Name: populate_geometry_columns(boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION populate_geometry_columns(use_typmod boolean DEFAULT true) RETURNS text - LANGUAGE plpgsql - AS $$ -DECLARE - inserted integer; - oldcount integer; - probed integer; - stale integer; - gcs RECORD; - gc RECORD; - gsrid integer; - gndims integer; - gtype text; - query text; - gc_is_valid boolean; - -BEGIN - SELECT count(*) INTO oldcount FROM geometry_columns; - inserted := 0; - - -- Count the number of geometry columns in all tables and views - SELECT count(DISTINCT c.oid) INTO probed - FROM pg_class c, - pg_attribute a, - pg_type t, - pg_namespace n - WHERE (c.relkind = 'r' OR c.relkind = 'v') - AND t.typname = 'geometry' - AND a.attisdropped = false - AND a.atttypid = t.oid - AND a.attrelid = c.oid - AND c.relnamespace = n.oid - AND n.nspname NOT ILIKE 'pg_temp%' AND c.relname != 'raster_columns' ; - - -- Iterate through all non-dropped geometry columns - RAISE DEBUG 'Processing Tables.....'; - - FOR gcs IN - SELECT DISTINCT ON (c.oid) c.oid, n.nspname, c.relname - FROM pg_class c, - pg_attribute a, - pg_type t, - pg_namespace n - WHERE c.relkind = 'r' - AND t.typname = 'geometry' - AND a.attisdropped = false - AND a.atttypid = t.oid - AND a.attrelid = c.oid - AND c.relnamespace = n.oid - AND n.nspname NOT ILIKE 'pg_temp%' AND c.relname != 'raster_columns' - LOOP - - inserted := inserted + populate_geometry_columns(gcs.oid, use_typmod); - END LOOP; - - IF oldcount > inserted THEN - stale = oldcount-inserted; - ELSE - stale = 0; - END IF; - - RETURN 'probed:' ||probed|| ' inserted:'||inserted; -END - -$$; - - --- --- Name: populate_geometry_columns(oid, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION populate_geometry_columns(tbl_oid oid, use_typmod boolean DEFAULT true) RETURNS integer - LANGUAGE plpgsql - AS $$ -DECLARE - gcs RECORD; - gc RECORD; - gc_old RECORD; - gsrid integer; - gndims integer; - gtype text; - query text; - gc_is_valid boolean; - inserted integer; - constraint_successful boolean := false; - -BEGIN - inserted := 0; - - -- Iterate through all geometry columns in this table - FOR gcs IN - SELECT n.nspname, c.relname, a.attname - FROM pg_class c, - pg_attribute a, - pg_type t, - pg_namespace n - WHERE c.relkind = 'r' - AND t.typname = 'geometry' - AND a.attisdropped = false - AND a.atttypid = t.oid - AND a.attrelid = c.oid - AND c.relnamespace = n.oid - AND n.nspname NOT ILIKE 'pg_temp%' - AND c.oid = tbl_oid - LOOP - - RAISE DEBUG 'Processing column %.%.%', gcs.nspname, gcs.relname, gcs.attname; - - gc_is_valid := true; - -- Find the srid, coord_dimension, and type of current geometry - -- in geometry_columns -- which is now a view - - SELECT type, srid, coord_dimension INTO gc_old - FROM geometry_columns - WHERE f_table_schema = gcs.nspname AND f_table_name = gcs.relname AND f_geometry_column = gcs.attname; - - IF upper(gc_old.type) = 'GEOMETRY' THEN - -- This is an unconstrained geometry we need to do something - -- We need to figure out what to set the type by inspecting the data - EXECUTE 'SELECT st_srid(' || quote_ident(gcs.attname) || ') As srid, GeometryType(' || quote_ident(gcs.attname) || ') As type, ST_NDims(' || quote_ident(gcs.attname) || ') As dims ' || - ' FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || - ' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1;' - INTO gc; - IF gc IS NULL THEN -- there is no data so we can not determine geometry type - RAISE WARNING 'No data in table %.%, so no information to determine geometry type and srid', gcs.nspname, gcs.relname; - RETURN 0; - END IF; - gsrid := gc.srid; gtype := gc.type; gndims := gc.dims; - - IF use_typmod THEN - BEGIN - EXECUTE 'ALTER TABLE ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' ALTER COLUMN ' || quote_ident(gcs.attname) || - ' TYPE geometry(' || postgis_type_name(gtype, gndims, true) || ', ' || gsrid::text || ') '; - inserted := inserted + 1; - EXCEPTION - WHEN invalid_parameter_value OR feature_not_supported THEN - RAISE WARNING 'Could not convert ''%'' in ''%.%'' to use typmod with srid %, type %: %', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), gsrid, postgis_type_name(gtype, gndims, true), SQLERRM; - gc_is_valid := false; - END; - - ELSE - -- Try to apply srid check to column - constraint_successful = false; - IF (gsrid > 0 AND postgis_constraint_srid(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN - BEGIN - EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || - ' ADD CONSTRAINT ' || quote_ident('enforce_srid_' || gcs.attname) || - ' CHECK (st_srid(' || quote_ident(gcs.attname) || ') = ' || gsrid || ')'; - constraint_successful := true; - EXCEPTION - WHEN check_violation THEN - RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (st_srid(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gsrid; - gc_is_valid := false; - END; - END IF; - - -- Try to apply ndims check to column - IF (gndims IS NOT NULL AND postgis_constraint_dims(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN - BEGIN - EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' - ADD CONSTRAINT ' || quote_ident('enforce_dims_' || gcs.attname) || ' - CHECK (st_ndims(' || quote_ident(gcs.attname) || ') = '||gndims||')'; - constraint_successful := true; - EXCEPTION - WHEN check_violation THEN - RAISE WARNING 'Not inserting ''%'' in ''%.%'' into geometry_columns: could not apply constraint CHECK (st_ndims(%) = %)', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname), quote_ident(gcs.attname), gndims; - gc_is_valid := false; - END; - END IF; - - -- Try to apply geometrytype check to column - IF (gtype IS NOT NULL AND postgis_constraint_type(gcs.nspname, gcs.relname,gcs.attname) IS NULL ) THEN - BEGIN - EXECUTE 'ALTER TABLE ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) || ' - ADD CONSTRAINT ' || quote_ident('enforce_geotype_' || gcs.attname) || ' - CHECK ((geometrytype(' || quote_ident(gcs.attname) || ') = ' || quote_literal(gtype) || ') OR (' || quote_ident(gcs.attname) || ' IS NULL))'; - constraint_successful := true; - EXCEPTION - WHEN check_violation THEN - -- No geometry check can be applied. This column contains a number of geometry types. - RAISE WARNING 'Could not add geometry type check (%) to table column: %.%.%', gtype, quote_ident(gcs.nspname),quote_ident(gcs.relname),quote_ident(gcs.attname); - END; - END IF; - --only count if we were successful in applying at least one constraint - IF constraint_successful THEN - inserted := inserted + 1; - END IF; - END IF; - END IF; - - END LOOP; - - RETURN inserted; -END - -$$; - - --- --- Name: postgis_addbbox(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_addbbox(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_addBBOX'; - - --- --- Name: postgis_cache_bbox(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_cache_bbox() RETURNS trigger - LANGUAGE c - AS '$libdir/postgis-2.1', 'cache_bbox'; - - --- --- Name: postgis_constraint_dims(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_constraint_dims(geomschema text, geomtable text, geomcolumn text) RETURNS integer - LANGUAGE sql STABLE STRICT - AS $_$ -SELECT replace(split_part(s.consrc, ' = ', 2), ')', '')::integer - FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s - WHERE n.nspname = $1 - AND c.relname = $2 - AND a.attname = $3 - AND a.attrelid = c.oid - AND s.connamespace = n.oid - AND s.conrelid = c.oid - AND a.attnum = ANY (s.conkey) - AND s.consrc LIKE '%ndims(% = %'; -$_$; - - --- --- Name: postgis_constraint_srid(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_constraint_srid(geomschema text, geomtable text, geomcolumn text) RETURNS integer - LANGUAGE sql STABLE STRICT - AS $_$ -SELECT replace(replace(split_part(s.consrc, ' = ', 2), ')', ''), '(', '')::integer - FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s - WHERE n.nspname = $1 - AND c.relname = $2 - AND a.attname = $3 - AND a.attrelid = c.oid - AND s.connamespace = n.oid - AND s.conrelid = c.oid - AND a.attnum = ANY (s.conkey) - AND s.consrc LIKE '%srid(% = %'; -$_$; - - --- --- Name: postgis_constraint_type(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_constraint_type(geomschema text, geomtable text, geomcolumn text) RETURNS character varying - LANGUAGE sql STABLE STRICT - AS $_$ -SELECT replace(split_part(s.consrc, '''', 2), ')', '')::varchar - FROM pg_class c, pg_namespace n, pg_attribute a, pg_constraint s - WHERE n.nspname = $1 - AND c.relname = $2 - AND a.attname = $3 - AND a.attrelid = c.oid - AND s.connamespace = n.oid - AND s.conrelid = c.oid - AND a.attnum = ANY (s.conkey) - AND s.consrc LIKE '%geometrytype(% = %'; -$_$; - - --- --- Name: postgis_dropbbox(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_dropbbox(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dropBBOX'; - - --- --- Name: postgis_full_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_full_version() RETURNS text - LANGUAGE plpgsql IMMUTABLE - AS $$ -DECLARE - libver text; - svnver text; - projver text; - geosver text; - sfcgalver text; - cgalver text; - gdalver text; - libxmlver text; - dbproc text; - relproc text; - fullver text; - rast_lib_ver text; - rast_scr_ver text; - topo_scr_ver text; - json_lib_ver text; -BEGIN - SELECT postgis_lib_version() INTO libver; - SELECT postgis_proj_version() INTO projver; - SELECT postgis_geos_version() INTO geosver; - SELECT postgis_libjson_version() INTO json_lib_ver; - BEGIN - SELECT postgis_gdal_version() INTO gdalver; - EXCEPTION - WHEN undefined_function THEN - gdalver := NULL; - RAISE NOTICE 'Function postgis_gdal_version() not found. Is raster support enabled and rtpostgis.sql installed?'; - END; - BEGIN - SELECT postgis_sfcgal_version() INTO sfcgalver; - EXCEPTION - WHEN undefined_function THEN - sfcgalver := NULL; - END; - SELECT postgis_libxml_version() INTO libxmlver; - SELECT postgis_scripts_installed() INTO dbproc; - SELECT postgis_scripts_released() INTO relproc; - select postgis_svn_version() INTO svnver; - BEGIN - SELECT topology.postgis_topology_scripts_installed() INTO topo_scr_ver; - EXCEPTION - WHEN undefined_function OR invalid_schema_name THEN - topo_scr_ver := NULL; - RAISE NOTICE 'Function postgis_topology_scripts_installed() not found. Is topology support enabled and topology.sql installed?'; - WHEN insufficient_privilege THEN - RAISE NOTICE 'Topology support cannot be inspected. Is current user granted USAGE on schema "topology" ?'; - WHEN OTHERS THEN - RAISE NOTICE 'Function postgis_topology_scripts_installed() could not be called: % (%)', SQLERRM, SQLSTATE; - END; - - BEGIN - SELECT postgis_raster_scripts_installed() INTO rast_scr_ver; - EXCEPTION - WHEN undefined_function THEN - rast_scr_ver := NULL; - RAISE NOTICE 'Function postgis_raster_scripts_installed() not found. Is raster support enabled and rtpostgis.sql installed?'; - END; - - BEGIN - SELECT postgis_raster_lib_version() INTO rast_lib_ver; - EXCEPTION - WHEN undefined_function THEN - rast_lib_ver := NULL; - RAISE NOTICE 'Function postgis_raster_lib_version() not found. Is raster support enabled and rtpostgis.sql installed?'; - END; - - fullver = 'POSTGIS="' || libver; - - IF svnver IS NOT NULL THEN - fullver = fullver || ' r' || svnver; - END IF; - - fullver = fullver || '"'; - - IF geosver IS NOT NULL THEN - fullver = fullver || ' GEOS="' || geosver || '"'; - END IF; - - IF sfcgalver IS NOT NULL THEN - fullver = fullver || ' SFCGAL="' || sfcgalver || '"'; - END IF; - - IF projver IS NOT NULL THEN - fullver = fullver || ' PROJ="' || projver || '"'; - END IF; - - IF gdalver IS NOT NULL THEN - fullver = fullver || ' GDAL="' || gdalver || '"'; - END IF; - - IF libxmlver IS NOT NULL THEN - fullver = fullver || ' LIBXML="' || libxmlver || '"'; - END IF; - - IF json_lib_ver IS NOT NULL THEN - fullver = fullver || ' LIBJSON="' || json_lib_ver || '"'; - END IF; - - -- fullver = fullver || ' DBPROC="' || dbproc || '"'; - -- fullver = fullver || ' RELPROC="' || relproc || '"'; - - IF dbproc != relproc THEN - fullver = fullver || ' (core procs from "' || dbproc || '" need upgrade)'; - END IF; - - IF topo_scr_ver IS NOT NULL THEN - fullver = fullver || ' TOPOLOGY'; - IF topo_scr_ver != relproc THEN - fullver = fullver || ' (topology procs from "' || topo_scr_ver || '" need upgrade)'; - END IF; - END IF; - - IF rast_lib_ver IS NOT NULL THEN - fullver = fullver || ' RASTER'; - IF rast_lib_ver != relproc THEN - fullver = fullver || ' (raster lib from "' || rast_lib_ver || '" need upgrade)'; - END IF; - END IF; - - IF rast_scr_ver IS NOT NULL AND rast_scr_ver != relproc THEN - fullver = fullver || ' (raster procs from "' || rast_scr_ver || '" need upgrade)'; - END IF; - - RETURN fullver; -END -$$; - - --- --- Name: postgis_geos_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_geos_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_geos_version'; - - --- --- Name: postgis_getbbox(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_getbbox(geometry) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_BOX2D'; - - --- --- Name: postgis_hasbbox(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_hasbbox(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_hasBBOX'; - - --- --- Name: postgis_lib_build_date(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_lib_build_date() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_lib_build_date'; - - --- --- Name: postgis_lib_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_lib_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_lib_version'; - - --- --- Name: postgis_libjson_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_libjson_version() RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_libjson_version'; - - --- --- Name: postgis_libxml_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_libxml_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_libxml_version'; - - --- --- Name: postgis_noop(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_noop(geometry) RETURNS geometry - LANGUAGE c STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_noop'; - - --- --- Name: postgis_proj_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_proj_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_proj_version'; - - --- --- Name: postgis_scripts_build_date(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_scripts_build_date() RETURNS text - LANGUAGE sql IMMUTABLE - AS $$SELECT '2015-06-08 22:55:15'::text AS version$$; - - --- --- Name: postgis_scripts_installed(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_scripts_installed() RETURNS text - LANGUAGE sql IMMUTABLE - AS $$ SELECT '2.1.7'::text || ' r' || 13414::text AS version $$; - - --- --- Name: postgis_scripts_released(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_scripts_released() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_scripts_released'; - - --- --- Name: postgis_svn_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_svn_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_svn_version'; - - --- --- Name: postgis_transform_geometry(geometry, text, text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_transform_geometry(geometry, text, text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'transform_geom'; - - --- --- Name: postgis_type_name(character varying, integer, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_type_name(geomname character varying, coord_dimension integer, use_new_name boolean DEFAULT true) RETURNS character varying - LANGUAGE sql IMMUTABLE STRICT COST 200 - AS $_$ - SELECT CASE WHEN $3 THEN new_name ELSE old_name END As geomname - FROM - ( VALUES - ('GEOMETRY', 'Geometry', 2) , - ('GEOMETRY', 'GeometryZ', 3) , - ('GEOMETRY', 'GeometryZM', 4) , - ('GEOMETRYCOLLECTION', 'GeometryCollection', 2) , - ('GEOMETRYCOLLECTION', 'GeometryCollectionZ', 3) , - ('GEOMETRYCOLLECTIONM', 'GeometryCollectionM', 3) , - ('GEOMETRYCOLLECTION', 'GeometryCollectionZM', 4) , - - ('POINT', 'Point',2) , - ('POINTM','PointM',3) , - ('POINT', 'PointZ',3) , - ('POINT', 'PointZM',4) , - - ('MULTIPOINT','MultiPoint',2) , - ('MULTIPOINT','MultiPointZ',3) , - ('MULTIPOINTM','MultiPointM',3) , - ('MULTIPOINT','MultiPointZM',4) , - - ('POLYGON', 'Polygon',2) , - ('POLYGON', 'PolygonZ',3) , - ('POLYGONM', 'PolygonM',3) , - ('POLYGON', 'PolygonZM',4) , - - ('MULTIPOLYGON', 'MultiPolygon',2) , - ('MULTIPOLYGON', 'MultiPolygonZ',3) , - ('MULTIPOLYGONM', 'MultiPolygonM',3) , - ('MULTIPOLYGON', 'MultiPolygonZM',4) , - - ('MULTILINESTRING', 'MultiLineString',2) , - ('MULTILINESTRING', 'MultiLineStringZ',3) , - ('MULTILINESTRINGM', 'MultiLineStringM',3) , - ('MULTILINESTRING', 'MultiLineStringZM',4) , - - ('LINESTRING', 'LineString',2) , - ('LINESTRING', 'LineStringZ',3) , - ('LINESTRINGM', 'LineStringM',3) , - ('LINESTRING', 'LineStringZM',4) , - - ('CIRCULARSTRING', 'CircularString',2) , - ('CIRCULARSTRING', 'CircularStringZ',3) , - ('CIRCULARSTRINGM', 'CircularStringM',3) , - ('CIRCULARSTRING', 'CircularStringZM',4) , - - ('COMPOUNDCURVE', 'CompoundCurve',2) , - ('COMPOUNDCURVE', 'CompoundCurveZ',3) , - ('COMPOUNDCURVEM', 'CompoundCurveM',3) , - ('COMPOUNDCURVE', 'CompoundCurveZM',4) , - - ('CURVEPOLYGON', 'CurvePolygon',2) , - ('CURVEPOLYGON', 'CurvePolygonZ',3) , - ('CURVEPOLYGONM', 'CurvePolygonM',3) , - ('CURVEPOLYGON', 'CurvePolygonZM',4) , - - ('MULTICURVE', 'MultiCurve',2 ) , - ('MULTICURVE', 'MultiCurveZ',3 ) , - ('MULTICURVEM', 'MultiCurveM',3 ) , - ('MULTICURVE', 'MultiCurveZM',4 ) , - - ('MULTISURFACE', 'MultiSurface', 2) , - ('MULTISURFACE', 'MultiSurfaceZ', 3) , - ('MULTISURFACEM', 'MultiSurfaceM', 3) , - ('MULTISURFACE', 'MultiSurfaceZM', 4) , - - ('POLYHEDRALSURFACE', 'PolyhedralSurface',2) , - ('POLYHEDRALSURFACE', 'PolyhedralSurfaceZ',3) , - ('POLYHEDRALSURFACEM', 'PolyhedralSurfaceM',3) , - ('POLYHEDRALSURFACE', 'PolyhedralSurfaceZM',4) , - - ('TRIANGLE', 'Triangle',2) , - ('TRIANGLE', 'TriangleZ',3) , - ('TRIANGLEM', 'TriangleM',3) , - ('TRIANGLE', 'TriangleZM',4) , - - ('TIN', 'Tin', 2), - ('TIN', 'TinZ', 3), - ('TIN', 'TinM', 3), - ('TIN', 'TinZM', 4) ) - As g(old_name, new_name, coord_dimension) - WHERE (upper(old_name) = upper($1) OR upper(new_name) = upper($1)) - AND coord_dimension = $2; -$_$; - - --- --- Name: postgis_typmod_dims(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_typmod_dims(integer) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_typmod_dims'; - - --- --- Name: postgis_typmod_srid(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_typmod_srid(integer) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_typmod_srid'; - - --- --- Name: postgis_typmod_type(integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_typmod_type(integer) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'postgis_typmod_type'; - - --- --- Name: postgis_version(); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION postgis_version() RETURNS text - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'postgis_version'; - - --- --- Name: st_3dclosestpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dclosestpoint(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_closestpoint3d'; - - --- --- Name: st_3ddfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3ddfullywithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_3DDFullyWithin($1, $2, $3)$_$; - - --- --- Name: st_3ddistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3ddistance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'distance3d'; - - --- --- Name: st_3ddwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3ddwithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_3DDWithin($1, $2, $3)$_$; - - --- --- Name: st_3dintersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dintersects(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_3DIntersects($1, $2)$_$; - - --- --- Name: st_3dlength(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dlength(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_length_linestring'; - - --- --- Name: st_3dlength_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dlength_spheroid(geometry, spheroid) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_length_ellipsoid_linestring'; - - --- --- Name: st_3dlongestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dlongestline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_longestline3d'; - - --- --- Name: st_3dmakebox(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dmakebox(geom1 geometry, geom2 geometry) RETURNS box3d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_construct'; - - --- --- Name: st_3dmaxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dmaxdistance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_maxdistance3d'; - - --- --- Name: st_3dperimeter(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dperimeter(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_perimeter_poly'; - - --- --- Name: st_3dshortestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_3dshortestline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_shortestline3d'; - - --- --- Name: st_addmeasure(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_addmeasure(geometry, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_AddMeasure'; - - --- --- Name: st_addpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_addpoint(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_addpoint'; - - --- --- Name: st_addpoint(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_addpoint(geom1 geometry, geom2 geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_addpoint'; - - --- --- Name: st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, $2, $3, 0, $4, $5, 0, 0, 0, 1, $6, $7, 0)$_$; - - --- --- Name: st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_affine(geometry, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_affine'; - - --- --- Name: st_area(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_area(text) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_Area($1::geometry); $_$; - - --- --- Name: st_area(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_area(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'area'; - - --- --- Name: st_area(geography, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_area(geog geography, use_spheroid boolean DEFAULT true) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_area'; - - --- --- Name: st_area2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_area2d(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_area_polygon'; - - --- --- Name: st_asbinary(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asbinary(geography) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asBinary'; - - --- --- Name: st_asbinary(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asbinary(geometry) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asBinary'; - - --- --- Name: st_asbinary(geography, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asbinary(geography, text) RETURNS bytea - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_AsBinary($1::geometry, $2); $_$; - - --- --- Name: st_asbinary(geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asbinary(geometry, text) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asBinary'; - - --- --- Name: st_asewkb(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asewkb(geometry) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'WKBFromLWGEOM'; - - --- --- Name: st_asewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asewkb(geometry, text) RETURNS bytea - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'WKBFromLWGEOM'; - - --- --- Name: st_asewkt(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asewkt(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_AsEWKT($1::geometry); $_$; - - --- --- Name: st_asewkt(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asewkt(geography) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asEWKT'; - - --- --- Name: st_asewkt(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asewkt(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asEWKT'; - - --- --- Name: st_asgeojson(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgeojson(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGeoJson(1, $1::geometry,15,0); $_$; - - --- --- Name: st_asgeojson(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgeojson(geog geography, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGeoJson(1, $1, $2, $3); $_$; - - --- --- Name: st_asgeojson(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgeojson(geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGeoJson(1, $1, $2, $3); $_$; - - --- --- Name: st_asgeojson(integer, geography, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgeojson(gj_version integer, geog geography, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGeoJson($1, $2, $3, $4); $_$; - - --- --- Name: st_asgeojson(integer, geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgeojson(gj_version integer, geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGeoJson($1, $2, $3, $4); $_$; - - --- --- Name: st_asgml(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgml(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGML(2,$1::geometry,15,0, NULL, NULL); $_$; - - --- --- Name: st_asgml(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgml(geog geography, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_AsGML(2, $1, $2, $3, null, null)$_$; - - --- --- Name: st_asgml(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgml(geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsGML(2, $1, $2, $3, null, null); $_$; - - --- --- Name: st_asgml(integer, geography, integer, integer, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgml(version integer, geog geography, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0, nprefix text DEFAULT NULL::text, id text DEFAULT NULL::text) RETURNS text - LANGUAGE sql IMMUTABLE - AS $_$ SELECT _ST_AsGML($1, $2, $3, $4, $5, $6);$_$; - - --- --- Name: st_asgml(integer, geometry, integer, integer, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asgml(version integer, geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0, nprefix text DEFAULT NULL::text, id text DEFAULT NULL::text) RETURNS text - LANGUAGE sql IMMUTABLE - AS $_$ SELECT _ST_AsGML($1, $2, $3, $4, $5, $6); $_$; - - --- --- Name: st_ashexewkb(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_ashexewkb(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asHEXEWKB'; - - --- --- Name: st_ashexewkb(geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_ashexewkb(geometry, text) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asHEXEWKB'; - - --- --- Name: st_askml(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_askml(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsKML(2, $1::geometry, 15, null); $_$; - - --- --- Name: st_askml(geography, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_askml(geog geography, maxdecimaldigits integer DEFAULT 15) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_AsKML(2, $1, $2, null)$_$; - - --- --- Name: st_askml(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_askml(geom geometry, maxdecimaldigits integer DEFAULT 15) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_AsKML(2, ST_Transform($1,4326), $2, null); $_$; - - --- --- Name: st_askml(integer, geography, integer, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_askml(version integer, geog geography, maxdecimaldigits integer DEFAULT 15, nprefix text DEFAULT NULL::text) RETURNS text - LANGUAGE sql IMMUTABLE - AS $_$SELECT _ST_AsKML($1, $2, $3, $4)$_$; - - --- --- Name: st_askml(integer, geometry, integer, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_askml(version integer, geom geometry, maxdecimaldigits integer DEFAULT 15, nprefix text DEFAULT NULL::text) RETURNS text - LANGUAGE sql IMMUTABLE - AS $_$ SELECT _ST_AsKML($1, ST_Transform($2,4326), $3, $4); $_$; - - --- --- Name: st_aslatlontext(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_aslatlontext(geometry) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_AsLatLonText($1, '') $_$; - - --- --- Name: st_aslatlontext(geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_aslatlontext(geometry, text) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_latlon'; - - --- --- Name: st_assvg(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_assvg(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_AsSVG($1::geometry,0,15); $_$; - - --- --- Name: st_assvg(geography, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_assvg(geog geography, rel integer DEFAULT 0, maxdecimaldigits integer DEFAULT 15) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_as_svg'; - - --- --- Name: st_assvg(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_assvg(geom geometry, rel integer DEFAULT 0, maxdecimaldigits integer DEFAULT 15) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asSVG'; - - --- --- Name: st_astext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_astext(text) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_AsText($1::geometry); $_$; - - --- --- Name: st_astext(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_astext(geography) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asText'; - - --- --- Name: st_astext(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_astext(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_asText'; - - --- --- Name: st_asx3d(geometry, integer, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_asx3d(geom geometry, maxdecimaldigits integer DEFAULT 15, options integer DEFAULT 0) RETURNS text - LANGUAGE sql IMMUTABLE - AS $_$SELECT _ST_AsX3D(3,$1,$2,$3,'');$_$; - - --- --- Name: st_azimuth(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_azimuth(geog1 geography, geog2 geography) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_azimuth'; - - --- --- Name: st_azimuth(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_azimuth(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_azimuth'; - - --- --- Name: st_bdmpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_bdmpolyfromtext(text, integer) RETURNS geometry - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -DECLARE - geomtext alias for $1; - srid alias for $2; - mline geometry; - geom geometry; -BEGIN - mline := ST_MultiLineStringFromText(geomtext, srid); - - IF mline IS NULL - THEN - RAISE EXCEPTION 'Input is not a MultiLinestring'; - END IF; - - geom := ST_Multi(ST_BuildArea(mline)); - - RETURN geom; -END; -$_$; - - --- --- Name: st_bdpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_bdpolyfromtext(text, integer) RETURNS geometry - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -DECLARE - geomtext alias for $1; - srid alias for $2; - mline geometry; - geom geometry; -BEGIN - mline := ST_MultiLineStringFromText(geomtext, srid); - - IF mline IS NULL - THEN - RAISE EXCEPTION 'Input is not a MultiLinestring'; - END IF; - - geom := ST_BuildArea(mline); - - IF GeometryType(geom) != 'POLYGON' - THEN - RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead'; - END IF; - - RETURN geom; -END; -$_$; - - --- --- Name: st_boundary(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_boundary(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'boundary'; - - --- --- Name: st_box2dfromgeohash(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_box2dfromgeohash(text, integer DEFAULT NULL::integer) RETURNS box2d - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'box2d_from_geohash'; - - --- --- Name: st_buffer(text, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buffer(text, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_Buffer($1::geometry, $2); $_$; - - --- --- Name: st_buffer(geography, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buffer(geography, double precision) RETURNS geography - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), _ST_BestSRID($1)), $2), 4326))$_$; - - --- --- Name: st_buffer(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buffer(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'buffer'; - - --- --- Name: st_buffer(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buffer(geometry, double precision, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_Buffer($1, $2, - CAST('quad_segs='||CAST($3 AS text) as cstring)) - $_$; - - --- --- Name: st_buffer(geometry, double precision, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buffer(geometry, double precision, text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _ST_Buffer($1, $2, - CAST( regexp_replace($3, '^[0123456789]+$', - 'quad_segs='||$3) AS cstring) - ) - $_$; - - --- --- Name: st_buildarea(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_buildarea(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_BuildArea'; - - --- --- Name: st_centroid(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_centroid(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'centroid'; - - --- --- Name: st_cleangeometry(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_cleangeometry(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_CleanGeometry'; - - --- --- Name: st_closestpoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_closestpoint(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_closestpoint'; - - --- --- Name: st_collect(geometry[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_collect(geometry[]) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_collect_garray'; - - --- --- Name: st_collect(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_collect(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'LWGEOM_collect'; - - --- --- Name: st_collectionextract(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_collectionextract(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_CollectionExtract'; - - --- --- Name: st_collectionhomogenize(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_collectionhomogenize(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_CollectionHomogenize'; - - --- --- Name: st_combine_bbox(box2d, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_combine_bbox(box2d, geometry) RETURNS box2d - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'BOX2D_combine'; - - --- --- Name: st_combine_bbox(box3d, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_combine_bbox(box3d, geometry) RETURNS box3d - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'BOX3D_combine'; - - --- --- Name: st_concavehull(geometry, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_concavehull(param_geom geometry, param_pctconvex double precision, param_allow_holes boolean DEFAULT false) RETURNS geometry - LANGUAGE plpgsql IMMUTABLE STRICT - AS $$ - DECLARE - var_convhull geometry := ST_ConvexHull(param_geom); - var_param_geom geometry := param_geom; - var_initarea float := ST_Area(var_convhull); - var_newarea float := var_initarea; - var_div integer := 6; - var_tempgeom geometry; - var_tempgeom2 geometry; - var_cent geometry; - var_geoms geometry[4]; - var_enline geometry; - var_resultgeom geometry; - var_atempgeoms geometry[]; - var_buf float := 1; - BEGIN - -- We start with convex hull as our base - var_resultgeom := var_convhull; - - IF param_pctconvex = 1 THEN - return var_resultgeom; - ELSIF ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN -- it is as concave as it is going to get - IF param_allow_holes THEN -- leave the holes - RETURN var_param_geom; - ELSE -- remove the holes - var_resultgeom := ST_MakePolygon(ST_ExteriorRing(var_param_geom)); - RETURN var_resultgeom; - END IF; - END IF; - IF ST_Dimension(var_resultgeom) > 1 AND param_pctconvex BETWEEN 0 and 0.98 THEN - -- get linestring that forms envelope of geometry - var_enline := ST_Boundary(ST_Envelope(var_param_geom)); - var_buf := ST_Length(var_enline)/1000.0; - IF ST_GeometryType(var_param_geom) = 'ST_MultiPoint' AND ST_NumGeometries(var_param_geom) BETWEEN 4 and 200 THEN - -- we make polygons out of points since they are easier to cave in. - -- Note we limit to between 4 and 200 points because this process is slow and gets quadratically slow - var_buf := sqrt(ST_Area(var_convhull)*0.8/(ST_NumGeometries(var_param_geom)*ST_NumGeometries(var_param_geom))); - var_atempgeoms := ARRAY(SELECT geom FROM ST_DumpPoints(var_param_geom)); - -- 5 and 10 and just fudge factors - var_tempgeom := ST_Union(ARRAY(SELECT geom - FROM ( - -- fuse near neighbors together - SELECT DISTINCT ON (i) i, ST_Distance(var_atempgeoms[i],var_atempgeoms[j]), ST_Buffer(ST_MakeLine(var_atempgeoms[i], var_atempgeoms[j]) , var_buf*5, 'quad_segs=3') As geom - FROM generate_series(1,array_upper(var_atempgeoms, 1)) As i - INNER JOIN generate_series(1,array_upper(var_atempgeoms, 1)) As j - ON ( - NOT ST_Intersects(var_atempgeoms[i],var_atempgeoms[j]) - AND ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10) - ) - UNION ALL - -- catch the ones with no near neighbors - SELECT i, 0, ST_Buffer(var_atempgeoms[i] , var_buf*10, 'quad_segs=3') As geom - FROM generate_series(1,array_upper(var_atempgeoms, 1)) As i - LEFT JOIN generate_series(ceiling(array_upper(var_atempgeoms,1)/2)::integer,array_upper(var_atempgeoms, 1)) As j - ON ( - NOT ST_Intersects(var_atempgeoms[i],var_atempgeoms[j]) - AND ST_DWithin(var_atempgeoms[i],var_atempgeoms[j], var_buf*10) - ) - WHERE j IS NULL - ORDER BY 1, 2 - ) As foo ) ); - IF ST_IsValid(var_tempgeom) AND ST_GeometryType(var_tempgeom) = 'ST_Polygon' THEN - var_tempgeom := ST_ForceSFS(ST_Intersection(var_tempgeom, var_convhull)); - IF param_allow_holes THEN - var_param_geom := var_tempgeom; - ELSE - var_param_geom := ST_MakePolygon(ST_ExteriorRing(var_tempgeom)); - END IF; - return var_param_geom; - ELSIF ST_IsValid(var_tempgeom) THEN - var_param_geom := ST_ForceSFS(ST_Intersection(var_tempgeom, var_convhull)); - END IF; - END IF; - - IF ST_GeometryType(var_param_geom) = 'ST_Polygon' THEN - IF NOT param_allow_holes THEN - var_param_geom := ST_MakePolygon(ST_ExteriorRing(var_param_geom)); - END IF; - return var_param_geom; - END IF; - var_cent := ST_Centroid(var_param_geom); - IF (ST_XMax(var_enline) - ST_XMin(var_enline) ) > var_buf AND (ST_YMax(var_enline) - ST_YMin(var_enline) ) > var_buf THEN - IF ST_Dwithin(ST_Centroid(var_convhull) , ST_Centroid(ST_Envelope(var_param_geom)), var_buf/2) THEN - -- If the geometric dimension is > 1 and the object is symettric (cutting at centroid will not work -- offset a bit) - var_cent := ST_Translate(var_cent, (ST_XMax(var_enline) - ST_XMin(var_enline))/1000, (ST_YMAX(var_enline) - ST_YMin(var_enline))/1000); - ELSE - -- uses closest point on geometry to centroid. I can't explain why we are doing this - var_cent := ST_ClosestPoint(var_param_geom,var_cent); - END IF; - IF ST_DWithin(var_cent, var_enline,var_buf) THEN - var_cent := ST_centroid(ST_Envelope(var_param_geom)); - END IF; - -- break envelope into 4 triangles about the centroid of the geometry and returned the clipped geometry in each quadrant - FOR i in 1 .. 4 LOOP - var_geoms[i] := ST_MakePolygon(ST_MakeLine(ARRAY[ST_PointN(var_enline,i), ST_PointN(var_enline,i+1), var_cent, ST_PointN(var_enline,i)])); - var_geoms[i] := ST_ForceSFS(ST_Intersection(var_param_geom, ST_Buffer(var_geoms[i],var_buf))); - IF ST_IsValid(var_geoms[i]) THEN - - ELSE - var_geoms[i] := ST_BuildArea(ST_MakeLine(ARRAY[ST_PointN(var_enline,i), ST_PointN(var_enline,i+1), var_cent, ST_PointN(var_enline,i)])); - END IF; - END LOOP; - var_tempgeom := ST_Union(ARRAY[ST_ConvexHull(var_geoms[1]), ST_ConvexHull(var_geoms[2]) , ST_ConvexHull(var_geoms[3]), ST_ConvexHull(var_geoms[4])]); - --RAISE NOTICE 'Curr vex % ', ST_AsText(var_tempgeom); - IF ST_Area(var_tempgeom) <= var_newarea AND ST_IsValid(var_tempgeom) THEN --AND ST_GeometryType(var_tempgeom) ILIKE '%Polygon' - - var_tempgeom := ST_Buffer(ST_ConcaveHull(var_geoms[1],least(param_pctconvex + param_pctconvex/var_div),true),var_buf, 'quad_segs=2'); - FOR i IN 1 .. 4 LOOP - var_geoms[i] := ST_Buffer(ST_ConcaveHull(var_geoms[i],least(param_pctconvex + param_pctconvex/var_div),true), var_buf, 'quad_segs=2'); - IF ST_IsValid(var_geoms[i]) Then - var_tempgeom := ST_Union(var_tempgeom, var_geoms[i]); - ELSE - RAISE NOTICE 'Not valid % %', i, ST_AsText(var_tempgeom); - var_tempgeom := ST_Union(var_tempgeom, ST_ConvexHull(var_geoms[i])); - END IF; - END LOOP; - - --RAISE NOTICE 'Curr concave % ', ST_AsText(var_tempgeom); - IF ST_IsValid(var_tempgeom) THEN - var_resultgeom := var_tempgeom; - END IF; - var_newarea := ST_Area(var_resultgeom); - ELSIF ST_IsValid(var_tempgeom) THEN - var_resultgeom := var_tempgeom; - END IF; - - IF ST_NumGeometries(var_resultgeom) > 1 THEN - var_tempgeom := _ST_ConcaveHull(var_resultgeom); - IF ST_IsValid(var_tempgeom) AND ST_GeometryType(var_tempgeom) ILIKE 'ST_Polygon' THEN - var_resultgeom := var_tempgeom; - ELSE - var_resultgeom := ST_Buffer(var_tempgeom,var_buf, 'quad_segs=2'); - END IF; - END IF; - IF param_allow_holes = false THEN - -- only keep exterior ring since we do not want holes - var_resultgeom := ST_MakePolygon(ST_ExteriorRing(var_resultgeom)); - END IF; - ELSE - var_resultgeom := ST_Buffer(var_resultgeom,var_buf); - END IF; - var_resultgeom := ST_ForceSFS(ST_Intersection(var_resultgeom, ST_ConvexHull(var_param_geom))); - ELSE - -- dimensions are too small to cut - var_resultgeom := _ST_ConcaveHull(var_param_geom); - END IF; - RETURN var_resultgeom; - END; -$$; - - --- --- Name: st_contains(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_contains(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Contains($1,$2)$_$; - - --- --- Name: st_containsproperly(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_containsproperly(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_ContainsProperly($1,$2)$_$; - - --- --- Name: st_convexhull(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_convexhull(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'convexhull'; - - --- --- Name: st_coorddim(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_coorddim(geometry geometry) RETURNS smallint - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_ndims'; - - --- --- Name: st_coveredby(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_coveredby(text, text) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$ SELECT ST_CoveredBy($1::geometry, $2::geometry); $_$; - - --- --- Name: st_coveredby(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_coveredby(geography, geography) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Covers($2, $1)$_$; - - --- --- Name: st_coveredby(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_coveredby(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_CoveredBy($1,$2)$_$; - - --- --- Name: st_covers(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_covers(text, text) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$ SELECT ST_Covers($1::geometry, $2::geometry); $_$; - - --- --- Name: st_covers(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_covers(geography, geography) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Covers($1, $2)$_$; - - --- --- Name: st_covers(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_covers(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Covers($1,$2)$_$; - - --- --- Name: st_crosses(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_crosses(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Crosses($1,$2)$_$; - - --- --- Name: st_curvetoline(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_curvetoline(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_CurveToLine($1, 32)$_$; - - --- --- Name: st_curvetoline(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_curvetoline(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_curve_segmentize'; - - --- --- Name: st_delaunaytriangles(geometry, double precision, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_delaunaytriangles(g1 geometry, tolerance double precision DEFAULT 0.0, flags integer DEFAULT 0) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_DelaunayTriangles'; - - --- --- Name: st_dfullywithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dfullywithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DFullyWithin(ST_ConvexHull($1), ST_ConvexHull($2), $3)$_$; - - --- --- Name: st_difference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_difference(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'difference'; - - --- --- Name: st_dimension(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dimension(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dimension'; - - --- --- Name: st_disjoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_disjoint(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'disjoint'; - - --- --- Name: st_distance(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance(text, text) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_Distance($1::geometry, $2::geometry); $_$; - - --- --- Name: st_distance(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance(geography, geography) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_Distance($1, $2, 0.0, true)$_$; - - --- --- Name: st_distance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'distance'; - - --- --- Name: st_distance(geography, geography, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance(geography, geography, boolean) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_Distance($1, $2, 0.0, $3)$_$; - - --- --- Name: st_distance_sphere(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance_sphere(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT COST 300 - AS $_$ - select st_distance(geography($1),geography($2),false) - $_$; - - --- --- Name: st_distance_spheroid(geometry, geometry, spheroid); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_distance_spheroid(geom1 geometry, geom2 geometry, spheroid) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_distance_ellipsoid'; - - --- --- Name: st_dump(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dump(geometry) RETURNS SETOF geometry_dump - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dump'; - - --- --- Name: st_dumppoints(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dumppoints(geometry) RETURNS SETOF geometry_dump - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dumppoints'; - - --- --- Name: st_dumprings(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dumprings(geometry) RETURNS SETOF geometry_dump - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_dump_rings'; - - --- --- Name: st_dwithin(text, text, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dwithin(text, text, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$ SELECT ST_DWithin($1::geometry, $2::geometry, $3); $_$; - - --- --- Name: st_dwithin(geography, geography, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dwithin(geography, geography, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, true)$_$; - - --- --- Name: st_dwithin(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dwithin(geom1 geometry, geom2 geometry, double precision) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && ST_Expand($2,$3) AND $2 && ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3)$_$; - - --- --- Name: st_dwithin(geography, geography, double precision, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_dwithin(geography, geography, double precision, boolean) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && _ST_Expand($2,$3) AND $2 && _ST_Expand($1,$3) AND _ST_DWithin($1, $2, $3, $4)$_$; - - --- --- Name: st_endpoint(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_endpoint(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_endpoint_linestring'; - - --- --- Name: st_envelope(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_envelope(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_envelope'; - - --- --- Name: st_equals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_equals(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 ~= $2 AND _ST_Equals($1,$2)$_$; - - --- --- Name: st_estimated_extent(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_estimated_extent(text, text) RETURNS box2d - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0'); - -- We use security invoker instead of security definer - -- to prevent malicious injection of a same named different function - -- that would be run under elevated permissions - SELECT ST_EstimatedExtent($1, $2); - $_$; - - --- --- Name: st_estimated_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_estimated_extent(text, text, text) RETURNS box2d - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Estimated_Extent', 'ST_EstimatedExtent', '2.1.0'); - -- We use security invoker instead of security definer - -- to prevent malicious injection of a different same named function - SELECT ST_EstimatedExtent($1, $2, $3); - $_$; - - --- --- Name: st_estimatedextent(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_estimatedextent(text, text) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER - AS '$libdir/postgis-2.1', 'gserialized_estimated_extent'; - - --- --- Name: st_estimatedextent(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_estimatedextent(text, text, text) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT SECURITY DEFINER - AS '$libdir/postgis-2.1', 'gserialized_estimated_extent'; - - --- --- Name: st_expand(box2d, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_expand(box2d, double precision) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_expand'; - - --- --- Name: st_expand(box3d, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_expand(box3d, double precision) RETURNS box3d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_expand'; - - --- --- Name: st_expand(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_expand(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_expand'; - - --- --- Name: st_exteriorring(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_exteriorring(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_exteriorring_polygon'; - - --- --- Name: st_find_extent(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_find_extent(text, text) RETURNS box2d - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -DECLARE - tablename alias for $1; - columnname alias for $2; - myrec RECORD; - -BEGIN - FOR myrec IN EXECUTE 'SELECT ST_Extent("' || columnname || '") As extent FROM "' || tablename || '"' LOOP - return myrec.extent; - END LOOP; -END; -$_$; - - --- --- Name: st_find_extent(text, text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_find_extent(text, text, text) RETURNS box2d - LANGUAGE plpgsql IMMUTABLE STRICT - AS $_$ -DECLARE - schemaname alias for $1; - tablename alias for $2; - columnname alias for $3; - myrec RECORD; - -BEGIN - FOR myrec IN EXECUTE 'SELECT ST_Extent("' || columnname || '") As extent FROM "' || schemaname || '"."' || tablename || '"' LOOP - return myrec.extent; - END LOOP; -END; -$_$; - - --- --- Name: st_flipcoordinates(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_flipcoordinates(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_FlipCoordinates'; - - --- --- Name: st_force2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force2d(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_2d'; - - --- --- Name: st_force3d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force3d(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_3dz'; - - --- --- Name: st_force3dm(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force3dm(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_3dm'; - - --- --- Name: st_force3dz(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force3dz(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_3dz'; - - --- --- Name: st_force4d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force4d(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_4d'; - - --- --- Name: st_force_2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_2d(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_2d', 'ST_Force2D', '2.1.0'); - SELECT ST_Force2D($1); - $_$; - - --- --- Name: st_force_3d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_3d(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_3d', 'ST_Force3D', '2.1.0'); - SELECT ST_Force3D($1); - $_$; - - --- --- Name: st_force_3dm(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_3dm(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_3dm', 'ST_Force3DM', '2.1.0'); - SELECT ST_Force3DM($1); - $_$; - - --- --- Name: st_force_3dz(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_3dz(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_3dz', 'ST_Force3DZ', '2.1.0'); - SELECT ST_Force3DZ($1); - $_$; - - --- --- Name: st_force_4d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_4d(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_4d', 'ST_Force4D', '2.1.0'); - SELECT ST_Force4D($1); - $_$; - - --- --- Name: st_force_collection(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_force_collection(geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Force_Collection', 'ST_ForceCollection', '2.1.0'); - SELECT ST_ForceCollection($1); - $_$; - - --- --- Name: st_forcecollection(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_forcecollection(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_collection'; - - --- --- Name: st_forcerhr(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_forcerhr(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_clockwise_poly'; - - --- --- Name: st_forcesfs(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_forcesfs(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_sfs'; - - --- --- Name: st_forcesfs(geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_forcesfs(geometry, version text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_sfs'; - - --- --- Name: st_geogfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geogfromtext(text) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_from_text'; - - --- --- Name: st_geogfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geogfromwkb(bytea) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_from_binary'; - - --- --- Name: st_geographyfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geographyfromtext(text) RETURNS geography - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geography_from_text'; - - --- --- Name: st_geohash(geography, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geohash(geog geography, maxchars integer DEFAULT 0) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_GeoHash'; - - --- --- Name: st_geohash(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geohash(geom geometry, maxchars integer DEFAULT 0) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_GeoHash'; - - --- --- Name: st_geomcollfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomcollfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE - WHEN geometrytype(ST_GeomFromText($1)) = 'GEOMETRYCOLLECTION' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_geomcollfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomcollfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE - WHEN geometrytype(ST_GeomFromText($1, $2)) = 'GEOMETRYCOLLECTION' - THEN ST_GeomFromText($1,$2) - ELSE NULL END - $_$; - - --- --- Name: st_geomcollfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomcollfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE - WHEN geometrytype(ST_GeomFromWKB($1)) = 'GEOMETRYCOLLECTION' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_geomcollfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomcollfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE - WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'GEOMETRYCOLLECTION' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_geometryfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geometryfromtext(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_text'; - - --- --- Name: st_geometryfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geometryfromtext(text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_text'; - - --- --- Name: st_geometryn(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geometryn(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_geometryn_collection'; - - --- --- Name: st_geometrytype(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geometrytype(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geometry_geometrytype'; - - --- --- Name: st_geomfromewkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromewkb(bytea) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOMFromWKB'; - - --- --- Name: st_geomfromewkt(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromewkt(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'parse_WKT_lwgeom'; - - --- --- Name: st_geomfromgeohash(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromgeohash(text, integer DEFAULT NULL::integer) RETURNS geometry - LANGUAGE sql IMMUTABLE - AS $_$ SELECT CAST(ST_Box2dFromGeoHash($1, $2) AS geometry); $_$; - - --- --- Name: st_geomfromgeojson(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromgeojson(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geom_from_geojson'; - - --- --- Name: st_geomfromgml(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromgml(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_GeomFromGML($1, 0)$_$; - - --- --- Name: st_geomfromgml(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromgml(text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geom_from_gml'; - - --- --- Name: st_geomfromkml(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromkml(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geom_from_kml'; - - --- --- Name: st_geomfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromtext(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_text'; - - --- --- Name: st_geomfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromtext(text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_text'; - - --- --- Name: st_geomfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromwkb(bytea) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_WKB'; - - --- --- Name: st_geomfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_geomfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_SetSRID(ST_GeomFromWKB($1), $2)$_$; - - --- --- Name: st_gmltosql(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_gmltosql(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_GeomFromGML($1, 0)$_$; - - --- --- Name: st_gmltosql(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_gmltosql(text, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geom_from_gml'; - - --- --- Name: st_hasarc(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_hasarc(geometry geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_has_arc'; - - --- --- Name: st_hausdorffdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_hausdorffdistance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'hausdorffdistance'; - - --- --- Name: st_hausdorffdistance(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_hausdorffdistance(geom1 geometry, geom2 geometry, double precision) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'hausdorffdistancedensify'; - - --- --- Name: st_interiorringn(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_interiorringn(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_interiorringn_polygon'; - - --- --- Name: st_interpolatepoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_interpolatepoint(line geometry, point geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_InterpolatePoint'; - - --- --- Name: st_intersection(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersection(text, text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_Intersection($1::geometry, $2::geometry); $_$; - - --- --- Name: st_intersection(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersection(geography, geography) RETURNS geography - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), _ST_BestSRID($1, $2)), ST_Transform(geometry($2), _ST_BestSRID($1, $2))), 4326))$_$; - - --- --- Name: st_intersection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersection(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'intersection'; - - --- --- Name: st_intersects(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersects(text, text) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$ SELECT ST_Intersects($1::geometry, $2::geometry); $_$; - - --- --- Name: st_intersects(geography, geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersects(geography, geography) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Distance($1, $2, 0.0, false) < 0.00001$_$; - - --- --- Name: st_intersects(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_intersects(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Intersects($1,$2)$_$; - - --- --- Name: st_isclosed(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isclosed(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_isclosed'; - - --- --- Name: st_iscollection(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_iscollection(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_IsCollection'; - - --- --- Name: st_isempty(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isempty(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_isempty'; - - --- --- Name: st_isring(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isring(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'isring'; - - --- --- Name: st_issimple(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_issimple(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'issimple'; - - --- --- Name: st_isvalid(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvalid(geometry) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'isvalid'; - - --- --- Name: st_isvalid(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvalid(geometry, integer) RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT (ST_isValidDetail($1, $2)).valid$_$; - - --- --- Name: st_isvaliddetail(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvaliddetail(geometry) RETURNS valid_detail - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'isvaliddetail'; - - --- --- Name: st_isvaliddetail(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvaliddetail(geometry, integer) RETURNS valid_detail - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'isvaliddetail'; - - --- --- Name: st_isvalidreason(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvalidreason(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'isvalidreason'; - - --- --- Name: st_isvalidreason(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_isvalidreason(geometry, integer) RETURNS text - LANGUAGE sql IMMUTABLE STRICT - AS $_$ -SELECT CASE WHEN valid THEN 'Valid Geometry' ELSE reason END FROM ( - SELECT (ST_isValidDetail($1, $2)).* -) foo - $_$; - - --- --- Name: st_length(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length(text) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_Length($1::geometry); $_$; - - --- --- Name: st_length(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_length2d_linestring'; - - --- --- Name: st_length(geography, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length(geog geography, use_spheroid boolean DEFAULT true) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_length'; - - --- --- Name: st_length2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length2d(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_length2d_linestring'; - - --- --- Name: st_length2d_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length2d_spheroid(geometry, spheroid) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_length2d_ellipsoid'; - - --- --- Name: st_length_spheroid(geometry, spheroid); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_length_spheroid(geometry, spheroid) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'LWGEOM_length_ellipsoid_linestring'; - - --- --- Name: st_line_interpolate_point(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_line_interpolate_point(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Line_Interpolate_Point', 'ST_LineInterpolatePoint', '2.1.0'); - SELECT ST_LineInterpolatePoint($1, $2); - $_$; - - --- --- Name: st_line_locate_point(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_line_locate_point(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Line_Locate_Point', 'ST_LineLocatePoint', '2.1.0'); - SELECT ST_LineLocatePoint($1, $2); - $_$; - - --- --- Name: st_line_substring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_line_substring(geometry, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT _postgis_deprecate('ST_Line_Substring', 'ST_LineSubstring', '2.1.0'); - SELECT ST_LineSubstring($1, $2, $3); - $_$; - - --- --- Name: st_linecrossingdirection(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linecrossingdirection(geom1 geometry, geom2 geometry) RETURNS integer - LANGUAGE sql IMMUTABLE - AS $_$ SELECT CASE WHEN NOT $1 && $2 THEN 0 ELSE _ST_LineCrossingDirection($1,$2) END $_$; - - --- --- Name: st_linefrommultipoint(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linefrommultipoint(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_line_from_mpoint'; - - --- --- Name: st_linefromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linefromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'LINESTRING' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_linefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linefromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'LINESTRING' - THEN ST_GeomFromText($1,$2) - ELSE NULL END - $_$; - - --- --- Name: st_linefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linefromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'LINESTRING' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_linefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linefromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_lineinterpolatepoint(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_lineinterpolatepoint(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_line_interpolate_point'; - - --- --- Name: st_linelocatepoint(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linelocatepoint(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_line_locate_point'; - - --- --- Name: st_linemerge(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linemerge(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'linemerge'; - - --- --- Name: st_linestringfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linestringfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'LINESTRING' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_linestringfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linestringfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'LINESTRING' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_linesubstring(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linesubstring(geometry, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_line_substring'; - - --- --- Name: st_linetocurve(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_linetocurve(geometry geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_line_desegmentize'; - - --- --- Name: st_locate_along_measure(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_locate_along_measure(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ SELECT ST_locate_between_measures($1, $2, $2) $_$; - - --- --- Name: st_locate_between_measures(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_locate_between_measures(geometry, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_locate_between_m'; - - --- --- Name: st_locatealong(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_locatealong(geometry geometry, measure double precision, leftrightoffset double precision DEFAULT 0.0) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_LocateAlong'; - - --- --- Name: st_locatebetween(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_locatebetween(geometry geometry, frommeasure double precision, tomeasure double precision, leftrightoffset double precision DEFAULT 0.0) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_LocateBetween'; - - --- --- Name: st_locatebetweenelevations(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_locatebetweenelevations(geometry geometry, fromelevation double precision, toelevation double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_LocateBetweenElevations'; - - --- --- Name: st_longestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_longestline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_LongestLine(ST_ConvexHull($1), ST_ConvexHull($2))$_$; - - --- --- Name: st_m(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_m(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_m_point'; - - --- --- Name: st_makebox2d(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makebox2d(geom1 geometry, geom2 geometry) RETURNS box2d - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX2D_construct'; - - --- --- Name: st_makeenvelope(double precision, double precision, double precision, double precision, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makeenvelope(double precision, double precision, double precision, double precision, integer DEFAULT 0) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_MakeEnvelope'; - - --- --- Name: st_makeline(geometry[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makeline(geometry[]) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makeline_garray'; - - --- --- Name: st_makeline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makeline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makeline'; - - --- --- Name: st_makepoint(double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepoint(double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoint'; - - --- --- Name: st_makepoint(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepoint(double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoint'; - - --- --- Name: st_makepoint(double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepoint(double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoint'; - - --- --- Name: st_makepointm(double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepointm(double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoint3dm'; - - --- --- Name: st_makepolygon(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepolygon(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoly'; - - --- --- Name: st_makepolygon(geometry, geometry[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makepolygon(geometry, geometry[]) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoly'; - - --- --- Name: st_makevalid(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_makevalid(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_MakeValid'; - - --- --- Name: st_maxdistance(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_maxdistance(geom1 geometry, geom2 geometry) RETURNS double precision - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT _ST_MaxDistance(ST_ConvexHull($1), ST_ConvexHull($2))$_$; - - --- --- Name: st_mem_size(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mem_size(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_mem_size'; - - --- --- Name: st_minimumboundingcircle(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_minimumboundingcircle(inputgeom geometry, segs_per_quarter integer DEFAULT 48) RETURNS geometry - LANGUAGE plpgsql IMMUTABLE STRICT - AS $$ - DECLARE - hull GEOMETRY; - ring GEOMETRY; - center GEOMETRY; - radius DOUBLE PRECISION; - dist DOUBLE PRECISION; - d DOUBLE PRECISION; - idx1 integer; - idx2 integer; - l1 GEOMETRY; - l2 GEOMETRY; - p1 GEOMETRY; - p2 GEOMETRY; - a1 DOUBLE PRECISION; - a2 DOUBLE PRECISION; - - - BEGIN - - -- First compute the ConvexHull of the geometry - hull = ST_ConvexHull(inputgeom); - --A point really has no MBC - IF ST_GeometryType(hull) = 'ST_Point' THEN - RETURN hull; - END IF; - -- convert the hull perimeter to a linestring so we can manipulate individual points - --If its already a linestring force it to a closed linestring - ring = CASE WHEN ST_GeometryType(hull) = 'ST_LineString' THEN ST_AddPoint(hull, ST_StartPoint(hull)) ELSE ST_ExteriorRing(hull) END; - - dist = 0; - -- Brute Force - check every pair - FOR i in 1 .. (ST_NumPoints(ring)-2) - LOOP - FOR j in i .. (ST_NumPoints(ring)-1) - LOOP - d = ST_Distance(ST_PointN(ring,i),ST_PointN(ring,j)); - -- Check the distance and update if larger - IF (d > dist) THEN - dist = d; - idx1 = i; - idx2 = j; - END IF; - END LOOP; - END LOOP; - - -- We now have the diameter of the convex hull. The following line returns it if desired. - -- RETURN ST_MakeLine(ST_PointN(ring,idx1),ST_PointN(ring,idx2)); - - -- Now for the Minimum Bounding Circle. Since we know the two points furthest from each - -- other, the MBC must go through those two points. Start with those points as a diameter of a circle. - - -- The radius is half the distance between them and the center is midway between them - radius = ST_Distance(ST_PointN(ring,idx1),ST_PointN(ring,idx2)) / 2.0; - center = ST_LineInterpolatePoint(ST_MakeLine(ST_PointN(ring,idx1),ST_PointN(ring,idx2)),0.5); - - -- Loop through each vertex and check if the distance from the center to the point - -- is greater than the current radius. - FOR k in 1 .. (ST_NumPoints(ring)-1) - LOOP - IF(k <> idx1 and k <> idx2) THEN - dist = ST_Distance(center,ST_PointN(ring,k)); - IF (dist > radius) THEN - -- We have to expand the circle. The new circle must pass trhough - -- three points - the two original diameters and this point. - - -- Draw a line from the first diameter to this point - l1 = ST_Makeline(ST_PointN(ring,idx1),ST_PointN(ring,k)); - -- Compute the midpoint - p1 = ST_LineInterpolatePoint(l1,0.5); - -- Rotate the line 90 degrees around the midpoint (perpendicular bisector) - l1 = ST_Rotate(l1,pi()/2,p1); - -- Compute the azimuth of the bisector - a1 = ST_Azimuth(ST_PointN(l1,1),ST_PointN(l1,2)); - -- Extend the line in each direction the new computed distance to insure they will intersect - l1 = ST_AddPoint(l1,ST_Makepoint(ST_X(ST_PointN(l1,2))+sin(a1)*dist,ST_Y(ST_PointN(l1,2))+cos(a1)*dist),-1); - l1 = ST_AddPoint(l1,ST_Makepoint(ST_X(ST_PointN(l1,1))-sin(a1)*dist,ST_Y(ST_PointN(l1,1))-cos(a1)*dist),0); - - -- Repeat for the line from the point to the other diameter point - l2 = ST_Makeline(ST_PointN(ring,idx2),ST_PointN(ring,k)); - p2 = ST_LineInterpolatePoint(l2,0.5); - l2 = ST_Rotate(l2,pi()/2,p2); - a2 = ST_Azimuth(ST_PointN(l2,1),ST_PointN(l2,2)); - l2 = ST_AddPoint(l2,ST_Makepoint(ST_X(ST_PointN(l2,2))+sin(a2)*dist,ST_Y(ST_PointN(l2,2))+cos(a2)*dist),-1); - l2 = ST_AddPoint(l2,ST_Makepoint(ST_X(ST_PointN(l2,1))-sin(a2)*dist,ST_Y(ST_PointN(l2,1))-cos(a2)*dist),0); - - -- The new center is the intersection of the two bisectors - center = ST_Intersection(l1,l2); - -- The new radius is the distance to any of the three points - radius = ST_Distance(center,ST_PointN(ring,idx1)); - END IF; - END IF; - END LOOP; - --DONE!! Return the MBC via the buffer command - RETURN ST_Buffer(center,radius,segs_per_quarter); - - END; -$$; - - --- --- Name: st_mlinefromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mlinefromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTILINESTRING' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_mlinefromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mlinefromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE - WHEN geometrytype(ST_GeomFromText($1, $2)) = 'MULTILINESTRING' - THEN ST_GeomFromText($1,$2) - ELSE NULL END - $_$; - - --- --- Name: st_mlinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mlinefromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_mlinefromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mlinefromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTILINESTRING' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_mpointfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpointfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOINT' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_mpointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpointfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'MULTIPOINT' - THEN ST_GeomFromText($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_mpointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpointfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_mpointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpointfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOINT' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_mpolyfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpolyfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'MULTIPOLYGON' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_mpolyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpolyfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'MULTIPOLYGON' - THEN ST_GeomFromText($1,$2) - ELSE NULL END - $_$; - - --- --- Name: st_mpolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpolyfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_mpolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_mpolyfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_multi(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multi(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_force_multi'; - - --- --- Name: st_multilinefromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multilinefromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTILINESTRING' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_multilinestringfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multilinestringfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_MLineFromText($1)$_$; - - --- --- Name: st_multilinestringfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multilinestringfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_MLineFromText($1, $2)$_$; - - --- --- Name: st_multipointfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipointfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_MPointFromText($1)$_$; - - --- --- Name: st_multipointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipointfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOINT' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_multipointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipointfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'MULTIPOINT' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_multipolyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipolyfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'MULTIPOLYGON' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_multipolyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipolyfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'MULTIPOLYGON' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_multipolygonfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipolygonfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_MPolyFromText($1)$_$; - - --- --- Name: st_multipolygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_multipolygonfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_MPolyFromText($1, $2)$_$; - - --- --- Name: st_ndims(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_ndims(geometry) RETURNS smallint - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_ndims'; - - --- --- Name: st_node(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_node(g geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_Node'; - - --- --- Name: st_npoints(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_npoints(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_npoints'; - - --- --- Name: st_nrings(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_nrings(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_nrings'; - - --- --- Name: st_numgeometries(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_numgeometries(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_numgeometries_collection'; - - --- --- Name: st_numinteriorring(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_numinteriorring(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_numinteriorrings_polygon'; - - --- --- Name: st_numinteriorrings(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_numinteriorrings(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_numinteriorrings_polygon'; - - --- --- Name: st_numpatches(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_numpatches(geometry) RETURNS integer - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN ST_GeometryType($1) = 'ST_PolyhedralSurface' - THEN ST_NumGeometries($1) - ELSE NULL END - $_$; - - --- --- Name: st_numpoints(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_numpoints(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_numpoints_linestring'; - - --- --- Name: st_offsetcurve(geometry, double precision, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_offsetcurve(line geometry, distance double precision, params text DEFAULT ''::text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_OffsetCurve'; - - --- --- Name: st_orderingequals(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_orderingequals(geometrya geometry, geometryb geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT $1 ~= $2 AND _ST_OrderingEquals($1, $2) - $_$; - - --- --- Name: st_overlaps(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_overlaps(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Overlaps($1,$2)$_$; - - --- --- Name: st_patchn(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_patchn(geometry, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN ST_GeometryType($1) = 'ST_PolyhedralSurface' - THEN ST_GeometryN($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_perimeter(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_perimeter(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_perimeter2d_poly'; - - --- --- Name: st_perimeter(geography, boolean); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_perimeter(geog geography, use_spheroid boolean DEFAULT true) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_perimeter'; - - --- --- Name: st_perimeter2d(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_perimeter2d(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_perimeter2d_poly'; - - --- --- Name: st_point(double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_point(double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_makepoint'; - - --- --- Name: st_point_inside_circle(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_point_inside_circle(geometry, double precision, double precision, double precision) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_inside_circle_point'; - - --- --- Name: st_pointfromgeohash(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointfromgeohash(text, integer DEFAULT NULL::integer) RETURNS geometry - LANGUAGE c IMMUTABLE - AS '$libdir/postgis-2.1', 'point_from_geohash'; - - --- --- Name: st_pointfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POINT' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_pointfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POINT' - THEN ST_GeomFromText($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_pointfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POINT' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_pointfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POINT' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_pointn(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointn(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_pointn_linestring'; - - --- --- Name: st_pointonsurface(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_pointonsurface(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'pointonsurface'; - - --- --- Name: st_polyfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polyfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1)) = 'POLYGON' - THEN ST_GeomFromText($1) - ELSE NULL END - $_$; - - --- --- Name: st_polyfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polyfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromText($1, $2)) = 'POLYGON' - THEN ST_GeomFromText($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_polyfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polyfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POLYGON' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_polyfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polyfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1, $2)) = 'POLYGON' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_polygon(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygon(geometry, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT ST_SetSRID(ST_MakePolygon($1), $2) - $_$; - - --- --- Name: st_polygonfromtext(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygonfromtext(text) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_PolyFromText($1)$_$; - - --- --- Name: st_polygonfromtext(text, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygonfromtext(text, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_PolyFromText($1, $2)$_$; - - --- --- Name: st_polygonfromwkb(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygonfromwkb(bytea) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1)) = 'POLYGON' - THEN ST_GeomFromWKB($1) - ELSE NULL END - $_$; - - --- --- Name: st_polygonfromwkb(bytea, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygonfromwkb(bytea, integer) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$ - SELECT CASE WHEN geometrytype(ST_GeomFromWKB($1,$2)) = 'POLYGON' - THEN ST_GeomFromWKB($1, $2) - ELSE NULL END - $_$; - - --- --- Name: st_polygonize(geometry[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_polygonize(geometry[]) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'polygonize_garray'; - - --- --- Name: st_project(geography, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_project(geog geography, distance double precision, azimuth double precision) RETURNS geography - LANGUAGE c IMMUTABLE COST 100 - AS '$libdir/postgis-2.1', 'geography_project'; - - --- --- Name: st_relate(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_relate(geom1 geometry, geom2 geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'relate_full'; - - --- --- Name: st_relate(geometry, geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_relate(geom1 geometry, geom2 geometry, integer) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'relate_full'; - - --- --- Name: st_relate(geometry, geometry, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_relate(geom1 geometry, geom2 geometry, text) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'relate_pattern'; - - --- --- Name: st_relatematch(text, text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_relatematch(text, text) RETURNS boolean - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_RelateMatch'; - - --- --- Name: st_removepoint(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_removepoint(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_removepoint'; - - --- --- Name: st_removerepeatedpoints(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_removerepeatedpoints(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_RemoveRepeatedPoints'; - - --- --- Name: st_reverse(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_reverse(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_reverse'; - - --- --- Name: st_rotate(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotate(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, 0, 0, 0)$_$; - - --- --- Name: st_rotate(geometry, double precision, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotate(geometry, double precision, geometry) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, ST_X($3) - cos($2) * ST_X($3) + sin($2) * ST_Y($3), ST_Y($3) - sin($2) * ST_X($3) - cos($2) * ST_Y($3), 0)$_$; - - --- --- Name: st_rotate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotate(geometry, double precision, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0, 1, $3 - cos($2) * $3 + sin($2) * $4, $4 - sin($2) * $3 - cos($2) * $4, 0)$_$; - - --- --- Name: st_rotatex(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotatex(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, 1, 0, 0, 0, cos($2), -sin($2), 0, sin($2), cos($2), 0, 0, 0)$_$; - - --- --- Name: st_rotatey(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotatey(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, cos($2), 0, sin($2), 0, 1, 0, -sin($2), 0, cos($2), 0, 0, 0)$_$; - - --- --- Name: st_rotatez(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_rotatez(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Rotate($1, $2)$_$; - - --- --- Name: st_scale(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_scale(geometry, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Scale($1, $2, $3, 1)$_$; - - --- --- Name: st_scale(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_scale(geometry, double precision, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, $2, 0, 0, 0, $3, 0, 0, 0, $4, 0, 0, 0)$_$; - - --- --- Name: st_segmentize(geography, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_segmentize(geog geography, max_segment_length double precision) RETURNS geography - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'geography_segmentize'; - - --- --- Name: st_segmentize(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_segmentize(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_segmentize2d'; - - --- --- Name: st_setpoint(geometry, integer, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_setpoint(geometry, integer, geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_setpoint_linestring'; - - --- --- Name: st_setsrid(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_setsrid(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_set_srid'; - - --- --- Name: st_sharedpaths(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_sharedpaths(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_SharedPaths'; - - --- --- Name: st_shift_longitude(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_shift_longitude(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_longitude_shift'; - - --- --- Name: st_shortestline(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_shortestline(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_shortestline2d'; - - --- --- Name: st_simplify(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_simplify(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_simplify2d'; - - --- --- Name: st_simplifypreservetopology(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_simplifypreservetopology(geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'topologypreservesimplify'; - - --- --- Name: st_snap(geometry, geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_snap(geom1 geometry, geom2 geometry, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_Snap'; - - --- --- Name: st_snaptogrid(geometry, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_snaptogrid(geometry, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $2)$_$; - - --- --- Name: st_snaptogrid(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_SnapToGrid($1, 0, 0, $2, $3)$_$; - - --- --- Name: st_snaptogrid(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_snaptogrid(geometry, double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_snaptogrid'; - - --- --- Name: st_snaptogrid(geometry, geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_snaptogrid(geom1 geometry, geom2 geometry, double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_snaptogrid_pointoff'; - - --- --- Name: st_split(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_split(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT COST 100 - AS '$libdir/postgis-2.1', 'ST_Split'; - - --- --- Name: st_srid(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_srid(geometry) RETURNS integer - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_get_srid'; - - --- --- Name: st_startpoint(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_startpoint(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_startpoint_linestring'; - - --- --- Name: st_summary(geography); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_summary(geography) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_summary'; - - --- --- Name: st_summary(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_summary(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_summary'; - - --- --- Name: st_symdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_symdifference(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'symdifference'; - - --- --- Name: st_symmetricdifference(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_symmetricdifference(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'symdifference'; - - --- --- Name: st_touches(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_touches(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Touches($1,$2)$_$; - - --- --- Name: st_transform(geometry, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_transform(geometry, integer) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'transform'; - - --- --- Name: st_translate(geometry, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_translate(geometry, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Translate($1, $2, $3, 0)$_$; - - --- --- Name: st_translate(geometry, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_translate(geometry, double precision, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, 1, 0, 0, 0, 1, 0, 0, 0, 1, $2, $3, $4)$_$; - - --- --- Name: st_transscale(geometry, double precision, double precision, double precision, double precision); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_transscale(geometry, double precision, double precision, double precision, double precision) RETURNS geometry - LANGUAGE sql IMMUTABLE STRICT - AS $_$SELECT ST_Affine($1, $4, 0, 0, 0, $5, 0, - 0, 0, 1, $2 * $4, $3 * $5, 0)$_$; - - --- --- Name: st_unaryunion(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_unaryunion(geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'ST_UnaryUnion'; - - --- --- Name: st_union(geometry[]); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_union(geometry[]) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'pgis_union_geometry_array'; - - --- --- Name: st_union(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_union(geom1 geometry, geom2 geometry) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'geomunion'; - - --- --- Name: st_within(geometry, geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_within(geom1 geometry, geom2 geometry) RETURNS boolean - LANGUAGE sql IMMUTABLE - AS $_$SELECT $1 && $2 AND _ST_Contains($2,$1)$_$; - - --- --- Name: st_wkbtosql(bytea); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_wkbtosql(wkb bytea) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_WKB'; - - --- --- Name: st_wkttosql(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_wkttosql(text) RETURNS geometry - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_from_text'; - - --- --- Name: st_x(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_x(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_x_point'; - - --- --- Name: st_xmax(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_xmax(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_xmax'; - - --- --- Name: st_xmin(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_xmin(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_xmin'; - - --- --- Name: st_y(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_y(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_y_point'; - - --- --- Name: st_ymax(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_ymax(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_ymax'; - - --- --- Name: st_ymin(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_ymin(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_ymin'; - - --- --- Name: st_z(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_z(geometry) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_z_point'; - - --- --- Name: st_zmax(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_zmax(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_zmax'; - - --- --- Name: st_zmflag(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_zmflag(geometry) RETURNS smallint - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_zmflag'; - - --- --- Name: st_zmin(box3d); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION st_zmin(box3d) RETURNS double precision - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'BOX3D_zmin'; - - --- --- Name: text(geometry); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION text(geometry) RETURNS text - LANGUAGE c IMMUTABLE STRICT - AS '$libdir/postgis-2.1', 'LWGEOM_to_text'; - - --- --- Name: unlockrows(text); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION unlockrows(text) RETURNS integer - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret int; -BEGIN - - IF NOT LongTransactionsEnabled() THEN - RAISE EXCEPTION 'Long transaction support disabled, use EnableLongTransaction() to enable.'; - END IF; - - EXECUTE 'DELETE FROM authorization_table where authid = ' || - quote_literal($1); - - GET DIAGNOSTICS ret = ROW_COUNT; - - RETURN ret; -END; -$_$; - - --- --- Name: updategeometrysrid(character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION updategeometrysrid(character varying, character varying, integer) RETURNS text - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT UpdateGeometrySRID('','',$1,$2,$3) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: updategeometrysrid(character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION updategeometrysrid(character varying, character varying, character varying, integer) RETURNS text - LANGUAGE plpgsql STRICT - AS $_$ -DECLARE - ret text; -BEGIN - SELECT UpdateGeometrySRID('',$1,$2,$3,$4) into ret; - RETURN ret; -END; -$_$; - - --- --- Name: updategeometrysrid(character varying, character varying, character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: - --- - -CREATE FUNCTION updategeometrysrid(catalogn_name character varying, schema_name character varying, table_name character varying, column_name character varying, new_srid_in integer) RETURNS text - LANGUAGE plpgsql STRICT - AS $$ -DECLARE - myrec RECORD; - okay boolean; - cname varchar; - real_schema name; - unknown_srid integer; - new_srid integer := new_srid_in; - -BEGIN - - - -- Find, check or fix schema_name - IF ( schema_name != '' ) THEN - okay = false; - - FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP - okay := true; - END LOOP; - - IF ( okay <> true ) THEN - RAISE EXCEPTION 'Invalid schema name'; - ELSE - real_schema = schema_name; - END IF; - ELSE - SELECT INTO real_schema current_schema()::text; - END IF; - - -- Ensure that column_name is in geometry_columns - okay = false; - FOR myrec IN SELECT type, coord_dimension FROM geometry_columns WHERE f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP - okay := true; - END LOOP; - IF (NOT okay) THEN - RAISE EXCEPTION 'column not found in geometry_columns table'; - RETURN false; - END IF; - - -- Ensure that new_srid is valid - IF ( new_srid > 0 ) THEN - IF ( SELECT count(*) = 0 from spatial_ref_sys where srid = new_srid ) THEN - RAISE EXCEPTION 'invalid SRID: % not found in spatial_ref_sys', new_srid; - RETURN false; - END IF; - ELSE - unknown_srid := ST_SRID('POINT EMPTY'::geometry); - IF ( new_srid != unknown_srid ) THEN - new_srid := unknown_srid; - RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid; - END IF; - END IF; - - IF postgis_constraint_srid(real_schema, table_name, column_name) IS NOT NULL THEN - -- srid was enforced with constraints before, keep it that way. - -- Make up constraint name - cname = 'enforce_srid_' || column_name; - - -- Drop enforce_srid constraint - EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || - '.' || quote_ident(table_name) || - ' DROP constraint ' || quote_ident(cname); - - -- Update geometries SRID - EXECUTE 'UPDATE ' || quote_ident(real_schema) || - '.' || quote_ident(table_name) || - ' SET ' || quote_ident(column_name) || - ' = ST_SetSRID(' || quote_ident(column_name) || - ', ' || new_srid::text || ')'; - - -- Reset enforce_srid constraint - EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || - '.' || quote_ident(table_name) || - ' ADD constraint ' || quote_ident(cname) || - ' CHECK (st_srid(' || quote_ident(column_name) || - ') = ' || new_srid::text || ')'; - ELSE - -- We will use typmod to enforce if no srid constraints - -- We are using postgis_type_name to lookup the new name - -- (in case Paul changes his mind and flips geometry_columns to return old upper case name) - EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || - ' ALTER COLUMN ' || quote_ident(column_name) || ' TYPE geometry(' || postgis_type_name(myrec.type, myrec.coord_dimension, true) || ', ' || new_srid::text || ') USING ST_SetSRID(' || quote_ident(column_name) || ',' || new_srid::text || ');' ; - END IF; - - RETURN real_schema || '.' || table_name || '.' || column_name ||' SRID changed to ' || new_srid::text; - -END; -$$; - - --- --- Name: median(anyelement); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE median(anyelement) ( - SFUNC = array_append, - STYPE = anyarray, - INITCOND = '{}', - FINALFUNC = public._final_median -); - - --- --- Name: median(numeric); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE median(numeric) ( - SFUNC = array_append, - STYPE = numeric[], - INITCOND = '{}', - FINALFUNC = public._final_median -); - - --- --- Name: st_3dextent(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_3dextent(geometry) ( - SFUNC = public.st_combine_bbox, - STYPE = box3d -); - - --- --- Name: st_accum(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_accum(geometry) ( - SFUNC = pgis_geometry_accum_transfn, - STYPE = pgis_abs, - FINALFUNC = pgis_geometry_accum_finalfn -); - - --- --- Name: st_collect(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_collect(geometry) ( - SFUNC = pgis_geometry_accum_transfn, - STYPE = pgis_abs, - FINALFUNC = pgis_geometry_collect_finalfn -); - - --- --- Name: st_extent(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_extent(geometry) ( - SFUNC = public.st_combine_bbox, - STYPE = box3d, - FINALFUNC = public.box2d -); - - --- --- Name: st_makeline(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_makeline(geometry) ( - SFUNC = pgis_geometry_accum_transfn, - STYPE = pgis_abs, - FINALFUNC = pgis_geometry_makeline_finalfn -); - - --- --- Name: st_memcollect(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_memcollect(geometry) ( - SFUNC = public.st_collect, - STYPE = geometry -); - - --- --- Name: st_memunion(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_memunion(geometry) ( - SFUNC = public.st_union, - STYPE = geometry -); - - --- --- Name: st_polygonize(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_polygonize(geometry) ( - SFUNC = pgis_geometry_accum_transfn, - STYPE = pgis_abs, - FINALFUNC = pgis_geometry_polygonize_finalfn -); - - --- --- Name: st_union(geometry); Type: AGGREGATE; Schema: public; Owner: - --- - -CREATE AGGREGATE st_union(geometry) ( - SFUNC = pgis_geometry_accum_transfn, - STYPE = pgis_abs, - FINALFUNC = pgis_geometry_union_finalfn -); - - --- --- Name: &&; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR && ( - PROCEDURE = geometry_overlaps, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = &&, - RESTRICT = gserialized_gist_sel_2d, - JOIN = gserialized_gist_joinsel_2d -); - - --- --- Name: &&; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR && ( - PROCEDURE = geography_overlaps, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = &&, - RESTRICT = gserialized_gist_sel_nd, - JOIN = gserialized_gist_joinsel_nd -); - - --- --- Name: &&&; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR &&& ( - PROCEDURE = geometry_overlaps_nd, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = &&&, - RESTRICT = gserialized_gist_sel_nd, - JOIN = gserialized_gist_joinsel_nd -); - - --- --- Name: &<; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR &< ( - PROCEDURE = geometry_overleft, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = &>, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: &<|; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR &<| ( - PROCEDURE = geometry_overbelow, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = |&>, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: &>; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR &> ( - PROCEDURE = geometry_overright, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = &<, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: <; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR < ( - PROCEDURE = geometry_lt, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = >, - NEGATOR = >=, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: <; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR < ( - PROCEDURE = geography_lt, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = >, - NEGATOR = >=, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: <#>; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR <#> ( - PROCEDURE = geometry_distance_box, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <#> -); - - --- --- Name: <->; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR <-> ( - PROCEDURE = geometry_distance_centroid, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <-> -); - - --- --- Name: <<; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR << ( - PROCEDURE = geometry_left, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = >>, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: <<|; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR <<| ( - PROCEDURE = geometry_below, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = |>>, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: <=; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR <= ( - PROCEDURE = geometry_le, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = >=, - NEGATOR = >, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: <=; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR <= ( - PROCEDURE = geography_le, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = >=, - NEGATOR = >, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: =; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR = ( - PROCEDURE = geometry_eq, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = =, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: =; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR = ( - PROCEDURE = geography_eq, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = =, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: >; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR > ( - PROCEDURE = geometry_gt, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <, - NEGATOR = <=, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: >; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR > ( - PROCEDURE = geography_gt, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = <, - NEGATOR = <=, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: >=; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR >= ( - PROCEDURE = geometry_ge, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <=, - NEGATOR = <, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: >=; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR >= ( - PROCEDURE = geography_ge, - LEFTARG = geography, - RIGHTARG = geography, - COMMUTATOR = <=, - NEGATOR = <, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: >>; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR >> ( - PROCEDURE = geometry_right, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <<, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: @; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR @ ( - PROCEDURE = geometry_within, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = ~, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: |&>; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR |&> ( - PROCEDURE = geometry_overabove, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = &<|, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: |>>; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR |>> ( - PROCEDURE = geometry_above, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = <<|, - RESTRICT = positionsel, - JOIN = positionjoinsel -); - - --- --- Name: ~; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR ~ ( - PROCEDURE = geometry_contains, - LEFTARG = geometry, - RIGHTARG = geometry, - COMMUTATOR = @, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: ~=; Type: OPERATOR; Schema: public; Owner: - --- - -CREATE OPERATOR ~= ( - PROCEDURE = geometry_same, - LEFTARG = geometry, - RIGHTARG = geometry, - RESTRICT = contsel, - JOIN = contjoinsel -); - - --- --- Name: btree_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: - --- - -CREATE OPERATOR CLASS btree_geography_ops - DEFAULT FOR TYPE geography USING btree AS - OPERATOR 1 <(geography,geography) , - OPERATOR 2 <=(geography,geography) , - OPERATOR 3 =(geography,geography) , - OPERATOR 4 >=(geography,geography) , - OPERATOR 5 >(geography,geography) , - FUNCTION 1 (geography, geography) geography_cmp(geography,geography); - - --- --- Name: btree_geometry_ops; Type: OPERATOR CLASS; Schema: public; Owner: - --- - -CREATE OPERATOR CLASS btree_geometry_ops - DEFAULT FOR TYPE geometry USING btree AS - OPERATOR 1 <(geometry,geometry) , - OPERATOR 2 <=(geometry,geometry) , - OPERATOR 3 =(geometry,geometry) , - OPERATOR 4 >=(geometry,geometry) , - OPERATOR 5 >(geometry,geometry) , - FUNCTION 1 (geometry, geometry) geometry_cmp(geometry,geometry); - - --- --- Name: gist_geography_ops; Type: OPERATOR CLASS; Schema: public; Owner: - --- - -CREATE OPERATOR CLASS gist_geography_ops - DEFAULT FOR TYPE geography USING gist AS - STORAGE gidx , - OPERATOR 3 &&(geography,geography) , - FUNCTION 1 (geography, geography) geography_gist_consistent(internal,geography,integer) , - FUNCTION 2 (geography, geography) geography_gist_union(bytea,internal) , - FUNCTION 3 (geography, geography) geography_gist_compress(internal) , - FUNCTION 4 (geography, geography) geography_gist_decompress(internal) , - FUNCTION 5 (geography, geography) geography_gist_penalty(internal,internal,internal) , - FUNCTION 6 (geography, geography) geography_gist_picksplit(internal,internal) , - FUNCTION 7 (geography, geography) geography_gist_same(box2d,box2d,internal); - - --- --- Name: gist_geometry_ops_2d; Type: OPERATOR CLASS; Schema: public; Owner: - --- - -CREATE OPERATOR CLASS gist_geometry_ops_2d - DEFAULT FOR TYPE geometry USING gist AS - STORAGE box2df , - OPERATOR 1 <<(geometry,geometry) , - OPERATOR 2 &<(geometry,geometry) , - OPERATOR 3 &&(geometry,geometry) , - OPERATOR 4 &>(geometry,geometry) , - OPERATOR 5 >>(geometry,geometry) , - OPERATOR 6 ~=(geometry,geometry) , - OPERATOR 7 ~(geometry,geometry) , - OPERATOR 8 @(geometry,geometry) , - OPERATOR 9 &<|(geometry,geometry) , - OPERATOR 10 <<|(geometry,geometry) , - OPERATOR 11 |>>(geometry,geometry) , - OPERATOR 12 |&>(geometry,geometry) , - OPERATOR 13 <->(geometry,geometry) FOR ORDER BY pg_catalog.float_ops , - OPERATOR 14 <#>(geometry,geometry) FOR ORDER BY pg_catalog.float_ops , - FUNCTION 1 (geometry, geometry) geometry_gist_consistent_2d(internal,geometry,integer) , - FUNCTION 2 (geometry, geometry) geometry_gist_union_2d(bytea,internal) , - FUNCTION 3 (geometry, geometry) geometry_gist_compress_2d(internal) , - FUNCTION 4 (geometry, geometry) geometry_gist_decompress_2d(internal) , - FUNCTION 5 (geometry, geometry) geometry_gist_penalty_2d(internal,internal,internal) , - FUNCTION 6 (geometry, geometry) geometry_gist_picksplit_2d(internal,internal) , - FUNCTION 7 (geometry, geometry) geometry_gist_same_2d(geometry,geometry,internal) , - FUNCTION 8 (geometry, geometry) geometry_gist_distance_2d(internal,geometry,integer); - - --- --- Name: gist_geometry_ops_nd; Type: OPERATOR CLASS; Schema: public; Owner: - --- - -CREATE OPERATOR CLASS gist_geometry_ops_nd - FOR TYPE geometry USING gist AS - STORAGE gidx , - OPERATOR 3 &&&(geometry,geometry) , - FUNCTION 1 (geometry, geometry) geometry_gist_consistent_nd(internal,geometry,integer) , - FUNCTION 2 (geometry, geometry) geometry_gist_union_nd(bytea,internal) , - FUNCTION 3 (geometry, geometry) geometry_gist_compress_nd(internal) , - FUNCTION 4 (geometry, geometry) geometry_gist_decompress_nd(internal) , - FUNCTION 5 (geometry, geometry) geometry_gist_penalty_nd(internal,internal,internal) , - FUNCTION 6 (geometry, geometry) geometry_gist_picksplit_nd(internal,internal) , - FUNCTION 7 (geometry, geometry) geometry_gist_same_nd(geometry,geometry,internal); - - -SET search_path = pg_catalog; - --- --- Name: CAST (public.box2d AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.box2d AS public.box3d) WITH FUNCTION public.box3d(public.box2d) AS IMPLICIT; - - --- --- Name: CAST (public.box2d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.box2d AS public.geometry) WITH FUNCTION public.geometry(public.box2d) AS IMPLICIT; - - --- --- Name: CAST (public.box3d AS box); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.box3d AS box) WITH FUNCTION public.box(public.box3d) AS IMPLICIT; - - --- --- Name: CAST (public.box3d AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.box3d AS public.box2d) WITH FUNCTION public.box2d(public.box3d) AS IMPLICIT; - - --- --- Name: CAST (public.box3d AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.box3d AS public.geometry) WITH FUNCTION public.geometry(public.box3d) AS IMPLICIT; - - --- --- Name: CAST (bytea AS public.geography); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (bytea AS public.geography) WITH FUNCTION public.geography(bytea) AS IMPLICIT; - - --- --- Name: CAST (bytea AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (bytea AS public.geometry) WITH FUNCTION public.geometry(bytea) AS IMPLICIT; - - --- --- Name: CAST (public.geography AS bytea); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.geography AS bytea) WITH FUNCTION public.bytea(public.geography) AS IMPLICIT; - - --- --- Name: CAST (public.geography AS public.geography); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.geography AS public.geography) WITH FUNCTION public.geography(public.geography, integer, boolean) AS IMPLICIT; - - -- --- Name: CAST (public.geography AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: postgis; Type: EXTENSION; Schema: -; Owner: - -- -CREATE CAST (public.geography AS public.geometry) WITH FUNCTION public.geometry(public.geography); +CREATE EXTENSION IF NOT EXISTS postgis WITH SCHEMA public; -- --- Name: CAST (public.geometry AS box); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: EXTENSION postgis; Type: COMMENT; Schema: -; Owner: - -- -CREATE CAST (public.geometry AS box) WITH FUNCTION public.box(public.geometry) AS ASSIGNMENT; +COMMENT ON EXTENSION postgis IS 'PostGIS geometry, geography, and raster spatial types and functions'; --- --- Name: CAST (public.geometry AS public.box2d); Type: CAST; Schema: pg_catalog; Owner: - --- - -CREATE CAST (public.geometry AS public.box2d) WITH FUNCTION public.box2d(public.geometry) AS IMPLICIT; - +SET search_path = public, pg_catalog; -- --- Name: CAST (public.geometry AS public.box3d); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: _final_median(numeric[]); Type: FUNCTION; Schema: public; Owner: - -- -CREATE CAST (public.geometry AS public.box3d) WITH FUNCTION public.box3d(public.geometry) AS IMPLICIT; +CREATE FUNCTION _final_median(numeric[]) RETURNS numeric + LANGUAGE sql IMMUTABLE + AS $_$ + SELECT AVG(val) + FROM ( + SELECT val + FROM unnest($1) val + ORDER BY 1 + LIMIT 2 - MOD(array_upper($1, 1), 2) + OFFSET CEIL(array_upper($1, 1) / 2.0) - 1 + ) sub; +$_$; -- --- Name: CAST (public.geometry AS bytea); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: _final_median(anyarray); Type: FUNCTION; Schema: public; Owner: - -- -CREATE CAST (public.geometry AS bytea) WITH FUNCTION public.bytea(public.geometry) AS IMPLICIT; +CREATE FUNCTION _final_median(anyarray) RETURNS double precision + LANGUAGE sql IMMUTABLE + AS $_$ + WITH q AS + ( + SELECT val + FROM unnest($1) val + WHERE VAL IS NOT NULL + ORDER BY 1 + ), + cnt AS + ( + SELECT COUNT(*) AS c FROM q + ) + SELECT AVG(val)::float8 + FROM + ( + SELECT val FROM q + LIMIT 2 - MOD((SELECT c FROM cnt), 2) + OFFSET GREATEST(CEIL((SELECT c FROM cnt) / 2.0) - 1,0) + ) q2; + $_$; -- --- Name: CAST (public.geometry AS public.geography); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: cleangeometry(geometry); Type: FUNCTION; Schema: public; Owner: - -- -CREATE CAST (public.geometry AS public.geography) WITH FUNCTION public.geography(public.geometry) AS IMPLICIT; - - --- --- Name: CAST (public.geometry AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - --- +CREATE FUNCTION cleangeometry(geom geometry) RETURNS geometry + LANGUAGE plpgsql + AS $_$ + DECLARE + inGeom ALIAS for $1; + outGeom geometry; + tmpLinestring geometry; + sqlString text; -CREATE CAST (public.geometry AS public.geometry) WITH FUNCTION public.geometry(public.geometry, integer, boolean) AS IMPLICIT; + BEGIN + outGeom := NULL; --- --- Name: CAST (public.geometry AS path); Type: CAST; Schema: pg_catalog; Owner: - --- + -- Clean Polygons -- + IF (ST_GeometryType(inGeom) = 'ST_Polygon' OR ST_GeometryType(inGeom) = 'ST_MultiPolygon') THEN -CREATE CAST (public.geometry AS path) WITH FUNCTION public.path(public.geometry); + -- Check if it needs fixing + IF NOT ST_IsValid(inGeom) THEN + sqlString := ' + -- separate multipolygon into 1 polygon per row + WITH split_multi (geom, poly) AS ( + SELECT + (ST_Dump($1)).geom, + (ST_Dump($1)).path[1] -- polygon number + ), + -- break each polygon into linestrings + split_line (geom, poly, line) AS ( + SELECT + ST_Boundary((ST_DumpRings(geom)).geom), + poly, + (ST_DumpRings(geom)).path[1] -- line number + FROM split_multi + ), + -- get the linestrings that make up the exterior of each polygon + line_exterior (geom, poly) AS ( + SELECT + geom, + poly + FROM split_line + WHERE line = 0 + ), + -- get an array of all the linestrings that make up the interior of each polygon + line_interior (geom, poly) AS ( + SELECT + array_agg(geom ORDER BY line), + poly + FROM split_line + WHERE line > 0 + GROUP BY poly + ), + -- use MakePolygon to rebuild the polygons + poly_geom (geom, poly) AS ( + SELECT + CASE WHEN line_interior.geom IS NULL + THEN ST_Buffer(ST_MakePolygon(line_exterior.geom), 0) + ELSE ST_Buffer(ST_MakePolygon(line_exterior.geom, line_interior.geom), 0) + END, + line_exterior.poly + FROM line_exterior + LEFT JOIN line_interior USING (poly) + ) + '; --- --- Name: CAST (public.geometry AS point); Type: CAST; Schema: pg_catalog; Owner: - --- + IF (ST_GeometryType(inGeom) = 'ST_Polygon') THEN + sqlString := sqlString || ' + SELECT geom + FROM poly_geom + '; + ELSE + sqlString := sqlString || ' + , -- if its a multipolygon combine the polygons back together + multi_geom (geom) AS ( + SELECT + ST_Multi(ST_Collect(geom ORDER BY poly)) + FROM poly_geom + ) + SELECT geom + FROM multi_geom + '; + END IF; -CREATE CAST (public.geometry AS point) WITH FUNCTION public.point(public.geometry); + EXECUTE sqlString INTO outGeom USING inGeom; + RETURN outGeom; + ELSE + RETURN inGeom; + END IF; --- --- Name: CAST (public.geometry AS polygon); Type: CAST; Schema: pg_catalog; Owner: - --- + -- Clean Lines -- + ELSIF (ST_GeometryType(inGeom) = 'ST_Linestring') THEN -CREATE CAST (public.geometry AS polygon) WITH FUNCTION public.polygon(public.geometry); + outGeom := ST_Union(ST_Multi(inGeom), ST_PointN(inGeom, 1)); + RETURN outGeom; + ELSIF (ST_GeometryType(inGeom) = 'ST_MultiLinestring') THEN + outGeom := ST_Multi(ST_Union(ST_Multi(inGeom), ST_PointN(inGeom, 1))); + RETURN outGeom; + ELSE + RAISE NOTICE 'The input type % is not supported',ST_GeometryType(inGeom); + RETURN inGeom; + END IF; + END; + $_$; -- --- Name: CAST (public.geometry AS text); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: crc32(text); Type: FUNCTION; Schema: public; Owner: - -- -CREATE CAST (public.geometry AS text) WITH FUNCTION public.text(public.geometry) AS IMPLICIT; - - --- --- Name: CAST (path AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - --- +CREATE FUNCTION crc32(word text) RETURNS bigint + LANGUAGE plpgsql IMMUTABLE + AS $$ + DECLARE tmp bigint; + DECLARE i int; + DECLARE j int; + DECLARE byte_length int; + DECLARE word_array bytea; + BEGIN + IF COALESCE(word, '') = '' THEN + return 0; + END IF; -CREATE CAST (path AS public.geometry) WITH FUNCTION public.geometry(path); + i = 0; + tmp = 4294967295; + byte_length = bit_length(word) / 8; + word_array = decode(replace(word, E'\\', E'\\\\'), 'escape'); + LOOP + tmp = (tmp # get_byte(word_array, i))::bigint; + i = i + 1; + j = 0; + LOOP + tmp = ((tmp >> 1) # (3988292384 * (tmp & 1)))::bigint; + j = j + 1; + IF j >= 8 THEN + EXIT; + END IF; + END LOOP; + IF i >= byte_length THEN + EXIT; + END IF; + END LOOP; + return (tmp # 4294967295); + END + $$; -- --- Name: CAST (point AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: st_aslatlontext(geometry); Type: FUNCTION; Schema: public; Owner: - -- -CREATE CAST (point AS public.geometry) WITH FUNCTION public.geometry(point); +CREATE FUNCTION st_aslatlontext(geometry) RETURNS text + LANGUAGE sql IMMUTABLE STRICT + AS $_$ SELECT ST_AsLatLonText($1, '') $_$; -- --- Name: CAST (polygon AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: median(anyelement); Type: AGGREGATE; Schema: public; Owner: - -- -CREATE CAST (polygon AS public.geometry) WITH FUNCTION public.geometry(polygon); +CREATE AGGREGATE median(anyelement) ( + SFUNC = array_append, + STYPE = anyarray, + INITCOND = '{}', + FINALFUNC = public._final_median +); -- --- Name: CAST (text AS public.geometry); Type: CAST; Schema: pg_catalog; Owner: - +-- Name: median(numeric); Type: AGGREGATE; Schema: public; Owner: - -- -CREATE CAST (text AS public.geometry) WITH FUNCTION public.geometry(text) AS IMPLICIT; - +CREATE AGGREGATE median(numeric) ( + SFUNC = array_append, + STYPE = numeric[], + INITCOND = '{}', + FINALFUNC = public._final_median +); -SET search_path = public, pg_catalog; SET default_tablespace = ''; @@ -8693,44 +1017,6 @@ CREATE SEQUENCE friendships_id_seq ALTER SEQUENCE friendships_id_seq OWNED BY friendships.id; --- --- Name: geography_columns; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW geography_columns AS - SELECT current_database() AS f_table_catalog, - n.nspname AS f_table_schema, - c.relname AS f_table_name, - a.attname AS f_geography_column, - postgis_typmod_dims(a.atttypmod) AS coord_dimension, - postgis_typmod_srid(a.atttypmod) AS srid, - postgis_typmod_type(a.atttypmod) AS type - FROM pg_class c, - pg_attribute a, - pg_type t, - pg_namespace n - WHERE (((((((t.typname = 'geography'::name) AND (a.attisdropped = false)) AND (a.atttypid = t.oid)) AND (a.attrelid = c.oid)) AND (c.relnamespace = n.oid)) AND (NOT pg_is_other_temp_schema(c.relnamespace))) AND has_table_privilege(c.oid, 'SELECT'::text)); - - --- --- Name: geometry_columns; Type: VIEW; Schema: public; Owner: - --- - -CREATE VIEW geometry_columns AS - SELECT (current_database())::character varying(256) AS f_table_catalog, - (n.nspname)::character varying(256) AS f_table_schema, - (c.relname)::character varying(256) AS f_table_name, - (a.attname)::character varying(256) AS f_geometry_column, - COALESCE(postgis_typmod_dims(a.atttypmod), postgis_constraint_dims((n.nspname)::text, (c.relname)::text, (a.attname)::text), 2) AS coord_dimension, - COALESCE(NULLIF(postgis_typmod_srid(a.atttypmod), 0), postgis_constraint_srid((n.nspname)::text, (c.relname)::text, (a.attname)::text), 0) AS srid, - (replace(replace(COALESCE(NULLIF(upper(postgis_typmod_type(a.atttypmod)), 'GEOMETRY'::text), (postgis_constraint_type((n.nspname)::text, (c.relname)::text, (a.attname)::text))::text, 'GEOMETRY'::text), 'ZM'::text, ''::text), 'Z'::text, ''::text))::character varying(30) AS type - FROM pg_class c, - pg_attribute a, - pg_type t, - pg_namespace n - WHERE (((((((((t.typname = 'geometry'::name) AND (a.attisdropped = false)) AND (a.atttypid = t.oid)) AND (a.attrelid = c.oid)) AND (c.relnamespace = n.oid)) AND ((((c.relkind = 'r'::"char") OR (c.relkind = 'v'::"char")) OR (c.relkind = 'm'::"char")) OR (c.relkind = 'f'::"char"))) AND (NOT pg_is_other_temp_schema(c.relnamespace))) AND (NOT ((n.nspname = 'public'::name) AND (c.relname = 'raster_columns'::name)))) AND has_table_privilege(c.oid, 'SELECT'::text)); - - -- -- Name: goal_contributions; Type: TABLE; Schema: public; Owner: -; Tablespace: -- @@ -10702,7 +2988,7 @@ ALTER SEQUENCE rules_id_seq OWNED BY rules.id; -- CREATE TABLE schema_migrations ( - version character varying(255) NOT NULL + version character varying NOT NULL ); @@ -10923,20 +3209,6 @@ CREATE SEQUENCE sources_id_seq ALTER SEQUENCE sources_id_seq OWNED BY sources.id; --- --- Name: spatial_ref_sys; Type: TABLE; Schema: public; Owner: -; Tablespace: --- - -CREATE TABLE spatial_ref_sys ( - srid integer NOT NULL, - auth_name character varying(256), - auth_srid integer, - srtext character varying(2048), - proj4text character varying(2048), - CONSTRAINT spatial_ref_sys_srid_check CHECK (((srid > 0) AND (srid <= 998999))) -); - - -- -- Name: states_simplified_1; Type: TABLE; Schema: public; Owner: -; Tablespace: -- @@ -13082,14 +5354,6 @@ ALTER TABLE ONLY sources ADD CONSTRAINT sources_pkey PRIMARY KEY (id); --- --- Name: spatial_ref_sys_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: --- - -ALTER TABLE ONLY spatial_ref_sys - ADD CONSTRAINT spatial_ref_sys_pkey PRIMARY KEY (srid); - - -- -- Name: states_simplified_1_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: -- @@ -15087,30 +7351,6 @@ CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (v CREATE UNIQUE INDEX updates_unique_key ON updates USING btree (resource_type, resource_id, notifier_type, notifier_id, subscriber_id, notification); --- --- Name: geometry_columns_delete; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE geometry_columns_delete AS - ON DELETE TO geometry_columns DO INSTEAD NOTHING; - - --- --- Name: geometry_columns_insert; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE geometry_columns_insert AS - ON INSERT TO geometry_columns DO INSTEAD NOTHING; - - --- --- Name: geometry_columns_update; Type: RULE; Schema: public; Owner: - --- - -CREATE RULE geometry_columns_update AS - ON UPDATE TO geometry_columns DO INSTEAD NOTHING; - - -- -- PostgreSQL database dump complete -- From 0822011d7cda1838721818de272341d4aca293d5 Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Fri, 26 Feb 2016 23:07:04 -0800 Subject: [PATCH 24/70] minor changes to projects UI to accomodate changes to Bioblitz projects --- app/assets/stylesheets/projects/show.css | 10 ++++ app/models/project.rb | 4 ++ app/views/projects/members.html.haml | 3 - app/views/projects/show.html.erb | 73 +++++++++--------------- config/locales/en.yml | 42 +++++--------- 5 files changed, 56 insertions(+), 76 deletions(-) diff --git a/app/assets/stylesheets/projects/show.css b/app/assets/stylesheets/projects/show.css index 998c348e114..9e594fc563b 100644 --- a/app/assets/stylesheets/projects/show.css +++ b/app/assets/stylesheets/projects/show.css @@ -159,6 +159,15 @@ h2{line-height:1;margin:0;float:left;} .invited {background-color: #FFF6BF;} #projectnav li.invited:hover {background-color: #fffdcd;} .sectioncount {margin: 4px 10px 0 10px;} +.curatorbox { + background-color: #E9F3DA; +} +.curatorlabel { + display: block; + font-family: Georgia, Times, serif; + font-size: 140%; + padding: 0 10px; +} #rtstats label { text-transform: capitalize; font-size: 16px; @@ -179,3 +188,4 @@ h2{line-height:1;margin:0;float:left;} #projectstats .taxon a.scientific { font-style: italic; } + diff --git a/app/models/project.rb b/app/models/project.rb index 4ecbbfcddc3..9397ac84064 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -654,6 +654,10 @@ def split_large_array(list) def invite_only? preferred_membership_model == MEMBERSHIP_INVITE_ONLY end + + def users_can_add? + preferred_submission_model == SUBMISSION_BY_ANYONE + end def aggregation_allowed? return true if place && place.bbox_area < 141 diff --git a/app/views/projects/members.html.haml b/app/views/projects/members.html.haml index f23da74356e..ba29894daeb 100644 --- a/app/views/projects/members.html.haml +++ b/app/views/projects/members.html.haml @@ -23,9 +23,6 @@ - if @project.icon.file? = image_tag @project.icon.url(:thumb), :style => "vertical-align: middle" = @title.html_safe -- if @project.bioblitz? - .notice.box - = t 'views.projects.members.bioblitz_notice_html' #members.column.span-24{:style => "margin-bottom: 10px"} - if @project_users.blank? .noresults diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 6224fc2bd13..042231ad2aa 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -75,12 +75,14 @@ <%= truncate @project.title, :length => 55 %> <% end -%> - - <%= link_to new_observation_path(:project_id => @project.id), :id => 'addbutton', :rel => "nofollow" do %> - <%= t(:add) %> - <%= t(:observations) %> + + <% if @project.users_can_add? && (!@project.invite_only? || @project_user) && (!@project.bioblitz? || @project.event_started?) -%> + <%= link_to new_observation_path(:project_id => @project.id), :id => 'addbutton', :rel => "nofollow" do %> + <%= t(:add) %> + <%= t(:observations) %> + <% end -%> <% end -%> - + <% if @project.bioblitz? -%>
    <%- start_time = @project.start_time.in_time_zone(@project.user.time_zone) %> @@ -118,7 +120,7 @@ <% end -%> - <% if !@project.invite_only? || @project_user -%> + <% if @project.users_can_add? && (!@project.invite_only? || @project_user) && (!@project.bioblitz? || @project.event_started?) -%> <%= link_to t(:add_observations_project), new_observation_path(:project_id => @project.id), :class => 'last button default', :rel => "nofollow" %> @@ -162,26 +164,7 @@ <% end %>
    - <%- extra = capture do -%> - - <% end %> - <%= render partial: "real_time_angular_stats", locals: { extra: extra, project: @project } %> + <%= render partial: "real_time_angular_stats", locals: { project: @project } %>
    <% end -%> @@ -248,14 +231,14 @@

    <%=t :recent_observations %> - <%= link_to t(:view_all), project_observations_url(@project), class: "ui readmore", style: "font-size: 60%; margin-left: 5px" %> + <%= link_to t(:view_all), observations_path({project_id: @project.slug, verifiable: "any"}), class: "ui readmore", style: "font-size: 60%; margin-left: 5px" %>

    <%= loading %>
    - <%= link_to t(:more_observations), project_observations_url(@project), class: "readmore" %> + <%= link_to t(:more_observations), observations_path({project_id: @project.slug, verifiable: "any"}), class: "readmore" %> @@ -296,29 +279,13 @@ <% end -%> - <% if @project.curated_by?(current_user) && !@project.observations_url_params.blank? -%> -
  • <%= link_to "» #{t(:find_suitable_observations)}".html_safe, observations_path(@project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %>
  • - <% end -%>
  • <%= link_to "» #{t(:export_observations)}".html_safe, export_observations_path(projects: [@project]), :class => "navlink" %>
    <%= link_to("Atom", project_observations_path(@project, :format => 'atom'), :class => 'atomlink', :rel => "nofollow") %> / <%= link_to("KML", project_observations_path(@project, :format => 'kml'), :class => 'kmllink', :rel => "nofollow") %> / <%= link_to("CSV", export_observations_path('projects[]' => @project), :class => 'csvlink', :rel => "nofollow") %> - <% if @project.curated_by?(current_user) -%> - / - <%= link_to t(:all_csv), all_project_observations_url(@project, :format => 'csv'), - :class => "delayedlink csvlink", - "data-delayed-link-msg" => - t(:please_hold_on_while_the_file), - :rel => "nofollow" %> - <% end -%>
    - <% if @project.bioblitz? -%> -
    - <%=t 'views.projects.show.project_observations_desc' %> -
    - <% end -%>
  • <% if !@project.bioblitz? %>
  • @@ -342,7 +309,23 @@ <% end -%> <% end -%> - + <% if @project.curated_by?(current_user) -%> +
      +
    • <%=t :project_curator_tools %>
    • + <% if !@project.observations_url_params.blank? -%> +
    • <%= link_to "» #{t(:find_suitable_observations)}".html_safe, observations_path(@project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %>
    • +
    • <%= link_to "» #{t(:find_unsuitable_observations)}".html_safe, observations_path({not_matching_project_rules_for: @project.slug, project_id: @project.slug}), :class => "navlink" %>
    • + <% end -%> +
    • + <%= link_to "» #{t(:export_with_private_coordinates)}".html_safe, all_project_observations_url(@project, :format => 'csv'), + :class => "delayedlink navlink", + "data-delayed-link-msg" => + t(:please_hold_on_while_the_file), + :rel => "nofollow" %> +
    • +
    • <%= link_to "» #{t(:filter_by_curator_identification)}".html_safe, project_observations_url(@project), class: "navlink" %>
    • +
    + <% end -%> <% unless @project.bioblitz? && !@project.event_started? %>

    <%=t :about %>

    <%= truncate_with_more formatted_user_text(@project.description, diff --git a/config/locales/en.yml b/config/locales/en.yml index 924386e4d42..8df942ba10b 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1014,6 +1014,7 @@ en: explore_everyones_observations: Explore everyone's observations export: Export export_observations: Export observations + export_with_private_coordinates: Export with private coordinates exporting: "Exporting..." external_links: External Links extinct: EXTINCT @@ -1059,6 +1060,7 @@ en: filling_out_your_profile: filling out your profile filter: Filter filter_by: Filter by + filter_by_curator_identification: Filter by curator identification filter_by_place: Filter by place filter_by_place_taxon_and_color: Filter by place, taxon, and color using the controls. filter_list_by_this_taxon: Filter list by this taxon @@ -1077,6 +1079,7 @@ en: find_some_people_to_follow: "Find some people to follow" find_species: Find Species find_suitable_observations: Find suitable observations + find_unsuitable_observations: Find unsuitable observations find_your_current_location: Find your current location first_confirmed_inat_observation: "First confirmed %{site_name} observation" first_connect_your_provider_account_to_your_site: "First, connect your %{provider} account to %{site_name}:" @@ -1882,9 +1885,7 @@ en: observation_rules: Observation rules observation_rules_description: | You can choose rules to determine what observations can be added to this - project, like limiting observations to a certain place. Note: limiting to - places currently relies on %{site_name} Places, and can only limit - observations to the smallest rectangle that surrounds a place. If you have + project, like limiting observations to a certain place or taxon. If you have more than one rule for a type of rule, observations will be valid if either rule passes. For example, if you have the rules "must be in Amphibia" and "must be in Reptilia", then the project will accept @@ -2283,6 +2284,7 @@ en: project_cover: Project cover project_created_on: created this project on %{date} project_curator_id: Project curator ID + project_curator_tools: Project curator tools project_curators: Project Curators project_group_label: Group project_group_description: Group the project belongs to @@ -2314,8 +2316,7 @@ en: project_type_description: | Assessments and bioblitzes are special types of projects. Assessments are for collaborating on a set of species assessments, usually to gauge - conservation importance. Bioblitzes are events where people try to observe - as many species as possible in a given place for a given period of time. + conservation importance. Bioblitzes are events that have a specified beginning and end. project_user_cannot_be_found: Project user cannot be found project_user_was_invalid: "Project user was invalid: %{project_user}" project_was_successfully_created: Project was successfully created. @@ -2831,7 +2832,7 @@ en: tell_the_world_a_little_about_yourself: Tell the world a little bit about yourself by terms: Terms terms_and_rules_html: "Terms & Rules" - terms_new_users: Terms new users must agree to before joining this project. + terms_new_users: "If you add terms, new users must agree to them before joining this project." terms_of_service: Terms of Service terms_service: Terms of Service terrain: terrain @@ -4161,12 +4162,9 @@ en: bioblitz_desc_html: |

    A bioblitz is an event where participants try to observe as many - species as possible within a given place and time period. It's a fun + species as possible within time period. It's a fun way to introduce people to biodiversity while collecting valuable - data at the same time. Unlike normal projects, bioblitz projects - accumulate stats from all obervations made within the - specified time period and place, so observations don't need to be - added to the project to drive the project stats + data at the same time.

    cover_desc: "Optional banner image that will appear at the top of your project page. Must be 950px wide, less than 400px tall." custom_project_fields_means: "Customize the project's banner, add side content, and edit CSS." @@ -4181,23 +4179,22 @@ en: Time when the aggregator last finished adding observations to this project observation_aggregation_desc_html: |

    - Observation aggregation will automatically add observations to your - project within your project's place boundary or of your project's rule - taxon. Since there's no way to remove many observations from a project + Observation aggregation will automatically add suitable observations to your + project as specified by your project rules. Since there's no way to remove many observations from a project at a time, this is potentially dangerous, so please make sure you have chosen the place and the taxon rules that you want, or you might end - up with a lot of extraneous data. + up with a lot of unsuitable observations to remove manually.

    The aggregator will only work if the following conditions are met:

    1. - Your project is associated with a small-to-mid-sized place (about + Your project has at least one 'must be observed in place' rule for a small-to-mid-sized place (about the size of Texas or Ukraine)
    2. - OR your project only accepts observations of certain taxa + OR your project has at least one 'must be in taxon' rule
    project_assets_desc_html: | @@ -4251,13 +4248,6 @@ en: Membership in this project is by invitation only. If you'd like to join, please contact one of the curators below and request an invitation. - members: - bioblitz_notice_html: | - Note: this is only a list of people who have - explicitly joined this project. Since this is a bioblitz project and - stats are calculated for all observations added within the specified - place and time period, there may be many more participants than are - listed here. project_location_privacy_notice_html: |

    Please be aware project curators will be able to see any private or @@ -4328,10 +4318,6 @@ en:

    To get started, create a post

    - project_observations_desc: | - This only includes observations explictly added to this - project, not all observations recorded at the place and time of this - event. curated_checklist_desc: | This is the curated checklist and count of taxa from observations explictly added to this project, not all observations recorded at the place and time of this From 5928a4f0fc7aeb5b1fae21dc4c12a6472403fcc0 Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Sat, 27 Feb 2016 16:36:28 -0800 Subject: [PATCH 25/70] folded verifiable and place params into a variable --- app/controllers/projects_controller.rb | 1 + app/views/projects/show.html.erb | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 9751e3ea756..c1caeb79c04 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -151,6 +151,7 @@ def show @fb_admin_ids = @fb_admin_ids.compact.map(&:to_s).uniq @observations_url_params = { projects: [@project.slug] } @observations_url = observations_url(@observations_url_params) + @observation_search_url_params = { place_id: "any", verifiable: "any", project_id: @project.slug } if logged_in? && @project_user.blank? @project_user_invitation = @project.project_user_invitations.where(:invited_user_id => current_user).first end diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 042231ad2aa..4747e6d2815 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -231,14 +231,14 @@

    <%=t :recent_observations %> - <%= link_to t(:view_all), observations_path({project_id: @project.slug, verifiable: "any"}), class: "ui readmore", style: "font-size: 60%; margin-left: 5px" %> + <%= link_to t(:view_all), observations_path(@observation_search_url_params), class: "ui readmore", style: "font-size: 60%; margin-left: 5px" %>

    <%= loading %>
    - <%= link_to t(:more_observations), observations_path({project_id: @project.slug, verifiable: "any"}), class: "readmore" %> + <%= link_to t(:more_observations), observations_path(@observation_search_url_params), class: "readmore" %> @@ -314,7 +314,7 @@
  • <%=t :project_curator_tools %>
  • <% if !@project.observations_url_params.blank? -%>
  • <%= link_to "» #{t(:find_suitable_observations)}".html_safe, observations_path(@project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %>
  • -
  • <%= link_to "» #{t(:find_unsuitable_observations)}".html_safe, observations_path({not_matching_project_rules_for: @project.slug, project_id: @project.slug}), :class => "navlink" %>
  • +
  • <%= link_to "» #{t(:find_unsuitable_observations)}".html_safe, observations_path(@observation_search_url_params.merge(not_matching_project_rules_for: @project.slug)), :class => "navlink" %>
  • <% end -%>
  • <%= link_to "» #{t(:export_with_private_coordinates)}".html_safe, all_project_observations_url(@project, :format => 'csv'), From 40cedffcbe36b1c7d084e53280fb4d15fe23e3d9 Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Sat, 27 Feb 2016 16:57:50 -0800 Subject: [PATCH 26/70] Add from your obs shouldn't display if user can't add obs --- app/views/projects/show.html.erb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 4747e6d2815..6d3b990441d 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -272,12 +272,14 @@ <%= link_to "» #{t(:your_membership, default: 'Your membership').capitalize}".html_safe, project_show_contributor_path(@project, @project_user.user.login), :class => "navlink" %>
  • -
  • - <%= link_to "» #{t(:add_from_your_observations)}".html_safe, observations_by_login_path(current_user.login, @project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %> -
    - <%=t :download_bulk_import_template_html, :url => project_bulk_template_url(@project) %> -
    -
  • + <% if @project.users_can_add? && (!@project.invite_only? || @project_user) && (!@project.bioblitz? || @project.event_started?) -%> +
  • + <%= link_to "» #{t(:add_from_your_observations)}".html_safe, observations_by_login_path(current_user.login, @project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %> +
    + <%=t :download_bulk_import_template_html, :url => project_bulk_template_url(@project) %> +
    +
  • + <% end -%> <% end -%>
  • <%= link_to "» #{t(:export_observations)}".html_safe, export_observations_path(projects: [@project]), :class => "navlink" %> From 9c1b7594413d66ebdf67f3ce155227f9902b463b Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Sat, 27 Feb 2016 19:00:56 -0800 Subject: [PATCH 27/70] minor changes to project list presentation --- app/controllers/projects_controller.rb | 2 +- app/models/project.rb | 1 + app/views/projects/_form.html.erb | 36 ++++++++------------------ app/views/projects/show.html.erb | 4 +-- config/locales/en.yml | 13 +++++++--- 5 files changed, 24 insertions(+), 32 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index c1caeb79c04..8e3d90e46b9 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -924,7 +924,7 @@ def filter_params else params[:project].delete(:featured_at) end - if params[:project][:project_type] != Project::BIOBLITZ_TYPE + if params[:project][:project_type] != Project::BIOBLITZ_TYPE && !current_user.is_curator? params[:project][:prefers_aggregation] = false end true diff --git a/app/models/project.rb b/app/models/project.rb index 9397ac84064..0a7880279b7 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -41,6 +41,7 @@ class Project < ActiveRecord::Base preference :count_from_list, :boolean, :default => false preference :place_boundary_visible, :boolean, :default => false preference :count_by, :string, :default => 'species' + preference :display_checklist, :boolean, :default => false preference :range_by_date, :boolean, :default => false preference :aggregation, :boolean, default: false diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 2e0e8e80844..ef7e9a498c9 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -128,7 +128,7 @@ -
    style="display:none"<% end -%>> +
    style="display:none"<% end -%>> <%= t(:observation_aggregation).titleize %> <%= f.check_box :prefers_aggregation, label_after: true, label: t(:automatically_add_observations_to_this_project) %>
    style="display:none"<% end -%>> @@ -189,31 +189,17 @@ <%= link_to_function t(:add_new_rule), "$(this).before('#{escape_javascript new_rule_field}'); rulify(); $(this).hide()" %>
    - <% if (current_user.is_admin? || (@project.editable_by?(current_user) && @project.trusted)) && !@project.new_record? -%> -
    -
    - <%=t :checklist %> - <%= f.check_box :prefers_count_from_list, - :label => t(:show_total_listed_taxa), - :label_after => true, - :description => t(:show_the_total_number_of) %> - <%= f.select :preferred_count_by, {t(:species).downcase => "species", t(:leaves).downcase => "leaves", t(:all).downcase => "all"}, :description => t(:project_preferred_count_description) %> -
    -
    +
    +
    + <%=t :project_list %> + <%=t 'views.projects.edit.project_list_desc_html' %> + <%= f.check_box :prefers_display_checklist, + :label => t(:display_link_to_checklist), + :label_after => true %> +
    +
    - <% if project.place && project.place.check_list %> -
    -
    - <%=t :unobserved_listings %> -

    - <%=t :select_how_unobserved_listings_are_displayed %> -

    - <%= f.radio_button("show_from_place", false, { checked: !project.show_from_place.present?, label: t(:display_listings_added_by_curators), :label_after => true})%> - <%= f.radio_button("show_from_place", true, { checked: project.show_from_place.present?, label: t(:display_listings_from_place), :label_after => true})%> -
    -
    - <% end %> - + <% if (current_user.is_admin? || (@project.editable_by?(current_user) && @project.trusted)) && !@project.new_record? -%>
    <%=t :project_assets %> <%=t 'views.projects.edit.project_assets_desc_html' %> diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 6d3b990441d..d191ffcdd6c 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -289,9 +289,9 @@ <%= link_to("CSV", export_observations_path('projects[]' => @project), :class => 'csvlink', :rel => "nofollow") %>
  • - <% if !@project.bioblitz? %> + <% if @project.prefers_display_checklist? %>
  • - <%= link_to "» #{t(:checklist)}".html_safe, list_path(@project.project_list, {rank: @project.preferred_count_by}), :class => "navlink" %> + <%= link_to "» #{t(:project_list)}".html_safe, list_path(@project.project_list, {rank: @project.preferred_count_by}), :class => "navlink" %>
  • <% end -%> <% if logged_in? && !@project.bioblitz? -%> diff --git a/config/locales/en.yml b/config/locales/en.yml index 8df942ba10b..e331f49afba 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -880,6 +880,7 @@ en: did_you_photos_flickr?: Did you put any photos on Flickr? disagree: disagree disconnect_provider: "Disconnect %{provider}" + display_link_to_checklist: Display link to project list from project page display_listings_added_by_curators: Display listings added by curators display_listings_from_place: Display listings from place do_you_know_where_this_species_lives: Do you know where this species lives? @@ -2586,7 +2587,6 @@ en: show_off_your_recent_observations: Show off your recent observations on your own blog or website! show_only: Show only show_taxa_from_both: (show taxa from both lists) - show_the_total_number_of: "Show the total number of taxa on the project's list alongside the number of taxa observed." show_total_listed_taxa: Show total listed taxa showing_observations_by: showing observations by showing_one_to: Showing 1 - @@ -3848,9 +3848,8 @@ en: Note that you can only choose places that have boundaries. show: project_list_desc: | - Project check lists include taxa manually added by project curators, - observed taxa identified by project curators, and taxa verified by - research-grade observations added to the project. + Taxa manually added by project curators and taxa represented by + research-grade observations added to the project are listed on project lists. observations: copy_tip: "Add a new observation by copying this observation's date, place, photos, and observaiton fields." captive_help_html: | @@ -4203,6 +4202,12 @@ en:
  • Files ending in .logo.jpg, .logo.png, etc. will be used as the project's logo on the project page instead of the project icon
  • KML and KMZ files will be added to the map on the project page
  • + project_list_desc_html: | +

    You can create a custom project list of taxa and link it to your project. This can be useful to:

    +
      +
    1. Restrict observations added to your project to those matching taxa on your list via the 'must be taxon on the project list' rule.
    2. +
    3. Keep track of how many taxa on your list have been checked off with observations added to the project
    4. +
    rules: captive: be captive/cultivated wild: be wild/naturalized From 433fa09095c85531aaa23e3f8618b7adb228c919 Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Sat, 27 Feb 2016 19:12:00 -0800 Subject: [PATCH 28/70] moved project invite tools --- app/views/projects/show.html.erb | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index d191ffcdd6c..0162c1aa222 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -272,6 +272,14 @@ <%= link_to "» #{t(:your_membership, default: 'Your membership').capitalize}".html_safe, project_show_contributor_path(@project, @project_user.user.login), :class => "navlink" %> + <% if @project_user_invitation && @project_user_invitation.pending? -%> +
  • + <%= link_to "» #{t(:join_this_project?)}".html_safe, join_project_path(@project), :class => "navlink" %> +
    + <%=t :user_invited_you_to_join_this_project_on_date_html, :user => link_to_user(@project_user_invitation.user), :date => l(@project_user_invitation.created_at) %> +
    +
  • + <% end -%> <% if @project.users_can_add? && (!@project.invite_only? || @project_user) && (!@project.bioblitz? || @project.event_started?) -%>
  • <%= link_to "» #{t(:add_from_your_observations)}".html_safe, observations_by_login_path(current_user.login, @project.observations_url_params.merge(not_in_project: @project.slug)), :class => "navlink" %> @@ -298,17 +306,6 @@
  • <%= link_to "» #{t(:usage_stats)}".html_safe, project_stats_path(@project), :class => "navlink" %>
  • - <% if @project.curated_by?(current_user) && @project.preferred_membership_model == Project::MEMBERSHIP_INVITE_ONLY -%> -
  • <%= link_to "» #{t(:invite_people)}".html_safe, invite_to_project_path(@project), :class => "navlink" %>
  • - <% end -%> - <% if @project_user_invitation && @project_user_invitation.pending? -%> -
  • - <%= link_to "» #{t(:join_this_project?)}".html_safe, join_project_path(@project), :class => "navlink" %> -
    - <%=t :user_invited_you_to_join_this_project_on_date_html, :user => link_to_user(@project_user_invitation.user), :date => l(@project_user_invitation.created_at) %> -
    -
  • - <% end -%> <% end -%> <% if @project.curated_by?(current_user) -%> @@ -326,6 +323,9 @@ :rel => "nofollow" %>
  • <%= link_to "» #{t(:filter_by_curator_identification)}".html_safe, project_observations_url(@project), class: "navlink" %>
  • + <% if @project.preferred_membership_model == Project::MEMBERSHIP_INVITE_ONLY -%> +
  • <%= link_to "» #{t(:invite_people)}".html_safe, invite_to_project_path(@project), :class => "navlink" %>
  • + <% end -%> <% end -%> <% unless @project.bioblitz? && !@project.event_started? %> From acabf98ace551374e3cd74bdbd86b75ed3c6bfb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Mon, 29 Feb 2016 17:18:56 +0100 Subject: [PATCH 29/70] Localisation updates from https://translatewiki.net. --- config/locales/ca.yml | 2 +- config/locales/es.yml | 4 ++-- config/locales/qqq.yml | 9 +++++++-- config/locales/zh-CN.yml | 14 +++++++------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/config/locales/ca.yml b/config/locales/ca.yml index aee42df509d..0293eb3aae7 100755 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -2213,7 +2213,7 @@ ca: observed_one: ha observat un(a) observer: Observador observers: Observadors - observer_short: Observador + observer_short: Obs. observing: observant occurence_status_describes_how: L'estat d'ocurrència indica el grau de presència o raresa d'un tàxon en una àrea determinada. Aneu a DarwinCore per diff --git a/config/locales/es.yml b/config/locales/es.yml index b9229c5cd32..8677c99c1ad 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -2062,7 +2062,7 @@ es: no_recent_activity: No hay actividad reciente no_recently_active: Todavía no hay proyectos activos no_reply_yet: Aún no ha respondido - no_results_found: No se encontraron resultados. + no_results_found: No se encontraron resultados no_results_for: Sin resultados para no_results_matching: No hay resultados que concuerden no_sections_available: No hay secciones disponibles @@ -2228,7 +2228,7 @@ es: observed_one: observado una observer: Observador observers: Observadores - observer_short: Observador + observer_short: Observ. observing: observando occurence_status_describes_how: 'El estado de ocurrencia describe que tan común o raro es un taxón en un área determinada. Ver DarwinCore para Date: Tue, 1 Mar 2016 10:24:43 -0800 Subject: [PATCH 33/70] Better error when we can't add photos b/c a taxon is invalid. --- app/controllers/taxa_controller.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/controllers/taxa_controller.rb b/app/controllers/taxa_controller.rb index 2f2a7b998b0..b4bd37ac29f 100644 --- a/app/controllers/taxa_controller.rb +++ b/app/controllers/taxa_controller.rb @@ -207,7 +207,7 @@ def show @listed_taxa = ListedTaxon.joins(:list). where(taxon_id: @taxon, lists: { user_id: current_user }) @listed_taxa_by_list_id = @listed_taxa.index_by{|lt| lt.list_id} - @current_user_lists = current_user.lists.includes(:rules) + @current_user_lists = current_user.lists.includes(:rules).where("type IN ('LifeList', 'List')").limit(200) @lists_rejecting_taxon = @current_user_lists.select do |list| if list.is_a?(LifeList) && (rule = list.rules.detect{|rule| rule.operator == "in_taxon?"}) !rule.validates?(@taxon) @@ -814,7 +814,9 @@ def update_photos p.valid? ? nil : p.errors.full_messages end.flatten.compact @taxon.photos = photos - @taxon.save + unless @taxon.save + errors += "Failed to save taxon: #{@taxon.errors.full_messages.to_sentence}" + end unless photos.count == 0 Taxon.delay(:priority => INTEGRITY_PRIORITY).update_ancestor_photos(@taxon.id, photos.first.id) end From 2c01ec88dfa99c80782c762ae80538d385ef099b Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 1 Mar 2016 10:38:19 -0800 Subject: [PATCH 34/70] Treat text obs fields as user text on obs/show. --- app/helpers/application_helper.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b4c0b9f5fac..0807cd1e0a1 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1183,6 +1183,8 @@ def observation_field_value_for(ofv) else "" end content_tag(:div, ofv.value.gsub(/\s/, ''), :class => css_class) + elsif ofv.observation_field.datatype == ObservationField::TEXT + formatted_user_text( ofv.value, skip_simple_format: true ) else ofv.value end From 7ea613fa793734f4f1893633a64e7940b259137e Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 1 Mar 2016 14:47:54 -0800 Subject: [PATCH 35/70] Fixed some minor issues with DwC-A export. --- app/views/observations/_gbif_eml_agent.eml.erb | 2 +- app/views/observations/gbif.eml.erb | 4 ++-- lib/darwin_core/archive.rb | 2 +- lib/darwin_core/metadata.rb | 3 ++- spec/lib/darwin_core/archive_spec.rb | 13 +++++++++++++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/views/observations/_gbif_eml_agent.eml.erb b/app/views/observations/_gbif_eml_agent.eml.erb index 246d2cea85a..09ea143f4e4 100644 --- a/app/views/observations/_gbif_eml_agent.eml.erb +++ b/app/views/observations/_gbif_eml_agent.eml.erb @@ -1,4 +1,4 @@ -<% content_tag tag do %> +<%= content_tag tag do %> <%= data["first_name"] %> <%= data["last_name"] %> diff --git a/app/views/observations/gbif.eml.erb b/app/views/observations/gbif.eml.erb index a24aedcd5d6..f61a6577790 100644 --- a/app/views/observations/gbif.eml.erb +++ b/app/views/observations/gbif.eml.erb @@ -9,8 +9,8 @@ system="http://gbif.org" scope="system"> - http://www.inaturalist.org/observations?quality_grade=research - iNaturalist research-grade observations + <%=raw @uri %> + iNaturalist Research-grade Observations <%= render :partial => 'observations/gbif_eml_agent.eml.erb', :locals => {:tag => "creator", :data => @creator} %> <%= render :partial => 'observations/gbif_eml_agent.eml.erb', :locals => {:tag => "metadataProvider", :data => @metadata_provider} %> diff --git a/lib/darwin_core/archive.rb b/lib/darwin_core/archive.rb index 2ace2a5b2fa..c327104c037 100644 --- a/lib/darwin_core/archive.rb +++ b/lib/darwin_core/archive.rb @@ -56,7 +56,7 @@ def generate end def make_metadata - m = DarwinCore::Metadata.new(@opts) + m = DarwinCore::Metadata.new(@opts.merge(uri: FakeView.observations_url(observations_params))) tmp_path = File.join(@work_path, "metadata.eml.xml") open(tmp_path, 'w') do |f| f << m.render(:file => @opts[:metadata]) diff --git a/lib/darwin_core/metadata.rb b/lib/darwin_core/metadata.rb index f334de3580c..6f7592c1f92 100644 --- a/lib/darwin_core/metadata.rb +++ b/lib/darwin_core/metadata.rb @@ -19,7 +19,8 @@ def initialize(options = {}) @extent = scope.calculate(:extent, :geom) @start_date = scope.minimum(:observed_on) @end_date = scope.maximum(:observed_on) - @license = options[:license] + @license = options[:license] + @uri = options[:uri] end end end diff --git a/spec/lib/darwin_core/archive_spec.rb b/spec/lib/darwin_core/archive_spec.rb index a718ff61c38..9a8eb718975 100644 --- a/spec/lib/darwin_core/archive_spec.rb +++ b/spec/lib/darwin_core/archive_spec.rb @@ -8,6 +8,19 @@ rights_elt = xml.at_xpath( "//intellectualRights" ) expect( rights_elt.to_s ).to match /#{ FakeView.url_for_license(license) }/ end + + it "should include a contact from the default config" do + stub_config( { + contact: { + first_name: Faker::Name.first_name, + last_name: Faker::Name.last_name + } + } ) + archive = DarwinCore::Archive.new + xml = Nokogiri::XML( open( archive.make_metadata ) ) + contact_elt = xml.at_xpath( "//contact" ) + expect( contact_elt.to_s ).to match /#{ CONFIG.contact.first_name }/ + end end describe DarwinCore::Archive, "make_descriptor" do From b75d67c45f74007c7d82d14a521729055dbd3d05 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Tue, 1 Mar 2016 18:24:31 -0500 Subject: [PATCH 36/70] Some fixes for #864, #871, and #906; fixing header cache for bootstrap layout --- app/assets/javascripts/ang/inaturalist_angular.js | 3 +++ .../ang/templates/observation_search/results_grid.html.haml | 2 +- app/models/user.rb | 3 ++- app/views/layouts/bootstrap.html.erb | 2 +- app/views/observations/index.html.haml | 3 +-- 5 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/ang/inaturalist_angular.js b/app/assets/javascripts/ang/inaturalist_angular.js index f9452dfe5f7..0e9601471c0 100644 --- a/app/assets/javascripts/ang/inaturalist_angular.js +++ b/app/assets/javascripts/ang/inaturalist_angular.js @@ -137,6 +137,9 @@ iNatAPI.directive('inatCalendarDate', ["shared", function(shared) { }, link: function(scope, elt, attr) { scope.dateString = function() { + if( !scope.date ) { + return shared.t('unknown'); + } var date = moment(scope.date), now = moment(new Date()), dateString; diff --git a/app/assets/javascripts/ang/templates/observation_search/results_grid.html.haml b/app/assets/javascripts/ang/templates/observation_search/results_grid.html.haml index dd91f6182a2..3d3f6bca373 100644 --- a/app/assets/javascripts/ang/templates/observation_search/results_grid.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/results_grid.html.haml @@ -21,7 +21,7 @@ %span.favorites{"ng-show" => "o.faves_count > 0", title: "{{ shared.t('x_faves', {count: o.faves_count}) }}"} %i.fa.fa-star {{ o.faves_count }} - %span.pull-right{"am-time-ago" => "o.observed_on", title: "{{ shared.t('observed_on') + ' ' + o.observed_on }}"} + %span.pull-right{"am-time-ago" => "o.time_observed_at || o.observed_on", title: "{{ shared.t('observed_on') + ' ' + (o.time_observed_at || o.observed_on ) }}"} .spinner.ng-cloak{ "ng-show": "pagination.searching" } %span.fa.fa-spin.fa-refresh .noresults.text-muted.ng-cloak{ "ng-show" => "noObservations( )" } diff --git a/app/models/user.rb b/app/models/user.rb index 0b3ae569363..0cf443d54ea 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -671,7 +671,8 @@ def self.header_cache_key_for(user, options = {}) user_id ||= "signed_on" site_name = options[:site].try(:name) || options[:site_name] site_name ||= user.site.try(:name) if user.is_a?(User) - "header_cache_key_for_#{user_id}_on_#{site_name}_#{I18n.locale}" + version = ApplicationController::HEADER_VERSION + "header_cache_key_for_#{user_id}_on_#{site_name}_#{I18n.locale}_#{version}" end def self.update_identifications_counter_cache(user_id) diff --git a/app/views/layouts/bootstrap.html.erb b/app/views/layouts/bootstrap.html.erb index d8bf8051a2c..a774c670f62 100644 --- a/app/views/layouts/bootstrap.html.erb +++ b/app/views/layouts/bootstrap.html.erb @@ -26,7 +26,7 @@
    <% unless @headless -%> - <% cache(:controller => 'welcome', :action => 'header', :for => logged_in? ? current_user.id : nil, :version => ApplicationController::HEADER_VERSION, :site_name => @site ? @site.name : SITE_NAME) do %> + <% cache(User.header_cache_key_for(current_user, site: @site)) do %> <%= render :partial => 'shared/header' %> <% end %> <% end -%> diff --git a/app/views/observations/index.html.haml b/app/views/observations/index.html.haml index d674ae71b65..fd42e68b455 100644 --- a/app/views/observations/index.html.haml +++ b/app/views/observations/index.html.haml @@ -33,9 +33,8 @@ .form-inline.pull-right.primary-filters %input.form-control{ placeholder: t(:species), type: "search", name: "taxon_name", value: params[:taxon_name] } %input{ type: "hidden", name: "taxon_id" } - %span= t(:near, default: "near").capitalize %span#place-name-input - %input#place_name.form-control{ name: "place_name", placeholder: t(:place), type: "text", "ng-model": "placeSearch" } + %input#place_name.form-control{ name: "place_name", placeholder: t(:location), type: "text", "ng-model": "placeSearch" } %button.btn.btn-default{ type: "button", "ng-click": "focusOnSearchedPlace( )" }= t(:go) #stats-container .container.container-fixed From 86e99637735586c87101671be248a2e0cdbeec15 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 1 Mar 2016 17:32:29 -0800 Subject: [PATCH 37/70] URL-stuff is often not valid XML content. --- app/views/observations/gbif.eml.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/observations/gbif.eml.erb b/app/views/observations/gbif.eml.erb index f61a6577790..532d99ae8b8 100644 --- a/app/views/observations/gbif.eml.erb +++ b/app/views/observations/gbif.eml.erb @@ -9,7 +9,7 @@ system="http://gbif.org" scope="system"> - <%=raw @uri %> + ]]> iNaturalist Research-grade Observations <%= render :partial => 'observations/gbif_eml_agent.eml.erb', :locals => {:tag => "creator", :data => @creator} %> From 0cb12eddc38fa58431747ea9b082a39d5636833b Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Tue, 1 Mar 2016 20:53:57 -0800 Subject: [PATCH 38/70] Made 'Community can confirm/improve ID?' conditionally display and deduped Appropriate UI --- app/views/observations/show.html.erb | 18 -- .../quality_metrics/_quality_metrics.html.erb | 163 ++++++++++-------- config/locales/en.yml | 2 + 3 files changed, 89 insertions(+), 94 deletions(-) diff --git a/app/views/observations/show.html.erb b/app/views/observations/show.html.erb index 8d17f0c0a50..0906c7ed7de 100644 --- a/app/views/observations/show.html.erb +++ b/app/views/observations/show.html.erb @@ -802,24 +802,6 @@
    <% end -%> - - <% if @observation.flagged? %> -
    - <%=t :heads_up_this_observation_has_been_flagged %> - <%= link_to t(:view_flags), observation_flags_path(@observation) %> - | - <%= link_to t(:add_another_flag), new_observation_flag_path(@observation), - :id => "flag_this", :rel => "nofollow", :class => "flaglink" %> -
    - <% else %> -

    - <%= t(:is_this_observation_offensive_html) %> - <%= link_to t(:flag_this_observation), new_observation_flag_path(@observation), :id => "flag_this", :rel => "nofollow", :class => "flaglink" %> -

    -

    - <%=t :you_think_observation_inacurate %> -

    - <% end %>
    diff --git a/app/views/quality_metrics/_quality_metrics.html.erb b/app/views/quality_metrics/_quality_metrics.html.erb index e252950b524..9a01384ebc9 100644 --- a/app/views/quality_metrics/_quality_metrics.html.erb +++ b/app/views/quality_metrics/_quality_metrics.html.erb @@ -34,7 +34,85 @@ <% end -%> - + <% unless (o.community_supported_id? && o.community_taxon_at_species_or_lower?) || !o.research_grade_candidate? %> + + + <%=t :still_needs_id? %> + + + <% if score = o.needs_id_vote_score %> + + + + + + + + + + + +
    + <% if score >= 0.5 -%> + <%=t :yes %> + <% else %> + <%=t :yes %> + <% end -%> + + <% for v in o.get_upvotes(vote_scope: :needs_id) %> + <%= link_to user_image(v.user, title: v.user.login, alt: v.user.login), person_by_login_path(v.user.login) %> + <% end %> + <%= (score * 100).round %>%
    + <% if score >= 0.5 -%> + <%=t :no %> + <% else %> + <%=t :no %> + <% end -%> + + <% for v in o.get_downvotes(vote_scope: :needs_id) %> + <%= link_to user_image(v.user, title: v.user.login, alt: v.user.login), person_by_login_path(v.user.login) %> + <% end %> + <%= ((1 - score) * 100).round %>%
    + <% else %> + <%= o.needs_id? ? t(:yes) : t(:no) %> + <% end %> +
    + <%= t(:what_do_you_think) %> +
    + <% if user_vote = o.find_votes_for(vote_scope: :needs_id).detect{|v| v.voter_id == current_user.try(:id)} -%> + <% if user_vote.vote_flag? -%> + + <%=t :yes %> + <%= link_to "(x)", unvote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "delete", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + + / + <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + <% else %> + <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + / + + <%= t(:no) %> + <%= link_to "(x)", unvote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "delete", "data-loading-click" => ' ', :class => "inlineblock status quality_metric_vote_link" %> + + <% end -%> + <% else %> + <% if logged_in? -%> + <% unless o.needs_id? %> + <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> / + <% end -%> + <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + <% else %> + <% unless o.needs_id? %> + <%= link_to t(:yes), login_path, :class => "inlineblock status" %> / + <% end -%> + <%= link_to t(:no), login_path, :class => "inlineblock status" %> + <% end -%> + <% end -%> +
    +
    + + + <% end -%> <%= t(:observation_date?) %> @@ -70,14 +148,20 @@ <% if o.appropriate? -%> <%=t :yes %> +
    + <%= link_to t(:inappropriate), "/help#inappropriate" %> +
    + <%= link_to t(:flag_this_observation), new_observation_flag_path(@observation), :id => "flag_this", :rel => "nofollow", :class => "flaglink" %> +
    +
    <% else %> <%= t(:no) %> <% if o.flagged? -%>
    - <%= link_to t(:view_observationflags), observation_flags_path(o) %> + <%= link_to t(:view_observation_flags), observation_flags_path(o) %>
    <% end -%> - <% if @flagged_photos -%> + <% if @flagged_photos.length > 0 -%>
    <%=t :view_flags_for_x_html, :x => commas_and(@flagged_photos.map{|p| link_to("#{t :photo} #{p.id}", p.becomes(Photo))}) %>
    @@ -85,79 +169,6 @@ <% end -%> - - - <%=t :still_needs_id? %> - - - <% if score = o.needs_id_vote_score %> - - - - - - - - - - - -
    - <% if score >= 0.5 -%> - <%=t :yes %> - <% else %> - <%=t :yes %> - <% end -%> - - <% for v in o.get_upvotes(vote_scope: :needs_id) %> - <%= link_to user_image(v.user, title: v.user.login, alt: v.user.login), person_by_login_path(v.user.login) %> - <% end %> - <%= (score * 100).round %>%
    - <% if score >= 0.5 -%> - <%=t :no %> - <% else %> - <%=t :no %> - <% end -%> - - <% for v in o.get_downvotes(vote_scope: :needs_id) %> - <%= link_to user_image(v.user, title: v.user.login, alt: v.user.login), person_by_login_path(v.user.login) %> - <% end %> - <%= ((1 - score) * 100).round %>%
    - <% else %> - <%= o.needs_id? ? t(:yes) : t(:no) %> - <% end %> -
    - <%= t(:what_do_you_think) %> -
    - <% if user_vote = o.find_votes_for(vote_scope: :needs_id).detect{|v| v.voter_id == current_user.try(:id)} -%> - <% if user_vote.vote_flag? -%> - - <%=t :yes %> - <%= link_to "(x)", unvote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "delete", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> - - / - <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> - <% else %> - <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> - / - - <%= t(:no) %> - <%= link_to "(x)", unvote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "delete", "data-loading-click" => ' ', :class => "inlineblock status quality_metric_vote_link" %> - - <% end -%> - <% else %> - <% if logged_in? -%> - <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> / - <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> - <% else %> - <%= link_to t(:yes), login_path, :class => "inlineblock status" %> / - <%= link_to t(:no), login_path, :class => "inlineblock status" %> - <% end -%> - <% end -%> -
    -
    - - diff --git a/config/locales/en.yml b/config/locales/en.yml index e331f49afba..d4e64dcf9bc 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1304,6 +1304,7 @@ en: inactive_taxon_concepts_are: Inactive taxon concepts are either taxonomically outdated or being staged for a a taxon change. Outdated concepts are kept to maintain history and compatability with some partner sites. + inappropriate: inappropriate? inat_account_action: "%{site_name} : Account : %{action_name}" inat_believes_this_is_a_complete_listing: "%{site_name} believes this is a complete listing of this taxon in this place." inat_user_profile: "%{site_name}: %{user}'s Profile" @@ -3182,6 +3183,7 @@ en: view_post: View post view_observation: View observation view_observations: View observations + view_observation_flags: View observation flags view_observations_by_everyone: View observations by everyone view_observations_raquo: "View observations »" view_on: View on From 7f29148e504cbb54d41fb65721db233474b7bd34 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Wed, 2 Mar 2016 12:14:02 -0500 Subject: [PATCH 39/70] Fixed bug importing some Wikimedia Commons photos --- app/controllers/taxa_controller.rb | 2 +- app/models/wikimedia_commons_photo.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/taxa_controller.rb b/app/controllers/taxa_controller.rb index b4bd37ac29f..3ae69b24bc8 100644 --- a/app/controllers/taxa_controller.rb +++ b/app/controllers/taxa_controller.rb @@ -815,7 +815,7 @@ def update_photos end.flatten.compact @taxon.photos = photos unless @taxon.save - errors += "Failed to save taxon: #{@taxon.errors.full_messages.to_sentence}" + errors << "Failed to save taxon: #{@taxon.errors.full_messages.to_sentence}" end unless photos.count == 0 Taxon.delay(:priority => INTEGRITY_PRIORITY).update_ancestor_photos(@taxon.id, photos.first.id) diff --git a/app/models/wikimedia_commons_photo.rb b/app/models/wikimedia_commons_photo.rb index 1190c9562e5..ee5333762fc 100644 --- a/app/models/wikimedia_commons_photo.rb +++ b/app/models/wikimedia_commons_photo.rb @@ -94,7 +94,8 @@ def self.new_from_api_response(api_response, options = {}) license = api_response.search('.licensetpl_short').inner_text.to_s.downcase license_code = license.gsub(/\s/, '-') - photo.license = if (license.include? "public domain") || (license.include? "pd") || (license.include? "cc0") + photo.license = if (license.include? "public domain") || (license.include? "pd") || + (license.include? "cc0") || (license.include? "no restrictions") Photo::PD elsif license_code.include? "cc-by-nc-sa" Photo::CC_BY_NC_SA From bc7fcbb5d4a76e727c6d6b87eb02a13a6948807f Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Wed, 2 Mar 2016 22:58:47 -0800 Subject: [PATCH 40/70] made 'still needs ID?' display vote 'yes' when CID of species or lower --- .../quality_metrics/_quality_metrics.html.erb | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/app/views/quality_metrics/_quality_metrics.html.erb b/app/views/quality_metrics/_quality_metrics.html.erb index 9a01384ebc9..eec502ee2e3 100644 --- a/app/views/quality_metrics/_quality_metrics.html.erb +++ b/app/views/quality_metrics/_quality_metrics.html.erb @@ -34,7 +34,7 @@ <% end -%> - <% unless (o.community_supported_id? && o.community_taxon_at_species_or_lower?) || !o.research_grade_candidate? %> + <% if o.research_grade_candidate? %> <%=t :still_needs_id? %> @@ -96,16 +96,22 @@ <% end -%> <% else %> - <% if logged_in? -%> - <% unless o.needs_id? %> - <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> / + <% unless o.needs_id? && o.find_votes_for(vote_scope: :needs_id).length == 0 -%> + <% if logged_in? -%> + <%= link_to t(:yes), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + <% else -%> + <%= link_to t(:yes), login_path, :class => "inlineblock status" %> <% end -%> - <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> - <% else %> - <% unless o.needs_id? %> - <%= link_to t(:yes), login_path, :class => "inlineblock status" %> / + <% end -%> + <% unless (o.needs_id? && o.find_votes_for(vote_scope: :needs_id).length == 0) || ((o.community_supported_id? && o.community_taxon_at_species_or_lower?) && o.find_votes_for(vote_scope: :needs_id).length == 0) -%> + / + <% end -%> + <% unless (o.community_supported_id? && o.community_taxon_at_species_or_lower?) && o.find_votes_for(vote_scope: :needs_id).length == 0 -%> + <% if logged_in? -%> + <%= link_to t(:no), vote_path(resource_type: 'Observation', resource_id: o.id, scope: :needs_id, vote: :no), "data-method" => "post", "data-loading-click" => " ", :class => "inlineblock status quality_metric_vote_link" %> + <% else -%> + <%= link_to t(:no), login_path, :class => "inlineblock status" %> <% end -%> - <%= link_to t(:no), login_path, :class => "inlineblock status" %> <% end -%> <% end -%>
    From bd08aadfbfb12fba0ec34a845d6625e6fb974827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 3 Mar 2016 08:25:23 +0100 Subject: [PATCH 41/70] Localisation updates from https://translatewiki.net. --- config/locales/id.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/config/locales/id.yml b/config/locales/id.yml index 6afd176d3b9..4db4532067f 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: phpyaml # Author: Arief +# Author: Kenrick95 --- id: licensing_your_content: "Licensing your content gives others the legal right to @@ -631,8 +632,8 @@ id: split_into: Pisahkan kedalam merge_into: Gabungkan kedalam merged_into: Gambungkan kedalam - replaced_by: Dirubah oleh - replace_with: Dirubah dengan + replaced_by: Diubah oleh + replace_with: Diubah dengan dropped: Diletakkan staged: Ditampilkan change_visibility_of: Mengubah tampilan koordinat spasial? @@ -873,7 +874,7 @@ id: curating: Mengkurasi curation: Kurasi curator: Kurator - curators_changed_for_x_html: Kurator dirubah untuk %{x} + curators_changed_for_x_html: Kurator diubah untuk %{x} curators: Kurator curators_can_remove_observations_from: Kurator dapat menghapus pengamatan dari proyek dan identifikasi mereka ditampilkan di samping pengamatan pada pandangan tertentu @@ -1050,9 +1051,9 @@ id: edit_your_settings_for_this_project: Rubah pengaturan anda untuk proyek ini edit_your_settings_to_unsubscribe_html:
    Rubah pengaturan anda untuk mengubah jenis update yang Anda terima atau berhenti berlangganan sepenuhnya. - edited: Telah dirubah - edited_by: Dirubah oleh - edited_by_name_html: Dirubah oleh %{name} + edited: Telah diubah + edited_by: Diubah oleh + edited_by_name_html: Diubah oleh %{name} editing: Mengedit editing_announcement: Pengumuman perubahan editing_custom_project_fields_for: Merubah kolom proyek kustom untuk From 7773ec08059111dd5ed724dfbf53b20628b24c1b Mon Sep 17 00:00:00 2001 From: Carlos Alonso Date: Thu, 3 Mar 2016 12:24:13 -0600 Subject: [PATCH 42/70] missing translations on projects --- config/locales/es-MX.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index d57fa00bc09..e5044bbc908 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1116,6 +1116,7 @@ es-MX: explore_everyones_observations: Explora las observaciones de todos export: Exporta export_observations: Exporta observaciones + export_with_private_coordinates: Exportar con coordenadas privadas exporting: Exportando... external_links: Enlaces externos extinct: Extinta @@ -1168,6 +1169,7 @@ es-MX: filter_by: Filtro por filter_by_place_taxon_and_color: Filtra por lugar, color, especie o grupo usuando los controles. + filter_by_curator_identification: Filtrar por identificaciones de curador filter_list_by_this_taxon: Filtra la lista por este taxón filtering: Filtrando filtering_observations_that_pass_the: Observaciones filtradas que pasan los terminos @@ -1184,6 +1186,7 @@ es-MX: find_some_people_to_follow: Sigue a algunas personas find_species: Encontrar especie find_suitable_observations: Encuentra observaciones adecuadas + find_unsuitable_observations: Encuentra observaciones inadecuadas find_your_current_location: Encuentra tu ubicación actual first_confirmed_inat_observation: Primera observacipón confirmada de %{site_name} first_connect_your_provider_account_to_your_site: 'Primero, conecta tu cuenta %{provider} @@ -2456,6 +2459,7 @@ es-MX: project_cover: Portada del proyecto project_created_on: creó este proyecto el %{date} project_curator_id: Identificación del curador del proyecto + project_curator_tools: Herramientas para curadores del proyecto project_curators: Curadores del proyecto project_group_label: Grupo project_group_description: El grupo al que pertenece el proyecto @@ -3268,6 +3272,7 @@ es-MX: total_observations: Total de observaciones total_unique_observers: Total de observadores únicos total_users: Total de usuarios, + totals: Totales "true": Sí trusted_project?: ¿Es un projecto verificicado? try_adding_species_form: Intenta añadir algunas especies utilizando el boton "Añadir @@ -3740,6 +3745,7 @@ es-MX: your_identification: Tu identificación your_inat_account_has_been_activated: Tu cuenta de %{inat} ha sido activada your_life_list: tu lista de vida + your_membership: Tus contribuciones your_month_observations: Tus observaciones de %{month} your_name_was_saved: El nombre fue guardado. your_new_password_is: Tu nueva contraseña es From 7d30df1283daf87ef5579c08507305f0d8b78712 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Thu, 3 Mar 2016 11:53:27 -0800 Subject: [PATCH 43/70] Sanity spec to make sure DwC-A only has licensed photos by default. --- app/models/shared/license_module.rb | 4 ++-- lib/darwin_core/archive.rb | 2 +- spec/lib/darwin_core/archive_spec.rb | 11 +++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/models/shared/license_module.rb b/app/models/shared/license_module.rb index 123a6959b59..4d1bb2384b2 100644 --- a/app/models/shared/license_module.rb +++ b/app/models/shared/license_module.rb @@ -22,7 +22,7 @@ module Shared::LicenseModule const_set info[:code].upcase.gsub(/\-/, '_'), number const_set info[:code].upcase.gsub(/\-/, '_') + "_CODE", info[:code] end - CC_LICNSES = [ + CC_LICENSES = [ CC_BY, CC_BY_NC, CC_BY_ND, @@ -90,7 +90,7 @@ def some_rights_reserved? end def creative_commons? - CC_LICNSES.include?( license.to_i ) + CC_LICENSES.include?( license.to_i ) end def open_licensed? diff --git a/lib/darwin_core/archive.rb b/lib/darwin_core/archive.rb index c327104c037..eff29e1db62 100644 --- a/lib/darwin_core/archive.rb +++ b/lib/darwin_core/archive.rb @@ -12,7 +12,7 @@ def initialize(opts = {}) @opts[:metadata] ||= File.join(Rails.root, "app", "views", "observations", "gbif.eml.erb") @opts[:descriptor] ||= File.join(Rails.root, "app", "views", "observations", "gbif.descriptor.builder") @opts[:quality] ||= @opts[:quality_grade] || "research" - @opts[:photo_licenses] ||= ["CC-BY", "CC-BY-NC", "CC-BY-SA", "CC-BY-ND", "CC-BY-NC-SA", "CC-BY-NC-ND"] + @opts[:photo_licenses] ||= ["CC0", "CC-BY", "CC-BY-NC", "CC-BY-SA", "CC-BY-ND", "CC-BY-NC-SA", "CC-BY-NC-ND"] @opts[:licenses] ||= ["any"] @opts[:licenses] = @opts[:licenses].first if @opts[:licenses].size == 1 @opts[:private_coordinates] ||= false diff --git a/spec/lib/darwin_core/archive_spec.rb b/spec/lib/darwin_core/archive_spec.rb index 9a8eb718975..66358eb0811 100644 --- a/spec/lib/darwin_core/archive_spec.rb +++ b/spec/lib/darwin_core/archive_spec.rb @@ -78,6 +78,17 @@ expect( row['id'].to_i ).to eq o.taxon_id end end + + it "should not include unlicensed photos by default" do + expect( p.license ).not_to eq Photo::COPYRIGHT + without_delay { p.update_attributes( license: Photo::COPYRIGHT ) } + expect( p.license ).to eq Photo::COPYRIGHT + expect( Photo.count ).to eq 1 + archive = DarwinCore::Archive.new(extensions: %w(SimpleMultimedia)) + csv = CSV.read(archive.make_simple_multimedia_data) + expect( csv.size ).to eq 1 # just the header + end + end describe DarwinCore::Archive, "make_occurrence_data" do From 173759f14b62694927655dad90c3890465c88749 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Thu, 3 Mar 2016 12:06:51 -0800 Subject: [PATCH 44/70] Removed iPhone-specific language from guide mobile download text (closes #913) --- app/views/guides/show.html.haml | 4 ++-- config/locales/ca.yml | 4 ++-- config/locales/en.yml | 6 +++--- config/locales/es-MX.yml | 2 +- config/locales/es.yml | 4 ++-- config/locales/fr.yml | 4 ++-- config/locales/it.yml | 4 ++-- config/locales/pt-BR.yml | 4 ++-- config/locales/zh-CN.yml | 2 +- 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/views/guides/show.html.haml b/app/views/guides/show.html.haml index 1c6af1e6d0f..af98f2a2bb2 100644 --- a/app/views/guides/show.html.haml +++ b/app/views/guides/show.html.haml @@ -20,7 +20,7 @@ #actions.right - if @guide.downloadable? - if @guide.ngz.file? - .btn.pull-left.btn-link{:disabled => true, :data => {:tip => t('views.guides.mobile_downloads_tip_html', :iphone_url => CONFIG.iphone_app_url), :tip_position_at => "bottom center", :tip_width => 200, :tip_hide_delay => 200}} + .btn.pull-left.btn-link{:disabled => true, :data => {:tip => t('views.guides.mobile_downloads_tip_html'), :tip_position_at => "bottom center", :tip_width => 200, :tip_hide_delay => 200}} %i.fa-mobile.fa =t :offline_access_enabled - if @guide.editable_by?(current_user) @@ -257,7 +257,7 @@ .modal-content .modal-header %button.close{:type => "button", "data-dismiss" => "modal"} x - %h4=t :enable_offline_access_for_iphone + %h4=t :enable_offline_access_for_mobile = form_for @guide do |f| .modal-body .container-fluid diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 0293eb3aae7..02c7f992fd1 100755 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -4038,8 +4038,8 @@ ca: editar-la fins que la publiqueu. generating_mobile_archive_tip_html: Això pot trigar una estona, així que proveu d'actualitzar aquesta pàgina més tard. - mobile_downloads_tip_html: Aquesta guia es pot descarregar a l' app - d'iPhone pel seu ús fora de línia. + mobile_downloads_tip_html: Aquesta guia es pot descarregar a l'app + d'iPhone pel seu ús fora de línia. mobile_downloads_help_html: |-

    Això crearà un arxiu descarregable de totes les dades i mitjans associats amb aquesta guia, de forma que els usuaris d'iPhone poden veure tot el contingut de la guia sense connexió a Internet. Necessitarà uns minuts per a generar l'arxiu, però quan aquesta opció està habilitada, l'arxiu s'actualitzarà cada vegada que canvieu aquesta guia.

    Si us plau, no habiliteu les descàrregues des del mòbil a menys que en realitat, tingueu la intenció d'utilitzar-los. Representen una càrrega considerable pel nostre sistema. diff --git a/config/locales/en.yml b/config/locales/en.yml index e331f49afba..bfe4d203b72 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -971,7 +971,7 @@ en: embed_this_assessment: Embed this assessment embed_widget_project: Embed a widget for this project on your website enable_offline_access: Enable offline access - enable_offline_access_for_iphone: Enable offline access for iPhone + enable_offline_access_for_mobile: Enable offline access for mobile end: End endangered: endangered endemic: endemic @@ -3582,10 +3582,10 @@ en: generating_mobile_archive_tip_html: | This can take a while, so try refreshing this page in a few minutes. mobile_downloads_tip_html: | - This guide can be downloaded to the iPhone app for offline use. + This guide can be downloaded to the mobile app for offline use. mobile_downloads_help_html: |

    This will create a downloadable archive of all the data and media - associated with this guide so that iPhone users can view all the + associated with this guide so that mobile app users can view all the content in the guide without an Internet connection. It will take a few minutes to generate the archive, but once this is enabled the archive will update whenever you change this guide.

    diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index e5044bbc908..980aa243b82 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -3882,7 +3882,7 @@ es-MX: Esto puede llevar un tiempo, así que prueba a actualizar esta página en unos pocos minutos. mobile_downloads_tip_html: |- Las guías de la aplicación para el iPhone están todavía en desarrollo - Esta guía se puede descargar en el aplicación para el iPhone para uso sin conexión. + Esta guía se puede descargar en el aplicación para el iPhone para uso sin conexión. mobile_downloads_help_html: |-

    Las guías de la aplicación para el iPhone están todavía en desarrollo

    diff --git a/config/locales/es.yml b/config/locales/es.yml index 8677c99c1ad..7aae814a1d0 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -4088,8 +4088,8 @@ es: hasta que lo publique. generating_mobile_archive_tip_html: Esto puede llevar un tiempo, así que prueba a actualizar esta página en unos pocos minutos. - mobile_downloads_tip_html: Esta guía se puede descargar en el - aplicación para el iPhone para uso sin conexión. + mobile_downloads_tip_html: Esta guía se puede descargar en el + aplicación para el iPhone para uso sin conexión. mobile_downloads_help_html: |-

    Esto creará un archivo descargable de todos los datos y los contenidos multimedia asociados con esta guía para que los usuarios de iPhone puedan ver todo el contenido de la guía sin una conexión a Internet. Tomará unos minutos generar el archivo, pero una vez que se habilite el archivo se actualizará cada vez que cambies esta guía. diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 2c313349ed7..46661cd6770 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -4200,8 +4200,8 @@ fr: voir jusqu’à ce que vous le publiez. generating_mobile_archive_tip_html: Cette action peut prendre un peu de temps. Essayez de rafraîchir cette page dans quelques minutes. - mobile_downloads_tip_html: Ce guide peut être téléchargé dans l’application - iPhone aux fins d’utilisation hors ligne. + mobile_downloads_tip_html: Ce guide peut être téléchargé dans l’application + iPhone aux fins d’utilisation hors ligne. mobile_downloads_help_html: |-

    Cette action créera une archive téléchargeable de toutes les données et médias Associés à ce guide, pour que les utilisateurs d’iPhone puissent voir tout le diff --git a/config/locales/it.yml b/config/locales/it.yml index 639956c0f80..68499b7dff1 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -4085,8 +4085,8 @@ it: non la pubblicherai. generating_mobile_archive_tip_html: Questo può richiedere un po' di tempo, quindi prova ad aggiornare questa pagina tra pochi minuti. - mobile_downloads_tip_html: Questa guida può essere scaricata sull'app - per iPhone per essere usata offline. + mobile_downloads_tip_html: Questa guida può essere scaricata sull'app + per iPhone per essere usata offline. mobile_downloads_help_html: |-

    Questo permettera di creare un archivio scaricabile di tutti i dati e i contenuti multimediali associati alla guida in modo che gli utenti iPhone possano vedere la guida anche senza una connessione internet. L'operazione richiederà qualche minuto, ma una volta abilitata questa opzione l'archivio sarà aggiornato automaticamente quando modificherai la guida.

    diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 852a1eb016c..61bde7bb387 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -3836,8 +3836,8 @@ pt-BR: até que você publique. generating_mobile_archive_tip_html: Isto pode levar algum tempo, então tente atualizar esta página em alguns minutos. - mobile_downloads_tip_html: Você pode baixar esta guia para seu aplicativo - do iPhone para ser utilizada offline. + mobile_downloads_tip_html: Você pode baixar esta guia para seu aplicativo + do iPhone para ser utilizada offline. mobile_downloads_help_html: |-

    Isto irá criar um arquivo para download de todos os dados e mídia associados a este guia, desta forma todos os usuários de iPhone poderão acessar o guia mesmo sem conexão a internet. O arquivo será gerado após alguns minutos, mas após habilitar esta opção o arquivo será atualizado automaticamente e qualquer alteração no guia será incluída.

    diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 7aecf09544c..ba2e3a17a40 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -2346,7 +2346,7 @@ zh-CN: guide_place_desc: 当搜索地点时,将您的指南与地点相关联会让人们找到它,并且如果设置了边界(例如“卡片”查看、分类单元页面等)的话,将在 %{site_name} 上的地图中适当位置显示地点边界 places_note: 注意:不是所有地点都检查带分类列表。如果您在通过分类查找地点时遇到问题,尝试选择更大的有行政区划的地区,例如国家、州、省或县。 - mobile_downloads_tip_html: 此指南可以被下载到iPhone应用供离线使用。 + mobile_downloads_tip_html: 此指南可以被下载到iPhone应用供离线使用。 pdf_layouts: grid: 格子 book: 图书 From d34754794e3f05abd7bac3c628387ea83f80206c Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 4 Mar 2016 12:28:58 -0500 Subject: [PATCH 45/70] added inat place autocomplete to obs search more filters --- .gitignore | 3 +- .../ang/controllers/observation_search.js | 30 +- .../observation_search/filter_menu.html.haml | 7 + app/assets/javascripts/application_bundle.js | 2 + app/assets/javascripts/bootstrap_bundle.js | 21 +- .../plugins/inat/generic_autocomplete.js | 174 ++++++++++ .../jquery/plugins/inat/place_autocomplete.js | 34 ++ .../plugins/inat/taxon_autocomplete.js.erb | 314 +++++++----------- .../stylesheets/observations/search.css | 3 +- app/controllers/places_controller.rb | 13 +- 10 files changed, 383 insertions(+), 218 deletions(-) create mode 100644 app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js create mode 100644 app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js diff --git a/.gitignore b/.gitignore index b75c0477e54..6576913c67e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ config/deploy config/*.mapnik.xml config/*.ogr.vrt elasticsearch +node_modules public/assets public/lists public/observations @@ -50,4 +51,4 @@ lib/ratatosk/spec/debug.log notes.txt xmp.xml -config/environments/development.rb \ No newline at end of file +config/environments/development.rb diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index cf898b5687e..707d0ffeea3 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -125,6 +125,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.setupPlaceSearchbox( ); $scope.determineFieldNames( ); $scope.setupTaxonAutocomplete( ); + $scope.setupInatPlaceAutocomplete( ); $scope.setupBrowserStateBehavior( ); $scope.filtersInitialized = true; // someone searched with taxon_name, but no mathing taxon was found, @@ -228,10 +229,12 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.mapBoundsIcon = null; $scope.alignMapOnSearch = true; $scope.params.place_id = $scope.selectedPlace.id; + $scope.updatePlaceAutocomplete( ); } } else if( !_.isArray( $scope.params.place_id) ) { $scope.alignMapOnSearch = false; $scope.params.place_id = "any"; + $scope.updatePlaceAutocomplete( ); } }); $scope.initializeTaxonParams = function( ) { @@ -708,6 +711,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root if( !$( "#filter-container" ).is( e.target ) && $( "#filter-container" ).has( e.target ).length === 0 && $( ".open" ).has( e.target ).length === 0 && + $( e.target ).closest('.ui-autocomplete').length === 0 && $( e.target ).parents('.ui-datepicker').length === 0 && $( e.target ).parents('.ui-datepicker-header').length === 0 && $( e.target ).parents('.ui-multiselect-menu').length === 0 && @@ -849,7 +853,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root resetOnChange: false, bootstrapClear: true, search_external: false, - taxon_id_el: $( "#filters input[name='taxon_id']" ), + id_el: $( "#filters input[name='taxon_id']" ), afterSelect: function( result ) { $scope.selectedTaxon = result.item; $scope.params.taxon_id = result.item.id; @@ -871,6 +875,30 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $( "#filters input[name='taxon_name']" ).trigger( "search" ); } }; + $scope.setupInatPlaceAutocomplete = function( ) { + $( "input[name='inat_place_name']" ).placeAutocomplete({ + resetOnChange: false, + bootstrapClear: true, + id_el: $( "#filters input[name='place_id']" ), + afterSelect: function( result ) { + $scope.filterByPlace( result.item ); + if(!$scope.$$phase) { $scope.$digest( ); } + }, + afterUnselect: function( ) { + $scope.removeSelectedPlace( ); + if(!$scope.$$phase) { $scope.$digest( ); } + } + }); + }; + $scope.updatePlaceAutocomplete = function( ) { + if( $scope.selectedPlace ) { + $scope.selectedPlace.title = $scope.selectedPlace.display_name; + $( "input[name='inat_place_name']" ). + trigger( "assignSelection", $scope.selectedPlace ); + } else { + $( "#filters input[name='inat_place_name']" ).trigger( "search" ); + } + }; $scope.setupBrowserStateBehavior = function( ) { window.onpopstate = function( event ) { var state = _.extend( { }, event.state || $scope.initialBrowserState ); diff --git a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml index 2d930a6a508..df615277520 100644 --- a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml @@ -168,6 +168,13 @@ .input-group %span.input-group-addon.fa.fa-briefcase %input#params-project-id.form-control{"ng-model" => "params.project_id", "ng-model-options" => "{debounce: 1000}", placeholder: "{{ shared.t('url_slug_or_id') }}", title: "{{ shared.t('url_slug_or_id') }}", "ng-class" => "{ 'filter-changed': params.project_id }" } + .form-group + %label.sectionlabel{for: "params-place-name"} + {{ shared.t("place") | capitalize: "title" }} + .input-group + %span.input-group-addon.fa.fa-globe + %input.form-control{ placeholder: "{{ shared.t('place') }}", type: "search", name: "inat_place_name" } + %input{ type: "hidden", name: "place_id" } .col-xs-4 .form-group %label.sectionlabel diff --git a/app/assets/javascripts/application_bundle.js b/app/assets/javascripts/application_bundle.js index 2ff4479aa1c..b5ea3610631 100644 --- a/app/assets/javascripts/application_bundle.js +++ b/app/assets/javascripts/application_bundle.js @@ -15,7 +15,9 @@ //= require application //= require inaturalist //= require jquery/plugins/inat/taxon_selectors +//= require jquery/plugins/inat/generic_autocomplete //= require jquery/plugins/inat/taxon_autocomplete +//= require jquery/plugins/inat/place_autocomplete //= require jquery/plugins/inat/datepicker //= require underscore.min //= require jquery.textcomplete diff --git a/app/assets/javascripts/bootstrap_bundle.js b/app/assets/javascripts/bootstrap_bundle.js index a0329da99c5..85e040a84ef 100644 --- a/app/assets/javascripts/bootstrap_bundle.js +++ b/app/assets/javascripts/bootstrap_bundle.js @@ -1,21 +1,2 @@ +//= require application_bundle //= require bootstrap -//= require iso8601 -//= require i18n -//= require i18n/translations -//= require jquery/plugins/jquery.qtip2.min -//= require jquery/plugins/jquery.multiselect -//= require jquery/plugins/jquery.ui.autocomplete.html.js -//= require jquery/plugins/jquery.chooser -//= require jquery/plugins/jquery-ui-timepicker-addon -//= require jquery/plugins/jquery.imagesloaded.min -//= require jquery/plugins/jquery.timeago -//= require jquery/plugins/jquery.scrollTo-min -//= require jquery/plugins/jquery.string.1.0 -//= require jquery/plugins/jquery.dataTables.min -//= require rails -//= require application -//= require inaturalist -//= require jquery/plugins/inat/taxon_selectors -//= require jquery/plugins/inat/taxon_autocomplete -//= require underscore.min -//= require jquery.textcomplete.js diff --git a/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js b/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js new file mode 100644 index 00000000000..4395c1dea0a --- /dev/null +++ b/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js @@ -0,0 +1,174 @@ +var genericAutocomplete = { }; + +genericAutocomplete.createWrappingDiv = function( field, options ) { + if( !field.parent().hasClass( "ac-chooser" ) ) { + var wrappingDiv = $( "

    " ).addClass( "ac-chooser" ); + field.wrap( wrappingDiv ); + if( options.bootstrapClear ) { + var removeIcon = $( "" ). + addClass( "searchclear glyphicon glyphicon-remove-circle" ); + field.parent( ).append( removeIcon ); + removeIcon.on( "click", function( ) { + field.trigger( "resetAll" ); + }); + } + } +}; + +genericAutocomplete.menuClosed = function( ) { + return ( $("ul.ac-menu:visible").length == 0 ); +}; + +genericAutocomplete.template = function( item ) { + var wrapperDiv = $( "
    " ).addClass( "ac" ).attr( "id", item.id ); + var labelDiv = $( "
    " ).addClass( "ac-label" ); + labelDiv.append( $( "" ).addClass( "title" ). + append( item.title )); + wrapperDiv.append( labelDiv ); + return wrapperDiv; +}; + +genericAutocomplete.focus = function( e, ui ) { + var ac = $(this).data( "uiAutocomplete" ); + var li = ac.menu.element.find("li#ui-id-"+ ui.item.id); + li.parent( ).find( "li" ).removeClass( "active" ); + li.addClass( "active" ); + return false; +}; + +genericAutocomplete.renderItem = function( ul, item ) { + var li = $( "
  • " ).addClass( "ac-result" ). + data( "item.autocomplete", item ). + append( genericAutocomplete.template( item ) ).appendTo( ul ); + return li; +}; + +genericAutocomplete.renderMenu = function( ul, items ) { + var that = this; + ul.removeClass( "ui-corner-all" ).removeClass( "ui-menu" ); + ul.addClass( "ac-menu" ); + $.each( items, function( index, item ) { + that._renderItemData( ul, item ); + }); +}; + +$.fn.genericAutocomplete = function( options ) { + options = options || { }; + var field = this; + if( !options.id_el ) { return; } + if( !field || field.length < 1 ) { return; } + var createWrappingDiv = options.createWrappingDiv || + genericAutocomplete.createWrappingDiv; + createWrappingDiv( field, options ); + field.wrappingDiv = field.closest( ".ac-chooser" ); + field.searchClear = field.wrappingDiv.find( ".searchclear" )[0]; + field.selection = null; + if( field.searchClear ) { $(field.searchClear).hide( ); } + // search is strangely the event when the (x) is clicked in the + // text field search box. We want to restore all defaults + field.on( "search", function ( ) { + field.val( "" ); + field.trigger( "resetSelection" ); + return false; + }); + var ac = field.autocomplete({ + minLength: 1, + delay: 50, + source: options.source, + select: options.select, + focus: options.focus || genericAutocomplete.focus + }).data( "uiAutocomplete" ); + // modifying _move slightly to prevent scrolling with arrow + // keys past the top or bottom of the autocomplete menu + ac._move = function( direction, e ) { + if( !this.menu.element.is( ":visible" ) ) { + this.search( null, e ); + return; + } + // preventing scrolling past top or bottom + if( this.menu.isFirstItem( ) && /^previous/.test( direction ) || + this.menu.isLastItem( ) && /^next/.test( direction ) ) { + return; + } + this.menu[ direction ]( e ); + }; + // custom simple _renderItem that gives the LI's class ac-result + ac._renderItem = options.renderItem || genericAutocomplete.renderItem; + // custom simple _renderMenu that removes the ac-menu class + ac._renderMenu = options.renderMenu || genericAutocomplete.renderMenu + field.keydown( function( e ) { + var key = e.keyCode || e.which; + // return key + if( key === 13 ) { + // allow submit when AC menu is closed, or always if allow_enter_submit + if( options.allow_enter_submit || genericAutocomplete.menuClosed( )) { + field.closest( "form" ).submit( ); + } + return false; + } + if( field.searchClear ) { + field.val( ) ? $(field.searchClear).show( ) : $(field.searchClear).hide( ); + } + if( field.val( ) && options.resetOnChange === false ) { return; } + // keys like arrows, tab, shift, caps-lock, etc. won't change + // the value of the field so we don't need to reset the selection + nonCharacters = [ 9, 16, 17, 18, 19, 20, 27, 33, + 34, 35, 36, 37, 38, 39, 40, 91, 93, 144, 145 ]; + if( _.contains( nonCharacters, key ) ) { return; } + field.trigger( "resetSelection" ); + }); + field.keyup( function( e ) { + if( !field.val( ) ) { + field.trigger( "resetSelection" ); + } + }); + // show the results anytime the text field gains focus + field.bind( "focus", function( ) { + // don't redo the search if there are results being shown + if( genericAutocomplete.menuClosed( ) ) { + $(this).autocomplete( "search", $(this).val( )); + } + }); + field.bind( "click", function( ) { + // don't redo the search if there are results being shown + if( genericAutocomplete.menuClosed( ) ) { + $(this).autocomplete( "search", $(this).val( )); + } + }); + field.bind( "assignSelection", function( e, s ) { + options.id_el.val( s.id ); + field.val( s.title ); + field.selection = s; + if( field.searchClear ) { $(field.searchClear).show( ); } + }); + field.bind( "resetSelection", function( e ) { + if( options.id_el.val( ) !== null ) { + options.id_el.val( null ); + if( options.afterUnselect ) { options.afterUnselect( ); } + } + field.selection = null; + }); + field.bind( "resetAll", function( e ) { + field.trigger( "resetSelection" ); + field.val( null ); + if( field.searchClear ) { $(field.searchClear).hide( ); } + }); + if( options.allow_placeholders !== true ) { + field.blur( function( ) { + if( options.resetOnChange === false && field.selection ) { + field.val( field.selection.title ); + } + // adding a small timeout to allow the autocomplete JS to make + // a selection or not before deciding if we need to clear the field + setTimeout( function( ) { + if( !options.id_el.val( ) && genericAutocomplete.menuClosed( ) ) { + field.val( null ); + field.trigger( "resetSelection" ); + if( field.searchClear ) { $(field.searchClear).hide( ); } + } + }, 20); + }); + } + + return ac; +}; diff --git a/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js b/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js new file mode 100644 index 00000000000..723e9a0132f --- /dev/null +++ b/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js @@ -0,0 +1,34 @@ +$.fn.placeAutocomplete = function( options ) { + options = options || { }; + if( !options.id_el ) { return; } + var field = this; + field.genericAutocomplete( _.extend( options, { + source: function( request, response ) { + $.ajax({ + url: "/places/autocomplete.json", + dataType: "jsonp", + data: { + term: request.term, + per_page: 10 + }, + success: function( data ) { + response( _.map( data, function( r ) { + r.title = r.display_name; + return r; + })); + } + }); + }, + select: function( e, ui ) { + // show the title in the text field + if( ui.item.id ) { + field.val( ui.item.title ); + } + // set the hidden id field + options.id_el.val( ui.item.id ); + if( options.afterSelect ) { options.afterSelect( ui ); } + e.preventDefault( ); + return false; + } + })); +}; diff --git a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb index bda576bca0c..f2e23b10188 100644 --- a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb +++ b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb @@ -93,8 +93,8 @@ autocompleter.taxonTemplate = function( result, fieldValue ) { autocompleter.selectedTaxonID = function( options ) { options = options || { }; - options.taxon_id_el = options.taxon_id_el || $("#taxon_id"); - return options.taxon_id_el.val( ); + options.id_el = options.id_el || $("#taxon_id"); + return options.id_el.val( ); }; autocompleter.createWrappingDiv = function( field, options ) { @@ -128,149 +128,116 @@ autocompleter.menuClosed = function( ) { $.fn.taxonAutocomplete = function( options ) { options = options || { }; - options.taxon_id_el = options.taxon_id_el || $("#taxon_id"); + if( !options.id_el ) { return; } var field = this; - if( !field || this.length < 1 ) { return; } - autocompleter.createWrappingDiv( field, options ); - var wrappingDiv = field.closest( ".ac-chooser" ); - var searchClear = wrappingDiv.find( ".searchclear" )[0]; - if( searchClear ) { $(searchClear).hide( ); } - var selectedTaxon; - // search is strangely the event when the (x) is clicked in the - // text field search box. We want to restore all defaults - field.on( "search", function ( ) { - field.val( "" ); - field.trigger( "resetTaxonSelection" ); - selectedTaxon = null; - return false; - }); - var ac = field.autocomplete({ - minLength: 1, - delay: 50, - source: function( request, response ) { + var source = function( request, response ) { + $.ajax({ + url: "//<%= CONFIG.node_api_host %>/taxa/autocomplete", + dataType: "jsonp", + cache: true, + data: { + q: request.term, + per_page: 10, + locale: I18n.locale, + preferred_place_id: PREFERRED_PLACE ? PREFERRED_PLACE.id : null + }, + jsonpCallback: "taxonAutocompleteCallback", + success: function( data ) { + var results = data.results || [ ]; + // show as the last item an option to search external name providers + if( options.search_external !== false ) { + results.push({ + type: "search_external", + title: I18n.t("search_external_name_providers") + }); + } + if( options.show_placeholder && !options.id_el.val( ) && field.val( ) ) { + results.unshift({ + type: "placeholder", + title: I18n.t("use_name_as_a_placeholder", { name: field.val( ) }) + }); + } + response( _.map( results, function( r ) { + return new iNatModels.Taxon( r ); + })); + } + }); + }; + var select = function( e, ui ) { + // clicks on the View link should not count as selection + if( e.toElement && $(e.toElement).hasClass( "ac-view" ) ) { + return false; + } + // they selected the search external name provider option + if( ui.item.type === "search_external" && field.val( ) ) { + // set up an unique ID for this AJAX call to prevent conflicts + var thisSearch = Math.random(); + ac.searchInProgress = thisSearch; $.ajax({ - url: "//<%= CONFIG.node_api_host %>/taxa/autocomplete", - dataType: "jsonp", - cache: true, - data: { - q: request.term, - per_page: 10, - locale: I18n.locale, - preferred_place_id: PREFERRED_PLACE ? PREFERRED_PLACE.id : null + url: "/taxa/search.json?per_page=10&include_external=1&partial=elastic&q=" + field.val( ), + dataType: "json", + beforeSend: function(XMLHttpRequest) { + // replace 'search external' with a loading indicator + var externalItem = $(".ac[data-type='search_external']"); + externalItem.find(".title").removeClass( "linky" ); + externalItem.find(".title").text( I18n.t("loading") ); + externalItem.closest( "li" ).removeClass( "active" ); + externalItem.attr( "data-type", "message" ); }, - jsonpCallback: "taxonAutocompleteCallback", - success: function( data ) { - var results = data.results || [ ]; - // show as the last item an option to search external name providers - if( options.search_external !== false ) { - results.push({ - type: "search_external", - title: I18n.t("search_external_name_providers") - }); - } - if( options.show_placeholder && !options.taxon_id_el.val( ) && field.val( ) ) { - results.unshift({ - type: "placeholder", - title: I18n.t("use_name_as_a_placeholder", { name: field.val( ) }) - }); + success: function(data) { + // if we just returned from the most recent external search + if( ac.searchInProgress === thisSearch ) { + ac.searchInProgress = false; + ac.menu.element.empty( ); + if( data.length == 0 ) { + data.push({ + type: "message", + title: I18n.t("no_results_found") + }); + } + if( options.show_placeholder && field.val( ) ) { + data.unshift({ + type: "placeholder", + title: I18n.t("use_name_as_a_placeholder", { name: field.val( ) }) + }); + } + ac._suggest( data ); } - response( _.map( results, function( r ) { - return new iNatModels.Taxon( r ); - })); + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + ac.searchInProgress = false; } }); - }, - select: function( e, ui ) { - // clicks on the View link should not count as selection - if( e.toElement && $(e.toElement).hasClass( "ac-view" ) ) { - return false; - } - // they selected the search external name provider option - if( ui.item.type === "search_external" && field.val( ) ) { - // set up an unique ID for this AJAX call to prevent conflicts - var thisSearch = Math.random(); - ac.searchInProgress = thisSearch; - $.ajax({ - url: "/taxa/search.json?per_page=10&include_external=1&partial=elastic&q=" + field.val( ), - dataType: "json", - beforeSend: function(XMLHttpRequest) { - // replace 'search external' with a loading indicator - var externalItem = $(".ac[data-type='search_external']"); - externalItem.find(".title").removeClass( "linky" ); - externalItem.find(".title").text( I18n.t("loading") ); - externalItem.closest( "li" ).removeClass( "active" ); - externalItem.attr( "data-type", "message" ); - }, - success: function(data) { - // if we just returned from the most recent external search - if( ac.searchInProgress === thisSearch ) { - ac.searchInProgress = false; - ac.menu.element.empty( ); - if( data.length == 0 ) { - data.push({ - type: "message", - title: I18n.t("no_results_found") - }); - } - if( options.show_placeholder && field.val( ) ) { - data.unshift({ - type: "placeholder", - title: I18n.t("use_name_as_a_placeholder", { name: field.val( ) }) - }); - } - ac._suggest( data ); - } - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - ac.searchInProgress = false; - } - }); - // this is the hacky way I'm preventing autocomplete from closing - // the result list while the external search is happening - ac.keepOpen = true; - e.preventDefault( ); - return false; - } - // show the best name in the search field - if( ui.item.id ) { - field.val( ui.item.title || ui.item.name ); - } - // set the hidden taxon_id - options.taxon_id_el.val( ui.item.id ); - // set the selection's thumbnail image - wrappingDiv.find(".ac-select-thumb").html( ui.item.defaultPhoto ); - selectedTaxon = ui.item; - if( options.afterSelect ) { options.afterSelect( ui ); } - return false; - }, - focus: function( e, ui ) { - if( ui.item.type === "message" ) { - return; - } - var li = ui.item.id ? - ac.menu.element.find("[data-taxon-id='"+ ui.item.id +"']").closest("li") : - ac.menu.element.find("[data-type='"+ ui.item.type +"']").closest("li") - li.parent( ).find( "li" ).removeClass( "active" ); - li.addClass( "active" ); + // this is the hacky way I'm preventing autocomplete from closing + // the result list while the external search is happening + ac.keepOpen = true; + e.preventDefault( ); return false; } - }).data( "uiAutocomplete" ); - // modifying _move slightly to prevent scrolling with arrow - // keys past the top or bottom of the autocomplete menu - ac._move = function( direction, e ) { - if( !this.menu.element.is( ":visible" ) ) { - this.search( null, e ); - return; + // show the best name in the search field + if( ui.item.id ) { + field.val( ui.item.title || ui.item.name ); } - // preventing scrolling past top or bottom - if( this.menu.isFirstItem( ) && /^previous/.test( direction ) || - this.menu.isLastItem( ) && /^next/.test( direction ) ) { + // set the hidden taxon_id + options.id_el.val( ui.item.id ); + // set the selection's thumbnail image + field.wrappingDiv.find(".ac-select-thumb").html( ui.item.defaultPhoto ); + selectedTaxon = ui.item; + if( options.afterSelect ) { options.afterSelect( ui ); } + return false; + }; + var focus = function( e, ui ) { + if( ui.item.type === "message" ) { return; } - this.menu[ direction ]( e ); + var li = ui.item.id ? + ac.menu.element.find("[data-taxon-id='"+ ui.item.id +"']").closest("li") : + ac.menu.element.find("[data-type='"+ ui.item.type +"']").closest("li") + li.parent( ).find( "li" ).removeClass( "active" ); + li.addClass( "active" ); + return false; }; - // custom simple _renderItem that gives the LI's class ac-result - ac._renderItem = function( ul, item ) { + var renderItem = function( ul, item ) { var li = $( "
  • " ).addClass( "ac-result" ).data( "item.autocomplete", item ). append( autocompleter.taxonTemplate( item, field.val( ))). appendTo( ul ); @@ -279,17 +246,19 @@ $.fn.taxonAutocomplete = function( options ) { } return li; }; - // custom simple _renderMenu that removes the ac-menu class - ac._renderMenu = function( ul, items ) { - this.keepOpen = false; - this.searchInProgress = false; - var that = this; - ul.removeClass( "ui-corner-all" ).removeClass( "ui-menu" ); - ul.addClass( "ac-menu" ); - $.each( items, function( index, item ) { - that._renderItemData( ul, item ); - }); - }; + + var ac = this.genericAutocomplete( _.extend( options, { + source: source, + select: select, + focus: focus, + renderTemplate: autocompleter.taxonTemplate, + renderItem: renderItem, + createWrappingDiv: autocompleter.createWrappingDiv + })); + + + + ac._close = function( event ) { if( this.keepOpen ) { // we wanted to keep the menu open and we have, but reset that @@ -310,58 +279,19 @@ $.fn.taxonAutocomplete = function( options ) { }, 10 ); } }; - field.keydown( function( e ) { - var key = e.keyCode || e.which; - // return key - if( key === 13 ) { - // allow submit when AC menu is closed, or always if allow_enter_submit - if( options.allow_enter_submit || autocompleter.menuClosed( )) { - field.closest( "form" ).submit( ); - } - return false; - } - if( searchClear ) { - field.val( ) ? $(searchClear).show( ) : $(searchClear).hide( ); - } - if( field.val( ) && options.resetOnChange === false ) { return; } - // keys like arrows, tab, shift, caps-lock, etc. won't change - // the value of the field so we don't need to reset the selection - nonCharacters = [ 9, 16, 17, 18, 19, 20, 27, 33, - 34, 35, 36, 37, 38, 39, 40, 91, 93, 144, 145 ]; - if( _.contains( nonCharacters, key ) ) { return; } - field.trigger( "resetTaxonSelection" ); - selectedTaxon = null; - }); - field.keyup( function( e ) { - if( !field.val( ) ) { - field.trigger( "resetTaxonSelection" ); - } - }); - // show the results anytime the text field gains focus - field.bind( "focus", function( ) { - // don't redo the search if there are results being shown - if( autocompleter.menuClosed( ) ) { - $(this).autocomplete( "search", $(this).val( )); - } - }); - field.bind( "click", function( ) { - // don't redo the search if there are results being shown - if( autocompleter.menuClosed( ) ) { - $(this).autocomplete( "search", $(this).val( )); - } - }); + field.bind( "assignTaxon", function( e, t ) { - options.taxon_id_el.val( t.id ); + options.id_el.val( t.id ); field.val( t.preferred_common_name || t.name ); var photo = autocompleter.defaultPhotoForResult(t) - wrappingDiv.find(".ac-select-thumb").html( photo ); + field.wrappingDiv.find(".ac-select-thumb").html( photo ); selectedTaxon = t; - if( searchClear ) { $(searchClear).show( ); } + if( field.searchClear ) { $(field.searchClear).show( ); } }); field.bind( "resetTaxonSelection", function( e ) { - if( options.taxon_id_el.val( ) !== null ) { - options.taxon_id_el.val( null ); - wrappingDiv.find(".ac-select-thumb").html( autocompleter.defaultPhotoForResult( { } ) ); + if( options.id_el.val( ) !== null ) { + options.id_el.val( null ); + field.wrappingDiv.find(".ac-select-thumb").html( autocompleter.defaultPhotoForResult( { } ) ); if( options.afterUnselect ) { options.afterUnselect( ); } } selectedTaxon = null; @@ -369,7 +299,7 @@ $.fn.taxonAutocomplete = function( options ) { field.bind( "resetAll", function( e ) { field.trigger( "resetTaxonSelection" ); field.val( null ); - if( searchClear ) { $(searchClear).hide( ); } + if( field.searchClear ) { $(field.searchClear).hide( ); } }); if( options.allow_placeholders !== true ) { field.blur( function( ) { @@ -384,7 +314,7 @@ $.fn.taxonAutocomplete = function( options ) { field.val( null ); field.trigger( "resetTaxonSelection" ); selectedTaxon = null; - if( searchClear ) { $(searchClear).hide( ); } + if( field.searchClear ) { $(field.searchClear).hide( ); } } }, 20); }); diff --git a/app/assets/stylesheets/observations/search.css b/app/assets/stylesheets/observations/search.css index f5ea706e6a7..432cd57ff09 100644 --- a/app/assets/stylesheets/observations/search.css +++ b/app/assets/stylesheets/observations/search.css @@ -361,7 +361,7 @@ inat-taxon.split-taxon .icon {display: none;} width: 900px; } #filters .dropdown-menu { background-color: #eee; padding: 0px;} -#filters .ac-chooser { display: inline-block; } +.primary-filters .ac-chooser { display: inline-block; } .bootstrap .primary-filters .form-control {width: 250px;} .primary-filters > span { margin: 0 5px;} #filter-container { margin-left: 10px; } @@ -919,6 +919,7 @@ inat-taxon { white-space: nowrap; } padding-left: 5px; color: #ddd; background: #fff; + z-index: 2; } .searchclear.glyphicon:hover { color: #666; diff --git a/app/controllers/places_controller.rb b/app/controllers/places_controller.rb index 8577c6032cd..9b341168848 100644 --- a/app/controllers/places_controller.rb +++ b/app/controllers/places_controller.rb @@ -18,6 +18,10 @@ class PlacesController < ApplicationController cache_sweeper :place_sweeper, :only => [:update, :destroy, :merge] before_filter :allow_external_iframes, only: [:guide_widget, :cached_guide] + + protect_from_forgery unless: -> { + request.parameters[:action] == "autocomplete" && request.format.json? } + ALLOWED_SHOW_PARTIALS = %w(autocomplete_item) @@ -253,6 +257,7 @@ def autocomplete @q = params[:q] || params[:term] || params[:item] @q = sanitize_query(@q.to_s.sanitize_encoding) site_place = @site.place if @site + params[:per_page] ||= 30 if @q.blank? scope = if site_place Place.where(site_place.child_conditions) @@ -260,7 +265,7 @@ def autocomplete Place.where("place_type = ?", Place::CONTINENT).order("updated_at desc") end scope = scope.with_geom if params[:with_geom] - @places = scope.includes(:place_geometry_without_geom).limit(30). + @places = scope.includes(:place_geometry_without_geom).limit(params[:per_page]). sort_by{|p| p.bbox_area || 0}.reverse else # search both the autocomplete and normal field @@ -275,7 +280,8 @@ def autocomplete @places = Place.elastic_paginate( where: search_wheres, fields: [ :id ], - sort: { bbox_area: "desc" }) + sort: { bbox_area: "desc" }, + per_page: params[:per_page]) Place.preload_associations(@places, :place_geometry_without_geom) end @@ -287,7 +293,8 @@ def autocomplete @places.each_with_index do |place, i| @places[i].html = view_context.render_in_format(:html, :partial => 'places/autocomplete_item', :object => place) end - render :json => @places.to_json(:methods => [:html, :kml_url]) + render json: @places.to_json(methods: [:html, :kml_url]), + callback: params[:callback] end end end From f43b1f05a7e917d5f3d10ec14ae8562b0787b1da Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Fri, 4 Mar 2016 17:35:50 -0800 Subject: [PATCH 46/70] Include countryCode in DwC-A. --- lib/darwin_core/archive.rb | 5 +++-- lib/darwin_core/occurrence.rb | 5 +++++ spec/lib/darwin_core/archive_spec.rb | 12 ++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/darwin_core/archive.rb b/lib/darwin_core/archive.rb index eff29e1db62..47eed317764 100644 --- a/lib/darwin_core/archive.rb +++ b/lib/darwin_core/archive.rb @@ -118,9 +118,10 @@ def make_occurrence_data preloads = [ :taxon, - {:user => :stored_preferences}, + { user: :stored_preferences }, :quality_metrics, - :identifications + :identifications, + { observations_places: :place } ] start = Time.now diff --git a/lib/darwin_core/occurrence.rb b/lib/darwin_core/occurrence.rb index 227fa337e98..c2bf41af33b 100644 --- a/lib/darwin_core/occurrence.rb +++ b/lib/darwin_core/occurrence.rb @@ -23,6 +23,7 @@ class Occurrence %w(decimalLatitude http://rs.tdwg.org/dwc/terms/decimalLatitude), %w(decimalLongitude http://rs.tdwg.org/dwc/terms/decimalLongitude), %w(coordinateUncertaintyInMeters http://rs.tdwg.org/dwc/terms/coordinateUncertaintyInMeters), + %w(countryCode http://rs.tdwg.org/dwc/terms/countryCode), %w(identificationID http://rs.tdwg.org/dwc/terms/identificationID), %w(dateIdentified http://rs.tdwg.org/dwc/terms/dateIdentified), %w(identificationRemarks http://rs.tdwg.org/dwc/terms/identificationRemarks), @@ -175,6 +176,10 @@ def coordinateUncertaintyInMeters public_positional_accuracy end + def countryCode + observations_places.map(&:place).detect{ |p| p.admin_level == Place::COUNTRY_LEVEL }.try(:code) + end + def identificationID owners_identification.try(:id) end diff --git a/spec/lib/darwin_core/archive_spec.rb b/spec/lib/darwin_core/archive_spec.rb index 66358eb0811..040eeae883b 100644 --- a/spec/lib/darwin_core/archive_spec.rb +++ b/spec/lib/darwin_core/archive_spec.rb @@ -229,4 +229,16 @@ expect( obs.detect{|o| o['id'] == in_site.id.to_s} ).not_to be_nil expect( obs.detect{|o| o['id'] == not_in_site.id.to_s} ).to be_nil end + + it "should include countryCode" do + country = make_place_with_geom( code: "US", admin_level: Place::COUNTRY_LEVEL ) + o = without_delay do + make_research_grade_observation( latitude: country.latitude, longitude: country.longitude ) + end + expect( o.observations_places.map(&:place) ).to include country + archive = DarwinCore::Archive.new + CSV.foreach(archive.make_occurrence_data, headers: true) do |row| + expect( row['countryCode'] ).to eq country.code + end + end end From acd70ee749f4abc31ce8be9586c2ff9239f49eea Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Fri, 4 Mar 2016 18:15:36 -0800 Subject: [PATCH 47/70] move Inappropriate link --- app/views/quality_metrics/_quality_metrics.html.erb | 2 +- config/locales/en.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/quality_metrics/_quality_metrics.html.erb b/app/views/quality_metrics/_quality_metrics.html.erb index eec502ee2e3..dc0a815667d 100644 --- a/app/views/quality_metrics/_quality_metrics.html.erb +++ b/app/views/quality_metrics/_quality_metrics.html.erb @@ -155,7 +155,7 @@ <% if o.appropriate? -%> <%=t :yes %>
    - <%= link_to t(:inappropriate), "/help#inappropriate" %> + <%= t(:inappropriate?) %>
    <%= link_to t(:flag_this_observation), new_observation_flag_path(@observation), :id => "flag_this", :rel => "nofollow", :class => "flaglink" %>
    diff --git a/config/locales/en.yml b/config/locales/en.yml index d4e64dcf9bc..60fdb51414e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1304,7 +1304,7 @@ en: inactive_taxon_concepts_are: Inactive taxon concepts are either taxonomically outdated or being staged for a a taxon change. Outdated concepts are kept to maintain history and compatability with some partner sites. - inappropriate: inappropriate? + inappropriate?: Inappropriate? inat_account_action: "%{site_name} : Account : %{action_name}" inat_believes_this_is_a_complete_listing: "%{site_name} believes this is a complete listing of this taxon in this place." inat_user_profile: "%{site_name}: %{user}'s Profile" @@ -1628,7 +1628,7 @@ en: message: Message messages: Messages mixed_licenses: mixed licenses - misleading_or_illegal_content: "Misleading or illegal content, racial or ethnic slurs, etc." + misleading_or_illegal_content: "Misleading or illegal content, racial or ethnic slurs, etc. For more on our definition of 'appropriate', see the FAQ." mobile_app_for: Mobile app for mobile_apps_for: Mobile apps for mobile_view_available: Mobile view available From 3a814e682541b49c69a7d90ba9eb9123ee2fa245 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Fri, 4 Mar 2016 18:30:37 -0800 Subject: [PATCH 48/70] Minor cleanup. --- app/views/flags/_dialog.html.haml | 2 +- config/locales/ca.yml | 2 +- config/locales/en.yml | 7 +++++-- config/locales/es-ES.yml | 2 +- config/locales/es-MX.yml | 2 +- config/locales/es.yml | 2 +- config/locales/eu.yml | 2 +- config/locales/fr.yml | 2 +- config/locales/gl.yml | 2 +- config/locales/it.yml | 2 +- config/locales/ja.yml | 2 +- config/locales/mk.yml | 2 +- config/locales/pt-BR.yml | 2 +- 13 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/views/flags/_dialog.html.haml b/app/views/flags/_dialog.html.haml index 2010d5cd2d3..c20c0623432 100644 --- a/app/views/flags/_dialog.html.haml +++ b/app/views/flags/_dialog.html.haml @@ -24,7 +24,7 @@ = f.radio_button :flag, Flag::INAPPROPRIATE, :label => t(:offensive_inappropriate), :label_after => true, - :description => t(:misleading_or_illegal_content) + :description => t(:misleading_or_illegal_content_html) - if @object.is_a?(Photo) = f.radio_button :flag, Flag::COPYRIGHT_INFRINGEMENT, :id => "flag_#{Flag::COPYRIGHT_INFRINGEMENT.underscore}", diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 02c7f992fd1..c4423977bd7 100755 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1863,7 +1863,7 @@ ca: message: Missatge messages: Missatges mixed_licenses: Llicència combinada - misleading_or_illegal_content: Contingut il·legal, enganyós, racista, xenòfob, etc. + misleading_or_illegal_content_html: Contingut il·legal, enganyós, racista, xenòfob, etc. mobile_app_for: Aplicació mòbil per a mobile_apps_for: Les aplicacions mòbils per a mobile_view_available: Vista per a telèfon mòbil disponible diff --git a/config/locales/en.yml b/config/locales/en.yml index 86cb283261d..e826e1164da 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1304,7 +1304,7 @@ en: inactive_taxon_concepts_are: Inactive taxon concepts are either taxonomically outdated or being staged for a a taxon change. Outdated concepts are kept to maintain history and compatability with some partner sites. - inappropriate?: Inappropriate? + inappropriate: Inappropriate? inat_account_action: "%{site_name} : Account : %{action_name}" inat_believes_this_is_a_complete_listing: "%{site_name} believes this is a complete listing of this taxon in this place." inat_user_profile: "%{site_name}: %{user}'s Profile" @@ -1628,7 +1628,10 @@ en: message: Message messages: Messages mixed_licenses: mixed licenses - misleading_or_illegal_content: "Misleading or illegal content, racial or ethnic slurs, etc. For more on our definition of 'appropriate', see the FAQ." + misleading_or_illegal_content_html: | + Misleading or illegal content, racial or ethnic slurs, etc. For more on + our definition of "appropriate," see the + FAQ. mobile_app_for: Mobile app for mobile_apps_for: Mobile apps for mobile_view_available: Mobile view available diff --git a/config/locales/es-ES.yml b/config/locales/es-ES.yml index 81688302382..8f4e817e640 100755 --- a/config/locales/es-ES.yml +++ b/config/locales/es-ES.yml @@ -1470,7 +1470,7 @@ es: merging_places: "Combinar lugares" message: Mensaje messages: Mensajes - misleading_or_illegal_content: "Contenido ilegal, engañoso, racista, xenófobo, etc." + misleading_or_illegal_content_html: "Contenido ilegal, engañoso, racista, xenófobo, etc." mixed_licenses: "Licencia combinada" mobile_apps_for: "Las aplicaciones móviles para" mobile_view_available: "Vista para teléfono móvil disponible" diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 980aa243b82..0f92df83778 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -1795,7 +1795,7 @@ es-MX: message: Mensaje messages: Mensajes mixed_licenses: Licencia combinada - misleading_or_illegal_content: Contenido ilegal, engañoso, racial, étnico, etc. + misleading_or_illegal_content_html: Contenido ilegal, engañoso, racial, étnico, etc. mobile_app_for: Aplicaciones móviles para mobile_apps_for: Aplicaciones móviles para mobile_view_available: Vista para móvil disponible diff --git a/config/locales/es.yml b/config/locales/es.yml index 7aae814a1d0..b1a0492b005 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1864,7 +1864,7 @@ es: message: Mensaje messages: Mensajes mixed_licenses: Licencia combinada - misleading_or_illegal_content: Contenido ilegal, engañoso, racial, étnico, etc. + misleading_or_illegal_content_html: Contenido ilegal, engañoso, racial, étnico, etc. mobile_app_for: Aplicación móvil para mobile_apps_for: Las aplicaciones móviles para mobile_view_available: Vista para teléfonos móviles disponible diff --git a/config/locales/eu.yml b/config/locales/eu.yml index c2ae822c868..ea1757e5e1f 100755 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -1552,7 +1552,7 @@ eu: message: Mezua messages: Mezuak mixed_licenses: Lizentzia konbinatua - misleading_or_illegal_content: Legez kontrako edukia, iruzurrezkoa, arrazista, xenofoboa + misleading_or_illegal_content_html: Legez kontrako edukia, iruzurrezkoa, arrazista, xenofoboa eta abar. mobile_apps_for: 'Mugikorretako aplikazioak hauetarako:' mobile_view_available: Telefono mugikorrerako ikuspegia eskuragarri diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 46661cd6770..ef85a6c5e58 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1949,7 +1949,7 @@ fr: message: Message messages: Messages mixed_licenses: licences mixtes - misleading_or_illegal_content: Contenu trompeur ou illégal, insultes raciales ou + misleading_or_illegal_content_html: Contenu trompeur ou illégal, insultes raciales ou ethniques, etc. mobile_app_for: Application mobile pour mobile_apps_for: Applications mobiles pour diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 5aea356cbe6..e77441db1e5 100755 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -1477,7 +1477,7 @@ gl: message: Mensaxe messages: Mensaxes mixed_licenses: Licenza combinada - misleading_or_illegal_content: Contido ilegal, enganoso, racista, xenófobo, etc. + misleading_or_illegal_content_html: Contido ilegal, enganoso, racista, xenófobo, etc. mobile_apps_for: As aplicacións móbiles para mobile_view_available: Vista para teléfono móbil dispoñible mollusks: Moluscos diff --git a/config/locales/it.yml b/config/locales/it.yml index 68499b7dff1..16127e7109f 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1884,7 +1884,7 @@ it: message: Messaggio messages: Messaggi mixed_licenses: licenze miste - misleading_or_illegal_content: Contenuto ingannevole o illegale, insulto etnico + misleading_or_illegal_content_html: Contenuto ingannevole o illegale, insulto etnico o raziale, etc. mobile_app_for: App per dispositivi mobili per mobile_apps_for: App per dispositivi mobili per diff --git a/config/locales/ja.yml b/config/locales/ja.yml index e5d2ec3158c..29f0eb383ad 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1265,7 +1265,7 @@ ja: merging_places: 場所を統合しています message: メッセージ messages: メッセージ - misleading_or_illegal_content: 紛らわしいまたは違法な内容、人種及び民族に対する差別的な内容、など + misleading_or_illegal_content_html: 紛らわしいまたは違法な内容、人種及び民族に対する差別的な内容、など mobile_app_for: モバイルアプリ版の mobile_apps_for: モバイルアプリ版の mobile_view_available: モバイル表示可 diff --git a/config/locales/mk.yml b/config/locales/mk.yml index 633a3001589..14639da7b5c 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -958,7 +958,7 @@ mk: message: Порака messages: Пораки mixed_licenses: мешовити лиценци - misleading_or_illegal_content: Заблудна или противзаконска содржина, расни или етнички + misleading_or_illegal_content_html: Заблудна или противзаконска содржина, расни или етнички навреди и тн. mobile_app_for: Мобилен прог. за mobile_apps_for: 'Мобилни верзии:' diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 61bde7bb387..79bdbc6f004 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1827,7 +1827,7 @@ pt-BR: message: Mensagem messages: Mensagens mixed_licenses: licenças combinadas - misleading_or_illegal_content: Conteúdo ilegal ou falso, insultos étnicos e raciais, + misleading_or_illegal_content_html: Conteúdo ilegal ou falso, insultos étnicos e raciais, etc. mobile_app_for: Aplicativo de celular para mobile_apps_for: Aplicativos de celulares para From 436a36f1a0e4ad89d9ddee282781ad90c81c800d Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Sun, 6 Mar 2016 15:59:40 -0800 Subject: [PATCH 49/70] Made sure parish is translated in English. --- config/locales/en.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index e826e1164da..aa70f3ebaa9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2144,7 +2144,9 @@ en: Nearby_Intersection: Nearby Intersection nearby_intersection: nearby intersection Open_Space: Open Space - open_space: open_space + open_space: open space + Parish: Parish + parish: parish Point_of_Interest: Point of Interest point_of_interest: point of interest Postal_Code: Postal Code From 44f75b07c87e1a419bb752c40a250caf049f8432 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Sun, 6 Mar 2016 16:29:46 -0800 Subject: [PATCH 50/70] BUGFIX: obs field filters weren't appearing in obs search. --- app/assets/javascripts/ang/controllers/observation_search.js | 3 +++ app/assets/stylesheets/observations/search.css | 1 + 2 files changed, 4 insertions(+) diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index cf898b5687e..1a341b8d76c 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -965,6 +965,9 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.params.user_id = CURRENT_USER.login; } }; + $scope.canShowObservationFields = function( ) { + return ($scope.params.observationFields && _.size( $scope.params.observationFields ) > 0); + } $scope.setObservationFields = function( ) { var urlParams = $location.search( ); // Put the URL params that correspond to observation fields in their own part of the scope diff --git a/app/assets/stylesheets/observations/search.css b/app/assets/stylesheets/observations/search.css index f5ea706e6a7..edd35cb11a1 100644 --- a/app/assets/stylesheets/observations/search.css +++ b/app/assets/stylesheets/observations/search.css @@ -996,6 +996,7 @@ inat-taxon { white-space: nowrap; } #filters-observation-fields .observation-field { background-color: #999; padding: 5px 28px 5px 5px; + margin-right: 10px; position: relative; } #filters-observation-fields .observation-field button { From bce0b6fbd891949330fb6893ae24d8f9aabff1d7 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Sun, 6 Mar 2016 16:30:10 -0800 Subject: [PATCH 51/70] Deal with fuzzing at obs/show and taxa/show. --- app/controllers/observations_controller.rb | 7 ++++++- app/controllers/taxa_controller.rb | 9 ++++++++- spec/controllers/observation_controller_spec.rb | 4 ++++ spec/controllers/taxa_controller_spec.rb | 5 +++++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index ec60ea3f776..0de55f2e249 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -2471,7 +2471,12 @@ def load_observation :projects, { taxon: :taxon_names }]) end - @observation = scope.first + @observation = begin + scope.first + rescue RangeError => e + Logstasher.write_exception(e, request: request, session: session, user: current_user) + nil + end render_404 unless @observation end diff --git a/app/controllers/taxa_controller.rb b/app/controllers/taxa_controller.rb index 3ae69b24bc8..3f9503db399 100644 --- a/app/controllers/taxa_controller.rb +++ b/app/controllers/taxa_controller.rb @@ -144,7 +144,14 @@ def show if params[:entry] == 'widget' flash[:notice] = t(:click_add_an_observation_to_the_lower_right, :site_name_short => CONFIG.site_name_short) end - @taxon ||= Taxon.where(id: params[:id]).includes(:taxon_names).first if params[:id] + if params[:id] + begin + @taxon ||= Taxon.where(id: params[:id]).includes(:taxon_names).first + rescue RangeError => e + Logstasher.write_exception(e, request: request, session: session, user: current_user) + nil + end + end return render_404 unless @taxon respond_to do |format| diff --git a/spec/controllers/observation_controller_spec.rb b/spec/controllers/observation_controller_spec.rb index 2d4fe63ccc6..2ef62a142ec 100644 --- a/spec/controllers/observation_controller_spec.rb +++ b/spec/controllers/observation_controller_spec.rb @@ -150,6 +150,10 @@ get :show, id: o.id expect( response.body ).not_to be =~ /#{o.place_guess}/ end + it "should 404 for absurdly large ids" do + get :show, id: "389299563_507aed5ae4_s.jpg" + expect( response ).to be_not_found + end end describe "show.mobile" do diff --git a/spec/controllers/taxa_controller_spec.rb b/spec/controllers/taxa_controller_spec.rb index d96b7f10047..f6854444c56 100644 --- a/spec/controllers/taxa_controller_spec.rb +++ b/spec/controllers/taxa_controller_spec.rb @@ -26,6 +26,11 @@ get :show, id: t.id, place_id: p.id expect(response.body).to be =~ /

    .*?#{tn2.name}.*?<\/h2>/m end + + it "should 404 for absurdly large ids" do + get :show, id: "389299563_507aed5ae4_s.jpg" + expect( response ).to be_not_found + end end describe "merge" do From 31f22bd47943d262e5162480a57475f6d88e508a Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Sun, 6 Mar 2016 18:45:43 -0800 Subject: [PATCH 52/70] Handful of minor fixes for lists on taxa/show, bulk uploader, user validation. --- app/controllers/lists_controller.rb | 1 + app/controllers/taxa_controller.rb | 8 +++++++- app/models/user.rb | 17 ++++++++++++----- config/locales/en.yml | 8 +++++--- lib/bulk_observation_file.rb | 2 +- spec/models/user_spec.rb | 8 ++++++++ 6 files changed, 34 insertions(+), 10 deletions(-) diff --git a/app/controllers/lists_controller.rb b/app/controllers/lists_controller.rb index 8457f5c39bd..b6c8f00129a 100644 --- a/app/controllers/lists_controller.rb +++ b/app/controllers/lists_controller.rb @@ -29,6 +29,7 @@ def by_login @life_list = @selected_user.life_list @lists = @selected_user.lists.not_flagged_as_spam. order("#{@prefs["lists_by_login_sort"]} #{@prefs["lists_by_login_order"]}"). + where("(type IN ('LifeList', 'List') OR type IS NULL)"). paginate(:page => params[:page], :per_page => @prefs["per_page"]) diff --git a/app/controllers/taxa_controller.rb b/app/controllers/taxa_controller.rb index 3f9503db399..a1f40cce00d 100644 --- a/app/controllers/taxa_controller.rb +++ b/app/controllers/taxa_controller.rb @@ -214,7 +214,13 @@ def show @listed_taxa = ListedTaxon.joins(:list). where(taxon_id: @taxon, lists: { user_id: current_user }) @listed_taxa_by_list_id = @listed_taxa.index_by{|lt| lt.list_id} - @current_user_lists = current_user.lists.includes(:rules).where("type IN ('LifeList', 'List')").limit(200) + @current_user_lists = current_user.lists.includes(:rules). + where("(type IN ('LifeList', 'List') OR type IS NULL)"). + order("lower( lists.title )"). + limit(200).to_a + if life_list_index = @current_user_lists.index{|l| l.id == current_user.life_list_id} + @current_user_lists.insert(0, @current_user_lists.delete_at( life_list_index ) ) + end @lists_rejecting_taxon = @current_user_lists.select do |list| if list.is_a?(LifeList) && (rule = list.rules.detect{|rule| rule.operator == "in_taxon?"}) !rule.validates?(@taxon) diff --git a/app/models/user.rb b/app/models/user.rb index 0cf443d54ea..a09eff739dc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -130,6 +130,7 @@ class User < ActiveRecord::Base before_validation :download_remote_icon, :if => :icon_url_provided? before_validation :strip_name, :strip_login + before_save :set_time_zone before_save :whitelist_licenses before_create :set_locale after_save :update_observation_licenses @@ -161,14 +162,15 @@ class User < ActiveRecord::Base email_regex = /\A#{email_name_regex}@#{domain_head_regex}#{domain_tld_regex}\z/i bad_email_message = "should look like an email address.".freeze - validates_length_of :login, :within => MIN_LOGIN_SIZE..MAX_LOGIN_SIZE + validates_length_of :login, within: MIN_LOGIN_SIZE..MAX_LOGIN_SIZE validates_uniqueness_of :login - validates_format_of :login, :with => login_regex, :message => bad_login_message + validates_format_of :login, with: login_regex, message: bad_login_message - validates_length_of :name, :maximum => 100, :allow_blank => true + validates_length_of :name, maximum: 100, allow_blank: true - validates_format_of :email, :with => email_regex, :message => bad_email_message, :allow_blank => true - validates_length_of :email, :within => 6..100, :allow_blank => true #r@a.wk + validates_format_of :email, with: email_regex, message: bad_email_message, allow_blank: true + validates_length_of :email, within: 6..100, allow_blank: true + validates_length_of :time_zone, minimum: 5, allow_nil: true scope :order_by, Proc.new { |sort_by, sort_dir| sort_dir ||= 'DESC' @@ -414,6 +416,11 @@ def set_locale true end + def set_time_zone + self.time_zone = nil if time_zone.blank? + true + end + def set_uri if uri.blank? User.where(id: id).update_all(uri: FakeView.user_url(id)) diff --git a/config/locales/en.yml b/config/locales/en.yml index aa70f3ebaa9..83aa3c2ffc5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -4078,10 +4078,12 @@ en: bulk_import_error: taxon_spelling_notice_html: | Please check the spelling for each entry. If your spelling is - correct, please search on the species at %{search_taxa_url}. If the + correct, search for the species at %{search_taxa_url}. If the name is not yet in the %{site_name} database, you'll need to add it - before your bulk upload will work. Use the box at the bottom of the - search page to do import new names. + before your bulk upload will work. Use the box at the bottom of + the search page to import new names. If the name is present but + applies to multiple valid taxa, try to use a more or less specific + name that only matches a single taxon. users_updates_suspended: message: | You have been inactive on %{site_name} for a while, so we have suspended diff --git a/lib/bulk_observation_file.rb b/lib/bulk_observation_file.rb index 3d008d750c8..9c53876c826 100644 --- a/lib/bulk_observation_file.rb +++ b/lib/bulk_observation_file.rb @@ -72,7 +72,7 @@ def validate_file # Look for the species and flag it if it's not found. taxon = Taxon.single_taxon_for_name(row[0]) - errors << BulkObservationException.new("Species not found: #{row[0]}", row_count + 1, [], 'species_not_found') if taxon.nil? + errors << BulkObservationException.new("Single taxon not found: #{row[0]}", row_count + 1, [], 'species_not_found') if taxon.nil? # Check the validity of the observation obs = new_observation(row) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 72554545881..a22402c07be 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -92,6 +92,14 @@ expect(u.email).to eq "foo@bar.com" expect(u).to be_valid end + + it "should allow time_zone to be nil" do + expect( User.make( time_zone: nil ) ).to be_valid + end + + it "should not allow time_zone to be a blank string" do + expect( User.make( time_zone: "" ) ).not_to be_valid + end end describe "update" do From 9db9cfb5c8430e642a89e06f9a4dfd18dec432a1 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Tue, 8 Mar 2016 12:42:20 -0500 Subject: [PATCH 53/70] improved place autocomplete; fixed project stats locale bug --- .../ang/controllers/observation_search.js | 43 ++++++---- .../controllers/project_stats_controller.js | 3 +- .../javascripts/ang/inaturalist_angular.js | 10 +-- .../javascripts/ang/models/taxon.js.erb | 26 ++++++ app/assets/javascripts/inaturalist.js | 8 ++ .../plugins/inat/generic_autocomplete.js | 44 +++++++--- .../jquery/plugins/inat/place_autocomplete.js | 34 -------- .../plugins/inat/place_autocomplete.js.erb | 43 ++++++++++ .../plugins/inat/taxon_autocomplete.js.erb | 83 +++++-------------- app/assets/javascripts/observations/edit.js | 2 +- .../observations/observation_fields.js | 2 +- app/assets/javascripts/observations/show.js | 2 +- app/assets/stylesheets/autocomplete.scss | 19 ++++- 13 files changed, 179 insertions(+), 140 deletions(-) delete mode 100644 app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js create mode 100644 app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js.erb diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index 707d0ffeea3..37139d1fde1 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -244,14 +244,16 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root if( $scope.params.taxon_id ) { // load taxon auto name and photo for autocomplete. Send locale // params to we load the right taxon name for the users's prefs - TaxaFactory.show( $scope.params.taxon_id, shared.localeParams( ) ).then( function( response ) { - taxa = TaxaFactory.responseToInstances( response ); - if( taxa.length > 0 ) { - $scope.selectedTaxon = taxa[ 0 ]; + TaxaFactory.show( $scope.params.taxon_id, iNaturalist.localeParams( ) ). + then( function( response ) { + taxa = TaxaFactory.responseToInstances( response ); + if( taxa.length > 0 ) { + $scope.selectedTaxon = taxa[ 0 ]; + } + $scope.updateTaxonAutocomplete( ); + $scope.taxonInitialized = true; } - $scope.updateTaxonAutocomplete( ); - $scope.taxonInitialized = true; - }); + ); } else { // this will remove the autocomlete image since there's no taxon $scope.updateTaxonAutocomplete( ); @@ -389,8 +391,9 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root createdDateType: $scope.params.createdDateType }); // prepare current settings to store in browser state history - currentState = { params: stateParams, selectedPlace: $scope.selectedPlace, - selectedTaxon: JSON.stringify($scope.selectedTaxon), + currentState = { params: stateParams, + selectedPlace: JSON.stringify( $scope.selectedPlace ), + selectedTaxon: JSON.stringify( $scope.selectedTaxon ), mapBounds: $scope.mapBounds ? $scope.mapBounds.toJSON( ) : null, mapBoundsIcon: $scope.mapBoundsIcon }; currentSearch = urlParams; @@ -508,7 +511,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.observers = [ ]; $scope.resetStats( ); var processedParams = ObservationsFactory.processParamsForAPI( _.extend( { }, - $scope.params, shared.localeParams( ) ), + $scope.params, iNaturalist.localeParams( ) ), $scope.possibleFields); // recording there was some location in the search. That will be used // to hide the `Redo Search` button until the map moves @@ -591,7 +594,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.pagination.section += 1; $scope.pagination.searching = true; var processedParams = ObservationsFactory.processParamsForAPI( - _.extend( { }, $scope.params, shared.localeParams( ), + _.extend( { }, $scope.params, iNaturalist.localeParams( ), { page: $scope.apiPage( ), per_page: $scope.pagination.perSection } ), $scope.possibleFields); ObservationsFactory.search( processedParams ).then( function( response ) { if( ( response.data.total_results <= ( response.data.page * response.data.per_page ) ) || @@ -657,6 +660,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $rootScope.$emit( "hideNearbyPlace" ); $scope.selectedPlace = place; $scope.removeSelectedBounds( ); + $scope.updatePlaceAutocomplete( ); }; $scope.filterByBounds = function( ) { $rootScope.$emit( "hideNearbyPlace" ); @@ -870,7 +874,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root }; $scope.updateTaxonAutocomplete = function( ) { if( $scope.selectedTaxon ) { - $( "input[name='taxon_name']" ).trigger( "assignTaxon", $scope.selectedTaxon ); + $( "input[name='taxon_name']" ).trigger( "assignSelection", $scope.selectedTaxon ); } else { $( "#filters input[name='taxon_name']" ).trigger( "search" ); } @@ -903,6 +907,14 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root window.onpopstate = function( event ) { var state = _.extend( { }, event.state || $scope.initialBrowserState ); var previousParams = _.extend( { }, $scope.defaultParams, state.params ); + // needed to serialize some objects for storing in browser state + // so now turn them back into object instances for comparison + if( state.selectedTaxon ) { + state.selectedTaxon = new iNatModels.Taxon( JSON.parse( state.selectedTaxon ) ); + } + if( state.selectedPlace ) { + state.selectedPlace = new iNatModels.Place( JSON.parse( state.selectedPlace ) ); + } // we could set place and taxon below, and that should not run searches $scope.searchDisabled = true; $scope.mapBoundsIcon = state.mapBoundsIcon; @@ -915,11 +927,6 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root new google.maps.LatLng( state.mapBounds.south, state.mapBounds.west ), new google.maps.LatLng( state.mapBounds.north, state.mapBounds.east )); } else { $scope.mapBounds = null }; - // needed to serialize the taxon for storing in browser state - // so now turn it back into a Taxon object for comparison - if( state.selectedTaxon ) { - state.selectedTaxon = new iNatModels.Taxon( JSON.parse( state.selectedTaxon ) ); - } if( state.selectedTaxon != $scope.selectedTaxon ) { $scope.selectedTaxon = state.selectedTaxon; $scope.updateTaxonAutocomplete( ); @@ -1272,7 +1279,7 @@ function( ObservationsFactory, PlacesFactory, shared, $scope, $rootScope ) { I18n.t( "loading" ) + "

    ", options ); var time = new Date( ).getTime( ); $scope.infoWindowCallbackStartTime = time; - ObservationsFactory.show( observation_id, shared.localeParams( ) ).then( function( response ) { + ObservationsFactory.show( observation_id, iNaturalist.localeParams( ) ).then( function( response ) { observations = ObservationsFactory.responseToInstances( response ); if( observations.length > 0 ) { $scope.infoWindowObservation = observations[ 0 ]; diff --git a/app/assets/javascripts/ang/controllers/project_stats_controller.js b/app/assets/javascripts/ang/controllers/project_stats_controller.js index d3b600d3f2c..bfbdd245674 100644 --- a/app/assets/javascripts/ang/controllers/project_stats_controller.js +++ b/app/assets/javascripts/ang/controllers/project_stats_controller.js @@ -42,7 +42,8 @@ function( ObservationsFactory, shared, $scope ) { $scope.observationSearchParams = _.extend( { }, p ); }; $scope.$watch( "observationSearchParams", function( ) { - var statsParams = _.extend( { }, $scope.observationSearchParams, { per_page: 5 }); + var statsParams = _.extend( { }, $scope.observationSearchParams, + iNaturalist.localeParams( ), { per_page: 5 }); $scope.searchURL = "/observations?" + $.param($scope.observationSearchParams); ObservationsFactory.speciesCounts( statsParams ).then( function( response ) { $scope.speciesCount = response.data.total_results; diff --git a/app/assets/javascripts/ang/inaturalist_angular.js b/app/assets/javascripts/ang/inaturalist_angular.js index 0e9601471c0..1a90307a06b 100644 --- a/app/assets/javascripts/ang/inaturalist_angular.js +++ b/app/assets/javascripts/ang/inaturalist_angular.js @@ -82,6 +82,7 @@ function( $http, $rootScope, $filter ) { }; var processPoints = function( geometry, callback, thisArg ) { + if( !geometry ) { return; } if( geometry instanceof google.maps.LatLng ) { callback.call( thisArg, geometry ); } else if( geometry instanceof google.maps.Data.Point ) { @@ -100,14 +101,6 @@ function( $http, $rootScope, $filter ) { return str.toLowerCase( ).lastIndexOf( pattern.toLowerCase( ), position ) === position; }; - var localeParams = function( ) { - var localeParams = { locale: I18n.locale }; - if( PREFERRED_PLACE ) { - localeParams.preferred_place_id = PREFERRED_PLACE.id; - } - return localeParams; - }; - var pp = function( obj ) { console.log( JSON.stringify( obj, null, " " ) ); }; @@ -122,7 +115,6 @@ function( $http, $rootScope, $filter ) { offsetCenter: offsetCenter, processPoints: processPoints, stringStartsWith: stringStartsWith, - localeParams: localeParams, pp: pp } }]); diff --git a/app/assets/javascripts/ang/models/taxon.js.erb b/app/assets/javascripts/ang/models/taxon.js.erb index 0fad2e6b99b..cb7e81096b0 100644 --- a/app/assets/javascripts/ang/models/taxon.js.erb +++ b/app/assets/javascripts/ang/models/taxon.js.erb @@ -100,3 +100,29 @@ iNatModels.Taxon.prototype.conservationStatus = function( ) { } return this.conservationStatusName; }; + +iNatModels.Taxon.prototype.preferredCommonName = function( options ) { + options = options || { }; + options.locale = ( options.locale || "en" ).split( "-" )[0]; + var nameInLocale; + var nameInPlace; + var nameInAncestorPlace; + _.each( this.names, function( n ) { + if( options.preferredPlace && n.place_taxon_names ) { + if( _.find( n.place_taxon_names, function( ptn ) { + return ptn.place_id === options.preferredPlace.id; })) { + nameInPlace = n.name; + } else if( _.find( n.place_taxon_names, function( ptn ) { + return _.contains( options.preferredPlace.ancestor_place_ids, ptn.place_id ); })) { + nameInAncestorPlace = n.name; + } + } + if( !nameInLocale && n.locale === options.locale ) { nameInLocale = n.name; } + }); + nameInLocale = nameInPlace || nameInAncestorPlace || nameInLocale; + if( options.defaultToEnglish === true && + !nameInLocale && options.locale != "en" ) { + return this.preferredCommonName( _.extend( { }, options, { locale: "en" } ) ); + } + return nameInLocale; +}; diff --git a/app/assets/javascripts/inaturalist.js b/app/assets/javascripts/inaturalist.js index 2691080e179..c942058dc95 100644 --- a/app/assets/javascripts/inaturalist.js +++ b/app/assets/javascripts/inaturalist.js @@ -78,6 +78,14 @@ var iNaturalist = window.iNaturalist = new function(){ elt.css('top', top + 'px') } + this.localeParams = function( ) { + var localeParams = { locale: I18n.locale }; + if( PREFERRED_PLACE ) { + localeParams.preferred_place_id = PREFERRED_PLACE.id; + } + return localeParams; + }; + }; // end of the iNaturalist singleton // Class properties diff --git a/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js b/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js index 4395c1dea0a..a0c793ceac2 100644 --- a/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js +++ b/app/assets/javascripts/jquery/plugins/inat/generic_autocomplete.js @@ -19,14 +19,6 @@ genericAutocomplete.menuClosed = function( ) { return ( $("ul.ac-menu:visible").length == 0 ); }; -genericAutocomplete.template = function( item ) { - var wrapperDiv = $( "
    " ).addClass( "ac" ).attr( "id", item.id ); - var labelDiv = $( "
    " ).addClass( "ac-label" ); - labelDiv.append( $( "" ).addClass( "title" ). - append( item.title )); - wrapperDiv.append( labelDiv ); - return wrapperDiv; -}; genericAutocomplete.focus = function( e, ui ) { var ac = $(this).data( "uiAutocomplete" ); @@ -71,11 +63,43 @@ $.fn.genericAutocomplete = function( options ) { field.trigger( "resetSelection" ); return false; }); + + field.select = function( e, ui ) { + // show the title in the text field + if( ui.item.id ) { + field.val( ui.item.title ); + } + // set the hidden id field + options.id_el.val( ui.item.id ); + if( options.afterSelect ) { options.afterSelect( ui ); } + e.preventDefault( ); + return false; + }; + + field.template = field.template || function( item ) { + var wrapperDiv = $( "
    " ).addClass( "ac" ).attr( "id", item.id ); + var labelDiv = $( "
    " ).addClass( "ac-label" ); + labelDiv.append( $( "" ).addClass( "title" ). + append( item.title )); + wrapperDiv.append( labelDiv ); + return wrapperDiv; + }; + + field.renderItem = function( ul, item ) { + var li = $( "
  • " ).addClass( "ac-result" ).data( "item.autocomplete", item ). + append( field.template( item, field.val( ))). + appendTo( ul ); + if( options.extra_class ) { + li.addClass( options.extra_class ); + } + return li; + }; + var ac = field.autocomplete({ minLength: 1, delay: 50, source: options.source, - select: options.select, + select: options.select || field.select, focus: options.focus || genericAutocomplete.focus }).data( "uiAutocomplete" ); // modifying _move slightly to prevent scrolling with arrow @@ -93,7 +117,7 @@ $.fn.genericAutocomplete = function( options ) { this.menu[ direction ]( e ); }; // custom simple _renderItem that gives the LI's class ac-result - ac._renderItem = options.renderItem || genericAutocomplete.renderItem; + ac._renderItem = field.renderItem; // custom simple _renderMenu that removes the ac-menu class ac._renderMenu = options.renderMenu || genericAutocomplete.renderMenu field.keydown( function( e ) { diff --git a/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js b/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js deleted file mode 100644 index 723e9a0132f..00000000000 --- a/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js +++ /dev/null @@ -1,34 +0,0 @@ -$.fn.placeAutocomplete = function( options ) { - options = options || { }; - if( !options.id_el ) { return; } - var field = this; - field.genericAutocomplete( _.extend( options, { - source: function( request, response ) { - $.ajax({ - url: "/places/autocomplete.json", - dataType: "jsonp", - data: { - term: request.term, - per_page: 10 - }, - success: function( data ) { - response( _.map( data, function( r ) { - r.title = r.display_name; - return r; - })); - } - }); - }, - select: function( e, ui ) { - // show the title in the text field - if( ui.item.id ) { - field.val( ui.item.title ); - } - // set the hidden id field - options.id_el.val( ui.item.id ); - if( options.afterSelect ) { options.afterSelect( ui ); } - e.preventDefault( ); - return false; - } - })); -}; diff --git a/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js.erb b/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js.erb new file mode 100644 index 00000000000..32a933b75f8 --- /dev/null +++ b/app/assets/javascripts/jquery/plugins/inat/place_autocomplete.js.erb @@ -0,0 +1,43 @@ +$.fn.placeAutocomplete = function( options ) { + options = options || { }; + if( !options.id_el ) { return; } + var field = this; + + field.template = function( item ) { + var wrapperDiv = $( "
    " ).addClass( "ac" ).attr( "id", item.id ); + var labelDiv = $( "
    " ).addClass( "ac-label" ); + labelDiv.append( $( "" ).addClass( "title" ). + append( item.title )); + var type = item.placeTypeLabel( ); + if( type ) { + labelDiv.append( $( "" ).addClass( "type" ).append( type ) ); + } + wrapperDiv.append( labelDiv ); + return wrapperDiv; + }; + + field.genericAutocomplete( _.extend( options, { + extra_class: "place", + source: function( request, response ) { + $.ajax({ + url: "//<%= CONFIG.node_api_host %>/places/autocomplete", + dataType: "jsonp", + cache: true, + jsonpCallback: "placeAutocompleteCallback", + data: { + q: request.term, + per_page: 10, + geo: true, + order_by: "area" + }, + success: function( data ) { + var results = data.results || [ ]; + response( _.map( results, function( r ) { + r.title = r.display_name; + return new iNatModels.Place( r ); + })); + } + }); + } + })); +}; diff --git a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb index f2e23b10188..2f0fea88467 100644 --- a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb +++ b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb @@ -91,12 +91,6 @@ autocompleter.taxonTemplate = function( result, fieldValue ) { return wrapperDiv; }; -autocompleter.selectedTaxonID = function( options ) { - options = options || { }; - options.id_el = options.id_el || $("#taxon_id"); - return options.id_el.val( ); -}; - autocompleter.createWrappingDiv = function( field, options ) { if( !field.parent().hasClass( "ac-chooser" ) ) { var wrappingDiv = $( "
    " ).addClass( "ac-chooser" ); @@ -122,14 +116,12 @@ autocompleter.createWrappingDiv = function( field, options ) { } }; -autocompleter.menuClosed = function( ) { - return ( $("ul.ac-menu:visible").length == 0 ); -}; - $.fn.taxonAutocomplete = function( options ) { options = options || { }; + options.id_el = options.id_el || $( "#taxon_id" ); if( !options.id_el ) { return; } var field = this; + field.template = autocompleter.taxonTemplate; var source = function( request, response ) { $.ajax({ url: "//<%= CONFIG.node_api_host %>/taxa/autocomplete", @@ -189,6 +181,11 @@ $.fn.taxonAutocomplete = function( options ) { if( ac.searchInProgress === thisSearch ) { ac.searchInProgress = false; ac.menu.element.empty( ); + data = _.map( data, function( r ) { + var t = new iNatModels.Taxon( r ); + t.preferred_common_name = t.preferredCommonName( iNaturalist.localeParams( ) ); + return t; + }); if( data.length == 0 ) { data.push({ type: "message", @@ -202,6 +199,7 @@ $.fn.taxonAutocomplete = function( options ) { }); } ac._suggest( data ); + field.focus( ); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { @@ -211,6 +209,7 @@ $.fn.taxonAutocomplete = function( options ) { // this is the hacky way I'm preventing autocomplete from closing // the result list while the external search is happening ac.keepOpen = true; + setTimeout( function( ){ ac.keepOpen = false; }, 10 ); e.preventDefault( ); return false; } @@ -222,7 +221,7 @@ $.fn.taxonAutocomplete = function( options ) { options.id_el.val( ui.item.id ); // set the selection's thumbnail image field.wrappingDiv.find(".ac-select-thumb").html( ui.item.defaultPhoto ); - selectedTaxon = ui.item; + field.selection = ui.item; if( options.afterSelect ) { options.afterSelect( ui ); } return false; }; @@ -237,35 +236,16 @@ $.fn.taxonAutocomplete = function( options ) { li.addClass( "active" ); return false; }; - var renderItem = function( ul, item ) { - var li = $( "
  • " ).addClass( "ac-result" ).data( "item.autocomplete", item ). - append( autocompleter.taxonTemplate( item, field.val( ))). - appendTo( ul ); - if( options.extra_class ) { - li.addClass( options.extra_class ); - } - return li; - }; - var ac = this.genericAutocomplete( _.extend( options, { + var ac = this.genericAutocomplete( _.extend( { }, { + extra_class: "taxon", source: source, select: select, focus: focus, - renderTemplate: autocompleter.taxonTemplate, - renderItem: renderItem, createWrappingDiv: autocompleter.createWrappingDiv - })); - - - - + }, options )); ac._close = function( event ) { - if( this.keepOpen ) { - // we wanted to keep the menu open and we have, but reset that - // option to it's default state of false very soon - setTimeout( function( ){ this.keepOpen = false; }, 10 ); - return; - } + if( this.keepOpen ) { return; } if( this.menu.element.is( ":visible" ) ) { var that = this; that.menu.blur( ); @@ -279,44 +259,21 @@ $.fn.taxonAutocomplete = function( options ) { }, 10 ); } }; - - field.bind( "assignTaxon", function( e, t ) { + field.bind( "assignSelection", function( e, t ) { options.id_el.val( t.id ); - field.val( t.preferred_common_name || t.name ); + t.title = t.preferred_common_name || t.name; + field.val( t.title ); var photo = autocompleter.defaultPhotoForResult(t) field.wrappingDiv.find(".ac-select-thumb").html( photo ); - selectedTaxon = t; + field.selection = t; if( field.searchClear ) { $(field.searchClear).show( ); } }); - field.bind( "resetTaxonSelection", function( e ) { + field.bind( "resetSelection", function( e ) { if( options.id_el.val( ) !== null ) { options.id_el.val( null ); field.wrappingDiv.find(".ac-select-thumb").html( autocompleter.defaultPhotoForResult( { } ) ); if( options.afterUnselect ) { options.afterUnselect( ); } } - selectedTaxon = null; - }); - field.bind( "resetAll", function( e ) { - field.trigger( "resetTaxonSelection" ); - field.val( null ); - if( field.searchClear ) { $(field.searchClear).hide( ); } + field.selection = null; }); - if( options.allow_placeholders !== true ) { - field.blur( function( ) { - if( options.resetOnChange === false && selectedTaxon ) { - field.val( selectedTaxon.preferred_common_name || - selectedTaxon.preferred_english_name || selectedTaxon.title ); - } - // adding a small timeout to allow the autocomplete JS to make - // a selection or not before deciding if we need to clear the field - setTimeout( function( ) { - if( !autocompleter.selectedTaxonID( options ) && autocompleter.menuClosed( )) { - field.val( null ); - field.trigger( "resetTaxonSelection" ); - selectedTaxon = null; - if( field.searchClear ) { $(field.searchClear).hide( ); } - } - }, 20); - }); - } }; diff --git a/app/assets/javascripts/observations/edit.js b/app/assets/javascripts/observations/edit.js index b8f49b64d67..6d118f76b56 100644 --- a/app/assets/javascripts/observations/edit.js +++ b/app/assets/javascripts/observations/edit.js @@ -1,6 +1,6 @@ $(document).ready(function() { $('.species_guess').taxonAutocomplete({ - taxon_id_el: $("#observation_taxon_id"), + id_el: $("#observation_taxon_id"), show_placeholder: true, allow_placeholders: true }); $('.observed_on_string').iNatDatepicker(); diff --git a/app/assets/javascripts/observations/observation_fields.js b/app/assets/javascripts/observations/observation_fields.js index 1dbfd96dfd9..9b9716ff749 100644 --- a/app/assets/javascripts/observations/observation_fields.js +++ b/app/assets/javascripts/observations/observation_fields.js @@ -136,7 +136,7 @@ var ObservationFields = { newInput.val( taxon.leading_name ); } $(newInput).taxonAutocomplete({ - taxon_id_el: input + id_el: input }); if( options.focus ) { newInput.focus( ); diff --git a/app/assets/javascripts/observations/show.js b/app/assets/javascripts/observations/show.js index 29c62e67a7e..a08eeab4e2b 100644 --- a/app/assets/javascripts/observations/show.js +++ b/app/assets/javascripts/observations/show.js @@ -51,7 +51,7 @@ $(document).ready(function() { $('#new_identification_form .default.button').addClass('disabled').attr('disabled', 'disabled'); $('#new_identification_form .species_guess').taxonAutocomplete({ - taxon_id_el: $("input.ac_hidden_taxon_id"), + id_el: $("input.ac_hidden_taxon_id"), extra_class: "identification", afterSelect: function(wrapper) { var button = $('#new_identification_form').find('.default.button'); diff --git a/app/assets/stylesheets/autocomplete.scss b/app/assets/stylesheets/autocomplete.scss index c52c12819d1..e0de2762b57 100644 --- a/app/assets/stylesheets/autocomplete.scss +++ b/app/assets/stylesheets/autocomplete.scss @@ -56,14 +56,16 @@ .ui-autocomplete .ac-result.active { background: #F2F2F2; } -.ui-autocomplete .ac-label { +.ac-result .ac-label { padding: 7px; line-height: 16px; +} +.ac-result.taxon .ac-label { display: inline-block; width: 258px; } - .ui-autocomplete .identification .ac-label { + display: inline-block; width: 450px; } .ui-autocomplete .ac-message .ac-label { @@ -117,3 +119,16 @@ font-size: 24px; vertical-align: middle; } +.ac-result.place .ac-label { + max-width: 400px; +} +.ac-result.place .title { + float: left; + margin-right: 8px; +} +.ac-result.place .type { + float: left; + font-size: 0.9em; + text-transform: uppercase; + color: rgba(0, 0, 0, .5); +} From 477debca235ddaef1de87a8383ba3a3c4936410f Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 8 Mar 2016 12:31:24 -0800 Subject: [PATCH 54/70] Added quality metrics controller to the Rails API. --- app/controllers/quality_metrics_controller.rb | 5 +- .../quality_metrics_controller_api_spec.rb | 59 +++++++++++++ tools/apidoc/api.rb | 88 ++++++++++++++----- 3 files changed, 126 insertions(+), 26 deletions(-) create mode 100644 spec/controllers/quality_metrics_controller_api_spec.rb diff --git a/app/controllers/quality_metrics_controller.rb b/app/controllers/quality_metrics_controller.rb index d2596a288f8..a7e8dae8154 100644 --- a/app/controllers/quality_metrics_controller.rb +++ b/app/controllers/quality_metrics_controller.rb @@ -1,6 +1,7 @@ class QualityMetricsController < ApplicationController - before_filter :authenticate_user! - before_filter :return_here, :except => [:vote] + before_action :doorkeeper_authorize!, if: lambda { authenticate_with_oauth? } + before_filter :authenticate_user!, unless: lambda { authenticated_with_oauth? } + before_filter :return_here, except: [:vote] before_filter :load_observation def vote diff --git a/spec/controllers/quality_metrics_controller_api_spec.rb b/spec/controllers/quality_metrics_controller_api_spec.rb new file mode 100644 index 00000000000..d10fc0b7a32 --- /dev/null +++ b/spec/controllers/quality_metrics_controller_api_spec.rb @@ -0,0 +1,59 @@ +require File.dirname(__FILE__) + '/../spec_helper' + +shared_examples_for "a QualityMetricsController" do + let(:user) { User.make! } + + describe "vote" do + let(:o) { Observation.make! } + + describe "route" do + it "should accept POST requests" do + expect( post: "observations/#{o.id}/quality/#{QualityMetric::WILD}" ).to be_routable + end + it "should accept POST requests" do + expect( delete: "observations/#{o.id}/quality/#{QualityMetric::WILD}" ).to be_routable + end + end + + it "should create a QualityMetric in response to POST" do + expect { + post :vote, format: :json, id: o.id, metric: QualityMetric::WILD, agree: "true" + }.to change( QualityMetric, :count ).by( 1 ) + end + it "should set agree to true if true" do + post :vote, format: :json, id: o.id, metric: QualityMetric::WILD, agree: "true" + expect( o.quality_metrics.last ).to be_agree + end + it "should set agree to false if false" do + post :vote, format: :json, id: o.id, metric: QualityMetric::WILD, agree: "false" + expect( o.quality_metrics.last ).not_to be_agree + end + it "should destroy an existing QualityMetric in response to DELETE" do + qm = QualityMetric.make!( user: user, observation: o, metric: QualityMetric::WILD, agree: true) + delete :vote, format: :json, id: o.id, metric: QualityMetric::WILD + expect( QualityMetric.find_by_id( qm.id ) ).to be_nil + o.reload + expect( o.quality_metrics ).to be_blank + end + end + +end + +describe QualityMetricsController, "oauth authentication" do + let(:token) do + double acceptable?: true, + accessible?: true, + resource_owner_id: user.id, + application: OauthApplication.make! + end + before do + request.env["HTTP_AUTHORIZATION"] = "Bearer xxx" + allow(controller).to receive(:doorkeeper_token) { token } + end + it_behaves_like "a QualityMetricsController" +end + +describe QualityMetricsController, "devise authentication" do + before { http_login(user) } + it_behaves_like "a QualityMetricsController" +end diff --git a/tools/apidoc/api.rb b/tools/apidoc/api.rb index 9decc773e9e..8d4f492c51f 100644 --- a/tools/apidoc/api.rb +++ b/tools/apidoc/api.rb @@ -157,7 +157,7 @@ def api(name, &block) behalf of users or write data to iNat, you will need to make authenticated requests (see below). EOT - post "/comments", :auth_required => true do + post "/comments", auth_required: true do desc "Create comments. Comments are automatically associated with the signed in user." formats %w(json) param "comment[parent_type]" do @@ -175,17 +175,17 @@ def api(name, &block) end end - put "/comments/:id", :auth_required => true do + put "/comments/:id", auth_required: true do desc "Update a comment. Params are the same as POST /comments." formats %w(json) end - delete "/comments/:id", :auth_required => true do + delete "/comments/:id", auth_required: true do desc "Delete a comment." formats %w(json) end - post "/identifications", :auth_required => true do + post "/identifications", auth_required: true do desc "Create identifications. Identifications are automatically associated with the signed in user." formats %w(json) @@ -204,12 +204,12 @@ def api(name, &block) end end - put "/identifications/:id", :auth_required => true do + put "/identifications/:id", auth_required: true do desc "Update a identification. Params are the same as POST /identifications." formats %w(json) end - delete "/identifications/:id", :auth_required => true do + delete "/identifications/:id", auth_required: true do desc "Delete a identification." formats %w(json) end @@ -450,7 +450,7 @@ def api(name, &block) end end - post "/observations", :auth_required => true do + post "/observations", auth_required: true do desc <<-EOT Primary endpoint for creating observations. POST params can be specified for a single observation (e.g. observation[species_guess]) or as @@ -861,7 +861,7 @@ def api(name, &block) formats %w(json) end - put "/observations/:id", :auth_required => true do + put "/observations/:id", auth_required: true do desc <<-EOT Update a single observation. Not that since most HTTP clients do not support PUT requests, you can fake it be specifying a _method param. @@ -903,7 +903,7 @@ def api(name, &block) end end - delete "/observations/:id", :auth_required => true do + delete "/observations/:id", auth_required: true do desc "Delete an observation. Authenticated user must own the observation." formats %w(json) example do @@ -1011,6 +1011,51 @@ def api(name, &block) EOJS end end + + post "/observations/:id/quality/:metric", auth_required: true do + desc <<-EOT + Vote on quality metrics for an observation. These allow any user to vote + on aspects of any observation's data quality. + EOT + formats %w(json) + param "id" do + desc "ID of observation being voted on." + values "Observation ID integer" + end + param "metric" do + desc <<-EOT + Aspect of data quality being voted on. Possible values are + wild (whether or not observation is of a wild vs. captive + / cultivated organism), + location (whether or not coordinates seem accurate), + date (whether or not date seem accurate). + EOT + values %w(wild location date) + end + param "agree" do + desc <<-EOT + Whether the user is voting yes or no on this metric, e.g. if the + metric is wild and agree is false, the user + is voting that the observation is not of a wild organism, i.e. it is + captive or cultivated. + EOT + values %w(true false) + end + end + + delete "/observations/:id/quality/:metric", auth_required: true do + desc <<-EOT + Remove the user's vote on a quality metric. Not the same as voting no. + Same id and metric params as POST + /observations/:id/quality/:metric + EOT + formats %w(json) + end + + put "/observations/:id/viewed_updates" do + desc "Mark updates associated with this observation (e.g. new comment notifications) as viewed. Response should be NO CONTENT." + formats %w(json) + end get "/observations/:username" do desc "Mostly the same as /observations except filtered by a username." @@ -1133,11 +1178,6 @@ def api(name, &block) end end - put "/observations/:id/viewed_updates" do - desc "Mark updates associated with this observation (e.g. new comment notifications) as viewed. Response should be NO CONTENT." - formats %w(json) - end - get "/observation_fields" do desc <<-EOT List / search observation fields. ObservationFields are basically @@ -1153,7 +1193,7 @@ def api(name, &block) end end - post "/observation_field_values", :auth_required => true do + post "/observation_field_values", auth_required: true do desc <<-EOT Create a new observation field value. ObservationFields are basically typed data fields that users can attach to observation. @@ -1175,17 +1215,17 @@ def api(name, &block) end end - put "/observation_field_values/:id", :auth_required => true do + put "/observation_field_values/:id", auth_required: true do desc "Update an observation field value. Parans are the same as POST /observation_field_values" formats %w(json) end - delete "/observation_field_values/:id", :auth_required => true do + delete "/observation_field_values/:id", auth_required: true do desc "Delete observation field value." formats %w(json) end - post "/observation_photos", :auth_required => true do + post "/observation_photos", auth_required: true do desc <<-EOT Add photos to observations. This is only for iNat-hosted photos. For adding photos hosted on other services, see POST /observations and PUT @@ -1451,7 +1491,7 @@ def api(name, &block) desc "JS widget snippet of the top contributors to a project." end - get "/projects/user/:login", :auth_required => true do + get "/projects/user/:login", auth_required: true do desc <<-EOT Lists projects the user specified by :login has joined. Actually it lists our ProjectUser records, which represent membership in a project. @@ -1532,17 +1572,17 @@ def api(name, &block) end end - post "/projects/:id/join", :auth_required => true do + post "/projects/:id/join", auth_required: true do desc "Adds the authenticated user as a member of the project" formats %w(json) end - delete "/projects/:id/leave", :auth_required => true do + delete "/projects/:id/leave", auth_required: true do desc "Removes the authenticated user as a member of the project" formats %w(json) end - post "/project_observations", :auth_required => true do + post "/project_observations", auth_required: true do desc "Add observations to projects" formats %w(json) param "project_observation[observation_id]" do @@ -1616,12 +1656,12 @@ def api(name, &block) formats %w(json) end - get "/users/edit", :auth_required => true do + get "/users/edit", auth_required: true do desc "Retrieve user profile info. Response should be like POST /users above." formats %w(json) end - get "/users/new_updates", :auth_required => true do + get "/users/new_updates", auth_required: true do desc "Get info about new updates for the authenticated user, e.g. comments and identifications on their content." formats %w(json) param "resource_type" do From 56d3b2c5d60fce29511bcb538588916d4bc3b6ae Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Tue, 8 Mar 2016 18:01:34 -0500 Subject: [PATCH 55/70] user and project autocomplete for obs search --- .../ang/controllers/observation_search.js | 58 +++++++++++++++++++ .../observation_search/filter_menu.html.haml | 8 ++- app/assets/javascripts/application_bundle.js | 2 + .../plugins/inat/project_autocomplete.js.erb | 24 ++++++++ .../jquery/plugins/inat/user_autocomplete.js | 37 ++++++++++++ app/assets/stylesheets/autocomplete.scss | 6 +- .../stylesheets/observations/search.css | 6 +- app/controllers/users_controller.rb | 23 ++++++-- app/es_indices/project_index.rb | 6 +- 9 files changed, 159 insertions(+), 11 deletions(-) create mode 100644 app/assets/javascripts/jquery/plugins/inat/project_autocomplete.js.erb create mode 100644 app/assets/javascripts/jquery/plugins/inat/user_autocomplete.js diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index 37139d1fde1..b7c50becaa3 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -126,6 +126,8 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $scope.determineFieldNames( ); $scope.setupTaxonAutocomplete( ); $scope.setupInatPlaceAutocomplete( ); + $scope.setupUserAutocomplete( ); + $scope.setupProjectAutocomplete( ); $scope.setupBrowserStateBehavior( ); $scope.filtersInitialized = true; // someone searched with taxon_name, but no mathing taxon was found, @@ -221,6 +223,12 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root }; scope.moreFiltersHidden = moreFiltersHidden; } ); + $scope.$watch( "params.user_id", function( ) { + $scope.updateUserAutocomplete( ); + }); + $scope.$watch( "params.project_id", function( ) { + $scope.updateProjectAutocomplete( ); + }); // watch for place selections, unselections $scope.$watch( "selectedPlace", function( ) { if( $scope.selectedPlace && $scope.selectedPlace.id ) { @@ -903,6 +911,56 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root $( "#filters input[name='inat_place_name']" ).trigger( "search" ); } }; + $scope.setupUserAutocomplete = function( ) { + $( "input[name='user_name']" ).userAutocomplete({ + resetOnChange: false, + bootstrapClear: true, + id_el: $( "#filters input[name='user_id']" ), + afterSelect: function( result ) { + $scope.params.user_id = result.item.login; + if(!$scope.$$phase) { $scope.$digest( ); } + }, + afterUnselect: function( ) { + $scope.params.user_id = null; + if(!$scope.$$phase) { $scope.$digest( ); } + } + }); + $scope.updateUserAutocomplete( ); + }; + $scope.updateUserAutocomplete = function( ) { + if( $scope.params.user_id ) { + $( "input[name='user_name']" ). + trigger( "assignSelection", + { id: $scope.params.user_id, title: $scope.params.user_id } ); + } else { + $( "#filters input[name='user_name']" ).trigger( "search" ); + } + }; + $scope.setupProjectAutocomplete = function( ) { + $( "input[name='project_name']" ).projectAutocomplete({ + resetOnChange: false, + bootstrapClear: true, + id_el: $( "#filters input[name='project_id']" ), + afterSelect: function( result ) { + $scope.params.project_id = result.item.slug; + if(!$scope.$$phase) { $scope.$digest( ); } + }, + afterUnselect: function( ) { + $scope.params.project_id = null; + if(!$scope.$$phase) { $scope.$digest( ); } + } + }); + $scope.updateProjectAutocomplete( ); + }; + $scope.updateProjectAutocomplete = function( ) { + if( $scope.params.project_id ) { + $( "input[name='project_name']" ). + trigger( "assignSelection", + { id: $scope.params.project_id, title: $scope.params.project_id } ); + } else { + $( "#filters input[name='project_name']" ).trigger( "search" ); + } + }; $scope.setupBrowserStateBehavior = function( ) { window.onpopstate = function( event ) { var state = _.extend( { }, event.state || $scope.initialBrowserState ); diff --git a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml index df615277520..68362285bec 100644 --- a/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml +++ b/app/assets/javascripts/ang/templates/observation_search/filter_menu.html.haml @@ -161,19 +161,21 @@ {{ shared.t('person') | capitalize:'title' }} .input-group %span.input-group-addon.icon-person - %input#params-user-id.form-control{ "ng-model" => "params.user_id", "ng-model-options" => "{debounce: 1000}", placeholder: "{{ shared.t('username_or_user_id') }}", "ng-class" => "{ 'filter-changed': params.user_id }" } + %input.form-control{ placeholder: "{{ shared.t('username_or_user_id') }}", type: "search", name: "user_name", "ng-class" => "{ 'filter-changed': params.user_id }" } + %input{ "ng-model" => "params.user_id", type: "hidden", name: "user_id" } .form-group %label.sectionlabel{for: 'params-project-id'} {{ shared.t('project') | capitalize:'title' }} .input-group %span.input-group-addon.fa.fa-briefcase - %input#params-project-id.form-control{"ng-model" => "params.project_id", "ng-model-options" => "{debounce: 1000}", placeholder: "{{ shared.t('url_slug_or_id') }}", title: "{{ shared.t('url_slug_or_id') }}", "ng-class" => "{ 'filter-changed': params.project_id }" } + %input.form-control{ placeholder: "{{ shared.t('url_slug_or_id') }}", type: "search", name: "project_name", title: "{{ shared.t('url_slug_or_id') }}", "ng-class" => "{ 'filter-changed': params.project_id }" } + %input{ "ng-model" => "params.project_id", type: "hidden", name: "project_id" } .form-group %label.sectionlabel{for: "params-place-name"} {{ shared.t("place") | capitalize: "title" }} .input-group %span.input-group-addon.fa.fa-globe - %input.form-control{ placeholder: "{{ shared.t('place') }}", type: "search", name: "inat_place_name" } + %input.form-control{ placeholder: "{{ shared.t('place') }}", type: "search", name: "inat_place_name", "ng-class" => "{ 'filter-changed': selectedPlace }" } %input{ type: "hidden", name: "place_id" } .col-xs-4 .form-group diff --git a/app/assets/javascripts/application_bundle.js b/app/assets/javascripts/application_bundle.js index b5ea3610631..870769fc5aa 100644 --- a/app/assets/javascripts/application_bundle.js +++ b/app/assets/javascripts/application_bundle.js @@ -18,6 +18,8 @@ //= require jquery/plugins/inat/generic_autocomplete //= require jquery/plugins/inat/taxon_autocomplete //= require jquery/plugins/inat/place_autocomplete +//= require jquery/plugins/inat/user_autocomplete +//= require jquery/plugins/inat/project_autocomplete //= require jquery/plugins/inat/datepicker //= require underscore.min //= require jquery.textcomplete diff --git a/app/assets/javascripts/jquery/plugins/inat/project_autocomplete.js.erb b/app/assets/javascripts/jquery/plugins/inat/project_autocomplete.js.erb new file mode 100644 index 00000000000..f4048c7a322 --- /dev/null +++ b/app/assets/javascripts/jquery/plugins/inat/project_autocomplete.js.erb @@ -0,0 +1,24 @@ +$.fn.projectAutocomplete = function( options ) { + options = options || { }; + if( !options.id_el ) { return; } + var field = this; + + field.genericAutocomplete( _.extend( options, { + extra_class: "user", + source: function( request, response ) { + $.ajax({ + url: "//<%= CONFIG.node_api_host %>/projects/autocomplete", + dataType: "jsonp", + cache: true, + jsonpCallback: "projectAutocompleteCallback", + data: { + q: request.term, + per_page: 10 + }, + success: function( data ) { + response( data.results ); + } + }); + } + })); +}; diff --git a/app/assets/javascripts/jquery/plugins/inat/user_autocomplete.js b/app/assets/javascripts/jquery/plugins/inat/user_autocomplete.js new file mode 100644 index 00000000000..0d472d630c3 --- /dev/null +++ b/app/assets/javascripts/jquery/plugins/inat/user_autocomplete.js @@ -0,0 +1,37 @@ +$.fn.userAutocomplete = function( options ) { + options = options || { }; + if( !options.id_el ) { return; } + var field = this; + + field.template = function( item ) { + var wrapperDiv = $( "
    " ).addClass( "ac" ).attr( "id", item.id ); + var labelDiv = $( "
    " ).addClass( "ac-label" ); + labelDiv.append( item.html ); + wrapperDiv.append( labelDiv ); + return wrapperDiv; + }; + + field.genericAutocomplete( _.extend( options, { + extra_class: "user", + source: function( request, response ) { + $.ajax({ + url: "/people/search.json", + dataType: "json", + cache: true, + data: { + q: request.term, + per_page: 10, + order: "activity" + }, + success: function( data ) { + console.log(data); + response( _.map( data, function( r ) { + r.id = r.login; + r.title = r.login; + return r; + })); + } + }); + } + })); +}; diff --git a/app/assets/stylesheets/autocomplete.scss b/app/assets/stylesheets/autocomplete.scss index e0de2762b57..d4933445ef2 100644 --- a/app/assets/stylesheets/autocomplete.scss +++ b/app/assets/stylesheets/autocomplete.scss @@ -68,6 +68,10 @@ display: inline-block; width: 450px; } +.ui-autocomplete .user .ac-label { + display: inline-block; + width: 450px; +} .ui-autocomplete .ac-message .ac-label { padding: 0 0 0 12px; line-height: 36px; @@ -76,7 +80,7 @@ .ui-autocomplete .ac-placeholder { font-weight: bold; } -.ui-autocomplete .ac-label .title { +.ui-autocomplete .ac-label .title, .ui-autocomplete .ac-label .chooseritem { font-size: 1.1em; display: block; } diff --git a/app/assets/stylesheets/observations/search.css b/app/assets/stylesheets/observations/search.css index 432cd57ff09..6952d3cbc70 100644 --- a/app/assets/stylesheets/observations/search.css +++ b/app/assets/stylesheets/observations/search.css @@ -921,7 +921,11 @@ inat-taxon { white-space: nowrap; } background: #fff; z-index: 2; } -.searchclear.glyphicon:hover { +input.filter-changed + .searchclear.glyphicon { + background: none; + color: #bbb; +} +.searchclear.glyphicon:hover, input.filter-changed + .searchclear.glyphicon:hover { color: #666; cursor: pointer; } diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 5dd72cb7a3e..9aea7790b08 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -19,7 +19,10 @@ class UsersController < ApplicationController MOBILIZED = [:show, :dashboard, :new, :create] before_filter :unmobilized, :except => MOBILIZED before_filter :mobilized, :only => MOBILIZED - + + protect_from_forgery unless: -> { + request.parameters[:action] == "search" && request.format.json? } + caches_action :dashboard, :expires_in => 1.hour, :cache_path => Proc.new {|c| @@ -253,16 +256,28 @@ def search else scope = scope.order("login") end - @users = scope.page(params[:page]) + params[:per_page] = params[:per_page] || 30 + params[:per_page] = 30 if params[:per_page].to_i > 30 + params[:per_page] = 1 if params[:per_page].to_i < 1 + params[:page] = params[:page] || 1 + params[:page] = 1 if params[:page].to_i < 1 + offset = (params[:page].to_i - 1) * params[:per_page].to_i respond_to do |format| - format.html { counts_for_users } + format.html { + # will_paginate collection will have total_entries + @users = scope.paginate(page: params[:page], per_page: params[:per_page]) + counts_for_users + } format.json do + # use .limit.offset to avoid a slow count(), since count isn't used + @users = scope.limit(params[:per_page]).offset(offset) haml_pretty do @users.each_with_index do |user, i| @users[i].html = view_context.render_in_format(:html, :partial => "users/chooser", :object => user).gsub(/\n/, '') end end - render :json => @users.to_json(User.default_json_options.merge(:methods => [:html])) + render :json => @users.to_json(User.default_json_options.merge(:methods => [:html])), + callback: params[:callback] end end end diff --git a/app/es_indices/project_index.rb b/app/es_indices/project_index.rb index 3a668619d23..e63085b366b 100644 --- a/app/es_indices/project_index.rb +++ b/app/es_indices/project_index.rb @@ -6,9 +6,10 @@ class Project < ActiveRecord::Base settings index: { number_of_shards: 1, analysis: ElasticModel::ANALYSIS } do mappings(dynamic: true) do indexes :title, analyzer: "ascii_snowball_analyzer" - indexes :title_autocomplete, analyzer: "keyword_autocomplete_analyzer", - search_analyzer: "keyword_analyzer" + indexes :title_autocomplete, analyzer: "autocomplete_analyzer", + search_analyzer: "standard_analyzer" indexes :description, analyzer: "ascii_snowball_analyzer" + indexes :slug, analyzer: "keyword_analyzer" indexes :location, type: "geo_point", lat_lon: true indexes :geojson, type: "geo_shape" end @@ -21,6 +22,7 @@ def as_indexed_json(options={}) title: title, title_autocomplete: title, description: description, + slug: slug, ancestor_place_ids: place ? place.ancestor_place_ids : nil, place_ids: place ? place.self_and_ancestor_ids : nil, location: ElasticModel.point_latlon(latitude, longitude), From 076a94fec0ae70b0a58685cdf34ba440858224ec Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Wed, 9 Mar 2016 18:29:29 -0500 Subject: [PATCH 56/70] Added i18n key for municipality place type --- config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index bfe4d203b72..09d8af96468 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2133,6 +2133,8 @@ en: local_administrative_area: local administrative area Miscellaneous: Miscellaneous miscellaneous: miscellaneous + Municipality: Municipality + municipality: municipality Nationality: Nationality nationality: nationality Nearby_Building: Nearby Building From 9e1c341b0e70180093746a4754a84a74b084ef50 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Thu, 10 Mar 2016 23:21:11 -0500 Subject: [PATCH 57/70] touching some assets to recompile them --- app/assets/javascripts/ang/controllers/observation_search.js | 2 +- app/assets/javascripts/ang/factories/observations.js.erb | 2 +- app/assets/javascripts/ang/factories/places.js.erb | 2 +- app/assets/javascripts/ang/factories/taxa.js.erb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index 1a341b8d76c..39c38b8aea8 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -1,4 +1,4 @@ -var application = angular.module( "ObservationSearch", [ +var application = angular.module( "ObservationSearch", [ "infinite-scroll", "templates", "ehFilters", // angular-capitalize diff --git a/app/assets/javascripts/ang/factories/observations.js.erb b/app/assets/javascripts/ang/factories/observations.js.erb index 37f5ef7705c..2e325b96b7d 100644 --- a/app/assets/javascripts/ang/factories/observations.js.erb +++ b/app/assets/javascripts/ang/factories/observations.js.erb @@ -1,4 +1,4 @@ -iNatAPI.factory( "ObservationsFactory", [ "shared", function( shared ) { +iNatAPI.factory( "ObservationsFactory", [ "shared", function( shared ) { var show = function( id, params ) { var url = "//<%= CONFIG.node_api_host %>/observations/" + id; if( params ) { url += "?" + $.param(params); } diff --git a/app/assets/javascripts/ang/factories/places.js.erb b/app/assets/javascripts/ang/factories/places.js.erb index f9c364a59f7..eab1e1029d5 100644 --- a/app/assets/javascripts/ang/factories/places.js.erb +++ b/app/assets/javascripts/ang/factories/places.js.erb @@ -1,4 +1,4 @@ -iNatAPI.factory( "PlacesFactory", [ "shared", function( shared ) { +iNatAPI.factory( "PlacesFactory", [ "shared", function( shared ) { var show = function( id ) { var url = "//<%= CONFIG.node_api_host %>/places/" + id; return shared.basicGet( url ); diff --git a/app/assets/javascripts/ang/factories/taxa.js.erb b/app/assets/javascripts/ang/factories/taxa.js.erb index 6fdf1ca30a5..5a1609baa2d 100644 --- a/app/assets/javascripts/ang/factories/taxa.js.erb +++ b/app/assets/javascripts/ang/factories/taxa.js.erb @@ -1,4 +1,4 @@ -iNatAPI.factory( "TaxaFactory", [ "shared", function( shared ) { +iNatAPI.factory( "TaxaFactory", [ "shared", function( shared ) { var show = function( id, params ) { var url = "//<%= CONFIG.node_api_host %>/taxa/" + id; if( params ) { url += "?" + $.param(params); } From b6506ea31d93331db4cdf75848d3d0952767a668 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 12:43:55 -0500 Subject: [PATCH 58/70] small fixes before pull request --- .../ang/controllers/observation_search.js | 2 +- app/assets/javascripts/i18n/translations.js | 96 +++++++++---------- .../plugins/inat/taxon_autocomplete.js.erb | 3 +- app/controllers/observations_controller.rb | 2 +- config/locales/en.yml | 2 + 5 files changed, 54 insertions(+), 51 deletions(-) diff --git a/app/assets/javascripts/ang/controllers/observation_search.js b/app/assets/javascripts/ang/controllers/observation_search.js index 2265b4d1c3c..f9358da331e 100644 --- a/app/assets/javascripts/ang/controllers/observation_search.js +++ b/app/assets/javascripts/ang/controllers/observation_search.js @@ -723,7 +723,7 @@ function( ObservationsFactory, PlacesFactory, TaxaFactory, shared, $scope, $root if( !$( "#filter-container" ).is( e.target ) && $( "#filter-container" ).has( e.target ).length === 0 && $( ".open" ).has( e.target ).length === 0 && - $( e.target ).closest('.ui-autocomplete').length === 0 && + $( e.target ).parents('.ui-autocomplete').length === 0 && $( e.target ).parents('.ui-datepicker').length === 0 && $( e.target ).parents('.ui-datepicker-header').length === 0 && $( e.target ).parents('.ui-multiselect-menu').length === 0 && diff --git a/app/assets/javascripts/i18n/translations.js b/app/assets/javascripts/i18n/translations.js index ed611427139..a501a2c4170 100644 --- a/app/assets/javascripts/i18n/translations.js +++ b/app/assets/javascripts/i18n/translations.js @@ -1,55 +1,55 @@ I18n.translations || (I18n.translations = {}); -I18n.translations["ar"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["az"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["bg"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["ar"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["az"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["bg"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; I18n.translations["br"] = {"about_community_taxa":"Diwar-benn taksonioù ar gumuniezh","add":"Ouzhpennañ","add_photos_to_this_observation":"Ouzhpennañ luc'hskeudennoù d'an evezhaiadenn-mañ","added":"Ouzhpennet","added!":"Ouzhpennet!","added_on":"Ouzhpennet d'an","additional_range":"Lijorenn ouzhpenn","additional_range_data_from_an_unknown_source":"Pajennad roadennoù ouzhpenn adalek un tarzh dianav","all":"An holl","all_taxa":{"rank":{"kingdom":"Rouantelezh","class":"Rummad","species":"Spesadoù","order":"Urzh"},"amphibians":"Divelfenneged","animals":"Loened","arachnids":"Araknid","birds":"Laboused","chromista":"Chromista","fungi":"Togoù-touseg","insects":"Amprevaned","mammals":"Bronneged","mollusks":"Blotviled","other_animals":"Loened all","plants":"Plant","protozoans":"Protozoed","reptiles":"Stlejviled","life":"Bev","x_plantae":{"one":"1 blantenn","other":"%{count} plant"},"x_animalia":{"one":"1 loen","other":"%{count} loen"},"x_mollusca":{"one":"1 blotvil","other":"%{count} blotvil"},"x_amphibia":{"one":"1 divelfenneg","other":"%{count} divelfenneg"},"x_mammalia":{"one":"1 bronneg","other":"%{count} bronneg"},"x_reptilia":{"one":"1 stlejvil","other":"%{count} stlejvil"},"x_aves":{"one":"1 lapous","other":"%{count} lapous"},"x_insecta":{"one":"1 amprevan","other":"%{count} amprevan"},"x_arachnida":{"one":"1 araknidenn","other":"%{count} araknidenn"},"x_fungi":{"one":"1 tog-touseg","other":"%{count} tog-touseg"},"x_protozoa":{"one":"1 brotozoenn","other":"%{count} protozoenn"},"x_other_animals":{"one":"1 loen all","other":"%{count} loened all"},"common_name(locale: :en)":{"name":{"parameterize":{}}},"ray_finned_fishes":"Ray-Finned Fishes"},"any":"forzh pehini","are_you_sure_you_want_to_remove_all_tags":"Ha sur eo hoc'h eus c'hoant da zilemel an holl liketennoù ?","are_you_sure_you_want_to_remove_these_x_taxa?":"Ha sur eo hoc'h eus c'hoant da zilemel an taksonoù-mañ %{x} ?","asc":"pignat","atom":"Atom","black":"du","blue":"glas","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"Gell","browse":"Furchal","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Dibabit ho luc'hskeudennoù evit an takson-mañ","clear":"riñsañ","colors":"Livioù","community_curated":"Community Curated","confirmed":"kadarnaet","created_on":"Krouet d'an","critically_endangered":"critically endangered","data_deficient":"Roadennoù skort","date_added":"Deiziad ouzhpennet","date_format":{"month":{"january":"Genver","february":"C'hwevrer","march":"Meurzh","april":"Ebrel","may":"Mae","june":"Mezheven","july":"Gouere","august":"Eost","september":"Gwengolo","october":"Here","november":"Du","december":"Kerzu"}},"date_observed":"Deiziad evezhiet","date_picker":{"closeText":"Serriñ","currentText":"Hiziv","prevText":"Kent","nextText":"War-lerc'h","monthNames":"['Genver', 'C'hwevrer', 'Meurzh', 'Ebrel', 'Mae', 'Mezheven', 'Gouere', 'Eost', 'Gwengolo', 'Here', 'Du', 'Kerzu']","monthNamesShort":"['Gen.','C'hwe.','Meur.','Ebr.','Mae','Mezh.','Goue.','Eost','Gwen.','Here','Du','Kzu']","dayNames":"['Sul', 'Lun', 'Meurzh', 'Merc'her', 'Yaou', 'Gwener', 'Sadorn']","dayNamesShort":"['Sul','Lun','Meu.','Mer.','Yaou','Gwe.','Sad.']","dayNamesMin":"['Su','L','Mz','Mc','Y','G','Sa']"},"deleting_verb":"Dilemel","desc":"War zigresk","description_slash_tags":"Description / Tags","did_you_mean":"N'hoc'h eus ket soñjet kentoc'h e","doh_something_went_wrong":"D'oh, something went wrong.","download":"Pellgargañ","edit_license":"Kemmañ an aotre-implijout","eligible_for_research_grade":"Eligible for Research Grade","end":"Dibenn","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Lec'hiadur resis","exit_full_screen":"Exit full screen","exporting":"Oc'h ezporzhiañ...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"Lakaet da dalvezout","filters":"Siloù","find":"Klask","find_observations":"Kavout evezhiadennoù","find_photos":"Kavout luc'hskeudennoù","find_your_current_location":"Find your current location","flag_an_item":"Merkañ un elfenn","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"Eus","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Douarbrevezded","green":"gwer","grey":"gris","grid":"Kael","grid_tooltip":"Diskwel ar gwel er mod kael","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Enporzhiañ","including":"en ur gontañ e-barzh","input_taxon":"Ebarzhiñ un takson","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"Ar furmad KML a rank bezañ 1Mo da nebeutañ","labels":"Labelioù","layers":"Layers","least_concern":"least concern","list":"Roll","list_tooltip":"Show list view","loading":"O kargañ...","lookup":"Klask","low":"low","map":"Kartenn","map_legend":"alc'hwez ar gartenn","map_marker_size":"ment ar merker war ar gartenn","map_tooltip":"Diskouez ar gwel eus ar gartenn","maps":{"overlays":{"all_observations":"An holl evezhiadennoù"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Anv","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"War-lerc'h","no":"Ket","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Kuzhet","observation_date":"Deiziad","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"eus","open":"digor","orange":"orañjez","output_taxon":"Output taxon","person":"den","photo":"Luc'hskeudenn","photo_licensing":"Photo licensing","pink":"roz","place":"Lec'h","place_geo":{"geo_planet_place_types":{"Aggregate":"Strollet","aggregate":"strollet","Airport":"Aerborzh","airport":"Aerborzh","Building":"O sevel","building":"o sevel","Colloquial":"Kaozeek","colloquial":"kaozeek","Continent":"Kevandir","continent":"kevandir","Country":"Bro","country":"bro","County":"Kontelezh","county":"kontelezh","District":"Distrig","district":"distrig","Drainage":"Diazad hidrografek","drainage":"diazad hidrografek","Estate":"Stad","estate":"stad","Historical_County":"Kontelezh istorel","historical_county":"kontelezh istorel","Historical_State":"Stad istorel","historical_state":"Stad istorel","Historical_Town":"Kêr istorel","historical_town":"kêr istorel","Intersection":"Kroashent","intersection":"kroashent","Island":"Enez","island":"enez","Land_Feature":"Perzh an dachenn","land_feature":"perzh an dachenn","Local_Administrative_Area":"Unvez velestradurel lec'hel","local_administrative_area":"unvez velestradurel lec'hel","Miscellaneous":"A bep seurt","miscellaneous":"a bep seurt","Nationality":"Broadelezh","nationality":"broadelezh","Nearby_Building":"Savadur e-kichen","nearby_building":"savadur e-kichen","Nearby_Intersection":"Kroashent e-kichen","nearby_intersection":"kroashent e-kichen","Open_Space":"Takad digor","open_space":"open_space","Postal_Code":"Kod-post","postal_code":"kod-post","Province":"Proviñs","province":"proviñs","Region":"Rannvro","region":"rannvro","Sports_Team":"Skipailh sport","sports_team":"skipaih sport","State":"Stad","state":"Stad","Street":"Straed","street":"straed","Street_Segment":"Pennad hent","street_segment":"pennad hent","Suburb":"Banlev","suburb":"banlev","Supername":"Lesanv","supername":"lesanv","Territory":"Tiriad","territory":"tiriad","Time_Zone":"Gwerzhid-eur","time_zone":"gwerzhid-eur","Town":"Kêr","town":"Kêr","Undefined":"Andermenet","undefined":"andermenet","Zone":"Takad","zone":"takad"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"kent","preview":"Preview","project":"Raktres","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 Pennroll","other":"%{count} Pennrolloù"},"x_identifications":{"one":"1 anaoudadur","other":"%{count} anaoudadurioù"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e takson kenglotus","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taksonoù kenglotus"},"x_observations":{"one":"1 evezhiadenn","other":"%{count} evezhiadennoù"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e evezhiadenn","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e evezhiadennoù"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e spesad","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e spesadoù"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["bs"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["ca"] = {"about_community_taxa":"Sobre la comunitat de tàxons","add":"Afegiu","add_photos_to_this_observation":"Afegiu fotos a aquesta observació","added":"Afegit","added!":"Afegit!","added_on":"Afegit el","additional_range":"Distribució addicional","additional_range_data_from_an_unknown_source":"Dades addicionals de distribució des de font desconeguda","all":"Tots","all_taxa":{"rank":{"kingdom":"Regne","class":"Classe","phylum":"Fílum","species":"Espècie","order":"Ordre"},"amphibians":"Amfibis","animals":"Animals","arachnids":"Aràcnids: Aranyes, alacrans i altres","birds":"Aus","chromista":"Algues brunes i parents","fungi":"Fongs","insects":"Insectes","mammals":"Mamífers","mollusks":"Mol·luscs","other_animals":"Altres animals","plants":"Plantes","protozoans":"Protozous","ray_finned_fishes":"Peixos amb aletes radiades","reptiles":"Rèptils","life":"Vida","x_plantae":{"one":"1 planta","other":"%{count} plantes"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mol·lusc","other":"%{count} mol·luscs"},"x_amphibia":{"one":"1 amfibi","other":"%{count} amfibis"},"x_mammalia":{"one":"1 mamífer","other":"%{count} mamífers"},"x_actinopterygii":{"one":"1 peix amb aletes radiades","other":"%{count} peixos amb aletes radiades"},"x_reptilia":{"one":"1 rèptil","other":"%{count} rèptils"},"x_aves":{"one":"1 au","other":"%{count} aus"},"x_insecta":{"one":"1 insecte","other":"%{count} insectes"},"x_arachnida":{"one":"1 aràcnid","other":"%{count} aràcnids"},"x_fungi":{"one":"1 fong","other":"%{count} fongs"},"x_chromista":{"one":"1 alga bruna","other":"%{count} algues brunes"},"x_protozoa":{"one":"1 protozou","other":"%{count} protozous"},"x_other_animals":{"one":"1 altre animal","other":"%{count} altres animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"qualsevol","are_you_sure_you_want_to_remove_all_tags":"Esteu segur que voleu eliminar totes les etiquetes?","are_you_sure_you_want_to_remove_these_x_taxa?":"Esteu segur que voleu eliminar aquests %{x} tàxons?","asc":"asc","atom":"Atom","black":"negre","blue":"blau","blue_butterfly_etc":"blau, papallona, etc.","bounding_box":"Contenidor","brown":"marró","browse":"Navega","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Seleccioneu fotos per a aquest tàxon","clear":"Neteja","colors":"Colors","community_curated":"Supervisat per la Comunitat","confirmed":"confirmada","created_on":"Creat el","critically_endangered":"en perill crític","data_deficient":"dades insuficients","date_added":"Afegit en data:","date_format":{"month":{"january":"Gener","february":"Febrer","march":"Març","april":"Abril","may":"Maig","june":"Juny","july":"Juliol","august":"Agost","september":"Setembre","october":"Octubre","november":"Novembre","december":"Desembre"}},"date_observed":"Data d'observació","date_picker":{"closeText":"Tanca","currentText":"Avui","prevText":"Ant","nextText":"Seg.","monthNames":"['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre']","monthNamesShort":"['Gen','Feb','Mar','Abr','Mai','Jun','Jul','Ago','Set','Oct','Nov','Des']","dayNames":"['Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte']","dayNamesShort":"['dg','dl','dt','dc','dj','dv','ds']","dayNamesMin":"['dg','dl','dt','dc','dj','dv','ds']"},"deleting_verb":"Eliminant","desc":"desc","description_slash_tags":"Descripció / Etiquetes","did_you_mean":"Es refereix a","doh_something_went_wrong":"Alguna cosa no ha anat bé.","download":"Descarrega:","edit_license":"Modifica la llicència","eligible_for_research_grade":"Elegible per a grau de Recerca","end":"Final","endangered":"en perill","endemic":"endèmica","exact_date":"Data exacta","exact_location":"Ubicació exacta","exit_full_screen":"Surt del mode de pantalla completa.","exporting":"Exportant...","extinct":"extint","extinct_in_the_wild":"extingit en estat silvestre","failed_to_find_your_location":"No ha estat possible trobar la vostra localització","featured":"Destacats","filters":"Filtres","find":"Troba","find_observations":"Troba observacions","find_photos":"Troba fotos","find_your_current_location":"Troba la vostra localització actual","flag_an_item":"Marca un contingut","flickr_has_no_creative_commons":"Flickr no té fotos etiquetades amb llicència Creative Commons per a aquest lloc.","from":"de","full_screen":"Pantalla complerta","gbif_occurrences":"Registres de GBIF","geoprivacy":"Geoprivacitat","green":"verd","grey":"gris","grid":"Quadrícula","grid_tooltip":"Mostra la visualització en quadrícula","has_one_or_more_faves":"Té un o més favorits","has_photos":"té fotos","has_sounds":"té sons","high":"alta","his":{},"identifications":"Identificacions","import":"Importa","including":"inclou","input_taxon":"Introduir tàxon","introduced":"va introduir","join_project":"Uniu-vos a aquest projecte","joined!":"Unit!","kml":"KML","kml_file_size_error":"L'arxiu KML ha de ser de menys de 1 MB","labels":"Etiquetes","layers":"Capes","least_concern":"preocupació menor","list":"Llista","list_tooltip":"Mostrar la vista de llista","loading":"Carregant...","lookup":"Cerca","low":"baixa","map":"Mapa","map_legend":"llegenda del mapa","map_marker_size":"mida del marcador del mapa","map_tooltip":"Mostra la vista del mapa","maps":{"overlays":{"all_observations":"Totes les observacions"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Multimèdia","momentjs":{"shortRelativeTime":{"future":"a %s","past":"%s","s":"s","m":"1m","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1m","MM":"%dm","1":"1a","yy":"%da"}},"months":"Mesos","more_filters":"Més filtres","name":"Nom","native":"nativa","near_threatened":"gairebé amenaçat","needs_id":"necessita ID","new_observation_field":"Nou camp d'observació","next":"Següent","no":"No","no_more_taxa_to_load":"Ja no queden més tàxons per carregar!","no_observations_from_this_place_yet":"Encara no hi ha observacions per a aquest lloc.","no_observations_yet":"Encara no s'han afegit observacions a aquest projecte","no_places_available":"No hi ha llocs disponibles","no_range_data_available":"No hi ha cap rang de dades disponible","no_results_for":"Sense resultats per a","no_results_found":"No s'han trobat resultats.","no_sections_available":"Sense seccions disponibles.","none":"Cap","not_evaluated":"no avaluat","number_selected":"# selected","obscured":"Enfosquida","observation_date":"Data","observation_fields":"Camps d'observació","observations":"Observacions","observed":"Observat el","observed_on":"Observat el","of":"de","open":"Transparent","orange":"taronja","output_taxon":"Tàxon de sortida","person":"persona","photo":"Foto","photo_licensing":"Llicència de la foto","pink":"rosa","place":"Lloc","place_geo":{"geo_planet_place_types":{"Aggregate":"Agregat","aggregate":"agregat","Airport":"Aeroport","airport":"aeroport","Building":"Construcció","building":"construcció","Colloquial":"Col·loquial","colloquial":"col·loquial","Continent":"Continent","continent":"continent","Country":"Estat","country":"estat","County":"País","county":"país","District":"Districte","district":"districte","Drainage":"Drenatge","drainage":"drenatge","Estate":"Immoble","estate":"immoble","Historical_County":"País històric","historical_county":"país històric","Historical_State":"Estat històric","historical_state":"estat històric","Historical_Town":"Poble històric","historical_town":"poble històric","Intersection":"Intersecció","intersection":"intersecció","Island":"Illa","island":"illa","Land_Feature":"Característica de terreny","land_feature":"característica del terreny","Local_Administrative_Area":"Àrea administrativa local","local_administrative_area":"àrea administrativa local","Miscellaneous":"Divers","miscellaneous":"divers","Nationality":"Nacionalitat","nationality":"nacionalitat","Nearby_Building":"Prop d'una construcció","nearby_building":"prop d'una construcció","Nearby_Intersection":"Intersecció propera","nearby_intersection":"intersecció propera","Open_Space":"Espai obert","open_space":"espai obert","Point_of_Interest":"Punt d'interès","point_of_interest":"punt d'interès","Postal_Code":"Codi Postal","postal_code":"codi postal","Province":"Província","province":"província","Region":"Regió","region":"regió","Sports_Team":"Equip esportiu","sports_team":"equip esportiu","State":"Estat","state":"estat","Street":"Carrer","street":"carrer","Street_Segment":"Segment de carrer","street_segment":"segment de carrer","Suburb":"Suburbi","suburb":"suburbi","Supername":"Supernom","supername":"supernom","Territory":"Territori","territory":"territori","Time_Zone":"Zona horària","time_zone":"zona horària","Town":"Poble","town":"poble","Undefined":"Indefinit","undefined":"indefinit","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Llocs afegits per membres de la comunitat","places_maintained_by_site_admins":"Llocs mantinguts per administradors del lloc","places_of_interest":"Llocs d'interès","popular":"popular","prev":"Anterior","preview":"Vista prèvia","project":"Projecte","purple":"porpra","quality_grade":"Grau de qualitat","range":"Interval","range_from":"Distribució de","rank":"Rang","rank_position":"Rank","ranks":{"kingdom":"regne","phylum":"fílum","subphylum":"subfílum","superclass":"superclasse","class":"classe","subclass":"subclasse","superorder":"superordre","order":"ordre","suborder":"subordre","infraorder":"infra-ordre","superfamily":"superfamília","epifamily":"epifamília","family":"família","subfamily":"subfamília","supertribe":"supertribu","tribe":"tribu","subtribe":"subtribu","genus":"gènere","genushybrid":"gènere híbrid","species":"espècies","hybrid":"híbrid","subspecies":"subespècies","variety":"varietat","form":"forma","leaves":"fulles"},"red":"vermell","redo_search_in_map":"Refer la cerca al mapa","reload_timed_out":"El temps de càrrega ha caducat. Torneu a intentar-ho d’aquí una estona.","removed!":"Eliminat!","removing":"Eliminant...","research":"recerca","research_grade":"grau de recerca","reset_search_filters":"Refer els filtres de cerca","reviewed":"Revisat","satellite":"satèl·lit","saving":"Desant...","saving_verb":"Desant","search":"Cerca","search_external_name_providers":"Cerca proveïdors de noms externs","search_remote":"Cerca remota","select":"Selecciona","select_all":"Selecciona-ho tot","select_none":"No en seleccioneu cap","select_options":"Seleccioneu opcions","selected_photos":"Fotos seleccionades","show":"Mostra","show_taxa_from_everywhere":"Mostra tàxons de tot arreu","show_taxa_from_place":"Mostra tàxon de %{place}","showing_taxa_from_everywhere":"Mostrant tàxons de tot arreu","showing_taxa_from_place":"Mostrant tàxons de %{place}","something_went_wrong_adding":"Alguna cosa no ha anat bé en afegir aquesta espècie a la vostra llista","sort_by":"Ordena per","sounds":{"selected_sounds":"Sons seleccionats"},"source":"Font","species":"Espècies","species_unknown":"Espècie desconeguda","standard":"Estàndard","start":"Inici","start_typing_taxon_name":"Comença a escriure el nom del tàxon...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Taula","tagging":"Etiquetant...","taxon_map":{"overlays":"Capes"},"taxonomic_groups":"Grups taxonòmics","terrain":"terreny","the_world":"El Món","there_were_problems_adding_taxa":"Hi ha hagut problemes afegint aquells tàxons: %{errors}","threatened":"amenaçat","today":"Avui","unknown":"Desconegut","update_search":"Actualitzeu la cerca","update_x_selected_taxa":{"one":"Actualitzar el tàxon seleccionat","other":"Actualitzar els %{count} tàxons seleccionats"},"url_slug_or_id":"URL o ID, p.e. el-meu-projecte o 333","use_name_as_a_placeholder":"Utilitza \u003cspan class=\"ac-placeholder\"\u003e\"%{name}\"\u003c/span\u003e com a marcador del lloc","user":"Usuari","username_or_user_id":"Nom o identificador de l'usuari","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verificable","view":"Mostra","view_more":"Mostra més","view_observation":"Mostra observació","views":{"observations":{"export":{"taking_a_while":"Això està requerint una mica de temps. Si us plau, prova una de les opcions de sota.","well_email_you":"D'acord, t'enviarem un correu electrònic quan estigui llest"}}},"vulnerable":"vulnerable","white":"blanc","wild":"salvatge","x_comments":{"one":"1 comentari","other":"%{count} comentaris"},"x_faves":{"one":"1 favorit","other":"%{count} favorits"},"x_identifications":{"one":"1 identificació","other":"%{count} identificacions"},"x_matching_taxa_html":{"one":"\u003cspan class='count'\u003e1\u003c/span\u003e tàxon coincident","other":"\u003cspan class='count'\u003e%{count}\u003c/span\u003e tàxons coincidents"},"x_observations":{"one":"1 observació","other":"%{count} observacions"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observació","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observacions"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"groc","yes":"Sí­","yesterday":"Ahir","you_are_not_editing_any_guides_add_one_html":"No esteu editant cap guia. \u003ca href=\"/guides/new\"\u003eAfegiu una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Heu de seleccionar al menys un tàxon","your_hard_drive":"El vostre disc dur","your_observations":"Les vostres observacions","zoom_in":"Apropar Zoom","zoom_out":"Allunyar Zoom"}; -I18n.translations["cs"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["da"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["de"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["el"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["en"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["en-GB"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["en-US"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["es"] = {"about_community_taxa":"Sobre los taxones comunitarios","add":"Añadir","add_photos_to_this_observation":"Añade fotos a esta observación","added":"Añadido","added!":"¡Añadido!","added_on":"Añadido el","additional_range":"Distribución adicional","additional_range_data_from_an_unknown_source":"Datos de distribución adicional de fuente desconocida","all":"Todos","all_taxa":{"amphibians":"Anfibios","animals":"Animales","arachnids":"Arácnidos","birds":"Aves","chromista":"Algas pardas y parientes","fungi":"Hongos","insects":"Insectos","life":"Vida","mammals":"Mamíferos","mollusks":"Moluscos","other_animals":"Otros animales","plants":"Plantas","protozoans":"Protozoarios","rank":{"class":"Clase","kingdom":"Reino","order":"Orden","phylum":"Phylum","species":"Especie"},"ray_finned_fishes":"Peces con aletas radiadas","reptiles":"Reptiles","singularize":{"algas_pardas_y_parientes":"Alga parda y parientes","anfibios":"Anfibio","animales":"Animal","aranas_alacranes_y_parientes":"Araña, alacrán y parientes","aves":"Ave","hongos":"Hongo","insectos":"Insecto","mamiferos":"Mamífero","molluscos":"Molusco","otros_animales":"Otro animal","peces_con_aletas_radiadas":"Pez con aletas radiadas","plantas":"Planta","protozoarios":"Protozoario","reptiles":"Reptil"},"x_actinopterygii":{"one":"1 pez con aletas radiadas","other":"%{count} peces con aletas radiadas"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibios"},"x_animalia":{"one":"1 animal","other":"%{count} animales"},"x_arachnida":{"one":"1 arácnido","other":"%{count} arácnidos"},"x_aves":{"one":"1 ave","other":"%{count} aves"},"x_chromista":{"one":"1 alga parda y parientes","other":"%{count} algas pardas y parientes"},"x_fungi":{"one":"1 hongo","other":"%{count} hongos"},"x_insecta":{"one":"1 insecto","other":"%{count} insectos"},"x_mammalia":{"one":"1 mamífero","other":"%{count} mamíferos"},"x_mollusca":{"one":"1 molusco","other":"%{count} moluscos"},"x_other_animals":{"one":"1 otro animal","other":"%{count} otros animales"},"x_plantae":{"one":"1 planta","other":"%{count} plantas"},"x_protozoa":{"one":"1 protozoario","other":"%{count} protozoarios"},"x_reptilia":{"one":"1 reptil","other":"%{count} reptiles"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"cualquiera","are_you_sure_you_want_to_remove_all_tags":"¿Estás seguro que deseas eliminar todas las etiquetas?","are_you_sure_you_want_to_remove_these_x_taxa?":"¿Estás seguro de que quieres quitar estos %{x} taxones?","asc":"asc","atom":"Atom","black":"negro","blue":"azul","blue_butterfly_etc":"azul, mariposa, etc.","bounding_box":"Contenedor","brown":"café","browse":"Navegar","casual":"casual","categories":"categorías","choose_photos_for_this_taxon":"Seleccionar fotos para este taxón","clear":"Limpiar","colors":"Colores","community_curated":"Supervisado por la Comunidad","confirmed":"confirmadas","created_on":"Creado el","critically_endangered":"en peligro crítico","data_deficient":"datos insuficientes","date_added":"Fecha agregada","date_format":{"month":{"january":"Enero","february":"Febrero","march":"Marzo","april":"Abril","may":"Mayo","june":"Junio","july":"Julio","august":"Agosto","september":"Septiembre","october":"Octubre","november":"Noviembre","december":"Diciembre"}},"date_observed":"Fecha de observación","date_picker":{"closeText":"Cerrar","currentText":"Hoy","prevText":"Anterior","nextText":"Siguiente","monthNames":"['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']","monthNamesShort":"['ene','feb','mar','abr', 'may','jun','jul','ago','sep', 'oct','nov','dic']","dayNames":"['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']","dayNamesShort":"['dom','lun','mar','mié','jue','vie','sáb']","dayNamesMin":"['do','lu','ma','mi','ju','vi','sá']"},"deleting_verb":"Eliminando","desc":"desc","description_slash_tags":"Descripción / Etiquetas","did_you_mean":"¿Te refieres a","doh_something_went_wrong":"Algo salió mal.","download":"Descargar","edit_license":"Modificar licencia","eligible_for_research_grade":"Elegible para grado de Investigación","end":"Final","endangered":"en peligro","endemic":"endémica","exact_date":"Fecha exacta","exact_location":"Ubicación exacta","exit_full_screen":"Salir de la pantalla completa","exporting":"Exportando...","extinct":"extinto","extinct_in_the_wild":"extint en estado silvestre","failed_to_find_your_location":"No ha sido posible encontrar su localización.","featured":"Destacados","filters":"Filtros","find":"Encuentra","find_observations":"Encuentra observaciones","find_photos":"Encontrar Fotos","find_your_current_location":"Encontrar la localización actual","flag_an_item":"Marcar un elemento","flickr_has_no_creative_commons":"Flickr no tiene fotos etiquetadas con Creative Commons para este lugar.","from":"de","full_screen":"Pantalla completa","gbif_occurrences":"Registros de GBIF","geoprivacy":"Geoprivacidad","green":"verde","grey":"gris","grid":"Cuadrícula","grid_tooltip":"Mostrar la vista de rejilla","has_one_or_more_faves":"Tiene uno o más favoritos","has_photos":"tiene fotos","has_sounds":"tiene sonidos","high":"alta","his":{},"identifications":"Identificaciones","import":"Importar","including":"incluyendo","input_taxon":"Taxón de entrada","introduced":"introdujo","join_project":"Unirse a este proyecto","joined!":"¡Unido!","kml":"KML","kml_file_size_error":"KML debe ser menor a 1 MB de tamaño","labels":"Etiquetas","layers":"Capas","least_concern":"preocupación menor","list":"Lista","list_tooltip":"Muestra la vista de lista","loading":"Cargando...","lookup":"Buscar","low":"baja","map":"Mapa","map_legend":"leyenda del mapa","map_marker_size":"tamaño del marcador de mapa","map_tooltip":"Muestra la vista de mapa","maps":{"overlays":{"all_observations":"Todas las observaciones"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Multimedia","momentjs":{"shortRelativeTime":{"future":"en %s","past":"%s","s":"s","m":"1m","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1m","MM":"%dm","1":"1a","yy":"%da"}},"months":"Meses","more_filters":"Más filtros","name":"Nombre","native":"nativa","near_threatened":"casi amenazado","needs_id":"necesita identificador","new_observation_field":"Nuevo campo de observación","next":"Siguiente","no":"No","no_more_taxa_to_load":"No hay más taxones que cargar.","no_observations_from_this_place_yet":"Aún no hay observaciones de especies para este lugar.","no_observations_yet":"No se han agregado observaciones a este proyecto todavía","no_places_available":"No hay lugares disponibles","no_range_data_available":"No hay un rango de datos disponible","no_results_for":"Sin resultados para","no_results_found":"No se encontraron resultados.","no_sections_available":"No hay secciones disponibles","none":"Ninguno","not_evaluated":"no evaluado","number_selected":"# selected","obscured":"Difusa","observation_date":"Fecha","observation_fields":"Campos de observación","observations":"Observaciones","observed":"Observado el","observed_on":"Observado el","of":"de","open":"Transparente","orange":"naranja","output_taxon":"Taxón de salida","person":"persona","photo":"Foto","photo_licensing":"Licencia de la foto","pink":"rosa","place":"Lugar","place_geo":{"geo_planet_place_types":{"Aggregate":"Añadido","Airport":"Aeropuerto","Building":"Construcción","Colloquial":"Coloquial","Continent":"Continente","Country":"País","County":"Condado","Drainage":"Drenaje","Estate":"Inmuebles","Historical_County":"Condado Histórico","Historical_State":"Estado Histórico","Historical_Town":"Pueblo Histórico","Intersection":"Intersección","Island":"Isla","Land_Feature":"Tierra Característica","Local_Administrative_Area":"Área Administrativa Local","Miscellaneous":"Diverso","Nationality":"Nacionalidad","Nearby_Building":"Cerca de una Construcción","Nearby_Intersection":"Intersección cercana","Open_Space":"Espacio Abierto","Point_of_Interest":"Punto de Interes","Postal_Code":"Código postal","Region":"Región","Sports_Team":"Equipo Deportivo","State":"Estado","Street":"Calle","Street_Segment":"Segmento de Calle","Suburb":"Suburbio","Supername":"Super Nombre","Territory":"Territorio","Time_Zone":"Huso horario","Town":"Pueblo","Undefined":"Indefinido","Zone":"Zona","aggregate":"añadido","airport":"aeropuerto","building":"construcción","colloquial":"coloquial","continent":"continente","country":"país","county":"condado","drainage":"drenaje","estate":"inmuebles","historical_county":"condado histórico","historical_state":"estado histórico","historical_town":"pueblo histórico","intersection":"intersección","island":"isla","land_feature":"tierra característica","local_administrative_area":"área administrativa local","miscellaneous":"diverso","nationality":"nacionalidad","nearby_building":"cerca de una construcción","nearby_intersection":"intersección cercana","open_space":"espacio abierto","point_of_interest":"punto de interes","postal_code":"código postal","region":"Región","sports_team":"equipo deportivo","state":"estado","street":"calle","street_segment":"segmento de calle","suburb":"suburbio","supername":"super nombre","territory":"territorio","time_zone":"Huso horario","town":"pueblo","undefined":"indefinido","zone":"zona","District":"Distrito","district":"Distrito","Province":"Provincia","province":"Provincia"}},"places_added_by_members_of_the_community":"Lugares añadidos por miembros de la comunidad","places_maintained_by_site_admins":"Lugares mantenidos por administradores del sitio","places_of_interest":"Lugares de Interés","popular":"popular","prev":"Anterior","preview":"Vista previa","project":"Proyecto","purple":"púrpura","quality_grade":"Grado de calidad","range":"Intervalo","range_from":"Distribución de","rank":"Rango","rank_position":"Posición","ranks":{"class":"clase","family":"Familia","form":"Forma","genus":"Género","genushybrid":"Género híbrido","hybrid":"Híbrido","kingdom":"reino","order":"Orden","phylum":"Filo","species":"Especies","subclass":"subclase","subfamily":"Subfamilia","suborder":"Suborden","subphylum":"Subfilo","subspecies":"Subespecies","subtribe":"Subtribu","superclass":"superclase","superfamily":"Superfamilia","superorder":"Superorden","supertribe":"Supertribu","tribe":"Tribu","variety":"Variedad","infraorder":"infraorden","epifamily":"epifamilia","leaves":"hojas"},"red":"rojo","redo_search_in_map":"Rehacer búsqueda en mapa","reload_timed_out":"El tiempo de carga expiró. Por favor trate de nuevo en un momento.","removed!":"¡Eliminado!","removing":"Eliminando...","research":"investigación","research_grade":"grado de investigación","reset_search_filters":"Restablecer los filtros de búsqueda","reviewed":"Revisada","satellite":"satélite","saving":"Guardando...","saving_verb":"Guardando","search":"Buscar","search_external_name_providers":"Buscar proveedores de nombres externos","search_remote":"Búsqueda remota","select":"Selecciona","select_all":"Seleccionar todo","select_none":"No seleccionar ninguno","select_options":"Seleccione opciones","selected_photos":"Fotos seleccionada","show":"Mostrar","show_taxa_from_everywhere":"Mostrar taxones de todas partes","show_taxa_from_place":"Mostrar taxones de %{place}","showing_taxa_from_everywhere":"Mostrando taxones de todas partes","showing_taxa_from_place":"Mostrando taxones de %{place}","something_went_wrong_adding":"Algo salió mal al agregar esa especie a su lista","sort_by":"Ordenar por","sounds":{"selected_sounds":"Sonidos seleccionados"},"source":"Fuente","species":"Especies","species_unknown":"Especies desconocidas","standard":"Estándar","start":"Inicio","start_typing_taxon_name":"Comience a digitar el nombre del especies…","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Tabla","tagging":"Etiquetando…","taxon_map":{"overlays":"Capas"},"taxonomic_groups":"Grupos Taxonómicos","terrain":"terreno","the_world":"El mundo","there_were_problems_adding_taxa":"Ocurrieron problemas al añadir esos taxones: %{errors}","threatened":"amenazado","today":"Hoy","unknown":"Desconocido","update_search":"Actualizar búsqueda","update_x_selected_taxa":{"one":"Actualización de 1 taxón seleccionado","other":"Actualización de %{count} taxones seleccionados"},"url_slug_or_id":"mi-proyecto de oro 333","use_name_as_a_placeholder":"Usa \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e como un marcador de posición","user":"Usuario","username_or_user_id":"Nombre o identificador del usuario","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verificable","view":"Ver","view_more":"Ver más","view_observation":"Ver observación","views":{"observations":{"export":{"taking_a_while":"Esto está tomando un tiempo. Por favor, intente una de las siguientes opciones.","well_email_you":"Ok, le enviaremos un mensaje cuando esté listo."}}},"vulnerable":"vulnerable","white":"blanco","wild":"salvaje","x_comments":{"one":"1 comentario","other":"%{count} comentarios"},"x_faves":{"one":"1 favorito","other":"%{count} favoritos"},"x_identifications":{"one":"1 identificación","other":"%{count} identificaciones"},"x_matching_taxa_html":{"other":"=\u003cspan class=\"count\"\u003e1\u003c/span\u003e coincidencia de taxón"},"x_observations":{"one":"1 observación","other":"%{count} observaciones"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observación","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observaciones"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e especie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e especies"},"yellow":"amarillo","yes":"Sí","yesterday":"Ayer","you_are_not_editing_any_guides_add_one_html":"No estas editando ninguna de las guías. \u003ca href=\"/guides/new\"\u003eAgrega una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Debe seleccionar al menos un taxón","your_hard_drive":"Su disco duro","your_observations":"Sus observaciones","zoom_in":"Acercar Zoom","zoom_out":"Alejar Zoom"}; +I18n.translations["bs"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["ca"] = {"about_community_taxa":"Sobre la comunitat de tàxons","add":"Afegiu","add_photos_to_this_observation":"Afegiu fotos a aquesta observació","added":"Afegit","added!":"Afegit!","added_on":"Afegit el","additional_range":"Distribució addicional","additional_range_data_from_an_unknown_source":"Dades addicionals de distribució des de font desconeguda","all":"Tots","all_taxa":{"rank":{"kingdom":"Regne","class":"Classe","phylum":"Fílum","species":"Espècie","order":"Ordre"},"amphibians":"Amfibis","animals":"Animals","arachnids":"Aràcnids: Aranyes, alacrans i altres","birds":"Aus","chromista":"Algues brunes i parents","fungi":"Fongs","fungi_including_lichens":"Fongs, incloent-hi les líquens","insects":"Insectes","mammals":"Mamífers","mollusks":"Mol·luscs","other_animals":"Altres animals","plants":"Plantes","protozoans":"Protozous","ray_finned_fishes":"Peixos ossis","reptiles":"Rèptils","life":"Vida","x_plantae":{"one":"1 planta","other":"%{count} plantes"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mol·lusc","other":"%{count} mol·luscs"},"x_amphibia":{"one":"1 amfibi","other":"%{count} amfibis"},"x_mammalia":{"one":"1 mamífer","other":"%{count} mamífers"},"x_actinopterygii":{"one":"1 peix ossi","other":"%{count} peixos ossis"},"x_reptilia":{"one":"1 rèptil","other":"%{count} rèptils"},"x_aves":{"one":"1 au","other":"%{count} aus"},"x_insecta":{"one":"1 insecte","other":"%{count} insectes"},"x_arachnida":{"one":"1 aràcnid","other":"%{count} aràcnids"},"x_fungi":{"one":"1 fong","other":"%{count} fongs"},"x_chromista":{"one":"1 alga bruna","other":"%{count} algues brunes"},"x_protozoa":{"one":"1 protozou","other":"%{count} protozous"},"x_other_animals":{"one":"1 altre animal","other":"%{count} altres animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"qualsevol","are_you_sure_you_want_to_remove_all_tags":"Esteu segur que voleu eliminar totes les etiquetes?","are_you_sure_you_want_to_remove_these_x_taxa?":"Esteu segur que voleu eliminar aquests %{x} tàxons?","asc":"asc","atom":"Atom","black":"negre","blue":"blau","blue_butterfly_etc":"blau, papallona, etc.","bounding_box":"Contenidor","brown":"marró","browse":"Navega","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Seleccioneu fotos per a aquest tàxon","clear":"Neteja","colors":"Colors","community_curated":"Supervisat per la Comunitat","confirmed":"confirmada","created_on":"Creat el","critically_endangered":"en perill crític","data_deficient":"dades insuficients","date_added":"Afegit en data:","date_format":{"month":{"january":"Gener","february":"Febrer","march":"Març","april":"Abril","may":"Maig","june":"Juny","july":"Juliol","august":"Agost","september":"Setembre","october":"Octubre","november":"Novembre","december":"Desembre"}},"date_observed":"Data d'observació","date_picker":{"closeText":"Tanca","currentText":"Avui","prevText":"Ant","nextText":"Seg.","monthNames":"['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre']","monthNamesShort":"['Gen','Feb','Mar','Abr','Mai','Jun','Jul','Ago','Set','Oct','Nov','Des']","dayNames":"['Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte']","dayNamesShort":"['dg','dl','dt','dc','dj','dv','ds']","dayNamesMin":"['dg','dl','dt','dc','dj','dv','ds']"},"deleting_verb":"Eliminant","desc":"desc","description_slash_tags":"Descripció / Etiquetes","did_you_mean":"Es refereix a","doh_something_went_wrong":"Alguna cosa no ha anat bé.","download":"Descarrega:","edit_license":"Modifica la llicència","eligible_for_research_grade":"Elegible per a grau de Recerca","end":"Final","endangered":"en perill","endemic":"endèmica","exact_date":"Data exacta","exact_location":"Ubicació exacta","exit_full_screen":"Surt del mode de pantalla completa.","exporting":"Exportant...","extinct":"extint","extinct_in_the_wild":"extingit en estat silvestre","failed_to_find_your_location":"No ha estat possible trobar la vostra localització","featured":"Destacats","filters":"Filtres","find":"Troba","find_observations":"Troba observacions","find_photos":"Troba fotos","find_your_current_location":"Troba la vostra localització actual","flag_an_item":"Marca un contingut","flickr_has_no_creative_commons":"Flickr no té fotos etiquetades amb llicència Creative Commons per a aquest lloc.","from":"de","full_screen":"Pantalla complerta","gbif_occurrences":"Registres de GBIF","geoprivacy":"Geoprivacitat","green":"verd","grey":"gris","grid":"Quadrícula","grid_tooltip":"Mostra la visualització en quadrícula","has_one_or_more_faves":"Té un o més favorits","has_photos":"té fotos","has_sounds":"té sons","high":"alta","his":{},"identifications":"Identificacions","import":"Importa","including":"inclou","input_taxon":"Introduir tàxon","introduced":"introduïda","join_project":"Uniu-vos a aquest projecte","joined!":"Unit!","kml":"KML","kml_file_size_error":"L'arxiu KML ha de ser de menys de 1 MB","labels":"Etiquetes","layers":"Capes","least_concern":"preocupació menor","list":"Llista","list_tooltip":"Mostrar la vista de llista","loading":"Carregant...","lookup":"Cerca","low":"baixa","map":"Mapa","map_legend":"llegenda del mapa","map_marker_size":"mida del marcador del mapa","map_tooltip":"Mostra la vista del mapa","maps":{"overlays":{"all_observations":"Totes les observacions"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Multimèdia","momentjs":{"shortRelativeTime":{"future":"a %s","past":"%s","s":"s","m":"1 min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1 mes","MM":"%d mes","1":"1a","yy":"%da"}},"months":"Mesos","more_filters":"Més filtres","name":"Nom","native":"nativa","near_threatened":"gairebé amenaçat","needs_id":"necessita ID","new_observation_field":"Nou camp d'observació","next":"Següent","no":"No","no_more_taxa_to_load":"Ja no queden més tàxons per carregar!","no_observations_from_this_place_yet":"Encara no hi ha observacions per a aquest lloc.","no_observations_yet":"Encara no s'han afegit observacions a aquest projecte","no_places_available":"No hi ha llocs disponibles","no_range_data_available":"No hi ha cap rang de dades disponible","no_results_for":"Sense resultats per a","no_results_found":"No s'han trobat resultats.","no_sections_available":"Sense seccions disponibles.","none":"Cap","not_evaluated":"no avaluat","number_selected":"# seleccionat","obscured":"Enfosquida","observation_date":"Data","observation_fields":"Camps d'observació","observations":"Observacions","observed":"Observat el","observed_on":"Observat el","of":"de","open":"Transparent","orange":"taronja","output_taxon":"Tàxon de sortida","person":"persona","photo":"Foto","photo_licensing":"Llicència de la foto","pink":"rosa","place":"Lloc","place_geo":{"geo_planet_place_types":{"Aggregate":"Agregat","aggregate":"agregat","Airport":"Aeroport","airport":"aeroport","Building":"Construcció","building":"construcció","Colloquial":"Col·loquial","colloquial":"col·loquial","Continent":"Continent","continent":"continent","Country":"Estat","country":"estat","County":"País","county":"país","District":"Districte","district":"districte","Drainage":"Drenatge","drainage":"drenatge","Estate":"Immoble","estate":"immoble","Historical_County":"País històric","historical_county":"país històric","Historical_State":"Estat històric","historical_state":"estat històric","Historical_Town":"Poble històric","historical_town":"poble històric","Intersection":"Intersecció","intersection":"intersecció","Island":"Illa","island":"illa","Land_Feature":"Característica de terreny","land_feature":"característica del terreny","Local_Administrative_Area":"Àrea administrativa local","local_administrative_area":"àrea administrativa local","Miscellaneous":"Divers","miscellaneous":"divers","Nationality":"Nacionalitat","nationality":"nacionalitat","Nearby_Building":"Prop d'una construcció","nearby_building":"prop d'una construcció","Nearby_Intersection":"Intersecció propera","nearby_intersection":"intersecció propera","Open_Space":"Espai obert","open_space":"espai obert","Point_of_Interest":"Punt d'interès","point_of_interest":"punt d'interès","Postal_Code":"Codi Postal","postal_code":"codi postal","Province":"Província","province":"província","Region":"Regió","region":"regió","Sports_Team":"Equip esportiu","sports_team":"equip esportiu","State":"Estat","state":"estat","Street":"Carrer","street":"carrer","Street_Segment":"Segment de carrer","street_segment":"segment de carrer","Suburb":"Suburbi","suburb":"suburbi","Supername":"Supernom","supername":"supernom","Territory":"Territori","territory":"territori","Time_Zone":"Zona horària","time_zone":"zona horària","Town":"Poble","town":"poble","Undefined":"Indefinit","undefined":"indefinit","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Llocs afegits per membres de la comunitat","places_maintained_by_site_admins":"Llocs mantinguts per administradors del lloc","places_of_interest":"Llocs d'interès","popular":"popular","prev":"Anterior","preview":"Vista prèvia","project":"Projecte","purple":"porpra","quality_grade":"Grau de qualitat","range":"Interval","range_from":"Distribució de","rank":"Rang","rank_position":"Classificació","ranks":{"kingdom":"regne","phylum":"fílum","subphylum":"subfílum","superclass":"superclasse","class":"classe","subclass":"subclasse","superorder":"superordre","order":"ordre","suborder":"subordre","infraorder":"infra-ordre","superfamily":"superfamília","epifamily":"epifamília","family":"família","subfamily":"subfamília","supertribe":"supertribu","tribe":"tribu","subtribe":"subtribu","genus":"gènere","genushybrid":"gènere híbrid","species":"espècies","hybrid":"híbrid","subspecies":"subespècies","variety":"varietat","form":"forma","leaves":"fulles"},"red":"vermell","redo_search_in_map":"Refer la cerca al mapa","reload_timed_out":"El temps de càrrega ha caducat. Torneu a intentar-ho d’aquí una estona.","removed!":"Eliminat!","removing":"Eliminant...","research":"recerca","research_grade":"grau de recerca","reset_search_filters":"Refer els filtres de cerca","reviewed":"Revisat","satellite":"satèl·lit","saving":"Desant...","saving_verb":"Desant","search":"Cerca","search_external_name_providers":"Cerca proveïdors de noms externs","search_remote":"Cerca remota","select":"Selecciona","select_all":"Selecciona-ho tot","select_none":"No en seleccioneu cap","select_options":"Seleccioneu opcions","selected_photos":"Fotos seleccionades","show":"Mostra","show_taxa_from_everywhere":"Mostra tàxons de tot arreu","show_taxa_from_place":"Mostra tàxon de %{place}","showing_taxa_from_everywhere":"Mostrant tàxons de tot arreu","showing_taxa_from_place":"Mostrant tàxons de %{place}","something_went_wrong_adding":"Alguna cosa no ha anat bé en afegir aquesta espècie a la vostra llista","sort_by":"Ordena per","sounds":{"selected_sounds":"Sons seleccionats"},"source":"Font","species":"Espècies","species_unknown":"Espècie desconeguda","standard":"Estàndard","start":"Inici","start_typing_taxon_name":"Comença a escriure el nom del tàxon...","status_globally":"%{status} Globalment","status_in_place":"%{status} a %{place}","table":"Taula","tagging":"Etiquetant...","taxon_map":{"overlays":"Capes"},"taxonomic_groups":"Grups taxonòmics","terrain":"terreny","the_world":"El Món","there_were_problems_adding_taxa":"Hi ha hagut problemes afegint aquells tàxons: %{errors}","threatened":"amenaçat","today":"Avui","unknown":"Desconegut","update_search":"Actualitzeu la cerca","update_x_selected_taxa":{"one":"Actualitzar el tàxon seleccionat","other":"Actualitzar els %{count} tàxons seleccionats"},"url_slug_or_id":"URL o ID, p.e. el-meu-projecte o 333","use_name_as_a_placeholder":"Utilitza \u003cspan class=\"ac-placeholder\"\u003e\"%{name}\"\u003c/span\u003e com a marcador del lloc","user":"Usuari","username_or_user_id":"Nom o identificador de l'usuari","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verificable","view":"Mostra","view_more":"Mostra més","view_observation":"Mostra observació","views":{"observations":{"export":{"taking_a_while":"Això està requerint una mica de temps. Si us plau, prova una de les opcions de sota.","well_email_you":"D'acord, t'enviarem un correu electrònic quan estigui llest"}}},"vulnerable":"vulnerable","white":"blanc","wild":"salvatge","x_comments":{"one":"1 comentari","other":"%{count} comentaris"},"x_faves":{"one":"1 favorit","other":"%{count} favorits"},"x_identifications":{"one":"1 identificació","other":"%{count} identificacions"},"x_matching_taxa_html":{"one":"\u003cspan class='count'\u003e1\u003c/span\u003e tàxon coincident","other":"\u003cspan class='count'\u003e%{count}\u003c/span\u003e tàxons coincidents"},"x_observations":{"one":"1 observació","other":"%{count} observacions"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observació","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observacions"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"groc","yes":"Sí­","yesterday":"Ahir","you_are_not_editing_any_guides_add_one_html":"No esteu editant cap guia. \u003ca href=\"/guides/new\"\u003eAfegiu una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Heu de seleccionar al menys un tàxon","your_hard_drive":"El vostre disc dur","your_observations":"Les vostres observacions","zoom_in":"Apropar Zoom","zoom_out":"Allunyar Zoom"}; +I18n.translations["cs"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["da"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["de"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["el"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["en"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["en-GB"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["en-US"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["es"] = {"about_community_taxa":"Sobre los taxones comunitarios","add":"Añadir","add_photos_to_this_observation":"Añade fotos a esta observación","added":"Añadido","added!":"¡Añadido!","added_on":"Añadido el","additional_range":"Distribución adicional","additional_range_data_from_an_unknown_source":"Datos de distribución adicional de fuente desconocida","all":"Todos","all_taxa":{"amphibians":"Anfibios","animals":"Animales","arachnids":"Arácnidos","birds":"Aves","chromista":"Algas pardas y parientes","fungi":"Hongos","insects":"Insectos","life":"Vida","mammals":"Mamíferos","mollusks":"Moluscos","other_animals":"Otros animales","plants":"Plantas","protozoans":"Protozoarios","rank":{"class":"Clase","kingdom":"Reino","order":"Orden","phylum":"Phylum","species":"Especie"},"ray_finned_fishes":"Peces con aletas radiadas","reptiles":"Reptiles","singularize":{"algas_pardas_y_parientes":"Alga parda y parientes","anfibios":"Anfibio","animales":"Animal","aranas_alacranes_y_parientes":"Araña, alacrán y parientes","aves":"Ave","hongos":"Hongo","insectos":"Insecto","mamiferos":"Mamífero","molluscos":"Molusco","otros_animales":"Otro animal","peces_con_aletas_radiadas":"Pez con aletas radiadas","plantas":"Planta","protozoarios":"Protozoario","reptiles":"Reptil"},"x_actinopterygii":{"one":"1 pez con aletas radiadas","other":"%{count} peces con aletas radiadas"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibios"},"x_animalia":{"one":"1 animal","other":"%{count} animales"},"x_arachnida":{"one":"1 arácnido","other":"%{count} arácnidos"},"x_aves":{"one":"1 ave","other":"%{count} aves"},"x_chromista":{"one":"1 alga parda y parientes","other":"%{count} algas pardas y parientes"},"x_fungi":{"one":"1 hongo","other":"%{count} hongos"},"x_insecta":{"one":"1 insecto","other":"%{count} insectos"},"x_mammalia":{"one":"1 mamífero","other":"%{count} mamíferos"},"x_mollusca":{"one":"1 molusco","other":"%{count} moluscos"},"x_other_animals":{"one":"1 otro animal","other":"%{count} otros animales"},"x_plantae":{"one":"1 planta","other":"%{count} plantas"},"x_protozoa":{"one":"1 protozoario","other":"%{count} protozoarios"},"x_reptilia":{"one":"1 reptil","other":"%{count} reptiles"},"fungi_including_lichens":"Hongos incluídos líquenes","common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"cualquiera","are_you_sure_you_want_to_remove_all_tags":"¿Estás seguro que deseas eliminar todas las etiquetas?","are_you_sure_you_want_to_remove_these_x_taxa?":"¿Estás seguro de que quieres quitar estos %{x} taxones?","asc":"asc","atom":"Atom","black":"negro","blue":"azul","blue_butterfly_etc":"azul, mariposa, etc.","bounding_box":"Contenedor","brown":"café","browse":"Navegar","casual":"casual","categories":"categorías","choose_photos_for_this_taxon":"Seleccionar fotos para este taxón","clear":"Limpiar","colors":"Colores","community_curated":"Supervisado por la Comunidad","confirmed":"confirmadas","created_on":"Creado el","critically_endangered":"en peligro crítico","data_deficient":"datos insuficientes","date_added":"Fecha agregada","date_format":{"month":{"january":"Enero","february":"Febrero","march":"Marzo","april":"Abril","may":"Mayo","june":"Junio","july":"Julio","august":"Agosto","september":"Septiembre","october":"Octubre","november":"Noviembre","december":"Diciembre"}},"date_observed":"Fecha de observación","date_picker":{"closeText":"Cerrar","currentText":"Hoy","prevText":"Anterior","nextText":"Siguiente","monthNames":"['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre']","monthNamesShort":"['ene','feb','mar','abr', 'may','jun','jul','ago','sep', 'oct','nov','dic']","dayNames":"['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado']","dayNamesShort":"['dom','lun','mar','mié','jue','vie','sáb']","dayNamesMin":"['do','lu','ma','mi','ju','vi','sá']"},"deleting_verb":"Eliminando","desc":"desc","description_slash_tags":"Descripción / Etiquetas","did_you_mean":"¿Te refieres a","doh_something_went_wrong":"Algo salió mal.","download":"Descargar","edit_license":"Modificar licencia","eligible_for_research_grade":"Elegible para grado de Investigación","end":"Final","endangered":"en peligro","endemic":"endémica","exact_date":"Fecha exacta","exact_location":"Ubicación exacta","exit_full_screen":"Salir de la pantalla completa","exporting":"Exportando...","extinct":"extinto","extinct_in_the_wild":"extint en estado silvestre","failed_to_find_your_location":"No ha sido posible encontrar su localización.","featured":"Destacados","filters":"Filtros","find":"Encuentra","find_observations":"Encuentra observaciones","find_photos":"Encontrar Fotos","find_your_current_location":"Encontrar la localización actual","flag_an_item":"Marcar un elemento","flickr_has_no_creative_commons":"Flickr no tiene fotos etiquetadas con Creative Commons para este lugar.","from":"de","full_screen":"Pantalla completa","gbif_occurrences":"Registros de GBIF","geoprivacy":"Geoprivacidad","green":"verde","grey":"gris","grid":"Cuadrícula","grid_tooltip":"Mostrar la vista de rejilla","has_one_or_more_faves":"Tiene uno o más favoritos","has_photos":"tiene fotos","has_sounds":"tiene sonidos","high":"alta","his":{},"identifications":"Identificaciones","import":"Importar","including":"incluyendo","input_taxon":"Taxón de entrada","introduced":"introdujo","join_project":"Unirse a este proyecto","joined!":"¡Unido!","kml":"KML","kml_file_size_error":"KML debe ser menor a 1 MB de tamaño","labels":"Etiquetas","layers":"Capas","least_concern":"preocupación menor","list":"Lista","list_tooltip":"Muestra la vista de lista","loading":"Cargando...","lookup":"Buscar","low":"baja","map":"Mapa","map_legend":"leyenda del mapa","map_marker_size":"tamaño del marcador de mapa","map_tooltip":"Muestra la vista de mapa","maps":{"overlays":{"all_observations":"Todas las observaciones"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Multimedia","momentjs":{"shortRelativeTime":{"future":"en %s","past":"%s","s":"s","m":"1 min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1 mes","MM":"%d mes","1":"1a","yy":"%da"}},"months":"Meses","more_filters":"Más filtros","name":"Nombre","native":"nativa","near_threatened":"casi amenazado","needs_id":"necesita identificador","new_observation_field":"Nuevo campo de observación","next":"Siguiente","no":"No","no_more_taxa_to_load":"No hay más taxones que cargar.","no_observations_from_this_place_yet":"Aún no hay observaciones de especies para este lugar.","no_observations_yet":"No se han agregado observaciones a este proyecto todavía","no_places_available":"No hay lugares disponibles","no_range_data_available":"No hay un rango de datos disponible","no_results_for":"Sin resultados para","no_results_found":"No se encontraron resultados","no_sections_available":"No hay secciones disponibles","none":"Ninguno","not_evaluated":"no evaluado","number_selected":"# seleccionado","obscured":"Difusa","observation_date":"Fecha","observation_fields":"Campos de observación","observations":"Observaciones","observed":"Observado el","observed_on":"Observado el","of":"de","open":"Transparente","orange":"naranja","output_taxon":"Taxón de salida","person":"persona","photo":"Foto","photo_licensing":"Licencia de la foto","pink":"rosa","place":"Lugar","place_geo":{"geo_planet_place_types":{"Aggregate":"Añadido","Airport":"Aeropuerto","Building":"Construcción","Colloquial":"Coloquial","Continent":"Continente","Country":"País","County":"Condado","Drainage":"Drenaje","Estate":"Inmuebles","Historical_County":"Condado Histórico","Historical_State":"Estado Histórico","Historical_Town":"Pueblo Histórico","Intersection":"Intersección","Island":"Isla","Land_Feature":"Tierra Característica","Local_Administrative_Area":"Área Administrativa Local","Miscellaneous":"Diverso","Nationality":"Nacionalidad","Nearby_Building":"Cerca de una Construcción","Nearby_Intersection":"Intersección cercana","Open_Space":"Espacio Abierto","Point_of_Interest":"Punto de Interes","Postal_Code":"Código postal","Region":"Región","Sports_Team":"Equipo Deportivo","State":"Estado","Street":"Calle","Street_Segment":"Segmento de Calle","Suburb":"Suburbio","Supername":"Super Nombre","Territory":"Territorio","Time_Zone":"Huso horario","Town":"Pueblo","Undefined":"Indefinido","Zone":"Zona","aggregate":"añadido","airport":"aeropuerto","building":"construcción","colloquial":"coloquial","continent":"continente","country":"país","county":"condado","drainage":"drenaje","estate":"inmuebles","historical_county":"condado histórico","historical_state":"estado histórico","historical_town":"pueblo histórico","intersection":"intersección","island":"isla","land_feature":"tierra característica","local_administrative_area":"área administrativa local","miscellaneous":"diverso","nationality":"nacionalidad","nearby_building":"cerca de una construcción","nearby_intersection":"intersección cercana","open_space":"espacio abierto","point_of_interest":"punto de interes","postal_code":"código postal","region":"Región","sports_team":"equipo deportivo","state":"estado","street":"calle","street_segment":"segmento de calle","suburb":"suburbio","supername":"super nombre","territory":"territorio","time_zone":"Huso horario","town":"pueblo","undefined":"indefinido","zone":"zona","District":"Distrito","district":"Distrito","Province":"Provincia","province":"Provincia"}},"places_added_by_members_of_the_community":"Lugares añadidos por miembros de la comunidad","places_maintained_by_site_admins":"Lugares mantenidos por administradores del sitio","places_of_interest":"Lugares de Interés","popular":"popular","prev":"Anterior","preview":"Vista previa","project":"Proyecto","purple":"púrpura","quality_grade":"Grado de calidad","range":"Intervalo","range_from":"Distribución de","rank":"Rango","rank_position":"Posición","ranks":{"class":"clase","family":"Familia","form":"Forma","genus":"Género","genushybrid":"Género híbrido","hybrid":"Híbrido","kingdom":"reino","order":"Orden","phylum":"Filo","species":"Especies","subclass":"subclase","subfamily":"Subfamilia","suborder":"Suborden","subphylum":"Subfilo","subspecies":"Subespecies","subtribe":"Subtribu","superclass":"superclase","superfamily":"Superfamilia","superorder":"Superorden","supertribe":"Supertribu","tribe":"Tribu","variety":"Variedad","infraorder":"infraorden","epifamily":"epifamilia","leaves":"hojas"},"red":"rojo","redo_search_in_map":"Rehacer búsqueda en mapa","reload_timed_out":"El tiempo de carga expiró. Por favor trate de nuevo en un momento.","removed!":"¡Eliminado!","removing":"Eliminando...","research":"investigación","research_grade":"grado de investigación","reset_search_filters":"Restablecer los filtros de búsqueda","reviewed":"Revisada","satellite":"satélite","saving":"Guardando...","saving_verb":"Guardando","search":"Buscar","search_external_name_providers":"Buscar proveedores de nombres externos","search_remote":"Búsqueda remota","select":"Selecciona","select_all":"Seleccionar todo","select_none":"No seleccionar ninguno","select_options":"Seleccione opciones","selected_photos":"Fotos seleccionada","show":"Mostrar","show_taxa_from_everywhere":"Mostrar taxones de todas partes","show_taxa_from_place":"Mostrar taxones de %{place}","showing_taxa_from_everywhere":"Mostrando taxones de todas partes","showing_taxa_from_place":"Mostrando taxones de %{place}","something_went_wrong_adding":"Algo salió mal al agregar esa especie a su lista","sort_by":"Ordenar por","sounds":{"selected_sounds":"Sonidos seleccionados"},"source":"Fuente","species":"Especies","species_unknown":"Especies desconocidas","standard":"Estándar","start":"Inicio","start_typing_taxon_name":"Comience a digitar el nombre del especies…","status_globally":"%{status} Globalmente","status_in_place":"%{status} en %{place}","table":"Tabla","tagging":"Etiquetando…","taxon_map":{"overlays":"Capas"},"taxonomic_groups":"Grupos Taxonómicos","terrain":"terreno","the_world":"El mundo","there_were_problems_adding_taxa":"Ocurrieron problemas al añadir esos taxones: %{errors}","threatened":"amenazado","today":"Hoy","unknown":"Desconocido","update_search":"Actualizar búsqueda","update_x_selected_taxa":{"one":"Actualización de 1 taxón seleccionado","other":"Actualización de %{count} taxones seleccionados"},"url_slug_or_id":"mi-proyecto de oro 333","use_name_as_a_placeholder":"Usa \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e como un marcador de posición","user":"Usuario","username_or_user_id":"Nombre o identificador del usuario","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verificable","view":"Ver","view_more":"Ver más","view_observation":"Ver observación","views":{"observations":{"export":{"taking_a_while":"Esto está tomando un tiempo. Por favor, intente una de las siguientes opciones.","well_email_you":"Ok, le enviaremos un mensaje cuando esté listo."}}},"vulnerable":"vulnerable","white":"blanco","wild":"salvaje","x_comments":{"one":"1 comentario","other":"%{count} comentarios"},"x_faves":{"one":"1 favorito","other":"%{count} favoritos"},"x_identifications":{"one":"1 identificación","other":"%{count} identificaciones"},"x_matching_taxa_html":{"other":"=\u003cspan class=\"count\"\u003e1\u003c/span\u003e coincidencia de taxón"},"x_observations":{"one":"1 observación","other":"%{count} observaciones"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observación","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observaciones"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e especie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e especies"},"yellow":"amarillo","yes":"Sí","yesterday":"Ayer","you_are_not_editing_any_guides_add_one_html":"No estas editando ninguna de las guías. \u003ca href=\"/guides/new\"\u003eAgrega una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Debe seleccionar al menos un taxón","your_hard_drive":"Su disco duro","your_observations":"Sus observaciones","zoom_in":"Acercar Zoom","zoom_out":"Alejar Zoom"}; I18n.translations["es-MX"] = {"about_community_taxa":"Acerca de los taxa de la comunidad","add":"Añade","add_photos_to_this_observation":"Añade fotos a esta observación","added":"añadido","added!":"¡Añadido!","added_on":"añadido en","additional_range":"Distribución adicional","additional_range_data_from_an_unknown_source":"Datos de distribución adicional de fuente desconocida","all":"Todo","all_taxa":{"rank":{"kingdom":"Reino","class":"Clase","phylum":"Filo","species":"Especie","order":"Orden"},"amphibians":"Anfibios","animals":"Animales","arachnids":"Arañas, alacranes y parientes","birds":"Aves","chromista":"Algas pardas y parientes","fungi":"Hongos","fungi_including_lichens":"Hongos Incluyendo Líquenes","insects":"Insectos","mammals":"Mamíferos","mollusks":"Moluscos","other_animals":"Otros animales","plants":"Plantas","protozoans":"Protozoarios","ray_finned_fishes":"Peces con aletas radiadas","reptiles":"Reptiles","life":"Vida","x_plantae":{"one":"1 planta","other":"%{count} plantas"},"x_animalia":{"one":"1 animal","other":"%{count} animales"},"x_mollusca":{"one":"1 molusco","other":"%{count} moluscos"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibios"},"x_mammalia":{"one":"1 mamífero","other":"%{count} mamíferos"},"x_actinopterygii":{"one":"1 pez con aletas radiadas","other":"%{count} peces con aletas radiadas"},"x_reptilia":{"one":"1 reptil","other":"%{count} reptiles"},"x_aves":{"one":"1 ave","other":"%{count} aves"},"x_insecta":{"one":"1 insecto","other":"%{count} insectos"},"x_arachnida":{"one":"1 arácnido","other":"%{count} arácnidos"},"x_fungi":{"one":"1 hongo","other":"%{count} hongos"},"x_chromista":{"one":"1 alga parda y parientes","other":"%{count} algas pardas y parientes"},"x_protozoa":{"one":"1 protozoario","other":"%{count} protozoarios"},"x_other_animals":{"one":"1 otro animal","other":"%{count} otros animales"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"Cualquiera","are_you_sure_you_want_to_remove_all_tags":"¿Estás seguro que deseas eliminar todas las etiquetas?","are_you_sure_you_want_to_remove_these_x_taxa?":"¿Estas seguro que quieres eliminar estos %{x} taxa?","asc":"Ascendente","atom":"Atom","black":"Negro","blue":"Azul","blue_butterfly_etc":"azul, mariposa, etc.","bounding_box":"Bounding Box","brown":"Café","browse":"Navegador","casual":"Casual","categories":"Categorías","choose_photos_for_this_taxon":"Escoge fotos para esta especie o grupo","clear":"Limpiar","colors":"Colores","community_curated":"Curadas por la comunidad","confirmed":"registros de especies","created_on":"Creado en","critically_endangered":"En peligro crítico","data_deficient":"con datos deficientes","date_added":"Fecha añadida","date_format":{"month":{"january":"enero","february":"febrero","march":"marzo","april":"abril","may":"mayo","june":"junio","july":"julio","august":"agosto","september":"septiembre","october":"octubre","november":"noviembre","december":"diciembre"}},"date_observed":"Fecha de la obs.","date_picker":{"closeText":"Cerrar","currentText":"Hoy","prevText":"Anterior","nextText":"Siguiente","monthNames":"['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre']","monthNamesShort":"['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic']","dayNames":"['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado']","dayNamesShort":"['Dom','Lun','Mar','Mié','Juv','Vie','Sáb']","dayNamesMin":"['Do','Lu','Ma','Mi','Ju','Vi','Sá']"},"deleting_verb":"Eliminando","desc":"Descendente","description_slash_tags":"Descripción / Etiquetas","did_you_mean":"¿Te refieres a","doh_something_went_wrong":"Algo no sucedió bien.","download":"Descargar","edit_license":"Edita la licencia","eligible_for_research_grade":"Eligible for Research Grade","end":"Fin","endangered":"En peligro","endemic":"endémica","exact_date":"Fecha exacta","exact_location":"Ubicación exacta","exit_full_screen":"Salir de la pantalla completa","exporting":"Exportando...","extinct":"Extinta","extinct_in_the_wild":"Extinta en vida silvestre","failed_to_find_your_location":"Failed to find your location.","featured":"Destacado","filters":"Filtros","find":"Encuentra","find_observations":"Encuentra observaciones","find_photos":"Encuentra fotos","find_your_current_location":"Encuentra tu ubicación actual","flag_an_item":"Advierte un contenido","flickr_has_no_creative_commons":"Flickr no tiene fotos etiquetadas con Creative Commons para este lugar.","from":"De","full_screen":"Full screen","gbif_occurrences":"Registros de GBIF","geoprivacy":"Privacidad geográfica","green":"Verde","grey":"Gris","grid":"Cuadrícula","grid_tooltip":"Muestra la vista de cuadrícula","has_one_or_more_faves":"Has one or more faves","has_photos":"tiene fotos","has_sounds":"tiene sonidos","high":"alta","his":{},"identifications":"Identificaciones","import":"Importa","including":"incluyendo","input_taxon":"Incluye al taxón","introduced":"introducida","join_project":"Únete a este proyecto","joined!":"¡Unido!","kml":"KML","kml_file_size_error":"KML debe ser menor a 1 MB de tamaño","labels":"Etiquetas","layers":"Layers","least_concern":"Baja preocupación","list":"Lista","list_tooltip":"Muestra la vista de lista","loading":"Cargando...","lookup":"Busca","low":"baja","map":"Mapa","map_legend":"leyenda del mapa","map_marker_size":"tamaño del marcador de mapa","map_tooltip":"Muestra la vista de mapa","maps":{"overlays":{"all_observations":"Todas las observaciones"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Meses","more_filters":"Más filtros","name":"Nombre","native":"Nativa","near_threatened":"casi está en riesgo","needs_id":"necesita identificador","new_observation_field":"Nuevo campo de observación","next":"Sig","no":"No","no_more_taxa_to_load":"¡No hay mas especies o grupos a cargar!","no_observations_from_this_place_yet":"Aún no hay observaciones de especies para este lugar.","no_observations_yet":"Todavía no hay observaciones","no_places_available":"No hay lugares disponibles","no_range_data_available":"No hay información disponible de distribución.","no_results_for":"Sin resultados para","no_results_found":"No se encontraron resultados","no_sections_available":"No hay secciones disponibles","none":"Ninguno","not_evaluated":"No se ha evaluado","number_selected":"# selected","obscured":"Oscurecida","observation_date":"Fecha","observation_fields":"Campos de observación","observations":"Observaciones","observed":"Observado","observed_on":"Observado en","of":"de","open":"Abierta","orange":"Anaranjado","output_taxon":"Taxón de salida","person":"Persona","photo":"Foto","photo_licensing":"Licencia de la foto","pink":"Rosa","place":"Lugar","place_geo":{"geo_planet_place_types":{"Aggregate":"Añadido","aggregate":"añadido","Airport":"Aeropuerto","airport":"aeropuerto","Building":"Construcción","building":"construcción","Colloquial":"Coloquial","colloquial":"coloquial","Continent":"Continente","continent":"continente","Country":"País","country":"país","County":"Municipio","county":"municipio","Drainage":"Drenaje","drainage":"drenaje","Estate":"Inmuebles","estate":"inmuebles","Historical_County":"Municipio Histórico","historical_county":"municipio histórico","Historical_State":"Estado Histórico","historical_state":"estado histórico","Historical_Town":"Ciudad Histórica","historical_town":"ciudad histórica","Intersection":"Intersección","intersection":"intersección","Island":"Isla","island":"isla","Land_Feature":"Tierra Característica","land_feature":"tierra característica","Local_Administrative_Area":"Área Administrativa Local","local_administrative_area":"área administrativa local","Miscellaneous":"Diverso","miscellaneous":"diverso","Nationality":"Nacionalidad","nationality":"nacionalidad","Nearby_Building":"Cerca de una Construcción","nearby_building":"cerca de una construcción","Nearby_Intersection":"Intersección Cercana","nearby_intersection":"intersección cercana","Open_Space":"Espacio Abierto","open_space":"espacio abierto","Point_of_Interest":"Punto de Interes","point_of_interest":"punto de interes","Postal_Code":"Código Postal","postal_code":"código postal","Region":"Región","region":"región","Sports_Team":"Equipo Deportivo","sports_team":"equipo deportivo","State":"Estado","state":"estado","Street":"Calle","street":"calle","Street_Segment":"Segmento de Calle","street_segment":"segmento de calle","Suburb":"Suburbio","suburb":"suburbio","Supername":"Gran Usuario","supername":"gran usuario","Territory":"Territorio","territory":"territorio","Time_Zone":"Zona de Tiempo","time_zone":"zona de tiempo","Town":"Ciudad","town":"ciudad","Undefined":"Indefinido","undefined":"indefinido","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Lugares de Interés","popular":"popular","prev":"Ant","preview":"Vista previa","project":"Proyecto","purple":"Púrpura","quality_grade":"Grado de calidad","range":"Distribución","range_from":"Distribución de","rank":"Categoria taxonómica","rank_position":"Posición","ranks":{"kingdom":"Reino","phylum":"Filo","subphylum":"Subfilo","superclass":"Superclase","class":"clase","subclass":"Subclase","superorder":"Superorden","order":"Orden","suborder":"Suborden","superfamily":"Superfamilia","family":"Familia","subfamily":"Subfamilia","supertribe":"Supertribu","tribe":"Tribu","subtribe":"Subtribu","genus":"Género","genushybrid":"Género híbrido","species":"Especies","hybrid":"Híbrido","subspecies":"Subespecies","variety":"Variedad","form":"Forma","leaves":"últimos"},"red":"Rojo","redo_search_in_map":"Redo search in map","reload_timed_out":"El tiempo de carga se terminó. Por favor inténtalo otra vez más tarde.","removed!":"¡Eliminado!","removing":"Quitando...","research":"Investigación","research_grade":"grado de investigación","reset_search_filters":"Restablecer los filtros de búsqueda","reviewed":"Revisada","satellite":"satélite","saving":"Guardando...","saving_verb":"Guardando","search":"Búsqueda","search_external_name_providers":"Busca proveedores externos de nombres","search_remote":"Búsqueda remota","select":"Selecciona","select_all":"Marca todos","select_none":"Desmarca todos","select_options":"Seleccione opciones","selected_photos":"Fotos seleccionadas","show":"Muestra","show_taxa_from_everywhere":"Muestra taxa de todas partes","show_taxa_from_place":"Muestra taxa de %{place}","showing_taxa_from_everywhere":"Mostrando taxa de todas partes","showing_taxa_from_place":"Mostrando taxa de %{place}","something_went_wrong_adding":"Algo incorrecto sucedió al añadir esta especie a tu lista","sort_by":"Ordenar por","sounds":{"selected_sounds":"Sonidos seleccionados"},"source":"Fuente","species":"Especies","species_unknown":"Especies desconocidas","standard":"Predeterminadas","start":"Empezar","start_typing_taxon_name":"Comience a escribir el nombre de la especie...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Cuadro","tagging":"Etiquetando…","taxon_map":{"overlays":"Capas"},"taxonomic_groups":"Grupos taxonómicos","terrain":"terreno","the_world":"El mundo","there_were_problems_adding_taxa":"Hubo problemas al añadir esos taxa: %{errors}","threatened":"en riesgo","today":"Hoy","unknown":"Desconocido","update_search":"Actualizar búsqueda","update_x_selected_taxa":{"one":"Actualiza 1 taxón seleccionado","other":"Actualiza %{count} taxa seleccionados"},"url_slug_or_id":"mi-proyecto de oro 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"Usuario","username_or_user_id":"Nombre o identificador del usuario","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verificable","view":"Ver","view_more":"Ver más","view_observation":"Ver observación","views":{"observations":{"export":{"taking_a_while":"Esto está tomando un tiempo. Por favor, intenta una de las siguientes opciones.","well_email_you":"Ok, te enviaremos un mensaje cuando esté listo."}}},"vulnerable":"vulnerable","white":"Blanco","wild":"salvaje","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 Favorito","other":"%{count} Favoritos"},"x_identifications":{"one":"una identificación","other":"%{count} identificaciones"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e taxón coincide","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxa coincidente"},"x_observations":{"one":"Una observación","other":"%{count} observaciones"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observación","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observaciones"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e especie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e especies"},"yellow":"Amarillo","yes":"Sí","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"No estas editando ninguna de las guías. \u003ca href=\"/guides/new\"\u003eAgrega una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Debe seleccionar al menos un taxón","your_hard_drive":"Tu disco duro","your_observations":"Tus observaciones","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["et"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["et"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; I18n.translations["eu"] = {"about_community_taxa":"Komunitate taxoien inguruan","add":"Gehitu","add_photos_to_this_observation":"Argazkiak gehitu oharrari","added":"Egun honetan gehitua:","added!":"Gehituta!","added_on":"Egun honetan gehitua:","additional_range":"Banaketa osagarria","additional_range_data_from_an_unknown_source":"D\"Iturri ezezaguneko banaketa osagarriaren datuak\"","all":"Guztiak","all_taxa":{"rank":{"kingdom":"Erreinua","class":"Klasea","phylum":"Filuma","species":"Espeziea","order":"Ordena"},"amphibians":"Anfibioak","animals":"Animaliak","arachnids":"Armiarmak, eskorpioiak eta ahaideak","birds":"Hegaztiak","chromista":"Alga arreak eta ahaideak","fungi":"Onddoak","insects":"Intsektuak","mammals":"Ugaztunak","mollusks":"Moluskuak","other_animals":"Beste animalia batzuk","plants":"Landareak","protozoans":"Protozoarioak","ray_finned_fishes":"Arrainak hegal erradiatuekin","reptiles":"Narrastiak","life":"Bizitza","x_plantae":{"one":"1 landare","other":"%{count} landare"},"x_animalia":{"one":"1 animalia","other":"%{count} animalia"},"x_mollusca":{"one":"1 molusku","other":"%{count} molusku"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibio"},"x_mammalia":{"one":"1 ugaztun","other":"%{count} ugaztun"},"x_actinopterygii":{"one":"1 arrain hegal erradiatuekin","other":"%{count} arrain hegal erradiatuekin"},"x_reptilia":{"one":"1 narrasti","other":"%{count} narrasti"},"x_aves":{"one":"1 hegazti","other":"%{count} hegazti"},"x_insecta":{"one":"1 intsektu","other":"%{count} intsektu"},"x_arachnida":{"one":"1 armiarma","other":"%{count} armiarma"},"x_fungi":{"one":"1 onddo","other":"%{count} onddo"},"x_chromista":{"one":"1 alga arre eta ahaideak","other":"%{count} alga arre eta ahaide"},"x_protozoa":{"one":"1 protozoo","other":"%{count} protozoo"},"x_other_animals":{"one":"beste animalia 1","other":"%{count} beste animalia batzuk"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"Edozein","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"goranz.","atom":"Atom-a","black":"beltza","blue":"urdina","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"marroia","browse":"Taxonomian nabigatu","casual":"ustekabekoa","categories":"kategoriak","choose_photos_for_this_taxon":"Taxon honetarako argazkiak hautatu","clear":"Garbitu","colors":"Koloreak","community_curated":"Community Curated","confirmed":"baieztatuak","created_on":"Egun honetan sortua:","critically_endangered":"arrisku larrian","data_deficient":"datuak ez dira nahikoak","date_added":"Gehitutako data","date_format":{"month":{"january":"Urtarrila","february":"Otsaila","march":"Martxoa","april":"Apirila","may":"maiatza","june":"Ekaina","july":"Uztaila","august":"Abuztua","september":"Iraila","october":"Urria","november":"Azaroa","december":"Abendua"}},"date_observed":"Ikusitako data","date_picker":{"closeText":"Itxi","currentText":"Gaur","prevText":"Aurrekoa","nextText":"Hurrengoa","monthNames":"['Urtarrila', 'Otsaila', 'Martxoa', 'Apirila', 'Maiatza', 'Ekaina', 'Uztaila', 'Abuztua', 'Iraila', 'Urria', 'Azaroa', 'Abendua']","monthNamesShort":"['Urt','Ots','Mar','Api','Mai','Eka','Uzt','Abu','Ira','Urr','Aza','Abe']","dayNames":"['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata']","dayNamesShort":"['ig','al','ar','az','og','ol','lr']","dayNamesMin":"['Ig','Al','Ar','Az','Og','Ol','Lr']"},"deleting_verb":"Ezabatzen","desc":"beher.","description_slash_tags":"Deskribapena / Etiketak","did_you_mean":"Honi buruz ari zara?","doh_something_went_wrong":"Zerbait ez da ondo atera.","download":"Deskargatu:","edit_license":"Lizentzia aldatu","eligible_for_research_grade":"Eligible for Research Grade","end":"Amaiera","endangered":"arriskuan","endemic":"endemikoa","exact_date":"Data zehatza","exact_location":"Kokapen zehatza","exit_full_screen":"Irten pantaila osotik.","exporting":"Exporting...","extinct":"iraungia","extinct_in_the_wild":"egoera basatian desagertua","failed_to_find_your_location":"Failed to find your location.","featured":"Nabarmendutakoak","filters":"Iragazkiak","find":"Aurkitu","find_observations":"Behaketak aurkitu","find_photos":"Argazkiak aurkitu","find_your_current_location":"Find your current location","flag_an_item":"Eduki bat markatu","flickr_has_no_creative_commons":"Flickr-ek ez du leku horretarako Creative Commons-ekin etiketatutako argazkirik.","from":"hemendik:","full_screen":"Full screen","gbif_occurrences":"GBIFko erregistroak","geoprivacy":"Geopribatutasuna","green":"berdea","grey":"grisa","grid":"Sareta","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifikazioak","import":"Inportatu","including":"including","input_taxon":"Input taxon","introduced":"sartu zuen","join_project":"Proiektu honekin bat egin","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Etiketak","layers":"Layers","least_concern":"kezka txikia","list":"Zerrenda","list_tooltip":"Show list view","loading":"Kargatzen...","lookup":"Bilatu","low":"low","map":"Mapa","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Hilabeteak","more_filters":"Iragazki gehiago","name":"Izena","native":"bertakoa","near_threatened":"ia mehatxatuta","needs_id":"needs ID","new_observation_field":"Behaketa-eremu berria","next":"Hurrengoa","no":"Ez","no_more_taxa_to_load":"Ez dago kargatzeko espezie edo talde gehiagorik!","no_observations_from_this_place_yet":"Oraindik ez dago espezieen behaketarik leku honetarako.","no_observations_yet":"Oraindik ez zaio behaketarik gehitu proiektu honi","no_places_available":"No places available","no_range_data_available":"Ez dago datu mailarik eskuragarri","no_results_for":"Emaitzarik ez honetarako:","no_results_found":"Ez da emaitzarik topatu.","no_sections_available":"No sections available.","none":"Bat ere ez","not_evaluated":"ebaluatu gabe","number_selected":"# selected","obscured":"Lausoa","observation_date":"Data","observation_fields":"Behaketa-eremuak","observations":"Behaketak","observed":"Hau behatuta:","observed_on":"Hau behatuta:","of":"hemendik:","open":"Transparente","orange":"laranja","output_taxon":"Output taxon","person":"pertsona","photo":"argazkia","photo_licensing":"Photo licensing","pink":"arrosa","place":"Tokia","place_geo":{"geo_planet_place_types":{"Aggregate":"Gehituta","aggregate":"gehituta","Airport":"Aireportua","airport":"aireportua","Building":"Eraikuntza","building":"eraikuntza","Colloquial":"Lagunartekoa","colloquial":"lagunartekoa","Continent":"Kontinentea","continent":"kontinentea","Country":"Herrialdea","country":"herrialdea","County":"Konderria","county":"konderria","District":"Barrutia","district":"barrutia","Drainage":"Drainatzea","drainage":"drainatzea","Estate":"Higiezinak","estate":"higiezinak","Historical_County":"Konderri historikoa","historical_county":"konderri historikoa","Historical_State":"Estatu historikoa","historical_state":"estatu historikoa","Historical_Town":"Herri historikoa","historical_town":"herri historikoa","Intersection":"Bidegurutzea","intersection":"bidegurutzea","Island":"Uhartea","island":"uhartea","Land_Feature":"Lur bereizgarria","land_feature":"lur bereizgarria","Local_Administrative_Area":"Tokiko Administrazio Alorra","local_administrative_area":"tokiko administrazio alorra","Miscellaneous":"Askotarikoa","miscellaneous":"askotarikoa","Nationality":"Herritartasuna","nationality":"herritartasuna","Nearby_Building":"Eraikuntza batetik gertu","nearby_building":"eraikuntza batetik gertu","Nearby_Intersection":"Hurbileko bidegurutzea","nearby_intersection":"hurbileko bidegurutzea","Open_Space":"Esparru irekia","open_space":"esparru irekia","Point_of_Interest":"Interes-puntua","point_of_interest":"interes-puntua","Postal_Code":"Posta-kodea","postal_code":"posta-kodea","Province":"Probintzia","province":"probintzia","Region":"Eskualdea","region":"eskualdea","Sports_Team":"Kirol taldea","sports_team":"kirol taldea","State":"Estatua","state":"estatua","Street":"Kalea","street":"kalea","Street_Segment":"Kale-segmentua","street_segment":"kale-segmentua","Suburb":"Auzo pobrea","suburb":"auzo pobrea","Supername":"Super izena","supername":"super izena","Territory":"Lurraldea","territory":"lurraldea","Time_Zone":"Ordu-zona","time_zone":"ordu-zona","Town":"Herria","town":"herria","Undefined":"Zehaztugabea","undefined":"zehaztugabea","Zone":"Eremua","zone":"eremua"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Aurrekoa","preview":"Aurrebista","project":"Proiektua","purple":"purpura","quality_grade":"Kalitate maila","range":"Maila","range_from":"Honen banaketa:","rank":"maila","rank_position":"Rank","ranks":{"kingdom":"Erreinua","phylum":"Filuma","subphylum":"Azpifiluma","superclass":"Superklasea","class":"klasea","subclass":"Azpiklasea","superorder":"Superordena","order":"Ordena","suborder":"Azpiordena","superfamily":"Superfamilia","family":"Familia","subfamily":"Azpifamilia","supertribe":"Supertribua","tribe":"Tribua","subtribe":"Azpitribua","genus":"Generoa","genushybrid":"Genero hibridoa","species":"Espezieak","hybrid":"Hibridoa","subspecies":"Azpiespezieak","variety":"Aldaera","form":"Forma"},"red":"gorria","redo_search_in_map":"Redo search in map","reload_timed_out":"Kargatzeko denbora amaitu da. Mesedez, saiatu berriro tarte baten ostean.","removed!":"Ezabatuta!","removing":"Ezabatzen...","research":"ikerketa","research_grade":"ikerketa maila","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satelitea","saving":"Gordetzen...","saving_verb":"Gordetzen","search":"Bilatu","search_external_name_providers":"Kanpoko izenen hornitzaileak bilatu","search_remote":"Urruneko bilaketa","select":"Hautatu","select_all":"Hautatu dena","select_none":"Bat ere ez hautatu","select_options":"Select options","selected_photos":"Hautatutako argazkiak","show":"Erakutsi","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Zerbait ez da ondo joan espezie hau zerrendara gehitzean","sort_by":"Sort by","sounds":{"selected_sounds":"Hautatutako soinuak"},"source":"Iturria","species":"Espezieak","species_unknown":"Espezie ezezagunak","standard":"Standard","start":"Hasiera","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Taula","tagging":"Etiketatzen...","taxon_map":{"overlays":"Geruzak"},"taxonomic_groups":"Talde taxonomikoak","terrain":"eremua","the_world":"Mundua","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"mehatxatuta","today":"Gaur","unknown":"Ezezaguna","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"Erabiltzailea","username_or_user_id":"Erabiltzailearen izena edo identifikatzailea","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"egiaztagarria","view":"Ikusi","view_more":"Gehiago ikusi","view_observation":"Behaketa ikusi","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"zaurgarria","white":"zuria","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identifikazio","other":"%{count} identifikazio"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 behaketa","other":"%{count} behaketa"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"horia","yes":"Bai","yesterday":"Atzo","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"Zure disko gogorra","your_observations":"Zure behaketak","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["fa"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["fi"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["fr"] = {"about_community_taxa":"À propos des taxons de la communauté","add":"Ajouter","add_photos_to_this_observation":"Ajouter des photos à cette observation","added":"Ajouté","added!":"Ajouté!","added_on":"Ajouté le","additional_range":"Aire de répartition supplémentaire","additional_range_data_from_an_unknown_source":"Données supplémentaires sur l’aire de répartition d’une source inconnue","all":"Tous","all_taxa":{"rank":{"kingdom":"Règne","class":"Classe","phylum":"Embranchement","species":"Espèces","order":"Ordre"},"amphibians":"Amphibiens","animals":"Animaux","arachnids":"Arachnides","birds":"Oiseaux","chromista":"Chromista","fungi":"Champignons","fungi_including_lichens":"Champignons y compris les lichens","insects":"Insectes","mammals":"Mammifères","mollusks":"Mollusques","other_animals":"Autres animaux","plants":"Plantes","protozoans":"Protozoaires","ray_finned_fishes":"Poissons à nageoires rayonnées","reptiles":"Reptiles","life":"Êtres vivants","x_plantae":{"one":"1 plante","other":"%{count} plantes"},"x_animalia":{"one":"1 animal","other":"%{count} animaux"},"x_mollusca":{"one":"1 mollusque","other":"%{count} mollusques"},"x_amphibia":{"one":"1 amphibien","other":"%{count} amphibiens"},"x_mammalia":{"one":"1 mammifère","other":"%{count} mammifères"},"x_actinopterygii":{"one":"1 poisson à nageoires rayonnées","other":"%{count} poissons à nageoires rayonnées"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 oiseau","other":"%{count} oiseaux"},"x_insecta":{"one":"1 insecte","other":"%{count} insectes"},"x_arachnida":{"one":"1 arachnide","other":"%{count} arachnides"},"x_fungi":{"one":"1 champignon","other":"%{count} champignons"},"x_chromista":{"one":"1 chromista","other":"%{count} chromistas"},"x_protozoa":{"one":"1 protozoaire","other":"%{count} protozoaires"},"x_other_animals":{"one":"1 autre animal","other":"%{count} autres animaux"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"tous","are_you_sure_you_want_to_remove_all_tags":"Êtes-vous certain de vouloir supprimer toutes les étiquettes ?","are_you_sure_you_want_to_remove_these_x_taxa?":"Êtes-vous certain de vouloir supprimer ces %{x} taxons ?","asc":"crois.","atom":"Atom","black":"noir","blue":"bleu","blue_butterfly_etc":"bleu, papillon, etc.","bounding_box":"Boîte englobante","brown":"brun","browse":"Explorer","casual":"occasionnel","categories":"catégories","choose_photos_for_this_taxon":"Choisissez des photos pour ce taxon","clear":"effacer","colors":"Couleurs","community_curated":"Communauté organisée","confirmed":"confirmé(s)","created_on":"Créé@{f:e|} le","critically_endangered":"gravement menacée","data_deficient":"données insuffisantes","date_added":"Date ajoutée","date_format":{"month":{"january":"Janvier","february":"Février","march":"Mars","april":"Avril","may":"Mai","june":"Juin","july":"Juillet","august":"Août","september":"Septembre","october":"Octobre","november":"Novembre","december":"Décembre"}},"date_observed":"Date observée","date_picker":{"closeText":"Fermer","currentText":"Aujourd’hui","prevText":"Précédent","nextText":"Suivant","monthNames":"['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']","monthNamesShort":"['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc']","dayNames":"['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']","dayNamesShort":"['Dim','Lun','Mar','Mer','Jeu','Ven','Sam']","dayNamesMin":"['Di','Lu','Ma','Me','Je','Ve','Sa']"},"deleting_verb":"Suppression","desc":"décroissant","description_slash_tags":"Description / Balises","did_you_mean":"Voulez-vous dire","doh_something_went_wrong":"Oups, quelque chose s’est mal passé.","download":"Télécharger","edit_license":"Modifier la licence","eligible_for_research_grade":"Éligible au niveau recherche","end":"Fin","endangered":"en voie de disparition","endemic":"endémique","exact_date":"Date exacte","exact_location":"Emplacement exact","exit_full_screen":"Sortir du mode plein écran","exporting":"Exportation en cours…","extinct":"disparue","extinct_in_the_wild":"disparue à l’état sauvage","failed_to_find_your_location":"Échec à la localisation de votre position.","featured":"mis en valeur","filters":"Filtres","find":"Trouver","find_observations":"Trouver des observations","find_photos":"Trouver des photos","find_your_current_location":"Trouver votre position actuelle","flag_an_item":"Signaler un élément","flickr_has_no_creative_commons":"Flickr n’a pas de photo sous licence Creative Commons pour ce lieu.","from":"À partir de","full_screen":"Plein écran","gbif_occurrences":"Présences selon le SMIB","geoprivacy":"Géoconfidentialité","green":"vert","grey":"gris","grid":"Grille","grid_tooltip":"Afficher la vue en mode grille","has_one_or_more_faves":"A un ou plusieurs favoris","has_photos":"a des photos","has_sounds":"a des sons","high":"haut","his":{},"identifications":"Identifications","import":"Importer","including":"y compris","input_taxon":"Entrer un taxon","introduced":"Introduite","join_project":"Joignez-vous à ce projet","joined!":"Vous vous êtes joint!","kml":"KML","kml_file_size_error":"Le format KML doit être moins de 1Mo","labels":"Étiquettes","layers":"Couches","least_concern":"préoccupation mineure","list":"Liste","list_tooltip":"Afficher la vue de la liste","loading":"Chargement en cours…","lookup":"Chercher","low":"bas","map":"Carte","map_legend":"légende de la carte","map_marker_size":"taille du marqueur sur la carte","map_tooltip":"Afficher la vue de la carte","maps":{"overlays":{"all_observations":"Toutes les observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Média","momentjs":{"shortRelativeTime":{"future":"en %s","past":"%s","s":"s","m":"1m","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1m","MM":"%dm","1":"1y","yy":"%dy"}},"months":"Mois","more_filters":"Plus de filtres","name":"Nom","native":"indigène","near_threatened":"quasi-menacée","needs_id":"besoin ID","new_observation_field":"Nouveau champ de l’observation","next":"Suivant","no":"Non","no_more_taxa_to_load":"Il ne reste plus de taxons à charger!","no_observations_from_this_place_yet":"Aucune observation dans ce lieu jusqu’à présent.","no_observations_yet":"Aucune observation jusqu’à présent","no_places_available":"Aucun endroit disponible","no_range_data_available":"Aucune donnée disponible sur l’aire de répartition.","no_results_for":"Aucun résultat pour","no_results_found":"Aucun résultat trouvé","no_sections_available":"Aucune section disponible.","none":"Aucun","not_evaluated":"non évalué","number_selected":"n° sélectionné","obscured":"Masqué","observation_date":"Date","observation_fields":"Champs de l’observation","observations":"Observations","observed":"Observé","observed_on":"Observé le","of":"de","open":"Ouvert","orange":"orange","output_taxon":"Taxon en sortie","person":"personne","photo":"Photo","photo_licensing":"Licence de photo","pink":"rose","place":"Lieu","place_geo":{"geo_planet_place_types":{"Aggregate":"Agrégat","aggregate":"agrégat","Airport":"Aéroport","airport":"aéroport","Building":"Bâtiment","building":"bâtiment","Colloquial":"Familier","colloquial":"familier","Continent":"Continent","continent":"continent","Country":"Pays","country":"pays","County":"Comté","county":"comté","District":"District","district":"District","Drainage":"Bassin hydrographique","drainage":"bassin hydrographique","Estate":"Domaine","estate":"domaine","Historical_County":"Comté historique","historical_county":"comté historique","Historical_State":"État historique","historical_state":"état historique","Historical_Town":"Ville historique","historical_town":"ville historique","Intersection":"Croisement","intersection":"croisement","Island":"Île","island":"île","Land_Feature":"Caractéristique du terrain","land_feature":"caractéristique du terrain","Local_Administrative_Area":"Unité administrative locale","local_administrative_area":"unité administrative locale","Miscellaneous":"Divers","miscellaneous":"divers","Nationality":"Nationalité","nationality":"nationalité","Nearby_Building":"Bâtiment à proximité","nearby_building":"bâtiment à proximité","Nearby_Intersection":"Croisement à proximité","nearby_intersection":"croisement à proximité","Open_Space":"Espace ouvert","open_space":"open_space","Point_of_Interest":"Point d’intérêt","point_of_interest":"point d’intérêt","Postal_Code":"Code postal","postal_code":"code postal","Province":"Province","province":"province","Region":"Région","region":"région","Sports_Team":"Équipe sportive","sports_team":"équipe sportive","State":"État","state":"état","Street":"Rue","street":"rue","Street_Segment":"Segment de rue","street_segment":"segment de rue","Suburb":"Banlieue","suburb":"banlieue","Supername":"Surnom","supername":"surnom","Territory":"Territoire","territory":"territoire","Time_Zone":"Fuseau horaire","time_zone":"fuseau horaire","Town":"Ville","town":"ville","Undefined":"Indéfini","undefined":"indéfini","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Lieux ajoutés par des membres de la communauté","places_maintained_by_site_admins":"Lieux entretenus par les administrateurs du site","places_of_interest":"Endroits intéressants","popular":"populaire","prev":"Préc","preview":"Aperçu","project":"Projet","purple":"pourpre","quality_grade":"Degré de qualité","range":"Aire de répartition","range_from":"Aire de répartition de","rank":"Rang","rank_position":"Rang","ranks":{"kingdom":"règne","phylum":"embranchement","subphylum":"sous-embranchement","superclass":"super-classe","class":"classe","subclass":"sous-classe","superorder":"super-ordre","order":"ordre","suborder":"sous-ordre","infraorder":"sous-ordre","superfamily":"super-famille","epifamily":"épifamille","family":"famille","subfamily":"sous-famille","supertribe":"super-tribu","tribe":"tribu","subtribe":"sous-tribu","genus":"genre","genushybrid":"genre hybride","species":"espèce","hybrid":"hybride","subspecies":"sous-espèce","variety":"variété","form":"forme","leaves":"feuilles"},"red":"rouge","redo_search_in_map":"Refaire la recherche sur la carte","reload_timed_out":"Délai de rechargement écoulé. Veuillez réessayer plus tard.","removed!":"Supprimé!","removing":"Suppression en cours…","research":"recherche","research_grade":"calibre recherche","reset_search_filters":"Réinitialiser les filtres de recherche","reviewed":"Relu","satellite":"satellite","saving":"Enregistrement en cours…","saving_verb":"Enregistrement","search":"Rechercher","search_external_name_providers":"Rechercher les fournisseurs externes de noms","search_remote":"Rechercher à distance","select":"Sélectionner","select_all":"Sélectionner tout","select_none":"Ne rien sélectionner","select_options":"Sélectionnez les options","selected_photos":"Photos sélectionnées","show":"Afficher","show_taxa_from_everywhere":"Afficher les taxons de partout","show_taxa_from_place":"Afficher les taxons de %{place}","showing_taxa_from_everywhere":"Affichage des taxons de partout","showing_taxa_from_place":"Affichage des taxons de %{place}","something_went_wrong_adding":"Quelque chose s’est mal passé en ajoutant cette espèce à votre liste","sort_by":"Trier par","sounds":{"selected_sounds":"Sons sélectionnés"},"source":"Source","species":"Espèce","species_unknown":"Espèce inconnue","standard":"Standard","start":"Démarrer","start_typing_taxon_name":"Commencez à taper le nom du taxon…","status_globally":"%{status} globalement","status_in_place":"%{status} dans %{place}","table":"Tableau","tagging":"Étiquetage en cours…","taxon_map":{"overlays":"Superpositions"},"taxonomic_groups":"Groupes taxonomiques","terrain":"terrain","the_world":"Le monde","there_were_problems_adding_taxa":"Il y a eu des problèmes durant l’ajout de ces taxons : %{errors}","threatened":"menacée","today":"Aujourd’hui","unknown":"Inconnu","update_search":"Mettre à jour la recherche","update_x_selected_taxa":{"one":"Mettre à jour le taxon sélectionné","other":"Mettre à jour les %{count} taxons sélectionnés"},"url_slug_or_id":"titre de l'URL ou identifiant, par exemple \"mon-projet\" ou 333","use_name_as_a_placeholder":"Utilisez \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e comme trou","user":"Utilisateur","username_or_user_id":"Nom d’utilisateur ou ID utilisateur","verbing_x_of_y":"%{verb} %{x} de %{y}…","verifiable":"vérifiable","view":"Afficher","view_more":"Afficher plus","view_observation":"Afficher l’observation","views":{"observations":{"export":{"taking_a_while":"Cette action peut prendre un peu de temps. Veuillez essayer une des options ci-dessous.","well_email_you":"Ok, nous vous enverrons un courriel quand ce sera prêt."}}},"vulnerable":"vulnérable","white":"blanc","wild":"sauvage","x_comments":{"one":"1 commentaire","other":"%{count} commentaires"},"x_faves":{"one":"1 favori","other":"%{count} favoris"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e taxon correspondant","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxons correspondants"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observation","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observations"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e espèce","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e espèces"},"yellow":"jaune","yes":"Oui","yesterday":"Hier","you_are_not_editing_any_guides_add_one_html":"Vous ne modifiez aucun guide. \u003ca href=\"/guides/new\"\u003eEn ajouter un\u003c/a\u003e","you_must_select_at_least_one_taxon":"Vous devez sélectionner au moins un taxon","your_hard_drive":"votre disque dur","your_observations":"Vos observations","zoom_in":"Zoom avant","zoom_out":"Zoom arrière"}; +I18n.translations["fa"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["fi"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["fr"] = {"about_community_taxa":"À propos des taxons de la communauté","add":"Ajouter","add_photos_to_this_observation":"Ajouter des photos à cette observation","added":"Ajouté","added!":"Ajouté!","added_on":"Ajouté le","additional_range":"Aire de répartition supplémentaire","additional_range_data_from_an_unknown_source":"Données supplémentaires sur l’aire de répartition d’une source inconnue","all":"Tous","all_taxa":{"rank":{"kingdom":"Règne","class":"Classe","phylum":"Embranchement","species":"Espèces","order":"Ordre"},"amphibians":"Amphibiens","animals":"Animaux","arachnids":"Arachnides","birds":"Oiseaux","chromista":"Chromista","fungi":"Champignons","fungi_including_lichens":"Champignons y compris les lichens","insects":"Insectes","mammals":"Mammifères","mollusks":"Mollusques","other_animals":"Autres animaux","plants":"Plantes","protozoans":"Protozoaires","ray_finned_fishes":"Poissons à nageoires rayonnées","reptiles":"Reptiles","life":"Êtres vivants","x_plantae":{"one":"1 plante","other":"%{count} plantes"},"x_animalia":{"one":"1 animal","other":"%{count} animaux"},"x_mollusca":{"one":"1 mollusque","other":"%{count} mollusques"},"x_amphibia":{"one":"1 amphibien","other":"%{count} amphibiens"},"x_mammalia":{"one":"1 mammifère","other":"%{count} mammifères"},"x_actinopterygii":{"one":"1 poisson à nageoires rayonnées","other":"%{count} poissons à nageoires rayonnées"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 oiseau","other":"%{count} oiseaux"},"x_insecta":{"one":"1 insecte","other":"%{count} insectes"},"x_arachnida":{"one":"1 arachnide","other":"%{count} arachnides"},"x_fungi":{"one":"1 champignon","other":"%{count} champignons"},"x_chromista":{"one":"1 chromista","other":"%{count} chromistas"},"x_protozoa":{"one":"1 protozoaire","other":"%{count} protozoaires"},"x_other_animals":{"one":"1 autre animal","other":"%{count} autres animaux"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"tous","are_you_sure_you_want_to_remove_all_tags":"Êtes-vous certain de vouloir supprimer toutes les étiquettes ?","are_you_sure_you_want_to_remove_these_x_taxa?":"Êtes-vous certain de vouloir supprimer ces %{x} taxons ?","asc":"crois.","atom":"Atom","black":"noir","blue":"bleu","blue_butterfly_etc":"bleu, papillon, etc.","bounding_box":"Boîte englobante","brown":"brun","browse":"Explorer","casual":"occasionnel","categories":"catégories","choose_photos_for_this_taxon":"Choisissez des photos pour ce taxon","clear":"effacer","colors":"Couleurs","community_curated":"Communauté organisée","confirmed":"confirmé(s)","created_on":"Créé@{f:e|} le","critically_endangered":"gravement menacée","data_deficient":"données insuffisantes","date_added":"Date ajoutée","date_format":{"month":{"january":"Janvier","february":"Février","march":"Mars","april":"Avril","may":"Mai","june":"Juin","july":"Juillet","august":"Août","september":"Septembre","october":"Octobre","november":"Novembre","december":"Décembre"}},"date_observed":"Date observée","date_picker":{"closeText":"Fermer","currentText":"Aujourd’hui","prevText":"Précédent","nextText":"Suivant","monthNames":"['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']","monthNamesShort":"['Jan','Fév','Mar','Avr','Mai','Jun','Jul','Aoû','Sep','Oct','Nov','Déc']","dayNames":"['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']","dayNamesShort":"['Dim','Lun','Mar','Mer','Jeu','Ven','Sam']","dayNamesMin":"['Di','Lu','Ma','Me','Je','Ve','Sa']"},"deleting_verb":"Suppression","desc":"décroissant","description_slash_tags":"Description / Balises","did_you_mean":"Voulez-vous dire","doh_something_went_wrong":"Oups, quelque chose s’est mal passé.","download":"Télécharger","edit_license":"Modifier la licence","eligible_for_research_grade":"Éligible au niveau recherche","end":"Fin","endangered":"en voie de disparition","endemic":"endémique","exact_date":"Date exacte","exact_location":"Emplacement exact","exit_full_screen":"Sortir du mode plein écran","exporting":"Exportation en cours…","extinct":"disparue","extinct_in_the_wild":"disparue à l’état sauvage","failed_to_find_your_location":"Échec à la localisation de votre position.","featured":"mis en valeur","filters":"Filtres","find":"Trouver","find_observations":"Trouver des observations","find_photos":"Trouver des photos","find_your_current_location":"Trouver votre position actuelle","flag_an_item":"Signaler un élément","flickr_has_no_creative_commons":"Flickr n’a pas de photo sous licence Creative Commons pour ce lieu.","from":"À partir de","full_screen":"Plein écran","gbif_occurrences":"Présences selon le SMIB","geoprivacy":"Géoconfidentialité","green":"vert","grey":"gris","grid":"Grille","grid_tooltip":"Afficher la vue en mode grille","has_one_or_more_faves":"A un ou plusieurs favoris","has_photos":"a des photos","has_sounds":"a des sons","high":"haut","his":{},"identifications":"Identifications","import":"Importer","including":"y compris","input_taxon":"Entrer un taxon","introduced":"Introduite","join_project":"Joignez-vous à ce projet","joined!":"Vous vous êtes joint!","kml":"KML","kml_file_size_error":"Le format KML doit être moins de 1Mo","labels":"Étiquettes","layers":"Couches","least_concern":"préoccupation mineure","list":"Liste","list_tooltip":"Afficher la vue de la liste","loading":"Chargement en cours…","lookup":"Chercher","low":"bas","map":"Carte","map_legend":"légende de la carte","map_marker_size":"taille du marqueur sur la carte","map_tooltip":"Afficher la vue de la carte","maps":{"overlays":{"all_observations":"Toutes les observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Média","momentjs":{"shortRelativeTime":{"future":"en %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1min","MM":"%dmo","1":"1y","yy":"%dy"}},"months":"Mois","more_filters":"Plus de filtres","name":"Nom","native":"indigène","near_threatened":"quasi-menacée","needs_id":"besoin ID","new_observation_field":"Nouveau champ de l’observation","next":"Suivant","no":"Non","no_more_taxa_to_load":"Il ne reste plus de taxons à charger!","no_observations_from_this_place_yet":"Aucune observation dans ce lieu jusqu’à présent.","no_observations_yet":"Aucune observation jusqu’à présent","no_places_available":"Aucun endroit disponible","no_range_data_available":"Aucune donnée disponible sur l’aire de répartition.","no_results_for":"Aucun résultat pour","no_results_found":"Aucun résultat trouvé","no_sections_available":"Aucune section disponible.","none":"Aucun","not_evaluated":"non évalué","number_selected":"n° sélectionné","obscured":"Masqué","observation_date":"Date","observation_fields":"Champs de l’observation","observations":"Observations","observed":"Observé","observed_on":"Observé le","of":"de","open":"Ouvert","orange":"orange","output_taxon":"Taxon en sortie","person":"personne","photo":"Photo","photo_licensing":"Licence de photo","pink":"rose","place":"Lieu","place_geo":{"geo_planet_place_types":{"Aggregate":"Agrégat","aggregate":"agrégat","Airport":"Aéroport","airport":"aéroport","Building":"Bâtiment","building":"bâtiment","Colloquial":"Familier","colloquial":"familier","Continent":"Continent","continent":"continent","Country":"Pays","country":"pays","County":"Comté","county":"comté","District":"District","district":"District","Drainage":"Bassin hydrographique","drainage":"bassin hydrographique","Estate":"Domaine","estate":"domaine","Historical_County":"Comté historique","historical_county":"comté historique","Historical_State":"État historique","historical_state":"état historique","Historical_Town":"Ville historique","historical_town":"ville historique","Intersection":"Croisement","intersection":"croisement","Island":"Île","island":"île","Land_Feature":"Caractéristique du terrain","land_feature":"caractéristique du terrain","Local_Administrative_Area":"Unité administrative locale","local_administrative_area":"unité administrative locale","Miscellaneous":"Divers","miscellaneous":"divers","Nationality":"Nationalité","nationality":"nationalité","Nearby_Building":"Bâtiment à proximité","nearby_building":"bâtiment à proximité","Nearby_Intersection":"Croisement à proximité","nearby_intersection":"croisement à proximité","Open_Space":"Espace ouvert","open_space":"open_space","Point_of_Interest":"Point d’intérêt","point_of_interest":"point d’intérêt","Postal_Code":"Code postal","postal_code":"code postal","Province":"Province","province":"province","Region":"Région","region":"région","Sports_Team":"Équipe sportive","sports_team":"équipe sportive","State":"État","state":"état","Street":"Rue","street":"rue","Street_Segment":"Segment de rue","street_segment":"segment de rue","Suburb":"Banlieue","suburb":"banlieue","Supername":"Surnom","supername":"surnom","Territory":"Territoire","territory":"territoire","Time_Zone":"Fuseau horaire","time_zone":"fuseau horaire","Town":"Ville","town":"ville","Undefined":"Indéfini","undefined":"indéfini","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Lieux ajoutés par des membres de la communauté","places_maintained_by_site_admins":"Lieux entretenus par les administrateurs du site","places_of_interest":"Endroits intéressants","popular":"populaire","prev":"Préc","preview":"Aperçu","project":"Projet","purple":"pourpre","quality_grade":"Degré de qualité","range":"Aire de répartition","range_from":"Aire de répartition de","rank":"Rang","rank_position":"Rang","ranks":{"kingdom":"règne","phylum":"embranchement","subphylum":"sous-embranchement","superclass":"super-classe","class":"classe","subclass":"sous-classe","superorder":"super-ordre","order":"ordre","suborder":"sous-ordre","infraorder":"sous-ordre","superfamily":"super-famille","epifamily":"épifamille","family":"famille","subfamily":"sous-famille","supertribe":"super-tribu","tribe":"tribu","subtribe":"sous-tribu","genus":"genre","genushybrid":"genre hybride","species":"espèce","hybrid":"hybride","subspecies":"sous-espèce","variety":"variété","form":"forme","leaves":"feuilles"},"red":"rouge","redo_search_in_map":"Refaire la recherche sur la carte","reload_timed_out":"Délai de rechargement écoulé. Veuillez réessayer plus tard.","removed!":"Supprimé!","removing":"Suppression en cours…","research":"recherche","research_grade":"calibre recherche","reset_search_filters":"Réinitialiser les filtres de recherche","reviewed":"Relu","satellite":"satellite","saving":"Enregistrement en cours…","saving_verb":"Enregistrement","search":"Rechercher","search_external_name_providers":"Rechercher les fournisseurs externes de noms","search_remote":"Rechercher à distance","select":"Sélectionner","select_all":"Sélectionner tout","select_none":"Ne rien sélectionner","select_options":"Sélectionnez les options","selected_photos":"Photos sélectionnées","show":"Afficher","show_taxa_from_everywhere":"Afficher les taxons de partout","show_taxa_from_place":"Afficher les taxons de %{place}","showing_taxa_from_everywhere":"Affichage des taxons de partout","showing_taxa_from_place":"Affichage des taxons de %{place}","something_went_wrong_adding":"Quelque chose s’est mal passé en ajoutant cette espèce à votre liste","sort_by":"Trier par","sounds":{"selected_sounds":"Sons sélectionnés"},"source":"Source","species":"Espèce","species_unknown":"Espèce inconnue","standard":"Standard","start":"Démarrer","start_typing_taxon_name":"Commencez à taper le nom du taxon…","status_globally":"%{status} globalement","status_in_place":"%{status} dans %{place}","table":"Tableau","tagging":"Étiquetage en cours…","taxon_map":{"overlays":"Superpositions"},"taxonomic_groups":"Groupes taxonomiques","terrain":"terrain","the_world":"Le monde","there_were_problems_adding_taxa":"Il y a eu des problèmes durant l’ajout de ces taxons : %{errors}","threatened":"menacée","today":"Aujourd’hui","unknown":"Inconnu","update_search":"Mettre à jour la recherche","update_x_selected_taxa":{"one":"Mettre à jour le taxon sélectionné","other":"Mettre à jour les %{count} taxons sélectionnés"},"url_slug_or_id":"titre de l'URL ou identifiant, par exemple \"mon-projet\" ou 333","use_name_as_a_placeholder":"Utilisez \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e comme trou","user":"Utilisateur","username_or_user_id":"Nom d’utilisateur ou ID utilisateur","verbing_x_of_y":"%{verb} %{x} de %{y}…","verifiable":"vérifiable","view":"Afficher","view_more":"Afficher plus","view_observation":"Afficher l’observation","views":{"observations":{"export":{"taking_a_while":"Cette action peut prendre un peu de temps. Veuillez essayer une des options ci-dessous.","well_email_you":"Ok, nous vous enverrons un courriel quand ce sera prêt."}}},"vulnerable":"vulnérable","white":"blanc","wild":"sauvage","x_comments":{"one":"1 commentaire","other":"%{count} commentaires"},"x_faves":{"one":"1 favori","other":"%{count} favoris"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e taxon correspondant","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxons correspondants"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observation","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observations"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e espèce","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e espèces"},"yellow":"jaune","yes":"Oui","yesterday":"Hier","you_are_not_editing_any_guides_add_one_html":"Vous ne modifiez aucun guide. \u003ca href=\"/guides/new\"\u003eEn ajouter un\u003c/a\u003e","you_must_select_at_least_one_taxon":"Vous devez sélectionner au moins un taxon","your_hard_drive":"votre disque dur","your_observations":"Vos observations","zoom_in":"Zoom avant","zoom_out":"Zoom arrière"}; I18n.translations["gl"] = {"about_community_taxa":"About community taxa","add":"Engadir","add_photos_to_this_observation":"Engadir fotos a esta observación","added":"Engadido o","added!":"¡Engadido!","added_on":"Engadido o","additional_range":"Distribución adicional","additional_range_data_from_an_unknown_source":"Datos de distribución adicional de fonte descoñecida","all":"Todos","all_taxa":{"rank":{"kingdom":"Reino","class":"Clase","phylum":"Filo","species":"Especie","order":"Orde"},"amphibians":"Anfibios","animals":"Animais","arachnids":"Arañas, alacráns e parentes","birds":"Aves","chromista":"Algas pardas e parentes","fungi":"Fungos","insects":"Insectos","mammals":"Mamíferos","mollusks":"Moluscos","other_animals":"Outros animais","plants":"Plantas","protozoans":"Protozoarios","ray_finned_fishes":"Peixes con aletas radiadas","reptiles":"Réptiles","life":"Vida","x_plantae":{"one":"1 pranta","other":"%{count} prantas"},"x_animalia":{"one":"1 animal","other":"%{count} animais"},"x_mollusca":{"one":"1 molusco","other":"%{count} moluscos"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibios"},"x_mammalia":{"one":"1 mamífero","other":"%{count} mamíferos"},"x_actinopterygii":{"one":"1 peixe con aletas radiadas","other":"%{count} peixes con aletas radiadas"},"x_reptilia":{"one":"1 réptil","other":"%{count} réptiles"},"x_aves":{"one":"1 ave","other":"%{count} aves"},"x_insecta":{"one":"1 insecto","other":"%{count} insectos"},"x_arachnida":{"one":"1 araña","other":"%{count} arañas"},"x_fungi":{"one":"1 fungo","other":"%{count} fungos"},"x_chromista":{"one":"1 alga parda e parentes","other":"%{count} algas pardas e parentes"},"x_protozoa":{"one":"1 protozoario","other":"%{count} protozoarios"},"x_other_animals":{"one":"1 outro animal","other":"%{count} outros animais"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"Calquera","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"Asc","atom":"Atom","black":"negro","blue":"azul","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"marrón","browse":"Navega pola taxonomía","casual":"Casual","categories":"categories","choose_photos_for_this_taxon":"Seleccionar fotos para este taxón","clear":"Limpar","colors":"Cores","community_curated":"Community Curated","confirmed":"Confirmadas","created_on":"Creado o","critically_endangered":"en perigo crítico","data_deficient":"datos insuficientes","date_added":"Data engadida","date_format":{"month":{"january":"xaneiro","february":"febreiro","march":"marzo","april":"abril","may":"maio","june":"xuño","july":"xullo","august":"agosto","september":"setembro","october":"outubro","november":"novembro","december":"decembro"}},"date_observed":"Data observada","date_picker":{"closeText":"Pechar","currentText":"Hoxe","prevText":"Anterior","nextText":"Seguinte","monthNames":"['xaneiro', 'febreiro', 'marzo', 'abril', 'maio', 'xuño', 'xullo', 'agosto', 'setembro', 'outubro', 'novembro', 'decembro']","monthNamesShort":"['xan','feb','mar','abr','mai','xuñ','xul','ago','set','out','nov','dec']","dayNames":"['Domingo', 'Luns', 'Martes', 'Mércores', 'Xoves', 'Venres', 'Sábado']","dayNamesShort":"['Dom','Lun','Mar','Mér','Xov','Ven','Sáb']","dayNamesMin":"['Do','Lu','Ma','Mé','Xo','Ve','Sá']"},"deleting_verb":"Deleting","desc":"Desc","description_slash_tags":"Description / Tags","did_you_mean":"Refíreste a?","doh_something_went_wrong":"Algo non saíu ben.","download":"Descargar:","edit_license":"Modificar licenza","eligible_for_research_grade":"Eligible for Research Grade","end":"Final","endangered":"en perigo","endemic":"Endémica","exact_date":"Exact date","exact_location":"Localización exacta","exit_full_screen":"Saír da pantalla completa.","exporting":"Exporting...","extinct":"Extinto","extinct_in_the_wild":"Extinguido en estado silvestre","failed_to_find_your_location":"Failed to find your location.","featured":"Destacados","filters":"Filtros","find":"Atopa","find_observations":"Atopa observacións","find_photos":"Atopar Fotos","find_your_current_location":"Find your current location","flag_an_item":"Marca un contido","flickr_has_no_creative_commons":"Flickr non ten fotos etiquetadas con Creative Commons para este lugar.","from":"De","full_screen":"Full screen","gbif_occurrences":"Rexistros de GBIF","geoprivacy":"Xeoprivacidade","green":"verde","grey":"Gris","grid":"Cuadrícula","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identificacións","import":"Importar","including":"including","input_taxon":"Input taxon","introduced":"Introduciu","join_project":"Unirse a este proxecto","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Etiquetas","layers":"Layers","least_concern":"Preocupación menor","list":"Lista","list_tooltip":"Show list view","loading":"Cargando...","lookup":"Procurar","low":"low","map":"Mapa","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Nome","native":"Nativa","near_threatened":"case ameazado","needs_id":"needs ID","new_observation_field":"Novo campo de observación","next":"Seguinte","no":"Non","no_more_taxa_to_load":"Non hai máis especies ou grupos que cargar!","no_observations_from_this_place_yet":"Aínda non hai observacións de especies para este lugar.","no_observations_yet":"Aínda non se engadiron observacións a este proxecto","no_places_available":"No places available","no_range_data_available":"Non hai ningún rango de datos dispoñible","no_results_for":"Sen resultados para esta procura","no_results_found":"Non se atoparon resultados.","no_sections_available":"No sections available.","none":"Ningún","not_evaluated":"non avaliado","number_selected":"# selected","obscured":"Difusa","observation_date":"Data","observation_fields":"Campos de observación","observations":"Observacións","observed":"Observado o","observed_on":"Observado o","of":"De","open":"Transparente","orange":"Laranxa","output_taxon":"Output taxon","person":"Persoa","photo":"foto","photo_licensing":"Photo licensing","pink":"Rosa","place":"Lugar","place_geo":{"geo_planet_place_types":{"Aggregate":"Engadido","aggregate":"Engadido","Airport":"Aeroporto","airport":"Aeroporto","Building":"Construción","building":"Construción","Colloquial":"Coloquial","colloquial":"Coloquial","Continent":"Continente","continent":"Continente","Country":"País","country":"País","County":"Condado","county":"Condado","Drainage":"Drenaxe","drainage":"Drenaxe","Estate":"Inmobles","estate":"Inmobles","Historical_County":"Condado Histórico","historical_county":"condado histórico","Historical_State":"Estado Histórico","historical_state":"estado histórico","Historical_Town":"Pobo Histórico","historical_town":"pobo histórico","Intersection":"Intersección","intersection":"Intersección","Island":"Illa","island":"Illa","Land_Feature":"Terra Característica","land_feature":"terra característica","Local_Administrative_Area":"Área Administrativa Local","local_administrative_area":"área administrativa local","Miscellaneous":"Diverso","miscellaneous":"Diverso","Nationality":"Nacionalidade","nationality":"Nacionalidade","Nearby_Building":"Preto dunha Construción","nearby_building":"preto dunha construción","Nearby_Intersection":"Intersección Próxima","nearby_intersection":"intersección próxima","Open_Space":"Espazo Aberto","open_space":"espazo aberto","Point_of_Interest":"Punto de Interese","point_of_interest":"punto de interese","Postal_Code":"Código Postal","postal_code":"código postal","Region":"Rexión","region":"Rexión","Sports_Team":"Equipo Deportivo","sports_team":"equipo deportivo","State":"Estado","state":"Estado","Street":"Rúa","street":"rúa","Street_Segment":"Segmento de Rúa","street_segment":"segmento de rúa","Suburb":"Suburbio","suburb":"Suburbio","Supername":"Super Nome","supername":"super nome","Territory":"Territorio","territory":"Territorio","Time_Zone":"Fuso horario","time_zone":"Fuso horario","Town":"Pobo","town":"Pobo","Undefined":"Indefinido","undefined":"Indefinido","Zone":"Zona","zone":"Zona"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Anterior","preview":"Vista previa","project":"Proxecto","purple":"Púrpura","quality_grade":"Grao de calidade","range":"Rango","range_from":"Distribución de","rank":"Rango","rank_position":"Rank","ranks":{"kingdom":"Reino","phylum":"Filo","subphylum":"Subfilo","superclass":"Superclase","class":"Clase","subclass":"Subclase","superorder":"Superorde","order":"Orde","suborder":"Suborde","superfamily":"Superfamilia","family":"Familia","subfamily":"Subfamilia","supertribe":"Supertribo","tribe":"Tribo","subtribe":"Subtribo","genus":"Xénero","genushybrid":"Xénero híbrido","species":"Especies","hybrid":"Híbrido","subspecies":"Subespecies","variety":"Variedade","form":"Forma"},"red":"vermello","redo_search_in_map":"Redo search in map","reload_timed_out":"O tempo de carga expirou. Por favor, téntao de novo pasados uns instantes.","removed!":"¡Eliminado!","removing":"Eliminando...","research":"Investigación","research_grade":"grao de investigación","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satélite","saving":"Gardando...","saving_verb":"Saving","search":"Procurar","search_external_name_providers":"Procurar provedores de nomes externos","search_remote":"Procura remota","select":"Selecciona","select_all":"Seleccionar todo","select_none":"Non seleccionar ningunha","select_options":"Select options","selected_photos":"Fotos seleccionadas","show":"Mostrar","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Algo non foi ben ao engadir esta especie á túa lista","sort_by":"Ordenar por","sounds":{"selected_sounds":"Sons seleccionados"},"source":"Fonte","species":"Especies","species_unknown":"Especies descoñecidas","standard":"Standard","start":"Inicio","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Táboa","tagging":"Tagging...","taxon_map":{"overlays":"Capas"},"taxonomic_groups":"Grupos taxonómicos","terrain":"Terreo","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"Ameazado","today":"Hoxe","unknown":"Descoñecido","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"Usuario","username_or_user_id":"Nome ou identificador do usuario","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"Ver","view_more":"Ver máis","view_observation":"Ver observación","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"Branco","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identificación","other":"%{count} identificacións"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observación","other":"%{count} observacións"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"Amarelo","yes":"Si","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"O teu disco duro","your_observations":"As túas observacións","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["he"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["hr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["hu"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["id"] = {"about_community_taxa":"Tentang komunitas taxa","add":"Tambahkan","add_photos_to_this_observation":"Tambahkan foto pengamatan ini","added":"Ditambahkan","added!":"Ditambahkan!","added_on":"Ditambahkan","additional_range":"Tambahan rentang","additional_range_data_from_an_unknown_source":"Berbagai data tambahan dari sumber yang tidak diketahui","all":"Semua","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Kelas","phylum":"Filum","species":"Spesies","order":"Ordo"},"amphibians":"Amfibi","animals":"Binatang","arachnids":"Arakhnida","birds":"Burung","chromista":"Chromista","fungi":"Jamur","insects":"Serangga","mammals":"Mamalia","mollusks":"Moluska","other_animals":"Hewan lainnya","plants":"Tanaman","protozoans":"Protozoa","ray_finned_fishes":"ikan bersirip cahaya","reptiles":"reptil","life":"kehidupan","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"semua","are_you_sure_you_want_to_remove_all_tags":"Apakah Anda yakin ingin menghapus semua tag?","are_you_sure_you_want_to_remove_these_x_taxa?":"Apakah Anda yakin ingin menghapus taksa ini %{x}?","asc":"naik","atom":"Atom","black":"Hitam","blue":"Biru","blue_butterfly_etc":"Biru, Kupu-kupu, dll.","bounding_box":"melewati kotak","brown":"Coklat","browse":"Jelajahi","casual":"Pekerja lepas","categories":"Kategori","choose_photos_for_this_taxon":"Pilih foto dari takson ini","clear":"kosongkan","colors":"Warna","community_curated":"Komunitas yang terbantu","confirmed":"(telah dikonfirmasi)","created_on":"Dibuat pada","critically_endangered":"Terancam punah","data_deficient":"Kekurangan data","date_added":"Tanggal telah dimasukkan","date_format":{"month":{"january":"Januari","february":"Februari","march":"Maret","april":"April","may":"Mei","june":"Juni","july":"Juli","august":"Agustus","september":"September","october":"Oktober","november":"November","december":"Desember"}},"date_observed":"Tanggal pengamatan","date_picker":{"closeText":"Tutup","currentText":"Hari ini","prevText":"sebelum","nextText":"Selanjutnya","monthNames":"['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'Mei','Jun','Jul','Agus','Sep', 'Okt','Nov','Des']","dayNames":"['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu']","dayNamesShort":"['Min','Sen','Sel','Rab','Kam','Jum','Sab']","dayNamesMin":"['Mi','Se','Se','Ra','Ka','Ju','Sa']"},"deleting_verb":"Menghapus","desc":"turun","description_slash_tags":"Deskripsi","did_you_mean":"Apakah yang kamu maksud","doh_something_went_wrong":"oh, Ada yang tidak beres.","download":"Unduh","edit_license":"Mengubah lisensi","eligible_for_research_grade":"Memenuhi syarat untuk kelas Penelitian","end":"Selesai","endangered":"terancam punah","endemic":"endemik","exact_date":"Tanggal pasti","exact_location":"Lokasi yang tepat","exit_full_screen":"Keluar dari layar penuh","exporting":"Mengekspor...","extinct":"punah","extinct_in_the_wild":"punah di alam liar","failed_to_find_your_location":"Gagal menemukan lokasi Anda.","featured":"Tergabung","filters":"Penyaring","find":"Cari","find_observations":"Cari observasi","find_photos":"Cari foto","find_your_current_location":"Cari lokasi Anda saat ini","flag_an_item":"Tandai barang","flickr_has_no_creative_commons":"Flickr tidak memiliki Creative Commons-lisensi foto dari tempat ini.","from":"Dari","full_screen":"Layar penuh","gbif_occurrences":"Kemunculan GBIF","geoprivacy":"Geo Privasi","green":"hijau","grey":"Abu-abu","grid":"kisi-kisi","grid_tooltip":"Tampilkan tampilan kisi-kisi","has_one_or_more_faves":"Memiliki satu atau lebih kesukaan","has_photos":"Foto","has_sounds":"Suara","high":"tinggi","his":{},"identifications":"Mengidentifikasi","import":"Masukkan","including":"termasuk","input_taxon":"Masukkan takson","introduced":"introduksi","join_project":"Gabung dengan projek ini","joined!":"Bergabung!","kml":"KML","kml_file_size_error":"KML harus kurang dari size 1 MB","labels":"Label","layers":"Lapisan","least_concern":"kekhawatiran paling kecil","list":"Daftar","list_tooltip":"Daftar tampilan acara","loading":"Menunggah...","lookup":"Lihatlah","low":"rendah","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Bulan","more_filters":"Penyaringan lain","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"lisensi foto","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"tempat-tempat menarik","popular":"Populer","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Kembalikan pencarian di peta","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset penyaring pencarian","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standar","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"Dunia","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"memperbaharui pencarian","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"diverifikasi","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"Liar","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 hour","other":"%{count} hours"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observation","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observations"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e species","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e species"},"yellow":"yellow","yes":"Yes","yesterday":"Kemarin","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["is"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["it"] = {"about_community_taxa":"A proposito dei taxa della community","add":"Aggiungi","add_photos_to_this_observation":"Aggiungi foto a questa osservazione","added":"Aggiunte","added!":"Aggiunto!","added_on":"Aggiunto il","additional_range":"Areale aggiuntivo","additional_range_data_from_an_unknown_source":"Ulteriori dati di distribuzione da fonte sconosciuta","all":"Tutto","all_taxa":{"rank":{"kingdom":"Regno","class":"Classe","phylum":"Phylum","species":"Specie","order":"Ordine"},"amphibians":"Anfibi","animals":"Animali","arachnids":"Aracnidi","birds":"Uccelli","chromista":"Cromisti","fungi":"Funghi","fungi_including_lichens":"Funghi e Licheni","insects":"Insetti","mammals":"Mammiferi","mollusks":"Molluschi","other_animals":"Altri Animali","plants":"Piante","protozoans":"Protozoi","ray_finned_fishes":"Attinopterigi","reptiles":"Rettili","life":"Life","x_plantae":{"one":"1 pianta","other":"%{count} piante"},"x_animalia":{"one":"1 animale","other":"%{count} animali"},"x_mollusca":{"one":"1 mollusco","other":"%{count} molluschi"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibi"},"x_mammalia":{"one":"1 mammifero","other":"%{count} mammiferi"},"x_actinopterygii":{"one":"1 attinopterigio","other":"%{count} attinopterigi"},"x_reptilia":{"one":"1 rettile","other":"%{count} rettili"},"x_aves":{"one":"1 uccello","other":"%{count} uccelli"},"x_insecta":{"one":"1 insetto","other":"%{count} insetti"},"x_arachnida":{"one":"1 aracnide","other":"%{count} aracnidi"},"x_fungi":{"one":"1 fungo","other":"%{count} funghi"},"x_chromista":{"one":"1 cromista","other":"%{count} cromisti"},"x_protozoa":{"one":"1 ptotozoo","other":"%{count} protozoi"},"x_other_animals":{"one":"1 altro animale","other":"%{count} altri animali"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"qualsiasi","are_you_sure_you_want_to_remove_all_tags":"Sei sicuro di voler eliminare tutte le etichette?","are_you_sure_you_want_to_remove_these_x_taxa?":"Sei sicuro di voler eliminare questi %{x} taxa?","asc":"cresc","atom":"Atom","black":"nero","blue":"blu","blue_butterfly_etc":"blu, farfalla, etc.","bounding_box":"Riquadro di ricerca","brown":"marrone","browse":"Esplora","casual":"casuale","categories":"categorie","choose_photos_for_this_taxon":"Scegli le foto per questo taxon","clear":"cancella","colors":"Colori","community_curated":"Curate dalla Community","confirmed":"confermato","created_on":"Creato il","critically_endangered":"In Pericolo Critico","data_deficient":"Carente di Dati","date_added":"Data inserimento","date_format":{"month":{"january":"Gennaio","february":"Febbraio","march":"Marzo","april":"Aprile","may":"Maggio","june":"Giugno","july":"Luglio","august":"Agosto","september":"Settembre","october":"Ottobre","november":"Novembre","december":"Dicembre"}},"date_observed":"Data osservazione","date_picker":{"closeText":"Chiudi","currentText":"Oggi","prevText":"Prec","nextText":"Successivo","monthNames":"['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre']","monthNamesShort":"['Gen','Feb','Mar','Apr', 'Mag','Giu','Lug','Ago','Set', 'Ott','Nov','Dic']","dayNames":"['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato']","dayNamesShort":"['Dom','Lun','Mar','Mer','Gio','Ven','Sab']","dayNamesMin":"['Do','Lu','Ma','Me','Gi','Ve','Sa']"},"deleting_verb":"Eliminazione in corso","desc":"decr","description_slash_tags":"Descrizione / Etichette","did_you_mean":"Forse cercavi","doh_something_went_wrong":"Oh, qualcosa è andato storto.","download":"Scarica","edit_license":"Modifica la licenza","eligible_for_research_grade":"Qualificate per il Livello Ricerca","end":"Fine","endangered":"In Pericolo","endemic":"endemiche","exact_date":"Data esatta","exact_location":"Localita_esatta","exit_full_screen":"Esci dalla modalità a tutto schermo","exporting":"Sto esportando...","extinct":"Estinta","extinct_in_the_wild":"estinta in natura","failed_to_find_your_location":"Impossibile trovare la tua posizione.","featured":"In evidenza","filters":"Filtri","find":"Trova","find_observations":"Trova le osservazioni","find_photos":"Trova le Foto","find_your_current_location":"Trova la tua posizione corrente","flag_an_item":"Contrassegna un elemento","flickr_has_no_creative_commons":"Flickr non ha foto con licenza Creative Commons foto per questo luogo.","from":"Da","full_screen":"A schermo intero","gbif_occurrences":"Dati di presenza da GBIF","geoprivacy":"Geoprivacy","green":"verde","grey":"grigio","grid":"Griglia","grid_tooltip":"Mostra la visualizzazione a griglia","has_one_or_more_faves":"Ha una o più preferenze","has_photos":"ha foto","has_sounds":"ha suoni","high":"alta","his":{},"identifications":"Identificazioni","import":"Importa","including":"incluso","input_taxon":"Inserisci un taxon","introduced":"introdotta","join_project":"Unisciti a questo progetto","joined!":"Hai aderito!","kml":"KML","kml_file_size_error":"Il KML mdeve essere meno di 1 MB","labels":"Etichette","layers":"Livelli","least_concern":"Minor Preoccupazione","list":"Elenco","list_tooltip":"Mostra la visualizzazione ad elenco","loading":"Caricamento in corso...","lookup":"Cerca","low":"basso","map":"Mappa","map_legend":"legenda della mappa","map_marker_size":"dimensione dell'indicatore della mappa","map_tooltip":"Mostra la visualizzazione a mappa","maps":{"overlays":{"all_observations":"Tutte le osservazioni"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"File multimediali","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"sec","m":"1 min","mm":"%d min","h":"1 ora","hh":"%d ore","d":"1 g","dd":"%d g","M":"1 mese","MM":"%d mesi","1":"1 anno","yy":"%d anni"}},"months":"Mesi","more_filters":"Più filtri","name":"Nome","native":"nativo","near_threatened":"Quasi Minacciata","needs_id":"serve ID","new_observation_field":"Nuovo campo di osservazione","next":"Successivo","no":"No","no_more_taxa_to_load":"Non ci sono più taxa da caricare!","no_observations_from_this_place_yet":"Ancora nessuna osservazione da questo luogo.","no_observations_yet":"Ancora nessuna osservazione","no_places_available":"Nessun luogo disponibile","no_range_data_available":"Nessu dato di distribuzione disponibile.","no_results_for":"Nessun risultato per","no_results_found":"Nessun risultato trovato","no_sections_available":"Nessuna sezione disponibile.","none":"Nessuno","not_evaluated":"Non Valutata","number_selected":"# selezionati","obscured":"Oscurata","observation_date":"Data","observation_fields":"Campi dell'osservazione","observations":"Osservazioni","observed":"Osservata","observed_on":"Osservata il","of":"di","open":"pubblica","orange":"arancione","output_taxon":"Taxon in uscita","person":"persona","photo":"Foto","photo_licensing":"Licenza delle foto","pink":"rosa","place":"Luogo","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregato","aggregate":"aggregato","Airport":"Aeroporto","airport":"aeroporto","Building":"Edificio","building":"edificio","Colloquial":"Colloquiale","colloquial":"colloquiale","Continent":"Continente","continent":"continente","Country":"Nazione","country":"nazione","County":"Contea","county":"contea","District":"Distretto","district":"distretto","Drainage":"Bacino","drainage":"bacino","Estate":"Tenuta","estate":"tenuta","Historical_County":"Provincia Storica","historical_county":"provincia storica","Historical_State":"Stato Storico","historical_state":"stato storico","Historical_Town":"Cittadina Storica","historical_town":"cittadina ttorica","Intersection":"Incrocio","intersection":"incrocio","Island":"Isola","island":"isola","Land_Feature":"Caratteristica del Territorio","land_feature":"caratteristica del territorio","Local_Administrative_Area":"Area Amministrativa Locale","local_administrative_area":"area amministrativa locale","Miscellaneous":"Varie","miscellaneous":"varie","Nationality":"Nazionalità","nationality":"nazionalità","Nearby_Building":"Edificio nelle Vicinanze","nearby_building":"edificio nelle vicinanze","Nearby_Intersection":"Incrocio nelle Vicinanze","nearby_intersection":"incrocio nelle vicinanze","Open_Space":"Spazio Aperto","open_space":"spazio aperto","Point_of_Interest":"Punto di Interesse","point_of_interest":"punto di interesse","Postal_Code":"CAP","postal_code":"CAP","Province":"Provincia","province":"provincia","Region":"Regione","region":"regione","Sports_Team":"Team Sportivo","sports_team":"team sportivo","State":"Stato","state":"stato","Street":"Via","street":"via","Street_Segment":"Tratto di Via","street_segment":"tratto di via","Suburb":"Quartiere","suburb":"quartiere","Supername":"Supernome","supername":"supernome","Territory":"Territorio","territory":"territorio","Time_Zone":"Fuso Orario","time_zone":"fuso orario:","Town":"Cittadina","town":"cittadina","Undefined":"Non definito","undefined":"non definito","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Luogo aggiunto dai membri della community","places_maintained_by_site_admins":"Luoghi mantenuti dagli amministratori","places_of_interest":"Luoghi di interesse","popular":"popolare","prev":"Prec","preview":"Anteprima","project":"Progetto","purple":"viola","quality_grade":"Qualità","range":"Areale","range_from":"Areale da","rank":"Rango","rank_position":"Rango","ranks":{"kingdom":"regno","phylum":"phylum","subphylum":"subphylum","superclass":"superclasse","class":"classe","subclass":"sottoclasse","superorder":"superordine","order":"ordine","suborder":"sottordine","infraorder":"infraordine","superfamily":"superfamiglia","epifamily":"epi-familia","family":"famiglia","subfamily":"sottofamiglia","supertribe":"supertribù","tribe":"tribù","subtribe":"sottotribù","genus":"genere","genushybrid":"genereibrido","species":"specie","hybrid":"ibrido","subspecies":"sottospecie","variety":"varietà","form":"forma","leaves":"foglie"},"red":"rosso","redo_search_in_map":"Ripeti la ricerca nella mappa","reload_timed_out":"Tempo del caricamento scaduto. Riprova più tardi.","removed!":"Rimosso!","removing":"Rimozione in corso...","research":"ricerca","research_grade":"livello ricerca","reset_search_filters":"Resetta i filtri di ricerca","reviewed":"Revisionata","satellite":"satellite","saving":"Salvataggio...","saving_verb":"Salvataggio","search":"Cerca","search_external_name_providers":"Cerca nei fornitori di nomi esterni","search_remote":"Cerca in remoto","select":"Seleziona","select_all":"Seleziona tutto","select_none":"Deseleziona tutto","select_options":"Seleziona le opzioni","selected_photos":"foto selezionate","show":"Mostra","show_taxa_from_everywhere":"Visualizza i taxa di tutto il mondo","show_taxa_from_place":"Mostra i taxa in %{place}","showing_taxa_from_everywhere":"Visualizzazione dei taxa di tutto il mondo","showing_taxa_from_place":"Visualizzazione taxa in %{place}","something_went_wrong_adding":"Qualcosa è andato storto aggiungendo la specie alla tua lista","sort_by":"Ordina per","sounds":{"selected_sounds":"Suoni selezionati"},"source":"Fonte","species":"Specie","species_unknown":"Specie sconosciuta","standard":"Standard","start":"Inizia","start_typing_taxon_name":"Inizia a digitare il nome del taxon...","status_globally":"%{status} a livello Globale","status_in_place":"%{status} in %{place}","table":"Tabella","tagging":"Sto etichettando...","taxon_map":{"overlays":"Livelli"},"taxonomic_groups":"Gruppi Tassonomici","terrain":"terreno","the_world":"Il mondo","there_were_problems_adding_taxa":"Ci sono stati problemi nell'aggiunta di questi taxa: %{errors}","threatened":"minacciata","today":"Oggi","unknown":"Sconosciuto","update_search":"Aggiorna ricerca","update_x_selected_taxa":{"one":"Aggiorna il taxon selezionato","other":"Aggiorna i %{count} taxa selezionati"},"url_slug_or_id":"URL o ID, ad esempio mio-progetto o 333","use_name_as_a_placeholder":"Usa \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e come segnaposto","user":"Utente","username_or_user_id":"Nome utente o ID utente","verbing_x_of_y":"%{verb} %{x} di %{y}...","verifiable":"verificabile","view":"Visualizza","view_more":"Mostra di più","view_observation":"Visualizza osservazione","views":{"observations":{"export":{"taking_a_while":"L'operazione sta durando troppo. Per favore prova una delle opzioni qui sotto.","well_email_you":"Ok, ti manderemo una email quando è pronto."}}},"vulnerable":"Vulnerabile","white":"bianco","wild":"selvatico","x_comments":{"one":"1 commento","other":"%{count} commenti"},"x_faves":{"one":"1 preferito","other":"%{count} preferiti"},"x_identifications":{"one":"1 identificazione","other":"%{count} identificazioni"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e taxon corrispondente","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxa corrispondenti"},"x_observations":{"one":"1 osservazione","other":"%{count} osservazioni"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e osservazione","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e osservazioni"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e specie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e specie"},"yellow":"giallo","yes":"Sì","yesterday":"Ieri","you_are_not_editing_any_guides_add_one_html":"Non stai editando nessuna Guida. \u003ca href=\"/guides/new\"\u003eCreane una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Devi selezionare almeno un taxon","your_hard_drive":"tuo disco rigido","your_observations":"Le tue osservazioni","zoom_in":"Zoom avanti","zoom_out":"Zoom indietro"}; -I18n.translations["ja"] = {"about_community_taxa":"コミュニティー分類群について","add":"追加","add_photos_to_this_observation":"この観測記録に写真を追加","added":"追加されました","added!":"追加されました!","added_on":"追加日付","additional_range":"追加の分布範囲","additional_range_data_from_an_unknown_source":"追加の分布範囲の提供先は不明","all":"すべて","all_taxa":{"rank":{"kingdom":"界","class":"綱","phylum":"門","species":"種","order":"目"},"amphibians":"両生類","animals":"動物","arachnids":"クモ綱","birds":"鳥類","chromista":"クロミスタ","fungi":"菌類","insects":"昆虫類","mammals":"哺乳類","mollusks":"軟体動物","other_animals":"その他の動物","plants":"植物","protozoans":"原生動物","ray_finned_fishes":"条鰭綱","reptiles":"爬虫類","life":"生命","x_plantae":{"one":"1個の植物","other":"%{count}個の植物"},"x_animalia":{"one":"1頭の動物","other":"%{count}頭の動物"},"x_mollusca":{"one":"1頭の軟体動物","other":"%{count}頭の軟体動物"},"x_mammalia":{"one":"1頭の哺乳類","other":"%{count}頭の哺乳類"},"x_reptilia":{"one":"1頭の爬虫類","other":"%{count}頭の爬虫類"},"x_aves":{"one":"1羽の鳥","other":"%{count}羽の鳥"},"x_insecta":{"one":"1頭の昆虫類","other":"%{count}頭の昆虫類"},"x_arachnida":{"one":"1匹のクモ類","other":"%{count}匹のクモ類"},"x_fungi":{"one":"1種の菌類","other":"%{count}種の菌類"},"x_protozoa":{"one":"1頭の原生動物","other":"%{count}頭の原生動物"},"x_other_animals":{"one":"1頭のその他の動物","other":"%{count}頭のその他の動物"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"すべて","are_you_sure_you_want_to_remove_all_tags":"すべてのタグを外して本当によろしいですか?","are_you_sure_you_want_to_remove_these_x_taxa?":"この%{x}個の分類群を削除して本当によろしいですか?","asc":"昇順","atom":"Atom","black":"黒","blue":"青","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"褐","browse":"閲覧","casual":"カジュアル","categories":"categories","choose_photos_for_this_taxon":"分類群の写真を選択","clear":"クリア","colors":"色","community_curated":"Community Curated","confirmed":"確認済","created_on":"作成日:","critically_endangered":"絶滅危惧IA類","data_deficient":"データ不足","date_added":"追加された日付","date_format":{"month":{"january":"1月","february":"2月","march":"3月","april":"4月","may":"5月","june":"6月","july":"7月","august":"8月","september":"9月","october":"10月","november":"11月","december":"12月"}},"date_observed":"観測された日付","date_picker":{"closeText":"閉じる","currentText":"今日","prevText":"前へ","nextText":"次へ","monthNames":"['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']","monthNamesShort":"['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']","dayNames":"['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日']","dayNamesShort":"['日','月','火','水','木','金','土']","dayNamesMin":"['日','月','火','水','木','金','土']"},"deleting_verb":"削除しています","desc":"降順","description_slash_tags":"Description / Tags","did_you_mean":"もしかして:","doh_something_went_wrong":"エラーが発生しました。","download":"ダウンロード","edit_license":"ライセンスを編集","eligible_for_research_grade":"Eligible for Research Grade","end":"終了","endangered":"絶滅危惧IB類","endemic":"固有種","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"全画面表示を終了","exporting":"エクスポート中...","extinct":"絶命","extinct_in_the_wild":"野生絶滅","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"フィルター","find":"検索","find_observations":"観測記録を探す","find_photos":"写真を探す","find_your_current_location":"Find your current location","flag_an_item":"項目をフラグ","flickr_has_no_creative_commons":"Flickrにはこの場所からのクリエイティブ・コモンズライセンス写真がありません","from":"次の場所から:","full_screen":"全画面表示","gbif_occurrences":"GBIF発生データ","geoprivacy":"位置情報プライバシー","green":"緑","grey":"灰","grid":"グリッド","grid_tooltip":"グリッド表示","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"同定","import":"インポート","including":"次を含む:","input_taxon":"分類群を入力","introduced":"移入種","join_project":"このプロジェクトに参加する","joined!":"参加しました!","kml":"KML","kml_file_size_error":"1MBより少ないKMLでなければなりません","labels":"ラベル","layers":"レイヤー","least_concern":"軽度懸念","list":"リスト","list_tooltip":"リストを表示","loading":"読み込み中...","lookup":"調べる","low":"low","map":"マップ","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"マップを表示","maps":{"overlays":{"all_observations":"すべての観察記録"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"メディア","momentjs":{"shortRelativeTime":{"past":"%s","m":"1分","mm":"%dm","h":"1時間","hh":"%dh","d":"1日","dd":"%dd","MM":"%dm","1":"1年","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"名称","native":"原生","near_threatened":"準絶滅危惧種","needs_id":"要ID","new_observation_field":"新規観測記録フィールド","next":"次","no":"いいえ","no_more_taxa_to_load":"未読込の分類群がありません","no_observations_from_this_place_yet":"この場所からの観測記録はまだありません","no_observations_yet":"観測記録はまだありません","no_places_available":"No places available","no_range_data_available":"分布・生息区域データありません","no_results_for":"該当するものはありません","no_results_found":"該当するものはありません","no_sections_available":"No sections available.","none":"該当する項目ありません","not_evaluated":"未評価","number_selected":"# selected","obscured":"不明瞭","observation_date":"日付","observation_fields":"観測記録フィールド","observations":"観察記録","observed":"観察済","observed_on":"観測日時","of":"of","open":"公開","orange":"橙","output_taxon":"出力分類群","person":"人","photo":"写真","photo_licensing":"Photo licensing","pink":"桃","place":"場所","place_geo":{"geo_planet_place_types":{"Aggregate":"複数の場所の集合","aggregate":"複数の場所の集合","Airport":"空港","airport":"空港","Building":"建物","building":"建物","Colloquial":"通称","colloquial":"通称","Continent":"大陸","continent":"大陸","Country":"国","country":"国","County":"郡","county":"郡","District":"地区","district":"地区","Drainage":"流域","drainage":"流域","Estate":"所有地","estate":"所有地","Historical_County":"旧群","historical_county":"旧群","Historical_State":"旧州","historical_state":"旧州","Historical_Town":"旧町","historical_town":"旧町","Intersection":"交差点","intersection":"交差点","Island":"島","island":"島","Land_Feature":"地形","land_feature":"地形","Local_Administrative_Area":"自治区","local_administrative_area":"自治区","Miscellaneous":"その他","miscellaneous":"その他","Nationality":"国籍","nationality":"国籍","Nearby_Building":"近辺の建物","nearby_building":"近辺の建物","Open_Space":"空地","open_space":"空地","Point_of_Interest":"目印","point_of_interest":"目印","Postal_Code":"郵便番号","postal_code":"郵便番号","Province":"州・省","province":"州・省","Region":"広域","region":"地方","Sports_Team":"スポーツチーム","sports_team":"スポーツチーム","State":"都道府県・州","state":"都道府県・州","Street":"通り","street":"通り","Street_Segment":"道路区間","street_segment":"道路区間","Suburb":"郊外","suburb":"郊外","Territory":"領地","territory":"領地","Time_Zone":"時間帯","time_zone":"時間帯","Town":"市町村","town":"市町村","Undefined":"未定義","Zone":"ゾーン","zone":"ゾーン"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"前へ","preview":"プレビュー","project":"プロジェクト","purple":"紫","quality_grade":"Quality grade","range":"分布・生息区域","range_from":"分布範囲情報提供先:","rank":"階級","rank_position":"Rank","ranks":{"kingdom":"界","phylum":"門","subphylum":"亜門","superclass":"上綱","class":"綱","subclass":"亜綱","superorder":"上目","order":"目","suborder":"亜目","superfamily":"上科","family":"科","subfamily":"亜科","supertribe":"上族","tribe":"族","subtribe":"亜族","genus":"属","species":"種","hybrid":"雑種","subspecies":"亜種","variety":"変種","form":"品種"},"red":"赤","redo_search_in_map":"Redo search in map","reload_timed_out":"再読み込みがタイムアウトしました。しばらくしてから再度お試しください。","removed!":"取り除きました!","removing":"除去中...","research":"研究","research_grade":"研究用","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"航空写真","saving":"保存中...","saving_verb":"保存中","search":"検索","search_external_name_providers":"外部の名称提供データを検索","search_remote":"Search remote","select":"選択","select_all":"すべて選択","select_none":"すべて選択解除","select_options":"Select options","selected_photos":"選択された写真","show":"表示","show_taxa_from_everywhere":"すべての場所からの分類群を表示","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"すべての場所からの分類群を表示中","showing_taxa_from_place":"%{place}からの分類群を表示中","something_went_wrong_adding":"種をリストに追加する際に問題が発生しました","sort_by":"並び順:","sounds":{"selected_sounds":"選択された音声データ"},"source":"ソース","species":"種","species_unknown":"種不明","standard":"標準","start":"開始","start_typing_taxon_name":"分類群を入力","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"表","tagging":"タグを付けています...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"分類群グループ","terrain":"地形","the_world":"The World","there_were_problems_adding_taxa":"指定の分類群を追加する際にエラーが発生しました:%{errors}","threatened":"絶滅危惧種","today":"今日","unknown":"不明","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"ユーザー","username_or_user_id":"ユーザー名もしくユーザーID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"表示","view_more":"もっと表示","view_observation":"観察記録を表示","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"準備ができましたら電子メールでお知らせします。"}}},"vulnerable":"絶滅危惧II類","white":"白","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1件のお気に入り","other":"%{count}件のお気に入り"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e個の該当する分類群","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e個の該当する分類群"},"x_observations":{"one":"1件の観察記録","other":"%{count}件の観察記録"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1件の\u003c/a\u003e観察記録","other":"\u003ca href='%{url}'\u003e%{count}件の\u003c/a\u003e観察記録"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e種","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e種"},"yellow":"黄","yes":"はい","yesterday":"昨日","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"一つ以上の分類群を選択しなければなりません","your_hard_drive":"マイパソコンから","your_observations":"あなたの観察記録","zoom_in":"拡大","zoom_out":"縮小"}; -I18n.translations["ko"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["lexicons"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["lt"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["lv"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["he"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["hr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["hu"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["id"] = {"about_community_taxa":"Tentang komunitas taxa","add":"Tambahkan","add_photos_to_this_observation":"Tambahkan foto pengamatan ini","added":"Ditambahkan","added!":"Ditambahkan!","added_on":"Ditambahkan","additional_range":"Tambahan rentang","additional_range_data_from_an_unknown_source":"Berbagai data tambahan dari sumber yang tidak diketahui","all":"Semua","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Kelas","phylum":"Filum","species":"Spesies","order":"Ordo"},"amphibians":"Amfibi","animals":"Binatang","arachnids":"Arakhnida","birds":"Burung","chromista":"Chromista","fungi":"Jamur","insects":"Serangga","mammals":"Mamalia","mollusks":"Moluska","other_animals":"Hewan lainnya","plants":"Tanaman","protozoans":"Protozoa","ray_finned_fishes":"ikan bersirip cahaya","reptiles":"reptil","life":"kehidupan","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"semua","are_you_sure_you_want_to_remove_all_tags":"Apakah Anda yakin ingin menghapus semua tag?","are_you_sure_you_want_to_remove_these_x_taxa?":"Apakah Anda yakin ingin menghapus taksa ini %{x}?","asc":"naik","atom":"Atom","black":"Hitam","blue":"Biru","blue_butterfly_etc":"Biru, Kupu-kupu, dll.","bounding_box":"melewati kotak","brown":"Coklat","browse":"Jelajahi","casual":"Pekerja lepas","categories":"Kategori","choose_photos_for_this_taxon":"Pilih foto dari takson ini","clear":"kosongkan","colors":"Warna","community_curated":"Komunitas yang terbantu","confirmed":"(telah dikonfirmasi)","created_on":"Dibuat pada","critically_endangered":"Terancam punah","data_deficient":"Kekurangan data","date_added":"Tanggal telah dimasukkan","date_format":{"month":{"january":"Januari","february":"Februari","march":"Maret","april":"April","may":"Mei","june":"Juni","july":"Juli","august":"Agustus","september":"September","october":"Oktober","november":"November","december":"Desember"}},"date_observed":"Tanggal pengamatan","date_picker":{"closeText":"Tutup","currentText":"Hari ini","prevText":"sebelum","nextText":"Selanjutnya","monthNames":"['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'Mei','Jun','Jul','Agus','Sep', 'Okt','Nov','Des']","dayNames":"['Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu']","dayNamesShort":"['Min','Sen','Sel','Rab','Kam','Jum','Sab']","dayNamesMin":"['Mi','Se','Se','Ra','Ka','Ju','Sa']"},"deleting_verb":"Menghapus","desc":"turun","description_slash_tags":"Deskripsi","did_you_mean":"Apakah yang kamu maksud","doh_something_went_wrong":"oh, Ada yang tidak beres.","download":"Unduh","edit_license":"Mengubah lisensi","eligible_for_research_grade":"Memenuhi syarat untuk kelas Penelitian","end":"Selesai","endangered":"terancam punah","endemic":"endemik","exact_date":"Tanggal pasti","exact_location":"Lokasi yang tepat","exit_full_screen":"Keluar dari layar penuh","exporting":"Mengekspor...","extinct":"punah","extinct_in_the_wild":"punah di alam liar","failed_to_find_your_location":"Gagal menemukan lokasi Anda.","featured":"Tergabung","filters":"Penyaring","find":"Cari","find_observations":"Cari observasi","find_photos":"Cari foto","find_your_current_location":"Cari lokasi Anda saat ini","flag_an_item":"Tandai barang","flickr_has_no_creative_commons":"Flickr tidak memiliki Creative Commons-lisensi foto dari tempat ini.","from":"Dari","full_screen":"Layar penuh","gbif_occurrences":"Kemunculan GBIF","geoprivacy":"Geo Privasi","green":"hijau","grey":"Abu-abu","grid":"kisi-kisi","grid_tooltip":"Tampilkan tampilan kisi-kisi","has_one_or_more_faves":"Memiliki satu atau lebih kesukaan","has_photos":"Foto","has_sounds":"Suara","high":"tinggi","his":{},"identifications":"Mengidentifikasi","import":"Masukkan","including":"termasuk","input_taxon":"Masukkan takson","introduced":"introduksi","join_project":"Gabung dengan projek ini","joined!":"Bergabung!","kml":"KML","kml_file_size_error":"KML harus kurang dari size 1 MB","labels":"Label","layers":"Lapisan","least_concern":"kekhawatiran paling kecil","list":"Daftar","list_tooltip":"Daftar tampilan acara","loading":"Menunggah...","lookup":"Lihatlah","low":"rendah","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Bulan","more_filters":"Penyaringan lain","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"lisensi foto","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"tempat-tempat menarik","popular":"Populer","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Kembalikan pencarian di peta","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset penyaring pencarian","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standar","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"Dunia","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"memperbaharui pencarian","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"diverifikasi","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"Liar","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 hour","other":"%{count} hours"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observation","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observations"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e species","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e species"},"yellow":"yellow","yes":"Yes","yesterday":"Kemarin","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["is"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["it"] = {"about_community_taxa":"A proposito dei taxa della community","add":"Aggiungi","add_photos_to_this_observation":"Aggiungi foto a questa osservazione","added":"Aggiunte","added!":"Aggiunto!","added_on":"Aggiunto il","additional_range":"Areale aggiuntivo","additional_range_data_from_an_unknown_source":"Ulteriori dati di distribuzione da fonte sconosciuta","all":"Tutto","all_taxa":{"rank":{"kingdom":"Regno","class":"Classe","phylum":"Phylum","species":"Specie","order":"Ordine"},"amphibians":"Anfibi","animals":"Animali","arachnids":"Aracnidi","birds":"Uccelli","chromista":"Cromisti","fungi":"Funghi","fungi_including_lichens":"Funghi e Licheni","insects":"Insetti","mammals":"Mammiferi","mollusks":"Molluschi","other_animals":"Altri Animali","plants":"Piante","protozoans":"Protozoi","ray_finned_fishes":"Attinopterigi","reptiles":"Rettili","life":"Life","x_plantae":{"one":"1 pianta","other":"%{count} piante"},"x_animalia":{"one":"1 animale","other":"%{count} animali"},"x_mollusca":{"one":"1 mollusco","other":"%{count} molluschi"},"x_amphibia":{"one":"1 anfibio","other":"%{count} anfibi"},"x_mammalia":{"one":"1 mammifero","other":"%{count} mammiferi"},"x_actinopterygii":{"one":"1 attinopterigio","other":"%{count} attinopterigi"},"x_reptilia":{"one":"1 rettile","other":"%{count} rettili"},"x_aves":{"one":"1 uccello","other":"%{count} uccelli"},"x_insecta":{"one":"1 insetto","other":"%{count} insetti"},"x_arachnida":{"one":"1 aracnide","other":"%{count} aracnidi"},"x_fungi":{"one":"1 fungo","other":"%{count} funghi"},"x_chromista":{"one":"1 cromista","other":"%{count} cromisti"},"x_protozoa":{"one":"1 ptotozoo","other":"%{count} protozoi"},"x_other_animals":{"one":"1 altro animale","other":"%{count} altri animali"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"qualsiasi","are_you_sure_you_want_to_remove_all_tags":"Sei sicuro di voler eliminare tutte le etichette?","are_you_sure_you_want_to_remove_these_x_taxa?":"Sei sicuro di voler eliminare questi %{x} taxa?","asc":"cresc","atom":"Atom","black":"nero","blue":"blu","blue_butterfly_etc":"blu, farfalla, etc.","bounding_box":"Riquadro di ricerca","brown":"marrone","browse":"Esplora","casual":"casuale","categories":"categorie","choose_photos_for_this_taxon":"Scegli le foto per questo taxon","clear":"cancella","colors":"Colori","community_curated":"Curate dalla Community","confirmed":"confermato","created_on":"Creato il","critically_endangered":"In Pericolo Critico","data_deficient":"Carente di Dati","date_added":"Data inserimento","date_format":{"month":{"january":"Gennaio","february":"Febbraio","march":"Marzo","april":"Aprile","may":"Maggio","june":"Giugno","july":"Luglio","august":"Agosto","september":"Settembre","october":"Ottobre","november":"Novembre","december":"Dicembre"}},"date_observed":"Data osservazione","date_picker":{"closeText":"Chiudi","currentText":"Oggi","prevText":"Prec","nextText":"Successivo","monthNames":"['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre']","monthNamesShort":"['Gen','Feb','Mar','Apr', 'Mag','Giu','Lug','Ago','Set', 'Ott','Nov','Dic']","dayNames":"['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato']","dayNamesShort":"['Dom','Lun','Mar','Mer','Gio','Ven','Sab']","dayNamesMin":"['Do','Lu','Ma','Me','Gi','Ve','Sa']"},"deleting_verb":"Eliminazione in corso","desc":"decr","description_slash_tags":"Descrizione / Etichette","did_you_mean":"Forse cercavi","doh_something_went_wrong":"Oh, qualcosa è andato storto.","download":"Scarica","edit_license":"Modifica la licenza","eligible_for_research_grade":"Qualificate per il Livello Ricerca","end":"Fine","endangered":"In Pericolo","endemic":"endemiche","exact_date":"Data esatta","exact_location":"Localita_esatta","exit_full_screen":"Esci dalla modalità a tutto schermo","exporting":"Sto esportando...","extinct":"Estinta","extinct_in_the_wild":"estinta in natura","failed_to_find_your_location":"Impossibile trovare la tua posizione.","featured":"In evidenza","filters":"Filtri","find":"Trova","find_observations":"Trova le osservazioni","find_photos":"Trova le Foto","find_your_current_location":"Trova la tua posizione corrente","flag_an_item":"Contrassegna un elemento","flickr_has_no_creative_commons":"Flickr non ha foto con licenza Creative Commons foto per questo luogo.","from":"Da","full_screen":"A schermo intero","gbif_occurrences":"Dati di presenza da GBIF","geoprivacy":"Geoprivacy","green":"verde","grey":"grigio","grid":"Griglia","grid_tooltip":"Mostra la visualizzazione a griglia","has_one_or_more_faves":"Ha una o più preferenze","has_photos":"ha foto","has_sounds":"ha suoni","high":"alta","his":{},"identifications":"Identificazioni","import":"Importa","including":"incluso","input_taxon":"Inserisci un taxon","introduced":"introdotta","join_project":"Unisciti a questo progetto","joined!":"Hai aderito!","kml":"KML","kml_file_size_error":"Il KML mdeve essere meno di 1 MB","labels":"Etichette","layers":"Livelli","least_concern":"Minor Preoccupazione","list":"Elenco","list_tooltip":"Mostra la visualizzazione ad elenco","loading":"Caricamento in corso...","lookup":"Cerca","low":"basso","map":"Mappa","map_legend":"legenda della mappa","map_marker_size":"dimensione dell'indicatore della mappa","map_tooltip":"Mostra la visualizzazione a mappa","maps":{"overlays":{"all_observations":"Tutte le osservazioni"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"File multimediali","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"sec","m":"1 min","mm":"%d min","h":"1 ora","hh":"%d ore","d":"1 g","dd":"%d g","M":"1 mese","MM":"%d mesi","1":"1 anno","yy":"%d anni"}},"months":"Mesi","more_filters":"Più filtri","name":"Nome","native":"nativo","near_threatened":"Quasi Minacciata","needs_id":"serve ID","new_observation_field":"Nuovo campo di osservazione","next":"Successivo","no":"No","no_more_taxa_to_load":"Non ci sono più taxa da caricare!","no_observations_from_this_place_yet":"Ancora nessuna osservazione da questo luogo.","no_observations_yet":"Ancora nessuna osservazione","no_places_available":"Nessun luogo disponibile","no_range_data_available":"Nessu dato di distribuzione disponibile.","no_results_for":"Nessun risultato per","no_results_found":"Nessun risultato trovato","no_sections_available":"Nessuna sezione disponibile.","none":"Nessuno","not_evaluated":"Non Valutata","number_selected":"# selezionati","obscured":"Oscurata","observation_date":"Data","observation_fields":"Campi dell'osservazione","observations":"Osservazioni","observed":"Osservata","observed_on":"Osservata il","of":"di","open":"pubblica","orange":"arancione","output_taxon":"Taxon in uscita","person":"persona","photo":"Foto","photo_licensing":"Licenza delle foto","pink":"rosa","place":"Luogo","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregato","aggregate":"aggregato","Airport":"Aeroporto","airport":"aeroporto","Building":"Edificio","building":"edificio","Colloquial":"Colloquiale","colloquial":"colloquiale","Continent":"Continente","continent":"continente","Country":"Nazione","country":"nazione","County":"Contea","county":"contea","District":"Distretto","district":"distretto","Drainage":"Bacino","drainage":"bacino","Estate":"Tenuta","estate":"tenuta","Historical_County":"Provincia Storica","historical_county":"provincia storica","Historical_State":"Stato Storico","historical_state":"stato storico","Historical_Town":"Cittadina Storica","historical_town":"cittadina ttorica","Intersection":"Incrocio","intersection":"incrocio","Island":"Isola","island":"isola","Land_Feature":"Caratteristica del Territorio","land_feature":"caratteristica del territorio","Local_Administrative_Area":"Area Amministrativa Locale","local_administrative_area":"area amministrativa locale","Miscellaneous":"Varie","miscellaneous":"varie","Nationality":"Nazionalità","nationality":"nazionalità","Nearby_Building":"Edificio nelle Vicinanze","nearby_building":"edificio nelle vicinanze","Nearby_Intersection":"Incrocio nelle Vicinanze","nearby_intersection":"incrocio nelle vicinanze","Open_Space":"Spazio Aperto","open_space":"spazio aperto","Point_of_Interest":"Punto di Interesse","point_of_interest":"punto di interesse","Postal_Code":"CAP","postal_code":"CAP","Province":"Provincia","province":"provincia","Region":"Regione","region":"regione","Sports_Team":"Team Sportivo","sports_team":"team sportivo","State":"Stato","state":"stato","Street":"Via","street":"via","Street_Segment":"Tratto di Via","street_segment":"tratto di via","Suburb":"Quartiere","suburb":"quartiere","Supername":"Supernome","supername":"supernome","Territory":"Territorio","territory":"territorio","Time_Zone":"Fuso Orario","time_zone":"fuso orario:","Town":"Cittadina","town":"cittadina","Undefined":"Non definito","undefined":"non definito","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Luogo aggiunto dai membri della community","places_maintained_by_site_admins":"Luoghi mantenuti dagli amministratori","places_of_interest":"Luoghi di interesse","popular":"popolare","prev":"Prec","preview":"Anteprima","project":"Progetto","purple":"viola","quality_grade":"Qualità","range":"Intervallo","range_from":"Areale da","rank":"Rango","rank_position":"Rango","ranks":{"kingdom":"regno","phylum":"phylum","subphylum":"subphylum","superclass":"superclasse","class":"classe","subclass":"sottoclasse","superorder":"superordine","order":"ordine","suborder":"sottordine","infraorder":"infraordine","superfamily":"superfamiglia","epifamily":"epi-familia","family":"famiglia","subfamily":"sottofamiglia","supertribe":"supertribù","tribe":"tribù","subtribe":"sottotribù","genus":"genere","genushybrid":"genereibrido","species":"specie","hybrid":"ibrido","subspecies":"sottospecie","variety":"varietà","form":"forma","leaves":"foglie"},"red":"rosso","redo_search_in_map":"Ripeti la ricerca nella mappa","reload_timed_out":"Tempo del caricamento scaduto. Riprova più tardi.","removed!":"Rimosso!","removing":"Rimozione in corso...","research":"ricerca","research_grade":"livello ricerca","reset_search_filters":"Resetta i filtri di ricerca","reviewed":"Revisionata","satellite":"satellite","saving":"Salvataggio...","saving_verb":"Salvataggio","search":"Cerca","search_external_name_providers":"Cerca nei fornitori di nomi esterni","search_remote":"Cerca in remoto","select":"Seleziona","select_all":"Seleziona tutto","select_none":"Deseleziona tutto","select_options":"Seleziona le opzioni","selected_photos":"foto selezionate","show":"Mostra","show_taxa_from_everywhere":"Visualizza i taxa di tutto il mondo","show_taxa_from_place":"Mostra i taxa in %{place}","showing_taxa_from_everywhere":"Visualizzazione dei taxa di tutto il mondo","showing_taxa_from_place":"Visualizzazione taxa in %{place}","something_went_wrong_adding":"Qualcosa è andato storto aggiungendo la specie alla tua lista","sort_by":"Ordina per","sounds":{"selected_sounds":"Suoni selezionati"},"source":"Fonte","species":"Specie","species_unknown":"Specie sconosciuta","standard":"Standard","start":"Inizia","start_typing_taxon_name":"Inizia a digitare il nome del taxon...","status_globally":"%{status} a livello Globale","status_in_place":"%{status} in %{place}","table":"Tabella","tagging":"Sto etichettando...","taxon_map":{"overlays":"Livelli"},"taxonomic_groups":"Gruppi Tassonomici","terrain":"terreno","the_world":"Il mondo","there_were_problems_adding_taxa":"Ci sono stati problemi nell'aggiunta di questi taxa: %{errors}","threatened":"minacciata","today":"Oggi","unknown":"Sconosciuto","update_search":"Aggiorna ricerca","update_x_selected_taxa":{"one":"Aggiorna il taxon selezionato","other":"Aggiorna i %{count} taxa selezionati"},"url_slug_or_id":"URL o ID, ad esempio mio-progetto o 333","use_name_as_a_placeholder":"Usa \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e come segnaposto","user":"Utente","username_or_user_id":"Nome utente o ID utente","verbing_x_of_y":"%{verb} %{x} di %{y}...","verifiable":"verificabile","view":"Visualizza","view_more":"Mostra di più","view_observation":"Visualizza osservazione","views":{"observations":{"export":{"taking_a_while":"L'operazione sta durando troppo. Per favore prova una delle opzioni qui sotto.","well_email_you":"Ok, ti manderemo una email quando è pronto."}}},"vulnerable":"Vulnerabile","white":"bianco","wild":"selvatico","x_comments":{"one":"1 commento","other":"%{count} commenti"},"x_faves":{"one":"1 preferito","other":"%{count} preferiti"},"x_identifications":{"one":"1 identificazione","other":"%{count} identificazioni"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e taxon corrispondente","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxa corrispondenti"},"x_observations":{"one":"1 osservazione","other":"%{count} osservazioni"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e osservazione","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e osservazioni"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e specie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e specie"},"yellow":"giallo","yes":"Sì","yesterday":"Ieri","you_are_not_editing_any_guides_add_one_html":"Non stai editando nessuna Guida. \u003ca href=\"/guides/new\"\u003eCreane una\u003c/a\u003e","you_must_select_at_least_one_taxon":"Devi selezionare almeno un taxon","your_hard_drive":"tuo disco rigido","your_observations":"Le tue osservazioni","zoom_in":"Zoom avanti","zoom_out":"Zoom indietro"}; +I18n.translations["ja"] = {"about_community_taxa":"コミュニティー分類群について","add":"追加","add_photos_to_this_observation":"この観測記録に写真を追加","added":"追加されました","added!":"追加されました!","added_on":"追加日付","additional_range":"追加の分布範囲","additional_range_data_from_an_unknown_source":"追加の分布範囲の提供先は不明","all":"すべて","all_taxa":{"rank":{"kingdom":"界","class":"綱","phylum":"門","species":"種","order":"目"},"amphibians":"両生類","animals":"動物","arachnids":"クモ綱","birds":"鳥類","chromista":"クロミスタ","fungi":"菌類","insects":"昆虫類","mammals":"哺乳類","mollusks":"軟体動物","other_animals":"その他の動物","plants":"植物","protozoans":"原生動物","ray_finned_fishes":"条鰭綱","reptiles":"爬虫類","life":"生命","x_plantae":{"one":"1個の植物","other":"%{count}個の植物"},"x_animalia":{"one":"1頭の動物","other":"%{count}頭の動物"},"x_mollusca":{"one":"1頭の軟体動物","other":"%{count}頭の軟体動物"},"x_mammalia":{"one":"1頭の哺乳類","other":"%{count}頭の哺乳類"},"x_reptilia":{"one":"1頭の爬虫類","other":"%{count}頭の爬虫類"},"x_aves":{"one":"1羽の鳥","other":"%{count}羽の鳥"},"x_insecta":{"one":"1頭の昆虫類","other":"%{count}頭の昆虫類"},"x_arachnida":{"one":"1匹のクモ類","other":"%{count}匹のクモ類"},"x_fungi":{"one":"1種の菌類","other":"%{count}種の菌類"},"x_protozoa":{"one":"1頭の原生動物","other":"%{count}頭の原生動物"},"x_other_animals":{"one":"1頭のその他の動物","other":"%{count}頭のその他の動物"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"すべて","are_you_sure_you_want_to_remove_all_tags":"すべてのタグを外して本当によろしいですか?","are_you_sure_you_want_to_remove_these_x_taxa?":"この%{x}個の分類群を削除して本当によろしいですか?","asc":"昇順","atom":"Atom","black":"黒","blue":"青","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"褐","browse":"閲覧","casual":"カジュアル","categories":"カテゴリ","choose_photos_for_this_taxon":"分類群の写真を選択","clear":"クリア","colors":"色","community_curated":"Community Curated","confirmed":"確認済","created_on":"作成日:","critically_endangered":"絶滅危惧IA類","data_deficient":"データ不足","date_added":"追加された日付","date_format":{"month":{"january":"1月","february":"2月","march":"3月","april":"4月","may":"5月","june":"6月","july":"7月","august":"8月","september":"9月","october":"10月","november":"11月","december":"12月"}},"date_observed":"観測された日付","date_picker":{"closeText":"閉じる","currentText":"今日","prevText":"前へ","nextText":"次へ","monthNames":"['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']","monthNamesShort":"['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']","dayNames":"['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日']","dayNamesShort":"['日','月','火','水','木','金','土']","dayNamesMin":"['日','月','火','水','木','金','土']"},"deleting_verb":"削除しています","desc":"降順","description_slash_tags":"Description / Tags","did_you_mean":"もしかして:","doh_something_went_wrong":"エラーが発生しました。","download":"ダウンロード","edit_license":"ライセンスを編集","eligible_for_research_grade":"Eligible for Research Grade","end":"終了","endangered":"絶滅危惧IB類","endemic":"固有種","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"全画面表示を終了","exporting":"エクスポート中...","extinct":"絶命","extinct_in_the_wild":"野生絶滅","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"フィルター","find":"検索","find_observations":"観測記録を探す","find_photos":"写真を探す","find_your_current_location":"Find your current location","flag_an_item":"項目をフラグ","flickr_has_no_creative_commons":"Flickrにはこの場所からのクリエイティブ・コモンズライセンス写真がありません","from":"次の場所から:","full_screen":"全画面表示","gbif_occurrences":"GBIF発生データ","geoprivacy":"位置情報プライバシー","green":"緑","grey":"灰","grid":"グリッド","grid_tooltip":"グリッド表示","has_one_or_more_faves":"Has one or more faves","has_photos":"写真あり","has_sounds":"音声あり","high":"高","his":{},"identifications":"同定","import":"インポート","including":"次を含む:","input_taxon":"分類群を入力","introduced":"移入種","join_project":"このプロジェクトに参加する","joined!":"参加しました!","kml":"KML","kml_file_size_error":"1MBより少ないKMLでなければなりません","labels":"ラベル","layers":"レイヤー","least_concern":"軽度懸念","list":"リスト","list_tooltip":"リストを表示","loading":"読み込み中...","lookup":"調べる","low":"低","map":"マップ","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"マップを表示","maps":{"overlays":{"all_observations":"すべての観察記録"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"メディア","momentjs":{"shortRelativeTime":{"past":"%s","s":"秒","m":"1分","mm":"%dm","h":"1時間","hh":"%dh","d":"1日","dd":"%dd","M":"1分","MM":"%dm","1":"1年","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"名称","native":"原生","near_threatened":"準絶滅危惧種","needs_id":"要ID","new_observation_field":"新規観測記録フィールド","next":"次","no":"いいえ","no_more_taxa_to_load":"未読込の分類群がありません","no_observations_from_this_place_yet":"この場所からの観測記録はまだありません","no_observations_yet":"観測記録はまだありません","no_places_available":"No places available","no_range_data_available":"分布・生息区域データありません","no_results_for":"該当するものはありません","no_results_found":"該当するものはありません","no_sections_available":"No sections available.","none":"該当する項目ありません","not_evaluated":"未評価","number_selected":"# 選択済み","obscured":"不明瞭","observation_date":"日付","observation_fields":"観測記録フィールド","observations":"観察記録","observed":"観察済","observed_on":"観測日時","of":"of","open":"公開","orange":"橙","output_taxon":"出力分類群","person":"人","photo":"写真","photo_licensing":"Photo licensing","pink":"桃","place":"場所","place_geo":{"geo_planet_place_types":{"Aggregate":"複数の場所の集合","aggregate":"複数の場所の集合","Airport":"空港","airport":"空港","Building":"建物","building":"建物","Colloquial":"通称","colloquial":"通称","Continent":"大陸","continent":"大陸","Country":"国","country":"国","County":"郡","county":"郡","District":"地区","district":"地区","Drainage":"流域","drainage":"流域","Estate":"所有地","estate":"所有地","Historical_County":"旧群","historical_county":"旧群","Historical_State":"旧州","historical_state":"旧州","Historical_Town":"旧町","historical_town":"旧町","Intersection":"交差点","intersection":"交差点","Island":"島","island":"島","Land_Feature":"地形","land_feature":"地形","Local_Administrative_Area":"自治区","local_administrative_area":"自治区","Miscellaneous":"その他","miscellaneous":"その他","Nationality":"国籍","nationality":"国籍","Nearby_Building":"近辺の建物","nearby_building":"近辺の建物","Open_Space":"空地","open_space":"空地","Point_of_Interest":"目印","point_of_interest":"目印","Postal_Code":"郵便番号","postal_code":"郵便番号","Province":"州・省","province":"州・省","Region":"広域","region":"地方","Sports_Team":"スポーツチーム","sports_team":"スポーツチーム","State":"都道府県・州","state":"都道府県・州","Street":"通り","street":"通り","Street_Segment":"道路区間","street_segment":"道路区間","Suburb":"郊外","suburb":"郊外","Territory":"領地","territory":"領地","Time_Zone":"時間帯","time_zone":"時間帯","Town":"市町村","town":"市町村","Undefined":"未定義","Zone":"ゾーン","zone":"ゾーン"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"前へ","preview":"プレビュー","project":"プロジェクト","purple":"紫","quality_grade":"Quality grade","range":"分布・生息区域","range_from":"分布範囲情報提供先:","rank":"階級","rank_position":"順位","ranks":{"kingdom":"界","phylum":"門","subphylum":"亜門","superclass":"上綱","class":"綱","subclass":"亜綱","superorder":"上目","order":"目","suborder":"亜目","superfamily":"上科","family":"科","subfamily":"亜科","supertribe":"上族","tribe":"族","subtribe":"亜族","genus":"属","species":"種","hybrid":"雑種","subspecies":"亜種","variety":"変種","form":"品種"},"red":"赤","redo_search_in_map":"Redo search in map","reload_timed_out":"再読み込みがタイムアウトしました。しばらくしてから再度お試しください。","removed!":"取り除きました!","removing":"除去中...","research":"研究","research_grade":"研究用","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"航空写真","saving":"保存中...","saving_verb":"保存中","search":"検索","search_external_name_providers":"外部の名称提供データを検索","search_remote":"Search remote","select":"選択","select_all":"すべて選択","select_none":"すべて選択解除","select_options":"Select options","selected_photos":"選択された写真","show":"表示","show_taxa_from_everywhere":"すべての場所からの分類群を表示","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"すべての場所からの分類群を表示中","showing_taxa_from_place":"%{place}からの分類群を表示中","something_went_wrong_adding":"種をリストに追加する際に問題が発生しました","sort_by":"並び順:","sounds":{"selected_sounds":"選択された音声データ"},"source":"ソース","species":"種","species_unknown":"種不明","standard":"標準","start":"開始","start_typing_taxon_name":"分類群を入力","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"表","tagging":"タグを付けています...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"分類群グループ","terrain":"地形","the_world":"The World","there_were_problems_adding_taxa":"指定の分類群を追加する際にエラーが発生しました:%{errors}","threatened":"絶滅危惧種","today":"今日","unknown":"不明","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"ユーザー","username_or_user_id":"ユーザー名もしくユーザーID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"表示","view_more":"もっと表示","view_observation":"観察記録を表示","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"準備ができましたら電子メールでお知らせします。"}}},"vulnerable":"絶滅危惧II類","white":"白","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1件のお気に入り","other":"%{count}件のお気に入り"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e個の該当する分類群","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e個の該当する分類群"},"x_observations":{"one":"1件の観察記録","other":"%{count}件の観察記録"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1件の\u003c/a\u003e観察記録","other":"\u003ca href='%{url}'\u003e%{count}件の\u003c/a\u003e観察記録"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e種","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e種"},"yellow":"黄","yes":"はい","yesterday":"昨日","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"一つ以上の分類群を選択しなければなりません","your_hard_drive":"マイパソコンから","your_observations":"あなたの観察記録","zoom_in":"拡大","zoom_out":"縮小"}; +I18n.translations["ko"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["lexicons"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["lt"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["lv"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; I18n.translations["mk"] = {"about_community_taxa":"За таксоните од заедницата","add":"Додај","add_photos_to_this_observation":"Додајте слики во набљудувањево","added":"Додадено","added!":"Додадено!","added_on":"Додадено на","additional_range":"Дополнителна распространетост","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"Сите","all_taxa":{"rank":{"kingdom":"Царство","class":"Класа","phylum":"Колено","species":"Вид","order":"Ред"},"amphibians":"Водоземци","animals":"Животни","arachnids":"Пајаковидни","birds":"Птици","chromista":"Хромисти","fungi":"Габи","insects":"Инсекти","mammals":"Цицачи","mollusks":"Мекотелци","other_animals":"Други животни","plants":"Растенија","protozoans":"Праживотни","ray_finned_fishes":"Зракоперки","reptiles":"Влекачи","life":"Живот","x_plantae":{"one":"1 растение","other":"%{count} растенија"},"x_animalia":{"one":"1 животно","other":"%{count} животни"},"x_mollusca":{"one":"1 мекотелец","other":"%{count} мекотелци"},"x_amphibia":{"one":"1 водоземец","other":"%{count} водоземци"},"x_mammalia":{"one":"1 цицач","other":"%{count} цицачи"},"x_actinopterygii":{"one":"1 зракоперка","other":"%{count} зракоперки"},"x_reptilia":{"one":"1 влекач","other":"%{count} влекачи"},"x_aves":{"one":"1 птица","other":"%{count} птици"},"x_insecta":{"one":"1 инсект","other":"%{count} инсекти"},"x_arachnida":{"one":"1 пајаковиден","other":"%{count} пајаковидни"},"x_fungi":{"one":"1 габа","other":"%{count} габи"},"x_chromista":{"one":"1 хромист","other":"%{count} хромисти"},"x_protozoa":{"one":"1 праживотно","other":"%{count} праживотни"},"x_other_animals":{"one":"1 друго животно","other":"%{count} други животни"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"раст","atom":"Атом","black":"црна","blue":"сина","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"кафеава","browse":"Прелистај","casual":"површно","categories":"categories","choose_photos_for_this_taxon":"Одберете слики за таксонов","clear":"тргни","colors":"Бои","community_curated":"Community Curated","confirmed":"потврдено","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"недоволно податоци","date_added":"Додадено на","date_format":{"month":{"january":"јануари","february":"февруари","march":"март","april":"април","may":"мај","june":"јуни","july":"јули","august":"август","september":"септември","october":"октомври","november":"ноември","december":"декември"}},"date_observed":"Видено на","date_picker":{"closeText":"Затвори","currentText":"Денес","prevText":"Прет","nextText":"След","monthNames":"['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември']","monthNamesShort":"['јан','фев','март','апр', 'мај','јун','јул','авг','сеп', 'окт','ное','дек']","dayNames":"['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота']","dayNamesShort":"['нед','пон','вто','сре','чет','пет','саб']","dayNamesMin":"['не','по','вт','ср','че','пе','са']"},"deleting_verb":"Бришење","desc":"опаѓ","description_slash_tags":"Description / Tags","did_you_mean":"Дали мислевте на","doh_something_went_wrong":"D'oh, something went wrong.","download":"Преземи","edit_license":"Измени лиценца","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Точна_местоположба","exit_full_screen":"Излези од цел екран","exporting":"Извезувам...","extinct":"изумрен","extinct_in_the_wild":"изумрен во дивина","failed_to_find_your_location":"Failed to find your location.","featured":"истакнат","filters":"Filters","find":"Најди","find_observations":"Најди набљудувања","find_photos":"Најди слики","find_your_current_location":"Find your current location","flag_an_item":"Обележи ставка","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"Од","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Геоприватност","green":"зелена","grey":"сива","grid":"Решетка","grid_tooltip":"Дај решетест поглед","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Препознавања","import":"Увези","including":"including","input_taxon":"Влезен таксон","introduced":"Доведен","join_project":"Приклучете се на проектов!","joined!":"Приклучено!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Натписи","layers":"Layers","least_concern":"со најмала загриженост","list":"Список","list_tooltip":"Дај списочен приказ","loading":"Вчитувам...","lookup":"Побарај","low":"low","map":"Карта","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Дај картографски приказ","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Име","native":"домороден","near_threatened":"речиси загрозен","needs_id":"needs ID","new_observation_field":"Ново поле за набљудување","next":"Следно","no":"Не","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"Засега нема ниедно набљудување од ова место.","no_observations_yet":"Засега нема ниедно набљудување","no_places_available":"No places available","no_range_data_available":"Нема податоци за распространетоста.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"Ништо","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"затскриено","observation_date":"Датум","observation_fields":"Observation Fields","observations":"Набљудувања","observed":"Observed","observed_on":"Забележан на","of":"од","open":"отворено","orange":"портокалова","output_taxon":"Излезен таксон","person":"лице","photo":"Слика","photo_licensing":"Photo licensing","pink":"розова","place":"Место","place_geo":{"geo_planet_place_types":{"Aggregate":"Насобрано","aggregate":"насобрано","Airport":"Аеродром","airport":"аеродром","Building":"Градба","building":"градба","Colloquial":"Разговорно","colloquial":"разговорно","Continent":"Континент","continent":"континент","Country":"Земја","country":"земја","County":"Округ","county":"округ","Drainage":"Одвод","drainage":"одвод","Estate":"Посед","estate":"посед","Historical_County":"Историски округ","historical_county":"историски округ","Historical_State":"Историска покраина/држава","historical_state":"историска покраина/држава","Historical_Town":"Историско гратче","historical_town":"историско гратче","Intersection":"Раскрсница","intersection":"раскрсница","Island":"Остров","island":"остров","Land_Feature":"Географски објект","land_feature":"географски објект","Local_Administrative_Area":"Месно управно подрачје","local_administrative_area":"месно управно подрачје","Miscellaneous":"Разно","miscellaneous":"разно","Nationality":"Националност","nationality":"националност","Nearby_Building":"Блиска градба","nearby_building":"блиска градба","Nearby_Intersection":"Блиска раскрсница","nearby_intersection":"блиска раскрсница","Open_Space":"Отворен простор","open_space":"отворен_простор","Point_of_Interest":"Место од интерес","point_of_interest":"место од интерес","Postal_Code":"Поштенски број","postal_code":"поштенски број","Region":"Регион","region":"регион","Sports_Team":"Спортска екипа","sports_team":"спортска екипа","State":"Сој. држава/покраина","state":"сој. држава/покраина","Street":"Улица","street":"улица","Street_Segment":"Потег од улица","street_segment":"потег од улица","Suburb":"Населба","suburb":"населба","Supername":"Надиме","supername":"надиме","Territory":"Територија","territory":"територија","Time_Zone":"Часовен појас","time_zone":"часовен појас","Town":"Град","town":"град","Undefined":"Неодредено","undefined":"неодредено","Zone":"Подрачје","zone":"подрачје"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Прет","preview":"Preview","project":"Проект","purple":"виолетова","quality_grade":"Квалитет","range":"Range","range_from":"Range from ","rank":"Ранг","rank_position":"Rank","ranks":{"kingdom":"царство","phylum":"колено","subphylum":"потколено","superclass":"наткласа","class":"класа","subclass":"поткласа","superorder":"надред","order":"ред","suborder":"подред","superfamily":"натсемејство","family":"семејство","subfamily":"потсемејство","supertribe":"натплеме","tribe":"племе","subtribe":"потплеме","genus":"род","genushybrid":"родов хибрид","species":"вид","hybrid":"хибрид","subspecies":"подвид","variety":"разновидност","form":"облик"},"red":"црвена","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"сателитска","saving":"Зачувувам...","saving_verb":"Saving","search":"Пребарај","search_external_name_providers":"Search external name providers","search_remote":"Пребарај далечински","select":"Избери","select_all":"Избери сè","select_none":"Ниедно","select_options":"Select options","selected_photos":"Selected photos","show":"Прикажи","show_taxa_from_everywhere":"Прикажи таксони од секаде","show_taxa_from_place":"Прикажи таксони од %{place}","showing_taxa_from_everywhere":"Приказ на таксони од секаде","showing_taxa_from_place":"Приказ на таксони од %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Подреди по","sounds":{"selected_sounds":"Избрани звуци"},"source":"Извор","species":"Видови","species_unknown":"Непознат вид","standard":"Standard","start":"Почни","start_typing_taxon_name":"Почнете да пишувате име на таксонот...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Табела","tagging":"Означувам...","taxon_map":{"overlays":"Облоги"},"taxonomic_groups":"Taxonomic Groups","terrain":"теренска","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"Загрозен","today":"Денес","unknown":"непознато","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"Корисник","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"Погл.","view_more":"Погл. повеќе","view_observation":"Погл. набљудување","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"ранлив","white":"бела","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 назнака","other":"%{count} назнаки"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e совпаднат таксон","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e совпаднати таксони"},"x_observations":{"one":"1 набљудување","other":"%{count} набљудувања"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e набљудување","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e набљудувања"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e вид","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e видови"},"yellow":"жолта","yes":"Да","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Ваши набљудувања","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["my"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["nb"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["nl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["no"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["pl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["pt"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["my"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["nb"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["nl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["no"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["pl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["pt"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; I18n.translations["pt-BR"] = {"about_community_taxa":"Sobre os táxons da comunidade","add":"Adicionar","add_photos_to_this_observation":"Adicionar fotos para esta observação","added":"Adicionado","added!":"Adicionado!","added_on":"Adicionado em","additional_range":"Distribuição adicional","additional_range_data_from_an_unknown_source":"Distribuição adicional para fontes desconhecidas","all":"Todas","all_taxa":{"rank":{"kingdom":"Reino","class":"Classe","phylum":"Filo","species":"Espécies","order":"Ordem"},"amphibians":"Anfíbios","animals":"Animais","arachnids":"Aracnídeos","birds":"Aves","chromista":"Chromista - algas pardas e parentes","fungi":"Fungos","insects":"Insetos","mammals":"Mamíferos","mollusks":"Moluscos","other_animals":"Outros Animais","plants":"Plantas","protozoans":"Protozoários","ray_finned_fishes":"Actinopterygii, grupo de peixes de barbatanas com raios.","reptiles":"Répteis","life":"Vida","x_plantae":{"one":"1 planta","other":"%{count} plantas"},"x_animalia":{"one":"1 animal","other":"%{count} animais"},"x_mollusca":{"one":"1 molusco","other":"%{count} moluscos"},"x_amphibia":{"one":"1 anfíbio","other":"%{count} anfíbios"},"x_mammalia":{"one":"1 mamífero","other":"%{count} mamíferos"},"x_actinopterygii":{"one":"1 peixes de barbatanas com raios","other":"%{count} peixes de barbatanas com raios"},"x_reptilia":{"one":"1 réptil","other":"%{count} répteis"},"x_aves":{"one":"1 ave","other":"%{count} aves"},"x_insecta":{"one":"1 inseto","other":"%{count} insetos"},"x_arachnida":{"one":"1 aracnídeo","other":"%{count} aracnídeos"},"x_fungi":{"one":"1 fungo","other":"%{count} fungos"},"x_chromista":{"one":"1 algas pardas e parentes","other":"%{count} algas pardas e parentes"},"x_protozoa":{"one":"1 protozoário","other":"%{count} protozoários"},"x_other_animals":{"one":"1 outro animal","other":"%{count} outros animais"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"qualquer","are_you_sure_you_want_to_remove_all_tags":"Você confirma a remoção de todas as marcações?","are_you_sure_you_want_to_remove_these_x_taxa?":"Você confirma a exclusão destes %{x} táxons?","asc":"asc","atom":"Átomo","black":"preto","blue":"azul","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"marrom","browse":"Explorar","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Escolhas fotos para este táxon","clear":"limpar","colors":"Cores","community_curated":"Community Curated","confirmed":"confirmado","created_on":"Criado em","critically_endangered":"criticamente em perigo","data_deficient":"dados insuficientes","date_added":"Data de inclusão","date_format":{"month":{"january":"Janeiro","february":"Fevereiro","march":"Março","april":"Abril","may":"Maio","june":"Junho","july":"Julho","august":"Agosto","september":"Setembro","october":"Outubro","november":"Novembro","december":"Dezembro"}},"date_observed":"Data de observação","date_picker":{"closeText":"Fechar","currentText":"Hoje","prevText":"Anterior","nextText":"Próximo","monthNames":"['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']","monthNamesShort":"['Jan','Fev','Mar','Abr', 'Mai','Jun','Jul','Ago','Set', 'Out','Nov','Dez']","dayNames":"['Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado']","dayNamesShort":"['Dom','Seg','Ter','Qua','Qui','Sex','Sab']","dayNamesMin":"['Do','Se','Te','Qa','Qi','Sx','Sa']"},"deleting_verb":"Excluindo","desc":"Desc","description_slash_tags":"Description / Tags","did_you_mean":"Você quis dizer","doh_something_went_wrong":"Ops, algo saiu errado.","download":"Baixar","edit_license":"Modificar licença","eligible_for_research_grade":"Eligible for Research Grade","end":"Fim","endangered":"em perigo","endemic":"endêmica","exact_date":"Exact date","exact_location":"Localização exata","exit_full_screen":"Sair do modo tela inteira","exporting":"Exportando...","extinct":"extinto","extinct_in_the_wild":"extinto na natureza","failed_to_find_your_location":"Failed to find your location.","featured":"destacado","filters":"Filtros","find":"Procurar","find_observations":"Encontre observações","find_photos":"Encontre Fotos","find_your_current_location":"Find your current location","flag_an_item":"Alerte sobre um ítem","flickr_has_no_creative_commons":"Flickr não possui fotos com licença Creative Commons deste lugar.","from":"De","full_screen":"Full screen","gbif_occurrences":"Registros GBIF","geoprivacy":"Geoprivacidade","green":"verde","grey":"cinza","grid":"Grade","grid_tooltip":"Exibir grade","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identificações","import":"Importar","including":"incluindo","input_taxon":"Táxon de entrada","introduced":"introduzida","join_project":"Entre neste projeto","joined!":"Participando!","kml":"KML","kml_file_size_error":"KML deve ter menos que 1 MB de tamanho","labels":"Etiquetas","layers":"Layers","least_concern":"Pouco preocupante","list":"Lista","list_tooltip":"Exibir visualização de lista","loading":"Carregando...","lookup":"Procurar","low":"low","map":"Mapa","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Mostre a vista do mapa","maps":{"overlays":{"all_observations":"Todas as observações"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Nome","native":"nativa","near_threatened":"quase ameaçado","needs_id":"needs ID","new_observation_field":"Nova observação de campo","next":"Próximo","no":"Não","no_more_taxa_to_load":"Não existem mais espécies ou grupos para carregar!","no_observations_from_this_place_yet":"Ainda não existem observações neste local.","no_observations_yet":"Ainda não existem observações","no_places_available":"No places available","no_range_data_available":"Não existe dados disponíveis sobre área de distribuição.","no_results_for":"Não existem resultados para","no_results_found":"Nenhum resultado encontrado","no_sections_available":"Nenhuma seção disponível.","none":"Nenhum","not_evaluated":"Não avaliado","number_selected":"# selected","obscured":"Oculto","observation_date":"Data","observation_fields":"Campos de Observação","observations":"Observações","observed":"Observado","observed_on":"Observado em","of":"de","open":"abrir","orange":"laranja","output_taxon":"Taxón de saída","person":"pessoa","photo":"Foto","photo_licensing":"Photo licensing","pink":"rosa","place":"Lugar","place_geo":{"geo_planet_place_types":{"Aggregate":"Conjunto","aggregate":"Agregado","Airport":"Aeroporto","airport":"aeroporto","Building":"Em construção","building":"Edifício","Colloquial":"Informal","colloquial":"Coloquial","Continent":"Continente","continent":"continente","Country":"País","country":"país","County":"Região","county":"Município","Drainage":"Drenagem","drainage":"drenagem","Estate":"Estado","estate":"estado","Historical_County":"Região Histórica","historical_county":"Cidade Histórica","Historical_State":"Estado Histórico","historical_state":"Estado Histórico","Historical_Town":"Cidade Histórica","historical_town":"Cidade Histórica","Intersection":"Interseção","intersection":"interseção","Island":"Ilha","island":"ilha","Land_Feature":"Características básicas","land_feature":"Características básicas","Local_Administrative_Area":"Administração Local","local_administrative_area":"Administração local","Miscellaneous":"Diversos","miscellaneous":"diversos","Nationality":"Nacionalidade","nationality":"nacionalidade","Nearby_Building":"Prédio nas proximidades","nearby_building":"Prédio nas proximidades","Nearby_Intersection":"Interseção Próxima","nearby_intersection":"Interseção Próxima","Open_Space":"Área Aberta","open_space":"espaço_aberto","Point_of_Interest":"Ponto de interesse","point_of_interest":"pontos de interesse","Postal_Code":"CEP","postal_code":"CEP","Region":"Região","region":"região","Sports_Team":"Clube Esportivo","sports_team":"clube esportivo","State":"Estado","state":"estado","Street":"Rua","street":"rua","Street_Segment":"Trecho da rua","street_segment":"Trecho de rua","Suburb":"Bairro","suburb":"bairro","Supername":"Sobrenome","supername":"Sobrenome","Territory":"Território","territory":"território","Time_Zone":"Fuso Horário","time_zone":"Horário Local","Town":"Cidade","town":"cidade","Undefined":"Não definido","undefined":"indefinido","Zone":"Zona","zone":"zona"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Anterior","preview":"Pré-visualização","project":"Projeto","purple":"roxo","quality_grade":"Controle de qualidade","range":"Área de Distribuição","range_from":"Distribuição de","rank":"Classificação","rank_position":"Rank","ranks":{"kingdom":"reino","phylum":"filo","subphylum":"subfilo","superclass":"superclasse","class":"classe","subclass":"subclasse","superorder":"superordem","order":"ordem","suborder":"subordem","superfamily":"superfamília","family":"família","subfamily":"subfamília","supertribe":"supertribo","tribe":"tribo","subtribe":"subtribo","genus":"gênero","genushybrid":"Gênero híbrido","species":"espécie","hybrid":"Híbrido","subspecies":"subespécies","variety":"variedade","form":"Formulário"},"red":"vermelho","redo_search_in_map":"Redo search in map","reload_timed_out":"O tempo expirou. Por favor, tente em alguns instantes novamente.","removed!":"Removido!","removing":"Removendo...","research":"pesquisa","research_grade":"nível de pesquisa","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satélite","saving":"Salvando...","saving_verb":"Salvando","search":"Pesquisar","search_external_name_providers":"Buscar em provedores externos","search_remote":"Busca remota","select":"Selecionar","select_all":"Selecionar todas","select_none":"Limpar seleção","select_options":"Select options","selected_photos":"Fotos selecionadas","show":"Exibir","show_taxa_from_everywhere":"Exibir táxons de todas as localidades","show_taxa_from_place":"Exibir táxons de %{local}","showing_taxa_from_everywhere":"Exibir táxons de todas as localidades","showing_taxa_from_place":"Exibindo táxons de %{place}","something_went_wrong_adding":"Houve um erro ao incluir esta espécie a sua lista","sort_by":"Ordenar por","sounds":{"selected_sounds":"Selecione sons"},"source":"Fonte","species":"Espécies","species_unknown":"Espécies desconhecidas","standard":"Standard","start":"Iniciar","start_typing_taxon_name":"Comece a digitar o nome do táxon","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Tabela","tagging":"Marcando...","taxon_map":{"overlays":"Capas"},"taxonomic_groups":"Grupos Taxonômicos","terrain":"terreno","the_world":"The World","there_were_problems_adding_taxa":"Aconteceram problemas adicionando estes táxons: %{errors}","threatened":"ameaçado","today":"Hoje","unknown":"Desconhecido","update_search":"Update search","update_x_selected_taxa":{"one":"Atualizar 1 táxon selecionado","other":"Update %{count} táxons selecionados"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"Usuário","username_or_user_id":"Nome de usuário ou identificação do usuário","verbing_x_of_y":"%{verb} %{x} de %{y}...","verifiable":"verifiable","view":"Exibir","view_more":"Exibir mais","view_observation":"Ver observação","views":{"observations":{"export":{"taking_a_while":"Isto está demorando um pouco. Por favor, tente uma das opções abaixo.","well_email_you":"Ok, enviaremos um e-mail quando estiver pronto."}}},"vulnerable":"vulnerável","white":"branco","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 Favorito","other":"%{count} Favoritos"},"x_identifications":{"one":"1 identificação","other":"%{count} identificações"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e táxon correspondente","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e taxa correspondente"},"x_observations":{"one":"1 observação","other":"%{count} observações"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e observação","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e observações"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e espécie","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e espécies"},"yellow":"amarelo","yes":"Sim","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"Você não está modificando qualquer guia. \u003ca href=\"/guides/new\"\u003eAdicione uma\u003c/a\u003e","you_must_select_at_least_one_taxon":"Você deve selecionar ao menos um táxon","your_hard_drive":"seu disco rígido (HD)","your_observations":"Suas observações","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["ro"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["ru"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["sk"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["sl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["sr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["sr-RS"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["sv"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["th"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["tr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["uk"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["vi"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["zh-CN"] = {"about_community_taxa":"关于社区分类群","add":"添加","add_photos_to_this_observation":"添加照片至此观察","added":"已添加","added!":"已添加!","added_on":"添加在","additional_range":"额外范围","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"全部","all_taxa":{"rank":{"kingdom":"王国","class":"类","phylum":"门","species":"物种","order":"排序"},"amphibians":"两栖动物","animals":"动物","arachnids":"蛛形类","birds":"鸟类","chromista":"色藻界","fungi":"真菌","insects":"昆虫","mammals":"哺乳动物","mollusks":"软体动物","other_animals":"其他动物","plants":"植物","protozoans":"原生动物","ray_finned_fishes":"条鳍鱼类","reptiles":"爬行动物","life":"生命","x_plantae":{"other":"%{count}个植物"},"x_animalia":{"other":"%{count}只动物"},"x_mollusca":{"other":"%{count}只软体动物"},"x_amphibia":{"other":"%{count}只两栖动物"},"x_mammalia":{"other":"%{count}只哺乳动物"},"x_actinopterygii":{"other":"%{count}只鳍刺鱼"},"x_reptilia":{"other":"%{count}只爬行动物"},"x_aves":{"other":"%{count}种鸟类"},"x_insecta":{"other":"%{count}只昆虫"},"x_arachnida":{"other":"%{count}只蛛形动物"},"x_fungi":{"other":"%{count}个真菌"},"x_chromista":{"other":"%{count}位科学家"},"x_protozoa":{"other":"%{count}只原生动物"},"x_other_animals":{"other":"%{count}只其他动物"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"任何","are_you_sure_you_want_to_remove_all_tags":"您确定您要移除所有标签么?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"升","atom":"原子","black":"黑色","blue":"蓝色","blue_butterfly_etc":"蓝色、蝴蝶等","bounding_box":"边界框","brown":"棕色","browse":"浏览","casual":"变装","categories":"分类","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"清除","colors":"颜色","community_curated":"社区策划","confirmed":"已确认","created_on":"创建于","critically_endangered":"critically endangered","data_deficient":"数据有缺陷","date_added":"日期已加入","date_format":{"month":{"january":"一月","february":"二月","march":"三月","april":"四月","may":"五月","june":"六月","july":"七月","august":"八月","september":"九月","october":"十月","november":"十一月","december":"十二月"}},"date_observed":"观察日期","date_picker":{"closeText":"关闭","currentText":"今天","prevText":"上一个","nextText":"下一个","monthNames":"['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']","monthNamesShort":"['1月','2月','3月','4月', '5月','6月','7月','8月','9月', '10月','11月','12月']","dayNames":"['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']","dayNamesShort":"['日','一','二','三','四','五','六']","dayNamesMin":"['日','一','二','三','四','五','六']"},"deleting_verb":"删除中","desc":"描述","description_slash_tags":"描述 / 标签","did_you_mean":"您是不是要找","doh_something_went_wrong":"生气啊,发生了一些错误。","download":"下载","edit_license":"编辑许可协议","eligible_for_research_grade":"符合研究级资格","end":"结束","endangered":"濒临灭绝","endemic":"地方性","exact_date":"具体日期","exact_location":"精确位置","exit_full_screen":"退出全屏","exporting":"正在导出……","extinct":"灭绝","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"无法找到您的位置。","featured":"特色","filters":"过滤器","find":"查找","find_observations":"Find observations","find_photos":"查找照片","find_your_current_location":"找到您当前的位置","flag_an_item":"标记一个项目","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"来自","full_screen":"全屏","gbif_occurrences":"GBIF发现","geoprivacy":"Geoprivacy","green":"绿色","grey":"灰色","grid":"格子","grid_tooltip":"显示网格预览","has_one_or_more_faves":"有一个或更多喜爱","has_photos":"有照片","has_sounds":"有声音","high":"高","his":{},"identifications":"身份证明","import":"导入","including":"包括","input_taxon":"Input taxon","introduced":"引进","join_project":"加入这个项目","joined!":"已加入!","kml":"KML","kml_file_size_error":"KML 大小必须小于 1 MB","labels":"标签","layers":"图层","least_concern":"least concern","list":"列表","list_tooltip":"显示列表预览","loading":"正在载入...","lookup":"查找","low":"低","map":"地图","map_legend":"地图图例","map_marker_size":"map marker size","map_tooltip":"显示地图预览","maps":{"overlays":{"all_observations":"所有观察"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"媒体","momentjs":{"shortRelativeTime":{"future":"在 %s","past":"%s","s":"s","m":"1m","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1m","MM":"%dm","1":"1y","yy":"%dy"}},"months":"月","more_filters":"更多过滤器","name":"名称","native":"本地","near_threatened":"near threatened","needs_id":"需要ID","new_observation_field":"New observation field","next":"下一个","no":"否","no_more_taxa_to_load":"没有更多要加载的分类!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"没有可用的地点","no_range_data_available":"没有范围数据可用。","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"无","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"已遮盖","observation_date":"日期","observation_fields":"Observation Fields","observations":"观察","observed":"已观察","observed_on":"观察于","of":"的","open":"打开","orange":"橙色","output_taxon":"Output taxon","person":"人","photo":"照片","photo_licensing":"照片许可协议","pink":"粉色","place":"地方","place_geo":{"geo_planet_place_types":{"Aggregate":"聚合","aggregate":"聚合","Airport":"机场","airport":"机场","Building":"建筑","building":"建筑","Colloquial":"白话","colloquial":"白话/俗话","Continent":"洲","continent":"洲","Country":"国家","country":"国家","County":"县","county":"县","District":"区","district":"区","Drainage":"排水管道","drainage":"排水","Estate":"房地产","estate":"房地产","Intersection":"交叉","intersection":"交集","Island":"岛","island":"岛","Land_Feature":"地貌","land_feature":"地貌","Miscellaneous":"杂项","miscellaneous":"杂项","Nationality":"国籍","nationality":"国籍","Point_of_Interest":"兴趣点","Province":"省","province":"省","Region":"区域","region":"区域","State":"州","state":"州","Street":"街道","street":"街道","Suburb":"郊区","suburb":"郊区","Supername":"超类名称","supername":"超类名称","Territory":"领土","territory":"领土","Time_Zone":"时区","time_zone":"时区","Town":"城镇","town":"城镇","Undefined":"未定义","undefined":"未定义","Zone":"地区","zone":"地带"}},"places_added_by_members_of_the_community":"由社群成员添加的地点","places_maintained_by_site_admins":"由网站管理员维护的地点","places_of_interest":"名胜古迹","popular":"热门","prev":"上一个","preview":"预览","project":"项目","purple":"purple","quality_grade":"Quality grade","range":"范围","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"class":"类","subclass":"子集","infraorder":"下目","superfamily":"超科","family":"家庭","subfamily":"亚科","leaves":"离开"},"red":"red","redo_search_in_map":"在地图中重新搜索","reload_timed_out":"Reload timed out. Please try again later.","removed!":"已移除!","removing":"正在移除……","research":"research","research_grade":"research grade","reset_search_filters":"重置搜索过滤器","reviewed":"已复核","satellite":"satellite","saving":"正在保存...","saving_verb":"保存中","search":"搜索","search_external_name_providers":"Search external name providers","search_remote":"搜索远程","select":"选择","select_all":"Select all","select_none":"Select none","select_options":"选择选项","selected_photos":"Selected photos","show":"显示","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"排序方式","sounds":{"selected_sounds":"已选择声音"},"source":"来源","species":"Species","species_unknown":"Species unknown","standard":"标准","start":"开始","start_typing_taxon_name":"开始输入分类名称……","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"表格","tagging":"正在添加标签……","taxon_map":{"overlays":"覆盖图"},"taxonomic_groups":"Taxonomic Groups","terrain":"地形","the_world":"世界","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"今天","unknown":"未知","update_search":"更新搜索","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug或ID,例如my-project或333","use_name_as_a_placeholder":"使用\u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e作为一个占位符","user":"用户","username_or_user_id":"用户名或用户ID","verbing_x_of_y":"%{verb} %{y}的%{x}……","verifiable":"可证实","view":"查看","view_more":"查看更多","view_observation":"查看观察","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"好的,我们会在它就绪时给您发邮件。"}}},"vulnerable":"易受攻击的","white":"白色","wild":"野生","x_comments":{"one":"1 条评论","other":"%{count} 条评论"},"x_faves":{"one":"1 次喜爱","other":"%{count} 次喜爱"},"x_identifications":{"one":"1次鉴定","other":"%{count} 次鉴定"},"x_matching_taxa_html":{"one":"o\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e 个匹配的分类群","other":"o\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e 个匹配的分类群"},"x_observations":{"one":"1 次观察","other":"%{count} 次观察"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e 次观察","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e 次观察"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e 种物种","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e 种物种"},"yellow":"黄色","yes":"是","yesterday":"昨天","you_are_not_editing_any_guides_add_one_html":"您没有编辑任何指南。\u003ca href=\"/guides/new\"\u003e添加一个\u003c/a\u003e","you_must_select_at_least_one_taxon":"您必须选择至少一个类群","your_hard_drive":"您的硬盘驱动器","your_observations":"Your observations","zoom_in":"放大","zoom_out":"缩小"}; -I18n.translations["zh-HK"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; -I18n.translations["zh-TW"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open_space","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["ro"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["ru"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["sk"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["sl"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["sr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["sr-RS"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["sv"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["th"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["tr"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["uk"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["vi"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["zh-CN"] = {"about_community_taxa":"关于社区分类群","add":"添加","add_photos_to_this_observation":"添加照片至此观察","added":"已添加","added!":"已添加!","added_on":"添加在","additional_range":"额外范围","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"全部","all_taxa":{"rank":{"kingdom":"界","class":"纲","phylum":"门","species":"种","order":"目"},"amphibians":"两栖动物","animals":"动物","arachnids":"蛛形类","birds":"鸟类","chromista":"色藻界","fungi":"真菌","fungi_including_lichens":"真菌包括地衣","insects":"昆虫","mammals":"哺乳动物","mollusks":"软体动物","other_animals":"其他动物","plants":"植物","protozoans":"原生动物","ray_finned_fishes":"条鳍鱼类","reptiles":"爬行动物","life":"生命","x_plantae":{"other":"%{count}个植物"},"x_animalia":{"other":"%{count}只动物"},"x_mollusca":{"other":"%{count}只软体动物"},"x_amphibia":{"other":"%{count}只两栖动物"},"x_mammalia":{"other":"%{count}只哺乳动物"},"x_actinopterygii":{"other":"%{count}只鳍刺鱼"},"x_reptilia":{"other":"%{count}只爬行动物"},"x_aves":{"other":"%{count}种鸟类"},"x_insecta":{"other":"%{count}只昆虫"},"x_arachnida":{"other":"%{count}只蛛形动物"},"x_fungi":{"other":"%{count}个真菌"},"x_chromista":{"other":"%{count}位科学家"},"x_protozoa":{"other":"%{count}只原生动物"},"x_other_animals":{"other":"%{count}只其他动物"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"任何","are_you_sure_you_want_to_remove_all_tags":"您确定您要移除所有标签么?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"升","atom":"原子","black":"黑色","blue":"蓝色","blue_butterfly_etc":"蓝色、蝴蝶等","bounding_box":"边界框","brown":"棕色","browse":"浏览","casual":"变装","categories":"分类","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"清除","colors":"颜色","community_curated":"社区策划","confirmed":"已确认","created_on":"创建于","critically_endangered":"critically endangered","data_deficient":"数据有缺陷","date_added":"日期已加入","date_format":{"month":{"january":"一月","february":"二月","march":"三月","april":"四月","may":"五月","june":"六月","july":"七月","august":"八月","september":"九月","october":"十月","november":"十一月","december":"十二月"}},"date_observed":"观察日期","date_picker":{"closeText":"关闭","currentText":"今天","prevText":"上一个","nextText":"下一个","monthNames":"['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']","monthNamesShort":"['1月','2月','3月','4月', '5月','6月','7月','8月','9月', '10月','11月','12月']","dayNames":"['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']","dayNamesShort":"['日','一','二','三','四','五','六']","dayNamesMin":"['日','一','二','三','四','五','六']"},"deleting_verb":"删除中","desc":"描述","description_slash_tags":"描述 / 标签","did_you_mean":"您是不是要找","doh_something_went_wrong":"生气啊,发生了一些错误。","download":"下载","edit_license":"编辑许可协议","eligible_for_research_grade":"符合研究级资格","end":"结束","endangered":"濒临灭绝","endemic":"地方性","exact_date":"具体日期","exact_location":"精确位置","exit_full_screen":"退出全屏","exporting":"正在导出……","extinct":"灭绝","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"无法找到您的位置。","featured":"特色","filters":"过滤器","find":"查找","find_observations":"Find observations","find_photos":"查找照片","find_your_current_location":"找到您当前的位置","flag_an_item":"标记一个项目","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"来自","full_screen":"全屏","gbif_occurrences":"GBIF发现","geoprivacy":"位置隐私","green":"绿色","grey":"灰色","grid":"格子","grid_tooltip":"显示网格预览","has_one_or_more_faves":"有一个或更多喜爱","has_photos":"有照片","has_sounds":"有声音","high":"高","his":{},"identifications":"身份证明","import":"导入","including":"包括","input_taxon":"Input taxon","introduced":"引进","join_project":"加入这个项目","joined!":"已加入!","kml":"KML","kml_file_size_error":"KML 大小必须小于 1 MB","labels":"标签","layers":"图层","least_concern":"least concern","list":"列表","list_tooltip":"显示列表预览","loading":"正在载入...","lookup":"查找","low":"低","map":"地图","map_legend":"地图图例","map_marker_size":"map marker size","map_tooltip":"显示地图预览","maps":{"overlays":{"all_observations":"所有观察"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"媒体","momentjs":{"shortRelativeTime":{"future":"在 %s","past":"%s","s":"s","m":"1分钟","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1分钟","MM":"%dm","1":"1y","yy":"%dy"}},"months":"月","more_filters":"更多过滤器","name":"名称","native":"本地","near_threatened":"near threatened","needs_id":"需要ID","new_observation_field":"New observation field","next":"下一个","no":"否","no_more_taxa_to_load":"没有更多要加载的分类!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"没有可用的地点","no_range_data_available":"没有范围数据可用。","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"无","not_evaluated":"not evaluated","number_selected":"# 已选择","obscured":"已遮盖","observation_date":"日期","observation_fields":"Observation Fields","observations":"观察","observed":"已观察","observed_on":"观察于","of":"的","open":"打开","orange":"橙色","output_taxon":"Output taxon","person":"人","photo":"照片","photo_licensing":"照片许可协议","pink":"粉色","place":"地方","place_geo":{"geo_planet_place_types":{"Aggregate":"聚合","aggregate":"聚合","Airport":"机场","airport":"机场","Building":"建筑","building":"建筑","Colloquial":"白话","colloquial":"白话/俗话","Continent":"洲","continent":"洲","Country":"国家","country":"国家","County":"县","county":"县","District":"区","district":"区","Drainage":"排水管道","drainage":"排水","Estate":"房地产","estate":"房地产","Intersection":"交叉","intersection":"交集","Island":"岛","island":"岛","Land_Feature":"地貌","land_feature":"地貌","Miscellaneous":"杂项","miscellaneous":"杂项","Nationality":"国籍","nationality":"国籍","Point_of_Interest":"兴趣点","Province":"省","province":"省","Region":"区域","region":"区域","State":"州","state":"州","Street":"街道","street":"街道","Suburb":"郊区","suburb":"郊区","Supername":"超类名称","supername":"超类名称","Territory":"领土","territory":"领土","Time_Zone":"时区","time_zone":"时区","Town":"城镇","town":"城镇","Undefined":"未定义","undefined":"未定义","Zone":"地区","zone":"地带"}},"places_added_by_members_of_the_community":"由社群成员添加的地点","places_maintained_by_site_admins":"由网站管理员维护的地点","places_of_interest":"名胜古迹","popular":"热门","prev":"上一个","preview":"预览","project":"项目","purple":"紫色","quality_grade":"Quality grade","range":"范围","range_from":"Range from ","rank":"排名","rank_position":"排名","ranks":{"kingdom":"界","phylum":"门","subphylum":"亚门","superclass":"总纲","class":"纲","subclass":"亚纲","superorder":"总目","order":"目","suborder":"亚目","infraorder":"下目","superfamily":"总科","epifamily":"领科","family":"科","subfamily":"亚科","supertribe":"总族","tribe":"族","subtribe":"亚族","genus":"属","genushybrid":"属间杂种","species":"种","hybrid":"杂种","subspecies":"亚种","variety":"变种","form":"型","leaves":"叶片"},"red":"red","redo_search_in_map":"在地图中重新搜索","reload_timed_out":"Reload timed out. Please try again later.","removed!":"已移除!","removing":"正在移除……","research":"research","research_grade":"research grade","reset_search_filters":"重置搜索过滤器","reviewed":"已复核","satellite":"satellite","saving":"正在保存...","saving_verb":"保存中","search":"搜索","search_external_name_providers":"Search external name providers","search_remote":"搜索远程","select":"选择","select_all":"Select all","select_none":"Select none","select_options":"选择选项","selected_photos":"Selected photos","show":"显示","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"排序方式","sounds":{"selected_sounds":"已选择声音"},"source":"来源","species":"Species","species_unknown":"Species unknown","standard":"标准","start":"开始","start_typing_taxon_name":"开始输入分类名称……","status_globally":"%{status} 全球","status_in_place":"%{status} 在 %{place}","table":"表格","tagging":"正在添加标签……","taxon_map":{"overlays":"覆盖图"},"taxonomic_groups":"Taxonomic Groups","terrain":"地形","the_world":"世界","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"今天","unknown":"未知","update_search":"更新搜索","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug或ID,例如my-project或333","use_name_as_a_placeholder":"使用\u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e作为一个占位符","user":"用户","username_or_user_id":"用户名或用户ID","verbing_x_of_y":"%{verb} %{y}的%{x}……","verifiable":"可证实","view":"查看","view_more":"查看更多","view_observation":"查看观察","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"好的,我们会在它就绪时给您发邮件。"}}},"vulnerable":"易受攻击的","white":"白色","wild":"野生","x_comments":{"one":"1 条评论","other":"%{count} 条评论"},"x_faves":{"one":"1 次喜爱","other":"%{count} 次喜爱"},"x_identifications":{"one":"1次鉴定","other":"%{count} 次鉴定"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e 个匹配的分类单元","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e 个匹配的分类群"},"x_observations":{"one":"1 次观察","other":"%{count} 次观察"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e 次观察","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e 次观察"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1\u003c/a\u003e 种物种","other":"\u003ca href='%{url}'\u003e%{count}\u003c/a\u003e 种物种"},"yellow":"黄色","yes":"是","yesterday":"昨天","you_are_not_editing_any_guides_add_one_html":"您没有编辑任何指南。\u003ca href=\"/guides/new\"\u003e添加一个\u003c/a\u003e","you_must_select_at_least_one_taxon":"您必须选择至少一个类群","your_hard_drive":"您的硬盘驱动器","your_observations":"Your observations","zoom_in":"放大","zoom_out":"缩小"}; +I18n.translations["zh-HK"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; +I18n.translations["zh-TW"] = {"about_community_taxa":"About community taxa","add":"Add","add_photos_to_this_observation":"Add photos to this observation","added":"Added","added!":"Added!","added_on":"Added on","additional_range":"Additional range","additional_range_data_from_an_unknown_source":"Additional range data from an unknown source","all":"All","all_taxa":{"rank":{"kingdom":"Kingdom","class":"Class","phylum":"Phylum","species":"Species","order":"Order"},"amphibians":"Amphibians","animals":"Animals","arachnids":"Arachnids","birds":"Birds","chromista":"Chromista","fungi":"Fungi","fungi_including_lichens":"Fungi Including Lichens","insects":"Insects","mammals":"Mammals","mollusks":"Mollusks","other_animals":"Other Animals","plants":"Plants","protozoans":"Protozoans","ray_finned_fishes":"Ray-Finned Fishes","reptiles":"Reptiles","life":"Life","x_plantae":{"one":"1 plant","other":"%{count} plants"},"x_animalia":{"one":"1 animal","other":"%{count} animals"},"x_mollusca":{"one":"1 mollusk","other":"%{count} mollusks"},"x_amphibia":{"one":"1 amphibian","other":"%{count} amphibians"},"x_mammalia":{"one":"1 mammal","other":"%{count} mammals"},"x_actinopterygii":{"one":"1 ray-finned fish","other":"%{count} ray-finned fishes"},"x_reptilia":{"one":"1 reptile","other":"%{count} reptiles"},"x_aves":{"one":"1 bird","other":"%{count} birds"},"x_insecta":{"one":"1 insect","other":"%{count} insects"},"x_arachnida":{"one":"1 arachnid","other":"%{count} arachnids"},"x_fungi":{"one":"1 fungus","other":"%{count} fungi"},"x_chromista":{"one":"1 chromist","other":"%{count} chromists"},"x_protozoa":{"one":"1 protozoan","other":"%{count} protozoa"},"x_other_animals":{"one":"1 other animal","other":"%{count} other animals"},"common_name(locale: :en)":{"name":{"parameterize":{}}}},"any":"any","are_you_sure_you_want_to_remove_all_tags":"Are you sure you want to remove all tags?","are_you_sure_you_want_to_remove_these_x_taxa?":"Are you sure you want to remove these %{x} taxa?","asc":"asc","atom":"Atom","black":"black","blue":"blue","blue_butterfly_etc":"blue, butterfly, etc.","bounding_box":"Bounding Box","brown":"brown","browse":"Browse","casual":"casual","categories":"categories","choose_photos_for_this_taxon":"Choose photos for this taxon","clear":"clear","colors":"Colors","community_curated":"Community Curated","confirmed":"confirmed","created_on":"Created on","critically_endangered":"critically endangered","data_deficient":"data deficient","date_added":"Date added","date_format":{"month":{"january":"January","february":"February","march":"March","april":"April","may":"May","june":"June","july":"July","august":"August","september":"September","october":"October","november":"November","december":"December"}},"date_observed":"Date observed","date_picker":{"closeText":"Close","currentText":"Today","prevText":"Prev","nextText":"Next","monthNames":"['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']","monthNamesShort":"['Jan','Feb','Mar','Apr', 'May','Jun','Jul','Aug','Sep', 'Oct','Nov','Dec']","dayNames":"['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']","dayNamesShort":"['Sun','Mon','Tue','Wed','Thu','Sun','Sat']","dayNamesMin":"['Su','Mo','Tu','We','Th','Fr','Sa']"},"deleting_verb":"Deleting","desc":"desc","description_slash_tags":"Description / Tags","did_you_mean":"Did you mean","doh_something_went_wrong":"D'oh, something went wrong.","download":"Download","edit_license":"Edit license","eligible_for_research_grade":"Eligible for Research Grade","end":"End","endangered":"endangered","endemic":"endemic","exact_date":"Exact date","exact_location":"Exact_location","exit_full_screen":"Exit full screen","exporting":"Exporting...","extinct":"extinct","extinct_in_the_wild":"extinct in the wild","failed_to_find_your_location":"Failed to find your location.","featured":"featured","filters":"Filters","find":"Find","find_observations":"Find observations","find_photos":"Find Photos","find_your_current_location":"Find your current location","flag_an_item":"Flag an item","flickr_has_no_creative_commons":"Flickr has no Creative Commons-licensed photos from this place.","from":"From","full_screen":"Full screen","gbif_occurrences":"GBIF Occurrences","geoprivacy":"Geoprivacy","green":"green","grey":"grey","grid":"Grid","grid_tooltip":"Show grid view","has_one_or_more_faves":"Has one or more faves","has_photos":"has photos","has_sounds":"has sounds","high":"high","his":{},"identifications":"Identifications","import":"Import","including":"including","input_taxon":"Input taxon","introduced":"introduced","join_project":"Join this project","joined!":"Joined!","kml":"KML","kml_file_size_error":"KML must be less than 1 MB in size","labels":"Labels","layers":"Layers","least_concern":"least concern","list":"List","list_tooltip":"Show list view","loading":"Loading...","lookup":"Lookup","low":"low","map":"Map","map_legend":"map legend","map_marker_size":"map marker size","map_tooltip":"Show map view","maps":{"overlays":{"all_observations":"All observations"}},"maptype_for_places":"google.maps.MapTypeId.TERRAIN","media":"Media","momentjs":{"shortRelativeTime":{"future":"in %s","past":"%s","s":"s","m":"1min","mm":"%dm","h":"1h","hh":"%dh","d":"1d","dd":"%dd","M":"1mo","MM":"%dmo","y":"1y","yy":"%dy"}},"months":"Months","more_filters":"More filters","name":"Name","native":"native","near_threatened":"near threatened","needs_id":"needs ID","new_observation_field":"New observation field","next":"Next","no":"No","no_more_taxa_to_load":"No more taxa to load!","no_observations_from_this_place_yet":"No observations from this place yet.","no_observations_yet":"No observations yet","no_places_available":"No places available","no_range_data_available":"No range data available.","no_results_for":"No results for ","no_results_found":"No results found","no_sections_available":"No sections available.","none":"None","not_evaluated":"not evaluated","number_selected":"# selected","obscured":"Obscured","observation_date":"Date","observation_fields":"Observation Fields","observations":"Observations","observed":"Observed","observed_on":"Observed on","of":"of","open":"open","orange":"orange","output_taxon":"Output taxon","person":"person","photo":"Photo","photo_licensing":"Photo licensing","pink":"pink","place":"Place","place_geo":{"geo_planet_place_types":{"Aggregate":"Aggregate","aggregate":"aggregate","Airport":"Airport","airport":"airport","Building":"Building","building":"building","Colloquial":"Colloquial","colloquial":"colloquial","Continent":"Continent","continent":"continent","Country":"Country","country":"country","County":"County","county":"county","District":"District","district":"district","Division":"Division","division":"division","Drainage":"Drainage","drainage":"drainage","Estate":"Estate","estate":"estate","Historical_County":"Historical County","historical_county":"historical county","Historical_State":"Historical State","historical_state":"historical state","Historical_Town":"Historical Town","historical_town":"historical town","Intersection":"Intersection","intersection":"intersection","Island":"Island","island":"island","Land_Feature":"Land Feature","land_feature":"land feature","Local_Administrative_Area":"Local Administrative Area","local_administrative_area":"local administrative area","Miscellaneous":"Miscellaneous","miscellaneous":"miscellaneous","Municipality":"Municipality","municipality":"municipality","Nationality":"Nationality","nationality":"nationality","Nearby_Building":"Nearby Building","nearby_building":"nearby building","Nearby_Intersection":"Nearby Intersection","nearby_intersection":"nearby intersection","Open_Space":"Open Space","open_space":"open space","Parish":"Parish","parish":"parish","Point_of_Interest":"Point of Interest","point_of_interest":"point of interest","Postal_Code":"Postal Code","postal_code":"postal code","Province":"Province","province":"province","Region":"Region","region":"region","Sports_Team":"Sports Team","sports_team":"sports team","State":"State","state":"state","Street":"Street","street":"street","Street_Segment":"Street Segment","street_segment":"street segment","Suburb":"Suburb","suburb":"suburb","Supername":"Supername","supername":"supername","Territory":"Territory","territory":"territory","Time_Zone":"Time Zone","time_zone":"time zone","Town":"Town","town":"town","Undefined":"Undefined","undefined":"undefined","Zone":"Zone","zone":"zone"}},"places_added_by_members_of_the_community":"Places added by members of the community","places_maintained_by_site_admins":"Places maintained by site admins","places_of_interest":"Places of Interest","popular":"popular","prev":"Prev","preview":"Preview","project":"Project","purple":"purple","quality_grade":"Quality grade","range":"Range","range_from":"Range from ","rank":"Rank","rank_position":"Rank","ranks":{"kingdom":"kingdom","phylum":"phylum","subphylum":"subphylum","superclass":"superclass","class":"class","subclass":"subclass","superorder":"superorder","order":"order","suborder":"suborder","infraorder":"infraorder","superfamily":"superfamily","epifamily":"epifamily","family":"family","subfamily":"subfamily","supertribe":"supertribe","tribe":"tribe","subtribe":"subtribe","genus":"genus","genushybrid":"genushybrid","species":"species","hybrid":"hybrid","subspecies":"subspecies","variety":"variety","form":"form","leaves":"leaves"},"red":"red","redo_search_in_map":"Redo search in map","reload_timed_out":"Reload timed out. Please try again later.","removed!":"Removed!","removing":"Removing...","research":"research","research_grade":"research grade","reset_search_filters":"Reset search filters","reviewed":"Reviewed","satellite":"satellite","saving":"Saving...","saving_verb":"Saving","search":"Search","search_external_name_providers":"Search external name providers","search_remote":"Search remote","select":"Select","select_all":"Select all","select_none":"Select none","select_options":"Select options","selected_photos":"Selected photos","show":"Show","show_taxa_from_everywhere":"Show taxa from everywhere","show_taxa_from_place":"Show taxa from %{place}","showing_taxa_from_everywhere":"Showing taxa from everywhere","showing_taxa_from_place":"Showing taxa from %{place}","something_went_wrong_adding":"Something went wrong adding that species to your list","sort_by":"Sort by","sounds":{"selected_sounds":"Selected sounds"},"source":"Source","species":"Species","species_unknown":"Species unknown","standard":"Standard","start":"Start","start_typing_taxon_name":"Start typing taxon name...","status_globally":"%{status} Globally","status_in_place":"%{status} in %{place}","table":"Table","tagging":"Tagging...","taxon_map":{"overlays":"Overlays"},"taxonomic_groups":"Taxonomic Groups","terrain":"terrain","the_world":"The World","there_were_problems_adding_taxa":"There were problems adding those taxa: %{errors}","threatened":"threatened","today":"Today","unknown":"Unknown","update_search":"Update search","update_x_selected_taxa":{"one":"Update 1 selected taxon","other":"Update %{count} selected taxa"},"url_slug_or_id":"URL slug or ID, e.g. my-project or 333","use_name_as_a_placeholder":"Use \u003cspan class='ac-placeholder'\u003e\"%{name}\"\u003c/span\u003e as a placeholder\n","user":"User","username_or_user_id":"Username or user ID","verbing_x_of_y":"%{verb} %{x} of %{y}...","verifiable":"verifiable","view":"View","view_more":"View more","view_observation":"View observation","views":{"observations":{"export":{"taking_a_while":"This is taking a while. Please try one of the options below.","well_email_you":"Ok, we'll email you when it's ready."}}},"vulnerable":"vulnerable","white":"white","wild":"wild","x_comments":{"one":"1 comment","other":"%{count} comments"},"x_faves":{"one":"1 fave","other":"%{count} faves"},"x_identifications":{"one":"1 identification","other":"%{count} identifications"},"x_matching_taxa_html":{"one":"\u003cspan class=\"count\"\u003e1\u003c/span\u003e matching taxon","other":"\u003cspan class=\"count\"\u003e%{count}\u003c/span\u003e matching taxa"},"x_observations":{"one":"1 observation","other":"%{count} observations"},"x_observations_link_html":{"one":"\u003ca href='%{url}'\u003e1 observation\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} observations\u003c/a\u003e"},"x_species_link_html":{"one":"\u003ca href='%{url}'\u003e1 species\u003c/a\u003e","other":"\u003ca href='%{url}'\u003e%{count} species\u003c/a\u003e"},"yellow":"yellow","yes":"Yes","yesterday":"Yesterday","you_are_not_editing_any_guides_add_one_html":"You are not editing any guides. \u003ca href=\"/guides/new\"\u003eAdd one\u003c/a\u003e\n","you_must_select_at_least_one_taxon":"You must select at least one taxon","your_hard_drive":"your hard drive","your_observations":"Your observations","zoom_in":"Zoom In","zoom_out":"Zoom Out"}; diff --git a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb index 2f0fea88467..fe3e98c44d5 100644 --- a/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb +++ b/app/assets/javascripts/jquery/plugins/inat/taxon_autocomplete.js.erb @@ -237,13 +237,14 @@ $.fn.taxonAutocomplete = function( options ) { return false; }; - var ac = this.genericAutocomplete( _.extend( { }, { + var ac = field.genericAutocomplete( _.extend( { }, { extra_class: "taxon", source: source, select: select, focus: focus, createWrappingDiv: autocompleter.createWrappingDiv }, options )); + if( !ac ) { return; } ac._close = function( event ) { if( this.keepOpen ) { return; } if( this.menu.element.is( ":visible" ) ) { diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index 0de55f2e249..92d796e2545 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -257,7 +257,7 @@ def show @places = @observation.places - @project_observations = @observation.project_observations.limit(100).to_a + @project_observations = @observation.project_observations.joins(:project).limit(100).to_a @project_observations_by_project_id = @project_observations.index_by(&:project_id) @comments_and_identifications = (@observation.comments.all + diff --git a/config/locales/en.yml b/config/locales/en.yml index 5dad6a4461f..e724d89bbd6 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2117,6 +2117,8 @@ en: county: county District: District district: district + Division: Division + division: division Drainage: Drainage drainage: drainage Estate: Estate From a248b6f0c45420b31a899d524797e2e0cb0ab46c Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 14:51:26 -0500 Subject: [PATCH 59/70] fixed updates bugs #915, #916; fixed obs search bug with place array of one --- app/controllers/observations_controller.rb | 6 ++++-- app/helpers/application_helper.rb | 2 +- app/views/projects/_update_curator_change.html.haml | 2 +- app/views/projects/_update_email_curator_change.html.haml | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index 92d796e2545..6df391e803d 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -2128,8 +2128,10 @@ def set_up_instance_variables(search_params) @swlng = search_params[:swlng] unless search_params[:swlng].blank? @nelat = search_params[:nelat] unless search_params[:nelat].blank? @nelng = search_params[:nelng] unless search_params[:nelng].blank? - unless search_params[:place].blank? || - (search_params[:place].is_a?(Array) && search_params[:place].length > 1) + if search_params[:place].is_a?(Array) && search_params[:place].length == 1 + search_params[:place] = search_params[:place].first + end + unless search_params[:place].blank? || search_params[:place].is_a?(Array) @place = search_params[:place] end @q = search_params[:q] unless search_params[:q].blank? diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0807cd1e0a1..044c9b5807b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1043,7 +1043,7 @@ def update_tagline_for(update, options = {}) else link_to(project.title, url_for_resource_with_host(project)) end - if update.notification = Update::YOUR_OBSERVATIONS_ADDED + if update.notification == Update::YOUR_OBSERVATIONS_ADDED t(:project_curators_added_some_of_your_observations_html, url: project_url(resource), project: project.title) else t(:curators_changed_for_x_html, :x => title) diff --git a/app/views/projects/_update_curator_change.html.haml b/app/views/projects/_update_curator_change.html.haml index 7dfbf9410ce..03695a6eb98 100644 --- a/app/views/projects/_update_curator_change.html.haml +++ b/app/views/projects/_update_curator_change.html.haml @@ -25,7 +25,7 @@ Here's a little about = surround '', ': ' do = user.login - %blockquote= truncate(strip_tags(user.description), :length => 100) + %blockquote= truncate(strip_tags(user.description), length: 100, escape: false) - unless is_me?(user) %div= link_to "View more about #{user.login}", user, :class => "readmore" - if user.id == current_user.id && project.user_id == current_user.id diff --git a/app/views/projects/_update_email_curator_change.html.haml b/app/views/projects/_update_email_curator_change.html.haml index 15295dbdbcf..0f4740b73a6 100644 --- a/app/views/projects/_update_email_curator_change.html.haml +++ b/app/views/projects/_update_email_curator_change.html.haml @@ -26,7 +26,7 @@ = user.login %blockquote = surround '"', '"' do - = truncate(strip_tags(user.description), :length => 100) + = truncate(strip_tags(user.description), length: 100, escape: false) - unless is_me?(user, :current_user => viewing_user) %div= link_to t(:view_more_about_x, :x => user.login), person_url(user), :class => "readmore" - if user.id == viewing_user.id && project.user_id == viewing_user.id From 687540b75165b267dc95cde1125ac5f8e1b3615f Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 15:12:25 -0500 Subject: [PATCH 60/70] fixed play store image on homepage --- app/assets/stylesheets/welcome.css.scss | 1 + app/views/welcome/_index.html.haml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/welcome.css.scss b/app/assets/stylesheets/welcome.css.scss index 3c45fb60828..a2ad72e82a3 100644 --- a/app/assets/stylesheets/welcome.css.scss +++ b/app/assets/stylesheets/welcome.css.scss @@ -221,6 +221,7 @@ #mobile .imgcol { background-color: #74ac00; height: 320px;} #mobile h1 {white-space: nowrap; } #mobile img {margin: 20px 25px 0 0; } +#mobile .store_badge { width: 142px; } #who > .row { background-color: #eee;} #who .bigpadded { padding-top: 0; } #who img { max-height: 274px;} diff --git a/app/views/welcome/_index.html.haml b/app/views/welcome/_index.html.haml index ee0b5fd08f7..107195eee7f 100644 --- a/app/views/welcome/_index.html.haml +++ b/app/views/welcome/_index.html.haml @@ -195,9 +195,9 @@ %h1=t 'views.welcome.index.works_on_all_your_devices' %p=t 'views.welcome.index.install_our_mobile_apps' = link_to "https://play.google.com/store/apps/details?id=org.inaturalist.android" do - = image_tag "https://developer.android.com/images/brand/en_app_rgb_wo_45.png", alt: "Android app on Google Play" + = image_tag "http://static.inaturalist.org/wiki_page_attachments/412-original.png", alt: "Android app on Google Play", class: "store_badge" = link_to "https://itunes.apple.com/us/app/inaturalist/id421397028?mt=8" do - = image_tag "http://static.inaturalist.org/wiki_page_attachments/235-original.png", alt: "iPhone app in the Apple App Store" + = image_tag "http://static.inaturalist.org/wiki_page_attachments/414-original.png", alt: "iPhone app in the Apple App Store", class: "store_badge" .col-xs-6.col-xs-offset-1.centered %embed{src: image_path("homepage-devices.svg")} #who.homesection From 7d931d422a2ce8d04845b08b18215d9826cff34e Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 15:22:48 -0500 Subject: [PATCH 61/70] updated newrelic_rpm gem --- Gemfile | 2 +- Gemfile.lock | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 865c505ae2d..b0dc8c97b0c 100644 --- a/Gemfile +++ b/Gemfile @@ -108,7 +108,7 @@ gem 'rgeo-geojson' gem 'activerecord-postgis-adapter', :git => 'git://github.com/kueda/activerecord-postgis-adapter.git', :branch => 'activerecord42' group :production do - gem 'newrelic_rpm' + gem 'newrelic_rpm', '~> 3.15.0' end group :test, :development, :prod_dev do diff --git a/Gemfile.lock b/Gemfile.lock index 3b74d80582c..ff177accbf8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -429,7 +429,7 @@ GEM net-ssh (>= 2.6.5) net-ssh (2.9.2) netrc (0.10.2) - newrelic_rpm (3.9.9.275) + newrelic_rpm (3.15.0.314) nokogiri (1.6.6.2) mini_portile (~> 0.6.0) non-stupid-digest-assets (1.0.4) @@ -734,7 +734,7 @@ DEPENDENCIES machinist mobile-fu! mocha - newrelic_rpm + newrelic_rpm (~> 3.15.0) nokogiri non-stupid-digest-assets objectify-xml @@ -782,3 +782,6 @@ DEPENDENCIES xmp! ya2yaml yui-compressor + +BUNDLED WITH + 1.10.6 From f8525923f66d490c55804d2dd90103d98cf57f3b Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 15:44:10 -0500 Subject: [PATCH 62/70] Fixed logo on signup page; Added labels to obs search buttons #897, #918 --- app/assets/stylesheets/observations/search.css | 1 + app/views/observations/index.html.haml | 4 ++++ app/views/users/registrations/new.html.erb | 3 +-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/assets/stylesheets/observations/search.css b/app/assets/stylesheets/observations/search.css index 1e7532785c8..c28d9835ab3 100644 --- a/app/assets/stylesheets/observations/search.css +++ b/app/assets/stylesheets/observations/search.css @@ -351,6 +351,7 @@ inat-taxon.split-taxon .icon {display: none;} #filter-container .fa-sliders { font-size: 120%; + margin-right: 5px; } #filter-container .fa-sliders:before { top: 1px; diff --git a/app/views/observations/index.html.haml b/app/views/observations/index.html.haml index fd42e68b455..c2577de15b2 100644 --- a/app/views/observations/index.html.haml +++ b/app/views/observations/index.html.haml @@ -26,6 +26,7 @@ #filter-container.btn-group.pull-right %button.btn.btn-default.dropdown-toggle{ "uib-tooltip" => "{{ shared.t( 'filters' ) }}" } %i.fa.fa-sliders + = t(:filters) .ng-cloak %span.badge{ "ng-show" => "numFiltersSet > 0" } {{ numFiltersSet }} @@ -83,10 +84,13 @@ #subview-controls.btn-group %button{ "ng-click": "changeView('observations', 'map')", title: "{{ shared.t('map') }}", :class => "btn btn-default {{ currentSubview == 'map' ? 'active' : '' }}" } %span.glyphicon.glyphicon-map-marker{ "aria-hidden": "true" } + = t(:map) %button{ "ng-click": "changeView('observations', 'grid')", title: "{{ shared.t('grid') }}", :class => "btn btn-default {{ currentSubview == 'grid' ? 'active' : '' }}" } %span.glyphicon.glyphicon-th{ "aria-hidden": "true" } + = t(:grid) %button{ "ng-click": "changeView('observations', 'table')", title: "{{ shared.t('table') }}", :class => "btn btn-default {{ currentSubview == 'table' ? 'active' : '' }}" } %span.glyphicon.glyphicon-menu-hamburger{ "aria-hidden": "true" } + = t(:list) #layer-control.btn-group.btn-group-stateless{ "ng-show": "viewing('observations', 'map')" } %button.btn.btn-default.btn-icon-stupidity.dropdown-toggle{ data: { toggle: "dropdown" } } %i.icon-layers{ title: "{{ shared.t('layers') }}" } diff --git a/app/views/users/registrations/new.html.erb b/app/views/users/registrations/new.html.erb index 901920836a9..cd198d112e1 100644 --- a/app/views/users/registrations/new.html.erb +++ b/app/views/users/registrations/new.html.erb @@ -16,8 +16,7 @@ <%- end -%>
    - <%= image_tag CONFIG.logo_icon_square_big, :width => 300 %> - + <%= image_tag @site && @site.logo_square? ? @site.logo_square.url : CONFIG.logo_icon_square_big, :width => 300 %>
    From 6b6cf1f5a3d25abe4b16b0898a814b3640ca7949 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 16:53:55 -0500 Subject: [PATCH 63/70] fixed mention linking bug #789; user_id for places added via Yahoo search #894 --- app/assets/stylesheets/observations/search.css | 1 + app/controllers/application_controller.rb | 2 +- app/controllers/places_controller.rb | 2 +- app/controllers/taxa_controller.rb | 2 +- app/helpers/application_helper.rb | 3 ++- app/models/place.rb | 3 +++ 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/assets/stylesheets/observations/search.css b/app/assets/stylesheets/observations/search.css index c28d9835ab3..7972b14ef08 100644 --- a/app/assets/stylesheets/observations/search.css +++ b/app/assets/stylesheets/observations/search.css @@ -366,6 +366,7 @@ inat-taxon.split-taxon .icon {display: none;} .bootstrap .primary-filters .form-control {width: 250px;} .primary-filters > span { margin: 0 5px;} #filter-container { margin-left: 10px; } +#place-name-input input { margin-left: 4px; } #stats-container .col-xs-4 { overflow: hidden; } diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 15d68696a88..b7d5bffe9b5 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -329,7 +329,7 @@ def search_for_places Place.preload_associations(@places, :place_geometry_without_geom) if logged_in? && @places.blank? && !params[:q].blank? if ydn_places = GeoPlanet::Place.search(params[:q], :count => 5) - new_places = ydn_places.map {|p| Place.import_by_woeid(p.woeid)}.compact + new_places = ydn_places.map {|p| Place.import_by_woeid(p.woeid, user: current_user)}.compact @places = Place.where("id in (?)", new_places.map(&:id).compact).page(1).to_a end end diff --git a/app/controllers/places_controller.rb b/app/controllers/places_controller.rb index 9b341168848..0d71810370a 100644 --- a/app/controllers/places_controller.rb +++ b/app/controllers/places_controller.rb @@ -151,7 +151,7 @@ def new def create if params[:woeid] - @place = Place.import_by_woeid(params[:woeid]) + @place = Place.import_by_woeid(params[:woeid], user: current_user) else @place = Place.new(params[:place]) @place.user = current_user diff --git a/app/controllers/taxa_controller.rb b/app/controllers/taxa_controller.rb index a1f40cce00d..c866c4920fe 100644 --- a/app/controllers/taxa_controller.rb +++ b/app/controllers/taxa_controller.rb @@ -796,7 +796,7 @@ def add_places_from_paste (place_names - @places.map{|p| p.name.strip.downcase}).each do |new_place_name| ydn_places = GeoPlanet::Place.search(new_place_name, :count => 1, :type => "Country") next if ydn_places.blank? - @places << Place.import_by_woeid(ydn_places.first.woeid) + @places << Place.import_by_woeid(ydn_places.first.woeid, user: current_user) end @listed_taxa = @places.map do |place| diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 044c9b5807b..471079b3d06 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1387,7 +1387,8 @@ def has_t?(*args) def hyperlink_mentions(text) linked_text = text.dup linked_text.mentioned_users.each do |u| - linked_text.gsub!(/(^|\s|>)@#{ u.login }/, "\\1#{link_to("@#{ u.login }", person_by_login_url(u.login))}") + + linked_text.gsub!(/(\B)@#{ u.login }/, "\\1#{link_to("@#{ u.login }", person_by_login_url(u.login))}") end linked_text end diff --git a/app/models/place.rb b/app/models/place.rb index 604de6e34cd..8d711a2a0f0 100644 --- a/app/models/place.rb +++ b/app/models/place.rb @@ -392,6 +392,9 @@ def self.import_by_woeid(woeid, options = {}) end end + if options[:user].is_a?(User) + place.user_id = options[:user].id + end place.save place end From e30c6dc832570450e55b4d77c5f623e86a543142 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Fri, 11 Mar 2016 19:08:12 -0500 Subject: [PATCH 64/70] fixed #778 and #789 --- .../javascripts/jquery/plugins/jquery.latLonSelector.js.erb | 1 + config/initializers/global.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/jquery/plugins/jquery.latLonSelector.js.erb b/app/assets/javascripts/jquery/plugins/jquery.latLonSelector.js.erb index ebb041e3f01..c93d3fe6234 100644 --- a/app/assets/javascripts/jquery/plugins/jquery.latLonSelector.js.erb +++ b/app/assets/javascripts/jquery/plugins/jquery.latLonSelector.js.erb @@ -245,6 +245,7 @@ $(accuracyField).change() } getMarker().setPosition(point); + getMarker().setMap($.fn.latLonSelector._map); $.fn.latLonSelector._map.setCenter(point) if ($.fn.latLonSelector._circle) { $.fn.latLonSelector._circle.setCenter(point) diff --git a/config/initializers/global.rb b/config/initializers/global.rb index 95711ea98b2..4612b54c8fe 100644 --- a/config/initializers/global.rb +++ b/config/initializers/global.rb @@ -58,7 +58,7 @@ def is_ja? end def mentioned_users - logins = scan(/(^|\s|>)@([\\\w][\\\w\\\-_]*)/).flatten + logins = scan(/(\B)@([\\\w][\\\w\\\-_]*)/).flatten return [ ] if logins.blank? User.where(login: logins).limit(500) end From 5a3451229f95bd8b7eab34f3d6e626164a635f72 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Mon, 14 Mar 2016 18:29:08 -0400 Subject: [PATCH 65/70] refreshing obs index after some write API methods --- app/controllers/comments_controller.rb | 3 +++ app/controllers/identifications_controller.rb | 16 +++++++++++++--- app/controllers/observations_controller.rb | 7 ++++++- app/controllers/votes_controller.rb | 2 ++ app/models/observation.rb | 4 ++++ 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 3da848e3e51..b16658662ed 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -86,6 +86,7 @@ def create else @comment.html = view_context.render_in_format(:html, :partial => 'comments/comment') end + Observation.refresh_es_index render :json => @comment.to_json(:methods => [:html]) else render :status => :unprocessable_entity, :json => {:errors => @comment.errors.full_messages} @@ -108,6 +109,7 @@ def update redirect_to_parent end format.json do + Observation.refresh_es_index @comment.html = view_context.render_in_format(:html, :partial => 'comments/comment') render :json => @comment.to_json(:methods => [:html]) end @@ -138,6 +140,7 @@ def destroy redirect_back_or_default(parent) end format.js do + Observation.refresh_es_index head :ok end end diff --git a/app/controllers/identifications_controller.rb b/app/controllers/identifications_controller.rb index 79856ff0908..4000ea674a9 100644 --- a/app/controllers/identifications_controller.rb +++ b/app/controllers/identifications_controller.rb @@ -69,6 +69,7 @@ def create end format.json do + Observation.refresh_es_index @identification.html = view_context.render_in_format(:html, :partial => "identifications/identification") render :json => @identification.to_json( :methods => [:html], @@ -105,7 +106,10 @@ def update flash[:notice] = msg redirect_to @identification.observation end - format.json { render :json => @identification } + format.json do + Observation.refresh_es_index + render :json => @identification + end end else msg = t(:there_was_a_problem_saving_your_identification, :error => @identification.errors.full_messages.join(', ')) @@ -131,8 +135,14 @@ def destroy flash[:notice] = t(:identification_deleted) redirect_to observation end - format.js { render :status => :ok, :json => nil } - format.json { render :status => :ok, :json => nil } + format.js do + Observation.refresh_es_index + render :status => :ok, :json => nil + end + format.json do + Observation.refresh_es_index + render :status => :ok, :json => nil + end end end diff --git a/app/controllers/observations_controller.rb b/app/controllers/observations_controller.rb index 6df391e803d..914e77f0080 100644 --- a/app/controllers/observations_controller.rb +++ b/app/controllers/observations_controller.rb @@ -682,6 +682,7 @@ def create end render :json => json, :status => :unprocessable_entity else + Observation.refresh_es_index if @observations.size == 1 && is_iphone_app_2? render :json => @observations[0].to_json( :viewer => current_user, @@ -863,6 +864,7 @@ def update format.xml { head :ok } format.js { render :json => @observations } format.json do + Observation.refresh_es_index if @observations.size == 1 && is_iphone_app_2? render :json => @observations[0].to_json( :methods => [:user_login, :iconic_taxon_name], @@ -925,7 +927,10 @@ def destroy redirect_to(observations_by_login_path(current_user.login)) end format.xml { head :ok } - format.json { head :ok } + format.json do + Observation.refresh_es_index + head :ok + end end end diff --git a/app/controllers/votes_controller.rb b/app/controllers/votes_controller.rb index 38c090e8323..cc6d40b8b2f 100644 --- a/app/controllers/votes_controller.rb +++ b/app/controllers/votes_controller.rb @@ -24,6 +24,7 @@ def vote format.html do redirect_to @record end + Observation.refresh_es_index format.json { render json: @record.as_json(methods: [:votes]) } end end @@ -34,6 +35,7 @@ def unvote format.html do redirect_to @record end + Observation.refresh_es_index format.json { head :no_content } end end diff --git a/app/models/observation.rb b/app/models/observation.rb index 0e4e4700460..e67457ec30a 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -2560,4 +2560,8 @@ def self.index_observations_for_user(user_id) Observation.elastic_index!( scope: Observation.by( user_id ) ) end + def self.refresh_es_index + Observation.__elasticsearch__.refresh_index! + end + end From ad9d244ae2a010fa9d6f75093c9944d2a0b395de Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Mon, 14 Mar 2016 19:25:13 -0400 Subject: [PATCH 66/70] not refreshing ES during specs --- app/assets/javascripts/inaturalist/map3.js.erb | 3 ++- app/models/observation.rb | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/inaturalist/map3.js.erb b/app/assets/javascripts/inaturalist/map3.js.erb index 84525cf039b..cc6dd77c9f3 100644 --- a/app/assets/javascripts/inaturalist/map3.js.erb +++ b/app/assets/javascripts/inaturalist/map3.js.erb @@ -1057,7 +1057,8 @@ google.maps.Map.prototype.addObservationsLayer = function(title, options) { 'native', 'verifiable', 'popular', 'has', 'photos', 'sounds', 'photo_license', 'created_d1', 'created_d2', 'not_in_project', 'lat', 'lng', 'viewer_id', 'identified', 'taxon_ids[]', 'projects[]', - 'apply_project_rules_for', 'not_matching_project_rules_for', 'list_id' ]; + 'apply_project_rules_for', 'not_matching_project_rules_for', 'list_id', + 'taxon_ids' ]; gridTileSuffix = appendValidParamsToURL( gridTileSuffix, _.extend( options, { validParams: paramKeys, endpoint: "grid" } )); pointTileSuffix = appendValidParamsToURL( pointTileSuffix, _.extend( diff --git a/app/models/observation.rb b/app/models/observation.rb index e67457ec30a..08a25ddff33 100644 --- a/app/models/observation.rb +++ b/app/models/observation.rb @@ -2561,7 +2561,7 @@ def self.index_observations_for_user(user_id) end def self.refresh_es_index - Observation.__elasticsearch__.refresh_index! + Observation.__elasticsearch__.refresh_index! unless Rails.env.test? end end From b7820ff93cbc1afc3bdd8cc5d1b8169cddb4d60f Mon Sep 17 00:00:00 2001 From: Scott Loarie Date: Mon, 14 Mar 2016 16:34:11 -0700 Subject: [PATCH 67/70] only admins can edit places with admin_level not nil --- app/controllers/places_controller.rb | 6 ++++++ app/models/place.rb | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/controllers/places_controller.rb b/app/controllers/places_controller.rb index 0d71810370a..53dc5291f73 100644 --- a/app/controllers/places_controller.rb +++ b/app/controllers/places_controller.rb @@ -183,6 +183,12 @@ def create end def edit + # Only the admin should be able to edit places with admin_level + unless @place.admin_level.nil? or current_user.is_admin? + redirect_to place_path(@place) + return + end + r = Place.connection.execute("SELECT st_npoints(geom) from place_geometries where place_id = #{@place.id}") @npoints = r[0]['st_npoints'].to_i unless r.num_tuples == 0 end diff --git a/app/models/place.rb b/app/models/place.rb index 8d711a2a0f0..3754f2f5430 100644 --- a/app/models/place.rb +++ b/app/models/place.rb @@ -169,11 +169,13 @@ def slug_candidates scope type.pluralize.underscore.to_sym, -> { where("place_type = ?", code) } end + CONTINENT_LEVEL = -1 COUNTRY_LEVEL = 0 STATE_LEVEL = 1 COUNTY_LEVEL = 2 TOWN_LEVEL = 3 - ADMIN_LEVELS = [COUNTRY_LEVEL, STATE_LEVEL, COUNTY_LEVEL, TOWN_LEVEL] + PARK_LEVEL = 10 + ADMIN_LEVELS = [CONTINENT_LEVEL, COUNTRY_LEVEL, STATE_LEVEL, COUNTY_LEVEL, TOWN_LEVEL, PARK_LEVEL] scope :dbsearch, lambda {|q| where("name LIKE ?", "%#{q}%")} @@ -350,9 +352,10 @@ def contains_lat_lng?(lat, lng) def editable_by?(user) return false if user.blank? - return true if user.is_curator? + return true if user.is_admin? + return true if user.is_curator? && admin_level.nil? return true if self.user_id == user.id - return false if [COUNTRY_LEVEL, STATE_LEVEL, COUNTY_LEVEL].include?(admin_level) + return false if !admin_level.nil? && !user.is_admin? false end From 289c413f9b4a0ec0d400de1ffee4a0c6aea472a7 Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Tue, 15 Mar 2016 16:31:19 -0400 Subject: [PATCH 68/70] indexing comment observations --- app/models/comment.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/models/comment.rb b/app/models/comment.rb index 716119bfc6a..b72d24e66f4 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -9,6 +9,8 @@ class Comment < ActiveRecord::Base after_create :update_parent_counter_cache after_destroy :update_parent_counter_cache + after_save :index_parent + after_destroy :index_parent notifies_subscribers_of :parent, notification: "activity", include_owner: true notifies_users :mentioned_users, on: :save, notification: "mention" @@ -71,4 +73,10 @@ def mentioned_users body.mentioned_users end + def index_parent + if parent && parent.respond_to?(:elastic_index!) + parent.elastic_index! + end + end + end From e91614350e18be187a6c107150259a476c42714d Mon Sep 17 00:00:00 2001 From: Patrick Leary Date: Wed, 16 Mar 2016 12:23:54 -0400 Subject: [PATCH 69/70] update project users counts after aggregation #919 --- app/models/project.rb | 51 +++++++++++++++++++++++++++++++++++++ app/models/project_user.rb | 19 +------------- spec/models/project_spec.rb | 45 ++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+), 18 deletions(-) diff --git a/app/models/project.rb b/app/models/project.rb index 0a7880279b7..a454582ffe4 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -673,6 +673,56 @@ def bioblitz? project_type == BIOBLITZ_TYPE end + def update_counts + update_users_observations_counts + update_users_taxa_counts + end + + def update_users_observations_counts + results = project_observations. + joins(:observation). + joins(project: :project_users). + where("observations.user_id = project_users.user_id"). + group("observations.user_id"). + distinct.count("observations.id") + Project.transaction do + project_users.update_all(observations_count: 0) + results.each do |user_id, count| + ProjectUser.where(project_id: id, user_id: user_id). + update_all(observations_count: count) + end + end + end + + def update_users_taxa_counts(options = {}) + user_clause = options[:user_id] ? "AND o.user_id=#{ options[:user_id] }" : "" + results = Project.connection.execute(" + SELECT o.user_id, count(DISTINCT COALESCE(i.taxon_id, o.taxon_id)) count + FROM project_observations po + JOIN observations o ON (po.observation_id=o.id) + JOIN project_users pu ON (o.user_id=pu.user_id and pu.project_id=#{ id }) + LEFT OUTER JOIN taxa ot ON (ot.id = o.taxon_id) + LEFT OUTER JOIN identifications i ON (po.curator_identification_id = i.id) + LEFT OUTER JOIN taxa it ON (it.id = i.taxon_id) + WHERE + po.project_id = #{ id } + #{ user_clause } + AND ( + -- observer's ident taxon is species or lower + ot.rank_level <= #{Taxon::SPECIES_LEVEL} + -- curator's ident taxon is species or lower + OR it.rank_level <= #{Taxon::SPECIES_LEVEL} + ) + GROUP BY o.user_id") + Project.transaction do + project_users.update_all(taxa_count: 0) unless options[:user_id] + results.each do |r| + ProjectUser.where(project_id: id, user_id: r["user_id"]). + update_all(taxa_count: r["count"]) + end + end + end + class ProjectAggregatorAlreadyRunning < StandardError; end def aggregate_observations(options = {}) @@ -729,6 +779,7 @@ def aggregate_observations(options = {}) observations = nil page += 1 end + update_counts update_attributes(last_aggregated_at: Time.now) logger.info "[INFO #{Time.now}] Finished aggregation for #{self} in #{Time.now - start_time}s, #{added} observations added, #{fails} failures" end diff --git a/app/models/project_user.rb b/app/models/project_user.rb index d3068cfe851..8f6fd2d95a9 100644 --- a/app/models/project_user.rb +++ b/app/models/project_user.rb @@ -103,24 +103,7 @@ def update_observations_counter_cache # set taxa_count on project user, which is the number of taxa observed by this user, favoring the curator ident def update_taxa_counter_cache - sql = <<-SQL - SELECT count(DISTINCT COALESCE(i.taxon_id, o.taxon_id)) - FROM project_observations po - JOIN observations o ON po.observation_id = o.id - LEFT OUTER JOIN taxa ot ON ot.id = o.taxon_id - LEFT OUTER JOIN identifications i ON po.curator_identification_id = i.id - LEFT OUTER JOIN taxa it ON it.id = i.taxon_id - WHERE - po.project_id = #{project_id} - AND o.user_id = #{user_id} - AND ( - -- observer's ident taxon is species or lower - ot.rank_level <= #{Taxon::SPECIES_LEVEL} - -- curator's ident taxon is species or lower - OR it.rank_level <= #{Taxon::SPECIES_LEVEL} - ) - SQL - update_attributes(:taxa_count => ProjectUser.connection.execute(sql)[0]['count'].to_i) + project.update_users_taxa_counts(user_id: user_id) end def check_role diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 9db691720d2..cc2f756708c 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -392,6 +392,25 @@ # the ProjectUser and User were updated AFTER the last aggregation expect( project.observations.count ).to eq 1 end + + it "updates project_users' observations and taxa counts" do + project.update_attributes(place: make_place_with_geom, trusted: true) + pu = ProjectUser.make!(project: project) + taxon = Taxon.make!(rank: "species") + Observation.make!(latitude: project.place.latitude, + longitude: project.place.longitude, user: pu.user, taxon: taxon) + Observation.make!(latitude: project.place.latitude, + longitude: project.place.longitude, user: pu.user, taxon: taxon) + expect( pu.observations_count ).to eq 0 + expect( pu.taxa_count ).to eq 0 + expect( project.observations.count ).to eq 0 + project.aggregate_observations + project.reload + pu.reload + expect( project.observations.count ).to eq 2 + expect( pu.observations_count ).to eq 2 + expect( pu.taxa_count ).to eq 1 + end end describe "aggregation_allowed?" do @@ -466,4 +485,30 @@ expect( po ).not_to be_persisted end end + + describe "update_counts" do + before :each do + @p = Project.make!(preferred_submission_model: Project::SUBMISSION_BY_ANYONE) + @pu = ProjectUser.make!(project: @p) + taxon = Taxon.make!(rank: "species") + 5.times do + ProjectObservation.make!(project: @p, user: @pu.user, + observation: Observation.make!(taxon: taxon, user: @pu.user)) + end + taxon = Taxon.make!(rank: "species") + 4.times do + ProjectObservation.make!(project: @p, user: @pu.user, + observation: Observation.make!(taxon: taxon, user: @pu.user)) + end + end + + it "should update counts for all project_users in a project" do + expect( @pu.observations_count ).to eq 0 + expect( @pu.taxa_count ).to eq 0 + @p.update_counts + @pu.reload + expect( @pu.observations_count ).to eq 9 + expect( @pu.taxa_count ).to eq 2 + end + end end From 757c4981008da09d21d605e0d4a274843dbbd147 Mon Sep 17 00:00:00 2001 From: Ken-ichi Ueda Date: Tue, 8 Mar 2016 12:34:58 -0800 Subject: [PATCH 70/70] Minor typo. --- tools/apidoc/api.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/apidoc/api.rb b/tools/apidoc/api.rb index 8d4f492c51f..c5354bb5656 100644 --- a/tools/apidoc/api.rb +++ b/tools/apidoc/api.rb @@ -221,7 +221,7 @@ def api(name, &block) X-Total-Entries, X-Page, and X-Per-Page. JSON and ATOM responses are what you'd expect, but DwC is -Simple Darin Core, an +Simple Darwin Core, an XML schema for biodiversity data. iNat uses JSON responses internally quite a bit, so it will probably always be the most information-rich. The widget response is a JS snippet that inserts HTML. It should be used