]> git.openstreetmap.org Git - rails.git/commitdiff
Merge branch 'master' into openstreetbugs
authorTom Hughes <tom@compton.nu>
Thu, 8 Mar 2012 18:23:27 +0000 (18:23 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 8 Mar 2012 18:23:27 +0000 (18:23 +0000)
Conflicts:
Gemfile
Gemfile.lock
lib/migrate.rb

565 files changed:
.gitignore
Gemfile
Gemfile.lock
LICENSE [new file with mode: 0644]
README.md [new file with mode: 0644]
README.mkdn [deleted file]
app/assets/images/tab_bottom.gif [deleted file]
app/assets/images/users/images/large.png [moved from app/assets/images/anon_large.png with 100% similarity]
app/assets/images/users/images/small.png [moved from app/assets/images/anon_small.png with 100% similarity]
app/assets/javascripts/map.js.erb
app/assets/javascripts/menu.js
app/assets/javascripts/site.js
app/assets/stylesheets/common.css.scss
app/assets/stylesheets/large.css
app/assets/stylesheets/ltr.css.scss
app/assets/stylesheets/rtl.css.scss
app/assets/stylesheets/small.css.scss
app/controllers/amf_controller.rb
app/controllers/application_controller.rb
app/controllers/changeset_controller.rb
app/controllers/diary_entry_controller.rb
app/controllers/site_controller.rb
app/controllers/trace_controller.rb
app/controllers/user_controller.rb
app/controllers/user_roles_controller.rb
app/helpers/application_helper.rb
app/helpers/browse_helper.rb
app/models/acl.rb
app/models/changeset_tag.rb
app/models/client_application.rb
app/models/diary_comment.rb
app/models/diary_entry.rb
app/models/diary_sweeper.rb
app/models/language.rb
app/models/message.rb
app/models/node.rb
app/models/node_tag.rb
app/models/oauth_nonce.rb
app/models/old_node.rb
app/models/old_node_tag.rb
app/models/old_relation.rb
app/models/old_relation_member.rb
app/models/old_relation_tag.rb
app/models/old_way.rb
app/models/old_way_node.rb
app/models/old_way_tag.rb
app/models/relation.rb
app/models/relation_member.rb
app/models/relation_tag.rb
app/models/request_token.rb
app/models/trace.rb
app/models/tracepoint.rb
app/models/tracetag.rb
app/models/user.rb
app/models/user_block.rb
app/models/user_preference.rb
app/models/user_sweeper.rb
app/models/user_token.rb
app/models/way.rb
app/models/way_node.rb
app/models/way_tag.rb
app/views/browse/_changeset_details.html.erb
app/views/browse/node.html.erb
app/views/browse/relation.html.erb
app/views/browse/way.html.erb
app/views/changeset/list.html.erb
app/views/diary_entry/comments.html.erb [new file with mode: 0644]
app/views/diary_entry/list.html.erb
app/views/export/_sidebar.html.erb
app/views/export/start.js.erb
app/views/layouts/_head.html.erb
app/views/layouts/site.html.erb
app/views/message/_message_count.html.erb
app/views/message/outbox.html.erb
app/views/site/_resize.html.erb
app/views/site/copyright.html.erb
app/views/site/index.html.erb
app/views/user/account.html.erb
app/views/user/api_details.builder
app/views/user/blocked.html.erb [new file with mode: 0644]
app/views/user/list.html.erb
app/views/user/login.html.erb
app/views/user/new.html.erb
app/views/user/view.html.erb
config/application.rb
config/environments/development.rb
config/environments/production.rb
config/environments/test.rb
config/example.application.yml
config/example.database.yml [moved from config/postgres.example.database.yml with 100% similarity]
config/initializers/action_cache_path.rb [new file with mode: 0644]
config/initializers/action_mailer.rb
config/initializers/buffered_logger.rb
config/initializers/classic_pagination.rb [moved from vendor/plugins/classic_pagination/init.rb with 93% similarity]
config/initializers/composite_primary_keys.rb [deleted file]
config/initializers/file_column.rb [deleted file]
config/initializers/http_accept_language.rb [new file with mode: 0644]
config/initializers/i18n.rb
config/initializers/inflections.rb
config/initializers/mail.rb [new file with mode: 0644]
config/initializers/memcached.rb [deleted file]
config/initializers/output_compression.rb [new file with mode: 0644]
config/initializers/paperclip.rb [new file with mode: 0644]
config/initializers/session_store.rb
config/locales/af.yml
config/locales/aln.yml
config/locales/ar.yml
config/locales/arz.yml
config/locales/ast.yml
config/locales/be-TARASK.yml
config/locales/br.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de-AT.yml [deleted file]
config/locales/de-CH.yml [deleted file]
config/locales/de.yml
config/locales/dsb.yml
config/locales/el.yml
config/locales/en-AU.yml [deleted file]
config/locales/en-GB.yml [deleted file]
config/locales/en-US.yml [deleted file]
config/locales/en.yml
config/locales/eo.yml
config/locales/es-AR.yml [deleted file]
config/locales/es-CL.yml [deleted file]
config/locales/es-CO.yml [deleted file]
config/locales/es-MX.yml [deleted file]
config/locales/es-PE.yml [deleted file]
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr-CA.yml [deleted file]
config/locales/fr-CH.yml [deleted file]
config/locales/fr.yml
config/locales/fur.yml
config/locales/gl-ES.yml [deleted file]
config/locales/gl.yml
config/locales/gsw-CH.yml [deleted file]
config/locales/he.yml
config/locales/hi-IN.yml [deleted file]
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/ia.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ka.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/ms.yml
config/locales/nb.yml
config/locales/nds.yml
config/locales/ne.yml
config/locales/nl.yml
config/locales/nn.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt-PT.yml [deleted file]
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sq.yml
config/locales/sr-EC.yml
config/locales/sr-EL.yml
config/locales/sv-SE.yml [deleted file]
config/locales/sv.yml
config/locales/ta.yml [new file with mode: 0644]
config/locales/tl.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
config/mysql.example.database.yml [deleted file]
config/pluralizers.rb [deleted file]
config/routes.rb
db/.gitignore [deleted file]
db/README
db/functions/Makefile
db/functions/maptile.c
db/functions/quadtile.c
db/functions/xid_to_int4.c
db/migrate/001_create_osm_db.rb
db/migrate/002_cleanup_osm_db.rb
db/migrate/003_sql_session_store_setup.rb
db/migrate/004_user_enhancements.rb
db/migrate/005_tile_tracepoints.rb
db/migrate/006_tile_nodes.rb
db/migrate/007_add_relations.rb
db/migrate/008_remove_segments.rb
db/migrate/010_diary_comments.rb
db/migrate/018_create_acls.rb
db/migrate/020_populate_node_tags_and_remove.rb
db/migrate/021_move_to_innodb.rb
db/migrate/022_key_constraints.rb
db/migrate/023_add_changesets.rb
db/migrate/024_order_relation_members.rb
db/migrate/025_add_end_time_to_changesets.rb
db/migrate/029_add_user_foreign_keys.rb
db/migrate/030_add_foreign_keys.rb
db/migrate/031_create_countries.rb
db/migrate/034_create_languages.rb
db/migrate/035_change_user_locale.rb
db/migrate/039_add_more_controls_to_gpx_files.rb
db/migrate/042_add_foreign_keys_to_oauth_tables.rb
db/migrate/044_create_user_roles.rb
db/migrate/045_create_user_blocks.rb
db/migrate/046_alter_user_roles_and_blocks.rb
db/migrate/051_add_status_to_user.rb
db/migrate/20111212183945_add_lowercase_user_indexes.rb
db/migrate/20120123184321_switch_to_paperclip.rb [new file with mode: 0644]
db/migrate/20120208122334_merge_acl_address_and_mask.rb [new file with mode: 0644]
db/migrate/20120208194454_add_domain_to_acl.rb [new file with mode: 0644]
db/migrate/20120219161649_add_user_image_fingerprint.rb [new file with mode: 0644]
db/structure.sql [new file with mode: 0644]
lib/classic_pagination/pagination.rb [moved from vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination.rb with 100% similarity]
lib/classic_pagination/pagination_helper.rb [moved from vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination_helper.rb with 100% similarity]
lib/mem_cache.rb [new file with mode: 0644]
lib/memcache.rb [new file with mode: 0644]
lib/migrate.rb
lib/osm.rb
lib/output_compression/LICENSE [moved from vendor/plugins/output_compression/LICENSE with 100% similarity]
lib/output_compression/README [moved from vendor/plugins/output_compression/README with 100% similarity]
lib/output_compression/output_compression.rb [moved from vendor/plugins/output_compression/lib/output_compression.rb with 100% similarity]
lib/potlatch2.rb
lib/session_persistence.rb [moved from vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys.rb with 52% similarity]
public/403.html
public/404.html
public/500.html
public/potlatch2/locales/ast.swf [new file with mode: 0644]
public/potlatch2/locales/br.swf [new file with mode: 0644]
public/potlatch2/locales/de_DE.swf
public/potlatch2/locales/en_GB.swf
public/potlatch2/locales/en_US.swf
public/potlatch2/locales/es_ES.swf [new file with mode: 0644]
public/potlatch2/locales/fi.swf [new file with mode: 0644]
public/potlatch2/locales/fr_FR.swf
public/potlatch2/locales/he.swf [new file with mode: 0644]
public/potlatch2/locales/hsb.swf [new file with mode: 0644]
public/potlatch2/locales/ja_JP.swf
public/potlatch2/locales/mk.swf [new file with mode: 0644]
public/potlatch2/locales/ms.swf [new file with mode: 0644]
public/potlatch2/locales/nb_NO.swf [new file with mode: 0644]
public/potlatch2/locales/nl_NL.swf [new file with mode: 0644]
public/potlatch2/locales/nn_NO.swf [new file with mode: 0644]
public/potlatch2/locales/pl_PL.swf
public/potlatch2/locales/ru.swf [new file with mode: 0644]
public/potlatch2/locales/sq.swf [new file with mode: 0644]
public/potlatch2/locales/tr.swf [new file with mode: 0644]
public/potlatch2/locales/vi_VN.swf
public/potlatch2/locales/zh_CN.swf [new file with mode: 0644]
public/potlatch2/map_features/buildings.xml
public/potlatch2/map_features/landuse.xml
public/potlatch2/potlatch2.swf
public/potlatch2/stylesheets/core_ways.css
public/potlatch2/stylesheets/snapshot.css
script/deliver-message
script/update-spam-blocks
test/fixtures/diary_comments.yml
test/fixtures/diary_entries.yml
test/fixtures/users.yml
test/functional/way_controller_test.rb
test/integration/user_blocks_test.rb
test/unit/diary_comment_test.rb
test/unit/diary_entry_test.rb
test/unit/i18n_test.rb [new file with mode: 0644]
test/unit/node_test.rb
test/unit/oauth_token_test.rb
test/unit/trace_test.rb
test/unit/tracetag_test.rb
test/unit/user_test.rb
vendor/gems/composite_primary_keys-2.2.2/._History.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/._Manifest.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/._README_DB2.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/.specification [deleted file]
vendor/gems/composite_primary_keys-2.2.2/History.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/Manifest.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/README.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/README_DB2.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/Rakefile [deleted file]
vendor/gems/composite_primary_keys-2.2.2/init.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/install.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/._composite_primary_keys.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/._base.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/base.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/mysql.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/oracle.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/postgresql.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/sqlite3.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._associations.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._base.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._version.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/association_preload.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/associations.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/attribute_methods.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/base.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/calculations.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/composite_arrays.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/oracle_adapter.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/fixtures.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/migration.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/reflection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/version.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/loader.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/local/._paths.rb.sample [deleted file]
vendor/gems/composite_primary_keys-2.2.2/local/database_connections.rb.sample [deleted file]
vendor/gems/composite_primary_keys-2.2.2/local/paths.rb.sample [deleted file]
vendor/gems/composite_primary_keys-2.2.2/local/tasks.rb.sample [deleted file]
vendor/gems/composite_primary_keys-2.2.2/scripts/console.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/scripts/txt2html [deleted file]
vendor/gems/composite_primary_keys-2.2.2/scripts/txt2js [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/activerecord_selection.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/databases.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/databases/mysql.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/databases/oracle.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/databases/postgresql.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/databases/sqlite3.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/deployment.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/local_setup.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tasks/website.rake [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/._test_associations.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/._test_exists.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/._test_find.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/README_tests.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/abstract_unit.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/connections/native_ibm_db/connection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/connections/native_mysql/connection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/connections/native_oracle/connection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/connections/native_postgresql/connection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/connections/native_sqlite/connection.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._article.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._articles.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._comment.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._department.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._departments.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._employee.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._group.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._hack.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._membership.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._memberships.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._product.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reading.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reference_code.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/article.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/articles.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comment.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comments.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-create-tables.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-drop-tables.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/mysql.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.drop.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/postgresql.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/sqlite.sql [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/department.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/departments.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employee.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employees.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/group.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/groups.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hack.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hacks.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_status.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_statuses.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/memberships.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariff.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariffs.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/products.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reading.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/readings.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_code.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_codes.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_type.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_types.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/street.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/streets.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburb.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburbs.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariff.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariffs.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/user.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/fixtures/users.yml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/hash_tricks.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_associations.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_attribute_methods.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_attributes.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_composite_arrays.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_create.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_delete.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_dummy.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_exists.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_find.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_ids.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_miscellaneous.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_pagination.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_polymorphic.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_santiago.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_tutorial_examle.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb [deleted file]
vendor/gems/composite_primary_keys-2.2.2/tmp/test.db [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/index.html [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/index.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/javascripts/rounded_corners_lite.inc.js [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/stylesheets/screen.css [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/template.js [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/template.rhtml [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/version-raw.js [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/version-raw.txt [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/version.js [deleted file]
vendor/gems/composite_primary_keys-2.2.2/website/version.txt [deleted file]
vendor/plugins/classic_pagination/CHANGELOG [deleted file]
vendor/plugins/classic_pagination/README [deleted file]
vendor/plugins/classic_pagination/Rakefile [deleted file]
vendor/plugins/classic_pagination/install.rb [deleted file]
vendor/plugins/classic_pagination/lib/pagination.rb [deleted file]
vendor/plugins/classic_pagination/lib/pagination_helper.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/companies.yml [deleted file]
vendor/plugins/classic_pagination/test/fixtures/company.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/developer.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/developers.yml [deleted file]
vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml [deleted file]
vendor/plugins/classic_pagination/test/fixtures/project.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/projects.yml [deleted file]
vendor/plugins/classic_pagination/test/fixtures/replies.yml [deleted file]
vendor/plugins/classic_pagination/test/fixtures/reply.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/schema.sql [deleted file]
vendor/plugins/classic_pagination/test/fixtures/topic.rb [deleted file]
vendor/plugins/classic_pagination/test/fixtures/topics.yml [deleted file]
vendor/plugins/classic_pagination/test/helper.rb [deleted file]
vendor/plugins/classic_pagination/test/pagination_helper_test.rb [deleted file]
vendor/plugins/classic_pagination/test/pagination_test.rb [deleted file]
vendor/plugins/deadlock_retry/README [deleted file]
vendor/plugins/deadlock_retry/Rakefile [deleted file]
vendor/plugins/deadlock_retry/init.rb [deleted file]
vendor/plugins/deadlock_retry/lib/deadlock_retry.rb [deleted file]
vendor/plugins/deadlock_retry/test/deadlock_retry_test.rb [deleted file]
vendor/plugins/file_column/CHANGELOG [deleted file]
vendor/plugins/file_column/README [deleted file]
vendor/plugins/file_column/Rakefile [deleted file]
vendor/plugins/file_column/TODO [deleted file]
vendor/plugins/file_column/init.rb [deleted file]
vendor/plugins/file_column/lib/file_column.rb [deleted file]
vendor/plugins/file_column/lib/file_column_helper.rb [deleted file]
vendor/plugins/file_column/lib/file_compat.rb [deleted file]
vendor/plugins/file_column/lib/magick_file_column.rb [deleted file]
vendor/plugins/file_column/lib/rails_file_column.rb [deleted file]
vendor/plugins/file_column/lib/test_case.rb [deleted file]
vendor/plugins/file_column/lib/validations.rb [deleted file]
vendor/plugins/file_column/test/abstract_unit.rb [deleted file]
vendor/plugins/file_column/test/connection.rb [deleted file]
vendor/plugins/file_column/test/file_column_helper_test.rb [deleted file]
vendor/plugins/file_column/test/file_column_test.rb [deleted file]
vendor/plugins/file_column/test/fixtures/entry.rb [deleted file]
vendor/plugins/file_column/test/fixtures/invalid-image.jpg [deleted file]
vendor/plugins/file_column/test/fixtures/kerb.jpg [deleted file]
vendor/plugins/file_column/test/fixtures/mysql.sql [deleted file]
vendor/plugins/file_column/test/fixtures/schema.rb [deleted file]
vendor/plugins/file_column/test/fixtures/skanthak.png [deleted file]
vendor/plugins/file_column/test/magick_test.rb [deleted file]
vendor/plugins/file_column/test/magick_view_only_test.rb [deleted file]
vendor/plugins/http_accept_language/README.rdoc [deleted file]
vendor/plugins/http_accept_language/Rakefile [deleted file]
vendor/plugins/http_accept_language/VERSION [deleted file]
vendor/plugins/http_accept_language/init.rb [deleted file]
vendor/plugins/http_accept_language/lib/http_accept_language.rb [deleted file]
vendor/plugins/http_accept_language/test/http_accept_language_test.rb [deleted file]
vendor/plugins/output_compression/Rakefile [deleted file]
vendor/plugins/output_compression/init.rb [deleted file]
vendor/plugins/output_compression/lib/tasks/output_compression_tasks.rake [deleted file]
vendor/plugins/output_compression/test/output_compression_test.rb [deleted file]
vendor/plugins/session-persistence/MIT_LICENSE [deleted file]
vendor/plugins/session-persistence/README.rdoc [deleted file]
vendor/plugins/session-persistence/init.rb [deleted file]
vendor/plugins/session-persistence/lib/session_persistence.rb [deleted file]
vendor/plugins/session-persistence/test/session_timeout_test.rb [deleted file]
vendor/rails-locales/ar.yml [deleted file]
vendor/rails-locales/az.yml [deleted file]
vendor/rails-locales/bg.yml [deleted file]
vendor/rails-locales/bn-IN.yml [deleted file]
vendor/rails-locales/bs.yml [deleted file]
vendor/rails-locales/ca.yml [deleted file]
vendor/rails-locales/cs.yml [deleted file]
vendor/rails-locales/csb.yml [deleted file]
vendor/rails-locales/cy.yml [deleted file]
vendor/rails-locales/da.yml [deleted file]
vendor/rails-locales/de-AT.yml [deleted file]
vendor/rails-locales/de-CH.yml [deleted file]
vendor/rails-locales/de.yml [deleted file]
vendor/rails-locales/dsb.yml [deleted file]
vendor/rails-locales/el.yml [deleted file]
vendor/rails-locales/en-AU.yml [deleted file]
vendor/rails-locales/en-GB.yml [deleted file]
vendor/rails-locales/en-IN.yml [deleted file]
vendor/rails-locales/en-US.yml [deleted file]
vendor/rails-locales/eo.yml [deleted file]
vendor/rails-locales/es-AR.yml [deleted file]
vendor/rails-locales/es-CL.yml [deleted file]
vendor/rails-locales/es-CO.yml [deleted file]
vendor/rails-locales/es-MX.yml [deleted file]
vendor/rails-locales/es-PE.yml [deleted file]
vendor/rails-locales/es.yml [deleted file]
vendor/rails-locales/et.yml [deleted file]
vendor/rails-locales/eu.yml [deleted file]
vendor/rails-locales/fa.yml [deleted file]
vendor/rails-locales/fi.yml [deleted file]
vendor/rails-locales/fr-CA.yml [deleted file]
vendor/rails-locales/fr-CH.yml [deleted file]
vendor/rails-locales/fr.yml [deleted file]
vendor/rails-locales/fun/en-AU.rb [deleted file]
vendor/rails-locales/fun/gibberish.rb [deleted file]
vendor/rails-locales/fur.yml [deleted file]
vendor/rails-locales/gl-ES.yml [deleted file]
vendor/rails-locales/gsw-CH.yml [deleted file]
vendor/rails-locales/he.yml [deleted file]
vendor/rails-locales/hi-IN.yml [deleted file]
vendor/rails-locales/hi.yml [deleted file]
vendor/rails-locales/hr.yml [deleted file]
vendor/rails-locales/hsb.yml [deleted file]
vendor/rails-locales/hu.yml [deleted file]
vendor/rails-locales/id.yml [deleted file]
vendor/rails-locales/is.yml [deleted file]
vendor/rails-locales/it.yml [deleted file]
vendor/rails-locales/ja.yml [deleted file]
vendor/rails-locales/kn.yml [deleted file]
vendor/rails-locales/ko.yml [deleted file]
vendor/rails-locales/lo.yml [deleted file]
vendor/rails-locales/lt.yml [deleted file]
vendor/rails-locales/lv.yml [deleted file]
vendor/rails-locales/mk.yml [deleted file]
vendor/rails-locales/mn.yml [deleted file]
vendor/rails-locales/nb.yml [deleted file]
vendor/rails-locales/nl.yml [deleted file]
vendor/rails-locales/nn.yml [deleted file]
vendor/rails-locales/pl.yml [deleted file]
vendor/rails-locales/pt-BR.yml [deleted file]
vendor/rails-locales/pt-PT.yml [deleted file]
vendor/rails-locales/rm.yml [deleted file]
vendor/rails-locales/ro.yml [deleted file]
vendor/rails-locales/ru.yml [deleted file]
vendor/rails-locales/sk.yml [deleted file]
vendor/rails-locales/sl.yml [deleted file]
vendor/rails-locales/sr-Latn.yml [deleted file]
vendor/rails-locales/sr.yml [deleted file]
vendor/rails-locales/sv-SE.yml [deleted file]
vendor/rails-locales/sw.yml [deleted file]
vendor/rails-locales/th.yml [deleted file]
vendor/rails-locales/tr.yml [deleted file]
vendor/rails-locales/uk.yml [deleted file]
vendor/rails-locales/vi.yml [deleted file]
vendor/rails-locales/zh-CN.yml [deleted file]
vendor/rails-locales/zh-TW.yml [deleted file]

index 2b8b7bd68ae25333db8773682be1566e03bcd1c7..021bc9be273ff5d4456244db843fbb58d5407cd9 100644 (file)
@@ -1,4 +1,5 @@
 log
 public/assets
+public/attachments
 tmp
 .DS_Store
diff --git a/Gemfile b/Gemfile
index 0f867f3d55a566210665c7a14731e89e4bdccfee..65de156e17b6a1d3b327663079f55faa44f63c0a 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -2,7 +2,7 @@
 source 'http://rubygems.org'
 
 # Require rails
-gem 'rails', '3.1.3'
+gem 'rails', '3.2.2'
 
 # Require the postgres database driver
 gem 'pg'
@@ -11,21 +11,24 @@ gem 'pg'
 gem 'jquery-rails'
 
 # Load rails plugins
-gem 'rails-i18n-updater'
+gem 'rails-i18n', ">= 0.5.1"
 gem 'dynamic_form'
 gem 'rinku', '>= 1.2.2', :require => 'rails_rinku'
 gem 'oauth-plugin', '>= 0.4.0.pre7'
 gem 'open_id_authentication', '>= 1.1.0'
 gem 'validates_email_format_of', '>= 1.5.1'
-gem 'composite_primary_keys', '>= 4.1.1'
+gem 'composite_primary_keys', '>= 5.0.0'
+gem 'http_accept_language', '>= 1.0.2'
+gem 'paperclip', '~> 2.0'
+gem 'deadlock_retry', '>= 1.2.0'
 gem 'jsonify-rails'
 
+# Character conversion support for ruby 1.8
+gem 'iconv', :platforms => :ruby_18
+
 # Load libxml support for XML parsing and generation
 gem 'libxml-ruby', '>= 2.0.5', :require => 'libxml'
 
-# Load ImageMagick support for user picture resizing
-gem 'rmagick', :require => 'RMagick'
-
 # Load HTML sanitizer
 gem 'sanitize'
 
@@ -36,8 +39,7 @@ gem 'SystemTimer', '>= 1.1.3', :require => 'system_timer', :platforms => :ruby_1
 gem 'httpclient'
 
 # Load memcache in case we are using it
-gem 'memcache-client'
-gem 'memcached'
+gem 'memcached', '>= 1.4.1'
 
 # Gems needed for running tests
 group :test do
@@ -46,8 +48,8 @@ end
 
 # Gems needed for compiling assets
 group :assets do
-  gem 'sass-rails', "  ~> 3.1.0"
-  gem 'coffee-rails', "~> 3.1.0"
-  gem 'uglifier'
+  gem 'sass-rails', '~> 3.2.3'
+  gem 'coffee-rails', '~> 3.2.1'
+  gem 'uglifier', '>= 1.0.3'
   gem 'therubyracer'
 end
index 482d9c3edac768aea5309a05d2fd9602c3f969a0..e212d100374d22d9a3c1c61dc04ded678984ccda 100644 (file)
@@ -2,76 +2,80 @@ GEM
   remote: http://rubygems.org/
   specs:
     SystemTimer (1.2.3)
-    actionmailer (3.1.3)
-      actionpack (= 3.1.3)
-      mail (~> 2.3.0)
-    actionpack (3.1.3)
-      activemodel (= 3.1.3)
-      activesupport (= 3.1.3)
+    actionmailer (3.2.2)
+      actionpack (= 3.2.2)
+      mail (~> 2.4.0)
+    actionpack (3.2.2)
+      activemodel (= 3.2.2)
+      activesupport (= 3.2.2)
       builder (~> 3.0.0)
       erubis (~> 2.7.0)
-      i18n (~> 0.6)
-      rack (~> 1.3.5)
+      journey (~> 1.0.1)
+      rack (~> 1.4.0)
       rack-cache (~> 1.1)
-      rack-mount (~> 0.8.2)
       rack-test (~> 0.6.1)
-      sprockets (~> 2.0.3)
-    activemodel (3.1.3)
-      activesupport (= 3.1.3)
+      sprockets (~> 2.1.2)
+    activemodel (3.2.2)
+      activesupport (= 3.2.2)
       builder (~> 3.0.0)
-      i18n (~> 0.6)
-    activerecord (3.1.3)
-      activemodel (= 3.1.3)
-      activesupport (= 3.1.3)
-      arel (~> 2.2.1)
+    activerecord (3.2.2)
+      activemodel (= 3.2.2)
+      activesupport (= 3.2.2)
+      arel (~> 3.0.2)
       tzinfo (~> 0.3.29)
-    activeresource (3.1.3)
-      activemodel (= 3.1.3)
-      activesupport (= 3.1.3)
-    activesupport (3.1.3)
+    activeresource (3.2.2)
+      activemodel (= 3.2.2)
+      activesupport (= 3.2.2)
+    activesupport (3.2.2)
+      i18n (~> 0.6)
       multi_json (~> 1.0)
-    addressable (2.2.6)
-    arel (2.2.1)
+    addressable (2.2.7)
+    arel (3.0.2)
     builder (3.0.0)
-    coffee-rails (3.1.1)
+    cocaine (0.2.1)
+    coffee-rails (3.2.2)
       coffee-script (>= 2.2.0)
-      railties (~> 3.1.0)
+      railties (~> 3.2.0)
     coffee-script (2.2.0)
       coffee-script-source
       execjs
-    coffee-script-source (1.1.3)
-    composite_primary_keys (4.1.1)
-      activerecord (~> 3.1)
+    coffee-script-source (1.2.0)
+    composite_primary_keys (5.0.1)
+      activerecord (~> 3.2.0)
+    deadlock_retry (1.2.0)
     dynamic_form (1.1.4)
     erubis (2.7.0)
-    execjs (1.2.9)
+    execjs (1.3.0)
       multi_json (~> 1.0)
-    faraday (0.7.5)
-      addressable (~> 2.2.6)
-      multipart-post (~> 1.1.3)
-      rack (< 2, >= 1.1.0)
+    faraday (0.7.6)
+      addressable (~> 2.2)
+      multipart-post (~> 1.1)
+      rack (~> 1.1)
     hike (1.2.1)
-    httpclient (2.2.3)
+    http_accept_language (1.0.2)
+    httpclient (2.2.4)
     i18n (0.6.0)
-    jquery-rails (1.0.18)
-      railties (~> 3.0)
+    iconv (0.1)
+    journey (1.0.3)
+    jquery-rails (2.0.1)
+      railties (>= 3.2.0, < 5.0)
       thor (~> 0.14)
-    json (1.6.1)
-    jsonify (0.2.0)
-    jsonify-rails (0.2.0)
+    json (1.6.5)
+    jsonify (0.3.1)
+      multi_json (~> 1.0)
+    jsonify-rails (0.3.1)
       actionpack
-      jsonify (>= 0.2.0)
+      jsonify (>= 0.3.1)
     libv8 (3.3.10.4)
     libxml-ruby (2.2.2)
-    mail (2.3.0)
+    mail (2.4.3)
       i18n (>= 0.4.0)
       mime-types (~> 1.16)
       treetop (~> 1.4.8)
-    memcache-client (1.8.5)
-    memcached (1.3.5)
+    memcached (1.4.1)
     mime-types (1.17.2)
-    multi_json (1.0.3)
-    multipart-post (1.1.3)
+    multi_json (1.1.0)
+    multipart-post (1.1.5)
     nokogiri (1.5.0)
     oauth (0.4.5)
     oauth-plugin (0.4.0.rc2)
@@ -79,18 +83,21 @@ GEM
       oauth (~> 0.4.4)
       oauth2
       rack
-    oauth2 (0.5.1)
-      faraday (~> 0.7.4)
-      multi_json (~> 1.0.3)
+    oauth2 (0.5.2)
+      faraday (~> 0.7)
+      multi_json (~> 1.0)
     open_id_authentication (1.1.0)
       rack-openid (~> 1.3)
-    pg (0.11.0)
+    paperclip (2.7.0)
+      activerecord (>= 2.3.0)
+      activesupport (>= 2.3.2)
+      cocaine (>= 0.0.2)
+      mime-types
+    pg (0.13.2)
     polyglot (0.3.3)
-    rack (1.3.5)
-    rack-cache (1.1)
+    rack (1.4.1)
+    rack-cache (1.2)
       rack (>= 0.4)
-    rack-mount (0.8.3)
-      rack (>= 1.0.0)
     rack-openid (1.3.1)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
@@ -98,44 +105,40 @@ GEM
       rack
     rack-test (0.6.1)
       rack (>= 1.0)
-    rails (3.1.3)
-      actionmailer (= 3.1.3)
-      actionpack (= 3.1.3)
-      activerecord (= 3.1.3)
-      activeresource (= 3.1.3)
-      activesupport (= 3.1.3)
+    rails (3.2.2)
+      actionmailer (= 3.2.2)
+      actionpack (= 3.2.2)
+      activerecord (= 3.2.2)
+      activeresource (= 3.2.2)
+      activesupport (= 3.2.2)
       bundler (~> 1.0)
-      railties (= 3.1.3)
-    rails-i18n-updater (1.0.1)
-      actionpack
-      activesupport
-      rails
-    railties (3.1.3)
-      actionpack (= 3.1.3)
-      activesupport (= 3.1.3)
+      railties (= 3.2.2)
+    rails-i18n (0.5.1)
+      i18n (~> 0.5)
+    railties (3.2.2)
+      actionpack (= 3.2.2)
+      activesupport (= 3.2.2)
       rack-ssl (~> 1.3.2)
       rake (>= 0.8.7)
       rdoc (~> 3.4)
       thor (~> 0.14.6)
     rake (0.9.2.2)
-    rdoc (3.11)
+    rdoc (3.12)
       json (~> 1.4)
-    rinku (1.4.1)
-    rmagick (2.13.1)
+    rinku (1.5.1)
     ruby-openid (2.1.8)
     sanitize (2.0.3)
-      nokogiri (< 1.6, >= 1.4.4)
-    sass (3.1.10)
-    sass-rails (3.1.5)
-      actionpack (~> 3.1.0)
-      railties (~> 3.1.0)
-      sass (~> 3.1.10)
-      tilt (~> 1.3.2)
-    sprockets (2.0.3)
+      nokogiri (>= 1.4.4, < 1.6)
+    sass (3.1.15)
+    sass-rails (3.2.4)
+      railties (~> 3.2.0)
+      sass (>= 3.1.10)
+      tilt (~> 1.3)
+    sprockets (2.1.2)
       hike (~> 1.2)
       rack (~> 1.0)
-      tilt (!= 1.3.0, ~> 1.1)
-    therubyracer (0.9.9)
+      tilt (~> 1.1, != 1.3.0)
+    therubyracer (0.9.10)
       libv8 (~> 3.3.10)
     thor (0.14.6)
     tilt (1.3.3)
@@ -143,8 +146,8 @@ GEM
     treetop (1.4.10)
       polyglot
       polyglot (>= 0.3.1)
-    tzinfo (0.3.31)
-    uglifier (1.1.0)
+    tzinfo (0.3.32)
+    uglifier (1.2.3)
       execjs (>= 0.3.0)
       multi_json (>= 1.0.2)
     validates_email_format_of (1.5.3)
@@ -154,25 +157,27 @@ PLATFORMS
 
 DEPENDENCIES
   SystemTimer (>= 1.1.3)
-  coffee-rails (~> 3.1.0)
-  composite_primary_keys (>= 4.1.1)
+  coffee-rails (~> 3.2.1)
+  composite_primary_keys (>= 5.0.0)
+  deadlock_retry (>= 1.2.0)
   dynamic_form
+  http_accept_language (>= 1.0.2)
   httpclient
+  iconv
   jquery-rails
   jsonify-rails
   libxml-ruby (>= 2.0.5)
-  memcache-client
-  memcached
+  memcached (>= 1.4.1)
   oauth-plugin (>= 0.4.0.pre7)
   open_id_authentication (>= 1.1.0)
+  paperclip (~> 2.0)
   pg
-  rails (= 3.1.3)
-  rails-i18n-updater
+  rails (= 3.2.2)
+  rails-i18n (>= 0.5.1)
   rinku (>= 1.2.2)
-  rmagick
   sanitize
-  sass-rails (~> 3.1.0)
+  sass-rails (~> 3.2.3)
   therubyracer
   timecop
-  uglifier
+  uglifier (>= 1.0.3)
   validates_email_format_of (>= 1.5.1)
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..d159169
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..edad66c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,132 @@
+# Description
+
+This is the Rails port, the [Ruby on Rails](http://rubyonrails.org/)
+application that powers [OpenStreetMap](http://www.openstreetmap.org).
+
+The Rails port provides almost all the services which are available 
+on the OpenStreetMap site, including:
+
+* The web site itself, including the edit pages.
+* The editing [API](http://wiki.openstreetmap.org/wiki/API_v0.6).
+* Browse pages - a web front-end to the OpenStreetMap data.
+* The user system, including preferences, diary entries, friends and
+  user-to-user messaging.
+* GPX uploads, browsing and API.
+
+There are some non-Rails services which the site includes, for 
+example; tiles, geocoding, GPX file loading. There are also some
+utilities which provide other services on the OpenStreetMap site,
+or improve its function, but are not integrated with the Rails 
+port, for example; Osmosis, CGImap.
+
+# License
+
+This software is licensed under the [GNU General Public License 2.0](http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt),
+a copy of which can be found in the LICENSE file.
+
+# Running it
+
+You can find documentation on [how to setup and
+run](http://wiki.openstreetmap.org/wiki/The_Rails_Port) the software
+on the OpenStreetMap wiki.
+
+# Hacking it
+
+The canonical Git repository for this software is hosted at
+[git.openstreetmap.org](http://git.openstreetmap.org/?p=rails.git),
+but much of the development is done on GitHub and for most people
+[this repository on Github](https://github.com/openstreetmap/openstreetmap-website)
+will be a better place to start.
+
+Anybody hacking on the code is welcome to join the
+[rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev) mailing
+list where other people hacking on the code hang out and will be happy
+to help with any problems you may encounter.
+
+There are also weekly IRC meetings, at 1800 GMT on Mondays in #osm-ewg on
+the OFTC network where questions can be asked and ideas discussed. For more 
+information, please see [the EWG page]
+(http://www.osmfoundation.org/wiki/Engineering_Working_Group#Meetings). You can
+join the channel using your favourite IRC client or [irc.openstreetmap.org](http://irc.openstreetmap.org/).
+
+## Rails
+
+If you're not already familiar with Ruby on Rails then it's probably
+worth having a look at [Rails Guides](http://guides.rubyonrails.org/) for an introduction.
+
+While working with Rails you will probably find the [API documentation](http://api.rubyonrails.org/)
+helpful as a reference.
+
+## Coding style
+
+When writing code it is generally a good idea to try and match your
+formatting to hat of any existing code in the same file, or to other
+similar files if you are writing new code. Consistency of layout is
+far more important that the layout itself as it makes reading code
+much easier.
+
+One golden rule of formatting -- please don't use tabs in your code
+as they will cause the file to be formatted differently for different
+people depending on how they have their editor configured.
+
+## Testing
+
+Having a good suite of tests is very important to the stability and
+maintainability of any code base. The tests in the Rails port code are
+by no means complete, but they are extensive, and must continue to be
+so with any new functionality which is written. Tests are also useful
+in giving others confidence in the code you've written, and can
+greatly speed up the process of merging in new code.
+
+When hacking, you should:
+
+* Write new tests to cover the new functionality you've added.
+* Where appropriate, modify existing tests to reflect new or changed
+functionality.
+* Never comment out or remove a test just because it doesn't pass.
+
+## Comments
+
+Sometimes it's not apparent from the code itself what it does, or,
+more importantly, **why** it does that. Good comments help your fellow
+developers to read the code and satisfy themselves that it's doing the
+right thing.
+
+When hacking, you should:
+
+* Comment your code - don't go overboard, but explain the bits which
+might be difficult to understand what the code does, why it does it
+and why it should be the way it is.
+* Check existing comments to ensure that they are not misleading.
+
+## Committing
+
+When you submit patches, the project maintainer has to read them and
+understand them. This is difficult enough at the best of times, and
+misunderstanding patches can lead to them being more difficult to
+merge. To help wit this, when submitting you should:
+
+* Split up large patches into smaller units of functionality.
+* Keep your commit messages relevant to the changes in each individual
+unit.
+
+When writing commit messages please try and stick to the same style as
+other commits, namely:
+
+* A one line summary, starting with a capital and with no full stop.
+* A blank line.
+* Full description, as proper sentences with capitals and full stops.
+
+For simple commits the one line summary is often enough and the body
+of the commit message can be left out.
+
+## Sending the patches
+
+If you have forked on GitHub then the best way to submit your patches is to
+push your changes back to GitHub and then send a "pull request" on GitHub.
+
+Otherwise you should either push your changes to a publicly visible git repository
+and send the details to the [rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev)
+list or generate patches with `git format-patch` and send them to the
+[rails-dev](http://lists.openstreetmap.org/listinfo/rails-dev) list.
+
diff --git a/README.mkdn b/README.mkdn
deleted file mode 100644 (file)
index 24814ff..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Description
-
-This is the Rails port. The Ruby on Rails application that powers
-http://www.openstreetmap.org.
-
-# Running it
-
-You can find documentation on how to setup and run the software on the
-OpenStreetMap wiki:
-
-* http://wiki.openstreetmap.org/wiki/The_Rails_Port
-    
-# Hacking it
-
-The canonnical Git repository for this software is hosted at
-git.openstreetmap.org:
-
-* http://git.openstreetmap.org/?p=rails.git
-    
-See commiting to the rails port on the wiki for getting your patches
-integrated:
-
-* http://wiki.openstreetmap.org/wiki/Committing_to_the_rails_port
-
diff --git a/app/assets/images/tab_bottom.gif b/app/assets/images/tab_bottom.gif
deleted file mode 100644 (file)
index da70aaf..0000000
Binary files a/app/assets/images/tab_bottom.gif and /dev/null differ
index acfa108224abc8c827e7a78e0914ec1dc19f960e..f2397210412e1853071c83f26b82d9a79a0badf3 100644 (file)
@@ -24,7 +24,7 @@ function createMap(divName, options) {
       theme: "<%= asset_path 'theme/default/style.css' %>"
    });
 
-   var mapnik = new OpenLayers.Layer.OSM.Mapnik(i18n("javascripts.map.base.mapnik"), {
+   var mapnik = new OpenLayers.Layer.OSM.Mapnik(i18n("javascripts.map.base.standard"), {
       attribution: "",
       keyid: "mapnik",
       displayOutsideMaxExtent: true,
@@ -33,15 +33,6 @@ function createMap(divName, options) {
    });
    map.addLayer(mapnik);
 
-   var osmarender = new OpenLayers.Layer.OSM.Osmarender(i18n("javascripts.map.base.osmarender"), {
-      attribution: "",
-      keyid: "osmarender",
-      displayOutsideMaxExtent: true,
-      wrapDateLine: true,
-      layerCode: "O"
-   });
-   map.addLayer(osmarender);
-
    var cyclemap = new OpenLayers.Layer.OSM.CycleMap(i18n("javascripts.map.base.cycle_map"), {
       attribution: "Tiles courtesy of <a href='http://www.opencyclemap.org/' target='_blank'>Andy Allan</a>",
       keyid: "cyclemap",
@@ -75,11 +66,9 @@ function createMap(divName, options) {
    });
    map.addLayer(mapquest);
 
-   var numZoomLevels = Math.max(mapnik.numZoomLevels, osmarender.numZoomLevels);
-
    markers = new OpenLayers.Layer.Markers("Markers", {
       displayInLayerSwitcher: false,
-      numZoomLevels: numZoomLevels,
+      numZoomLevels: 20,
       maxExtent: new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508),
       maxResolution: 156543,
       units: "m",
index 8db1be4b9acebd6e44bd208e63eb7aecdac4a2eb..e829f2aa6664fda4f6f4ce636612c373a7c94784 100644 (file)
@@ -35,7 +35,7 @@ function enterMenuAnchor(event, anchor, menu, delay, align) {
     clearTimeout(menu.timer);
 
     if (delay > 0) {
-      menu.timer = setTimeout(function () { openMenu(anchor, menu, align) }, delay);
+      menu.timer = setTimeout(function () { openMenu(anchor, menu, align); }, delay);
     } else {
       openMenu(event, menu, align);
     }
@@ -48,7 +48,7 @@ function enterMenuAnchor(event, anchor, menu, delay, align) {
 function leaveMenuAnchor(event, anchor, menu) {
   var to = event.relatedTarget;
 
-  if (!menu.is(to) && menu.has(to).length == 0) {
+  if (!menu.is(to) && menu.has(to).length === 0) {
     menu.hide();
   }
 
@@ -61,7 +61,7 @@ function leaveMenuAnchor(event, anchor, menu) {
 function leaveMenu(event, anchor, menu) {
   var to = event.relatedTarget;
 
-  if (!anchor.is(to) && menu.has(to).length == 0) {
+  if (!anchor.is(to) && menu.has(to).length === 0) {
     menu.hide();
   }
 
@@ -75,9 +75,9 @@ function createMenu(anchorid, menuid, delay, align) {
   var anchor = $("#" + anchorid);
   var menu = $("#" + menuid);
 
-  anchor.mouseup(function (event) { closeMenu(menu) });
-  anchor.mouseover(function (event) { enterMenuAnchor(anchor, anchor, menu, delay, align) });
-  anchor.mouseout(function (event) { leaveMenuAnchor(event, anchor, menu) });
-  menu.mouseup(function (event) { closeMenu(menu) });
-  menu.mouseout(function (event) { leaveMenu(event, anchor, menu) });
+  anchor.mouseup(function (event) { closeMenu(menu); });
+  anchor.mouseover(function (event) { enterMenuAnchor(anchor, anchor, menu, delay, align); });
+  anchor.mouseout(function (event) { leaveMenuAnchor(event, anchor, menu); });
+  menu.mouseup(function (event) { closeMenu(menu); });
+  menu.mouseout(function (event) { leaveMenu(event, anchor, menu); });
 }
index ea7585a44bb894f1775f12855aaa9593ae4e2e82..93a5127f9ed85ba316c94cf7323505ad0e6e6d84 100644 (file)
@@ -45,12 +45,13 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
         var minzoom = match[1];
         var name = link.id.replace(/anchor$/, "");
 
+        $(link).off("click.minzoom");
+
         if (zoom >= minzoom) {
-          $(link).off("click");
           $(link).attr("title", i18n("javascripts.site." + name + "_tooltip"));
           $(link).removeClass("disabled");
         } else {
-          $(link).click(function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; });
+          $(link).on("click.minzoom", function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; });
           $(link).attr("title", i18n("javascripts.site." + name + "_disabled_tooltip"));
           $(link).addClass("disabled");
         }
@@ -72,17 +73,17 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
 
     // This is a hack to omit the default mapnik layer from the shortlink.
     if (layers && layers != "M") {
-      args["layers"] = layers;
+      args.layers = layers;
     }
     else {
-      delete args["layers"];
+      delete args.layers;
     }
 
     // Here we're assuming that all parameters but ?layers= and
     // ?{node,way,relation}= can be safely omitted from the shortlink
     // which encodes lat/lon/zoom. If new URL parameters are added to
     // the main slippy map this needs to be changed.
-    if (args["layers"] || args[objtype]) {
+    if (args.layers || args[objtype]) {
       this.href = setArgs(prefix + "/go/" + code, args);
     } else {
       this.href = prefix + "/go/" + code;
@@ -105,7 +106,7 @@ function shortlinkPrefix() {
  * Called to get the arguments from a URL as a hash.
  */
 function getArgs(url) {
-  var args = new Object();
+  var args = {};
   var querystart = url.indexOf("?");
 
   if (querystart >= 0) {
@@ -116,7 +117,7 @@ function getArgs(url) {
         if (match = queryitems[i].match(/^(.*)=(.*)$/)) {
            args[unescape(match[1])] = unescape(match[2]);
         } else {
-           args[unescape(queryitems[i])] = null
+           args[unescape(queryitems[i])] = null;
         }
      }
   }
@@ -128,10 +129,9 @@ function getArgs(url) {
  * Called to set the arguments on a URL from the given hash.
  */
 function setArgs(url, args) {
-   var queryitems = new Array();
+   var queryitems = [];
 
-   for (arg in args)
-   {
+   for (arg in args) {
       if (args[arg] == null) {
          queryitems.push(escape(arg));
       } else {
@@ -167,7 +167,7 @@ function getStyle(el, property) {
  * rails and then later by javascript.
  */
 function i18n(string, keys) {
-  string = i18n_strings[string] || string
+  string = i18n_strings[string] || string;
 
   for (var key in keys) {
     var re_key = '\\[\\[' + key + '\\]\\]';
index a0846e96edfe412551d376e588909aa706c54c85..42b5f539737624b23c6f7acac32477f6901749ae 100644 (file)
@@ -3,8 +3,10 @@
 /* Default rules for the body of every page */
 
 body {
-  font-family: Arial,sans-serif;
-  color: #000;
+  font-family: 'Helvetica Neue',Arial,sans-serif;
+  font-size: 14px;
+  line-height: 20px;
+  color: #222;
   background-color: #fff;
   margin: 0px;
   padding: 0px;
@@ -34,12 +36,22 @@ hr {
   height: 1px;
 }
 
+/* Default rules for headings */
+
+h2 {
+  margin: 5px 0;
+  font-size: 25px;
+  line-height: 30px;
+}
+
 /* Rules for the whole left sidebar, including the logo */
 
 #left {
   position: absolute;
   top: 0px;
-  min-width: 170px;
+  width: 185px;
+  font-size: 11px;
+  line-height: 12px;
 }
 
 /* Rules for the OpenStreetMap logo in the top left corner */
@@ -48,22 +60,20 @@ hr {
   width: 170px;
   min-width: 170px;
   padding: 5px;
-  margin: 5px;
-  height: 150px;
-  background: #fff;
-  border: 1px solid #ccd;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
+  text-align: center;
+  margin: 25px 0 5px 0;
 }
 
 #logo h1 {
-  font-size: 14px;
+  font-size: 18px;
+  line-height: 20px;
   text-align: center;
   margin: 0px;
 }
 
 #logo h2 {
   font-size: 10px;
+  line-height: 15px;
   margin: 0px;
 }
 
@@ -76,13 +86,7 @@ hr {
 /* Rules for the introductory text displayed in the left sidebar to new users */
 
 #intro {
-  width: 170px;
-  padding: 5px;
-  margin: 5px;
-  border: 1px solid #ccc;
-  font-size: 11px;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
+  border-top: 1px solid #ccc;
 }
 
 #intro p {
@@ -119,7 +123,7 @@ hr {
   padding: 5px;
   border: 1px solid #ccc;
   background: #ea0;
-  line-height: 1.2em;
+  line-height: 20px;
   font-size: 14px;
   border-radius: 5px;
   -moz-border-radius: 5px;
@@ -128,21 +132,13 @@ hr {
 /* Rules for the menu displayed in the left sidebar */
 
 .left_menu {
-  width: 170px;
-  min-width: 170px;
-  margin: 5px;
   padding: 5px;
-  border: 1px solid #ccc;
-  background: #ddd;
-  line-height: 1.2em;
+  margin: 4px 0;
+  border-top: 1px solid #ccc;
+  border-bottom: 1px solid #ccc;
+  line-height: 20px;
   font-size: 14px;
   font-weight: bold;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
-}
-
-.left_menu td {
-  font-size: 12px;
 }
 
 .left_menu h1 {
@@ -182,22 +178,15 @@ hr {
  */
 
 .optionalbox {
-  width: 170px;
-  min-width: 170px;
-  margin: 5px;
   padding: 5px;
-  border: 1px solid #ccc;
-  line-height: 1.2em;
-  font-size: 12px;
-  background: #eee;
-  border-radius: 5px;
-  -moz-border-radius: 5px;
+  margin: 4px 0;
+  border-top: 1px solid #ccc;
 }
 
 .optionalbox h1 {
   font-size: 14px;
   font-weight: bold;
-  line-height: 22px;
+  line-height: 20px;
   margin: 0px;
   vertical-align: bottom;
 }
@@ -205,13 +194,13 @@ hr {
 /* Rules for the search box */
 
 .whereami {
-  line-height: 22px;
+  line-height: 20px;
   vertical-align: bottom;
 }
 
 .search_container {
-  height: 16px;
-  padding-bottom: 6px;
+  height: 15px;
+  padding-bottom: 5px;
 }
 
 #search_field form {
@@ -231,21 +220,19 @@ hr {
 }
 
 .search_help {
-  font-size: 10px;
-  line-height: 1em;
-  margin-top: 3px;
+  margin-top: 2px;
   margin-bottom: 0px;
 }
 
 /* Rules for donation request box */
 
 .donate {
-  width: 170px;
-  margin: 5px;
+  width: 155px;
+  margin: 10px 5px;
   padding: 5px;
   border: 1px solid #ccc;
   background: #cbeea7;
-  line-height: 1.2em;
+  line-height: 20px;
   text-align: center;
   font-size: 14px;
   border-radius: 5px;
@@ -261,66 +248,58 @@ hr {
 
 /* Rules for tabbed navigation bar */
 
-#tabnav
-{
-  height: 20px;
-  margin: 0px;
-  padding-top: 5px;
-  background: image-url('tab_bottom.gif') repeat-x bottom;
+#top-bar {
+  border-bottom: 1px solid #ccc;
+  height: 29px;
 }
 
-#tabnav li
-{
-  margin: 0px; 
+#tabnav {
+  padding: 0;
+  margin: 0;
+  overflow:hidden;
+}
+
+#tabnav li {
+  margin: 0px;
   padding: 0px;
   display: inline;
   list-style-type: none;
 }
 
-#tabnav a, #tabnav a:link, #tabnav a:visited 
-{
-  background: #f3f3f3;
-  font-size: 13px;
-  line-height: 14px;
+#tabnav a, #tabnav a:link, #tabnav a:visited {
+  background: #fff;
+  font-size: 14px;
+  line-height: 19px;
   font-weight: bold;
-  padding: 2px 10px;
-  border: 1px solid #ccc;
+  padding: 5px 10px;
   text-decoration: none;
   color: #333;
-  border-top-right-radius: 5px;
-  -moz-border-radius-topright: 5px;
-  border-top-left-radius: 5px;
-  -moz-border-radius-topleft: 5px;
 }
 
-#tabnav a:link.active, #tabnav a:visited.active
-{
-  border-bottom: 1px solid #fff;
-  background: #fff;
+#tabnav a:link.active, #tabnav a:visited.active {
+  border-bottom: 1px solid #aaa;
+  background: #9ed485;
   color: #000;
 }
 
-#tabnav a:link:hover, #tabnav a:visited:hover
-{
-  background: #fff;
+#tabnav a:link:hover, #tabnav a:visited:hover {
+  text-decoration:underline;
 }
 
-#tabnav a:link.disabled, #tabnav a:visited.disabled,
-#tabnav a:link:hover.disabled, #tabnav a:visited:hover.disabled
-{
-  background: #bbbbbb;
-  color: white
+#tabnav a:link.disabled,
+#tabnav a:visited.disabled,
+#tabnav a:link:hover.disabled,
+#tabnav a:visited:hover.disabled {
+  color: #888;
 }
 
 /* Rules for greeting bar in the top right corner */
 
 #greeting {
-  height: 20px;
+  height: 28px;
   margin: 0px;
-  padding-top: 5px;
   font-size: 13px;
-  line-height: 14px;
-  background: image-url('tab_bottom.gif') repeat-x bottom;
+  line-height: 28px;
 }
 
 .greeting-bar-unread {
@@ -338,8 +317,7 @@ hr {
 /* Rules for OpenLayers maps */
 
 #map {
-  border: 1px solid black;
-  margin: 0px; 
+  margin: 0px;
   padding: 0px;
 }
 
@@ -353,10 +331,16 @@ hr {
 #permalink {
   z-index: 10000;
   position: absolute;
-  bottom: 15px;
-  right: 15px;
+  bottom: 0px;
+  right: 0px;
+  padding: 5px;
+  background:#fff;
   text-align: right;
-  font-size: smaller;
+  font-size: 12px;
+}
+
+#permalink a {
+  padding: 5px;
 }
 
 /* Rules for edit menu */
@@ -396,7 +380,6 @@ hr {
 #sidebar {
   display: none;
   position: absolute;
-  border: 1px solid black;
   margin: 0px;
   padding: 0px;
   width: 30%;
@@ -408,7 +391,7 @@ hr {
   overflow: auto;
   position: absolute;
   font-size: 13px;
-  line-height: 14px;
+  line-height: 15px;
   top: 29px;
   bottom: 0px;
   left: 0px;
@@ -417,11 +400,10 @@ hr {
 
 #sidebar .sidebar_title {
   margin: 0px;
-  padding: 3px 6px;
+  padding: 3px 6px 4px 6px;
   height: 29px;
   font-size: 14px;
   line-height: 15px;
-  border-bottom: 1px solid black;
   background: #bbb;
 }
 
@@ -454,14 +436,14 @@ hr {
 
 .search_results_heading {
   margin: 0px;
-  padding: 3px 6px;
-  border: 1px solid #ccc;
-  background: #ddd;
+  padding: 2px 5px;
+  border-bottom: 1px solid #ccc;
+  font-weight: bold;
 }
 
 .search_results_entry {
   margin: 0px;
-  padding: 2px 6px;
+  padding: 2px 5px;
 }
 
 .search_results_error {
@@ -488,9 +470,9 @@ hr {
 
 .export_heading {
   margin: 0px;
-  padding: 3px 6px;
-  border: 1px solid #ccc;
-  background: #ddd;
+  padding: 2px 5px;
+  border-bottom: 1px solid #ccc;
+  font-weight: bold;
 }
 
 .export_bounds {
@@ -531,11 +513,17 @@ hr {
 /* Rules for the main content area */
 
 #content {
-  padding: 0px;
+  padding: 10px;
   margin: 0px;
-  position: absolute; 
-  bottom: 10px;
-  line-height: 1.2em;
+  position: absolute;
+  bottom: 0px;
+}
+
+#content.site_index,
+#content.site_edit,
+#content.site_export {
+  border: 0px;
+  padding: 0px;
 }
 
 #slim_container {
@@ -744,6 +732,7 @@ td.browse_comments table td span.by {
   position: relative;
   width: 90%;
   height: 400px;
+  border: 1px solid #ccc;
   display: none;
 }
 
@@ -847,6 +836,7 @@ p#contributorGuidance {
   position: relative;
   width: 500px;
   height: 400px; 
+  border: 1px solid #ccc;
 }
 
 #accountImage td {
@@ -875,6 +865,7 @@ p#contributorGuidance {
   position: relative;
   width: 400px;
   height: 400px; 
+  border: 1px solid #ccc;
 }
 
 .user_view .user_map p#no_home_location {
@@ -993,18 +984,20 @@ p#contributorGuidance {
 .fieldName {
   vertical-align: top;
   font-weight: bold;
+  font-size: 12px;
+  line-height: 20px;
 }
 
 .minorNote {
   font-size: 0.8em;
 }
 
-input[type="text"], input[type="email"], input[type="url"], input[type="password"], textarea {
-  border: 1px solid black;
-}
-
-input[type="submit"] {
-  border: 1px solid black;
+input[type="text"],
+input[type="email"],
+input[type="url"],
+input[type="password"],
+textarea {
+  border: 1px solid #888;
 }
 
 /* Rules for user images */
@@ -1042,11 +1035,11 @@ abbr.geo {
 
 /* Rules for doing distinct colour of alternate table rows */
 
-.table0 { 
+.table0 {
   background: #f6f6f6;
 }
 
-.table1 { 
+.table1 {
   background: #fff;
 }
 
index 9d664ef2662195f6c42ae8bfeeaa5b7bed75ec7b..2cf195632dda1d0dc533812df5c1291ca729f0f9 100644 (file)
@@ -9,7 +9,7 @@
 /* Rules for the main content area */
 
 #content {
-  top: 35px;
+  top: 30px;
 }
 
 /* Rules for OpenLayers maps */
index 817404a799d879e34ad2e65cca634774444028c9..5eba8ddb9f798d38a3fda13a3246d08eff0d87d2 100644 (file)
@@ -68,15 +68,15 @@ html body {
 
 /* Rules for tabbed navigation bar */
 
-#tabnav
-{
-  padding-left: 215px;
+#top-bar {
+  margin-left: 185px;
 }
 
-#tabnav a, #tabnav a:link, #tabnav a:visited 
-{
+#tabnav a,
+#tabnav a:link,
+#tabnav a:visited {
   float: left;
-  margin-right: 4px;
+  margin-right: 1px;
 }
 
 /* Rules for greeting bar in the top right corner */
@@ -92,6 +92,12 @@ html body {
   left: 15px
 }
 
+/* Rules for OpenLayers maps */
+
+#map {
+  border-left: 1px solid #ccc;
+}
+
 /* Rules for attribution text under the main map shown on printouts */
 
 .attribution_license {
@@ -106,7 +112,7 @@ html body {
 
 #sidebar {
   left: 0px;
-  margin-right: 3px;
+  border-left: 1px solid #ccc;
 }
 
 #sidebar #sidebar_title {
@@ -120,8 +126,9 @@ html body {
 /* Rules for the main content area */
 
 #content {
-  left: 192px;
-  right: 10px;
+  border-left: 1px solid #ccc;
+  left: 185px;
+  right: 0px;
   text-align: left;
 }
 
@@ -187,12 +194,6 @@ html body {
   float: right;
 }
 
-/* Rules for the login page */
-
-#login_wrapper input[type=submit] {
-  float: right;
-}
-
 /* Rules for the account confirmation page */
 
 form#termsForm div#buttons {
@@ -230,7 +231,7 @@ form#termsForm input#agree {
   text-align: right;
 }
 
-input.openid_url { 
+input.openid_url {
   background: image-url('openid_input.png') repeat-y left white;
   padding-left: 16px;
 }
index 953efd7a66bc5b2b4f7e7cf1a34e2be4ab220889..b9223e5228e8f729a7b2af6cfbdbdfb40757a994 100644 (file)
@@ -68,16 +68,15 @@ html body {
 
 /* Rules for tabbed navigation bar */
 
-
-#tabnav
-{
-  padding-right: 215px;
+#top-bar {
+  margin-right: 185px
 }
 
-#tabnav a, #tabnav a:link, #tabnav a:visited 
-{
+#tabnav a,
+#tabnav a:link,
+#tabnav a:visited {
   float: right;
-  margin-left: 4px;
+  margin-left: 1px;
 }
 
 /* Rules for greeting bar in the top right corner */
@@ -93,6 +92,12 @@ html body {
   right: 15px
 }
 
+/* Rules for OpenLayers maps */
+
+#map {
+  border-right: 1px solid #ccc;
+}
+
 /* Rules for attribution text under the main map shown on printouts */
 
 .attribution_license {
@@ -107,7 +112,7 @@ html body {
 
 #sidebar {
   right: 0px;
-  margin-left: 3px;
+  border-right: 1px solid #ccc;
 }
 
 #sidebar #sidebar_title {
@@ -121,8 +126,9 @@ html body {
 /* Rules for the main content area */
 
 #content {
-  right: 192px;
-  left: 10px;
+  border-right: 1px solid #ccc;
+  right: 185px;
+  left: 0px;
   text-align: right;
 }
 
@@ -188,12 +194,6 @@ html body {
   float: left;
 }
 
-/* Rules for the login page */
-
-#login_wrapper input[type=submit] {
-  float: left;
-}
-
 /* Rules for the account confirmation page */
 
 form#termsForm div#buttons {
@@ -231,7 +231,7 @@ form#termsForm input#agree {
   text-align: left;
 }
 
-input.openid_url { 
+input.openid_url {
   background: image-url('openid_input.png') repeat-y right white;
   padding-right: 16px;
 }
index 07b5d7b1075f534e2bc46f1b2ab865990b6d3632..412cf720371594f7780ae458dc8b6cc660a34608 100644 (file)
@@ -17,24 +17,23 @@ h1 {
 }
 
 /* Rules for tabbed navigation bar */
+#top-bar {
+  margin: 0;
+}
 
-#tabnav
-{
+#tabnav {
   height: 14px;
   margin: 0px;
-  padding-left: 3px;
   padding-top: 5px;
   margin-top: 18px;
-  background: image-url('tab_bottom.gif') repeat-x bottom;
   font-size: 10px;
   line-height: 10px;
 }
 
-#tabnav a, #tabnav a:link, #tabnav a:visited 
-{
+#tabnav a, #tabnav a:link, #tabnav a:visited {
   font-size: 10px;
   line-height: 10px;
-  padding: 1px 5px;
+  padding: 2px 5px;
   margin-right: 1px;
 }
 
index 86e57a2d1bd9c6642510d46a2f26520d7a6936df..139a7a65078058ac2a791161c9797faf72a1e9e8 100644 (file)
@@ -128,7 +128,7 @@ class AmfController < ApplicationController
 
   def amf_handle_error_with_timeout(call,rootobj,rootid)
     amf_handle_error(call,rootobj,rootid) do
-      Timeout::timeout(API_TIMEOUT, OSM::APITimeoutError) do
+      OSM::Timer.timeout(API_TIMEOUT, OSM::APITimeoutError) do
         yield
       end
     end
index 96bf915c0f9e3034fe9c0cb2029c1feb8ae1861b..6caed05940a0bf024dbd51259f67fe04a68bbf92 100644 (file)
@@ -1,4 +1,5 @@
 class ApplicationController < ActionController::Base
+  include SessionPersistence
 
   protect_from_forgery
 
@@ -266,7 +267,7 @@ class ApplicationController < ActionController::Base
       report_error message, :bad_request
     rescue OSM::APIError => ex
       report_error ex.message, ex.status
-    rescue ActionController::UnknownAction => ex
+    rescue AbstractController::ActionNotFound => ex
       raise
     rescue Exception => ex
       logger.info("API threw unexpected #{ex.class} exception: #{ex.message}")
@@ -286,7 +287,7 @@ class ApplicationController < ActionController::Base
   ##
   # wrap an api call in a timeout
   def api_call_timeout
-    SystemTimer.timeout_after(API_TIMEOUT) do
+    OSM::Timer.timeout(API_TIMEOUT) do
       yield
     end
   rescue Timeout::Error
@@ -296,11 +297,17 @@ class ApplicationController < ActionController::Base
   ##
   # wrap a web page in a timeout
   def web_timeout
-    SystemTimer.timeout_after(WEB_TIMEOUT) do
+    OSM::Timer.timeout(WEB_TIMEOUT) do
       yield
     end
-  rescue ActionView::TemplateError => ex
-    if ex.original_exception.is_a?(Timeout::Error)
+  rescue ActionView::Template::Error => ex
+    ex = ex.original_exception
+
+    if ex.is_a?(ActiveRecord::StatementInvalid) and ex.message =~ /^Timeout::Error/
+      ex = Timeout::Error.new
+    end
+
+    if ex.is_a?(Timeout::Error)
       render :action => "timeout"
     else
       raise
@@ -327,7 +334,7 @@ class ApplicationController < ActionController::Base
     end)
 
     options[:cache_path] = Proc.new do |controller|
-      cache_path.merge(controller.params).merge(:locale => I18n.locale)
+      cache_path.merge(controller.params).merge(:host => SERVER_URL, :locale => I18n.locale)
     end
 
     actions.push(options)
@@ -339,7 +346,7 @@ class ApplicationController < ActionController::Base
   # extend expire_action to expire all variants
   def expire_action(options = {})
     I18n.available_locales.each do |locale|
-      super options.merge(:locale => locale)
+      super options.merge(:host => SERVER_URL, :locale => locale)
     end
   end
 
index b736e332b04431d3e6e0cc1cb76484c406fd313f..cfe86de51fd462842e075353c8044f6027205dbb 100644 (file)
@@ -276,6 +276,15 @@ class ChangesetController < ApplicationController
         end
       end
 
+      if params[:nearby]
+        if @user
+          changesets = changesets.where(:user_id => @user.nearby)
+        elsif request.format == :html
+          require_user
+          return
+        end
+      end
+
       if params[:bbox]
         bbox = BoundingBox.from_bbox_params(params)
       elsif params[:minlon] and params[:minlat] and params[:maxlon] and params[:maxlat]
@@ -295,6 +304,10 @@ class ChangesetController < ApplicationController
         @title =  t 'changeset.list.title_friend'
         @heading =  t 'changeset.list.heading_friend'
         @description = t 'changeset.list.description_friend'
+      elsif params[:nearby] and @user
+        @title = t 'changeset.list.title_nearby'
+        @heading = t 'changeset.list.heading_nearby'
+        @description = t 'changeset.list.description_nearby'
       elsif user and bbox
         @title =  t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
         @heading =  t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
@@ -319,9 +332,9 @@ class ChangesetController < ApplicationController
       @bbox = bbox
       
       @edits = changesets.order("changesets.created_at DESC").offset((@page - 1) * @page_size).limit(@page_size).preload(:user, :changeset_tags)
-    end
 
-    render :action => :list
+      render :action => :list
+    end
   end
 
   ##
index 0444f5a89d7b269299fb2ae9fa51702be052a0e6..f87b02ef9b916b7b879a0a166db79d09e5f26577 100644 (file)
@@ -8,8 +8,9 @@ class DiaryEntryController < ApplicationController
   before_filter :check_database_writable, :only => [:new, :edit]
   before_filter :require_administrator, :only => [:hide, :hidecomment]
 
-  caches_action :list, :view, :layout => false
+  caches_action :list, :layout => false, :unless => :user_specific_list?
   caches_action :rss, :layout => true
+  caches_action :view, :layout => false
   cache_sweeper :diary_sweeper, :only => [:new, :edit, :comment, :hide, :hidecomment]
 
   def new
@@ -98,6 +99,34 @@ class DiaryEntryController < ApplicationController
                                         },
                                         :order => 'created_at DESC',
                                         :per_page => 20)
+    elsif params[:friends]
+      if @user
+        @title = t 'diary_entry.list.title_friends'
+        @entry_pages, @entries = paginate(:diary_entries, :include => :user,
+                                          :conditions => {
+                                            :user_id => @user.friend_users,
+                                            :visible => true
+                                          },
+                                          :order => 'created_at DESC',
+                                          :per_page => 20)
+      else
+          require_user
+          return     
+      end
+    elsif params[:nearby]
+      if @user
+        @title = t 'diary_entry.list.title_nearby'
+        @entry_pages, @entries = paginate(:diary_entries, :include => :user,
+                                          :conditions => {
+                                            :user_id => @user.nearby,
+                                            :visible => true
+                                          },
+                                          :order => 'created_at DESC',
+                                          :per_page => 20)                                        
+      else
+          require_user
+          return     
+      end                                  
     else
       @title = t 'diary_entry.list.title'
       @entry_pages, @entries = paginate(:diary_entries, :include => :user,
@@ -166,6 +195,22 @@ class DiaryEntryController < ApplicationController
     comment.update_attributes(:visible => false)
     redirect_to :action => "view", :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id
   end
+
+  def comments
+    @this_user = User.active.find_by_display_name(params[:display_name])
+
+    if @this_user
+      @comment_pages, @comments = paginate(:diary_comments,
+                                           :conditions => { :user_id => @this_user },
+                                           :order => 'created_at DESC',
+                                           :per_page => 20)
+      @page = (params[:page] || 1).to_i
+    else
+       @title = t'diary_entry.no_such_user.title'
+       @not_found_user = params[:display_name]
+       render :action => 'no_such_user', :status => :not_found
+    end                                                
+  end  
 private
   ##
   # require that the user is a administrator, or fill out a helpful error message
@@ -176,4 +221,10 @@ private
       redirect_to :controller => 'diary_entry', :action => 'view', :display_name => params[:id]
     end
   end
+
+  ##
+  # is this list user specific?
+  def user_specific_list?
+    params[:friends] or params[:nearby]
+  end
 end
index 36f57d6c27d26a5003f95e4b66aa0584e6654d4e..cf4465b9c5b185bcdd3b760073083b51c1b842aa 100644 (file)
@@ -1,5 +1,6 @@
 class SiteController < ApplicationController
   layout 'site', :except => [:key, :permalink]
+  layout false, :only => [:key, :permalink]
 
   before_filter :authorize_web
   before_filter :set_locale
@@ -80,4 +81,8 @@ class SiteController < ApplicationController
       @zoom = '17' if @zoom.nil?
     end
   end
+
+  def copyright
+    @locale = params[:copyright_locale] || I18n.locale
+  end
 end
index cdfa5e3cbe76f60b460fb1e8843225b6a00a101d..e3f41f0ace69ef5148804aef75cbf17cb1004819 100644 (file)
@@ -153,7 +153,7 @@ class TraceController < ApplicationController
         @trace.errors.add(:gpx_file, "can't be blank")
       end
     else
-      @trace = Trace.new(:visibility => default_visibility)
+      @trace = Trace.new({:visibility => default_visibility}, :without_protection => true)
     end
 
     @title = t 'trace.create.upload_trace'
@@ -163,7 +163,9 @@ class TraceController < ApplicationController
     trace = Trace.find(params[:id])
 
     if trace.visible? and (trace.public? or (@user and @user == trace.user))
-      if request.format == Mime::XML
+      if Acl.no_trace_download(request.remote_ip)
+        render :nothing => true, :status => :forbidden
+      elsif request.format == Mime::XML
         send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => Mime::XML.to_s, :disposition => 'attachment')
       else
         send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => 'attachment')
@@ -222,7 +224,7 @@ class TraceController < ApplicationController
     end
 
     if params[:tag]
-      traces = traces.where("EXISTS (SELECT * FROM gpx_file_tags AS gft WHERE gft.gpx_id = gpx_files.id AND gft.tag = ?)")
+      traces = traces.where("EXISTS (SELECT * FROM gpx_file_tags AS gft WHERE gft.gpx_id = gpx_files.id AND gft.tag = ?)", params[:tag])
     end
 
     traces = traces.order("timestamp DESC")
@@ -384,7 +386,7 @@ private
       :inserted => true,
       :user => @user,
       :timestamp => Time.now.getutc
-    })
+    }, :without_protection => true)
 
     Trace.transaction do
       begin
index 89f35a8996e6cea3c9b20808259ae16b76e8d0b2..a591906976b93863760e8d80070a7fab79c9817c 100644 (file)
@@ -38,6 +38,8 @@ class UserController < ApplicationController
       else
         render :action => 'terms'
       end
+    elsif params[:user] and Acl.no_account_creation(request.remote_ip, params[:user][:email].split("@").last)
+      render :action => 'blocked'
     else
       session[:referer] = params[:referer]
 
@@ -79,9 +81,7 @@ class UserController < ApplicationController
   def save
     @title = t 'user.new.title'
 
-    if Acl.address(request.remote_ip).where(:k => "no_account_creation").exists?
-      render :action => 'new'
-    elsif params[:decline]
+    if params[:decline]
       if @user
         @user.terms_seen = true
 
@@ -112,6 +112,8 @@ class UserController < ApplicationController
       else
         redirect_to :action => :account, :display_name => @user.display_name
       end
+    elsif Acl.no_account_creation(request.remote_ip, params[:user][:email].split("@").last)
+      render :action => 'blocked'
     else
       @user = User.new(params[:user])
 
@@ -269,6 +271,8 @@ class UserController < ApplicationController
                        :openid_url => params[:openid])
 
       flash.now[:notice] = t 'user.new.openid association'
+    elsif Acl.no_account_creation(request.remote_ip)
+      render :action => 'blocked'
     end
   end
 
@@ -512,8 +516,7 @@ private
     elsif user = User.authenticate(:username => username, :password => password, :pending => true)
       failed_login t('user.login.account not active', :reconfirm => url_for(:action => 'confirm_resend', :display_name => user.display_name))
     elsif User.authenticate(:username => username, :password => password, :suspended => true)
-      webmaster = link_to t('user.login.webmaster'), "mailto:webmaster@openstreetmap.org"
-      failed_login t('user.login.account suspended', :webmaster => webmaster)
+      failed_login t('user.login.account is suspended', :webmaster => "mailto:webmaster@openstreetmap.org")
     else
       failed_login t('user.login.auth failure')
     end
@@ -546,8 +549,7 @@ private
             when "active", "confirmed" then
               successful_login(user)
             when "suspended" then
-              webmaster = link_to t('user.login.webmaster'), "mailto:webmaster@openstreetmap.org"
-              failed_login t('user.login.account suspended', :webmaster => webmaster)
+              failed_login t('user.login.account is suspended', :webmaster => "mailto:webmaster@openstreetmap.org")
             else
               failed_login t('user.login.auth failure')
           end
@@ -622,7 +624,7 @@ private
     cookies.permanent["_osm_username"] = user.display_name
 
     session[:user] = user.id
-    session_expires_after 1.month if session[:remember_me]
+    session_expires_after 28.days if session[:remember_me]
 
     target = session[:referer] || url_for(:controller => :site, :action => :index)
 
@@ -661,6 +663,8 @@ private
     if user.save
       set_locale
 
+      cookies.permanent["_osm_username"] = user.display_name
+
       if user.new_email.blank?
         flash.now[:notice] = t 'user.account.flash update success'
       else
index 2d867d2d830ded02365bad71b5df5194b1b82832..54dc90dee911e7f62d9a36d48f0250380c4f0673 100644 (file)
@@ -11,7 +11,9 @@ class UserRolesController < ApplicationController
   around_filter :setup_nonce
 
   def grant
-    @this_user.roles.create(:role => @role, :granter_id => @user.id)
+    @this_user.roles.create({
+      :role => @role, :granter_id => @user.id
+    }, :without_protection => true)
     redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
   end
 
index b30129c5dd51233a6b66b1ebb44b11e0171df9d1..dfbb04138f0e6219e2dc13af47071c904f229ce1 100644 (file)
@@ -89,7 +89,7 @@ module ApplicationHelper
     url = "http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{language}"
 
     begin
-      response = Timeout::timeout(4) do
+      response = OSM::Timer.timeout(4) do
         REXML::Document.new(Net::HTTP.get(URI.parse(url)))
       end
     rescue Exception
@@ -106,21 +106,13 @@ module ApplicationHelper
   def user_image(user, options = {})
     options[:class] ||= "user_image"
 
-    if user.image
-      image_tag url_for_file_column(user, "image"), options
-    else
-      image_tag "anon_large.png", options
-    end
+    image_tag user.image.url(:large), options
   end
 
   def user_thumbnail(user, options = {})
     options[:class] ||= "user_thumbnail"
 
-    if user.image
-      image_tag url_for_file_column(user, "image"), options
-    else
-      image_tag "anon_small.png", options
-    end
+    image_tag user.image.url(:small), options
   end
 
   def preferred_editor
index ebcd58dd042b7671ed5f8e9dfd462189899deb07..de439d56fc6700a0c0973b9ad88bd3759b6d2aa9 100644 (file)
@@ -78,7 +78,7 @@ private
 
   def wikipedia_link(key, value)
     # Some k/v's are wikipedia=http://en.wikipedia.org/wiki/Full%20URL
-    return nil if value =~ /^http:\/\//
+    return nil if value =~ /^https?:\/\//
 
     if key == "wikipedia"
       # This regex should match Wikipedia language codes, everything
index 94e37734353ec79dd453a75a72cdd06a6f183185..2db7fb76522a0342324d235367ae51d0c5932c97 100644 (file)
@@ -1,13 +1,17 @@
 class Acl < ActiveRecord::Base
-  scope :address, lambda { |address| where("#{inet_aton} & netmask = address", address) }
-
-private
-
-  def self.inet_aton
-    if self.connection.adapter_name == "MySQL"
-      "inet_aton(?)"
+  def self.match(address, domain = nil)
+    if domain
+      condition = Acl.where("address >>= ? OR domain = ?", address, domain)
     else
-      "?"
+      condition = Acl.where("address >>= ?", address)
     end
   end
+
+  def self.no_account_creation(address, domain = nil)
+    self.match(address, domain).where(:k => "no_account_creation").exists?
+  end
+
+  def self.no_trace_download(address, domain = nil)
+    self.match(address, domain).where(:k => "no_trace_download").exists?
+  end
 end
index bd0417ab4255af3a32ff6a56b4a895a3460a02ee..0425fa6b40ae580587ea0ac736c0831f8333fb57 100644 (file)
@@ -1,5 +1,5 @@
 class ChangesetTag < ActiveRecord::Base
-  set_primary_keys :changeset_id, :k
+  self.primary_keys = "changeset_id", "k"
 
   belongs_to :changeset
 
index 55f34e6e2fc451b9dac06204c9302f4ae1503afa..b1f4022928fad8f6bf27a85de8a00ac1a694483c 100644 (file)
@@ -13,6 +13,11 @@ class ClientApplication < ActiveRecord::Base
   validates_format_of :support_url, :with => /\Ahttp(s?):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true
   validates_format_of :callback_url, :with => /\A[a-z][a-z0-9.+-]*:\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i, :allow_blank=>true
 
+  attr_accessible :name, :url, :support_url, :callback_url,
+                  :allow_read_prefs, :allow_write_prefs,
+                  :allow_write_diary, :allow_write_api,
+                  :allow_read_gpx, :allow_write_gpx
+
   before_validation :generate_keys, :on => :create
 
   attr_accessor :token_callback_url
@@ -54,7 +59,7 @@ class ClientApplication < ActiveRecord::Base
     permissions.each do |p|
       params[p] = true
     end
-    RequestToken.create(params)
+    RequestToken.create(params, :without_protection => true)
   end
 
   def access_token_for_user(user)
@@ -65,7 +70,7 @@ class ClientApplication < ActiveRecord::Base
         params[p] = true
       end
 
-      token = access_tokens.create(params)
+      token = access_tokens.create(params, :without_protection => true)
     end
     
     token
index 0013606d06b55afa885306e38b7777f16518016b..b915e027a9e1f49d62b2443b4f7b2b46f3630224 100644 (file)
@@ -5,6 +5,8 @@ class DiaryComment < ActiveRecord::Base
   validates_presence_of :body
   validates_associated :diary_entry
 
+  attr_accessible :body
+
   def digest
     md5 = Digest::MD5.new
     md5 << diary_entry_id.to_s
index 318672c03bb84f30952de4f4a96036e1bfeb48da..1d836353fee8b30d9f4f1a56396a068966748a49 100644 (file)
@@ -23,4 +23,6 @@ class DiaryEntry < ActiveRecord::Base
   validates_numericality_of :longitude, :allow_nil => true,
                             :greater_than_or_equal_to => -180, :less_than_or_equal_to => 180
   validates_associated :language
+
+  attr_accessible :title, :body, :language_code, :latitude, :longitude
 end
index 9f739cf5e7af761b2390027d824d968a5b63c02d..e7fd030573070df91c56a166b3843acf46628cee 100644 (file)
@@ -27,9 +27,9 @@ private
     expire_action(:controller => 'diary_entry', :action => 'list', :language => entry.language_code, :display_name => nil)
     expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => entry.user.display_name)
 
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => nil)
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => entry.language_code, :display_name => nil)
-    expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => entry.user.display_name)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => nil)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => entry.language_code, :display_name => nil)
+    expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => entry.user.display_name)
 
     if record.is_a?(DiaryEntry)
       expire_fragment(:controller => 'diary_entry', :action => 'view', :display_name => entry.user.display_name, :id => entry.id, :part => "location")
index 7bb0b6e771a7e692aad56464ec969758524cab27..3a63176f618c52f7788111f91e112a7fcb66ebd9 100644 (file)
@@ -1,5 +1,5 @@
 class Language < ActiveRecord::Base
-  set_primary_key :code
+  self.primary_key = "code"
 
   has_many :diary_entries, :foreign_key => 'language'
 
index 053c7a4c0fffaa4382ce6bab58bb6ed73ffef300..0b34160030f980dc41a84f3db1ec47a53627ae10 100644 (file)
@@ -9,6 +9,8 @@ class Message < ActiveRecord::Base
   validates_inclusion_of :message_read, :in => [ true, false ]
   validates_as_utf8 :title
 
+  attr_accessible :title, :body
+
   def digest
     md5 = Digest::MD5.new
     md5 << from_user_id.to_s
index 0f176067d75e8aeb218c51ae8eaf3258f36a0e81..53787245916d5c60bca1e16060e17cd0183791e2 100644 (file)
@@ -4,7 +4,7 @@ class Node < ActiveRecord::Base
   include GeoRecord
   include ConsistencyValidations
 
-  set_table_name 'current_nodes'
+  self.table_name = "current_nodes"
 
   belongs_to :changeset
 
@@ -106,6 +106,10 @@ class Node < ActiveRecord::Base
     # and set manually before the actual delete
     node.visible = true
 
+    # Start with no tags
+    node.tags = Hash.new
+
+    # Add in any tags from the XML
     pt.find('tag').each do |tag|
       raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag['k'].nil?
       raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag['v'].nil?
index 6bc1c555e6e4e79b8cd8923d93f6815ec322a3b6..6f1bf0388a5c0bd3417c8a52fada295dcb838e77 100644 (file)
@@ -1,6 +1,6 @@
 class NodeTag < ActiveRecord::Base
-  set_table_name 'current_node_tags'
-  set_primary_keys :node_id, :k
+  self.table_name = "current_node_tags"
+  self.primary_keys = "node_id", "k"
 
   belongs_to :node
   
index 075351b9140d2724f539387fe3be978974a8148d..3ae50d3a4ba6ad4e06ee49f55f941bacc8b6953e 100644 (file)
@@ -3,7 +3,9 @@
 class OauthNonce < ActiveRecord::Base
   validates_presence_of :nonce, :timestamp
   validates_uniqueness_of :nonce, :scope => :timestamp
-  
+
+  attr_accessible :nonce, :timestamp
+
   # Remembers a nonce and it's associated timestamp. It returns false if it has already been used
   def self.remember(nonce, timestamp)
     oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp)
index f8af91abb3be2c3c4f6a17a161e41eda5ba831c1..64ae1a70c9d8fe2050f2ccb3283bc04414dae030 100644 (file)
@@ -2,8 +2,8 @@ class OldNode < ActiveRecord::Base
   include GeoRecord
   include ConsistencyValidations
 
-  set_table_name 'nodes'
-  set_primary_keys :node_id, :version
+  self.table_name = "nodes"
+  self.primary_keys = "node_id", "version"
 
   validates_presence_of :changeset_id, :timestamp
   validates_inclusion_of :visible, :in => [ true, false ]
index cd5bc4739195d59f7aa8f8825609f6f52e949c8d..eef1e02d508836f43652df4a8059be79b7e1eb2c 100644 (file)
@@ -1,6 +1,6 @@
 class OldNodeTag < ActiveRecord::Base
-  set_table_name 'node_tags'
-  set_primary_keys :node_id, :version, :k
+  self.table_name = "node_tags"
+  self.primary_keys = "node_id", "version", "k"
 
   belongs_to :old_node, :foreign_key => [:node_id, :version]
 
index 87771caab3440b7603d22143db6f51d88ecd8a0f..a75dacd0eba9b04d28a4e6e3264bc6ea58877dae 100644 (file)
@@ -1,8 +1,8 @@
 class OldRelation < ActiveRecord::Base
   include ConsistencyValidations
   
-  set_table_name 'relations'
-  set_primary_keys :relation_id, :version
+  self.table_name = "relations"
+  self.primary_keys = "relation_id", "version"
 
   belongs_to :changeset
 
index 58d7cccfbd0ed98ff0c9494b2eef45a4cde04cbd..77a5a3786eceebfb25c705762f36fe6508d03b94 100644 (file)
@@ -1,6 +1,6 @@
 class OldRelationMember < ActiveRecord::Base
-  set_table_name 'relation_members'
-  set_primary_keys :relation_id, :version, :sequence_id
+  self.table_name = "relation_members"
+  self.primary_keys = "relation_id", "version", "sequence_id"
 
   belongs_to :old_relation, :foreign_key => [:relation_id, :version]
   # A bit messy, referring to the current tables, should do for the data browser for now
index 032a87c77edfd1547d474cd5d4d7c9b4685b6fcf..49324966f506c2624f0055d9f02fc5f82f2e6911 100644 (file)
@@ -1,6 +1,6 @@
 class OldRelationTag < ActiveRecord::Base
-  set_table_name 'relation_tags'
-    set_primary_keys :relation_id, :version, :k
+  self.table_name = "relation_tags"
+  self.primary_keys = "relation_id", "version", "k"
 
   belongs_to :old_relation, :foreign_key => [:relation_id, :version]
   
index 00642cdb3568eeb834aa2580652484e5e7a188d9..db8a6df4061ae3f8d60194c86c885f29462d95a5 100644 (file)
@@ -1,8 +1,8 @@
 class OldWay < ActiveRecord::Base
   include ConsistencyValidations
   
-  set_table_name 'ways'
-  set_primary_keys :way_id, :version
+  self.table_name = "ways"
+  self.primary_keys = "way_id", "version"
 
   belongs_to :changeset
 
index b613be0b4b80b6c79e0ceb8006034650ab24adb8..23ff503edf665ff922e6fe4b874f5484734f488f 100644 (file)
@@ -1,6 +1,6 @@
 class OldWayNode < ActiveRecord::Base
-  set_table_name 'way_nodes'
-  set_primary_keys :way_id, :version, :sequence_id
+  self.table_name = "way_nodes"
+  self.primary_keys = "way_id", "version", "sequence_id"
 
   belongs_to :old_way, :foreign_key => [:way_id, :version]
   # A bit messy, referring to current nodes and ways, should do for the data browser for now
index 9f4adb147fd6572e83f7c00b6e140c0fc14d3eda..9926db1446310fdf46d41aa6592df8f203a59331 100644 (file)
@@ -1,6 +1,6 @@
 class OldWayTag < ActiveRecord::Base
-  set_table_name 'way_tags'
-  set_primary_keys :way_id, :version, :k
+  self.table_name = "way_tags"
+  self.primary_keys = "way_id", "version", "k"
 
   belongs_to :old_way, :foreign_key => [:way_id, :version]
 
index 659c4f18a7297651ad1024cf2a59acdb5f0e26a4..21ee058d8ac80e26f6969c6d7c5b49052e9075f5 100644 (file)
@@ -3,7 +3,7 @@ class Relation < ActiveRecord::Base
   
   include ConsistencyValidations
   
-  set_table_name 'current_relations'
+  self.table_name = "current_relations"
 
   belongs_to :changeset
 
@@ -66,6 +66,10 @@ class Relation < ActiveRecord::Base
     # and manually set to false before the actual delete.
     relation.visible = true
 
+    # Start with no tags
+    relation.tags = Hash.new
+
+    # Add in any tags from the XML
     pt.find('tag').each do |tag|
       raise OSM::APIBadXMLError.new("relation", pt, "tag is missing key") if tag['k'].nil?
       raise OSM::APIBadXMLError.new("relation", pt, "tag is missing value") if tag['v'].nil?
index 389e2ce5234cded24bba7548a567e6b7b9dee124..aba38511ce5e01399bb702a9ef3115b295cd95fa 100644 (file)
@@ -1,26 +1,7 @@
 class RelationMember < ActiveRecord::Base
-  set_table_name 'current_relation_members'  
-  set_primary_keys :relation_id, :sequence_id
+  self.table_name = "current_relation_members"
+  self.primary_keys = "relation_id", "sequence_id"
 
   belongs_to :relation
   belongs_to :member, :polymorphic => true
-
-  after_find :set_class_from_type
-  after_initialize :set_class_from_type
-  before_save :set_type_from_class
-
-  def member_type=(type)
-    self[:member_type] = type
-    self[:member_class] = type.capitalize
-  end
-
-private
-
-  def set_class_from_type
-    self[:member_class] = self.member_type.classify unless self.member_type.nil?
-  end
-
-  def set_type_from_class
-    self.member_type = self[:member_class].classify
-  end
 end
index 2773d0612a30ec2b329df102a9d1f75944fc8664..c665cfef66e0fb19896731d29776d3695715b153 100644 (file)
@@ -1,6 +1,6 @@
 class RelationTag < ActiveRecord::Base
-  set_table_name 'current_relation_tags'
-  set_primary_keys :relation_id, :k
+  self.table_name = "current_relation_tags"
+  self.primary_keys = "relation_id", "k"
 
   belongs_to :relation
 
index 1ac502bc7659e747f2b37ddf7342276533ea9c2d..6e4ec40c357aa46ccbb2a23cb87b5b8f1168f7e2 100644 (file)
@@ -21,7 +21,7 @@ class RequestToken < OauthToken
         params[p] = read_attribute(p)
       }
 
-      access_token = AccessToken.create(params)
+      access_token = AccessToken.create(params, :without_protection => true)
       invalidate!
       access_token
     end
index 3f58cee2ef4008c7604ad4f282290a54d0df12d0..b72fda07dcd7b4b10b13a398b9f89205c936630d 100644 (file)
@@ -1,5 +1,5 @@
 class Trace < ActiveRecord::Base
-  set_table_name 'gpx_files'
+  self.table_name = "gpx_files"
 
   belongs_to :user
   has_many :tags, :class_name => 'Tracetag', :foreign_key => 'gpx_id', :dependent => :delete_all
index d4ba39de39368419f2a2434c0ba5acfb2d8a6493..c4ad8e1232790f35ab6bec2801224ef0f21403e1 100644 (file)
@@ -1,7 +1,7 @@
 class Tracepoint < ActiveRecord::Base
   include GeoRecord
 
-  set_table_name 'gps_points'
+  self.table_name = "gps_points"
 
   validates_numericality_of :trackid, :only_integer => true
   validates_numericality_of :latitude, :only_integer => true
index f9833e141446125128a07ab5e03a6c21ba2f9bde..1b8ba2309de79cdeba32938b4ed2b283841f903f 100644 (file)
@@ -1,8 +1,10 @@
 class Tracetag < ActiveRecord::Base
-  set_table_name 'gpx_file_tags'
+  self.table_name = "gpx_file_tags"
 
   validates_format_of :tag, :with => /^[^\/;.,?]*$/
   validates_length_of :tag, :within => 1..255
 
+  attr_accessible :tag
+
   belongs_to :trace, :foreign_key => 'gpx_id'
 end
index cf506e7c9e7192860d0c75ccea5e746ce7894b2f..0c9e76d54999685bd920542c4daf0aa42d64cbf6 100644 (file)
@@ -41,10 +41,15 @@ class User < ActiveRecord::Base
   validates_numericality_of :home_zoom, :only_integer => true, :allow_nil => true
   validates_inclusion_of :preferred_editor, :in => Editors::ALL_EDITORS, :allow_nil => true
 
+  attr_accessible :display_name, :email, :email_confirmation, :openid_url,
+                  :pass_crypt, :pass_crypt_confirmation, :consider_pd
+
   after_initialize :set_creation_time
   before_save :encrypt_password
 
-  file_column :image, :magick => { :geometry => "100x100>" }
+  has_attached_file :image, 
+    :default_url => "/assets/:class/:attachment/:style.png",
+    :styles => { :large => "100x100>", :small => "50x50>" }
 
   def self.authenticate(options)
     if options[:username] and options[:password]
@@ -198,7 +203,7 @@ class User < ActiveRecord::Base
     diary_entry_score = self.diary_entries.inject(0) { |s,e| s += OSM.spam_score(e.body) }
     diary_comment_score = self.diary_comments.inject(0) { |s,e| s += OSM.spam_score(e.body) }
 
-    score = OSM.spam_score(self.description) * 2
+    score = OSM.spam_score(self.description)
     score += diary_entry_score / self.diary_entries.length if self.diary_entries.length > 0
     score += diary_comment_score / self.diary_comments.length if self.diary_comments.length > 0
     score -= changeset_score
index f8c05c92ca9e9b5b52e509336201f79142e8fc34..7bf8f86b5095dbf4d12697a826d3d6d3a3639203 100644 (file)
@@ -18,9 +18,11 @@ class UserBlock < ActiveRecord::Base
   # revokes the block, allowing the user to use the API again. the argument
   # is the user object who is revoking the ban.
   def revoke!(revoker)
-    update_attributes({ :ends_at => Time.now.getutc(),
-                        :revoker_id => revoker.id,
-                        :needs_view => false })
+    update_attributes({
+      :ends_at => Time.now.getutc(),
+      :revoker_id => revoker.id,
+      :needs_view => false
+    }, :without_protection => true)
   end
 
   private
index 28ef40f1d5c8347597c9f9a790b4d8d002cb63ce..b5110bbf5592fd37b599e8f599ea27c2e77580e7 100644 (file)
@@ -1,5 +1,6 @@
 class UserPreference < ActiveRecord::Base
-  set_primary_keys :user_id, :k
+  self.primary_keys = "user_id", "k"
+
   belongs_to :user
   
   validates_length_of :k, :within => 1..255
index 7e420ae40b42684d4acdbf0dde025ad243dc2c57..a58b93832e74cf3558047cb5c5777df9e780c82b 100644 (file)
@@ -16,11 +16,11 @@ private
         (new_record.nil? or
          old_record.visible? != new_record.visible? or
          old_record.display_name != new_record.display_name or
-         old_record.image != new_record.image)
+         old_record.image.fingerprint != new_record.image.fingerprint)
       old_record.diary_entries.each do |entry|
         expire_action(:controller => 'diary_entry', :action => 'view', :display_name => old_record.display_name, :id => entry.id)
         expire_action(:controller => 'diary_entry', :action => 'list', :language => entry.language_code, :display_name => nil)
-        expire_action(:controller => 'diary_entry', :action => 'rss', :language => entry.language_code, :display_name => nil)
+        expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => entry.language_code, :display_name => nil)
       end
 
       old_record.diary_comments.each do |comment|
@@ -30,8 +30,8 @@ private
       expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => nil)
       expire_action(:controller => 'diary_entry', :action => 'list', :language => nil, :display_name => old_record.display_name)
 
-      expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => nil)
-      expire_action(:controller => 'diary_entry', :action => 'rss', :language => nil, :display_name => old_record.display_name)
+      expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => nil)
+      expire_action(:controller => 'diary_entry', :action => 'rss', :format => :rss, :language => nil, :display_name => old_record.display_name)
 
       old_record.traces.each do |trace|
         expire_action(:controller => 'trace', :action => 'view', :id => trace.id)
index dda19118702726214d0cc4f5b2830cbb6e6fd615..9a754d3442c5deeec13b6b35be7e6e59013dc772 100644 (file)
@@ -1,6 +1,8 @@
 class UserToken < ActiveRecord::Base
   belongs_to :user
 
+  attr_accessible :referer
+
   after_initialize :set_defaults
 
 private
index 85aca4334a482125a068c9bd21d573d3e6b9dc7e..adf8b928fa7a75fe8100455d7b51373e515bee7c 100644 (file)
@@ -3,7 +3,7 @@ class Way < ActiveRecord::Base
   
   include ConsistencyValidations
 
-  set_table_name 'current_ways'
+  self.table_name = "current_ways"
   
   belongs_to :changeset
 
@@ -64,6 +64,10 @@ class Way < ActiveRecord::Base
     # and manually set to false before the actual delete.
     way.visible = true
 
+    # Start with no tags
+    way.tags = Hash.new
+
+    # Add in any tags from the XML
     pt.find('tag').each do |tag|
       raise OSM::APIBadXMLError.new("way", pt, "tag is missing key") if tag['k'].nil?
       raise OSM::APIBadXMLError.new("way", pt, "tag is missing value") if tag['v'].nil?
index 1a2e6928a5e9289dba8a711c467a830eb013ef3f..30d9013565eb9ebf3c78f795e9a51ae7c84304b4 100644 (file)
@@ -1,6 +1,6 @@
 class WayNode < ActiveRecord::Base
-  set_table_name 'current_way_nodes'
-  set_primary_keys :way_id, :sequence_id
+  self.table_name = "current_way_nodes"
+  self.primary_keys = "way_id", "sequence_id"
 
   belongs_to :way
   belongs_to :node
index f0c5eea8b9e6900587340ff022d2fb5e42b85440..98ff62f5f389a4148a3748a9af399cee8a20db91 100644 (file)
@@ -1,6 +1,6 @@
 class WayTag < ActiveRecord::Base
-  set_table_name 'current_way_tags'
-  set_primary_keys :way_id, :k
+  self.table_name = "current_way_tags"
+  self.primary_keys = "way_id", "k"
 
   belongs_to :way
   
index 2d7808137bd8de0102c227d84981e2633e16f5f5..eb90fad1044665cd877c0c417aba7d782a419e88 100644 (file)
@@ -33,8 +33,7 @@
           </tr>
           <tr>
             <td><%=bbox.min_lon -%></td>
-            <td>(<a href='/?minlon=<%= bbox.min_lon %>&minlat=<%= bbox.min_lat %>&maxlon=<%= bbox.max_lon %>&maxlat=<%= bbox.max_lat %>
-                  &box=yes' title='<%= t 'browse.changeset_details.show_area_box' %>'><%= t 'browse.changeset_details.box' %></a>)</td>
+            <td>(<%= link_to t('browse.changeset_details.box'), root_path(:minlon => bbox.min_lon, :minlat => bbox.min_lat, :maxlon => bbox.max_lon, :maxlat => bbox.max_lat, :box => 'yes'), :title => t('browse.changeset_details.show_area_box') %>)</td>
             <td><%=bbox.max_lon -%></td>
           </tr>
           <tr>
index 49d535b314b5ed8489b087dbb24d51b50274ae85..7b0ad746cee6c85acf2a44d2da9c4f34d5b6bf8d 100644 (file)
@@ -6,7 +6,7 @@
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.node.node_title', :node_name => h(@name) %></h2>
+<h2><%= t'browse.node.node_title', :node_name => @name %></h2>
 <%= render :partial => "map", :object => @node %>
 <%= render :partial => "node_details", :object => @node %>
 <hr />
index 5b222396db1eff45c6d7ea2f76f7f0d9b7339a47..2128d18a9ab226189ee3991f064401c0bb5cf1be 100644 (file)
@@ -6,7 +6,7 @@
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.relation.relation_title', :relation_name => h(@name) %></h2>
+<h2><%= t'browse.relation.relation_title', :relation_name => @name %></h2>
 <%= render :partial => "map", :object => @relation %>
 <%= render :partial => "relation_details", :object => @relation %>
 <hr />
index 3489d7c2348b816467edd18914ffeb743ac218f1..41341fef8d4c30d32cb69478e9faaa35981ea45b 100644 (file)
@@ -6,7 +6,7 @@
 <%= stylesheet_link_tag 'browse' %>
 <% end %>
 <%= render :partial => "navigation" %>
-<h2><%= t'browse.way.way_title', :way_name => h(@name) %></h2>
+<h2><%= t'browse.way.way_title', :way_name => @name %></h2>
 <%= render :partial => "map", :object => @way %>
 <%= render :partial => "way_details", :object => @way %>
 <hr />
index 5d12aa83794bb1cb7a8a2344acddc298e7f44b00..bf8adbe20a333d96df02fef1b64d09260f7d3916 100644 (file)
 
 <%= render :partial => 'changeset_paging_nav' %>
 
+<% unless params[:friends] or params[:nearby] -%>
 <%= atom_link_to params.merge({ :page => nil, :action => :feed }) %>
 
-<% content_for :head do %>
+<% content_for :head do -%>
 <%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %>
-<% end %>
+<% end -%>
+<% end -%>
diff --git a/app/views/diary_entry/comments.html.erb b/app/views/diary_entry/comments.html.erb
new file mode 100644 (file)
index 0000000..b506ddf
--- /dev/null
@@ -0,0 +1,23 @@
+<h1><%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %></h1>
+
+<table width="100%">
+  <tr>
+    <th><%= t 'diary_entry.comments.post' %></th>
+    <th><%= t 'diary_entry.comments.when' %></th>
+    <th><%= t 'diary_entry.comments.comment' %></th>
+  </tr>
+  <% @comments.each do |comment| -%>
+  <% cl = cycle('table0', 'table1') %>
+  <tr class="<%= cl %>">
+    <td><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
+    <td><span title="<%= l comment.created_at, :format => :friendly %>"><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
+    <td><%= htmlize(comment.body) %></td>
+  </tr>
+  <% end -%>
+</table>
+
+<%= link_to t('diary_entry.comments.older_comments') , { :page => @comment_pages.current.next} if @comment_pages.current.next %>
+<% if @comment_pages.current.next and @comment_pages.current.previous %>
+|
+<% end %>
+<%= link_to t('diary_entry.comments.newer_comments'), { :page => @comment_pages.current.previous } if @comment_pages.current.previous %>
index 03a326d16bbf7f9dee36245148f4f84ed09b609b..9de2efea541efaa8d068a9154a6acada9897cd51 100644 (file)
   <br />
 <% end %>
 
+<% unless params[:friends] or params[:nearby] -%>
 <%= rss_link_to :action => 'rss', :language => params[:language] %>
 
-<% content_for :head do %>
+<% content_for :head do -%>
 <%= auto_discovery_link_tag :atom, :action => 'rss', :language => params[:language] %>
-<% end %>
+<% end -%>
+<% end -%>
index 5f6f634daa80e478b4631c62d0f479f0643ce687..b8f681b2fdcc8534e9401cf84dbe9c88691daec8 100644 (file)
@@ -20,9 +20,7 @@
     <p>
       <%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %>
       <br/>
-      <%= radio_button_tag("format", "mapnik") %> <%= t'export.start.mapnik_image' %>
-      <br/>
-      <%= radio_button_tag("format", "osmarender") %> <%= t'export.start.osmarender_image' %>
+      <%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %>
       <br/>
       <%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %>
     </p>
     </div>
   </div>
 
-  <div id="export_osmarender">
-    <p class="export_heading"><%= t'export.start.options' %></p>
-
-    <div class="export_details">
-      <p><%= t'export.start.format' %> <%= select_tag("osmarender_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"]], "png")) %></p>
-      <p><%= t'export.start.zoom' %> <%= select_tag("osmarender_zoom", options_for_select([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17])) %></p>
-    </div>
-  </div>
-  
   <div id="export_html">
     <p class="export_heading"><%= t'export.start.options' %></p>
 
index 79d0db4a9e80ab8a21138a94855062c85ffa0999..1134d16d83ce3790a555d766fd3ccd7268e5134c 100644 (file)
@@ -45,7 +45,6 @@ function startExport() {
 
   $("#format_osm").click(formatChanged);
   $("#format_mapnik").click(formatChanged);
-  $("#format_osmarender").click(formatChanged);
   $("#format_html").click(formatChanged);
 
   $("#mapnik_scale").change(mapnikSizeChanged);
@@ -54,8 +53,6 @@ function startExport() {
 
   if (map.baseLayer.name == "Mapnik") {
     $("#format_mapnik").prop("checked", true);
-  } else if (map.baseLayer.name == "Osmarender") {
-    $("#format_osmarender").prop("checked", true);
   }
 
   formatChanged();
@@ -227,20 +224,6 @@ function validateControls() {
   }
 
   $("#mapnik_max_scale").html(roundScale(max_scale));
-
-  var max_zoom = maxOsmarenderZoom();
-
-  $("#osmarender_zoom option").each(function () {
-    if ($(this).val() > max_zoom) {
-      $(this).prop("disabled", true);
-    } else {
-      $(this).prop("disabled", false);
-    }
-  });
-
-  if ($("#osmarender_zoom option").is(":disabled:selected")) {
-    $("#osmarender_zoom option").filter(":enabled").last().prop("selected", true);
-  }
 }
 
 function htmlUrlChanged() {
@@ -291,15 +274,6 @@ function formatChanged() {
     $("#export_mapnik").hide();
   }
 
-  if ($("#format_osmarender").prop("checked")) {
-    var zoom = Math.min(map.getZoom(), maxOsmarenderZoom());
-
-    $("#osmarender_zoom option[value=" + zoom + "]").prop("selected", true);
-    $("#export_osmarender").show();
-  } else {
-    $("#export_osmarender").hide();
-  }
-
   if ($("#format_html").prop("checked")) {
     $("#export_html").show();
     $("#export_commit").hide();
@@ -334,16 +308,6 @@ function mapnikImageSize(scale) {
                              Math.round(bounds.getHeight() / scale / 0.00028));
 }
 
-function maxOsmarenderZoom() {
-  var bounds = new OpenLayers.Bounds($("#minlon").val(), $("#minlat").val(), $("#maxlon").val(), $("#maxlat").val());
-  var xzoom = Math.LOG2E * Math.log(2000 * 1.40625 / bounds.getWidth());
-  var ymin = bounds.bottom * Math.PI / 180;
-  var ymax = bounds.top * Math.PI / 180;
-  var yzoom = Math.LOG2E * (Math.log(2000 * 2 * Math.PI) - Math.log(Math.log((Math.tan(ymax) + 1 / Math.cos(ymax)) / (Math.tan(ymin) + 1 / Math.cos(ymin)))))
-
-  return Math.min(Math.floor(Math.min(xzoom, yzoom)), 17);
-}
-
 function roundScale(scale) {
   var precision = 5 * Math.pow(10, Math.floor(Math.LOG10E * Math.log(scale)) - 2);
 
index 6e876e166727cd3cd17cd5af74f8ac6680328683..8a0f62d922a9ddc4b13f0c21c1c18c5903736743 100644 (file)
@@ -9,11 +9,12 @@
   <%= stylesheet_link_tag "print-#{t 'html.dir'}", :media => "print" %>
   <!--[if IE]><%= stylesheet_link_tag "large-#{t 'html.dir'}", :media => "screen" %><![endif]--> <!-- IE is totally broken with CSS media queries -->
   <%= favicon_link_tag "favicon.ico" %>
+  <%= favicon_link_tag "osm_logo.png", :rel => "apple-touch-icon", :type => "image/png" %>
   <%= tag("link", { :rel => "publisher", :href => "https://plus.google.com/111953119785824514010" }) %>
   <%= tag("link", { :rel => "search", :type => "application/opensearchdescription+xml", :title => "OpenStreetMap Search", :href => asset_path("osm.xml") }) %>
   <%= tag("meta", { :name => "description", :content => "OpenStreetMap is the free wiki world map." }) %>
   <%= style_rules %>
   <%= yield :head %>
   <%= csrf_meta_tag %>
-  <title><%= t 'layouts.project_name.title' %><%= ' | '+ h(@title) if @title %></title>
+  <title><%= t 'layouts.project_name.title' %><%= ' | '+ @title if @title %></title>
 </head>
index a2cd2aa403b9493163805746057fc1b157e436f0..b6fb08986753fe77f4fd8e0d8deabe653aca58c0 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= I18n.locale %>" lang="<%= I18n.locale %>" dir="<%= t'html.dir' %>">
   <%= render :partial => "layouts/head" %>
-  <body>
+  <body class="<%= params[:controller] %>">
     <div id="small-title">
       <%= link_to(image_tag("osm_logo.png", :size => "16x16", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %>
       <h1><%= t 'layouts.project_name.h1' %></h1>
       <%= yield %>
     </div>
 
-    <span id="greeting">
-      <% if @user and @user.id %>
-        <span id="full-greeting"><%= raw(t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip'))) %></span> 
-        <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
-        <%= yield :greeting %>
-        <%= render :partial => "layouts/inbox" %> |
-        <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :session => request.session_options[:id], :referer => request.fullpath}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
-      <% else %>
-        <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.fullpath}, {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
-        <%= link_to t('layouts.sign_up'), {:controller => 'user', :action => 'new'}, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
-      <% end %>
-    </span>
-
-    <div>
+    <div id='top-bar'>
+      <span id="greeting">
+         <% if @user and @user.id %>
+           <span id="full-greeting"><%= raw(t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip'))) %></span> 
+           <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
+           <%= yield :greeting %>
+           <%= render :partial => "layouts/inbox" %> |
+           <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :session => request.session_options[:id], :referer => request.fullpath}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip')}%>
+         <% else %>
+           <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.fullpath}, {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |
+           <%= link_to t('layouts.sign_up'), {:controller => 'user', :action => 'new'}, {:id => 'registeranchor', :title => t('layouts.sign_up_tooltip')} %>
+         <% end %>
+      </span>
       <ul id="tabnav">
         <%
         viewclass = 'geolink llz layers'
 
     <div id="left">
       <div id="logo">
-        <center>
-          <h1><%= t 'layouts.project_name.h1' %></h1>
-          <%= link_to(image_tag("osm_logo.png", :size => "120x120", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %><br/>
-          <h2 class="nowrap"><%= t('layouts.tag_line') %></h2>
-        </center>
+        <%= link_to(image_tag("osm_logo.png", :size => "120x120", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %><br/>
+        <h1><%= t 'layouts.project_name.h1' %></h1>
+        <h2 class="nowrap"><%= t('layouts.tag_line') %></h2>
       </div>
 
       <%= yield :optionals %>
index 27b0aa644f0f58cf6e7446b73ef929737164e618..9b5edd26cf3cfad0251d2f6f3664362b2fc392d3 100644 (file)
@@ -1 +1,8 @@
-<p id="inbox-count"><%= t'message.inbox.you_have', :new_count => @user.new_messages.size, :old_count => (@user.messages.size -  @user.new_messages.size) %></p> 
+<p id="inbox-count">
+<%= t "message.inbox.messages",
+      :new_messages => t("message.inbox.new_messages", 
+                         :count => @user.new_messages.size),
+      :old_messages => t("message.inbox.old_messages", 
+                         :count => @user.messages.size - @user.new_messages.size)
+%>
+</p> 
index 9662fdbce397b13076f31dadc325a10aed8fa567..fd89581262a323b2f851cf53d6be3c3c6f4f956b 100644 (file)
@@ -1,6 +1,6 @@
 <h2><%= raw(t'message.outbox.my_inbox', :inbox_link => link_to(t('message.outbox.inbox'), url_for(:controller => "user", :action => "inbox", :id => @user.display_name))) %>/<%= t'message.outbox.outbox' %></h2>
 
-<p><%= t'message.outbox.you_have_sent_messages', :count => @user.sent_messages.size %>
+<p><%= t'message.outbox.messages', :count => @user.sent_messages.size %>
 
 <% if @user.sent_messages.size > 0 %>
   <div id="messages">
index d018cedc913206b87ffa04799a6231ee267eec02..a6583762fea4073778ec986312c373b3b4d74e5e 100644 (file)
@@ -16,6 +16,8 @@
   }
 
   function resizeMap() {
+    var content_width = $("#content").width();
+    var content_height = $("#content").height();
     var sidebar_width = 0 + $("#sidebar:visible").outerWidth(true);
     var left_border = parseFloat($("#map").css("border-left-width"));
     var right_border = parseFloat($("#map").css("border-right-width"));
@@ -27,8 +29,8 @@
     <% else -%>
     $("#map").css("right", (sidebar_width) + "px");
     <% end -%>
-    $("#map").width($("#content").width() - sidebar_width - left_border - right_border);
-    $("#map").height($("#content").height() - top_border - bottom_border);
+    $("#map").width(content_width - sidebar_width - left_border - right_border);
+    $("#map").height(content_height - top_border - bottom_border);
 
     <% if params[:controller] == "site" and params[:action] == "index" -%>
     map.updateSize();
index c83cef99c255a76229f2dfe3b85b0920fa51021c..03dee8716a2bf7379c11b852f9cadc4c2e43db56 100644 (file)
@@ -10,9 +10,9 @@
           { :rel => "license" }) %>
 </p>
 
-<% if I18n.locale == 'en' or params[:copyright_locale] == 'en' %>
+<% if @locale == 'en' %>
   <!-- Maybe ease foreigners back to their native page -->
-  <% if t('license_page.legal_babble') != t('license_page.legal_babble', :locale => :en) %>
+  <% if t('license_page.legal_babble', :locale => I18n.locale) != t('license_page.legal_babble', :locale => :en) %>
     <h2><%= t 'license_page.native.title' %></h2>
     <p>
       <%= raw t 'license_page.native.text',
     </p>
     <hr />
   <% end %>
-
-  <%= raw t('license_page.legal_babble', :locale => :en) %>
 <% else %>
   <!-- Maybe note that this page has been translated -->
-  <% if t('license_page.legal_babble') != t('license_page.legal_babble', :locale => :en) %>
+  <% if t('license_page.legal_babble', :locale => @locale) != t('license_page.legal_babble', :locale => :en) %>
     <h2><%= t 'license_page.foreign.title' %></h2>
     <p>
       <%= raw t 'license_page.foreign.text',
@@ -40,6 +38,6 @@
     </p>
     <hr />
   <% end %>
-
-  <%= raw t('license_page.legal_babble') %>
 <% end %>
+
+<%= raw t('license_page.legal_babble', :locale => @locale) %>
index 7d7d5a16372af3ef9f042075ce2536ae880e19d2..88489610994ac6c5934a60264729d0554105119c 100644 (file)
@@ -18,7 +18,7 @@
 
 <div id="map">
   <div id="permalink">
-    <a href="/" id="permalinkanchor" class="geolink llz layers object"><%= t 'site.index.permalink' %></a><br/>
+    <a href="/" id="permalinkanchor" class="geolink llz layers object"><%= t 'site.index.permalink' %></a>
     <a href="/" id="shortlinkanchor"><%= t 'site.index.shortlink' %></a>
     <a href="#" id="createnoteanchor">Report a problem</a>     
   </div>
index 988cd9121d2981ffff9d5f470163070a9a29aa15..3e8d1b0bf59e6521ad31c77ab05b821bfd39a739 100644 (file)
       <%= t 'user.account.image' %>
     </td>
     <td valign="top">
-      <% if @user.image.nil? %>
-        <%= hidden_field_tag "image_action", "new" %>
-        <%= t 'user.account.new image' %><br /><%= file_column_field "user", "image" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span>
-      <% else %>
+      <% if @user.image.file? %>
         <table id="accountImage">
           <tr>
-            <td rowspan="3" valign="top"><%= image_tag url_for_file_column(@user, "image"), :class => "user_image" %></td>
+            <td rowspan="3" valign="top"><%= user_image @user %></td>
             <td><%= radio_button_tag "image_action", "keep", true %></td>
             <td><%= t 'user.account.keep image' %></td>
           </tr>
           </tr>
           <tr>
             <td><%= radio_button_tag "image_action", "new" %></td>
-            <td><%= t 'user.account.replace image' %><br /><%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span></td>
+            <td><%= t 'user.account.replace image' %><br /><%= f.file_field :image, :onchange => "$('image_action_new').prop('checked', true)" %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span></td>
           </tr>
         </table>
+      <% else %>
+        <%= hidden_field_tag "image_action", "new" %>
+        <%= t 'user.account.new image' %><br /><%= f.file_field :image %><br /><span class="minorNote"><%= t 'user.account.image size hint' %></span>
       <% end %>
     </td>
   </tr>
index a164c7a56338e85884864abbcf2521f47c225500..6e77bfed827cd2be52f3978ec291dd9b0f271807 100644 (file)
@@ -14,8 +14,8 @@ xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
                        :lon => @user.home_lon,
                        :zoom => @user.home_zoom
     end    
-    if @user.image
-      xml.tag! "img", :href => (url_for_file_column(@user, "image", :absolute => true))
+    if @user.image.file?
+      xml.tag! "img", :href => "http://#{SERVER_URL}#{@user.image.url}"
     end
     if @user.languages
       xml.tag! "languages" do
diff --git a/app/views/user/blocked.html.erb b/app/views/user/blocked.html.erb
new file mode 100644 (file)
index 0000000..69e7006
--- /dev/null
@@ -0,0 +1,5 @@
+<h1><%= t 'user.new.heading' %></h1>
+
+<p><%= t 'user.new.no_auto_account_create' %></p>
+
+<p><%= raw t 'user.new.contact_webmaster' %></p>
index c19c0ac6c52544cbaf766f5bca37869446669ae1..398debe1eed046cfb0ccd9d706f76eb4ef75fe4a 100644 (file)
@@ -18,7 +18,7 @@
               :count => @user_pages.current_page.last_item - @user_pages.current_page.first_item + 1
           %>
           <% if @user_pages.page_count > 1 %>
-          | <%= pagination_links_each(@user_pages, {}) { |n| link_to n, params.merge(:page => n) } %>
+          | <%= raw pagination_links_each(@user_pages, {}) { |n| link_to n, params.merge(:page => n) } %>
           <% end %>
         </td>
         <td>
index dc330feaeecb36ab58724200a989f81f04913f46..c185a11b7fa416a3858b2bd2af256d3e4ded1fd3 100644 (file)
@@ -6,14 +6,25 @@
     <%= form_tag({ :action => "login" }, { :id => "login_form" }) do %>
       <%= hidden_field_tag('referer', h(params[:referer])) %>
 
-      <p><%= t 'user.login.with username' %></p>
+      <p><%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
 
       <table id="loginForm">
         <tr><td class="fieldName"><%= t 'user.login.email or username' %></td><td><%= text_field_tag "username", params[:username], :size => 28, :maxlength => 255, :tabindex => 1 %></td></tr>
         <tr><td class="fieldName"><%= t 'user.login.password' %></td><td><%= password_field_tag "password", "", :size => 28, :maxlength => 255, :tabindex => 2 %> <span class="minorNote">(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)</span></td></tr>
-        <tr><td class="fieldName"><label for="remember_me"><%= t 'user.login.remember' %></label></td><td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %></td></tr>
+        <tr>
+          <td></td>
+          <td><%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
+            <label for="remember_me">
+              <%= t 'user.login.remember' %></label>
+          </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>
+            <%= submit_tag t('user.login.login_button'), :tabindex => 4 %>
+          </td>
+        </tr>
       </table>
-      <%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
 
       <br clear="all" />
 
 
     <br clear="all" />
   </div>
-
-  <div id="login_signup">
-    <h2><%= t 'user.login.new to osm' %></h2>
-    <p><%= t 'user.login.to make changes' %></p>
-    <p><%= t 'user.login.create account minute' %></p>
-    <p><%= button_to t('user.login.register now'), :action => :new, :referer => params[:referer] %></p>
-
-    <br clear="both">
-  </div>
-
 </div>
 
 <script type="text/javascript">
index 2bf6f528114601e04efc89df4a9e475221c4856b..e8400eb9019a687c629a5c8eac5d5eb82e8e6fdb 100644 (file)
@@ -1,13 +1,5 @@
 <h1><%= t 'user.new.heading' %></h1>
 
-<% if Acl.address(request.remote_ip).where(:k => "no_account_creation").exists? %>
-
-<p><%= t 'user.new.no_auto_account_create' %></p>
-
-<p><%= t 'user.new.contact_webmaster' %></p>
-
-<% else %>
-
 <p><%= t 'user.new.fill_form' %></p>
 
 <%= error_messages_for 'user' %>
@@ -102,5 +94,3 @@ enableOpenID();
 disableOpenID();
 <% end -%>
 </script>
-
-<% end %>
index 0c6968be8c9d259117a923837e73f5d620d7d413..edf290c7b7c7ba143ce634b0ac082e5e449d5e0e 100644 (file)
@@ -21,6 +21,8 @@
     |
     <%= link_to t('user.view.new diary entry'), :controller => 'diary_entry', :action => 'new', :display_name => @user.display_name %>
     |
+    <%= link_to t('user.view.my comments' ), :controller => 'diary_entry', :action => 'comments', :display_name => @this_user.display_name %>
+    |
     <%= link_to t('user.view.my edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
     |
     <%= link_to t('user.view.my traces'), :controller => 'trace', :action=> 'mine' %>
@@ -41,6 +43,8 @@
     |
     <%= link_to t('user.view.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @this_user.display_name %>
     |
+    <%= link_to t('user.view.comments'), :controller => 'diary_entry', :action => 'comments', :display_name => @this_user.display_name %>
+    |
     <%= link_to t('user.view.edits'), :controller => 'changeset', :action => 'list', :display_name => @this_user.display_name %>
     |
     <%= link_to t('user.view.traces'), :controller => 'trace', :action => 'list', :display_name => @this_user.display_name %>
   <% if friends.empty? %>
     <%= t 'user.view.no friends' %>
   <% else %>
-               <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %><br/><br/>
+    <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %><br/>
+    <%= link_to t('user.view.friends_diaries'), {:controller => 'diary', :action => 'friends'} %><br/><br/>
     <table id="friends">
       <%= render :partial => "contact", :collection => friends %>
     </table>
   <% if nearby.empty? %>
     <%= t 'user.view.no nearby users' %>
   <% else %>
+    <%= link_to t('user.view.nearby_changesets'), {:controller => 'browse', :action => 'nearby'} %><br/>
+    <%= link_to t('user.view.nearby_diaries'), {:controller => 'diary', :action => 'nearby'} %><br/><br/>
     <table id="nearbyusers">
       <%= render :partial => "contact", :collection => nearby %>
     </table>
index 0713451e52cd44f4d015f120c4117a9ad56526c6..25df04b448683afaee2c4214e6774be87e785217 100644 (file)
@@ -14,7 +14,7 @@ end
 
 if defined?(Bundler)
   # If you precompile assets before deploying to production, use this line
-  Bundler.require *Rails.groups(:assets => %w(development test))
+  Bundler.require(*Rails.groups(:assets => %w(development test)))
   # If you want your assets lazily compiled in production, use this line
   # Bundler.require(:default, :assets, Rails.env)
 end
@@ -51,17 +51,28 @@ module OpenStreetMap
     # Configure sensitive parameters which will be filtered from the log file.
     config.filter_parameters += [:password, :pass_crypt, :pass_crypt_confirmation]
 
+    # Use SQL instead of Active Record's schema dumper when creating the database.
+    # This is necessary if your schema can't be completely dumped by the schema dumper,
+    # like if you have constraints or database-specific column types
+    unless STATUS == :database_offline
+      config.active_record.schema_format = :sql
+    end
+
+    # Enforce whitelist mode for mass assignment.
+    # This will create an empty whitelist of attributes available for mass-assignment for all models
+    # in your app. As such, your models will need to explicitly whitelist or blacklist accessible
+    # parameters by using an attr_accessible or attr_protected declaration.
+    config.active_record.whitelist_attributes = true
+
     # Enable the asset pipeline
     config.assets.enabled = true
 
     # Version of your assets, change this if you want to expire all your assets
     config.assets.version = '1.0'
 
-    # Use SQL instead of Active Record's schema dumper when creating the test database.
-    # This is necessary if your schema can't be completely dumped by the schema dumper,
-    # like if you have constraints or database-specific column types
-    unless STATUS == :database_offline
-      config.active_record.schema_format = :sql
+    # Don't eager load models when the database is offline
+    if STATUS == :database_offline
+      config.paths["app/models"].skip_eager_load!
     end
   end
 end
index 12cf912bc3c609e0459a6b55a27cda58262325b6..75f8fee12ba8894deed7b87539c1502799bf5d3e 100644 (file)
@@ -2,7 +2,7 @@ OpenStreetMap::Application.configure do
   # Settings specified here will take precedence over those in config/application.rb
 
   # In the development environment your application's code is reloaded on
-  # every request.  This slows down response time but is perfect for development
+  # every request. This slows down response time but is perfect for development
   # since you don't have to restart the web server when you make code changes.
   config.cache_classes = false
 
@@ -11,7 +11,6 @@ OpenStreetMap::Application.configure do
 
   # Show full error reports and disable caching
   config.consider_all_requests_local       = true
-#  config.action_view.debug_rjs             = true
   config.action_controller.perform_caching = false
 
   # Don't care if the mailer can't send
@@ -23,6 +22,13 @@ OpenStreetMap::Application.configure do
   # Only use best-standards-support built into browsers
   config.action_dispatch.best_standards_support = :builtin
 
+  # Raise exception on mass assignment protection for Active Record models
+  config.active_record.mass_assignment_sanitizer = :strict
+
+  # Log the query plan for queries taking more than this (works
+  # with SQLite, MySQL, and PostgreSQL)
+  config.active_record.auto_explain_threshold_in_seconds = 0.5
+
   # Do not compress assets
   config.assets.compress = false
 
index 6a1f633ae6a96c0183f59833d307b10d1fea538a..56c33ec98398d160f952639c76e8437c806b6e70 100644 (file)
@@ -36,18 +36,20 @@ OpenStreetMap::Application.configure do
   # See everything in the log (default is :info)
   # config.log_level = :debug
 
+  # Prepend all log lines with the following tags
+  # config.log_tags = [ :subdomain, :uuid ]
+
   # Use a different log path in production
   if defined?(LOG_PATH)
     config.paths["log"] = LOG_PATH
   end
 
   # Use a different logger for distributed setups
-  # config.logger = SyslogLogger.new
+  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
 
   # Use a different cache store in production
   if defined?(MEMCACHE_SERVERS)
-    MEMCACHE = Memcached::Rails.new(MEMCACHE_SERVERS, :binary_protocol => true)
-    config.cache_store = :mem_cache_store, MEMCACHE
+    config.cache_store = :mem_cache_store, MemCache.new(:namespace => "rails:cache", :no_block => true, :buffer_requests => true, :noreply => true)
   end
 
   # Enable serving of images, stylesheets, and JavaScripts from an asset server
@@ -72,4 +74,8 @@ OpenStreetMap::Application.configure do
 
   # Send deprecation notices to registered listeners
   config.active_support.deprecation = :notify
+
+  # Log the query plan for queries taking more than this (works
+  # with SQLite, MySQL, and PostgreSQL)
+  # config.active_record.auto_explain_threshold_in_seconds = 0.5
 end
index fe1d1aa780d93f4f27163276c10cc3088dac96c8..524cc5137ed57ac9ecfc41e1bbc9997902a58d47 100644 (file)
@@ -2,9 +2,9 @@ OpenStreetMap::Application.configure do
   # Settings specified here will take precedence over those in config/application.rb
 
   # The test environment is used exclusively to run your application's
-  # test suite.  You never need to work with it otherwise.  Remember that
+  # test suite. You never need to work with it otherwise. Remember that
   # your test database is "scratch space" for the test suite and is wiped
-  # and recreated between test runs.  Don't rely on the data there!
+  # and recreated between test runs. Don't rely on the data there!
   config.cache_classes = true
 
   # Configure static asset server for tests with Cache-Control for performance
@@ -29,9 +29,9 @@ OpenStreetMap::Application.configure do
   # ActionMailer::Base.deliveries array.
   config.action_mailer.delivery_method = :test
 
+  # Raise exception on mass assignment protection for Active Record models
+  config.active_record.mass_assignment_sanitizer = :strict
+
   # Print deprecation notices to the stderr
   config.active_support.deprecation = :stderr
-
-  # Allow pass debug_assets=true as a query parameter to load pages with unpackaged assets
-  config.assets.allow_debugging = true
 end
index 90e2cc74ed39494fb58fe960d74fddf73de6461a..501b3d2ad4bdbbc64d94faded0b929d7ac304d17 100644 (file)
@@ -57,8 +57,8 @@ defaults: &defaults
   # Location of GPX traces and images
   gpx_trace_dir: "/home/osm/traces"
   gpx_image_dir: "/home/osm/images"
-  # Location of data for file columns
-  #file_column_root: ""
+  # Location of data for attachments
+  attachments_dir: ":rails_root/public/attachments"
   # Log file to use
   #log_path: ""
   # List of memcache servers to use for caching
diff --git a/config/initializers/action_cache_path.rb b/config/initializers/action_cache_path.rb
new file mode 100644 (file)
index 0000000..b25aa14
--- /dev/null
@@ -0,0 +1,19 @@
+module ActionController
+  module Caching
+    module Actions
+      class ActionCachePath
+        def initialize(controller, options = {}, infer_extension = true)
+          if infer_extension
+            @extension = controller.params[:format]
+            options.reverse_merge!(:format => @extension) if options.is_a?(Hash)
+          else
+            @extension = options[:format]
+          end
+
+          path = controller.url_for(options).split(%r{://}).last
+          @path = normalize!(path)
+        end
+      end
+    end
+  end
+end
index e6181072bcb46e12390997d1767907c106fb8c1b..ad729174fde5e8b427d7c14d84f66d18e78e2fd2 100644 (file)
@@ -9,10 +9,8 @@ ActionMailer::Base.smtp_settings = {
 # Monkey patch to allow sending of messages in specific locales
 module ActionMailer
   class Base
-    adv_attr_accessor :locale
-
     def mail_with_locale(*args)
-      old_locale= I18n.locale
+      old_locale = I18n.locale
 
       begin
         I18n.locale = @locale
index 03d88f69c694d60fc5a3cb40a1d8517dee1d682f..b75e74ec64f8580127b8540340b1d458946a9a90 100644 (file)
@@ -7,7 +7,7 @@ module ActiveSupport
       return if @level > severity
       message = (message || (block && block.call) || progname).to_s
       time = Time.now
-      message = "[%s.%06d #%d] %s\n" % [time.strftime("%Y-%m-%d %H:%M:%S"), time.usec, $$, message.sub(/^\n+/, "")]
+      message = "[%s.%06d #%d] %s" % [time.strftime("%Y-%m-%d %H:%M:%S"), time.usec, $$, message.sub(/^\n+/, "")]
       old_add(severity, message)
     end
   end
similarity index 93%
rename from vendor/plugins/classic_pagination/init.rb
rename to config/initializers/classic_pagination.rb
index 25e552f2aa6a07afc221a5a896f2ab31e0f2161f..96e7f64f640938c70de3c5f50a27736b83814c2c 100644 (file)
@@ -21,8 +21,8 @@
 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #++
 
-require 'pagination'
-require 'pagination_helper'
+require 'classic_pagination/pagination'
+require 'classic_pagination/pagination_helper'
 
 ActionController::Base.class_eval do
   include ActionController::Pagination
diff --git a/config/initializers/composite_primary_keys.rb b/config/initializers/composite_primary_keys.rb
deleted file mode 100644 (file)
index e928df3..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-module ActiveRecord
-  module Associations
-    class AssociationScope
-      def add_constraints(scope)
-        tables = construct_tables
-
-        chain.each_with_index do |reflection, i|
-          table, foreign_table = tables.shift, tables.first
-
-          if reflection.source_macro == :has_and_belongs_to_many
-            join_table = tables.shift
-
-            # CPK
-            # scope = scope.joins(join(
-            #  join_table,
-            #  table[reflection.active_record_primary_key].
-            #    eq(join_table[reflection.association_foreign_key])
-            #))
-            predicate = cpk_join_predicate(table, reflection.association_primary_key,
-                                           join_table, reflection.association_foreign_key)
-            scope = scope.joins(join(join_table, predicate))
-
-            table, foreign_table = join_table, tables.first
-          end
-
-          if reflection.source_macro == :belongs_to
-            if reflection.options[:polymorphic]
-              key = reflection.association_primary_key(klass)
-            else
-              key = reflection.association_primary_key
-            end
-
-            foreign_key = reflection.foreign_key
-          else
-            key         = reflection.foreign_key
-            foreign_key = reflection.active_record_primary_key
-          end
-
-          conditions = self.conditions[i]
-
-          if reflection == chain.last
-            # CPK
-            # scope = scope.where(table[key].eq(owner[foreign_key]))
-            predicate = cpk_join_predicate(table, key, owner, foreign_key)
-            scope = scope.where(predicate)
-
-            if reflection.type
-              scope = scope.where(table[reflection.type].eq(owner.class.base_class.name))
-            end
-
-            conditions.each do |condition|
-              if options[:through] && condition.is_a?(Hash)
-                condition = { table.name => condition }
-              end
-
-              scope = scope.where(interpolate(condition))
-            end
-          else
-            # CPK
-            # constraint = table[key].eq(foreign_table[foreign_key])
-            constraint = cpk_join_predicate(table, key, foreign_table, foreign_key)
-
-            if reflection.type
-              type = chain[i + 1].klass.base_class.name
-              constraint = constraint.and(table[reflection.type].eq(type))
-            end
-
-            scope = scope.joins(join(foreign_table, constraint))
-
-            unless conditions.empty?
-              scope = scope.where(sanitize(conditions, table))
-            end
-          end
-        end
-
-        scope
-      end
-    end
-  end
-end
diff --git a/config/initializers/file_column.rb b/config/initializers/file_column.rb
deleted file mode 100644 (file)
index 6447ef5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-if defined?(FILE_COLUMN_ROOT)
-  FileColumn::ClassMethods::DEFAULT_OPTIONS[:root_path] = FILE_COLUMN_ROOT
-end
diff --git a/config/initializers/http_accept_language.rb b/config/initializers/http_accept_language.rb
new file mode 100644 (file)
index 0000000..04c3dfa
--- /dev/null
@@ -0,0 +1,12 @@
+#
+# Monkey patch HttpAcceptLanguage pending integration of
+# https://github.com/iain/http_accept_language/pull/6
+#
+module HttpAcceptLanguage
+  def compatible_language_from(available_languages)
+    user_preferred_languages.find do |x|
+      available_languages.find { |y| y.to_s == x.to_s } ||
+      available_languages.find { |y| y.to_s =~ /^#{Regexp.escape(x.to_s)}-/ }
+    end
+  end
+end
index 3c3ba872c2c33e851e5bc3a7f1ddaa0d49d0764b..22704901fd88a700a2c8e4f80022353a7993243f 100644 (file)
@@ -1,5 +1,17 @@
 module I18n
   module Backend
+    class Simple
+      def init_translations_with_mn_cleanup
+        init_translations_without_mn_cleanup
+
+        translations[:mn][:errors][:template].delete(:body)
+        translations[:mn][:activemodel][:errors][:template].delete(:body)
+        translations[:mn][:activerecord][:errors][:template].delete(:body)
+      end
+
+      alias_method_chain :init_translations, :mn_cleanup
+    end
+
     module Fallbacks
       def find_first_string_or_lambda_default(defaults)
         defaults.each_with_index { |default, ix| return ix if default && !default.is_a?(Symbol) }
@@ -18,14 +30,7 @@ module I18n
   end
 end
 
-I18n::Backend::Simple.include(I18n::Backend::Pluralization)
 I18n::Backend::Simple.include(I18n::Backend::PluralizationFallback)
-I18n.load_path << "#{Rails.root}/config/pluralizers.rb"
-
 I18n::Backend::Simple.include(I18n::Backend::Fallbacks)
 
 I18n.fallbacks.map("no" => "nb")
-
-Rails.configuration.after_initialize do
-  I18n.reload!
-end
index 9e8b0131f8ff7e3d3923697eca0b0ffdc77b19ce..5d8d9be237b28d4ebdad9cec9510764ab88154e6 100644 (file)
@@ -8,3 +8,8 @@
 #   inflect.irregular 'person', 'people'
 #   inflect.uncountable %w( fish sheep )
 # end
+#
+# These inflection rules are supported but not enabled by default:
+# ActiveSupport::Inflector.inflections do |inflect|
+#   inflect.acronym 'RESTful'
+# end
diff --git a/config/initializers/mail.rb b/config/initializers/mail.rb
new file mode 100644 (file)
index 0000000..b93c3f6
--- /dev/null
@@ -0,0 +1,25 @@
+module Mail
+  class Ruby18
+    def Ruby18.b_value_decode(str)
+      match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/m)
+      if match
+        encoding = match[1]
+        str = Ruby18.decode_base64(match[2])
+        require 'iconv'
+        str = Iconv.conv("UTF-8//TRANSLIT//IGNORE", encoding, str)
+      end
+      str
+    end
+
+    def Ruby18.q_value_decode(str)
+      match = str.match(/\=\?(.+)?\?[Qq]\?(.+)?\?\=/m)
+      if match
+        encoding = match[1]
+        str = Encodings::QuotedPrintable.decode(match[2].gsub(/_/, '=20'))
+        require 'iconv'
+        str = Iconv.conv("UTF-8//TRANSLIT//IGNORE", encoding, str)
+      end
+      str
+    end
+  end
+end
diff --git a/config/initializers/memcached.rb b/config/initializers/memcached.rb
deleted file mode 100644 (file)
index 03066a8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if defined?(PhusionPassenger) and defined?(MEMCACHE_SERVERS)
-  PhusionPassenger.on_event(:starting_worker_process) do |forked|
-    if forked
-      MEMCACHE = MEMCACHE.clone
-      RAILS_CACHE = ActiveSupport::Cache::CompressedMemCacheStore.new(MEMCACHE)
-      ActionController::Base.cache_store = RAILS_CACHE
-    end
-  end
-end
diff --git a/config/initializers/output_compression.rb b/config/initializers/output_compression.rb
new file mode 100644 (file)
index 0000000..5a42e2a
--- /dev/null
@@ -0,0 +1 @@
+require 'output_compression/output_compression'
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
new file mode 100644 (file)
index 0000000..6467348
--- /dev/null
@@ -0,0 +1,20 @@
+module Paperclip
+  class AssetUrlGenerator < UrlGenerator
+    include Sprockets::Helpers::IsolatedHelper
+    include Sprockets::Helpers::RailsHelper
+
+    def for(style_name, options)
+      url = super(style_name, options)
+
+      if url =~ /^\/assets\/(.*)$/
+        asset_path($1)
+      else
+        url
+      end
+    end
+  end
+end
+
+Paperclip::Attachment.default_options[:url] = "/attachments/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
+Paperclip::Attachment.default_options[:path] = "#{ATTACHMENTS_DIR}/:class/:attachment/:id_partition/:style/:fingerprint.:extension"
+Paperclip::Attachment.default_options[:url_generator] = Paperclip::AssetUrlGenerator
index a9afad2d644d2433c813c488af2fa60ee36c6027..02548e803a980f777fe5db1160eae22b9037dd1e 100644 (file)
@@ -1,8 +1,35 @@
 # Be sure to restart your server when you modify this file.
 
-if STATUS == :database_offline or STATUS == :database_readonly
-  OpenStreetMap::Application.config.session_store :cookie_store, :key => '_osm_session'
+if defined?(MEMCACHE_SERVERS)
+  unless STATUS == :database_offline or STATUS == :database_readonly
+    module Rack
+      module Session
+        class Memcache
+          def get_session(env, sid)
+            with_lock(env, [nil, {}]) do
+              unless sid and session = @pool.get(sid)
+                if sid and s = ActiveRecord::SessionStore::SqlBypass.find_by_session_id(sid)
+                  session = s.data
+                  s.destroy
+                else
+                  sid, session = generate_sid, {}
+                end
+                
+                unless /^STORED/ =~ @pool.add(sid, session)
+                  raise "Session collision on '#{sid.inspect}'"
+                end
+              end
+              [sid, session]
+            end
+          end
+        end
+      end
+    end
+  end
+
+  cache = MemCache.new(:namespace => "rails:session", :string_return_types => true)
+
+  OpenStreetMap::Application.config.session_store :mem_cache_store, :cache => cache, :key => "_osm_session"
 else
-  ActiveRecord::SessionStore.session_class = ActiveRecord::SessionStore::SqlBypass
-  OpenStreetMap::Application.config.session_store :active_record_store, :key => '_osm_session'
+  OpenStreetMap::Application.config.session_store :cache_store, :key => '_osm_session'
 end
index bf860d9097ff002a6d11ac79d80b5208cc4b18fa..d443ecf3a9e09a4a9bc78143f54322a4362c96d4 100644 (file)
@@ -805,7 +805,6 @@ af:
       people_mapping_nearby: nabygeleë karteerders
       subject: Onderwerp
       title: Inboks
-      you_have: U het %{new_count} nuwe boodskappe en %{old_count} ou boodskappe
     mark: 
       as_read: Boodskap gemerk as gelees
       as_unread: Boodskap gemerk as ongelees
@@ -839,7 +838,6 @@ af:
       subject: Onderwerp
       title: Gestuur
       to: Aan
-      you_have_sent_messages: U het %{count} gestuurde boodskappe
     read: 
       back_to_inbox: Terug na inboks
       back_to_outbox: Terug na uitboks
@@ -1171,7 +1169,6 @@ af:
       password: "Wagwoord:"
       remember: "Onthou my:"
       title: Teken in
-      webmaster: webmeester
     logout: 
       heading: Teken van OpenStreetMap af
       logout_button: Teken uit
index ad082de551340937791f258cfb6c2d79a63f2b63..942b5ede9618eabfca6beac912dbd3a52ef0b207 100644 (file)
@@ -366,11 +366,9 @@ aln:
       licence: Licensa
       longitude: "Lon:"
       manually_select: Manualisht zgedhe ni zon te ndryshme
-      mapnik_image: Mapin fotografi
       max: maks
       options: Opcionet
       osm_xml_data: OpenStreetMap XML të dhana
-      osmarender_image: Osmarender fotografi
       output: Outputi
       paste_html: Fute HTML për me ngjit në web sajt
       scale: Shkallë
@@ -938,7 +936,6 @@ aln:
       people_mapping_nearby: njerëzit pranë hartës
       subject: Tema
       title: Inbox
-      you_have: I ki %{new_count} mesazhe të reja dhe %{old_count} mesazhe të vjetra
     mark: 
       as_read: Mesazhi u bo si i lexum
       as_unread: Mesazhi u bo si i palexum
@@ -974,7 +971,6 @@ aln:
       subject: Titulli
       title: Dalje
       to: Te
-      you_have_sent_messages: I ki %{count} mesazhe të dërgume
     read: 
       back_to_inbox: Kthehu në postë
       back_to_outbox: Kthehu në Dalje
@@ -1400,7 +1396,6 @@ aln:
       title: Perdoruesit
     login: 
       account not active: Na vjen keq, akonti juej nuk asht hala aktiv<br /> Ju lutemi klikoni në linkun e dërguem në email për me aktivizu akountin tuej.
-      account suspended: Me na fal, por llogaria juaj u suspendu për shkak të aktivitetit të dyshimt.<br />Ju lutem kontaktoni %{webmaster} nëse doni ta diskutoni këtë
       auth failure: Na vjen keq, smunem me ju kyc me ato detaje.
       email or username: "Email Adresa ose Username:"
       heading: Kycu
@@ -1409,7 +1404,6 @@ aln:
       password: "Fjalekalimi:"
       remember: "Kujtom mu:"
       title: Kyçu
-      webmaster: webmaster
     logout: 
       heading: Dil nga OpenStreetMap
       logout_button: Dil
index 1ea687d700e8e8359713f66ed5d8c62cf81a5a64..9f7d325633d161e268e579d56c14ef9a791aa8af 100644 (file)
@@ -380,11 +380,9 @@ ar:
       licence: الرخصة
       longitude: "خط الطول:"
       manually_select: اختر يدويًا منطقة أخرى
-      mapnik_image: Mapnik صورة
       max: الأقصى
       options: خيارات
       osm_xml_data: معطيات خريطة الطريق المفتوح بنسق إكس أم أل
-      osmarender_image: Osmarender صورة
       output: الخرج
       paste_html: ألصق HTML لتضمينه في موقع ما
       scale: القياس
@@ -965,7 +963,6 @@ ar:
       people_mapping_nearby: مخططون في جواري
       subject: الموضوع
       title: الوارد
-      you_have: لديك %{new_count} رسالة جديدة و %{old_count} رسالة قديمة
     mark: 
       as_read: عُلّمت الرسالة مقروءة
       as_unread: عُلّمت الرسالة كغير مقروءة
@@ -1001,7 +998,6 @@ ar:
       subject: الموضوع
       title: صندوق الصادر
       to: إلى
-      you_have_sent_messages: لديك %{count} رسالة مرسلة
     read: 
       back_to_inbox: العودة إلى صندوق الوارد
       back_to_outbox: العودة إلى صندوق الصادر
@@ -1427,7 +1423,6 @@ ar:
       heading: المستخدمون
       title: المستخدمون
     login: 
-      account suspended: عذرًا، لقد عُلّق حسابك بسبب نشاط مشبوه.<br />يرجى الاتصال بالمسؤول عن الموقع (%{webmaster}) إذا كنت ترغب في مناقشة هذا الأمر.
       auth failure: آسف، لا يمكن الدخول بتلك التفاصيل.
       create account minute: أنشئ حساباّ. تحتاج فقط إلى دقيقة.
       email or username: "عنوان البريد الإلكتروني أو اسم المستخدم:"
@@ -1439,7 +1434,6 @@ ar:
       register now: تسجل الآن
       remember: "تذكرني:"
       title: ولوج
-      webmaster: المسؤول عن الموقع
     logout: 
       heading: الخروج من خريطة الشارع المفتوحة
       logout_button: اخرج
index 00cf2d443427db061d846ddabe707ec47c9d7f0a..5b9ebef1d92d13f14d65edb73c66e7b94149a206 100644 (file)
@@ -349,11 +349,9 @@ arz:
       licence: الرخصة
       longitude: "خط الطول:"
       manually_select: اختر يدويًا منطقه أخرى
-      mapnik_image: Mapnik صورة
       max: الأقصى
       options: خيارات
       osm_xml_data: معطيات خريطه الطريق المفتوح بنسق إكس أم أل
-      osmarender_image: Osmarender صورة
       output: الخرج
       paste_html: ألصق HTML لتضمينه فى موقع ما
       scale: القياس
@@ -867,7 +865,6 @@ arz:
       people_mapping_nearby: مخططون فى جواري
       subject: الموضوع
       title: الوارد
-      you_have: لديك %{new_count} رساله جديده و %{old_count} رساله قديمة
     mark: 
       as_read: عُلّمت الرساله مقروءة
       as_unread: عُلّمت الرساله كغير مقروءة
@@ -899,7 +896,6 @@ arz:
       subject: الموضوع
       title: صندوق الصادر
       to: إلى
-      you_have_sent_messages: لديك %{count} رساله مرسلة
     read: 
       back_to_inbox: العوده إلى صندوق الوارد
       back_to_outbox: العوده إلى صندوق الصادر
index 60a99cdf56548b61ffa4333e7d33a1ff1ce0a669..082659b0d5b6b503fb45f12e98e3cb9fd215408b 100644 (file)
@@ -36,10 +36,10 @@ ast:
         display_name: Nome a amosar
         email: Corréu
         languages: Llingües
-        pass_crypt: Contraseña
+        pass_crypt: Conseña
     models: 
       acl: Llista de Control d'Accesu
-      changeset: Conxuntu de cambeos
+      changeset: Conxuntu de cambios
       changeset_tag: Etiqueta del conxuntu de cambeos
       country: País
       diary_comment: Comentariu del diariu
@@ -86,7 +86,7 @@ ast:
         title: Conxuntu de cambeos %{id}
         title_comment: Conxuntu de cambeos %{id} - %{comment}
       osmchangexml: osmChange XML
-      title: Conxuntu de cambeos
+      title: Conxuntu de cambios
     changeset_details: 
       belongs_to: "Pertenez a:"
       bounding_box: "Cuadru de llende:"
@@ -127,7 +127,7 @@ ast:
         node: Ver nodiu nún mapa más grande
         relation: Ver rellación nun mapa más grande
         way: Ver la vía nun mapa más grande
-      loading: Cargando
+      loading: Cargando...
     navigation: 
       all: 
         next_changeset_tooltip: Conxuntu de cambeos siguiente
@@ -161,7 +161,7 @@ ast:
     not_found: 
       sorry: Perdón, el/la %{type}  con id %{id} nun se pudo alcontrar.
       type: 
-        changeset: conxuntu de cambeos
+        changeset: conxuntu de cambios
         node: nodiu
         relation: rellación
         way: vía
@@ -202,7 +202,7 @@ ast:
       history_for_feature: Historial de [[feature]]
       load_data: Cargar datos
       loaded_an_area_with_num_features: "Cargasti un área que contién [[num_features]] carauterístiques. Polo xeneral, los restoladores nun pueden amosar bien esta cantidá de datos. Normalmente los restoladores funcionen meyor amosando menos de 100 carauterístiques al tiempu: d'otra miente se tornen lentos/dexen de responder. Si tas seguru d'amosar los datos, pues facelo calcando nel botón d'abaxo."
-      loading: Cargando
+      loading: Cargando...
       manually_select: Seleiciona manualmente un área distinta
       object_list: 
         api: Recuperar esti área de l'API
@@ -235,7 +235,7 @@ ast:
     timeout: 
       sorry: Perdón, los datos pa %{type} con id %{id}, tardaron demasiao en descargase.
       type: 
-        changeset: conxuntu de cambeos
+        changeset: conxuntu de cambios
         node: nodiu
         relation: rellación
         way: vía
@@ -278,21 +278,35 @@ ast:
       saved_at: Guardao el
       user: Usuariu
     list: 
-      description: Cambeos recientes
+      description: Cambios recientes
       description_bbox: Conxuntos de cambeos en %{bbox}
+      description_friend: Conxuntos de cambios de los tos collacios
+      description_nearby: Conxuntos de cambios d'usuarios cercanos
       description_user: Conxuntos de cambeos de %{user}
       description_user_bbox: Conxuntos de cambeos de %{user} en %{bbox}
-      heading: Conxuntos de cambeos
-      heading_bbox: Conxuntos de cambeos
-      heading_user: Conxuntos de cambeos
-      heading_user_bbox: Conxuntos de cambeos
-      title: Conxuntos de cambeos
+      heading: Conxuntos de cambios
+      heading_bbox: Conxuntos de cambios
+      heading_friend: Conxuntos de cambios
+      heading_nearby: Conxuntos de cambios
+      heading_user: Conxuntos de cambios
+      heading_user_bbox: Conxuntos de cambios
+      title: Conxuntos de cambios
       title_bbox: Conxuntos de cambeos en %{bbox}
+      title_friend: Conxuntos de cambios de los tos collacios
+      title_nearby: Conxuntos de cambios d'usuarios cercanos
       title_user: Conxuntos de cambeos de %{user}
       title_user_bbox: Conxuntos de cambeos de %{user} en %{bbox}
     timeout: 
       sorry: Llevó demasiao tiempu baxar la llista de conxuntos de cambeos que pidisti.
   diary_entry: 
+    comments: 
+      ago: hai %{ago}
+      comment: Comentariu
+      has_commented_on: "%{display_name} comentó nes siguientes entraes del diariu"
+      newer_comments: Comentarios nuevos
+      older_comments: Comentarios anteriores
+      post: Publicar
+      when: Cuándo
     diary_comment: 
       comment_from: Comentariu de %{link_user} el %{comment_created_at}
       confirm: Confirmar
@@ -337,6 +351,8 @@ ast:
       older_entries: Entraes anteriores
       recent_entries: "Entraes recientes del diariu:"
       title: Diarios d'usuarios
+      title_friends: Diarios de collacios
+      title_nearby: Diarios d'usuarios cercanos
       user_title: Diariu de %{user}
     location: 
       edit: Editar
@@ -384,11 +400,10 @@ ast:
       licence: Llicencia
       longitude: "Llon:"
       manually_select: Seleiciona manualmente un área distinta
-      mapnik_image: Imaxe de Mapnik
+      map_image: Imaxe del mapa (amuesa la capa estándar)
       max: máx
       options: Opciones
       osm_xml_data: Datos XML d'OpenStreetMap
-      osmarender_image: Imaxe d'Osmarender
       output: Salida
       paste_html: Pegar el HTML pa empotrar nun sitiu web
       scale: Escala
@@ -884,6 +899,7 @@ ast:
       base: 
         cycle_map: Mapa ciclista
         mapquest: MapQuest Open
+        standard: Estándar
         transport_map: Mapa de tresportes
     site: 
       edit_disabled_tooltip: Aumenta pa editar el mapa
@@ -956,7 +972,7 @@ ast:
       english_link: l'orixinal n'inglés
       text: En casu d'haber un conflictu ente esta páxina traducida y %{english_original_link}, la páxina n'inglés tendrá prioridá
       title: Tocante a esta traducción
-    legal_babble: "<h2>Drechos d'autor y llicencia</h2>\n<p>\n   OpenStreetMap son <i>datos abiertos (Open Data)</i>, con llicencia <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.es\">Creative Commons Reconocimientu - Compartir igual  2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Puedes copiar, distribuir, tresmitir y adautar los nuesos mapes ya información de mou llibre mentanto yos reconuezas a OpenStreetMap y a los sos collaboradores. Si camudes o creas conteníu sobre los nuesos mapes ya información, podrás distribuir estos cambios baxo la mesma llicencia. El <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">códigu llegal completu</a> te desplica los tos drechos y obligaciones.\n</p>\n\n<h3>Cómo dar reconocimientu a OpenStreetMap</h3>\n<p>\n  Si uses imaxes de mapes d'OpenStreetMap, te pidimos que'l testu de reconocimientu ponga polo menos &ldquo;&copy; Collaboradores d'OpenStreetMap, CC-BY-SA&rdquo;. Si sólo vas usar datos del mapa, lo que pidimos ye &ldquo;Datos del mapa &copy; Collaboradores d'OpenstreetMap, CC-BY-SA&rdquo;.\n</p>\n<p>\n  Onde se pueda, OpenStreetMap tendría d'enllazase a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  y CC-BY-SA a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si tas usando un medio que nun permita los enllaces (por casu, en trabayos imprentaos), t'encamentamos dirixir a los llectores a www.openstreetmap.org (por exemplu, ampliando &lsquo;OpenStreetMap&rsquo; a la so direición completa) y a www.creativecommons.org.\n</p>\n\n<h3>Pa saber más...</h3>\n<p>\n  Llee más tocante a cómo utilizar los nuesos datos en <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Entrugues y rempuestes llegales</a> (n'inglés).\n</p>\n<p>\n  Recordamos a los collaboradores d'OSM qu'enxamás amiesten datos que vengan d'una fonte con drechos d'autor acutaos (p. ex. de Google Maps o mapes impresos) ensin el permisu esplícitu de los dueños de los drechos d'autor.\n</p>\n<p>\n  Anque OpenStreetMap son datos abiertos, nun podemos ufrir una API de mapes de baldre pa desendolcadores d'aplicaciones pa terceros.\n\n  Por favor, llee la nuesa <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política d'usu de la API</a> (n'inglés),\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política d'usu d'imaxes</a> (n'inglés)\n  y <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Política d'usu de Nominatim</a> (n'inglés tamién).\n</p>\n\n<h3>Los nuesos collaboradores</h3>\n<p>\n  La nuesa llicencia CC-BY-SA requier &ldquo;reconocer al autor orixinal, de manera razonable pal mediu o los medios que teas utilizando&rdquo;. Los collaboradores individuales d'OSM nun piden más créditu que &ldquo;Collaboradores d'OpenStreetMap&rdquo;, pero cuando s'incluye n'OpenStreetMap información d'un organismu nacional de cartografía o d'otra fuente importante, ye razonable reproducir el so créditu direutamente o enllazar al mesmu nesta páxina.\n</p>\n\n<!--\nInformación pa los editores de la páxina\n\nLa llista darréu incluye sólo les organizaciones que requieren atribución como condición para que los sos datos puedan utilizase n'OpenStreetMap. Nun ye un catálogu xeneral d'importaciones y nun se tien d'utilizar más que cuando se requiera atribución pa cumplir coles condiciones de la llicencia de los datos importaos.\n\n\nCualesquier amiestu a esta llista tien de discutise primero colos alministradores del sistema d'OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contien datos de barrios basaos en datos de Australian Bureau of\n   Statistics.</li>\n   <li><strong>Austria</strong>: Contien datos de\n   <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> baxo\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canadá</strong>: Contien datos de GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), and StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contien datos sacaos de Direction Générale des Impôts.</li>\n   <li><strong>Nueva Zelanda</strong>: Contien datos sacaos de Land Information New Zealand. Crown Copyright reserved.</li>\n   <li><strong>Polonia</strong>: Contien datos de <a\n   href=\"http://ump.waw.pl/\">mapes UMP-pcPL</a>. Copyright collaboradores de\n   UMP-pcPL.</li>\n<li><strong>Reinu Xuníu</strong>: Contien datos de Ordnance Survey &copy; Crown copyright and database right\n   2010.</li>\n</ul>\n\n<p>\n  La inclusión de datos n'OpenStreetMap nun significa que'l fornidor de los datos orixinales sofite OpenStreetMap, ufra garantía dala o aceute dalguna responsabilidá.\n</p>"
+    legal_babble: "<h2>Drechos d'autor y llicencia</h2>\n<p>\n   OpenStreetMap son <i>datos abiertos (Open Data)</i>, con llicencia <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.es\">Creative Commons Reconocimientu - Compartir igual  2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Puedes copiar, distribuir, tresmitir y adautar los nuesos mapes y datos de mou llibre, mentanto yos reconozas a OpenStreetMap y a los sos collaboradores. Si camudes o creas conteníu sobre los nuesos mapes o datos, podrás distribuir el resultáu baxo la mesma llicencia. El <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">códigu llegal completu</a> t'esplica los tos drechos y obligaciones.\n</p>\n\n<h3>Cómo dar reconocimientu a OpenStreetMap</h3>\n<p>\n  Si uses les imaxes de mapes d'OpenStreetMap, te pidimos que'l testu de reconocimientu ponga polo menos &ldquo;&copy; Collaboradores d'OpenStreetMap, CC-BY-SA&rdquo;. Si sólo vas usar datos del mapa, lo que pidimos ye &ldquo;Datos del mapa &copy; Collaboradores d'OpenstreetMap, CC-BY-SA&rdquo;.\n</p>\n<p>\n  Onde se pueda, OpenStreetMap tendría d'enllazase a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  y CC-BY-SA a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si tas usando un mediu que nun permita los enllaces (por casu, en trabayos imprentaos), t'encamentamos dirixir a los llectores a www.openstreetmap.org (por exemplu, ampliando &lsquo;OpenStreetMap&rsquo; a esta direición completa) y a www.creativecommons.org.\n</p>\n\n<h3>Pa saber más</h3>\n<p>\n  Llei más tocante a cómo utilizar los nuesos datos en <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Entrugues y rempuestes llegales</a> (n'inglés).\n</p>\n<p>\n  Recordamos a los collaboradores d'OSM qu'enxamás amiesten datos que vengan d'una fonte con drechos d'autor acutaos (p. ex. de Google Maps o mapes impresos) ensin el permisu esplícitu de los dueños de los drechos d'autor.\n</p>\n<p>\n  Anque OpenStreetMap son datos abiertos, nun podemos ufrir una API de mapes de baldre pa desendolcadores d'aplicaciones pa terceros.\n\n  Llee la nuesa <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política d'usu de la API</a> (n'inglés),\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política d'usu d'imaxes</a> (n'inglés)\n  y <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Política d'usu de Nominatim</a> (n'inglés tamién).\n</p>\n\n<h3>Los nuesos collaboradores</h3>\n<p>\n  La nuesa llicencia CC-BY-SA requier &ldquo;reconocer al autor orixinal, de manera razonable pal mediu o los medios que teas utilizando&rdquo;. Los mapeadores individuales d'OSM nun piden más créditu que &ldquo;Collaboradores d'OpenStreetMap&rdquo;, pero cuando s'incluye n'OpenStreetMap información d'un organismu nacional de cartografía o d'otra fuente importante, ye razonable reproducir el so créditu direutamente o enllazar al mesmu nesta páxina.\n</p>\n\n<!--\nInformación pa los editores de la páxina\n\nLa llista darréu incluye sólo les organizaciones que requieren atribución como condición para que los sos datos puedan utilizase n'OpenStreetMap. Nun ye un catálogu xeneral d'importaciones y nun se tien d'utilizar más que cuando se requiera atribución pa cumplir coles condiciones de la llicencia de los datos importaos.\n\n\nCualesquier amiestu a esta llista tien de discutise primero colos alministradores del sistema d'OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contien datos de barrios basaos en datos de Australian Bureau of\n   Statistics.</li>\n   <li><strong>Austria</strong>: Contien datos de\n   <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> baxo\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canadá</strong>: Contien datos de GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), y StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contien datos sacaos de Direction Générale des Impôts.</li>\n   <li><strong>Nueva Zelanda</strong>: Contien datos sacaos de Land Information New Zealand. Crown Copyright reserved.</li>\n   <li><strong>Polonia</strong>: Contien datos de <a\n   href=\"http://ump.waw.pl/\">mapes UMP-pcPL</a>. Copyright collaboradores de\n   UMP-pcPL.</li>\n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Más tocante al usu n&apos;OSM de datos UMP</a></li>\n   <li><strong>South Africa</strong>: Contién datos sacaod de\n   <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, State copyright reserved.</li>\n<li><strong>Reinu Xuníu</strong>: Contien datos de Ordnance Survey &copy; Crown copyright and database right 2010.</li>\n</ul>\n\n<p>\n  La inclusión de datos n'OpenStreetMap nun significa que'l fornidor de los datos orixinales sofite OpenStreetMap, ufra garantía dala o aceute dalguna responsabilidá.\n</p>"
     native: 
       mapping_link: principiar col mapéu
       native_link: versión n'asturianu
@@ -968,13 +984,19 @@ ast:
     inbox: 
       date: Data
       from: De
+      messages: Tienes %{new_messages} y %{old_messages}
       my_inbox: El mio buzón
+      new_messages: 
+        one: "%{count} mensaxe nuevu"
+        other: "%{count} mensaxes nuevos"
       no_messages_yet: Entá nun tienes mensaxes. ¿Y si te pones en contautu con %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} mensaxe vieyu"
+        other: "%{count} mensaxes vieyos"
       outbox: buzón de salida
       people_mapping_nearby: xente que ta mapeando cerca
       subject: Asuntu
       title: Buzón
-      you_have: Tienes %{new_count} mensaxes nuevos y %{old_count} mensaxes antiguos
     mark: 
       as_read: Mensaxe marcáu como lleíu
       as_unread: Mensaxe marcáu como non lleíu
@@ -1003,6 +1025,9 @@ ast:
     outbox: 
       date: Data
       inbox: buzón
+      messages: 
+        one: Tienes %{count} mensaxe unviáu
+        other: Tienes %{count} mensaxes unviaos
       my_inbox: El mio %{inbox_link}
       no_sent_messages: Entá nun unviasti mensaxes. ¿Y si te pones en contautu con %{people_mapping_nearby_link}?
       outbox: buzón de salida
@@ -1010,7 +1035,6 @@ ast:
       subject: Asuntu
       title: Buzón de salida
       to: Pa
-      you_have_sent_messages: Tienes %{count} mensaxes unviaos
     read: 
       back_to_inbox: Tornar al buzón d'entrada
       back_to_outbox: Tornar al buzón de salida
@@ -1065,16 +1089,16 @@ ast:
       with_description: cola descripción
       your_gpx_file: Paez el to ficheru GPX
     lost_password: 
-      subject: "[OpenStreetMap] Pidíu de reaniciu de contraseña"
+      subject: "[OpenStreetMap] Pidíu de reaniciu de conseña"
     lost_password_html: 
-      click_the_link: Si yes tú, calca nel enllaz d'abaxo pa reaniciar la to contraseña.
+      click_the_link: Si yes tu, calca nel enllaz d'abaxo pa reaniciar la to conseña.
       greeting: Bones,
-      hopefully_you: Dalguién (esperamos que tu) pidió que se-y reanicie la contraseña na cuenta d'openstreetmap.org con estes señes de corréu.
+      hopefully_you: Dalguién (esperamos que tu) pidió que se-y reanicie la conseña na cuenta con estes señes de corréu d'openstreetmap.org.
     lost_password_plain: 
-      click_the_link: Si yes tú, calca nel enllaz d'abaxo pa reaniciar la to contraseña.
+      click_the_link: Si yes tu, calca nel enllaz d'abaxo pa reaniciar la to conseña.
       greeting: Bones,
-      hopefully_you_1: Dalguién (esperamos que tu) pidió que se-y reanicie la contraseña na
-      hopefully_you_2: cuenta d'openstreetmap.org con estes señes de corréu.
+      hopefully_you_1: Dalguién (esperamos que tu) pidió que se-y reanicie la conseña na
+      hopefully_you_2: cuenta con estes señes de corréu d'openstreetmap.org.
     message_notification: 
       footer1: Tamién pues lleer el mensax en %{readurl}
       footer2: y pues contestar en %{replyurl}
@@ -1424,7 +1448,7 @@ ast:
         text: Anguaño, les tos ediciones son anónimes y la xente nun te pue unviar mensaxes o ver la to llocalización. P'amosar lo qu'editasti y permitir que la xente se ponga en contautu contigo pela páxina web, calca nel botón qu'apaez abaxo. <b>Dende'l cambiu al API 0.6, sólo los usuarios públicos pueden editar los datos del mapa</b> (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">por estes razones</a>).<ul><li>Les direiciones de corréu electrónicu nun se fairán públiques.</li><li>Nun ye posible volver atrás d'esta aición, y agora tolos usuarios nuevos son públicos de mou predetermináu.</li></ul>
       replace image: Sustituir la imaxe actual
       return to profile: Volver al perfil
-      save changes button: Guardar cambeos
+      save changes button: Guardar los cambios
       title: Editar la cuenta
       update home location on click: ¿Anovar el llugar d'orixe calcando nel mapa?
     confirm: 
@@ -1461,16 +1485,18 @@ ast:
       summary_no_ip: "%{name} creáu el %{date}"
       title: Usuarios
     login: 
+      account is suspended: Sentímoslo, la to cuenta ta torgada a causa d'actividaes sospechoses.<br />Ponte en contautu col <a href="%{webmaster}">webmaster</a> si quies discutilo.
       account not active: Sentímoslo, la to cuenta inda nun ta activada.<br />Usa l'enllaz del corréu de confirmación de la cuenta p'activala o <a href="%{reconfirm}">pidi otru corréu de confirmación</a>.
-      account suspended: Sentímoslo, la to cuenta ta torgada a causa d'actividaes sospechoses.<br />Ponte en contautu col %{webmaster} si quies discutilo.
       auth failure: Sentímoslo, nun se pudo coneutar al sistema con esos datos.
       create account minute: Crea una cuenta. Lleva namái un minutu.
       email or username: "Direición de corréu o nome d'usuariu:"
       heading: Entrar
       login_button: Entrar
-      lost password link: ¿Perdisti la contraseña?
+      lost password link: ¿Perdisti la conseña?
       new to osm: ¿Yes nuevu con OpenStreetMap?
+      no account: ¿Nun tienes una cuenta?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Saber más tocante al próximu cambiu de llicencia d'OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traducciones</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">alderique</a>)
+      notice_terms: OpenStreetMap va movese a una llicencia nueva dende'l 1 d'abril de 2012. Ye igual d'abierta que l'actual, pero les partes llegales s'acomoden meyor a la nuesa base de datos del mapa. Gustaría-nos caltener les tos collaboraciones n'OpenStreetMap, pero namái podemos facelo si aceutes que les distribuyamos baxo la nueva llicencia. D'otra miente, tendremos que desaniciales de la base de datos.<br /><br />Por favor, entra na to cuenta y toma dellos segundos pa revisar y aceutar los nuevos términos. ¡Gracies!
       openid: "%{logo} OpenID:"
       openid invalid: Sentímoslo, la to OpenID paez que ta mal formada
       openid missing provider: Sentímoslo, nun pudimos ponenos en contautu col to sirvidor d'OpenID
@@ -1494,38 +1520,37 @@ ast:
         yahoo: 
           alt: Coneutar con una OpenID de Yahoo
           title: Coneutar con Yahoo
-      password: "Contraseña:"
+      password: "Conseña:"
       register now: Rexistrate agora
       remember: "Recordame:"
       title: Entrar
       to make changes: Pa camudar los datos d'OpenStreetMap, has de tener una cuenta.
-      webmaster: webmaster
       with openid: "D'otra miente, usa la to OpenID pa coneutar:"
-      with username: "¿Yá tienes cuenta en OpenStreetMap? Por favor, coneuta col to nome d'usuariu y contraseña:"
+      with username: "¿Yá tienes cuenta n'OpenStreetMap? Por favor, entra col to nome d'usuariu y conseña:"
     logout: 
       heading: Colar d'OpenStreetMap
       logout_button: Colar
       title: Colar
     lost_password: 
-      email address: "Direición de corréu:"
-      heading: ¿Escaecisti la contraseña?
-      help_text: Escribi les señes de corréu qu'usasti pa date d'alta, t'unviaremos un enllaz que pues usar pa reaniciar la contraseña.
-      new password button: Reaniciar contraseña
+      email address: "Direición de corréu electrónicu:"
+      heading: ¿Escaecisti la conseña?
+      help_text: Escribi les señes de corréu qu'usasti pa date d'alta, t'unviaremos un enllaz que pues usar pa reaniciar la conseña.
+      new password button: Reaniciar conseña
       notice email cannot find: Nun s'alcontró esa direición de corréu.
       notice email on way: Sentimos que la perdieres :-( pero hai un corréu en camín pa que puedas reaniciala ceo.
-      title: Contraseña perdida
+      title: Conseña perdida
     make_friend: 
       already_a_friend: Yá yes collaciu de %{name}.
       failed: Lo sentimos, hebo un fallu al amestar a %{name} como collaciu.
       success: "%{name} agora ye amigu tuyu."
     new: 
       confirm email address: "Confirmar direición de corréu:"
-      confirm password: "Confirma la contraseña:"
+      confirm password: "Confirma la conseña:"
       contact_webmaster: Ponte en contautu col <a href="mailto:webmaster@openstreetmap.org">webmaster</a> p'arreglar la creación d'una cuenta - procuraremos xestionar la solicitú lo más aína que podamos.
       continue: Siguir
       display name: "Nome a amosar:"
       display name description: El nome d'usuariu que s'amuesa en público. Pue camudalo más sero nes preferencies.
-      email address: "Direición de corréu:"
+      email address: "Direición de corréu electrónicu:"
       fill_form: Rellena'l formulariu y t'unviaremos un mensaxe de corréu rápidamente p'activar la to cuenta.
       flash create success message: Gracies por rexistrate. Venimos d'unvia un corréu de confirmación a %{email} y darréu que confirmes la to cuenta tarás preparáu pa mapear. <br /><br />Si uses un sistema escontra'l corréu puxarra qu'unvia solicitúes de confirmación, asegúrate d'amestar webmaster@openstreetmap.org na llista blanca de remitentes seguros, porque nós nun podemos responder solicitúes de confirmación.
       heading: Crear una cuenta d'usuariu
@@ -1533,9 +1558,9 @@ ast:
       no_auto_account_create: Por desgracia anguaño nun podemos crear una cuenta por ti automáticamente.
       not displayed publicly: Nun s'amuesa en público (ver la <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="política de protección de datos na wiki, qu'incluye una seición sobro direiciones de corréu">política de protección de datos</a>)
       openid: "%{logo} OpenID:"
-      openid association: "<p>La to OpenID nun ta asociada con una cuenta d'OpenStreetMap entá.</p>\n<ul>\n  <li>Si yes nuevu n'OpenStreetMap, por favor crea una cuenta nueva usando'l formulariu darréu.</li>\n  <li>\n    Si yá tienes una cuenta, puedes entrar nella usando'l to nome\n    d'usuariu y contraseña, y entós asociar la cuenta cola OpenID\n    na configuración de les preferencies d'usuariu.\n  </li>\n</ul>"
-      openid no password: Con OpenID nun fai falta contraseña, pero delles ferramientes estra o sirvidores entá pueden necesitala.
-      password: "Contraseña:"
+      openid association: "<p>La to OpenID nun ta asociada con una cuenta d'OpenStreetMap entá.</p>\n<ul>\n  <li>Si yes nuevu n'OpenStreetMap, por favor crea una cuenta nueva col formulariu darréu.</li>\n  <li>\n    Si yá tienes una cuenta, pues entrar nella col to nome\n    d'usuariu y conseña, y entós asociar la cuenta cola OpenID\n    nes preferencies d'usuariu.\n  </li>\n</ul>"
+      openid no password: Con OpenID nun fai falta una conseña, pero delles ferramientes estra o sirvidores entá puen necesitala.
+      password: "Conseña:"
       terms accepted: ¡Gracies por aceutar les condiciones de collaboración!
       terms declined: Sentimos que decidieres nun aceutar les Condiciones de Collaboración. Pa más información llei <a href="%{url}">esta páxina wiki</a>.
       title: Crear una cuenta
@@ -1552,13 +1577,13 @@ ast:
       not_a_friend: "%{name} nun ye un de los tos amigos."
       success: "%{name} se desanició de los tos amigos."
     reset_password: 
-      confirm password: "Confirma la contraseña:"
-      flash changed: Se camudó la to contraseña
+      confirm password: "Confirma la conseña:"
+      flash changed: Se camudó la to conseña
       flash token bad: Nun s'alcontró esi token, ¿tendríes de comprobar la URL, seique?
-      heading: Reaniciar la contraseña de %{user}
-      password: "Contraseña:"
-      reset: Reaniciar contraseña
-      title: Reaniciar contraseña
+      heading: Reaniciar la conseña de %{user}
+      password: "Conseña:"
+      reset: Reaniciar conseña
+      title: Reaniciar conseña
     set_home: 
       flash success: Llocalización d'aniciu guardada correutamente
     suspended: 
@@ -1588,16 +1613,23 @@ ast:
       block_history: ver los bloqueos recibíos
       blocks by me: bloqueos puestos
       blocks on me: bloqueos recibíos
+      comments: comentarios
       confirm: Confirmar
       confirm_user: confirmar esti usuariu
       create_block: bloquiar esti usuariu
       created from: "Creáu dende:"
+      ct accepted: Aceutada hai %{ago}
+      ct declined: Refugada
+      ct status: "Términos de collaboración:"
+      ct undecided: Indecisu
       deactivate_user: desactivar esti usuariu
       delete_user: desaniciar esti usuariu
       description: Descripción
       diary: diariu
       edits: ediciones
-      email address: "Direición de corréu:"
+      email address: "Direición de corréu electrónicu:"
+      friends_changesets: Esplorar tolos conxuntos de cambios de los collacios
+      friends_diaries: Ver toles entraes de diariu de los collacios
       hide_user: anubrir esti usuariu
       if set location: Si defines el to allugamientu, equí apaecerá un guapu mapa. Pues conseñar un llugar d'orixe na to páxina de %{settings_link}.
       km away: a %{count}km de distancia
@@ -1605,11 +1637,14 @@ ast:
       m away: a %{count}m de distancia
       mapper since: "Mapeador dende:"
       moderator_history: ver los bloqueos puestos
+      my comments: los mios comentarios
       my diary: el mio diariu
       my edits: les mios ediciones
       my settings: les mios preferencies
       my traces: les mios traces
       nearby users: Otros usuarios próximos
+      nearby_changesets: Ver tolos conxuntos de cambios d'usuarios cercanos
+      nearby_diaries: Ver toles entraes de diariu d'usuarios cercanos
       new diary entry: nueva entrada del diariu
       no friends: Entá nun amestasti dengún amigu.
       no nearby users: Entá nun hai otros usuarios que tean mapeando cerca de ti.
index 549734145cecc585f248c0bdcc0c0e7f8074e0d6..5ddd4ccbdc5b93be2ba64c6e4e109316192591ab 100644 (file)
@@ -79,7 +79,7 @@ be-TARASK:
       cookies_needed: Здаецца, што ў Ва забароненыя закладкі (cookies). Калі ласка, дазвольце іх ў Вашым браўзэры перад тым, як працягваць.
     setup_user_auth: 
       blocked: Ваш доступ да API заблякаваны. Калі ласка, увайдзіце праз ўэб-інтэрфэйс, каб даведацца болей.
-      need_to_see_terms: Ð\92аÑ\88 Ð´Ð¾Ñ\81Ñ\82Ñ\83п Ð´Ð° API Ñ\87аÑ\81ова Ð¿Ñ\80Ñ\8bпÑ\8bненÑ\8b. Ð\9aалÑ\96 Ð»Ð°Ñ\81ка, Ñ\83вайдзÑ\96Ñ\86е Ñ\9e Ñ\9eÑ\8dб-Ñ\96нÑ\82Ñ\8dÑ\80Ñ\84Ñ\8dйÑ\81, ÐºÐ°Ð± ÐºÐ°Ð± Ð¿Ð°Ð³Ð»Ñ\8fдзеÑ\86Ñ\8c Ñ\83мовÑ\8b Ñ\9eдзелÑ\83. Вам не абавязкова пагаджацца зь імі, але неабходна зь імі азнаёміцца.
+      need_to_see_terms: Ð\92аÑ\88 Ð´Ð¾Ñ\81Ñ\82Ñ\83п Ð´Ð° API Ñ\87аÑ\81ова Ð¿Ñ\80Ñ\8bпÑ\8bненÑ\8b. Ð\9aалÑ\96 Ð»Ð°Ñ\81ка, Ñ\83вайдзÑ\96Ñ\86е Ñ\9e Ñ\9eÑ\8dб-Ñ\96нÑ\82Ñ\8dÑ\80Ñ\84Ñ\8dйÑ\81, ÐºÐ°Ð± ÐºÐ°Ð± Ð¿Ð°Ð³Ð»Ñ\8fдзеÑ\86Ñ\8c Ñ\83мовÑ\8b Ñ\81Ñ\83пÑ\80аÑ\86оÑ\9eнÑ\96Ñ\86Ñ\82ва. Вам не абавязкова пагаджацца зь імі, але неабходна зь імі азнаёміцца.
   browse: 
     changeset: 
       changeset: "Набор зьменаў: %{id}"
@@ -283,14 +283,20 @@ be-TARASK:
     list: 
       description: Апошнія зьмены
       description_bbox: Набор зьменаў у %{bbox}
+      description_friend: Наборы зьменаў Вашых сяброў
+      description_nearby: Наборы зьменаў для суседніх удзельнікаў
       description_user: Наборы зьменаў %{user}
       description_user_bbox: Набор зьменаў %{user} у %{bbox}
       heading: Наборы зьменаў
       heading_bbox: Наборы зьменаў
+      heading_friend: Наборы зьменаў
+      heading_nearby: Наборы зьменаў
       heading_user: Наборы зьменаў
       heading_user_bbox: Наборы зьменаў
       title: Наборы зьменаў
       title_bbox: Набор зьменаў у %{bbox}
+      title_friend: Наборы зьменаў Вашых сяброў
+      title_nearby: Наборы зьменаў для суседніх удзельнікаў
       title_user: Набор зьменаў %{user}
       title_user_bbox: Набор зьменаў %{user} у %{bbox}
     timeout: 
@@ -341,6 +347,8 @@ be-TARASK:
       older_entries: Старэйшыя запісы
       recent_entries: "Апошнія запісы ў дзёньніку:"
       title: Дзёньнікі карыстальнікаў
+      title_friends: Дзёньнікі сяброў
+      title_nearby: Дзёньнікі суседніх удзельнікаў
       user_title: Дзёньнік %{user}
     location: 
       edit: Рэдагаваць
@@ -388,11 +396,9 @@ be-TARASK:
       licence: Ліцэнзія
       longitude: "Даўгата:"
       manually_select: Выбраць іншы абшар
-      mapnik_image: Выява Mapnik
       max: максымум
       options: Устаноўкі
       osm_xml_data: Зьвесткі OpenStreetMap у фармаце XML
-      osmarender_image: Выява Osmarender
       output: Вывад
       paste_html: HTML-код для ўстаўкі ў вэб-сайт
       scale: Маштаб
@@ -879,6 +885,18 @@ be-TARASK:
           water_point: Пункт водазабесьпячэньня
           waterfall: Вадаспад
           weir: Плаціна
+  javascripts: 
+    map: 
+      base: 
+        cycle_map: Роварная мапа
+        transport_map: Транспартная мапа
+    site: 
+      edit_disabled_tooltip: Павялічыць маштаб мапы для рэдагаваньня
+      edit_tooltip: Рэдагаваць мапу
+      edit_zoom_alert: Неабходна павялічыць маштаб мапы для яе рэдагаваньня
+      history_disabled_tooltip: Павялічыць маштаб для прагляду рэдагаваньняў у гэтым абшары
+      history_tooltip: Прагляд рэдагаваньняў у гэтым абшары
+      history_zoom_alert: Неабходна павялічыць маштаб мапы, каб праглядзець рэдагаваньні ў гэтым абшары
   layouts: 
     community_blogs: Блёгі супольнасьці
     community_blogs_title: Блёгі чальцоў супольнасьці OpenStreetMap
@@ -949,13 +967,13 @@ be-TARASK:
     inbox: 
       date: Дата
       from: Ад
+      messages: Вы маеце %{new_messages} і %{old_messages}
       my_inbox: Мае ўваходзячыя
       no_messages_yet: Вы яшчэ ня маеце паведамленьняў. Чаму б не зьвязацца з %{people_mapping_nearby_link}?
       outbox: зыходзячыя
       people_mapping_nearby: людзьмі, якія жывуць каля Вас
       subject: Тэма
       title: Уваходзячыя
-      you_have: Вы маеце %{new_count} новых паведамленьняў і %{old_count} старых паведамленьняў
     mark: 
       as_read: Паведамленьне пазначанае як прачытанае
       as_unread: Паведамленьне пазначанае як непрачытанае
@@ -991,7 +1009,6 @@ be-TARASK:
       subject: Тэма
       title: Зыходзячыя
       to: Да
-      you_have_sent_messages: Вы маеце %{count} адпраўленых паведамленьняў
     read: 
       back_to_inbox: Вярнуцца да ўваходных
       back_to_outbox: Вярнуцца да выходных
@@ -1105,15 +1122,42 @@ be-TARASK:
     revoke: 
       flash: Вы адклікалі ключ для дастасаваньня %{application}
   oauth_clients: 
+    create: 
+      flash: Інфармацыя пасьпяхова зарэгістраваная
+    destroy: 
+      flash: Зьнішчаная рэгістрацыя кліенцкага дастасаваньня
     edit: 
       submit: Рэдагаваць
       title: Рэдагаваць Вашае дастасаваньне
+    form: 
+      allow_read_gpx: чытаць іх прыватныя GPS-трэкі.
+      allow_read_prefs: чытаць іх налады ўдзельніка.
+      allow_write_api: зьмяняць мапу.
+      allow_write_diary: ствараць запісы ў дзёньніку, камэнтары і знаёміцца.
+      allow_write_gpx: загружаць GPS-трэкі.
+      allow_write_prefs: зьмяняць іх налады ўдзельніка.
+      callback_url: URL-адрас зваротнага выкліку
+      name: Назва
+      requests: "Запытаць наступныя дазволы ад удзельніка:"
+      required: Абавязковае
+      support_url: URL-адрас падтрымкі
+      url: Галоўны URL-адрас дастасаваньня
     index: 
+      application: Назва дастасаваньня
+      issued_at: Выданы ў
+      list_tokens: "Наступныя ключы былі створаныя для дастасаваньняў на Вашае імя:"
+      my_apps: Мае кліенцкія дастасаваньні
       my_tokens: Мае аўтарызаваныя дастасаваньні
+      no_apps: Вы маеце дастасаваньне, якое жадаеце зарэгістраваць для ўзаемадзеяньня з намі праз стандарт %{oauth}? Вам неабходна зарэгістраваць Вашае ўэб-дастасаваньне перад тым, як яно зможа зрабіць OAuth-запыты на гэты сэрвэр.
+      register_new: Зарэгістраваць Вашае дастасаваньне
+      registered_apps: "Вы маеце зарэгістраванымі наступныя кліенцкія дастасаваньні:"
+      revoke: Адклікаць!
       title: Мае падрабязнасьці OAuth
     new: 
       submit: Рэгістрацыя
       title: Зарэгістраваць новае дастасаваньне
+    not_found: 
+      sorry: Прабачце, немагчыма знайсьці гэты %{type}.
     show: 
       access_url: "URL-адрас ключа доступу:"
       allow_read_gpx: чытаць іх прыватныя GPS-трэкі.
@@ -1130,6 +1174,8 @@ be-TARASK:
       support_notice: Мы падтрымліваем HMAC-SHA1 (рэкамэндуецца) і звычайны тэкст у SSL-рэжыме.
       title: Падрабязнасьці OAuth для %{app_name}
       url: "URL-адрас ключа запыту:"
+    update: 
+      flash: Кліенцкая інфармацыя была абноўленая пасьпяхова
   site: 
     edit: 
       anon_edits_link_text: Даведацца ў чым справа.
@@ -1357,6 +1403,10 @@ be-TARASK:
       new email address: "Новы адрас электроннай пошты:"
       new image: Дадаць выяву
       no home location: Вы не падалі Вашае месцазнаходжаньне.
+      openid: 
+        link: http://wiki.openstreetmap.org/wiki/BE:OpenID
+        link text: што гэта?
+        openid: "OpenID:"
       preferred editor: "Пажаданы рэдактар:"
       preferred languages: "Абраныя мовы:"
       profile description: "Апісаньне профілю:"
@@ -1409,8 +1459,8 @@ be-TARASK:
       summary_no_ip: "%{name} створаны %{date}"
       title: Удзельнікі
     login: 
+      account is suspended: Прабачце, але Ваш рахунак быў заблякаваны з-за падазронай актыўнасьці.<br />Калі ласка, зьвяжыцеся з <a href="%{webmaster}">ўэбмайстрам</a> калі Вы жадаеце гэта аспрэчыць.
       account not active: Прабачце, Ваш рахунак пакуль што не актывізаваны.<br />Калі ласка, каб яго актывізаваць, карыстайцеся спасылкай у дасланым Ваш электронным лісьце, ці <a href="%{reconfirm}">падайце запыт на новы электронны ліст з пацьверджаньнем</a>.
-      account suspended: Прабачце, але Ваш рахунак быў заблякаваны з-за падазронай актыўнасьці.<br />Калі ласка, зьвяжыцеся з %{webmaster} калі Вы жадаеце гэта аспрэчыць.
       auth failure: Прабачце, немагчыма ўвайсьці з такім адрасам і паролем.
       create account minute: Стварыць рахунак. Гэта зойме ня болей хвіліны.
       email or username: "Адрас электроннай пошты ці імя карыстальніка:"
@@ -1419,12 +1469,37 @@ be-TARASK:
       lost password link: Забылі пароль?
       new to osm: Упершыню на OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Даведайцеся болей пра плянуемыя зьмены ліцэнзіі OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">пераклады</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">абмеркаваньні</a>)
+      notice_terms: OpenStreetMap перайшоў на новую ліцэнзію з 1 красавіка 2012 году. Яна такая ж адкрытая як папярэдняя, але больш пасуе для нашай базы зьвестак мапы. Мы жадаем, каб Вы засталіся працаваць з OpenStreetMap, але гэта можа адбыцца толькі пасьля таго, калі Вы пагадзіцеся працаваць на ўмовах новай ліцэнзіі. У адваротным выпадку мы выдалім Ваш унёсак з базы зьвестак.<br /><br />Калі ласка, увайдзіце ў сыстэму, потым прачытайце і прыміце новыя ўмовы. Дзякуй!
+      openid: "%{logo} OpenID:"
+      openid invalid: Прабачце, здаецца Ваш OpenID уведзены няслушна
+      openid missing provider: Прабачце, немагчыма зьвязацца з Вашым правайдэрам OpenID
+      openid_logo_alt: Увайсьці ў сыстэму з дапамогай OpenID
+      openid_providers: 
+        aol: 
+          alt: Увайсьці ў сыстэму з дапамогай AOL OpenID
+          title: Увайсьці ў сыстэму з дапамогай AOL
+        google: 
+          alt: Увайсьці ў сыстэму з дапамогай Google OpenID
+          title: Увайсьці ў сыстэму з дапамогай Google
+        myopenid: 
+          alt: Увайсьці ў сыстэму з дапамогай myOpenID OpenID
+          title: Увайсьці ў сыстэму з дапамогай myOpenID
+        openid: 
+          alt: Увайсьці ў сыстэму з дапамогай URL-адрасу OpenID
+          title: Увайсьці ў сыстэму з дапамогай OpenID
+        wordpress: 
+          alt: Увайсьці ў сыстэму з дапамогай Wordpress OpenID
+          title: Увайсьці ў сыстэму з дапамогай Wordpress
+        yahoo: 
+          alt: Увайсьці ў сыстэму з дапамогай Yahoo OpenID
+          title: Увайсьці ў сыстэму з дапамогай Yahoo
       password: "Пароль:"
       register now: Зарэгістравацца зараз
       remember: "Запамятаць мяне:"
       title: Увайсьці
       to make changes: Каб рабіць зьмены ў зьвестках OpenStreetMap, Вам неабходна мець рахунак.
-      webmaster: ўэб-майстар
+      with openid: "Для ўваходу можаце выкарыстаць Ваш OpenID:"
+      with username: "Ужо маеце рахунак OpenStreetMap? Калі ласка, увайдзіце ў сыстэму з Вашым іменем удзельніка і паролем:"
     logout: 
       heading: Выйсьці з OpenStreetMap
       logout_button: Выйсьці
@@ -1455,9 +1530,14 @@ be-TARASK:
       license_agreement: Калі Вы пацьвердзіце Ваш рахунак, Вам трэба будзе пагадзіцца з <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">умовамі супрацоўніцтва</a>.
       no_auto_account_create: На жаль, мы зараз ня можам стварыць для Вас рахунак аўтаматычна.
       not displayed publicly: Не паказваецца публічна (глядзіце <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="правілы адносна прыватнасьці вікі, у тым ліку сэкцыя пра адрасы электроннай пошты">правілы адносна прыватнасьці</a>)
+      openid: "%{logo} OpenID:"
+      openid association: "<p>Ваш OpenID пакуль ня зьвязаны з рахункам OpenStreetMap.</p>\n<ul>\n  <li>Калі Вы ўпершыню на OpenStreetMap, калі ласка, стварыце новы рахунак з дапамогай формы пададзенай ніжэй.</li>\n  <li>\n    Калі Вы ўжо маеце рахунак, Вы можаце ўвайсьці ў сыстэму\n    з Вашым іменем удзельніка і паролем, а потым зьвязаць яго з Вашым рахункам\n    OpenID на старонцы наладаў Вашага профілю.\n  </li>\n</ul>"
+      openid no password: Падчас выкарыстаньня OpenID пароль не патрэбны, але некаторыя дадатковыя інструмэнты ці сэрвэр могуць яго спытаць.
       password: "Пароль:"
       terms accepted: Дзякуй за тое, што прынялі новыя ўмовы супрацоўніцтва!
+      terms declined: Нам шкада, што Вы вырашылі не прыняць новыя ўмовы супрацоўніцтва. Для атрыманьня дадатковай інфармацыі, калі ласка, глядзіце <a href="%{url}">гэтую вікі-старонку</a>.
       title: Стварыць рахунак
+      use openid: Дадаткова выкарыстоўвайце %{logo} OpenID для ўваходу ў сыстэму
     no_such_user: 
       body: Прабачце, няма ўдзельніка з іменем %{user}. Калі ласка, праверце дакладнасьць напісаньня, ці, магчыма, спасылка па якой Вы перайшлі, няслушная.
       heading: Удзельнік %{user} не існуе
@@ -1489,6 +1569,7 @@ be-TARASK:
       consider_pd: У дадатак да прыведзенага пагадненьня, я пацьвярджаю, што мой унёсак знаходзіцца ў грамадзкім набытку
       consider_pd_why: што гэта?
       decline: Адхіліць
+      guidance: "Інфармацыя, якая дапаможа зразумець гэтыя ўмовы: <a href=\"%{summary}\">кароткае апісаньне</a> і некалькі <a href=\"%{translations}\">неафіцыйных перакладаў</a>"
       heading: Умовы супрацоўніцтва
       legale_names: 
         france: Францыя
@@ -1497,6 +1578,7 @@ be-TARASK:
       legale_select: "Калі ласка, выберыце сваю краіну пражываньня:"
       read and accept: Калі ласка, пачытайце пагадненьне ніжэй і націсьніце кнопку «Згодны», каб пацьвердзіць што Вы пагаджаецеся з умовамі гэтага пагадненьня адносна Вашага існуючага і будучых ўнёскаў.
       title: Умовы супрацоўніцтва
+      you need to accept or decline: Калі ласка, прачытайце, а потым згадзіцеся ці адхіліце новыя ўмовы супрацоўніцтва для працягу.
     view: 
       activate_user: актывізаваць гэтага удзельніка
       add as friend: дадаць у сябры
@@ -1508,12 +1590,18 @@ be-TARASK:
       confirm_user: пацьвердзіць гэтага карыстальніка
       create_block: заблякаваць гэтага ўдзельніка
       created from: "Створана з:"
+      ct accepted: Прынятыя %{ago} таму
+      ct declined: Адхіленыя
+      ct status: "Умовы супрацоўніцтва:"
+      ct undecided: Нявырашана
       deactivate_user: дэактывізаваць гэтага удзельніка
       delete_user: выдаліць гэтага ўдзельніка
       description: Апісаньне
       diary: дзёньнік
       edits: рэдагаваньні
       email address: "Адрас электроннай пошты:"
+      friends_changesets: Праглядзець усе наборы зьменаў сяброў
+      friends_diaries: Праглядзець усе запісы дзёньнікаў сяброў
       hide_user: схаваць гэтага ўдзельніка
       if set location: Калі Вы пазначыце Вашае месцазнаходжаньне, тут зьявіцца прыгожая мапа і дадатковыя інструмэнты. Вы можаце пазначыць Вашае месцазнаходжаньне на Вашай старонцы %{settings_link}.
       km away: "%{count}км ад Вас"
@@ -1526,6 +1614,8 @@ be-TARASK:
       my settings: мае налады
       my traces: мае трэкі
       nearby users: Іншыя бліжэйшыя карыстальнікі
+      nearby_changesets: Праглядзець усе наборы зьменаў суседніх удзельнікаў
+      nearby_diaries: Праглядзець усе запісы дзёньнікаў суседніх удзельнікаў
       new diary entry: новы запіс у дзёньніку
       no friends: Пакуль што Вы не дадалі нікога ў сябры.
       no nearby users: Няма іншых карыстальнікаў, якія прызнаюць, што займаюцца складаньнем мапы каля Вас.
@@ -1541,13 +1631,99 @@ be-TARASK:
           administrator: Скасаваць правы адміністратара
           moderator: Скасаваць доступ мадэратара
       send message: даслаць паведамленьне
-      settings_link_text: устаноўкі
+      settings_link_text: налады
       spam score: "Адзнака спаму:"
       status: "Статус:"
       traces: трэкі
       unhide_user: паказаць гэтага ўдзельніка
       user location: Меcцазнаходжаньне ўдзельніка
       your friends: Вашыя сябры
+  user_block: 
+    blocks_by: 
+      empty: "%{name} яшчэ не стварыў блякаваньняў."
+      heading: Сьпіс блякаваньняў, якія стварыў %{name}
+      title: Блякаваньні створаныя %{name}
+    blocks_on: 
+      empty: "%{name} ня быў яшчэ заблякаваны."
+      heading: Сьпіс блякаваньняў %{name}
+      title: Блякаваньні для %{name}
+    create: 
+      flash: Заблякаваць удзельніка %{name}.
+      try_contacting: Калі ласка, перад блякаваньнем удзельніка зьвяжыцеся зь ім і дайце яму дастаткова часу для адказу.
+      try_waiting: Калі ласка, дайце ўдзельніку дастаткова часу для адказу, перад яго блякаваньнем.
+    edit: 
+      back: Паказаць усе блякаваньні
+      heading: Рэдагаваньне блякаваньня для %{name}
+      needs_view: Ці трэба ўдзельніку ўвайсьці ў сыстэму, перад тым як блякаваньне будзе зьнятае?
+      period: Як доўга, пачынаючы з гэтага моманту, карыстальнік будзе заблякаваны ад API.
+      reason: Падайце прычыну, па якой %{name} блякуецца. Калі ласка, будзьце цярплівы і дзейнічайце разумна, прадстаўляючы ўдзельніку падрабязную інфармацыю пра прычыны блякаваньня. Помніце, што ня ўсе ўдзельнікі разумеюць жаргон супольнасьці, таму выкарыстоўвайце зразумелыя паняцьці.
+      show: Паказаць гэтае блякаваньне
+      submit: Абнавіць блякаваньне
+      title: Рэдагаваньне блякаваньня для %{name}
+    filter: 
+      block_expired: Блякаваньне ўжо скончылася і ня можа рэдагавацца.
+      block_period: Час блякаваньня павінен быць выбраны са значэньняў з разгортваемага сьпісу.
+      not_a_moderator: Вам трэба быць мадэратарам каб выканаць гэтае дзеяньне.
+    helper: 
+      time_future: Канчаецца ў %{time}.
+      time_past: Скончылася %{time} таму.
+      until_login: Актыўнае да моманту ўваходу ўдзельніка ў сыстэму.
+    index: 
+      empty: Блякаваньняў яшчэ не было.
+      heading: Сьпіс блякаваньняў удзельніка
+      title: Блякаваньні ўдзельніка
+    model: 
+      non_moderator_revoke: Трэба быць мадэратарам, каб адклікаць блякяваньне.
+      non_moderator_update: Трэба быць мадэратарам, каб стварыць ці адбавіць блякаваньне.
+    new: 
+      back: Паказаць усе блякаваньні
+      heading: Стварэньне блякаваньня для %{name}
+      needs_view: Удзельніку трэба ўвайсьці ў сыстэму, перад тым як блякаваньне будзе зьнятае
+      period: Як доўга, пачынаючы з гэтага моманту, карыстальнік будзе заблякаваны ад API.
+      reason: Падайце прычыну па якой %{name} блякуецца. Калі ласка, будзьце цярплівы і дзейнічайце разумна, прадстаўляючы ўдзельніку падрабязную інфармацыю пра прычыны блякаваньня, помніце, што паведамленьне будзе бачнае для ўсіх. Помніце, што ня ўсе ўдзельнікі разумеюць жаргон супольнасьці, таму выкарыстоўвайце зразумелыя паняцьці.
+      submit: Стварыць блякаваньне
+      title: Стварэньне блякаваньня для %{name}
+      tried_contacting: Я зьвярнуўся да удзельніка і папрасіў яго спыніцца.
+      tried_waiting: Я даў дастаткова часу ўдзельніку, каб адказаць на тыя паведамленьні.
+    not_found: 
+      back: Вярнуцца да сьпісу
+      sorry: Прабачце, немагчыма знойсьці блякаваньне ўдзельніка з ідэнтыфікатарам %{id}.
+    partial: 
+      confirm: Вы ўпэўнены?
+      creator_name: Стваральнік
+      display_name: Заблякаваны ўдзельнік
+      edit: Рэдагаваць
+      not_revoked: (не адкліканае)
+      reason: Прычына блякаваньня
+      revoke: Адклікаць!
+      revoker_name: Адкліканае
+      show: Паказаць
+      status: Статус
+    revoke: 
+      confirm: Вы ўпэўнены, што жадаеце адклікаць гэтае блякаваньне?
+      flash: Гэтае блякаваньне было адкліканае.
+      heading: Зьняць блякаваньне з %{block_on}, створанае %{block_by}
+      past: Гэтае блякаваньне скончылася %{time} таму і ня можа быць цяпер адкліканае.
+      revoke: Адклікаць!
+      time_future: Гэтае блякаваньне скончыцца ў %{time}.
+      title: Зьняць блякаваньне з %{block_on}
+    show: 
+      back: Паказаць усе блякаваньні
+      confirm: Вы ўпэўнены?
+      edit: Рэдагаваць
+      heading: "%{block_on} заблякаваны %{block_by}"
+      needs_view: Удзельніку трэба ўвайсьці ў сыстэму, перад тым як гэтае блякаваньне будзе зьнятае.
+      reason: "Прычына блякаваньня:"
+      revoke: Адклікаць!
+      revoker: "Адклікаўшы:"
+      show: Паказаць
+      status: Статус
+      time_future: Канчаецца ў %{time}
+      time_past: Скончылася %{time} таму
+      title: "%{block_on} заблякаваны %{block_by}"
+    update: 
+      only_creator_can_edit: Толькі мадэратар, які стварыў блякаваньне, можа яго рэдагаваць.
+      success: Блякаваньне абноўленае.
   user_role: 
     filter: 
       already_has_role: Карыстальнік ужо мае ролю %{role}.
index ced4b2b1c5d9389b42276a255c6eeb1ea3ebdbd7..4c6d6dcfb58344bc5e4bc163e7df65846735ed4e 100644 (file)
@@ -282,14 +282,20 @@ br:
     list: 
       description: Kemmoù graet nevez zo
       description_bbox: Strolladoù kemmoù e-barzh %{bbox}
+      description_friend: Hollad ar c'hemmoù degaset gant ho mignoned
+      description_nearby: Hollad kemmoù deuet gant an implijerien a-dost
       description_user: Strolladoù kemmoù gant %{user}
       description_user_bbox: Strolladoù kemmoù gant %{user} e-barzh %{bbox}
-      heading: Strolladoù kemmoù
-      heading_bbox: strolladoù kemmoù
-      heading_user: Strolladoù kemmoù
-      heading_user_bbox: Strolladoù kemmoù
-      title: Strolladoù kemmoù
+      heading: Hollad kemmoù
+      heading_bbox: Hollad kemmoù
+      heading_friend: Hollad ar c'hemmoù
+      heading_nearby: Hollad kemmoù
+      heading_user: Hollad kemmoù
+      heading_user_bbox: Hollad kemmoù
+      title: Hollad kemmoù
       title_bbox: Strolladoù kemmoù e-barzh %{bbox}
+      title_friend: Hollad ar c'hemmoù degaset gant ho mignoned
+      title_nearby: Hollad kemmoù deuet gant an implijerien a-dost
       title_user: Strolladoù kemmoù gant %{user}
       title_user_bbox: Strolladoù kemmoù gant %{user} e-barzh %{bbox}
     timeout: 
@@ -339,6 +345,8 @@ br:
       older_entries: Enmonedoù koshañ
       recent_entries: "Enmonedoù nevez en deizlevr :"
       title: Deizlevrioù an implijerien
+      title_friends: Marilhoù ar vignoned
+      title_nearby: Marilhoù mignoned a-dost
       user_title: Deizlevr %{user}
     location: 
       edit: Kemmañ
@@ -386,11 +394,9 @@ br:
       licence: Aotre implijout
       longitude: "Hed. :"
       manually_select: Diuzañ un takad disheñvel gant an dorn
-      mapnik_image: Skeudenn Mapnik
       max: d'ar muiañ
       options: Dibarzhioù
       osm_xml_data: Roadennoù XML OpenStreetMap
-      osmarender_image: Skeudenn Osmarender
       output: Er-maez
       paste_html: Pegañ HTML evit bezañ enkorfet en ul lec'hienn web
       scale: Skeuliad
@@ -968,13 +974,19 @@ br:
     inbox: 
       date: Deiziad
       from: A-berzh
+      messages: "%{new_messages} ha %{old_messages} zo evidoc'h"
       my_inbox: Ma boest resev
+      new_messages: 
+        one: "%{count} gemennadenn nevez"
+        other: "%{count} kemennadenn nevez"
       no_messages_yet: N'hoc'h eus kemennadenn ebet c'hoazh. Ha ma'z afec'h e darempred gant darn eus an %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} gemennadenn gozh"
+        other: "%{count} kemennadenn gozh"
       outbox: boest kas
       people_mapping_nearby: tud o kartennañ en ardremez
       subject: Danvez
       title: Boest resev
-      you_have: Bez' hoc'h eus %{new_count} kemennadenn nevez ha %{old_count} kemennadenn gozh
     mark: 
       as_read: Kemennadenn merket evel lennet
       as_unread: Merkañ evel anlennet
@@ -1003,6 +1015,9 @@ br:
     outbox: 
       date: Deiziad
       inbox: boest resev
+      messages: 
+        one: Kaset hoc'h eus %{count} gemennadenn
+        other: Kaset hoc'h eus %{count} kemennadenn
       my_inbox: Ma %{inbox_link}
       no_sent_messages: N'hoc'h eus kaset kemennadenn ebet c'hoazh. Ha ma'z afec'h a darempred gant darn eus an %{people_mapping_nearby_link}?
       outbox: boest kas
@@ -1010,7 +1025,6 @@ br:
       subject: Danvez
       title: Boest kas
       to: Da
-      you_have_sent_messages: Kaset hoc'h eus %{count} kemennadenn
     read: 
       back_to_inbox: Distreiñ d'ar voest resev
       back_to_outbox: Distreiñ d'ar voest kas
@@ -1197,7 +1211,7 @@ br:
         license_name: Creative Commons Deroadenn Kenrannañ heñvel 2.0
         notice: Dindan aotre-implijout %{license_name} gant an %{project_name} hag e genobererien.
         project_name: raktres OpenStreetMap
-      permalink: Permalink
+      permalink: Peurliamm
       remote_failed: C'hwitet eo ar c'hemm - gwiriit hag-eñ eo karget JOSM or Merkaartor ha gweredekaet an dibarzh kontroll a-bell
       shortlink: Liamm berr
     key: 
@@ -1461,8 +1475,8 @@ br:
       summary_no_ip: "%{name} krouet d'an %{date}"
       title: Implijerien
     login: 
+      account is suspended: Digarezit, arsavet eo bet ho kont abalamour d'un obererezh arvarus.<br />Kit e darempred gant ar <a href="%{webmaster}">webmaster</a> m'hoc'h eus c'hoant da gaozeal diwar-benn an dra-se.
       account not active: Ho tigarez, n'eo ket oberiant ho kont c'hoazh. <br/>Klikit war al liamm er postel kadarnaat, mar plij, evit gweredekaat ho kont, pe <a href="%{reconfirm}">goulennit ur postel kadarnaat all</a> .
-      account suspended: Digarezit, arsavet eo bet ho kont abalamour d'un obererezh arvarus.<br />Kit e darempred gant ar %{webmaster}, mar plij, m'hoc'h eus c'hoant da gaozeal diwar-benn an dra-se.
       auth failure: Ho tigarez, met n'eus ket bet gallet hoc'h anavezout gant an titouroù pourchaset.
       create account minute: Krouiñ ur gont. Ne bad nemet ur vunutenn.
       email or username: "Chomlec'h postel pe anv implijer :"
@@ -1471,6 +1485,7 @@ br:
       lost password link: Ankouaet ho ker-tremen ganeoc'h ?
       new to osm: Nevez war OpenStreetMap ?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Gouzout hiroc'h diwar-benn ar cheñchamant aotre-implijout da zont gant OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">troidigezhioù</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">kendiviz</a>)
+      notice_terms: Embannet e vo OpenStreetMap dindan un aotre-implijout nevez adalek ar 1añ a viz Ebrel 2012. Ken frank a wirioù e vo hag an hini zo bremañ nemet e tegouezho gwelloc'h an termenoù gwir ouzh hon diaz roadennoù kartennaouel. Plijet e vefemp o virout ho tegasadennoù da OpenStreetMap, met n'hallimp en ober nemet mard embannit bezañ a-du d'hor lezel o skignañ diouzh termenoù an aotre nevez. A-hend-all e rankimp lemel anezho kuit eus an diaz.<br /><br />Kevreit evit gwelet an termenoù nevez hag asantiñ dezho. Ne dap nemet un un nebeud eilennoù. Ho trugarekaat !
       openid: "%{logo} OpenID :"
       openid invalid: Ho tigarez, Evit doare eo stummet fall hoc'h OpenID
       openid missing provider: Ho tigarez, n'eus ket bet gallet mont e darempred gant ho pourvezer OpenID
@@ -1499,7 +1514,6 @@ br:
       remember: "Derc'hel soñj ac'hanon :"
       title: Kevreañ
       to make changes: Evit kemmañ roadennoù OpenStreetMap e rankit kaout ur gont.
-      webmaster: webmaster
       with openid: "Gallout a rit ivez ober gant hoc'h OpenID evit kevreañ :"
       with username: "Ur gont OpenStreetMap hoc'h eus dija ? Digorit un dalc'h en ur verkañ hoc'h anv implijer hag ho ker-tremen :"
     logout: 
@@ -1592,12 +1606,18 @@ br:
       confirm_user: kadarnaat an implijer-mañ
       create_block: stankañ an implijer-mañ
       created from: "Krouet diwar :"
+      ct accepted: Degemeret %{ago} zo
+      ct declined: Nac'het
+      ct status: "Diferadennoù ar c'henlabourer :"
+      ct undecided: En entremar
       deactivate_user: diweredekaat an implijer-mañ
       delete_user: dilemel an implijer-mañ
       description: Deskrivadur
       diary: deizlevr
       edits: kemmoù
       email address: "Chomlec'h postel :"
+      friends_changesets: Furchal dre an holl gemmoù degaset gant ho mignoned
+      friends_diaries: Furchal holl enmontoù ar marilh personel gant e vignoned
       hide_user: kuzhat an implijer-mañ
       if set location: Ma lakait ho lec'hiadur e teuio ur gartenn vrav war wel dindani. Gallout a rit lakaat ho lec'hiadur war ho pajenn %{settings_link}.
       km away: war-hed %{count} km
@@ -1610,6 +1630,8 @@ br:
       my settings: ma arventennoù
       my traces: ma roudoù
       nearby users: "Implijerien all tost deoc'h :"
+      nearby_changesets: Furchal an holl holladoù kemmoù gant an implijerien a-dost
+      nearby_diaries: Furchal holl enmontoù ar marilh personel gant implijerien a-dost
       new diary entry: enmoned nevez en deizlevr
       no friends: N'hoc'h eus ouzhpennet mignon ebet c'hoazh.
       no nearby users: N'eus implijer ebet all en ardremez c'hoazh.
index 7895f4a2d6e1fab0d951262dc2fc760f6e602f25..9b55731806aa47996942a92fbb9701e52501473d 100644 (file)
@@ -10,6 +10,8 @@
 # Author: McDutchie
 # Author: PerroVerd
 # Author: SMP
+# Author: Sim6
+# Author: Solde
 # Author: Ssola
 # Author: Toniher
 ca: 
@@ -89,7 +91,7 @@ ca:
       need_to_see_terms: L'accés a l'API és temporalment suspeses. Si us plau, log-in a la interfície de web per veure els termes de col. laborador. Vostè no necessita estar d'acord, però cal veure-les.
   browse: 
     changeset: 
-      changeset: Conjunt de canvis %{id}
+      changeset: "Conjunt de canvis: %{id}"
       changesetxml: XML del conjunt de canvis
       download: Baixa %{changeset_xml_link} o %{osmchange_xml_link}
       feed: 
@@ -103,8 +105,12 @@ ca:
       box: caixa
       closed_at: "Tancat el:"
       created_at: "Creat el:"
-      has_nodes: "Té els següents %{count} nodes:"
-      has_relations: "Té les següents %{count} relacions:"
+      has_nodes: 
+        one: "Té el següent %{count} node:"
+        other: "Té els següents %{count} nodes:"
+      has_relations: 
+        one: "Té la següent %{count} relació:"
+        other: "Té les següents %{count} relacions:"
       has_ways: 
         one: "Té la següent via:"
         other: "Té les següents %{count} vies:"
@@ -145,9 +151,9 @@ ca:
         prev_relation_tooltip: Relació anterior
         prev_way_tooltip: Via anterior
       user: 
-        name_changeset_tooltip: Visualitza les edicions feter per %{user}
-        next_changeset_tooltip: Propera edició per %{user}
-        prev_changeset_tooltip: Edició anterior per l'usuari %{user}
+        name_changeset_tooltip: Visualitza les edicions de %{user}
+        next_changeset_tooltip: Propera edició de %{user}
+        prev_changeset_tooltip: Edició anterior de %{user}
     node: 
       download: "%{download_xml_link} o %{view_history_link}"
       download_xml: Baixa l'XML
@@ -175,7 +181,7 @@ ca:
       of: de
       showing_page: S'està mostrant pàgina
     relation: 
-      download: "%{download_xml_link} oo %{view_history_link}"
+      download: "%{download_xml_link} o %{view_history_link}"
       download_xml: Baixa l'XML
       relation: Relació
       relation_title: "Relació: %{relation_name}"
@@ -185,10 +191,10 @@ ca:
       part_of: "Part de:"
     relation_history: 
       download: "%{download_xml_link} o %{view_details_link}"
-      download_xml: Descarrega XML
+      download_xml: Baixa l'XML
       relation_history: Historial de la relació
       relation_history_title: "Historial de la relació: %{relation_name}"
-      view_details: visualitza els detalls
+      view_details: mostra els detalls
     relation_member: 
       entry_role: "%{type} %{name} com %{role}"
       type: 
@@ -207,7 +213,7 @@ ca:
       hide_areas: Oculta les zones
       history_for_feature: Historial per a [[feature]]
       load_data: Carrega dades
-      loaded_an_area_with_num_features: "Heu carregat una àrea que conté trets de [[num_features]]. En general, alguns navegadors poden no fer front també mostrar aquesta quantitat de dades. En general, els navegadors funcionen millor de es mostren trets de menys de 100 a la vegada: fer qualsevol altra cosa pot fer que el seu navegador lent/insensible. Si esteu segurs que voleu visualitzar aquestes dades, pot fer-ho fent clic al botó de sota."
+      loaded_an_area_with_num_features: "Heu carregat una àrea que conté [[num_features]] característiques. En general, alguns navegadors no poden fer front a mostrar aquesta quantitat de dades. En general, els navegadors funcionen millor mostrant menys de 100 característiques a la vegada: fer una altre cosa pot fer que el seu navegador esdevingui lent o que no respongui. Si esteu segurs que voleu visualitzar aquestes dades, pot fer-ho fent clic al botó de sota."
       loading: S'està carregant...
       manually_select: Selecciona manualment una àrea diferent
       object_list: 
@@ -229,7 +235,7 @@ ca:
       private_user: usuari privat
       show_areas: Mostra les zones
       show_history: Mostra l'historial
-      unable_to_load_size: "No es pot carregar: Bounding mida de caixa de [[bbox_size]] és massa gran (ha de ser més petita que % {max_bbox_size})"
+      unable_to_load_size: "No es pot carregar: Bounding mida de caixa de [[bbox_size]] és massa gran (ha de ser més petita que %{max_bbox_size})"
       wait: Espereu...
       zoom_or_select: Amplia o selecciona una àrea del mapa per mostrar
     tag_details: 
@@ -239,7 +245,7 @@ ca:
         tag: La pàgina de descripció del wiki per l'etiqueta %{key}=%{value}
       wikipedia_link: L'article %{page} a la Viquipèdia
     timeout: 
-      sorry: Hem trigat massa en obtenir les dades pel tipus %{type} amb identificador %{id}.
+      sorry: Ho sentim, hem trigat massa en obtenir les dades pel tipus %{type} amb identificador %{id}.
       type: 
         changeset: conjunt de canvis
         node: node
@@ -286,14 +292,20 @@ ca:
     list: 
       description: Canvis recents
       description_bbox: Conjunt de canvis dins de %{bbox}
+      description_friend: Conjunts de canvis dels vostres amics
+      description_nearby: Conjunts de canvis d'usuaris propers
       description_user: Conjunt de canvis fets per %{user}
       description_user_bbox: Conjunt de canvis de %{user} dins de %{bbox}
       heading: Conjunt de canvis
       heading_bbox: Conjunt de canvis
+      heading_friend: Conjunts de canvis
+      heading_nearby: Conjunts de canvis
       heading_user: Conjunt de canvis
       heading_user_bbox: Conjunt de canvis
       title: Conjunt de canvis
       title_bbox: Conjunt de canvis dins de %{bbox}
+      title_friend: Conjunts de canvis dels vostres amics
+      title_nearby: Conjunts de canvis d'usuaris propers
       title_user: Conjunt de canvis de %{user}
       title_user_bbox: Conjunt de canvis de %{user} dins de %{bbox}
     timeout: 
@@ -301,7 +313,7 @@ ca:
   diary_entry: 
     diary_comment: 
       comment_from: Comentari de %{link_user} el %{comment_created_at}
-      confirm: Confirmar
+      confirm: Confirma
       hide_link: Amaga aquest comentari
     diary_entry: 
       comment_count: 
@@ -320,7 +332,7 @@ ca:
       location: "Ubicació:"
       longitude: "Longitud:"
       marker_text: Localització de l'Entrada del Diari
-      save_button: Guardar
+      save_button: Desa
       subject: "Assumpte:"
       title: Edita entrada del diari
       use_map_link: usa el mapa
@@ -343,6 +355,8 @@ ca:
       older_entries: Entrades més Antigues
       recent_entries: "Entrades Recents al diari:"
       title: Diaris d'usuari/a
+      title_friends: Diaris dels amics
+      title_nearby: Diaris d'amics propers
       user_title: Diari de %{user}
     location: 
       edit: Modifica
@@ -351,11 +365,11 @@ ca:
     new: 
       title: Nova Entrada de Diari
     no_such_entry: 
-      body: Ho sentim, que no hi ha cap entrada del diari o comentari amb l'id % {id}. Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
+      body: Ho sentim, que no hi ha cap entrada del diari o comentari amb l'id %{id}. Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
       heading: No hi ha cap entrada amb la id %{id}
       title: No hi ha entrada al diari com
     no_such_user: 
-      body: Ho sentim, no hi ha cap usuari amb el nom % (usuari). Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
+      body: Ho sentim, no hi ha cap usuari amb el nom %{user}. Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
       heading: L'usuari/a %{user} no existeix
       title: Aquest usuari/a no existeix
     view: 
@@ -390,11 +404,9 @@ ca:
       licence: Llicència
       longitude: "Lon:"
       manually_select: Selecciona manualment una àrea diferent
-      mapnik_image: Imatge de Mapnik
       max: màx
       options: Opcions
       osm_xml_data: OpenStreetMap XML Data
-      osmarender_image: Imatge de Osmarender
       output: Sortida
       paste_html: Enganxa HTML per incloure'l al lloc web
       scale: Escala
@@ -414,7 +426,7 @@ ca:
     description: 
       title: 
         geonames: Localització des de <a href="http://www.geonames.org/">GeoNames</a>
-        osm_namefinder: "% {tipus} de <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+        osm_namefinder: "%{types} de <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
         osm_nominatim: Localització des de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: Ciutats
@@ -460,14 +472,14 @@ ca:
           bank: Banc
           bar: Bar
           bench: Banc
-          bicycle_parking: Aparcament de Bicicletes
+          bicycle_parking: Aparcament de bicicletes
           bicycle_rental: Lloguer de bicicletes
           brothel: Prostíbul
           bureau_de_change: Oficina de canvi
           bus_station: Estació d'autobusos
           cafe: Cafè
           car_rental: Lloguer de cotxes
-          car_sharing: Per Compartir Cotxe
+          car_sharing: Compartició de cotxes
           car_wash: Rentat de cotxes
           casino: Casino
           cinema: Cinema
@@ -489,7 +501,7 @@ ca:
           fire_hydrant: Boca d'incendi
           fire_station: Parc de bombers
           fountain: Font
-          fuel: Gasolinera
+          fuel: Benzinera
           grave_yard: Cementiri
           gym: Gimnàs
           hall: Ajuntament
@@ -541,7 +553,7 @@ ca:
           veterinary: Veterinari
           village_hall: Casa de la Vila
           waste_basket: Cistella de Residus
-          wifi: Accés a internet WiFi
+          wifi: Punt d'accés WiFi
           youth_centre: Centre juvenil
         boundary: 
           administrative: Administració de Fronteres
@@ -890,6 +902,7 @@ ca:
       base: 
         cycle_map: Cycle Map
         mapquest: MapQuest Open
+        standard: Estàndard
         transport_map: Mapa de transports
     site: 
       edit_disabled_tooltip: Augmenteu el zoom per modificar el mapa
@@ -904,10 +917,10 @@ ca:
     copyright: Drets d'autor i llicència
     documentation: Documentació
     documentation_title: Documentació del projecte
-    donate: Suport OpenStreetMap % {enllaç} el fons de rampa de maquinari.
+    donate: Suport OpenStreetMap %{link} el fons de rampa de maquinari.
     donate_link_text: donatius
     edit: Modificació
-    edit_with: Modifica amb % {editor}
+    edit_with: Modifica amb %{editor}
     export: Exporta
     export_tooltip: Exporta les dades del mapa
     foundation: Fundació
@@ -920,13 +933,13 @@ ca:
     history: Historial
     home: Inici
     home_tooltip: Vés a la posició inicial
-    inbox: safata d'entrada (% {count})
+    inbox: safata d'entrada (%{count})
     inbox_tooltip: 
       other: one no llegits = el seu inbox conté 1 message
       zero: el seu inbox conté cap messages
     intro_1: L'OpenStreetMap és un mapa editable i lliure de tot el món. Està fet per gent com vós.
     intro_2: OpenStreetMap us permet veure, editar i utilitzar informació geogràfica comunitària de qualsevol lloc del planeta
-    intro_3: OpenStreetMap hosting és amable amb el suport de % {ucl}, % {ic} i % {bytemark}. Altres partidaris del projecte s'enumeren en el % {socis}.
+    intro_3: OpenStreetMap hosting és amable amb el suport de %{ucl}, %{ic} i %{bytemark}. Altres partidaris del projecte s'enumeren en el %{partners}.
     intro_3_ic: Imperial College de Londres
     intro_3_partners: wiki
     license: 
@@ -957,13 +970,13 @@ ca:
   license_page: 
     foreign: 
       english_link: l'original en anglès
-      text: En cas de conflicte entre aquesta pàgina traduïda i % {english_original_link}, la pàgina en anglès tindrà prioritat
+      text: En cas de conflicte entre aquesta pàgina traduïda i %{english_original_link}, la pàgina en anglès tindrà prioritat
       title: Quant a la traducció
     legal_babble: "<h2>Drets d'autor i llicència</h2>\n<p>\n   OpenStreetMap és <i>obrir dades</i>, concedeix una llicència sota el <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Llicència Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n<p>\n<p>\n  Vostè és lliure de copiar, distribuir, transmetre i adaptar-se a nostres mapes\n  i les dades, sempre que li doni crèdit OpenStreetMap i la seva\n  col. laboradors. Si alterar o construir sobre els nostres mapes o dades, vostè\n  distribuir el resultat només sota la mateixa llicència. La\n  Full <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">legal\n  codi explica els seus drets i responsabilitats.\n<p>\n\n<h3>Com a crèdit OpenStreetMap</h3>\n<p>\n  Si està utilitzant imatges de mapa de OpenStreetMap, us preguem que\n  el seu crèdit llegeix com a mínim \"© OpenStreetMap\n  col. laboradors, CC-BY-SA\". Si està utilitzant les dades de mapa només\n  demanem \"mapa dades © OpenStreetMap col·laboradors\n  CC-BY-SA\".\n</p>\n<p>\n  Sempre que sigui possible, OpenStreetMap ha de ser un hipervincle a <a\n href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/\n  i CC-BY-SA a <a\n href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/. Si\n  està utilitzant un mitjà on enllaços no són possibles (per exemple, un\n  treball impresa), us suggerim que directa als seus lectors a\n  www.OpenStreetMap.org (potser per l'ampliació\n  'OpenStreetMap' a aquesta adreça completa) i a\n  www.creativecommons.org.\n<p>\n\n<h3>Saber-ne més</h3>\n<p>\n  Llegiu més informació sobre com utilitzar les nostres dades a les <a\n href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Legal\n  PREGUNTES MÉS FREQÜENTS.\n<p>\n<p>\n  Col. laboradors OSM se li va recordar mai per afegir les dades des de qualsevol\n  drets d'autor fonts (p. ex. Google Maps o mapes impreses) sense\n  permís explícit dels titulars del copyright.\n</p>\n<p>\n  Encara que OpenStreetMap és oberts les dades, no podem oferir un\n  mapa de Free-of-charge API per a desenvolupadors de tercera festa.\n\n  Consulti la nostra <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política d'ús de l'API</a>\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política d'ús de rajoles</a>\n  i <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">política d'ús de Nominatim</a>.\n</p>\n\n<h3>Nostres col. laboradors</h3>\n<p>\n  La nostra llicència CC-BY-SA requereix que \"doni l'Original\n  Autor de crèdit raonable per al suport i mitjà que ets\n  utilització\". No tornis a sol·licitar individuals dibuixants de mapes de OSM un\n  de crèdit més enllà de que a \"OpenStreetMap\n  col. laboradors\", però on les dades des d'un mapatge Nacional\n  Agència o l'altra font important ha estat inclòs en\n  OpenStreetMap, pot ser raonable per crèdit per directament\n  reproduir el seu crèdit o per vincular-hi d'aquesta pàgina.\n</p>\n\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n\n<ul id=\"contributors\">\n<li><strong>Austràlia</strong>: conté dades suburbi basats\n    en les dades d'Austràlia Oficina d'estadístiques.</li>\n<li><strong>Àustria</strong>: conté dades de\n    <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> sota\n    <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n<li><strong>Canadà</strong>: conté dades de\n    GeoBase ®, GeoGratis (© Departament de Natural\n    Recursos Canadà), CanVec (© Departament de Natural\n    Recursos Canadà) i StatCan (Divisió de Geografia,\n    Canadà de Estadístiques).</li>\n<li><strong>França</strong>: conté dades d'origen de\n    Direcció Générale des Impôts.</li>\n<li><strong>Nova Zelanda</strong>: conté dades d'origen de\n    Informació Nova Zelanda de la terra. Corona de drets d'autor reservat.</li>\n<li><strong>Polònia</strong>: conté dades de mapes de <a\n href=\"http://ump.waw.pl/\">UMP-pcPL. Drets d'autor\n    Col. laboradors de la UMP-pcPL.</a\n></li>\n<li><strong>Regne Unit</strong>: conté cartografia\n    Enquesta dades © Crown copyright i base de dades correcte\n    2010.</li>\n</ul>\n\n<p>\n  Inclusió de dades en OpenStreetMap no implica que l'original\n  el proveïdor de dades recolza OpenStreetMap, proporciona cap garantia, o\n  accepta qualsevol responsabilitat.\n</p></a\n></a\n></a\n></a\n></a\n>"
     native: 
       mapping_link: Inici d'assignació
       native_link: Versió THIS_LANGUAGE_NAME_HERE
-      text: Estàs veient la versió anglesa de la pàgina de drets d'autor. Es pot tornar posterior al % {native_link} d'aquesta pàgina o vostè pot deixar de llegir sobre el copyright i % {mapping_link}.
+      text: Estàs veient la versió anglesa de la pàgina de drets d'autor. Es pot tornar posterior al %{native_link} d'aquesta pàgina o vostè pot deixar de llegir sobre el copyright i %{mapping_link}.
       title: Sobre aquesta pàgina
   message: 
     delete: 
@@ -971,15 +984,21 @@ ca:
     inbox: 
       date: Data
       from: De
+      messages: Teniu %{new_messages} i %{old_messages}
       my_inbox: La meva safata d'entrada
-      no_messages_yet: No tens missatges encara. Per què no entrar en contacte amb alguns dels % {people_mapping_nearby_link}?
+      new_messages: 
+        one: "%{count} missatge nou"
+        other: "%{count} missatges nous"
+      no_messages_yet: No tens missatges encara. Per què no entrar en contacte amb alguns dels %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} missatge antic"
+        other: "%{count} missatges antics"
       outbox: sortida
       people_mapping_nearby: Cartografia de prop la gent
       subject: Assumpte
       title: Safata d'entrada
-      you_have: Teniu missatges nous % {new_count} i els missatges antics % {old_count}
     mark: 
-      as_read: Missatge marcat com a llegits
+      as_read: Missatge marcat com a llegit
       as_unread: Missatge marcat com a no llegit
     message_summary: 
       delete_button: Suprimeix
@@ -987,14 +1006,14 @@ ca:
       reply_button: Respon
       unread_button: Marca com a no llegit
     new: 
-      back_to_inbox: Tornar a la safata d'entrada
+      back_to_inbox: Torna a la safata d'entrada
       body: Cos
       limit_exceeded: He enviat un munt de missatges recentment. Si us plau, espereu una estona abans d'intentar d'enviar qualsevol més.
       message_sent: S'ha enviat el missatge
       send_button: Envia
-      send_message_to: Enviar un missatge nou a % {name}
+      send_message_to: Enviar un missatge nou per a %{name}
       subject: Assumpte
-      title: Enviar missatge
+      title: Envia el missatge
     no_such_message: 
       body: Trist que no hi ha cap missatge amb que id.
       heading: No existeix aquest missatge
@@ -1006,52 +1025,54 @@ ca:
     outbox: 
       date: Data
       inbox: Entrada
+      messages: 
+        one: Teniu %{count} missatge enviat
+        other: Teniu %{count} missatges enviats
       my_inbox: El meu %{inbox_link}
-      no_sent_messages: Encara no has cap els missatges enviats. Per què no entrar en contacte amb alguns dels % {people_mapping_nearby_link}?
+      no_sent_messages: Encara no has enviat cap missatge. Per què no entrar en contacte amb alguns dels %{people_mapping_nearby_link}?
       outbox: sortida
       people_mapping_nearby: Cartografia de prop la gent
       subject: Assumpte
       title: Sortida
       to: A
-      you_have_sent_messages: Tens % {count} enviar missatges
     read: 
       back_to_inbox: Torna a la safata d'entrada
       back_to_outbox: Torna a la safata de sortida
       date: Data
       from: De
       reading_your_messages: Llegir els missatges
-      reading_your_sent_messages: Llegir els missatges enviats
+      reading_your_sent_messages: S'estan llegint els missatges enviats
       reply_button: Respon
       subject: Assumpte
       title: Llegir missatge
       to: Per a
       unread_button: Marca com a no llegit
-      wrong_user: Heu iniciat la sessió com "% {user}", però el missatge que han demanat a llegir a no va ser enviat per o a que l'usuari. Si us plau connecti's com l'usuari correcte per a llegir-lo.
+      wrong_user: Heu iniciat la sessió com "%{user}", però el missatge que han demanat a llegir a no va ser enviat o dirigit a aquest usuari. Si us plau connecti's com l'usuari correcte per a llegir-lo.
     reply: 
-      wrong_user: Heu iniciat la sessió com "% {user}", però el missatge que han demanat que respongui a no s'ha enviat a que l'usuari. Si us plau connecti's com l'usuari correcte per a respondre.
+      wrong_user: Heu iniciat la sessió com "%{user}", però el missatge que han demanat de respondre a no s'ha enviat a aquest usuari. Si us plau connecti's com l'usuari correcte per a respondre.
     sent_message_summary: 
       delete_button: Suprimeix
   notifier: 
     diary_comment_notification: 
-      footer: També podeu llegir el comentari a les % {readurl} i es pot comentar als % {commenturl} o respondre a les % {replyurl}
-      header: "% {from_user} ha comentat en el seu recent entrada del diari OpenStreetMap amb el tema % {tema}:"
+      footer: També podeu llegir el comentari a les %{readurl} i es pot comentar als %{commenturl} o respondre a les %{replyurl}
+      header: "%{from_user} ha comentat en el seu recent entrada del diari OpenStreetMap amb el tema %{subject}:"
       hi: Hola %{to_user},
-      subject: "[OpenStreetMap] % (usuari), va comentar sobre la seva entrada del diari"
+      subject: "[OpenStreetMap] %{user}, va comentar sobre la seva entrada del diari"
     email_confirm: 
       subject: "[OpenStreetMap] Confirmeu l'adreça de correu"
     email_confirm_html: 
       click_the_link: Si això és vostè, si us plau, feu clic a l'enllaç sota per confirmar el canvi.
       greeting: Hola,
-      hopefully_you: Algú (esperem que vostè) com canviar la seva adreça d'e-mail % {server_url} % {new_address}.
+      hopefully_you: Algú (esperem que vostè) vol canviar la seva adreça d'e-mail a %{server_url} per %{new_address}.
     email_confirm_plain: 
       click_the_link: Si això és vostè, si us plau, feu clic a l'enllaç sota per confirmar el canvi.
       greeting: Hola,
       hopefully_you_1: Algú (esperem que vostè) li agradaria canviar la seva adreça d'e-mail a
-      hopefully_you_2: "% {server_url} % {new_address}."
+      hopefully_you_2: "%{server_url} a %{new_address}."
     friend_notification: 
-      befriend_them: També el pots afegir com a amic a % {befriendurl}.
-      had_added_you: "% {user} t'ha afegit com a amic a OpenStreetMap."
-      see_their_profile: Pots veure el seu perfil a %{userurl}.
+      befriend_them: També el pots afegir com a amic a %{befriendurl}.
+      had_added_you: "%{user} t'ha afegit com a amic a OpenStreetMap."
+      see_their_profile: Podeu veure el seu perfil a %{userurl}.
       subject: "[OpenStreetMap] %{user} t'ha afegit a la llista d'amics"
     gpx_notification: 
       and_no_tags: i cap etiqueta.
@@ -1063,10 +1084,10 @@ ca:
         subject: "[OpenStreetMap] Error d'importació de GPX"
       greeting: Hola,
       success: 
-        loaded_successfully: carregat amb % {trace_points} fora d'un punts possibles % {possible_points}.
+        loaded_successfully: carregat amb %{trace_points} fora d'un punts possibles %{possible_points}.
         subject: "[OpenStreetMap] L'èxit de GPX importació"
       with_description: amb la descripció
-      your_gpx_file: Sembla que el seu arxiu GPX
+      your_gpx_file: Sembla el vostre fitxer GPX
     lost_password: 
       subject: "[OpenStreetMap] Sol. licitud de reinicialització de contrasenya"
     lost_password_html: 
@@ -1081,7 +1102,7 @@ ca:
     message_notification: 
       footer1: També pots llegir el missatge a %{readurl}
       footer2: i el pots replicar a %{replyurl}
-      header: "% {from_user} ha enviat un missatge a través de OpenStreetMap amb el tema % {tema}:"
+      header: "%{from_user} ha enviat un missatge a través de OpenStreetMap amb el tema %{subject}:"
       hi: Hola %{to_user},
     signup_confirm: 
       subject: "[OpenStreetMap] Confirmeu la vostra adreça electrònica"
@@ -1092,8 +1113,8 @@ ca:
       get_reading: Obtenir de lectura sobre OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">al wiki</a>, posarà al dia amb les últimes notícies via <a href="http://blog.openstreetmap.org/">OpenStreetMap bloc</a> o <a href="http://twitter.com/openstreetmap">Twitter</a>o navegar a través de OpenStreetMap fundador Steve Costa <a href="http://www.opengeodata.org/">OpenGeoData blog</a> per a la breu història del projecte, que disposa de <a href="http://www.opengeodata.org/?cat=13">podcasts d'escoltar</a> !
       greeting: Hola, què tal?
       hopefully_you: Algú (esperem que vostè) would com crear un compte per a les
-      introductory_video: Vostè pot veure un % {introductory_video_link}.
-      more_videos: Hi ha % {more_videos_link}.
+      introductory_video: Podeu veure un %{introductory_video_link}.
+      more_videos: Hi ha %{more_videos_link}.
       more_videos_here: més de vídeos aquí
       user_wiki_page: "Es recomana que es crea una pàgina de wiki de l'usuari, que inclou Etiquetes de categoria assenyalant on estàs, com <a href=\"http://wiki.openstreetmap.org/wiki/Category:Users_in_London\">[[Categoria: Users_in_London]]</a>."
       video_to_openstreetmap: vídeo d'introducció a OpenStreetMap
@@ -1123,9 +1144,9 @@ ca:
       allow_write_diary: crear entrades de diari, comentaris i fer amics.
       allow_write_gpx: carregar traces GPS.
       allow_write_prefs: modificar les seves preferències d'usuari.
-      request_access: L'aplicació % {app_name} sol·licita accés al seu compte, % (usuari). Si us plau marqui si vostè would com l'aplicació té les següents capacitats. Vostè pot triar tantes o tan poc com vulgui.
+      request_access: L'aplicació %{app_name} sol·licita accés al seu compte, %{user}. Si us plau marqui si vostè would com l'aplicació té les següents capacitats. Vostè pot triar tantes o tan poc com vulgui.
     revoke: 
-      flash: He estat revocat el símbol % {aplicació}
+      flash: He estat revocat el testimoni per %{application}
   oauth_clients: 
     create: 
       flash: Registrar la informació amb èxit
@@ -1153,7 +1174,7 @@ ca:
       list_tokens: "Les fitxes següents s'han emès per aplicacions en el seu nom:"
       my_apps: Meves aplicacions de Client
       my_tokens: Meves aplicacions autoritzada
-      no_apps: Té una aplicació que li agradaria inscriure's per al seu ús amb nosaltres utilitzant l'estàndard % {oauth}? Heu de registrar la seva aplicació web abans que pugui fer peticions OAuth a aquest servei.
+      no_apps: Té una aplicació que li agradaria inscriure's per al seu ús amb nosaltres utilitzant l'estàndard %{oauth}? Heu de registrar la seva aplicació web abans que pugui fer peticions OAuth a aquest servei.
       register_new: Registrar-se l'aplicació
       registered_apps: "Vostè té les següents aplicacions client registrats:"
       revoke: Revocar!
@@ -1162,7 +1183,7 @@ ca:
       submit: Registrar-se
       title: Registrar-se una nova aplicació
     not_found: 
-      sorry: Ho sento, que no s'ha pogut trobar el que % {tipus}.
+      sorry: Ho sento, no s'ha pogut trobar el %{type}.
     show: 
       access_url: "Accés Fitxa URL:"
       allow_read_gpx: llegir les seves traces GPS privats.
@@ -1177,17 +1198,17 @@ ca:
       requests: "Sol·licitar els permisos següents des de l'usuari:"
       secret: "Secret de consum:"
       support_notice: Donem suport a HMAC-SHA1 (recomanat), així com text sense format en el mode de ssl.
-      title: OAuth detalls {app_name}
+      title: OAuth detalls per %{app_name}
       url: "Sol. licitud Token URL:"
     update: 
       flash: La informació de client ha actualitzat correctament
   site: 
     edit: 
-      anon_edits_link_text: Esbrinar per què aquest és el cas.
+      anon_edits_link_text: Esbrina perquè aquest és el cas.
       flash_player_required: Vostè necessita un intèrpret de flaix per utilitzar Potlatch, l'editor de OpenStreetMap Flash. Vostè pot <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Descarregar Flash Player des de Adobe.com</a>. També hi ha <a href="http://wiki.openstreetmap.org/wiki/Editing">diverses altres opcions</a> per editar-lo OpenStreetMap.
       no_iframe_support: El seu navegador no suporta iframes HTML, que són necessàries per a aquest tret.
       not_public: No ha posat les modificacions per ser públic.
-      not_public_description: Ja no es pot editar el mapa a menys que vostè fer-ho. Pot configurar les modificacions com a públic del seu % {user_page}.
+      not_public_description: Ja no es pot editar el mapa a menys que vostè fer-ho. Pot configurar les modificacions com a públic del seu %{user_page}.
       potlatch2_not_configured: No s'ha configurat Potlatch 2 - si us plau, veure http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2 per a més informació
       potlatch2_unsaved_changes: Vostè té canvis no desats. (D'estalviar en Potlatch 2, hauria de fer clic Salvar.)
       potlatch_unsaved_changes: Vostè té canvis no desats. (Per salvar a Potlatch, vostè ha desseleccionar la manera actual o punt, si d'edició en mode en viu, o clic Salvar si vostè té un salvar botó.)
@@ -1198,7 +1219,7 @@ ca:
       js_3: Pot voler provar el <a href="http://tah.openstreetmap.org/Browse/">navegador mosaic estàtica de Tiles@Home</a> si és incapaç d'activar JavaScript.
       license: 
         license_name: Creative Commons Reconeixement-Compartir Igual 2.0
-        notice: Llicenciat sota la llicència % {license_name} per % {project_name} i els seus contribuents.
+        notice: Llicenciat sota la llicència %{license_name} per %{project_name} i els seus contribuents.
         project_name: projecte OpenStreetMap
       permalink: Enllaç permanent
       remote_failed: Edició ha fallat - assegureu-vos que JOSM o Merkaartor es carrega i l'opció de comandament a distància és habilitat
@@ -1251,8 +1272,8 @@ ca:
           resident: Zona residencial
           retail: Zona de venda al detall
           runway: 
-            - Pista d'Aeroport
-            - TAXIWAY
+            - Pista d'aeroport
+            - carril de taxi
           school: 
             - Escola
             - Universitat
@@ -1309,13 +1330,13 @@ ca:
       visibility_help: Què vol dir això?
     list: 
       public_traces: Traces GPS públiques
-      public_traces_from: Públics traces GPS de % (usuari)
+      public_traces_from: Públics traces GPS de %{user}
       tagged_with: " etiquetat amb %{tags}"
       your_traces: Les teves traces GPS
     make_public: 
       made_public: Water fet públic
     no_such_user: 
-      body: Ho sentim, no hi ha cap usuari amb el nom % (usuari). Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
+      body: Ho sentim, no hi ha cap usuari amb el nom %{user}. Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
       heading: No existeix l'usuari %{user}
       title: No existeix l`usuari
     offline: 
@@ -1336,7 +1357,7 @@ ca:
       pending: PENDENT
       private: PRIVAT
       public: PUBLIC
-      trace_details: Veure detalls de la traça
+      trace_details: Mostra els detalls de la traça
       trackable: RASTREABLE
       view_map: Visualitza el mapa
     trace_form: 
@@ -1351,13 +1372,13 @@ ca:
     trace_header: 
       see_all_traces: Mostra totes les traces
       see_your_traces: Mostra totes les vostres traces
-      traces_waiting: Vostè té % {count} traces d'espera per a carregar. Si us plau consideri espera per a aquests per acabar abans de pujar més, per tal de bloquejar la cua per a altres usuaris.
+      traces_waiting: Vostè té %{count} traces d'espera per a carregar. Si us plau consideri espera per a aquests per acabar abans de pujar més, per tal de bloquejar la cua per a altres usuaris.
       upload_trace: Carregar una traça
     trace_optionals: 
       tags: Etiquetes
     trace_paging_nav: 
       next: Següent »
-      previous: « Previ
+      previous: « Anterior
       showing_page: Mostrant pàgina %{page}
     view: 
       delete_track: Elimina aquesta traça
@@ -1388,12 +1409,12 @@ ca:
       contributor terms: 
         agreed: Que han accedit a les noves condicions de col. laborador.
         agreed_with_pd: També heu declarat que considereu que les vostres modificacions han d'estar en el domini públic.
-        heading: "Col. laborador termes:"
+        heading: "Termes de col·laboració:"
         link text: què és això?
         not yet agreed: Que han no encara s'ha accedit a les noves condicions de col. laborador.
         review link text: Si us plau, seguiu aquest enllaç a la seva conveniència de revisar i acceptar els termes de col. laborador nou.
       current email address: "Adreça de correu electrònic actual:"
-      delete image: Treure la imatge actual
+      delete image: Suprimeix la imatge actual
       email never displayed publicly: (no es mostrarà mai en públic)
       flash update success: Informació de l'usuari ha actualitzat correctament.
       flash update success confirm needed: Informació de l'usuari ha actualitzat correctament. Comprovi el seu e-mail per a una nota per confirmar la seva adreça de correu electrònic nou.
@@ -1425,7 +1446,7 @@ ca:
       public editing note: 
         heading: Modificació pública
         text: Actualment les vostres modificacions estan anònims i la gent no pot enviar missatges o veure la vostra ubicació. Per mostrar el que editat i permetre que la gent en contacte amb vostè a través del web, feu clic al botó de sota. <b>Des de canvi de l'API 0.6, només els usuaris públics pot editar les dades de mapa</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">esbrinar per què</a>).<ul><li>Adreces de correu electrònic no serà revelada per convertir-se en públic.</li><li>Aquesta acció no es pot fer la inversió i els nous usuaris ara són públics per defecte.</li></ul>
-      replace image: Substituir la imatge actual
+      replace image: Reemplaça la imatge actual
       return to profile: Torna al perfil
       save changes button: Desa els canvis
       title: Edita el compte
@@ -1446,8 +1467,8 @@ ca:
       press confirm button: Premeu el botó de confirmar sota per confirmar la seva adreça de correu electrònic nou.
       success: S'ha confirmat l'adreça electrònica, gràcies per registrar-vos-hi!
     confirm_resend: 
-      failure: L'usuari % {name} no s'ha trobat.
-      success: Hem enviat un bitllet de confirmació nou per % {email} i tan aviat com vostè confirmar el seu compte es podrà aconseguir d'assignació.<br><br>Si utilitzeu un sistema que envia les sol·licituds de confirmació llavors si us plau fer segur whitelist webmaster@openstreetmap.org com som capaços de respondre a qualsevol sol·licituds de confirmació.
+      failure: L'usuari %{name} no s'ha trobat.
+      success: Hem enviat un bitllet de confirmació nou per %{email} i tan aviat com vostè confirmar el seu compte es podrà aconseguir d'assignació.<br><br>Si utilitzeu un sistema que envia les sol·licituds de confirmació llavors si us plau fer segur whitelist webmaster@openstreetmap.org com som capaços de respondre a qualsevol sol·licituds de confirmació.
     filter: 
       not_an_administrator: Cal que sigueu administrador per dur a terme aquesta acció.
     go_public: 
@@ -1458,14 +1479,14 @@ ca:
       heading: Usuaris
       hide: Amaga els usuaris seleccionats
       showing: 
-        one: "mostrant pàgina % {page} (% {first_item} de % {elements}) "
-        other: Mostrant pàgina % {page} ( %{first_item}-% {last_item} de % {elements})
-      summary: "% {name} creat a partir de % {direcciónIP} el % {data}"
-      summary_no_ip: "% {name} creat el % {data}"
+        one: "mostrant pàgina %{page} (%{first_item} de %{items}) "
+        other: Mostrant pàgina %{page} (%{first_item}-%{last_item} de %{items})
+      summary: "%{name} creat a partir de %{ip_address} el %{date}"
+      summary_no_ip: "%{name} creat el %{date}"
       title: Usuaris
     login: 
+      account is suspended: Ho sentim, s'ha suspès el vostre compte per presentar una activitat sospitosa.<br />Contacteu amb el <a href="%{webmaster}">webmestre</a> si voleu parlar-ne.
       account not active: Ho sentim, el teu compte encara no està actiu.<br>Si us plau utilitzi l'enllaç a l'e-mail de confirmació de compte d'activar el seu compte, o <a href="%{reconfirm}">demanar un nou correu electrònic de confirmació</a>.
-      account suspended: Ho sentim, el seu compte ha estat suspès a causa de l'activitat sospitosa.<br>Si us plau contacti's amb % {webmaster} si vostè desitja discutir això.
       auth failure: Ho sentim, no pot registrar en amb els detalls.
       create account minute: Crear un compte. Només es triga un minut.
       email or username: "Adreça de correu o usuari:"
@@ -1474,7 +1495,8 @@ ca:
       lost password link: Heu perdut la contrasenya?
       new to osm: Nou a OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Esbrinar més sobre el canvi de llicència futura de OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traduccions</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discussió</a>)
-      openid: "% {logo} OpenID:"
+      notice_terms: "L'OpenStreetMap farà servir una altra llicència a partir de l'1 d'abril de 2012. És tan oberta com l'actual, però els seus detalls legals s'adeqüen millor a la nostra base de dades de mapes.\nEns agradaria conservar les vostres contribucions a l'OpenStreetMap, però només podem fer-ho si esteu d'acord en distribuir-les sota la llicència nova. Sinó, no podem fer altra cosa que suprimir-les de la base de dades.<br /><br />Inicieu una sessió i dediqueu uns pocs segons a revisar-ho i acceptar els nous termes. Moltes gràcies!"
+      openid: "%{logo} OpenID:"
       openid invalid: Ho sentim, el seu OpenID sembla ser no vàlida
       openid missing provider: Ho sento, podria no en contacte amb el seu proveïdor d'OpenID
       openid_logo_alt: Connecti's amb un OpenID
@@ -1502,7 +1524,6 @@ ca:
       remember: "Recorda'm:"
       title: Accés
       to make changes: Per fer canvis a les dades de OpenStreetMap, ha de tenir un compte.
-      webmaster: webmestre
       with openid: "Alternativament, si us plau utilitzi el seu OpenID per connectar-se:"
       with username: "Ja teniu un compte de OpenStreetMap? Si us plau connecti's amb el seu nom d'usuari i contrasenya:"
     logout: 
@@ -1518,8 +1539,8 @@ ca:
       notice email on way: Trist que perdia:-(però un correu electrònic està en camí així pot restaurar això aviat.
       title: contrasenya perduda
     make_friend: 
-      already_a_friend: Que ja són amics amb % {name}.
-      failed: Ho sentim, no afegir % {name} com un amic.
+      already_a_friend: Que ja són amics amb %{name}.
+      failed: Ho sentim, no afegir %{name} com un amic.
       success: "%{name} ara és el vostre amic."
     new: 
       confirm email address: "Confirmar adreça de correu electrònic:"
@@ -1530,30 +1551,30 @@ ca:
       display name description: El vostre usuari mostrat públicament. Això pot canviar més tard en les preferències.
       email address: "Adreça de correu:"
       fill_form: Ompli el formulari i us enviarem un correu electrònic ràpid per activar el seu compte.
-      flash create success message: Gràcies per registrar-se. Hem enviat un bitllet de confirmació a % {email} i tan aviat com vostè confirmar el seu compte es podrà aconseguir d'assignació.<br><br>Si utilitzeu un sistema que envia les sol·licituds de confirmació llavors si us plau fer segur whitelist webmaster@openstreetmap.org com som capaços de respondre a qualsevol sol·licituds de confirmació.
+      flash create success message: Gràcies per registrar-se. Hem enviat un bitllet de confirmació a %{email} i tan aviat com vostè confirmar el seu compte es podrà aconseguir d'assignació.<br><br>Si utilitzeu un sistema que envia les sol·licituds de confirmació llavors si us plau fer segur whitelist webmaster@openstreetmap.org com som capaços de respondre a qualsevol sol·licituds de confirmació.
       heading: Crea un compte d'usuari
       license_agreement: Quan vostè confirmar el seu compte necessita estar d'acord amb els <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">termes de col. laborador</a>.
       no_auto_account_create: Per desgràcia no som actualment capaços de crear un compte per a vostè automàticament.
       not displayed publicly: No mostraran públicament (vegeu la <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">política de privacitat</a>)
-      openid: "% {logo} OpenID:"
+      openid: "%{logo} OpenID:"
       openid association: "<p>El seu OpenID encara no està associat a un compte de OpenStreetMap.</p>\n<ul>\n<li>Si sou nous a OpenStreetMap, si us plau, crear un compte nou utilitzant el formulari a continuació.</li>\n<li>\n    Si ja teniu un compte, es pot connectar al seu compte\n    utilitzant el seu nom d'usuari i contrasenya i llavors associat el compte\n    amb el seu OpenID en les seves escenes d'usuari.\n</li>\n</ul>"
       openid no password: Amb OpenID una contrasenya no és necessària, però algunes eines extres o servidor pot encara necessita un.
       password: "Contrasenya:"
       terms accepted: Gràcies per a l'acceptació de les condicions de col. laborador nou!
       terms declined: Lamentem que vostè ha decidit no acceptar els nous termes de col. laborador. Per a més informació, si us plau vegi <a href="%{url}">aquesta pàgina de wiki</a>.
       title: Crear compte
-      use openid: Alternativament, utilitzi % {logo} OpenID per connectar-se
+      use openid: Alternativament, utilitzi %{logo} OpenID per connectar-se
     no_such_user: 
-      body: Ho sentim, no hi ha cap usuari amb el nom % (usuari). Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
-      heading: No existeix l'usuari % (usuari)
+      body: Ho sentim, no hi ha cap usuari amb el nom %{user}. Si us plau, comproveu l'ortografia, o potser l'enllaç que es fa clic està malament.
+      heading: No existeix l'usuari %{user}
       title: No existeix aquest usuari
     popup: 
       friend: Amic
       nearby mapper: L'Assignador proper
       your location: La vostra ubicació
     remove_friend: 
-      not_a_friend: "% {name} no és un dels seus amics."
-      success: "% {name} s'ha suprimit dels teus amics."
+      not_a_friend: "%{name} no és un dels seus amics."
+      success: "%{name} s'ha suprimit dels teus amics."
     reset_password: 
       confirm password: "Confirmeu la contrasenya:"
       flash changed: S'ha canviat la contrasenya.
@@ -1565,7 +1586,7 @@ ca:
     set_home: 
       flash success: Localització de casa desat correctament
     suspended: 
-      body: "<p>\n  Ho sentim, el seu compte ha estat automàticament suspès a causa de\n  l'activitat sospitosa.\n</p>\n<p>\n  Aquesta decisió serà revisat per un administrador en breu, o\n  es pot contactar amb el % {webmaster} si vostè desitja discutir això.\n</p>"
+      body: "<p>\n  Ho sentim, el seu compte ha estat automàticament suspès a causa de\n  l'activitat sospitosa.\n</p>\n<p>\n  Aquesta decisió serà revisat per un administrador en breu, o\n  es pot contactar amb el %{webmaster} si vostè desitja discutir això.\n</p>"
       heading: Compte suspès
       title: Compte suspès
       webmaster: per a administradors web
@@ -1586,38 +1607,47 @@ ca:
       you need to accept or decline: Si us plau, llegiu i llavors acceptar o disminució de les condicions de col. laborador nou per continuar.
     view: 
       activate_user: activa aquest usuari
-      add as friend: afegir com a amic
+      add as friend: afegeix com a amic
       ago: (fa %{time_in_words_ago})
-      block_history: veure blocs va rebre
+      block_history: mostra els blocs rebuts
       blocks by me: blocs per mi
       blocks on me: blocs en mi
+      comments: comentaris
       confirm: Confirma
       confirm_user: confirma aquest usuari
       create_block: bloca aquest usuari
       created from: "Creat a partir de:"
+      ct accepted: Acceptada fa %{ago}
+      ct declined: Declinats
+      ct status: "Termes del col·laborador:"
+      ct undecided: No decidit
       deactivate_user: desactiva aquest usuari
       delete_user: Suprimeix aquest usuari
       description: Descripció
       diary: diari
       edits: modificacions
       email address: "Adreça de correu:"
+      friends_changesets: Navega per tots els conjunts de canvis dels vostres amics
+      friends_diaries: Navega totes les entrades de diari dels amics
       hide_user: amagar aquest usuari
-      if set location: Si establiu la vostra ubicació, un mapa força i matèria es mostrarà aquí. Podeu configurar la vostra ubicació de casa a la seva pàgina % {settings_link}.
+      if set location: Si establiu la vostra ubicació, un mapa força i matèria es mostrarà aquí. Podeu configurar la vostra ubicació de casa a la seva pàgina %{settings_link}.
       km away: "%{count}km de distància"
-      latest edit: "Últimes editar % {fa}:"
+      latest edit: "Última edició %{ago}:"
       m away: "%{count}m de distància"
       mapper since: "Mapejant des de:"
-      moderator_history: veure blocs donats
+      moderator_history: mostra els blocs donats
       my diary: el meu diari
       my edits: les meves edicions
       my settings: les meves preferències
       my traces: les meves traces
       nearby users: Altres usuaris propers
+      nearby_changesets: Navega tots els conjunts de canvis dels usuaris propers
+      nearby_diaries: Navega totes les entrades de diari dels usuaris propers
       new diary entry: Nova entrada del diari
       no friends: No has afegit cap amics encara.
       no nearby users: Hi ha altres usuaris que admetre a Cartografia prop encara.
       oauth settings: configuració OAuth
-      remove as friend: Elimina com a amic
+      remove as friend: elimina com a amic
       role: 
         administrator: Aquest usuari és administrador
         grant: 
@@ -1627,7 +1657,7 @@ ca:
         revoke: 
           administrator: Revocar l'accés d'administrador
           moderator: Revocar l'accés de moderador
-      send message: enviar missatge
+      send message: envia el missatge
       settings_link_text: preferències
       spam score: "Spam Puntuació:"
       status: "Estat:"
@@ -1637,33 +1667,33 @@ ca:
       your friends: Els vostres amics
   user_block: 
     blocks_by: 
-      empty: "% {name} no ha fet cap blocs encara."
-      heading: Llista de blocs % {name}
-      title: Blocs % {name}
+      empty: "%{name} no ha fet cap blocs encara."
+      heading: Llista de blocs %{name}
+      title: Blocs %{name}
     blocks_on: 
-      empty: "% {name} no ha estat bloquejat encara."
-      heading: Llista de quadres a % {name}
-      title: Blocs en % {name}
+      empty: "%{name} no ha estat bloquejat encara."
+      heading: Llista de quadres a %{name}
+      title: Blocs en %{name}
     create: 
-      flash: Crear un bloc a l'usuari % {name}.
+      flash: Crear un bloc a l'usuari %{name}.
       try_contacting: Si us plau, intentar contactar-se amb l'usuari abans de bloqueig d'ells i donar-los un termini raonable per respondre.
       try_waiting: Si us plau tracti de donar l'usuari d'un termini raonable per respondre abans de bloqueig d'ells.
     edit: 
       back: Mostra tots els blocs
-      heading: Bloc d'edició en % {name}
-      needs_view: L'usuari necessita connectar abans d'aquest bloc se suprimiran?
+      heading: Bloc d'edició en %{name}
+      needs_view: L'usuari necessita connectar-se abans que aquest bloqueig es suprimeixi?
       period: Quant de temps, a partir d'ara, l'usuari es bloqueja des de l'API per a.
-      reason: La raó per què està sent bloquejat % {name}. Si us plau, ser tan tranquil i tan raonable com sigui possible, donant amb tant detall com sigui possible sobre la situació. Tingueu en compte que no tots els usuaris de comprendre l'argot de la comunitat, així que si us plau, intenti utilitzar termes de l'home comú.
+      reason: La raó per què està sent bloquejat %{name}. Si us plau, ser tan tranquil i tan raonable com sigui possible, donant amb tant detall com sigui possible sobre la situació. Tingueu en compte que no tots els usuaris de comprendre l'argot de la comunitat, així que si us plau, intenti utilitzar termes de l'home comú.
       show: Mostra el bloc
       submit: Bloc d'Actualització
-      title: Bloc d'edició en % {name}
+      title: Bloc d'edició en %{name}
     filter: 
       block_expired: El bloc ja ha expirat i no es pot editar.
       block_period: El període de blocatge ha de ser un dels valors seleccionables de la llista desplegable.
       not_a_moderator: Vostè necessita ser un moderador per dur a terme aquesta acció.
     helper: 
-      time_future: Finalitza en % {time}.
-      time_past: Va acabar % {time} fa.
+      time_future: Finalitza en %{time}.
+      time_past: Va acabar fa %{time}.
       until_login: Activa fins que l'usuari es connecta.
     index: 
       empty: No hi ha blocs s'han fet encara.
@@ -1674,17 +1704,17 @@ ca:
       non_moderator_update: Ha de ser un moderador per crear o un bloc d'actualització.
     new: 
       back: Veure tots els blocs
-      heading: Creació de bloc % {name}
-      needs_view: L'usuari necessita connectar abans d'aquest bloc se suprimirà
-      period: Quant de temps, a partir d'ara, l'usuari es bloqueja des de l'API per a.
-      reason: La raó per què està sent bloquejat % {name}. Si us plau, ser tan tranquil i tan raonable com sigui possible, donant amb tant detall com sigui possible sobre la situació, recordant que el missatge serà visible públicament. Tingueu en compte que no tots els usuaris de comprendre l'argot de la comunitat, així que si us plau, intenti utilitzar termes de l'home comú.
+      heading: Creació de bloc %{name}
+      needs_view: L'usuari necessita connectar-se abans que aquest bloqueig es suprimeixi
+      period: Quant de temps, a partir d'ara, l'usuari es bloqueja des de l'API.
+      reason: La raó per què està sent bloquejat %{name}. Si us plau, estigui tan tranquil i tan raonable com sigui possible, donant tant detall com sigui possible sobre la situació, recordant que el missatge serà visible públicament. Tingueu en compte que no tots els usuaris comprenen l'argot de la comunitat, així que si us plau, intenti utilitzar termes de comuns.
       submit: Crear bloc
-      title: Creació de bloc % {name}
-      tried_contacting: Vaig posar en contacte amb l'usuari i els va demanar d'aturar.
-      tried_waiting: Li he donat una quantitat raonable de temps per a l'usuari per a respondre a aquestes comunicacions.
+      title: Creació de bloc %{name}
+      tried_contacting: Em vaig posar en contacte amb l'usuari i li vaig demanar que s'atures.
+      tried_waiting: Li he donat una quantitat raonable de temps a l'usuari per a respondre a aquestes comunicacions.
     not_found: 
       back: Torna a l'índex
-      sorry: Ho sentim, que el bloc de l'usuari amb ID % {id} no s'ha pogut trobar.
+      sorry: Ho sentim, que el bloc de l'usuari amb ID %{id} no s'ha pogut trobar.
     partial: 
       confirm: N'esteu segur?
       creator_name: Creador
@@ -1702,25 +1732,25 @@ ca:
     revoke: 
       confirm: Esteu segur que voleu revocar aquest bloc?
       flash: Aquest bloc ha estat revocat.
-      heading: Revocació de bloc en % {block_on} % {block_by}
-      past: Aquest bloc va acabar % {time} fa i no pot ser revocat ara.
-      revoke: Revocar!
-      time_future: Aquest bloc va a acabar en % {time}.
-      title: Revocació de bloc en % {block_on}
+      heading: Revocació de bloc en %{block_on} %{block_by}
+      past: Aquest bloc va acabar fa %{time} i no pot ser revocat ara.
+      revoke: Revoca!
+      time_future: Aquest bloc va a acabar en %{time}.
+      title: Revocació de bloc en %{block_on}
     show: 
       back: Mostra tots els blocs
       confirm: N'esteu segur?
       edit: Edició
-      heading: "% {block_on} bloquejat per % {block_by}"
+      heading: "%{block_on} bloquejat per %{block_by}"
       needs_view: L'usuari ha d'iniciar una sessió abans que es netegi el bloc.
-      reason: "Raó de bloc:"
+      reason: "Motiu del blocatge:"
       revoke: Revoca-ho!
       revoker: "Revoker:"
       show: Mostra
       status: Estat
-      time_future: Finalitza en % {time}
-      time_past: Va acabar % {time} fa
-      title: "% {block_on} bloquejat per % {block_by}"
+      time_future: Finalitza en %{time}
+      time_past: Va acabar %{time} fa
+      title: "%{block_on} bloquejat per %{block_by}"
     update: 
       only_creator_can_edit: Només el moderador que ha creat aquest bloc pot editar-lo.
       success: Bloc d'actualització.
@@ -1731,14 +1761,14 @@ ca:
       not_a_role: La cadena `%{role}' no és un rol vàlid.
       not_an_administrator: Només els administradors poden realitzar l'administració de rols de usuaris, i vosté no és un administrador.
     grant: 
-      are_you_sure: Esteu segur que voleu concedir el paper "% {paper}" a l'usuari "% {name}"?
+      are_you_sure: Esteu segur que voleu concedir el paper "%{role}" a l'usuari "%{name}"?
       confirm: Confirma
-      fail: Podria concedeix paper "% {paper}" a l'usuari "% {name}". Si us plau, comproveu que l'usuari i el paper són vàlids.
+      fail: Podria concedeix paper "%{role}" a l'usuari "%{name}". Si us plau, comproveu que l'usuari i el paper són vàlids.
       heading: Confirmi la concessió de rol
       title: Confirmi la concessió de rol
     revoke: 
       are_you_sure: Esteu segur que voleu revocar el rol `%{role}' de l'usuari `%{name}'?
       confirm: Confirma
-      fail: No s'ha pogut revocar el paper "% {paper}" des de l'usuari "% {name}". Si us plau, comproveu que l'usuari i el paper són vàlids.
+      fail: No s'ha pogut revocar el paper "%{role}" des de l'usuari "%{name}". Si us plau, comproveu que l'usuari i el paper són vàlids.
       heading: Confirmar revocació de rol
       title: Confirmar revocació de rol
index 84aafcbb2746cdcc53359afddcdba2e756deaf9b..aa827b70c73b3a07c7178490375cb57653d39d3e 100644 (file)
@@ -290,14 +290,20 @@ cs:
     list: 
       description: Poslední změny
       description_bbox: Sady změn v %{bbox}
+      description_friend: Sady změn vašich přátel
+      description_nearby: Sady změn uživatelů poblíž
       description_user: Sady změn uživatele %{user}
       description_user_bbox: Sady změn uživatele %{user} v %{bbox}
       heading: Sady změn
       heading_bbox: Sady změn
+      heading_friend: Sady změn
+      heading_nearby: Sady změn
       heading_user: Sady změn
       heading_user_bbox: Sady změn
       title: Sady změn
       title_bbox: Sady změn v %{bbox}
+      title_friend: Sady změn vašich přátel
+      title_nearby: Sady změn uživatelů poblíž
       title_user: Sady změn uživatele %{user}
       title_user_bbox: Sady změn uživatele %{user} v %{bbox}
     timeout: 
@@ -348,6 +354,8 @@ cs:
       older_entries: Starší záznamy
       recent_entries: "Aktuální deníčkové záznamy:"
       title: Deníčky uživatelů
+      title_friends: Deníčky přátel
+      title_nearby: Deníčky uživatelů poblíž
       user_title: Deníček uživatele %{user}
     location: 
       edit: Upravovat
@@ -395,11 +403,9 @@ cs:
       licence: Licence
       longitude: "Délka:"
       manually_select: Ručně vybrat jinou oblast
-      mapnik_image: Obrázek z Mapniku
       max: max.
       options: Nastavení
       osm_xml_data: Data OpenStreetMap XML
-      osmarender_image: Obrázek z Osmarenderu
       output: Výstup
       paste_html: Ke vložení na stránku použijte toto HTML
       scale: Měřítko
@@ -455,6 +461,7 @@ cs:
     search_osm_namefinder: 
       suffix_parent: "%{suffix} (%{parentdistance} na %{parentdirection} od %{parentname})"
       suffix_place: ", %{distance} na %{direction} od %{placename}"
+      suffix_suburb: "%{parentname} - %{suffix}"
     search_osm_nominatim: 
       prefix: 
         amenity: 
@@ -546,7 +553,7 @@ cs:
           veterinary: Veterinární ordinace
           village_hall: Společenský sál
           waste_basket: Odpadkový koš
-          wifi: Přístupový bod WiFi
+          wifi: Přístup k WiFi
           youth_centre: Centrum pro mládež
         boundary: 
           administrative: Administrativní hranice
@@ -934,7 +941,7 @@ cs:
     intro_1: OpenStreetMap je svobodná editovatelná mapa celého světa. Tvoří ji lidé jako vy.
     intro_2: OpenStreetMap vám umožňuje společně si prohlížet, upravovat a používat geografická data z libovolného místa na Zemi.
     intro_3: Hosting OpenStreetMap laskavě poskytují %{ucl}, %{ic} a %{bytemark}. Další partneři projektu jsou uvedeni na %{partners}.
-    intro_3_bytemark: bytemark
+    intro_3_bytemark: Bytemark Hosting
     intro_3_ic: Imperial College London
     intro_3_partners: wiki
     intro_3_ucl: středisko VR UCL
@@ -963,6 +970,7 @@ cs:
     welcome_user_link_tooltip: Vaše uživatelská stránka
     wiki: wiki
     wiki_title: Wiki k tomuto projektu
+    wiki_url: http://wiki.openstreetmap.org/wiki/CS:Main_Page?uselang=cs
   license_page: 
     foreign: 
       english_link: anglickým originálem
@@ -980,13 +988,21 @@ cs:
     inbox: 
       date: Datum
       from: Od
+      messages: Máte %{new_messages} a %{old_messages}
       my_inbox: Má doručená pošta
+      new_messages: 
+        few: "%{count} nové zprávy"
+        one: "%{count} novou zprávu"
+        other: "%{count} nových zpráv"
       no_messages_yet: Zatím nemáte žádné zprávy. Co třeba kontaktovat nějaké %{people_mapping_nearby_link}?
+      old_messages: 
+        few: "%{count} staré zprávy"
+        one: "%{count} starou zprávu"
+        other: "%{count} starých zpráv"
       outbox: odeslaná pošta
       people_mapping_nearby: uživatele poblíž
       subject: Předmět
       title: Doručená pošta
-      you_have: Máte %{new_count} nových a %{old_count} starých zpráv
     mark: 
       as_read: Zpráva označena jako přečtená
       as_unread: Zpráva označena jako nepřečtená
@@ -1015,6 +1031,10 @@ cs:
     outbox: 
       date: Datum
       inbox: doručená pošta
+      messages: 
+        few: Máte %{count} odeslané zprávy
+        one: Máte %{count} odeslanou zprávu
+        other: Máte %{count} odeslaných zpráv
       my_inbox: Má %{inbox_link}
       no_sent_messages: Nemáte žádné odeslané zprávy. Co třeba kontaktovat nějaké %{people_mapping_nearby_link}?
       outbox: odeslaná pošta
@@ -1022,7 +1042,6 @@ cs:
       subject: Předmět
       title: Odeslaná pošta
       to: Komu
-      you_have_sent_messages: Máte %{count} odeslaných zpráv
     read: 
       back_to_inbox: Zpět do přijatých zpráv
       back_to_outbox: Zpět do odeslaných zpráv
@@ -1120,11 +1139,11 @@ cs:
       more_videos: "Další videa najdete na:"
       opengeodata: "OpenGeoData.org je blog zakladatele OpenStreetMap Steva Coasta, nabízí i podcasty:"
       the_wiki: "Přečtěte si něco o OpenStreetMap na wiki:"
-      the_wiki_url: http://wiki.openstreetmap.org/wiki/Cs:Beginners_Guide?uselang=cs
+      the_wiki_url: http://wiki.openstreetmap.org/wiki/CS:Beginners_Guide?uselang=cs
       user_wiki_1: Doporučujeme, abyste si na wiki založili uživatelskou stránku, na které
       user_wiki_2: kategoriemi označíte, odkud pocházíte, například [[Category:Users in Praha]].
       wiki_signup: "Také se můžete chtít zaregistrovat na OpenStreetMap wiki:"
-      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=Cs:Main_Page&uselang=cs
+      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=CS:Main_Page&uselang=cs
   oauth: 
     oauthorize: 
       allow_read_gpx: číst vaše soukromé GPS stopy.
@@ -1400,6 +1419,7 @@ cs:
         agreed: Odsouhlasili jste nové Podmínky pro přispěvatele.
         agreed_with_pd: Také jste prohlásili, že své editace považujete za volné dílo.
         heading: "Podmínky pro přispěvatele:"
+        link: http://wiki.openstreetmap.org/wiki/CS:Open_Database_License/Contributor_Terms?uselang=cs
         link text: co to znamená?
         not yet agreed: Dosud jste neodsouhlasili nové Podmínky pro přispěvatele.
         review link text: Až se vám to bude hodit, pomocí tohoto odkazu si prosím přečtěte a odsouhlaste nové Podmínky pro přispěvatele.
@@ -1420,7 +1440,7 @@ cs:
       new image: Přidat obrázek
       no home location: Nezadali jste polohu svého bydliště.
       openid: 
-        link: http://wiki.openstreetmap.org/wiki/Cs:OpenID
+        link: http://wiki.openstreetmap.org/wiki/CS:OpenID
         link text: co to znamená?
         openid: "OpenID:"
       preferred editor: "Preferovaný editor:"
@@ -1475,8 +1495,8 @@ cs:
       summary_no_ip: "%{name} vytvořen %{date}"
       title: Uživatelé
     login: 
+      account is suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.<br />Pokud to chcete řešit, kontaktujte <a href="%{webmaster}">správce serveru</a>.
       account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.<br />Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu, případně si <a href="%{reconfirm}">nechte poslat nový potvrzovací e-mail</a>.
-      account suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.<br />Pokud to chcete řešit, kontaktujte %{webmaster}.
       auth failure: Je mi líto, ale s uvedenými údaji se nemůžete přihlásit.
       create account minute: Založte si účet. Zabere to jen chvilku.
       email or username: "E-mailová adresa nebo uživatelské jméno:"
@@ -1485,6 +1505,7 @@ cs:
       lost password link: Ztratili jste heslo?
       new to osm: Jste na OpenStreetMap noví?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Zjistěte více o nadcházející změně licence OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">překlady</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskuse</a>)
+      notice_terms: OpenStreetMap přechází 1. dubna 2012 na novou licenci. Je stejně otevřená jako ta stávající, ale právní řešení je pro naší mapovou databázi mnohem vhodnější. Velice rádi bychom v OpenStreetMap zachovali vaše příspěvky, to ale můžeme jen v případě, že svolíte k jejich šíření pod novou licencí. V opačném případě je budeme muset z databáze odstranit.<br /><br />Prosíme, přihlaste se a věnujte chvilku k přečtení a odsouhlasení nových podmínek. Děkujeme!
       openid: "%{logo} OpenID:"
       openid invalid: Je nám líto, ale vaše OpenID vypadá chybně
       openid missing provider: Je nám líto, ale nepodařilo se kontaktovat vašeho poskytovatele OpenID
@@ -1513,7 +1534,6 @@ cs:
       remember: "Zapamatuj si mě:"
       title: Přihlásit se
       to make changes: Pokud chcete upravovat OpenStreetMap, musíte mít uživatelský účet.
-      webmaster: webmaster
       with openid: "Nebo se můžete přihlásit svým OpenID:"
       with username: "Máte už na OpenStreetMap účet? Přihlaste se svým jménem a heslem:"
     logout: 
@@ -1552,6 +1572,7 @@ cs:
       password: "Heslo:"
       terms accepted: Děkujeme za odsouhlasení nových podmínek pro přispěvatele!
       terms declined: Je nám líto, že jste se rozhodli nepřijmout nové Podmínky pro přispěvatele. Podrobnější informace najdete na <a href="%{url}">této wikistránce</a>.
+      terms declined url: http://wiki.openstreetmap.org/wiki/CS:Contributor_Terms_Declined?uselang=cs
       title: Vytvořit účet
       use openid: Případně se můžete přihlásit pomocí %{logo} OpenID
     no_such_user: 
@@ -1585,6 +1606,7 @@ cs:
       consider_pd: Navíc k výše uvedené dohodě považuji své příspěvky za volné dílo.
       consider_pd_why: co to znamená?
       decline: Nesouhlasím
+      declined: http://wiki.openstreetmap.org/wiki/CS:Contributor_Terms_Declined?uselang=cs
       guidance: "Informace, které pomohou tyto podmínky pochopit: <a href=\"%{summary}\">lidsky čitelné shrnutí</a> a nějaké <a href=\"%{translations}\">neoficiální překlady</a>"
       heading: Podmínky pro přispěvatele
       legale_names: 
@@ -1606,12 +1628,18 @@ cs:
       confirm_user: potvrdit tohoto uživatele
       create_block: blokovat tohoto uživatele
       created from: "Vytvořeno od:"
+      ct accepted: Přijaty před %{ago}
+      ct declined: Odmítnuty
+      ct status: "Podmínky pro přispěvatele:"
+      ct undecided: Nerozhodnuto
       deactivate_user: deaktivovat tohoto uživatele
       delete_user: odstranit tohoto uživatele
       description: Popis
       diary: deníček
       edits: editace
       email address: "E-mailová adresa:"
+      friends_changesets: Procházet všechny sady změn mých přátel
+      friends_diaries: Procházet všechny záznamy v deníčcích přátel
       hide_user: skrýt tohoto uživatele
       if set location: Když si nastavíte svou polohu, objeví se níže hezká mapka atp. Polohu domova si můžete nastavit na stránce %{settings_link}.
       km away: "%{count} km"
@@ -1624,6 +1652,8 @@ cs:
       my settings: moje nastavení
       my traces: moje stopy
       nearby users: Další uživatelé poblíž
+      nearby_changesets: Procházet všechny sady změn uživatelů poblíž
+      nearby_diaries: Procházet všechny záznamy v deníčcích uživatelů poblíž
       new diary entry: nový záznam do deníčku
       no friends: Zatím jste nepřidali žádné přátele.
       no nearby users: Nejsou známi žádní uživatelé, kteří by uvedli domov blízko vás.
index de3c7f7e4dd6cde1c480a3989dc9e20b0e246fab..71b70b52110b7dc64ba6438d1c7cddcc420ec29e 100644 (file)
@@ -4,6 +4,8 @@
 # Author: Christian List
 # Author: Ebbe
 # Author: Freek
+# Author: Gnonthgol
+# Author: Gorbi
 # Author: Hylle
 # Author: OleLaursen
 # Author: The real emj
@@ -55,6 +57,7 @@ da:
       message: Meddelelse
       node: Punk
       node_tag: Punktegenskab
+      notifier: Underret
       old_node: Tidligere punkt
       old_node_tag: Tidligere punktegenskab
       old_relation: Tidligere relation
@@ -81,6 +84,7 @@ da:
       cookies_needed: Du har tilsyneladende deaktiveret cookies i din browser. Aktivér cookies før du fortsætter.
     setup_user_auth: 
       blocked: Din adgang til API'et er blokeret. Log ind på webinterfacet for a finde ud mere.
+      need_to_see_terms: Din adgang til API-et er midlertidig stoppet. Log ind på netsiden for at læse bidragsydervilkårene. Du behøver ikke at godkende vilkårene, men du skal læse dem.
   browse: 
     changeset: 
       changeset: "Ændringssæt: %{id}"
@@ -284,14 +288,17 @@ da:
     list: 
       description: Seneste ændringer
       description_bbox: Ændringer inden for %{bbox}
+      description_friend: Changesets af dine venner
       description_user: Ændringssæt af %{user}
       description_user_bbox: Ændringssæt af %{user} inden for %{bbox}
       heading: Ændringssæt
       heading_bbox: Ændringssæt
+      heading_friend: Changesets
       heading_user: Ændringssæt
       heading_user_bbox: Ændringssæt
       title: Ændringssæt
       title_bbox: Ændringssæt inden for %{bbox}
+      title_friend: Changesets af dine venner
       title_user: Ændringssæt af %{user}
       title_user_bbox: Ændringssæt af %{user} inden for %{bbox}
     timeout: 
@@ -388,11 +395,9 @@ da:
       licence: Licens
       longitude: "Længde:"
       manually_select: Vælg et andet område manuelt
-      mapnik_image: Mapnik billede
       max: maks
       options: Indstillinger
       osm_xml_data: OpenStreetMap XML-data
-      osmarender_image: Osmarender billede
       output: Output
       paste_html: Indsæt HTML som skal ind i siden
       scale: Skala
@@ -887,6 +892,7 @@ da:
     map: 
       base: 
         cycle_map: Cykelkort
+        transport_map: Transportkort
     site: 
       edit_disabled_tooltip: Zoom ind for at rette kortet
       edit_tooltip: Ret kortet
@@ -974,7 +980,6 @@ da:
       people_mapping_nearby: folk som kortlægger i nærheden
       subject: Emne
       title: Indbakke
-      you_have: Du har %{new_count} ny beskeder og %{old_count} gamle beskeder
     mark: 
       as_read: Besked markeret som læst
       as_unread: Besked markeret som ulæst
@@ -1010,7 +1015,6 @@ da:
       subject: Emne
       title: Udbakke
       to: Til
-      you_have_sent_messages: Du har sendt %{count} beskeder
     read: 
       back_to_inbox: Tilbage til indbakke
       back_to_outbox: Tilbage til udbakke
@@ -1122,13 +1126,19 @@ da:
       submit: Redigér
       title: Rediger din applikation
     form: 
+      allow_write_api: ændre kortet.
       name: Navn
       required: Påkrævet
     new: 
       submit: Registrér
       title: Registrer en ny applikation
     show: 
+      allow_read_prefs: læs deres brugerindstillinger.
       allow_write_api: tilpas kortet.
+      allow_write_gpx: upload GPS-spor.
+      allow_write_prefs: ændre deres brugerindstillinger.
+      authorize_url: "Godkend URL:"
+      edit: Redigér detaljer
   site: 
     edit: 
       anon_edits_link_text: Find ud af hvorfor.
@@ -1143,6 +1153,7 @@ da:
       js_2: OpenStreetMap bruger JavaScript til det interaktive kort.
       js_3: Du kan prøve <a href="http://tah.openstreetmap.org/Browse/">de statiske Tiles@Home kortsider</a> hvis du ikke kan aktivere Javascript.
       license: 
+        license_name: Creative Commons Attribution-Share Alike 2.0
         notice: Licenseret under %{license_name}-licensen af %{project_name} og dets bidragydere.
         project_name: OpenStreetMap-projektet
       permalink: Permalink
@@ -1290,7 +1301,7 @@ da:
       tags: "Mærker:"
       tags_help: kommasepareret
       upload_button: Upload
-      upload_gpx: Upload GPX-fil
+      upload_gpx: "Upload GPX-fil:"
       visibility: "Synlighed:"
       visibility_help: hvad betyder det her?
     trace_header: 
@@ -1353,6 +1364,10 @@ da:
       new email address: "Ny e-mail-adresse:"
       new image: Tilføj et billede
       no home location: Du har ikke angivet din hjemmeposition.
+      openid: 
+        link: http://wiki.openstreetmap.org/wiki/OpenID
+        link text: hvad er dette?
+        openid: "OpenID:"
       preferred editor: "Foretrukket redigeringsprogram:"
       preferred languages: "Foretrukne sprog:"
       profile description: "Profilbeskrivelse:"
@@ -1406,7 +1421,6 @@ da:
       title: Brugere
     login: 
       account not active: Din konto er ikke aktiveret endnu.<br />Klik på linket i bekræftelsesemailen for at aktivere din konto eller <a href="%{reconfirm}">få sendt en ny bekræftelsesemail</a>.
-      account suspended: Beklager, din konto er blevet suspenderet på grund af mistænkelig aktivitet.<br />Kontakt %{webmaster} hvis du vil diskutere dette.
       auth failure: Kunne ikke logge på med disse oplysninger.
       create account minute: Opret en konto. Det tager kun et minut.
       email or username: "E-mail-adresse eller brugernavn:"
@@ -1415,12 +1429,34 @@ da:
       lost password link: Glemt adgangskode?
       new to osm: Ny på OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Læs mere om OpenStreetMaps kommende licensændring</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">oversættelser</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskussion</a>)
+      openid: "%{logo} OpenID:"
+      openid_logo_alt: Log i med et OpenID
+      openid_providers: 
+        aol: 
+          alt: Log ind med et AOL OpenID
+          title: Log ind med AOL
+        google: 
+          alt: Log ind med et Google OpenID
+          title: Log ind med Google
+        myopenid: 
+          alt: Log ind med et myOpenID OpenID
+          title: Log ind med OpenID
+        openid: 
+          alt: Log ind med et OpenID
+          title: Log ind med OpenID
+        wordpress: 
+          alt: Log ind med et Wordpress OpenID
+          title: Log ind med Wordpress
+        yahoo: 
+          alt: Log ind med et Yahoo OpenID
+          title: Log ind med Yahoo
       password: "Adgangskode:"
       register now: Opret nu
       remember: "Husk mig:"
       title: Log på
       to make changes: For at ændre i OpenStreetMaps data skal du have en konto.
-      webmaster: webmaster
+      with openid: "Alternativt kan du bruge din OpenID til at logge ind:"
+      with username: "Har du allerede en OpenStreetMap konto? Log på med dit brugernavn og din adgangskode:"
     logout: 
       heading: Log af fra OpenStreetMap
       logout_button: Log af
@@ -1451,9 +1487,12 @@ da:
       license_agreement: Når du bekræfter din konto, skal du acceptere <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">bidragyder-betingelserne</a>.
       no_auto_account_create: Vi kan desværre ikke oprette en konto automatisk for dig pt.
       not displayed publicly: Vises ikke offentligt (se <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="Privatlivspolitik for wikien inklusiv sektion om emailadresser">privatlivspolitik</a>)
+      openid: "%{logo} OpenID:"
+      openid no password: Med OpenID kræves ikke en adgangskode, men nogle ekstraværktøjer eller en server kan der stadig være brug for.
       password: "Adgangskode:"
       terms accepted: Tak for at du accepterer de nye bidragyder-betingelser!
       title: Opret konto
+      use openid: Alternativt kan du bruge %{logo} OpenID til at logge ind
     no_such_user: 
       body: Der findes desværre ingen bruger ved navn %{user}. Tjek venligst stavningen, ellers kan linket du trykkede på være forkert.
       heading: Brugeren %{user} findes ikke
@@ -1505,12 +1544,17 @@ da:
       confirm_user: bekræft denne bruger
       create_block: bloker denne bruger
       created from: "Oprettet fra:"
+      ct accepted: Accepteret for %{ago} siden
+      ct declined: Afslået
+      ct status: Vilkår for bidragydere
+      ct undecided: Uafklaret
       deactivate_user: deaktiver denne bruger
       delete_user: slet denne bruger
       description: Beskrivelse
       diary: blog
       edits: ændringer
       email address: "E-mail-adresse:"
+      friends_changesets: Gennemse alle changesets af venner
       hide_user: skjul denne bruger
       if set location: Hvis du indstiller din position, viser der sig et pænt kort her. Du kan indstille din hjemmeposition på din %{settings_link}-side.
       km away: "%{count}km væk"
@@ -1549,16 +1593,45 @@ da:
     edit: 
       back: Vis alle blokke
       show: Vis denne blok
+      submit: Opdater blokering
+    filter: 
+      not_a_moderator: Du skal være en moderator for at udføre den handling.
     helper: 
+      time_future: Slutter om %{time}.
       time_past: Sluttede %{time} siden.
+    index: 
+      empty: Ingen blokeringer er blevet udført endnu.
+      heading: Liste over brugerblokeringer
+      title: Brugerblokeringer
     new: 
       back: Vis alle blokke
+      heading: Opretter blokering af %{name}
       submit: Opret blok
+      title: Opretter blokering af %{name}
     not_found: 
       back: Tilbage til indeks
+    partial: 
+      confirm: Er du sikker?
+      creator_name: Oprettet af
+      display_name: Blokkeret bruger
+      edit: Redigér
+      reason: Årsag til blokering
+      revoke: Tilbagekald!
+      show: Vis
+      status: Status
     show: 
+      back: Vis alle blokeringer
       confirm: Er du sikker?
+      edit: Redigér
+      reason: "Årsag til blokering:"
+      revoke: Tilbagekald!
+      show: Vis
+      status: Status
+      time_future: Slutter om %{time}
       time_past: Sluttede %{time} siden
+    update: 
+      only_creator_can_edit: Kun moderatoren som oprettede denne blokering kan ændre den.
+      success: Blokering opdateret.
   user_role: 
     filter: 
       already_has_role: Brugeren har allerede rollen %{role}.
diff --git a/config/locales/de-AT.yml b/config/locales/de-AT.yml
deleted file mode 100644 (file)
index 53a08d1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-de-AT:
-  dummy: dummy
diff --git a/config/locales/de-CH.yml b/config/locales/de-CH.yml
deleted file mode 100644 (file)
index ea1f557..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-de-CH:
-  dummy: dummy
index 47799b9e3a18ae72809432ebc453b265651882ea..3f196feed4903937415de292298c00da4af875e0 100644 (file)
@@ -302,19 +302,33 @@ de:
     list: 
       description: Letzte Änderungen
       description_bbox: Letzte Änderungen in %{bbox}
+      description_friend: Änderungssätze deiner Freunde
+      description_nearby: Änderungssätze von Benutzern in der Nähe
       description_user: Letzte Änderungen von %{user}
       description_user_bbox: Letzte Änderungen von %{user} in %{bbox}
       heading: Änderungssätze
       heading_bbox: Änderungssätze
+      heading_friend: Änderungssätze
+      heading_nearby: Änderungssätze
       heading_user: Änderungssätze
       heading_user_bbox: Änderungssätze
       title: Änderungssätze
       title_bbox: Änderungssätze in %{bbox}
+      title_friend: Änderungssätze deiner Freunde
+      title_nearby: Änderungssätze von Benutzern in der Nähe
       title_user: Änderungssätze von %{user}
       title_user_bbox: Änderungssätze von %{user} in %{bbox}
     timeout: 
       sorry: Es hat leider zu lange gedauert, die von dir angeforderten Änderungssätze abzurufen.
   diary_entry: 
+    comments: 
+      ago: vor %{ago}
+      comment: Kommentar
+      has_commented_on: "%{display_name} hat die folgenden Blogeinträge kommentiert"
+      newer_comments: Neuere Kommentare
+      older_comments: Ältere Kommentare
+      post: Blogeintrag
+      when: Zeitpunkt
     diary_comment: 
       comment_from: Kommentar von %{link_user} am %{comment_created_at}
       confirm: Bestätigen
@@ -359,6 +373,8 @@ de:
       older_entries: Ältere
       recent_entries: "Neuste Einträge:"
       title: Blogs
+      title_friends: Tagebücher meiner Freunde
+      title_nearby: Tagebücher von Nutzern in der Nähe
       user_title: "%{user}s Blog"
     location: 
       edit: Bearbeiten
@@ -406,11 +422,10 @@ de:
       licence: Lizenz
       longitude: "Längengrad:"
       manually_select: Einen anderen Bereich manuell auswählen
-      mapnik_image: Mapnik-Bild
+      map_image: Karte (zeigt die Standardebene)
       max: max.
       options: Optionen
       osm_xml_data: OpenStreetMap-XML-Daten
-      osmarender_image: Osmarender-Bild
       output: Ausgabe
       paste_html: HTML-Code kopieren, um ihn in eine Website einzufügen.
       scale: Maßstab
@@ -557,7 +572,7 @@ de:
           veterinary: Tierarzt
           village_hall: Gemeindezentrum
           waste_basket: Mülleimer
-          wifi: WLAN-Access-Point
+          wifi: WiFi-Zugang
           youth_centre: Jugendhaus
         boundary: 
           administrative: Verwaltungsgrenze
@@ -906,6 +921,7 @@ de:
       base: 
         cycle_map: Radfahrerkarte
         mapquest: MapQuest Open
+        standard: Standard
         transport_map: Verkehrskarte
     site: 
       edit_disabled_tooltip: Reinzoomen zum Editieren der Karte
@@ -993,7 +1009,7 @@ de:
       english_link: dem englischsprachigen Original
       text: Für den Fall einer Abweichung zwischen der vorliegenden Übersetzung und %{english_original_link}, ist die englischsprachige Seite maßgebend.
       title: Über diese Übersetzung
-    legal_babble: "<h2>Urheberrecht und Lizenz</h2>\n\n<p>\n  OpenStreetMap besteht aus <i>freien Daten</i>, die gemäß der Lizenz <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA) verfügbar sind.\n</p>\n<p>\n  Es steht dir frei unsere Daten und Karten zu kopieren, weiterzugeben, zu übermittelt sowie anzupassen, sofern du OpenStreetMap und die Mitwirkenden als Quelle angibst. Für den Fall, dass du auf Basis unserer Daten und Karten Anpassungen vornimmst, oder sie als Basis für weitere Bearbeitungen verwendest, kannst du das Ergebnis auch nur gemäß der selben Lizenz weitergeben. Der vollständige Lizenztext ist unter <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Lizenz</a> einsehbar und erläutert deine Rechte und Pflichten.\n</p>\n\n<h3>So ist auf die Urheberschaft von OpenStreetMap hinzuweisen</h3>\n<p>\n  Sofern du Bilder von OpenStreetMap verwendest, so ist mindestens &bdquo;&copy; OpenStreetMap und Mitwirkende, CC-BY-SA&ldquo; als Quelle anzugeben. Werden hingegen ausschließlich Geodaten genutzt, so ist mindestens &bdquo;Geodaten &copy; OpenStreetMap und Mitwirkende, CC-BY-SA&ldquo; anzugeben.\n</p>\n<p>\n  Wo möglich, muss ein Hyperlink auf OpenStreetMap <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> und die Lizenz CC-BY-SA <a   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> gesetzt werden. Für den Fall, dass du ein Medium einsetzt, bei dem keine derartigen Verweise möglich sind (z. B. ein gedrucktes Buch), schlagen wir vor, dass du deine Leser auf www.openstreetmap.org und www.creativecommons.org hinweist.\n</p>\n\n<h3>Mehr hierzu in Erfahrung bringen</h3>\n<p>\n  Mehr dazu, wie unsere Daten verwendet werden können, ist unter <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Häufige rechtliche Fragen</a> nachzulesen.\n</p>\n<p>\n  Die Mitwirkenden von OpenStreetMap weisen wir darauf hin, dass du keinesfalls Daten aus urheberrechtlich geschützten Quellen verwenden darfst (z. B. Google Maps oder gedruckte Kartenwerke), ohne vorher die ausdrückliche Erlaubnis des Rechteinhabers erhalten zu haben.\n</p>\n<p>\n  Obzwar OpenStreetMap aus freien Daten besteht, können wir Dritten keine kostenfreie Programmierschnittstelle (API) für Karten bereitstellen.\n  \n  Siehe hierzu die <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Richtlinie zur Nutzung einer API</a>, die <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Richtlinie zur Nutzung von Kachelgrafiken</a> und die <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Nutzungsrichtlinie bezüglich Daten von Nominatim</a>.\n</p>\n\n<h3>Unsere Mitwirkenden</h3>\n<p>\n  Die von uns verwendete Lizenz CC-BY-SA verlangt, dass du &bdquo;für das betreffende Medium oder Mittel in angemessener Weise, auf die ursprünglichen Bearbeiter hinweist.&ldquo; Einige an OpenStreetMap Mitwirkende verlangen keine über den Vermerk &bdquo;OpenStreetMap und Mitwirkende&ldquo; hinausgehende Hinweise. Wo allerdings Daten von nationalen Kartografierungsinstitutionen oder aus anderen umfangreichen Quellen einbezogen wurden, ist es sinnvoll, deren Lizenzhinweise direkt wiederzugeben oder auf diese auf dieser Website zu verlinken.\n</p>\n\n<ul id=\"contributors\">\n   <li><strong>Australien</strong>: Enthält Daten zu Siedlungen, die auf Daten des <i>Australian Bureau of Statistics</i> basieren.</li>\n   <li><strong>Frankreich</strong>: Enthält Daten der <i>Direction Générale des Impôts</i>.</li>\n   <li><strong>Kanada</strong>: Enthält Daten von GeoBase&reg;, GeoGratis (&copy; <i>Department of Natural Resources Canada</i>), CanVec (&copy; <i>Department of Natural Resources Canada</i>) und StatCan (<i>Geography Division, Statistics Canada</i>).</li>\n   <li><strong>Neuseeland</strong>: Enthält Daten aus <i>Land Information New Zealand</i>. Urheberrecht vorbehalten.</li>\n   <li><strong>Österreich</strong>: Enthält Daten der <a href=\"http://data.wien.gv.at/\">Stadt Wien</a>. Lizenziert gemäß <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Polen</strong>: Enthält Daten aus <a href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Copyright UMP-pcPL und Mitwirkende.</li>\n   <li><strong>Vereinigtes Königreich</strong>: Enthält Daten des <i>Ordnance Survey</i> &copy; Urheber- und Datenbankrecht 2010.</li>\n</ul>\n\n<p>\n  Die Einbeziehung von Daten bei OpenStreetMap impliziert nicht, das der ursprüngliche Datenlieferant OpenStreetMap unterstützt, Gewährleistung gibt, noch Haftung übernimmt.\n</p>"
+    legal_babble: "<h2>Urheberrecht und Lizenz</h2>\n\n<p>\nOpenStreetMap ist <i>„Open Data“</i>, die gemäß der Lizenz <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC BY-SA) verfügbar sind.\n</p>\n<p>\n  Es steht dir frei unsere Daten und Karten zu kopieren, weiterzugeben, zu übermittelt sowie anzupassen, sofern du OpenStreetMap und die Mitwirkenden als Quelle angibst. Für den Fall, dass du auf Basis unserer Daten und Karten Anpassungen vornimmst, oder sie als Basis für weitere Bearbeitungen verwendest, kannst du das Ergebnis auch nur gemäß der selben Lizenz weitergeben. Der vollständige Lizenztext ist unter <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Lizenz</a> einsehbar und erläutert deine Rechte und Pflichten.\n</p>\n\n<h3>So ist auf die Urheberschaft von OpenStreetMap hinzuweisen</h3>\n<p>\n  Sofern du Bilder von OpenStreetMap verwendest, so ist mindestens &bdquo;&copy; OpenStreetMap und Mitwirkende, CC BY-SA&ldquo; als Quelle anzugeben. Werden hingegen ausschließlich Geodaten genutzt, so ist mindestens &bdquo;Geodaten &copy; OpenStreetMap und Mitwirkende, CC BY-SA&ldquo; anzugeben.\n</p>\n<p>\n  Wo möglich, muss ein Hyperlink auf OpenStreetMap <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> und die Lizenz CC BY-SA <a   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> gesetzt werden. Für den Fall, dass du ein Medium einsetzt, bei dem keine derartigen Verweise möglich sind (z. B. ein gedrucktes Buch), schlagen wir vor, dass du deine Leser auf www.openstreetmap.org und www.creativecommons.org hinweist.\n</p>\n\n<h3>Mehr hierzu in Erfahrung bringen</h3>\n<p>\n  Mehr dazu, wie unsere Daten verwendet werden können, ist unter <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Häufige rechtliche Fragen</a> nachzulesen.\n</p>\n<p>\n  Die Mitwirkenden von OpenStreetMap weisen wir darauf hin, dass du keinesfalls Daten aus urheberrechtlich geschützten Quellen verwenden darfst (z. B. Google Maps oder gedruckte Kartenwerke), ohne vorher die ausdrückliche Erlaubnis des Rechteinhabers erhalten zu haben.\n</p>\n<p>\n  Obwohl OpenStreetMap aus freien Daten besteht, können wir Dritten keine kostenfreie Programmierschnittstelle (API) für Karten bereitstellen.\n  \n  Siehe hierzu die <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Richtlinie zur Nutzung einer API</a>, die <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Richtlinie zur Nutzung von Kachelgrafiken</a> und die <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Nutzungsrichtlinie bezüglich Daten von Nominatim</a>.\n</p>\n\n<h3>Unsere Mitwirkenden</h3>\n<p>\n  Die von uns verwendete Lizenz CC BY-SA verlangt, dass du &bdquo;für das betreffende Medium oder Mittel in angemessener Weise, auf die ursprünglichen Bearbeiter hinweist.&ldquo; Einige an OpenStreetMap Mitwirkende verlangen keine über den Vermerk &bdquo;OpenStreetMap und Mitwirkende&ldquo; hinausgehende Hinweise. Wo allerdings Daten von nationalen Kartografierungsinstitutionen oder aus anderen umfangreichen Quellen einbezogen wurden, ist es sinnvoll, deren Lizenzhinweise direkt wiederzugeben oder auf diese auf dieser Website zu verlinken.\n</p>\n\n<ul id=\"contributors\">\n   <li><strong>Australien</strong>: Enthält Daten zu Siedlungen, die auf Daten des <i>Australian Bureau of Statistics</i> basieren.</li>\n   <li><strong>Frankreich</strong>: Enthält Daten der <i>Direction Générale des Impôts</i>.</li>\n   <li><strong>Kanada</strong>: Enthält Daten von GeoBase&reg;, GeoGratis (&copy; <i>Department of Natural Resources Canada</i>), CanVec (&copy; <i>Department of Natural Resources Canada</i>) und StatCan (<i>Geography Division, Statistics Canada</i>).</li>\n   <li><strong>Neuseeland</strong>: Enthält Daten aus <i>Land Information New Zealand</i>. Urheberrecht vorbehalten.</li>\n   <li><strong>Österreich</strong>: Enthält Daten der <a href=\"http://data.wien.gv.at/\">Stadt Wien</a>. Lizenziert gemäß <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY</a>.</li>\n   <li><strong>Polen</strong>: Enthält Daten aus <a href=\"http://ump.waw.pl/\">UMP-pcPL Karten</a>. Urheberrechtlich geschützt, UMP-pcPL und Mitwirkende. <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">Mehr zur Nutzung der UMP-Daten durch OSM</a></li>\n   <li><strong>Südafrika</strong>: Enthält Daten von <i><a href=\"http://www.ngi.gov.za/\">Chief Directorate: National Geo-Spatial Information</a></i>, Staatliches Urheberrecht vorbehalten.</li>\n   <li><strong>Vereinigtes Königreich</strong>: Enthält Daten des <i>Ordnance Survey</i> &copy; Urheber- und Datenbankrecht 2010.</li>\n</ul>\n\n<p>\n  Die Einbeziehung von Daten bei OpenStreetMap impliziert nicht, dass der ursprüngliche Datenlieferant OpenStreetMap unterstützt, Gewährleistung gibt, noch Haftung übernimmt.\n</p>"
     native: 
       mapping_link: mit dem Kartieren anfangen
       native_link: deutschen Sprachversion
@@ -1005,13 +1021,19 @@ de:
     inbox: 
       date: Datum
       from: Absender
+      messages: Du hast %{new_messages} und %{old_messages}
       my_inbox: Posteingang
+      new_messages: 
+        one: eine neue Nachricht
+        other: "%{count} neue Nachrichten"
       no_messages_yet: Du hast noch keine Nachrichten. Trete doch mit %{people_mapping_nearby_link} in Kontakt.
+      old_messages: 
+        one: eine alte Nachricht
+        other: "%{count} alte Nachrichten"
       outbox: Gesendet
       people_mapping_nearby: Mappern in deiner Nähe
       subject: Betreff
       title: Posteingang
-      you_have: Du hast %{new_count} neue Nachrichten und %{old_count} alte Nachrichten
     mark: 
       as_read: Nachricht als gelesen markiert
       as_unread: Nachricht als ungelesen markiert
@@ -1040,6 +1062,9 @@ de:
     outbox: 
       date: Datum
       inbox: Posteingang
+      messages: 
+        one: Du hast eine Nachricht gesendet
+        other: Du hast %{count} Nachrichten gesendet
       my_inbox: "%{inbox_link}"
       no_sent_messages: Du hast noch keine Nachrichten versendet. Trete doch mit %{people_mapping_nearby_link} in Kontakt.
       outbox: Gesendet
@@ -1047,7 +1072,6 @@ de:
       subject: Betreff
       title: Gesendet
       to: An
-      you_have_sent_messages: Du hast %{count} Nachrichten versendet
     read: 
       back_to_inbox: Zurück zum Posteingang
       back_to_outbox: Zurück zu Gesendete Nachrichten
@@ -1501,8 +1525,8 @@ de:
       summary_no_ip: "%{name} erstellt am %{date}"
       title: Benutzer
     login: 
+      account is suspended: Dein Benutzerkonto wurde aufgrund verdächtiger Aktivitäten gesperrt.<br />Bitte kontaktiere den <a href="%{webmaster}">Webmaster</a>, sofern du dies klären möchtest.
       account not active: Leider wurde dein Benutzerkonto bislang noch nicht aktiviert.<br />Bitte aktiviere dein Benutzerkonto, indem du auf den Link in deiner Bestätigungs-E-Mail klickst oder <a href="%{reconfirm}">eine neue Bestätigungs-E-Mail anforderst</a>.
-      account suspended: Dein Benutzerkonto wurde aufgrund verdächtiger Aktivitäten gesperrt, um potentiellen Schaden von OpenStreetMap abzuwenden. <br /> Bitte kontaktiere den %{webmaster}, sofern du diese Angelegenheit klären möchtest.
       auth failure: Sorry, Anmelden mit diesen Daten nicht möglich.
       create account minute: Erstelle ein Benutzerkonto. Es dauert nur eine Minute.
       email or username: "E-Mail-Adresse oder Benutzername:"
@@ -1510,7 +1534,9 @@ de:
       login_button: Anmelden
       lost password link: Passwort vergessen?
       new to osm: Neu bei OpenStreetMap?
+      no account: Du hast noch kein Benutzerkonto?
       notice: <a href="http://wiki.openstreetmap.org/wiki/DE:ODbL/Wir_wechseln_die_Lizenz">Informiere dich über den bevorstehenden Lizenzwechsel bei OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">Übersetzungen</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">Diskussion</a>)
+      notice_terms: OpenStreetMap stellt am 1. April 2012 auf eine neuen Lizenz um. Es handelt sich bei der neuen Lizenz um eine ebenso freie Lizenz, wie es die aktuelle ist, allerdings sind deren rechtliche Rahmenbedingungen besser auf die Bedürfnisse unserer Kartendatenbank abgestimmt. Wir würden es sehr begrüßen, sofern wir deine Beiträge zu OpenStreetMap weiterhin speichern und zugänglich machen könnten. Dies ist allerdings nur dann möglich, sofern du zustimmst, dass wir dies gemäß den Bedingungen der neuen Lizenz auch tun dürfen. Anderenfalls müssen wir deine Beiträge aus der Datenbank löschen.<br /><br />Bitte melde dich an, um die neuen Bedingungen zu lesen und zu akzeptieren. Vielen Dank.
       openid: "%{logo} OpenID:"
       openid invalid: Deine OpenID scheint leider fehlerhaft zu sein.
       openid missing provider: Wir konnten leider keine Verbindung zu deinem OpenID-Dienst herstellen.
@@ -1539,7 +1565,6 @@ de:
       remember: "Anmeldedaten merken:"
       title: Anmelden
       to make changes: Um Datenänderungen bei OpenStreetMap vornehmen zu können, musst Du ein Benutzerkonto haben.
-      webmaster: Webmaster
       with openid: "Alternativ kannst du deine OpenID zum Anmelden nutzen:"
       with username: "Hast du bereits ein Konto bei OpenStreetMap? Bitte melde dich mit deinem Benutzernamen und Passwort an:"
     logout: 
@@ -1628,16 +1653,23 @@ de:
       block_history: Erhaltene Sperren anzeigen
       blocks by me: Selbst vergebene Sperren
       blocks on me: Erhaltene Sperren
+      comments: Kommentare
       confirm: Bestätigen
       confirm_user: Bestätige den Benutzer
       create_block: Diesen Nutzer sperren
       created from: "erstellt aus:"
+      ct accepted: Vor %{ago} akzeptiert
+      ct declined: Abgelehnt
+      ct status: "Vereinbarung für Mitwirkende:"
+      ct undecided: Unentschlossen
       deactivate_user: Benutzer deaktivieren
       delete_user: Benutzer löschen
       description: Beschreibung
       diary: Blog
       edits: Bearbeitungen
       email address: "E-Mail-Adresse:"
+      friends_changesets: Alle Änderungssätze deiner Freunde durchsuchen
+      friends_diaries: Alle Tagebucheinträge von Freunden durchsuchen
       hide_user: Benutzer verstecken
       if set location: Wenn du deinen Standort angegeben hast, erscheint eine Karte am Seitenende. Du kannst deinen Standort in deinen %{settings_link} ändern.
       km away: "%{count} km entfernt"
@@ -1645,11 +1677,14 @@ de:
       m away: "%{count} m entfernt"
       mapper since: "Mapper seit:"
       moderator_history: Vergebene Sperren anzeigen
+      my comments: Eigene Kommentare
       my diary: Eigener Blog
       my edits: Eigene Bearbeitungen
       my settings: Eigene Einstellungen
       my traces: Eigene Tracks
       nearby users: Anwender in der Nähe
+      nearby_changesets: Alle Änderungssätze von Benutzern in der Nähe durchsuchen
+      nearby_diaries: Alle Tagebucheinträge von Benutzern in der Nähe durchsuchen
       new diary entry: Neuer Blogeintrag
       no friends: Du hast bis jetzt keine Freunde hinzugefügt.
       no nearby users: Es gibt bisher keine Benutzer, die einen Standort in deiner Nähe angegeben haben.
index 988502922143e3138b2e138a109740b393e1a4c8..821e9a82bcb486ca2f6c3e5ac58e3bc82ab532da 100644 (file)
@@ -288,19 +288,33 @@ dsb:
     list: 
       description: Aktualne změny
       description_bbox: Sajźby změnow w %{bbox}
+      description_friend: Změny twójich pśijaśelow
+      description_nearby: Sajźby změnow wužywarjow w bliskosći
       description_user: Sajźby změnow wót %{user}
       description_user_bbox: Sajźby změnow wót %{user} w %{bbox}
       heading: Sajźby změnow
       heading_bbox: Sajźby změnow
+      heading_friend: Sajźby změnow
+      heading_nearby: Sajźby změnow
       heading_user: Sajźby změnow
       heading_user_bbox: Sajźby změnow
       title: Sajźby změnow
       title_bbox: Sajźby změnow w %{bbox}
+      title_friend: Změny twójich pśijaśelow
+      title_nearby: Sajźby změnow wužywarjow w bliskosći
       title_user: Sajźby změnow wót %{user}
       title_user_bbox: Sajźby změnow wót %{user} w %{bbox}
     timeout: 
       sorry: Bóžko jo pśedłujko trało, kupki změnow, kótarež  sy póžedał, wótwołaś.
   diary_entry: 
+    comments: 
+      ago: pśed %{ago}
+      comment: Komentar
+      has_commented_on: "%{display_name} jo slědujuce dnjownikowe zapiski komentěrował"
+      newer_comments: Nowše komentary
+      older_comments: Starše komentary
+      post: Powěsć
+      when: Cas
     diary_comment: 
       comment_from: Komentar wót %{link_user} wót %{comment_created_at}
       confirm: Wobkšuśiś
@@ -347,6 +361,8 @@ dsb:
       older_entries: Starše zapiski
       recent_entries: "Nejnowše zapiski dnjownika:"
       title: Dnjowniki wužywarjow
+      title_friends: Dnjowniki pśijaśelow
+      title_nearby: Dnjowniki wužywarjow w bliskosći
       user_title: dnjownik wužywarja %{user}
     location: 
       edit: Wobźěłaś
@@ -394,11 +410,10 @@ dsb:
       licence: Licenca
       longitude: "Dlinina:"
       manually_select: Drugi wurězk manuelnje wubraś
-      mapnik_image: Wobraz Mapnik
+      map_image: Kórtowy wobraz (pokazujo standardnu rowninu)
       max: maks.
       options: Opcije
       osm_xml_data: XML-daty OpenStreetMap
-      osmarender_image: Wobraz Osmarender
       output: Wudaśe
       paste_html: HTML kopěrowaś, aby se zasajźił do websedła
       scale: Měritko
@@ -545,7 +560,7 @@ dsb:
           veterinary: Skótny gójc
           village_hall: Gmejnski centrum
           waste_basket: Sudobje za wótpadanki
-          wifi: WLAN-pśistup
+          wifi: WiFi-pśistup
           youth_centre: Młoźinski centrum
         boundary: 
           administrative: Zastojnstwowa granica
@@ -894,6 +909,7 @@ dsb:
       base: 
         cycle_map: Kórta za kolesowarjow
         mapquest: MapQuest Open
+        standard: Standard
         transport_map: Wobchadowa kórta
     site: 
       edit_disabled_tooltip: Za wobźěłowanje kórty  powětšyś
@@ -966,7 +982,7 @@ dsb:
       english_link: engelskim originalom
       text: W paźe konflikta mjazy pśełožonym bokom a %{english_original_link}, engelski bok ma prědnosć měś
       title: Wó toś tom pśełožku
-    legal_babble: "<h2>Awtorske pšawo a licenca</h2>\n<p> \nOpenStreetMap wobstoj ze <i>zjawnych datow</i>, licencěrowanych pód licencu <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA). </p> <p> Móžoš naše kórty a daty kopěrowaś, rozdźěliś, pśenjasć a pśiměriś, tak dłujko ako  naspomnjejoš OpenStreetMap a jich sobustatkujucych. Jolic změnijoš naše kórty abo daty abo zepěraš se na nje, móžoš wuslědk jano pód teju sameju licencu rozdźěliś. Dopołny <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">pšawniski code</a> wujasnjujo twóje pšawa a zagronitosći.</p>\n\n<h3>Kak naspomnjeś awtorstwo OpenStreetMap</h3>\n<p> Jolic wužywaš kórtowe wobraze z OpenStreetMap, pominamy se, až nanejmjenjej pódawaš &ldquo;&copy; OpenStreetMap a sobustatkujucych, CC-BY-SA&rdquo;. Jolic wužywaš jano kórtowe daty, musyš &ldquo;kórtowe daty &copy; OpenStreetMap a sobustatkujucych, CC-BY-SA&rdquo; pódaś. </p> <p> Źož jo móžno, OpenStreetMap by měł wótkaz do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> a CC-BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měś. Jolic wužywaš medij, źož wótkaze njejsu móžno (na pś. wuśišćane źěło), naraźujomy, až pokazujoš swójich cytarjow na www.openstreetmap.org a na www.creativecommons.org.</p>\n\n<h3>Dalšne informacije</h3>\n<p>Cytaj wěcej wó wužywanju našych datow <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Ceste pšawniske pšašenja</a>.</p><p> Sobustatkujucych OSM napominamy, až njedodawaju nigda daty ze žrědłow, kótarež su pśez awtorske pšawo šćitane (na pś. z Google Maps abo z wuśišćanych kórtow) bźez wurazneje dowólnosći awtorow. </p> <p> Lěcrownož OpenStreetMap wobstoj ze zjawnych datow, njamóžomy dermotny kórtowy API za wuwiwarjow třeśich póbitowaś. \n\nGlědaj naše <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">pšawidła za wužywanje API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Pšawidła za wužywanje pólow</a> a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Pšawidła za wužywanje Nominatim</a>. </p> \n\n<h3>Naše sobustatkujuce</h3>\n<p> Naša licenca CC-BY-SA pomina se, až &ldquo;dajoš spócetnemu awtoroju źěk pśiměrjonemu medijoju abo srědkoju, kótaryž wužywaš&rdquo;. Jadnotliwe kartěrowarje OSM njepominaju se pśidatne źěkowanje k &ldquo;sobustatkujucym OpenStreetMap&rdquo;, ale gaž se daty z narodnego kartěrowańskego předewześa abo z drugego wuznamnego žrědła w OpenStreetMap zapśimuju, jo pśiměrjone, jim pśez direktne pśewzeće jich źěkowanja abo pśez wótkazowanje na njo na toś tom boku wuźěkowaś. </p>\n\n<!-- Information for page editors The following lists only those organisations who require attribution as a condition of their data being used in OpenStreetMap. It is not a general catalogue of imports, and must not be used except when attribution is required to comply with the licence of the imported data. Any additions here must be discussed with OSM sysadmins first. --> \n<ul id=\"contributors\"><li><strong>Awstralska</strong>: Wopśimujo pśedměsćańske daty na zakłaźe datow awstralskego  amta za statistiku (Australian Bureau of Statistics).</li>\n<li><strong>Awstriska</strong>: Wopśimujo daty z <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> pód <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n <li><strong>Kanada</strong>: Wopśimujo daty z GeoBase&reg;, GeoGratis (&copy; Department of Natural Resources Canada), CanVec (&copy; Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).</li>\n<li><strong>Francojska</strong>: Wopśimujo daty z Direction Générale des Impôts.</li>\n<li><strong>Nowoseelandska</strong>: Wopśimujo daty ze žrědłow wót Land Information New Zealand. Awtorske pšawo wuměnjone.</li> \n<li><strong>Pólska</strong>: Wopśimujo daty z <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Awtorske pšawo sobustatkujucych UMP-pcPL.</li>\n<li><strong>Zjadnośone kralojstwo</strong>: Wopśimujo daty z Ordnance Survey (Amtske rozměrjenje kraja) &copy; Awtorske pšawo a pšawo za datowe banki 2010.</li> </ul>\n\n<p> Zapśimowanje datow do OpenStreetMap njegroni, až póbitowaŕ originalnych datow pśipóznawa OpenStreetMap, dawa někaku garantiju abo pśewzejo rukowanje. </p>"
+    legal_babble: "<h2>Awtorske pšawo a licenca</h2>\n<p> \nOpenStreetMap wobstoj ze <i>zjawnych datow</i>, licencěrowanych pód licencu <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC BY-SA). </p> <p> Móžoš naše kórty a daty kopěrowaś, rozdźěliś, pśenjasć a pśiměriś, tak dłujko ako  naspomnjejoš OpenStreetMap a jich sobustatkujucych. Jolic změnijoš naše kórty abo daty abo zepěraš se na nje, móžoš wuslědk jano pód teju sameju licencu rozdźěliś. Dopołny <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">pšawniski code</a> wujasnjujo twóje pšawa a zagronitosći.</p>\n\n<h3>Kak naspomnjeś awtorstwo OpenStreetMap</h3>\n<p> Jolic wužywaš kórtowe wobraze z OpenStreetMap, pominamy se, až nanejmjenjej pódawaš &ldquo;&copy; OpenStreetMap a sobustatkujucych, CC BY-SA&rdquo;. Jolic wužywaš jano kórtowe daty, musyš &ldquo;kórtowe daty &copy; OpenStreetMap a sobustatkujucych, CC BY-SA&rdquo; pódaś. </p> <p> Źož jo móžno, OpenStreetMap by měł wótkaz do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> a CC BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měś. Jolic wužywaš medij, źož wótkaze njejsu móžno (na pś. wuśišćane źěło), naraźujomy, až pokazujoš swójich cytarjow na www.openstreetmap.org a na www.creativecommons.org.</p>\n\n<h3>Dalšne informacije</h3>\n<p>Cytaj wěcej wó wužywanju našych datow <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Ceste pšawniske pšašenja</a>.</p><p> Sobustatkujucych OSM napominamy, až njedodawaju nigda daty ze žrědłow, kótarež su pśez awtorske pšawo šćitane (na pś. z Google Maps abo z wuśišćanych kórtow) bźez wurazneje dowólnosći awtorow. </p> <p> Lěcrownož OpenStreetMap wobstoj ze zjawnych datow, njamóžomy dermotny kórtowy API za wuwiwarjow třeśich póbitowaś. \n\nGlědaj naše <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">pšawidła za wužywanje API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Pšawidła za wužywanje pólow</a> a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Pšawidła za wužywanje Nominatim</a>. </p> \n\n<h3>Naše sobustatkujuce</h3>\n<p> Naša licenca CC BY-SA pomina se, až &ldquo;dajoš spócetnemu awtoroju źěk pśiměrjonemu medijoju abo srědkoju, kótaryž wužywaš&rdquo;. Jadnotliwe kartěrowarje OSM njepominaju se pśidatne źěkowanje k &ldquo;sobustatkujucym OpenStreetMap&rdquo;, ale gaž se daty z narodnego kartěrowańskego předewześa abo z drugego wuznamnego žrědła w OpenStreetMap zapśimuju, jo pśiměrjone, jim pśez direktne pśewzeće jich źěkowanja abo pśez wótkazowanje na njo na toś tom boku wuźěkowaś. </p>\n\n<!-- Information for page editors The following lists only those organisations who require attribution as a condition of their data being used in OpenStreetMap. It is not a general catalogue of imports, and must not be used except when attribution is required to comply with the licence of the imported data. Any additions here must be discussed with OSM sysadmins first. --> \n<ul id=\"contributors\"><li><strong>Awstralska</strong>: Wopśimujo pśedměsćańske daty na zakłaźe datow awstralskego  amta za statistiku (Australian Bureau of Statistics).</li>\n<li><strong>Awstriska</strong>: Wopśimujo daty z <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> pód <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY</a>.</li>\n <li><strong>Kanada</strong>: Wopśimujo daty z GeoBase&reg;, GeoGratis (&copy; Department of Natural Resources Canada), CanVec (&copy; Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).</li>\n<li><strong>Francojska</strong>: Wopśimujo daty z Direction Générale des Impôts.</li>\n<li><strong>Nowoseelandska</strong>: Wopśimujo daty ze žrědłow wót Land Information New Zealand. Awtorske pšawo wuměnjone.</li> \n<li><strong>Pólska</strong>: Wopśimujo daty z <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Awtorske pšawo sobustatkujucych UMP-pcPL.\n<a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Wěcej wó wužywanju UMP-datow w OSM</a></li>\n   <li><strong>South Africa</strong>: Wopśimujo daty z  <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, Statne awtorske pšawo wuměnjone.</li>\n   <li><strong>United Kingdom</strong>: Wopśimujo daty wót Ordnance\n   Survey &copy; Crown copyright and database right\n   2010.</li>\n<li><strong>Zjadnośone kralojstwo</strong>: Wopśimujo daty z Ordnance Survey (Amtske rozměrjenje kraja) &copy; Awtorske pšawo a pšawo za datowe banki 2010.</li> </ul>\n\n<p> Zapśimowanje datow do OpenStreetMap njegroni, až póbitowaŕ originalnych datow pśipóznawa OpenStreetMap, dawa někaku garantiju abo pśewzejo rukowanje. </p>"
     native: 
       mapping_link: kartěrowanje zachopiś
       native_link: dolnoserbskej wersiji
@@ -978,13 +994,19 @@ dsb:
     inbox: 
       date: Datum
       from: Wót
+      messages: Maš %{new_messages} a %{old_messages}
       my_inbox: Mój post
+      new_messages: 
+        one: "%{count} nowa powěsć"
+        other: "%{count} nowej powěsći"
       no_messages_yet: Hyšći njamaš powěsći. Cogodla njestajaš se z %{people_mapping_nearby_link} do zwiska?
+      old_messages: 
+        one: "%{count} stara powěsć"
+        other: "%{count} starej powěsći"
       outbox: pósłany
       people_mapping_nearby: Luźe, kótarež kartěruju w bliskosći
       subject: Temowe nadpismo
       title: Post
-      you_have: Maš %{new_count} nowych powěsćow a %{old_count} starych powěsćow
     mark: 
       as_read: Powěsć jo se markěrowała ako pśecytana
       as_unread: Powěsć jo se markěrowała ako njepśecytana
@@ -1013,6 +1035,9 @@ dsb:
     outbox: 
       date: Datum
       inbox: post
+      messages: 
+        one: Sy %{count} powěsć pósłał
+        other: Sy %{count} powěsći pósłał
       my_inbox: Mój %{inbox_link}
       no_sent_messages: Hyšći njejsy powěsći rozpósłał. Cogodla njestajaš se z jadnym z %{people_mapping_nearby_link}, do zwiska?
       outbox: pósłany
@@ -1020,7 +1045,6 @@ dsb:
       subject: Temowe nadpismo
       title: Pósłany
       to: Komu
-      you_have_sent_messages: Sy %{count} powěsćow rozpósłał
     read: 
       back_to_inbox: Slědk k postoju
       back_to_outbox: Slědk k pósłanym powěsćam
@@ -1471,8 +1495,8 @@ dsb:
       summary_no_ip: "%{name} dnja %{date} napórany"
       title: Wužywarje
     login: 
+      account is suspended: Twójo konto jo se bóžko wupowěźeło dla pódglědneje aktiwity.<br />Staj se z <a href="%{webmaster}">webmasterom</a>, jolic coš wó tom diskutěrowaś.
       account not active: Bóžko twojo konto hyšći njejo aktiwne.<br />Pšosym klikni na wótkaz w e-mailu za wobkšuśenje konta, aby aktiwěrował swójo konto abo <a href="%{reconfirm}">pominaj nowu wobkšuśeńsku e-mail</a>.
-      account suspended: Twójo konto jo se bóžko wupowěźeło dla pódglědneje aktiwity.<br />Staj se z %{webmaster}, jolic coš wó tom diskutěrowaś.
       auth failure: Bóžko, pśizjawjenje z toś tymi datami njejo móžno.
       create account minute: Załož konto. Trajo jano minutku.
       email or username: "E-mailowa adresa abo wužywarske mě:"
@@ -1480,7 +1504,9 @@ dsb:
       login_button: Pśizjawiś se
       lost password link: Sy swójo gronidło zabył?
       new to osm: Nowy w OpenStreetMap?
+      no account: Njamaš wužywarske konto?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Wěcej wó pśichodnej licencnej změnje OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">pśełožki</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskusija</a>)
+      notice_terms: OpenStreetMap pśejźo 1. apryla 2012  k nowej licency. Jo teke licha ako aktualna, ale pšawniske wuměnjenja góźe se lěpjej k našej kórtowej datowej bance. My by rady twóje pśinoski w OpenStreetMap wobchowali, ale móžomy to jano cyniś, jolic sy wobjadny, až rozšyrjomy twóje pśinoski pód nowej licencu. Howac musymy je z datoweje banki wótpóraś.<br /><br />Pšosym wózjaw se, bjeŕ se pótom někotare sekundy casa, aby nowe wuměnjenja pśeglědał a akceptěrował. Wjeliki źěk!
       openid: "%{logo} OpenID:"
       openid invalid: Bóžko zda se, až twój OpenID jo njepłaśiwy
       openid missing provider: Bóžko njejsmy mógli z twójim OpenID-póbitowarjom zwězaś
@@ -1509,7 +1535,6 @@ dsb:
       remember: "Spomnjeś se:"
       title: Pśizjawjenje
       to make changes: Aby daty OpenStreetMap změnił, musyš konto měś.
-      webmaster: webmejstaŕ
       with openid: "Alternatiwnje móžoš swój OpenID za pśizjawjenje wužywaś:"
       with username: "Maš južo konto pla OpenStreetMap? Pšosym pśizjaw se ze swójim wužywarskim mjenim a gronidłom:"
     logout: 
@@ -1598,16 +1623,23 @@ dsb:
       block_history: Dostane blokěrowanja pokazaś
       blocks by me: blokěrowanja wóte mnjo
       blocks on me: blokěrowanja pśeśiwo mě
+      comments: komentary
       confirm: Wobkšuśiś
       confirm_user: toś togo wužywarja wobkšuśiś
       create_block: toś togo wužywarja blokěrowaś
       created from: "Napórany z:"
+      ct accepted: Pśed %{ago} akceptěrowany
+      ct declined: Wótpokazany
+      ct status: "Wuměnjenja za sobustatkujucych:"
+      ct undecided: Njerozsuźony
       deactivate_user: toś togo wužywarja znjemóžniś
       delete_user: toś togo wužywarja lašowaś
       description: Wopisanje
       diary: dnjownik
       edits: změny
       email address: "E-mailowa adresa:"
+      friends_changesets: Sajźby změnow twójich pśijaśelow pśepytaś
+      friends_diaries: Wšykne dnjownikowe zapiski pśijaśelow pśepytaś
       hide_user: toś togo wužywarja schowaś
       if set location: Jolic sy swójo městno nastajił, rědna kórta a někotare informacije pokažu se dołojce. Móžoś swójo stojnišćo na boku %{settings_link} nastajiś.
       km away: "%{count} km zdalony"
@@ -1615,11 +1647,14 @@ dsb:
       m away: "%{count} m zdalony"
       mapper since: "Kartěrowaŕ wót:"
       moderator_history: Rozdane blokěrowanja pokazaś
+      my comments: móje komentary
       my diary: mój dnjownik
       my edits: móje změny
       my settings: móje nastajenja
       my traces: móje slědy
       nearby users: Druge wužywarje w bliskosći
+      nearby_changesets: Wšykne sajźby změnow wužywarjow w bliskosći pśepytaś
+      nearby_diaries: Wšykne dnjownikowe zapiski wužywarjow w bliskosći pśepytaś
       new diary entry: nowy dnjownikowy zapisk
       no friends: Hyšći njejsy žednych pśijaśelow pśidał.
       no nearby users: Hyšći njejsu žedne wužywarje, kótarež kartěruju w bliskosći.
index a6f04572a25fec89aa3e76c07a6e99a1523f940b..050cd985eefbfabf5aeb6dfadda14c53805dd73e 100644 (file)
@@ -84,7 +84,7 @@ el:
   browse: 
     changeset: 
       changeset: "Ομάδα αλλαγών: %{id}"
-      changesetxml: Ομάδα αλλαγών XML
+      changesetxml: Ομάδας αλλαγών XML
       download: Λήψη %{changeset_xml_link} ή %{osmchange_xml_link}
       feed: 
         title: Ομάδα αλλαγών %{id}
@@ -123,10 +123,10 @@ el:
         relation: Επεξεργασία σχέσης
         way: Επεξεργασία διαδρομής
       larger: 
-        area: Δείτε την περιοχή σε μεγαλύτερο χάρτη.
+        area: Δες την περιοχή σε μεγαλύτερο χάρτη.
         node: Προβολή του κόμβου σε μεγαλύτερο χάρτη
-        relation: Δείτε την σχέση σε μεγαλύτερο χάρτη
-        way: Δείτε την διαδρομή σε μεγαλύτερο χάρτη.
+        relation: Δες την σχέση σε μεγαλύτερο χάρτη
+        way: Δες την διαδρομή σε μεγαλύτερο χάρτη.
       loading: Φόρτωση...
     navigation: 
       all: 
@@ -140,12 +140,12 @@ el:
         prev_way_tooltip: Προηγούμενη διαδρομή
       user: 
         name_changeset_tooltip: Προβολή αλλαγών από %{user}
-        next_changeset_tooltip: Επόμενη επεξεργασία από %{user}
-        prev_changeset_tooltip: Προηγούμενη επεξεργασία από %{user}
+        next_changeset_tooltip: Επόμενη επεξεργασία από τον %{user}
+        prev_changeset_tooltip: Προηγούμενη επεξεργασία από τον %{user}
     node: 
       download: "%{download_xml_link}, %{view_history_link} ή %{edit_link}"
       download_xml: Λήψη XML
-      edit: επεξεργαστείτε
+      edit: επεξεργασία
       node: Κόμβος
       node_title: "Κόμβος: %{node_name}"
       view_history: δες ιστορία
@@ -159,7 +159,7 @@ el:
       node_history_title: "Ιστορικό Κόμβου: %{node_name}"
       view_details: Δες λεπτομέρειες
     not_found: 
-      sorry: Î£Ï\85γγνÏ\8eμη, ο/η %{type} με την ταυτότητα %{id}, δε μπορεί να βρεθεί.
+      sorry: Î\9bÏ\85Ï\80άμαι, ο/η %{type} με την ταυτότητα %{id}, δε μπορεί να βρεθεί.
       type: 
         changeset: ομάδα αλλαγών
         node: Κόμβος
@@ -196,8 +196,8 @@ el:
       data_frame_title: Δεδομένα
       data_layer_name: Δεδομένα
       details: Λεπτομέρειες
-      drag_a_box: Σύρετε ένα πλαίσιο στο χάρτη για να επιλέξετε μια περιοχή
-      edited_by_user_at_timestamp: Επεξεργάστηκε από [[user]] στις [[timestamp]]
+      drag_a_box: Σύρε ένα πλαίσιο στο χάρτη για να επιλέξεις μια περιοχή
+      edited_by_user_at_timestamp: Επεξεργάστηκε από τον [[user]] στις [[timestamp]]
       hide_areas: Απόκρυψη περιοχών
       history_for_feature: Ιστορικό για [[feature]]
       load_data: Φόρτωση δεδομένων
@@ -225,7 +225,7 @@ el:
       show_history: Προβολή ιστορικού
       unable_to_load_size: "Δεν είναι δυνατή η φόρτωση: το μέγεθος [[bbox_size]] του πλαισίου οριοθέτησης είναι πολύ μεγάλο (πρέπει να είναι μικρότερο από %{max_bbox_size})"
       wait: Αναμονή...
-      zoom_or_select: Μεγέθυνση ή επιλογή περιοχής του χάρτη για να δείτε
+      zoom_or_select: Μεγέθυνση ή επιλογή περιοχής του χάρτη προς εμφάνιση
     tag_details: 
       tags: "Ετικέτες:"
       wiki_link: 
@@ -233,7 +233,7 @@ el:
         tag: Η wiki σελίδα περιγραφής για την ετικέτα %{key}=%{value}
       wikipedia_link: Το άρθρο %{page} στη Βικιπαίδεια
     timeout: 
-      sorry: Î£Ï\85γγνÏ\8eμη, τα δεδομένα για το/τη %{type} με αναγνωριστικό %{id}, χρειάστηκε πολύ χρόνο για να ανακτηθεί.
+      sorry: Î\9bÏ\85Ï\80άμαι, τα δεδομένα για το/τη %{type} με αναγνωριστικό %{id}, χρειάστηκε πολύ χρόνο για να ανακτηθεί.
       type: 
         changeset: ομάδα αλλαγών
         node: Κόμβος
@@ -263,7 +263,7 @@ el:
       anonymous: Ανώνυμος
       big_area: (μεγάλο)
       no_comment: (κανένα)
-      no_edits: (χωρίς τροποποιήσεις)
+      no_edits: (χωρίς επεξεργασίες)
       show_area_box: δείξε κουτί περιοχής
       still_editing: (ακόμη σε επεξεργασία)
       view_changeset_details: Προβολή λεπτομερειών ομάδας αλλαγών
@@ -280,18 +280,24 @@ el:
     list: 
       description: Πρόσφατες αλλαγές
       description_bbox: Ομάδες αλλαγών μεταξύ %{bbox}
+      description_friend: Ομάδες αλλαγών από τους φίλους σας
+      description_nearby: Ομάδες αλλαγών από κοντινούς χρήστες
       description_user: Ομάδες αλλαγών από %{user}
       description_user_bbox: Ομάδες αλλαγών από %{user} μεταξύ %{bbox}
       heading: Ομάδες αλλαγών
       heading_bbox: Ομάδες αλλαγών
+      heading_friend: Ομάδες αλλαγών
+      heading_nearby: Ομάδες αλλαγών
       heading_user: Ομάδες αλλαγών
       heading_user_bbox: Ομάδες αλλαγών
       title: Ομάδες αλλαγών
       title_bbox: Ομάδες αλλαγών μεταξύ %{bbox}
-      title_user: Ομάδες αλλαγών από %{user}
-      title_user_bbox: Ομάδες αλλαγών από %{user} μεταξύ %{bbox}
+      title_friend: Ομάδες αλλαγών από τους φίλους σου
+      title_nearby: Ομάδες αλλαγών από κοντινούς χρήστες
+      title_user: Ομάδες αλλαγών από τον %{user}
+      title_user_bbox: Ομάδες αλλαγών από τον %{user} μεταξύ %{bbox}
     timeout: 
-      sorry: Î\9bÏ\85Ï\80άμαι, Î¿ ÎºÎ±Ï\84άλογοÏ\82 Ï\84Ï\89ν Î¿Î¼Î¬Î´Ï\89ν Î±Î»Î»Î±Î³Ï\8eν Ï\80οÏ\85 Î¶Î·Ï\84ήÏ\83αÏ\84ε Ï\87Ï\81ειάÏ\83Ï\84ηκε Ï\80ολÏ\8d Ï\87Ï\81Ï\8cνο να ανακτηθεί.
+      sorry: Î\9bÏ\85Ï\80άμαι, Î¿ ÎºÎ±Ï\84άλογοÏ\82 Ï\84Ï\89ν Î¿Î¼Î¬Î´Ï\89ν Î±Î»Î»Î±Î³Ï\8eν Ï\80οÏ\85 Î¶Î®Ï\84ηÏ\83εÏ\82 Ï\87Ï\81ειάÏ\83Ï\84ηκε Ï\80ολÏ\8d Ï\87Ï\81Ï\8cνο Î³Î¹Î± να ανακτηθεί.
   diary_entry: 
     diary_comment: 
       comment_from: Σχόλιο από τον %{link_user} στις %{comment_created_at}
@@ -308,7 +314,7 @@ el:
       posted_by: Γράφτηκε από το χρήστη %{link_user} στις %{created} στα %{language_link}
       reply_link: Απάντηση στη καταχώρηση
     edit: 
-      body: "ΣÏ\8eμα:"
+      body: "Î\9aείμενο:"
       language: "Γλώσσα:"
       latitude: Γεωγραφικό πλάτος
       location: "Τοποθεσία:"
@@ -337,6 +343,8 @@ el:
       older_entries: Παλιότερες Καταχωρήσεις
       recent_entries: "Πρόσφατες καταχωρήσεις ημερολογίου:"
       title: Ημερολόγια χρηστών
+      title_friends: Ημερολόγια φίλων
+      title_nearby: Ημερολόγια Κοντινών Χρηστών
       user_title: ημερολόγιο του %{user}
     location: 
       edit: Επεξεργασία
@@ -368,8 +376,8 @@ el:
       description: Potlatch 2 (επεξεργαστής μέσα στο περιηγητή ιστού)
       name: Potlatch 2
     remote: 
-      description: Î\91Ï\80ομακÏ\81Ï\85Ï\83μένοÏ\82 Î­Î»ÎµÎ³Ï\87ος (JOSM ή Merkaartor)
-      name: Î\91Ï\80ομακÏ\81Ï\85Ï\83μένοÏ\82 Î­Î»ÎµÎ³Ï\87ος
+      description: Î¤Î·Î»ÎµÏ\87ειÏ\81ιÏ\83μÏ\8cς (JOSM ή Merkaartor)
+      name: Î¤Î·Î»ÎµÏ\87ειÏ\81ιÏ\83μÏ\8cς
   export: 
     start: 
       add_marker: Προσθέστε ένα δείκτη στο χάρτη
@@ -384,11 +392,9 @@ el:
       licence: Άδεια
       longitude: "Γεω. Μη.:"
       manually_select: Χειροκίνητη επιλογή διαφορετικής περιοχής
-      mapnik_image: Εικόνα Mapnik
       max: μεγ
       options: Επιλογές
       osm_xml_data: Δεδομένα OpenStreetMap XML
-      osmarender_image: Εικόνα Osmarender
       output: Απόδοση
       paste_html: Επικόλληση HTML για ενσωμάτωση στην ιστοσελίδα
       scale: Κλίμακα
@@ -552,6 +558,7 @@ el:
           school: Σχολικό Κτήριο
           shop: Κατάστημα
           stadium: Στάδιο
+          store: Κατάστημα
           tower: Πύργος
           train_station: Σιδηροδρομικός Σταθμός
           university: Κτήριο Πανεπιστημίου
@@ -579,6 +586,7 @@ el:
           secondary_link: Δευτερεύουσα Οδός
           services: Υπηρεσίες Αυτοκινητοδρόμου
           steps: Σκαλοπάτια
+          track: Χωματόδρομος
           trail: Διαδρομή
           unclassified: Αταξινόμητη Οδός
           unsurfaced: Δρόμος χωρίς Επίστρωση
@@ -608,6 +616,7 @@ el:
           forest: Δάσος
           grass: Γρασίδι
           industrial: Βιομηχανική Περιοχή
+          landfill: Χωματερή
           meadow: Λιβάδι
           military: Στρατιωτική Περιοχή
           mine: Ορυχείο
@@ -623,6 +632,7 @@ el:
           wetland: Υγρότοπος
           wood: Μη προσεγμένο δάσος
         leisure: 
+          beach_resort: Παραθαλάσσιο θέρετρο
           fishing: Αλιευτική Περιοχή
           garden: Κήπος
           golf_course: Γήπεδο Γκολφ
@@ -697,6 +707,7 @@ el:
           historic_station: Ιστορική Σιδηροδρομικός Σταθμός
           junction: Σιδηροδρομικός Κόμβος
           level_crossing: Ισόπεδη Διάβαση
+          narrow_gauge: Σιδηρόδρομος Στενής Τροχιάς
           station: Σιδηροδρομικός Σταθμός
           subway: Σταθμός Μετρό
           subway_entrance: Είσοδος Στο Μετρό
@@ -724,9 +735,11 @@ el:
           dry_cleaning: Στεγνό Καθάρισμα
           electronics: Κατάστημα Ηλεκτρονικών
           estate_agent: Κτηματομεσίτης
+          fashion: Κατάστημα Μόδας
           fish: Ιχθυοπωλείο
           florist: Ανθοπώλης
           food: Κατάστημα Τροφίμων
+          funeral_directors: Γραφείο τελετών
           furniture: Έπιπλα
           gift: Κατάστημα Δώρων
           greengrocer: Μανάβης
@@ -769,12 +782,12 @@ el:
           waterfall: Καταρράχτης
   javascripts: 
     site: 
-      edit_disabled_tooltip: Κάνετε μεγέθυνση για να επεξεργαστείτε το χάρτη
+      edit_disabled_tooltip: Κάνε μεγέθυνση για να επεξεργαστείς το χάρτη
       edit_tooltip: Επεξεργασία του χάρτη
-      edit_zoom_alert: Πρέπει να μεγεθύνετε για να επεξεργαστείτε το χάρτη
-      history_disabled_tooltip: Μεγέθυνση για να δείτε τις αλλαγές για αυτή την περιοχή
+      edit_zoom_alert: Πρέπει να μεγεθύνεις για να επεξεργαστείς το χάρτη
+      history_disabled_tooltip: Μεγέθυνε για να δεις τις αλλαγές για αυτή την περιοχή
       history_tooltip: Προβολή αλλαγών για αυτή την περιοχή
-      history_zoom_alert: Πρέπει να μεγεθύνετε για να δείτε τις αλλαγές για αυτή την περιοχή
+      history_zoom_alert: Πρέπει να μεγεθύνεις για να δεις τις αλλαγές για αυτή την περιοχή
   layouts: 
     community_blogs: Ιστολόγια της Κοινότητας
     community_blogs_title: Blogs από τα μέλη της κοινότητας του OpenStreetMap
@@ -802,9 +815,13 @@ el:
       one: Τα εισερχόμενα σας περιέχουν 1 αδιάβαστο μήνυμα
       other: Τα εισερχόμενα σας περιέχουν %{count} αδιάβαστα μηνύματα
       zero: Τα εισερχόμενα σας δεν περιέχουν κανένα αδιάβαστο μήνυμα
-    intro_1: Ο OpenStreetMap είναι δωρεάν, επεξεργάσιμος χάρτης ολόκληρου του κόσμου. Είναι κατασκευασμένο από ανθρώπους σαν κι εσάς.
+    intro_1: Ο OpenStreetMap είναι δωρεάν, επεξεργάσιμος χάρτης ολόκληρου του κόσμου. Είναι κατασκευασμένος από ανθρώπους σαν κι εσάς.
     intro_2: Το OpenStreetMap σάς επιτρέπει να προβάλετε, να επεξεργαστείτε και να χρησιμοποιήσετε τα γεωγραφικά δεδομένα με ένα συνεργατικό τρόπο από οπουδήποτε στη Γη.
+    intro_3: Η φιλοξενία του OpenStreetMap υποστηρίζεται από το %{ucl}, %{ic} και %{bytemark}. Άλλοι υποστηρικτές του εγχειρήματος αναφέρονται στους %{partners}.
+    intro_3_ic: Κολέγιο Imperial του Λονδίνου
     intro_3_partners: βίκι
+    license: 
+      title: Τα δεδομένα του OpenStreetMap τελούν υπό την Creative Commons Attribution-Share Alike 2.0 Γενική Άδεια
     log_in: είσοδος
     log_in_tooltip: Σύνδεση με έναν υπάρχοντα λογαριασμό
     logo: 
@@ -814,15 +831,17 @@ el:
     make_a_donation: 
       text: Κάντε μια Δωρεά
       title: Υποστήριξε το OpenStreetMap με δωρεά χρημάτων
+    osm_offline: Η βάση δεδομένων του OpenStreetMap είναι προσωρινά εκτός λειτουργίας λόγω εργασιών συντήρησης της βάσης δεδομένων.
+    osm_read_only: Η βάση δεδομένων του OpenStreetMap είναι προσωρινά σε λειτουργία "μόνο για ανάγνωση" λόγω εργασιών συντήρησης της βάσης δεδομένων.
     sign_up: εγγραφή
     sign_up_tooltip: Δημιουργήστε λογαριασμό για επεξεργασία
-    tag_line: Ο Ελεύθερος Παγκόσμιος Χάρτης Βίκι
+    tag_line: Ο Ελεύθ. Παγκ. Χάρτης Βίκι
     user_diaries: Ημερολόγια Χρηστών
     user_diaries_tooltip: Προβολή ημερολογίων χρηστών
     view: Προβολή
     view_tooltip: Προβολή του χάρτη
     welcome_user: Καλώς ορίσατε, %{user_link}
-    welcome_user_link_tooltip: Î\97 Ï\83ελίδα Ï\87Ï\81ήÏ\83Ï\84η Ï\83αÏ\82
+    welcome_user_link_tooltip: Î\97 Ï\80Ï\81οÏ\83Ï\89Ï\80ική Ï\83αÏ\82 Ï\83ελίδα
     wiki: Βίκι
     wiki_title: Ιστοσελίδα βίκι για το έργο
   license_page: 
@@ -836,14 +855,20 @@ el:
       text: Προβάλλετε η αγγλική έκδοση της σελίδας πνευματικών δικαιωμάτων. Μπορείτε να επιστρέψετε στην %{native_link} της σελίδας ή να σταματήσετε να διαβάζετε για τα πνευματικά δικαιώματα και να %{mapping_link}.
       title: Σχετικά με αυτήν τη σελίδα
   message: 
+    delete: 
+      deleted: Το μήνυμα διαγράφηκε
     inbox: 
       date: Ημ/νία
       from: Από
       my_inbox: Τα Εισερχόμενα μου
+      no_messages_yet: Δεν έχεις μηνύματα ακόμα. Γιατί δεν έρχεσαι σε επαφή με μερικά από τα %{people_mapping_nearby_link}?
       outbox: εξερχόμενα
+      people_mapping_nearby: άτομα που χαρτογραφούν κοντά σου
       subject: Θέμα
       title: Εισερχόμενα
-      you_have: Έχεις %{new_count} νέα μηνύματα και %{old_count} παλιά μηνύματα
+    mark: 
+      as_read: Το μήνυμα σημειώθηκε ως διαβασμένο
+      as_unread: Το μήνυμα σημειώθηκε ως αδιάβαστο
     message_summary: 
       delete_button: Διαγραφή
       read_button: Σήμανση ως διαβασμένο
@@ -852,12 +877,14 @@ el:
     new: 
       back_to_inbox: Πίσω στα Εισερχόμενα
       body: Κείμενο
+      limit_exceeded: Έχεις στείλει πολλά μηνύματα πρόσφατα. Παρακαλώ περίμενε για λίγο πριν δοκιμάσεις να στείλεις ξανά.
       message_sent: Αποστολή μηνύματος
       send_button: Αποστολή
       send_message_to: Αποστολή νέου μηνύματος προς %{name}
       subject: Θέμα
       title: Αποστολή μηνύματος
     no_such_message: 
+      body: Λυπάμαι δεν υπάρχει μήνυμα με αυτό το αναγνωριστικό.
       heading: Κανένα τέτοιο μήνυμα
       title: Κανένα τέτοιο μήνυμα
     no_such_user: 
@@ -879,11 +906,16 @@ el:
       back_to_outbox: Πίσω στα Εξερχόμενα
       date: Ημ/νία
       from: Από
+      reading_your_messages: Ανάγνωση μηνυμάτων
+      reading_your_sent_messages: Ανάγνωση απεσταλμένων μηνυμάτων
       reply_button: Απάντηση
       subject: Θέμα
       title: Ανάγνωση μηνύματος
       to: Προς
       unread_button: Σήμανση ως αδιάβαστο
+      wrong_user: Έχεις συνδεθεί ως `%{user}' αλλά το μήνυμα που ζητάς να διαβάσεις δεν έχει σταλεί σε εσένα ούτε από εσένα. Παρακαλώ συνδέσου με το σωστό όνομα χρήστη ώστε να μπορέσεις να το διαβάσεις.
+    reply: 
+      wrong_user: Έχεις συνδεθεί ως `%{user}' αλλά το μήνυμα που ζητάς να απαντήσεις δεν έχει σταλεί σε αυτόν το χρήστη. Παρακαλώ συνδέσου με το σωστό όνομα χρήστη ώστε να μπορέσεις να απαντήσεις
     sent_message_summary: 
       delete_button: Διαγραφή
   notifier: 
@@ -929,21 +961,29 @@ el:
       subject: "[OpenStreetMap] Επιβεβαιώστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας"
     signup_confirm_html: 
       click_the_link: Εάν πρόκειται για σας, Καλώς ήρθατε! Κάντε κλικ στο σύνδεσμο παρακάτω, για να επιβεβαιωθεί ο λογαριασμό σας και διαβάστε για περισσότερες πληροφορίες σχετικά με το OpenStreetMap
+      get_reading: Διάβασε σχετικά με το OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">στο wiki</a>, μείνε ενήμερος με τα τελευταία νέα μέσω του <a href="http://blog.openstreetmap.org/">OpenStreetMap blog</a> ή το <a href="http://twitter.com/openstreetmap">Twitter</a>, ή περιηγήσου στο <a href="http://www.opengeodata.org/">OpenGeoData blog</a> του ιδρυτή του OpenStreetMap Steve Coast για το ιστορικό του project, το οποίο επίσης έχει <a href="http://www.opengeodata.org/?cat=13">podcasts να ακούσεις</a>!
       greeting: Γεια!
-      hopefully_you: Κάποιος (ελπίζουμε εσύ) θέλει να δημιουργήσει ένα λογαριασμό στο
+      hopefully_you: Κάποιος (ελπίζουμε εσείς) θέλει να δημιουργήσει ένα λογαριασμό στο
       introductory_video: Μπορείτε να παρακολουθήσετε ένα %{introductory_video_link}.
       more_videos: Υπάρχουν {more_videos_link} %.
       more_videos_here: περισσότερα βίντεο εδώ
       video_to_openstreetmap: εισαγωγικό βίντεο για το OpenStreetMap
     signup_confirm_plain: 
+      ask_questions: "Μπορείς να ρωτήσεις για οποιαδήποτε απορία έχεις σχετικά με το OpenStreetMap στην ιστοσελίδα ερωτήσεων και απαντήσεων:"
+      blog_and_twitter: "Μείνε ενήμερος με τα τελευταία νέα μέσω του ιστολογίου του OpenStreetMap ή το Twitter:"
       click_the_link_1: Αν αυτός είσαι εσύ, καλώς ήρθες! Παρακαλώ κάνε κλίκ στο σύνδεσμο από κάτω ώστε να επιβεβαιωθεί
       click_the_link_2: ο λογαριασμός σου και διάβασε για περισσότερες πληροφορίες σχετικά με το OpenStreetMap.
+      current_user_1: Ένας κατάλογος με τρέχοντες χρήστες ανά κατηγορίες, βασισμένος στο πού στον κόσμο
+      current_user_2: "βρίσκονται, είναι διαθέσιμος από:"
       greeting: Γεια!
       hopefully_you: Κάποιος (ελπίζουμε εσύ) θέλει να δημιουργήσει ένα λογαριασμό στο
       introductory_video: "Μπορείς να παρακολουθήσεις ένα εισαγωγικό βίντεο για το OpenStreetMap εδώ:"
       more_videos: "Υπάρχουν περισσότερα βίντεο εδώ:"
       opengeodata: "Το OpenGeoData.org είναι το ιστολόγιο του ιδρυτή του OpenStreetMap Steve Coast's , έχει επίσης και podcasts:"
       the_wiki: "Διάβασε σχετικά με το OpenStreetMap στο wiki:"
+      user_wiki_1: Προτείνεται να δημιουργήσεις μια σελίδα χρήστη wiki, η οποία περιλαμβάνει
+      user_wiki_2: ετικέτες που επισημαίνουν που βρίσκεσαι, όπως [[Category:Users_in_London]].
+      wiki_signup: "Ίσως θες επίσης να κάνεις εγγραφή στο OpenStreetMap wiki:"
   oauth_clients: 
     edit: 
       submit: Επεξεργασία
@@ -963,18 +1003,24 @@ el:
   site: 
     edit: 
       anon_edits_link_text: Μάθετε γιατί συμβαίνει αυτό.
+      flash_player_required: Χρειάζεστε Flash player για να χρησιμοποιήσετε το Potlatch, το Flash πρόγραμμα επεξεργασίας του OpenStreetMap. Μπορείτε να <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">κάνετε λήψη του Flash Player από την τοποθεσία Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Πολλές άλλες επιλογές</a> είναι επίσης διαθέσιμες για επεξεργασία στο OpenStreetMap.
       not_public: Δεν έχετε ορίσει τις επεξεργασίες σας να είναι δημόσιες.
       potlatch2_unsaved_changes: Έχετε μη αποθηκευμένες αλλαγές. (Για να αποθηκεύσετε στο Potlatch 2, πρέπει να κάνετε κλικ στο «Αποθήκευση».)
       user_page_link: σελίδα χρήστη
     index: 
       js_1: Είτε χρησιμοποιείτε πρόγραμμα περιήγησης που δεν υποστηρίζει JavaScript ή έχετε απενεργοποιήσει την JavaScript.
+      js_2: Το OpenStreetMap χρησιμοποιεί JavaScript για το ολισθαίνοντα χάρτη του.
       license: 
         notice: Υπό την άδεια του %{license_name} άδεια από το %{project_name} και τους χρήστες του.
         project_name: έργο OpenStreetMap
+      remote_failed: Η επεξεργασία απέτυχε - βεβαιώσου ότι ο JOSM ή ο Merkaartor έχουν φορτωθεί και η επιλογή τηλεχειρισμού είναι ενεργή
     key: 
       map_key: Υπόμνημα
+      map_key_tooltip: Υπόμνημα χάρτη
       table: 
         entry: 
+          admin: Διοικητικό όριο
+          bridge: Μαύρο περίβλημα = γέφυρα
           bridleway: Μονοπάτι για Άλογα
           building: Σημαντικό κτίριο
           cable: 
@@ -998,14 +1044,17 @@ el:
           park: Πάρκο
           permissive: Ανεκτική Πρόσβαση
           pitch: Γήπεδο Αθλητισμού
+          primary: Κύρια Οδός
           private: Ιδιωτική πρόσβαση
           rail: Σιδηρόδρομος
           resident: Κατοικημένη περιοχή
           runway: 
             - Διάδρομος Αεροδρομίου
+            - τροχόδρομος
           school: 
             - Σχολείο
             - πανεπιστήμιο
+          secondary: Δευτερεύουσα Οδός
           station: Σιδηροδρομικός σταθμός
           subway: Υπόγειος σιδηρόδρομος
           summit: 
@@ -1013,6 +1062,7 @@ el:
           tourist: Τουριστικό αξιοθέατο
           tram: 
             1: τραμ
+          tunnel: Διακεκομμένο περίβλημα = σήραγγα
           wood: Φυσικό Δάσος
     search: 
       search: Αναζήτηση
@@ -1026,22 +1076,33 @@ el:
     formats: 
       friendly: "%e %B %Y στις %H:%M"
   trace: 
+    create: 
+      upload_trace: Αποστολή Ίχνους GPS
+    delete: 
+      scheduled_for_deletion: Το ίχνος προγραμματίστηκε για διαγραφή
     edit: 
       description: "Περιγραφή:"
       download: λήψη
       edit: επεξεργασία
       filename: "Όνομα αρχείου:"
+      heading: Επεξεργασία ίχνους %{name}
       map: χάρτης
       owner: "Ιδιοκτήτης:"
       points: "Σημεία:"
       save_button: Αποθήκευση Αλλαγών
       tags: "Ετικέτες:"
       tags_help: οριοθετημένο με κόμματα
+      title: Επεξεργασία ίχνους %{name}
       visibility: "Ορατότητα:"
       visibility_help: τι σημαίνει αυτό;
+    list: 
+      public_traces: Δημόσια ίχνη GPS
+      public_traces_from: Δημόσια ίχνη GPS από τον %{user}
+      tagged_with: σεσημασμένα με %{tags}
+      your_traces: Τα δικά σου ίχνη GPS
     no_such_user: 
-      body: Λυπούμαστε, δεν υπάρχει κανένας χρήστης με το όνομα % {user}. Παρακαλούμε ελέγξτε την ορθογραφία, ή ίσως ο σύνδεσμος ήταν λάθος.
-      heading: Ο χρήστης % {user} δεν υπάρχει
+      body: Λυπούμαστε, δεν υπάρχει κανένας χρήστης με το όνομα %{user}. Παρακαλούμε ελέγξτε την ορθογραφία, ή ίσως ο σύνδεσμος ήταν λάθος.
+      heading: Ο χρήστης %{user} δεν υπάρχει
       title: Άγνωστος χρήστης
     trace: 
       ago: "%{time_in_words_ago} πριν"
@@ -1050,6 +1111,7 @@ el:
       edit: επεξεργασία
       edit_map: Επεξεργασία Χάρτη
       map: χάρτης
+      pending: ΕΚΚΡΕΜΕΙ
       private: ΙΔΙΩΤΙΚΟ
       public: ΔΗΜΟΣΙΟ
       view_map: Προβολή Χάρτη
@@ -1059,6 +1121,7 @@ el:
       tags: "Ετικέτες:"
       tags_help: οριοθετημένο με κόμματα
       upload_button: Αποστολή
+      upload_gpx: "Αποστολή αρχείου GPX:"
       visibility: "Ορατότητα:"
       visibility_help: τι σημαίνει αυτό;
     trace_optionals: 
@@ -1068,9 +1131,11 @@ el:
       previous: « Προηγούμενο
       showing_page: Εμφάνιση σελίδας %{page}
     view: 
+      delete_track: Διαγραφή αυτού του ίχνους
       description: "Περιγραφή:"
       download: λήψη
       edit: επεξεργασία
+      edit_track: Επεξεργασία αυτού του ίχνους
       filename: "Όνομα αρχείου:"
       map: χάρτης
       none: Κανένα
@@ -1081,8 +1146,11 @@ el:
   user: 
     account: 
       contributor terms: 
+        agreed: Έχεις συμφωνήσει με τους νέους Όρους Συνεισφοράς.
         heading: "Όροι Συνεισφοράς:"
         link text: τι είναι αυτό;
+        not yet agreed: Δεν έχεις συμφωνήσει με τους νέους Όρους Συνεισφοράς.
+        review link text: Παρακαλώ ακολούθησε αυτό το σύνδεσμο όταν μπορέσεις για να διαβάσεις και να αποδεχθείς τους νέους Όρους Συνεισφοράς.
       current email address: "Τωρινή Διεύθυνση ηλεκτρονικού ταχυδρομείου:"
       delete image: Αφαίρεση της τρέχουσας εικόνας
       email never displayed publicly: (όχι δημόσια εμφάνιση)
@@ -1093,21 +1161,25 @@ el:
       keep image: Διατήρηση της τρέχουσας εικόνας
       latitude: "Γεωγραφικό πλάτος:"
       longitude: "Γεωγραφικό μήκος:"
+      make edits public button: Κάνε όλες τις επεξεργασίες μου δημόσιες
       my settings: Οι ρυθμίσεις μου
       new email address: "Νέα Διεύθυνση ηλεκτρονικού ταχυδρομείου:"
       new image: Προσθήκη εικόνας
+      no home location: Δεν έχεις εισάγει την τοποθεσία του σπιτιού σου.
       openid: 
         link text: τι είναι αυτό;
       preferred editor: "Προτιμώμενο πρόγραμμα Επεξεργασίας:"
       preferred languages: "Προτιμώμενες γλώσσες:"
       profile description: "Περιγραφή Λογαριασμού:"
       public editing: 
+        disabled: Απενεργοποιήθηκε και δεν μπορείς να επεξεργαστείς δεδομένα, όλες οι προηγούμενες επεξεργασίες είναι ανώνυμες.
         disabled link text: γιατί δεν μπορώ να επεξεργαστώ τον χάρτη;
-        enabled: Ενεργοποιήθηκε. Δεν είστε πια ανώνυμος και μπορείτε να επεξεργαστείτε δεδομένα.
+        enabled: Ενεργοποιήθηκε. Δεν είσαι πια ανώνυμος και μπορείς να επεξεργαστείς δεδομένα.
         enabled link text: τι είναι αυτό;
         heading: "Δημόσια επεξεργασία:"
       public editing note: 
         heading: "Δημόσια επεξεργασία:"
+        text: Αυτή τη στιγμή οι επεξεργασίες σου είναι ανώνυμες και δεν μπορεί κανείς να σου στείλει μήνυμα ή να δει την τοποθεσία σου. Για να δείξεις τι έχεις επεξεργαστεί και να επιτρέψεις στους άλλους έρθουν σε επαφή μαζί σου μέσω του ιστοχώρου, πάτα το κουμπί από κάτω. <b>Από την αλλαγή σε API 0.6, μόνο οι επώνυμοι χρήστες μπορούν να επεξεργαστούν δεδομένα του χάρτη.</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">μάθε γιατί</a>). <ul><li>Η διεύθυνσή σου ηλεκτρονικού ταχυδρομείου δεν θα αποκαλυφθεί δημόσια. </li><li> Αυτή η ενέργεια δεν μπορεί να αναιρεθεί και όλοι οι νέοι χρήστες είναι επώνυμοι εξ' αρχής.</li></ul>
       replace image: Αντικατάσταση της τρέχουσας εικόνας
       return to profile: Επιστροφή στο προφίλ
       save changes button: Αποθήκευση Αλλαγών
@@ -1116,20 +1188,20 @@ el:
       already active: Αυτός ο λογαριασμός έχει ήδη επιβεβαιωθεί.
       button: Επιβεβαίωση
       heading: Επιβεβαίωση ενός λογαριασμού χρήστη
-      press confirm button: Î Î±Ï\84ήÏ\83Ï\84ε Ï\84ο ÎºÎ¿Ï\85μÏ\80ί "Î\95Ï\80ιβεβαίÏ\89Ï\83η" Î³Î¹Î± Î½Î± ÎµÎ½ÎµÏ\81γοÏ\80οιήÏ\83εÏ\84ε Ï\84ο Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8c Ï\83αÏ\82.
-      success: Î\95Ï\80ιβεβαιÏ\8eθηκε Î¿ Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8cÏ\82 Ï\83αÏ\82, Ï\83αÏ\82 ÎµÏ\85Ï\87αÏ\81ιÏ\83Ï\84οÏ\8dμε Î³Î¹Î± Ï\84ην ÎµÎ³Î³Ï\81αÏ\86ή Ï\83αÏ\82!
+      press confirm button: Î Î¬Ï\84α Ï\84ο ÎºÎ¿Ï\85μÏ\80ί "Î\95Ï\80ιβεβαίÏ\89Ï\83η" Î³Î¹Î± Î½Î± ÎµÎ½ÎµÏ\81γοÏ\80οιήÏ\83ειÏ\82 Ï\84ο Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8c Ï\83οÏ\85.
+      success: Î\95Ï\80ιβεβαιÏ\8eθηκε Î¿ Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8cÏ\82 Ï\83οÏ\85, Ï\83ε ÎµÏ\85Ï\87αÏ\81ιÏ\83Ï\84οÏ\8dμε Î³Î¹Î± Ï\84ην ÎµÎ³Î³Ï\81αÏ\86ή Ï\83οÏ\85!
     confirm_email: 
       button: Επιβεβαίωση
       failure: Μια διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη επιβεβαιωθεί με αυτό το διακριτικό.
       heading: Επιβεβαίωση αλλαγής της διεύθυνσης ηλεκτρονικού ταχυδρομείου
-      press confirm button: Î Î±Ï\84ήÏ\83Ï\84ε Ï\84ο ÎºÎ¿Ï\85μÏ\80ί "Î\95Ï\80ιβεβαίÏ\89Ï\83η" Ï\80αÏ\81ακάÏ\84Ï\89 Î³Î¹Î± Î½Î± ÎµÏ\80ιβεβαιÏ\8eÏ\83εÏ\84ε Ï\84η Î½Î­Î± Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\83αÏ\82.
-      success: Î\95Ï\80ιβεβαιÏ\8eθηκε Î· Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\83αÏ\82, Ï\83αÏ\82 ÎµÏ\85Ï\87αÏ\81ιÏ\83Ï\84οÏ\8dμε Î³Î¹Î± Ï\84ην ÎµÎ³Î³Ï\81αÏ\86ή Ï\83αÏ\82!
+      press confirm button: Î Î¬Ï\84α Ï\84ο ÎºÎ¿Ï\85μÏ\80ί "Î\95Ï\80ιβεβαίÏ\89Ï\83η" Ï\80αÏ\81ακάÏ\84Ï\89 Î³Î¹Î± Î½Î± ÎµÏ\80ιβεβαιÏ\8eÏ\83ειÏ\82 Ï\84η Î½Î­Î± Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\83οÏ\85.
+      success: Î\95Ï\80ιβεβαιÏ\8eθηκε Î· Î´Î¹ÎµÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85 Ï\83οÏ\85, Ï\83ε ÎµÏ\85Ï\87αÏ\81ιÏ\83Ï\84οÏ\8dμε Î³Î¹Î± Ï\84ην ÎµÎ³Î³Ï\81αÏ\86ή Ï\83οÏ\85!
     confirm_resend: 
       failure: Ο χρήστης %{name} δεν βρέθηκε.
     filter: 
-      not_an_administrator: Πρέπει να είστε διαχειριστής για να το κάνετε αυτό.
+      not_an_administrator: Πρέπει να είσαι διαχειριστής για να το κάνεις αυτό.
     go_public: 
-      flash success: Î\8cλεÏ\82 Î¿Î¹ ÎµÏ\80εξεÏ\81γαÏ\83ίεÏ\82 Ï\83αÏ\82 ÎµÎ¯Î½Î±Î¹ Ï\84Ï\8eÏ\81α Î´Î·Î¼Ï\8cÏ\83ιεÏ\82 ÎºÎ±Î¹ Î­Ï\87εÏ\84ε Ï\84η Î´Ï\85ναÏ\84Ï\8cÏ\84ηÏ\84α Î½Î± ÎµÏ\80εξεÏ\81γαÏ\83Ï\84είÏ\84ε τον χάρτη.
+      flash success: Î\8cλεÏ\82 Î¿Î¹ ÎµÏ\80εξεÏ\81γαÏ\83ίεÏ\82 Ï\83οÏ\85 ÎµÎ¯Î½Î±Î¹ Ï\84Ï\8eÏ\81α Î´Î·Î¼Ï\8cÏ\83ιεÏ\82 ÎºÎ±Î¹ Î­Ï\87ειÏ\82 Ï\84η Î´Ï\85ναÏ\84Ï\8cÏ\84ηÏ\84α Î½Î± ÎµÏ\80εξεÏ\81γαÏ\83Ï\84είÏ\82 τον χάρτη.
     list: 
       confirm: Επιβεβαίωση επιλεγμένων χρηστών
       heading: Χρήστες
@@ -1138,15 +1210,17 @@ el:
       summary_no_ip: "%{name} δημιουργήθηκε στις %{date}"
       title: Χρήστες
     login: 
-      account not active: Λυπόμαστε, ο λογαριασμός σας δεν είναι ενεργός ακόμα.<br />Παρακαλούμε χρησιμοποιήστε το σύνδεσμο στο email επιβεβαίωσης για να ενεργοποιήσετε το λογαριασμό σας, ή <a href="%{reconfirm}">κάντε αίτηση νέου email επιβεβαίωσης</a>.
-      account suspended: Συγνώμη, ο λογαριασμός σας έχει ανασταλεί λόγω ύποπτης δραστηριότητας.<br />Εάν επιθυμείτε, επικοινωνήστε με τον %{webmaster} για να το συζητήσουμε αυτό το θέμα.
-      auth failure: Λυπόμαστε, αλλά δεν μπορούσαμε να σας συνδέσουμε με αυτές τις λεπτομέρειες.
-      create account minute: Δημιουργήστε λογαριασμό. Παίρνει μόνο ένα λεπτό.
+      account not active: Λυπάμαι, ο λογαριασμός σου δεν είναι ενεργός ακόμα.<br />Παρακαλώ χρησιμοποίησε το σύνδεσμο στο email επιβεβαίωσης για να ενεργοποιήσεις το λογαριασμό σου, ή <a href="%{reconfirm}">κάνε αίτηση νέου email επιβεβαίωσης</a>.
+      auth failure: Λυπάμαι, δεν μπορείς να συνδεθείς με αυτές τις λεπτομέρειες.
+      create account minute: Δημιούργησε λογαριασμό. Παίρνει μόνο ένα λεπτό.
       email or username: "Διεύθυνση ηλεκτρονικού ταχυδρομείου ή Όνομα χρήστη:"
       heading: Είσοδος
       login_button: Είσοδος
-      lost password link: Î\9eεÏ\87άÏ\83αÏ\84ε Ï\84ον ÎºÏ\89δικÏ\8c;
+      lost password link: Î\88Ï\87αÏ\83εÏ\82 Ï\84ον ÎºÏ\89δικÏ\8c Ï\83οÏ\85;
       new to osm: Νέος στο OpenStreetMap;
+      notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Μάθε περισσότερα σχετικά με την επερχόμενη αλλαγή άδειας του OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">μεταφράσεις</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">συζήτηση</a>)
+      notice_terms: Το OpenStreetMap μετακινείται σε νέα άδεια την 1η Απριλίου 2012. Είναι το ίδιο ανοιχτή όπως η υπάρχουσα, αλλά τα νομικά σημεία ταιριάζουν καλύτερα στη βάση δεδομένων του χάρτη. Θα θέλαμε πολύ να διατηρηθούν οι συνεισφορές σου στο OpenStreetMap, αλλά μπορούμε να το επιτύχουμε μόνο αν συμφωνείς να διανέμονται υπό τη νέα άδεια. Διαφορετικά, θα πρέπει να αφαιρεθούν από τη βάση δεδομένων.<br><br>Παρακαλούμε συνδέσου και στη συνέχεια αφιέρωσε μερικά δευτερόλεπτα για να διαβάσεις και να αποδεχτείς τους νέους όρους. Ευχαριστούμε!
+      openid missing provider: Λυπάμαι, δεν μπορώ να έρθω σε επαφή με τον πάροχο σας OpenID
       openid_logo_alt: Σύνδεση με ένα OpenID
       openid_providers: 
         aol: 
@@ -1171,54 +1245,59 @@ el:
       register now: Εγγραφή
       remember: "Αποθήκευση:"
       title: Είσοδος
-      to make changes: Για να κάνετε αλλαγές στα δεδομένα του OpenStreetMap, πρέπει να έχετε λογαριασμό.
+      to make changes: Για να κάνεις αλλαγές στα δεδομένα του OpenStreetMap, πρέπει να έχεις λογαριασμό.
     logout: 
       heading: Έξοδος από το OpenStreetMap
       logout_button: Έξοδος
       title: Έξοδος
     lost_password: 
       email address: "Διεύθυνση ηλεκτρονικού ταχυδρομείου:"
-      heading: Î\9eεÏ\87άÏ\83αÏ\84ε Ï\84ον ÎºÏ\89δικÏ\8c Ï\83αÏ\82;
-      help_text: Πληκτρολογήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποιήσατε για να εγγραφείτε, θα στείλουμε ένα σύνδεσμο, ότι μπορείτε να χρησιμοποιήσετε για να επαναφέρετε τον κωδικό πρόσβασής σας.
+      heading: Î\9eέÏ\87αÏ\83εÏ\82 Ï\84ον ÎºÏ\89δικÏ\8c Ï\83οÏ\85;
+      help_text: Πληκτρολόγησε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποίησες για να εγγραφείς, θα στείλουμε ένα σύνδεσμο, όπου μπορείς να χρησιμοποιήσεις για να επαναφέρεις τον κωδικό σου.
       new password button: Επαναφορά κωδικού
-      notice email cannot find: Λυπόμαστε, δεν βρέθηκε αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου.
-      notice email on way: Λυπάμαι που τον χάσατε:-(, αλλά ένα μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο δρόμο, ώστε να μπορείτε να τον επαναφέρετε σύντομα.
-      title: Î§Î¬Ï\83αÏ\84ε Ï\84Ï\89ν ÎºÏ\89δικÏ\8c Ï\83αÏ\82
+      notice email cannot find: Λυπάμαι, δεν βρέθηκε αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου.
+      notice email on way: Λυπάμαι που τον έχασες:-(, αλλά ένα μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο δρόμο, ώστε να μπορέσεις να τον επαναφέρεις σύντομα.
+      title: Î\88Ï\87αÏ\83εÏ\82 Ï\84ον ÎºÏ\89δικÏ\8c Ï\83οÏ\85
     make_friend: 
       already_a_friend: Είστε ήδη φίλοι με τον χρήστη %{name}.
       failed: Λυπούμαστε, απέτυχε η προσθήκη του χρήστη %{name} ως φίλο.
-      success: Î\9f Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 %{name} ÎµÎ¯Î½Î±Î¹ Ï\84Ï\8eÏ\81α Ï\86ίλοÏ\82 Ï\83αÏ\82.
+      success: Î\9f Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 %{name} ÎµÎ¯Î½Î±Î¹ Ï\84Ï\8eÏ\81α Ï\86ίλοÏ\82 Ï\83οÏ\85.
     new: 
       confirm email address: "Επιβεβαιώση Διεύθυνσης ηλεκτρονικού ταχυδρομείου:"
       confirm password: "Επιβεβαίωση Κωδικού:"
       continue: Συνέχεια
       display name: "Εμφανιζόμενο όνομα:"
       email address: "Διεύθυνση ηλεκτρονικού ταχυδρομείου:"
+      fill_form: Συμπλήρωσε τη φόρμα και θα σου στείλουμε ένα γρήγορο email για να ενεργοποιήσεις το λογαριασμό σου.
       heading: Δημιουργία Λογαριασμού Χρήστη
-      license_agreement: Όταν επιβεβαιώσετε το λογαριασμό σας, θα πρέπει να συμφωνείσετε με τους <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">όρους συνεισφοράς</a>.
+      license_agreement: Όταν επιβεβαιώσεις το λογαριασμό σου, θα πρέπει να συμφωνήσεις με τους <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">όρους συνεισφοράς</a>.
+      not displayed publicly: Να μην εμφανίζεται δημόσια (δες την <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">πολιτική απορρήτου</a>)
       password: "Κωδικός:"
-      terms accepted: Σας ευχαριστούμε για την αποδοχή των νέων όρων συνεισφοράς!
+      terms accepted: Ευχαριστούμε για την αποδοχή των νέων όρων συνεισφοράς!
+      terms declined: Λυπούμαστε για το ότι αποφάσισες να μην αποδεχθείς τους νέους όρους συνεισφοράς. Για περισσότερες πληροφορίες, παρακαλούμε δες <a href="%{url}">αυτήν τη σελίδα wiki</a>.
       title: Δημιουργία λογαριασμού
     no_such_user: 
-      body: Î£Ï\85γγνÏ\8eμη, Î´ÎµÎ½ Ï\85Ï\80άÏ\81Ï\87ει Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 Î¼Îµ Ï\84ο Ï\8cνομα %{user}. Î\95ίναι Ï\80ιθανÏ\8c Î½Î± Ï\85Ï\80άÏ\81Ï\87οÏ\85ν Î¿Ï\81θογÏ\81αÏ\86ικά Î»Î¬Î¸Î· Î® Î½Î± ÎµÎ¯Î½Î±Î¹ Î»Î¬Î¸Î¿Ï\82 Î¿ Ï\83Ï\8dνδεÏ\83μοÏ\82 Î¼Î­Ï\83ο Ï\84οÏ\85 Î¿Ï\80ίοÏ\85 Ï\86Ï\84άÏ\83αÏ\84ε σε αυτήν την σελίδα.
+      body: Î\9bÏ\85Ï\80άμαι, Î´ÎµÎ½ Ï\85Ï\80άÏ\81Ï\87ει Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 Î¼Îµ Ï\84ο Ï\8cνομα %{user}. Î\95ίναι Ï\80ιθανÏ\8c Î½Î± Ï\85Ï\80άÏ\81Ï\87οÏ\85ν Î¿Ï\81θογÏ\81αÏ\86ικά Î»Î¬Î¸Î· Î® Î½Î± ÎµÎ¯Î½Î±Î¹ Î»Î¬Î¸Î¿Ï\82 Î¿ Ï\83Ï\8dνδεÏ\83μοÏ\82 Î¼Î­Ï\83ο Ï\84οÏ\85 Î¿Ï\80οίοÏ\85 Î­Ï\86Ï\84αÏ\83εÏ\82 σε αυτήν την σελίδα.
       heading: Ο χρήστης %{user} δεν υπάρχει
       title: Άγνωστος χρήστης
     popup: 
       friend: Φίλος
       nearby mapper: Κοντινός χαρτογράφος
-      your location: Î\97 Ï\84οÏ\80οθεÏ\83ία Ï\83αÏ\82
+      your location: Î\97 Ï\84οÏ\80οθεÏ\83ία Ï\83οÏ\85
     remove_friend: 
-      not_a_friend: Î\9f Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 %{name} Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î­Î½Î±Ï\82 Î±Ï\80Ï\8c Ï\84οÏ\85Ï\82 Ï\86ίλοÏ\85Ï\82 Ï\83αÏ\82.
+      not_a_friend: Î\9f Ï\87Ï\81ήÏ\83Ï\84ηÏ\82 %{name} Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î­Î½Î±Ï\82 Î±Ï\80Ï\8c Ï\84οÏ\85Ï\82 Ï\86ίλοÏ\85Ï\82 Ï\83οÏ\85.
       success: Ο χρήστης %{name} καταργήθηκε από φίλος.
     reset_password: 
       confirm password: "Επιβεβαίωση Κωδικού:"
-      flash changed: Î\9f ÎºÏ\89δικÏ\8cÏ\82 Ï\83αÏ\82 Î­Ï\87ει Î±Î»Î»Î¬Î¾ÎµÎ¹.
+      flash changed: Î\9f ÎºÏ\89δικÏ\8cÏ\82 Ï\83οÏ\85 Î±Î»Î»Î¬Ï\87Ï\84ηκε.
       heading: Επαναφορά Κωδικού για τον χρήστη %{user}
       password: "Κωδικός:"
       reset: Επαναφορά Κωδικού
       title: Επαναφορά κωδικού
+    set_home: 
+      flash success: Η τοποθεσία σπιτιού αποθηκεύτηκε επιτυχώς
     suspended: 
-      body: "<p>\nΣÏ\85γνÏ\8eμη, Î¿ Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8cÏ\82 Ï\83αÏ\82 Î­Ï\87ει Î±Ï\85Ï\84Ï\8cμαÏ\84α Î±Î½Î±Ï\83Ï\84αλεί Î»Ï\8cγÏ\89\nÏ\8dÏ\80οÏ\80Ï\84ηÏ\82 Î´Ï\81αÏ\83Ï\84ηÏ\81ιÏ\8cÏ\84ηÏ\84αÏ\82.\n</p>\n<p>\nÎ\97 Ï\80αÏ\81οÏ\8dÏ\83α Î±Ï\80Ï\8cÏ\86αÏ\83η Î¸Î± ÎµÎ¾ÎµÏ\84αÏ\83Ï\84εί Î±Ï\80Ï\8c Î­Î½Î± Î´Î¹Î±Ï\87ειÏ\81ιÏ\83Ï\84ή Ï\83Ï\8dνÏ\84ομα, Î®\nμÏ\80οÏ\81είÏ\84ε Î½Î± ÎµÏ\80ικοινÏ\89νήÏ\83εÏ\84ε Î¼Îµ Ï\84ον %{webmaster} Î±Î½ Î¸Î­Î»ÎµÏ\84ε να συζητήσετε αυτό το θέμα.\n</p>"
+      body: "<p>\nÎ\9bÏ\85Ï\80άμαι, Î¿ Î»Î¿Î³Î±Ï\81ιαÏ\83μÏ\8cÏ\82 Ï\83οÏ\85 Î­Ï\87ει Î±Ï\85Ï\84Ï\8cμαÏ\84α Î±Î½Î±Ï\83Ï\84αλεί Î»Ï\8cγÏ\89\nÏ\8dÏ\80οÏ\80Ï\84ηÏ\82 Î´Ï\81αÏ\83Ï\84ηÏ\81ιÏ\8cÏ\84ηÏ\84αÏ\82.\n</p>\n<p>\nÎ\97 Ï\80αÏ\81οÏ\8dÏ\83α Î±Ï\80Ï\8cÏ\86αÏ\83η Î¸Î± ÎµÎ¾ÎµÏ\84αÏ\83Ï\84εί Î±Ï\80Ï\8c Î­Î½Î± Î´Î¹Î±Ï\87ειÏ\81ιÏ\83Ï\84ή Ï\83Ï\8dνÏ\84ομα, Î®\nμÏ\80οÏ\81είÏ\82 Î½Î± ÎµÏ\80ικοινÏ\89νήÏ\83ειÏ\82 Î¼Îµ Ï\84ον %{webmaster} Î±Î½ Î¸Î­Î»ÎµÎ¹Ï\82 να συζητήσετε αυτό το θέμα.\n</p>"
       heading: Ο Λογαριασμός έχει Ανασταλεί
       title: Ο Λογαριασμός έχει Ανασταλεί
     terms: 
@@ -1230,35 +1309,48 @@ el:
         france: Γαλλία
         italy: Ιταλία
         rest_of_world: Υπόλοιπος κόσμος
-      legale_select: "Î\95Ï\80ιλέξÏ\84ε Ï\84η Ï\87Ï\8eÏ\81α ÎºÎ±Ï\84οικίαÏ\82 Ï\83αÏ\82:"
+      legale_select: "ΠαÏ\81ακαλÏ\8e ÎµÏ\80έλεξε Ï\84η Ï\87Ï\8eÏ\81α ÎºÎ±Ï\84οικίαÏ\82 Ï\83οÏ\85:"
       title: Όροι συνεισφοράς
+      you need to accept or decline: Παρακαλώ διάβασε και αποδέξου ή απέρριψε τους νέους Όρους Συνεισφοράς για να συνεχίσεις.
     view: 
       activate_user: ενεργοποίηση αυτού του λογαριασμού χρήστη
       add as friend: προσθήκη ως φίλος
       ago: (%{time_in_words_ago} πριν)
+      block_history: εμφάνιση φραγών που λήφθηκαν
+      blocks by me: φραγές από εμένα
+      blocks on me: φραγές σε εμένα
       confirm: Επιβεβαίωση
       confirm_user: επιβεβαίωση αυτού το χρήστη
       create_block: φραγή αυτού του χρήστη
       created from: "Δημιουργήθηκε από:"
+      ct accepted: Αποδοχή %{ago} πριν
+      ct declined: Απόρριψη
+      ct status: "Όροι Συνεισφοράς:"
+      ct undecided: Αναποφάσιστος
       deactivate_user: απενεργοποίηση αυτού του λογαριασμού χρήστη
       delete_user: διαγραφή αυτού του χρήστη
       description: Περιγραφή
       diary: ημερολόγιο
       edits: επεξεργασίες
       email address: "Διεύθυνση ηλεκτρονικού ταχυδρομείου:"
+      friends_changesets: Εμφάνιση όλων των ομάδων αλλαγών από φίλους
+      friends_diaries: Εμφάνιση όλων των καταχωρήσεων ημερολογίου από φίλους
       hide_user: απόκρυψη αυτού του χρήστη
       km away: "%{count}χλμ μακριά"
       latest edit: "Τελευταία επεξεργασία %{ago}:"
       m away: "%{count}μ μακριά"
       mapper since: "Χαρτογράφος από:"
+      moderator_history: εμφάνιση φραγών που δόθηκαν
       my diary: το ημερολόγιό μου
       my edits: οι επεξεργασίες μου
       my settings: οι ρυθμίσεις μου
       my traces: τα ίχνη μου
       nearby users: Άλλοι κοντινοί χρήστες
+      nearby_changesets: Εμφάνιση όλων των ομάδων αλλαγών από κοντινούς χρήστες
+      nearby_diaries: Εμφάνιση όλων των καταχωρήσεων ημερολογίου από κοντινούς χρήστες
       new diary entry: νέα καταχώρηση ημερολογίου
-      no friends: Δεν έχετε προσθέσει φίλους ακόμα.
-      no nearby users: Î\94εν Ï\85Ï\80άÏ\81Ï\87οÏ\85ν Î¬Î»Î»Î¿Î¹ Ï\87Ï\81ήÏ\83Ï\84εÏ\82 Ï\80οÏ\85 Ï\80αÏ\81αδέÏ\87ονÏ\84αι Ï\8cÏ\84ι Ï\87αÏ\81Ï\84ογÏ\81αÏ\86οÏ\8dν ÎºÎ¿Î½Ï\84ά Ï\83αÏ\82 προς το παρόν.
+      no friends: Δεν έχεις προσθέσει φίλους ακόμα.
+      no nearby users: Î\94εν Ï\85Ï\80άÏ\81Ï\87οÏ\85ν Î¬Î»Î»Î¿Î¹ Ï\87Ï\81ήÏ\83Ï\84εÏ\82 Ï\80οÏ\85 Ï\80αÏ\81αδέÏ\87ονÏ\84αι Ï\8cÏ\84ι Ï\87αÏ\81Ï\84ογÏ\81αÏ\86οÏ\8dν ÎºÎ¿Î½Ï\84ά Ï\83οÏ\85 προς το παρόν.
       oauth settings: ρυθμίσεις oauth
       remove as friend: αφαίρεση από φίλος
       role: 
@@ -1275,22 +1367,36 @@ el:
       status: "Κατάσταση:"
       unhide_user: επανεμφάνιση αυτού του χρήστη
       user location: Τοποθεσία χρήστη
-      your friends: Î\9fι Ï\86ίλοι Ï\83αÏ\82
+      your friends: Î\9fι Ï\86ίλοι Ï\83οÏ\85
   user_block: 
+    blocks_by: 
+      empty: Ο %{name} δεν έχει κάνει φραγή ακόμα.
+      heading: Κατάλογος φραγών από τον %{name}
+      title: Φραγές από τον %{name}
     blocks_on: 
+      empty: Ο %{name} δεν έχει φραχτεί ακόμα.
       heading: Κατάλογος φραγών στον %{name}
       title: Φραγές στον %{name}
     edit: 
       back: Προβολή όλων των φραγών
+      heading: Επεξεργασία φραγής στον %{name}
+      show: Προβολή αυτής της φραγής
+      title: Επεξεργασία φραγής στον %{name}
     helper: 
       time_future: Τελειώνει σε %{time}.
-      time_past: Î¤ÎµÎ»ÎµÎ¯Ï\89Ï\83η %{time} πριν.
+      time_past: Î¤ÎµÎ»ÎµÎ¯Ï\89Ï\83ε %{time} πριν.
       until_login: Ενεργό έως ότου ο χρήστης συνδεθεί.
     new: 
       back: Προβολή όλων των φραγών
+      heading: Δημιουργία φραγής στον %{name}
+      submit: Δημιουργία φραγής
+      title: Δημιουργία φραγής στον %{name}
+    not_found: 
+      back: Πίσω στο ευρετήριο
     partial: 
-      confirm: Είστε σίγουροι;
+      confirm: Είσαι σίγουρος;
       creator_name: Δημιουργός
+      display_name: Υπό Φραγή Χρήστης
       edit: Επεξεργασία
       not_revoked: (δεν έχει ανακληθεί)
       reason: Αιτία φραγής
@@ -1308,18 +1414,20 @@ el:
       back: Προβολή όλων των φραγών
       confirm: Είσαι σίγουρος?
       edit: Επεξεργασία
+      heading: Ο %{block_on} έχει φραχτεί από τον %{block_by}
       reason: "Αιτία φραγής:"
       revoke: Ανάκληση!
       show: Εμφάνιση
       status: Κατάσταση
       time_future: Τελειώνει σε %{time}
       time_past: Τελείωσε %{time} πριν
+      title: Ο %{block_on} έχει φραχτεί από τον %{block_by}
   user_role: 
     filter: 
       already_has_role: Ο χρήστης έχει ήδη ρόλο %{role}.
       doesnt_have_role: Ο χρήστης δεν έχει ρόλο %{role}.
     grant: 
-      are_you_sure: Είστε βέβαιοι ότι θέλετε να εκχωρήσετε το ρόλο `%{role}' στον χρήστη `%{name}'?
+      are_you_sure: Είσαι βέβαιος ότι θέλεις να εκχωρήσεις το ρόλο `%{role}' στον χρήστη `%{name}'?
       confirm: Επιβεβαίωση
       heading: Επιβεβαίωση χορήγησης ρόλου
       title: Επιβεβαίωση χορήγησης ρόλου
diff --git a/config/locales/en-AU.yml b/config/locales/en-AU.yml
deleted file mode 100644 (file)
index e1b4a23..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-en-AU:
-  dummy: dummy
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
deleted file mode 100644 (file)
index 6a3f3cb..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-en-GB:
-  dummy: dummy
diff --git a/config/locales/en-US.yml b/config/locales/en-US.yml
deleted file mode 100644 (file)
index 1e1b393..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-en-US:
-  dummy: dummy
index 58965def13b146985980da35448ad3907211c52b..3e9908bb562b31bdda3fd5c5e44fac7f8b5e007b 100644 (file)
@@ -319,18 +319,19 @@ en:
       title_bbox: "Changesets within %{bbox}"
       title_user_bbox: "Changesets by %{user} within %{bbox}"
       title_friend: "Changesets by your friends"
-
+      title_nearby: "Changesets by nearby users"
       heading: "Changesets"
       heading_user: "Changesets"
       heading_bbox: "Changesets"
       heading_user_bbox: "Changesets"
       heading_friend: "Changesets"
-
+      heading_nearby: "Changesets"
       description: "Recent changes"
       description_user: "Changesets by %{user}"
       description_bbox: "Changesets within %{bbox}"
       description_user_bbox: "Changesets by %{user} within %{bbox}"
       description_friend: "Changesets by your friends"
+      description_nearby: "Changesets by nearby users"
     timeout:
       sorry: "Sorry, the list of changesets you requested took too long to retrieve."
   diary_entry:
@@ -338,6 +339,8 @@ en:
       title: New Diary Entry
     list:
       title: "Users' diaries"
+      title_friends: "Friends' diaries"
+      title_nearby: "Nearby Users' diaries"
       user_title: "%{user}'s diary"
       in_language_title: "Diary Entries in %{language}"
       new: New Diary Entry
@@ -400,14 +403,21 @@ en:
       all:
         title: "OpenStreetMap diary entries"
         description: "Recent diary entries from users of OpenStreetMap"
+    comments:
+      has_commented_on: "%{display_name} has commented on the following diary entries"
+      post: Post
+      when: When
+      comment: Comment
+      ago: %{ago} ago
+      newer_comments: "Newer Comments"
+      older_comments: "Older Comments"
   export:
     start:
       area_to_export: "Area to Export"
       manually_select: "Manually select a different area"
       format_to_export: "Format to Export"
       osm_xml_data: "OpenStreetMap XML Data"
-      mapnik_image: "Mapnik Image"
-      osmarender_image: "Osmarender Image"
+      map_image: "Map Image (shows standard layer)"
       embeddable_html: "Embeddable HTML"
       licence: "Licence"
       export_details: 'OpenStreetMap data is licensed under the <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0 license</a>.'
@@ -976,7 +986,7 @@ en:
     foundation_title: The OpenStreetMap Foundation
     sotm2011: 'Come to the 2011 OpenStreetMap Conference, The State of the Map, September 9-11th in Denver!'
     license:
-      alt: CC by-sa 2.0
+      alt: CC BY-SA 2.0
       title: OpenStreetMap data is licensed under the Creative Commons Attribution-Share Alike 2.0 Generic License
     make_a_donation:
       title: Support OpenStreetMap with a monetary donation
@@ -997,7 +1007,7 @@ en:
       <p>
          OpenStreetMap is <i>open data</i>, licensed under the <a
          href="http://creativecommons.org/licenses/by-sa/2.0/">Creative
-         Commons Attribution-ShareAlike 2.0</a> licence (CC-BY-SA).
+         Commons Attribution-ShareAlike 2.0</a> licence (CC BY-SA).
       </p>
       <p>
         You are free to copy, distribute, transmit and adapt our maps
@@ -1013,14 +1023,14 @@ en:
       <p>
         If you are using OpenStreetMap map images, we request that
         your credit reads at least &ldquo;&copy; OpenStreetMap
-        contributors, CC-BY-SA&rdquo;. If you are using map data only,
+        contributors, CC BY-SA&rdquo;. If you are using map data only,
         we request &ldquo;Map data &copy; OpenStreetMap contributors,
-        CC-BY-SA&rdquo;.
+        CC BY-SA&rdquo;.
       </p>
       <p>
         Where possible, OpenStreetMap should be hyperlinked to <a
         href="http://www.openstreetmap.org/">http://www.openstreetmap.org/</a>
-        and CC-BY-SA to <a
+        and CC BY-SA to <a
         href="http://creativecommons.org/licenses/by-sa/2.0/">http://creativecommons.org/licenses/by-sa/2.0/</a>. If
         you are using a medium where links are not possible (e.g. a
         printed work), we suggest you direct your readers to
@@ -1051,7 +1061,7 @@ en:
 
       <h3>Our contributors</h3>
       <p>
-        Our CC-BY-SA licence requires you to &ldquo;give the Original
+        Our CC BY-SA licence requires you to &ldquo;give the Original
         Author credit reasonable to the medium or means You are
         utilising&rdquo;. Individual OSM mappers do not request a
         credit over and above that to &ldquo;OpenStreetMap
@@ -1078,7 +1088,7 @@ en:
           on Australian Bureau of Statistics data.</li>
           <li><strong>Austria</strong>: Contains data from
           <a href="http://data.wien.gv.at/">Stadt Wien</a> under
-          <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC-BY</a>.</li>
+          <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>.</li>
           <li><strong>Canada</strong>: Contains data from
           GeoBase&reg;, GeoGratis (&copy; Department of Natural
           Resources Canada), CanVec (&copy; Department of Natural
@@ -1090,7 +1100,12 @@ en:
           Land Information New Zealand. Crown Copyright reserved.</li>
           <li><strong>Poland</strong>: Contains data from <a
           href="http://ump.waw.pl/">UMP-pcPL maps</a>. Copyright
-          UMP-pcPL contributors.</li>
+          UMP-pcPL contributors.
+          <a href="http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing">
+          More about OSM&apos;s use of UMP data</a></li>
+          <li><strong>South Africa</strong>: Contains data sourced from
+          <a href="http://www.ngi.gov.za/">Chief Directorate:
+          National Geo-Spatial Information</a>, State copyright reserved.</li>
           <li><strong>United Kingdom</strong>: Contains Ordnance
           Survey data &copy; Crown copyright and database right
           2010.</li>
@@ -1202,7 +1217,13 @@ en:
       title: "Inbox"
       my_inbox: "My inbox"
       outbox: "outbox"
-      you_have: "You have %{new_count} new messages and %{old_count} old messages"
+      messages: "You have %{new_messages} and %{old_messages}"
+      new_messages:
+        one: "%{count} new message"
+        other: "%{count} new messages"
+      old_messages:
+        one: "%{count} old message"
+        other: "%{count} old messages"
       from: "From"
       subject: "Subject"
       date: "Date"
@@ -1235,7 +1256,9 @@ en:
       my_inbox: "My %{inbox_link}"
       inbox: "inbox"
       outbox: "outbox"
-      you_have_sent_messages: "You have %{count} sent messages"
+      messages:
+        one: "You have %{count} sent message"
+        other: "You have %{count} sent messages"
       to: "To"
       subject: "Subject"
       date: "Date"
@@ -1549,7 +1572,7 @@ en:
       email or username: "Email Address or Username:"
       password: "Password:"
       openid: "%{logo} OpenID:"
-      remember: "Remember me:"
+      remember: "Remember me"
       lost password link: "Lost your password?"
       login_button: "Login"
       register now: Register now
@@ -1558,9 +1581,9 @@ en:
       new to osm: New to OpenStreetMap?
       to make changes: To make changes to the OpenStreetMap data, you must have an account.
       create account minute: Create an account. It only takes a minute.
+      no account: Don't have an account?
       account not active: "Sorry, your account is not active yet.<br />Please use the link in the account confirmation email to activate your account, or <a href=\"%{reconfirm}\">request a new confirmation email</a>."
-      account suspended: Sorry, your account has been suspended due to suspicious activity.<br />Please contact the %{webmaster} if you wish to discuss this.
-      webmaster: webmaster
+      account is suspended: Sorry, your account has been suspended due to suspicious activity.<br />Please contact the <a href="%{webmaster}">webmaster</a> if you wish to discuss this.
       auth failure: "Sorry, could not log in with those details."
       notice: "<a href=\"http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License\">Find out more about OpenStreetMap's upcoming license change</a> (<a href=\"http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License\">translations</a>) (<a href=\"http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming\">discussion</a>)"
       notice_terms: "OpenStreetMap is moving to a new licence on 1st April 2012. It's just as open as our current one, but the legal bits are much better suited to our map database. We'd love to keep your contributions in OpenStreetMap, but we can only do so if you agree to let us distribute them under the new licence. Otherwise, we'll have to remove them from the database.<br /><br />Please log in, then take a few seconds to review and accept the new terms. Thank you!"
@@ -1666,6 +1689,7 @@ en:
       my traces: my traces
       my notes: my map notes
       my settings: my settings
+      my comments: my comments
       oauth settings: oauth settings
       blocks on me: blocks on me
       blocks by me: blocks by me
@@ -1708,6 +1732,7 @@ en:
           moderator: "Revoke moderator access"
       block_history: "view blocks received"
       moderator_history: "view blocks given"
+      comments: "comments"
       create_block: "block this user"
       activate_user: "activate this user"
       deactivate_user: "deactivate this user"
@@ -1717,6 +1742,9 @@ en:
       delete_user: "delete this user"
       confirm: "Confirm"
       friends_changesets: "Browse all changesets by friends"
+      friends_diaries: "Browse all diary entries by friends"
+      nearby_changesets: "Browse all changesets by nearby users"
+      nearby_diaries: "Browse all diary entries by nearby users"
     popup:
       your location: "Your location"
       nearby mapper: "Nearby mapper"
@@ -1952,8 +1980,7 @@ en:
   javascripts:
     map:
       base:
-        mapnik: Mapnik
-        osmarender: Osmarender
+        standard: Standard
         cycle_map: Cycle Map
         transport_map: Transport Map
         mapquest: MapQuest Open
index 98f73d6184abaf9477a8cd63a47bf4fcb4ea498b..4b91c667d5f7256c5649178f2e4c64c212b4f071 100644 (file)
@@ -284,11 +284,9 @@ eo:
       licence: Permesilo
       longitude: "Lon:"
       manually_select: Mane elekti alian aeron.
-      mapnik_image: Mapnik Bildo
       max: maks
       options: Opcioj
       osm_xml_data: XML datumoj de OpenStreetMap
-      osmarender_image: Osmarender bildo
       output: Eliro
       scale: Skalo
       zoom: Zomi
@@ -381,7 +379,6 @@ eo:
       date: Dato
       my_inbox: Mia leterkesto
       title: Alvenkesto
-      you_have: Vi havas %{new_count} novajn mesaĝojn kaj %{old_count} malnovajn mesaĝojn
     mark: 
       as_read: Mesaĝo markita kiel legita
       as_unread: Mesaĝo markita kiel nelegita
@@ -403,9 +400,6 @@ eo:
       date: Dato
       inbox: Alvenkesto
       my_inbox: Mia %{inbox_link}
-      you_have_sent_messages: 
-        one: Vi havas 1 mesaĝon
-        other: Vi havas %{count} mesaĝojn
     read: 
       back_to_inbox: Reen al mesaĝejo
       date: Dato
@@ -559,7 +553,6 @@ eo:
     no_such_user: 
       body: Bedaŭrinde, ne ekzistas uzanto nomita %{user}. Bonvolu kontroli la literumadon aŭ la ligon kion vi sekvis.
       heading: La uzanto %{user} ne ekzistas
-      title: La uzanto %{user} ne ekzistas
     trace: 
       ago: Antaŭ  %{time_in_words_ago}
       by: de
diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml
deleted file mode 100644 (file)
index 071a114..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-es-AR:
-  dummy: dummy
diff --git a/config/locales/es-CL.yml b/config/locales/es-CL.yml
deleted file mode 100644 (file)
index c5102a1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-es-CL:
-  dummy: dummy
diff --git a/config/locales/es-CO.yml b/config/locales/es-CO.yml
deleted file mode 100644 (file)
index f44f891..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-es-CO:
-  dummy: dummy
diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml
deleted file mode 100644 (file)
index 71ec195..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-es-MX:
-  dummy: dummy
diff --git a/config/locales/es-PE.yml b/config/locales/es-PE.yml
deleted file mode 100644 (file)
index 3e23925..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-es-PE:
-  dummy: dummy
index 9aa6f274aabeeabb472906430d7bca62f992602d..d9b04218593a104d942ee58424851d2805f71e4a 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Spanish (Español)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
+# Author: Armando-Martin
 # Author: Crazymadlover
 # Author: Johnarupire
 # Author: Jynus
@@ -290,14 +291,20 @@ es:
     list: 
       description: Cambios recientes
       description_bbox: Conjunto de cambios dentro de %{bbox}
+      description_friend: Conjuntos de cambios realizados por vuestros amigos
+      description_nearby: Conjuntos de cambios realizados por usuarios cercanos
       description_user: Conjunto de cambios por %{user}
       description_user_bbox: Conjunto de cambios por %{user} dentro de %{bbox}
       heading: Conjuntos de cambios
       heading_bbox: Conjuntos de cambios
+      heading_friend: Conjuntos de cambios
+      heading_nearby: Conjuntos de cambios
       heading_user: Conjuntos de cambios
       heading_user_bbox: Conjuntos de cambios
       title: Conjuntos de cambios
       title_bbox: Conjunto de cambios dentro de %{bbox}
+      title_friend: Conjuntos de cambios realizados por vuestros amigos
+      title_nearby: Conjuntos de cambios realizados por usuarios cercanos
       title_user: Conjunto de cambios por %{user}
       title_user_bbox: Conjunto de cambios por %{user} dentro de %{bbox}
     timeout: 
@@ -347,6 +354,8 @@ es:
       older_entries: Entradas más antiguas
       recent_entries: "Entradas recientes en el diario:"
       title: Diarios de usuarios
+      title_friends: Diarios de amigos
+      title_nearby: Diarios de usuarios cercanos
       user_title: Diario de %{user}
     location: 
       edit: Editar
@@ -394,11 +403,9 @@ es:
       licence: Licencia
       longitude: "Lon:"
       manually_select: Seleccionar a mano otra área
-      mapnik_image: Imagen de Mapnik
       max: max
       options: Opciones
       osm_xml_data: Datos formato OpenStreetMap XML
-      osmarender_image: Imagen de Osmarender
       output: Resultado
       paste_html: HTML para empotrar en otro sitio web
       scale: Escala
@@ -545,7 +552,7 @@ es:
           veterinary: Clínica veterinaria
           village_hall: Sala del pueblo
           waste_basket: Papelera
-          wifi: Acceso a Internet inalámbrico
+          wifi: Acceso WiFi
           youth_centre: Centro juvenil
         boundary: 
           administrative: Frontera administrativa
@@ -964,7 +971,7 @@ es:
       english_link: el original en Inglés
       text: En el caso de un conflicto entre esta página traducida y %{english_original_link}, la versión inglesa prevalecerá
       title: Acerca de esta traducción
-    legal_babble: "<h2>Derechos de autor y licencia</h2>\n<p>\n   OpenStreetMap es <i>Open Data</i> (datos abiertos), con licencia <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.es\">Creative Commons Reconocimiento- Compartir bajo la misma licencia  2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Puedes copiar, distribuir, transmitir y adaptar nuestros mapas e información libremente siempre y cuando des reconocimiento a OpenStreetMap y sus colaboradores. Si alteras o generas contenido sobre nuestros mapas e información, podrás distribuir estos cambios bajo la misma licencia. El <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">código legal completo</a> explica tus derechos y obligaciones.\n</p>\n\n<h3>Cómo dar reconocimiento a OpenStreetMap</h3>\n<p>\n  Si usas imágenes de mapas de OpenStreetMap, solicitamos que tu texto dándonos reconocimiento se lea al menos así: &ldquo;&copy; Colaboradores de OpenStreetMap, CC-BY-SA&rdquo;. Si sólo utilizas información del mapa, solicitamos que muestres &ldquo;Información del mapa &copy; Colaboradores de OpenstreetMap, CC-BY-SA&rdquo;.\n</p>\n<p>\n  Donde sea posible, OpenStreetMap debería vincularse a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  y CC-BY-SA a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si estás usando un medio donde los enlaces no son posibles (como es el caso de obras impresas), te sugerimos que dirigas a tus lectores a www.openstreetmap.org (por ejemplo, expandiendo &lsquo;OpenStreetMap&rsquo; a su dirección completa) y a www.creativecommons.org.\n</p>\n\n<h3>Para saber más...</h3>\n<p>\n  Encontrarás más información acerca de cómo utilizar nuestros datos en <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Preguntas y respuestas legales</a> (en inglés).\n</p>\n<p>\n  Se le recuerda a los colaboradores de OSM que no deberán añadir información procedente de ninguna fuente con derechos de autor reservados (como por ejemplo de Google Maps o mapas impresos) sin el consentimiento explícito de los poseedores de los derechos de autor.\n</p>\n<p>\n  A pesar de que OpenStreetMap es contenido abierto, no podemos proveer una API de mapas gratuita para desarrolladores de aplicaciones para terceros.\n\n  Por favor, lee nuestra <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política de uso del API</a> (en inglés),\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política de uso de <i>tiles</i></a> (en inglés)\n  y <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Políticas de uso de Nominatim</a> (en inglés también).\n</p>\n\n<h3>Nuestros colaboradores</h3>\n<p>\n  Nuestra licencia CC-BY-SA requiere &ldquo;reconocer al autor original, de manera razonable conforme al medio o a los medios que usted esté utilizando&rdquo;. Los contribuidores individuales de OSM no solicitan la mención del crédito más allá de &ldquo;Colaboradores de OpenStreetMap&rdquo;, pero en casos donde se ha incluido en OpenStreetMap información de una agencia nacional de cartografía u otra fuente mayor, es razonable reproducir su crédito directamente o añadir su vínculo a esta página.\n</p>\n\n<!--\nInformación para los editores de la página\n\nLa siguiente lista incluye sólo las organizaciones que requieren atribución como condición para que sus datos puedan ser uitlizados en OpenStreetMap. No es un catálogo general de importaciones y no debe ser utilizada sino sólo cuando la atribución se requiera para cumplir con las condiciones de la licencia de la información importada.\n\n\nCualquier adición a esta lista debe discutirse primero con los administradores de sistema de OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contiene datos suburbanos cuya base es la información provista por Australian Bureau of\n   Statistics.</li>\n   <li><strong>Austria</strong>: Contiene datos de\n   <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> bajo\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canadá</strong>: Contiene datos de GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), and StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contiene datos extraídos de Direction Générale des Impôts.</li>\n   <li><strong>Nueva Zelanda</strong>: Contiene datos extraídos de Land Information New Zealand. Crown Copyright reserved.</li>\n   <li><strong>Polonia</strong>: Contiene datos de <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Copyright contribuidores de\n   UMP-pcPL.</li>\n<li><strong>Reino Unido</strong>: Contiene datos de Ordnance Survey &copy; Crown copyright and database right\n   2010.</li>\n</ul>\n\n<p>\n  La inclusión de información en OpenStreetMap no implica que el proveedor de la información original apoya OpenStreetMap, ofrece alguna garantía o acepta alguna responsabilidad.\n</p>"
+    legal_babble: "<h2>Derechos de autor y licencia</h2>\n<p>\n   OpenStreetMap es <i>Open Data</i> (un servicio de datos de acceso libre), con licencia <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Reconocimiento-CompartirIgual 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Puedes copiar, distribuir, transmitir y adaptar nuestros mapas e información libremente siempre y cuando des reconocimiento a   OpenStreetMap y sus colaboradores. Si alteras o generas contenido sobre nuestros mapas e información, podrás distribuir estos cambios bajo la misma licencia. El <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">código legal completo</a> explica tus derechos y obligaciones.\n</p>\n\n<h3>Cómo dar reconocimiento a OpenStreetMap</h3>\n<p>\n  Si usas imágenes de mapas de OpenStreetMap, solicitamos que tu texto dándonos reconocimiento se lea al menos así: &ldquo;&copy; Colaboradores de OpenStreetMap, CC-BY-SA&rdquo;. Si sólo utilizas información del mapa, solicitamos que muestres &ldquo;Información del mapa &copy; Colaboradores de OpenstreetMap, CC-BY-SA&rdquo;.\n</p>\n<p>\n  Donde sea posible, OpenStreetMap debería vincularse a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  y CC-BY-SA a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si estás usando un medio donde los enlaces no son posibles (como es el caso de obras impresas), te sugerimos que dirigas a tus lectores a www.openstreetmap.org (por ejemplo, expandiendo &lsquo;OpenStreetMap&rsquo; a su dirección completa) y a www.creativecommons.org.\n</p>\n\n<h3>Para saber más...</h3>\n<p>\n  Encontrarás más información acerca de cómo utilizar nuestros datos en <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Preguntas y respuestas legales</a> (en inglés).\n</p>\n<p>\n  Se le recuerda a los colaboradores de OSM que no deberán añadir información procedente de ninguna fuente con derechos de autor reservados (como por ejemplo de Google Maps o mapas impresos) sin el consentimiento explícito de los poseedores de los derechos de autor.\n</p>\n<p>\n  A pesar de que OpenStreetMap es contenido abierto, no podemos proveer una API de mapas gratuita para desarrolladores de aplicaciones para terceros.\n\n  Por favor, lee nuestra <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Política de uso del API</a> (en inglés),\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Política de uso de <i>tiles</i></a> (en inglés)\n  y <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Políticas de uso de Nominatim</a> (en inglés también).\n</p>\n\n<h3>Nuestros colaboradores</h3>\n<p>\n  Nuestra licencia CC-BY-SA requiere &ldquo;reconocer al autor original, de manera razonable conforme al medio o a los medios que usted esté utilizando&rdquo;. Las persona que hacen contribuciones individualmente a OSM no solicitan la mención de un crédito adicional al de &ldquo;Colaboradores de OpenStreetMap&rdquo;, pero en casos donde se ha incluido en OpenStreetMap información de una agencia nacional de cartografía u otra fuente mayor, es razonable reproducir su crédito directamente o añadir su vínculo a esta página.\n</p>\n\n<!--\nInformación para los editores de la página\n\nLa siguiente lista incluye sólo las organizaciones que requieren atribución como condición para que sus datos puedan ser uitlizados en OpenStreetMap. No es un catálogo general de importaciones y no debe ser utilizada sino sólo cuando la atribución se requiera para cumplir con las condiciones de la licencia de la información importada.\n\n\nCualquier adición a esta lista debe discutirse primero con los administradores de sistema de OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contiene datos suburbanos cuya base es la información provista por Australian Bureau of\n   Statistics.</li>\n   <li><strong>Austria</strong>: Contiene datos de\n   <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> bajo\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canadá</strong>: Contiene datos de GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), and StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contiene datos extraídos de Direction Générale des Impôts.</li>\n   <li><strong>Nueva Zelanda</strong>: Contiene datos extraídos de Land Information New Zealand. Crown Copyright reserved.</li>\n   <li><strong>Polonia</strong>: Contiene datos de <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Copyright contribuidores de\n   UMP-pcPL. <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Aprenda más sobre el uso de UMP por parte de OSM</a></li>\n<li><strong>Reino Unido</strong>: Contiene datos de Ordnance Survey &copy; Crown copyright and database right\n   2010.</li>\n<li><strong>Sudáfrica</strong>: Contiene datos extraídos de \t\n    <a href=\"http://www.ngi.gov.za/\">Chief Directorate: Información \n    Nacional Geoespacial</a>, State copyright reserved.</li>\n</ul>\n\n<p>\n  La inclusión de información en OpenStreetMap no implica que el proveedor de la información original apoya a OpenStreetMap, ofrece alguna garantía o acepta alguna responsabilidad.\n</p>"
     native: 
       mapping_link: comenzar a mapear
       native_link: Versión en español
@@ -976,13 +983,19 @@ es:
     inbox: 
       date: Fecha
       from: De
+      messages: Tienes %{new_messages} y %{old_messages}
       my_inbox: Mi buzón de entrada
+      new_messages: 
+        one: "%{count} nuevo mensaje"
+        other: "%{count} nuevos mensajes"
       no_messages_yet: No tienes aún mensajes. ¿Por qué no te pones en contacto con alguno de los %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} mensaje antiguo"
+        other: "%{count} mensajes antiguos"
       outbox: bandeja de salida
       people_mapping_nearby: gente cercana mapeando
       subject: Asunto
       title: Buzón de entrada
-      you_have: tienes %{new_count} mensajes nuevos y %{old_count} mensajes viejos
     mark: 
       as_read: Mensaje marcado como leído
       as_unread: Mensaje marcado como sin leer
@@ -1011,6 +1024,9 @@ es:
     outbox: 
       date: Fecha
       inbox: entrada
+      messages: 
+        one: Usted tiene %{count} mensaje enviado
+        other: Usted tiene %{count} mensajes enviados
       my_inbox: Mi %{inbox_link}
       no_sent_messages: No tienes aún mensajes enviados. ¿Por qué no te pones en contacto con alguno de los %{people_mapping_nearby_link}?
       outbox: salida
@@ -1018,7 +1034,6 @@ es:
       subject: Asunto
       title: Salida
       to: A
-      you_have_sent_messages: Tienes %{count} mensajes enviados
     read: 
       back_to_inbox: Regresar a la bandeja de entrada
       back_to_outbox: Regresar a la bandeja de salida
@@ -1471,8 +1486,8 @@ es:
       summary_no_ip: "%{name} creado el %{date}"
       title: Usuarios
     login: 
+      account is suspended: Lo sentimos, su cuenta se ha suspendido debido a actividad sospechosa.<br>Póngase en contacto con el <a href="%{webmaster}">webmaster</a> si desea hablar de ello.
       account not active: Lo sentimos, tu cuenta aun no está activa.<br />Por favor usa el enlace que hay en el correo de confirmación para activarla, o <a href="%{reconfirm}">solicita un nuevo correo de confirmación</a>.
-      account suspended: Disculpa, tu cuenta ha sido suspendida debido a actividad sospechosa.<br />por favor contacta al %{webmaster} si deseas discutir esto.
       auth failure: Lo sentimos. No pudo producirse el acceso con esos datos.
       create account minute: Cree una cuenta. Sólo se tarda un minuto.
       email or username: "Dirección de correo o nombre de usuario:"
@@ -1481,6 +1496,7 @@ es:
       lost password link: ¿Ha perdido su contraseña?
       new to osm: ¿Nuevo en OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Descubre más acerca del próximo cambio de licencia de OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traducciones</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discusión</a>)
+      notice_terms: OpenStreetMap cambiará a una nueva licencia el 1 de abril de 2012. Es tan abierta como nuestra licencia actual, pero los términos legales están mucho mejor adaptados a nuestra base de datos del mapa. Nos encantaría conservar sus contribuciones en OpenStreetMap, pero sólo podremos hacerlo si está de acuerdo en permitirnos distribuirlas bajo la nueva licencia. De lo contrario, tendremos que eliminarlas de la base de datos.<br /><br />Inicie sesión y, a continuación, tómese unos segundos para revisar y aceptar los nuevos términos. ¡Gracias!
       openid: "%{logo} OpenID:"
       openid invalid: Lo sentimos, tu OpenID parece ser incorrecto
       openid missing provider: Lo sentimos, no hemos podido contactar con su proveedor de OpenID
@@ -1509,7 +1525,6 @@ es:
       remember: "Recordarme:"
       title: Iniciar sesión
       to make changes: Para realizar cambios en los datos de OpenStreetMap, debe tener una cuenta.
-      webmaster: webmaster
       with openid: "Como alternativa, utilice su OpenID para iniciar sesión:"
       with username: "¿Ya tiene una cuenta en OpenStreetMap? Por favor, inicie sesión con su nombre de usuario y contraseña:"
     logout: 
@@ -1602,12 +1617,18 @@ es:
       confirm_user: confirmar este usuario
       create_block: bloquear a este usuario
       created from: "Creado a partir de:"
+      ct accepted: Aceptado hace %{ago}
+      ct declined: Rechazado
+      ct status: "Términos del colaborador:"
+      ct undecided: Indeciso
       deactivate_user: desactivar este usuario
       delete_user: borrar este usuario
       description: Descripción
       diary: diario
       edits: ediciones
       email address: "Dirección de correo electrónico:"
+      friends_changesets: Navegar por los conjuntos de cambios realizados por amigos
+      friends_diaries: Navegar por todas las entradas de diario realizadas por amigos
       hide_user: esconder este usuario
       if set location: Si ha configurado su lugar de origen, verá un mapa abajo. Puede configurar su lugar de origen en la página de %{settings_link}.
       km away: "%{count} km de distancia"
@@ -1620,6 +1641,8 @@ es:
       my settings: mis preferencias
       my traces: mis trazas
       nearby users: "Otros usuarios cercanos:"
+      nearby_changesets: Navegar por todos los conjuntos de cambios de los usuarios cercanos
+      nearby_diaries: Buscar todas las entradas de diario realizadas por usuarios cercanos
       new diary entry: nueva entrada de diario
       no friends: No has añadido ningún amigo aún.
       no nearby users: Todavía no hay usuarios que se hayan ubicado en su proximidad.
index 6d661ae1e14a90ec8d92b5b2344f16d932de8f77..cfb27fc9dda46a611b086576dae1f6bef7aa3e4d 100644 (file)
@@ -8,6 +8,8 @@
 et: 
   activerecord: 
     attributes: 
+      diary_comment: 
+        body: Sisu
       diary_entry: 
         language: Keel
         latitude: Laiuskraad
@@ -19,7 +21,7 @@ et:
         user: Kasutaja
       message: 
         body: Sisu
-        recipient: Vastuvõtja
+        recipient: Saaja
         sender: Saatja
         title: Teema
       trace: 
@@ -286,11 +288,9 @@ et:
       licence: Litsents
       longitude: "Pikkus:"
       manually_select: Vali käsitsi teine ala
-      mapnik_image: Mapnik'u pilt
       max: maks.
       options: Sätted
       osm_xml_data: OpenStreetMap'i andmed XML kujul
-      osmarender_image: Osmarender'i pilt
       output: Väljund
       paste_html: Kopeeri ja lisa see HTML-kood oma veebilehele.
       scale: Mõõtkava
@@ -299,6 +299,7 @@ et:
         heading: Ala on liiga suur
       zoom: Suurendus
     start_rjs: 
+      add_marker: Lisa kaardile marker
       change_marker: Muuda märgi asukohta
       export: Ekspordi
       view_larger_map: Näita suuremat kaarti
@@ -430,7 +431,7 @@ et:
           living_street: Õueala
           motorway: Kiirtee
           path: Rada
-          pedestrian: Jalakäijatele
+          pedestrian: Jalakäijatele tee
           platform: Platvorm
           road: Tee
           secondary: Tugimaantee
@@ -531,7 +532,11 @@ et:
           town: Linn
           village: Küla
         railway: 
+          abandoned: Ülesvõetud raudtee
+          construction: Ehitusjärgus raudtee
+          funicular: Köisraudtee
           halt: Rongipeatus
+          historic_station: Ajalooline raudteejaam
           junction: Raudtee ülekäigukoht
           level_crossing: Raudtee ülesõidukoht
           narrow_gauge: Kitsarööpmeline raudtee
@@ -554,6 +559,7 @@ et:
           fish: Kalapood
           florist: Lillepood
           food: Toidupood
+          funeral_directors: Matusebüroo
           furniture: Mööbel
           gallery: Galerii
           garden_centre: Aianduskeskus
@@ -561,6 +567,7 @@ et:
           insurance: Kindlustus
           jewelry: Juveelipood
           kiosk: Kiosk
+          market: Turg
           mobile_phone: Mobiiltelefonide pood
           music: Muusikapood
           pet: Lemmikloomapood
@@ -594,6 +601,7 @@ et:
     map: 
       base: 
         cycle_map: Rattakaart
+        transport_map: Transpordikaart
     site: 
       edit_disabled_tooltip: Kaardi redigeerimiseks suurenda kaarti
       edit_tooltip: Töötle kaarti
@@ -654,13 +662,19 @@ et:
     inbox: 
       date: Kuupäev
       from: Saatja
+      messages: Sul on %{new_messages} ja %{old_messages}
       my_inbox: Minu postkast
+      new_messages: 
+        one: "%{count} uus kiri"
+        other: "%{count} uut kirja"
       no_messages_yet: Sul ei ole veel sõnumeid. Miks mitte kontakteeruda mõne %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} vana kiri"
+        other: "%{count} vana kirja"
       outbox: Saadetud kirjad
       people_mapping_nearby: lähedaloleva kaardistajaga
       subject: Teema
       title: Saabunud kirjad
-      you_have: Sul on %{new_count} uut sõnumit ja %{old_count} vana sõnumit
     mark: 
       as_read: Sõnum on märgitud loetuks
       as_unread: Sõnum on märgitud kui lugemata
@@ -689,6 +703,9 @@ et:
     outbox: 
       date: Kuupäev
       inbox: saabunud kirjad
+      messages: 
+        one: Sul on %{count} saadetud kiri
+        other: Sul on %{count} saadetud kirja
       my_inbox: "%{inbox_link}"
       no_sent_messages: Sul ei ole veel saadetud sõnumeid. Miks mitte kontakteeruda mõne %{people_mapping_nearby_link}?
       outbox: saadetud sõnumid
@@ -696,7 +713,6 @@ et:
       subject: Teema
       title: Saadetud sõnumid
       to: Kellele
-      you_have_sent_messages: Sul on %{count} saadetud sõnumit
     read: 
       back_to_inbox: Tagasi postkasti
       back_to_outbox: Tagasi saadetud sõnumite juurde
@@ -712,6 +728,7 @@ et:
   notifier: 
     diary_comment_notification: 
       hi: Tere, %{to_user}!
+      subject: "[OpenStreetMap] %{user} kommenteeris sinu päeviku sissekannet"
     email_confirm: 
       subject: "[OpenStreetMap] Kinnita oma e-posti aadress"
     email_confirm_html: 
@@ -852,8 +869,10 @@ et:
       visibility: "Nähtavus:"
       visibility_help: Mida see tähendab?
     no_such_user: 
+      heading: Kasutajat %{user} ei eksisteeri
       title: Sellist kasutajat ei ole
     trace: 
+      ago: "%{time_in_words_ago} tagasi"
       count_points: 
         one: "%{count} punkt"
         other: "%{count} punkti"
@@ -872,6 +891,8 @@ et:
       visibility: Nähtavus
       visibility_help: mida see tähendab?
     trace_header: 
+      see_all_traces: Vaata kõiki GPS-radasid
+      see_your_traces: Vaata oma GPS-radasid
       upload_trace: Lisa GPS-rada
     trace_optionals: 
       tags: Sildid
@@ -884,7 +905,7 @@ et:
       description: "Kirjeldus:"
       download: laadi alla
       edit: redigeeri
-      edit_track: Muuda seda jälge
+      edit_track: Muuda seda rada
       filename: "Failinimi:"
       map: kaardil
       none: Puuduvad
@@ -903,7 +924,7 @@ et:
         link text: Mis see on?
       current email address: "Praegune e-posti aadress:"
       delete image: Eemalda praegune pilt
-      email never displayed publicly: (mitte kunagi näidata avalikult)
+      email never displayed publicly: (ei näidata mitte kunagi avalikult)
       flash update success: Kasutaja informatsioon uuendatud edukalt.
       home location: "Kodu asukoht:"
       image: "Pilt:"
@@ -967,6 +988,7 @@ et:
     lost_password: 
       email address: "E-posti aadress:"
       heading: Parool ununenud?
+      help_text: Sisesta e-posti aadress, mida kasutasid registreerumisel. Me saadame sinna lingi, mida saad kasutada oma parooli uuesti seadmiseks.
       new password button: Saada mulle uus salasõna
       notice email cannot find: Seda e-posti aadressi ei leitud.
       title: Unustatud salasõna
@@ -984,7 +1006,7 @@ et:
       fill_form: Täitke vorm ning me saadame teile e-posti konto aktiveerimiseks.
       heading: Loo uus kasutajanimi
       openid: "%{logo} OpenID:"
-      password: "Parool:"
+      password: "Uus parool:"
       title: Loo uus konto
     no_such_user: 
       body: Vabandust kuid kasutajat nimega %{user} pole olemas. Kontrolli sisestatud lingi õigekirja. Võimalik, et link millele sa vajutasid on vigane.
@@ -1021,6 +1043,7 @@ et:
       ago: (%{time_in_words_ago} tagasi)
       confirm: Kinnita
       create_block: blokeeri see kasutaja
+      ct accepted: Vastu võetud %{ago}  tagasi
       delete_user: kustuta see kasutaja
       description: Kirjeldus
       diary: päevik
@@ -1058,8 +1081,9 @@ et:
     filter: 
       not_a_moderator: Selle tegevuse sooritamiseks pead sa olema moderaator.
     helper: 
-      time_future: Lõpeb %{time}.
+      time_future: Lõppeb %{time}.
       time_past: Lõppes %{time} tagasi.
+      until_login: Aktiivne kuni kasutaja logib sisse.
     new: 
       back: Vaata kõiki blokeeringuid
     partial: 
@@ -1076,6 +1100,7 @@ et:
       show: Näita
       status: Olek
       time_future: Lõpeb %{time}
+      time_past: Lõppes %{time} tagasi
   user_role: 
     grant: 
       confirm: Kinnita
index ba0277633e6f528f19f7788dd6ed5f81c07c27a9..23b6b7cbfc0c52b614f0f6624b4e845be78490dd 100644 (file)
@@ -200,11 +200,9 @@ eu:
       latitude: "Lat:"
       licence: Lizentzia
       longitude: "Lon:"
-      mapnik_image: Mapnik irudia
       max: max
       options: Aukerak
       osm_xml_data: OpenStreetMap XML Data
-      osmarender_image: Osmarender irudia
       scale: Eskala
       zoom: Zooma
     start_rjs: 
@@ -767,7 +765,6 @@ eu:
       register now: Erregistratu orain
       remember: "Gogora nazazu:"
       title: Saio-hasiera
-      webmaster: webmaster
     logout: 
       heading: OpenStreetMap-etik saioa itxi
       logout_button: Saioa itxi
index 70a3338ec164abc13f4f92268c3cf71f6073616d..fd1a5c277e943f3e3dfc23f7e966b138244a4371 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck-pecl
 # Author: Grille chompa
 # Author: Huji
+# Author: Leyth
 # Author: Reza1615
 # Author: Sahim
 # Author: Wayiran
@@ -45,12 +46,14 @@ fa:
     models: 
       acl: دسترسی به لیست کنترل
       changeset: مجموعه تغییرات
+      changeset_tag: برچسب Changeset
       country: کشور
       friend: دوست
       language: زبان
       message: پیغام
       node: گره
       node_tag: تگ گره
+      notifier: آگاه‌گردان
       relation: ارتباط
       session: نشست
       trace: ردیابی
@@ -313,11 +316,9 @@ fa:
       licence: اجازه‌نامه
       longitude: "طول:"
       manually_select: به صورت دستی منطقه دیگری را انتخاب کنید
-      mapnik_image: Mapnik تصویر
       max: حداکثر
       options: تنظیمات
       osm_xml_data: داده‌های XML نقشه‌باز‌شهری
-      osmarender_image: تصویر پردازش شده نقشه‌باز‌شهری
       output: خروجی
       paste_html: برای تعبیه کردن در وب‌گاه اچ‌تی‌ام‌ال را پیست کنید
       scale: مقیاس
@@ -582,13 +583,17 @@ fa:
           hill: تپه
           island: جزیره
           land: زمین
+          marsh: مرداب
           moor: دشت
           mud: گل
           peak: قله
           point: نقطه
+          reef: آب‌سنگ
+          ridge: خط‌الرأس
           river: رود خانه
           rock: صخره
           spring: بهار
+          strait: تنگه
           tree: درخت
           valley: دره
           volcano: کوه آتشفشان
@@ -600,6 +605,7 @@ fa:
           airport: فرودگاه
           city: شهر بزرگ
           country: کشور
+          county: شهرستان
           farm: مزرعه
           house: خانه
           houses: خانه‌ها
@@ -607,21 +613,57 @@ fa:
           islet: جزیره کوچک
           locality: محل
           moor: دشت
+          municipality: شهرداری
           postcode: کدپستی
           region: منطقه
           sea: دریا
+          state: ایالت
+          subdivision: زیربخش
           suburb: محله
           town: شهر
           village: دهکده
+        railway: 
+          abandoned: راه‌آهن رهاشده
+          construction: راه‌آهن در دست ساخت
+          disused: راه‌آهن منسوخ
+          disused_station: ایستگاه منسوخ راه‌آهن
+          funicular: راه‌آهن بندی
+          halt: ایستگاه قطار
+          historic_station: ایستگاه تاریخی راه‌آهن
+          junction: اتصال راه‌آهن
+          level_crossing: محل تقاطع دو خط راه‌آهن
+          light_rail: ریل سبک
+          monorail: مونوریل
+          narrow_gauge: زاه‌آهن تبادلگر باریک
+          platform: بستر راه‌آهن
+          station: ایستگاه راه‌آهن
+          subway: ایستگاه مترو
+          subway_entrance: ورودی مترو
+          tram: تراموای
         shop: 
+          apparel: فروشگاه پوشاک
+          art: فروشگاه لوازم هنری
           bakery: نانوایی
+          beauty: فروشگاه لوازم آرایشی
+          beverages: فروشگاه نوشیدنی‌ها و عرقیات
+          bicycle: فروشگاه دوچرخه
           books: فروشگاه کتاب
           butcher: قصاب
+          car: فروشگاه خودرو
+          car_parts: قطعات خودرو
+          car_repair: تعمیرگاه خودرو
+          carpet: فروشگاه فرش
+          clothes: فروشگاه پوشاک
+          computer: فروشگاه رایانه
+          copyshop: مغازه فتوکپی
+          cosmetics: فروشگاه لوازم آرایشی
           greengrocer: سبزی فروش
           kiosk: کیوسک
           laundry: خشکشویی
           market: بازار
           supermarket: سوپرمارکت
+          toys: اسباب‌بازی‌فروشی
+          travel_agency: آژانس مسافرتی
         tourism: 
           artwork: آثار هنری
           attraction: جاذبه
@@ -629,6 +671,7 @@ fa:
           cabin: اطاق
           camp_site: محل اردوگاه
           chalet: کلبه ییلاقی
+          guest_house: مهمانخانه
           hostel: هتل
           hotel: هتل
           information: اطلاعات
@@ -963,7 +1006,6 @@ fa:
       password: "کلمه عبور:"
       remember: "به‌خاطر سپردن من:"
       title: ورود به سیستم
-      webmaster: مدیر تارنما
     logout: 
       heading: خروج از نقشه باز شهری
       logout_button: خروج
@@ -978,7 +1020,7 @@ fa:
       title: شکست گذرواژه
     make_friend: 
       already_a_friend: شما در حال حاضر دوست با %{name} هستید.
-      failed: شرمنده افزودن %{name} به عنوان دوست انجام نشد
+      failed: شرمنده، نمی‌توان %{name} را به عنوان دوست افزود
       success: "%{name} الان از دوستان شما هست."
     new: 
       confirm email address: "تایید نشانی رایانامه:"
index a74300c8557c5fd22a89e6d60d755878b231c466..8730c137c54a681db256dd87e49351eed2d8054b 100644 (file)
@@ -376,11 +376,9 @@ fi:
       licence: Lisenssi
       longitude: "Pit:"
       manually_select: Valitse pienempi alue
-      mapnik_image: Mapnik-karttatason kuvatiedosto
       max: enintään
       options: Asetukset
       osm_xml_data: OpenStreetMapin XML-muoto
-      osmarender_image: Osmarender-karttatason kuvatiedosto
       output: Tulos
       paste_html: Kopioi ja liitä tämä HTML-koodi verkkosivullesi
       scale: Mittakaava
@@ -924,7 +922,6 @@ fi:
       people_mapping_nearby: Lähellä kartoittavia ihmisiä
       subject: Otsikko
       title: Saapuneet
-      you_have: Sinulle on %{new_count} uutta viestiä ja %{old_count} vanhaa viestiä
     mark: 
       as_read: Viesti merkitty luetuksi
       as_unread: Viesti merkitty lukemattomaksi
@@ -955,7 +952,6 @@ fi:
       subject: Otsikko
       title: Lähetetyt
       to: Vastaanottaja
-      you_have_sent_messages: Sinulla on %{count} lähetettyä viestiä
     read: 
       back_to_inbox: Takaisin saapuneisiin
       back_to_outbox: Takaisin lähetettyihin
diff --git a/config/locales/fr-CA.yml b/config/locales/fr-CA.yml
deleted file mode 100644 (file)
index c2b5595..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-fr-CA:
-  dummy: dummy
diff --git a/config/locales/fr-CH.yml b/config/locales/fr-CH.yml
deleted file mode 100644 (file)
index 83d0d78..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-fr-CH:
-  dummy: dummy
index a795a0c8d6457880660aeabaf0812f2bd1b9bf2c..457ce2654d19f86cd07b1c5c7f16c29b74914a76 100644 (file)
@@ -57,7 +57,7 @@ fr:
         languages: Langues
         pass_crypt: Mot de passe
     models: 
-      acl: Liste de contrôle d'accès
+      acl: Liste de contrôle daccès
       changeset: Groupe de modifications
       changeset_tag: Balise du groupe de modifications
       country: Pays
@@ -73,10 +73,10 @@ fr:
       old_node_tag: Balise de l'ancien nœud
       old_relation: Ancienne relation
       old_relation_member: Ancien membre de la relation
-      old_relation_tag: Balise de l'ancienne relation
+      old_relation_tag: Balise de lancienne relation
       old_way: Ancien chemin
-      old_way_node: Nœud de l'ancien chemin
-      old_way_tag: Balise de l'ancien chemin
+      old_way_node: Nœud de lancien chemin
+      old_way_tag: Balise de lancien chemin
       relation: Relation
       relation_member: Membre de la relation
       relation_tag: Balise de relation
@@ -85,7 +85,7 @@ fr:
       tracepoint: Point de la trace
       tracetag: Balise de la piste
       user: Utilisateur
-      user_preference: Préférences de l'utilisateur
+      user_preference: Préférences de lutilisateur
       user_token: Jeton de l'utilisateur
       way: Chemin
       way_node: Nœud du chemin
@@ -103,7 +103,7 @@ fr:
       download: Télécharger %{changeset_xml_link} ou %{osmchange_xml_link}
       feed: 
         title: Groupe de modifications %{id}
-        title_comment: Groupe de modifications %{id} - %{comment}
+        title_comment: Groupe de modifications %{id}  %{comment}
       osmchangexml: osmChange XML
       title: Groupe de modifications
     changeset_details: 
@@ -113,13 +113,15 @@ fr:
       closed_at: "Terminé le :"
       created_at: "Créé le :"
       has_nodes: 
-        one: "Concerne le %{count} nœud suivant :"
+        one: "Concerne le nœud suivant :"
         other: "Concerne les %{count} nœuds suivants :"
       has_relations: 
         one: "Concerne la relation suivante :"
         other: "Concerne les %{count} relations suivantes :"
-      has_ways: "Concerne les %{count} chemins suivants :"
-      no_bounding_box: Aucun cadre de délimitation n'a été stocké pour ce groupe de modifications.
+      has_ways: 
+        one: "Concerne le chemin suivant :"
+        other: "Concerne les %{count} chemins suivants :"
+      no_bounding_box: Aucun cadre de délimitation n’a été stocké pour ce groupe de modifications.
       show_area_box: Montrer le cadre de la zone
     common_details: 
       changeset_comment: "Commentaire :"
@@ -135,10 +137,10 @@ fr:
     map: 
       deleted: Effacé
       edit: 
-        area: Modifier aire
-        node: Modifier noeud
-        relation: Modifier relation
-        way: Modifier chemin
+        area: Modifier la zone
+        node: Modifier le nœud
+        relation: Modifier la relation
+        way: Modifier le chemin
       larger: 
         area: Voir la zone dans une carte plus grande
         node: Voir le nœud dans une carte plus grande
@@ -161,22 +163,22 @@ fr:
         prev_changeset_tooltip: Modifications précédentes par %{user}
     node: 
       download: "%{download_xml_link}, %{view_history_link} ou %{edit_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       edit: modifier
       node: Nœud
       node_title: "Nœud : %{node_name}"
-      view_history: voir l'historique
+      view_history: afficher l’historique
     node_details: 
       coordinates: "Coordonnées :"
       part_of: "Faisant partie de :"
     node_history: 
       download: "%{download_xml_link} ou %{view_details_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       node_history: Historique du nœud
       node_history_title: "Historique du nœud : %{node_name}"
-      view_details: voir détails
+      view_details: voir les détails
     not_found: 
-      sorry: Désolé, le %{type} avec l'id %{id}, n'a pas pu être trouvé.
+      sorry: Désolé, l’objet de type %{type} avec l’identifiant %{id} n’a pas pu être trouvé.
       type: 
         changeset: groupe de modifications
         node: nœud
@@ -187,16 +189,16 @@ fr:
       showing_page: Page en cours
     relation: 
       download: "%{download_xml_link} ou %{view_history_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       relation: Relation
       relation_title: "Relation : %{relation_name}"
-      view_history: voir l'historique
+      view_history: afficher l’historique
     relation_details: 
       members: "Membres :"
       part_of: "Faisant partie de :"
     relation_history: 
       download: "%{download_xml_link} ou %{view_details_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       relation_history: Historique de la relation
       relation_history_title: "Historique de la relation : %{relation_name}"
       view_details: afficher les détails
@@ -213,19 +215,19 @@ fr:
       data_frame_title: Données
       data_layer_name: Données
       details: Détails
-      drag_a_box: Dessiner un cadre sur la carte pour sélectionner une zone
+      drag_a_box: Cliquez et tirez un cadre sur la carte pour sélectionner une zone
       edited_by_user_at_timestamp: Modifié par [[user]] le [[timestamp]]
       hide_areas: Masquer les zones
       history_for_feature: Historique pour [[feature]]
       load_data: Charger les données
-      loaded_an_area_with_num_features: "Vous avez chargé une zone qui contient [[num_features]] éléments. En général, les navigateurs ne supportent pas bien l'affichage de tant de données, et travaillent mieux lorsqu'ils affichent moins de 100 éléments : accepter peut rendre votre navigateur lent ou non fonctionnel. Si vous êtes sûr de vouloir afficher ces données, vous pouvez le faire en appuyant sur le bouton ci-dessous."
+      loaded_an_area_with_num_features: "Vous avez chargé une zone qui contient [[num_features]] éléments. En général, certains navigateurs ne supportent pas bien l’affichage de tant de données et travaillent mieux lorsqu’ils affichent moins de 100 objets à la fois : procéder autrement pourrait rendre votre navigateur lent ou non fonctionnel. Si vous êtes sûr de vouloir afficher ces données, vous pouvez le faire en appuyant sur le bouton ci-dessous."
       loading: Chargement...
       manually_select: Sélectionner manuellement une zone différente
       object_list: 
-        api: Obtenir cette zone depuis l'API
-        back: Afficher la liste d'objets
+        api: Obtenir cette zone depuis lAPI
+        back: Afficher la liste dobjets
         details: Détails
-        heading: Liste d'objets
+        heading: Liste dobjets
         history: 
           type: 
             node: Nœud [[id]]
@@ -239,16 +241,16 @@ fr:
           way: Chemin
       private_user: utilisateur privé
       show_areas: Afficher les zones
-      show_history: Montrer l'historique
-      unable_to_load_size: "Impossible de charger les données : le cadre de délimitation d'une taille de [[bbox_size]] est trop grand (il doit être inférieur à %{max_bbox_size})"
-      wait: Patienter...
+      show_history: Afficher l’historique
+      unable_to_load_size: "Impossible de charger les données : le cadre de délimitation dune taille de [[bbox_size]] est trop grand (il doit être inférieur à %{max_bbox_size})"
+      wait: Patientez...
       zoom_or_select: Zoomer ou sélectionner une zone de la carte pour la visualiser
     tag_details: 
       tags: "Balises :"
       wiki_link: 
-        key: La description de la balise %{key} sur le wiki
-        tag: La description de la balise %{key}=%{value} sur le wiki
-      wikipedia_link: L'article %{page} sur Wikipedia
+        key: La description de la balise <code>%{key}</code> sur le wiki
+        tag: La description de la balise <code>%{key}=%{value}</code> sur le wiki
+      wikipedia_link: L’article « %{page} » sur Wikipédia
     timeout: 
       sorry: Désolé, les données pour le type %{type} avec l'id %{id} prennent trop de temps à être récupérées.
       type: 
@@ -258,9 +260,9 @@ fr:
         way: chemin
     way: 
       download: "%{download_xml_link}, %{view_history_link} ou %{edit_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       edit: modifier
-      view_history: afficher l'historique
+      view_history: afficher lhistorique
       way: Chemin
       way_title: "Chemin : %{way_name}"
     way_details: 
@@ -271,7 +273,7 @@ fr:
       part_of: "Faisant partie de :"
     way_history: 
       download: "%{download_xml_link} ou %{view_details_link}"
-      download_xml: Télécharger XML
+      download_xml: Télécharger en XML
       view_details: afficher les détails
       way_history: Historique du chemin
       way_history_title: "Historique du chemin : %{way_name}"
@@ -285,31 +287,45 @@ fr:
       still_editing: (en cours de modification)
       view_changeset_details: Afficher les détails du groupe de modifications
     changeset_paging_nav: 
-      next: Suivant »
-      previous: « Précédent
+      next: Objets suivants »
+      previous: « Objets précédents
       showing_page: Affichage de la page %{page}
     changesets: 
       area: Zone
       comment: Commentaire
-      id: ID
+      id: Identifiant
       saved_at: Sauvegardé à
       user: Utilisateur
     list: 
       description: Modifications récentes
       description_bbox: Groupes de modifications dans %{bbox}
+      description_friend: Groupes de modifications par vos amis
+      description_nearby: Groupes de modifications par les utilisateurs à proximité
       description_user: Groupes de modifications par %{user}
       description_user_bbox: Groupes de modifications par %{user} dans %{bbox}
       heading: Groupes de modifications
       heading_bbox: Groupes de modifications
+      heading_friend: Groupes de modifications
+      heading_nearby: Groupes de modifications
       heading_user: Groupes de modifications
       heading_user_bbox: Groupes de modifications
       title: Groupes de modifications
       title_bbox: Groupes de modifications dans %{bbox}
+      title_friend: Ensemble des modifications par vos amis
+      title_nearby: Ensembles de modifications par les utilisateurs à proximité
       title_user: Groupes de modifications par %{user}
       title_user_bbox: Groupes de modifications par %{user} dans %{bbox}
     timeout: 
-      sorry: Désolé, la liste des modifications que vous avez demandée met trop de temps pour être récupérée.
+      sorry: Désolé, la liste des groupes de modifications que vous avez demandée met trop de temps pour être récupérée.
   diary_entry: 
+    comments: 
+      ago: il y a %{ago}
+      comment: Commentaire
+      has_commented_on: "%{display_name} a commenté les entrées de journal suivantes"
+      newer_comments: Commentaires plus récents
+      older_comments: Commentaires plus anciens
+      post: Envoyer
+      when: Quand
     diary_comment: 
       comment_from: Commentaire de %{link_user} le %{comment_created_at}
       confirm: Confirmer
@@ -325,15 +341,15 @@ fr:
       posted_by: Posté par %{link_user} à %{created} en %{language_link}
       reply_link: Répondre a cette entrée
     edit: 
-      body: "Message:"
+      body: "Corps :"
       language: "Langue :"
-      latitude: "Latitude:"
-      location: "Lieu:"
-      longitude: "Longitude:"
+      latitude: "Latitude :"
+      location: "Lieu :"
+      longitude: "Longitude :"
       marker_text: Emplacement de l'entrée du journal
       save_button: Sauvegarder
       subject: "Objet :"
-      title: Modifier l'entrée du journal
+      title: Modifier lentrée du journal
       use_map_link: Utiliser la carte
     feed: 
       all: 
@@ -352,8 +368,10 @@ fr:
       newer_entries: Entrées plus récentes
       no_entries: Aucune entrée dans votre journal
       older_entries: Entrées plus anciennes
-      recent_entries: "Entrées récentes:"
+      recent_entries: "Entrées récentes du journal :"
       title: Journaux des utilisateurs
+      title_friends: Journaux des amis
+      title_nearby: Journaux des utilisateurs à proximité
       user_title: Journal de %{user}
     location: 
       edit: Modifier
@@ -393,7 +411,7 @@ fr:
       area_to_export: Zone à exporter
       embeddable_html: HTML incorporable.
       export_button: Exporter
-      export_details: Les données d'OpenStreetMap sous <a href="http://creativecommons.org/licenses/by-sa/2.0/">licence Creative Commons attribution-partage à l'identique 2.0</a>.
+      export_details: Les données d’OpenStreetMap sont publiées sous <a href="http://creativecommons.org/licenses/by-sa/2.0/">licence Creative Commons paternité – partage à l’identique 2.0</a>.
       format: Format
       format_to_export: Format à exporter
       image_size: Taille de l'image
@@ -401,11 +419,10 @@ fr:
       licence: Licence
       longitude: "Lon :"
       manually_select: Sélectionner manuellement une autre zone
-      mapnik_image: Image de Mapnik
+      map_image: Image de carte (affiche un calque normal)
       max: max
       options: Options
       osm_xml_data: Données XML d'OpenStreetMap
-      osmarender_image: Image d'Osmarender
       output: Sortie
       paste_html: Collez le code HTML pour incorporer dans un site web.
       scale: Échelle
@@ -599,7 +616,7 @@ fr:
           footway: Chemin piéton
           ford: Gué
           gate: Porte
-          living_street: Rue résidentielle
+          living_street: Rue en zone de rencontre
           minor: Route mineure
           motorway: Autoroute
           motorway_junction: Jonction d'autoroute
@@ -610,7 +627,7 @@ fr:
           primary: Route principale
           primary_link: Route principale
           raceway: Circuit
-          residential: Résidentiel
+          residential: Rue résidentielle
           road: Route
           secondary: Route secondaire
           secondary_link: Route secondaire
@@ -901,6 +918,7 @@ fr:
       base: 
         cycle_map: Carte cyclable
         mapquest: MapQuest ouverte
+        standard: Standard
         transport_map: Carte de transport
     site: 
       edit_disabled_tooltip: Zoomez en avant pour modifier la carte
@@ -942,7 +960,7 @@ fr:
     intro_3_ic: Imperial College London
     intro_3_partners: wiki
     license: 
-      title: Les données OpenStreetMap sont sous licence générale Creative Commons paternité partage à l’identique 2.0
+      title: Les données d’OpenStreetMap sont publiées sous licence <em>Creative Commons paternité – partage à l’identique 2.0 générique</em>.
     log_in: Connexion
     log_in_tooltip: Se connecter avec un compte existant
     logo: 
@@ -971,7 +989,7 @@ fr:
       english_link: original en anglais
       text: En cas de conflit entre cette page et la page %{english_original_link}, la version anglaise prime
       title: À propos de cette traduction
-    legal_babble: "<h2>Copyright et licence</h2>\n<p>\n   OpenStreetMap est un ensemble de <i>données ouvertes</i>, disponibles sous la licence <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Vous êtes libre de copier, distribuer, transmettre et adapter nos cartes\n  et données, à condition que vous créditiez OpenStreetMap et ses\n  contributeurs. Si vous modifiez ou utilisez nos cartes ou données dans d'autres travaux,\n  vous ne pouvez distribuer ceux-ci que sous la même licence. Le\n  <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">texte\n  légal complet</a> détaille vos droits et responsabilités.\n</p>\n\n<h3>Comment créditer OpenStreetMap</h3>\n<p>\n  Si vous utilisez les images d'OpenStreetMap, nous demandons que votre\n  crédit comporte au moins la mention &ldquo;&copy; les contributeurs d'OpenStreetMap\n  CC-BY-SA&rdquo;. Si vous n'utilisez que les données des cartes,\n  nous demandons &ldquo;Données de la carte &copy; les contributeurs d'OpenStreetMap,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Là où cela est possible, OpenStreetMap doit être un lien hypertexte vers <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  et CC-BY-SA vers <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>.\n  Si vous utiliser un média qui ne permet pas de créer des liens (ex :\n  un imprimé), nous suggérons que vous dirigiez vos lecteurs vers\n  www.openstreetmap.org (peut-être en étendant\n  &lsquo;OpenStreetMap&rsquo; à l'adresse complète) et vers\n  www.creativecommons.org.\n</p>\n\n<h3>Plus d'informations</h3>\n<p>\n  Si vous voulez obtenir plus d'informations sur la réutilisation de nos données, lisez la <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ légale</a>.\n</p>\n<p>\n  Nous rappelons aux contributeurs d'OSM qu'ils ne doivent jamais ajouter de données provenant\n  de sources sous copyright (ex : Google Maps ou des cartes imprimées) sans\n  autorisation explicite de la part des détenteurs du copyright.\n</p>\n<p>\n  Bien qu'OpenStreetMap soit un ensemble de données ouvertes, nous ne pouvons pas fournir\n  d'API libre de frais pour les développeurs tiers.\n\n  Voyez nos <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">règles d'utilisation de l'API</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">règles d'utilisation de la carte</a>\n  et <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">règles d'utilisation de Nominatim</a>.\n</p>\n\n<h3>Nos contributeurs</h3>\n<p>\n  Notre licence CC-BY-SA nécessite que vous &ldquo;donniez à l'auteur d'origine\n  un crédit raisonnable selon le média que vous utilisez&rdquo;.\n  Les cartographes individuels d'OSM ne demandent pas\n  d'autre crédit que &ldquo;les contributeurs d'OpenStreetMap&rdquo;,\n  mais lorsque des données venant d'une agence nationale de cartographie\n  ou autre source majeure ont été incluses dans OpenStreetMap,\n  il peut être raisonnable de les créditer directement\n  de la manière qu'ils demandent ou par un lien vers cette page.\n</p>\n\n<!--\nInformation pour ceux qui modifient cette page\n\nLa liste suivante ne contient que les organisations qui demandent l'attribution\ncomme condition de la présence de leur données dans OpenStreetMap. Ce n'est pas un\ncatalogue général des ajouts, et elle ne doit pas être utilisée,\nsauf lorsque l'attribution est nécessaire pour respecter la licence des données importées.\n\nTout ajout fait ici doit d'abord être discuté avec les administrateurs d'OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australie</strong>: Contient des données sur les banlieues\n   fondée sur les données de l'Australian Bureau of Statistics.</li>\n   <li><strong>Autriche</strong>: Contient des données sur la\n   <a href=\"http://data.wien.gv.at/\">ville de Vienne</a> sous licence\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canada</strong>: Contient des données de\n   GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), et StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>France</strong> : Contient des données de la\n   Direction Générale des Impôts.</li>\n   <li><strong>Nouvelle-Zélende</strong>: Contient des données provenant du\n   Land Information New Zealand. Crown Copyright reserved.</li>\n   <li><strong>Pologne</strong>: Contient des données provenant des <a\n   href=\"http://ump.waw.pl/\">cartes UMP-pcPL</a>. Copyright\n   contributeurs de UMP-pcPL.</li>\n   <li><strong>Royaume-Uni</strong>: Contient des données d'Ordnance\n   Survey data &copy; Crown copyright and database right 2010.</li>\n</ul>\n\n<p>\n  L'inclusion de données dans OpenStreetMap n'implique pas que les fournisseurs d'origine\n  du contenu approuvent OpenStreetMap, ni ne fournissent, ne garantissent ou n'acceptent quelque lien que ce soit.\n</p>"
+    legal_babble: "<h2>Copyright et licence</h2>\n<p>\n   OpenStreetMap est un ensemble de <i>données ouvertes</i>, disponibles sous la licence <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons\n   paternité – partage à l’identique 2.0</a> (CC BY-SA).\n</p>\n<p>\n  Vous êtes libre de copier, distribuer, transmettre et adapter nos cartes\n  et données, à condition que vous créditiez OpenStreetMap et ses\n  contributeurs. Si vous modifiez ou utilisez nos cartes ou données dans d’autres œuvres dérivées, vous\n  ne pouvez distribuer celles-ci que sous la même licence. Le\n  <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">texte\n  légal</a> complet détaille vos droits et responsabilités.\n</p>\n\n<h3>Comment créditer OpenStreetMap</h3>\n<p>\n  Si vous utilisez les images d’OpenStreetMap, nous demandons que\n  votre crédit comporte au moins la mention « © les contributeurs d’OpenStreetMap,\n  CC BY-SA ». Si vous n’utilisez que les données des cartes,\n  nous demandons « Données cartographiques © les contributeurs d’OpenStreetMap,\n  CC BY-SA ».\n</p>\n<p>\n  Là où cela est possible, OpenStreetMap doit être mentionné avec un lien hypertexte vers <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  et CC-BY-SA vers <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si\n  vous utilisez un support qui ne permet pas de créer des liens hypertextes (par ex. un\n  imprimé), nous suggérons que vous dirigiez vos lecteurs vers\n  www.openstreetmap.org (en étendant éventuellement\n  « OpenStreetMap » à cette adresse complète) et vers\n  www.creativecommons.org.\n</p>\n\n<h3>Pour trouver plus d’informations</h3>\n<p>\n  Si vous voulez obtenir plus d’informations sur la réutilisation de nos données, lisez la <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ\n  légale</a>.\n</p>\n<p>\n  Nous rappelons aux contributeurs d’OSM qu’ils ne doivent jamais ajouter de données provenant de\n  sources protégées par le droit d’auteur (copyright) ou des droits voisins (par ex. Google Maps ou des cartes imprimées) sans\n  autorisation explicite de la part des détenteurs des droits d’auteur.\n</p>\n<p>\n  Bien qu’OpenStreetMap soit un ensemble de données ouvertes, nous ne pouvons pas fournir\n  d’API cartographique libre de frais pour les développeurs tiers.\n\n  Consultez nos <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">règles d’utilisation de l’API</a>, nos\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">règles d’utilisation des tuiles graphiques</a>\n  et nos <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">règles d’utilisation de Nominatim</a>.\n</p>\n\n<h3>Nos contributeurs</h3>\n<p>\n  Notre licence CC BY-SA nécessite que vous « donniez à l’auteur d’origine\n  un crédit raisonnable selon les support et moyens que vous\n  utilisez ». Les cartographes individuels d’OSM ne demandent pas\n  d’autre crédit supplémentaire que « les contributeurs\n  d’OpenStreetMap », mais lorsque des données venant d’une agence nationale\n  de cartographie ou d’une autre source majeure ont été incluses dans\n  OpenStreetMap, il peut être raisonnable de les créditer directement\n  de la manière qu’ils demandent ou en établissant un lien vers cette page.\n</p>\n\n<!--\nInformation pour ceux qui modifient cette page\n\nLa liste suivante ne contient que les organisations qui requièrent l’attribution de paternité\ncomme condition de la présence de leur données dans OpenStreetMap. Ce n’est pas un\ncatalogue général des données importées, et elle ne doit pas être utilisée, sauf lorsque\nl’attribution est nécessaire pour respecter la licence des\ndonnées importées.\n\nTout ajout fait ici doit d’abord être discuté avec les administrateurs système d’OSM.\n-->\n<ul id=\"contributors\">\n <li><strong>Australie</strong> : contient des données sur les quartiers\n   basées sur les données de l’<em>Australian Bureau of Statistics</em>.</li>\n <li><strong>Autriche</strong> : contient des données sur la\n   <a href=\"http://data.wien.gv.at/\">Ville de Vienne</a> sous licence\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY 3.0 Autriche</a>.</li>\n <li><strong>Canada</strong> : contient des données de\n   <em>GeoBase</em>®, <em>GeoGratis</em> (© Département des Ressources\n   naturelles du Canada), <em>CanVec</em> (© Département des Ressources\n   naturelles du Canada) et <em>StatCan</em> (Division Géographie,\n   Statistiques du Canada).</li>\n <li><strong>France</strong> : contient des données de la\n   <em>Direction générale des impôts</em>.</li>\n <li><strong>Nouvelle-Zélande</strong> : contient des données provenant du\n   <em>Land Information New Zealand</em>. © Copyright de la Couronne réservé.</li>\n <li><strong>Pologne</strong> : contient des données provenant des <a\n   href=\"http://ump.waw.pl/\">cartes <em>UMP-pcPL</em></a>. © Copyright\n   les contributeurs de UMP-pcPL.\n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   En savoir davantage sur l’utilisation par OSM des données UMP</a></li>\n <li><strong>Afrique du Sud</strong> :contient des données provenant du\n   <a href=\"http://www.ngi.gov.za/\"><em>Chief Directorate:\n   National Geo-Spatial Information</em></a>, copyright de l’État réservé.</li>\n <li><strong>Royaume-Uni</strong> : contient des données provenant des <em>Ordnance\n   Survey data</em>. © Copyright de la Couronne et droits de base de données 2010.</li>\n</ul>\n\n<p>\n  L’inclusion de données dans OpenStreetMap n’implique pas que les\n  fournisseurs d’origine du contenu approuvent OpenStreetMap, ni ne fournissent, ne garantissent ou\n  n’acceptent quelque responsabilité que ce soit.\n</p>"
     native: 
       mapping_link: commencer à contribuer
       native_link: version française
@@ -983,13 +1001,19 @@ fr:
     inbox: 
       date: Date
       from: De
+      messages: Vous avez %{new_messages} et %{old_messages}
       my_inbox: Ma boîte de réception
+      new_messages: 
+        one: "%{count} nouveau message"
+        other: "%{count} nouveaux messages"
       no_messages_yet: Vous n'avez actuellement aucun message. Pourquoi ne pas entrer en contact avec quelques %{people_mapping_nearby_link} ?
+      old_messages: 
+        one: "%{count} ancien message"
+        other: "%{count} anciens messages"
       outbox: boîte d'envoi
       people_mapping_nearby: personnes proche de vous
       subject: Objet
       title: Boîte de réception
-      you_have: Vous avez %{new_count} nouveaux messages et %{old_count} anciens messages
     mark: 
       as_read: Message marqué comme lu
       as_unread: Message marqué comme non-lu
@@ -1018,6 +1042,9 @@ fr:
     outbox: 
       date: Date
       inbox: boîte de réception
+      messages: 
+        one: Vous avez %{count} message envoyé
+        other: Vous avez %{count} messages envoyés
       my_inbox: Ma %{inbox_link}
       no_sent_messages: Vous n'avez encore envoyé aucun message. Pourquoi ne pas entrez en contact avec quelques %{people_mapping_nearby_link} ?
       outbox: boîte d'envoi
@@ -1025,7 +1052,6 @@ fr:
       subject: Objet
       title: Boîte d'envoi
       to: À
-      you_have_sent_messages: Vous avez envoyé %{count} messages
     read: 
       back_to_inbox: Revenir à la boîte de réception
       back_to_outbox: Revenir à la boîte d'envoi
@@ -1210,7 +1236,7 @@ fr:
       js_2: OpenStreetMap utilise Javascript pour ses cartes glissantes.
       js_3: Si vous êtes dans l'incapacité d'utiliser Javascript, essayer d'utiliser le <a href='http://tah.openstreetmap.org/Browse/'>navigateur statique de Tiles@Home</a>.
       license: 
-        license_name: Creative Commons paternité-partage des conditions initiales à l’identique 2.0
+        license_name: Creative Commons paternité – partage à l’identique 2.0
         notice: Sous license %{license_name} par le %{project_name} et ses contributeurs.
         project_name: projet OpenStreetMap
       permalink: Lien permanent
@@ -1312,7 +1338,7 @@ fr:
       map: carte
       owner: "Propriétaire :"
       points: "Points :"
-      save_button: Sauvegarder les modifications
+      save_button: Enregistrer les modifications
       start_coord: "Coordonnées de départ :"
       tags: "Balises :"
       tags_help: séparées par des virgules
@@ -1369,8 +1395,8 @@ fr:
     trace_optionals: 
       tags: Balises
     trace_paging_nav: 
-      next: Suivant »
-      previous: « Précédent
+      next: Objets suivants »
+      previous: « Objets précédents
       showing_page: Affichage de la page %{page}
     view: 
       delete_track: Supprimer cette piste
@@ -1414,8 +1440,8 @@ fr:
       image: "Image :"
       image size hint: (les images carrées d'au moins 100×100 pixels fonctionnent le mieux)
       keep image: Garder l'image actuelle
-      latitude: "Latitude:"
-      longitude: "Longitude:"
+      latitude: "Latitude :"
+      longitude: "Longitude :"
       make edits public button: Rendre toutes mes modifications publiques
       my settings: Mes options
       new email address: "Nouvelle adresse de courriel :"
@@ -1423,7 +1449,7 @@ fr:
       no home location: Vous n'avez pas indiqué l'emplacement de votre domicile.
       openid: 
         link: http://wiki.openstreetmap.org/wiki/OpenID
-        link text: qu’est-ce ?
+        link text: qu’est-ce que ceci ?
         openid: "OpenID :"
       preferred editor: "Éditeur préféré :"
       preferred languages: "Langues préférées :"
@@ -1440,7 +1466,7 @@ fr:
         text: "Votre compte est actuellement en mode \"modifications anonymes\" : il n'existe pas de lien entre vos modifications et votre compte utilisateur et les autres contributeurs ne peuvent pas vous envoyer de message ni connaître votre localisation géographique. Pour qu'il soit possible de lister vos contributions et permettre aux autres personnes de vous contacter via ce site, cliquez sur le bouton ci-dessous. <b>Depuis le basculement de l'API en version 0.6, seuls les utilisateurs en mode \"modifications publiques\" peuvent modifier les cartes</b> (<a href=\"http://wiki.openstreetmap.org/wiki/Anonymous_edits\">en savoir plus</a>).<ul><li>Votre adresse de courriel ne sera pas rendue publique.</li><li>Cette opération ne peut pas être annulée et tous les nouveaux utilisateurs sont en mode \"modifications publiques\" par défaut.</li></ul>"
       replace image: Remplacer l'image actuelle
       return to profile: Retourner au profil
-      save changes button: Sauvegarder les changements
+      save changes button: Enregistrer les modifications
       title: Modifier le compte
       update home location on click: Mettre a jour l'emplacement de votre domicile quand vous cliquez sur la carte ?
     confirm: 
@@ -1477,8 +1503,8 @@ fr:
       summary_no_ip: "%{name} créé le %{date}"
       title: Utilisateurs
     login: 
+      account is suspended: Désolé, votre compte a été suspendu en raison d'une activité suspecte.<br />Veuillez contacter le <a href="%{webmaster}">webmaster</a> si vous voulez en discuter.
       account not active: Désolé, votre compte n'est pas encore actif.<br/>Veuillez cliquer sur le lien dans le courrier électronique de confirmation, pour activer votre compte, ou <a href="%{reconfirm}">demandez un nouveau courrier de confirmation</a>.
-      account suspended: Désolé, votre compte a été suspendu en raison d'une activité suspecte.<br />Veuillez contacter le %{webmaster} si vous voulez en discuter.
       auth failure: Désolé, mais les informations fournies n’ont pas permis de vous identifier.
       create account minute: Se créer un compte. Ça ne prend qu'une minute.
       email or username: "Adresse e-mail ou nom d'utilisateur :"
@@ -1486,7 +1512,9 @@ fr:
       login_button: Se connecter
       lost password link: Vous avez perdu votre mot de passe ?
       new to osm: Nouveau sur OpenStreetMap ?
+      no account: Vous n’avez pas encore de compte ?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">En savoir plus sur le futur changement de licence d’OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traductions</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discussion</a>)
+      notice_terms: OpenStreetMap migrera sous une nouvelle licence le 1er avril 2012. Elle est tout aussi ouverte que l'actuelle, mais les termes juridiques sont beaucoup mieux adaptés à notre base de données cartographique. Nous serions ravis de conserver vos contributions à OpenStreetMap, mais nous ne pouvons le faire que si vous acceptez de nous laisser les distribuer sous la nouvelle licence. Sinon, nous devrons les supprimer de la base de données.<br><br>Veuillez ouvrir une session, puis prendre quelques secondes pour examiner et accepter les nouvelles conditions. Merci!
       openid: "%{logo} OpenID :"
       openid invalid: Désolé, votre OpenID semble malformé
       openid missing provider: Désolé, impossible de contacter votre fournisseur OpenID
@@ -1512,10 +1540,9 @@ fr:
           title: Connexion avec Yahoo
       password: "Mot de passe :"
       register now: S'inscrire maintenant
-      remember: "Se souvenir de moi :"
+      remember: Se souvenir de moi
       title: Se connecter
       to make changes: Pour apporter des modifications aux données OpenStreetMap, vous devez posséder un compte.
-      webmaster: webmaster
       with openid: "Vous pouvez également utiliser OpenID pour vous connecter :"
       with username: "Vous avez déjà un compte sur OpenStreetMap ? Connectez-vous avec votre identifiant et votre mot de passe :"
     logout: 
@@ -1604,16 +1631,23 @@ fr:
       block_history: blocages reçus
       blocks by me: blocages donnés
       blocks on me: mes blocages
+      comments: commentaires
       confirm: Confirmer
       confirm_user: confirmer cet utilisateur
       create_block: bloquer cet utilisateur
       created from: "Créé depuis :"
+      ct accepted: Accepté il y a %{ago}
+      ct declined: Refusé
+      ct status: "Conditions du contributeur:"
+      ct undecided: Indécis
       deactivate_user: désactiver cet utilisateur
       delete_user: supprimer cet utilisateur
       description: Description
       diary: journal
       edits: modifications
       email address: "Adresse email :"
+      friends_changesets: Parcourir tous les ensembles de modifications par des amis
+      friends_diaries: Parcourir toutes les entrées du journal personnel par ses amis
       hide_user: masquer cet utilisateur
       if set location: Si vous définissez un lieu, une jolie carte va apparaître en dessous. Vous pouvez définir votre lieu sur votre page %{settings_link}.
       km away: "%{count} km"
@@ -1621,11 +1655,14 @@ fr:
       m away: distant de %{count} m
       mapper since: "Mappeur depuis:"
       moderator_history: voir les blocages donnés
+      my comments: mes commentaires
       my diary: mon journal
       my edits: mes modifications
       my settings: mes options
       my traces: mes traces
       nearby users: Autres utilisateurs à proximité
+      nearby_changesets: Parcourir tous les ensembles de modifications par les utilisateurs à proximité
+      nearby_diaries: Parcourir toutes les entrées du journal personnel par des utilisateurs à proximité
       new diary entry: nouvelle entrée dans le journal
       no friends: Vous n'avez pas encore ajouté d'ami
       no nearby users: Aucun utilisateur n'a encore signalé qu'il cartographiait à proximité.
index 6e96f7a58c4818962b6f294472f44ec336cbf946..17704bf8670a293575efb290b202e70f8c7edfe5 100644 (file)
@@ -263,6 +263,8 @@ fur:
       description_user_bbox: Grups di cambiaments di %{user} jentri di %{bbox}
       heading: Grups di cambiaments
       heading_bbox: Grups di cambiaments
+      heading_friend: Grups di cambiaments
+      heading_nearby: Grups di cambiaments
       heading_user: Grups di cambiaments
       heading_user_bbox: Grups di cambiaments
       title: Grups di cambiaments
@@ -359,11 +361,9 @@ fur:
       licence: Licence
       longitude: "Lon:"
       manually_select: Sielç a man une aree divierse
-      mapnik_image: Figure Mapnik
       max: max
       options: Opzions
       osm_xml_data: Dâts XML di OpenStreetMap
-      osmarender_image: Figure Osmarender
       output: Jessude
       paste_html: Tache l'HTML par inserîlu tal to sît web
       scale: Scjale
@@ -451,6 +451,7 @@ fur:
           fuel: Stazion di riforniment
           health_centre: Centri pe salût
           hospital: Ospedâl
+          hotel: Hotel
           ice_cream: Gjelato
           kindergarten: Scuelute
           library: Biblioteche
@@ -605,6 +606,8 @@ fur:
           butcher: Becjarie
           car_repair: Riparazion di machinis
           carpet: Buteghe di tapêts
+          clothes: Buteghe di vistîts
+          electronics: Buteghe di eletroniche
           gallery: Galarie di art
           hairdresser: Piruchîr o barbîr
           insurance: Assicurazion
@@ -619,6 +622,7 @@ fur:
           travel_agency: Agjenzie di viaçs
         tourism: 
           hostel: Ostel
+          hotel: Hotel
           information: Informazions
           museum: Museu
           valley: Val
@@ -708,13 +712,19 @@ fur:
     inbox: 
       date: Date
       from: Di
+      messages: Tu âs %{new_messages} e %{old_messages}
       my_inbox: I miei messaç in jentrade
+      new_messages: 
+        one: "%{count} messaç gnûf"
+        other: "%{count} messaçs gnûfs"
       no_messages_yet: No tu âs ancjemò nissun messaç. Parcè no tu contatis cualchidun de %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} messaç vieli"
+        other: "%{count} messaçs vielis"
       outbox: in jessude
       people_mapping_nearby: int che e je daûr a mapâ dongje di te
       subject: Sogjet
       title: In jentrade
-      you_have: Tu âs %{new_count} messaçs gnûfs e %{old_count} messaçs vieris
     mark: 
       as_read: Messaç segnât come za let
       as_unread: Messaç segnât come di lei
@@ -740,6 +750,9 @@ fur:
     outbox: 
       date: Date
       inbox: in jentrade
+      messages: 
+        one: Tu âs %{count} messaç in jessude
+        other: Tu âs %{count} messaçs in jessude
       my_inbox: Messaçs %{inbox_link}
       no_sent_messages: No tu âs ancjemò mandât nissun messaç. Parcè no tu contatis cualchidun de %{people_mapping_nearby_link}?
       outbox: in jessude
@@ -747,7 +760,6 @@ fur:
       subject: Sogjet
       title: In jessude
       to: A
-      you_have_sent_messages: Tu âs %{count} messaçs in jessude
     read: 
       back_to_inbox: Torne ai messaçs in jentrade
       back_to_outbox: Torne ai messaçs in jessude
@@ -775,7 +787,7 @@ fur:
     friend_notification: 
       befriend_them: Tu puedis ancje zontâlu/le come amì su %{befriendurl}.
       had_added_you: "%{user} ti à zontât come amì su OpenStreetMap."
-      see_their_profile: Tu puedis viodi il lôr profîl su %{userurl}.
+      see_their_profile: Tu puedis viodi il  profîl su %{userurl}.
       subject: "[OpenStreetMap] %{user} ti à zontât come amì su OpenStreetMap."
     gpx_notification: 
       and_no_tags: e nissune etichete.
@@ -800,14 +812,27 @@ fur:
       more_videos_here: altris videos culì
       video_to_openstreetmap: video di introduzion a OpenStreetMap
   oauth_clients: 
+    edit: 
+      submit: Cambie
+      title: Cambie la tô aplicazion
     form: 
       name: Non
     index: 
       application: Non de aplicazion
+      issued_at: Aprovade il
+      list_tokens: "Lis autorizazions ca sot a son stadis aprovadis cul to non aes aplicazions:"
+      my_apps: Lis mês aplicazions Client
+      my_tokens: Lis aplicazions che o ai autorizât
+      no_apps: Âstu une aplicazion web che tu volaressis regjistrâ par doprâ ca di no cul standard %{oauth}? Tu scugnis regjistrâle prime che podedi fâ richiestis OAuth a chest servizi.
+      register_new: Regjistre la tô aplicazion
       revoke: Revoche!
+      title: I miei detais OAuth
     new: 
       submit: Regjistre
       title: Regjistre une gnove aplicazion
+    show: 
+      edit: Cambie i detais
+      title: Detais OAuth par {app_name}
   site: 
     edit: 
       anon_edits_link_text: Discuvierç parcè che al è cussì.
@@ -843,6 +868,7 @@ fur:
           commercial: Aree comerciâl
           common: 
             - Comugnâi
+            - prâts
           construction: Stradis in costruzion
           golf: Troi di golf
           industrial: Aree industriâl
@@ -1008,6 +1034,7 @@ fur:
       update home location on click: Aio di inzornâ il lûc iniziâl cuant che o frachi parsore la mape?
     confirm: 
       already active: Chest profîl al è za stât confermât.
+      before you start: O savìn che tu varâs premure di scomençâ a mapâ, ma prime tu podaressis jemplâ culì sot cualchidune des informazions su di te.
       button: Conferme
       heading: Conferme di un profîl utent
       press confirm button: Frache il boton Conferme par ativâ il to profîl.
@@ -1138,11 +1165,17 @@ fur:
       confirm_user: conferme chest utent
       create_block: bloche chest utent
       created from: "Creât di:"
+      ct accepted: Acetâts %{ago} indaûr
+      ct declined: Refudâts
+      ct status: "Tiermins par contribuî:"
+      ct undecided: Nol à decidût
       delete_user: elimine chest utent
       description: Descrizion
       diary: diari
       edits: cambiaments
       email address: "Direzion di pueste:"
+      friends_changesets: Viôt ducj i grups di cambiaments dai amîs
+      friends_diaries: Viôt dutis lis vôs di diari dai amîs
       hide_user: plate chest utent
       if set location: Se tu impuestis la tô locazion, tu viodarâs culì une biele mape e altris informazions. Tu puedis impuestâ il to lûc iniziâl inte pagjine des %{settings_link}.
       km away: "%{count}km di distance"
@@ -1155,11 +1188,16 @@ fur:
       my settings: mês impostazions
       my traces: percors personâi
       nearby users: Altris utents dongje
+      nearby_changesets: Viôt ducj i grups di cambiaments dai utents dongje
+      nearby_diaries: Viôt dutis lis vôs di diari dai utents dongje
       new diary entry: gnove vôs dal diari
       no friends: No tu âs ancjemò nissun amì.
       no nearby users: Nol è ancjemò nissun utent che al declare di mapâ dongje di te.
       oauth settings: configurazion OAuth
       remove as friend: gjave dai amîs
+      role: 
+        administrator: Chest utent al è un aministradôr
+        moderator: Chest utent al è un moderatôr
       send message: mande messaç
       settings_link_text: impostazions
       spam score: "Ponts di spam:"
@@ -1169,8 +1207,13 @@ fur:
       your friends: I tiei amîs
   user_block: 
     blocks_by: 
+      empty: "%{name} nol à ancjemò metût blocs."
       heading: Liste dai blocs di %{name}
       title: Blocs fats di %{name}
+    blocks_on: 
+      empty: "%{name} nol è ancjemò stât blocât."
+      heading: Liste dai blocs su %{name}
+      title: Blocs su %{name}
     edit: 
       back: Cjale ducj i blocs
       show: Cjale chest bloc
@@ -1207,11 +1250,15 @@ fur:
       back: Cjale ducj i blocs
       confirm: Sêstu sigûr?
       edit: Cambie
+      heading: "%{block_on} blocked by %{block_by}"
       reason: "Reson dal bloc:"
       revoke: Revoche!
+      revoker: "Chel che al à revocât:"
       show: Mostre
       status: Stât
+      time_future: Finìs ca di %{time}
       time_past: Finît %{time} indaûr
+      title: "%{block_on} blocât di %{block_by}"
   user_role: 
     grant: 
       confirm: Conferme
diff --git a/config/locales/gl-ES.yml b/config/locales/gl-ES.yml
deleted file mode 100644 (file)
index 086ece5..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-gl-ES:
-  dummy: dummy
index 92fd0efa1a898a4ac1358627a45a4ab47387fc09..2684e3bd9f3a58abf66fff7596422d2dfb6e2954 100644 (file)
@@ -281,14 +281,20 @@ gl:
     list: 
       description: Cambios recentes
       description_bbox: Conxuntos de cambios en %{bbox}
+      description_friend: Conxuntos de cambios dos seus amigos
+      description_nearby: Conxuntos de cambios dos usuarios de lugares próximos
       description_user: Conxuntos de cambios por %{user}
       description_user_bbox: Conxuntos de cambios por %{user} en %{bbox}
       heading: Conxuntos de cambios
       heading_bbox: Conxuntos de cambios
+      heading_friend: Conxuntos de cambios
+      heading_nearby: Conxuntos de cambios
       heading_user: Conxuntos de cambios
       heading_user_bbox: Conxuntos de cambios
       title: Conxuntos de cambios
       title_bbox: Conxuntos de cambios en %{bbox}
+      title_friend: Conxuntos de cambios dos seus amigos
+      title_nearby: Conxuntos de cambios dos usuarios de lugares próximos
       title_user: Conxuntos de cambios por %{user}
       title_user_bbox: Conxuntos de cambios por %{user} en %{bbox}
     timeout: 
@@ -338,6 +344,8 @@ gl:
       older_entries: Entradas máis vellas
       recent_entries: "Entradas recentes no diario:"
       title: Diarios de usuarios
+      title_friends: Diarios de amigos
+      title_nearby: Diarios de usuarios de lugares próximos
       user_title: Diario de %{user}
     location: 
       edit: Editar
@@ -385,11 +393,9 @@ gl:
       licence: Licenza
       longitude: "Lon:"
       manually_select: Seleccionar manualmente outra zona
-      mapnik_image: Imaxe de Mapnik
       max: máx.
       options: Opcións
       osm_xml_data: Datos XML do OpenStreetMap
-      osmarender_image: Imaxe do Osmarender
       output: Saída
       paste_html: Pegue o código HTML para incluílo na páxina web
       scale: Escala
@@ -967,13 +973,19 @@ gl:
     inbox: 
       date: Data
       from: De
+      messages: Ten %{new_messages} e %{old_messages}
       my_inbox: A miña caixa de entrada
+      new_messages: 
+        one: "%{count} mensaxe nova"
+        other: "%{count} mensaxes novas"
       no_messages_yet: Aínda non ten ningunha mensaxe. Por que non se pon en contacto con algunhas das %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} mensaxe vella"
+        other: "%{count} mensaxes vellas"
       outbox: caixa de saída
       people_mapping_nearby: persoas próximas a vostede
       subject: Asunto
       title: Caixa de entrada
-      you_have: Ten %{new_count} mensaxes novas e %{old_count} vellas
     mark: 
       as_read: Mensaxe marcada como lida
       as_unread: Mensaxe marcada como non lida
@@ -1002,6 +1014,9 @@ gl:
     outbox: 
       date: Data
       inbox: caixa de entrada
+      messages: 
+        one: Vostede enviou %{count} mensaxe
+        other: Vostede enviou %{count} mensaxes
       my_inbox: A miña %{inbox_link}
       no_sent_messages: Aínda non enviou ningunha mensaxe. Por que non se pon en contacto con algunhas das %{people_mapping_nearby_link}?
       outbox: caixa de saída
@@ -1009,7 +1024,6 @@ gl:
       subject: Asunto
       title: Caixa de saída
       to: Para
-      you_have_sent_messages: Enviou %{count} mensaxes
     read: 
       back_to_inbox: Volver á caixa de entrada
       back_to_outbox: Volver á caixa de saída
@@ -1460,8 +1474,8 @@ gl:
       summary_no_ip: "%{name} creado o %{date}"
       title: Usuarios
     login: 
+      account is suspended: Sentímolo, a súa conta foi suspendida debido a actividades sospeitosas.<br />Póñase en contacto co <a href="%{webmaster}">webmaster</a> se quere debatelo.
       account not active: Sentímolo, a súa conta aínda non está activada.<br />Prema na ligazón que hai no correo de confirmación da conta ou <a href="%{reconfirm}">solicite un novo correo de confirmación</a>.
-      account suspended: Sentímolo, a súa conta foi suspendida debido a actividades sospeitosas.<br />Póñase en contacto co %{webmaster} se quere debatelo.
       auth failure: Sentímolo, non puido acceder ao sistema con eses datos.
       create account minute: Crear unha conta. Tan só leva un minuto.
       email or username: "Enderezo de correo electrónico ou nome de usuario:"
@@ -1470,6 +1484,7 @@ gl:
       lost password link: Perdeu o seu contrasinal?
       new to osm: É novo no OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Máis información acerca do cambio na licenza do OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traducións</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">conversa</a>)
+      notice_terms: OpenStreetMap pasa a usar unha licenza nova o 1 de abril de 2012. É igual de aberta que a actual, pero algunhas partes desta nova licenza acáenlle mellor á nosa base de datos. Gustaríanos manter as súas contribucións, pero unicamente podemos facelo se acepta que as distribuamos baixo esta nova licenza. En caso contrario, teremos que eliminalos da base de datos.<br /><br />Acceda ao sistema, revise con calma e acepte os novos termos. Grazas!
       openid: "%{logo} OpenID:"
       openid invalid: Sentímolo, o seu OpenID semella non estar ben formado
       openid missing provider: Sentímolo, non podemos contactar co seu provedor do OpenID
@@ -1498,7 +1513,6 @@ gl:
       remember: "Lembrádeme:"
       title: Rexistro
       to make changes: Para realizar as modificacións nos datos do OpenStreetMap, cómpre ter unha conta.
-      webmaster: webmaster
       with openid: "Tamén pode usar o seu OpenID para acceder:"
       with username: "Xa ten unha conta no OpenStreetMap? Acceda ao sistema co seu nome de usuario e contrasinal:"
     logout: 
@@ -1591,12 +1605,18 @@ gl:
       confirm_user: confirmar este usuario
       create_block: bloquear este usuario
       created from: "Creado a partir de:"
+      ct accepted: Aceptou hai %{ago}
+      ct declined: Rexeitou
+      ct status: "Termos do colaborador:"
+      ct undecided: Indeciso
       deactivate_user: desactivar este usuario
       delete_user: borrar este usuario
       description: Descrición
       diary: diario
       edits: edicións
       email address: "Enderezo de correo electrónico:"
+      friends_changesets: Explorar todos os conxuntos de cambios dos seus amigos
+      friends_diaries: Explorar todas as entradas de diario dos amigos
       hide_user: agochar este usuario
       if set location: Se define a súa localización, aquí aparecerá un mapa. Pode establecer o seu lugar de orixe na súa páxina de %{settings_link}.
       km away: a %{count}km de distancia
@@ -1609,6 +1629,8 @@ gl:
       my settings: os meus axustes
       my traces: as miñas pistas
       nearby users: Outros usuarios próximos
+      nearby_changesets: Explorar todos os conxuntos de cambios dos usuarios de lugares próximos
+      nearby_diaries: Explorar todas as entradas de diario dos usuarios de lugares próximos
       new diary entry: nova entrada no diario
       no friends: Aínda non engadiu ningún amigo.
       no nearby users: Aínda non hai usuarios que estean situados na súa proximidade.
diff --git a/config/locales/gsw-CH.yml b/config/locales/gsw-CH.yml
deleted file mode 100644 (file)
index 83ff85b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-gsw-CH:
-  dummy: dummy
index da4940af82a1c2dc2fd0c2ff383c57d4fa9e097c..b9627b432a75c17b7fd4d40752e131f4de452033 100644 (file)
@@ -1,13 +1,18 @@
 # Messages for Hebrew (עברית)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
+# Author: Amire80
 # Author: Aude
 # Author: Deror avi
+# Author: GilCahana
 # Author: Itay naor
 # Author: YaronSh
+# Author: תומר ט
 he: 
   activerecord: 
     attributes: 
+      diary_comment: 
+        body: גוף
       diary_entry: 
         language: שפה
         latitude: קו רוחב
@@ -20,10 +25,10 @@ he:
       message: 
         body: גוף
         recipient: נמען
-        sender: שולחת
+        sender: שולח
         title: כותרת
       trace: 
-        description: תאור
+        description: ×ª×\99×\90×\95ר
         latitude: קו רוחב
         longitude: קו אורך
         name: שם
@@ -33,56 +38,116 @@ he:
         visible: גלוי
       user: 
         active: פעיל
-        description: תאור
-        email: דואל
+        description: תיאור
+        display_name: שם לתצוגה
+        email: דוא״ל
         languages: שפות
-        pass_crypt: ×¡×\99ס×\9e×\94
+        pass_crypt: ססמה
     models: 
+      acl: רשימת בקרת גישה
+      changeset: ערכת שינויים
+      changeset_tag: תג ערכת שינויים
       country: ארץ
       diary_comment: תגובה ליומן
       diary_entry: רשומה ביומן
+      friend: חבר
       language: שפה
-      message: מסר
+      message: הודעה
+      node: צומת
+      node_tag: תג צומת
+      notifier: מודיע
+      old_node: צומת ישן
+      old_node_tag: תג צומת ישן
+      old_relation: יחס ישן
+      old_relation_member: איבר יחס ישן
+      old_relation_tag: תג יחס ישן
+      old_way: דרך ישנה
+      old_way_node: צומת דרך ישנה
+      old_way_tag: תג דרך ישנה
+      relation: יחס
+      relation_member: איבר יחס
+      relation_tag: תג יחס
+      session: שיח
+      trace: מסלול
+      tracepoint: נקודת מסלול
+      tracetag: תג מסלול
       user: משתמש
       user_preference: העדפות המשתמש
+      user_token: אסימון משתמש
       way: דרך
+      way_node: צומת דרך
+      way_tag: תג דרך
+  application: 
+    require_cookies: 
+      cookies_needed: נראה שהעוגיות כבויות אצלך – נא להפעיל עוגיות בדפדפן שלך כדי להמשיך.
+    setup_user_auth: 
+      blocked: גישתך ל־API נחסמה. נא להיכנס לממשק הווב למידע נוסף.
+      need_to_see_terms: גישתך ל־API מושעית זמנית. נא להיכנס לאתר כדי לצפות בתנאי התרומה. אין צורך לקבל אותם, אבל חובה להציג אותם.
   browse: 
     changeset: 
+      changeset: "ערכת שינויים: %{id}"
+      changesetxml: XML של ערכת שינויים
       download: הורדת %{changeset_xml_link} או %{osmchange_xml_link}
+      feed: 
+        title: ערכת שינויים %{id}
+        title_comment: ערכת שינויים %{id} – %{comment}
+      osmchangexml: osmChange XML
+      title: ערכת שינויים
     changeset_details: 
-      belongs_to: "ש×\99×\99×\9a ×\9cÖ¾:"
+      belongs_to: "ש×\99×\99×\9bת ×\9c:"
       bounding_box: "תיבה תוחמת:"
       box: תיבה
+      closed_at: "נסגרה ב:"
       created_at: "נוצר בתאריך:"
-      show_area_box: הצגת תיבת תחום
+      has_nodes: 
+        one: מחזיק בצומת אחד
+        other: "מחזיק ב־%{count} צמתים:"
+      has_relations: 
+        one: מחזיק ביחס אחד
+        other: "מחזיק ב־%{count} יחסים:"
+      has_ways: 
+        one: מחזיק בדרך אחת
+        other: "מחזיק ב־%{count} דרכים:"
+      no_bounding_box: לא נשמרה תיבה תוחמת עבור ערכת השינויים הזאת.
+      show_area_box: הצגת תיבת אזור
     common_details: 
       changeset_comment: "הערה:"
       deleted_at: "נמחק ב:"
-      deleted_by: "נמחק על ידי:"
+      deleted_by: "נמחק על־ידי:"
       edited_at: "נערך ב:"
-      edited_by: "נערך על ידי:"
-      version: "גירסא:"
+      edited_by: "נערך על־ידי:"
+      in_changeset: "בערכת השינויים:"
+      version: "גרסה:"
     containing_relation: 
-      entry: ×§×©×¨ %{relation_name}
-      entry_role: ×§×©×¨ %{relation_name} (בתור %{relation_role})
+      entry: ×\99×\97ס %{relation_name}
+      entry_role: ×\99×\97ס %{relation_name} (בתור %{relation_role})
     map: 
       deleted: נמחק
+      edit: 
+        area: עריכת אזור
+        node: עריכת צומת
+        relation: עריכת יחס
+        way: עריכת דרך
       larger: 
         area: צפייה בשטח במפה גדולה יותר
         node: צפייה בצומת במפה גדולה יותר
-        relation: ×¦×¤×\99×\99×\94 ×\91קשר במפה גדולה יותר
+        relation: ×¦×¤×\99×\99×\94 ×\91×\99×\97ס במפה גדולה יותר
         way: צפייה בדרך במפה גדולה יותר
       loading: בטעינה...
     navigation: 
       all: 
+        next_changeset_tooltip: ערכת השינויים הבאה
+        next_node_tooltip: הצומת הבא
         next_relation_tooltip: היחס הבא
         next_way_tooltip: הדרך הבאה
+        prev_changeset_tooltip: ערכת השינויים הקודמת
+        prev_node_tooltip: הצומת הקודם
         prev_relation_tooltip: היחס הקודם
         prev_way_tooltip: הדרך הקודמת
       user: 
         name_changeset_tooltip: צפייה בעריכות של %{user}
-        next_changeset_tooltip: ×\94ער×\99×\9b×\94 ×\94×\91×\90×\94 ×¢"×\99 %{user}
-        prev_changeset_tooltip: ×\94ער×\99×\9b×\94 ×\94ק×\95×\93×\9eת ×¢"×\99 %{user}
+        next_changeset_tooltip: ×\94ער×\99×\9b×\94 ×\94×\91×\90×\94 ×©×\9c %{user}
+        prev_changeset_tooltip: ×\94ער×\99×\9b×\94 ×\94ק×\95×\93×\9eת ×©×\9c %{user}
     node: 
       download: "%{download_xml_link} או %{view_history_link}"
       download_xml: הורדת XML
@@ -91,8 +156,8 @@ he:
       node_title: "צומת: %{node_name}"
       view_history: צפייה בהיסטוריה
     node_details: 
-      coordinates: "ק×\95×\90×\95ר×\93×\99× ×\98×\95ת:"
-      part_of: "חלק מ־:"
+      coordinates: "נק×\95×\93×\95ת ×¦×\99×\95×\9f:"
+      part_of: "חלק מתוך:"
     node_history: 
       download: "%{download_xml_link} או %{view_details_link}"
       download_xml: הורדת XML
@@ -100,40 +165,49 @@ he:
       node_history_title: "היסטוריית הצומת: %{node_name}"
       view_details: צפייה בפרטים
     not_found: 
-      sorry: אנו מתנצלים, אך ה%{type} בעל המזהה %{id}, לא נמצא.
+      sorry: אנו מתנצלים, אך הסוג %{type} בעל המזהה %{id} לא נמצא.
       type: 
+        changeset: ערכת שינויים
         node: צומת
-        relation: ×§×©×¨
+        relation: ×\99×\97ס
         way: דרך
     paging_nav: 
       of: מתוך
       showing_page: הצגת דף
     relation: 
-      relation: קשר
+      download: "%{download_xml_link} או %{view_history_link}"
+      download_xml: הורדת XML
+      relation: יחס
+      relation_title: "יחס: %{relation_name}"
+      view_history: לצפייה בהיסטוריה
     relation_details: 
-      members: "×\97ברים:"
-      part_of: "חלק מ־:"
+      members: "×\90×\99ברים:"
+      part_of: "חלק מתוך:"
     relation_history: 
       download: "%{download_xml_link} או %{view_details_link}"
       download_xml: הורדת XML
-      relation_history: ×\94×\99ס×\98×\95ר×\99×\99ת ×\94ק×\99ש×\95ר
-      relation_history_title: "×\94×\99ס×\98×\95ר×\99×\99ת ×\94ק×\99ש×\95ר: %{relation_name}"
+      relation_history: ×\94×\99ס×\98×\95ר×\99×\99ת ×\94×\99×\97ס
+      relation_history_title: "×\94×\99ס×\98×\95ר×\99×\99ת ×\94×\99×\97ס: %{relation_name}"
       view_details: צפייה בפרטים
     relation_member: 
       entry_role: "%{type} %{name} בתור %{role}"
       type: 
         node: צומת
-        relation: ×§×©×¨
+        relation: ×\99×\97ס
         way: דרך
+    start: 
+      manually_select: בחירה ידנית באזור אחר
+      view_data: לצפייה במידע עבור התצוגה הנוכחית של המפה
     start_rjs: 
       data_frame_title: נתונים
       data_layer_name: נתונים
       details: פרטים
-      edited_by_user_at_timestamp: נערך על ידי [[user]] ב־[[timestamp]]
-      hide_areas: להסתרת איזורים
+      drag_a_box: נא לגרור את התיבה על המפה כדי לבחור אזור
+      edited_by_user_at_timestamp: נערך על־ידי [[user]] ב־[[timestamp]]
+      hide_areas: להסתרת אזורים
       history_for_feature: ההיסטוריה של [[feature]]
       load_data: טעינת נתונים
-      loaded_an_area_with_num_features: "×\94×\90×\96×\95ר ×©× ×\98×¢×\9f ×\9e×\9b×\99×\9c [[num_features]] ×ª×\9b×\95× ×\95ת. ×\91×\90×\95פ×\9f ×\9b×\9c×\9c×\99, ×¨×\91 ×\94×\93פ×\93פנ×\99×\9d ×\9c×\90 ×\99×\95×\9b×\9c×\95 ×\9c×\94ת×\9e×\95×\93×\93 ×¢×\9d ×\94צ×\92×\94 ×©×\9c ×\9b×\96×\90ת ×\9b×\9e×\95ת ×©×\9c × ×ª×\95× ×\99×\9d. ×\9cר×\91, ×\93פ×\93פנ×\99×\9d ×¢×\95×\91×\93×\99×\9d ×\91×\90×\95פ×\9f ×\9e×\99×\98×\91×\99 ×\91×\94צ×\92ת ×¤×\97×\95ת ×\9eÖ¾100 ×ª×\9b×\95× ×\95ת ×\91×\95Ö¾×\96×\9e× ×\99ת: ×\91×\99צ×\95×¢ ×\9eש×\99×\9e×\95ת × ×\95ספ×\95ת ×¢×\9c×\95×\9c×\95ת ×\9c×\92ר×\95×\9d ×\9c×\93פ×\93פ×\9f ×\9c×\94×\99×\95ת ×\90×\99×\98×\99\9c×\94תקע. ×\90×\9d ×\90×\9b×\9f ×\99ש ×¦×\95ר×\9a ×\9c×\94צ×\99×\92 ×\9b×\9e×\95ת ×\9b×\96×\90ת ×©×\9c × ×ª×\95× ×\99×\9d, × ×\99ת×\9f ×\9c×\9c×\97×\95×¥ ×¢×\9c ×\94×\9c×\97צ×\9f ×©×\9c×\94×\9c×\9f."
+      loaded_an_area_with_num_features: "×\94×\90×\96×\95ר ×©× ×\98×¢×\9f ×\9e×\9b×\99×\9c [[num_features]] ×ª×\9b×\95× ×\95ת. ×\91×\90×\95פ×\9f ×\9b×\9c×\9c×\99, ×\97×\9cק ×\9e×\94×\93פ×\93פנ×\99×\9d ×\9c×\90 ×\99×\95×\9b×\9c×\95 ×\9c×\94ת×\9e×\95×\93×\93 ×¢×\9d ×\94צ×\92×\94 ×©×\9c ×\9b×\96×\95 ×\9b×\9e×\95ת ×©×\9c × ×ª×\95× ×\99×\9d. ×\9cר×\95×\91, ×\93פ×\93פנ×\99×\9d ×¢×\95×\91×\93×\99×\9d ×\91×\90×\95פ×\9f ×\9e×\99×\98×\91×\99 ×\91×\94צ×\92ת ×¤×\97×\95ת ×\9eÖ¾100 ×ª×\9b×\95× ×\95ת ×\91×\95Ö¾×\96×\9e× ×\99ת: ×\91×\99צ×\95×¢ ×\9eש×\99×\9e×\95ת × ×\95ספ×\95ת ×¢×\9c×\95×\9c ×\9c×\92ר×\95×\9d ×\9c×\93פ×\93פ×\9f ×\9cפע×\95×\9c ×\91×\90×\95פ×\9f ×\90×\99×\98×\99 ×\90×\95 ×\9c×\94×\99תקע. ×\90×\9d ×\91רצ×\95× ×\9a ×\91×\9b×\9c ×\96×\90ת ×\9c×\94צ×\99×\92 ×\9e×\99×\93×¢ ×\96×\94, ×\91×\90פשר×\95ת×\9a ×\9c×\94צ×\99×\92 ×\90×\95ת×\95 ×\91×\9c×\97×\99צ×\94 ×¢×\9c ×\94×\9bפת×\95ר ×\9c×\9e×\98×\94."
       loading: בטעינה...
       manually_select: בחירת אזור אחר ידנית
       object_list: 
@@ -153,13 +227,24 @@ he:
           node: צומת
           way: דרך
       private_user: משתמש פרטי
-      show_areas: ×\9c×\94צ×\92ת ×\90×\99×\96×\95ר×\99×\9d
+      show_areas: להצגת אזורים
       show_history: הצגת ההיסטוריה
       unable_to_load_size: "לא ניתן לטעון: תיבה תוחמת בגודל [[bbox_size]] היא גדולה מדי (מוכרחה להיות קטנה מאשר %{max_bbox_size})"
       wait: נא להמתין...
       zoom_or_select: התקרבות או בחירה אזור במפה לצפייה
     tag_details: 
-      tags: "תגיות:"
+      tags: "תגים:"
+      wiki_link: 
+        key: עמוד התיאור עבור התג %{key}
+        tag: עמוד התיאור עבור התג %{key}=%{value}
+      wikipedia_link: הערך %{page} בוויקיפדיה
+    timeout: 
+      sorry: אנו מתנצלים, אך טעינת התוכן עבור ה%{type} עם המזהה %{id}, ארכה זמן רב מדי.
+      type: 
+        changeset: ערכת שינויים
+        node: צומת
+        relation: קשר
+        way: דרך
     way: 
       download: "%{download_xml_link} או %{view_history_link}"
       download_xml: הורדת XML
@@ -172,7 +257,7 @@ he:
         one: גם כן חלק מהדרך %{related_ways}
         other: גם כן חלק מהדרכים %{related_ways}
       nodes: "צמתים:"
-      part_of: "חלק מ־:"
+      part_of: "חלק מתוך:"
     way_history: 
       download: "%{download_xml_link} או %{view_details_link}"
       download_xml: הורדת XML
@@ -180,83 +265,186 @@ he:
       way_history: היסטוריית הדרך
       way_history_title: "היסטוריית הדרך: %{way_name}"
   changeset: 
+    changeset: 
+      anonymous: אלמוני
+      big_area: (גדול)
+      no_comment: (אין)
+      no_edits: (אין עריכות)
+      show_area_box: הצגת תיבת אזור
+      still_editing: (עדיין בעריכה)
+      view_changeset_details: הצגת פרטי ערכת שינויים
+    changeset_paging_nav: 
+      next: הבא »
+      previous: « הקודם
+      showing_page: הצגת הדף %{page}
     changesets: 
+      area: שטח
+      comment: הערה
+      id: מזהה
+      saved_at: "נשמרו ב:"
       user: משתמש
     list: 
       description: שינויים אחרונים
+      description_bbox: ערכות שינויים בתוך %{bbox}
+      description_friend: ערכות שינויים של חברים שלכם
+      description_nearby: ערכות שינויים של משתמשים בסביבה
+      description_user: ערכות שינויים של %{user}
+      description_user_bbox: ערכות שינויים של %{user} בתוך %{bbox}
+      heading: ערכות שינויים
+      heading_bbox: ערכות שינויים
+      heading_friend: ערכות שינויים
+      heading_nearby: ערכות שינויים
+      heading_user: ערכות שינויים
+      heading_user_bbox: ערכות שינויים
+      title: ערכות שינויים
+      title_bbox: ערכות שינויים בתוך %{bbox}
+      title_friend: ערכות שינויים של החברים שלך
+      title_nearby: ערכות שינויים של משתמשים בסביבה
+      title_user: ערכות שינויים של %{user}
+      title_user_bbox: ערכות שינויים של %{user} בתוך %{bbox}
+    timeout: 
+      sorry: סליחה, לוקח יותר מדי זמן לאחזר על רשימת ערכות השינויים שביקשת.
   diary_entry: 
+    comments: 
+      ago: לפי %{ago}
+      comment: הערה
+      has_commented_on: "%{display_name} העיר על רשומות היומן הבאות"
+      newer_comments: הערות חדשות
+      older_comments: הערות ישנות
+      post: רשומה
+      when: מתי
     diary_comment: 
-      comment_from: "%{comment_created_at}ב  %{link_user}תגובה מ"
+      comment_from: תגובה מ־%{link_user} ב־%{comment_created_at}
       confirm: לאישור
       hide_link: להסתרת הערה זו
     diary_entry: 
       comment_count: 
-        one: תגובה 1
+        one: תגובה אחת
         other: "%{count} תגובות"
+      comment_link: הערות לרשומה הזאת
       confirm: לאישור
       edit_link: עריכת רשומה
+      hide_link: הסתרת רשומה
+      posted_by: נשלח על־ידי %{link_user} ב־%{created} ב%{language_link}
+      reply_link: תגובה לרשומה הזאת
     edit: 
-      language: ":שפה"
-      latitude: ":קו רוחב"
-      longitude: ":קו אורך"
+      body: "תוכן:"
+      language: "שפה:"
+      latitude: "קו רוחב:"
+      location: "מיקום:"
+      longitude: "קו אורך:"
+      marker_text: מיקום רשומת היומן
       save_button: לשמירה
+      subject: "נושא:"
+      title: עריכת רשומת יומן
+      use_map_link: להשתמש במפה
+    feed: 
+      all: 
+        description: רשומות יומן אחרונות מאת משתמשי OpenStreetMap
+        title: רשומות ביומן של OpenStreetMap
+      language: 
+        description: רשומות יומן אחרונות מאת משתמשי OpenStreetMap ב%{language_name}
+        title: רשומות יומן OpenStreetMap ב%{language_name}
+      user: 
+        description: רשומות יומן OpenStreetMap אחרונות מאת %{user}
+        title: רשומות יומן OpenStreetMap של %{user}
     list: 
       in_language_title: רשומות יומן ב%{language}
+      new: רשומת יומן חדשה
+      new_title: כתיבת רשומה חדשה ביומן המשתמש שלך
+      newer_entries: רשומות חדשות יותר
+      no_entries: אין רשומות יומן
+      older_entries: רשומות ישנות יותר
+      recent_entries: "רשומות יומן אחרונות:"
+      title: יומנים של המשתמש
+      title_friends: יומנים של חברים
+      title_nearby: יומנים של משתמשים בסביבה
+      user_title: היומן של %{user}
     location: 
       edit: לעריכה
       location: "מיקום:"
       view: לצפייה
+    new: 
+      title: רשומת יומן חדשה
     no_such_entry: 
+      body: סליחה, עדיין אין רשומת יומן או תגובה עם המזהה %{id}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
+      heading: "אין רשומה עם המזהה: %{id}"
       title: אין כזו רשומה ביומן
     no_such_user: 
+      body: סליחה, אין חשבון בשם %{user}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
       heading: המשתמש %{user} אינו קיים
       title: אין משתמש כזה
     view: 
-      login: כניסה
-      login_to_leave_a_comment: בצעו %{login_link} כדי להשאיר תגובה
+      leave_a_comment: הוספת תגובה
+      login: להיכנס
+      login_to_leave_a_comment: נא %{login_link} כדי להשאיר תגובה
+      save_button: שמירה
+      title: היומן של %{user}&rlm; | %{title}
+      user_title: היומן של %{user}‏
   editor: 
+    default: בררת מחדל (כעת %{name})
+    potlatch: 
+      description: Potlatch 1 (עורך בתוך הדפדפן)
+      name: Potlatch 1
+    potlatch2: 
+      description: Potlatch 2 (עורך בתוך הדפדפן)
+      name: Potlatch 2
     remote: 
+      description: שליטה מרחוק (JOSM או Merkaartor)
       name: שליטה מרחוק
   export: 
     start: 
       add_marker: להוספת סמן למפה
+      area_to_export: האזור לייצוא
+      embeddable_html: HTML שניתן להטמעה
       export_button: ייצוא
+      export_details: המידע ב־OpenStreetMap מוגש בכפוף לרישיון <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.he/">CC ייחוס־שיתוף זהה 2.0</a>.
+      format: פורמט
+      format_to_export: תבנית לייצוא
       image_size: גודל התמונה
       latitude: "קווי אורך:"
+      licence: רישיון
       longitude: "קווי רוחב:"
-      max: מקסימום
+      manually_select: בחירה ידנית של אזור אחר
+      map_image: תמונת מפה (תצוגת שכבה תקנית)
+      max: לכל היותר
       options: אפשרויות
+      osm_xml_data: נתוני XML של OpenStreetMap
       output: פלט
-      paste_html: ×\9c×\94×\93×\91קת HTML להטמעה באתר
+      paste_html: ×\9c×\94×\93×\91×\99ק HTML להטמעה באתר
       scale: קנה מידה
       too_large: 
-        heading: האיזור גדול מידי
+        body: האזור גדול מכדי שאפשר יהיה לייצא אותו בתור נתוני XML של OpenStreetMap. נא להתקרב או לבחור אזור קטן יותר.
+        heading: האזור גדול מדי
       zoom: מרחק מתצוגה
     start_rjs: 
       add_marker: הוספת סמן למפה
       change_marker: שינוי מיקום סמן
       click_add_marker: לחצו על המפה להוספת סמן
-      drag_a_box: × ×\90 ×\9c×\92ר×\95ר ×\9e×\9c×\91×\9f ×¢×\9c ×\94×\9eפ×\94 ×\9c×\91×\97×\99רת ×\90×\99×\96×\95ר
+      drag_a_box: נא לגרור מלבן על המפה לבחירת אזור
       export: ייצוא
-      manually_select: ×\9c×\91×\97×\99ר×\94 ×\99×\93× ×\99ת ×©×\9c ×\90×\99זור אחר
+      manually_select: ×\91×\97×\99ר×\94 ×\99×\93× ×\99ת ×©×\9c ×\90זור אחר
       view_larger_map: לצפייה במפה גדולה יותר
   geocoder: 
     description: 
       title: 
         geonames: מיקום מאתר <a href="http://www.geonames.org/">GeoNames</a>
+        osm_namefinder: "%{types} מ־<a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
         osm_nominatim: מיקום מאתר <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: ערים
         places: מקומות
         towns: עיירות
+    description_osm_namefinder: 
+      prefix: "%{distance} מ%{direction} ל־%{type}"
     direction: 
       east: מזרח
       north: צפון
-      north_east: צפון-מזרח
-      north_west: צפון-מערב
+      north_east: צפון־מזרח
+      north_west: צפון־מערב
       south: דרום
-      south_east: דרום-מזרח
-      south_west: דרום-מערב
+      south_east: דרום־מזרח
+      south_west: דרום־מערב
       west: מערב
     distance: 
       one: בערך קילומטר
@@ -275,8 +463,8 @@ he:
         uk_postcode: תוצאות מאתר <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
         us_postcode: תוצאות מאתר <a href="http://geocoder.us/">Geocoder.us</a>
     search_osm_namefinder: 
-      suffix_parent: " %{suffix} (%{parentdistance} %{parentdirection} מ-%{parentname})"
-      suffix_place: " %{distance} %{direction} מ-%{placename}"
+      suffix_parent: "%{suffix} (%{parentdistance} %{parentdirection} ל־%{parentname})"
+      suffix_place: ", %{distance} מ%{direction} ל־%{placename}"
     search_osm_nominatim: 
       prefix: 
         amenity: 
@@ -285,7 +473,7 @@ he:
           atm: כספומט
           auditorium: אודיטוריום
           bank: בנק
-          bar: ×¤×\90×\91
+          bar: ×\91ר
           bench: ספסל
           bicycle_parking: חניית אופניים
           bicycle_rental: השכרת אופניים
@@ -303,7 +491,7 @@ he:
           college: מכללה
           community_centre: מרכז קהילתי
           courthouse: בית משפט
-          crematorium: ×§×¨×\9e×\98×\95ר×\99×\95×\9d
+          crematorium: ×\9eשרפ×\94
           dentist: רופא שיניים
           doctors: רופאים
           dormitory: מעונות
@@ -323,16 +511,19 @@ he:
           health_centre: מרכז בריאות
           hospital: בית חולים
           hotel: בית מלון
+          hunting_stand: תצפית ציידים
           ice_cream: גלידה
           kindergarten: גן ילדים
           library: ספרייה
+          market: שוק
           marketplace: שוק
           mountain_rescue: תחנת חילוץ הררית
+          nightclub: מועדון לילה
           nursery: פעוטון
           nursing_home: בית אבות
           office: משרד
           park: פארק
-          parking: ×\97× ×\99×\99×\94
+          parking: חניה
           pharmacy: בית מרקחת
           place_of_worship: מקום פולחן
           police: משטרה
@@ -343,7 +534,7 @@ he:
           pub: פאב
           public_building: מבנה ציבור
           public_market: שוק
-          reception_area: ×\90×\99×\96×\95ר ×§×\91×\9cה
+          reception_area: ×\90×\96×\95ר ×§×\9c×\99×\98ה
           recycling: נקודת מיחזור
           restaurant: מסעדה
           retirement_home: בית אבות
@@ -365,10 +556,10 @@ he:
           veterinary: מרפאה וטרינרית
           village_hall: אולם הכפר
           waste_basket: פח אשפה
-          wifi: ×\90×\99×\96×\95ר WiFi
+          wifi: ×\92×\99שת WiFi
           youth_centre: מרכז נוער
         boundary: 
-          administrative: ×\92×\91×\95×\9c ×\90×\99×\96×\95ר ×\9e× ×\94×\9c
+          administrative: ×\92×\91×\95×\9c ×©×\98×\97 ×©×\99פ×\95×\98
         building: 
           apartments: בית דירות
           block: אבן בניין
@@ -399,11 +590,12 @@ he:
           terrace: מרפסת פתוחה
           tower: מגדל
           train_station: תחנת רכבת
+          university: אוניברסיטה
         highway: 
           bridleway: שביל עבור סוסים
           bus_guideway: נתיב תחבורה ציבורית מונחית
           bus_stop: תחנת אוטובוס
-          byway: ×\93ר×\9a ×¦×\99×\93×\99ת
+          byway: דרך צדית
           construction: דרך ראשית בבנייה
           cycleway: נתיב אופניים
           distance_marker: סמן מרחק
@@ -412,7 +604,7 @@ he:
           ford: מעברה (נקודת חציית נהר)
           gate: שער
           living_street: רחוב
-          minor: ×\93ר×\9a ×¦×\99×\93×\99ת
+          minor: דרך צדית
           motorway: כביש
           motorway_junction: צומת כבישים
           motorway_link: כביש
@@ -424,19 +616,21 @@ he:
           raceway: מסלול מרוצים
           residential: מגורים
           road: דרך
-          secondary: ×\93ר×\9a ×\9e×\99שנ×\99ת
-          secondary_link: ×\93ר×\9a ×\9e×\99שנ×\99ת
+          secondary: דרך משנית
+          secondary_link: דרך משנית
           service: כביש שירות
           services: שירותי דרך
           steps: מדרגות
           stile: מעבר מעל גדר
-          tertiary: ×\93ר×\9a ×¦×\99×\93×\99ת
+          tertiary: דרך צדית
           track: מסלול מרוצים
           trail: שביל
+          trunk: דרך ראשית
+          trunk_link: דרך ראשית
           unclassified: כביש לא מסווג
           unsurfaced: כביש לא סלול
         historic: 
-          archaeological_site: ×\90תר ×\90ר×\9b×\99×\90×\95×\9c×\95×\92×\99
+          archaeological_site: אתר ארכאולוגי
           battlefield: שדה קרב
           boundary_stone: אבן גבול
           building: בניין
@@ -457,10 +651,64 @@ he:
         landuse: 
           allotments: הקצאת קרקע
           basin: אגן
+          brownfield: אזור תעשייה נטוש
           cemetery: בית קברות
-          commercial: ×\90×\99×\96×\95ר ×\9eס×\97ר×\99
+          commercial: אזור מסחרי
           conservation: שמורה
+          construction: אזור בנייה
+          farm: חווה
+          farmland: שטח חקלאי
+          farmyard: חצר חווה
+          forest: יער
+          grass: דשא
+          greenfield: שטחים ירוקים
+          industrial: אזור תעשייה
+          landfill: מזבלה
+          meadow: אחו
+          military: שטח צבאי
+          mine: מכרה
+          mountain: הר
+          nature_reserve: שמורת טבע
+          park: פארק
+          piste: מסלול סקי
+          plaza: רחבה
+          quarry: מחצבה
+          railway: מסילת ברזל
+          recreation_ground: שטחי נופש ופנאי
+          reservoir: מאגר
+          residential: אזור מגורים
+          retail: קמעונאי
+          village_green: כיכר הכפר
+          vineyard: כרם
+          wetland: מלחה
+          wood: חורשה
+        leisure: 
+          beach_resort: אתר נופש לחוף ים
+          common: שטח משותף
+          fishing: אזור דיג
+          garden: גן
+          golf_course: מגרש גולף
+          ice_rink: גלישה על הקרח
+          marina: מרינה
+          miniature_golf: מיני־גולף
+          nature_reserve: שמורת טבע
+          park: פארק
+          pitch: מגרש ספורט
+          playground: מגרש משחקים
+          recreation_ground: שטחי נופש ופנאי
+          slipway: ממשה
+          sports_centre: מרכז ספורט
+          stadium: אצטדיון
+          swimming_pool: ברֵכת שחיה
+          track: מסלול ריצה
+          water_park: פארק מים
         natural: 
+          bay: מפרץ
+          beach: חוף רחצה
+          cape: כף
+          cave_entrance: כניסה למערה
+          channel: תעלה
+          cliff: מצוק
           coastline: קו חוף
           crater: מכתש
           feature: תכונה
@@ -472,8 +720,8 @@ he:
           hill: גבעה
           island: אי
           land: אדמה
-          marsh: ביצה
-          moor: ×\91×\99צ×\94
+          marsh: ביצה רדודה
+          moor: ×\90×\93×\9eת ×\9b×\91×\95×\9c
           mud: בוץ
           peak: פסגה
           point: נקודה
@@ -503,18 +751,18 @@ he:
           house: בית
           houses: בתים
           island: אי
-          islet: איון
-          locality: ×\90×\99×\96×\95ר ×\9eק×\95×\9e×\99
-          moor: ×\91×\99צ×\94
+          islet: איוֹן
+          locality: ×\99×\99ש×\95×\91
+          moor: ×\90×\93×\9eת ×\9b×\91×\95×\9c
           municipality: עירייה
           postcode: מיקוד
-          region: ×\90×\99×\96×\95ר
+          region: אזור
           sea: ים
           state: מדינה
           subdivision: חלוקת משנה
           suburb: פרוור
           town: עיירה
-          unincorporated_area: ×\90×\99×\96×\95ר בלתי מאוגד
+          unincorporated_area: ×©×\98×\97 בלתי מאוגד
           village: כפר
         railway: 
           abandoned: מסילת ברזל נטושה
@@ -527,17 +775,20 @@ he:
           junction: מפגש מסילות ברזל
           level_crossing: מפגש מסילת ברזל וכביש
           light_rail: רכבת קלה
-          monorail: ×\9e×\95× ×\95ר×\99×\99×\9c
+          monorail: ×¨×\9b×\91ת ×\97×\93־פס×\99ת
           narrow_gauge: מסילת רכבת צרה
           platform: רציף רכבת
           preserved: רכבת משומרת
+          spur: שלוחת מסילת ברזל
           station: תחנת רכבת
           subway: תחנת רכבת תחתית
           subway_entrance: כניסה לתחנת רכבת תחתית
+          switch: נקודות מסילת ברזל
           tram: חשמלית
           tram_stop: תחנת חשמלית
           yard: מוסך רכבות
         shop: 
+          alcohol: חנות לממכר משקאות אלכוהוליים
           apparel: חנות בגדים
           art: חנות חפצי אמנות
           bakery: מאפייה
@@ -561,11 +812,12 @@ he:
           cosmetics: חנות קוסמטיקה
           department_store: כלבו
           discount: חנות מוזלת
-          doityourself: חנות עשה-זאת-בעצמך
+          doityourself: חנות עשה־זאת־בעצמך
           drugstore: בית מרקחת
           dry_cleaning: ניקוי יבש
           electronics: חנות אלקטרוניקה
-          estate_agent: מתווך נדל"ן
+          estate_agent: מתווך נדל״ן
+          farm: חנות מוצרי חווה
           fashion: חנות אופנה
           fish: חנות דגים
           florist: חנות פרחים
@@ -580,6 +832,7 @@ he:
           grocery: מכולת
           hairdresser: מעצב שער
           hardware: חנות חומרי בניין
+          hifi: ציוד אלקטרוני
           insurance: ביטוח
           jewelry: חנות תכשיטים
           kiosk: קיוסק
@@ -588,7 +841,8 @@ he:
           market: שוק
           mobile_phone: חנות טלפונים ניידים
           motorcycle: חנות אופנועים
-          music: חנות כלי מוזיקה
+          music: חנות כלי נגינה
+          newsagent: סוכנות חדשות
           optician: אופטיקאי
           organic: חנות מזון אורגני
           outdoor: חנות ציוד מחנאות
@@ -602,37 +856,41 @@ he:
           supermarket: סופרמרקט
           toys: חנות צעצועים
           travel_agency: סוכנות נסיעות
+          video: ספריית וידאו
+          wine: חנות לממכר משקאות אלכוהוליים
         tourism: 
           alpine_hut: בקתה אלפינית
           artwork: יצירת אמנות
-          attraction: ×\90תר ×\91×¢×\9c עניין
+          attraction: ×\9e×\95ק×\93 עניין
           bed_and_breakfast: לינה וארוחת בוקר
           cabin: בקתה
           camp_site: אתר מחנאות
-          caravan_site: ×\90תר ×§×¨×\95×\95×\90×\9f
+          caravan_site: ×\90תר ×\9cקר×\95×\95×\90× ×\99×\9d
           chalet: טירה
           guest_house: בית הארחה
-          hostel: ×\90×\9bסנ×\99×\99×\94
-          hotel: מלון
+          hostel: אכסניה
+          hotel: ×\91×\99ת ×\9e×\9c×\95×\9f
           information: מידע
+          lean_to: סככה
           motel: מלון דרכים
           museum: מוזיאון
-          picnic_site: ×\90תר ×¤×\99קנ×\99ק
-          theme_park: ×¤×\90רק × ×\95ש×\90×\99
+          picnic_site: ×\90תר ×\9cפ×\99קנ×\99ק×\99×\9d
+          theme_park: ×¤×\90רק ×©×¢×©×\95×¢×\99×\9d
           valley: עמק
           viewpoint: נקודת תצפית
           zoo: גן חיות
         waterway: 
-          boatyard: ×\91×\99ת ×¡×\99ר×\95ת
+          boatyard: ×\9eספנ×\94
           canal: תעלה
-          connector: ×\9e×\97×\91ר נתיבי מים
+          connector: × ×§×\95×\93ת ×\97×\99×\91×\95ר ×\91×\99×\9f נתיבי מים
           dam: סכר
           derelict_canal: תעלה נטושה
           ditch: מחפורת
           dock: רציף
           drain: ביוב
-          lock: מנעול
-          mineral_spring: מעיין מים מינרלים
+          lock: תא שיט
+          lock_gate: שער בתא שיט
+          mineral_spring: מעיין מים מינרליים
           mooring: מעגן
           rapids: אשדות
           river: נהר
@@ -641,14 +899,41 @@ he:
           wadi: ואדי
           water_point: נקודת מים
           waterfall: מפל מים
-          weir: ×\95×\99ר
+          weir: ×¡×\9bר
   html: 
     dir: rtl
+  javascripts: 
+    map: 
+      base: 
+        cycle_map: מפת אופניים
+        standard: תקני
+        transport_map: מפת תחבורה
+    site: 
+      edit_disabled_tooltip: להתקרב כדי לערוך את המפה
+      edit_tooltip: עריכת המפה
+      edit_zoom_alert: יש להתקרב כדי לערוך את המפה
+      history_disabled_tooltip: יש לקרב כדי להציג עריכות עבור אזור זה
+      history_tooltip: הצגת עריכות עבור אזור זה
+      history_zoom_alert: יש לקרב כדי להציג עריכות עבור אזור זה
   layouts: 
+    community_blogs: בלוגים של הקהילה
+    community_blogs_title: בלוגים של חברי קהילת OpenStreetMap
+    copyright: זכויות יוצרים ורישיון
+    documentation: תיעוד
+    documentation_title: תיעוד המיזם
+    donate: תִמכו ב־OpenStreetMap על־ידי %{link} לקרן לשדרוג החומרה.
+    donate_link_text: תרומה
     edit: עריכה
-    export: יצוא
+    edit_with: לעריכה עם %{editor}
+    export: ייצוא
     export_tooltip: ייצוא נתוני המפה
-    gps_traces_tooltip: ניהול מסלולים
+    foundation: קרן
+    foundation_title: קרן אופן סטריט מאפ
+    gps_traces: מסלולי GPS
+    gps_traces_tooltip: ניהול מסלולי GPS
+    help: עזרה
+    help_centre: מרכז עזרה
+    help_title: אתר עזרה עבור המיזם
     history: היסטוריה
     home: הביתה
     home_tooltip: מעבר למיקום הבית
@@ -657,40 +942,81 @@ he:
       one: תיבת הדואר הנכנס שלכם מכילה הודעה אחת שלא נקראה
       other: תיבת הדואר הנכנס שלכם מכילה %{count} הודעות שלא נקראו
       zero: תיבת הדואר הנכנס שלכם אינה מכילה הודעות שלא נקראו
-    intro_1: .היא מפה בחינם של כל העולם, וחופשית לעריכה. יוצרים אותה אנשים כמוך OpenStreetMap
-    intro_2: .מאפשרת  לך לראות, לערוך ולהשתמש בנתונים גיאוגרפיים בצורה שיתופית מכל מקום בעולם OpenStreetMap
+    intro_1: OpenStreetMap היא מפה חופשית של כל העולם, שכל אחד יכול לערוך. יוצרים אותה אנשים כמוך.
+    intro_2: מיזם OpenStreetMap מאפשר לך לצפות בנתונים גאוגרפיים וכן לערוך אותם ולהשתמש בהם בצורה שיתופית מכל מקום בעולם.
+    intro_3: "אתר OpenStreetMap מוצג בחסות %{ucl}&rlm;, %{ic} ו־%{bytemark}. למידע על נותני חסות נוספים של הפרויקט ראו: %{partners}."
+    intro_3_ic: המכללה הקיסרית לונדון
+    intro_3_partners: ויקי
+    license: 
+      title: מידע בֹ־OpenStreetMap מתפרסם לפי תנאי רישיון Creative Commons–ייחוס–שיתוף זהה 2.0 כללי
     log_in: כניסה לחשבון
     log_in_tooltip: כניסה עם חשבון קיים
     logo: 
       alt_text: הלוגו של OpenStreetMap
     logout: יציאה מהחשבון
     logout_tooltip: ניתוק
+    make_a_donation: 
+      text: תרומה
+      title: תִמכו במיזם OpenStreetMap על־ידי מתן תרומה כספית
+    osm_offline: מסד הנתונים של אתר OpenStreetMap אינו מקוון כעת בשל עבודות תחזוקה המבוצעות בו.
+    osm_read_only: מסד הנתונים של אתר OpenStreetMap נתון כעת במצב קריאה בלבד בשל עבודות תחזוקה המבוצעות בו.
     sign_up: הרשמה
     sign_up_tooltip: יצירת חשבון לעריכה
-    tag_line: ויקי חופשי של מפת העולם
+    sotm2011: בואו לכנס אופן סטריט מאפ 2011, מצב המפה, ספטמבר 9–11 בדנוור!
+    tag_line: מפת עולם חופשית בשיטת הוויקי
     user_diaries: יומני משתמשים
     user_diaries_tooltip: צפייה ביומני המשתמש
     view: תצוגה
-    view_tooltip: ×¦×¤×\99×\99×\94 ×\91×\9eפ×\95ת
-    welcome_user: "%{user_link}ברוך הבא"
+    view_tooltip: ×\9cצפ×\99×\99×\94 ×\91×\9eפ×\94
+    welcome_user: ברוך בואך, %{user_link}
     welcome_user_link_tooltip: דף המשתמש שלך
+    wiki: ויקי
+    wiki_title: אתר ויקי עבור המיזם
+  license_page: 
+    foreign: 
+      english_link: העמוד המקורי באנגלית
+      text: במקרה של חוסר תאימות בין עמוד מתורגם זה ובין %{english_original_link}, יש לתת עדיפות לעמוד באנגלית
+      title: אודות תרגום זה
+    legal_babble: "<h2>זכויות יוצרים ורישיון</h2>\n<p>\n   אתר OpenStreetMap הוא <i>נותנים פתוחים</i>, המופצים לפי רישיון <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">קריאייטיב\n   קומונז ייחוס–שיתוף־זהה 2.0</a> (CC BY-SA).\n</p>\n<p>\n  אתם חופשיים להעתיק, להפיץ, לשדר ולהתאים את המפות שלנו\n  ואת הנתונים שלנו, כל עוד אתם נותנים ייחוס ל־OpenStreetMap\n  ולתורמי המיזם. אם אתם משנים או בונים מידע חדש על גבי המפות או הנתונים שלנו,\n  מותר לכם להפיץ את התוצאות רק לפי תנאי אותו הרישיון.\n  <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">המסמך\n  המשפטי</a> המלא מסביר את זכויותיכם ואת תחומי האחריות שלכם.\n</p>\n\n<h3>איך לתת ייחוס ל־OpenStreetMap</h3>\n<p>\n  אם אתם משתמשים בתמונות של מפות מ־OpenStreetMap, אנו מבקשים\n  שבנתונים על היוצר יהיה כתוב לכל הפחות „© תורמי OpenStreetMap,\n  רישיון CC BY-SA”. אם אתם משתמשים רק בנתוני מפות,\n  אנו מבקשים „נתוני מפות © תורמי OpenStreetMap,\n  רישיון CC BY-SA”.\n</p>\n<p>\n  כשזה אפשרי, המילה OpenStreetMap צריכה להיות מקושרת אל הכתובת\n  <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  ו־CC BY-SA אל <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. אם\n  אתם משתמשים באמצעי תקשורת שבו אין אפשרות להשתמש בקישורים (למשל\n  בדפוס), אנו ממליצים שתַפנו את קוראיכם לאתר\n  www.openstreetmap.org (אולי על־ידי\n  כתיבת הכתובת המלאה הזאת במקום „OpenStreetMap”) ואל\n  www.creativecommons.org.\n</p>\n\n<h3>איך למצוא מידע נוסף</h3>\n<p>\n  קִראו עוד על שימוש בנתונים שלנו בדף <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">שו״ת\n  משפטי</a>.\n</p>\n<p>\n  אנו מזכירים לתורמי OSM לעולם לא להוסיף נתונים משום מקור\n  שמוגבל בזכויות יוצרים (למשל מפות גוגל או מפות מודפסות) ללא\n  אישור מפורש מבעלי הזכויות.\n</p>\n<p>\n  אף־על־פי ש־OpenStreetMap הוא מיזם נתונים פתוחים, איננו יכולים לספק\n  API מפות בחינם למפתחי צד שלישי.\n\n  ר׳ את דפי המדיניות שלנו: <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">המדיניות השימוש ב־API</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">מדיניות השימוש באריחים</a>\n  ו<a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">מדיניות השימוש בנומינטים</a>.\n</p>\n\n<h3>התורמים שלנו</h3>\n<p>\n  מדיניות CC BY-SA שלנו דורשת מכם „לייחס את היצירה (לתת קרדיט) ליוצר\n  באופן הסביר באמצעי התקשורת שאתם\n  משתמשים בו”. מְמַפֵּי OSM פרטניים אינם מבקשים ייחוס ייחודי מעבר\n  ל„תורמי OpenStreetMap”, אבל כאשר נתונים מסוכנות מיפוי\n  לאומית או ממקור גדול אחר נכללים ב־OpenStreetMap,\n  יכול להיות סביר לתת להם ייחוס ישיר באמצעות העתקת המידע עליהם\n  או באמצעות קישור לדף הזה.\n</p>\n\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>אוסטרליה</strong>: מכיל מנתוני פרוורים המבוססים על\n   נתוני הלשכה האוסטרלית לסטטיסטיקה (Australian Bureau of Statistics).</li>\n   <li><strong>אוסטריה</strong>: מכיל נתונים\n   מ־<a href=\"http://data.wien.gv.at/\">Stadt Wien</a> לפי תנאי\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY</a>.</li>\n   <li><strong>קנדה</strong>: מכיל נתונים\n   מ־GeoBase&reg;&rlm;, GeoGratis&rlm; (&copy;&rlm; Department of Natural\n   Resources Canada)&rlm;, CanVec&rlm; (&copy;&rlm; Department of Natural\n   Resources Canada), ו־StatCan&rlm; (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>צרפת</strong>: מכיל נתונים שהגיעו במקור\n   ממנהלת המסים הכללית (Direction Générale des Impôts).</li>\n   <li><strong>ניו זילנד</strong>: מכיל נתונים שהגיעו במקור\n   מ־Land Information New Zealand. זכויות הכתר.</li>\n   <li><strong>פולין</strong>: מכיל נתונים מתוך <a\n   href=\"http://ump.waw.pl/\">מפות UMP-pcPL</a>. זכויות היוצרים:\n   תורמי UMP-pcPL.\n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   מידע נוסף על השימוש של OSM במידע של UMP.</a></li>\n   <li><strong>דרום אפריקה</strong>: מכיל נתונים שהגיעו במקור\n   <a href=\"http://www.ngi.gov.za/\">מ־Chief Directorate:\n   National Geo-Spatial Information</a>&rlm;, State copyright reserved.</li>\n   <li><strong>הממלכה המאוחדת</strong>: מכיל נתוני סקר מדידות\n   &copy; זכויות הכתר וזכויות מסדי נתונים\n   2010.</li>\n</ul>\n\n<p>\n  הכללה של נתונים ב־OpenStreetMap אינה אומרת שהספק\n  המקורי של הנתוהים תומך ב־OpenStreetMap, נותן אחריות כלשהי, או\n  מקבל חבות כלשהי.\n</p>"
+    native: 
+      mapping_link: להתחיל למפות
+      native_link: גרסה העברית
+      text: זהו עמוד זכויות היוצרים בגרסתו באנגלית. אפשר לחזור ל%{native_link} של עמוד זה, ואפשר גם להפסיק לקרוא על זכויות יוצרים ו%{mapping_link}.
+      title: אודות דף זה
   message: 
     delete: 
       deleted: ההודעה נמחקה
     inbox: 
+      date: תאריך
+      from: מאת
+      messages: יש לך %{new_messages} ועוד %{old_messages}
+      my_inbox: תיבת הדואר הנכנס שלי
+      new_messages: 
+        one: הודעה חדשה אחת
+        other: "%{count} הודעות חדשות"
+      no_messages_yet: אין לך הודעות חדשות עדיין. מה דעתך ליצור קשר עם %{people_mapping_nearby_link}?
+      old_messages: 
+        one: הודעה ישנה אחת
+        other: "%{count} הודעות ישנות"
+      outbox: תיבת דואר יוצא
       people_mapping_nearby: אנשים ממפים בקרבת מקום
+      subject: נושא
+      title: תיבת דואר נכנס
+    mark: 
+      as_read: ההודעה סומנה כהודעה שנקראה
+      as_unread: ההודעה סומנה כהודעה שלא נקראה
     message_summary: 
       delete_button: מחיקה
-      read_button: לסימון כ"נקרא"
+      read_button: לסימון כ„נקרא”
       reply_button: תשובה
-      unread_button: לסימון כ"לא נקרא"
+      unread_button: לסימון כ„לא נקרא”
     new: 
       back_to_inbox: לחזרה לתיבת הדואר הנכנס
       body: תוכן ההודעה
-      limit_exceeded: ×©×\9c×\97ת ×\94×\95×\93×¢×\95ת ×¨×\91×\95ת ×\9c×\90×\97ר×\95× ×\94. × ×\90 ×\94×\9eת×\99× ×\95 ×\91×\98ר×\9d שליחת הודעות נוספות.
+      limit_exceeded: ×©×\9c×\97ת ×\94×\95×\93×¢×\95ת ×¨×\91×\95ת ×\9c×\90×\97ר×\95× ×\94. × ×\90 ×\9c×\94×\9eת×\99×\9f ×\9cפנ×\99 שליחת הודעות נוספות.
       message_sent: הודעה נשלחה
       send_button: לשליחה
-      send_message_to: ×\9cש×\9c×\99×\97ת ×\94×\95×\93×¢×\94 ×\97×\93ש×\94 ×\9c-%{name}
+      send_message_to: ×\9cש×\9c×\99×\97ת ×\94×\95×\93×¢×\94 ×\97×\93ש×\94 ×\90×\9c %{name}
       subject: נושא
       title: לשליחת הודעה
     no_such_message: 
@@ -702,64 +1028,220 @@ he:
       heading: אין משתמש בשם זה
       title: אין משתמש בשם זה
     outbox: 
+      date: תאריך
+      inbox: תיבת הדואר הנכנס
+      messages: 
+        one: יש לך הודעה אחת שנשלחה
+        other: יש לך %{count} הודעות שנשלחו
+      my_inbox: "%{inbox_link} שלי"
+      no_sent_messages: אין לך הודעות נשלחו עד כה. מה דעתך ליצור קשר עם %{people_mapping_nearby_link}?
+      outbox: תיבת הדואר היוצא
+      people_mapping_nearby: משתתפים הממפים בקרבת מקום
+      subject: נושא
       title: תיבת דואר יוצא
+      to: אל
+    read: 
+      back_to_inbox: לחזרה לתיבת הדואר הנכנס
+      back_to_outbox: חזרה לתיבת הדואר היוצא
+      date: תאריך
+      from: מאת
+      reading_your_messages: קריאת ההודעות שלך
+      reading_your_sent_messages: לקריאת ההודעות שנשלחו
+      reply_button: להשיב
+      subject: נושא
+      title: הודעה שנקראה
+      to: אל
+      unread_button: לסימון כהודעה שלא נקראה
+      wrong_user: נכנסת בשם „%{user}”, אבל ההודעה שביקשת לקרוא לא נשלחה לאותו המשתמש. נא להיכנס בחשבון הנכון כדי ללקרוא אותה.
+    reply: 
+      wrong_user: נכנסת בשם „%{user}”, אבל ההודעה שביקשת להשיב עליה לא נשלחה לאותו המשתמש. נא להיכנס בחשבון הנכון כדי להשיב.
     sent_message_summary: 
       delete_button: מחיקה
   notifier: 
+    diary_comment_notification: 
+      footer: אפשר גם לקרוא את התגובה בכתובת %{readurl} ולהגיב בכתובת %{commenturl} או להשיב בכתובת %{replyurl}
+      header: "%{from_user} הגיב לרשומת היומן שלך ב־OpenStreetMap עם הנושא %{subject}:"
+      hi: שלום %{to_user},
+      subject: "[אופן סטריט מאפ OpenStreetMap] תגובה מאת %{user} נוספה לרשומת יומן שלך"
+    email_confirm: 
+      subject: "[אופן סטריט מאפ OpenStreetMap] נא לאמת את כתובת הדוא\"ל שלך"
+    email_confirm_html: 
+      click_the_link: אם באמת עשית את זה, נא ללחוץ על הקישור להלן כדי לאשר את השינוי.
+      greeting: שלום,
+      hopefully_you: מישהו (בתקווה מדובר בך) רוצה לשנות את כתובת הדוא״ל המשויכת לחשבון בשרת %{server_url} אל %{new_address}.
+    email_confirm_plain: 
+      click_the_link: אם באמת עשית את זה, נא ללחוץ על הקישור להלן כדי לאשר את השינוי.
+      greeting: שלום,
+      hopefully_you_1: מישהו (בתקווה מדובר בך) רוצה לשנות את כתובת הדוא״ל ב־
+      hopefully_you_2: "%{server_url} אל %{new_address}."
     friend_notification: 
-      befriend_them: באפשרותך לסמנם כחבר ב-%{befriendurl}.
-      had_added_you: "%{user} הוסיף אותך כחבר/ה ב-OpenStreetMap."
-      see_their_profile: באפשרותך לצפות בפרופיל ב-%{userurl}.
+      befriend_them: באפשרותך לסמנו כחבר בכתובת %{befriendurl}.
+      had_added_you: "%{user} הוסיף אותך כחבר ב־OpenStreetMap."
+      see_their_profile: באפשרותך לצפות בפרופיל שלו בכתובת %{userurl}.
+      subject: "[אופן סטריט מאפ OpenStreetMap] נוספת לרשימת החברים של %{user}"
     gpx_notification: 
-      greeting: הי,
+      and_no_tags: וחסר התגים
+      and_the_tags: והתגים
+      failure: 
+        failed_to_import: "לא יובא כראוי. הנה השגיאה:"
+        more_info_1: מידע נוסף על כישלונות בייבוא GPX ואיך להימנע
+        more_info_2: "מהם אפשר למצוא כאן:"
+        subject: "[אופן סטריט מאפ OpenStreetMap] שגיאה בייבוא GPX"
+      greeting: שלום,
+      success: 
+        loaded_successfully: נטען כראוי עם %{trace_points} מתוך %{possible_points} נקודות אפשריות.
+        subject: "[אופן סטריט מאפ OpenStreetMap] ייבוא GPX הצליח"
+      with_description: בעל התיאור
+      your_gpx_file: נראה שקובץ ה־GPX שלך
+    lost_password: 
+      subject: "[אופן סטריט מאפ OpenStreetMap] בקשת איפוס ססמה"
+    lost_password_html: 
+      click_the_link: אם באמת ביקשת את זה, נא ללחוץ על הקישור להלן כדי לאפס את הססמה.
+      greeting: שלום,
+      hopefully_you: מישהו (בתקווה מדובר בך) ביקש כי הססמה לחשבון המזוהה עם כתובת הדוא״ל הזאת באתר openstreetmap.org תאופס.
+    lost_password_plain: 
+      click_the_link: אם אכן עשית את זה, יש ללחוץ על הקישור להלן כדי לאפס את הססמה.
+      greeting: שלום,
+      hopefully_you_1: מישהו (אולי את או אתה) ביקש לאפס את הססמה
+      hopefully_you_2: בחשבון openstreetmap.org המשויך לכתובת הדוא"ל הזאת.
+    message_notification: 
+      footer1: אפשר גם לקרוא את ההודעה בכתובת %{readurl}
+      footer2: ולענות בכתובת %{replyurl}
+      header: "לתיבתך ב־OpenStreetMap הגיעה הודעה מאת %{from_user} עם הנושא %{subject}:"
+      hi: שלום %{to_user},
+    signup_confirm: 
+      subject: "[אופן סטריט מאפ OpenStreetMap] נא לאשר כתובת דוא״ל"
     signup_confirm_html: 
-      ask_questions: באפשרותכם לשאול שאלות על אתר OpenStreetMap ב<a href="http://help.openstreetmap.org/">אתר השאלות ותשובות שלנו</a>.
-      click_the_link: אם אכן מדובר בך, ברוכים הבאים! נא לחץ על הרישור מטה על מנת לאשר את החשבון ולקרוא מידע נוסף על OpenStreetMap
-      get_reading: "לקריאה נוספת על OpenStreetMap <a href=\"http://wiki.openstreetmap.org/wiki/Beginners%27_Guide\">באתר הויקי</a>, להתעדכן בחדשות האחרונות ב<a href=\"http://blog.openstreetmap.org/\">בלוג OpenStreetMap</a> או ב<a href=\"http://twitter.com/openstreetmap\">טוויטר</a>, או לקריאה בבלוג של מייסד OpenStreetMap סטיב קוסט: <a href=\"http://www.opengeodata.org/\">OpenGeoData blog</a> למידע על ההיסטוריה של הפרוייקט, אשר בו ניתן גם להאזין <a href=\"http://www.opengeodata.org/?cat=13\">לקבצי קול!"
+      ask_questions: באפשרותך לשאול שאלות על אתר OpenStreetMap ב<a href="http://help.openstreetmap.org/">אתר השאלות ותשובות שלנו</a>.
+      click_the_link: אם אכן מדובר בך, ברוך בואך! נא ללחוץ על הקישור מטה כדי לאמת את החשבון ולקרוא מידע נוסף על OpenStreetMap
+      current_user: רשימת משתמשים נוכחיים בקטגוריות, בהתאום למיקומם בעולם, זמינה בדף <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
+      get_reading: "לקריאה נוספת על OpenStreetMap <a href=\"http://wiki.openstreetmap.org/wiki/Beginners%27_Guide\">באתר הוויקי</a>, להתעדכן בחדשות האחרונות ב<a href=\"http://blog.openstreetmap.org/\">בלוג OpenStreetMap</a> או ב<a href=\"http://twitter.com/openstreetmap\">טוויטר</a>, או לקריאה בבלוג של מייסד OpenStreetMap סטיב קוסט: <a href=\"http://www.opengeodata.org/\">OpenGeoData blog</a> למידע על ההיסטוריה של המיזם, ויש בו גם <a href=\"http://www.opengeodata.org/?cat=13\">קובצי קול<a/>!"
       greeting: שלום!
-      hopefully_you: ×\9e×\99ש×\94×\95 (×\91ת×\99ק×\95×\95×\94 ×©×\9e×\93×\95×\91ר ×\91×\9a) ×\91×\99קש ×\9c×\99צ×\95ר ×\97ש×\91×\95×\9f ×\9eשת×\9eש ×\91
+      hopefully_you: מישהו (בתקווה שמדובר בך) ביקש ליצור חשבון משתמש ב
       introductory_video: ניתן לצפות בסרטו מבוא ב-%{introductory_video_link}.
-      more_videos: צפייה בסרטונים נוספים ב-%{more_videos_link}.
+      more_videos: צפייה בסרטונים נוספים בכתובת %{more_videos_link}.
       more_videos_here: סרטונים נוספים מצויים כאן
+      user_wiki_page: מומלץ ליצור דף משתמש בוויקי, שיכלול קטגוריות שמספרות מה מיקומך כגון such as <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_London">[[Category:Users_in_London]]</a> (משתמשים בלונדון).
       video_to_openstreetmap: סרטון מבוא לאתר OpenStreetMap
-      wiki_signup: באפשרותך <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">להירשם לאתר הויקי של OpenStreetMap</a>.
+      wiki_signup: ×\91×\90פשר×\95ת×\9a <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page">×\9c×\94×\99רש×\9d ×\9c×\90תר ×\94×\95×\95×\99ק×\99 ×©×\9c OpenStreetMap</a>.
     signup_confirm_plain: 
-      ask_questions: "×\91×\90פשר×\95ת×\9a ×\9cש×\90×\95×\9c ×©×\90×\9c×\95ת ×¢×\9d OpenStreetMap בדף השאלות ותשובות שלנו:"
-      blog_and_twitter: "ניתן להתעדכן בחדשות OpenStreetMap באמצעות הבלוג או הטוויטר:"
-      click_the_link_1: ×\90×\9d ×\90×\9b×\9f ×\9e×\93×\95×\91ר ×\91×\9a, ×\91ר×\95×\9a ×\94×\91×\90! × ×\90 ×\9c×\97צ×\95 ×¢×\9c ×\94ק×\99ש×\95ר ×\9e×\98×\94 ×¢×\9c ×\9eנת ×\9c×\90שר את
-      click_the_link_2: ×\97ש×\91×\95× ×\9a, ×\95×\9cקר×\99×\90ת מידע נוסף על אתר OpenStreetMap.
+      ask_questions: "×\91×\90פשר×\95ת×\9a ×\9cש×\90×\95×\9c ×©×\90×\9c×\95ת ×¢×\9c OpenStreetMap בדף השאלות ותשובות שלנו:"
+      blog_and_twitter: "ניתן להתעדכן בחדשות האחרונות דרך הבלוג או חשבון הטוויטר של OpenStreetMap:"
+      click_the_link_1: ×\90×\9d ×\90×\9b×\9f ×\9e×\93×\95×\91ר ×\91×\9a, ×\91ר×\95×\9a ×\91×\95×\90×\9a! × ×\90 ×\9c×\9c×\97×\95×¥ ×¢×\9c ×\94ק×\99ש×\95ר ×\9e×\98×\94 ×\9b×\93×\99 ×\9c×\90×\9eת את
+      click_the_link_2: ×\94×\97ש×\91×\95×\9f ×\95×\9cקר×\95×\90 מידע נוסף על אתר OpenStreetMap.
       current_user_1: רשימת קטגוריות משתמשים, המבוססת על מיקומכם ברחבי העולם
-      current_user_2: "×\9eצ×\95×\99×\99×\94 ×\9b×\90×\9f:"
+      current_user_2: "מצויה כאן:"
       greeting: שלום!
-      hopefully_you: ×\9e×\99ש×\94×\95 (×\91ת×\99ק×\95×\95×\94 ×©×\9e×\93×\95×\91ר ×\91×\9a) ×\9e×\91קש ×\9c×\99צ×\95ר ×\97ש×\91×\95×\9f ×\91
-      introductory_video: "באפשרותך לצפות בסרטון הדרכה לאתר OpenStreetMap  כאן:"
+      hopefully_you: מישהו (בתקווה שמדובר בך) מבקש ליצור חשבון ב
+      introductory_video: "באפשרותך לצפות בסרטון הדרכה לאתר OpenStreetMap כאן:"
       more_videos: "סרטוני הדרכה נוספים מצויים כאן:"
-      opengeodata: "OpenGeoData.org הוא הבלוג של מייסד OpenStreetMap סטיב קוסט, וניתן לקרוא גם בו:"
+      opengeodata: "אתר OpenGeoData.org הוא הבלוג של מייסד OpenStreetMap סטיב קוסט, ויש בו גם פודקאסטים (הקלטות קול):"
       the_wiki: "ניתן לקרוא על OpenStreetMap בדפי ויקי:"
-      user_wiki_1: ×\90× ×\95 ×\9e×\9e×\9c×\99צ×\99×\9d ×\9c×\99צ×\95ר ×\93×£ ×\9eשת×\9eש, ×\94×\9b×\95×\9cל
-      user_wiki_2: "קטגוריות המסמנות את מקומכם, כגון קטגוריית \"משתמשים בלונדון\": [[Category:Users_in_London]]."
-      wiki_signup: "באפשרותך להירשם לויקי OpenStreetMap בכתובת:"
+      user_wiki_1: ×\90× ×\95 ×\9e×\9e×\9c×\99צ×\99×\9d ×\9c×\99צ×\95ר ×\93×£ ×\9eשת×\9eש, ×©×\99×\9b×\9c×\95ל
+      user_wiki_2: "קטגוריות המסמנות את מקומכם, כגון קטגוריית „משתמשים בלונדון”: [[Category:Users_in_London]]."
+      wiki_signup: "×\91×\90פשר×\95ת×\9a ×\9c×\94×\99רש×\9d ×\9c×\95×\95×\99ק×\99 OpenStreetMap ×\91×\9bת×\95×\91ת:"
   oauth: 
     oauthorize: 
-      allow_read_prefs: קריאת העדפות המשתמש שלך.
-      allow_write_api: שינוי המפה.
-      allow_write_gpx: העלאת עקבות GPS.
+      allow_read_gpx: לקרוא את מסלולי ה־GPS הפרטיים שלך.
+      allow_read_prefs: לקרוא את העדפות המשתמש שלך.
+      allow_to: לאפשר ליישום הלקוח שלך
+      allow_write_api: לשנות את המפה.
+      allow_write_diary: ליצור רשומות יומן והערות ולהוסיף חברים.
+      allow_write_gpx: להעלות מסלולי GPS.
+      allow_write_prefs: לשנות את העדפות המשתמש שלך.
+      request_access: היישום %{app_name} דורש גישה לחשבונך, %{user}. נא לבדוק האם מתאים לך שהיישום יקבל את היכולות האלו. אפשר לבחור או לא לבחור את כל מה שמתאים לך.
+    revoke: 
+      flash: שללת את האסימון מהיישום %{application}.
+  oauth_clients: 
+    create: 
+      flash: המידע נרשם בהצלחה
+    destroy: 
+      flash: רישום יישום הלקוח נהרס
+    edit: 
+      submit: עריכה
+      title: עריכת היישום שלך
+    form: 
+      allow_read_gpx: לקרוא את מסלולי ה־GPS הפרטיים שלהם.
+      allow_read_prefs: לקרוא את ההעדפות של המשתמש.
+      allow_write_api: לשנות את המפה.
+      allow_write_diary: ליצור רשומות יומן והערות ולהוסיף חברים.
+      allow_write_gpx: להעלות מסלולי GPS.
+      allow_write_prefs: לשנות ההעדפות של המשתמש.
+      callback_url: כתובת קריאה (callback)
+      name: שם
+      requests: "לבקש את ההרשאות הבאות מהמשתמש:"
+      required: דרוש
+      support_url: כתובת לתמיכה
+      url: כתובת היישום הראשית
+    index: 
+      application: שם היישום
+      issued_at: הונפק ב
+      list_tokens: "האסימונים הבאים הונפקו ליישום בשמך:"
+      my_apps: יישומי הלקוח שלי
+      my_tokens: היישומים המאושרים שלי
+      no_apps: האם יש לך יישום שברצונך לרשום לשימוש אצלנו באמצעות תקן %{oauth}? יש לרשום את יישום הרשת שלך לפני שיוכל לשלוח בקשות OAuth לשירות הזה.
+      register_new: רישום היישום שלך
+      registered_apps: "רשמת את יישומי הלקוח הבאים:"
+      revoke: לשלול!
+      title: פרטי ה־OAuth שלי
+    new: 
+      submit: רישום
+      title: רישון יישום חדש
+    not_found: 
+      sorry: סליחה, הסוג %{type} לא נמצא.
+    show: 
+      access_url: "כתובת אסימון גישה:"
+      allow_read_gpx: לקרוא את מסלולי ה־GPS שלו.
+      allow_read_prefs: לקרוא את העדפות המשתמש שלהם.
+      allow_write_api: לשנות את המפה.
+      allow_write_diary: ליצור רשומות יומן והערות ולהוסיף חברים.
+      allow_write_gpx: להעלות מסלולי GPS.
+      allow_write_prefs: לשנות את ההעדפות שלהם.
+      authorize_url: "כתובת אישור:"
+      edit: עריכת פרטים
+      key: "מפתח צרכן:"
+      requests: "מבקש את ההרשאות הבאות מהמשתמש:"
+      secret: "סוד צרכן:"
+      support_notice: אנחנו תומכים ב־HMAC-SHA1 (מומלץ) וגם בטקסט פשוט במצב SSL.
+      title: פרטי OAuth עבור %{app_name}
+      url: "כתובת אסימון בקשה:"
+    update: 
+      flash: מידע הלקוח עודכן בהצלחה
   site: 
     edit: 
+      anon_edits_link_text: גלה מדוע זה כך.
+      flash_player_required: יש צורך בנגן פלאש כדי להשתמש ב־Potlatch, ערוך הפלאש של OpenStreetMap. אפשר <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">להוריד נגן פלאש מאתר Adobe.com</a>. יש <a href="http://wiki.openstreetmap.org/wiki/Editing">אפשרויות נוספות</a> לעריכת OpenStreetMap.
+      no_iframe_support: הדפדפן שלך אינו תומך באלמנטים מסוג iframe של HTML, ואלו חיוניים עבור תכונה זו.
+      not_public: לא הגדרת את עריכותיך כציבוריות.
+      not_public_description: לא תוכל להמשיך לערוך את המפה בטרם תעשה זאת. באפשרותך להגדיר את עריכותיך כציבוריות דרך %{user_page} שלך.
+      potlatch2_not_configured: Potlatch 2 לא הוגדר – ר׳ http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2 למידע נוסף
+      potlatch2_unsaved_changes: יש לך שינויים שלא נשמרו. (כדי לשמור ב־Potlatch 2, יש ללחוץ „שמירה”.)
       potlatch_unsaved_changes: You have unsaved changes. (To save in Potlatch, you should deselect the current way or point, if editing in list mode, or click save if you have a save button.)
+      user_page_link: דף המשתמש
     index: 
+      js_1: הדפדפן שבו אתה משתמש אינו תומך ב־JavaScript, או שהשבתת את השימוש ב־JavaScript.
+      js_2: אתר OpenStreetMap משתמש ב־JavaScript למפה המחליקה.
+      js_3: אם אין לך אפשרות להפעיל JavaScript, אפשר לנסות את <a href="http://tah.openstreetmap.org/Browse/">דפדפן האריחים הסטטי Tiles@Home</a>.
+      license: 
+        license_name: CC ייחוס–שיתוף זהה 2.0
+        notice: מוגש בכפוף לרישיון %{license_name}, על ידי מיזם %{project_name} ועורכיו.
+        project_name: מיזם OpenStreetMap
+      permalink: קישור קבוע
+      remote_failed: העריכה נכשלה – נא לוודא כי JOSM או Merkaartor נטענו ושאפשרות השליטה מקחור מופעלת
       shortlink: קישור מקוצר
     key: 
       map_key: מפתח
       map_key_tooltip: מפתח מפה
       table: 
         entry: 
-          admin: ×\92×\91×\95×\9c ×\90×\93×\9e×\99× ×\99ס×\98ר×\98×\99×\91×\99
+          admin: ×\92×\91×\95×\9c ×©×\98×\97 ×©×\99פ×\95×\98
           allotments: שטחים חקלאיים
           apron: 
-            1: מסוף
+            - רחבת חניה למטוסים
+            - מסוף
+          bridge: קו שחור = גשר
           bridleway: מסלול לרכיבת סוסים
-          brownfield: אזור תעשיה נטוש
+          brownfield: ×\90×\96×\95ר ×ª×¢×©×\99×\99×\94 × ×\98×\95ש
           building: בניין בעל חשיבות
           byway: דרך צדדית
           cable: 
@@ -771,25 +1253,29 @@ he:
           common: 
             - מרעה
             - מרעה
+          construction: דרכים בבנייה
           cycleway: דרך לאופניים
+          destination: גישה ליעד
           farm: חווה
           footway: דרך להולכי רגל
           forest: יער
           golf: מסלול גולף
           heathland: שדה פרא
-          industrial: אזור תעשיה
+          industrial: ×\90×\96×\95ר ×ª×¢×©×\99×\99×\94
           lake: 
             - אגם
             - מאגר
-          military: ×\90×\96×\95ר צבאי
+          military: ×©×\98×\97 צבאי
           motorway: כביש מהיר
           park: פארק
+          permissive: גישה מותרת
           pitch: מגרש ספורט
           primary: כביש ראשי
+          private: גישה פרטית
           rail: מסילת ברזל
           reserve: שמורת טבע
           resident: אזור מגורים
-          retail: ×\90×\99×\96×\95ר ×\9eס×\97רי
+          retail: ×\90×\96×\95ר ×§×\9e×¢×\95× ×\90י
           runway: 
             - דרך למוניות
             - דרך למוניות
@@ -807,138 +1293,489 @@ he:
           tram: 
             - רכבת קלה
             - חשמלית
+          trunk: דרך ראשית
           tunnel: קו מקווקו = מנהרה
-          unclassified: ×\93ר×\9a ×\91×\9cת×\99 ×\9e×\95×\92×\93רת
+          unclassified: ×\93ר×\9a ×\9c×\90 ×\9eס×\95×\95×\92ת
           unsurfaced: דרך לא סלולה
           wood: חורשה
     search: 
       search: לחיפוש
-      search_help: "examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', or 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>more examples...</a>"
+      search_help: "למשל: ‚נתניה’, ‚רחוב רחל המשוררת, ירושלים’, ‚90880’, או 'סניפי דואר באזור שפרעם' <a href='http://wiki.openstreetmap.org/wiki/Search'>דוגמאות נוספות...</a>"
+      submit_text: מעבר
       where_am_i: איפה אני?
-      where_am_i_title: ×ª×\90ר ×\90ת ×\9e×\99ק×\9e×\9b×\9d הנוכחי באמצעות מנוע החיפוש
+      where_am_i_title: × ×\90 ×\9cת×\90ר ×\90ת ×\9e×\99ק×\95×\9e×\9a הנוכחי באמצעות מנוע החיפוש
     sidebar: 
       close: לסגירה
+      search_results: תוצאות החיפוש
+  time: 
+    formats: 
+      friendly: "%e ב%B %Y בשעה %H:%M"
   trace: 
+    create: 
+      trace_uploaded: קובץ ה־GPX שלך הועלה ומחכה להכנסה אל מסד הנתונים. זה בדרך יקרה בתוך חצי שעה ויישלח לך מכתב עם השלמת הפעולה.
+      upload_trace: העלאת מסלול GPS
+    delete: 
+      scheduled_for_deletion: מסלול מיועד למחיקה
     edit: 
-      description: ":תאור"
+      description: "תיאור:"
       download: הורדה
       edit: עריכה
+      filename: "שם הקובץ:"
       heading: עריכת המסלול %{name}
       map: מפה
+      owner: "בעלים:"
+      points: "נקודות:"
+      save_button: שמירת שינויים
+      start_coord: "נקודות ציון של תחילה:"
+      tags: "תגים:"
       tags_help: מופרד בפסיקים
-      visibility: "ראות:"
+      title: עריכת מסלול %{name}
+      uploaded_at: "תאריך העלאה:"
+      visibility: "נִראוּת:"
       visibility_help: מה זה אומר?
+    list: 
+      public_traces: מסלולי GPS ציבוריים
+      public_traces_from: מסלולי GPS ציבוריים מאת %{user}
+      tagged_with: " מתויג עם %{tags}"
+      your_traces: מסלולי GPS שלך
+    make_public: 
+      made_public: מסלול שהוגדר ציבורי
     no_such_user: 
-      body: אנו מצטערים, אין משתמש בשם  %{user}. נא בדקו את איותכם, או יתכן כי לחצתם על קישור שגוי.
-      heading: המשתמש  %{user} אינו קיים
+      body: אנו מצטערים, אין משתמש בשם %{user}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
+      heading: המשתמש %{user} אינו קיים
       title: אין משתמש כזה
+    offline: 
+      heading: אחסון GPX בלתי־מקוון
+      message: מערכת האחסון וההעלאה של קובצי GPX אינה זמינה עכשיו.
+    offline_warning: 
+      message: מערכת העלאת קובצי GPX אינה זמינה כעת
     trace: 
+      ago: לפני %{time_in_words_ago}
+      by: מאת
+      count_points: "%{count} נקודות"
       edit: עריכה
+      edit_map: עריכת מפה
+      identifiable: בר זיהוי
+      in: ב
       map: מפה
+      more: עוד
+      pending: בהמתנה
+      private: פרטי
+      public: ציבורי
+      trace_details: הצגת פרטי מסלול
+      trackable: בר מעקב
+      view_map: הצגת מפה
     trace_form: 
-      description: תאור
+      description: "תיאור:"
       help: עזרה
+      tags: "תגים:"
       tags_help: מופרד בפסיקים
-      visibility: גלוי
+      upload_button: טעינה
+      upload_gpx: "העלאת קובץ GPX:"
+      visibility: "נִראוּת:"
       visibility_help: מה זאת אומרת?
+    trace_header: 
+      see_all_traces: הצגת כל המסלולים
+      see_your_traces: הצגת המסלולים שלך
+      traces_waiting: יש לך %{count} מסלולים שמחכים להעלאה. נא לשקול לחכות עד סיום העלאתם לפני העלאת נוספים, כדי לא לחסום את התור למשתמשים אחרים.
+      upload_trace: העלאת מסלול
     trace_optionals: 
-      tags: תגיות
+      tags: תגים
+    trace_paging_nav: 
+      next: הבא »
+      previous: « הקודם
+      showing_page: הצגת הדף %{page}
     view: 
-      description: ":תאור"
+      delete_track: מחיקת המסלול הזה
+      description: "תיאור:"
       download: הורדה
       edit: עריכה
+      edit_track: עריכת המסלול הזה
       filename: "שם קובץ:"
+      heading: הצגת מסלול %{name}
       map: מפה
       none: אין
       owner: "בעלים:"
+      pending: בהמתנה
       points: "נקודות:"
-      start_coordinates: "תחילת קואורדינטות:"
-      tags: Tags
+      start_coordinates: "נקודות ציון של תחילה:"
+      tags: "תגים:"
+      title: הצגת מסלול %{name}
+      trace_not_found: המסלול לא נמצא!
       uploaded: "הועלה:"
       visibility: "גלוי:"
+    visibility: 
+      identifiable: בר זיהוי (מוצג ברשימת המסלולים וכמזוהה, נקודות סדורות עם חותמי זמן)
+      private: פרטי (משותף רק כאלמוני, נקודות לא ממוינות)
+      public: ציבורי (מוצג ברשימת המסלולים וכאלמוני, נקודות לא ממוינות)
+      trackable: אפשר לרשום כמסלול (משותף רק כאלמוני, נקודות סדורות עם חותמי זמן)
   user: 
     account: 
-      current email address: "כתובת דואל עדכנית:"
-      email never displayed publicly: (מעולם לא מוצג בפומבי)
-      home location: "מיקום הבית:"
-      latitude: ":קו רוחב"
-      longitude: ":קו אורך"
+      contributor terms: 
+        agreed: הסכמת לתנאי התרומה החדשים.
+        agreed_with_pd: הצהרת גם שמבחינתך העריכות שלך יהיו בנחלת הכלל.
+        heading: "תנאי תרומה:"
+        link text: מה זה?
+        not yet agreed: עדיין לא הסכמת לתנאי התרומה החדשים.
+        review link text: נא לעבור לקישור הזה בזמנך הפנוי כדי לסקור ולקבל את תנאי התרומה החדשים.
+      current email address: "כתובת דוא\"ל נוכחית:"
+      delete image: להסרת התמונה הנוכחית
+      email never displayed publicly: (לעולם לא מוצגת בפומבי)
+      flash update success: פרטי המשתמש/ת עודכנו בהצלחה.
+      flash update success confirm needed: מידע המשתמש/ת עודכן בהצלחה. נא בדקו את תיבת הדוא"ל על מנת לאשרר את הדוא"ל החדש.
+      home location: "מיקום ראשי:"
+      image: "תמונה:"
+      image size hint: (תמונה מרובעת בגודל 100x100 לפחות עובדת הכי טוב)
+      keep image: לשמירה על התמונה הנוכחית
+      latitude: "קו רוחב:"
+      longitude: "קו אורך:"
+      make edits public button: הפוך את כל עריכותיי לציבוריות
       my settings: ההגדרות שלי
-      new email address: "כתובת דואל חדשה:"
+      new email address: "כתובת דוא\"ל חדשה:"
+      new image: הוספת תמונה
+      no home location: לא הזנת את מיקומך הראשי.
       openid: 
+        link: http://wiki.openstreetmap.org/wiki/OpenID
         link text: מה זה?
+        openid: "OpenID:"
+      preferred editor: "עורך מועדף:"
+      preferred languages: "שפות מועדפות:"
+      profile description: "תיאור פרופיל:"
       public editing: 
+        disabled: לא מופעלת, אין אפשרות לערוך נתונים וכל העריכות הקודמות אלמוניות.
         disabled link text: מדוע איני יכול לערוך?
-        enabled: ×\9e×\90×\95פשר. ×\9c×\90 ×\90× ×\95× ×\99×\9eי ויכול לערוך מידע.
+        enabled: ×\9e×\95פע×\9cת. ×\9c×\90 ×\90×\9c×\9e×\95× י ויכול לערוך מידע.
         enabled link: http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits
         enabled link text: מה זה?
         heading: "עריכה ציבורית:"
+      public editing note: 
+        heading: עריכה ציבורית
+        text: כעת העריכות שלך אלמוניות ואנשים לא יכולים לשלוח לך הודעות או לראות את המיקום שלך. כדי להציג מה ערכת ולאפשר לאנשים ליצור אתך קשר דרך האתר, יש ללחוץ על הכפתור למטה. <b>מאז השינוי ב־API בגרסה 0.6, רק משתמשים ציבוריים יכולים לערוך נתוני מפה</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">הסבר למה זה ככה</a>).<ul><li>כתובת הדוא"ל שלך לא תיחשף כתוצאה מזה שתהיה משתמש ציבורי.</li><li>לא ניתן להפוך את הפעולה הזאת וכל המשתמשים החדשים יהיו מעתה ציבוריים לפי בררת המחדל.</li></ul>
+      replace image: להחלפת התמונה הנוכחית
+      return to profile: חזרה לפרופיל
       save changes button: שמירת השינויים
       title: עריכת חשבון
+      update home location on click: עדכון המיקום הראשי שלך בעת לחיצה על המפה?
     confirm: 
+      already active: החשבון הזה כבר אושר.
+      before you start: אנחנו יודעים שבטח בא לך להתחיל כבר למפות, אבל אולי אפשר לבקש ממך לפני־כן למלא את הטופס להלן?
+      button: אישור
       heading: אימות חשבון משתמש
+      press confirm button: נא ללחוץ על כפתור האישור כדי להפעיל את חשבונך.
+      reconfirm: אם עבר זמן רב מאז שנרשמת, אולי צריך <a href="%{reconfirm}">לשלוח לעצמך מכתב אישור חדש</a>.
+      success: חשבונך אושר, תודה שנרשמת!
+      unknown token: נראה שהאסימון הזה אינו קיים.
+    confirm_email: 
+      button: אישור
+      failure: כתובת הדוא״ל שלך כבר אושרה באסימון הזה.
+      heading: אישור שינוי כתובת הדוא״ל
+      press confirm button: נא ללחוץ על כפתור האישור להלן כדי לאשר את כתובת הדוא״ל החדשה.
+      success: כתובת הדוא״ל שלך אושרה, תודה הרישום!
+    confirm_resend: 
+      failure: משתמש %{name} לא נמצא.
+      success: תודה על הרישום. שלחנו מכתב אישור לכתובת %{email} וכשנקבל ממך את האישור, אפשר יהיה להתחיל למפות.<br /><br />אם נעשה בחשבון הדוא״ל שלך שימוש במערכת שמלבינה הודעות, נא להוסיף את webmaster@openstreetmap.org לרשימה הלבנה, כי איננו יכולים להשיב לבקשות אישור.
+    filter: 
+      not_an_administrator: צריך להיות מנהל כדי לבצע את הפעולה הזאת.
+    go_public: 
+      flash success: כל העריכות שלך ציבוריות עכשיו ויש לך הרשאה לערוך.
+    list: 
+      confirm: אישור משתמשים נבחרים
+      empty: לא נמצאו משתמשים תואמים
+      heading: משתמשים
+      hide: הסתרת משתמשים נבחרים
+      showing: 
+        one: מוצג דף %{page} (%{first_item} מתוך %{items})
+        other: מוצג דף %{page} (%{first_item}–%{last_item} מתוך %{items})
+      summary: "%{name} נוצר מכתובת %{ip_address} ב־%{date}"
+      summary_no_ip: "%{name} נוצר ב־%{date}"
+      title: משתמשים
     login: 
+      account is suspended: סליחה, החשבון הזה הושעה בעקבות פעילות חשודה.<br />נא ליצור קשר עם <a href="%{webmaster}">מנהל האתר</a> אם ברצונך לדון בזה.
+      account not active: סליחה, החשבון הזה עדיין אינו פעיל.<br />נא להשתמש בקישור במכתב אישור החשבון כדי להפעיל את חשבונך או or <a href="%{reconfirm}">לבקש מכתב אישור חדש</a>.
+      auth failure: סליחה, לא ניתן להיכנס עם הפרטים האלה.
+      create account minute: נא ליצור חשבון. זה לוקח רק דקה.
+      email or username: "כתובת דואר אלקטרוני או שם משתמש:"
+      heading: כניסה
       login_button: כניסה
-      password: "סיסמה:"
+      lost password link: איבדת את הססמה שלך?
+      new to osm: חדש ב־OpenStreetMap?
+      no account: אין לך חשבון?
+      notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">מידע נוסף על השינוי המתקרב ברישיון של OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">תרגומים</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">דיון</a>)
+      notice_terms: מיזם OpenStreetMap עובר לרישיון חדש ב־1 באפריל 2012. הוא פתוח כמו הנוכחי, אבל הפרטים המשפטיים בו מתאימים הרבה יותר למסד נתוני המפות שלנו. אנחנו רוצים מאוד לשמור על התרומות שלך ל־OpenStreetMap, אבל נוכל לעשות זאת רק לאחר הסכמתך להפיץ אותן לפי תנאי הרישיון החדש. אחרת, נצטרך להוציא אותם ממסד הנתונים.<br /><br />אנו מבקשים ממך להיכנס לחשבון, להקדיש מספר דקות לעיון ברישיון החדש ולקבל את התנאים החדשים. תודה!
+      openid: "%{logo} OpenID:"
+      openid invalid: סליחה, ה־OpenID שלך נראה מקולקל
+      openid missing provider: סליחה, לא התאפשר ליצור קשר עם ספק ה־OpenID שלך
+      openid_logo_alt: כניסה עם OpenID
+      openid_providers: 
+        aol: 
+          alt: כניסה עם OpenID של AOL
+          title: כניסה עם AOL
+        google: 
+          alt: כניסה עם OpenID של גוגל
+          title: כניסה עם חשבון גוגל
+        myopenid: 
+          alt: כניסה עם OpenID של myOpenID
+          title: כניסה עם myOpenID
+        openid: 
+          alt: כניסה עם כתובת URL של OpenID
+          title: כניסה עם OpenID
+        wordpress: 
+          alt: כניסה עם OpenID של Wordpress
+          title: כניסה עם חשבון Wordpress
+        yahoo: 
+          alt: כניסה עם OpenID של יאהו
+          title: כניסה עם חשבון יאהו
+      password: "ססמה:"
+      register now: להירשם עכשיו
+      remember: "לזכור אותי:"
       title: כניסה
+      to make changes: כדי לשנות את נתוני OpenStreetMap, צריך שיהיה לך חשבון.
+      with openid: "לחלופין אפשר להשתמש ב־OpenID כדי להיכנס:"
+      with username: "כבר יש לך חשבון OpenStreetMap? נא להיכנס עם שם משתמש וססמה:"
+    logout: 
+      heading: יציאה מ־OpenStreetMap
+      logout_button: יציאה
+      title: יציאה
     lost_password: 
-      email address: "כתובת דוא\"ל:"
-      new password button: Send me a new password
-      title: lost password
+      email address: "כתובת דוא״ל:"
+      heading: שכחת ססמה?
+      help_text: נא להזין את כתובת הדוא״ל שהשתמשת בה כדי להירשם. אנו נשלח אליה קישור שאפשר להשתמש בו כדי לאפס את ססמתך.
+      new password button: נא לשלוח לי ססמה חדשה
+      notice email cannot find: סליחה, הכתובת הזאת לא נמצאה.
+      notice email on way: אנו מצטערים לשמוע שאיבדת אותה :-( אבל נשלח לדואר האלקטרוני שלך מכתב שבאמצעותו אפשר לאפס אותה.
+      title: הססמה הלכה לאיבוד
+    make_friend: 
+      already_a_friend: "%{name} כבר חבר שלך."
+      failed: סליחה, הוספת %{name} כחבר נכשלה.
+      success: "%{name} חבר שלך עכשיו."
     new: 
+      confirm email address: "אימות כתובת דוא״ל:"
+      confirm password: "אימות ססמה:"
+      contact_webmaster: נא ליצור קשר עם <a href="mailto:webmaster@openstreetmap.org">מנהל האתר</a> כדי שייווצר חשבון, ואנחנו נשתדל לטפל בבקשה כמה שיותר מהר.
+      continue: להמשיך
       display name: "שם התצוגה:"
+      display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעפות שלך.
+      email address: "כתובת דוא״ל:"
+      fill_form: נא למלא את הטופס הבא ונשלח לך מכתב מהיר כדי להפעיל את חשבונך.
+      flash create success message: תודה על הרישום. שלחנו מכתב אישור לכתוב %{email} וכשנקבל ממך את האישור, אפשר יהיה להתחיל למפות.<br /><br />אם נעשה בחשבון הדוא״ל שלך שימוש במערכת שמלבינה הודעות, נא להוסיף את webmaster@openstreetmap.org לרשימה הלבנה, כי איננו יכולים להשיב לבקשות אישור.
       heading: יצירת חשבון משתמש
-      password: "סיסמה:"
+      license_agreement: עם אישור החשבון יש לקבל את <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">תנאי התרומה</a>.
+      no_auto_account_create: למרבה הצער, כעת איננו יכולים ליצור לך חשבון באופן אוטומטי.
+      not displayed publicly: לא מוצג בפומבי (ר׳ <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">מידיניות פרטיות</a>)
+      openid: "%{logo} OpenID:"
+      openid association: "<p>ה־OpenID שלך עדיין אינו משויך לחשבון OpenStreetMap.</p>\n<ul>\n  <li>אם הגעת לראשונה ל־OpenStreetMap, נא ליצור חשבון חדש בעזרת הטופס להלן..</li>\n  <li>\n    אם כבר יש לך חשבון, אפשר להיכנס אליו\n    באמצעות שם משתמש וססמה ואז לשייך את החשבון הזה\n    ל־OpenID שלך בהגדרות המשתמש שלך.\n  </li>\n</ul>"
+      openid no password: עם OpenID אין צורך בססמה, אבל ייתכן שבעת גישה לכלים נוספים או לשרת כן יהיה צורך בה.
+      password: "ססמה:"
+      terms accepted: תודה על קבלת תנאי התרומה החדשים!
+      terms declined: אנחנו מצטערים שהחלטת לא לקבל את תנאי התרומה החדשים. למידע נוסף ר׳ <a href="%{url}">דף הוויקי הזה</a>.
+      title: יצירת חשבון
+      use openid: לחלופין, אפשר להשתמש ב־%{logo} OpenID כדי להיכנס
     no_such_user: 
+      body: סליחה, אין חשבון בשם %{user}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
       heading: המשתמש %{user} אינו קיים
       title: אין משתמש כזה
     popup: 
       friend: חבר
       nearby mapper: ממפה סמוך
       your location: מיקומך
+    remove_friend: 
+      not_a_friend: "%{name} לא אחד מהחברים שלך."
+      success: "%{name} הוסר מרשימת החברים שלך."
     reset_password: 
-      confirm password: "אימות הסיסמה:"
-      flash changed: סיסמתך השתנתה.
-      heading: איפוס הסיסמה עבור %{user}
-      password: "סיסמה:"
-      reset: איפוס הסיסמה
-      title: reset password
+      confirm password: "אימות הססמה:"
+      flash changed: ססמתך שונתה.
+      flash token bad: לא מצאנו את האסימון ההוא, אולי בדיקת הכתובת תעזור?
+      heading: איפוס הססמה עבור %{user}
+      password: "ססמה:"
+      reset: איפוס הססמה
+      title: איפוס ססמה
+    set_home: 
+      flash success: מיקום ראשי נשמר בהצלחה
+    suspended: 
+      body: "<p>\n  סליחה, חשבוןך הושעה באופן אוטומטי עקב\n  פעילות חשודה.\n</p>\n<p>\n  החלטה זו תיבחן על־ידי מנהל מערכת בתוך זמן קצר, או\n  באפשרותך לפנות אל %{webmaster} אם ברצונך לדון בזה.\n</p>"
+      heading: החשבון הושעה
+      title: החשבון הושעה
+      webmaster: מנהל האתר
+    terms: 
+      agree: הסכמה
+      consider_pd: בנוסף להסכם לעיל, מבחינתי כל עריכותיי שייכות לנחלת הכלל
+      consider_pd_why: מה זה?
+      decline: סירוב
+      guidance: מידע שעוזר להבין את התנאים האלהa <a href="%{summary}">תקציר קריא</a> וכמה <a href="%{translations}">תרגומים בלתי־רשמיים</a>
+      heading: תנאי תרומה
+      legale_names: 
+        france: צרפת
+        italy: איטליה
+        rest_of_world: שאר העולם
+      legale_select: "נא לבחור ארץ מגורים:"
+      read and accept: נא לקרוא את ההסכם להלן וללחוץ על כפתור האישור כדי לאשר שקיבלת את תנאי ההסכם הזה לתרומות הקודמות והעתידיות שלך.
+      title: תנאי תרומה
+      you need to accept or decline: נא לקרוא ולקבל או לדחות את תנאי התרומה החדשים כדי להמשיך.
     view: 
       activate_user: להפעלת משתמש זה
       add as friend: הוספה כחבר
       ago: (לפני %{time_in_words_ago})
-      blocks by me: חסימות על ידי
-      blocks on me: חסימות שלי
+      block_history: הצגת חסימות שהתקבלו
+      blocks by me: מתי חסמתי
+      blocks on me: מתי חסמו אותי
+      comments: הערות
       confirm: לאישור
       confirm_user: לאישור משתמש זה
       create_block: לחסימת משתמש זה
+      created from: "נוצר מתוך:"
+      ct accepted: אושרו לפני %{ago}
+      ct declined: נדחו
+      ct status: "תנאי תרומה:"
+      ct undecided: עוד אין החלטה
       deactivate_user: לביטול הפעלת משתמש זה
       delete_user: למחיקת משתמש זה
-      description: תאור
+      description: ×ª×\99×\90×\95ר
       diary: יומן
       edits: עריכות
-      email address: "כתובת דואל:"
+      email address: "כתובת דוא\"ל:"
+      friends_changesets: עיון בכל ערכות השינויים של חברים
+      friends_diaries: עיון בכל רשומות היומן של חברים
       hide_user: להסתרת משתמש זה
-      km away: במרחק %{count} ק"מ
-      m away: במרחק %{count} מ'
+      if set location: אם הגדרת את מיקומך, מפה יפה ועוד דפרים יופיעו פה. אפשר להגדיר את מיקומך הראשי בדף %{settings_link}.
+      km away: במרחק %{count} ק״מ
+      latest edit: "עריכה אחרונה %{ago}:"
+      m away: במרחק %{count} מ׳
+      mapper since: "ממפה מאז:"
+      moderator_history: הצגת חסימות שניתנו
+      my comments: ההערות שלי
       my diary: היומן שלי
       my edits: העריכות שלי
+      my settings: ההגדרות שלי
+      my traces: המסלולים שלי
+      nearby users: עוד משתמשים בסביבה
+      nearby_changesets: עיון בכל ערכות השינויים של משתמשים בסביבה
+      nearby_diaries: עיון בכל רשומות היומן של משתמשים בסביבה
       new diary entry: רשומה חדשה ביומן
-      no friends: לא הוספת חברים כלל עדיין.
-      remove as friend: הסרה כחבר
+      no friends: עדיין לא הוספת חברים כלל.
+      no nearby users: אין עדיין עוד משתמשים שמודים שהם מיפו בסביבה.
+      oauth settings: הגדרות oauth
+      remove as friend: הסרה מרשימת חברים
+      role: 
+        administrator: לחשבון הזה יש הרשאות מפעיל
+        grant: 
+          administrator: הענקת הרשאות מפעיל
+          moderator: הענקת הרשאות מנהל
+        moderator: זהו חשבון מנהל
+        revoke: 
+          administrator: שלילת הרשאות מפעיל
+          moderator: שלילת הרשאות מנהל
       send message: שליחת הודעה
       settings_link_text: הגדרות
-      status: "סטטוס:"
+      spam score: "דירוג זיבול:"
+      status: "מצב:"
       traces: מסלולים
       unhide_user: לבטל הסתרת משתמש זה
+      user location: מיקום המשתמש
       your friends: החברים שלך
   user_block: 
+    blocks_by: 
+      empty: מעולם לא נעשתה חסימה על־ידי %{name}
+      heading: רשימת החסימות שנעשו על־ידי %{name}
+      title: חסימות על־ידי %{name}
+    blocks_on: 
+      empty: מעולם לא הופעלה חסימה על %{name}
+      heading: רשימת החסימות של %{name}
+      title: חסימות של %{name}
+    create: 
+      flash: נוצרה חסימה על חשבון %{name}
+      try_contacting: נא לנסות ליצור קשר עם משתמש לפני חסימתו ולתת לו זמן סביר להשיב.
+      try_waiting: נא לתת למשתמש זמן סביר להשיב לפני החסימה.
+    edit: 
+      back: הצגת כל החסימות
+      heading: חסימת עריכה על %{name}
+      needs_view: האם המשתמש צריך להיכנס לפני שהחסימה הזאת תנוקה?
+      period: למשך כמה זמן מעכשיו החשבון ייחסם מביצוע פעולות API.
+      reason: הסיבה שבגינה החשבון %{name} נחסם. נא לכתוב משהו הגינוי ורגוע ולתת כמה שיותר פרטים על המצב. נא לזכור שלא כל המשתמשים מבינים את העגה המקצועית של הקהילה ולשתדל להשתמש במילים ברורות לכול.
+      show: הצגת החסימה הזאת
+      submit: עדכון חסימה
+      title: חסימת עריכה על %{name}
+    filter: 
+      block_expired: ייתכן שהחסימה כבר פקעה ואי־אפשר לערוך אותה.
+      block_period: תקופת החסימה צריכה להיות אחד הערכים שאפשר לבחור ברשימה הנפתחת.
+      not_a_moderator: צריך להיות מנהל כדי לבצע את הפעולה הזאת.
+    helper: 
+      time_future: יסתיים תוך %{time}
+      time_past: הסתיימה לפני %{time}.
+      until_login: פעילה עד שהמשתמש ייכנס לחשבון.
+    index: 
+      empty: עוד לא נעשו חסימות.
+      heading: רשימת חסימות משתמש
+      title: חסימות משתמש
+    model: 
+      non_moderator_revoke: צריך להיות מנהל כדי לבטל חסימה.
+      non_moderator_update: צריך להיות מנהל כדי ליצור או לעדכן חסימה.
+    new: 
+      back: הצגת כל החסימות
+      heading: יצירת חסימה של %{name}
+      needs_view: המשתמש צריך להיכנס לפני שהחסימה הזאת תנוקה.
+      period: למשך כמה זמן מעכשיו החשבון ייחסם מביצוע פעולות API.
+      reason: הסיבה שבגינה החשבון %{name} נחסם. נא לכתוב משהו הגיוני ורגוע ולתת כמה שיותר פרטים על המצב. נא לזכור שלא כל המשתמשים מבינים את העגה המקצועית של הקהילה ולהשתדל להשתמש במילים ברורות לכול.
+      submit: יצירת חסימה
+      title: יצירת חסימה של %{name}
+      tried_contacting: יצרתי קשר עם המשתמש וביקשתי להפסיק.
+      tried_waiting: נתתי למשתמש זמן סביר להשיב על ההודעות האלו.
+    not_found: 
+      back: חזרה למפתח
+      sorry: סליחה, החסימה עם המזהה %{id} לא נמצאה.
+    partial: 
+      confirm: האם אתה בטוח?
+      creator_name: יוצר
+      display_name: משתמש חסום
+      edit: עריכה
+      not_revoked: (לא בוטלה)
+      reason: סיבה לחסימה
+      revoke: לבטל!
+      revoker_name: בוטלה על־ידי
+      show: הצגה
+      status: מצב
+    period: 
+      one: שעה אחת
+      other: "%{count} שעות"
+    revoke: 
+      confirm: האם ברצונך לבטל את החסימה הזאת?
+      flash: החסימה הזאת בוטלה.
+      heading: ביטול החסימה של %{block_on} על־ידי %{block_by}
+      past: הסימה הזאת הסתיימה לפני %{time} ואי־אפשר לבטל אותה.
+      revoke: לבטל!
+      time_future: החסימה תסתיים ב־%{time}.
+      title: בוטלה החסימה על %{block_on}
     show: 
       back: צפייה בכל החסימות
-      confirm: ×\94×\90×\9d ×\90ת×\9d ×\91×\98×\95×\97×\99×\9d?
+      confirm: ×\91×\90×\9eת?
       edit: עריכה
+      heading: החשבון של %{block_on} נחסם על־ידי %{block_by}
+      needs_view: המשתמש צריך להיכנס לחשבון לפני שהחסימה הזאת יכולה להתבטל.
       reason: "סיבה לחסימה:"
       revoke: ביטול!
       revoker: "מבטל:"
       show: הצגה
       status: סטטוס
+      time_future: יסתיים תוך %{time}
+      time_past: הסתיים לפני %{time}
+      title: החשבון של %{block_on} נחסם על־ידי %{block_by}
+    update: 
+      only_creator_can_edit: רק המנהל שיצר את החסימה הזאת יכול לערוך אותה.
+      success: החסימה עודכנה.
+  user_role: 
+    filter: 
+      already_has_role: למשתמש כבר יש תפקיד %{role}.
+      doesnt_have_role: למשתמש אין תפקיד %{role}.
+      not_a_role: המחרוזת „%{role}” אינה תפקיד תקין.
+      not_an_administrator: רק מפעילים יכולים לבצע ניהול תפקידים ואין לך הרשאת מפעיל.
+    grant: 
+      are_you_sure: האם ברצונך באמת להעניק תפקיד „%{role}” למשתמש „%{name}”?
+      confirm: אישור
+      fail: הענקת התפקיד „%{role}” למשתמש „%{name}” נכשלה. נא לבדוק שהמשתמש והתפקיד תקינים.
+      heading: לאשר הענקת תפקיד
+      title: לאשר הענקת תפקיד
+    revoke: 
+      are_you_sure: האם באמת לשלול את התפקיד „%{role}” מהמשתמש „%{name}”?
+      confirm: אישור
+      fail: שלילת התפקיד „%{role}” מהמשתמש „%{name}” נכשלה. נא לבדוק שהמשתמש והתפקיד תקינים.
+      heading: אישור שלילת תפקיד
+      title: אישור שלילת תפקיד
diff --git a/config/locales/hi-IN.yml b/config/locales/hi-IN.yml
deleted file mode 100644 (file)
index 2f46603..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-hi-IN:
-  dummy: dummy
index 68caba36b0bdbbcda9d085ba279d11107d1c8405..d32d0071dac9770702e38a006f1b63c0202e9bd6 100644 (file)
@@ -383,11 +383,9 @@ hr:
       licence: Dozvola
       longitude: "Lon:"
       manually_select: Ručno izaberi drukčije područje
-      mapnik_image: Mapnik slika
       max: max
       options: Opcije
       osm_xml_data: OpenStreetMap XML podaci
-      osmarender_image: Osmarender slika
       output: Izlaz
       paste_html: Zalijepi HTML za ubacivanje na webstranicu
       scale: Mjerilo
@@ -971,7 +969,6 @@ hr:
       people_mapping_nearby: obližnji ljudi koji mapiraju
       subject: Tema
       title: Dolazna pošta
-      you_have: Imate %{new_count} novih poruka i %{old_count} starih poruka
     mark: 
       as_read: Poruka označena pročitanom
       as_unread: Poruka označena nepročitanom
@@ -1007,7 +1004,6 @@ hr:
       subject: Tema
       title: Odlazna pošta
       to: Za
-      you_have_sent_messages: Imate %{count} poslanih poruka
     read: 
       back_to_inbox: Nazad u dolaznu poštu
       back_to_outbox: Nazad u odlaznu poštu
@@ -1455,7 +1451,6 @@ hr:
       title: Korisnici
     login: 
       account not active: Žao nam je, Vaš korisnički račun još nije aktivan. <br /> Molimo vas da koristite link u e-pošti potvrde da biste aktivirali svoj račun, ili <a href="%{reconfirm}">zatražiti novu e-poštu potvrde</a> .
-      account suspended: Žao nam je, Vaš račun je suspendiran zbog sumnjive aktivnosti. <br /> Molimo kontaktirajte %{webmaster}, ako želite razgovarati o tome.
       auth failure: Žao mi je, ne mogu prijaviti s ovim detaljima.
       create account minute: Otvorite korisnički račun. To traje samo minutu.
       email or username: "Email adresa ili korisničko ime:"
@@ -1469,7 +1464,6 @@ hr:
       remember: "Zapamti me:"
       title: Prijava
       to make changes: Da bi napravili izmjene na OpenStreetMap podacima, morate imati korisnički račun.
-      webmaster: webmaster
     logout: 
       heading: Odjava iz OpenStreetMap
       logout_button: Odjava
index a67ab1ce8a25913ba4e8c5c9f7a9323ee064fe08..549d62be8bb586d231fec7b329f797ea03115cb8 100644 (file)
@@ -288,19 +288,33 @@ hsb:
     list: 
       description: Aktualne změny
       description_bbox: Sadźby změnow znutřka %{bbox}
+      description_friend: Změny twojich přećelow
+      description_nearby: Sadźby změnow wužiwarjow w bliskosći
       description_user: Sadźby změnow wot %{user}
       description_user_bbox: Sadźby změnow wot %{user} znutřka %{bbox}
       heading: Sadźby změnow
       heading_bbox: Sadźby změnow
+      heading_friend: Sadźby změnow
+      heading_nearby: Sadźby změnow
       heading_user: Sadźby změnow
       heading_user_bbox: Sadźby změnow
       title: Sadźby změnow
       title_bbox: Sadźby změnow znutřka %{bbox}
+      title_friend: Změny twojich přećelow
+      title_nearby: Sadźby změnow wužiwarjow w bliskosći
       title_user: Sadźby změnow wot %{user}
       title_user_bbox: Sadźby změnow wot %{user} znutřka %{bbox}
     timeout: 
       sorry: Bohužel je předołho trało, skupiny změny, kotrež sy požadał, wotwołać.
   diary_entry: 
+    comments: 
+      ago: před %{ago}
+      comment: Komentar
+      has_commented_on: "%{display_name} je slědowace dźenikowe zapiski komentował"
+      newer_comments: Nowše komentary
+      older_comments: Starše komentary
+      post: Powěsć
+      when: Časowy dypk
     diary_comment: 
       comment_from: Komentar wot %{link_user} spisany dnja %{comment_created_at}
       confirm: Wobkrućić
@@ -347,6 +361,8 @@ hsb:
       older_entries: Starše zapiski
       recent_entries: "Najnowše dźenikowe zapiski:"
       title: Dźeniki wužiwarjow
+      title_friends: Dźeniki přećelow
+      title_nearby: Dźeniki wužiwarjow w bliskosći
       user_title: dźenik wužiwarja %{user}
     location: 
       edit: Wobdźěłać
@@ -394,11 +410,10 @@ hsb:
       licence: Licenca
       longitude: "Dołhostnik:"
       manually_select: Druhi wobłuk manuelnje wubrać
-      mapnik_image: Wobraz Mapnik
+      map_image: Kartowy wobraz (pokazuje standardnu runinu)
       max: maks.
       options: Opcije
       osm_xml_data: OpenStreetMap XML-daty
-      osmarender_image: Wobraz Osmarender
       output: Wudaće
       paste_html: HTML-kod kopěrować, zo by so do websydła zasunył
       scale: Měritko
@@ -545,7 +560,7 @@ hsb:
           veterinary: Zwěrjacy lěkar
           village_hall: Gmejnski centrum
           waste_basket: Wotpadkowe sudobjo
-          wifi: WLAN-přistup
+          wifi: WiFi-přistup
           youth_centre: Centrum za młodostnych
         boundary: 
           administrative: Zarjadniska hranica
@@ -894,6 +909,7 @@ hsb:
       base: 
         cycle_map: Kolesowa karta
         mapquest: MapQuest Open
+        standard: Standard
         transport_map: Wobchadna karta
     site: 
       edit_disabled_tooltip: Za wobdźěłowanje karty powjetšić
@@ -967,7 +983,7 @@ hsb:
       english_link: jendźelskim originalom
       text: W padźe konflikta mjez přełoženej stronje a %{english_original_link}, jendźelska strona dyrbi prioritatu měć
       title: Wo tutym přełožku
-    legal_babble: "<h2>Awtorske prawo a licenca</h2>\n<p> \nOpenStreetMap wobsteji ze <i>zjawnych datow</i>, licencowanych pod licencu <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA). </p> <p> Móžeš naše karty a daty kopěrować, rozdźělić, přenjesć a přiměrić, tak dołho kaž OpenStreetMap a jich sobuskutkowacych naspominaš. Jeli změniš naše karty abo daty abo zepěraš so na nje, móžeš wuslědk jenož pod samsnej licencu rozdźělić. Dospołny <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">prawniski kod</a> wujasnja twoje prawa a zamołwitosće.</p>\n\n<h3>Kak awtorstwo OpenStreetMap naspomnić</h3>\n<p> Jeli kartowe wobrazy z OpenStreetMap wužiwaš, žadamy sej, zo znajmjeńša podawaš &ldquo;&copy; OpenStreetMap a sobuskutkowacych, CC-BY-SA&rdquo;. Jeli jenož kartowe daty wužiwaš, dyrbiš &ldquo;kartowe daty &copy; OpenStreetMap a sobuskutkowacych, CC-BY-SA&rdquo; podać. </p> <p> Hdźež je móžno, OpenStreetMap měł wotkaz do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> a CC-BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měć. Jeli medij wužiwaš, hdźež wotkazy móžno njejsu (na př. wućišćane dźěło), namjetujemy, zo pokazuješ swojich čitarjow na www.openstreetmap.org a na www.creativecommons.org.</p>\n\n<h3>Dalše informacije</h3>\n<p>Čitaj wjace wo wužiwanju našich datow <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Huste prawniske prašenja</a>.</p><p> Přinošowarjow OSM namołwjamy, zo ženje daty ze žórłow njepřidawaja, kotrež su přez awtorske prawo škitane (na př. z Google Maps abo z wućišćanych kartow) bjez wurazneje dowolnosće awtorow. </p> <p> Hačrunjež OpenStreetMap wobsteji ze zjawnych datow, njemóžemy darmotny kartowy API za wuwiwarjow třećich poskićić. \n\nHlej naše <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">prawidła za wužiwanje API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Prawidła za wužiwanje polow</a> a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Prawidła za wužiwanje Nominatim</a>. </p> \n\n<h3>Naši sobuskutkowacy</h3>\n<p> Naša licenca CC-BY-SA žada sej, zo &ldquo;daš prěnjotnemu awtorej dźak přiměrjeny medijej abo srědkej, kotryž wužiwaš&rdquo;. Jednotliwi kartěrowarjo OSM nježadaja sej přidatne dźakprajenje k &ldquo;sobuskutkowarjam OpenStreetMap&rdquo;, ale hdyž so daty z narodneho kartěrowanskeho předewzaća abo z druheho wuznamneho žórła w OpenStreetMap zapřijimaja, je přiměrjene, jim přez direktne přewzaće jich dźakprajenja abo přez wotkazowanje na njo na tutej stronje dźak prajić. </p>\n\n<!-- Information for page editors The following lists only those organisations who require attribution as a condition of their data being used in OpenStreetMap. It is not a general catalogue of imports, and must not be used except when attribution is required to comply with the licence of the imported data. Any additions here must be discussed with OSM sysadmins first. --> \n<ul id=\"contributors\"><li><strong>Awstralska</strong>: Wobsahuje předměšćanske daty na zakładźe datow Awstralskeho  zarjada za statistiku (Australian Bureau of Statistics).</li>\n<li><strong>Awstriska</strong>: Wobsahuje daty z <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> pod <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n <li><strong>Kanada</strong>: Wobsahuje daty z GeoBase&reg;, GeoGratis (&copy; Department of Natural Resources Canada), CanVec (&copy; Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).</li>\n<li><strong>Francoska</strong>: Wobsahuje daty z Direction Générale des Impôts.</li>\n<li><strong>Nowoseelandska</strong>: Wobsahuje daty ze žórłow wot Land Information New Zealand. Awtorske prawo wuměnjene.</li> \n<li><strong>Pólska</strong>: Wobsahuje daty z <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Awtorske prawo sobuskutkowacych UMP-pcPL.</li>\n<li><strong>Zjednoćene kralestwo</strong>: Wobsahuje daty z Ordnance Survey (Zarjadniske krajměrjenstwo) &copy; Awtorske prawo a prawo za datowe banki 2010.</li> </ul>\n\n<p> Zapřijimanje datow do OpenStreetMap njerěka, zo poskićowar originalnych datow OpenStreetMap připóznawa, někajku garantiju dodawa abo rukowanje přewozmje. </p>"
+    legal_babble: "<h2>Awtorske prawo a licenca</h2>\n<p> \nOpenStreetMap wobsteji ze <i>zjawnych datow</i>, licencowanych pod licencu <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC BY-SA).\n</p>\n<p>\nMóžeš naše karty a daty kopěrować, rozdźělić, přenjesć a přiměrić, tak dołho kaž OpenStreetMap a jich sobuskutkowacych naspominaš. Jeli změniš naše karty abo daty abo zepěraš so na nje, móžeš wuslědk jenož pod samsnej licencu rozdźělić. Dospołny <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">prawniski kod</a> wujasnja twoje prawa a zamołwitosće.</p>\n\n<h3>Kak awtorstwo OpenStreetMap naspomnić</h3>\n<p>\nJeli kartowe wobrazy z OpenStreetMap wužiwaš, žadamy sej, zo znajmjeńša podawaš &ldquo;&copy; OpenStreetMap a sobuskutkowacych, CC BY-SA&rdquo;. Jeli jenož kartowe daty wužiwaš, dyrbiš &ldquo;kartowe daty &copy; OpenStreetMap a sobuskutkowacych, CC BY-SA&rdquo; podać.\n</p>\n<p>Hdźež je móžno, OpenStreetMap měł wotkaz do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> a CC BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> měć. Jeli medij wužiwaš, hdźež wotkazy móžno njejsu (na př. wućišćane dźěło), namjetujemy, zo pokazuješ swojich čitarjow na www.openstreetmap.org a na www.creativecommons.org.\n</p>\n\n<h3>Dalše informacije</h3>\n<p>\nČitaj wjace wo wužiwanju našich datow <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Huste prawniske prašenja</a>.\n</p>\n<p>\nSobuskutkowacych OSM namołwjamy, zo ženje daty ze žórłow, kotrež su přez awtorske prawo škitane (na př. z Google Maps abo z wućišćanych kartow) bjez wurazneje dowolnosće awtorow  njepřidawaja.</p>\n<p>\nHačrunjež OpenStreetMap wobsteji ze zjawnych datow, njemóžemy darmotny kartowy API za wuwiwarjow třećich poskićić. \n\nHlej naše <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">prawidła za wužiwanje API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Prawidła za wužiwanje polow</a> a <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Prawidła za wužiwanje Nominatim</a>. </p> \n\n<h3>Naši sobuskutkowacy</h3>\n<p>\nNaša licenca CC BY-SA žada sej, zo &ldquo;daš prěnjotnemu awtorej dźak přiměrjeny medijej abo srědkej, kotryž wužiwaš&rdquo;. Jednotliwi kartěrowarjo OSM nježadaja sej přidatne dźakprajenje k &ldquo;sobuskutkowarjam OpenStreetMap&rdquo;, ale hdyž so daty z narodneho kartěrowanskeho předewzaća abo z druheho wuznamneho žórła w OpenStreetMap zapřijimaja, je přiměrjene, jim přez direktne přewzaće jich dźakprajenja abo přez wotkazowanje na njo na tutej stronje dźak prajić.\n</p>\n\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution as a condition of their data being used in OpenStreetMap. It is not a general catalogue of imports, and must not be used except when attribution is required to comply with the licence of the imported data.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n \n<ul id=\"contributors\">\n   <li><strong>Awstralska</strong>: Wobsahuje předměšćanske daty na zakładźe datow Awstralskeho  zarjada za statistiku (Australian Bureau of Statistics).</li>\n  <li><strong>Awstriska</strong>: Wobsahuje daty z <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> pod <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY</a>.</li>\n <li><strong>Kanada</strong>: Wobsahuje daty z GeoBase&reg;, GeoGratis (&copy; Department of Natural Resources Canada), CanVec (&copy; Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).</li>\n <li><strong>Francoska</strong>: Wobsahuje daty z Direction Générale des Impôts.</li>\n <li><strong>Nowoseelandska</strong>: Wobsahuje daty ze žórłow wot Land Information New Zealand. Awtorske prawo wuměnjene.</li> \n <li><strong>Pólska</strong>: Wobsahuje daty z <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Awtorske prawo sobuskutkowacych UMP-pcPL. \n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Wjace wo wužiwanju UMP-datow w OSM</a></li>\n   <li><strong>South Africa</strong>: Wobsahuje daty z <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, Statne awtorske prawo wuměnjene.</li>\n   <li><strong>United Kingdom</strong>: Wobsahuje daty z Ordnance\n   Survey &copy; Crown copyright and database right\n   2010.</li></li>\n <li><strong>Zjednoćene kralestwo</strong>: Wobsahuje daty z Ordnance Survey (Zarjadniske krajměrjenstwo) &copy; Awtorske prawo a prawo za datowe banki 2010.</li>\n</ul>\n\n<p>\nZapřijimanje datow do OpenStreetMap njerěka, zo poskićowar originalnych datow OpenStreetMap připóznawa, někajku garantiju dodawa abo rukowanje přewozmje.\n</p>"
     native: 
       mapping_link: kartěrowanje započeć
       native_link: hornjoserbskej wersiji
@@ -979,13 +995,19 @@ hsb:
     inbox: 
       date: Datum
       from: Wot
+      messages: Maš %{new_messages} a %{old_messages}
       my_inbox: Mój póst
+      new_messages: 
+        one: "%{count} nowa powěsć"
+        other: "%{count} nowej powěsći"
       no_messages_yet: Hišće nimaš powěsće. Staj da so z jednym z %{people_mapping_nearby_link}, do zwiska.
+      old_messages: 
+        one: "%{count} stara powěsć"
+        other: "%{count} starej powěsći"
       outbox: pósłany
       people_mapping_nearby: ludźi, kotřiž w bliskosći kartěruja
       subject: Temowe nadpismo
       title: Póstowy kašćik
-      you_have: Maš %{new_count} nowych powěsćow a %{old_count} starych powěsćow
     mark: 
       as_read: Powěsć jako přečitany markěrowana
       as_unread: Powěsć jako njepřečitany markěrowana
@@ -1014,6 +1036,9 @@ hsb:
     outbox: 
       date: Datum
       inbox: póstowy kašćik
+      messages: 
+        one: Sy %{count} powěsć pósłał
+        other: Sy %{count} powěsći pósłał
       my_inbox: Mój %{inbox_link}
       no_sent_messages: Hišće njejsy powěsće pósłał. Staj da so z jednym z %{people_mapping_nearby_link}, do zwiska.
       outbox: pósłany
@@ -1021,7 +1046,6 @@ hsb:
       subject: Temowe nadpismo
       title: Pósłany
       to: Komu
-      you_have_sent_messages: Sy %{count} pósłanych powěsćow
     read: 
       back_to_inbox: Wróćo k póstowemu kašćikej
       back_to_outbox: Wróćo k pósłanym powěsćam
@@ -1472,8 +1496,8 @@ hsb:
       summary_no_ip: "%{name} dnja %{date} wutworjeny"
       title: Wužiwarjo
     login: 
+      account is suspended: Twoje konto bu bohužel podhladneje aktiwity dla wupowědźene.<br />Stajće so prošu z <a href="%{webmaster}">webmasterom</a> do zwiska, jeli chceš wo tym diskutować.
       account not active: Bohužel je twoje konto hišće aktiwne njeje.<br />Prošu klikń na wotkaz w e-mejlu kontoweho wubkrućenja, zo by swoje konto aktiwizował, abo <a href="%{reconfirm}">proš wo nowu wobkrućensku e-mejl</a>.
-      account suspended: Twoje konto bu bohužel podhladneje aktiwity dla wupowědźene.<br />Stajće so prošu z %{webmaster} do zwiska, jeli chceš wo tym diskutować.
       auth failure: Bohužel přizjewjenje z tutymi podaćemi móžno njeje.
       create account minute: Załož konto. Traje jenož chwilku.
       email or username: "E-mejlowa adresa abo wužiwarske mjeno:"
@@ -1481,7 +1505,9 @@ hsb:
       login_button: Přizjewjenje
       lost password link: Swoje hesło zabył?
       new to osm: Nowy w OpenStreetMap?
+      no account: Nimaš žane konto?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Wjace wo bórzomnej licencnej změnje OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">přełožki</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskusija</a>)
+      notice_terms: OpenStreetMap přeńdźe 1. apryla 2012  k nowej licency. Je tež swobodna kaž aktualna, ale prawniske wuměnjenja hodźa so lěpje k našej kartowej datowej bance. Bychmy rady twoje přinoški w OpenStreetMap wobchowali, ale móžemy to jenož činić, jeli sy přezjedny, zo twoje přinoški pod nowej licencu rozšěrjemy. Hewak dyrbimy  je z datoweje banki wotstronić.<br /><br />Prošu wozjew so, bjer sej potom něšto sekundow časa, zo by nowe wuměnjenja přepruwował a akceptował. Wulki dźak!
       openid: "%{logo} OpenID:"
       openid invalid: Zda so, zo twój OpenID je njepłaćiwy
       openid missing provider: Bohužel njemóžachmy z twojim OpenID-poskićowarjom zwjazać.
@@ -1510,7 +1536,6 @@ hsb:
       remember: "Spomjatkować sej:"
       title: Přizjewjenje
       to make changes: Zo by daty OpenStreetMap změnił, dyrbiš konto měć.
-      webmaster: webmišter
       with openid: "Hewak wužij prošu swój OpenID, zo by so přizjewił:"
       with username: "Maš hižo konto pola OpenStreetMap? Prošu přizjew so z wužiwarskim mjenom a hesłom:"
     logout: 
@@ -1599,16 +1624,23 @@ hsb:
       block_history: Dóstane blokowanja pokazać
       blocks by me: blokowanja wote mnje
       blocks on me: blokowanja přećiwo mi
+      comments: Komentary
       confirm: Wobkrućić
       confirm_user: tutoho wužiwarja wobkrućić
       create_block: tutoho wužiwarja blokować
       created from: "Wutworjeny z:"
+      ct accepted: Před %{ago} akceptowany
+      ct declined: Wotpokazany
+      ct status: "Wuměnjenja za sobuskutkowarjow:"
+      ct undecided: Njerozsudźeny
       deactivate_user: tutoho wužiwarja znjemóžnić
       delete_user: tutoho wužiwarja zničić
       description: Wopisanje
       diary: dźenik
       edits: změny
       email address: "E-mejlowa adresa:"
+      friends_changesets: Sadźby změnow twojich přećelow přepytać
+      friends_diaries: Wšě dźenikowe zapiski přećelow přepytać
       hide_user: tutoho wužiwarja schować
       if set location: Jeli sy swoje stejnišćo podał, budźetej so deleka rjana karta a druhe material jewić. Móžeš swoje domjace stejnišćo na swojej stronje %{settings_link} nastajić.
       km away: "%{count} km zdaleny"
@@ -1616,11 +1648,14 @@ hsb:
       m away: "%{count} m zdaleny"
       mapper since: "Kartěrowar wot:"
       moderator_history: Date blokowanja pokazać
+      my comments: moje komentary
       my diary: mój dźenik
       my edits: moje změny
       my settings: moje nastajenja
       my traces: moje ćěrje
       nearby users: Druzy wužiwarjo w bliskosći
+      nearby_changesets: Wšě sadźby změnow wužiwarjow w bliskosći přepytać
+      nearby_diaries: Wšě dźenikowe zapiski wužiwarjow w bliskosći přepytać
       new diary entry: nowy dźenikowy zapisk
       no friends: Hišće njejsy přećelow přidał.
       no nearby users: Njejsu druzy wužiwarjo, kotřiž w bliskosći kartěruja.
index 20dfe535bf33b28b9ac708c5370e6aee886fb663..def1bf63f267348473fa6c5bc1157294a2a1699c 100644 (file)
@@ -3,9 +3,11 @@
 # Export driver: syck-pecl
 # Author: City-busz
 # Author: Dani
+# Author: Dj
 # Author: Glanthor Reviol
 # Author: Leiric
 # Author: Misibacsi
+# Author: Sucy
 hu: 
   activerecord: 
     attributes: 
@@ -284,14 +286,20 @@ hu:
     list: 
       description: Legutóbbi módosítások
       description_bbox: "Módosításcsomagok ezen belül: %{bbox}"
+      description_friend: Ismerőseid módosításcsomagjai
+      description_nearby: Közeli felhasználók módosításcsomagjai
       description_user: "%{user} módosításcsomagjai"
       description_user_bbox: "%{user} módosításcsomagjai ezen belül: %{bbox}"
       heading: Módosításcsomagok
       heading_bbox: Módosításcsomagok
+      heading_friend: Módosításcsomagok
+      heading_nearby: Módosításcsomagok
       heading_user: Módosításcsomagok
       heading_user_bbox: Módosításcsomagok
       title: Módosításcsomagok
       title_bbox: "Módosításcsomagok ezen belül: %{bbox}"
+      title_friend: Ismerőseid módosításcsomagjai
+      title_nearby: Közeli felhasználók módosításcsomagjai
       title_user: "%{user} módosításcsomagjai"
       title_user_bbox: "%{user} módosításcsomagjai ezen belül: %{bbox}"
     timeout: 
@@ -341,6 +349,8 @@ hu:
       older_entries: Régebbi bejegyzések
       recent_entries: "Legutóbbi naplóbejegyzések:"
       title: Felhasználók naplói
+      title_friends: Ismerősök naplói
+      title_nearby: Közeli felhasználók naplói
       user_title: "%{user} naplója"
     location: 
       edit: Szerkesztés
@@ -388,11 +398,9 @@ hu:
       licence: Licenc
       longitude: "Földrajzi hosszúság:"
       manually_select: Más terület kézi kijelölése
-      mapnik_image: Mapnik kép
       max: max.
       options: Beállítások
       osm_xml_data: OpenStreetMap XML adat
-      osmarender_image: Osmarender kép
       output: Kimenet
       paste_html: Webhelyekbe való beágyazáshoz illeszd be a HTML kódot
       scale: Méretarány
@@ -914,7 +922,7 @@ hu:
     foundation_title: Az „OpenStreetMap Foundation”
     gps_traces: Nyomvonalak
     gps_traces_tooltip: GPS nyomvonalak kezelése
-    help: Su
+    help: Sú
     help_centre: Súgóközpont
     help_title: A projekt sugóoldala
     history: Előzmények
@@ -973,13 +981,19 @@ hu:
     inbox: 
       date: Érkezett
       from: Feladó
+      messages: "%{new_messages} és %{old_messages} van"
       my_inbox: Beérkezett üzenetek
+      new_messages: 
+        one: egy új üzenet
+        other: "%{count} új üzenet"
       no_messages_yet: Nincs még üzeneted. Miért nem veszed fel a kapcsolatot néhány %{people_mapping_nearby_link}vel?
+      old_messages: 
+        one: egy régi üzeneted
+        other: "%{count} régi üzeneted"
       outbox: Elküldött üzenetek
       people_mapping_nearby: közeli térképszerkesztő
       subject: Tárgy
       title: Beérkezett üzenetek
-      you_have: "%{new_count} új üzeneted és %{old_count} régi üzeneted van"
     mark: 
       as_read: Üzenet megjelölve olvasottként
       as_unread: Üzenet megjelölve olvasatlanként
@@ -1008,6 +1022,9 @@ hu:
     outbox: 
       date: Elküldve
       inbox: Beérkezett üzenetek
+      messages: 
+        one: Egy elküldött üzeneted van
+        other: "%{count} elküldött üzeneted van"
       my_inbox: "%{inbox_link}"
       no_sent_messages: Nincs még elküldött üzeneted. Miért nem veszed fel a kapcsolatot néhány %{people_mapping_nearby_link}vel?
       outbox: Elküldött üzenetek
@@ -1015,7 +1032,6 @@ hu:
       subject: Tárgy
       title: Elküldött üzenetek
       to: Címzett
-      you_have_sent_messages: "%{count} elküldött üzeneted van"
     read: 
       back_to_inbox: Vissza a beérkezett üzenetekhez
       back_to_outbox: Vissza az elküldött üzenetekhez
@@ -1473,7 +1489,6 @@ hu:
       title: Felhasználók
     login: 
       account not active: Sajnálom, a felhasználói fiókod még nincs aktiválva.<br />Fiókod aktiválásához kérlek, használd a fiókodat megerősítő emailben található hivatkozást, vagy <a href="%{reconfirm}">kérj egy új megerősítő emailt</a>.
-      account suspended: Sajnálom, felhasználói fiókod felfüggesztésre került gyanús tevékenységed miatt.<br />Kérlek, lépj kapcsolatba a %{webmaster}rel, ha meg szeretnéd vitatni ezt.
       auth failure: Sajnálom, ilyen adatokkal nem tudsz bejelentkezni.
       create account minute: Hozz létre egy felhasználói fiókot. Csak egy percet vesz igénybe.
       email or username: "E-mail cím vagy felhasználónév:"
@@ -1482,6 +1497,7 @@ hu:
       lost password link: Elfelejtetted a jelszavad?
       new to osm: Új vagy az OpenStreetMapnál?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Tudj meg többet az OpenStreetMap közelgő licencváltozásáról</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">fordítások</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">vita</a>)
+      notice_terms: Az OpenStreetMap 2012. április 1-jén új licencre vált. Ez pont olyan szabad lesz, mint a jelenlegi licencünk, de a jogi részek sokkal jobban illeszkednek a mi térképi adatbázisunkhoz. Mi szeretnénk, ha megtartanád hozzájárulásaidat az OpenStreetMapban, de ez csak akkor lehetséges, ha beleegyezel abba, hogy hozzájárulásaidat az új licenc alatt terjesszük. Különben el kell távolítanunk azokat az adatbázisból.<br /><br />Kérünk, jelenkezz be, majd szánj néhány percet az új feltételek áttekintésére és elfogadására. Köszönjük!
       openid: "%{logo} OpenID:"
       openid invalid: Sajnos úgy tűnik, hogy az OpenID azonosítód hibás
       openid missing provider: Sajnos nem sikerült kapcsolódni az OpenID szolgáltatódhoz
@@ -1510,7 +1526,6 @@ hu:
       remember: "Emlékezz rám:"
       title: Bejelentkezés
       to make changes: Ahhoz, hogy módosíthasd az OpenStreetMap-adatokat, rendelkezned kell egy felhasználói fiókkal.
-      webmaster: webmester
       with openid: "A bejelentkezéshez az OpenID azonosítódat is használhatod:"
       with username: "Már van OpenStreetMap fiókod? Jelentkezz be a felhasználóneveddel és jelszavaddal:"
     logout: 
@@ -1603,12 +1618,17 @@ hu:
       confirm_user: felhasználó megerősítése
       create_block: ezen felhasználó blokkolása
       created from: "Készítve innen:"
+      ct accepted: Elfogadva %{ago} óta
+      ct declined: Elutasítva
+      ct status: "Hozzájárulási feltételek:"
+      ct undecided: Nem eldöntött
       deactivate_user: felhasználó deaktiválása
       delete_user: ezen felhasználó törlése
       description: Leírás
       diary: napló
       edits: szerkesztések
       email address: "E-mail cím:"
+      friends_changesets: Ismerőseid módosításcsomagjainak tallózása
       hide_user: ezen felhasználó elrejtése
       if set location: Ha beállítod a helyedet, egy szép térkép fog megjelenni alább. Az otthonodat a %{settings_link}nál állíthatod be.
       km away: "%{count} km-re innen"
index e9e6bae0772befde4ec3c03032f761c5c23cf64f..21aa88511e94d19d2b6332157f8cb01f28f39fb1 100644 (file)
@@ -280,14 +280,20 @@ ia:
     list: 
       description: Modificationes recente
       description_bbox: Gruppos de modificationes intra %{bbox}
+      description_friend: Gruppos de modificationes per tu amicos
+      description_nearby: Gruppos de modificationes per usatores vicin
       description_user: Gruppos de modificationes per %{user}
       description_user_bbox: Gruppos de modificationes per %{user} intra %{bbox}
       heading: Gruppos de modificationes
       heading_bbox: Gruppos de modificationes
+      heading_friend: Gruppos de modificationes
+      heading_nearby: Gruppos de modificationes
       heading_user: Gruppos de modificationes
       heading_user_bbox: Gruppos de modificationes
       title: Gruppos de modificationes
       title_bbox: Gruppos de modificationes intra %{bbox}
+      title_friend: Gruppos de modificationes per tu amicos
+      title_nearby: Gruppos de modificationes per usatores vicin
       title_user: Gruppos de modificationes per %{user}
       title_user_bbox: Gruppos de modificationes per %{user} intra %{bbox}
     timeout: 
@@ -337,6 +343,8 @@ ia:
       older_entries: Entratas plus ancian
       recent_entries: "Entratas recente de diario:"
       title: Diarios de usatores
+      title_friends: Diarios de amicos
+      title_nearby: Diarios de usatores vicin
       user_title: Diario de %{user}
     location: 
       edit: Modificar
@@ -384,11 +392,9 @@ ia:
       licence: Licentia
       longitude: "Lon:"
       manually_select: Seliger manualmente un altere area
-      mapnik_image: Imagine Mapnik
       max: max
       options: Optiones
       osm_xml_data: Datos XML de OpenStreetMap
-      osmarender_image: Imagine Osmarender
       output: Resultato
       paste_html: Colla HTML pro incorporar in sito web
       scale: Scala
@@ -956,7 +962,7 @@ ia:
       english_link: le original in anglese
       text: In caso de un conflicto inter iste pagina traducite e %{english_original_link}, le pagina in anglese prevalera.
       title: A proposito de iste traduction
-    legal_babble: "<h2>Copyright e Licentia</h2>\n<p>\n   OpenStreetMap es <i>datos aperte</i>, disponibile sub le licentia\n   <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Vos es libere de copiar, distribuer, transmitter e adaptar nostre cartas\n  e datos, a condition que vos da recognoscentia a OpenStreetMap e su\n  contributores. Si vos altera o extende nostre cartas e datos, vos\n  pote distribuer le resultato solmente sub le mesme licentia. Le\n  complete <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">codice\n  legal</a> explica vostre derectos e responsabilitates.\n</p>\n\n<h3>Como dar recognoscentia a OpenStreetMap</h3>\n<p>\n  Si vos usa imagines del cartas de OpenStreetMap, nos requesta que\n  vostre recognoscentia indica al minus &ldquo;&copy; Contributores de\n  OpenStreetMap, CC-BY-SA&rdquo;. Si vos usa solmente datos cartographic,\n  nos requesta &ldquo;Datos cartographic &copy; Contributores de OpenStreetMap,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Si possibile, le parola OpenStreetMap debe esser un hyperligamine a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  e le termino CC-BY-SA debe ligar a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si\n  vos usa un medio de communication in le qual le ligamines non es possibile (p.ex. un\n  obra imprimite), nos suggere que vos dirige vostre lectores a\n  www.openstreetmap.org (possibilemente per expander\n  &lsquo;OpenStreetMap&rsquo; a iste adresse complete) e a\n  www.creativecommons.org.\n</p>\n\n<h3>Pro saper plus</h3>\n<p>\n  Lege plus super le uso de nostre datos al <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ\n  Legal</a>.\n</p>\n<p>\n  Le contributores de OSM es recordate de nunquam adder datos de alcun\n  fonte subjecte al derecto de autor (p.ex. Google Maps o cartas imprimite)\n  sin explicite permission del titulares del derecto de autor.\n</p>\n<p>\n  Ben que OpenStreetMap es datos aperte, nos non pote fornir un\n  API cartographic gratuite pro altere disveloppatores.\n\n  Vide nostre <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">politica pro le uso del API</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">politica pro le uso de tegulas</a>\n  e <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">politica pro le uso de Nominatim</a>.\n</p>\n\n<h3>Nostre contributores</h3>\n<p>\n  Nostre licentia CC-BY-SA require que vos &ldquo;da al Autor\n  Original recognoscentia rationabile pro le medio que Vos\n  utilisa&rdquo;. Le cartographos individual de OSM non requesta un\n  recognoscentia excedente illo del &ldquo;Contributores de\n  OpenStreetMap&rdquo;, sed ubi datos de un agentia cartographic\n  national o altere fonte major ha essite includite in\n  OpenStreetMap, il pote esser rationabile dar les recognoscentia per\n  directemente reproducer lor recognoscentia o per ligar a illo in iste pagina.\n</p>\n\n<!--\nInformation pro redactores de iste pagina\n\nIn le sequente lista figura solmente le organisationes que require attribution\ncomo condition pro le uso de lor datos in OpenStreetMap. Isto non es un\ncatalogo general de datos importate, e non debe esser usate salvo si\nattribution es requirite pro conformitate con le licentia del datos\nimportate.\n\nOmne additiones hic debe esser discutite primo con le administratores de OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contine datos de suburbios a base\n   de datos del Australian Bureau of Statistics.</li>\n   <li><strong>Austria</strong>: Contine datos ab le\n   <a href=\"http://data.wien.gv.at/\">Citate de Vienna</a> licentiate sub\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canada</strong>: Contine datos ab\n   GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), e (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contine datos colligite del\n   Direction Générale des Impôts.</li>\n   <li><strong>Nove Zelandia</strong>: Contine datos obtenite ex\n   Land Information New Zealand. Crown Copyright reservate.</li>\n   <li><strong>Polonia</strong>: Contine datos cartographic ex <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL</a>. Copyright\n   contributores de UMP-pcPL.</li>\n   <li><strong>Regno Unite</strong>: Contine datos de Ordnance\n   Survey &copy; Crown copyright e derecto de base de datos\n   2010.</li>\n</ul>\n\n<p>\n  Le inclusion de datos in OpenStreetMap non implica que le fornitor\n  original del datos indorsa OpenStreetMap, forni alcun garantia, o\n  accepta alcun responsabilitate.\n</p>"
+    legal_babble: "<h2>Copyright e Licentia</h2>\n<p>\n   OpenStreetMap es <i>datos aperte</i>, disponibile sub le licentia\n   <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Vos es libere de copiar, distribuer, transmitter e adaptar nostre cartas\n  e datos, a condition que vos da recognoscentia a OpenStreetMap e su\n  contributores. Si vos altera o extende nostre cartas e datos, vos\n  pote distribuer le resultato solmente sub le mesme licentia. Le\n  complete <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">codice\n  legal</a> explica vostre derectos e responsabilitates.\n</p>\n\n<h3>Como dar recognoscentia a OpenStreetMap</h3>\n<p>\n  Si vos usa imagines cartographic de OpenStreetMap, nos requesta que\n  vostre recognoscentia indica al minus &ldquo;&copy; Contributores de\n  OpenStreetMap, CC-BY-SA&rdquo;. Si vos usa solmente datos cartographic,\n  nos requesta &ldquo;Datos cartographic &copy; Contributores de OpenStreetMap,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Si possibile, le parola OpenStreetMap debe esser un hyperligamine a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  e le termino CC-BY-SA debe ligar a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Si\n  vos usa un medio de communication in le qual le ligamines non es possibile (p.ex. un\n  obra imprimite), nos suggere que vos dirige vostre lectores a\n  www.openstreetmap.org (possibilemente per expander\n  &lsquo;OpenStreetMap&rsquo; a iste adresse complete) e a\n  www.creativecommons.org.\n</p>\n\n<h3>Pro saper plus</h3>\n<p>\n  Lege plus super le uso de nostre datos al <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">FAQ\n  Legal</a>.\n</p>\n<p>\n  Nos rememora al contributores de OSM de nunquam adder datos de alcun\n  fonte subjecte al derecto de autor (p.ex. Google Maps o cartas imprimite)\n  sin explicite permission del titulares del derecto de autor.\n</p>\n<p>\n  Ben que OpenStreetMap es datos aperte, nos non pote fornir un\n  API cartographic gratuite pro altere disveloppatores.\n\n  Vide nostre <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">politica pro le uso del API</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">politica pro le uso de tegulas</a>\n  e <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">politica pro le uso de Nominatim</a>.\n</p>\n\n<h3>Nostre contributores</h3>\n<p>\n  Nostre licentia CC-BY-SA require que vos &ldquo;recognosce le Autor\n  Original de maniera rationabile pro le medio que Vos\n  utilisa&rdquo;. Le cartographos individual de OSM non requesta un\n  recognoscentia excedente illo del &ldquo;Contributores de\n  OpenStreetMap&rdquo;, sed ubi datos de un agentia cartographic\n  national o altere fonte major ha essite includite in\n  OpenStreetMap, il pote esser rationabile recognoscer les per\n  directemente reproducer lor recognoscentia o per ligar a illo in iste pagina.\n</p>\n\n<!--\nInformation pro redactores de iste pagina\n\nIn le sequente lista figura solmente le organisationes que require attribution\ncomo condition pro le uso de lor datos in OpenStreetMap. Isto non es un\ncatalogo general de datos importate, e non debe esser usate salvo si\nattribution es requirite pro conformitate con le licentia del datos\nimportate.\n\nOmne additiones hic debe esser discutite primo con le administratores de OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Contine datos de suburbios a base\n   de datos del Australian Bureau of Statistics.</li>\n   <li><strong>Austria</strong>: Contine datos ab le\n   <a href=\"http://data.wien.gv.at/\">Citate de Vienna</a> licentiate sub\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canada</strong>: Contine datos ab\n   GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), e StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Francia</strong>: Contine datos colligite del\n   Direction Générale des Impôts.</li>\n   <li><strong>Nove Zelandia</strong>: Contine datos obtenite ex\n   Land Information New Zealand. Crown Copyright reservate.</li>\n   <li><strong>Polonia</strong>: Contine datos cartographic ex <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL</a>. Copyright\n   contributores de UMP-pcPL.</li>\n   <li><strong>Regno Unite</strong>: Contine datos de Ordnance\n   Survey &copy; Crown copyright e derecto de base de datos\n   2010.</li>\n</ul>\n\n<p>\n  Le inclusion de datos in OpenStreetMap non implica que le fornitor\n  original del datos indorsa OpenStreetMap, forni alcun garantia, o\n  accepta alcun responsabilitate.\n</p>"
     native: 
       mapping_link: comenciar le cartographia
       native_link: version in interlingua
@@ -968,13 +974,19 @@ ia:
     inbox: 
       date: Data
       from: De
+      messages: Tu ha %{new_messages} e %{old_messages}
       my_inbox: Mi cassa de entrata
+      new_messages: 
+        one: "%{count} nove message"
+        other: "%{count} nove messages"
       no_messages_yet: Tu non ha ancora messages. Proque non contactar alcun %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} ancian message"
+        other: "%{count} ancian messages"
       outbox: cassa de exito
       people_mapping_nearby: cartographos vicin
       subject: Subjecto
       title: Cassa de entrata
-      you_have: Tu ha %{new_count} nove messages e %{old_count} vetule messages
     mark: 
       as_read: Message marcate como legite
       as_unread: Message marcate como non legite
@@ -1003,6 +1015,9 @@ ia:
     outbox: 
       date: Data
       inbox: cassa de entrata
+      messages: 
+        one: Tu ha %{count} message inviate
+        other: Tu ha %{count} messages inviate
       my_inbox: Mi %{inbox_link}
       no_sent_messages: Tu non ha ancora inviate alcun message. Proque non contactar alcun %{people_mapping_nearby_link}?
       outbox: cassa de exito
@@ -1010,7 +1025,6 @@ ia:
       subject: Subjecto
       title: Cassa de exito
       to: A
-      you_have_sent_messages: Tu ha %{count} messages inviate
     read: 
       back_to_inbox: Retornar al cassa de entrata
       back_to_outbox: Retornar al cassa de exito
@@ -1461,8 +1475,8 @@ ia:
       summary_no_ip: "%{name} create le %{date}"
       title: Usatores
     login: 
+      account is suspended: Le tue conto ha essite suspendite a causa de activitate suspecte.<br />Per favor contacta le <a href="%{webmaster}">webmaster</a> si tu vole discuter isto.
       account not active: Pardono, tu conto non es ancora active.<br />Per favor clicca super le ligamine in le e-mail de confirmation pro activar tu conto, o <a href="%{reconfirm}">requesta un nove message de confirmation.</a>.
-      account suspended: Pardono, tu conto ha essite suspendite debite a activitate suspecte.<br />Per favor contacta le %{webmaster} si tu vole discuter isto.
       auth failure: Pardono, non poteva aperir un session con iste detalios.
       create account minute: Crea un conto. Isto dura solmente un minuta.
       email or username: "Adresse de e-mail o nomine de usator:"
@@ -1471,6 +1485,7 @@ ia:
       lost password link: Tu perdeva le contrasigno?
       new to osm: Nove a OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Informa te super le imminente cambio de licentia de OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traductiones</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discussion</a>)
+      notice_terms: OpenStreetMap cambia a un nove licentia le 1 de april 2012. Iste licentia es tanto aperte como le actual, ma le stipulationes legal es multo plus apte pro nostre base de datos cartographic. Nos appreciarea multo poter retener tu contributiones in OpenStreetMap, ma nos pote facer isto solmente si tu consenti a lor distribution sub le nove licentia. Alteremente, nos debera remover los del base de datos.<br /><br />Per favor aperi session, e prende alcun secundas pro revider e acceptar le nove conditiones. Gratias!
       openid: "OpenID de %{logo}:"
       openid invalid: Infortunatemente tu OpenID pare esser mal formate.
       openid missing provider: Infortunatemente nos non poteva contactar tu providitor de OpenID.
@@ -1499,7 +1514,6 @@ ia:
       remember: "Memorar me:"
       title: Aperir session
       to make changes: Pro facer modificationes in le datos de OpenStreetMap, es necessari haber un conto.
-      webmaster: webmaster
       with openid: "Es anque possibile aperir session con tu OpenID:"
       with username: "Ha tu jam un conto de OpenStreetMap? Per favor aperi session con tu nomine de usator e contrasigno:"
     logout: 
@@ -1592,12 +1606,18 @@ ia:
       confirm_user: confirmar iste usator
       create_block: blocar iste usator
       created from: "Create ex:"
+      ct accepted: Acceptate %{ago} retro
+      ct declined: Declinate
+      ct status: "Conditiones de contributor:"
+      ct undecided: Indecise
       deactivate_user: disactivar iste usator
       delete_user: deler iste usator
       description: Description
       diary: diario
       edits: modificationes
       email address: "Adresse de e-mail:"
+      friends_changesets: Percurrer tote le gruppos de modificationes per amicos
+      friends_diaries: Navigar per tote le articulos de diario per amicos
       hide_user: celar iste usator
       if set location: Si tu ha definite tu position, il apparera ci infra un elegante carta e altere cosas. Tu pote definir tu position de origine in tu pagina de %{settings_link}.
       km away: a %{count} km de distantia
@@ -1610,6 +1630,8 @@ ia:
       my settings: mi configurationes
       my traces: mi tracias
       nearby users: Altere usatores vicin
+      nearby_changesets: Navigar per tote le gruppos de modificationes per usatores vicin
+      nearby_diaries: Navigar per tote le articulos de diario per usatores vicin
       new diary entry: nove entrata de diario
       no friends: Tu non ha ancora addite alcun amico.
       no nearby users: Il non ha ancora altere cartographos in le vicinitate.
index 6d70052f65b6b285e1a8c2ed37ae4b9465a51eb7..3e2df8b7bee20f272b32b8c1b15474220604311a 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Icelandic (Íslenska)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
+# Author: Snævar
 # Author: Ævar Arnfjörð Bjarmason
 is: 
   activerecord: 
@@ -361,14 +362,15 @@ is:
       licence: Leyfi
       longitude: "Breiddargráða:"
       manually_select: Velja annað svæði á kortinu
-      mapnik_image: Mapnik mynd
       max: hámark
       options: Valmöguleikar
       osm_xml_data: OpenStreetMap XML gögn
-      osmarender_image: Osmarender mynd
       output: Úttak
       paste_html: Notaðu þennan HTML kóða til að bæta kortinu á vefsíðu
       scale: Skali
+      too_large: 
+        body: Svæðið sem þú ert að reyna að setja inn á OpenStreetMap á XML formi er of stórt. Vinsamlegast þysjaðu inn eða veldu smærra svæði.
+        heading: Svæðið er of stórt
       zoom: Þys
     start_rjs: 
       add_marker: Bæta við punkt á kortið
@@ -423,9 +425,11 @@ is:
         amenity: 
           airport: Flugvöllurinn
           atm: Hraðbankinn
+          auditorium: Áheyrandasalur
           bank: Bankinn
           bar: Barinn
           bench: Bekkur
+          bicycle_parking: Hjólastæði
           bicycle_rental: Reiðhjólaleigan
           brothel: Hóruhúsið
           bureau_de_change: Gjaldeyrisskipti
@@ -433,8 +437,17 @@ is:
           cafe: Kaffihúsið
           car_rental: Bílaleigan
           car_wash: Bílaþvottastöðin
+          casino: Spilavíti
           cinema: Kvikmyndarhúsið
+          clinic: Heilsugæsla
+          club: Skemmtistaður
+          college: Framhaldskóli
+          community_centre: Samfélagsmiðstöð
+          courthouse: Dómshús
+          crematorium: Bálstofa
           dentist: Tannlæknirinn
+          doctors: Læknar
+          dormitory: Heimavist
           driving_school: Ökuskóli
           embassy: Sendiráðið
           emergency_phone: Neyðarsími
@@ -443,37 +456,80 @@ is:
           fire_station: Slökkvistöð
           fountain: Gosbrunnur
           fuel: Bensínstöð
+          grave_yard: Kirkjugarður
+          gym: Líkamsræktarstöð
           hospital: Sjúkrahúsið
           hotel: Hótelið
+          ice_cream: Ís
+          kindergarten: Leikskóli
           library: Bókasafnið
           market: Markaður
+          marketplace: Markaður
+          mountain_rescue: Fjallabjörgun
           nightclub: Næturklúbbur
           office: Skrifstofa
+          park: Almenningsgarður
           parking: Bílastæði
+          pharmacy: Apótek
           police: Lögreglustöð
           post_box: Póstkassinn
           post_office: Pósthúsið
           prison: Fangelsið
           pub: Pöbbinn
+          public_building: Opinber bygging
           restaurant: Veitingastaðurinn
+          retirement_home: Elliheimili
           sauna: Gufubaðið
           school: Skólinn
+          shelter: Skýli
           shop: Verslunin
+          studio: Stúdíó íbúð
+          supermarket: Stórmarkaður
           taxi: Leigubílastöð
+          telephone: Almenningssími
           theatre: Leikhúsið
+          toilets: Klósett
           university: Háskóli
           vending_machine: Sjálfsali
+          veterinary: Dýraspítali
+          waste_basket: Ruslafata
         building: 
+          apartments: Háhýsi
           chapel: Kapellan
           church: Kirkjan
+          city_hall: Ráðhús borgarinnar
+          commercial: Verslunarhús
+          dormitory: Heimavist
+          entrance: Inngangur
+          farm: Bóndabær
+          garage: Bílskúr
+          hospital: Sjúkrahús
+          hotel: Hótel
+          house: Hús
+          industrial: Iðnaðarhús
+          office: Skrifstofuhús
+          public: Opinber bygging
+          residential: Íbúðarhús
+          school: Skóli
+          shop: Verslun
+          stadium: Íþróttavöllur
         highway: 
+          bus_stop: Stoppustöð
+          cycleway: Hjólastígur
+          footway: Göngustígur
           ford: Vaðið
+          gate: Hlið
           living_street: Vistgata
           motorway: Hraðbraut
+          primary: Stofnvegur
+          primary_link: Stofnvegur
           residential: Íbúðargatan
           service: Þjónustuvegur
         historic: 
           castle: Kastalinn
+          church: Kirkja
+          house: Hús
+          memorial: Minnismerki
         landuse: 
           military: Hersvæðið
         leisure: 
@@ -563,7 +619,6 @@ is:
     map: 
       base: 
         cycle_map: Hjólakort
-        mapnik: Aðalkort (Mapnik)
       overlays: 
         maplint: Villulag
     site: 
@@ -588,7 +643,7 @@ is:
       zero: Það eru engin skilaboð í innhólfinu þínu
     intro_1: OpenStreetMap er frjálst heimskort sem hver sem er getur breytt. Líka þú!
     intro_2: OpenStreetMap gerir þér kleift að skoða, breyta og nota kortagögn í samvinnu við aðra.
-    intro_3: Hýsíng verkefnisins er studd af %{ucl} og %{bytemark}.
+    intro_3: Hýsing verkefnisins er studd af %{ucl}, %{ic} og %{bytemark}. Aðrir stuðningsaðilar verkefnisins eru skráðir í %{partners}.
     license: 
       title: OpenStreetMap gögnin eru gefin út undir Creative Commons Attribution-Share Alike 2.0 leyfinu
     log_in: innskrá
@@ -616,7 +671,7 @@ is:
       english_link: ensku útgáfuna
       text: "Stangist þessi þýðing á við %{english_original_link} gildir\nhin síðari fram yfir íslenskuna."
       title: Um þessa þýðingu
-    legal_babble: "<h2>Höfundaréttur og leyfi</h2>\n\n<p>\n   OpenStreetMap er <i>frjáls kortagrunnur</i> undir <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Attribution-ShareAlike 2.0</a> leyfinu. (CC-BY-SA).\n</p>\n\n<h2>Frekari upplýsingar</h2>\n\n<p>\n  Frekari upplýsingar má nálgast <a href=\"/copyright/en\">í ensku\n  útgáfu</a> þessa skjals.\n</p>"
+    legal_babble: "<h2>Höfundaréttur og leyfi</h2>\n<p>\n   OpenStreetMap er <i>frjáls kortagrunnur</i> undir <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Attribution-ShareAlike 2.0</a> leyfi. (CC-BY-SA).\n</p>\n<p>\n  Þér er frjálst að afrita, dreifa, senda og aðlaga kortagrunninnn\n  og gögn hans, gegn því að þú viðurkennir rétt OpenStreetMap\n  og sjálfboðaliða þess. Ef þú breytir eða byggir á kortagrunninum\n  eða gögnum hans, þá verður þú að gefa niðurstöðuna út með\n  sama leyfi. <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Leyfistextinn</a>\n  útskýrir réttindi þín og skyldur.\n</p>\n<h2>Frekari upplýsingar</h2>\n\n<p>\n  Frekari upplýsingar má nálgast <a href=\"/copyright/en\">í ensku\n  útgáfu</a> þessa skjals.\n</p>"
     native: 
       mapping_link: farið að kortleggja
       native_link: íslensku útgáfuna
@@ -634,7 +689,6 @@ is:
       people_mapping_nearby: nálæga notendur
       subject: Titill
       title: Innhólf
-      you_have: Þú hefur %{new_count} ólesin skilaboð og %{old_count} lesin skilaboð
     mark: 
       as_read: Skilaboðin voru merkt sem lesin
       as_unread: Skilaboðin voru merkt sem ólesin
@@ -652,13 +706,20 @@ is:
       send_message_to: Senda skilaboð til %{name}
       subject: Titill
       title: Senda skilaboð
+    no_such_message: 
+      body: Því miður er ekkert skilaboð með þetta auðkenni.
+      heading: Engin slík skilaboð til
+      title: Engin slík skilaboð til
     no_such_user: 
-      body: Það eru engin skilaboð eða notandi til með nafni
-      heading: Notandi eða skilaboð ekki til
-      title: Notandi eða skilaboð ekki til
+      body: Það er enginn notandi til með þessu nafni.
+      heading: Notandi ekki til
+      title: Notandi ekki til
     outbox: 
       date: Dags
       inbox: innhólf
+      messages: 
+        one: Þú hefur sent %{count} skilaboð
+        other: Þú hefur sent %{count} skilaboð
       my_inbox: Mitt %{inbox_link}
       no_sent_messages: Þú hefur ekki seint nein skeyti, hví ekki að hafa samband við einhverja %{people_mapping_nearby_link}?
       outbox: úthólf
@@ -666,7 +727,6 @@ is:
       subject: Titill
       title: Úthólf
       to: Til
-      you_have_sent_messages: Þú hefur sent %{count} skeyti
     read: 
       back_to_inbox: Aftur í innhólf
       back_to_outbox: Aftur í úthólf
@@ -962,13 +1022,13 @@ is:
       trackable: REKJANLEGUR
       view_map: Sjá kort
     trace_form: 
-      description: Lýsing
+      description: "Lýsing:"
       help: Hjálp
       help_url: http://wiki.openstreetmap.org/index.php?title=Upload&uselang=is
       tags: Tögg
       tags_help: aðskilin með kommum
       upload_button: Senda
-      upload_gpx: Senda inn GPX skrá
+      upload_gpx: "Hlaða inn GPX skrá:"
       visibility: Sýnileiki
       visibility_help: hvað þýðir þetta
     trace_header: 
@@ -1058,8 +1118,7 @@ is:
     go_public: 
       flash success: Allar breytingar þínar eru nú opinberar, og þú getur breytt gögnum.
     login: 
-      account not active: Þessi reikningur er ekki virkur.<br />Vinsamlegast smelltu á tengilinn í staðfestingarpóstinum sem þú fékkst til að virkja reikninginn.
-      account suspended: Reikningnum þínum hefur verið lokað vegna grunsamlegrar hegðunar.<br />Hafðu samband við %{webmaster} ef þú vilt fá hann opnaðan aftur.
+      account not active: Þessi reikningur er ekki virkur.<br />Vinsamlegast smelltu á tengilinn í staðfestingarpóstinum sem þú fékkst til að virkja reikninginn, eða <a href="%{reconfirm}">óskaðu eftir nýjum staðfestingarpósti</a>.
       auth failure: Þetta notandanafn eða lykilorð er rangt.
       email or username: "Netfang eða notandanafn:"
       heading: Innskrá
@@ -1085,7 +1144,6 @@ is:
       password: "Lykilorð:"
       remember: "Muna innskráninguna:"
       title: Innskrá
-      webmaster: vefstjóra
     logout: 
       heading: Útskrá
       logout_button: Útskrá
index b61940cffd0d59b504546d0ced87773238201f49..498d6c3796d6848b99837c0be316c8cf61236ce8 100644 (file)
@@ -10,7 +10,9 @@
 # Author: LucioGE
 # Author: McDutchie
 # Author: Od1n
+# Author: Raoli
 # Author: Rippitippi
+# Author: ZioNicco
 it: 
   activerecord: 
     attributes: 
@@ -283,14 +285,20 @@ it:
     list: 
       description: Modifiche recenti
       description_bbox: Gruppi di modifiche all'interno di %{bbox}
+      description_friend: Insieme di modifiche dei tuoi amici
+      description_nearby: Gruppi di modifiche da parte di utenti nelle vicinanze
       description_user: Modifiche dell'utente %{user}
       description_user_bbox: Gruppi di modifiche dell'utente %{user} all'interno di %{bbox}
       heading: Gruppi di modifiche
       heading_bbox: Gruppi di modifiche
+      heading_friend: Gruppi di modifiche
+      heading_nearby: Gruppi di modifiche
       heading_user: Gruppi di modifiche
       heading_user_bbox: Gruppi di modifiche
       title: Gruppi di modifiche
       title_bbox: Modifiche all'interno di %{bbox}
+      title_friend: Insieme di modifiche dei tuoi amici
+      title_nearby: Gruppi di modifiche da parte di utenti nelle vicinanze
       title_user: Gruppi di modifiche di %{user}
       title_user_bbox: Modifiche dell'utente %{user} all'interno di %{bbox}
     timeout: 
@@ -340,6 +348,8 @@ it:
       older_entries: Voci più vecchie
       recent_entries: "Voci del diario recenti:"
       title: Diari degli utenti
+      title_friends: Diari degli amici
+      title_nearby: Diari degli utenti nelle vicinanze
       user_title: Diario dell'utente %{user}
     location: 
       edit: Modifica
@@ -387,11 +397,9 @@ it:
       licence: Licenza
       longitude: "Lon:"
       manually_select: Seleziona manualmente un'area differente
-      mapnik_image: Immagine Mapnik
       max: max
       options: Opzioni
       osm_xml_data: Dati XML OpenStreetMap
-      osmarender_image: Immagine Osmarender
       output: Risultato
       paste_html: Incolla l'HTML per incapsulare nel sito web
       scale: Scala
@@ -552,6 +560,7 @@ it:
           commercial: Uffici
           dormitory: Dormitorio
           entrance: Entrata dell'edificio
+          faculty: Palazzo della Facoltà
           farm: Edificio rurale
           flats: Appartamenti
           garage: Autorimessa
@@ -652,12 +661,14 @@ it:
           nature_reserve: Riserva naturale
           park: Parco
           piste: Piste
+          plaza: Piazza
           quarry: Cava
           railway: Ferrovia
           recreation_ground: Area di svago
           reservoir: Riserva idrica
           residential: Area Residenziale
           retail: Negozi
+          village_green: Parco urbano
           vineyard: Vigneto
           wetland: Zona umida
           wood: Bosco
@@ -850,6 +861,7 @@ it:
           hostel: Ostello
           hotel: Hotel
           information: Informazioni
+          lean_to: Tettoia
           motel: Motel
           museum: Museo
           picnic_site: Area picnic
@@ -882,6 +894,7 @@ it:
     map: 
       base: 
         cycle_map: Open Cycle Map
+        mapquest: MapQuest Open
         transport_map: Mappa dei trasporti
     site: 
       edit_disabled_tooltip: Zooma per modificare la mappa
@@ -952,6 +965,7 @@ it:
       english_link: l'originale in inglese
       text: In caso di incoerenza fra questa pagina di traduzione e %{english_original_link}, fa fede la pagina in inglese
       title: A proposito di questa traduzione
+    legal_babble: "<h2>Copyright e licenza</h2>\n<p>\n   OpenStreetMap è un <i>database aperto</i>, sotto la licenza <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">\n   Creative Commons Attribuzione-Condividi allo stesso modo 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Sei libero di copiare, distribuire, trasmettere e adattare le nostre mappe\n  e dati, finchè lo attribuisci a OpenStreetMap e i suoi\n  contributori. Se tu alteri o ti basi sulle nostre mappe o dati,\n  è possibile distribuire il risultato solo sotto la stessa licenza. Il \n  codice legale completo <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">legale\n  illustra i tuoi diritti e le tue responsabilità.\n<p>\n\n<h3>Come si attribuisce a OpenStreetMap</h3>\n<p>\n  Se utilizzi le immagini della mappa di OpenStreetMap, si richiede che\n  l'attribuzione abbia almeno scritto &ldquo;&copy; OpenStreetMap\n  contributors, CC-BY-SA&rdquo;. Se utilizzi solo i dati della mappa\n  si richiede &ldquo;Map data &copy; OpenStreetMap contributors,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Ove possibile, OpenStreetMap dovrebbe essere un collegamento ipertestuale a <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  e CC-BY-SA a <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Se\n  utilizzi un mezzo dove il link non sono possibili (per esempio un\n  opera stampata), suggeriamo di indirizzare i lettori a\n  www.OpenStreetMap.org (forse scrivendo\n  &lsquo;OpenStreetMap&rsquo; a questo indirizzo completo) e a\n  www.creativecommons.org.\n<p>\n\n<h3>Per saperne di più</h3>\n<p>\n  Approfonisci su come utilizzare i nostri dati presso le <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Domande\n  legali frequenti</a>.\n<p>\n<p>\n  Ai contributori OSM si ricorda di non aggiungere dati da qualsiasi\n  fonte protetta da copyright (ad esempio Google Maps o mappe stampate) senza\n  esplicita autorizzazione dei titolare del copyright.\n</p>\n<p>\n  Anche se i dati OpenStreetMap sono aperti, non possiamo fornire una\n  mappa API esente dalle tasse per gli sviluppatori di terze parti.\n\n  Vedi la nostra <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Politica di utilizzo API</a>, la\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Politica di utilizzo dei riquadri mappa</a>\n  e la <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Politica di utilizzo Nominatim</a>.\n</p>\n\n<h3>Nostri collaboratori</h3>\n<p>\n  La nostra licenza CC-BY-SA richiede di &ldquo;dare la ragionevole\n  attribuzione dell'autore originale al mezzo o ai mezzi che stai\n  utilizzando\"&rdquo;. I mappatori individuali OSM non richiedono\n  un'attribuzione al di là che per i &ldquo;contributori\n  OpenStreetMap&rdquo;, ma, dove i dati forniti da un' agenzia cartografica\n  nazionale o altra fonte importante sono stati inclusi in OpenStreetMap,\n  può essere congrua l'attribuzione a loro, riproducendo direttamente\n  la loro attribuzione o l'indirizzamento a questa pagina.\n</p>\n\n<!--\nInformazioni per gli editor della pagina\n\nDi seguito sono elencate solo le organizzazioni che necessitano di attribuzione\ncome condizione che i loro dati vengano utilizzati in OpenStreetMap. Non è un\ncatalogo generale delle importazioni, e non devono essere utilizzati, tranne quando\nl'attribuzione è tenuto a rispettare la licenza di importazione\ndei dati.\n\nEventuali aggiunte qui devono essere prima discusse con gli amministratori di sistema OSM .\n-->\n\n<ul id=\"contributors\">\n    <li><strong>Australia</strong>: Contiene i dati della periferia basati\n    sui dati dell'Australian Bureau of Statistics.</li>\n    <li><strong>Austria</strong>: Contiene i dati della\n    <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> sotto\n    <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n    <li><strong>Canada</strong>: Contiene i dati della\n    GeoBase&reg;, GeoGratis (&copy; Department of Natural\n    Resources Canada), CanVec (&copy; Department of Natural\n    Resources Canada), e della StatCan (Geography Division,\n    Statistics Canada).</li>\n    <li><strong>Francia</strong>: Contiene dati provenienti dalla\n    Direction Générale des Impôts.</li>\n    <li><strong>Nuova Zelanda</strong>: Contiene i dati provenienti dalla\n    Land Information New Zealand. Crown Copyright reserved.</li>\n    <li><strong>Polonia</strong>: Contiene i dati dalle <a\n    href=\"http://ump.waw.pl/\">mappe UMP-pcPL</a>. Copyright dei\n    contributori di UMP-pcPL.</li>\n    <li><strong>Regno Unito</strong>: Contiene i dati della\n    Ordnance Survey &copy; Crown copyright and database right\n    2010.</li>\n</ul>\n\n<p>\n  L'inserimento dei dati in OpenStreetMap non implica che l'originale\n  provider di dati appoggi OpenStreetMap, fornisca alcuna garanzia o\n  accetti qualsiasi responsabilità.\n</p>"
     native: 
       mapping_link: inizia a mappare
       native_link: versione in italiano
@@ -963,13 +977,19 @@ it:
     inbox: 
       date: Data
       from: Da
+      messages: Hai %{new_messages} e %{old_messages}
       my_inbox: I miei messaggi in arrivo
+      new_messages: 
+        one: "%{count} nuovo messaggio"
+        other: "%{count} nuovi messaggi"
       no_messages_yet: Non ci sono ancora messaggi. Perché non contatti qualcuna di queste %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} vecchio messaggio"
+        other: "%{count} messaggi vecchi"
       outbox: in uscita
       people_mapping_nearby: persone che mappano nelle vicinanze
       subject: Oggetto
       title: In arrivo
-      you_have: Hai %{new_count} nuovi messaggi e %{old_count} vecchi messaggi
     mark: 
       as_read: Messaggio marcato come letto
       as_unread: Messaggio marcato come non letto
@@ -998,6 +1018,9 @@ it:
     outbox: 
       date: Data
       inbox: in arrivo
+      messages: 
+        one: Hai %{count} messaggio inviato
+        other: Hai %{count} messaggi inviati
       my_inbox: Messaggi %{inbox_link}
       no_sent_messages: Non ci sono ancora messaggi inviati. Perché non contatti qualcuno di questi %{people_mapping_nearby_link}?
       outbox: in uscita
@@ -1005,7 +1028,6 @@ it:
       subject: Oggetto
       title: In uscita
       to: A
-      you_have_sent_messages: Hai %{count} messaggi inviati
     read: 
       back_to_inbox: Ritorna ai messaggi in arrivo
       back_to_outbox: Ritorna ai messaggi in uscita
@@ -1456,8 +1478,8 @@ it:
       summary_no_ip: "%{name} creato il %{date}"
       title: Utenti
     login: 
+      account is suspended: Siamo spiacenti, il tuo account è stato sospeso a causa di attività sospette.<br />Se desideri discuterne, puoi contattare il <a href="%{webmaster}">webmaster</a>.
       account not active: Spiacenti, il tuo profilo non è ancora attivo.<br />Si prega di utilizzare il collegamento presente nell'email di conferma per attivare il proprio profilo, oppure <a href="%{reconfirm}">richiedere l'invio di una nuova email di conferma</a>.
-      account suspended: Siamo spiacenti, il tuo account è stato sospeso a causa di attività sospette.<br />Contatta il %{webmaster} se desideri discuterne.
       auth failure: Spiacenti, non si può accedere con questi dettagli.
       create account minute: Crea un account. Richiede solo un minuto.
       email or username: "Indirizzo email o nome utente:"
@@ -1466,6 +1488,7 @@ it:
       lost password link: Persa la password?
       new to osm: Sei nuovo su OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Leggi i dettagli sull'imminente cambio di licenza di OpenStreetMap</a> ( <a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traduzioni</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discussione</a> )
+      notice_terms: OpenStreetMap si sta muovendo per avere una nuova licenza per il 1° aprile 2012. È ''open'' come quella attuale, ma le restrizioni legali sono molto più indicate per il nostro database cartografico. Ci piacerebbe mantenere i vostri contributi in OpenStreetMap, ma possiamo farlo solo se accosentite a farceli redistribuire sotto una nuova licenza. In caso contrario, purtroppo, dovremo rimuoverli dal database.<br/><br/>Per favore accedi, poi prenditi pochi secondi per leggere e ad accettare i nuovi termini. Grazie!
       openid: "%{logo} OpenID:"
       openid invalid: Spiacente, sembra il che tuo OpenID non sia valido
       openid missing provider: Siamo spiacenti, impossibile contattare il provider OpenID
@@ -1494,7 +1517,6 @@ it:
       remember: "Ricordati di me:"
       title: Entra
       to make changes: Per apportare modifiche ai dati di OpenStreetMap, è necessario disporre di un account.
-      webmaster: webmaster
       with openid: "In alternativa utilizza il tuo OpenID per entrare:"
       with username: "Possiedi già un profilo OpenStreetMap? Entra con il tuo nome utente e password:"
     logout: 
@@ -1587,12 +1609,18 @@ it:
       confirm_user: conferma questo utente
       create_block: blocca questo utente
       created from: "Creato da:"
+      ct accepted: Accettato da %{ago}
+      ct declined: Non accetto
+      ct status: "Termini di collaborazione:"
+      ct undecided: Indeciso
       deactivate_user: disattiva questo utente
       delete_user: elimina questo utente
       description: Descrizione
       diary: diario
       edits: modifiche
       email address: "Indirizzo email:"
+      friends_changesets: Visualizza tutti i gruppi di modifica degli amici
+      friends_diaries: Sfoglia tutte le note dei diari degli amici
       hide_user: nascondi questo utente
       if set location: Se si imposta una propria posizione, una bella mappa ed altre informazioni compariranno di seguito. E' possibile impostare la propria posizione sulla pagina delle %{settings_link}.
       km away: distante %{count} km
@@ -1605,6 +1633,8 @@ it:
       my settings: impostazioni personali
       my traces: tracciati personali
       nearby users: Altri utenti nelle vicinanze
+      nearby_changesets: Sfoglia tutti i gruppi di modifiche da parte degli utenti nelle vicinanze
+      nearby_diaries: Sfoglia tutte le note dei diari degli utenti nelle vicinanze
       new diary entry: nuova voce del diario
       no friends: Non ci sono ancora amici.
       no nearby users: Non ci sono ancora altri utenti che ammettono di mappare nelle vicinanze.
index f00b7201c95337eb02d25ed5d615e8c982aee6f3..88f5e9b4c48be2c321a76a1631943e53afd1fc43 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Iwai.masaharu
 # Author: Mage Whopper
 # Author: Miya
+# Author: Nabetaro
 # Author: Nazotoko
 # Author: Schu
 # Author: Wrightbus
@@ -108,6 +109,8 @@ ja:
       show_area_box: 領域範囲表示
     common_details: 
       changeset_comment: "コメント:"
+      deleted_at: "削除日:"
+      deleted_by: "削除者:"
       edited_at: "編集日:"
       edited_by: "編集者:"
       in_changeset: "変更セット:"
@@ -166,6 +169,7 @@ ja:
         relation: リレーション
         way: ウェイ
     paging_nav: 
+      of: 中
       showing_page: ページ表示
     relation: 
       download: "%{download_xml_link} または %{view_history_link}"
@@ -279,14 +283,17 @@ ja:
     list: 
       description: 最新の変更
       description_bbox: "%{bbox} 内の変更セット"
+      description_friend: 友達による変更セット
       description_user: "%{user} による変更セット"
       description_user_bbox: "%{bbox} 範囲内の %{user} の変更セット"
       heading: 変更セット
       heading_bbox: 変更セット
+      heading_friend: 変更セット
       heading_user: 変更セット
       heading_user_bbox: 変更セット
       title: 変更セット
       title_bbox: "%{bbox} 範囲内の変更セット"
+      title_friend: 友達による変更セット
       title_user: "%{user} の変更セット"
       title_user_bbox: "%{bbox}内の%{user}による変更セット"
     timeout: 
@@ -383,15 +390,14 @@ ja:
       licence: ライセンス
       longitude: "経度:"
       manually_select: 別の領域を指定する
-      mapnik_image: Mapnik 画像
       max: 最大
       options: オプション
       osm_xml_data: OSM XMLデータ
-      osmarender_image: Osmarender 画像
       output: 出力
       paste_html: 以下の HTML をあなたのサイトに埋め込んでください
       scale: 縮尺
       too_large: 
+        body: このエリアは OpenStreetMap XML データとしてエクスポートするには大きすぎます。拡大するか、もっと小さなエリアを選択してください。
         heading: エリアが大きすぎます
       zoom: ズーム
     start_rjs: 
@@ -450,9 +456,11 @@ ja:
           bicycle_parking: 駐輪場
           bicycle_rental: レンタサイクル
           brothel: 売春宿
+          bureau_de_change: 両替
           bus_station: バス停
           cafe: 喫茶店
           car_rental: レンタカー
+          car_sharing: カーシェアリング
           car_wash: 洗車
           casino: 賭場
           cinema: 映画館
@@ -481,6 +489,7 @@ ja:
           health_centre: 保健所
           hospital: 病院
           hotel: ホテル
+          hunting_stand: ハンティングスタンド
           ice_cream: アイスクリーム販売店
           kindergarten: 幼稚園
           library: 図書館
@@ -504,6 +513,7 @@ ja:
           public_building: 公共建築物
           public_market: 公設市場
           reception_area: レセプションエリア
+          recycling: リサイクル場所
           restaurant: レストラン
           retirement_home: 老人ホーム
           sauna: サウナ
@@ -522,6 +532,8 @@ ja:
           university: 大学
           vending_machine: 自動販売機
           veterinary: 獣医外科
+          village_hall: 役場
+          waste_basket: ごみ箱
           wifi: WiFiアクセスポイント
           youth_centre: 青少年センター
         boundary: 
@@ -536,6 +548,7 @@ ja:
           commercial: 商業ビル
           dormitory: 寮
           entrance: ビル入口
+          faculty: 学部棟
           farm: 農舎
           flats: アパート
           garage: 車庫
@@ -555,6 +568,7 @@ ja:
           terrace: テラス
           tower: 塔
           train_station: 鉄道駅
+          university: 大学の建物
         highway: 
           bridleway: 乗馬道
           bus_stop: バス停
@@ -721,6 +735,7 @@ ja:
           tram: 路面軌道
           tram_stop: トラム停留所
         shop: 
+          apparel: 服屋
           art: アートショップ
           bakery: パン屋
           beauty: 美容室
@@ -733,9 +748,11 @@ ja:
           car_parts: 自動車部品販売店
           carpet: カーペットショップ
           clothes: 洋服店
+          computer: コンピューターショップ
           cosmetics: 化粧品販売店
           department_store: デパート
           discount: 安売り店
+          doityourself: 日曜大工
           drugstore: ドラッグストア
           dry_cleaning: クリーニング
           electronics: 電気製品販売店
@@ -748,6 +765,7 @@ ja:
           gift: ギフトショップ
           greengrocer: 八百屋
           grocery: 食料品店
+          hairdresser: 美容室
           insurance: 保険
           jewelry: 宝石店
           kiosk: キオスク
@@ -762,7 +780,7 @@ ja:
           organic: 有機食材店
           outdoor: アウトドアショップ
           pet: ペットショップ
-          salon: 美容店
+          salon: サロン
           shoes: 靴屋
           shopping_centre: ショッピングセンター
           sports: スポーツ用品専門店
@@ -774,7 +792,10 @@ ja:
         tourism: 
           artwork: 芸術作品
           attraction: アトラクション
+          bed_and_breakfast: 民宿(B&B)
+          cabin: 山小屋
           camp_site: キャンプ場
+          caravan_site: オートキャンプ場
           chalet: 別荘
           guest_house: 民宿
           hostel: ホステル
@@ -790,6 +811,7 @@ ja:
           canal: 運河
           dam: ダム
           derelict_canal: 遺棄運河
+          ditch: 溝
           dock: 埠頭
           drain: 排水溝
           lock: 岩場
@@ -826,7 +848,7 @@ ja:
     export_tooltip: 地図データのエクスポート
     foundation: 財団法人
     foundation_title: OpenStreetMap 財団法人
-    gps_traces: GPS トレース
+    gps_traces: GPSトレース
     gps_traces_tooltip: トレースの管理
     help: ヘルプ
     help_centre: ヘルプセンター
@@ -842,6 +864,7 @@ ja:
     intro_1: OpenStreetMap は自由に編集できる世界地図です。あなたのような人々が作りました。
     intro_2: OpenStreetMap は地球上の誰でも、どこからでもこの共同作業の結果である地図データを編集、閲覧することを可能にしています。
     intro_3: OpenStreetMap は %{ucl} 、%{ic} 、%{bytemark} によってホスティングされています。%{partners} には協賛組織の一覧があります。
+    intro_3_ic: インペリアル・カレッジ・ロンドン
     intro_3_partners: ウィキ
     intro_3_ucl: ユニヴァーシティ・カレッジ・ロンドン (UCL) VR センター
     license: 
@@ -859,13 +882,15 @@ ja:
     osm_read_only: OpenStreetMap のデータベースはメンテナンスのため一時的に読み込み専用モードになっています。
     sign_up: 登録
     sign_up_tooltip: 編集のためのアカウントを作成
+    sotm2011: 2011年 OpenStreetMap カンファレンス State of the Map は 9月9日-11日 デンバーで開かれます。おいでください!
     tag_line: 自由なウィキ世界地図
-    user_diaries: ユーザの日記
+    user_diaries: 日記
     user_diaries_tooltip: ユーザの日記を見る
     view: 閲覧
     view_tooltip: 地図を見る
     welcome_user: "%{user_link} さん、ようこそ。"
     welcome_user_link_tooltip: あなたの個人ページ
+    wiki: ウィキ
     wiki_title: プロジェクトの Wiki サイト
   license_page: 
     foreign: 
@@ -888,7 +913,6 @@ ja:
       people_mapping_nearby: 近所でマッピングしている人々
       subject: タイトル
       title: 受信箱
-      you_have: あなた宛の新しいメッセージが %{new_count}件、以前のメッセージが %{old_count}件あります。
     mark: 
       as_read: 既読メッセージ
       as_unread: 未読メッセージ
@@ -924,7 +948,6 @@ ja:
       subject: 件名
       title: 送信箱
       to: 宛先
-      you_have_sent_messages: "%{count}この送信済みメッセージがあります"
     read: 
       back_to_inbox: 受信箱に戻る
       back_to_outbox: 送信箱に戻る
@@ -975,12 +998,14 @@ ja:
       subject: "[OpenStreetMap] パスワードリセットの要求"
     lost_password_html: 
       greeting: こんにちは、
-      hopefully_you: (たぶんあなたがですが、)誰かがこのEメールアドレスの openstreetmap.org アカウントのパスワードをリセットするように頼みました。
+      hopefully_you: 誰か(たぶんあなた)が、このEメールアドレスの openstreetmap.org アカウントに対して、パスワードをリセットするように依頼しました。
     lost_password_plain: 
       greeting: こんにちは、
+      hopefully_you_1: 誰か(たぶんあなた)が、この openstreetmap.org アカウントのEメールアドレスに対する
+      hopefully_you_2: パスワードをリセットするように依頼しました。
     message_notification: 
-      footer1: "% {Readurl} でメッセージを読むこともできます。"
-      footer2: また、% {replyurl} で返信することができます。
+      footer1: "%{readurl} でメッセージを読むこともできます。"
+      footer2: また、%{replyurl} で返信することができます。
       hi: やあ %{to_user}、
     signup_confirm: 
       subject: "[OpenStreetMap] あなたのEメールアドレスの確認"
@@ -1009,7 +1034,7 @@ ja:
       allow_write_prefs: あなたの利用者設定を変更する。
       request_access: アプリケーション %{app_name} があなたのアカウント、%{user} への接続許可を求めています。そのアプリケーションに許可してもよいかどうかを確認してください。複数のアプリケーションに許可を与える事もできます。
     revoke: 
-      flash: "%{application} へのトークンを無効にしました。"
+      flash: "%{application} へのトークンを失効しました。"
   oauth_clients: 
     create: 
       flash: 正常に登録完了しました。
@@ -1031,14 +1056,15 @@ ja:
       support_url: サポートURL
       url: メインアプリケーションのURL
     index: 
-      application: アプリケーション
+      application: アプリケーション
       issued_at: 発行
       list_tokens: 以下のアプリケーションに対してあなたのユーザー名でトークンが許可されています。
       my_apps: クライアントアプリケーション
       my_tokens: 認証を許可したアプリケーション
       no_apps: OSMのサイトで使用するアプリケーションを新しく %{oauth} で登録するにはOAuthリクエストの前にあらかじめwebから登録しておく必要があります。
       register_new: アプリケーションの登録
-      revoke: 取消し
+      registered_apps: 以下のクライアントアプリケーションを登録しています。
+      revoke: 失効!
       title: OAuthの詳細
     new: 
       submit: 登録
@@ -1053,6 +1079,7 @@ ja:
       authorize_url: "承認URL:"
       edit: 詳細の編集
       key: "コンシューマーキー:"
+      secret: "コンシューマーシークレット:"
       title: "%{app_name} の OAuth 詳細"
       url: "リクエストトークンURL:"
     update: 
@@ -1094,7 +1121,8 @@ ja:
           centre: スポーツセンター
           commercial: 商業地域
           common: 
-            1: 牧草地
+            - 共有地
+            - 牧草地
           construction: 建設中の道路
           cycleway: 自転車道
           destination: 目的通行
@@ -1149,12 +1177,15 @@ ja:
     sidebar: 
       close: 閉じる
       search_results: 検索結果
+  time: 
+    formats: 
+      friendly: "%Y年 %B %e日 %H:%M"
   trace: 
     create: 
       trace_uploaded: GPX ファイルがアップロードされました。データベースへの登録に多少時間がかかります。通常この作業は30分ほどで完了し、そのことをお知らせするメールをあなたに送信します。
       upload_trace: GPS トレースのアップロード
     delete: 
-      scheduled_for_deletion: 削除予定のトラック
+      scheduled_for_deletion: トラックの削除準備を行いました
     edit: 
       description: "詳細:"
       download: ダウンロード
@@ -1179,7 +1210,7 @@ ja:
       tagged_with: "%{tags}でタグ付けされた"
       your_traces: あなたのGPSトレース
     make_public: 
-      made_public: 公開されたトラック
+      made_public: トラックを公開しました
     no_such_user: 
       body: "%{user} という名前のユーザは存在しません。スペルをチェックしてください。もしくはリンク元が誤っています。"
       heading: "%{user} というユーザは存在しません。"
@@ -1246,8 +1277,8 @@ ja:
       visibility: "可視性:"
     visibility: 
       identifiable: 識別可能 (トレースリストに公表していて、常に持ち主を識別可能な状態。点の順序がタイムスタンプ付きでわかる。)
-      private: プライベート (匿名でデータを共有する。点の順序もわからない。)
-      public: パブリック (トレースリストに公表する。匿名の状態では点の順序はわからない。)
+      private: 非公開 (匿名、順不同の点としての共有のみ)
+      public: 公開 (トレースリストに表示する。匿名の状態では点の順序はわからない。)
       trackable: 追跡可能  (匿名でのみ共有されるが、点の順序はタイムスタンプ付きでわかる。)
   user: 
     account: 
@@ -1274,6 +1305,7 @@ ja:
       new image: 画像を追加
       no home location: あなたはまだ活動地域を登録していません。
       openid: 
+        link text: これは何ですか?
         openid: OpenID:
       preferred editor: 優先エディタ:
       preferred languages: "言語設定:"
@@ -1329,6 +1361,7 @@ ja:
       login_button: ログイン
       lost password link: パスワードを忘れましたか?
       new to osm: OpenStreetMapは初めてですか?
+      notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">今後行う OpenStreetMap のライセンス変更についてお読みください</a> (<a href="http://wiki.openstreetmap.org/wiki/JA:ODbL/We_Are_Changing_The_License">翻訳</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">議論</a>)
       openid: "%{logo} OpenID:"
       openid invalid: 申し訳ありません、OpenID は不正な形式と思われます。
       openid missing provider: 申し訳ありません、OpenID プロバイダに接続できませんでした。
@@ -1357,7 +1390,6 @@ ja:
       remember: パスワードを記憶する。
       title: ログイン
       to make changes: OpenStreetMap データを変更するには、アカウントが必要です。
-      webmaster: ウェブマスター
       with username: 既に OpenStreetMap のアカウントをお持ちですか? ユーザー名とパスワードを入力してログインしてください:
     logout: 
       heading: OpenStreetMapからログアウトする
@@ -1392,6 +1424,7 @@ ja:
       openid: "%{logo} OpenID:"
       password: "パスワード:"
       terms accepted: 新しい投稿規約を承諾して頂き、ありがとうございます。
+      terms declined: 新しい投稿規約を承諾して頂けず残念です。詳しい情報は、<a href="%{url}">このウィキページ</a>をごらんください。
       title: アカウント作成
     no_such_user: 
       body: "%{user}. という名前のユーザは存在しません。スペルミスが無いかチェックしてください。もしくはリンク元が間違っています。"
@@ -1422,6 +1455,7 @@ ja:
       consider_pd: 私の投稿をパブリックドメインとします(著作権、著作隣接権を放棄し、著作人格権の行使を行いません)
       consider_pd_why: これは何ですか?
       decline: 拒否
+      guidance: この規約を理解するための情報として、<a href="%{summary}">要約(英語)</a> や <a href="%{translations}">非公式の翻訳</a> をごらんください。
       heading: 投稿規約(Contributor terms)
       legale_names: 
         france: フランス
@@ -1429,6 +1463,7 @@ ja:
         rest_of_world: それ以外の国
       legale_select: "お住まいの国もしくは地域を選択してください:"
       read and accept: 下記の同意書を読み、あなたの既存および将来の投稿のために本同意書の条項を承諾することを確認するために同意ボタンを押してください。
+      title: 投稿規約(Contributor terms)
     view: 
       activate_user: このユーザーを有効にする
       add as friend: 友達に追加
@@ -1437,17 +1472,22 @@ ja:
       confirm_user: このユーザーを確認する
       create_block: このユーザーをブロック
       created from: "作成日:"
+      ct accepted: "%{ago}前に承認"
+      ct declined: 拒否
+      ct status: "投稿規約:"
+      ct undecided: 未決定
       deactivate_user: このユーザーを無効にする
       delete_user: このユーザーを消す
       description: 詳細
       diary: 日記
       edits: 編集
       email address: 電子メールアドレス:
+      friends_changesets: 友達によるすべての変更セットを参照
       hide_user: このユーザーを隠す
       if set location: 活動地域を指定すると、この下に周辺の地図と、近くで活動するマッパーが表示されます。%{settings_link} から設定をしてください。
       km away: 距離 %{count}km
       latest edit: "最終編集 %{ago}:"
-      m away: 距離 %{count}メートル
+      m away: 距離 %{count}m
       mapper since: "マッパー歴:"
       my diary: 私の日記
       my edits: 私の編集
index d9573676dc8612b62711e19c57860f5c56bf32e6..50b8098037660c1acb03a51b7359b5c7c497a7aa 100644 (file)
@@ -294,7 +294,6 @@ ka:
       licence: ლიცენზია
       longitude: "გრძედი:"
       manually_select: სხვა რეგიონის გამოყოფა ხელით
-      mapnik_image: Mapnik–ის სურათი
       max: მაქს.
       options: პარამეტრები
       osm_xml_data: OpenStreetMap XML–ის მონაცემები
@@ -338,7 +337,7 @@ ka:
         uk_postcode: <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>–ის შედეგები
         us_postcode: <a href="http://geocoder.us/">Geocoder.us</a>–ის შედეგები
     search_osm_namefinder: 
-      suffix_place: ", %{მანძილი} %{მიმართულება} %{ადგილის დასახელება}–დან"
+      suffix_place: ", %{distance} %{direction} %{placename}–დან"
     search_osm_nominatim: 
       prefix: 
         amenity: 
index 7b0e90f971e47b35be8ba20c5e93207169a9925a..5d5b0ba1e4aeafad3eb999d77e4f0d202e6fa042 100644 (file)
@@ -184,6 +184,7 @@ lb:
     changesets: 
       area: Beräich
       comment: Bemierkung
+      saved_at: Gespäichert de(n)
       user: Benotzer
     list: 
       description: Rezent Ännerungen
@@ -214,8 +215,11 @@ lb:
       format: Format
       image_size: "Gréisst vum Bild:"
       licence: Lizenz
+      max: max
       options: Optiounen
       scale: Maassstab
+      too_large: 
+        heading: Beräich ze grouss
       zoom: Zoom
     start_rjs: 
       export: Exportéieren
@@ -296,6 +300,7 @@ lb:
           townhall: Stadhaus
           university: Universitéit
           vending_machine: Verkaafsautomat
+          veterinary: Déiereklinik
         building: 
           bunker: Bunker
           chapel: Kapell
@@ -333,6 +338,7 @@ lb:
           museum: Musée
           ruins: Ruinen
           tower: Tuerm
+          wreck: Wrack
         landuse: 
           cemetery: Kierfecht
           farm: Bauerenhaff
@@ -385,6 +391,7 @@ lb:
           town: Stad
           village: Duerf
         railway: 
+          abandoned: Fréier Eisebunn
           disused: Fréier Eisebunn
           station: Gare (Eisebunn)
           subway: Metro-Statioun
@@ -397,6 +404,7 @@ lb:
           chemist: Apdikt
           clothes: Kleedergeschäft
           dry_cleaning: Botzerei
+          fish: Fëschgeschäft
           florist: Fleurist
           furniture: Miwwelgeschäft
           gallery: Galerie
@@ -416,6 +424,7 @@ lb:
           chalet: Chalet
           hotel: Hotel
           information: Informatioun
+          motel: Motel
           museum: Musée
           picnic_site: Piknikplaz
           valley: Dall
@@ -428,6 +437,7 @@ lb:
           waterfall: Waasserfall
   javascripts: 
     site: 
+      edit_disabled_tooltip: Erazoomen fir d'Kaart z'änneren
       edit_tooltip: Kaart änneren
   layouts: 
     copyright: Copyright & Lizenz
@@ -435,6 +445,7 @@ lb:
     documentation_title: Dokumentatioun vum Projet
     donate_link_text: Don
     edit: Änneren
+    export: Exportéieren
     foundation: Fondatioun
     help: Hëllef
     home: Doheem
@@ -511,6 +522,7 @@ lb:
       footer1: Dir kënnt de Message och op %{readurl} liesen
       hi: Salut %{to_user},
     signup_confirm_html: 
+      greeting: Bonjour !
       more_videos: Et gëtt nach méi %{more_videos_link}.
       more_videos_here: méi Videoen hei
     signup_confirm_plain: 
@@ -520,6 +532,7 @@ lb:
       submit: Änneren
     form: 
       name: Numm
+      required: Obligatoresch
     new: 
       submit: Registréieren
     show: 
@@ -670,10 +683,14 @@ lb:
       login_button: Umellen
       lost password link: Hutt Dir Äert Passwuert vergiess?
       new to osm: Nei bäi OpenStreetMap?
+      openid_providers: 
+        google: 
+          title: Alogge mat Google
+        openid: 
+          title: Alogge mat OpenID
       password: "Passwuert:"
       register now: Elo aschreiwen
       title: Umellen
-      webmaster: Webmaster
     logout: 
       heading: Vun OpenStreetMap ofmellen
       logout_button: Ofmellen
@@ -763,11 +780,14 @@ lb:
   user_block: 
     blocks_by: 
       title: Späre vum %{name}
+    blocks_on: 
+      empty: "%{name} gouf bis elo nach net gespaart."
     edit: 
       back: All Späre weisen
       show: Dës Spär weisen
       submit: Spär aktualiséieren
     index: 
+      empty: Et goufe nach keng Späre gemaach.
       heading: Lëscht vu gespaarte Benotzer
       title: Benotzerspären
     new: 
@@ -778,16 +798,20 @@ lb:
       display_name: Gespaarte Benotzer
       edit: Änneren
       reason: Grond fir d'Spär
+      revoke: Ophiewen!
       show: Weisen
     period: 
       one: 1 Stonn
       other: "%{count} Stonnen"
+    revoke: 
+      revoke: Ophiewen!
     show: 
       back: All Späre weisen
       confirm: Sidd Dir sécher?
       edit: Änneren
       heading: "%{block_on} gespaart vum %{block_by}"
       reason: "Grond fir d'Spär:"
+      revoke: Ophiewen!
       show: Weisen
       title: "%{block_on} gespaart vum %{block_by}"
     update: 
@@ -797,7 +821,7 @@ lb:
       already_has_role: De Benotzer huet d'Roll %{role} schonn.
       doesnt_have_role: De Benotzer huet d'Roll %{role} net.
       not_a_role: D'Zeechen '%{role}' ass keng valabel Roll.
-      not_an_administrator: Nëmmen Adminstrateure kënnen d'Gstioun vun de Rolle maachen, an Dir sidd net Administrateur.
+      not_an_administrator: Nëmmen Administrateure kënnen d'Gestioun vun de Rolle maachen, an Dir sidd net Administrateur.
     grant: 
       are_you_sure: Sidd Dir sécher datt Dir dem Benotzer '%{name}' d'Roll '%{role}' zoudeele wëllt?
       confirm: Confirméieren
index 1b9351276fc24b692348fb715be18f10acf8644a..6b317d8071849d1b8700fb06d1b08d2ec15927d4 100644 (file)
@@ -386,11 +386,9 @@ lt:
       licence: Licencija
       longitude: "Ilg:"
       manually_select: Rankiniu būdu parinkti kitą sritį
-      mapnik_image: Mapnik vaizdas
       max: maksimalus
       options: Parinktys
       osm_xml_data: OpenStreetMap XML duomenys
-      osmarender_image: Osmarender vaizdas
       output: Rezultatas
       paste_html: Įkelkite šį HTML į svetainę
       scale: Mastelis
@@ -928,7 +926,6 @@ lt:
       people_mapping_nearby: netoliese žyminčiais naudotojais
       subject: Tema
       title: Gautieji
-      you_have: Jūs turite %{new_count} naujus pranešimus ir %{old_count} senus
     mark: 
       as_read: Pranešimas pažymėtas kaip skaitytas
       as_unread: Pranešimas pažymėtas kaip neskaitytas
@@ -964,7 +961,6 @@ lt:
       subject: Tema
       title: Išsiųstieji
       to: Kam
-      you_have_sent_messages: Jūs turite %{count} išsiųstų žinučių
     read: 
       back_to_inbox: Atgal į gautus
       back_to_outbox: Atgal į išsiųstus
index 25591bfd63964395913d3044384233bc2032584b..661b2d29b25800a965f2cd4fa002817e59bff588 100644 (file)
@@ -109,7 +109,7 @@ lv:
         node: Skatīt punktu lielākā kartē
         relation: Skatīt relāciju lielākā kartē
         way: Skatīt līniju lielākā kartē
-      loading: Notiek ielāde...
+      loading: Ielādē…
     navigation: 
       all: 
         next_changeset_tooltip: Nākošā izmaiņu kopa
@@ -179,7 +179,7 @@ lv:
       hide_areas: Paslēpt zonas
       history_for_feature: Vēsture [[feature]]
       load_data: Ielādēt datus
-      loading: Notiek ielāde...
+      loading: Ielādē…
       object_list: 
         back: Parādīt objektu sarakstu
         details: Sīkāka informācija
@@ -300,6 +300,8 @@ lv:
       older_entries: Vecāki ieraksti
       recent_entries: "Pēdējie dienasgrāmatas ieraksti:"
       title: Lietotāju dienasgrāmatas
+      title_friends: Draugu dienasgrāmatas
+      title_nearby: Tuvumā esošu lietotāju dienasgrāmatas
       user_title: "%{user} dienasgrāmata"
     location: 
       edit: Rediģēt
@@ -344,10 +346,8 @@ lv:
       licence: Licence
       longitude: "Garums:"
       manually_select: Manuāli izvēlēties citu teritoriju
-      mapnik_image: Mapnik attēls
       max: līdz
       osm_xml_data: OpenStreetMap XML dati
-      osmarender_image: Osmarender attēls
       output: Izvade
       scale: Mērogs
       too_large: 
@@ -365,6 +365,7 @@ lv:
     description: 
       title: 
         geonames: Atrašanās vieta no <a href="http://www.geonames.org/">GeoNames</a>
+        osm_nominatim: Atrašanās vieta no <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
       types: 
         cities: Pilsētas
         places: Vietas
@@ -444,6 +445,7 @@ lv:
           marketplace: Tirgus
           mountain_rescue: Kalnu glābēji
           nightclub: Naktsklubs
+          nursery: Pirmsskolas mācību iestāde
           nursing_home: Pansionāts
           office: Birojs
           park: Parks
@@ -519,6 +521,7 @@ lv:
           byway: Blakusceļš
           construction: Automaģistrāle būvniecības stadijā
           cycleway: Veloceliņš
+          distance_marker: Attāluma stabiņš
           emergency_access_point: Ārkārtas piekļuves punkts
           footway: Taka
           gate: Vārti
@@ -595,6 +598,7 @@ lv:
           wood: Mežs
         leisure: 
           beach_resort: Pludmales kūrorts
+          common: Koplietošanas zeme
           fishing: Zvejas apgabals
           garden: Dārzs
           golf_course: Golfa laukums
@@ -782,6 +786,10 @@ lv:
           waterfall: Ūdenskritums
           weir: Dambis
   javascripts: 
+    map: 
+      base: 
+        cycle_map: Velokarte
+        transport_map: Transporta karte
     site: 
       edit_tooltip: Rediģēt karti
   layouts: 
@@ -858,7 +866,6 @@ lv:
       people_mapping_nearby: cilvēkiem, kuri zīmē karti tavā apkaimē
       subject: Temats
       title: iesūtne
-      you_have: Jums ir %{new_count} jaunas ziņas un %{old_count} lasītas ziņas
     mark: 
       as_read: Ziņa atzīmēta kā lasīta
       as_unread: Ziņa atzīmēta kā nelasīta
@@ -893,7 +900,6 @@ lv:
       subject: Temats
       title: izsūtne
       to: Kam
-      you_have_sent_messages: Jums ir %{count} nosūtītās ziņas
     read: 
       back_to_inbox: Atpakaļ uz iesūtni
       back_to_outbox: Atpakaļ uz izsūtni
@@ -1036,7 +1042,8 @@ lv:
           admin: Administratīvā robeža
           allotments: Mazdārziņi
           apron: 
-            1: termināls
+            - Lidostas rampa
+            - termināls
           bridge: Tilts
           bridleway: Izjādes taka
           brownfield: Nekopta vieta
@@ -1049,7 +1056,8 @@ lv:
           centre: Sporta centrs
           commercial: Tirdzniecības zona
           common: 
-            1: Pļava
+            - Koplietošanas zeme
+            - Pļava
           construction: Ceļi būvniecības stadijā
           cycleway: Veloceliņš
           destination: Galamērķa pieeja
@@ -1096,7 +1104,8 @@ lv:
           wood: Pirmatnējs mežs
     search: 
       search: Meklēt
-      submit_text: Meklēt
+      search_help: "piemēri: 'Valmiera', 'Mazā kalna iela, Rīga', 'LV-1010' vai 'post offices near Liepāja' <a href='http://wiki.openstreetmap.org/wiki/Search'>vairāk piemēru...</a>"
+      submit_text: OK
       where_am_i: Kur es esmu?
       where_am_i_title: Aprakstiet pašreizējo atrašanās vietu izmantojot meklētāju
     sidebar: 
@@ -1256,7 +1265,6 @@ lv:
       remember: "Atcerēties mani:"
       title: Ieiet
       to make changes: Lai veiktu izmaiņas OpenStreetMap datos, jums jābūt savam kontam.
-      webmaster: webmaster
     logout: 
       heading: Iziet no OpenStreetMap
       logout_button: Iziet
@@ -1325,6 +1333,10 @@ lv:
       confirm_user: apstiprināt šo lietotāju
       create_block: bloķēt šo lietotāju
       created from: "Izveidota no:"
+      ct accepted: Akceptēts %{ago} iepriekš
+      ct declined: Noraidīti
+      ct status: "Dalībnieka noteikumi:"
+      ct undecided: Nav izlēmis
       deactivate_user: deaktivizēt šo lietotāju
       delete_user: dzēst šo lietotāju
       description: Apraksts
@@ -1395,7 +1407,10 @@ lv:
       confirm: Vai esat pārliecināts?
       edit: Rediģēt
       reason: "Bloķēšanas iemesls:"
+      show: Rādīt
       status: Statuss
   user_role: 
     grant: 
       confirm: Apstiprināt
+    revoke: 
+      confirm: Apstiprināt
index 7e03417b63eca9c4fd91ec8cc0b4f727abb9a0cd..2177edd504f7ba850d5cfcb54cb70f3ed424ed0a 100644 (file)
@@ -281,19 +281,33 @@ mk:
     list: 
       description: Скорешни промени
       description_bbox: Измени во рамките на %{bbox}
+      description_friend: Измени на ваши пријатели
+      description_nearby: Измени од соседни корисници
       description_user: Измени на %{user}
       description_user_bbox: Измени на %{user} во рамките на %{bbox}
       heading: Измени
       heading_bbox: Измени
+      heading_friend: Измени
+      heading_nearby: Измени
       heading_user: Измени
       heading_user_bbox: Измени
       title: Измени
       title_bbox: Измени во рамките на %{bbox}
+      title_friend: Измени на ваши пријатели
+      title_nearby: Измени од соседни корисници
       title_user: Измени на %{user}
       title_user_bbox: Измени на %{user} во рамките на %{bbox}
     timeout: 
       sorry: За жал, на списокот на измени што го побаравте му требаше предолго за да се преземе.
   diary_entry: 
+    comments: 
+      ago: пред %{ago}
+      comment: Коментар
+      has_commented_on: "%{display_name} коментираше на следниве дневнички записи"
+      newer_comments: Понови коментари
+      older_comments: Постари коментари
+      post: Објава
+      when: Кога
     diary_comment: 
       comment_from: Коментар од %{link_user}  во %{comment_created_at}
       confirm: Потврди
@@ -338,6 +352,8 @@ mk:
       older_entries: Постари ставки
       recent_entries: "Скорешни дневнички записи:"
       title: Дневници на корисници
+      title_friends: Дневници на пријателите
+      title_nearby: Дневници на соседните корисници
       user_title: Дневник на %{user}
     location: 
       edit: Уреди
@@ -385,11 +401,10 @@ mk:
       licence: Лиценца
       longitude: Г.Д.
       manually_select: Рачно изберете друга површина
-      mapnik_image: Mapnik-слика
+      map_image: Слика на картата (прикажува стандарден слој)
       max: макс.
       options: Нагодувања
       osm_xml_data: OpenStreetMap XML податоци
-      osmarender_image: Osmarender-слика
       output: Излезни податоци
       paste_html: Ископирајте го HTML кодот за да го вметнете во страницата.
       scale: Размер
@@ -725,7 +740,7 @@ mk:
           airport: Аеродром
           city: Град
           country: Земја
-          county: Ð\93Ñ\80оÑ\84овиÑ\98а
+          county: Ð\9eкÑ\80Ñ\83г
           farm: Фарма
           hamlet: Селце
           house: Куќа
@@ -887,6 +902,7 @@ mk:
       base: 
         cycle_map: Велосипедска карта
         mapquest: MapQuest Open
+        standard: Стандардна
         transport_map: Сообраќајна карта
     site: 
       edit_disabled_tooltip: Приближете за да ја уредите картата
@@ -910,7 +926,7 @@ mk:
     foundation: Фондација
     foundation_title: Фондацијата OpenStreetMap
     gps_traces: GPS-траги
-    gps_traces_tooltip: Работа со GPS траги
+    gps_traces_tooltip: Работа со GPS-траги
     help: Помош
     help_centre: Центар за помош
     help_title: Помошна страница за проектот
@@ -925,7 +941,7 @@ mk:
     intro_1: OpenStreetMap е слободна уредлива карта на целиот свет. Ја прават луѓе како вас.
     intro_2: OpenStreetMap ви овозможува да разгледувате, уредувате и користите гоеографски податоци на колаборативен начин од било кое место на Земјината топка.
     intro_3: Вдомувањето на OpenStreetMap го овозможија %{ucl}, %{ic} и %{bytemark}. Другите поддржувачи на проектот се наведени на %{partners}.
-    intro_3_bytemark: bytemark
+    intro_3_bytemark: Вдомување Bytemark
     intro_3_ic: Империјалниот колеџ - Лондон
     intro_3_partners: викито
     intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=mk
@@ -961,7 +977,7 @@ mk:
       english_link: англискиот оригинал
       text: Во случај на конфликт помеѓу оваа преведена страница и %{english_original_link}, предност има англиската страница
       title: За овој превод
-    legal_babble: "<h2>Авторски права и лиценца</h2>\n<p>\n   OpenStreetMap има <i>отворени податоци</i>, и е лиценциран со <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.mk\">Криејтив\n   комонс НаведиИзвор-СподелиПодИстиУслови 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Слободно можете да ги копирате, распространувате, јавно прикажувате и адаптирате нашите карти\n  и податоци, под услов да го наведете OpenStreetMap и неговите\n  учесници. Ако ги менувате или темелите дела врз нашите карти и податоци\n  резултатите можете да ги распространувате само под истата лиценца.\n  Во полниот <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">законски\n  правилник</a> се објаснети вашите права и должности.\n</p>\n\n<h3>Како да го наведувате OpenStreetMap</h3>\n<p>\n  Доколку користите слики од карти на OpenStreetMap, бараме\n  наводот да содржи барем &ldquo;&copy; Учесници на\n  OpenStreetMap, CC-BY-SA&rdquo;. Ако користите само податоци од картите,\n  бараме наводот да гласи &ldquo;Картографски податоци &copy; Учесници на OpenStreetMap,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Кадешто е можно, OpenStreetMap треба да има хиперврска <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  и CC-BY-SA до <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.mk\">http://creativecommons.org/licenses/by-sa/2.0/deed.mk</a>. Доколку\n  користите медиум кадешто не може да се ставаат врски (како на пр.\n  печатено издание), ви препорачуваме да ги наведете корисниците на\n  www.openstreetmap.org (на пр. со проширување на\n  &lsquo;OpenStreetMap&rsquo; со полнава адреса) и до\n  www.creativecommons.org.\n</p>\n\n<h3>Како да дознаете повеќе</h3>\n<p>\n  Прочитајте повеќе за користењето на нашите податоци на <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Правните\n  ЧПП</a>.\n</p>\n<p>\n  Учесниците во OSM се потсетуваат никогаш да не ставаат податоци од\n  извори заштитени со авторски права (на пр. Google Карти или печатени карти) без\n  јасна дозвола од имателите на авторските права.\n</p>\n<p>\n  Иако OpenStreetMap има отворени податоци, ние сепак не можеме бесплатно да \n  го нудиме картографскиот програм на развивачи кои се трети лица.\n\n  Погледајте ги нашите <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Правила на користење на програмот</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Правила на користење на полињата</a>\n  и <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Правила на користење на Nominatim</a>.\n</p>\n\n<h3>Нашите учесници</h3>\n<p>\n  Нашата лиценца CC-BY-SA бара да &ldquo;го наведете изворниот\n  автор разумно за медиумот или средството што го\n  користите&rdquo;. Поединечните картографи на OSM не бараат да\n  бидат наведувани посебно, туку само како &ldquo;Учесници на\n  OpenStreetMap&rdquo;, но онаму кадешто OpenStreetMap содржи податоци\n  од некоја државна картографска установа или друг важен извор,\n  веројатно би било разумно да ги наведете нив директно,\n  наведувајќи ги како што тие обично се наведуваат, или ставајќи врска до нивната страница.\n</p>\n\n<!--\nИнформации за уредниците на страници\n\nТука се наведени само оние организации кои бараат да бидат наведени\nкако предуслов за користење на нивните податоци на OpenStreetMap. Ова не е\nопшт каталог на увезени податоци, и не смее да се користи, освен кога\nсе бара навод за да се задоволат условите на лиценцата на увезените\nподатоци.\n\nСите дополнувања мора најпрвин да се продискутираат со систем-администраторите на OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Австралија</strong>: Содржи податоци за населби засновани на\n   податоци на Австралиската служба за статистика.</li>\n<li><strong>Австрија</strong>: Содржи податоци од\n   <a href=\"http://data.wien.gv.at/\">Град Виена</a> под лиценцата\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.mk\">CC-BY</a>.</li>\n   <li><strong>Канада</strong>: Содржи податоци од\n   GeoBase&reg;, GeoGratis (&copy; Министерство за природни ресурси\n   Канада), CanVec (&copy; Министерство за природни ресурси\n   Канада) и StatCan (Географско одделение,\n   Статистика Канада).</li>\n   <li><strong>Франција</strong>: Содржи податоци преземени од\n   Главната даночна управа.</li>\n   <li><strong>Нов Зеланд</strong>: Содржи податоци преземени од\n   Land Information New Zealand. Крунски авторски права задржани.</li>\n   <li><strong>Полска</strong>: Содржи податоци од <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL карти</a>. Авторски права на\n   учесниците на UMP-pcPL.</li>\n   <li><strong>Обединето Кралство</strong>: Содржи геодетски податоци\n   &copy; Крунски авторски права и права врз базата на податоци\n   2010.</li>\n</ul>\n\n<p>\n  Поставањето на податоци во OpenStreetMap не подразбира дека изворниот \n  добавувач на податоци го поддржува и застапува OpenStreetMap, дека дава било каква гаранција, или пак\n  дека прифаќа било каква одговорност.\n</p>"
+    legal_babble: "<h2>Авторски права и лиценца</h2>\n<p>\n   OpenStreetMap има <i>отворени податоци</i>, и е лиценциран со <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.mk\">Криејтив\n   комонс НаведиИзвор-СподелиПодИстиУслови 2.0</a> (CC BY-SA).\n</p>\n<p>\n  Слободно можете да ги копирате, распространувате, јавно прикажувате и адаптирате нашите карти\n  и податоци, под услов да го наведете OpenStreetMap и неговите\n  учесници. Ако ги менувате или темелите дела врз нашите карти и податоци\n  резултатите можете да ги распространувате само под истата лиценца.\n  Во полниот <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">законски\n  правилник</a> се објаснети вашите права и должности.\n</p>\n\n<h3>Како да го наведувате OpenStreetMap</h3>\n<p>\n  Доколку користите слики од карти на OpenStreetMap, бараме\n  наводот да содржи барем &ldquo;&copy; Учесници на\n  OpenStreetMap, CC BY-SA&rdquo;. Ако користите само податоци од картите,\n  бараме наводот да гласи &ldquo;Картографски податоци &copy; Учесници на OpenStreetMap,\n  CC BY-SA&rdquo;.\n</p>\n<p>\n  Кадешто е можно, OpenStreetMap треба да има хиперврска <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  и CC BY-SA до <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.mk\">http://creativecommons.org/licenses/by-sa/2.0/deed.mk</a>. Доколку\n  користите медиум кадешто не може да се ставаат врски (како на пр.\n  печатено издание), ви препорачуваме да ги наведете корисниците на\n  www.openstreetmap.org (на пр. со проширување на\n  &lsquo;OpenStreetMap&rsquo; со полнава адреса) и до\n  www.creativecommons.org.\n</p>\n\n<h3>Како да дознаете повеќе</h3>\n<p>\n  Прочитајте повеќе за користењето на нашите податоци на <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Правните\n  ЧПП</a>.\n</p>\n<p>\n  Учесниците во OSM се потсетуваат никогаш да не ставаат податоци од\n  извори заштитени со авторски права (на пр. Google Карти или печатени карти) без\n  јасна дозвола од имателите на авторските права.\n</p>\n<p>\n  Иако OpenStreetMap има отворени податоци, ние сепак не можеме бесплатно да \n  го нудиме картографскиот програм на развивачи кои се трети лица.\n\n  Погледајте ги нашите <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Правила на користење на програмот</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Правила на користење на полињата</a>\n  и <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Правила на користење на Nominatim</a>.\n</p>\n\n<h3>Нашите учесници</h3>\n<p>\n  Нашата лиценца CC BY-SA бара да &ldquo;го наведете изворниот\n  автор разумно за медиумот или средството што го\n  користите&rdquo;. Поединечните картографи на OSM не бараат да\n  бидат наведувани посебно, туку само како &ldquo;Учесници на\n  OpenStreetMap&rdquo;, но онаму кадешто OpenStreetMap содржи податоци\n  од некоја државна картографска установа или друг важен извор,\n  веројатно би било разумно да ги наведете нив директно,\n  наведувајќи ги како што тие обично се наведуваат, или ставајќи врска до нивната страница.\n</p>\n\n<!--\nИнформации за уредниците на страници\n\nТука се наведени само оние организации кои бараат да бидат наведени\nкако предуслов за користење на нивните податоци на OpenStreetMap. Ова не е\nопшт каталог на увезени податоци, и не смее да се користи, освен кога\nсе бара навод за да се задоволат условите на лиценцата на увезените\nподатоци.\n\nСите дополнувања мора најпрвин да се продискутираат со систем-администраторите на OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Австралија</strong>: Содржи податоци за населби засновани на\n   податоци на Австралиската служба за статистика.</li>\n<li><strong>Австрија</strong>: Содржи податоци од\n   <a href=\"http://data.wien.gv.at/\">Град Виена</a> под лиценцата\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.mk\">CC BY</a>.</li>\n   <li><strong>Канада</strong>: Содржи податоци од\n   GeoBase&reg;, GeoGratis (&copy; Министерство за природни ресурси\n   Канада), CanVec (&copy; Министерство за природни ресурси\n   Канада) и StatCan (Географско одделение,\n   Статистика Канада).</li>\n   <li><strong>Франција</strong>: Содржи податоци преземени од\n   Главната даночна управа.</li>\n   <li><strong>Нов Зеланд</strong>: Содржи податоци преземени од\n   Land Information New Zealand. Крунски авторски права задржани.</li>\n   <li><strong>Полска</strong>: Содржи податоци од <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL карти</a>. Авторски права на\n   учесниците на UMP-pcPL.\n  <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Повеќе за употребата на податоци од UMP во OSM</a></li>\n   <li><strong>ЈАР</strong>: Содржи податоци преземени од\n   <a href=\"http://www.ngi.gov.za/\">Главниот директорат:\n   Национални геопросторни информации</a>, Државни права задржани.</li>\n   <li><strong>Обединето Кралство</strong>: Податоци од Ordnance Survey \n   &copy; Крунски авторски права и права врз базата на податоци\n   2010.</li>\n</ul>\n\n<p>\n  Поставањето на податоци во OpenStreetMap не подразбира дека изворниот \n  добавувач на податоци го поддржува и застапува OpenStreetMap, дека дава било каква гаранција, или пак\n  дека прифаќа било каква одговорност.\n</p>"
     native: 
       mapping_link: почнете со изработка на карти
       native_link: македонската верзија
@@ -973,13 +989,19 @@ mk:
     inbox: 
       date: Датум
       from: Од
+      messages: Имате %{new_messages} и %{old_messages}
       my_inbox: Моето сандаче
+      new_messages: 
+        one: "%{count} нова порака"
+        other: "%{count} нови пораки"
       no_messages_yet: Сè уште немате пораки. Зошто не се поврзете со некој од %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} стара порака"
+        other: "%{count} стари пораки"
       outbox: за праќање
       people_mapping_nearby: картографите во вашата близина
       subject: Наслов
       title: Примени
-      you_have: Имате %{new_count} нови пораки и %{old_count} стари пораки
     mark: 
       as_read: Пораката е означена како прочитана
       as_unread: Пораката е означена како непрочитана
@@ -1008,6 +1030,9 @@ mk:
     outbox: 
       date: Датум
       inbox: примени пораки
+      messages: 
+        one: Имате %{count} испратена порака
+        other: Имате %{count} испратени пораки
       my_inbox: Моите %{inbox_link}
       no_sent_messages: Сè уште немате испратено пораки. Зошто да не исконтактирате некои %{people_mapping_nearby_link}?
       outbox: за праќање
@@ -1015,7 +1040,6 @@ mk:
       subject: Наслов
       title: За праќање
       to: До
-      you_have_sent_messages: Имате %{count} испратени пораки
     read: 
       back_to_inbox: Назад во добиени
       back_to_outbox: Назад во „за праќање“
@@ -1122,12 +1146,12 @@ mk:
       wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=MK%3AMain_Page&uselang=mk
   oauth: 
     oauthorize: 
-      allow_read_gpx: ви ги чита вашите приватни GPS траги.
+      allow_read_gpx: ви ги чита вашите приватни GPS-траги.
       allow_read_prefs: ви ги чита корисничките прилагодувања.
       allow_to: "Дозволи му на клиентскиот програм да:"
       allow_write_api: ја менува картата.
       allow_write_diary: создава ставки во дневникот, пишува коментари и да се спријателува.
-      allow_write_gpx: подига GPS траги.
+      allow_write_gpx: подига GPS-траги.
       allow_write_prefs: ги менува вашите кориснички прилагодувања.
       request_access: Програмскиот прилог %{app_name} бара пристап до вашата сметка, %{user}. Видете дали би сакале прилогот да ги има следните можности. Можете да одберете колку што сакате.
     revoke: 
@@ -1141,11 +1165,11 @@ mk:
       submit: Уреди
       title: Уредете ја апликацијата
     form: 
-      allow_read_gpx: им ги чита приватните GPS траги
+      allow_read_gpx: им ги чита приватните GPS-траги.
       allow_read_prefs: им ги чита корисничките прилагодувања.
       allow_write_api: ја менува картата.
       allow_write_diary: создава ставки во дневници, да коментира, и да се спријателува.
-      allow_write_gpx: подига GPS траги.
+      allow_write_gpx: подига GPS-траги.
       allow_write_prefs: им ги менува корисничките прилагодувања.
       callback_url: URL адреса за обратен одзив
       name: Име
@@ -1171,11 +1195,11 @@ mk:
       sorry: Нажалост, тој %{type} не е пронајден.
     show: 
       access_url: "URL адреса на пристапниот жетон:"
-      allow_read_gpx: им ги чита приватните GPS траги.
+      allow_read_gpx: им ги чита приватните GPS-траги.
       allow_read_prefs: им ги чита корисничките прилагодувања.
       allow_write_api: ја менува картата.
       allow_write_diary: прави ставки во дневници, да коментира и да се сптијателува.
-      allow_write_gpx: подига GPS траги.
+      allow_write_gpx: подига GPS-траги.
       allow_write_prefs: им ги менува корисничките прилагодувања.
       authorize_url: "Дозволи URL адреса:"
       edit: Детали од уредувањето
@@ -1295,7 +1319,7 @@ mk:
   trace: 
     create: 
       trace_uploaded: Вашата GPX податотека е подигната и чека да биде вметната во базата на податоци. Ова обично се врши во рок од половина час, и откога ќе заврши, ќе ви биде испратена порака по е-пошта.
-      upload_trace: Подигни GPS трага
+      upload_trace: Подигни GPS-трага
     delete: 
       scheduled_for_deletion: Трагата е закажана за бришење
     edit: 
@@ -1317,10 +1341,10 @@ mk:
       visibility_help: што значи ова?
       visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=mk
     list: 
-      public_traces: Јавни GPS траги
-      public_traces_from: Јавни GPS  траги од %{user}
+      public_traces: Јавни GPS-траги
+      public_traces_from: Јавни GPS-траги од %{user}
       tagged_with: "  означено со %{tags}"
-      your_traces: Ваши GPS траги
+      your_traces: Ваши GPS-траги
     make_public: 
       made_public: Трагата е објавена
     no_such_user: 
@@ -1400,6 +1424,7 @@ mk:
         agreed: Се согласивте на новите Услови за учество.
         agreed_with_pd: Исто така изјавивте дека вашите уредувања ги сметате за јавнодоменски.
         heading: "Услови за учество:"
+        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms?uselang=mk
         link text: што е ова?
         not yet agreed: Сè уште се немате согласено со новите Услови за учество.
         review link text: Проследете ја врската кога ќе сакате за да ги прегледате и прифатите новите Услови за учество
@@ -1475,8 +1500,8 @@ mk:
       summary_no_ip: "%{name} создадено на %{date}"
       title: Корисници
     login: 
+      account is suspended: Нажалост, вашата сметка е закочена поради сомнителна активност.<br />Обратете се кај <a href="%{webmaster}">раководителот</a> ако сакате да продискутирате за проблемот.
       account not active: Жалиме, но сметката сè уште не е активна.<br />Кликнете на врската наведена во пораката со која ви ја потврдуваме сметката за да ја активирате, или пак <a href="%{reconfirm}">побарајте нова потврдна порака</a>.
-      account suspended: Нажалост, вашата сметка е закочена поради сомнителна активност.<br />Обратете се кај %{webmaster} ако сакате да продискутирате за проблемот.
       auth failure: Жалиме, не можевме да ве најавиме со тие податоци.
       create account minute: Направете сметка. Ова трае само една минута.
       email or username: Е-пошта или корисничко име
@@ -1484,7 +1509,9 @@ mk:
       login_button: Најава
       lost password link: Ја заборавивте лозинката?
       new to osm: За новодојденци на OpenStreetMap
+      no account: Немате сметка?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Дознајте повеќе за престојната промена на лиценцата на OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">преводи</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">разговор</a>)
+      notice_terms: OpenStreetMap добива нова лиценца на 1 април 2012. Оваа лиценца е отворена исто како сегашната, но правните подробности се многу посоодветни на нашата картографска база на податоци. Со задоволство би ги задржале сите ваши придонеси на OpenStreetMap, но ова е можно само доколку согласувате да бидат објавени под условите на новата лиценца. Во спротивно ќе мораме да ги отстраниме од базата.<br /><br />Најавете се, прочитајте ги новите услови и видете дали се согласувате со нив. Ви благодариме!
       openid: "%{logo} OpenID:"
       openid invalid: Нажалост, вашиот OpenID е погрешно обликуван
       openid missing provider: Нажалост, не можев да се поврзам со вашиот добавувач на OpenID
@@ -1513,7 +1540,6 @@ mk:
       remember: "Запомни ме:"
       title: Најава
       to make changes: Мора да имате сметка за да можете да правите измени на податоците на OpenStreetMap.
-      webmaster: мреж. управник
       with openid: "Во друг случај, најавете се со вашиот OpenID:"
       with username: "Веќе имате сметка на OpenStreetMap? Најавете се со корисничкото име и лозинката:"
     logout: 
@@ -1585,6 +1611,7 @@ mk:
       agree: Се согласувам
       consider_pd: Покрај горенаведената согласност, сметам дека мојот придонес е јавнодоменски
       consider_pd_why: Што е ова?
+      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain?uselang=mk
       decline: Одбиј
       declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=mk
       guidance: "Информации што ќе ви помогнат да ги разберете овие услови: a <a href=\"%{summary}\">краток опис</a> и некои <a href=\"%{translations}\">неформали преводи</a>"
@@ -1604,16 +1631,23 @@ mk:
       block_history: погледај добиени блокови
       blocks by me: извршени болокови
       blocks on me: добиени блокови
+      comments: коментари
       confirm: Потврди
       confirm_user: потврди го корисников
       create_block: блокирај го корисников
       created from: "Создадено од:"
+      ct accepted: Прифатен пред %{ago} дена
+      ct declined: Одбиен
+      ct status: "Услови за учество:"
+      ct undecided: Неодлучено
       deactivate_user: деактивирај го корисников
       delete_user: избриши го корисников
       description: Опис
       diary: дневник
       edits: уредувања
       email address: Е-пошта
+      friends_changesets: Сите измени на пријателите
+      friends_diaries: Прелистување на сите дневнички записи на пријателите
       hide_user: скриј го корисников
       if set location: Ако ја наместите вашата местоположба, под ова ќе ви се појави убава карта и други работи. Матичната местоположба можете да си ја наместите на страницата %{settings_link}.
       km away: "%{count} км од вас"
@@ -1621,11 +1655,14 @@ mk:
       m away: "%{count} м од вас"
       mapper since: "Картограф од:"
       moderator_history: погледај добиени блокови
+      my comments: мои коментари
       my diary: мојот дневник
       my edits: мои уредувања
       my settings: мои прилагодувања
       my traces: мои траги
       nearby users: Други соседни корисници
+      nearby_changesets: Прелистување на сите измени на соседните корисници
+      nearby_diaries: Прелистување на сите дневнички записи на соседните корисници
       new diary entry: нова ставка во дневникот
       no friends: Сè уште немате додадено пријатели.
       no nearby users: Сè уште нема други корисници во вашата околина што признаваат дека работат на карти.
index 860ca3a5479d21e5427f0e1fb7ec565bd21254bf..78a9ef41c27e22cd9e7ceaa7461d970621f731a5 100644 (file)
@@ -55,9 +55,9 @@ ms:
       old_relation: Hubungan Lama
       old_relation_member: Anggota Hubungan Lama
       old_relation_tag: Tag Hubungan Lama
-      old_way: Arah Lama
-      old_way_node: Nod Arah Lama
-      old_way_tag: Tag Arah Lama
+      old_way: Jalan Lama
+      old_way_node: Nod Jalan Lama
+      old_way_tag: Tag Jalan Lama
       relation: Hubungan
       relation_member: Anggota Hubungan
       relation_tag: Tag Hubungan
@@ -68,9 +68,9 @@ ms:
       user: Pengguna
       user_preference: Keutamaan Pengguna
       user_token: Token Pengguna
-      way: Arah
-      way_node: Nod Arah
-      way_tag: Tag Arah
+      way: Jalan
+      way_node: Nod Jalan
+      way_tag: Tag Jalan
   application: 
     require_cookies: 
       cookies_needed: Nampaknya cookies anda belum dihidupkan - sila hidupkan cookies dalam pelayar anda, kemudian sambung.
@@ -95,7 +95,7 @@ ms:
       created_at: "Dibuat pada:"
       has_nodes: "Mempunyai %{count} nodus yang berikut:"
       has_relations: "Mempunyai %{count} hubungan yang berikut:"
-      has_ways: "Mempunyai %{count} arah yang berikut:"
+      has_ways: "Mempunyai %{count} jalan yang berikut:"
       no_bounding_box: Tiada petak pembatasan telah ditetapkan untuk set ubah ini.
       show_area_box: Tunjukkan Petak Kawasan
     common_details: 
@@ -115,23 +115,23 @@ ms:
         area: Sunting kawasan
         node: Sunting nod
         relation: Sunting hubungan
-        way: Sunting arah
+        way: Sunting jalan
       larger: 
         area: Lihat kawasan pada peta yang lebih besar
         node: Lihat nod pada peta yang lebih besar
         relation: Lihat hubungan pada peta yang lebih besar
-        way: Lihat arah pada peta yang lebih besar
+        way: Lihat jalan pada peta yang lebih besar
       loading: Memuatkan...
     navigation: 
       all: 
         next_changeset_tooltip: Set ubah berikutnya
         next_node_tooltip: Nod berikutnya
         next_relation_tooltip: Hubungan berikutnya
-        next_way_tooltip: Arah berikutnya
+        next_way_tooltip: Jalan berikutnya
         prev_changeset_tooltip: Set ubah sebelumnya
         prev_node_tooltip: Nod sebelumnya
         prev_relation_tooltip: Hubungan sebelumnya
-        prev_way_tooltip: Arah sebelumnya
+        prev_way_tooltip: Jalan sebelumnya
       user: 
         name_changeset_tooltip: Lihat suntingan oleh %{user}
         next_changeset_tooltip: Suntingan berikutnya oleh %{user}
@@ -158,7 +158,7 @@ ms:
         changeset: set ubah
         node: nod
         relation: hubungan
-        way: arah
+        way: jalan
     paging_nav: 
       of: daripada
       showing_page: Memaparkan laman
@@ -182,7 +182,7 @@ ms:
       type: 
         node: Nod
         relation: Hubungan
-        way: Arah
+        way: Jalan
     start: 
       manually_select: Pilih kawasan yang lain secara insani
       view_data: Lihat data untuk paparan peta semasa
@@ -206,14 +206,14 @@ ms:
         history: 
           type: 
             node: Nod [[id]]
-            way: Arah [[id]]
+            way: Jalan [[id]]
         selected: 
           type: 
             node: Nod [[id]]
-            way: Arah [[id]]
+            way: Jalan [[id]]
         type: 
           node: Nod
-          way: Arah
+          way: Jalan
       private_user: pengguna persendirian
       show_areas: Tunjukkan kawasan
       show_history: Tunjukkan Sejarah
@@ -232,26 +232,26 @@ ms:
         changeset: set ubah
         node: nod
         relation: hubungan
-        way: arah
+        way: jalan
     way: 
       download: "%{download_xml_link}, %{view_history_link} atau %{edit_link}"
       download_xml: Muat Turun XML
       edit: sunting
       view_history: lihat sejarah
-      way: Arah
-      way_title: "Arah: %{way_name}"
+      way: Jalan
+      way_title: "Jalan: %{way_name}"
     way_details: 
       also_part_of: 
-        one: juga sebahagian daripada arah %{related_ways}
-        other: juga sebahagian daripada arah-arah %{related_ways}
+        one: juga sebahagian daripada jalan %{related_ways}
+        other: juga sebahagian daripada jalan-jalan %{related_ways}
       nodes: "Nod:"
       part_of: "Sebahagian:"
     way_history: 
       download: "%{download_xml_link} atau %{view_details_link}"
       download_xml: Muat Turun XML
       view_details: lihat butiran
-      way_history: Sejarah Arah
-      way_history_title: "Sejarah Arah: %{way_name}"
+      way_history: Sejarah Jalan
+      way_history_title: "Sejarah Jalan: %{way_name}"
   changeset: 
     changeset: 
       anonymous: Tanpa nama
@@ -274,19 +274,33 @@ ms:
     list: 
       description: Perubahan terkini
       description_bbox: Set Ubah di dalam %{bbox}
+      description_friend: Set ubah oleh kawan anda
+      description_nearby: Set ubah pengguna berdekatan
       description_user: Set Ubah oleh %{user}
       description_user_bbox: Set Ubah oleh %{user} di dalam %{bbox}
       heading: Set Ubah
       heading_bbox: Set Ubah
+      heading_friend: Set Ubah
+      heading_nearby: Set ubah
       heading_user: Set Ubah
       heading_user_bbox: Set Ubah
       title: Set Ubah
       title_bbox: Set Ubah di dalam %{bbox}
+      title_friend: Set ubah oleh kawan anda
+      title_nearby: Set ubah pengguna berdekatan
       title_user: Set Ubah oleh %{user}
       title_user_bbox: Set Ubah oleh %{user} di dalam %{bbox}
     timeout: 
       sorry: Maaf, senarai set ubah yang anda pohon itu mengambil masa yang terlalu lama untuk diambil.
   diary_entry: 
+    comments: 
+      ago: "%{ago} lalu"
+      comment: Komen
+      has_commented_on: "%{display_name} mengulas tentang entri-entri diari yang berikut"
+      newer_comments: Komen Terbaru
+      older_comments: Komen Terlama
+      post: Hantar
+      when: Bila
     diary_comment: 
       comment_from: Ulasan %{link_user} terhadap %{comment_created_at}
       confirm: Sahkan
@@ -329,6 +343,8 @@ ms:
       older_entries: Catatan Terdahulu
       recent_entries: "Catatan diari terkini:"
       title: Diari pengguna
+      title_friends: Diari kawan
+      title_nearby: Diari pengguna berdekatan
       user_title: Diari %{user}
     location: 
       edit: Sunting
@@ -376,11 +392,10 @@ ms:
       licence: Lesen
       longitude: "GB:"
       manually_select: Pilih kawasan yang lain secara insani
-      mapnik_image: Imej Mapnik
+      map_image: Imej Peta (memaparkan paparan piawai)
       max: maks
       options: Pilihan
       osm_xml_data: Data XML OpenStreetMap
-      osmarender_image: Imej Osmarender
       output: Output
       paste_html: Tampalkan HTML untuk dibenamkan dalam tapak web
       scale: Skala
@@ -876,6 +891,7 @@ ms:
       base: 
         cycle_map: Peta Basikal
         mapquest: MapQuest Dibuka
+        standard: Piawai
         transport_map: Peta Pengangkutan
     site: 
       edit_disabled_tooltip: Zum dekat untuk menyunting peta
@@ -955,17 +971,19 @@ ms:
       title: Perihal laman ini
   message: 
     delete: 
-      deleted: Pesanan dibuang
+      deleted: Pesanan dihapuskan
     inbox: 
       date: Tarikh
       from: Daripada
+      messages: Anda ada %{new_messages} dan %{old_messages}
       my_inbox: Peti masuk saya
+      new_messages: "%{count} pesanan baru"
       no_messages_yet: Anda belum ada pesanan. Apa kata anda berhubung dengan %{people_mapping_nearby_link}?
+      old_messages: "%{count} pesanan lama"
       outbox: peti keluar
       people_mapping_nearby: pemeta-pemeta yang berdekatan
       subject: Subjek
       title: Peti Masuk
-      you_have: Anda mempunyai %{new_count} pesanan baru dan %{old_count} pesanan lama
     mark: 
       as_read: Pesanan ditandai sebagai sudah dibaca
       as_unread: Pesanan ditandai sebagai belum dibaca
@@ -994,6 +1012,7 @@ ms:
     outbox: 
       date: Tarikh
       inbox: Peti masuk
+      messages: Anda ada %{count} pesanan terhantar
       my_inbox: "%{inbox_link} saya"
       no_sent_messages: Anda belum menghantar pesanan. Apa kata anda berhubung dengan %{people_mapping_nearby_link}?
       outbox: peti keluar
@@ -1001,7 +1020,6 @@ ms:
       subject: Subjek
       title: Peti Keluar
       to: Kepada
-      you_have_sent_messages: Anda mempunyai %{count} pesanan terhantar
     read: 
       back_to_inbox: Kembali ke peti masuk
       back_to_outbox: Kembali ke peti keluar
@@ -1348,7 +1366,7 @@ ms:
       previous: "&laquo; Sebelumnya"
       showing_page: Memaparkan halaman %{page}
     view: 
-      delete_track: Hapsukan jejak ini
+      delete_track: Hapuskan jejak ini
       description: "Keterangan:"
       download: muat turun
       edit: sunting
@@ -1452,8 +1470,8 @@ ms:
       summary_no_ip: "%{name} diwujudkan pada %{date}"
       title: Pengguna
     login: 
+      account is suspended: Maaf, akaun anda digantung disebabkan perbuatan yang mencurigakan.<br />Sila hubungi <a href="%{webmaster}">pentadbir web</a> jika anda ingin membincangkan perkara ini.
       account not active: Maaf, akaun anda belum aktif.<br />Sila ikuti pautan dalam pesanan e-mel pengesahan akaun untuk menghidupkan akaun anda, atau <a href="%{reconfirm}">pohon pesanan e-mel pengesahan yang baru</a>.
-      account suspended: Maaf, akaun anda telah digantung disebabkan kegiatan.<br />Sila hubungi %{webmaster} jika anda ingin membincangkan perkara ini.
       auth failure: Maaf, log masuk tidak dapat dibenarkan dengan butiran-butiran itu.
       create account minute: Bukalah satu akaun. Seminit sahaja masa untuk membuatnya.
       email or username: "Alamat E-mel atau Nama Pengguna:"
@@ -1461,7 +1479,9 @@ ms:
       login_button: Log masuk
       lost password link: Lupa kata laluan anda?
       new to osm: Baru kenal OpenStreetMap?
+      no account: Belum buka akaun?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Ketahui lebih lanjut tentang perubahan lesen OpenStreetMap yang akan datang</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">terjemahan</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">perbincangan</a>)
+      notice_terms: OpenStreetMap akan beralih kepada lesen baru pada 1 April 2012. Ia sama terbukanya dengan lesen yang kami ada sekarang, cuma butiran undang-undangnya lebih sesuai dengan pangkalan data peta kami. Kami teringin untuk menyimpan sumbangan-sumbangan anda di OpenStreetMap, cuma asalkan anda membenarkan kami untuk mengedarkannya di bawah lesen baru itu. Jika tidak, kami terpaksa membuangnya daripada pangkalan data.<br /><br />Sila log masuk, kemudian luangkan sedikit masa untuk meneliti dan menerima syarat-syarat baru ini. Terima kasih!
       openid: "OpenID %{logo}:"
       openid invalid: Maaf, OpenID anda nampaknya tidak betul formatnya
       openid missing provider: Maaf, pembekal OpenID anda tidak dapat dihubungi
@@ -1490,7 +1510,6 @@ ms:
       remember: "Ingati saya:"
       title: Log masuk
       to make changes: Untuk membuat perubahan pada data OpenStreetMap, anda mesti mempunyai akaun.
-      webmaster: pentadbir web
       with openid: "Ataupun, sila gunakan OpenID anda untuk log masuk:"
       with username: "Sudah ada akaun OpenStreetMap? Sila log masuk dengan nama pengguna dan kata laluan anda:"
     logout: 
@@ -1579,16 +1598,23 @@ ms:
       block_history: lihat sekatan yang diterima
       blocks by me: sekatan oleh saya
       blocks on me: sekatan ke atas saya
+      comments: komen
       confirm: Sahkan
       confirm_user: sahkan pengguna ini
       create_block: sekat pengguna ini
       created from: "Dibuat daripada:"
+      ct accepted: Diterima %{ago} dahulu
+      ct declined: Ditolak
+      ct status: "Terma-terma penyumbang:"
+      ct undecided: Belum diputuskan
       deactivate_user: nyahaktifkan pengguna ini
       delete_user: hapuskan pengguna ini
       description: Keterangan
       diary: diari
       edits: suntingan
       email address: "Alamat e-mel:"
+      friends_changesets: Semak seimbas semua set ubah kawan-kawan
+      friends_diaries: Semak seimbas semua catatan diari kawan-kawan
       hide_user: sorokkan pengguna ini
       if set location: Jika anda menetapkan lokasi anda, peta yang cantik dan sebagainya akan muncul di sini. Anda boleh menetapkan lokasi rumah anda di laman %{settings_link} anda.
       km away: "%{count}km jauhnya"
@@ -1596,11 +1622,14 @@ ms:
       m away: "%{count}m jauhnya"
       mapper since: "Pemeta sejak:"
       moderator_history: lihat sekatan yang dikenakan
+      my comments: komen saya
       my diary: diari saya
       my edits: suntingan saya
       my settings: tetapan saya
       my traces: jejak saya
       nearby users: Pengguna lain yang berdekatan
+      nearby_changesets: Semak seimbas semua set ubah pengguna berdekatan
+      nearby_diaries: Semak seimbas semua catatan diari pengguna berdekatan
       new diary entry: catatan diari baru
       no friends: Anda belum mencari kawan lagi.
       no nearby users: Belum ada pengguna lain yang mengaku memetakan kawasan berdekatan.
index 8b6e27ceeeb196621505a7729713c92c3fdabf81..36dd505a4a54a2162ef514d18b85febcdf9f4e1b 100644 (file)
@@ -1,15 +1,14 @@
-# Messages for Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Messages for Norwegian Bokmål (‪Norsk (bokmål)‬)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
 # Author: Event
 # Author: Gustavf
 # Author: Hansfn
-# Author: Jon Harald Søby
 # Author: Laaknor
 # Author: Nghtwlkr
 # Author: Oyvind
 # Author: The real emj
-"nb"
+nb
   activerecord: 
     attributes: 
       diary_comment: 
     list: 
       description: Siste endringer
       description_bbox: Endringssett innenfor %{bbox}
+      description_friend: Endringssett av dine venner
       description_user: Endringssett av %{user}
       description_user_bbox: Endringssett av %{user} innen %{bbox}
       heading: Endringssett
       heading_bbox: Endringssett
+      heading_friend: Endringssett
       heading_user: Endringssett
       heading_user_bbox: Endringssett
       title: Endringssett
       title_bbox: Endringssett innenfor %{bbox}
+      title_friend: Endringssett av dine venner
       title_user: Endringssett av %{user}
       title_user_bbox: Endringssett av %{user} innen %{bbox}
     timeout: 
       licence: Lisens
       longitude: "Len:"
       manually_select: Velg et annet område manuelt
-      mapnik_image: Mapnik-bilde
       max: maks
       options: Valg
       osm_xml_data: OpenStreetMap XML-data
-      osmarender_image: Osmarender-bilde
       output: Utdata
       paste_html: Lim inn HTML som skal bygges inn i nettsted
       scale: Skala
     map: 
       base: 
         cycle_map: Sykkelkart
-        mapnik: Mapnik
         mapquest: MapQuest Open
-        osmarender: Osmarender
         transport_map: Transport-kart
       overlays: 
         maplint: Maplint
       people_mapping_nearby: folk i nærheten som lager kart
       subject: Emne
       title: Innboks
-      you_have: Du har %{new_count} ny meldinger og %{old_count} gamle meldinger
     mark: 
       as_read: Melding markert som lest
       as_unread: Melding markert som ulest
       subject: Emne
       title: Utboks
       to: Til
-      you_have_sent_messages: Du har sendt %{count} meldinger
     read: 
       back_to_inbox: Tilbake til innboks
       back_to_outbox: Tilbake til utboks
       title: Brukere
     login: 
       account not active: Beklager, kontoen din er ikke aktivert ennå.<br />Bruk lenka i kontobekreftelseseposten for å aktivere kontoen din, eller <a href="%{reconfirm}">be om en ny bekreftelsesepost</a>.
-      account suspended: Beklager, kontoen din er deaktivert på grunn av mistenkelig aktivitet.<br />Vennligst kontakt %{webmaster} hvis du ønsker å diskutere dette.
       auth failure: Beklager, kunne ikke logge inn med den informasjonen
       create account minute: Opprett en konto. Det tar bare ett minutt.
       email or username: "E-postadresse eller brukernavn:"
       lost password link: Mistet passordet ditt?
       new to osm: Ny på OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Finn ut mer om OpenStreetMap sitt kommende bytte av lisens</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">oversettelser</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskusjon</a>)
+      notice_terms: OpenStreetMap bytter til en ny lisens den 1. april 2012. Denne er akkurat så åpen som den nåværende, men de juridiske delene er mye bedre tilpasset vår kartdatabase. Vi ønsker å kunne fortsette å beholde dine bidrag til OpenStreetMap, men vi kan bare gjøre det hvis du er enig med oss i å distribuere dem under den nye lisensen. Ellers må vi fjerne dem fra databasen.<br /><br />Vennligst logg inn, og bruk noen sekunder på å gå igjennom og akseptere de nye betingelsene. Takk!
       openid: "%{logo} OpenID:"
       openid invalid: Beklager, din OpenID ser ut til å være dårlig formatert
       openid missing provider: Beklager, fikk ikke kontakt med din OpenID-leverandør
       remember: "Huske meg:"
       title: Logg inn
       to make changes: For å gjøre endringer på OpenStreetMap-data, må du ha en konto.
-      webmaster: webmaster
       with openid: "Alternativt kan du bruke din OpenID for å logge inn:"
       with username: "Har du allerede en OpenStreetMap-konto? Logg inn med brukernavnet og passordet ditt:"
     logout: 
       confirm_user: bekreft denne brukeren
       create_block: blokker denne brukeren
       created from: "Opprettet fra:"
+      ct accepted: Akseptert %{ago} siden
+      ct declined: Avslått
+      ct status: "Bidragsyters vilkår:"
+      ct undecided: Usikker
       deactivate_user: deaktiver denne brukeren
       delete_user: slett denne brukeren
       description: Beskrivelse
       diary: dagbok
       edits: redigeringer
       email address: "E-postadresse:"
+      friends_changesets: Bla gjennom alle endringssett av venner
       hide_user: skjul denne brukeren
       if set location: Hvis du setter din posisjon, så vil et fint kart og ting vises her. Du kan sette din hjemmeposisjon på din %{settings_link}-side.
       km away: "%{count}km unna"
index e69a9e472e8bb042056623a53e2019cd70568497..52ccde65c4849f80753fc1f72d557c003abde1da 100644 (file)
@@ -201,9 +201,7 @@ nds:
       latitude: "Breed:"
       licence: Lizenz
       longitude: "Läng:"
-      mapnik_image: Mapnik-Bild
       max: max.
-      osmarender_image: Osmarender-Bild
       output: Utgaav
       scale: Skaal
       zoom: Zoom
index cac1ea41613cab76bd4342492eaf5e201ac8bb44..72b24d39c708d2a8d5ca6b6664713265c82ac2fb 100644 (file)
@@ -276,7 +276,7 @@ ne:
     reset_password: 
       confirm password: "प्रवेशशव्द निश्चित गर्ने:"
       flash changed: तपाईको प्रवेशशव्द परिवर्तन गरिएको छ।
-      heading: " %{name}को लागि प्रवेशशव्द परिवर्तन गर्ने \\"
+      heading: " %{user}को लागि प्रवेशशव्द परिवर्तन गर्ने \\"
       password: "प्रवेशशव्द:"
       reset: नयाँ प्रवेशशव्द \
       title: प्रवेशशव्द परिवर्तन गर्ने
index 55d45cd907cc65b9267662aa91d20d97bc56914f..9254be29e88c163a85c0001dbc5f135596936890 100644 (file)
@@ -166,7 +166,7 @@ nl:
       node_history_title: "Nodegeschiedenis: %{node_name}"
       view_details: details weergeven
     not_found: 
-      sorry: Sorry, de %{type} met id %{id} kan niet worden gevonden.
+      sorry: De %{type} met id %{id} kan niet worden gevonden.
       type: 
         changeset: set wijzigingen
         node: node
@@ -202,8 +202,8 @@ nl:
     start_rjs: 
       data_frame_title: Gegevens
       data_layer_name: Gegevens
-      details: Details
-      drag_a_box: Sleep een rechthoek op de kaart om een gebied te selecteren
+      details: Gegevens
+      drag_a_box: Teken een rechthoek op de kaart om een gebied te selecteren
       edited_by_user_at_timestamp: Bewerkt door [[user]] op [[timestamp]]
       hide_areas: Gebieden verbergen
       history_for_feature: Geschiedenis voor [[feature]]
@@ -271,7 +271,7 @@ nl:
       big_area: (groot)
       no_comment: (geen)
       no_edits: (geen bewerkingen)
-      show_area_box: toon rechthoek
+      show_area_box: rechthoek weergeven
       still_editing: (nog aan het bewerken)
       view_changeset_details: Details wijzigingenset weergeven
     changeset_paging_nav: 
@@ -287,30 +287,44 @@ nl:
     list: 
       description: Recente wijzigingen
       description_bbox: Wijzigingensets binnen %{bbox}
+      description_friend: Wijzigingensets van uw vrienden
+      description_nearby: Wijzigingensets door nabijgelegen gebruikers
       description_user: Wijzigingensets door %{user}
       description_user_bbox: Wijzigingensets door %{user} binnen %{bbox}
       heading: Wijzigingensets
       heading_bbox: Wijzigingensets
+      heading_friend: Wijzigingensets
+      heading_nearby: Wijzigingensets
       heading_user: Wijzigingensets
       heading_user_bbox: Wijzigingensets
       title: Wijzigingensets
       title_bbox: Wijzigingensets binnen %{bbox}
+      title_friend: Wijzigingensets van uw vrienden
+      title_nearby: Wijzigingensets door de nabijgelegen gebruikers
       title_user: Wijzigingensets door %{user}
       title_user_bbox: Wijzigingensets door %{user} binnen %{bbox}
     timeout: 
       sorry: Het duurde te lang om de lijst met wijzigingensets die u hebt opgevraagd op te halen.
   diary_entry: 
+    comments: 
+      ago: "%{ago} geleden"
+      comment: Opmerking
+      has_commented_on: "%{display_name} heeft gereageerd op het volgende dagboekbericht"
+      newer_comments: Latere opmerkingen
+      older_comments: Eerder opmerkingen
+      post: Opslaan
+      when: Wanneer
     diary_comment: 
-      comment_from: Reactie van %{link_user}  op %{comment_created_at}
+      comment_from: Reactie van %{link_user} op %{comment_created_at}
       confirm: Bevestigen
       hide_link: Opmerking verbergen
     diary_entry: 
       comment_count: 
-        one: 1 reactie
+        one: één reactie
         other: "%{count} reacties"
       comment_link: Reactie plaatsen bij dit bericht
       confirm: Bevestigen
-      edit_link: Dit bericht bewerken
+      edit_link: Bericht bewerken
       hide_link: Bericht verbergen
       posted_by: Geplaatst door %{link_user} op %{created} in het %{language_link}
       reply_link: Reageren op dit bericht
@@ -344,6 +358,8 @@ nl:
       older_entries: Oudere berichten
       recent_entries: "Recente dagboekberichten:"
       title: Gebruikersdagboeken
+      title_friends: Dagboeken van vrienden
+      title_nearby: Dagboeken van nabijgelegen gebruikers
       user_title: Dagboek van %{user}
     location: 
       edit: Bewerken
@@ -352,11 +368,11 @@ nl:
     new: 
       title: Nieuw dagboekbericht
     no_such_entry: 
-      body: Sorry, er is geen dagboekbericht of opmerking met het id %{id}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
+      body: Er is geen dagboekbericht of opmerking met het id %{id}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
       heading: Een bericht met id %{id} bestaat niet
       title: Het opgevraagde dagboekbericht bestaat niet
     no_such_user: 
-      body: Sorry, er is geen gebruiker met de naam %{user}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
+      body: Er is geen gebruiker met de naam %{user}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
       heading: De gebruiker %{user} bestaat niet
       title: Deze gebruiker bestaat niet
     view: 
@@ -391,11 +407,10 @@ nl:
       licence: Licentie
       longitude: "Lengte:"
       manually_select: Handmatig een ander gebied selecteren
-      mapnik_image: Mapnik-afbeelding
+      map_image: Kaartafbeelding (geeft de standaard laag weer)
       max: max
       options: Opties
       osm_xml_data: OpenStreetMap XML-gegevens
-      osmarender_image: Osmarender-afbeelding
       output: Uitvoer
       paste_html: Kopieer de HTML-code en voeg deze toe aan uw website
       scale: Schaal
@@ -891,6 +906,7 @@ nl:
       base: 
         cycle_map: Fietskaart
         mapquest: MapQuest Open
+        standard: Standaard
         transport_map: Transport Map
     site: 
       edit_disabled_tooltip: Zoom in om de kaart te bewerken
@@ -913,7 +929,7 @@ nl:
     export_tooltip: Kaartgegevens exporteren
     foundation: Stichting
     foundation_title: De OpenStreetMap Foundation
-    gps_traces: GPS-tracks
+    gps_traces: GPS-traces
     gps_traces_tooltip: GPS-tracks beheren
     help: Hulp
     help_centre: Helpcentrum
@@ -923,7 +939,7 @@ nl:
     home_tooltip: Naar thuislocatie gaan
     inbox: Postvak IN (%{count})
     inbox_tooltip: 
-      one: Uw Postvak IN bevat 1 ongelezen bericht
+      one: Uw Postvak IN bevat één ongelezen bericht
       other: Uw Postvak IN bevat %{count} ongelezen berichten
       zero: Uw Postvak IN bevat geen nieuwe berichten
     intro_1: OpenStreetMap is een vrij bewerkbare kaart van de hele wereld. Hij wordt gemaakt door mensen zoals u.
@@ -961,7 +977,7 @@ nl:
       english_link: Engelstalige origineel
       text: In het geval deze taalversie en het %{english_original_link} elkaar tegenspreken, hebben de bepalingen op de Engelstalige pagina voorrang.
       title: Over deze vertaling
-    legal_babble: "<h2>Auteursrechten en licentie</h2>\n<p>\n   OpenStreetMap is <i>open data</i>, gelicenceerd onder de licentie <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Naamsvermelding-Gelijk delen 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Het staat u vrij onze kaarten en gegevens te kopieren, te distribueren,\n  weer te geven en aan te passen, zo lang als u OpenStreetMap en haar\n  auteurs vermeldt. Als u onze kaarten of gegevens wijzigt of erop verder bouwt,\n  mag u de resultaten onder dezelfde licentie distribueren. In de\n  volledige <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">juridische\n  tekst</a> worden uw rechten en verantwoordelijkheden uitgelegd.\n</p>\n\n<h3>Hoe OpenStreetMap te vermelden</h3>\n<p>\n  Als u kaartmateriaal van OpenStreetMap gebruikt, vragen we u als\n  naamsvermelding tenminste op te nemen &ldquo;&copy; OpenStreetMap-auteurs, CC-BY-SA&rdquo;.\n  Als u alleen kaartgegevens gebruikt, vragen we u te vermelden\n  &ldquo;Kaartgegevens &copy; OpenStreetMap-auteurs,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Waar mogelijk moet u verwijzen naar OpenStreetMap met een hyperlink naar <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  en CC-BY-SA naar <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Als\n  u een medium gebruikt waarin u niet met hyperlinks kunt verwijzen (bijvoorbeeld in\n  drukwerk), dan verzoeken we u uw lezers te verwijzen naar \n  www.openstreetmap.org (wellicht door \n  &lsquo;OpenStreetMap&rsquo; uit te schrijven als het complete webadres) en naar\n  www.creativecommons.org.\n</p>\n\n<h3>Meer informatie</h3>\n<p>\n  U kunt meer lezen over onze gegevens in de <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Veel gestelde juridische\n  vragen</a>.\n</p>\n<p>\n  OSM-auteurs worden er continu aan herinnerd nooit gebruik te maken van enige\n  auteursrechtelijk beschermde bron (zoals bijvoorbeeld Google Maps of gedrukte kaarten) zonder\n  expliciete toestemming van de auteursrechthebbenden.\n</p>\n<p>\n  Hoewel OpenStreetMap open data is, kunnen we niet om niet een kaart-API\n  ter beschikking stellen voor ontwikkelaars van derde partijen.\n\n  Zie ons <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">API-gebruiksbeleid</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Kaartgebruikbeleid</a>\n  en <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Nominatimgebruiksbeleid</a>.\n</p>\n\n<h3>Onze gegevensleveranciers</h3>\n<p>\n  Door onze CC-BY-SA-licentie moet u &ldquo;de Originele auteur\n  vermelden op een redelijke wijze voor het door U gebruikte medium&rdquo;.\n  Individuele OSM-mappers vragen niet om meer vermelding dan\n  &ldquo;OpenStreetMap-auteurs&rdquo;, maar daar waar gegevens van\n  een nationaal kaartenbureau afkomstig zijn of van een andere belangrijke\n  bron, en opgenomen in OpenStreetMap, kan het redelijk zijn om\n  die bron direct te vermelden of door naar deze pagina te verwijzen.\n</p>\n\n<!--\nInformatie voor paginabewerkers\n\nIn de volgende lijst zijn alleen organisaties opgenomen die\nvermelding vereisen bij opname van hun gegevens in OpenStreetMap.\nHet is geen algeheel overzicht van geïmporteerde gegevens en mag\nniet gebruikt worden, tenzij naamsvermelding verplicht is om te\nvoldoen aan de licentie van de geïmporteerde gegevens.\n\nToevoegingen op deze plaats moeten eerst met OSM-beheerders\noverlegd worden.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australië</strong>: Bevat wijkgegevens\n   gebaseerd op gegevens van het Australian Bureau of Statistics.</li>\n   <li><strong>Austria</strong>: Bevat gegevens van de\n   <a href=\"http://data.wien.gv.at/\">Stad Wenen</a> onder\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canada</strong>: Bevat gegevens van\n   GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), en StatCan (Geography Division,\n   Statistics Canada).</li>\n  <li><strong>Polen</strong>: Bevat gegevens van <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Auteursrechten\n   UMP-pcPL-delnemers.</li>\n   <li><strong>Frankrijk</strong>: Bevat gegevens van\n   Direction Générale des Impôts.</li>\n   <li><strong>Nieuw-Zeeland</strong>: Bevat gegevens van\n   Land Information New Zealand. Crown Copyright voorbehouden.</li>\n   <li><strong>Verenigd Koninkrijk</strong>: Bevat gegevens van\n   de Ordnance Survey &copy; Crown Copyright en  databaserechten\n   2010.</li>\n</ul>\n\n<p>\n  Opname van gegevens in OpenStreetMap betekent niet dat de originele\n  gegevensverstrekker OpenStreetMap ondersteunt, enige vorm van garantie geeft, of\n  aansprakelijkheid aanvaardt.\n</p>"
+    legal_babble: "<h2>Auteursrechten en licentie</h2>\n<p>\n   OpenStreetMap is <i>open data</i>, gelicenceerd onder de licentie <a\n   href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Naamsvermelding-Gelijk delen 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Het staat u vrij onze kaarten en gegevens te kopieren, te distribueren,\n  weer te geven en aan te passen, zo lang als u OpenStreetMap en haar\n  auteurs vermeldt. Als u onze kaarten of gegevens wijzigt of erop verder bouwt,\n  mag u de resultaten onder dezelfde licentie distribueren. In de\n  volledige <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">juridische\n  tekst</a> worden uw rechten en verantwoordelijkheden uitgelegd.\n</p>\n\n<h3>Hoe OpenStreetMap te vermelden</h3>\n<p>\n  Als u kaartmateriaal van OpenStreetMap gebruikt, vragen we u als\n  naamsvermelding tenminste op te nemen &ldquo;&copy; OpenStreetMap-auteurs, CC-BY-SA&rdquo;.\n  Als u alleen kaartgegevens gebruikt, vragen we u te vermelden\n  &ldquo;Kaartgegevens &copy; OpenStreetMap-auteurs,\n  CC-BY-SA&rdquo;.\n</p>\n<p>\n  Waar mogelijk moet u verwijzen naar OpenStreetMap met een hyperlink naar <a\n  href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  en CC-BY-SA naar <a\n  href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Als\n  u een medium gebruikt waarin u niet met hyperlinks kunt verwijzen (bijvoorbeeld in\n  drukwerk), dan verzoeken we u uw lezers te verwijzen naar \n  www.openstreetmap.org (wellicht door \n  &lsquo;OpenStreetMap&rsquo; uit te schrijven als het complete webadres) en naar\n  www.creativecommons.org.\n</p>\n\n<h3>Meer informatie</h3>\n<p>\n  U kunt meer lezen over onze gegevens in de <a\n  href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Veel gestelde juridische\n  vragen</a>.\n</p>\n<p>\n  OSM-auteurs worden er continu aan herinnerd nooit gebruik te maken van enige\n  auteursrechtelijk beschermde bron (zoals bijvoorbeeld Google Maps of gedrukte kaarten) zonder\n  expliciete toestemming van de auteursrechthebbenden.\n</p>\n<p>\n  Hoewel OpenStreetMap open data is, kunnen we niet om niet een kaart-API\n  ter beschikking stellen voor ontwikkelaars van derde partijen.\n\n  Zie ons <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">API-gebruiksbeleid</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Kaartgebruikbeleid</a>\n  en <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Nominatimgebruiksbeleid</a>.\n</p>\n\n<h3>Onze gegevensleveranciers</h3>\n<p>\n  Door onze CC-BY-SA-licentie moet u &ldquo;de Originele auteur\n  vermelden op een redelijke wijze voor het door U gebruikte medium&rdquo;.\n  Individuele OSM-mappers vragen niet om meer vermelding dan\n  &ldquo;OpenStreetMap-auteurs&rdquo;, maar daar waar gegevens van\n  een nationaal kaartenbureau afkomstig zijn of van een andere belangrijke\n  bron, en opgenomen in OpenStreetMap, kan het redelijk zijn om\n  die bron direct te vermelden of door naar deze pagina te verwijzen.\n</p>\n\n<!--\nInformatie voor paginabewerkers\n\nIn de volgende lijst zijn alleen organisaties opgenomen die\nvermelding vereisen bij opname van hun gegevens in OpenStreetMap.\nHet is geen algeheel overzicht van geïmporteerde gegevens en mag\nniet gebruikt worden, tenzij naamsvermelding verplicht is om te\nvoldoen aan de licentie van de geïmporteerde gegevens.\n\nToevoegingen op deze plaats moeten eerst met OSM-beheerders\noverlegd worden.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australië</strong>: Bevat wijkgegevens\n   gebaseerd op gegevens van het Australian Bureau of Statistics.</li>\n   <li><strong>Austria</strong>: Bevat gegevens van de\n   <a href=\"http://data.wien.gv.at/\">Stad Wenen</a> onder\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n   <li><strong>Canada</strong>: Bevat gegevens van\n   GeoBase&reg;, GeoGratis (&copy; Department of Natural\n   Resources Canada), CanVec (&copy; Department of Natural\n   Resources Canada), en StatCan (Geography Division,\n   Statistics Canada).</li>\n  <li><strong>Polen</strong>: Bevat gegevens van <a\n   href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Auteursrechten\n   UMP-pcPL-deelnemers.</li>\n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Meer over hoe OSM UMP-gegevens gebruikt</a></li>\n   <li><strong>Zuid-Afrika</strong>: Bevat gegevens afkomstig uit\n   <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, auteursrechten voor de Staat voorbehouden.</li>\n   <li><strong>Frankrijk</strong>: Bevat gegevens van\n   Direction Générale des Impôts.</li>\n   <li><strong>Nieuw-Zeeland</strong>: Bevat gegevens van\n   Land Information New Zealand. Crown Copyright voorbehouden.</li>\n   <li><strong>Verenigd Koninkrijk</strong>: Bevat gegevens van\n   de Ordnance Survey &copy; Crown Copyright en  databaserechten\n   2010.</li>\n</ul>\n\n<p>\n  Opname van gegevens in OpenStreetMap betekent niet dat de originele\n  gegevensverstrekker OpenStreetMap ondersteunt, enige vorm van garantie geeft, of\n  aansprakelijkheid aanvaardt.\n</p>"
     native: 
       mapping_link: gaan mappen
       native_link: Nederlandstalige versie
@@ -973,13 +989,19 @@ nl:
     inbox: 
       date: Datum
       from: Van
+      messages: U hebt %{new_messages} en %{old_messages}
       my_inbox: Mijn Postvak IN
+      new_messages: 
+        one: "%{count} nieuw bericht"
+        other: "%{count} nieuwe berichten"
       no_messages_yet: U hebt nog geen berichten. Waarom legt u geen contact met %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} oud bericht"
+        other: "%{count} oude berichten"
       outbox: Postvak UIT
       people_mapping_nearby: dichtbijzijnde mappers
       subject: Onderwerp
       title: Postvak IN
-      you_have: U hebt %{new_count} nieuwe berichten en %{old_count} oude berichten
     mark: 
       as_read: Gemarkeerd als gelezen
       as_unread: Gemarkeerd als ongelezen
@@ -994,7 +1016,7 @@ nl:
       limit_exceeded: U hebt recentelijk veel berichten verstuurd. Wacht even voordat u weer berichten kunt versturen.
       message_sent: Bericht verzonden
       send_button: Verzenden
-      send_message_to: Een persoonlijk bericht naar %{name} versturen
+      send_message_to: Een persoonlijk bericht naar %{name} verzenden
       subject: Onderwerp
       title: Bericht verzenden
     no_such_message: 
@@ -1008,6 +1030,9 @@ nl:
     outbox: 
       date: Datum
       inbox: Postvak IN
+      messages: 
+        one: U hebt één verzonden bericht
+        other: U hebt%{count} verzonden berichten
       my_inbox: Mijn %{inbox_link}
       no_sent_messages: U hebt nog geen berichten verzonden. Waarom legt u geen contact met %{people_mapping_nearby_link}?
       outbox: Postvak UIT
@@ -1015,7 +1040,6 @@ nl:
       subject: Onderwerp
       title: Postvak UIT
       to: Aan
-      you_have_sent_messages: U hebt %{count} verzonden berichten
     read: 
       back_to_inbox: Terug naar Postvak IN
       back_to_outbox: Terug naar Postvak UIT
@@ -1036,7 +1060,7 @@ nl:
   notifier: 
     diary_comment_notification: 
       footer: U kunt de reactie ook lezen op %{readurl} en u kunt zelf ook reageren op %{commenturl} of antwoorden op %{replyurl}
-      header: "%{from_user} heeft een reactie geplaatst bij uw recente OpenStreetMap-dagboekingave met het onderwerp %{subject}:"
+      header: "%{from_user} heeft een reactie geplaatst bij uw recente OpenStreetMap-dagboekbericht met het onderwerp %{subject}:"
       hi: Hallo %{to_user},
       subject: "[OpenStreetMap] %{user} heeft een reactie bij uw dagboek geplaatst"
     email_confirm: 
@@ -1044,7 +1068,7 @@ nl:
     email_confirm_html: 
       click_the_link: Als u dit bent, klik dan alstublieft op de onderstaande verwijzing om de wijziging te bevestigen.
       greeting: Hallo,
-      hopefully_you: Iemand - hopelijk u - wil zijn e-mailadres  op %{server_url} wijzigen naar %{new_address}.
+      hopefully_you: Iemand - hopelijk u - wil zijn e-mailadres op %{server_url} wijzigen naar %{new_address}.
     email_confirm_plain: 
       click_the_link: Als u dit bent, klik dan alstublieft op de onderstaande verwijzing om de wijziging te bevestigen.
       greeting: Hallo,
@@ -1065,7 +1089,7 @@ nl:
         subject: "[OpenStreetMap] GPX-import mislukt"
       greeting: Hallo,
       success: 
-        loaded_successfully: is geladen met %{trace_points} punten van de mogelijke %{possible_points} punten.
+        loaded_successfully: geladen met %{trace_points} punten van de mogelijke %{possible_points} punten.
         subject: "[OpenStreetMap] GPX-import afgerond"
       with_description: met de beschrijving
       your_gpx_file: Het lijkt erop dat uw GPX-bestand
@@ -1291,13 +1315,13 @@ nl:
       trace_uploaded: Uw track is geüpload en staat te wachten totdat hij in de database wordt opgenomen. Dit gebeurt meestal binnen een half uur. U ontvangt dan een e-mail.
       upload_trace: GPS-track uploaden
     delete: 
-      scheduled_for_deletion: Track staat op de lijst voor verwijdering
+      scheduled_for_deletion: Trace staat op de lijst voor verwijdering
     edit: 
       description: "Beschrijving:"
       download: downloaden
       edit: bewerken
       filename: "Bestandsnaam:"
-      heading: Track %{name} aan het bewerken
+      heading: Trace %{name} aan het bewerken
       map: kaart
       owner: "Eigenaar:"
       points: "Punten:"
@@ -1305,17 +1329,17 @@ nl:
       start_coord: "Startcoördinaat:"
       tags: "Labels:"
       tags_help: kommagescheiden
-      title: Track %{name} aan het bewerken
+      title: Trace %{name} aan het bewerken
       uploaded_at: "Geüpload op:"
       visibility: "Zichtbaarheid:"
       visibility_help: wat betekent dit?
     list: 
-      public_traces: Openbare GPS-tracks
-      public_traces_from: Openbare GPS-tracks van %{user}
+      public_traces: Openbare GPS-traces
+      public_traces_from: Openbare GPS-traces van %{user}
       tagged_with: " gelabeld met %{tags}"
       your_traces: Uw GPS-tracks
     make_public: 
-      made_public: Track openbaar gemaakt
+      made_public: Trace openbaar gemaakt
     no_such_user: 
       body: Sorry, er is geen gebruiker %{user}. Controleer de spelling, of misschien is de verwijzing waarop u geklikt hebt onjuist.
       heading: De gebruiker %{user} bestaat niet
@@ -1343,7 +1367,7 @@ nl:
       view_map: Kaart bekijken
     trace_form: 
       description: "Beschrijving:"
-      help: Help
+      help: Hulp
       help_url: http://wiki.openstreetmap.org/wiki/NL:Upload
       tags: "Labels:"
       tags_help: kommagescheiden
@@ -1352,9 +1376,9 @@ nl:
       visibility: "Zichtbaarheid:"
       visibility_help: wat betekent dit?
     trace_header: 
-      see_all_traces: Alle tracks zien
+      see_all_traces: Alle traces bekijken
       see_your_traces: Al uw tracks weergeven
-      traces_waiting: U hebt al %{count} tracks die wachten om geüpload te worden. Overweeg om te wachten totdat die verwerkt zijn, om te voorkomen dat de wachtrij voor andere gebruikers geblokkeerd wordt.
+      traces_waiting: U hebt al %{count} traces die wachten om geüpload te worden. Overweeg om te wachten totdat die verwerkt zijn, om te voorkomen dat de wachtrij voor andere gebruikers geblokkeerd wordt.
       upload_trace: Trace uploaden
     trace_optionals: 
       tags: Labels
@@ -1367,9 +1391,9 @@ nl:
       description: "Beschrijving:"
       download: downloaden
       edit: bewerken
-      edit_track: Deze track bewerken
+      edit_track: Deze trace bewerken
       filename: "Bestandsnaam:"
-      heading: Track %{name} aan het bekijken
+      heading: Trace %{name} aan het bekijken
       map: kaart
       none: Geen
       owner: "Eigenaar:"
@@ -1377,7 +1401,7 @@ nl:
       points: "Punten:"
       start_coordinates: "Startcoördinaat:"
       tags: "Labels:"
-      title: Track %{name} aan het bekijken
+      title: Trace %{name} aan het bekijken
       trace_not_found: De track is niet gevonden!
       uploaded: "Geüpload op:"
       visibility: "Zichtbaarheid:"
@@ -1467,8 +1491,8 @@ nl:
       summary_no_ip: "%{name} aangemaakt op %{date}"
       title: Gebruikers
     login: 
+      account is suspended: Uw gebruiker is automatisch opgeschort vanwege verdachte activiteit.<br />Neem contact op met de <a href="%{webmaster}">webmaster</a> als u deze handeling wilt bespreken.
       account not active: Sorry, uw gebruiker is nog niet actief.<br />Klik op de verwijzing in de bevestigingse-mail om deze te activeren of <a href="%{reconfirm}">vraag een nieuwe bevestigingse-mail aan</a>.
-      account suspended: Uw gebruiker is automatisch opgeschort vanwege verdachte activiteit.<br />Neem contact op met de %{webmaster} als u deze handeling wilt bespreken.
       auth failure: Sorry, met deze gegevens kunt u niet aanmelden.
       create account minute: Maak een gebruiker aan. Dat is snel gebeurd.
       email or username: "E-mailadres of gebruikersnaam:"
@@ -1476,7 +1500,9 @@ nl:
       login_button: Aanmelden
       lost password link: Wachtwoord vergeten?
       new to osm: Is OpenStreetMap nieuw voor u?
+      no account: Hebt u geen geregistreerde gebruiker?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Lees meer over de aanstaande licentiewijziging voor OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">vertalingen</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">overleg</a>)
+      notice_terms: OpenStreetMap gaat vanaf 1 april 2012 een andere licentie gebruiken. Net als op dit moment is dat een open licenties, maar de juridische details zijn beter geschikt voor onze kaartgegevens. We willen uw bijdragen graag in de database houden, maar dat kan alleen als u ons toestemming geeft om ze te verspreiden onder de nieuwe licentie. Gaat u niet akkoord, dan verwijderen we uw bijdragen uit de database.<br /><br />Meld u alstublieft aan en neem dan even de tijd om de nieuwe voorwaarden te lezen en er akkoord mee te gaan. Bedankt!
       openid: "%{logo} OpenID:"
       openid invalid: Sorry, uw OpenID lijkt misvormd te zijn
       openid missing provider: Sorry, we konden geen contact maken met uw OpenID-provider
@@ -1505,7 +1531,6 @@ nl:
       remember: "Aanmeldgegevens onthouden:"
       title: Aanmelden
       to make changes: Om wijzigingen in OpenStreetMap te maken, moet u een gebruiker hebben.
-      webmaster: webmaster
       with openid: "U kunt ook aanmelden met uw OpenID:"
       with username: "Hebt u al een gebruiker bij OpenStreetMap? Meld aan met uw gebruikersnaam en wachtwoord:"
     logout: 
@@ -1594,16 +1619,23 @@ nl:
       block_history: blokkades voor mij
       blocks by me: blokkades door mij
       blocks on me: blokkades door mij
+      comments: opmerkingen
       confirm: Bevestigen
       confirm_user: deze gebruiker bevestigen
       create_block: gebruiker blokkeren
       created from: "Aangemaakt door:"
+      ct accepted: "%{ago} geleden geaccepteerd"
+      ct declined: Afgewezen
+      ct status: "Voorwaarden voor bijdragen:"
+      ct undecided: Onbeslist
       deactivate_user: gebruiker inactief maken
       delete_user: gebruiker verwijderen
       description: Beschrijving
       diary: dagboek
       edits: bewerkingen
       email address: "E-mailadres:"
+      friends_changesets: Alle wijzigingensets van vrienden bekijken
+      friends_diaries: Alle dagboekberichten van vrienden bekijken
       hide_user: gebruikers verbergen
       if set location: Als u uw locatie instelt, verschijnt er hieronder een kaart. U kunt de locatie instellen in uw %{settings_link}.
       km away: "%{count} km verwijderd"
@@ -1611,11 +1643,14 @@ nl:
       m away: "%{count} m verwijderd"
       mapper since: "Mapper sinds:"
       moderator_history: ingestelde blokkades bekijken
+      my comments: mijn opmerkingen
       my diary: mijn dagboek
       my edits: mijn bewerkingen
       my settings: mijn instellingen
-      my traces: mijn tracks
+      my traces: mijn traces
       nearby users: Andere dichtbijzijnde gebruikers
+      nearby_changesets: Alle wijzigingensets van nabijgelegen gebruikers bekijken
+      nearby_diaries: Alle dagboekberichten van nabijgelegen gebruikers bekijken
       new diary entry: nieuw dagboekbericht
       no friends: U hebt nog geen vrienden toegevoegd.
       no nearby users: Er zijn geen andere gebruikers die hebben aangegeven in de buurt te mappen.
@@ -1634,7 +1669,7 @@ nl:
       settings_link_text: voorkeuren
       spam score: "Spamscore:"
       status: "Status:"
-      traces: tracks
+      traces: traces
       unhide_user: gebruiker weer zichtbaar maken
       user location: Gebruikerslocatie
       your friends: Uw vrienden
index 5af00fab8a833bf47549dc4d858ef2f83f960ed6..0668f83f576e5927c578712c6ce0052d5f6def48 100644 (file)
@@ -6,6 +6,8 @@
 # Author: Gunnernett
 # Author: Harald Khan
 # Author: Nghtwlkr
+# Author: Njardarlogar
+# Author: Pladask
 nn: 
   activerecord: 
     attributes: 
@@ -20,68 +22,237 @@ nn:
       friend: 
         friend: Ven
         user: Brukar
+      message: 
+        body: Brødtekst
+        recipient: Mottakar
+        sender: Sendar
+        title: Tittel
       trace: 
+        description: Skildring
+        latitude: Breiddegrad
+        longitude: Lengdegrad
+        name: Namn
         public: Offentleg
         size: Storleik
         user: Brukar
+        visible: Synleg
       user: 
+        active: Aktive
+        description: Skildring
+        display_name: Visningsnamn
         email: E-post
         languages: Språk
+        pass_crypt: Passord
     models: 
       acl: Tilgangskontrolliste
       changeset: Endringssett
+      changeset_tag: Endringssettmerkelapp
       country: Land
-      diary_comment: Dagbokskommentar
-      diary_entry: Dagboksoppføring
+      diary_comment: Dagbokkommentar
+      diary_entry: Dagbokoppføring
       friend: Ven
       language: Språk
       message: Melding
       node: Node
+      node_tag: Nodemerkelapp
       notifier: Varsling
-      old_node: Gamal Node
-      old_relation: Gamal Relasjon
-      old_way: Gamal Veg
-      old_way_node: Gamal Vegnode
+      old_node: Gammal node
+      old_node_tag: Gammal nodemerkelapp
+      old_relation: Gammal relasjon
+      old_relation_member: Gammalt relasjonsmedlem
+      old_relation_tag: Gammal relasjonsmerkelapp
+      old_way: Gammal veg
+      old_way_node: Gammal vegnode
+      old_way_tag: Gammal vegmerkelapp
       relation: Relasjon
       relation_member: Relasjonsmedlem
+      relation_tag: Relasjonsmerkelapp
       session: Økt
       trace: Spor
-      tracepoint: Sporpunkt
+      tracepoint: Punkt i spor
+      tracetag: Spormerkelapp
       user: Brukar
+      user_preference: Brukarinnstillingar
+      user_token: Brukarnøkkel
       way: Veg
+      way_node: Vegnode
+      way_tag: Vegmerkelapp
+  application: 
+    require_cookies: 
+      cookies_needed: Du ser ut til å ha deaktivert informasjonskapsler. Aktivar informasjonskapsler i nettleseren din før du held fram.
+    setup_user_auth: 
+      blocked: Tilgjenget ditt til API-eit er blokkert. Logg inn på nettstaden for å finne ut meir.
+      need_to_see_terms: Tilgjenget ditt til API-eit er mellombels stoppa. Logg inn på nettsiden for å lese bidragsytervilkårene. Du treng ikkje godta vilkåra, men du må lese dei.
   browse: 
+    changeset: 
+      changeset: "Endringssett: %{id}"
+      changesetxml: XML for endringssett
+      download: Last ned %{changeset_xml_link} eller %{osmchange_xml_link}
+      feed: 
+        title: Endringssett %{id}
+        title_comment: "Endringssett: %{id} - %{comment}"
+      osmchangexml: osmChange XML
+      title: Endringssett
     changeset_details: 
+      belongs_to: "Tilhøyrer:"
+      bounding_box: "Avgrensingsboks:"
       box: boks
+      closed_at: "Lukka:"
+      created_at: "Oppretta:"
+      has_nodes: 
+        one: "Har følgjande %{count} node:"
+        other: "Har følgjande %{count} nodar:"
+      has_relations: 
+        one: "Har følgjande %{count} relasjon:"
+        other: "Har følgjande %{count} relasjonar:"
+      has_ways: 
+        one: "Har følgjande %{count} veg:"
+        other: "Har følgjande %{count} vegar:"
+      no_bounding_box: Ingen avgrensingsboks er lagra for dette endringssettet.
+      show_area_box: Vis boks for område
+    common_details: 
+      changeset_comment: "Kommentar:"
+      deleted_at: "Sletta:"
+      deleted_by: "Sletta av:"
+      edited_at: "Redigert:"
+      edited_by: "Redigert av:"
+      in_changeset: "I endringssett:"
+      version: "Versjon:"
+    containing_relation: 
+      entry: Relasjon %{relation_name}
+      entry_role: Relasjon %{relation_name} (som %{relation_role})
     map: 
       deleted: Sletta
+      edit: 
+        area: Rediger område
+        node: Rediger node
+        relation: Rediger relasjon
+        way: Rediger rute
       larger: 
-        area: Sjå området på eit større kart
-      loading: Lastar inn …
+        area: Vis område på større kart
+        node: Vis node på større kart
+        relation: Vis relasjon på større kart
+        way: Vis veg på større kart
+      loading: Lastar...
+    navigation: 
+      all: 
+        next_changeset_tooltip: Neste endringssett
+        next_node_tooltip: Neste node
+        next_relation_tooltip: Neste relasjon
+        next_way_tooltip: Neste veg
+        prev_changeset_tooltip: Forrige endringssett
+        prev_node_tooltip: Forrige node
+        prev_relation_tooltip: Forrige relasjon
+        prev_way_tooltip: Forrige veg
+      paging: 
+        all: 
+          next: "%{id} »"
+          prev: « %{id}
+        user: 
+          next: "%{id} »"
+          prev: « %{id}
+      user: 
+        name_changeset_tooltip: Vis redigeringar av %{user}
+        next_changeset_tooltip: Neste redigering av %{user}
+        prev_changeset_tooltip: Forrige redigering av %{user}
     node: 
+      download: "%{download_xml_link}, %{view_history_link} eller %{edit_link}"
       download_xml: Last ned XML
+      edit: rediger
+      node: Node
+      node_title: "Node: %{node_name}"
       view_history: vis historikk
+    node_details: 
+      coordinates: "Koordinatar:"
+      part_of: "Del av:"
     node_history: 
+      download: "%{download_xml_link} eller %{view_details_link}"
       download_xml: Last ned XML
+      node_history: Nodehistorik
+      node_history_title: "Nodehistorikk: %{node_name}"
+      view_details: vis detaljar
+    not_found: 
+      sorry: Klarte ikkje finne %{type}-ein med ID %{id}.
+      type: 
+        changeset: endringssett
+        node: node
+        relation: relasjon
+        way: veg
     paging_nav: 
       of: av
+      showing_page: Viser side
+    relation: 
+      download: "%{download_xml_link} eller %{view_history_link}"
+      download_xml: Last ned XML
+      relation: Relasjon
+      relation_title: "Relasjon: %{relation_name}"
+      view_history: vis historikk
     relation_details: 
       members: "Medlemmar:"
+      part_of: "Del av:"
+    relation_history: 
+      download: "%{download_xml_link} eller %{view_details_link}"
+      download_xml: Last ned XML
+      relation_history: Relasjonshistorikk
+      relation_history_title: "Relasjonshistorikk: %{relation_name}"
+      view_details: vis detaljar
     relation_member: 
+      entry: "%{type} %{name}"
       entry_role: "%{type} %{name} som %{role}"
       type: 
-        node: Punkt
+        node: Node
         relation: Relasjon
         way: Veg
+    start: 
+      manually_select: Vel eit anna område manuelt
+      view_data: Vis data for gjeldande kartvising
     start_rjs: 
       data_frame_title: Data
       data_layer_name: Data
-      load_data: Last data
+      details: Detaljar
+      drag_a_box: Dra ein boks på kartet for å velje eit område
+      edited_by_user_at_timestamp: Redigert av [[user]],  [[timestamp]]
+      hide_areas: Skjul områder
+      history_for_feature: Historikk for [[feature]]
+      load_data: Last inn data
+      loaded_an_area_with_num_features: Dette området inneheld [[num_features]] objekt. Nokre nettlesarar kan ikkje handtere så mykje data. For å ikkje risikere at nettlesaren låsar seg bør du halde deg til under 100 objekt. Om du er sikker på at du vil sjå informasjonen kan du klikke på knappen nedanfor.
       loading: Lastar...
+      manually_select: Vel eit anna område manuelt
       object_list: 
-        back: Syn objektliste
-        details: Detaljer
+        api: Hent dette området frå API-et
+        back: Vis objektliste
+        details: Detaljar
         heading: Objektliste
-      wait: Vent...
+        history: 
+          type: 
+            node: Node [[id]]
+            way: Veg [[id]]
+        selected: 
+          type: 
+            node: Node [[id]]
+            way: Veg [[id]]
+        type: 
+          node: Node
+          way: Veg
+      private_user: privat brukar
+      show_areas: Vis områder
+      show_history: Vis historikk
+      unable_to_load_size: "Klarte ikkje laste inn: Avgrensingsboks med storleik [[bbox_size]] er for stor (må vere mindre enn %{max_bbox_size})"
+      wait: Vent ...
+      zoom_or_select: Zoom inn eller vel eit område av kartet for vising
+    tag_details: 
+      tags: "Merkelapper:"
+      wiki_link: 
+        key: Wiki-beskrivelsessiden for %{key}-elementet
+        tag: Wiki-beskrivelsessiden for %{key}=%{value}-elementet
+      wikipedia_link: Artikkelen %{page} på Wikipedia
+    timeout: 
+      sorry: Beklagar, data for %{type} med id %{id} tok for lang tid å hente.
+      type: 
+        changeset: endringssett
+        node: node
+        relation: relasjon
+        way: veg
     way: 
       download: "%{download_xml_link}, %{view_history_link} eller %{edit_link}"
       download_xml: Last ned XML
@@ -91,37 +262,1563 @@ nn:
       way_title: "Veg: %{way_name}"
     way_details: 
       also_part_of: 
-        one: også del av vegen %{related_ways}
-        other: også del av vegane %{related_ways}
-      nodes: Punkt
+        one: òg del av vegen %{related_ways}
+        other: òg del av vegane %{related_ways}
+      nodes: "Nodar:"
       part_of: "Del av:"
     way_history: 
+      download: "%{download_xml_link} eller %{view_details_link}"
       download_xml: Last ned XML
-      view_details: syn detaljer
+      view_details: vis detaljar
+      way_history: Veghistorikk
+      way_history_title: "Veghistorikk: %{way_name}"
+  changeset: 
+    changeset: 
+      anonymous: Anonym
+      big_area: (stor)
+      id: "#%{id}"
+      no_comment: (ingen)
+      no_edits: (ingen redigeringar)
+      show_area_box: vis boks for område
+      still_editing: (redigerer forsatt)
+      view_changeset_details: Vis detaljar for endringssett
+    changeset_paging_nav: 
+      next: Neste »
+      previous: « Forrige
+      showing_page: Viser side %{page}
+    changesets: 
+      area: Område
+      comment: Kommentar
+      id: ID
+      saved_at: Lagra
+      user: Brukar
+    list: 
+      description: Siste endringar
+      description_bbox: Endringssett innanfor %{bbox}
+      description_friend: Endringssett av venene dine
+      description_nearby: Endringssett av næliggande brukarar
+      description_user: Endringssett av %{user}
+      description_user_bbox: Endringssett av %{user} innan %{bbox}
+      heading: Endringssett
+      heading_bbox: Endringssett
+      heading_friend: Endringssett
+      heading_nearby: Endringssett
+      heading_user: Endringssett
+      heading_user_bbox: Endringssett
+      title: Endringssett
+      title_bbox: Endringssett innanfor %{bbox}
+      title_friend: Endringssett av venene dine
+      title_nearby: Endringssett av nærliggande brukarar
+      title_user: Endringssett av %{user}
+      title_user_bbox: Endringssett av %{user} innan %{bbox}
+    timeout: 
+      sorry: Lista over endringssett tok for lang tid å hente.
+  diary_entry: 
+    comments: 
+      ago: "%{ago} sidan"
+      comment: Kommentar
+      has_commented_on: "%{display_name} har kommentert på følgende dagboksoppføring"
+      newer_comments: Nyare kommentarar
+      older_comments: Eldre kommentarar
+      post: Post
+      when: Når
+    diary_comment: 
+      comment_from: Kommentar frå %{link_user}, %{comment_created_at}
+      confirm: Stadfest
+      hide_link: Skjul denne kommentaren
+    diary_entry: 
+      comment_count: 
+        one: 1 kommentar
+        other: "%{count} kommentarar"
+      comment_link: Kommenter denne oppføringa
+      confirm: Stadfest
+      edit_link: Rediger denne oppføringa
+      hide_link: Skjul denne oppføringa
+      posted_by: Skrive av %{link_user} %{created} på %{language_link}
+      reply_link: Svar på denne oppføringa
+    edit: 
+      body: "Brødtekst:"
+      language: "Språk:"
+      latitude: "Breiddegrad:"
+      location: "Posisjon:"
+      longitude: "Lengdegrad:"
+      marker_text: Lokasjon for dagbokoppføring
+      save_button: Lagre
+      subject: "Emne:"
+      title: Rediger oppføring i dagboka
+      use_map_link: bruk kart
+    feed: 
+      all: 
+        description: Nye oppføringar i dagbøkene til OpenStreetMap-brukarar
+        title: Oppføringar OpenStreetMap-dagboka
+      language: 
+        description: Nye oppføringar i dagbøkene til OpenStreetMap-brukarar på %{language_name}
+        title: Oppføringar i OpenStreetMap-dagbøker på %{language_name}
+      user: 
+        description: Nye oppføringar i OpenStreetMap-dagboka til %{user}
+        title: Oppføringar i OpenStreetMap-dagboka for %{user}
+    list: 
+      in_language_title: Dagbokoppføringar på %{language}
+      new: Ny dagbokoppføring
+      new_title: Skriv ei ny oppføring i dagboka di
+      newer_entries: Nyare oppføringar
+      no_entries: Ingen oppføringer i dagboka
+      older_entries: Eldre oppføringar
+      recent_entries: "Nye oppføringer i dagboka:"
+      title: Brukarane sine dagbøker
+      title_friends: Dagbøkene til venene dine
+      title_nearby: Dagbøkene til nærliggande brukarar
+      user_title: "%{user} si dagbok"
+    location: 
+      edit: Rediger
+      location: "Posisjon:"
+      view: Vis
+    new: 
+      title: Ny dagbokoppføring
+    no_such_entry: 
+      body: Det er ingen dagbokinnlegg eller kommentar med ID %{id}. Sjekk om du har skrive feil eller om lenkja er riktig.
+      heading: Inga oppføring med %{id}
+      title: Inga slik dagbokoppføring
+    no_such_user: 
+      body: Det finst ingen brukar med namnet %{user}. Sjekk om du har skrive feil eller om lenkja er riktig.
+      heading: Brukaren %{user} finst ikkje
+      title: Ingen brukar funne
+    view: 
+      leave_a_comment: Legg igjen ein kommentar
+      login: Logg inn
+      login_to_leave_a_comment: "%{login_link} for å legge igjen ein kommentar"
+      save_button: Lagre
+      title: "%{user} sin dagbok | %{title}"
+      user_title: "%{user} si dagbok"
+  editor: 
+    default: Standard (noverande %{name})
+    potlatch: 
+      description: Potlatch 1 (rediger i nettlesaren)
+      name: Potlatch 1
+    potlatch2: 
+      description: Potlatch 2 (rediger i nettleseran)
+      name: Potlatch 2
+    remote: 
+      description: Lokalt installert program (JOSM eller Merkaartor)
+      name: Lokalt installert program
   export: 
     start: 
+      add_marker: Legg til ein markør på kartet
+      area_to_export: Område som skal eksporterast
+      embeddable_html: HTML som kan byggjast inn
+      export_button: Eksporter
+      export_details: Data frå OpenStreetMap er lisensiert under <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.no">Creative Commons Navngivelse-Del på same vilkår 2.0</a>.
+      format: Format
+      format_to_export: Format for eksport
+      image_size: Bildestørrelse
+      latitude: "Brei:"
+      licence: Lisens
+      longitude: "Len:"
+      manually_select: Vel eit anna område manuelt
+      map_image: Kartblad (viser standard laget)
+      max: maks
       options: Val
+      osm_xml_data: OpenStreetMap XML-data
+      output: Utdata
+      paste_html: Lim inn HTML som skal byggjast inn i nettstad
+      scale: Skala
+      too_large: 
+        body: Dette området er for stort for å eksporterast som OpenStreetMap XML-data. Zoom inn eller vel eit mindre område.
+        heading: For stort område
+      zoom: Zoom
+    start_rjs: 
+      add_marker: Legg til ein markør på kartet
+      change_marker: Endre markørposisjon
+      click_add_marker: Klikk på kartet for å leggja til ein markør
+      drag_a_box: Dra ein boks på kartet for å velje eit område
+      export: Eksporter
+      manually_select: Vel eit anna område manuelt
+      view_larger_map: Vis større kart
   geocoder: 
+    description: 
+      title: 
+        geonames: Posisjon frå <a href="http://www.geonames.org/">GeoNames</a>
+        osm_namefinder: "%{types} frå <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+        osm_nominatim: Posisjon frå <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
+      types: 
+        cities: Byar
+        places: Stader
+        towns: Småbyar
+    description_osm_namefinder: 
+      prefix: "%{distance} %{direction} av %{type}"
+    direction: 
+      east: aust
+      north: nord
+      north_east: nordaust
+      north_west: nordvest
+      south: sør
+      south_east: søraust
+      south_west: sørvest
+      west: vest
     distance: 
-      one: omkring 1 km
-      other: omkring %{count}km
+      one: omtrent 1 km
+      other: omtrent %{count} km
       zero: mindre enn 1 km
+    results: 
+      more_results: Fleire resultat
+      no_results: Ingen resultat funne
+    search: 
+      title: 
+        ca_postcode: Resultat frå <a href="http://geocoder.ca/">Geocoder.CA</a>
+        geonames: Resultat frå <a href="http://www.geonames.org/">GeoNames</a>
+        latlon: Resultat frå <a href="http://openstreetmap.org/">Internt</a>
+        osm_namefinder: Resultat frå <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>
+        osm_nominatim: Resultat frå <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
+        uk_postcode: Resultat frå <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
+        us_postcode: Resultat frå <a href="http://geocoder.us/">Geocoder.us</a>
+    search_osm_namefinder: 
+      prefix: "%{type}"
+      suffix_parent: "%{suffix} (%{parentdistance} %{parentdirection} av %{parentname})"
+      suffix_place: ", %{distance} %{direction} av %{placename}"
+      suffix_suburb: "%{suffix}, %{parentname}"
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          airport: Flyplass
+          arts_centre: Kunstsenter
+          atm: Minibank
+          auditorium: Auditorium
+          bank: Bank
+          bar: Bar
+          bench: Benk
+          bicycle_parking: Sykkelparkering
+          bicycle_rental: Sykkelutleige
+          brothel: Bordell
+          bureau_de_change: Vekslingskontor
+          bus_station: Busstasjon
+          cafe: Kafé
+          car_rental: Bilutleige
+          car_sharing: Bildeling
+          car_wash: Bilvask
+          casino: Kasino
+          cinema: Kino
+          clinic: Klinikk
+          club: Klubb
+          college: Høgskule
+          community_centre: Samfunnshus
+          courthouse: Rettsbygning
+          crematorium: Krematorium
+          dentist: Tannlege
+          doctors: Legar
+          dormitory: Sovesal
+          drinking_water: Drikkevatn
+          driving_school: Køyreskule
+          embassy: Ambassade
+          emergency_phone: Nødtelefon
+          fast_food: Hurtigmat
+          ferry_terminal: Ferjeterminal
+          fire_hydrant: Brannhydrant
+          fire_station: Brannstasjon
+          fountain: Fontene
+          fuel: Drivstoff
+          grave_yard: Gravlund
+          gym: Treningssenter
+          hall: Spisesal
+          health_centre: Helsesenter
+          hospital: Sjukehus
+          hotel: Hotell
+          hunting_stand: Jaktbod
+          ice_cream: Iskrem
+          kindergarten: Barnehage
+          library: Bibliotek
+          market: Marknad
+          marketplace: Marknadsplass
+          mountain_rescue: Fjellredning
+          nightclub: Nattklubb
+          nursery: Førskule
+          nursing_home: Pleieheim
+          office: Kontor
+          park: Park
+          parking: Parkeringsplass
+          pharmacy: Apotek
+          place_of_worship: Religiøst hus
+          police: Politi
+          post_box: Postboks
+          post_office: Postkontor
+          preschool: Førskule
+          prison: Fengsel
+          pub: Pub
+          public_building: Offentleg bygning
+          public_market: Offentleg marknad
+          reception_area: Oppsamlingsområde
+          recycling: Resirkuleringspunkt
+          restaurant: Restaurant
+          retirement_home: Gamleheim
+          sauna: Sauna
+          school: Skule
+          shelter: Tilfluktsrom
+          shop: Butikk
+          shopping: Handel
+          social_club: Sosial klubb
+          studio: Studio
+          supermarket: Supermarknad
+          taxi: Drosje
+          telephone: Offentleg telefon
+          theatre: Teater
+          toilets: Toalett
+          townhall: Rådhus
+          university: Universitet
+          vending_machine: Vareautomat
+          veterinary: Veterinærklinikk
+          village_hall: Forsamlingshus
+          waste_basket: Søppelkasse
+          wifi: WiFi-tilgangspunkt
+          youth_centre: Ungdomssenter
+        boundary: 
+          administrative: Administrativ grense
+        building: 
+          apartments: Bustadblokk
+          block: Bygningsblokk
+          bunker: Bunker
+          chapel: Kapell
+          church: Kyrkje
+          city_hall: Rådhus
+          commercial: Kommersiell bygning
+          dormitory: Sovesal
+          entrance: Bygningsinngang
+          faculty: Fakultetsbygning
+          farm: Gårdsbygg
+          flats: Leilegheiter
+          garage: Garasje
+          hall: Spisesal
+          hospital: Sykehusbygg
+          hotel: Hotell
+          house: Hus
+          industrial: Industribygg
+          office: Kontorbygg
+          public: Offentleg bygg
+          residential: Boligbygg
+          retail: Detaljsalgbygg
+          school: Skulebygg
+          shop: Butikk
+          stadium: Stadion
+          store: Butikk
+          terrace: Terrasse
+          tower: Tårn
+          train_station: Jernbanestasjon
+          university: Universitetsbygg
+        highway: 
+          bridleway: Rideveg
+          bus_guideway: Leidde bussfelt
+          bus_stop: Busstopp
+          byway: Stikkveg
+          construction: Motorveg under konstruksjon
+          cycleway: Sykkelsti
+          distance_marker: Avstandsmarkør
+          emergency_access_point: Nødtilgangspunkt
+          footway: Gangsti
+          ford: Vadestad
+          gate: Bom
+          living_street: Gatetun
+          minor: Mindre veg
+          motorway: Motorveg
+          motorway_junction: Motorvegkryss
+          motorway_link: Veg til motorveg
+          path: Sti
+          pedestrian: Gangveg
+          platform: Perrong
+          primary: Primær veg
+          primary_link: Primær veg
+          raceway: Racerbane
+          residential: Bustad
+          road: Veg
+          secondary: Sekundær veg
+          secondary_link: Sekundær veg
+          service: Tjenesteveg
+          services: Motorveitjenester
+          steps: Trapper
+          stile: Stige
+          tertiary: Tertiær veg
+          track: Sti
+          trail: Sti
+          trunk: Hovedveg
+          trunk_link: Hovedveg
+          unclassified: Uklassifisert veg
+          unsurfaced: Veg utan dekke
+        historic: 
+          archaeological_site: Arkeologisk plass
+          battlefield: Slagmark
+          boundary_stone: Grensestein
+          building: Bygning
+          castle: Slott
+          church: Kyrkje
+          house: Hus
+          icon: Ikon
+          manor: Herregard
+          memorial: Minne
+          mine: Gruve
+          monument: Monument
+          museum: Museum
+          ruins: Ruinar
+          tower: Tårn
+          wayside_cross: Vegkant kross
+          wayside_shrine: Vegkant alter
+          wreck: Vrak
+        landuse: 
+          allotments: Kolonihagar
+          basin: Elveområde
+          brownfield: Tidlegare industriområde
+          cemetery: Gravplass
+          commercial: Kommersielt område
+          conservation: Freda
+          construction: Kontruksjon
+          farm: Gard
+          farmland: Jordbruksland
+          farmyard: Gardstun
+          forest: Skog
+          grass: Gras
+          greenfield: Ikkje-utvikla område
+          industrial: Industriområde
+          landfill: Landfylling
+          meadow: Eng
+          military: Militært område
+          mine: Gruve
+          mountain: Fjell
+          nature_reserve: Naturreservat
+          park: Park
+          piste: Løype
+          plaza: Torg
+          quarry: Steinbrot
+          railway: Jernbane
+          recreation_ground: Idrettsplass
+          reservoir: Reservoar
+          residential: Boligområde
+          retail: Detaljsalg
+          village_green: landsbypark
+          vineyard: Vingård
+          wetland: Våtmark
+          wood: Skog
+        leisure: 
+          beach_resort: Strandsted
+          common: Allmenning
+          fishing: Fiskeområde
+          garden: Hage
+          golf_course: Golfbane
+          ice_rink: Skøytebane
+          marina: Båthavn
+          miniature_golf: Minigolf
+          nature_reserve: Naturreservat
+          park: Park
+          pitch: Sportsarena
+          playground: Leikeplass
+          recreation_ground: Idrettsplass
+          slipway: Slipp
+          sports_centre: Sportssenter
+          stadium: Stadion
+          swimming_pool: Symjebaseng
+          track: Laupebane
+          water_park: Vannpark
+        natural: 
+          bay: Bukt
+          beach: Strand
+          cape: Nes
+          cave_entrance: Holeinngang
+          channel: Kanal
+          cliff: Klippe
+          coastline: Kystlinje
+          crater: Krater
+          feature: Eigenskap
+          fell: Fjellskrent
+          fjord: Fjord
+          geyser: Geysir
+          glacier: Isbre
+          heath: Vidde
+          hill: Ås
+          island: Øy
+          land: Land
+          marsh: Sump
+          moor: Myr
+          mud: Gjørme
+          peak: Topp
+          point: Punkt
+          reef: Rev
+          ridge: Rygg
+          river: Elv
+          rock: Stein
+          scree: Ur
+          scrub: Kratt
+          shoal: Grunning
+          spring: Kjelde
+          strait: Stred
+          tree: Tre
+          valley: Dal
+          volcano: Vulkan
+          water: Vatn
+          wetland: Våtmark
+          wetlands: Våtland
+          wood: Skog
+        place: 
+          airport: Flyplass
+          city: By
+          country: Land
+          county: Fylke
+          farm: Gard
+          hamlet: Grend
+          house: Hus
+          houses: Hus
+          island: Øy
+          islet: Holme
+          locality: Plass
+          moor: Myr
+          municipality: Kommune
+          postcode: Postnummer
+          region: Område
+          sea: Hav
+          state: Delstat
+          subdivision: Underavdeling
+          suburb: Forstad
+          town: Tettstad
+          unincorporated_area: Kommunefritt område
+          village: Landsby
+        railway: 
+          abandoned: Forlatt jernbane
+          construction: Jernbane under konstruksjon
+          disused: Nedlagt jernbane
+          disused_station: Nedlagt jernbanestasjon
+          funicular: Kabelbane
+          halt: Togstopp
+          historic_station: Historisk jernbanestasjon
+          junction: Jernbanekryss
+          level_crossing: Planovergang
+          light_rail: Bybane
+          monorail: Enskinnebane
+          narrow_gauge: Smalsporjernbane
+          platform: Jernbaneperrong
+          preserved: Verna jernbane
+          spur: Jernbaneforgrening
+          station: Jernbanestasjon
+          subway: T-banestasjon
+          subway_entrance: T-baneinngang
+          switch: Sporveksel
+          tram: Sporveg
+          tram_stop: Trikkestopp
+          yard: Skiftetomt
+        shop: 
+          alcohol: Utanfor lisens
+          apparel: Klesbutikk
+          art: Kunstbutikk
+          bakery: Bakeri
+          beauty: Skjønnheitssalong
+          beverages: Drikkevarebutikk
+          bicycle: Sykkelbutikk
+          books: Bokhandel
+          butcher: Slaktar
+          car: Bilbutikk
+          car_dealer: Bilforhandlar
+          car_parts: Bildeler
+          car_repair: Bilverkstad
+          carpet: Teppebutikk
+          charity: Veldedighetsbutikk
+          chemist: Kjemiker
+          clothes: Klesbutikk
+          computer: Databutikk
+          confectionery: Konditori
+          convenience: Nærbutikk
+          copyshop: Kopieringsbutikk
+          cosmetics: Kosmetikkforretning
+          department_store: Varehus
+          discount: Tilbudsbutikk
+          doityourself: Gjer-det-sjølv
+          drugstore: Apotek
+          dry_cleaning: Renseri
+          electronics: Elektronikkforretning
+          estate_agent: Eiendomsmegler
+          farm: Gardsbutikk
+          fashion: Motebutikk
+          fish: Fiskebutikk
+          florist: Blomsterbutikk
+          food: Matbutikk
+          funeral_directors: Begravelsesforretning
+          furniture: Møbler
+          gallery: Galleri
+          garden_centre: Hagesenter
+          general: Landhandel
+          gift: Gavebutikk
+          greengrocer: Grønnsakshandel
+          grocery: Dagligvarebutikk
+          hairdresser: Frisør
+          hardware: Jernvarehandel
+          hifi: Hi-fi
+          insurance: Forsikring
+          jewelry: Gullsmed
+          kiosk: Kiosk
+          laundry: Vaskeri
+          mall: Kjøpesenter
+          market: Marknad
+          mobile_phone: Mobiltelefonbutikk
+          motorcycle: Motorsykkelbutikk
+          music: Musikkbutikk
+          newsagent: Nyhetsbyrå
+          optician: Optiker
+          organic: Organisk matbutikk
+          outdoor: Utandørs butikk
+          pet: Dyrebutikk
+          photo: Fotobutikk
+          salon: Salong
+          shoes: Skobutikk
+          shopping_centre: Kjøpesenter
+          sports: Sportsbutikk
+          stationery: Papirbutikk
+          supermarket: Supermarked
+          toys: Lekebutikk
+          travel_agency: Reisebyrå
+          video: Videobutikk
+          wine: Utanfor lisens
+        tourism: 
+          alpine_hut: Fjellhytte
+          artwork: Kunstverk
+          attraction: Attraksjon
+          bed_and_breakfast: Bed and breakfast
+          cabin: Hytte
+          camp_site: Teltplass
+          caravan_site: Campingplass
+          chalet: Fjellhytte
+          guest_house: Gjestehus
+          hostel: Vandrerhjem
+          hotel: Hotell
+          information: Informasjon
+          lean_to: Gapehuk
+          motel: Motell
+          museum: Museum
+          picnic_site: Piknikplass
+          theme_park: Fornøyelsespark
+          valley: Dal
+          viewpoint: Utsiktspunkt
+          zoo: Dyrepark
+        waterway: 
+          boatyard: Båtverft
+          canal: Kanal
+          connector: Vannvegforbindelse
+          dam: Demning
+          derelict_canal: Nedlagt kanal
+          ditch: Grøft
+          dock: Dokk
+          drain: Avløp
+          lock: Sluse
+          lock_gate: Sluseport
+          mineral_spring: Mineralkilde
+          mooring: Fortøyning
+          rapids: Bank
+          river: Elv
+          riverbank: Elvebredd
+          stream: Straum
+          wadi: Elveleie
+          water_point: Vannpunkt
+          waterfall: Foss
+          weir: Overløpskant
+      prefix_format: "%{name}"
+  html: 
+    dir: ltr
+  javascripts: 
+    map: 
+      base: 
+        cycle_map: Sykkelkart
+        mapquest: MapQuest Open
+        standard: Standard
+        transport_map: Transport-kart
+      overlays: 
+        maplint: Maplint
+    site: 
+      edit_disabled_tooltip: Zoom inn for å redigere kartet
+      edit_tooltip: Rediger kartet
+      edit_zoom_alert: Du må zoome inn for å redigere kartet
+      history_disabled_tooltip: Zoom inn for å vise redigeringar i dette området
+      history_tooltip: Vis redigeringar for dette området
+      history_zoom_alert: Du må zoome inn for å vise redigeringar i dette området
+  layouts: 
+    community_blogs: Fellesskapsblogger
+    community_blogs_title: Bloggar frå medlemmane i OpenStreetMap-felleskapet
+    copyright: Opphavsrett & lisens
+    documentation: Dokumentasjon
+    documentation_title: Dokumentasjon for prosjektet
+    donate: Støytt OpenStreetMap ved %{link} til Hardware Upgrade Fund (eit fond for maskinvareoppgraderinger).
+    donate_link_text: donering
+    edit: Rediger
+    edit_with: Rediger med %{editor}
+    export: Eksporter
+    export_tooltip: Eksporter kartdata
+    foundation: Stiftelse
+    foundation_title: OpenStreetMap stiftelsen
+    gps_traces: GPS-spor
+    gps_traces_tooltip: Handsam GPS-spor
+    help: Hjelp
+    help_centre: Brukerstøtte
+    help_title: Hjelpenettstad for prosjektet
+    help_url: http://help.openstreetmap.org/
+    history: Historikk
+    home: heim
+    home_tooltip: Gå til heimeposisjon
+    inbox: innboks (%{count})
+    inbox_tooltip: 
+      one: Din innboks inneheld 1 ulesen melding
+      other: Din innboks inneheld %{count} ulesne meldingar
+      zero: Din innboks inneheld ingen ulesne meldingar
+    intro_1: OpenStreetMap er eit fritt redigerbart kart over heile jorda. Det er laga av folk som deg.
+    intro_2: OpenStreetMap gjer det mogleg å vise, redigere og bruke geografiske data på ein samarbeidande måte frå kvar som helst på jorda.
+    intro_3: OpenStreetMaps vert sponsa av %{ucl}, %{ic} og %{bytemark}. Andre sponsorar av prosjektet er oppført i %{partners}.
+    intro_3_bytemark: Bytemark Hosting
+    intro_3_ic: Imperial College London
+    intro_3_partners: wiki
+    intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners
+    intro_3_ucl: UCL VR Senteret
+    license: 
+      alt: CC by-sa 2.0
+      title: Data frå OpenStreetMap er lisensierte under lisensen Creative Commons Navngivelse-Del på like vilkår 2.0 Generisk
+    log_in: logg inn
+    log_in_tooltip: Logg inn med ein eksisterande konto
+    logo: 
+      alt_text: OpenStreetMap-logo
+    logout: logg ut
+    logout_tooltip: Logg ut
+    make_a_donation: 
+      text: Doner
+      title: Støytt OpenStreetMap med ein donasjon
+    osm_offline: OpenStreetMap databasen er for augneblunken utilgjengelig medan essensielt vedlikeholdsarbeid vert utført.
+    osm_read_only: OpenStreetMap databasen er for augneblunken i berre-lese-modus medan essensielt vedlikeholdsarbeid vert utført.
+    project_name: 
+      h1: OpenStreetMap
+      title: OpenStreetMap
+    sign_up: registrer
+    sign_up_tooltip: Opprett ein konto for redigering
+    sotm2011: Kom til 2011 OpenStreetMap-konferansen, «Tilstanden til kartet», 11.9. september i Denver!
+    tag_line: Fritt Wiki-verdenskart
+    user_diaries: Brukardagbok
+    user_diaries_tooltip: Vis brukaren si dagbok
+    view: Vis
+    view_tooltip: Vis kartet
+    welcome_user: Velkomen, %{user_link}
+    welcome_user_link_tooltip: Din brukarside
+    wiki: Wiki
+    wiki_title: Wikinettstad for prosjektet
+    wiki_url: http://wiki.openstreetmap.org/
+  license_page: 
+    foreign: 
+      english_link: den engelske originalen
+      text: I tilfellet konflikt mellom denne omsette sida og %{english_original_link} har den engelske presedensen
+      title: Om denne omsetjinga
+    legal_babble: "<h2>Opphavsrett og lisensar</h2>\n<p>\n   OpenStreetMap er <i>opne data</i>, lisensiert under <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative\n   Commons Navngivelse-DelPåSammeVilkår 2.0</a> (CC BY-SA).\n</p>\n<p>\n  Du er fri til å kopiere, distribuere, overføre og tilpasse karta våre og dataa, så lenge du krediterer OpenStreetMap og bidragsytarane\n  deira. Dersom du endrar eller byggjer på karta våre eller dataa, kan du berre distribuere resultatet under same lisens. \n  Den fulle <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">juridiske\n  teksten</a> forklarer rettane og ansvaret.\n</p>\n\n<h3>Korleis kreditere OpenStreetMap</h3>\n<p>\n  Dersom du brukar OpenStreetMap kartbilder, ber me om at din kreditering minst inneheld \n  «© OpenStreetMap-bidragsytarar, CC BY-SA». Viss du berre brukar kartdata, ber me om \n  «Kartdata © OpenStreetMap-bidragsytarar, CC BY-SA».\n</p>\n<p>\n  Der det er mogleg, bør OpenStreetMap lenkjast til <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>\n  og CC BY-SA til <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Viss\n  du brukar eit medium der lenkjer ikkje er mogleg (t.d. i utskrivne arbeid), foreslår me at du viser lesarane til\n  www.openstreetmap.org (kanskje ved å utvide 'OpenStreetMap' til denne fullstendige adressa) og til\n  www.creativecommons.org.\n</p>\n\n<h3>Finn ut meir</h3>\n<p>\n  Les meir om korleis du brukar dataa våre i den <a href=\"http://wiki.openstreetmap.org/wiki/Legal_fAQ\">juridiske\n  FAQ-en</a>.\n</p>\n<p>\n  OSM-bidragsytarar vert minna på å aldri leggje til data frå opphavsrettsbeskytta kjelder (t.d. Google Maps eller utskrivne kart) utan\n  uttrykkeleg løyve frå rettighetshavere.\n</p>\n<p>\n  Sjølv om OpenStreetMap er åpne data kan me ikkje gje eit\n  gratis kart-API til tredjepartsutviklere.\n\n  Sjå våre retningslinjer for nytting av <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">API-et</a>,\n  <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">kartbilder</a>\n  og <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_policy\">Nominatim</a>.\n</p>\n\n<h3>Bidragsytarane våre</h3>\n<p>\n  Vår CC BY-SA-lisens krev at du «gjev den opphavlege forfattaren rimeleg kreditt til mediet eller måten du\n  nyttar». Individuelle OSM-kartleggere krev ikkje ein kreditering utover «OpenStreetMap bidragsytarar»,\n  men der data frå eit nasjonal kartleggingsbyrå eller frå ein anna stor kjelde er vorten inkludert inne i\n  OpenStreetMap, kan det vere fornuftig å kreditere dei ved direkte\n  reprodusering av kreditten deira eller ved å linke til det på denne sida.\n</p>\n\n<!--\nInformasjon til sideredaktører\n\nDen følgjande lista listar berre opp dei organisasjonane som krev kreditering\nsom eit vilkår for at dataa deira vert brukte i OpenStreetMap. Det er ikkje ein\ngenerell importeringskatalog og må ikkje brukast unntatt når kreditering\nvert kravt for å oppfylle lisensvilkårene til dei importerte dataa.\n\nAlle tillegg her må diskuterast med ein OSM-sysadmin først.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Australia</strong>: Inneheld forstadsdata basert\n   på Australian Bureau of Statistics data.</li>\n   <li><strong>Canada</strong>: Inneheld data frå\n   GeoBase®, GeoGratis (© Department of Natural\n   Resources Canada), CanVec (© Department of Natural\n   Resources Canada), og StatCan (Geography Division,\n   Statistics Canada).</li>\n   <li><strong>Frankrike</strong>: Inneheld data henta frå\n   Direction Générale des Impôts.</li>\n   <li><strong>New Zealand</strong>: Inneheld data henta frå\n   Land Information New Zealand. Crown Copyright reservert.</li>\n   <li><strong>Polen</strong>: Inneheld data frå <a href=\"http://ump.waw.pl/\">UMP-pcPL maps</a>. Copyright\n   UMP-pcPL bidragsytarar.</li>\n   <li><strong>Storbritannia</strong>: Inneheld Ordnance\n   Survey data © Crown copyright og database-rettar\n   2010.</li>\n   <li><strong>Austerrike</strong>: Inneheld data henta frå\n   <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> under\n   <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.dei\">CC BY</a>.</li>\n</ul>\n\n<p>\n  Inkludering av data i OpenStreetMap inneber ikkje at den opphavlege\n  dataleverandøren støttar OpenStreetMap, gjev nokon garanti eller\n  godtek noko erstatningsansvar.\n</p>"
+    native: 
+      mapping_link: start kartlegging
+      native_link: Nynorsk versjon
+      text: Du ser den engelske versjonen av opphavsrettssiden. Du kan gå tilbake til den %{native_link} av denne sida, eller du kan stoppe å lese om opphavsrett og %{mapping_link}.
+      title: Om denne sida
+  message: 
+    delete: 
+      deleted: Melding sletta
+    inbox: 
+      date: Dato
+      from: Frå
+      messages: Du har %{new_messages} og %{old_messages}
+      my_inbox: Min innboks
+      new_messages: 
+        one: "%{count} ny melding"
+        other: "%{count} nye meldingar"
+      no_messages_yet: Du har ingen meldingar endå. Kanskje du kan prøve å kome i kontakt med %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} gamal melding"
+        other: "%{count} gamle meldingar"
+      outbox: utboks
+      people_mapping_nearby: folk i nærleiken som lagar kart
+      subject: Emne
+      title: Innboks
+    mark: 
+      as_read: Melding markert som lese
+      as_unread: Melding markert som ulese
+    message_summary: 
+      delete_button: Slett
+      read_button: Marker som lese
+      reply_button: Svar
+      unread_button: Marker som ulese
+    new: 
+      back_to_inbox: Tilbake til innboks
+      body: Kropp
+      limit_exceeded: Du har sendt mange meldingar i det siste. Vent ein stind før du prøver å sende fleire.
+      message_sent: Melding sendt
+      send_button: Send
+      send_message_to: Send ei ny melding til %{name}
+      subject: Emne
+      title: Send melding
+    no_such_message: 
+      body: Det er inga melding med den ID-en.
+      heading: Inga melding funne
+      title: Inga melding funne
+    no_such_user: 
+      body: Det er ingen brukar med det namnet.
+      heading: Ingen brukar funnet
+      title: Ingen brukar funnet
+    outbox: 
+      date: Dato
+      inbox: innboks
+      messages: 
+        one: Du har %{count} sendt melding
+        other: Du har %{count} sendte meldingar
+      my_inbox: Min %{inbox_link}
+      no_sent_messages: Du har ikkje sendt nokre meldingar endå. Kanskje du kan prøve å kome i kontakt med %{people_mapping_nearby_link}?
+      outbox: utboks
+      people_mapping_nearby: folk i nærleiken som lagar kart
+      subject: Emne
+      title: Utboks
+      to: Til
+    read: 
+      back_to_inbox: Tilbake til innboks
+      back_to_outbox: Tilbake til utboks
+      date: Dato
+      from: Frå
+      reading_your_messages: Lesar meldingane dine
+      reading_your_sent_messages: Les dei sende meldingane dine
+      reply_button: Svar
+      subject: Emne
+      title: Les melding
+      to: Til
+      unread_button: Marker som ulese
+      wrong_user: Du er logga inn som «%{user}», men meldinga du ynskjer å lese vart ikkje send til den brukaren. Logg inn som korrekt brukar for å lese.
+    reply: 
+      wrong_user: Du er logga inn som «%{user}», men meldinga du ynskjer å svare på vart ikkje send til den brukaren. Logg inn som korrekt brukar for å svare.
+    sent_message_summary: 
+      delete_button: Slett
+  notifier: 
+    diary_comment_notification: 
+      footer: Du kan òg lese kommentaren på %{readurl} og du kan kommentere på %{commenturl} eller svare på %{replyurl}
+      header: "%{from_user} har kommentert på ditt siste OpenStreetMap-dagbokinnlegg med emnet %{subject}:"
+      hi: Hei %{to_user},
+      subject: "[OpenStreetMap] %{user} kommenterte på ein oppføring i dagboka di"
+    email_confirm: 
+      subject: "[OpenStreetMap] Stadfest di e-postadresse"
+    email_confirm_html: 
+      click_the_link: Om dette er deg, vennligst klikk på lenkja under for å stadfeste endringa.
+      greeting: Hei,
+      hopefully_you: Nokre (vonleg deg) ynskjer å endre e-postadressen for %{server_url} til %{new_address}.
+    email_confirm_plain: 
+      click_the_link: Viss det er deg, klikk lenkja nedanfor for å stadfeste endringa.
+      greeting: Hei,
+      hopefully_you_1: Nokre (vonleg deg) ynskjer å endre e-postadressen for
+      hopefully_you_2: "%{server_url} til %{new_address}."
+    friend_notification: 
+      befriend_them: Du kan òg leggje dei til som ven på %{befriendurl}.
+      had_added_you: "%{user} har lagt deg til som ven på OpenStreetMap."
+      see_their_profile: Du kan sjå profilen deira på %{userurl}.
+      subject: "[OpenStreetMap] %{user} la deg til som ein ven"
+    gpx_notification: 
+      and_no_tags: og ingen merkelappar.
+      and_the_tags: "og følgjande merkelappar:"
+      failure: 
+        failed_to_import: "klarte ikkje importere. Her er feilen:"
+        import_failures_url: http://wiki.openstreetmap.org/wiki/GPX_import_failures
+        more_info_1: Meir informasjon om feil ved import av GPX og korleis du kan unngå
+        more_info_2: "dei kan finnast hos:"
+        subject: "[OpenStreetMap] Feil under import av GPX"
+      greeting: Hei,
+      success: 
+        loaded_successfully: lasta med %{trace_points} av %{possible_points} moglege punkt.
+        subject: "[OpenStreetMap] Vellukka import av GPX"
+      with_description: med skildring
+      your_gpx_file: Det ser ut som GPX-fila di
+    lost_password: 
+      subject: "[OpenStreetMap] Førespurnad om nullstilling av passord"
+    lost_password_html: 
+      click_the_link: Viss det er deg, klikk lenkja nedanfor for å nullstille passordet ditt.
+      greeting: Hei,
+      hopefully_you: Nokre (vonleg deg) har bede å nullstille passordet for OpenStreetMap-kontoen knytt til denne e-postadressa.
+    lost_password_plain: 
+      click_the_link: Om dette er deg, vennligst klikk på lenkja under for å tilbakestille passordet.
+      greeting: Hei,
+      hopefully_you_1: Nokre (moglegvis deg) har bede om å tilbakestille passordet på denne
+      hopefully_you_2: e-postadressa for openstreetmap.org-konto.
+    message_notification: 
+      footer1: Du kan òg lese meldinga på %{readurl}
+      footer2: og du kan svare til %{replyurl}
+      header: "%{from_user} har sendt deg ei melding gjennom OpenStreetMap med emnet %{subject}:"
+      hi: Hei %{to_user},
+      subject_header: "[OpenStreetMap] %{subject}"
+    signup_confirm: 
+      subject: "[OpenStreetMap] Stadfest di e-postadresse"
+    signup_confirm_html: 
+      ask_questions: Du kan stille spørsmål du har om OpenStreetMap på vårt <a href="http://help.openstreetmap.org/">spørsmål og svar-nettsted</a>.
+      click_the_link: Viss dette er deg, så er du velkomen! Klikke lenkja nedanfor for å stadfeste kontoen og les litt vidare for meir informasjon om OpenStreetMap
+      current_user: Ei liste over noverande brukarar i kategoriar, basert på kor i verda dei er, er tilgjengeleg frå <a href="http://wiki.openstreetmap.org/wiki/Category:Users_by_geographical_region">Category:Users_by_geographical_region</a>.
+      get_reading: Start å lese om OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_guide">på wikien</a>, få med deg dei siste nyhenda via  <a href="http://blog.openstreetmap.org/">OpenStreetMap-bloggen</a> eller <a href="http://twitter.com/openstreetmap">Twitter</a>. Eller bla gjennom OpenStreetMaps grunnlegg Steve Coasts <a href="http://www.opengeodata.org/">OpenGeoData-blogg</a> for heile historia til prosjektet, som òg har <a href="http://www.opengeodata.org/?cat=13">engelske podkaster</a> du kan lytte til.
+      greeting: Hei der!
+      hopefully_you: Nokre (vonleg deg) ynskjer å opprette ein konto på
+      introductory_video: Du kan sjå ein %{introductory_video_link}.
+      more_videos: Det er %{more_videos_link}.
+      more_videos_here: fleire videoar her
+      user_wiki_page: Det vert rådt til at du opprettar ein brukerside på wiki-en som inkluderer kategorimerker som viser der du er, f.eks <a href="http://wiki.openstreetmap.org/wiki/Category:Users_in_norway">[[Category:Users_in_norway]]</a>.
+      video_to_openstreetmap: introduksjonsvideo til OpenStreetMap
+      wiki_signup: Du vil kanskje <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_page">melde deg inn i OpenStreetMap-wikien</a> òg.
+    signup_confirm_plain: 
+      ask_questions: "Du kan stille spørsmål du har om OpenStreetMap på vår spørsmål og svar-nettsted:"
+      blog_and_twitter: "Få med deg dei siste nyhenda gjennom OpenStreetMap-bloggen eller Twitter:"
+      click_the_link_1: Om dette er deg, velkomen! Vennligst klikk på lenkja under for å stadfeste din
+      click_the_link_2: konto og les litt vidare for meir informasjon om OpenStreetMap.
+      current_user_1: Ei liste over noverande brukarar i kategoriar, basert på kor i verda
+      current_user_2: "dei er, er tilgjengeleg frå:"
+      greeting: Hei der!
+      hopefully_you: Nokre (vonleg deg) ynskjer å opprette ein konto på
+      introductory_video: "Du kan sjå ein introduksjonsvideo for OpenStreetMap her:"
+      more_videos: "Det er fleire videoar her:"
+      opengeodata: "OpenGeoData.org er bloggen til OpenStreetMap-grunnlegg Steve Coast, og han har podcast-er òg:"
+      the_wiki: "Les meir om OpenStreetMap på wikien:"
+      the_wiki_url: http://wiki.openstreetmap.org/wiki/Beginners%27_guide
+      user_wiki_1: Det vert rådt til at du opprettar ein brukerside på wiki-en som inkluderer
+      user_wiki_2: kategorimerker som viser kor du er, f.eks [[Category:Users_in_norway]].
+      wiki_signup: "Du vil kanskje òg melde deg inn i OpenStreetMap-wikien på:"
+      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_page
+  oauth: 
+    oauthorize: 
+      allow_read_gpx: les dine private GPS-spor.
+      allow_read_prefs: les brukarinnstillingane dine.
+      allow_to: "Tillat klientprogrammet å gjere:"
+      allow_write_api: endre kartet.
+      allow_write_diary: opprett dagbokoppføringer, kommentarar og finn venner.
+      allow_write_gpx: last opp GPS-spor.
+      allow_write_prefs: Innstillingane vart lagra.
+      request_access: Applikasjonen %{app_name} ber om tilgjenge til kontoen din, %{user}. Sjekk om du vil at applikasjonen skal ha følgjande høve. Du kan velje så mange eller få du vil.
+    revoke: 
+      flash: Du sletta nøkkelen for %{application}
+  oauth_clients: 
+    create: 
+      flash: Vellukka registrering av informasjonen
+    destroy: 
+      flash: Øydelagt klientapplikasjonsregistreringen
+    edit: 
+      submit: Rediger
+      title: Rediger programvara di
+    form: 
+      allow_read_gpx: les deira private GPS-spor.
+      allow_read_prefs: les brukerinnstillingane deira.
+      allow_write_api: endre kartet.
+      allow_write_diary: opprett dagbokoppføringer, kommentarar og finn vener.
+      allow_write_gpx: last opp GPS-spor.
+      allow_write_prefs: endre brukerinnstillingene deira.
+      callback_url: "URL for tilbakekall:"
+      name: Namn
+      requests: "Be om følgjande løyve frå brukaren:"
+      required: Påkrevd
+      support_url: Støytte-URL
+      url: URL til hovedapplikasjonen
+    index: 
+      application: Applikasjonsnavn
+      issued_at: Utskrive
+      list_tokens: "Følgjande nøklar er utskrivne til program i namnet ditt:"
+      my_apps: Mine klientapplikasjoner
+      my_tokens: Dei autoriserte applikasjonane mine
+      no_apps: Har du eit program som du vil registrere for bruk med oss gjennom %{oauth}-standarden? Då må du først registrere ditt nettprogram før det kan gjere OAuth-førespurnader til denne tenesta.
+      register_new: Registrer applikasjonen din
+      registered_apps: "Du har registrert følgjande klientapplikasjoner:"
+      revoke: Tilbakekall!
+      title: Mine OAuth-detaljar
+    new: 
+      submit: Registrer
+      title: Registrer ein ny applikasjon
+    not_found: 
+      sorry: Klarte ikkje finne den %{type}-en.
+    show: 
+      access_url: URL for tilgangensnøkkel
+      allow_read_gpx: les deira private GPS-spor.
+      allow_read_prefs: les brukerinnstillingene deira.
+      allow_write_api: endre kartet.
+      allow_write_diary: opprett dagbokoppføringer, kommentarar og finn venner.
+      allow_write_gpx: last opp GPS-spor.
+      allow_write_prefs: endre brukerinnstillingene deira.
+      authorize_url: "Godkjenn URL:"
+      edit: Rediger detaljar
+      key: "Forbrukernøkkel:"
+      requests: "Ber om følgjande løyve frå brukaren:"
+      secret: "Forbrukerhemmelighet:"
+      support_notice: Me støttar HMAC-SHA1 (tilrådt) så vel som rein tekst i ssl-modus.
+      title: OAuth-detaljar for %{app_name}
+      url: "URL for forespørelsnøkkel:"
+    update: 
+      flash: Oppdaterte klientinformasjonen
+  printable_name: 
+    with_id: "%{id}"
+    with_name: "%{name} (%{id})"
+    with_version: "%{id}, v%{version}"
+  site: 
+    edit: 
+      anon_edits: (%{link})
+      anon_edits_link: http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits
+      anon_edits_link_text: Finn ut kvifor dette er tilfellet.
+      flash_player_required: Du treng ein Flash-spelar for å kunne bruke Potlatch, Flasheditoren for OpenStreetMap. Du kan <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_prod_version=ShockwaveFlash">laste ned Flash Player frå Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Fleire andre alternativ</a> er òg tilgjengeleg for redigering av OpenStreetMap.
+      no_iframe_support: Nettlesaren din støttar ikkje HTML iframes som er naudsynt for denne eigenskapen.
+      not_public: Du har ikkje sett redigeringane dine til å vere offentlege.
+      not_public_description: Du kan ikkje lenger redigere kartet om du ikkje gjer det. Du kan gjere redigeringane dine offentlege frå din %{user_page}.
+      potlatch2_not_configured: Potlatch 2 har ikkje vorte konfigurert - sjå http://wiki.openstreetmap.org/wiki/The_rails_port#Potlatch_2 for meir informasjon
+      potlatch2_unsaved_changes: Du har endringar som ikkje er lagra. (For å lagre i Potlatch 2, må du klikke lagre.)
+      potlatch_unsaved_changes: Du har ulagra endringar. (For å lagre i Potlatch, må du fjerne markeringa av gjeldande veg eller punkt viss du redigerer i live-modues eller klikke lagre viss du har ein lagreknapp.)
+      user_page_link: brukarside
+    index: 
+      js_1: Du har ein nettleser som ikkje støttar JavaScript eller så har du slått av JavaScript.
+      js_2: OpenStreetMap brukar JavaScript på kartsidene.
+      js_3: Viss du ikkje kan slå på JavaScript, så kan du prøve dei <a href="http://tah.openstreetmap.org/Browse/">statiske Tile sitt@Home-kartsidene</a>.
+      license: 
+        license_name: Creative Commons Navngivelse-Del på like vilkår 2.0
+        license_url: https://creativecommons.org/licenses/by-sa/2.0/deed.no
+        notice: Lisensiert under lisensen %{license_name} av %{project_name} og bidragsytarane deira.
+        project_name: OpenStreetMap-prosjekt
+        project_url: http://openstreetmap.org
+      permalink: Permanent lenkje
+      remote_failed: Klarte ikkje redigere - forsikre deg at JOSM eller Merkaartor er lasta og fjernkontrollvalget er aktivert
+      shortlink: Kort lenkje
+    key: 
+      map_key: Kartforklaring
+      map_key_tooltip: Forklaring for kartet
+      table: 
+        entry: 
+          admin: Administrativ grense
+          allotments: Kolonihagar
+          apron: 
+            - terminal
+            - terminal
+          bridge: Sort kant = bru
+          bridleway: Rideveg
+          brownfield: Tidlegare industriområde
+          building: Viktig bygning
+          byway: Stikkveg
+          cable: 
+            - Kabelvogn
+            - stolheis
+          cemetery: Gravplass
+          centre: Sportssenter
+          commercial: Kommersielt område
+          common: 
+            - Vanleg
+            - snever
+          construction: Vegar under konstruksjon
+          cycleway: Sykkelveg
+          destination: Destinasjonstilgang
+          farm: Gard
+          footway: Gangveg
+          forest: Skog
+          golf: Golfbane
+          heathland: Heilandskap
+          industrial: Industriområde
+          lake: 
+            - Innsjø
+            - reservoar
+          military: Militært område
+          motorway: Motorveg
+          park: Park
+          permissive: Betinget tilgjenge
+          pitch: Sportsarena
+          primary: Primærveg
+          private: Privat tilgjenge
+          rail: Jernbane
+          reserve: Naturreservat
+          resident: Boligområde
+          retail: Detaljsalgområde
+          runway: 
+            - Flystripe
+            - taksebane
+          school: 
+            - Skule
+            - universitet
+          secondary: Sekundærveg
+          station: Jernbanestasjon
+          subway: Undergrunnsbane
+          summit: 
+            - Topp
+            - fjelltopp
+          tourist: Turistattraksjon
+          track: Spor
+          tram: 
+            - Bybane
+            - trikk
+          trunk: Hovedveg
+          tunnel: Streka kant = tunnel
+          unclassified: Uklassifisert veg
+          unsurfaced: Veg utan dekke
+          wood: Ved
+    search: 
+      search: Søk
+      search_help: "Døme: 'Lindesnes', 'Karl Johans gate', 'Sør-Trøndelag' og <a href='http://wiki.openstreetmap.org/wiki/Search'>fleire ...</a>"
+      submit_text: Gå
+      where_am_i: Kor er eg?
+      where_am_i_title: Bruk søkjemotoren til å skildre gjeldande lokasjon.
+    sidebar: 
+      close: Lukk
+      search_results: Søkjeresultat
   time: 
     formats: 
-      friendly: "%e %B %Y kl %H:%M"
+      friendly: "%e %B %Y kl. %H:%M"
   trace: 
+    create: 
+      trace_uploaded: Din GPX-fil er lasa opp og ventar på å verte sett inn i databasen. Dette skjer vanlegvis innan ein halvtime og ein e-post vert send til deg når det er gjort.
+      upload_trace: Last opp GPS-spor
+    delete: 
+      scheduled_for_deletion: Spor planlagt sletta
     edit: 
+      description: "Skildring:"
       download: last ned
+      edit: rediger
+      filename: "Filnavn:"
+      heading: Redigerer spor %{name}
+      map: kart
+      owner: "Eigar:"
+      points: "Punkter:"
+      save_button: Lagre endringar
+      start_coord: "Startkoordinat:"
+      tags: "Markelapper:"
+      tags_help: kommaseparert
+      title: Redigerer spor %{name}
+      uploaded_at: "Last opp:"
+      visibility: "Synlighet:"
+      visibility_help: kva tyder dette?
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
+    list: 
+      public_traces: Offentleg GPS-spor
+      public_traces_from: Offentlege GPS-spor frå %{user}
+      tagged_with: merkte med %{tags}
+      your_traces: Dine GPS-spor
+    make_public: 
+      made_public: Spor gjort offentleg
+    no_such_user: 
+      body: Beklagar, det finst ingen brukar med namnet %{user}. Vennligst sjekk at du har stava riktig, eller kanskje lenkja du følgde er feil.
+      heading: Brukaren %{user} finst ikkje
+      title: Ingen brukar funnet
+    offline: 
+      heading: GPX-lagring er utilgjengelig
+      message: Systemet for opplasting og lagring av GPX-filer er ikkje tilgjengeleg for augneblunken.
+    offline_warning: 
+      message: Systemet for opplasting av GPX-filer er ikkje tilgjengeleg for augneblunken.
     trace: 
+      ago: "%{time_in_words_ago} sidan"
+      by: av
       count_points: "%{count} punkt"
+      edit: rediger
+      edit_map: Rediger kart
+      identifiable: IDENTIFISERBAR
       in: i
       map: kart
+      more: meir
+      pending: VENTANDE
+      private: PRIVAT
+      public: OFFENTLEG
+      trace_details: Vis detaljar for spor
+      trackable: SPORBAR
+      view_map: Vis kart
+    trace_form: 
+      description: "Skildring:"
+      help: Hjelp
+      help_url: http://wiki.openstreetmap.org/wiki/Upload
+      tags: "Merkelappar:"
+      tags_help: kommaseparert
+      upload_button: Last opp
+      upload_gpx: "Last opp GPX-fil:"
+      visibility: "Synligheit:"
+      visibility_help: kva tyder dette?
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
+    trace_header: 
+      see_all_traces: Sjå alle spor
+      see_your_traces: Sjå alle spora dine
+      traces_waiting: Du har %{count} spor som ventar på opplasting. Du bør vurdere å la desse verte ferdig før du lastar opp fleire spor slik at du ikkje blokkerer køen for andre brukarar.
+      upload_trace: Last opp eit GPS-spor
+    trace_optionals: 
+      tags: Merkelappar
+    trace_paging_nav: 
+      next: Neste »
+      previous: « Forrige
+      showing_page: Viser side %{page}
     view: 
+      delete_track: Slett dette sporet
+      description: "Skildring:"
       download: last ned
-      filename: "Filnamn:"
+      edit: rediger
+      edit_track: Rediger dette sporet
+      filename: "Filnavn:"
+      heading: Viser spor %{name}
       map: kart
-      none: Inga
+      none: Ingen
       owner: "Eigar:"
+      pending: VENTANDE
+      points: "Punkter:"
+      start_coordinates: "Startkoordinat:"
+      tags: "Markelappar:"
+      title: Viser spor %{name}
+      trace_not_found: Spor ikkje funnet!
+      uploaded: "Lasta opp:"
+      visibility: "Synligheit:"
+    visibility: 
+      identifiable: Identifiserbar (vist i sporlista og som identifiserbare, sorterte punkt med tidsstempel)
+      private: Privat (berre delt som anononyme, usorterte punkt)
+      public: Offentleg (vist i sporlista og som anononyme, usorterte punkt)
+      trackable: Sporbar (berre delt som anonyme, sorterte punkt med tidsstempel)
   user: 
     account: 
+      contributor terms: 
+        agreed: Du har godkjent dei nye bidragsytervilkåra
+        agreed_with_pd: Du har òg opplyst at du ansar redigeringane dine for å vere offentleg eigedom (Public Domain).
+        heading: "Bidragsytervilkår:"
+        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms
+        link text: kva er dette?
+        not yet agreed: Du har endå ikkje godkjent dei nye bidragsytervilkåra.
+        review link text: Vennligst følg denne lenkja når det passar deg, for å sjå igjennom og godkjenne dei nye bidragsytervilkåra.
+      current email address: "Noverande e-postadresse:"
+      delete image: Fjern gjeldande bilete
+      email never displayed publicly: " (vis aldri offentleg)"
+      flash update success: Brukerinformasjon oppdatert.
+      flash update success confirm needed: Brukerinformasjon oppdatert. Sjekk eposten din for å stadfeste din epostadresse.
+      home location: "Heimeposisjon:"
       image: "Bilete:"
+      image size hint: (kvadratiske bilete som er minst 100x100 fungerer best)
+      keep image: Hald på gjeldande bilete
+      latitude: "Breiddegrad:"
+      longitude: "Lengdegrad:"
+      make edits public button: Gjer alle redigeringane mine offentleg
+      my settings: Innstellingane mine
+      new email address: "Ny e-postadresse:"
+      new image: Legg til eit bilete
+      no home location: Du har ikkje skrive inn din heimelokasjon.
+      openid: 
+        link: http://wiki.openstreetmap.org/wiki/OpenID
+        link text: kva er dette?
+        openid: "OpenID:"
+      preferred editor: Foretrukket redigeringsverktøy
+      preferred languages: "Foretrukne språk:"
+      profile description: "Profilbeskrivelse:"
+      public editing: 
+        disabled: Deaktivert og kan ikkje redigere data. Alle tidlegare redigeringar er anonyme.
+        disabled link text: kvifor can eg ikkje redigere?
+        enabled: Aktivert. Ikkje anonym og kan redigere data.
+        enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
+        enabled link text: kva er dette?
+        heading: "Offentleg redigering:"
+      public editing note: 
+        heading: Offentleg redigering
+        text: For augneblunken er redigeringane dine anonyme og folk kan ikkje sende deg meldingar eller sjå posisjonen din. For å vise kva du redigerte og tillate folk å kontakte deg gjennom nettsiden, klikk på knappen nedanfor. <b>Sidan overgangen til 0.6 API-et, kan berre offentlege brukarar redigere kartdata.</b> ( <a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">Finn ut kvifor</a> ). <ul><li> di e-postadresse vil ikkje avslørast ved å verte offentleg. </li><li> Denne handlinga kan ikkje omgjerast, og alle nye brukarar er no offentleg tilgjengeleg som standard. </li></ul>
+      replace image: Erstatt gjeldande bilete
+      return to profile: Returner til profil
+      save changes button: Lagre endringar
+      title: Rediger konto
+      update home location on click: Oppdater hjemmelokasjon når eg klikkar på kartet?
+    confirm: 
+      already active: Denne kontoen har allereie stadfesta.
+      before you start: Me veit du sannsynlegvis har hastverk med å byrja å lage kart, men før du gjer dette kan du fylle inn litt informasjon om deg sjølv i skjemaet under.
+      button: Stadfest
+      heading: Stadfest ein brukerkonto
+      press confirm button: Klikk bekreftknappen nedanfor for å aktivare kontoen din.
+      reconfirm: Viss det er ei stund sidan du registrerte deg kan det hende du må <a href=%{reconfirm}">sende deg sjølv ein ny bekreftelsesepost</a>.
+      success: Kontoen din er stadfesta - takk for at du registrerte deg.
+      unknown token: Den koda ser ikkje ut til å eksistere.
+    confirm_email: 
+      button: Stadfest
+      failure: Ei e-postadresse er allereie stadfesta med denne nøkkelen.
+      heading: Stadfest endring av e-postadresse
+      press confirm button: Klikk bekreftknappen nedanfor for å stadfeste den nye e-postadressa.
+      success: E-postadressen din er stadfesta - takk for at du registrerte deg.
+    confirm_resend: 
+      failure: Fann ikkje brukaren %{name}.
+      success: Me har sendt ein ny bekreftelsesmelding til %{email} og så snart du stadfestar kontoen din kan du byrje å lage kart.<br /><br />Om du brukar eit antispamsystem som sender bekreftelsesforspørsler, kontrollar at du har kvitelista webmaster@openstreetmap.org sidan me ikkje kan svar på bekreftelsesforespørsler.
+    filter: 
+      not_an_administrator: Du må vere administrator for å gjere det.
+    go_public: 
+      flash success: Alle redigeringane dine er no offentleg, og du har lov til å redigere.
+    list: 
+      confirm: Stadfest valde brukarar
+      empty: Ingen samsvarande brukarar funne
+      heading: Brukarar
+      hide: Skjul valde brukarar
+      showing: 
+        one: Viser side %{page} (%{first_item} av %{items})
+        other: Viser side %{page} (%{first_item}-%{last_item} av %{items})
+      summary: "%{name} oppretta frå %{ip_address} den %{date}"
+      summary_no_ip: "%{name} oppretta %{date}"
+      title: Brukarar
+    login: 
+      account is suspended: Beklagar, kontoen din er deaktivert på grunn av mistenkjeleg aktivitet.<br />Vennligst kontakt <a href="%{webmaster}">webmaster</a> viss du ynskjer å diskutere dette.
+      account not active: Beklagar, kontoen din er ikkje aktivert enno.<br />Bruk lenkja i kontobekreftelseseposten for å aktivare kontoen din, eller <a href="%{reconfirm}">be om ein ny bekreftelsesepost</a>.
+      auth failure: Beklagar, kunne ikkje logge inn med den informasjonen
+      create account minute: Opprett ein konto. Det tek berre eitt minutt.
+      email or username: "E-postadresse eller brukernavn:"
+      heading: Logg inn
+      login_button: Logg inn
+      lost password link: Mista passordet ditt?
+      new to osm: Ny på OpenStreetMap?
+      no account: Har du ingen brukarkonto?
+      notice: <a href="http://www.osmfoundation.org/wiki/License/We_are_changing_the_license">Finn ut meir om OpenStreetMap sitt komande byte av lisens</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_are_changing_the_license">omsetjingar</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">diskusjon</a>)
+      notice_terms: OpenStreetMap byter til ein ny lisens den 1. april 2012. Denne er akkurat så open som den noverande, men dei juridiske delene er mykje betre tilpassa vår kartdatabase. Me ynskjer å kunne halde fram å halde på bidraga dine til OpenStreetMap, men me kan berre gjere det viss du er samd med oss i å distribuere dei under den nye lisensen. Elles må me fjerne dei frå databasen.<br /><br />Vennligst logg inn, og bruk nokre sekund på å gå igjennom og akseptere dei nye betingelsene. Takk!
+      openid: "%{logo} OpenID:"
+      openid invalid: Beklagar, din OpenID ser ut til å vere dårleg formatert
+      openid missing provider: Beklagar, fekk ikkje kontakt med din OpenID-leverandør
+      openid_logo_alt: Logg inn med ein OpenID
+      openid_providers: 
+        aol: 
+          alt: Logg inn med ein AOL OpenID
+          title: Logg inn med AOL
+        google: 
+          alt: Logg inn med ein Google OpenID
+          title: Logg inn med Google
+        myopenid: 
+          alt: Logg inn med ein myOpenID OpenID
+          title: Logg inn med myOpenID
+        openid: 
+          alt: Logg inn med ein OpenID-URL
+          title: Logg inn med OpenID
+        wordpress: 
+          alt: Logg inn med ein Wordpress OpenID
+          title: Logg inn med Wordpress
+        yahoo: 
+          alt: Logg inn med ein Yahoo OpenID
+          title: Logg inn med Yahoo
+      password: "Passord:"
+      register now: Registrer deg no
+      remember: "Hugs meg:"
+      title: Logg inn
+      to make changes: For å gjere endringar på OpenStreetMap-data, må du ha ein konto.
+      with openid: "Alternativt kan du bruke din OpenID for å logge inn:"
+      with username: "Har du allereie ein OpenStreetMap-konto? Logg inn med brukernavnet og passordet ditt:"
+    logout: 
+      heading: Logg ut frå OpenStreetMap
+      logout_button: Logg ut
+      title: Logg ut
+    lost_password: 
+      email address: "E-postadresse:"
+      heading: Gløymt passord?
+      help_text: Skriv inn e-postadressa du brukte for å registrere deg, og me vil sende deg ei lenkje som du kan bruke til å nullstille passordet ditt.
+      new password button: Nullstill passord
+      notice email cannot find: Klarte ikkje finne den e-postadressa. Beklagar.
+      notice email on way: Synd at du mista det, men ein e-post er på veg slik at du kan tilbakestille det snart.
+      title: Gløymt passord
+    make_friend: 
+      already_a_friend: Du er allereie venner med %{name}.
+      failed: Klarte ikkje leggje til %{name} som ven.
+      success: "%{name} er no venen din."
+    new: 
+      confirm email address: "Stadfest e-postadresse:"
+      confirm password: "Stadfest passord:"
+      contact_webmaster: Kontakt <a href="mailto:webmaster@openstreetmap.org">webmaster</a> for å opprette ein konto. Me vil prøve å handsame førespurnaden så fort som mogleg.
+      continue: Hald fram
+      display name: "Visningsnavn:"
+      display name description: Ditt offentleg framviste brukernavn. Du kan endre dette seinare i innstellingane.
+      email address: "E-postadresse:"
+      fill_form: Fyll ut skjemaet og me vil sende deg ein e-post for å aktivare kontoen din.
+      flash create success message: Takk for at du registrerte deg. Me har sendt ein bekreftelsesmelding til %{email} og så snart du stadfestar kontoen din kan du byrje å lage kart.<br /><br />Om du brukar eit antispamsystem som sender bekreftelsesforspørsler, kontrollar at du har hvitelistet webmaster@openstreetmap.org sidan me ikkje kan svare på bekreftelsesforespørsler.
+      heading: Opprett ein brukerkonto
+      license_agreement: Når du stadfestar kontoen din må du godkjenne <a href="http://www.osmfoundation.org/wiki/License/Contributor_terms">bidragsytervilkåra</a>.
+      no_auto_account_create: Beklagelegvis kan me for augneblunken ikkje opprette ein konto for deg automatisk.
+      not displayed publicly: Ikkje vist offentleg (sjå <a href="http://wiki.openstreetmap.org/wiki/Privacy_policy" title="Personvernpolitikk for Wiki-en inklusiv avsnitt om e-postadressser">vår personvernpolitikk</a>)
+      openid: "%{logo} OpenID:"
+      openid association: "<p>Din OpenID er ikkje tilknytta ein OpenStreetMap-konto enno.</p>\n<ul>\n   <li>Viss du er ny på OpenStreetMap, opprett ein ny konto ved hjelp av skjemaet nedanfor.</li>\n   <li>\n      Viss du allereie har ein konto kan du logge inn på kontoen din\n      ved hjelp av brukarnamnet og passordet ditt og deretter knyte kontoen\n      til din OpenID i brukarinnstillingane.\n   </li>\n</ul>"
+      openid no password: Med OpenID vert ikkje kravd eit passord, men nokon ekstraverktøy eller ein tenar kan enno krevje eit.
+      password: "Passord:"
+      terms accepted: Takk for at du godtok dei nye bidragsytervilkårene!
+      terms declined: Me beklagar at du har vedteke å ikkje akseptere dei nye bidragsytervilkårene. For meir informasjon, sjå <a href="%{url}">denne wiki-sida</a> .
+      terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_terms_declined
+      title: Opprett konto
+      use openid: Alternativt kan du bruke %{logo} OpenID for å logge inn
+    no_such_user: 
+      body: Det er ingen brukar med namnet %{user}. Sjekk om du har skrive namnet feil eller om lenkja du klikket er feil.
+      heading: Brukaren %{user} finst ikkje
+      title: Ingen brukar funnet
+    popup: 
+      friend: Ven
+      nearby mapper: Brukarar i nærleiken
+      your location: Posisjonen din
+    remove_friend: 
+      not_a_friend: "%{name} er ikkje ein av venene dine."
+      success: "%{name} vart fjerna frå venene dine"
+    reset_password: 
+      confirm password: "Stadfest passord:"
+      flash changed: Passordet ditt er endra.
+      flash token bad: Kunne ikkje finne den nøkkelen. Sjekke URLen kanskje?
+      heading: Nullstill passord for %{user}
+      password: "Passord:"
+      reset: Nullstill passord
+      title: Nullstill passord
+    set_home: 
+      flash success: Heimelokasjon lagra
+    suspended: 
+      body: "<p>\nBeklagar, kontoen din har vorte automatisk deaktivert på grunn av mistenkjeleg aktivitet.\n</p>\n<p>\nDenne avgjerda vil gjennomgåast av ein administrator snart, eller du kan kontakte %{webmaster} viss du ynskjer å diskutere dette."
+      heading: Konto stengt
+      title: Konto stengt
+      webmaster: webmaster
+    terms: 
+      agree: Eg godkjenner
+      consider_pd: I tillegg til den ovannemnde avtala ansar eg bidraga mine for å vere i public domain
+      consider_pd_why: kva er dette?
+      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_i_want_my_contributions_to_be_public_domain
+      decline: Avslå
+      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+      guidance: "Informasjon for å hjelpe å forstå desse vilkåra: eit <a href=\"%{summary}\">menneskeleg lesbart sammendrag</a> og nokon <a href=\"%{translations}\">uformelle omsetjingar</a>"
+      heading: Bidragsytervilkåra
+      legale_names: 
+        france: Frankrike
+        italy: Italia
+        rest_of_world: Resten av verda
+      legale_select: "Vel ditt bostedsland:"
+      read and accept: Les avtalen nedanfor og trykk på godkjenningsknappen for å stadfeste at du godtek vilkåra i denne avtalen for dei eksisterande og kommande bidraga dine.
+      title: Bidragsytervilkår
+      you need to accept or decline: Les og deretter anten godta eller avslå dei nye bidragsytervilkåra for å halde fram.
+    view: 
+      activate_user: aktiver denne brukaren
+      add as friend: legg til som ein ven
+      ago: (%{time_in_words_ago} sidan)
+      block_history: vis mottekne blokkeringar
+      blocks by me: blokkeringar utført av meg
+      blocks on me: blokkeringane mine
+      comments: kommentarar
+      confirm: Stadfest
+      confirm_user: stadfest denne brukaren
+      create_block: blokkar denne brukaren
+      created from: "Oppretta frå:"
+      ct accepted: Akseptert %{ago} sidan
+      ct declined: Avslått
+      ct status: "Vilkåra til bidragsytar:"
+      ct undecided: Usikker
+      deactivate_user: deaktiver denne brukaren
+      delete_user: slett denne brukaren
+      description: Skildring
+      diary: dagbok
+      edits: redigeringar
+      email address: "E-postadresse:"
+      friends_changesets: Bla gjennom alle endringssett av vener
+      friends_diaries: Bla gjennom alle dagbokoppføringar av vener
+      hide_user: skjul denne brukaren
+      if set location: Viss du set posisjonen din, så vil eit fint kart og ting vert her vist. Du kan setje heimeposisjonen på di %{settings_link}-sida.
+      km away: "%{count}km unna"
+      latest edit: "Siste redigering %{ago}:"
+      m away: "%{count}m unna"
+      mapper since: "Brukar sidan:"
+      moderator_history: vis tildelte blokkeringar
+      my comments: mine kommentarar
+      my diary: mi dagbok
+      my edits: redigeringane mine
+      my settings: innstellingane mine
+      my traces: spora mine
+      nearby users: Andre næliggande brukarar
+      nearby_changesets: Bla gjennom alle endringssett av nærliggande brukarar
+      nearby_diaries: Bla gjennom alle dagbokoppføringar av nærliggande brukarar
+      new diary entry: ny dagbokoppføring
+      no friends: Du har ikkje lagt til nokon venner enno.
+      no nearby users: Det er ingen andre brukarar som innrømmer kartlegging i området ditt enno.
+      oauth settings: oauth-innstellingar
+      remove as friend: fjern som ven
+      role: 
+        administrator: Denne brukaren er ein administrator
+        grant: 
+          administrator: Gje administrator-tilgjenge
+          moderator: Gje moderator-tilgjenge
+        moderator: Denne brukaren er ein moderator
+        revoke: 
+          administrator: Fjern administrator-tilgjenge
+          moderator: fjern moderator-tilgjenge
+      send message: send melding
+      settings_link_text: innstellingar
+      spam score: "Spamresultat:"
+      status: "Status:"
+      traces: spor
+      unhide_user: stopp å skjule denne brukaren
+      user location: Posisjonen til brukaren
+      your friends: Venene dine
+  user_block: 
+    blocks_by: 
+      empty: "%{name} har ikkje blokkert nokon enno."
+      heading: Liste over blokkeringar av %{name}
+      title: Blokkeringar av %{name}
+    blocks_on: 
+      empty: "%{name} har ikkje vorte blokkert enno."
+      heading: Liste over blokkeringar av %{name}
+      title: Blokkeringar av %{name}
+    create: 
+      flash: Oppretta ei blokkering av brukar %{name}.
+      try_contacting: Vennligst prøv å kontakte brukaren før du blokkerer dei og gje dei rimeleg med tid til å svare.
+      try_waiting: Vennligst prøv å gje brukaren rimeleg med tid til å svare før du blokkerer dei.
+    edit: 
+      back: Vis alle blokkeringar
+      heading: Endrar blokkering av %{name}
+      needs_view: Må brukaren logge inn før denne blokkeringa vert fjerna?
+      period: Kor lengje, frå no, brukaren vil blokkerast frå API-et.
+      reason: Årsaka til kvifor %{name} vert blokkert. Vennligst ver så roleg og rimeleg som mogleg og oppgje så mange detaljar du kan om situasjonen. Hugs at ikkje alle brukarar forstår felleskapssjargongen så prøv å bruke lekmannsuttrykk.
+      show: Vis denne blokkeringa
+      submit: Oppdater blokkering
+      title: Endrar blokkering av %{name}
+    filter: 
+      block_expired: Blokkeringa har allereie utløpt og kan ikkje endrast.
+      block_period: Blokkeringsperioden må vere ein av verdia som kan vert frå valde rullegardinen.
+      not_a_moderator: Du må vere ein moderator for å utføre den handlinga.
+    helper: 
+      time_future: Sluttar om %{time}.
+      time_past: Slutta %{time} sidan.
+      until_login: Aktiv inntil brukaren loggar inn.
+    index: 
+      empty: Ingen blokkeringar har vorte utførde enno.
+      heading: Liste over brukerblokkeringer
+      title: Brukerblokkeringer
+    model: 
+      non_moderator_revoke: Må vere ein moderator for å tilbakekalle ei blokkering.
+      non_moderator_update: Må vere ein moderator for å opprette eller oppdatere ei blokkering.
+    new: 
+      back: Vis alle blokkeringar
+      heading: Opprettar blokkering av %{name}
+      needs_view: Brukaren må logge inn før denne blokkeringa vert fjerna.
+      period: Kor lengje, frå no, brukaren vil blokkerast frå API-et.
+      reason: Årsaka til at %{name} vert blokkert. Vennligst ver så roleg og rimeleg som mogleg og gje så mange detaljar du kan om situasjonen, og husk på at meldinga vert synleg for offentligheita. Hugs på at ikkje alle brukarar forstår fellesskapssjargongen så prøv å bruke lekmannsuttrykk.
+      submit: Opprett blokkering
+      title: Opprettar blokkering av %{name}
+      tried_contacting: Eg har kontakta brukaren og bede dei stoppe.
+      tried_waiting: Eg har gjeve brukaren rimeleg med tid til å svare på desse kommunikasjonane.
+    not_found: 
+      back: Tilbake til indeksen
+      sorry: Beklagar, brukerblokkeringen med ID %{id} vart ikkje funnen.
+    partial: 
+      confirm: Er du sikker?
+      creator_name: Oppretta av
+      display_name: Blokkert brukar
+      edit: Rediger
+      not_revoked: (ikkje tilbakekalt)
+      reason: Årsak for blokkering
+      revoke: Tilbakekall!
+      revoker_name: Tilbakekalt av
+      show: Vis
+      status: Status
+    period: 
+      one: 1 time
+      other: "%{count} timar"
+    revoke: 
+      confirm: Er du sikker på at du vil tilbakekalle denne blokkeringa?
+      flash: Denne blokkeringa har vorte tilbakekalt.
+      heading: Tilbakekaller blokkering på %{block_on} av %{block_by}
+      past: Denne blokkeringa enda %{time} sidan og kan ikkje tilbakekalles no.
+      revoke: Tilbakekall!
+      time_future: Denne blokkeringa endar i %{time}
+      title: Tilbakekaller blokkering på %{block_on}
+    show: 
+      back: Vis alle blokkeringar
+      confirm: Er du sikker?
+      edit: Rediger
+      heading: "%{block_on} blokkert av %{block_by}"
+      needs_view: Brukaren må logge inn før denne blokkeringa vert fjerna.
+      reason: "Årsak for blokkering:"
+      revoke: Tilbakekall!
+      revoker: "Tilbakekaller:"
+      show: Vis
+      status: Status
+      time_future: Sluttar om %{time}
+      time_past: Slutta %{time} sidan
+      title: "%{block_on} blokkert av %{block_by}"
+    update: 
+      only_creator_can_edit: Bare moderatoren som oppretta denne blokkeringa kan endre han.
+      success: Blokkering oppdatert.
+  user_role: 
+    filter: 
+      already_has_role: Brukaren har allereie rollen %{role}.
+      doesnt_have_role: Brukaren har ikkje rollen %{role}.
+      not_a_role: Strengen "%{role}" er ikkje ei gyldig rolle.
+      not_an_administrator: Berre administratorar kan forandre rollar, og du er ikkje administrator.
+    grant: 
+      are_you_sure: Er du sikker på at du vil gje rollen `%{role}' til brukaren `%{name}'?
+      confirm: Stadfest
+      fail: Kunne ikkje gje rollen "%{role}" til brukar "%{name}". Sjekk at brukaren og rollen er gyldig.
+      heading: Stadfest rolletildeling
+      title: Stadfest rolletildeling
+    revoke: 
+      are_you_sure: Er du sikker på at du vil fjerne rollen "%{role}" frå brukaren "%{name}"?
+      confirm: Stadfest
+      fail: Kunne ikkje fjerne rollen "%{role}" frå brukar "%{name}". Sjekk at nytter og rolle er gyldig.
+      heading: Stadfest fjerning av rolle
+      title: Stadfest fjerning av rolle
index 794a406597f6ba6e3221ccc6ba8a90e42618ab4a..ce4dad8e51e0161a80498d55d14eafce634e833b 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: syck-pecl
 # Author: Ajank
 # Author: BdgwksxD
+# Author: BeginaFelicysym
 # Author: Deejay1
 # Author: RafalR
 # Author: Soeb
@@ -295,6 +296,7 @@ pl:
       description_user_bbox: Zestawy zmian utworzone przez użytkownika %{user} w %{bbox}
       heading: Zestawy zmian
       heading_bbox: Zestawy zmian
+      heading_friend: Zestawy zmian
       heading_user: Zestawy zmian
       heading_user_bbox: Zestawy zmian
       title: Zestawy zmian
@@ -395,11 +397,9 @@ pl:
       licence: Licencja
       longitude: "Dł:"
       manually_select: Ręcznie zaznacz inny obszar
-      mapnik_image: Obrazek z Mapnika
       max: max
       options: Opcje
       osm_xml_data: Dane XML OpenStreetMap
-      osmarender_image: Obrazek z Osmarender
       output: Wynik
       paste_html: Użyj podanego kodu HTML, aby umieścić na stronie
       scale: Skala
@@ -894,6 +894,7 @@ pl:
     map: 
       base: 
         cycle_map: Mapa Rowerowa
+        transport_map: Transport publiczny
     site: 
       edit_disabled_tooltip: Powiększ, aby edytować mapę
       edit_tooltip: Edytuje mapę
@@ -963,7 +964,7 @@ pl:
       english_link: oryginalna angielska wersja
       text: W przypadku konfliktu pomiędzy tym tłumaczeniem a %{english_original_link}, preferowana jest strona w języku angielskim.
       title: Informacje o tłumaczeniu
-    legal_babble: "<h2>Prawa autorskie i&nbsp;licencja</h2>\n<p>\nOpenStreetMap stanowi zbiór <i>wolnych danych</i>, udostępnianych na licencji <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).\n</p>\n<p>\nMożesz swobodnie kopiować, rozpowszechniać, przekazywać innym i dostosowywać nasze mapy i dane, pod warunkiem podania OpenStreetMap i jego użytkowników jako źródło. Jeśli zmienisz, przekształcisz lub wykorzystasz nasze mapy lub dane, wynik swojej pracy możesz rozpowszechniać tylko na podstawie tej samej licencji. <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Pełen tekst licencji</a> dokładnie opisuje Twoje prawa i obowiązki.\n</p>\n\n<h3>Jak podać źródło</h3>\n<p>\nJeśli korzystasz z gotowej mapy OpenStreetMap, wymagane jest podanie źródła co najmniej w postaci &bdquo;&copy; użytkownicy OpenStreetMap, CC-BY-SA&rdquo;. Jeśli korzystasz tylko z danych geograficznych, wymagane jest podanie źródła w postaci &bdquo;Dane mapy &copy; użytkownicy OpenStreetMap, CC-BY-SA&rdquo;.\n</p>\n<p>\nO ile jest to możliwe, nazwa OpenStreetMap powinna być hiperłączem do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>, zaś CC-BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Jeśli korzystasz z nośnika, który uniemożliwia tworzenie hiperłącz (np. druk na papierze), polecane jest odwołanie do stron internetowych www.openstreetmap.org (np. przez rozwinięcie nazwy OpenStreetMap do pełnego adresu internetowego) oraz www.creativecommons.org.\n</p>\n\n<h3>Dowiedz się więcej</h3>\n<p>\nWięcej informacji o możliwości wykorzystania danych OpenStreetMap można znaleźć w <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Legal FAQ</a>.\n</p>\n<p>\nUżytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie dodawać danych z jakichkolwiek źródeł chronionych prawami autorskimi (jak np. Google Maps i&nbsp;większość map drukowanych) bez wyraźnego pozwolenia właściciela praw autorskich.\n</p>\n<p>\nPomimo tego, że OpenStreetMap stanowi zbiór wolnych danych, nie jesteśmy w stanie udostępnić bezpłatnego interfejsu programistycznego (API) dla stron trzecich.\n\nZapoznaj się z naszymi <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Zasadami korzystania z API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Zasadami korzystania z kafelków mapy</a> oraz <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Zasadami korzystania z Nominatima</a>.\n</p>\n\n<h3>Dane włączone do OpenStreetMap</h3>\n<p>\nWykorzystywana przez nas licencja CC-BY-SA wymaga, aby &bdquo;oznaczyć twórcę w sposób właściwy dla wykorzystywanego nośnika lub środka przekazu&rdquo;. Indywidualni użytkownicy OpenStreetMap nie wymagają oznaczenia w sposób bardziej szczegółowy niż &bdquo;użytkownicy OpenStreetMap&rdquo;. Jednak gdy do OpenStreetMap włączane są dane z narodowych instytucji kartograficznych lub z innych znaczących źródeł, może być właściwe, by oznaczyć twórcę bezpośrednio we włączanych danych bądź też na tej stronie.\n</p>\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n<ul id=\"contributors\">\n<li><strong>Australia</strong>: Zawiera dane o miejscowościach oparte na danych ''Australian Bureau of Statistics''.</li>\n<li><strong>Austria</strong>: Zawiera dane <a href=\"http://data.wien.gv.at/\">miasta Wiednia</a> na licencji <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n<li><strong>Francja</strong>: Zawiera dane uzyskane z ''Direction Générale des Impôts''.</li>\n<li><strong>Kanada</strong>: Zawiera dane z GeoBase&reg;, GeoGratis (&copy; ''Department of Natural Resources Canada''), CanVec (&copy; ''Department of Natural Resources Canada'') i StatCan (''Geography Division, Statistics Canada'').</li>\n<li><strong>Nowa Zelandia</strong>: Zawiera dane uzyskane z ''Land Information New Zealand''. Crown Copyright reserved.</li>\n<li><strong>Polska</strong>: Zawiera dane z <a href=\"http://www.ump.waw.pl/\">mapy UMP-pcPL</a>. Copyright użytkownicy UMP-pcPL.</li>\n<li><strong>Wielka Brytania</strong>: Zawiera dane ''Ordnance Survey''. &copy; Crown copyright and database right 2010.</li>\n</ul>\n\n<p>\nWłączenie danych do OpenStreetMap nie musi oznaczać, że podmiot będący ich źródłem popiera OpenStreetMap, udziela jakiejkolwiek gwarancji lub ponosi jakąkolwiek odpowiedzialność.\n</p>"
+    legal_babble: "<h2>Prawa autorskie i&nbsp;licencja</h2>\n<p>\nOpenStreetMap stanowi zbiór <i>wolnych danych</i>, udostępnianych na licencji <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC BY-SA).\n</p>\n<p>\nMożesz swobodnie kopiować, rozpowszechniać, przekazywać innym i dostosowywać nasze mapy i dane, pod warunkiem podania OpenStreetMap i jego użytkowników jako źródło. Jeśli zmienisz, przekształcisz lub wykorzystasz nasze mapy lub dane, wynik swojej pracy możesz rozpowszechniać tylko na podstawie tej samej licencji. <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">Pełen tekst licencji</a> dokładnie opisuje Twoje prawa i obowiązki.\n</p>\n\n<h3>Jak podać źródło</h3>\n<p>\nJeśli korzystasz z gotowej mapy OpenStreetMap, wymagane jest podanie źródła co najmniej w postaci &bdquo;&copy; użytkownicy OpenStreetMap, CC BY-SA&rdquo;. Jeśli korzystasz tylko z danych geograficznych, wymagane jest podanie źródła w postaci &bdquo;Dane mapy &copy; użytkownicy OpenStreetMap, CC BY-SA&rdquo;.\n</p>\n<p>\nO ile jest to możliwe, nazwa OpenStreetMap powinna być hiperłączem do <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>, zaś CC BY-SA do <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Jeśli korzystasz z nośnika, który uniemożliwia tworzenie hiperłącz (np. druk na papierze), zalecane jest kierowanie oglądających do stron internetowych www.openstreetmap.org (np. przez rozwinięcie nazwy OpenStreetMap do pełnego adresu internetowego) oraz www.creativecommons.org.\n</p>\n\n<h3>Dowiedz się więcej</h3>\n<p>\nWięcej informacji o możliwości wykorzystania danych OpenStreetMap można znaleźć w <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">Legal FAQ</a>.\n</p>\n<p>\nUżytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie dodawać danych z jakichkolwiek źródeł chronionych prawami autorskimi (jak np. Google Maps i&nbsp;większość map drukowanych) bez wyraźnego pozwolenia właściciela praw autorskich.\n</p>\n<p>\nPomimo że OpenStreetMap stanowi zbiór wolnych danych, nie jesteśmy w stanie udostępnić bezpłatnego interfejsu programistycznego (API) dla programistów firm trzecich.\n\nZapoznaj się z naszymi <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Zasadami korzystania z API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Zasadami korzystania z kafelków mapy</a> oraz <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Zasadami korzystania z Nominatima</a>.\n</p>\n\n<h3>Dane włączone do OpenStreetMap</h3>\n<p>\nWykorzystywana przez nas licencja CC BY-SA wymaga, aby &bdquo;oznaczyć twórcę w sposób właściwy dla wykorzystywanego nośnika lub środka przekazu&rdquo;. Indywidualni użytkownicy OpenStreetMap nie wymagają oznaczenia w sposób bardziej szczegółowy niż &bdquo;użytkownicy OpenStreetMap&rdquo;. Jednak gdy do OpenStreetMap włączane są dane z narodowych instytucji kartograficznych lub z innych znaczących źródeł, może być właściwe, by oznaczyć twórcę bezpośrednio we włączanych danych bądź dodać link do niego też na tej stronie.\n</p>\n<!--\nInformation for page editors\n\nThe following lists only those organisations who require attribution\nas a condition of their data being used in OpenStreetMap. It is not a\ngeneral catalogue of imports, and must not be used except when\nattribution is required to comply with the licence of the imported\ndata.\n\nAny additions here must be discussed with OSM sysadmins first.\n-->\n<ul id=\"contributors\">\n<li><strong>Australia</strong>: Zawiera dane o miejscowościach oparte na danych ''Australian Bureau of Statistics''.</li>\n<li><strong>Austria</strong>: Zawiera dane <a href=\"http://data.wien.gv.at/\">miasta Wiednia</a> na licencji <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC BY</a>.</li>\n<li><strong>Francja</strong>: Zawiera dane uzyskane z ''Direction Générale des Impôts''.</li>\n<li><strong>Kanada</strong>: Zawiera dane z GeoBase&reg;, GeoGratis (&copy; ''Department of Natural Resources Canada''), CanVec (&copy; ''Department of Natural Resources Canada'') i StatCan (''Geography Division, Statistics Canada'').</li>\n<li><strong>Nowa Zelandia</strong>: Zawiera dane uzyskane z ''Land Information New Zealand''. Crown Copyright reserved.</li>\n<li><strong>Polska</strong>: Zawiera dane z <a href=\"http://www.ump.waw.pl/\">mapy UMP-pcPL</a>. Copyright współtwórców UMP-pcPL.\n<a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\"> Więcej o użyciu danych UMP przez OSM</a></li>\n<li><strong>Południowa Afryka</strong>: Zawiera dane pochodzące od <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, Państwowe prawa autorskie zastrzeżone.\n</li>\n<li><strong>Wielka Brytania</strong>: Zawiera dane ''Ordnance Survey''. &copy; Crown copyright and database right 2010.</li>\n</ul>\n\n<p>\nWłączenie danych do OpenStreetMap nie musi oznaczać, że podmiot będący ich źródłem popiera OpenStreetMap, udziela jakiejkolwiek gwarancji lub ponosi jakąkolwiek odpowiedzialność.\n</p>"
     native: 
       mapping_link: rozpocząć tworzenie mapy
       native_link: wersji po polsku
@@ -981,7 +982,6 @@ pl:
       people_mapping_nearby: użytkownikami z Twojej okolicy
       subject: Temat
       title: Wiadomości odebrane
-      you_have: Masz %{new_count} nowych i %{old_count} przeczytanych wiadomości.
     mark: 
       as_read: Wiadomość została oznaczona jako przeczytana
       as_unread: Wiadomość została oznaczona jako nieprzeczytana
@@ -1017,7 +1017,6 @@ pl:
       subject: Temat
       title: Wiadomości wysłane
       to: Do
-      you_have_sent_messages: Wysłaleś/aś %{count} wiadomości
     read: 
       back_to_inbox: Powrót do wysłanych
       back_to_outbox: Powrót do skrzynki nadawczej
@@ -1131,6 +1130,8 @@ pl:
     revoke: 
       flash: Cofnąłeś prawa dostępu dla aplikacji %{application}
   oauth_clients: 
+    create: 
+      flash: Pomyślnie zarejestrowano informacje
     edit: 
       submit: Edytuj
       title: Edycja aplikacji
@@ -1357,7 +1358,10 @@ pl:
   user: 
     account: 
       contributor terms: 
+        agreed: Zgodziłeś się na nowe warunki uczestnictwa.
+        heading: "Warunki uczestnictwa:"
         link text: co to jest?
+        not yet agreed: Nie zgodziłeś się na nowe warunki uczestnictwa.
       current email address: "Aktualny adres e-mail:"
       delete image: Usuń obecną grafikę
       email never displayed publicly: (nie jest wyświetlany publicznie)
@@ -1426,7 +1430,6 @@ pl:
       title: Użytkownicy
     login: 
       account not active: Niestety Twoje konto nie jest jeszcze aktywne.<br />Otwórz link zawarty w mailu potwierdzenia założenia konta, aby je aktywować lub <a href="%{reconfirm}">poproś o ponowne przesłanie maila</a>.
-      account suspended: Niestety, Twoje konto zostało zawieszone ze względu na podejrzane działania.<br />Skontaktuj się proszę z %{webmaster}em, jeśli chcesz to omówić.
       auth failure: Niestety podane dane nie pozwoliły na zalogowanie Cię.
       create account minute: Utwórz konto. To zajmuje tylko minutę.
       email or username: "Adres email lub nazwa użytkownika:"
@@ -1463,7 +1466,6 @@ pl:
       remember: "Pamiętaj mnie:"
       title: Logowanie
       to make changes: Aby wprowadzać zmiany w OpenStreetMap, musisz mieć konto.
-      webmaster: webmaster
       with openid: "Możesz do zalogowania się użyć również OpenID:"
       with username: "Masz już konto w OpenStreetMap? Zaloguj się podając nazwę użytkownika i hasło:"
     logout: 
@@ -1552,12 +1554,17 @@ pl:
       confirm_user: zatwierdź tego użytkownika
       create_block: zablokuj tego użytkownika
       created from: "Stworzony z:"
+      ct accepted: zaakceptowane %{ago} temu
+      ct declined: odrzucone
+      ct status: "Warunki uczestnictwa:"
+      ct undecided: niezdecydowane
       deactivate_user: dezaktywuj tego użytkownika
       delete_user: usuń to konto
       description: Opis
       diary: dziennik
       edits: edycje
       email address: Adres e‐mail
+      friends_diaries: Przeglądaj wszystkie wpisy dziennika wykonane przez przyjaciół
       hide_user: ukryj tego użytkownika
       if set location: Jeśli ustawisz swoją lokalizację, pojawi się na tej stronie kolorowa mapka i w ogóle. Lokalizację możesz podać na Twojej %{settings_link}.
       km away: "%{count}km stąd"
@@ -1570,6 +1577,7 @@ pl:
       my settings: moje ustawienia
       my traces: moje ślady
       nearby users: Najbliżsi użytkownicy
+      nearby_diaries: Przeglądaj wszystkie wpisy dziennika użytkowników znajdujących się w pobliżu
       new diary entry: nowy wpis w dzienniku
       no friends: Nie dodałeś/aś jeszcze żadnych znajomych.
       no nearby users: Nie ma innych użytkowników, którzy przyznają się do mapowania w tej okolicy.
@@ -1599,6 +1607,8 @@ pl:
       title: Blokady nałożone przez użytkownika %{name}
     blocks_on: 
       empty: "%{name} nie był jeszcze zablokowany."
+      heading: Lista blokad na użytkownika %{name}
+      title: Blokady na użytkownika %{name}
     create: 
       flash: Nalożono blokadę na użytkownika %{name}.
       try_contacting: Proszę rozważ, czy nie warto skontaktować się z użytkownikiem przed nałożeniem blokady, by miał on czas na odpowiedź.
@@ -1629,7 +1639,11 @@ pl:
       non_moderator_update: Musisz być moderatorem, żeby ustalać i edytować blokady.
     new: 
       back: Zobacz wszystkie blokady
+      needs_view: Użytkownik musi się zalogować, zanim blokada zostanie wyczyszczona
+      period: Na jak długo od tego momentu użytkownik ma być zablokowany przed dostępem do API.
       submit: Utwórz blokadę
+      tried_contacting: Skontaktowałem się z użytkownikami i poprosiłem ich o zaprzestanie.
+      tried_waiting: Dałem(-am) użytkownikowi  rozsądny czas, aby odpowiedzieć na te komunikaty.
     not_found: 
       back: Powrót do spisu
       sorry: Niestety, nie udało się odnaleźć blokady użytkownika o identyfikatorze %{id}.
@@ -1670,6 +1684,7 @@ pl:
       time_past: Zakończona %{time} temu
       title: "%{block_on} zablokowany przez użytkownika %{block_by}"
     update: 
+      only_creator_can_edit: Tylko moderator nakładający blokadę może ją edytować.
       success: Blokada zaktualizowana.
   user_role: 
     filter: 
index 612af1ac714543d610044af04b7fde66ef3550fd..f8e820f25366191e5a5477590d99d578cdd8583a 100644 (file)
@@ -294,14 +294,20 @@ pt-BR:
     list: 
       description: Alterações recentes
       description_bbox: Conjuntos de alterações em %{bbox}
+      description_friend: Conjuntos de alterações de seus amigos
+      description_nearby: Conjuntos de alterações de usuários próximos
       description_user: Conjuntos de alterações de %{user}
       description_user_bbox: Conjuntos de alterações de %{user} em %{bbox}
       heading: Conjuntos de alterações
       heading_bbox: Conjuntos de alterações
+      heading_friend: Conjuntos de alterações
+      heading_nearby: Conjuntos de alterações
       heading_user: Conjuntos de alterações
       heading_user_bbox: Conjuntos de alterações
       title: Conjuntos de alterações
       title_bbox: Conjuntos de alterações em %{bbox}
+      title_friend: Conjunto de alterações dos seus amigos
+      title_nearby: Conjunto de alterações de usuários próximos
       title_user: Conjuntos de alterações de %{user}
       title_user_bbox: Conjuntos de alterações de %{user} em %{bbox}
     timeout: 
@@ -351,6 +357,8 @@ pt-BR:
       older_entries: Entradas antigas
       recent_entries: "Entradas recentes no Diário:"
       title: Diários dos Usuários
+      title_friends: Diários dos amigos
+      title_nearby: Diários dos usuários próximos
       user_title: Diário de %{user}
     location: 
       edit: Editar
@@ -398,11 +406,9 @@ pt-BR:
       licence: Licença
       longitude: "Lon:"
       manually_select: Selecior área diferente manualmente
-      mapnik_image: Imagem Mapnik
       max: max
       options: Opções
       osm_xml_data: Dados XML OpenStreetMap
-      osmarender_image: Imagem Osmarender
       output: Saída
       paste_html: Cole o HTML para publicar no site
       scale: Escala
@@ -902,9 +908,7 @@ pt-BR:
     map: 
       base: 
         cycle_map: Cycle Map
-        mapnik: Mapnik
         mapquest: MapQuest Open
-        osmarender: Osmarender
         transport_map: Mapa de transporte público
       overlays: 
         maplint: Maplint
@@ -998,13 +1002,17 @@ pt-BR:
     inbox: 
       date: Data
       from: De
+      messages: Você tem %{new_messages} e %{old_messages}
       my_inbox: Minha caixa de entrada
+      new_messages: 
+        other: uma=%{count} nova mensagem
       no_messages_yet: Você ainda não tem mensagens. Por que não entrar em contato com %{people_mapping_nearby_link}?
+      old_messages: 
+        other: uma=%{count} mensagem antiga
       outbox: caixa de saída
       people_mapping_nearby: alguém mapeando por perto
       subject: Assunto
       title: Caixa de Entrada
-      you_have: Você tem %{new_count} mensagens novas e %{old_count} mensagens antigas
     mark: 
       as_read: Mensagem marcada como lida
       as_unread: Mensagem marcada como não lida
@@ -1033,6 +1041,8 @@ pt-BR:
     outbox: 
       date: Data
       inbox: caixa de entrada
+      messages: 
+        other: uma=Você tem %{count} mensagem enviada
       my_inbox: Minha %{inbox_link}
       no_sent_messages: Você ainda não enviou nenhuma mensagem. Porque não entrar em contato com %{people_mapping_nearby_link}?
       outbox: caixa de saída
@@ -1040,7 +1050,6 @@ pt-BR:
       subject: Assunto
       title: Caixa de Saída
       to: Para
-      you_have_sent_messages: Você tem %{count} mensagens enviadas
     read: 
       back_to_inbox: Voltar para a caixa de entrada
       back_to_outbox: Voltar para a caixa de saída
@@ -1507,8 +1516,8 @@ pt-BR:
       summary_no_ip: "%{name} criado em %{date}"
       title: Usuários
     login: 
+      account is suspended: Desculpe, mas sua conta foi suspensa por causa de atividades suspeitas.<br />Por favor contate o <a href="%{webmaster}">webmaster</a> se você deseja discutir isto.
       account not active: Desculpe, sua conta não está ativa ainda.<br />Por favor use o link do e-mail de confirmação para ativar sua conta ou <a href="%{reconfirm}">solicite uma nova confirmação por e-mail</a>.
-      account suspended: Desculpe, mas sua conta foi suspensa por conta de atividade suspeita. <br />Por favor, contate o %{webmaster} se você deseja discutir esta decisão.
       auth failure: Desculpe, impossível entrar com estas informações.
       create account minute: Crie uma conta. Leva apenas um minuto.
       email or username: "Email ou Nome de Usuário:"
@@ -1517,6 +1526,7 @@ pt-BR:
       lost password link: Esqueceu sua senha?
       new to osm: Primeira vez no OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Saiba mais sobre a mudança na licença do OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">traduções</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">discussão</a>)
+      notice_terms: O OpenStreetMap irá trocar sua licença em 1 de Abril de 2012. É tão aberta quanto a atual, mas as informações legais se encaixam melhor em nossa base de dados de mapas. Nós ficaríamos felizes de manter suas contribuições no OpenStreetMap, mas nós apenas poderemos fazer isso se você permitir distribui-la sob a nova licença. Do contrário, teremos que remover suas contribuições da base de dados<br /><br />Por favor faça o login, e tome alguns segundos para revisar e aceitar os novos termos. Muito obrigado!
       openid: "%{logo} OpenID:"
       openid invalid: Desculpe, mas parece que seu OpenID está malformado.
       openid missing provider: Desculpe, não consegui contatar o seu provedor OpenID
@@ -1545,7 +1555,6 @@ pt-BR:
       remember: Lembrar neste computador
       title: Entrar
       to make changes: Para fazer alterações nos dados do OpenStreetMap, você precisa criar uma conta.
-      webmaster: webmaster
       with openid: "Alternativamente use seu OpenID para conectar:"
       with username: "Já tem uma conta no OpenStreetMap? Então por favor faça o login com seu nome de usuário e senha:"
     logout: 
@@ -1640,12 +1649,18 @@ pt-BR:
       confirm_user: confirmar este usuário
       create_block: bloquear este usuário
       created from: "Criado de:"
+      ct accepted: Aceito %{ago} atrás
+      ct declined: Discordo
+      ct status: "Termos do colaborador:"
+      ct undecided: Não decidido
       deactivate_user: desativar este usuário
       delete_user: excluir este usuário
       description: Descrição
       diary: diário
       edits: edições
       email address: "Endereço de email:"
+      friends_changesets: Navegar em todos os conjuntos de alterações dos amigos
+      friends_diaries: Navegar em todas as entradas de diário dos amigos
       hide_user: esconder esse usuário
       if set location: Se você definir a sua localização, um mapa bonito vai aparecer abaixo. Você pode definir sua localização na página de %{settings_link}.
       km away: "%{count}km de distância"
@@ -1658,6 +1673,8 @@ pt-BR:
       my settings: minhas configurações
       my traces: minhas trilhas
       nearby users: Outros usuários próximos
+      nearby_changesets: Navegar em todos os conjuntos de alterações de usuários próximos
+      nearby_diaries: Navegar em todas as entradas de diário dos usuários próximos
       new diary entry: nova entrada de diário
       no friends: Você ainda não adicionou amigos.
       no nearby users: Ainda não há outros usuários mapeando por perto.
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
deleted file mode 100644 (file)
index 3fe9993..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-pt-PT:
-  dummy: dummy
index 69f8bf45c8bbcb03abd2fadca9eefa72e1777d42..8909f00cb065464fbc1a082569b14fdfda6356f2 100644 (file)
@@ -506,7 +506,6 @@ pt:
       outbox: caixa de saída
       subject: Assunto
       title: Caixa de Entrada
-      you_have: Tu tens %{new_count} novas mensagens e %{old_count} mensagens no total
     message_summary: 
       delete_button: Apagar
       read_button: Marcar como lido
@@ -717,7 +716,6 @@ pt:
       register now: Registar-se agora
       remember: "Lembrar-me:"
       title: Autenticar-se
-      webmaster: webmaster
     logout: 
       heading: Sair do OpenStreetMap
       logout_button: Sair
index 29de0d5dd5a07b7d74ae7f960ac48830faabe8cd..a065de2a656c0a94e8fcd1a92ee7a4e3a3f2de7a 100644 (file)
@@ -28,6 +28,7 @@ ro:
         latitude: Latitudine
         longitude: Longitudine
         name: Nume
+        public: Public
         size: Dimensiune
         user: Utilizator
         visible: Vizibilă
@@ -35,6 +36,7 @@ ro:
         active: Activ
         description: Descriere
         display_name: Afișare nume
+        email: E-mail
         languages: Limbi
         pass_crypt: Parolă
     models: 
@@ -91,6 +93,8 @@ ro:
       show_area_box: Afișează cutia zonei
     common_details: 
       changeset_comment: "Comentariu:"
+      deleted_at: "Șters la:"
+      deleted_by: "Șters de:"
       edited_at: "Editat la:"
       edited_by: "Editat de:"
       in_changeset: "În setul de schimbări:"
@@ -156,7 +160,7 @@ ro:
       members: "Membrii:"
       part_of: "Parte din:"
     relation_history: 
-      download: "%{download_xml_link} sau %{view_history_link}"
+      download: "%{download_xml_link} sau %{view_details_link}"
       download_xml: Descărcare XML
       relation_history: Istoric relații
       relation_history_title: "Istoric relații: %{relation_name}"
@@ -244,26 +248,484 @@ ro:
       still_editing: (încă se editează)
       view_changeset_details: Vizualizare detalii set de schimbări
     changeset_paging_nav: 
-      showing_page: Se afișează pagina
+      next: Următoarea »
+      previous: « Precedenta
+      showing_page: Se afișează pagina %{page}
     changesets: 
       area: Zonă
       comment: Comentariu
+      id: ID
       saved_at: Salvat la
       user: Utilizator
     list: 
       description: Schimbări recente
+  diary_entry: 
+    diary_entry: 
+      comment_count: 
+        one: un comentariu
+        other: "%{count} comentarii"
+    edit: 
+      language: "Limbă:"
+      latitude: "Latitudine:"
+      location: "Locație:"
+      longitude: "Longitudine:"
+      save_button: Salvează
+      subject: "Subiect:"
+    list: 
+      title: Jurnalele utilizatorilor
+      title_friends: Jurnalele prietenilor
+      title_nearby: Jurnalele utilizatorilor aflați în apropiere
+      user_title: Jurnalul utilizatorului %{user}
+    location: 
+      edit: Modificare
+      location: "Locație:"
+      view: Vizualizare
+    view: 
+      login: Autentificare
+      login_to_leave_a_comment: "%{login_link}a este necesară pentru a comenta"
+      save_button: Salvează
+      title: Jurnalul utilizatorului %{user} | %{title}
+      user_title: Jurnalul utilizatorului %{user}
   export: 
     start: 
+      add_marker: Adaugă un marcator pe hartă
+      export_button: Exportare
+      format: Format
+      image_size: Dimensiune imagine
+      latitude: "Lat:"
       licence: Licență
+      longitude: "Long:"
+      max: max
       options: Opțiuni
+      output: Date de ieșire
+      scale: Scară
+      too_large: 
+        heading: Arie prea mare
+      zoom: Zoom
+    start_rjs: 
+      drag_a_box: Trageți cu mouse-ul și creați un dreptunghi pentru a selecta zona hărții
+      export: Exportă
+      manually_select: Selectare manuală a unei alte zone
   geocoder: 
+    description: 
+      title: 
+        osm_namefinder: "%{types} de la <a href=\"http://gazetteer.openstreetmap.org/namefinder/\">OpenStreetMap Namefinder</a>"
+      types: 
+        cities: Orașe
+        places: Locuri
+        towns: Orășele
+    direction: 
+      east: est
+      north: nord
+      north_east: nord-est
+      north_west: nord-vest
+      south: sud
+      south_east: sud-est
+      south_west: sud-vest
+      west: vest
+    distance: 
+      one: circa 1 km
+      other: circa %{count} km
+      zero: mai puțin de 1 km
+    results: 
+      more_results: Mai multe rezultate
+      no_results: Niciun rezultat găsit
+    search: 
+      title: 
+        ca_postcode: Rezultate de la <a href="http://geocoder.ca/">Geocoder.CA</a>
+        geonames: Rezultate de la <a href="http://www.geonames.org/">GeoNames</a>
+        latlon: Rezultate <a href="http://openstreetmap.org/">interne</a>
+        osm_namefinder: Rezultate de la <a href="http://gazetteer.openstreetmap.org/namefinder/">OpenStreetMap Namefinder</a>
+        osm_nominatim: Rezultate de la <a href="http://nominatim.openstreetmap.org/">OpenStreetMap Nominatim</a>
+        uk_postcode: Rezultate de la <a href="http://www.npemap.org.uk/">NPEMap / FreeThe Postcode</a>
+        us_postcode: Rezultate de la <a href="http://geocoder.us/">Geocoder.us</a>
     search_osm_namefinder: 
       prefix: "%{type}"
+      suffix_place: ", %{distance} %{direction} de %{placename}"
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          airport: Aeroport
+          arts_centre: Centru de arte
+          atm: Bancomat
+          auditorium: Auditoriu
+          bank: Instituție bancară
+          bar: Bar
+          bench: Bancă
+          bicycle_parking: Parcare de biciclete
+          bicycle_rental: Închiriere de biciclete
+          brothel: Bordel
+          bureau_de_change: Casă de schimb valutar
+          bus_station: Stație de autobuz
+          cafe: Cafenea
+          car_rental: Închiriere de mașini
+          car_wash: Spălătorie auto
+          casino: Cazinou
+          cinema: Cinematograf
+          clinic: Clinică
+          club: Club
+          college: Colegiu
+          courthouse: Tribunal
+          crematorium: Crematoriu
+          dentist: Dentist
+          doctors: Medici
+          drinking_water: Cișmea
+          driving_school: Școală de șoferi
+          embassy: Ambasadă
+          emergency_phone: Telefon de urgență
+          fast_food: Fast-food
+          ferry_terminal: Terminal pentru feriboturi
+          fire_hydrant: Hidrant
+          fire_station: Stație de pompieri
+          fountain: Fântână
+          fuel: Benzinărie
+          grave_yard: Cimitir
+          gym: Sală de fitness / gimnastică
+          health_centre: Centru de sănătate
+          hospital: Spital
+          hotel: Hotel
+          ice_cream: Înghețată
+          kindergarten: Grădiniță
+          library: Bibliotecă
+          market: Piață
+          mountain_rescue: Salvamont
+          nightclub: Club de noapte
+          nursery: Creșă
+          nursing_home: Azil de bătrâni
+          office: Birou
+          park: Parc
+          parking: Parcare
+          pharmacy: Farmacie
+          place_of_worship: Lăcaș de cult
+          police: Poliție
+          post_box: Cutie poștală
+          post_office: Oficiu poștal
+          prison: Închisoare
+          pub: Pub
+          public_building: Clădire publică
+          public_market: Piață publică
+          reception_area: Zonă de recepție
+          recycling: Punct de reciclare
+          restaurant: Restaurant
+          sauna: Saună
+          school: Școală
+          shelter: Adăpost
+          shop: Magazin
+          shopping: Cumpărături
+          studio: Studio
+          supermarket: Supermarket
+          taxi: Taxi
+          telephone: Telefon public
+          theatre: Teatru
+          toilets: Toalete
+          townhall: Primărie
+          university: Universitate
+          veterinary: Medic veterinar
+          waste_basket: Coș de gunoi
+          wifi: Acces WiFi
+          youth_centre: Centru de tineret
+        boundary: 
+          administrative: Graniță administrativă
+        building: 
+          apartments: Bloc de apartamente
+          bunker: Buncăr
+          chapel: Capelă
+          church: Biserică
+          city_hall: Primărie
+          commercial: Clădire comercială
+          entrance: Intrare în clădire
+          flats: Apartamente
+          garage: Garaj
+          hospital: Clădire de spital
+          hotel: Hotel
+          house: Casă
+          industrial: Clădire industrială
+          office: Clădire de birouri
+          public: Clădire publică
+          residential: Clădire rezidențială
+          school: Clădire școlară
+          shop: Magazin
+          stadium: Stadion
+          store: Magazin
+          terrace: Terasă
+          tower: Turn
+          train_station: Gară
+        highway: 
+          bus_guideway: Linie de autobuz ghidată
+          bus_stop: Stație de autobuz
+          emergency_access_point: Punct de acces de urgență
+          footway: Cale pietonală
+          ford: Vad
+          gate: Poartă
+          motorway: Autostradă
+          motorway_junction: Intersecție pe autostradă
+          path: Potecă
+          pedestrian: Cale pietonală
+          platform: Platformă
+          primary: Drum principal
+          raceway: Pistă
+          road: Drum
+          secondary: Drum secundar
+          secondary_link: Drum secundar
+          services: Servicii pe autostradă
+          tertiary: Drum terțiar
+          trail: Potecă
+          unclassified: Drum neclasificat
+        historic: 
+          archaeological_site: Sit arheologic
+          battlefield: Câmp de luptă
+          boundary_stone: Bornă de graniță
+          building: Clădire
+          castle: Castel
+          church: Biserică
+          house: Casă
+          manor: Conac
+          mine: Mină
+          monument: Monument
+          museum: Muzeu
+          ruins: Ruine
+          tower: Turn
+          wreck: Epavă
+        landuse: 
+          basin: Bazin
+          cemetery: Cimitir
+          commercial: Zonă comercială
+          construction: Construcție
+          farm: Fermă
+          farmland: Teren agricol
+          forest: Pădure
+          grass: Iarbă
+          industrial: Zonă industrială
+          landfill: Groapă de gunoi
+          meadow: Luncă
+          military: Zonă militară
+          mine: Mină
+          mountain: Munte
+          nature_reserve: Rezervație naturală
+          park: Parc
+          plaza: Scuar
+          quarry: Carieră
+          railway: Cale ferată
+          recreation_ground: Zonă de recreere
+          reservoir: Rezervor
+          residential: Zonă rezidențială
+          vineyard: Podgorie
+          wood: Pădure
+        leisure: 
+          beach_resort: Stațiune balneară
+          fishing: Zonă de pescuit
+          garden: Grădină
+          golf_course: Teren de golf
+          ice_rink: Patinoar
+          miniature_golf: Minigolf
+          nature_reserve: Rezervație naturală
+          park: Parc
+          pitch: Teren de sport
+          playground: Loc de joacă
+          recreation_ground: Zonă de recreere
+          stadium: Stadion
+          swimming_pool: Bazin de înot
+          track: Pistă de atletism
+          water_park: Parc acvatic
+        natural: 
+          bay: Golf
+          beach: Plajă
+          cape: Cap
+          cave_entrance: Intrare în peșteră
+          channel: Canal
+          cliff: Stâncă
+          coastline: Litoral
+          crater: Crater
+          fjord: Fiord
+          geyser: Gheizer
+          glacier: Ghețar
+          hill: Deal
+          island: Insulă
+          land: Teren
+          marsh: Mlaștină
+          moor: Baltă
+          mud: Noroi
+          peak: Vârf
+          reef: Recif
+          ridge: Creastă
+          river: Râu
+          rock: Rocă
+          scree: Grohotiș
+          scrub: Tufăriș
+          shoal: Banc de nisip
+          spring: Izvor
+          strait: Strâmtoare
+          tree: Copac
+          valley: Vale
+          volcano: Vulcan
+          water: Apă
+          wood: Pădure
+        place: 
+          airport: Aeroport
+          city: Oraș
+          country: Țară
+          county: Județ
+          farm: Fermă
+          hamlet: Cătun
+          house: Casă
+          houses: Case
+          island: Insulă
+          islet: Insuliță
+          locality: Localitate
+          moor: Baltă
+          municipality: Comună
+          postcode: Cod poștal
+          region: Regiune
+          sea: Mare
+          state: Stat
+          subdivision: Subdiviziune
+          suburb: Suburbie
+          town: Orășel
+          unincorporated_area: Zonă neîncorporată
+          village: Sat
+        railway: 
+          abandoned: Cale ferată abandonată
+          construction: Cale ferată în construcție
+          disused: Cale ferată dezafectată
+          disused_station: Gară dezafectată
+          funicular: Funicular
+          historic_station: Gară istorică
+          junction: Nod feroviar
+          level_crossing: Trecere la nivel
+          light_rail: Metrou
+          monorail: Monoșină
+          narrow_gauge: Cale ferată cu ecartament îngust
+          platform: Platformă feroviară
+          station: Gară
+          subway: Stație de metrou
+          subway_entrance: Intrare la metrou
+          tram: Tramvai
+          tram_stop: Stație de tramvai
+          yard: Depou
+        shop: 
+          apparel: Magazin de îmbrăcăminte
+          art: Magazin de artă
+          bakery: Brutărie
+          beauty: Salon de frumusețe
+          beverages: Magazin de băuturi
+          bicycle: Magazin de biciclete
+          books: Librărie
+          butcher: Măcelărie
+          car_parts: Piese auto
+          car_repair: Service auto
+          clothes: Magazin de haine
+          confectionery: Cofetărie
+          cosmetics: Magazin de cosmetice
+          drugstore: Farmacie
+          dry_cleaning: Curățătorie chimică
+          electronics: Magazin de electronice
+          estate_agent: Agent imobiliar
+          fish: Pescărie
+          florist: Florărie
+          food: Alimentară
+          furniture: Mobilier
+          gallery: Galerie
+          grocery: Magazin alimentar
+          hairdresser: Coafor
+          hifi: Hi-Fi
+          insurance: Asigurare
+          jewelry: Bijuterie
+          kiosk: Chioșc
+          laundry: Spălătorie
+          mall: Mall
+          market: Piață
+          newsagent: Chioșc de ziare
+          optician: Optician
+          organic: Magazin de alimente organice
+          salon: Salon de frumusețe
+          shopping_centre: Centru comercial
+          stationery: Magazin de papetărie
+          supermarket: Supermarket
+          toys: Magazin de jucării
+          travel_agency: Agenție de turism
+        tourism: 
+          alpine_hut: Refugiu montan
+          artwork: Operă de artă
+          attraction: Atracție
+          cabin: Cabină
+          camp_site: Loc de campare
+          chalet: Cabană
+          guest_house: Casă de oaspeți
+          hostel: Hotel de tineret
+          hotel: Hotel
+          information: Informații
+          motel: Motel
+          museum: Muzeu
+          theme_park: Parc tematic
+          valley: Vale
+          zoo: Gradină zoologică
+        waterway: 
+          canal: Canal
+          dam: Baraj
+          ditch: Șanț
+          dock: Doc
+          drain: Scurgere
+          lock: Ecluză
+          lock_gate: Poartă de ecluză
+          mooring: Amaraj
+          river: Râu
+          waterfall: Cascadă
+          weir: Stăvilar
+  layouts: 
+    copyright: Drepturi de autor și licență
+    documentation: Documentație
+    documentation_title: Documentație pentru proiect
+    edit: Modificare
+    edit_with: Modificare cu %{editor}
+    help: Ajutor
+    help_centre: Centru de ajutor
+    history: Istoric
+    home: acasă
+    log_in: autentificare
+    log_in_tooltip: Autentificare cu un cont existent
+    logo: 
+      alt_text: Logoul OpenStreetMap
+    logout: închide sesiunea
+    logout_tooltip: Închide sesiunea
+    make_a_donation: 
+      text: Faceți o donație
+    sign_up: înregistrare
+    sign_up_tooltip: Creați un cont pentru editare
+    view: Vizualizare
+    view_tooltip: Vizualizare hartă
+    welcome_user: Bine ați venit, %{user_link}
+    welcome_user_link_tooltip: Pagina dumneavoastră de utilizator
+  license_page: 
+    foreign: 
+      title: Despre această traducere
+    native: 
+      title: Despre această pagină
   message: 
     delete: 
       deleted: Mesaj șters
     message_summary: 
       delete_button: Şterge
+    outbox: 
+      date: Dată
+      inbox: mesaje primite
+      messages: 
+        one: Aveți %{count} mesaj trimis
+        other: Aveți %{count} (de) mesaje trimise
+      my_inbox: Mesajele mele primite
+      outbox: mesaje trimise
+      subject: Subiect
+      title: Mesaje trimise
+      to: Către
+    read: 
+      back_to_inbox: Înapoi la mesaje primite
+      back_to_outbox: Înapoi la mesaje trimise
+      date: Dată
+      from: De la
+      reply_button: Răspunde
+      subject: Subiect
+      title: Citire mesaj
+      to: Către
+      unread_button: Marchează ca necitit
     sent_message_summary: 
       delete_button: Şterge
   oauth: 
@@ -286,10 +748,20 @@ ro:
     with_id: "%{id}"
     with_name: "%{name} (%{id})"
   site: 
+    edit: 
+      user_page_link: pagină de utilizator
     index: 
       license: 
+        license_name: Creative Commons Atribuire și distribuire în condiții identice 2.0
         license_url: http://creativecommons.org/licenses/by-sa/2.0/
+        notice: Distribuit sub licența %{license_name} de către %{project_name} și contribuitorii săi.
+        project_name: proiectul OpenStreetMap
         project_url: http://openstreetmap.org
+      permalink: Legătură permanentă
+      shortlink: Legătură scurtată
+  time: 
+    formats: 
+      friendly: "%e %B %Y la %H:%M"
   trace: 
     edit: 
       visibility: "Vizibilitate:"
index 96a4a53a2449a9af49e209966a50015c3154ad42..6e881c0ec1b6eaafda1749624b261c9578cdd233 100644 (file)
@@ -3,16 +3,19 @@
 # Export driver: syck-pecl
 # Author: AOleg
 # Author: Aleksandr Dezhin
+# Author: Amire80
 # Author: Calibrator
 # Author: Chilin
 # Author: Dr&mx
 # Author: Eleferen
 # Author: EugeneZelenko
+# Author: Express2000
 # Author: Ezhick
 # Author: G0rn
 # Author: Komzpa
 # Author: Lockal
 # Author: MaxSem
+# Author: TarzanASG
 # Author: Yuri Nazarov
 # Author: Александр Сигачёв
 # Author: Сrower
@@ -48,7 +51,7 @@ ru:
         active: Активен
         description: Описание
         display_name: Отображаемое имя
-        email: Ð­Ð». Ð°Ð´Ñ\80еÑ\81
+        email: Ð\90дÑ\80еÑ\81 Ñ\8dлекÑ\82Ñ\80онной Ð¿Ð¾Ñ\87Ñ\82Ñ\8b
         languages: Языки
         pass_crypt: Пароль
     models: 
@@ -296,19 +299,33 @@ ru:
     list: 
       description: Последние изменения
       description_bbox: "Пакеты правок в рамке, охватывающей координаты: %{bbox}"
+      description_friend: Пакеты правок ваших друзей
+      description_nearby: Наборы правок соседних участников
       description_user: Пакеты правок пользователя %{user}
       description_user_bbox: Пакеты правок пользователя %{user} в рамке, охватывающей координаты %{bbox}
       heading: Пакеты правок
       heading_bbox: Пакеты правок
+      heading_friend: Пакеты правок
+      heading_nearby: Пакеты правок
       heading_user: Пакеты правок
       heading_user_bbox: Пакеты правок
       title: Пакет правок
       title_bbox: Пакет правок в рамке, охватывающей координаты %{bbox}
+      title_friend: Пакеты правок ваших друзей
+      title_nearby: Пакеты правок соседних участников
       title_user: Пакеты правок пользователя %{user}
       title_user_bbox: Пакеты правок пользователя %{user} в рамке, охватывающей координаты %{bbox}
     timeout: 
       sorry: К сожалению, список пакетов правок, который вы запросили, слишком большой для извлечения.
   diary_entry: 
+    comments: 
+      ago: "%{ago} назад"
+      comment: Комментарий
+      has_commented_on: "%{display_name} только что прокомментировал следующие записи дневника"
+      newer_comments: Более новые комментарии
+      older_comments: Более старые комментарии
+      post: Пост
+      when: Когда
     diary_comment: 
       comment_from: Комментарий %{link_user} %{comment_created_at}
       confirm: Подтвердить
@@ -354,6 +371,8 @@ ru:
       older_entries: Более старые записи
       recent_entries: "Недавние записи:"
       title: Дневники
+      title_friends: Дневники друзей
+      title_nearby: Дневники соседних участников
       user_title: Дневник пользователя %{user}
     location: 
       edit: Правка
@@ -393,7 +412,7 @@ ru:
       area_to_export: Область для экспорта
       embeddable_html: Встраиваемый HTML
       export_button: Экспортировать
-      export_details: Ð\94аннÑ\8bе OpenStreetMap Ñ\80аÑ\81пÑ\80оÑ\81Ñ\82Ñ\80анÑ\8fÑ\8eÑ\82Ñ\81Ñ\8f Ð½Ð° Ñ\83Ñ\81ловиÑ\8fÑ\85 Ð»Ð¸Ñ\86ензии <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0</a>.
+      export_details: Ð\94аннÑ\8bе OpenStreetMap Ñ\80аÑ\81пÑ\80оÑ\81Ñ\82Ñ\80анÑ\8fÑ\8eÑ\82Ñ\81Ñ\8f Ð¿Ð¾ <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.ru">лиÑ\86ензии Creative Commons Attribution-ShareAlike 2.0</a>.
       format: "Формат:"
       format_to_export: Формат экспорта
       image_size: "Размер изображения:"
@@ -401,16 +420,15 @@ ru:
       licence: Лицензия
       longitude: "Долгота:"
       manually_select: Выделить другую область
-      mapnik_image: Изображение Mapnik
+      map_image: Изображение карты (показывает стандартный слой)
       max: макс.
       options: Настройки
-      osm_xml_data: Данные (OpenStreetMap XML)
-      osmarender_image: Изображение Osmarender
+      osm_xml_data: Данные в формате OpenStreetMap XML
       output: Результат
       paste_html: HTML-код для встраивания на сайт
       scale: Масштаб
       too_large: 
-        body: Эта область слишком велика, для экспорта в качестве XML данных OpenStreetMap. Пожалуйста, увеличьте масштаб или выберите меньший размер.
+        body: Эта область слишком велика для экспорта в качестве данных в формате OpenStreetMap XML. Пожалуйста, увеличьте масштаб или выберите меньшую область.
         heading: Область слишком большая
       zoom: Приблизить
     start_rjs: 
@@ -499,22 +517,22 @@ ru:
           ferry_terminal: Паромная станция
           fire_hydrant: Пожарный гидрант
           fire_station: Пожарная охрана
-          fountain: фонтан
+          fountain: Фонтан
           fuel: Заправка
           grave_yard: Место захоронения
-          gym: тренажерный зал
+          gym: Тренажёрный зал / Фитнес-центр
           hall: Холл
           health_centre: Оздоровительный центр
           hospital: Госпиталь
           hotel: Гостинница
-          hunting_stand: Ð¾хотничья вышка
+          hunting_stand: Ð\9eхотничья вышка
           ice_cream: Мороженное
           kindergarten: Детский сад
           library: Библиотека
           market: Магазин
           marketplace: Рыночная площадь
           mountain_rescue: Горная спасательная служба
-          nightclub: Ð½очной клуб
+          nightclub: Ð\9dочной клуб
           nursery: Пансионат
           nursing_home: Дом престарелых
           office: Офис
@@ -528,14 +546,14 @@ ru:
           preschool: Дошкольное учреждение
           prison: Тюрьма
           pub: Паб
-          public_building: Ð¾бщественное здание
+          public_building: Ð\9eбщественное здание
           public_market: Городской рынок
           reception_area: Приёмная
           recycling: Место утилизации
           restaurant: Ресторан
           retirement_home: Дом престарелых
           sauna: Сауна
-          school: школа
+          school: Школа
           shelter: Укрытие
           shop: Магазин
           shopping: Торговый центр
@@ -552,7 +570,7 @@ ru:
           veterinary: Ветеринарная клиника
           village_hall: Усадьба
           waste_basket: Мусорка
-          wifi: Вай-Фай
+          wifi: Wi-Fi-доступ
           youth_centre: Молодёжный центр
         boundary: 
           administrative: Административная граница
@@ -560,7 +578,7 @@ ru:
           apartments: Многоквартирный дом
           block: Ряд зданий
           bunker: Бункер
-          chapel: Ð¦ÐµÑ\80ковÑ\8c
+          chapel: Ð§Ð°Ñ\81овнÑ\8f
           church: Церковь
           city_hall: Мэрия
           commercial: Офисное здание
@@ -579,7 +597,7 @@ ru:
           public: Общественное здание
           residential: Жилой дом
           retail: Здание на продажу
-          school: Ð¨ÐºÐ¾Ð»Ð°
+          school: Ð\97дание Ñ\88колÑ\8b
           shop: Магазин
           stadium: Стадион
           store: Магазин
@@ -748,10 +766,10 @@ ru:
           houses: Дома
           island: Остров
           islet: Маленький остров
-          locality: Ð\9dаÑ\81елÑ\91ннÑ\8bй Ð¿Ñ\83нкÑ\82
+          locality: Ð\97абÑ\80оÑ\88еннаÑ\8f Ð´ÐµÑ\80евнÑ\8f, Ñ\83Ñ\80оÑ\87иÑ\89е, Ð½ÐµÐ¾Ð±Ð¸Ñ\82аемаÑ\8f Ð¼ÐµÑ\81Ñ\82ноÑ\81Ñ\82Ñ\8c
           moor: Торфяник
           municipality: Муниципалитет
-          postcode: Ð\98ндекс
+          postcode: Ð\9fоÑ\87Ñ\82овÑ\8bй Ð¸ндекс
           region: Регион
           sea: Море
           state: Область/Штат
@@ -794,8 +812,8 @@ ru:
           books: Книжный магазин
           butcher: Мясная лавка
           car: Автосалон
-          car_dealer: Ð\90вÑ\82омагазин
-          car_parts: Ð\90вÑ\82омагазин
+          car_dealer: Ð\90вÑ\82омобилÑ\8cнÑ\8bй Ð´Ð¸Ð»ÐµÑ\80
+          car_parts: Ð\90вÑ\82озапÑ\87аÑ\81Ñ\82и
           car_repair: Автомастерская
           carpet: Ковры
           charity: Секонд-хэнд
@@ -808,7 +826,7 @@ ru:
           cosmetics: Косметика
           department_store: Универсам
           discount: Магазин распродаж
-          doityourself: Сделайам
+          doityourself: Сделай сам
           drugstore: Аптека
           dry_cleaning: Химчистка
           electronics: Магазин электротоваров
@@ -861,7 +879,7 @@ ru:
           bed_and_breakfast: Полупансион
           cabin: Каюта
           camp_site: Лагерь
-          caravan_site: Ð\9aаÑ\80аван-Ñ\81аÑ\80ай
+          caravan_site: Ð¡Ñ\82оÑ\8fнка Ð´Ð»Ñ\8f Ð´Ð¾Ð¼Ð¸ÐºÐ¾Ð² Ð½Ð° ÐºÐ¾Ð»Ñ\91Ñ\81аÑ\85
           chalet: Шале
           guest_house: Домик для гостей
           hostel: Хостел
@@ -885,7 +903,7 @@ ru:
           dock: Док
           drain: Сточная канава
           lock: Шлюз
-          lock_gate: Ð¨Ð»Ñ\8eз
+          lock_gate: Ð\92оÑ\80оÑ\82а Ñ\88лÑ\8eза
           mineral_spring: Минеральный родник
           mooring: Место швартовки
           rapids: Речной порог
@@ -900,10 +918,9 @@ ru:
     map: 
       base: 
         cycle_map: Карта для велосипедистов
-        mapnik: Mapnik
         mapquest: MapQuest Open
-        osmarender: Osmarender
-        transport_map: Ð¢Ñ\80анÑ\81поÑ\80Ñ\82нÑ\8bе ÐºÐ°Ñ\80Ñ\82Ñ\8b
+        standard: Стандартный
+        transport_map: Ð\9aаÑ\80Ñ\82а Ñ\82Ñ\80анÑ\81поÑ\80Ñ\82а
       overlays: 
         maplint: Maplint
     site: 
@@ -941,14 +958,16 @@ ru:
       one: В вашем ящике %{count} новое сообщение
       other: В вашем ящике есть %{count} новых сообщений.
       zero: В вашем ящике нет непрочитанных сообщений
-    intro_1: OpenStreetMap â\80\94 Ñ\8dÑ\82о Ñ\81вободно Ñ\80едакÑ\82иÑ\80Ñ\83емая карта всего мира. Она сделана такими же людьми, как и вы.
-    intro_2: OpenStreetMap позволяет совместно просматривать, изменять и использовать географические данные в любой точке Земли.
+    intro_1: OpenStreetMap â\80\94 Ñ\8dÑ\82о Ñ\81вободнаÑ\8f Ð¸ Ð´Ð¾Ñ\81Ñ\82Ñ\83пнаÑ\8f Ð´Ð»Ñ\8f Ñ\80едакÑ\82иÑ\80ования карта всего мира. Она сделана такими же людьми, как и вы.
+    intro_2: OpenStreetMap позволяет вам просматривать, редактировать и в духе сотрудничества использовать географические данные о любой точке Земли.
     intro_3: Услуги хостинга для OpenStreetMap любезно предоставлены %{ucl}, %{ic} и %{bytemark}. Другие сторонники проекта перечислены в %{partners}.
     intro_3_ic: Имперским колледжом Лондона
     intro_3_partners: вики
+    intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=ru
     intro_3_ucl: UCL VR Centre
     license: 
-      title: Данные OpenStreetMap лицензированы Creative Commons Attribution-Share Alike 2.0 Generic
+      alt: CC BY-SA 2.0
+      title: Данные OpenStreetMap доступны по лицензии Creative Commons Attribution-Share Alike 2.0 Generic
     log_in: войти
     log_in_tooltip: Войти под существующей учётной записью
     logo: 
@@ -972,12 +991,13 @@ ru:
     welcome_user_link_tooltip: Ваша страница пользователя
     wiki: Вики
     wiki_title: Вики-сайт проекта
+    wiki_url: http://wiki.openstreetmap.org/wiki/RU:%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0?uselang=ru
   license_page: 
     foreign: 
       english_link: английского оригинала
       text: В случае конфликта между этой переведённой страницей и %{english_original_link}, английская страница должна иметь приоритет
       title: Об этом переводе
-    legal_babble: "<h2> Авторские права и лицензирование</h2>\n<p>OpenStreetMap предоставляет <i>открытые данные</i>, на условиях лицензии <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA). \n</p>\n\n<p>Вы можете свободно копировать, распространять, передавать и дорабатывать наши карты и данные, до тех пор, пока вы ссылаетесь на OpenStreetMap и его сообщество. Если вы изменяете или берёте наши материалы за основу, то вы должны распространять результаты под такой же лицензией. Полный <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">текст лицензии</a> разъясняет ваши права и обязанности.\n</p>\n\n<h3>Как сослаться на OpenStreetMap</h3>\n<p>Если вы используете изображения карт OpenStreetMap, мы требуем, чтобы вы указывали, по крайней мере, «© Участники OpenStreetMap, CC-BY-SA». Если вы используете только картографические данные, мы требуем наличия указания «Картографические данные © Участники OpenStreetMap, CC-BY-SA». \n</p>\n<p>Везде, где это возможно, следует делать гипертекстовую ссылку на OpenStreetMap <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> и на CC-BY-SA <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a> . Если вы используете носители где использование гипертекстовых ссылок невозможно (например, печатные произведения), мы предлагаем вам направлять ваших читателей непосредственно к www.openstreetmap.org (возможно, расширяя OpenStreetMap до полного адреса) и к www.creativecommons.org. \n</p>\n\n<h3>Подробнее</h3>\n<p>Узнайте больше об использовании наших данных на странице <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ\">ответов на правовые вопросы</a>. \n</p>\n<p>Участники сообщества OSM должны всегда помнить о том, что запрещается добавлять данные из любых защищенных авторским правом источников (например с Google Maps или печатных карт) без предварительного согласия правообладателей. \n</p>\n<p>Хотя OpenStreetMap содержит свободные данные, мы не в состоянии предоставлять бесплатный API к нашим картам для сторонних разработчиков. См. <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Правила использования API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Правила использования частей карты</a> и <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Правила использования службы Nominatim</a> . \n</p>\n\n<h3>С нами сотрудничают</h3>\n<p>Наша лицензия CC-BY-SA требует от вас «указывать автора оригинального произведения, в соответствии с особенностями носителя информации и используемых средств». Обычные члены сообщества OSM не требуют указания авторства больше, чем строчкой «участники OpenStreetMap», но в OpenStreetMap есть данные, полученные от национальных картографических агентств или других существенных источников, возможно имеет смысл указать непосредственно на них, как на источник, или добавить ссылку на эту страницу. \n</p>\n\n<!-- Информация для редактирующих страницу. Ниже перечислены только те организации, которые требуют ссылки на своё авторство в качестве условий использования их данных в OpenStreetMap. Это не общий каталог импортируемых данных, список не должен использоваться за исключением случаев, когда указание авторства требуется условиями лицензии на импортируемые данные.\n\nЛюбые дополнения должны быть в первую очередь обсуждены с системными администраторами OSM. -->\n\n<ul id=\"contributors\">\n<li><strong>Австралия.</strong> Данные пригородов от Австралийского бюро статистики. </li>\n<li><strong>Австрия.</strong> Данные <a href=\"http://data.wien.gv.at/\">города Вена</a> на условиях <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n<li><strong>Канада.</strong> Данные от GeoBase ®, GeoGratis (© Департамент природных ресурсов Канады), CanVec (© Департамент природных ресурсов Канады) и StatCan (Отдел Географии, Статистическое ведомство Канады).</li>\n<li><strong>Франция</strong>: Данные от Главного налогового управления.</i>\n<li><strong>Новая Зеландия.</strong> Данные из сведений о земельных ресурсах Новой Зеландии. Crown Copyright reserved. </li>\n<li><strong>Польша.</strong> Данные с <a href=\"http://ump.waw.pl/\">карт UMP-pcPL</a>. Copyright участники UMP-pcPL.</li>\n<li><strong>Великобритания.</strong> Данные Ordnance Survey © Crown copyright и права на базы данных 2010.</li>\n</ul>\n\n<p>\nВключение данных в OpenStreetMap не означает, что поставщик первичных данных каким-либо образом поддерживает OpenStreetMap, предоставляет гарантии или принимает на себя какую-любую ответственность. \n</p>"
+    legal_babble: "<h2> Авторские права и лицензирование</h2>\n<p>OpenStreetMap — это <i>открытые данные</i> доступные по лицензии <a href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.ru\">Creative Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA). \n</p>\n\n<p>Вы можете свободно копировать, распространять, передавать и дорабатывать наши карты и данные до тех пор, пока вы ссылаетесь на OpenStreetMap и его сообщество. Если вы изменяете или берёте наши карты за основу, то вы должны распространять результат только по такой же лицензии. Полный <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">юридический текст лицензии</a> (<a href=\"http://ru.wikisource.org/wiki/Creative_Commons_Attribution-ShareAlike_2.0_Generic\">перевод на русский язык</a>) разъясняет ваши права и обязанности.\n</p>\n\n<h3>Как сослаться на OpenStreetMap</h3>\n<p>Если вы используете изображения карт OpenStreetMap, мы требуем, чтобы вы указывали, по крайней мере, «© Участники OpenStreetMap, CC-BY-SA». Если вы используете только картографические данные, мы требуем наличия указания «Картографические данные © Участники OpenStreetMap, CC-BY-SA». \n</p>\n<p>Где это возможно текст «OpenStreetMap» должен быть гиперссылкой на <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a>, «CC-BY-SA» - на <a href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.ru\">http://creativecommons.org/licenses/by-sa/2.0/deed.ru</a>. Если вы используете носители, где гиперссылки невозможны (например, печатная работа), мы предлагаем вам направлять ваших читателей непосредственно к www.openstreetmap.org (возможно, расширяя «OpenStreetMap» до полного адреса) и к www.creativecommons.org. \n</p>\n\n<h3>Узнайте больше</h3>\n<p>Прочитайте больше об использовании наших данных на странице <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ?uselang=ru\">ответов на юридические вопросы</a>. \n</p>\n<p>Участники сообщества OSM должны всегда помнить о том, что запрещается добавлять данные из любых защищенных авторским правом источников (например, с Google Maps или печатных карт) без явного предварительного согласия правообладателей. \n</p>\n<p>Хотя OpenStreetMap - открытые данные, мы не в состоянии предоставлять бесплатный API к нашим картам для сторонних разработчиков. См. <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy\">Правила использования API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy\">Правила использования частей карты</a> и <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy\">Правила использования службы Nominatim</a> . \n</p>\n\n<h3>Кто вносит вклад в наш проект</h3>\n<p>Наша лицензия CC-BY-SA требует от вас «указывать авторство Автора Оригинала разумно в средстве или способах, которые Вы используете». Индивидуальные картографы OSM не требуют указания авторства больше, чем строчкой «участники OpenStreetMap», но в OpenStreetMap есть данные, полученные от национальных картографических агентств или других существенных источников, поэтому возможно имеет смысл указать непосредственно на них, как на источник, или добавить ссылку на эту страницу. \n</p>\n\n<!-- Информация для редактирующих страницу. Ниже перечислены только те организации, которые требуют ссылки на своё авторство в качестве условий использования их данных в OpenStreetMap. Это не общий каталог импортируемых данных, список не должен использоваться за исключением случаев, когда указание авторства требуется условиями лицензии на импортируемые данные.\n\nЛюбые дополнения должны быть в первую очередь обсуждены с системными администраторами OSM. -->\n\n<ul id=\"contributors\">\n<li><strong>Австралия.</strong> Данные пригородов от Австралийского бюро статистики. </li>\n<li><strong>Австрия.</strong> Данные <a href=\"http://data.wien.gv.at/\">города Вена</a> на условиях <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.de\">CC-BY</a>.</li>\n<li><strong>Канада.</strong> Данные от GeoBase ®, GeoGratis (© Департамент природных ресурсов Канады), CanVec (© Департамент природных ресурсов Канады) и StatCan (Отдел Географии, Статистическое ведомство Канады).</li>\n<li><strong>Франция</strong>: Данные от Главного налогового управления.</i>\n<li><strong>Новая Зеландия.</strong> Данные из сведений о земельных ресурсах Новой Зеландии. Crown Copyright reserved. </li>\n\n\n<li><strong>Польша</strong>: Данные с <a\n   href=\"http://ump.waw.pl/\">карт UMP-pcPL</a>. Copyright участники UMP-pcPL.\n   <a href=\"http://wiki.openstreetmap.org/wiki/UMP2OSM_Importing\">\n   Подробнее об использовании данных UMP проектом OSM</a></li>\n   <li><strong>ЮАР</strong>: Данные из\n   <a href=\"http://www.ngi.gov.za/\">Chief Directorate:\n   National Geo-Spatial Information</a>, State copyright reserved.</li>\n<li><strong>Великобритания.</strong> Данные Ordnance Survey © Crown copyright и права на базы данных 2010.</li>\n</ul>\n\n<p>\nВключение данных в OpenStreetMap не означает, что поставщик первичных данных каким-либо образом поддерживает OpenStreetMap, предоставляет гарантии или принимает на себя какую-любую ответственность. \n</p>"
     native: 
       mapping_link: начать картографирование
       native_link: русской версии
@@ -989,13 +1009,13 @@ ru:
     inbox: 
       date: Дата
       from: От
+      messages: У вас есть %{new_messages} и %{old_messages}
       my_inbox: Мои входящие
       no_messages_yet: У вас пока нет сообщений. Почему бы не пообщаться с %{people_mapping_nearby_link}?
       outbox: исходящие
       people_mapping_nearby: пользователями поблизости
       subject: Тема
       title: Входящие
-      you_have: У вас %{new_count} новых сообщений и %{old_count} старых
     mark: 
       as_read: Сообщение отмечено как прочитанное
       as_unread: Сообщение отмечено как непрочитанное
@@ -1031,7 +1051,6 @@ ru:
       subject: Тема
       title: Исходящие
       to: Кому
-      you_have_sent_messages: Вы отправили %{count} сообщений
     read: 
       back_to_inbox: Назад ко входящим
       back_to_outbox: Назад к исходящим
@@ -1108,7 +1127,7 @@ ru:
       ask_questions: Вы можете задать интересующие Вас вопросы о OpenStreetMap на нашем <a href="http://help.openstreetmap.org/">сайте вопросов и ответов</a> .
       click_the_link: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить регистрацию и просмотреть дополнительную информацию об OpenStreetMap
       current_user: "Список пользователей, основанный на их местоположении, доступен здесь: <a href=\"http://wiki.openstreetmap.org/index.php?title=Category:Users_by_geographical_region&uselang=ru\">Category:Users_by_geographical_region</a>."
-      get_reading: Прочтите об OpenStreetMap в <a href="http://wiki.openstreetmap.org/index.php?title=RU:Beginners_Guide&uselang=ru">вики</a>, узнайте последние новости в <a href="http://blog.openstreetmap.org/">блоге OpenStreetMap</a> или в <a href="http://twitter.com/openstreetmap">Twitter</a>. Ознакомьтесь с историей проекта в <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, автором которого является Стив Коуст (Steve Coast), основатель OpenStreetMap, в этом блоге есть <a href="http://www.opengeodata.org/?cat=13">подкасты</a>, которые также можно прослушать!
+      get_reading: Прочтите об OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/RU:Beginners%27_guide?uselang=ru">в вики</a>, узнайте последние новости в <a href="http://blog.openstreetmap.org/">блоге OpenStreetMap</a> или в <a href="http://twitter.com/openstreetmap">Twitter</a>. Ознакомьтесь с историей проекта в <a href="http://www.opengeodata.org/">блоге OpenGeoData</a>, автором которого является основатель OpenStreetMap Стив Кост (Steve Coast), в этом блоге есть <a href="http://www.opengeodata.org/?cat=13">подкасты</a>, которые также можно прослушать!
       greeting: Здравствуйте!
       hopefully_you: Кто-то (надеемся, что вы) хотел создать учетную запись на
       introductory_video: Вы можете просмотреть %{introductory_video_link}.
@@ -1116,7 +1135,7 @@ ru:
       more_videos_here: больше видео здесь
       user_wiki_page: Рекомендуется создать свою пользовательскую вики-страницу, включив в неё теги категорий, описывающих ваше местонахождение, например, <a href="http://wiki.openstreetmap.org/index.php?title=Category:Users_in_Moscow&uselang=ru">[[Category:Users_in_Moscow]]</a>.
       video_to_openstreetmap: ознакомительное видео об OpenStreetMap
-      wiki_signup: Вы можете <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Ru:Main_Page&uselang=ru">зарегистрироваться в вики OpenStreetMap</a>.
+      wiki_signup: Вы можете <a href="http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=RU:Заглавная_страница&uselang=ru">зарегистрироваться в вики OpenStreetMap</a>.
     signup_confirm_plain: 
       ask_questions: "Вы можете задать интересующие Вас вопросы об OpenStreetMap на нашем сайте вопросов и ответов:"
       blog_and_twitter: "Ознакомиться с последними новостями через блог OpenStreetMap или Twitter:"
@@ -1128,13 +1147,13 @@ ru:
       hopefully_you: Кто-то (надеемся, что вы) хотел создать учетную запись на
       introductory_video: "Вы можете посмотреть ознакомительное видео об OpenStreetMap здесь:"
       more_videos: "Здесь ещё больше видео:"
-      opengeodata: "OpenGeoData.org — это блог основателя OpenStreetMap — Стива Коуста (Steve Coast), здесь также можно найти подкасты:"
+      opengeodata: "OpenGeoData.org — это блог основателя OpenStreetMap Стива Коста (Steve Coast) и там также можно найти подкасты:"
       the_wiki: "Почитать об OpenStreetMap в вики:"
-      the_wiki_url: http://wiki.openstreetmap.org/index.php?title=RU:Beginners_Guide&uselang=ru
+      the_wiki_url: http://wiki.openstreetmap.org/wiki/RU:Beginners%27_guide?uselang=ru
       user_wiki_1: Рекомендуется создать свою пользовательскую вики-страницу, включив в неё
       user_wiki_2: теги категорий, описывающих ваше местонахождение, например, [[Category:Users_in_Moscow]].
       wiki_signup: "Вы также можете зарегистрироваться в вики OpenStreetMap здесь:"
-      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:UserLogin&type=signup&returnto=RU%3AMain_Page&uselang=ru
+      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=RU:Заглавная_страница&uselang=ru
   oauth: 
     oauthorize: 
       allow_read_gpx: читать ваши частные GPS-треки
@@ -1219,7 +1238,7 @@ ru:
       js_3: Вы можете попробовать <a href="http://tah.openstreetmap.org/Browse/">статичную карту от Tiles@Home</a>, если вы не можете включить JavaScript.
       license: 
         license_name: Creative Commons Attribution-Share Alike 2.0
-        notice: Лицензировано на условиях %{license_name} проектом %{project_name} и его пользователями.
+        notice: Лицензировано на условиях %{license_name} проектом %{project_name} и теми, кто вносил в него вклад.
         project_name: OpenStreetMap
       permalink: Постоянная ссылка
       remote_failed: Редактирование не удалось. Убедитесь, что JOSM или Merkaartor загружены и включена настройка дистанционного управления
@@ -1295,7 +1314,7 @@ ru:
           wood: Роща
     search: 
       search: Поиск
-      search_help: "примеры: 'Вязьма', 'Regent Street, Cambridge', 'CB2 5AQ', или 'post offices near Lünen' <a href='http://wiki.openstreetmap.org/index.php?title=RU:Search&uselang=ru'>больше примеров…</a>"
+      search_help: "примеры: «Рыбинск», «Ростов-на-Дону», «1, Красная площадь, Москва», «кафе рядом с Арбат», «стоянки в Петергоф», «банкоматы около Крещатик», «Regent Street, Cambridge» или «CB2 5AQ» (<a href=http://wiki.openstreetmap.org/wiki/RU:Search?uselang=ru>больше примеров</a>.<br />Улучшенный русскоязычный поиск: <a href=http://openstreetmap.ru/#layer=S>OSM Россия</a> и <a href=http://openstreetmap.by/?lang=ru>OSM Беларусь</a>.<br />Проложить маршрут на карте: <a href=http://openstreetmap.by/?lang=ru>OSM Беларусь</a>, <a href=http://www.yournavigation.org/>YourNavigation</a>, <a href=http://maps.cloudmade.com/>CloudMade Maps</a> и <a href=http://open.mapquest.com/>MapQuest Open</a>."
       submit_text: "?"
       where_am_i: Где я?
       where_am_i_title: Опишите ваше местоположение, воспользовавшись инструментом поиска
@@ -1328,7 +1347,7 @@ ru:
       uploaded_at: "Передан на сервер:"
       visibility: "Видимость:"
       visibility_help: Что это значит?
-      visibility_help_url: http://wiki.openstreetmap.org/wiki/RU:Visibility_of_GPS_traces
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/RU:%D0%92%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C_GPS-%D1%82%D1%80%D0%B5%D0%BA%D0%BE%D0%B2?uselang=ru
     list: 
       public_traces: Общедоступные GPS-треки
       public_traces_from: Общедоступные треки пользователя %{user}
@@ -1364,14 +1383,14 @@ ru:
     trace_form: 
       description: "Описание:"
       help: Справка
-      help_url: http://wiki.openstreetmap.org/wiki/RU:Upload
+      help_url: http://wiki.openstreetmap.org/wiki/RU:%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D1%82%D1%80%D0%B5%D0%BA%D0%BE%D0%B2?uselang=ru
       tags: "Метки:"
       tags_help: через запятую
       upload_button: Передать на сервер
       upload_gpx: Загрузить GPX-файл
       visibility: "Видимость:"
       visibility_help: Что это значит?
-      visibility_help_url: http://wiki.openstreetmap.org/wiki/RU:Visibility_of_GPS_traces
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/RU:%D0%92%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C_GPS-%D1%82%D1%80%D0%B5%D0%BA%D0%BE%D0%B2?uselang=ru
     trace_header: 
       see_all_traces: Показать все треки
       see_your_traces: Показать все ваши треки
@@ -1410,9 +1429,10 @@ ru:
   user: 
     account: 
       contributor terms: 
-        agreed: Вы согласились на новые условия Сотрудничества.
+        agreed: Вы согласились на новые Условия сотрудничества.
         agreed_with_pd: Вы также заявили, что вы считаете свои правки находящимися в общественном достоянии.
         heading: "Условия сотрудничества:"
+        link: http://wiki.openstreetmap.org/wiki/RU:Open_Database_License/Contributor_Terms?uselang=ru
         link text: что это значит?
         not yet agreed: Вы ещё не согласились с новыми Условиями участия.
         review link text: Пожалуйста, перейдите по этой ссылке в удобное для вас время и подтвердите согласие с новыми Условиями участия.
@@ -1465,7 +1485,7 @@ ru:
       unknown token: Похоже, что такого токена не существует.
     confirm_email: 
       button: Подтвердить
-      failure: Адрес электронной почты уже был подтверждён эти токеном.
+      failure: Адрес электронной почты уже был подтверждён этим токеном.
       heading: Подтвердите изменение адреса электронной почты
       press confirm button: Нажмите кнопку подтверждения ниже, чтобы подтвердить ваш новый адрес электронной почты.
       success: Ваш адрес электронной почты подтверждён, спасибо за регистрацию!
@@ -1488,8 +1508,8 @@ ru:
       summary_no_ip: "%{name} создан %{date}"
       title: Пользователи
     login: 
+      account is suspended: Извините, ваша учётная запись была приостановлена из-за подозрительной активности.<br />Пожалуйста, свяжитесь с <a href="%{webmaster}">веб-мастером</a>, если вы хотите выяснить подробности.
       account not active: Извините, ваша учётная запись ещё не активирована.<br />Чтобы активировать её, пожалуйста, нажмите на ссылку в отправленном вам письме, или <a href="%{reconfirm}">запросите отправку нового письма-подтверждения</a>.
-      account suspended: Извините, ваша учётная запись была приостановлена из-за подозрительной активности.<br />Пожалуйста, свяжитесь с %{webmaster}, если вы хотите выяснить подробности.
       auth failure: Извините, вход с этими именем или паролем невозможен.
       create account minute: Создайте учётную запись. Это займёт не больше минуты.
       email or username: "Эл. почта или имя пользователя:"
@@ -1497,7 +1517,9 @@ ru:
       login_button: Представиться
       lost password link: Забыли пароль?
       new to osm: Впервые на OpenStreetMap?
-      notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Узнайте больше о предстоящем изменении лицензии OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">переводы</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">обсуждение</a>)
+      no account: У вас нет аккаунта?
+      notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License?uselang=ru">Узнайте больше о предстоящем изменении лицензии OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/RU:ODbL/We_Are_Changing_The_License?uselang=ru">переводы</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">обсуждение</a>)
+      notice_terms: OpenStreetMap переходит на новую лицензию с 1 апреля 2012 года. Она такая же открытая как действующая, но юридически гораздо лучше подходит для нашей картографической базы данных. Мы хотели бы сохранить ваш вклад в OpenStreetMap, но это будет возможно только если вы согласны распространять ваши правки на условиях новой лицензии. В противном случае, нам придётся удалить их из базы данных.<br /><br />Пожалуйста, представьтесь системе и потратьте несколько секунд на ознакомление и принятие новых условий. Спасибо!
       openid: "%{logo} OpenID:"
       openid invalid: Извините, похоже, что ваш OpenID введён неправильно
       openid missing provider: К сожалению, не удалось связаться с вашим поставщиком OpenID
@@ -1523,10 +1545,9 @@ ru:
           title: Войти с помощью Yahoo
       password: "Пароль:"
       register now: Зарегистрируйтесь
-      remember: "\nЗапомнить меня:"
+      remember: "Запомнить меня:"
       title: Представьтесь
       to make changes: Чтобы вносить изменения в данные OpenStreetMap, вы должны иметь учётную запись.
-      webmaster: веб-мастер
       with openid: "Вы также можете использовать для входа ваш OpenID:"
       with username: "У вас уже есть учётная запись OpenStreetMap? Пожалуйста, войдите с вашим именем пользователя и паролем:"
     logout: 
@@ -1534,7 +1555,7 @@ ru:
       logout_button: Выйти
       title: Выйти
     lost_password: 
-      email address: "Ð\90адÑ\80еÑ\81 Ñ\8dл. почты:"
+      email address: "Ð\90дÑ\80еÑ\81 Ñ\8dлекÑ\82Ñ\80онной почты:"
       heading: Забыли пароль?
       help_text: Введите адрес вашей электронной почты, который вы использовали для подписки, и мы вышлем инструкции, как можно обновить ваш пароль.
       new password button: Вышлите мне новый пароль
@@ -1556,7 +1577,7 @@ ru:
       fill_form: Заполните форму, и мы вышлем вам на электронную почту письмо с инструкцией по активации.
       flash create success message: Спасибо за регистрацию. Мы выслали письмо с подтверждением на адрес %{email} и как только вы подтвердите вашу учётную запись, вы можете начать работать с картами.<br /><br />Если вы используете антиспам, посылающий запросы на подтверждение, внесите адрес webmaster@openstreetmap.org в ваш белый список, так как мы не можем отвечать на такие запросы.
       heading: Создание учётной записи
-      license_agreement: Когда вы подтверждаете вашу учётную запись, вам необходимо согласиться с <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">условиями сотрудничества</a>.
+      license_agreement: Когда вы подтверждаете вашу учётную запись, вам необходимо согласиться с <a href="http://wiki.openstreetmap.org/wiki/RU:Open_Database_License/Contributor_Terms?uselang=ru">условиями сотрудничества</a>.
       no_auto_account_create: К сожалению, сейчас мы не можем автоматически создать для вас учётную запись.
       not displayed publicly: Не отображается публично (см. <a href="http://wiki.openstreetmap.org/index.php?title=Privacy_Policy&uselang=ru" title="вики политика конфиденциальности включая часть про адрес эл. почты">политику конфиденциальности</a>)
       openid: "%{logo} OpenID:"
@@ -1615,16 +1636,23 @@ ru:
       block_history: полученные блокировки
       blocks by me: наложенные мною блокировки
       blocks on me: мои блокировки
+      comments: комментарии
       confirm: Подтвердить
       confirm_user: подтвердить этого пользователя
       create_block: блокировать пользователя
       created from: "Создано из:"
+      ct accepted: Приняты %{ago} назад
+      ct declined: Отклонены
+      ct status: "Условия участия:"
+      ct undecided: Неопределено
       deactivate_user: деактивировать этого пользователя
       delete_user: удалить этого пользователя
       description: Описание
       diary: дневник
       edits: правки
       email address: "Адрес Email:"
+      friends_changesets: Просмотреть все наборы правок друзей
+      friends_diaries: Просмотреть все дневниковые записи друзей
       hide_user: скрыть этого пользователя
       if set location: Если вы укажете свое местоположение, ниже  появятся карта и дополнительные инструменты. Вы можете установить ваше местоположение на вашей странице %{settings_link}.
       km away: "%{count} км от вас"
@@ -1632,11 +1660,14 @@ ru:
       m away: "%{count} м от вас"
       mapper since: "Зарегистрирован:"
       moderator_history: созданные блокировки
+      my comments: мои комментарии
       my diary: мой дневник
       my edits: мои правки
       my settings: мои настройки
       my traces: мои треки
       nearby users: Другие ближайшие пользователи
+      nearby_changesets: Просмотреть все наборы правок соседних участников
+      nearby_diaries: Просмотреть все дневниковые записи соседних участников
       new diary entry: новая запись
       no friends: Вы не добавили ещё ни одного друга.
       no nearby users: Пока нет других пользователей, признающих, что занимающихся составлением карты поблизости.
index a49399c4d4c81055c40f1184500eea35c4acf3bf..91448ef69085fbcaf907e4e7596a56360d00be7e 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Slovak (Slovenčina)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
+# Author: Jose1711
 # Author: Lesny skriatok
 # Author: Rudko
 # Author: Vladolc
@@ -347,11 +348,9 @@ sk:
       licence: Licencia
       longitude: "Dĺžka:"
       manually_select: Ručne vyberte rôzne oblasti
-      mapnik_image: Zobrazenie Mapnik
       max: max
       options: Možnosti
       osm_xml_data: OpenStreetMap XML Dáta
-      osmarender_image: Zobrazenie Osmarender
       output: Výstup
       scale: Mierka
       too_large: 
@@ -875,13 +874,13 @@ sk:
     inbox: 
       date: Dátum
       from: Od
+      messages: Máte %{new_messages} a %{old_messages}
       my_inbox: Moja schránka došlej pošty
       no_messages_yet: Nemáte žiadne správy. Prečo ste sa nespojili s niekým z %{people_mapping_nearby_link}?
       outbox: odoslaná pošta
       people_mapping_nearby: blízko mapujúci ľudia
       subject: Predmet
       title: Prichádzajúca pošta
-      you_have: Máte %{new_count} nových a %{old_count} starých správ
     mark: 
       as_read: Správa označená ako prečítaná
       as_unread: Správa označená ako neprečítaná
@@ -916,7 +915,6 @@ sk:
       subject: Predmet
       title: Odoslaná pošta
       to: Komu
-      you_have_sent_messages: Máte %{count} odoslaných správ
     read: 
       back_to_inbox: Späť do prijatých správ
       back_to_outbox: Späť do schránky odoslanej pošty
@@ -1219,6 +1217,7 @@ sk:
       see_all_traces: Zobraziť všetky stopy
       see_your_traces: Zobraziť všetky vaše stopy
       traces_waiting: Máte %{count} stopy čakajúce na nahratie. Prosím zvážte toto čakanie, dokedy neukončíte nahrávanie niečoho iného, pokiaľ  nie je blok v rade pre iných užívateľov.
+      upload_trace: Nahrať stopu
     trace_optionals: 
       tags: Tagy
     trace_paging_nav: 
@@ -1251,6 +1250,8 @@ sk:
       trackable: Zaznamenávané stopy (zdieľané iba ako anonymné, usporiadané body s časovými značkami)
   user: 
     account: 
+      contributor terms: 
+        agreed: Súhlasili ste s novými Podmienkami prispievania.
       current email address: "Aktuálna E-mailová Adresa:"
       delete image: Odstrániť aktuálny obrázok
       email never displayed publicly: (nezobrazovaný verejne)
@@ -1267,6 +1268,9 @@ sk:
       new email address: "Nová E-mailová Adresa:"
       new image: "Pridať obrázok:"
       no home location: Nezadali ste svoje domovské miesto.
+      openid: 
+        link text: čo je toto?
+      preferred editor: "Preferovaný editor:"
       preferred languages: "Uprednostňované jazyky:"
       profile description: "Popis profilu:"
       public editing: 
@@ -1365,16 +1369,20 @@ sk:
       title: Resetnúť heslo
     set_home: 
       flash success: Domáca poloha úspešne uložená
+    terms: 
+      heading: Podmienky prispievania
+      title: Podmienky prispievania
     view: 
       activate_user: aktivovať tohto užívateľa
       add as friend: pridať ako priateľa
-      ago: (pred %{time_in_words_ago})
+      ago: (%{time_in_words_ago})
       block_history: zobraziť prijaté položky
       blocks by me: blokovať pre mňa
-      blocks on me: v mojom bloku
+      blocks on me: moje zablokovania
       confirm: Potvrdiť
       create_block: blokovať tohto užívateľa
       created from: "Vytvorené od:"
+      ct accepted: Prijaté pred %{ago}
       deactivate_user: deaktivovať tohto užívateľa
       delete_user: vymazať tohto užívateľa
       description: Popis
@@ -1383,15 +1391,16 @@ sk:
       email address: "Emailová adresa:"
       hide_user: skryť tohto užívateľa
       if set location: Ak nastavíte vašu polohu, a pretty map and stuff sa objavý dole. Môžete nastaviť vašu domovskú polohu na vašej %{settings_link} stránke.
-      km away: "%{count}km vzdialený"
-      m away: "%{count}m vzdialený"
-      mapper since: "Mapovač od:"
+      km away: Vzdialený %{count}km
+      latest edit: "Posledné úpravy %{ago}:"
+      m away: Vzdialený %{count}m
+      mapper since: "Mapuje od:"
       moderator_history: zobraziť zadaný blok
       my diary: môj diár
       my edits: moje úpravy
       my settings: moje nastavenia
       my traces: moje stopy
-      nearby users: Iný blízky užívatelia
+      nearby users: Ďalší užívatelia v okolí
       new diary entry: nový údaj denníka
       no friends: Ešte nemáte pridaných žiadnych priateľov.
       no nearby users: Nie je tu iný užívateľ, ktorý priznáva mapovanie v okolí.
index 252073be3d4cb514b273ea33f780c3d4a8c13cfa..a1a09dd5ab3503fcfe2561c72d5920d0e0dceff5 100644 (file)
@@ -387,11 +387,9 @@ sl:
       licence: Dovoljenje
       longitude: "Dol:"
       manually_select: Ročno izberite drugo področje
-      mapnik_image: Mapnik slika zemljevida
       max: največ
       options: Možnosti
       osm_xml_data: Podatki OpenStreetMap v zapisu XML
-      osmarender_image: Osmarender slika zemljevida
       output: Rezultat
       paste_html: Uporabite ta HTML za vključitev zemljevida na spletno stran
       scale: Merilo
@@ -974,7 +972,6 @@ sl:
       people_mapping_nearby: ljudmi, ki kartirajo blizu vas
       subject: Zadeva
       title: Prejeta pošta
-      you_have: Imate %{new_count} novih, neprebranih in %{old_count} starih, že prebranih sporočil
     mark: 
       as_read: Sporočilo označeno kot prebrano
       as_unread: Sporočilo označeno kot neprebrano
@@ -1010,7 +1007,6 @@ sl:
       subject: Zadeva
       title: Poslana pošta
       to: Za
-      you_have_sent_messages: Poslali ste %{count} sporočil
     read: 
       back_to_inbox: Nazaj na prejeto pošto
       back_to_outbox: Nazaj na poslano pošto
@@ -1150,7 +1146,7 @@ sl:
       list_tokens: "Naslednji žetoni so bili izdani aplikacijam za vaše ime:"
       my_apps: Moje odjemalskie aplikacije
       my_tokens: Moje pooblaščene aplikacije
-      no_apps: Imate aplikacijo, ki jo želite registrirati za uporabo z nami po  %{OAuth} standardu? Najprej morate registrirati vašo spletno aplikacijo, preden bo lahko izvajala OAuth prijave za to storitev.
+      no_apps: Imate aplikacijo, ki jo želite registrirati za uporabo z nami po  %{oauth} standardu? Najprej morate registrirati vašo spletno aplikacijo, preden bo lahko izvajala OAuth prijave za to storitev.
       register_new: Registriraj svojo aplikacijo
       registered_apps: "Registrirane imate naslednje odjemalske aplikacije:"
       revoke: Prekliči!
@@ -1464,7 +1460,6 @@ sl:
       title: Uporabniki
     login: 
       account not active: Oprostite, vaš uporabniški račun še ni aktiven.<br />Za aktivacijo prosimo uporabite povezavo, ki ste jo prejeli v elektronskem sporočilu za potrditev uporabniškega računa, ali <a href="%{reconfirm}">zahtevajte novo potrditveno elektronsko sporočilo</a>.
-      account suspended: Žal je bil vaš račun zaklenjen zaradi sumljive dejavnosti.<br />Obrnite se na %{webmaster}, če želite razpravljati o tem.
       auth failure: Oprostite, prijava s temi podatki ni uspela.
       create account minute: Naredite si račun. To vam bo vzelo le minuto.
       email or username: "Naslov e-pošte ali uporabniško ime:"
@@ -1501,7 +1496,6 @@ sl:
       remember: "Zapomni si me:"
       title: Prijava
       to make changes: Če želite spreminjati podatke na OpenStreetMap, morate imeti račun.
-      webmaster: skrbnik strani
       with openid: "Lahko se prijavite tudi s svojim OpenID-jrm:"
       with username: "Že imate OpenStreetMap račun? Prosim, prijavite se s svojim uporabniškim imenom in geslom:"
     logout: 
@@ -1662,7 +1656,7 @@ sl:
       not_a_moderator: Morate biti moderator za izvedbo tega dejanja.
     helper: 
       time_future: Konča v %{time}.
-      time_past: Je končala % {čas} nazaj.
+      time_past: Je končala %{time} nazaj.
       until_login: Aktivna dokler uporabnik se prijavi.
     index: 
       empty: Ni bilo še nobene blokade.
@@ -1718,7 +1712,7 @@ sl:
       show: Prikaži
       status: Stanje
       time_future: Konča v %{time}
-      time_past: Je končala % {čas} nazaj
+      time_past: Je končala %{time} nazaj
       title: "%{block_on} je blokiral %{block_by}"
     update: 
       only_creator_can_edit: Samo moderator, ki je ustvaril to blokado, jo lahko ureja.
index 2a5d532fda85a6ba1e1e98b14e3b61fda4577c79..5a2c80a0b28c5a1438fdf81a45e293069f3b880a 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Albanian (Shqip)
 # Exported from translatewiki.net
 # Export driver: syck-pecl
+# Author: Euriditi
 # Author: Mdupont
 # Author: MicroBoy
 # Author: Mikullovci11
 sq: 
   activerecord: 
     attributes: 
+      diary_comment: 
+        body: Trupi i mesazhit
+      diary_entry: 
+        language: Gjuha
+        latitude: Gjerësia gjeografike
+        longitude: Gjatësia gjeografike
+        title: Titulli
+        user: Përdoruesi
+      friend: 
+        friend: Mik
+        user: Përdoruesi
       message: 
+        body: Trupi i mesazhit
+        recipient: Marrësi
+        sender: Dërguesi
         title: Titulli
       trace: 
+        description: Përshkrimi
+        latitude: Gjerësia gjeografike
+        longitude: Gjatësia gjeografike
         name: Emri
+        public: Publik
+        size: Madhësia
+        user: Përdoruesi
+        visible: I dukshëm
+      user: 
+        active: Aktiv
+        description: Përshkrimi
+        display_name: Emër i dukshëm
+        email: Email
+        languages: Gjuha
+        pass_crypt: Fjalëkalimi
     models: 
       acl: Qasu në Listën e Kontrollit
       changeset: Ndryshim
@@ -25,9 +54,28 @@ sq:
       message: Porosi
       node: Nyjë
       node_tag: Etiketë nyjë
+      notifier: Lajmëruesi
       old_node: Nyjë e vjetër
       old_node_tag: Etiketë e vjetër e nyjës
       old_relation: Marrëdhënie e vjetër
+      old_relation_member: Anëtar me lidhje të vjetër
+      old_relation_tag: Etiketë relacioni e vjetër
+      old_way: Rrugë e vjetër
+      old_way_node: Nyje rrugore e vjetër
+      old_way_tag: Etiketë rrugore e vjetër
+      relation: Lidhja
+      relation_member: Anëtar me lidhje të vjetër
+      relation_tag: Etiketë lidhjeje
+      session: Seksioni
+      trace: Gjurma
+      tracepoint: Pika e gjurmës
+      tracetag: Etiketa e gjurmës
+      user: Përdoruesi
+      user_preference: Parapëlqimet e përdoruesit
+      user_token: Shenja e përdoruesit
+      way: Rruga
+      way_node: Nyja e rrugës
+      way_tag: Etiketa e rrugës
   browse: 
     changeset: 
       changeset: "Ndryshim : %{id}"
@@ -55,6 +103,8 @@ sq:
       show_area_box: Kqyre Zonen e Barokes
     common_details: 
       changeset_comment: "Komenti :"
+      deleted_at: "Fshirë në:"
+      deleted_by: "Fshirë në:"
       edited_at: "U ndrzshe te:"
       edited_by: "Edituar nga:"
       in_changeset: "En ndryshimin :"
@@ -64,6 +114,11 @@ sq:
       entry_role: Lidhja %{relation_name} (sikur %{relation_role})
     map: 
       deleted: E Fshirë
+      edit: 
+        area: Zona e redaktimit
+        node: Nyja e redaktimit
+        relation: Lidhja e redaktimit
+        way: Ndrysho rrugën
       larger: 
         area: Kqyre zonen n'hart ma t'madhe
         node: Kqyre piken n'hart ma t'madhe
@@ -80,6 +135,13 @@ sq:
         prev_node_tooltip: Pika e kalume
         prev_relation_tooltip: Lidhja e kalume
         prev_way_tooltip: Mnyra e mahershme
+      paging: 
+        all: 
+          next: "%{id} »"
+          prev: « %{id}
+        user: 
+          next: "%{id} »"
+          prev: « %{id}
       user: 
         name_changeset_tooltip: Shiko editimet nga %{user}
         next_changeset_tooltip: Tjetri ndryshim prej %{user}
@@ -126,6 +188,7 @@ sq:
       relation_history_title: "Historija e Lidhjes: %{relation_name}"
       view_details: kqyre n'detaje
     relation_member: 
+      entry: "%{type} %{name}"
       entry_role: "%{type} %{name} asht si %{role}"
       type: 
         node: Pikë
@@ -140,6 +203,7 @@ sq:
       details: Detajet
       drag_a_box: Bone ni kuti n'hart edhe zgedhe zonen
       edited_by_user_at_timestamp: Ndryshuar nga [[user]] në [[timestamp]]
+      hide_areas: Fshih zonat
       history_for_feature: Historija për [[feature]]
       load_data: Zgedhi senet
       loaded_an_area_with_num_features: "Ti e ke marr ni zon qe ka [[num_features]] . E do browsera nuk e qesin fort mir kualitetin e seneve me ta. Browseri duhet me i kallxu ma pak se 100 sene n'tnjejtin vakt: me bo dishka qeter munet me ta kadalsu browserin. Qe je i sigurt nese don mi pa senet, duhesh me kliku n'pull."
@@ -162,6 +226,7 @@ sq:
           node: Pikë
           way: Rruga
       private_user: perdorus privat
+      show_areas: Shfaq zonat
       show_history: Shfaq Historinë
       unable_to_load_size: "Nuk kemi mujt mi shfaq: madhsin e kutis [[bbox_size]] asht shum e madhe (duhet me kan ma e vogel se %{max_bbox_size})"
       wait: Prit...
@@ -198,30 +263,97 @@ sq:
       view_details: kqyre n'detaje
       way_history: Historija e Udhës
       way_history_title: "Historija e udhës: %{way_name}"
+  changeset: 
+    changeset: 
+      anonymous: Anonim
+      big_area: (e madhe)
+      id: "#%{id}"
+      no_comment: (asgjë)
+      no_edits: (asnjë redaktim)
+      show_area_box: Shfaq kutinë e zonës
+      still_editing: (redaktimi po vazhdon ende)
+      view_changeset_details: Shiko detajet e grupit të ndryshimeve
+    changeset_paging_nav: 
+      next: Vazhdo »
+      previous: « Mëparshëm
+      showing_page: Duke shfaqun faqen %{{page}}
+    changesets: 
+      area: Zona
+      comment: Komentoni
+      id: ID
+      saved_at: Ruaje në
+      user: Përdoruesi
+    list: 
+      description: Ndryshime së fundmi
+      description_bbox: Ndryshime brënda %{bbox}
+      description_friend: Ndryshime nga miqtë e tu
+      description_nearby: Ndryshime nga përdorues të zonës
+      description_user: Grupi i ndryshimeve të %{user}
+      description_user_bbox: Ndryshime nga përdoruesi %{user} brënda %{bbox}
+      heading: Grupi i ndryshimeve
+      heading_bbox: Grupi i ndryshimeve
+      heading_friend: Grupi i ndryshimeve
+      heading_nearby: Grupi i ndryshimeve
+      heading_user: Grupi i ndryshimeve
+      heading_user_bbox: Grupi i ndryshimeve
+      title: Grupi i ndryshimeve
+      title_bbox: Ndryshime brënda %{bbox}
+      title_friend: Ndryshime nga miqtë e tu
+      title_nearby: Ndryshime nga përdorues të zonës
+      title_user: Grupi i ndryshimeve të %{user}
+      title_user_bbox: Ndryshime nga përdoruesi %{user} brënda %{bbox}
+    timeout: 
+      sorry: Na vjen keq, lista e grupit të ndryshimeve që u kërkua morri shumë kohë për tu shkarkuar.
   diary_entry: 
+    diary_comment: 
+      confirm: Konfirmo
     diary_entry: 
+      comment_count: 
+        one: 1 koment
+        other: "%{count} komente"
       comment_link: Komento në këtë shënim
       confirm: Konfirmoje
       edit_link: Ndryshoje qët shënim
       hide_link: Mshefe qët shënim
     edit: 
+      body: Trupi i mesazhit
       language: "Gjuha:"
+      latitude: Gjerësia gjeografike
       location: "Lokacioni:"
+      longitude: Gjatësia gjeografike
       save_button: Ruje
+      subject: "Subjekti:"
+      title: Redakto shënimin në ditar
+      use_map_link: përdor hartën
     list: 
+      in_language_title: Hyrje në ditar në %{language}
+      new: Hyrje e re në ditar
+      new_title: Krijo një hyrje të re në ditarin tënd
+      newer_entries: Shënimet e fundit
+      no_entries: Nuk u gjet asnjë hyrje në ditar
       older_entries: Shënimet e Vjetra
+      recent_entries: "Shënime në ditar së fundmi:"
+      title: Ditatët e përdoruesve
+      title_friends: Ditarët e miqve
+      title_nearby: Ditarët e përdoruesve pranë
       user_title: Ditari i %{user}
     location: 
+      edit: Redakto
       location: "Lokacioni:"
       view: Kshyre
+    new: 
+      title: Hyrje e re në ditar
     no_such_entry: 
       heading: "Nuk ka shënim me id: %{id}"
     no_such_user: 
       body: Me na fal, po nuk ka anëtarë me emnin %{user}. Ju lutem kshyrni shkronjat, ose nashta lidhja që keni trus është gabim.
+      heading: Përdoruesi %{user} nuk ekziston
       title: Nuk ka anëtarë të tillë
     view: 
       leave_a_comment: Lene naj koment
+      login: Kyçuni
       save_button: Ruaj
+      user_title: Ditari i %{user}
   editor: 
     default: Default (momentalisht %{name})
     potlatch: 
@@ -235,6 +367,7 @@ sq:
       name: Kontrollë prej së largu
   export: 
     start: 
+      add_marker: Shto shënjues në hartë
       area_to_export: Zona per Eksport
       export_button: Eksporto
       export_details: Të dhënat e OpenStreetMap janë të licencuara nëpërmjet <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons Attribution-ShareAlike 2.0 license</a>.
@@ -245,11 +378,9 @@ sq:
       licence: Licensa
       longitude: "Lon:"
       manually_select: Manualisht zgedhe ni zon te ndryshme
-      mapnik_image: Mapin fotografi
       max: maks
       options: Opcionet
       osm_xml_data: OpenStreetMap XML të dhana
-      osmarender_image: Osamarender fotografi
       output: Outputi
       paste_html: Fute HTML per me ngjit ne web sajt
       scale: Shkallë
@@ -284,17 +415,128 @@ sq:
     search: 
       title: 
         ca_postcode: Rezultatet nga <a href="http://geocoder.ca/">Geocoder.CA</a>
+        geonames: Rezultate nga <a href="http://www.geonames.org/">GeoNames</a>
         us_postcode: Rezultatet nga <a href="http://geocoder.us/">Geocoder.us</a>
+    search_osm_namefinder: 
+      suffix_suburb: "%{suffix}, %{parentname}"
     search_osm_nominatim: 
       prefix: 
         amenity: 
+          airport: Aeroport
+          arts_centre: Qendër arti
+          atm: Bankomat
+          auditorium: Auditor
+          bank: Bankë
+          bar: Lokal
+          bench: Stol
+          bicycle_parking: Parkim biçikletash
+          bicycle_rental: Biçikleta me qera
+          brothel: Shtëpi publike
+          bureau_de_change: Këmbim valute
+          bus_station: Stacion autobuzi
+          cafe: Kafe
+          car_rental: Makina me qera
+          car_sharing: Car Sharing
+          car_wash: Lavazh për makina
+          casino: Kazino
+          cinema: Kinema
+          clinic: Klinikë
+          club: Klub
+          college: Kolegj
+          community_centre: Qendër komunitare
+          courthouse: Gjykatë
+          crematorium: Krematorium
           dentist: Dentist
+          dormitory: Konvikt
+          drinking_water: Ujë i pijshëm
           embassy: Ambasada
+          emergency_phone: Kabinë telefoni për emergjencë
+          fast_food: Ushqim i shpejtë
+          ferry_terminal: Terminal i trageteve
+          fire_hydrant: Pompë zjarrfikse
           fire_station: Zjarrëfiksat
+          fountain: Shatërvan
+          fuel: Stacion karburanti
+          grave_yard: Varrezë
+          gym: Qendër fitness / Palestër
+          hall: Sallë
+          health_centre: Qendër shëndetsore
+          hospital: Spital
+          hotel: Hotel
+          hunting_stand: Vend gjuetie
+          ice_cream: Akullore
+          kindergarten: Kopësht për fëmijë
+          library: Biblioteka
+          market: Market
+          marketplace: Treg
+          mountain_rescue: Forca e shpëtimit në mal
+          nightclub: Klub nate
+          nursery: Çerdhe
+          nursing_home: Çerdhe
+          office: Zyra
+          park: Park
+          parking: Vend parkim
+          pharmacy: Barnatore
+          place_of_worship: Vend kulti
+          police: Policia
+          post_box: Kutia postare
+          post_office: Kutia postare
+          preschool: Cikli para-shkollor
+          prison: Burg
+          pub: Pub
+          public_building: Ndërtesë publike
+          public_market: Treg publik
+          reception_area: Zona e pritjes
+          recycling: Pikë e riciklimit
+          restaurant: Restorant
+          sauna: Sauna
+          school: Shkollë
+          shelter: Strehë
+          shop: Dyqan
+          shopping: Tregtar
+          social_club: Klub shoqëror
+          studio: Studio
+          supermarket: Supermarket
+          taxi: Taksi
+          telephone: Telefon publik
           theatre: Teatër
+          toilets: Banjë publike
+          townhall: Bashkia
           university: Universitet
+          vending_machine: Shitës automatik
+          veterinary: Veterinari
+          village_hall: Komuna
+          waste_basket: Kosh plehrash
+          wifi: Shërbim WiFi
+          youth_centre: Qendër Rinore
+        boundary: 
+          administrative: Kufi administrativ
         building: 
+          apartments: Bllok apartamentesh
+          block: Kompleks me ndërtesa
+          bunker: Bunker
+          chapel: Kishë
+          church: Kishë
+          city_hall: Bashkia
+          commercial: Qendër tregtare
+          dormitory: Konvikt
+          entrance: Hyrje godine
+          faculty: Godinë fakulteti
+          hotel: Hotel
+          house: Shtëpi
+          public: Ndërtesë publike
+          shop: Dyqan
+          stadium: Stadium
           store: Dyqan
+          terrace: Tarracë
+          tower: Kullë
+          train_station: Stacion hekurudhor
+          university: Godinë universitare
+        highway: 
+          bridleway: Rrugë për kalërim
+          ford: Va
+          gate: Portë
+          living_street: Rrugë për këmbësorë
         historic: 
           church: Kisha
           museum: Muze
@@ -334,17 +576,32 @@ sq:
           picnic_site: Vend per Piknik
           valley: Lugine
           zoo: Kopsht zoologjik
+      prefix_format: "%{name}"
   javascripts: 
+    map: 
+      base: 
+        mapquest: MapQuest Open
+      overlays: 
+        maplint: Maplint
     site: 
       edit_tooltip: Edit Harta
   layouts: 
     edit: Redakto
+    help_url: http://help.openstreetmap.org/
+    intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners
+    intro_3_ucl: Qendra UCL VR
+    license: 
+      alt: CC by-sa 2.0
     log_in: Kyçuni
     log_in_tooltip: Hyni ne me një llogari ekzistuese
     logout: Ç'kyçu
     logout_tooltip: Ç'kyçu
     make_a_donation: 
       text: Bëni një donacion
+    project_name: 
+      h1: OpenStreetMap
+      title: OpenStreetMap
+    wiki_url: http://wiki.openstreetmap.org/
   license_page: 
     foreign: 
       english_link: orgjianl anglisht
@@ -360,14 +617,11 @@ sq:
     inbox: 
       date: Data
       from: Prej
-      you_have: I ki %{new_count} mesazhe të reja dhe %{old_count} mesazhe të vjetra
     new: 
       limit_exceeded: Ju keni dërguar shumë mesazhe kohët e fundit. Ju lutem prisni një kohë para se të dërgoni ndonjë tjetër.
       title: Qo mesazh
     no_such_user: 
       body: Na vjen keq nuk ka asnjë përdorues me atë emër.
-    outbox: 
-      you_have_sent_messages: I ki %{count} mesazhe të dërgume
     read: 
       reading_your_sent_messages: Tu i lexue mesazhet e dërgume
     sent_message_summary: 
@@ -381,10 +635,13 @@ sq:
     email_confirm_plain: 
       greeting: Tung,
     gpx_notification: 
+      failure: 
+        import_failures_url: http://wiki.openstreetmap.org/wiki/GPX_Import_Failures
       greeting: Tung,
     message_notification: 
       footer1: Ju gjithashtu mund të lexoni mesazhet në %{readurl}
       hi: Tung %{to_user},
+      subject_header: "[OpenStreetMap] %{subject}"
     signup_confirm_html: 
       click_the_link: Nëse ky je ti, mirë se erdhët! Ju lutem trusni lidhjen e maposhtme për me konfirmu atë llogari dhe lexoni ma shumë informata rreth OpenStreetMap
       introductory_video: Ju muni me shiku një %{introductory_video_link}.
@@ -396,14 +653,19 @@ sq:
       click_the_link_2: llogarin tonde dhe lexo ma shumë informata për OpenStreetMap.
       introductory_video: "Këtu ju muni me shiku një video hyrëse për në OpenStreetMap:"
       more_videos: "Ma shumë video keni këtu:"
+      the_wiki_url: http://wiki.openstreetmap.org/wiki/Beginners%27_Guide
       wiki_signup: "Ti munesh gjithashtu me u regjistru në OpenStreetMap wiki:"
+      wiki_signup_url: http://wiki.openstreetmap.org/index.php?title=Special:Userlogin&type=signup&returnto=Main_Page
   oauth_clients: 
     form: 
       name: Emri
     new: 
       submit: Regjistrohu
+  printable_name: 
+    with_version: "%{id}, v%{version}"
   site: 
     edit: 
+      anon_edits: (%{link})
       flash_player_required: Ju duhet të keni Flash player për ta përdorur Potlatch, Flash editorin e OpenStreetMap. Ju mundeni <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">ta shkarkoni Flash Player nga Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Disa mënyra të tjera</a> janë të mundshme për ta edituar OpenStreetMap.
     index: 
       license: 
@@ -444,6 +706,7 @@ sq:
       uploaded_at: "Te ngarkume:"
       visibility: Dukshmenia
       visibility_help: Çka do me than kjo?
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
     list: 
       public_traces: Të dhanat publike të GPS-IT
       public_traces_from: Të dhana publike të GPS-it pej %{user}
@@ -477,14 +740,16 @@ sq:
       trackable: E GJURMUESHME
       view_map: Kshyre Harten
     trace_form: 
-      description: Përshkrimi
+      description: "Përshkrimi:"
       help: Ndihma
-      tags: Etiketat
+      help_url: http://wiki.openstreetmap.org/wiki/Upload
+      tags: "Etiketat:"
       tags_help: Presje e kufizume
       upload_button: Ngarko
-      upload_gpx: Ngarko nje skead GPX
-      visibility: Pamshmeria
+      upload_gpx: "Ngarko një skedar GPX:"
+      visibility: "Dukshmëria:"
       visibility_help: çfarë do të thotë kjo?
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
     trace_header: 
       see_all_traces: Kshyre kejt të dhanat
       see_your_traces: Shikoj kejt të dhanat tuja
@@ -526,6 +791,7 @@ sq:
         agreed: Ju duhet të jeni pajtuar me Kushtet e reja të Kontribuesit.
         agreed_with_pd: Ju gjithashtu keni deklaruar se ju konsideroni që editimet tuaja të jenë në Domenin Publik.
         heading: "Kushtet e Kontribimit:"
+        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms
         link text: Çka është kjo?
         not yet agreed: Ju ende nuk jeni pajtuar me Kushtet e reja për Kontribues.
         review link text: Ju lutemi që të përcillni këtë link për të lehtësinë tuaj për të rishikuar dhe pranuar Kuhstet e Kontribuesit.
@@ -636,6 +902,7 @@ sq:
       not displayed publicly: Nuk u shfaq publikisht (see <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="wiki privacy policy including section on email addresses">privacy policy</a>)
       password: "Fjalëkalimi:"
       terms accepted: Faleminderit që keni pranuar kushtet e reja për kontribues!
+      terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
       title: Krijo llogari
     no_such_user: 
       body: Na vje keq, ska shfrytzues me ket emen %{user}. Ju lutmi kontrolloni shkrimin, ose nashta linku ku keni kliku asht gabim.
@@ -662,7 +929,9 @@ sq:
       agree: Pajtohem
       consider_pd: Përveç marrëveshjes së mësipërme, unë i konsideroj kontributet e mia të jenë në Domenin Publik
       consider_pd_why: çfarë është kjo?
+      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
       decline: Nuk e pranoj
+      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
       heading: Kushtet e Kontribimit
       legale_names: 
         france: Francë
index 6cc93b298d533ba29be178f7c358bd95f8db683b..cbe2629040e4f948ce7c090a95085d11b96a8db0 100644 (file)
@@ -119,7 +119,7 @@ sr-EC:
       edited_at: "Измењено:"
       edited_by: "Изменио:"
       in_changeset: "У скупу измена:"
-      version: "Ð\98здаÑ\9aе:"
+      version: "Ð\92еÑ\80зиÑ\98а:"
     containing_relation: 
       entry: Однос %{relation_name}
       entry_role: Однос %{relation_name} (као %{relation_role})
@@ -282,20 +282,26 @@ sr-EC:
     changesets: 
       area: Подручје
       comment: Коментар
-      id: Ð\98Ð\91
+      id: Ð\9dазнака
       saved_at: Сачувано у
       user: Корисник
     list: 
       description: Скорашње измене
       description_bbox: Скупови измена унутар %{bbox}
+      description_friend: Измене ваших пријатеља
+      description_nearby: Измене од околних корисника
       description_user: Скупови измена корисника %{user}
       description_user_bbox: Скупови измена корисника %{user} унутар %{bbox}
       heading: Скупови измена
       heading_bbox: Скупови измена
+      heading_friend: Измене
+      heading_nearby: Измене
       heading_user: Скупови измена
       heading_user_bbox: Скупови измена
       title: Скупови измена
       title_bbox: Скупови измена унутар %{bbox}
+      title_friend: Измене ваших пријатеља
+      title_nearby: Измене од околних корисника
       title_user: Скупови измена корисника %{user}
       title_user_bbox: Скупови измена корисника %{user} унутар %{bbox}
     timeout: 
@@ -345,6 +351,8 @@ sr-EC:
       older_entries: Старији уноси
       recent_entries: "Скорашњи уноси у дневнику:"
       title: Кориснички дневници
+      title_friends: Дневници пријатеља
+      title_nearby: Дневници околних корисника
       user_title: Дневник корисника %{user}
     location: 
       edit: Уреди
@@ -392,11 +400,9 @@ sr-EC:
       licence: Лиценца
       longitude: "ГД:"
       manually_select: Ручно изаберите друго подручје
-      mapnik_image: Мапник слика
       max: највише
       options: Могућности
       osm_xml_data: Опенстритмап XML подаци
-      osmarender_image: Осмарендер слика
       output: Излаз
       paste_html: Убаците HTML код за уграђивање на странице
       scale: Размера
@@ -543,7 +549,7 @@ sr-EC:
           veterinary: Ветеринарска хирургија
           village_hall: Сеоски дом
           waste_basket: Корпа за отпатке
-          wifi: Ð\92и-Фи Ð¿Ñ\80иÑ\81Ñ\82Ñ\83п
+          wifi: Ð\91ежиÑ\87ни Ð¸Ð½Ñ\82еÑ\80неÑ\82
           youth_centre: Дом омладине
         boundary: 
           administrative: Административна граница
@@ -731,7 +737,7 @@ sr-EC:
         place: 
           airport: Аеродром
           city: Град
-          country: Ð\94Ñ\80жава
+          country: Ð\97емÑ\99а
           county: Округ
           farm: Фарма
           hamlet: Заселак
@@ -974,13 +980,19 @@ sr-EC:
     inbox: 
       date: Датум
       from: Од
+      messages: Имате %{new_messages} и %{old_messages}
       my_inbox: Примљене
+      new_messages: 
+        one: "%{count} нова порука"
+        other: "%{count} нове поруке"
       no_messages_yet: Још увек немате порука. Зашто не бисте ступили у контакт с %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} стара порука"
+        other: "%{count} старе поруке"
       outbox: послате
       people_mapping_nearby: маперима у вашој околини
       subject: Наслов
       title: Примљене
-      you_have: Имате %{new_count} нових и %{old_count} старих порука
     mark: 
       as_read: Порука је означена као прочитана
       as_unread: Порука је означена као непрочитана
@@ -1009,6 +1021,9 @@ sr-EC:
     outbox: 
       date: Датум
       inbox: примљене
+      messages: 
+        one: Имате %{count} послату поруку
+        other: Имате %{count} послате поруке
       my_inbox: "%{inbox_link}"
       no_sent_messages: Још увек немате послатих порука. Зашто не бисте ступили у контакт с %{people_mapping_nearby_link}?
       outbox: послате
@@ -1016,7 +1031,6 @@ sr-EC:
       subject: Наслов
       title: Послате
       to: За
-      you_have_sent_messages: Имате %{count} послатих порука
     read: 
       back_to_inbox: Назад на примљене
       back_to_outbox: Назад на послате
@@ -1332,7 +1346,7 @@ sr-EC:
       count_points: "%{count} тачака"
       edit: уреди
       edit_map: Уреди мапу
-      identifiable: Ð\9fÐ\9eÐ\98СТÐ\9eÐ\92Ð\95ТÐ\89Ð\98Ð\92
+      identifiable: Ð\9cÐ\9eÐ\96Ð\95 Ð¡Ð\95 Ð\9fРÐ\95Ð\9fÐ\9eÐ\97Ð\9dÐ\90ТÐ\98
       in: у
       map: мапа
       more: више
@@ -1340,7 +1354,7 @@ sr-EC:
       private: ПРИВАТНИ
       public: ЈАВНИ
       trace_details: Погледајте детаље о трагу
-      trackable: Ð£Ð¢Ð\92РÐ\94Ð\89Ð\98Ð\92
+      trackable: Ð\9cÐ\9eÐ\96Ð\95 Ð¡Ð\95 Ð\9fРÐ\90ТÐ\98ТÐ\98
       view_map: Погледај карту
     trace_form: 
       description: "Опис:"
@@ -1452,7 +1466,7 @@ sr-EC:
       failure: Корисник %{name} није пронађен.
       success: Послали смо нову потврдну поруку на %{email}. Након што потврдите свој налог, моћи ћете да почнете с мапирањем.<br /><br />Ако користите систем против непожељних порука, додајте webmaster@openstreetmap.org у списак дозвољених адреса јер нисмо у могућности да одговоримо на било који захтев за потврду.
     filter: 
-      not_an_administrator: Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и администратор да бисте извршили ову радњу.
+      not_an_administrator: Ð¢Ñ\80еба Ð´Ð° Ð±Ñ\83деÑ\82е администратор да бисте извршили ову радњу.
     go_public: 
       flash success: Све ваше измене су сада јавне. Дозвољено вам је уређивање.
     list: 
@@ -1467,8 +1481,8 @@ sr-EC:
       summary_no_ip: "%{name} направљено %{date}"
       title: Корисници
     login: 
+      account is suspended: Нажалост, ваш налог је укинут због сумњиве активности.<br />Обратите се <a href="%{webmaster}">администратору</a> ако желите да поразговарате о проблему.
       account not active: Жао нам је, ваш налог још увек није активиран. <br />Пратите везу у поруци за потврду е-поште да бисте га активирали или <a href="%{reconfirm}">затражите нову поруку</a>.
-      account suspended: Жао нам је, ваш налог је привремено укинут због сумњиве активности.<br />Контактирајте %{webmaster}а ако желите да се жалите.
       auth failure: Не могу да вас пријавим с унетим подацима.
       create account minute: Отворите налог. Потребно је само неколико тренутака.
       email or username: "Е-адреса или корисничко име:"
@@ -1477,6 +1491,7 @@ sr-EC:
       lost password link: Заборавили сте лозинку?
       new to osm: Нови сте на сајту?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Сазнајте више о предстојећој измени лиценце</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">преводи</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">разговор</a>)
+      notice_terms: Опенстритмап добија нову лиценцу 1. априла 2012. Ова лиценца је отворена исто као и садашња, али правни детаљи су много погоднији нашој картографској бази. Са задовољством би задржали ваше доприносе на Опенстритмапу, али ово је могуће само ако прихватите да они буду објављени под условима нове лиценце. У супротном, мораћемо да их уклонимо из базе.<br /><br />Пријавите се, прочитајте услове и видите да ли се слажете с њима. Хвала!
       openid: "%{logo} OpenID:"
       openid invalid: Изгледа да OpenID није исправан
       openid missing provider: Не могу да се повежем с OpenID добављачем
@@ -1505,7 +1520,6 @@ sr-EC:
       remember: "Запамти ме:"
       title: Пријава
       to make changes: Да бисте правили измене, морате имати налог.
-      webmaster: администратор
       with openid: "Резервни начин је да користите OpenID:"
       with username: "Већ имате налог? Пријавите се с корисничким именом и лозинком:"
     logout: 
@@ -1598,12 +1612,18 @@ sr-EC:
       confirm_user: потврди овог корисника
       create_block: блокирај овог корисника
       created from: "Направљено из:"
+      ct accepted: Прихваћено пре %{ago} дана
+      ct declined: Одбијено
+      ct status: "Услови за учешће:"
+      ct undecided: Неодлучено
       deactivate_user: деактивирај овог корисника
       delete_user: обриши овог корисника
       description: Опис
       diary: дневник
       edits: измене
       email address: "Е-адреса:"
+      friends_changesets: Све измене пријатеља
+      friends_diaries: Преглед свих записа у дневнику пријатеља
       hide_user: сакриј овог корисника
       if set location: Ако поставите своју локацију, згодна мапа ће бити приказана испод. Можете је подесити у %{settings_link}.
       km away: удаљено %{count} км
@@ -1616,6 +1636,8 @@ sr-EC:
       my settings: моје поставке
       my traces: моји трагови
       nearby users: "Остали оближњи корисници:"
+      nearby_changesets: Преглед свих измена околних корисника
+      nearby_diaries: Преглед свих записа у дневнику околних корисника
       new diary entry: нови унос у дневнику
       no friends: Нисте додали ниједног пријатеља.
       no nearby users: Још увек нема оближњих корисника који мапирају.
@@ -1636,7 +1658,7 @@ sr-EC:
       status: "Стање:"
       traces: трагови
       unhide_user: откриј овог корисника
-      user location: Ð\9bокаÑ\86иÑ\98а корисника
+      user location: Ð\91оÑ\80авиÑ\88Ñ\82е корисника
       your friends: Ваши пријатељи
   user_block: 
     blocks_by: 
@@ -1663,7 +1685,7 @@ sr-EC:
     filter: 
       block_expired: Блокада је већ истекла и не може се уређивати.
       block_period: Период блокаде мора бити једна од вредности из падајућег списка.
-      not_a_moderator: Ð\9cоÑ\80аÑ\82е Ð±Ð¸Ñ\82и Ñ\83Ñ\80едник да бисте извршили ову радњу.
+      not_a_moderator: Ð¢Ñ\80еба Ð´Ð° Ð±Ñ\83деÑ\82е Ð¼Ð¾Ð´ÐµÑ\80аÑ\82оÑ\80 да бисте извршили ову радњу.
     helper: 
       time_future: Завршава се у %{time}.
       time_past: Завршено пре %{time}.
index 9cd2da71f643f0b1f6344cc513933b3f353a2af2..a37e883e52ed0719437324bfd91d7229aa3559cd 100644 (file)
@@ -283,14 +283,20 @@ sr-EL:
     list: 
       description: Skorašnje izmene
       description_bbox: Skupovi izmena unutar %{bbox}
+      description_friend: Izmene vaših prijatelja
+      description_nearby: Izmene od okolnih korisnika
       description_user: Skupovi izmena korisnika %{user}
       description_user_bbox: Skupovi izmena korisnika %{user} unutar %{bbox}
       heading: Skupovi izmena
       heading_bbox: Skupovi izmena
+      heading_friend: Izmene
+      heading_nearby: Izmene
       heading_user: Skupovi izmena
       heading_user_bbox: Skupovi izmena
       title: Skupovi izmena
       title_bbox: Skupovi izmena unutar %{bbox}
+      title_friend: Izmene vaših prijatelja
+      title_nearby: Izmene od okolnih korisnika
       title_user: Skupovi izmena korisnika %{user}
       title_user_bbox: Skupovi izmena korisnika %{user} unutar %{bbox}
     timeout: 
@@ -340,6 +346,8 @@ sr-EL:
       older_entries: Stariji unosi
       recent_entries: "Skorašnji unosi u dnevniku:"
       title: Korisnički dnevnici
+      title_friends: Dnevnici prijatelja
+      title_nearby: Dnevnici okolnih korisnika
       user_title: Dnevnik korisnika %{user}
     location: 
       edit: Uredi
@@ -387,11 +395,9 @@ sr-EL:
       licence: Licenca
       longitude: "GD:"
       manually_select: Ručno izaberite drugo područje
-      mapnik_image: Mapnik slika
       max: najviše
       options: Mogućnosti
       osm_xml_data: Openstritmap XML podaci
-      osmarender_image: Osmarender slika
       output: Izlaz
       paste_html: Ubacite HTML kod za ugrađivanje na stranice
       scale: Razmera
@@ -726,7 +732,7 @@ sr-EL:
         place: 
           airport: Aerodrom
           city: Grad
-          country: Država
+          country: Zemlja
           county: Okrug
           farm: Farma
           hamlet: Zaselak
@@ -969,13 +975,19 @@ sr-EL:
     inbox: 
       date: Datum
       from: Od
+      messages: Imate %{new_messages} i %{old_messages}
       my_inbox: Primljene
+      new_messages: 
+        one: "%{count} nova poruka"
+        other: "%{count} nove poruke"
       no_messages_yet: Još uvek nemate poruka. Zašto ne biste stupili u kontakt s %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} stara poruka"
+        other: "%{count} stare poruke"
       outbox: poslate
       people_mapping_nearby: maperima u vašoj okolini
       subject: Naslov
       title: Primljene
-      you_have: Imate %{new_count} novih i %{old_count} starih poruka
     mark: 
       as_read: Poruka je označena kao pročitana
       as_unread: Poruka je označena kao nepročitana
@@ -1004,6 +1016,9 @@ sr-EL:
     outbox: 
       date: Datum
       inbox: primljene
+      messages: 
+        one: Imate %{count} poslatu poruku
+        other: Imate %{count} poslate poruke
       my_inbox: "%{inbox_link}"
       no_sent_messages: Još uvek nemate poslatih poruka. Zašto ne biste stupili u kontakt s %{people_mapping_nearby_link}?
       outbox: poslate
@@ -1011,7 +1026,6 @@ sr-EL:
       subject: Naslov
       title: Poslate
       to: Za
-      you_have_sent_messages: Imate %{count} poslatih poruka
     read: 
       back_to_inbox: Nazad na primljene
       back_to_outbox: Nazad na poslate
@@ -1327,7 +1341,7 @@ sr-EL:
       count_points: "%{count} tačaka"
       edit: uredi
       edit_map: Uredi mapu
-      identifiable: POISTOVETLJIV
+      identifiable: MOŽE SE PREPOZNATI
       in: u
       map: mapa
       more: više
@@ -1335,7 +1349,7 @@ sr-EL:
       private: PRIVATNI
       public: JAVNI
       trace_details: Pogledaj detalje traga
-      trackable: UTVRDLJIV
+      trackable: MOŽE SE PRATITI
       view_map: Pogledaj mapu
     trace_form: 
       description: "Opis:"
@@ -1462,8 +1476,8 @@ sr-EL:
       summary_no_ip: "%{name} napravljeno %{date}"
       title: Korisnici
     login: 
+      account is suspended: Nažalost, vaš nalog je ukinut zbog sumnjive aktivnosti.<br />Obratite se <a href="%{webmaster}">administratoru</a> ako želite da porazgovarate o problemu.
       account not active: Žao nam je, vaš nalog još uvek nije aktiviran. <br />Pratite vezu u poruci za potvrdu e-pošte da biste ga aktivirali ili <a href="%{reconfirm}">zatražite novu poruku</a>.
-      account suspended: Žao nam je, vaš nalog je privremeno ukinut zbog sumnjive aktivnosti.<br />Kontaktirajte %{webmaster}a ako želite da se žalite.
       auth failure: Ne mogu da vas prijavim s unetim podacima.
       create account minute: Otvorite nalog. Potrebno je samo nekoliko trenutaka.
       email or username: "E-adresa ili korisničko ime:"
@@ -1472,6 +1486,7 @@ sr-EL:
       lost password link: Zaboravili ste lozinku?
       new to osm: Novi ste na sajtu?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Saznajte više o predstojećoj izmeni licence</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">prevodi</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">razgovor</a>)
+      notice_terms: Openstritmap dobija novu licencu 1. aprila 2012. Ova licenca je otvorena isto kao i sadašnja, ali pravni detalji su mnogo pogodniji našoj kartografskoj bazi. Sa zadovoljstvom bi zadržali vaše doprinose na Openstritmapu, ali ovo je moguće samo ako prihvatite da oni budu objavljeni pod uslovima nove licence. U suprotnom, moraćemo da ih uklonimo iz baze.<br /><br />Prijavite se, pročitajte uslove i vidite da li se slažete s njima. Hvala!
       openid: "%{logo} OpenID:"
       openid invalid: Izgleda da OpenID nije ispravan
       openid missing provider: Ne mogu da se povežem s OpenID dobavljačem
@@ -1500,7 +1515,6 @@ sr-EL:
       remember: "Zapamti me:"
       title: Prijava
       to make changes: Da biste pravili izmene, morate imati nalog.
-      webmaster: administrator
       with openid: "Rezervni način je da koristite OpenID:"
       with username: "Već imate nalog? Prijavite se s korisničkim imenom i lozinkom:"
     logout: 
@@ -1593,12 +1607,18 @@ sr-EL:
       confirm_user: potvrdi ovog korisnika
       create_block: blokiraj ovog korisnika
       created from: "Napravljeno iz:"
+      ct accepted: Prihvaćeno pre %{ago} dana
+      ct declined: Odbijeno
+      ct status: "Uslovi za učešće:"
+      ct undecided: Neodlučeno
       deactivate_user: deaktiviraj ovog korisnika
       delete_user: obriši ovog korisnika
       description: Opis
       diary: dnevnik
       edits: izmene
       email address: "E-adresa:"
+      friends_changesets: Sve izmene prijatelja
+      friends_diaries: Pregled svih zapisa u dnevniku prijatelja
       hide_user: sakrij ovog korisnika
       if set location: Ako postavite svoju lokaciju, zgodna mapa će biti prikazana ispod. Možete je podesiti u %{settings_link}.
       km away: udaljeno %{count} km
@@ -1611,6 +1631,8 @@ sr-EL:
       my settings: moje postavke
       my traces: moji tragovi
       nearby users: "Ostali obližnji korisnici:"
+      nearby_changesets: Pregled svih izmena okolnih korisnika
+      nearby_diaries: Pregled svih zapisa u dnevniku okolnih korisnika
       new diary entry: novi unos u dnevniku
       no friends: Niste dodali nijednog prijatelja.
       no nearby users: Još uvek nema obližnjih korisnika koji mapiraju.
diff --git a/config/locales/sv-SE.yml b/config/locales/sv-SE.yml
deleted file mode 100644 (file)
index 3501afe..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-sv-SE:
-  dummy: dummy
index 2aa229f4f26e9f29b0c133b865d196515d464665..e6a8d5fd66ca96003c395b67910768f5cf9586d1 100644 (file)
@@ -12,6 +12,7 @@
 # Author: Luen
 # Author: Magol
 # Author: Per
+# Author: Pladask
 # Author: Poxnar
 # Author: Sannab
 # Author: Sertion
@@ -397,11 +398,9 @@ sv:
       licence: Licens
       longitude: "Lon:"
       manually_select: Välj ett annat område manuellt
-      mapnik_image: Mapnik-bild
       max: max
       options: Alternativ
       osm_xml_data: OpenStreetMap XML-data
-      osmarender_image: Osmarender-bild
       output: Utdata
       paste_html: Klistra in HTML för att bädda in på webbplats
       scale: Skala
@@ -832,7 +831,7 @@ sv:
           alpine_hut: Fjällbod
           artwork: Konstverk
           attraction: Attraktion
-          bed_and_breakfast: Bad and breakfast
+          bed_and_breakfast: Bed and breakfast
           cabin: Stuga
           camp_site: Campingplats
           caravan_site: Husvagnsuppställningsplats
@@ -958,7 +957,6 @@ sv:
       people_mapping_nearby: folk som kartlägger i närheten
       subject: Ärende
       title: Inbox
-      you_have: Du har %{new_count} nya meddelanden och %{old_count} gamla meddelanden
     mark: 
       as_read: Meddelandet markerat som läst
       as_unread: Meddelandet markerat som oläst
@@ -992,7 +990,6 @@ sv:
       subject: Ärende
       title: Utbox
       to: Till
-      you_have_sent_messages: Du har %{count} skickade meddelanden
     read: 
       back_to_inbox: Åter till inbox
       back_to_outbox: Tillbaks till utboxen
@@ -1061,7 +1058,7 @@ sv:
       get_reading: Kom igång med OpenStreetMap <a href="http://wiki.openstreetmap.org/wiki/Beginners%27_Guide">på wikin</a>, blir uppdaterad om de senaste nyheterna via <a href="http://blog.openstreetmap.org/">OpenStreetMaps blogg</a> eller <a href="http://twitter.com/openstreetmap">Twitter</a>, eller skumma genom OpenStreetMaps grundare Steve Coasts <a href="http://www.opengeodata.org/">OpenGeoData blog</a> för en kortfattad historisk genomgång, som också har en <a href="http://www.opengeodata.org/?cat=13">poddradio att lyssna på</a>!
       greeting: Hej där!
       more_videos: Det finns %{more_videos_link}.
-      more_videos_here: fler videor här
+      more_videos_here: fler videoklipp här
       video_to_openstreetmap: introduktionsvideo om OpenStreetMap
     signup_confirm_plain: 
       ask_questions: "Du kan ställa valfria frågor om OpenStreetMap på vår frågesida:"
@@ -1373,7 +1370,6 @@ sv:
       title: Användare
     login: 
       account not active: Ditt konto är inte aktivterat.<br />Vänligen klicka på länken i e-brevet med kontobekräftelsen för att aktivera ditt konto, eller <a href="%{reconfirm}">begär ett nytt bekräftelsebrev</a>.
-      account suspended: Beklagar, ditt konto har stängts av på grund av misstänkt otillåten aktivitet. <br />Kontakta %{webmaster} om du vill föra en diskussion kring detta.
       auth failure: Kunde inte logga in med de uppgifterna.
       create account minute: Skapa ett konto. Det tar bara en minut.
       email or username: "E-postadress eller användarnamn:"
@@ -1409,7 +1405,6 @@ sv:
       remember: "Kom ihåg mig:"
       title: Logga in
       to make changes: För att göra ändringar i OpenStreetMaps data måste du ha ett konto.
-      webmaster: webmaster
       with openid: "Du kan även använda ditt OpenID-konto för att logga in:"
       with username: "Har du redan ett OpenStreetMap konto? Logga in med ditt användarnamn och lösenord:"
     logout: 
@@ -1542,7 +1537,7 @@ sv:
       flash: Skapat en blockering av användare %{name}.
       try_contacting: Försök att kontakta användarenoch ge användaren tid att svara innan du blockerar .
     helper: 
-      time_future: Slutar om %{tid}.
+      time_future: Slutar om %{time}.
     index: 
       empty: Inga blockeringar har gjorts ännu.
       heading: Lista över blockerade användare
@@ -1569,7 +1564,7 @@ sv:
       heading: Återkalla blockering på %{block_on} av %{block_by}
       past: Detta block avslutades %{time} sedan och kan inte återkallas nu.
       revoke: Återkalla!
-      time_future: Denna blockering kommer att avslutas inom %{tid}.
+      time_future: Denna blockering kommer att avslutas inom %{time}.
       title: Upphäv blockering av %{block_on}
     show: 
       back: Se alla blockeringar
diff --git a/config/locales/ta.yml b/config/locales/ta.yml
new file mode 100644 (file)
index 0000000..3013bf0
--- /dev/null
@@ -0,0 +1,943 @@
+# Messages for Tamil (தமிழ்)
+# Exported from translatewiki.net
+# Export driver: syck-pecl
+# Author: Aswn
+# Author: Krishnaprasaths
+# Author: Shanmugamp7
+# Author: Surya Prakash.S.A.
+# Author: TRYPPN
+ta: 
+  activerecord: 
+    attributes: 
+      diary_comment: 
+        body: உள்ளடக்கம்
+      diary_entry: 
+        language: மொழி
+        latitude: குறுக்குக் கோடு
+        longitude: குத்துயரக் கோடு
+        title: தலைப்பு
+        user: பயனர்
+      friend: 
+        friend: நண்பர்
+        user: பயனர்
+      message: 
+        body: உள்ளடக்கம்
+        recipient: பெறுனர்
+        sender: அனுப்புனர்
+        title: தலைப்பு
+      trace: 
+        description: விளக்கம்
+        latitude: குறுக்குக் கோடு
+        longitude: குத்துயரம்
+        name: பெயர்
+        public: பொது
+        size: அளவு
+        user: பயனர்
+        visible: காணக்கூடியது
+      user: 
+        active: செயல்பாட்டிலுள்ளது
+        description: விளக்கம்
+        display_name: காட்டவிரும்பும் பெயர்
+        email: மின்னஞ்சல்
+        languages: மொழிகள்
+        pass_crypt: கடவுச்சொல்
+    models: 
+      acl: அனுமதிக் கட்டுப்பாட்டுப் பட்டியல்
+      changeset: மாற்றங்கள்
+      changeset_tag: மாற்றத் தொடுப்பு
+      country: நாடு
+      diary_comment: கையேடு கருத்துரை
+      diary_entry: Diary பதிவு
+      friend: நண்பர்
+      language: மொழி
+      message: செய்தி
+      node: முனையம்
+      node_tag: முனைய இணைப்பு
+      notifier: தெரிவிப்பான்
+      old_node: பழைய முனையம்
+      old_node_tag: பழைய முனைய இணைப்பு
+      old_relation: பழைய உறவு
+      old_relation_member: பழைய உறவு உறுப்பினர்
+      old_relation_tag: பழைய உறவு இணைப்பு
+      old_way: பழைய வழி
+      old_way_node: பழைய வழி முனையம்
+      old_way_tag: பழைய வழி இணைப்பு
+      relation: தொடர்பு
+      relation_member: தொடர்பு உறுப்பினர்
+      relation_tag: தொடர்பு இணைப்பு
+      session: அமர்வு
+      trace: சுவடு
+      tracepoint: சுவடு புள்ளி
+      tracetag: சுவடு இணைப்பு
+      user: பயனர்
+      user_preference: பயனர் விருப்பத்தேர்வு
+      user_token: பயனர் அடையாளம்
+      way: வழி
+      way_node: வழி முனையம்
+      way_tag: வழி இணைப்பு
+  browse: 
+    changeset: 
+      changeset: "மாற்றங்கள்: %{id}"
+      changesetxml: மாற்றத்தொடுப்பு XML
+      download: "%{changeset_xml_link} அல்லது %{osmchange_xml_link} -ஐப் பதிவிறக்கு"
+      feed: 
+        title: "மாற்றங்கள்: %{id}"
+        title_comment: மாற்றங்கள் %{id}-%{comment}
+      osmchangexml: osmChange XML
+      title: மாற்றங்கள்
+    changeset_details: 
+      belongs_to: "உரியது:"
+      bounding_box: சூழ்பெட்டி
+      box: பெட்டி
+      closed_at: "மூடப்பட்டது:"
+      created_at: "உருவாக்கப்பட்டது:"
+      no_bounding_box: இந்த மாற்றத்துக்கு எந்த சூழ்பெட்டியும் இதுவரை சேமிக்கப்படவில்லை.
+      show_area_box: பரப்புப் பெட்டியைக் காட்டு
+    common_details: 
+      changeset_comment: "கருத்து:"
+      deleted_at: "நீக்கப்பட்ட நேரம்:"
+      deleted_by: "நீக்கியவர்:"
+      edited_at: "திருத்தப்பட்டது:"
+      edited_by: "தொகுத்தவர்:"
+      in_changeset: "மாற்றத்தொகுப்பில்:"
+      version: "பதிப்பு:"
+    containing_relation: 
+      entry: தொடர்பு %{relation_name}
+      entry_role: தொடர்பு %{relation_name} (%{relation_role} ஆக)
+    map: 
+      deleted: நீக்கப்பட்டது
+      edit: 
+        area: பகுதி திருத்து
+        relation: தொடர்பை திருத்து
+        way: வழியை திருத்து
+      larger: 
+        area: பரப்பைப் பெரிய வரைபடத்தில் பார்க்கவும்
+        node: முனையத்தைப் பெரிய வரைபடத்தில் பார்க்கவும்
+        relation: தொடர்பைப் பெரிய வரைபடத்தில் பார்க்கவும்
+        way: வழியைப் பெரிய வரைபடத்தில் பார்க்கவும்
+      loading: ஏற்றப்படுகிறது...
+    navigation: 
+      all: 
+        next_changeset_tooltip: அடுத்த மாற்றம்
+        next_node_tooltip: அடுத்த முனையம்
+        next_relation_tooltip: அடுத்த தொடர்பு
+        next_way_tooltip: அடுத்த வழி
+        prev_changeset_tooltip: முந்தைய மாற்றம்
+        prev_node_tooltip: முந்தைய முனையம்
+        prev_relation_tooltip: முந்தைய தொடர்பு
+        prev_way_tooltip: முந்தைய வழி
+      user: 
+        name_changeset_tooltip: "%{user} என்பவரின் தொகுப்புகளைக் காண்க"
+        next_changeset_tooltip: "%{user} என்ற பயனரின் அடுத்த தொகுப்பு"
+        prev_changeset_tooltip: "%{user} என்ற பயனரின் முந்தைய தொகுப்பு"
+    node: 
+      download: "%{download_xml_link}, %{view_history_link} அல்லது %{edit_link}"
+      download_xml: XML பதிவிறக்கு
+      edit: தொகு
+      node: சந்தி
+      node_title: "சந்தி: %{node_name}"
+      view_history: வரலாற்றை பார்க்கவும்
+    node_details: 
+      coordinates: "ஆயக்கூறுகள்:"
+      part_of: "பகுதி:"
+    node_history: 
+      download: "%{download_xml_link} அல்லது %{view_details_link}"
+      download_xml: XML பதிவிறக்கு
+      node_history: "முனைய வரலாறு:"
+      node_history_title: "முனைய வரலாறு: %{node_name}"
+      view_details: விவரங்களைக் காணவும்
+    not_found: 
+      sorry: மன்னிக்கவும், %{id} என்ற அடையாளம் கொண்ட %{type} என்பது கிடைக்கவில்லை.
+      type: 
+        changeset: மாற்றங்கள்
+        node: முனையம்
+        relation: தொடர்பு
+        way: வழி
+    paging_nav: 
+      of: ","
+      showing_page: காட்டப்பட்டுக் கொண்டிருக்கும் பக்கம்
+    relation: 
+      download: "%{download_xml_link} அல்லது %{view_history_link}"
+      download_xml: XML பதிவிறக்கு
+      relation: தொடர்பு
+      relation_title: "தொடர்பு: %{relation_name}"
+      view_history: வரலாறைப் பார்க்கவும்
+    relation_details: 
+      members: "உறுப்பினர்கள்:"
+      part_of: "பகுதி:"
+    relation_history: 
+      download: "%{download_xml_link} அல்லது %{view_details_link}"
+      download_xml: XML பதிவிறக்கு
+      relation_history: தொடர்பு வரலாறு
+      relation_history_title: "தொடர்பு வரலாறு: %{relation_name}"
+      view_details: விவரங்களைக் காணவும்
+    relation_member: 
+      entry_role: "%{type} %{name} %{role} ஆக"
+      type: 
+        node: சந்தி
+        relation: தொடர்பு
+        way: வழி
+    start: 
+      manually_select: நீங்களாகவே வேறு பகுதியைத் தேர்ந்தெடுக்கவும்
+      view_data: நடப்பு வரைபடக் காட்சிக்கான தரவுகளைப் பார்க்கவும்
+    start_rjs: 
+      data_frame_title: தரவு
+      data_layer_name: தரவு
+      details: விளக்கம்
+      drag_a_box: குறிப்பிட்ட பரப்பைத் தேர்வு செய்ய ஒரு பெட்டியை வரைபடத்தின் மீது இழுத்து வரவும்
+      edited_by_user_at_timestamp: தொகுத்தவர் [[user]] அன்று [[timestamp]]
+      hide_areas: பகுதிகளை மறை
+      loading: ஏற்றப்படுகிறது ...
+      manually_select: நீங்களாகவே வேறு பகுதியைத் தேர்ந்தெடுக்கவும்
+      object_list: 
+        back: பொருள் பட்டியலை காண்பி
+        details: விளக்கம்
+        heading: பொருட்களின் பட்டியல்
+        history: 
+          type: 
+            node: சந்தி [[id]]
+            way: வழி [[id]]
+        selected: 
+          type: 
+            node: சந்தி [[id]]
+            way: வழி [[id]]
+        type: 
+          node: சந்தி
+          way: வழி
+      private_user: தனிப்பட்ட பயனர்
+      show_areas: பகுதிகளைக் காண்பி
+      show_history: வரலாற்றைக் காட்டவும்
+      wait: காத்திருக்கவும்...
+      zoom_or_select: வரைபடத்தைப் பார்ப்பதற்கு ஒரு பகுதியை நெருங்கிப் பார்க்கவும் அல்லது தேர்ந்தெடுக்கவும்
+    tag_details: 
+      tags: "குறிப்புக்கள்:"
+      wiki_link: 
+        key: விக்கி  விளக்கப்பக்கம் %{key} குறிச்சொல்லுக்காக
+    timeout: 
+      sorry: மன்னிக்கவும், %{id} என்ற அடையாளம் கொண்ட %{type} -ற்கான தரவு மீக்கொணரப்பட அதிக நேரம் எடுத்துக் கொள்கிறது.
+      type: 
+        changeset: மாற்றங்கள்
+        node: சந்தி
+        relation: தொடர்பு
+        way: வழி
+    way: 
+      edit: தொகு
+      view_history: வரலாற்றை பார்க்கவும்
+      way: வழி
+      way_title: "வழி: %{way_name}"
+    way_details: 
+      nodes: "சந்திகள்:"
+    way_history: 
+      download_xml: XML கோப்பாக பதிவிறக்கு
+      view_details: விவரங்களைக் காணவும்
+  changeset: 
+    changeset: 
+      anonymous: அடையாளமற்றவர்
+      no_comment: (எதுவுமில்லை)
+      no_edits: (திருத்தங்கள் இல்லை)
+      show_area_box: பரப்புப் பெட்டியைக் காட்டு
+      still_editing: (இன்னும் திருத்தப்படுகிறது)
+    changeset_paging_nav: 
+      next: அடுத்து »
+      previous: « முந்தைய
+    changesets: 
+      area: பகுதி
+      comment: கருத்து
+      saved_at: சேமிக்கப்பட்ட
+      user: பயனர்
+    list: 
+      description: அண்மைய மாற்றங்கள்
+      heading: மாற்ற தொகுப்புகள்
+      heading_bbox: மாற்ற தொகுப்புகள்
+      heading_friend: மாற்ற தொகுப்புகள்
+      heading_nearby: மாற்ற தொகுப்புகள்
+      heading_user: மாற்ற தொகுப்புகள்
+      heading_user_bbox: மாற்ற தொகுப்புகள்
+      title: மாற்றங்கள்
+  diary_entry: 
+    diary_comment: 
+      confirm: உறுதிசெய்
+    diary_entry: 
+      comment_link: இந்த உள்ளீடு குறித்து கருத்துகூறு
+      confirm: உறுதிசெய்
+      edit_link: இந்த உள்ளீட்டை திருத்தவும்
+      hide_link: இந்த உள்ளீட்டை மறைக்கவும்
+      reply_link: இந்த உள்ளீட்டுக்கு பதிலளி
+    edit: 
+      body: "உரை:"
+      language: "மொழி:"
+      latitude: "அட்சரேகை:"
+      location: "இடம்:"
+      longitude: "தீர்க்கரேகை:"
+      marker_text: டைரி உள்ளீடு பகுதி
+      save_button: சேமி
+      subject: "பொருள்:"
+      title: நாட்குறிப்பேடு  உள்ளீட்டை  திருத்து
+      use_map_link: வரைப்படத்தை பயன்படுத்தவும்
+    list: 
+      in_language_title: "%{language}ல் நாட்குறிப்பேடு உள்ளீடுகள்"
+      new: புதிய நாட்குறிப்பேடு உள்ளீடு
+      new_title: ஒரு புதிய பதிவை உங்கள் பயனர் நாட்குறிப்பேட்டில் உருவாக்கு
+      newer_entries: புதிய உள்ளீடுகள்
+      no_entries: டைரி உள்ளீடுகள் இல்லை
+      older_entries: பழைய உள்ளீடுகள்
+      recent_entries: "சமீபத்திய டைரி உள்ளீடுகள்:"
+      title: பயனரின் நாட்குறிப்பேடுகள்
+      title_friends: நண்பர்களின் நாட்குறிப்பேடுகள்
+      title_nearby: அருகிலுள்ள பயனர்களின் நாட்குறிப்பேடுகள்
+      user_title: "%{user}'ரின் நாட்குறிப்பேடு"
+    location: 
+      edit: தொகு
+      location: "இடம்:"
+      view: காண்
+    new: 
+      title: புதிய டைரி உள்ளீடு
+    no_such_entry: 
+      heading: இந்த id :%{id} மூலமாக எந்த  உள்ளீடும் இல்லை
+      title: இத்தகைய டைரி உள்ளீடு இல்லை.
+    no_such_user: 
+      heading: பயனர் %{user} இல்லை
+      title: அப்படியொரு பயனர் இல்லை.
+    view: 
+      leave_a_comment: ஒரு குறிப்பை இடவும்
+      login: புகுபதிகை
+      login_to_leave_a_comment: "%{login_link} ஒரு குறிப்பைவிட"
+      save_button: சேமி
+      title: "%{user}'ன்  நாட்குறிப்பேடு| %{title}"
+      user_title: "%{user}ன் நாட்குறிப்பேடு"
+  editor: 
+    default: இயல்புநிலை (தற்போதைய %{name})
+    potlatch: 
+      description: Potlatch 1 (உலவியினுள்ளேயே அமைந்த தொகுப்பி)
+      name: Potlatch 1
+    potlatch2: 
+      description: Potlatch 2 (உலவியினுள்ளேயே அமைந்த தொகுப்பி)
+      name: Potlatch 2
+    remote: 
+      description: தொலைவு கட்டுப்பாடு (JOSM அல்லது Merkaartor)
+      name: தொலைவுக் கட்டுப்பாடு
+  export: 
+    start: 
+      export_button: ஏற்றுமதி செய்
+      format: வடிவமைப்பு
+      image_size: பட அளவு
+      licence: உரிமம்
+      max: அதிகபட்சம்
+      options: விருப்பத் தேர்வுகள்
+      output: வெளியீடு
+      scale: அளவுவீதம்
+      zoom: பெரிதாக்கு
+    start_rjs: 
+      click_add_marker: வரைபடம் மீது ஒரு குறியீட்டை சேர்க்க அதை கிளிக் செய்யவும்
+      drag_a_box: குறிப்பிட்ட பரப்பைத் தேர்வு செய்ய ஒரு பெட்டியை வரைபடத்தின் மீது இழுத்து வரவும்
+      export: ஏற்றுமதி செய்
+      manually_select: நீங்களாகவே வேறு பகுதியைத் தேர்ந்தெடுக்கவும்
+  geocoder: 
+    description: 
+      types: 
+        cities: மாநகரங்கள்
+        places: இடங்கள்
+        towns: நகரங்கள்
+    direction: 
+      east: கிழக்கு
+      north: வடக்கு
+      north_east: வட கிழக்கு
+      north_west: வட மேற்கு
+      south: தெற்கு
+      south_east: தென் கிழக்கு
+      south_west: தென் மேற்கு
+      west: மேற்கு
+    results: 
+      more_results: மேலும் முடிவுகள்
+      no_results: முடிவுகள் எதுவும் காணப்படவில்லை
+    search_osm_nominatim: 
+      prefix: 
+        amenity: 
+          airport: விமான நிலையம்
+          arts_centre: கலை மையம்
+          auditorium: கலையரங்கம்
+          bank: வங்கி
+          bar: பார்
+          bicycle_parking: சைக்கிள் நிறுத்துமிடம்
+          bicycle_rental: சைக்கிள் வாடகைக்குவிடுமிடம்
+          brothel: விலைமாதர் இல்லம்
+          bus_station: பேருந்து நிலையம்
+          car_rental: கார் வாடகைக்கு
+          car_wash: கார் சுத்தம் செய்யும் இடம்
+          cinema: சினிமா (திரையரங்கம்)
+          club: சங்கம்
+          college: கல்லுரி
+          community_centre: சமுதாய மையம்
+          courthouse: நீதிமன்றம்
+          crematorium: சுடுகாடு
+          dentist: பல் மருத்துவர்கள்
+          doctors: மருத்துவர்கள்
+          dormitory: பலர் தூங்கும் இடம்
+          drinking_water: குடிநீர்
+          driving_school: ஓட்டுநர் பயிற்சிப்பள்ளி
+          embassy: தூதரகம்
+          emergency_phone: அவசர தொலைபேசி
+          fire_station: தீயணைப்பு நிலையம்
+          fountain: நீரூற்று
+          fuel: எரிபொருள்
+          grave_yard: இடுகாடு
+          gym: உடற்பயிற்சி மையம் / ஜிம்
+          hall: கூடம்
+          health_centre: சுகாதார மையம்
+          hospital: மருத்துவமனை
+          hotel: உண்டுறை விடுதி
+          ice_cream: ஐஸ் கிரீம்
+          kindergarten: சிறு குழந்தைகளுக்கு உரிய (விளையாட்டு முறை) கல்வி கூடம்
+          library: நூலகம்
+          market: சந்தை
+          marketplace: சந்தை கூடுமிடம்
+          nightclub: இரவு கிளப்
+          nursery: குழந்தைகள் பள்ளி
+          nursing_home: மருத்துவ இல்லம்
+          office: அலுவலகம்
+          park: பூங்கா
+          parking: வண்டிகள் நிறுத்துமிடம்
+          pharmacy: மருந்தகம்
+          police: காவல்
+          post_box: அஞ்சல் பெட்டி
+          post_office: தபால் நிலையம்
+          prison: சிறைச்சாலை
+          public_building: பொது கட்டிடம்
+          public_market: பொது சந்தை
+          reception_area: வரவேற்பு பகுதி
+          recycling: மறுசுழற்சி புள்ளி
+          restaurant: உணவு விடுதி
+          retirement_home: ஓய்வு இல்லம்
+          school: பள்ளிக்கூடம்
+          shelter: தங்குமிடம்
+          shop: கடை
+          studio: ஸ்டுடியோ
+          taxi: வாடகை வண்டி
+          telephone: பொது தொலைபேசி
+          theatre: திரையரங்கம்
+          toilets: கழிவறைகள்
+          townhall: நகர சபை
+          university: பல்கலைக்கழகம்
+          vending_machine: விற்பனை இயந்திரம்
+          veterinary: கால்நடை அறுவை சிகிச்சை
+          village_hall: கிராம சபை
+          youth_centre: இளைஞர் மையம்
+        boundary: 
+          administrative: நிர்வாக எல்லை
+        building: 
+          church: தேவாலயம்
+          city_hall: மாநகர கூடம்
+          commercial: வணிக கட்டிடம்
+          entrance: கட்டட நுழைவுவாயில்
+          faculty: ஆசிரியர்கள் கட்டிடம்
+          farm: பண்ணை கட்டிடம்
+          flats: அடுக்குமாடி குடியிருப்புகள்
+          garage: வாகனம் நிறுத்தும் அறை
+          hall: கூடம்
+          hospital: மருத்துவமனை கட்டிடம்
+          hotel: விடுதி
+          house: வீடு
+          industrial: தொழிற்சாலை கட்டிடம்
+          office: அலுவலக கட்டிடம்
+          public: பொது கட்டிடம்
+          residential: குடியிருப்பு கட்டிடம்
+          retail: சில்லறை வியாபார கட்டிடம்
+          school: பள்ளிக் கட்டிடம்
+          shop: கடை
+          stadium: விளையாட்டு மைதானம்
+          store: கடை
+          terrace: டெரஸ் கட்டடம்
+          tower: கோபுரம்
+          train_station: ரயில் நிலையம்
+          university: பல்கலைக்கழக கட்டிடம்
+        highway: 
+          bus_guideway: வழிநடத்தப்பட்ட பேருந்து தடம்
+          bus_stop: பேருந்து நிறுத்தம்
+          construction: நெடுஞ்சாலை  கட்டுமானப் பணிகள் நடந்து கொண்டுள்ளது.
+          cycleway: மிதிவண்டி பாதை
+          distance_marker: தூரக் குறியீடு
+          emergency_access_point: அவசர அணுகல் புள்ளி
+          footway: நடைபாதை
+          gate: வாயில்
+          living_street: வாழும் வீதி
+          minor: சிறு சாலை
+          path: பாதை
+          pedestrian: பாதசாரிகள் வழி
+          platform: நடைமேடை
+          primary: முதன்மையான சாலை
+          primary_link: முதன்மையான சாலை
+          residential: குடியிருப்பு
+          road: சாலை
+          secondary: இரண்டாம் நிலை சாலை
+          secondary_link: இரண்டாம் நிலை சாலை
+          steps: படிகள்
+          unclassified: வகைப்படுத்தாத சாலை
+        historic: 
+          archaeological_site: தொல்பொருள் தளம்
+          battlefield: போர்க்களம்
+          boundary_stone: எல்லைக் கல்
+          building: கட்டிடம்
+          castle: கோட்டை
+          house: வீடு
+          icon: படவுரு
+          memorial: நினைவிடம்
+          mine: சுரங்கம்
+          monument: நினைவுச்சின்னம்
+          museum: அருங்காட்சியகம்
+          tower: கோபுரம்
+          wreck: சேதமானது
+        landuse: 
+          commercial: வணிக பகுதி
+          construction: கட்டுமானம்
+          farm: பண்ணை
+          farmland: பண்ணை நிலம்
+          forest: வனம்
+          grass: புல்
+          industrial: தொழிலக பகுதி
+          military: ராணுவ பகுதி
+          mine: சுரங்கம்
+          mountain: மலை
+          park: பூங்கா
+          railway: தொடர்வண்டி பாதை
+          reservoir: நீர்த்தேக்கம்
+          residential: குடியிருப்பு பகுதி
+          retail: சில்லறை
+          wood: மரம்
+        leisure: 
+          beach_resort: கடற்கரை தங்குமிடம்
+          common: பொதுவான நிலம்
+          fishing: மீன்பிடிக்கும் பகுதி
+          garden: தோட்டம்
+          park: பூங்கா
+          pitch: விளையாட்டு களம்
+          playground: விளையாட்டு மைதானம்
+          recreation_ground: பொழுதுபோக்கு மைதானம்
+          sports_centre: விளையாட்டு மையம்
+          stadium: விளையாட்டு மைதானம்
+          swimming_pool: நீச்சல் குளம்
+          track: ஓடு தளம்
+          water_park: நீர் பூங்கா
+        natural: 
+          bay: வளைகுடா
+          beach: கடற்கரை
+          cave_entrance: குகை நுழைவாயில்
+          coastline: கடற்கரை பகுதி
+          heath: சுகாதாரம்
+          hill: குன்று
+          island: தீவு
+          land: நிலம்
+          river: நதி
+          rock: கல்
+          spring: வசந்த காலம்
+          tree: மரம்
+          valley: பள்ளத்தாக்கு
+          volcano: எரிமலை
+          water: நீர்
+          wood: மரம்
+        place: 
+          airport: விமான நிலையம்
+          city: நகரம்
+          country: நாடு
+          county: நாடு
+          farm: பண்ணை
+          house: வீடு
+          houses: வீடுகள்
+          island: தீவு
+          postcode: அஞ்சல் குறியீட்டு எண்
+          region: பிராந்தியம்
+          sea: கடல்
+          state: மாநிலம்
+          subdivision: துணைப்பிரிவு
+          suburb: புறநகர்
+          town: நகரம்
+          unincorporated_area: இணைக்கப்படாத பகுதி
+          village: கிராமம்
+        railway: 
+          abandoned: கைவிடப்பட்ட தொடர்வண்டி பாதை
+          construction: தொடர்வண்டி பாதை  கட்டுமானப் பணிகள் நடந்து கொண்டுள்ளது.
+          halt: ரயில் நிறுத்துமிடம்
+          historic_station: வரலாற்று சிறப்புமிக்க ரயில் நிலையம்
+          junction: ரயில்வே சந்திப்பு
+          platform: ரயில்வே நடைமேடை
+          station: ரயில் நிலையம்
+        shop: 
+          bakery: அடுமனை
+          beauty: அழகு நிலையம்
+          beverages: பானங்கள் கடை
+          bicycle: இருசக்கர வாகன கடை
+          books: புத்தகக் கடை
+          butcher: கசாப்புக்கடை
+          car: மகிழ்வுந்து (கார்) கடை
+          car_dealer: கார் விற்பனையாளர்
+          car_parts: கார் பாகங்கள்
+          car_repair: கார் சரிசெய்தல்
+          carpet: கம்பளக் கடை
+          charity: அறப்பணி கடை
+          clothes: துணிக் கடை
+          computer: கணினி கடை
+          farm: விவசாய கடை
+          fashion: நாகரிக கடை
+          fish: மீன் கடை
+          food: உணவுக் கடை
+          insurance: காப்புறுதி
+          jewelry: நகைக் கடை
+          laundry: சலவை
+          market: சந்தை
+          mobile_phone: கைப்பேசி கடை
+          motorcycle: மோட்டார் சைக்கிள் கடை
+          pet: வளர்ப்பு விலங்குகள் கடை
+          photo: புகைப்பட கடை
+          salon: முடி திருத்தகம்
+          shoes: காலணிகள் கடை
+          shopping_centre: ஷாப்பிங் மையம்
+          stationery: எழுதுபொருள் கடை
+        tourism: 
+          guest_house: விருந்தினர் இல்லம்
+          hostel: விடுதி
+          hotel: விடுதி
+          information: தகவல்
+          museum: அருங்காட்சியகம்
+          valley: பள்ளத்தாக்கு
+          viewpoint: காட்சிமுனை
+          zoo: விலங்கு காட்சி சாலை
+        waterway: 
+          boatyard: படகுஇல்லம்
+          canal: கால்வாய்
+          dam: அணை
+          lock: பூட்டு
+          river: நதி
+          riverbank: நதிக்கரை
+          waterfall: நீர்வீழ்ச்சி
+  javascripts: 
+    site: 
+      history_tooltip: இந்த பகுதிக்கான திருத்தங்களை  காண்
+  layouts: 
+    community_blogs: சமுதாய வலைப்பதிவுகள்
+    copyright: பதிப்புரிமை & உரிமம்
+    documentation: ஆவணமாக்கல்
+    edit: தொகு
+    export_tooltip: வரைபட தரவை ஏற்று
+    foundation: அறக்கட்டளை
+    foundation_title: OpenStreetMap அறக்கட்டளை
+    help: உதவி
+    help_centre: உதவி மையம்
+    history: வரலாறு
+    home: முகப்பு
+    home_tooltip: முகப்பு பகுதிக்கு செல்லவும்
+    inbox: உள்பெட்டி (%{count})
+    intro_3_partners: விக்கி
+    log_in: புகுபதிகை
+    log_in_tooltip: ஏற்கனவே உள்ள கணக்கு மூலம் புகுபதிகை செய்
+    logout: விடுபதிகை
+    logout_tooltip: விடுபதிகை
+    make_a_donation: 
+      text: ஒரு நன்கொடையை அளிக்கவும்
+    view: காண்
+    view_tooltip: வரைபடத்தை காண்
+    welcome_user: வரவேற்பு, %{user_link}
+    welcome_user_link_tooltip: உங்கள் பயனர் பக்கம்
+    wiki: விக்கி
+  license_page: 
+    foreign: 
+      title: இந்த மொழிபெயர்ப்பு பற்றி
+  message: 
+    delete: 
+      deleted: தகவல் நீக்கப்பட்டது
+    inbox: 
+      date: நாள்
+      from: "அனுப்புநர்:"
+      subject: பொருள்
+      title: உள்பெட்டி
+    message_summary: 
+      delete_button: நீக்கு
+      read_button: வாசித்ததாக குறியிடு
+      reply_button: பதில் அளி
+      unread_button: வாசிக்கப்படாததாக என குறியிடு
+    new: 
+      back_to_inbox: உள்பெட்டிக்கு திரும்பவும்
+      body: உரை
+      message_sent: செய்தி அனுப்பப்பட்டுவிட்டது
+      send_button: அனுப்பு
+      send_message_to: "%{name} க்கு புதிய தகவல் அனுப்பு"
+      subject: பொருள்
+      title: தகவல் அனுப்பு
+    no_such_message: 
+      heading: அப்படியொரு தகவல் இல்லை
+      title: அப்படியொரு தகவல் இல்லை
+    no_such_user: 
+      body: மன்னிக்கவும், அந்த பெயரில் பயனர் யாரும் இல்லை.
+      heading: அப்படியொரு பயனர் இல்லை.
+      title: அப்படியொரு பயனர் இல்லை.
+    outbox: 
+      date: நாள்
+      inbox: உள்பெட்டி
+      outbox: வெளிப்பெட்டி
+      subject: பொருள்
+    read: 
+      back_to_inbox: உள்பெட்டிக்கு திரும்பவும்
+      date: நாள்
+      from: அனுப்புநர்
+      reply_button: பதில் அளி
+      subject: பொருள்
+      title: தகவலை வாசிக்கவும்
+      to: பெறுநர்
+      unread_button: வாசிக்கப்படாததாக  குறியிடு
+    sent_message_summary: 
+      delete_button: நீக்கு
+  notifier: 
+    email_confirm_html: 
+      greeting: வணக்கம்,
+    email_confirm_plain: 
+      greeting: வணக்கம்,
+    gpx_notification: 
+      greeting: வணக்கம்,
+    lost_password_html: 
+      greeting: வணக்கம்,
+    lost_password_plain: 
+      greeting: வணக்கம்,
+  oauth_clients: 
+    edit: 
+      submit: தொகு
+    form: 
+      name: பெயர்
+      required: தேவைப்படும்
+    index: 
+      revoke: திரும்பபெறு
+    new: 
+      submit: பதிவுசெய்
+  site: 
+    edit: 
+      user_page_link: பயனர் பக்கம்
+    key: 
+      table: 
+        entry: 
+          building: குறிப்பிடத்தக்க கட்டிடம்
+          centre: விளையாட்டு மையம்
+          commercial: வணிக பகுதி
+          common: 
+            - பொதுவான
+          construction: சாலைகளில்  கட்டுமானப் பணிகள் நடந்து வருகின்றன.
+          farm: பண்ணை
+          forest: காடு
+          industrial: தொழிற்சாலை பகுதி
+          lake: 
+            - ஏரி
+            - நீர்த்தேக்கம்
+          military: ராணுவ பகுதி
+          park: பூங்கா
+          primary: முதன்மையான சாலை
+          private: தனியார் அனுமதி
+          rail: இரயில்வே
+          school: 
+            - பள்ளி
+            - பல்கலைக்கழகம்
+          secondary: இரண்டாம் நிலை சாலை
+          station: தொடர்வண்டி நிலையம்
+          summit: 
+            - உச்சி மாநாடு
+            - உயரமான இடம்
+          unclassified: வகைப்படுத்தாத சாலை
+          unsurfaced: பாவப்படாத சாலை
+          wood: விறகு
+    search: 
+      search: தேடல்
+      submit_text: செல்
+    sidebar: 
+      close: மூடு
+      search_results: தேடல் முடிவுகள்
+  time: 
+    formats: 
+      friendly: "%e %B %Y, %H:%M"
+  trace: 
+    edit: 
+      description: "விளக்கம்:"
+      download: தரவிறக்கு
+      edit: தொகு
+      filename: "கோப்புப்பெயர்:"
+      map: வரைபடம்
+      owner: "உரிமையாளர்:"
+      points: "புள்ளிகள்:"
+      save_button: மாற்றங்களை சேமி
+      tags: "குறிச்சொற்கள்:"
+      tags_help: காற்புள்ளி வரம்பில்லை
+      uploaded_at: "பதிவேற்றப்பட்டது:"
+      visibility: "காணும்தூரம்:"
+      visibility_help: இது எதைக் குறிக்கிறது?
+    no_such_user: 
+      heading: பயனர் %{user} இல்லை
+      title: அப்படியொரு பயனர் இல்லை.
+    trace: 
+      by: மூலம்
+      edit: தொகு
+      edit_map: வரைபடத்தை திருத்து
+      identifiable: அடையாளம் காணக்கூடிய
+      in: உள்
+      map: வரைபடம்
+      private: தனியார்
+      public: பொது
+      view_map: வரைபடத்தை காண்
+    trace_form: 
+      description: "விளக்கம்:"
+      help: உதவி
+      tags: "குறிச்சொற்கள்:"
+      tags_help: காற்புள்ளி வரம்பில்லை
+      upload_button: பதிவேற்று
+      visibility: "காணும்தூரம்:"
+      visibility_help: இது எதைக் குறிக்கிறது?
+    trace_header: 
+      see_all_traces: அனைத்து சுவடுகளையும் காண்
+      see_your_traces: உங்கள் சுவடுகளை காண்
+      upload_trace: சுவடை பதிவேற்றவும்
+    trace_optionals: 
+      tags: குறிச்சொற்கள்
+    trace_paging_nav: 
+      next: அடுத்து »
+      previous: « முந்தைய
+    view: 
+      delete_track: இந்த சுவடை நீக்கவும்
+      description: "விளக்கம்:"
+      download: தரவிறக்கு
+      edit: தொகு
+      edit_track: இந்த சுவடை திருத்து
+      filename: "கோப்புப்பெயர்:"
+      map: வரைபடம்
+      none: ஏதுமில்லை
+      owner: "உரிமையாளர்:"
+      pending: நிலுவையில்
+      points: "புள்ளிகள்:"
+      tags: "குறிச்சொற்கள்:"
+      trace_not_found: சுவடு காணப்படவில்லை!
+      uploaded: "பதிவேற்றப்பட்டது:"
+  user: 
+    account: 
+      contributor terms: 
+        link text: இது என்ன?
+      current email address: "தற்பொழுதுள்ள மின்னஞ்சல் முகவரி:"
+      delete image: நடப்பு படத்தை நீக்கு
+      image: "படம்:"
+      keep image: நடப்பு படத்தை வைத்திரு
+      my settings: என் அமைப்புகள்
+      new email address: "புதிய மின்னஞ்சல் முகவரி:"
+      new image: ஒரு படத்தை சேர்
+      openid: 
+        link text: இது என்ன?
+      preferred editor: "விருப்பப்பட்ட திருத்துனர்:"
+      preferred languages: "விருப்பமான மொழிகள்:"
+      profile description: "சுயகுறிப்பு விளக்கம்:"
+      save changes button: மாற்றங்களைச் சேமி
+      title: கணக்கை திருத்து
+    list: 
+      heading: பயனர்கள்
+      title: பயனர்கள்
+    login: 
+      email or username: "மின்னஞ்சல் முகவரி அல்லது பயனர் பெயர்:"
+      heading: புகுபதிகை
+      login_button: புகுபதிகை
+      lost password link: உங்கள் கடவுச்சொல் மறந்துவிட்டதா?
+      openid_providers: 
+        google: 
+          title: கூகிள் மூலம் புகுபதிகை செய்
+        yahoo: 
+          title: யாகூ கணக்கு மூலம் புகுபதிகை செய்
+      password: "கடவுச்சொல்:"
+      register now: இப்போது பதிவுசெய்யுங்கள்
+      remember: என்னை நினைவில் வைத்துக்கொள்ளவும்
+      title: புகுபதிகை
+    logout: 
+      logout_button: விடுபதிகை
+      title: விடுபதிகை
+    lost_password: 
+      email address: "மின்னஞ்சல் முகவரி:"
+      heading: கடவுச்சொல் மறந்துவிட்டதா?
+      new password button: கடவுச்சொல்லை மீட்டமை
+      title: காணப்படாத கடவுச்சொல்
+    new: 
+      confirm email address: "மின்னஞ்சல் முகவரியை உறுதி செய்யவும்:"
+      confirm password: "கடவுச்சொல்லை உறுதிசெய்:"
+      email address: "மின்னஞ்சல் முகவரி:"
+      heading: பயனர் கணக்கு ஒன்றை உருவாக்கு
+      password: "கடவுச்சொல்:"
+      title: கணக்கை உருவாக்கு
+    no_such_user: 
+      heading: பயனர் %{user} இல்லை
+      title: அப்படியொரு பயனர் இல்லை.
+    popup: 
+      friend: நண்பர்
+    reset_password: 
+      confirm password: "கடவுச்சொல்லை உறுதிசெய்:"
+      flash changed: உங்கள் கடவுச்சொல் மாற்றப்பட்டது.
+      heading: " %{user}க்கு கடவுச்சொல் மீட்டமை"
+      password: "கடவுச்சொல்:"
+      reset: கடவுச்சொல்லை மீட்டமை
+      title: கடவுச்சொல்லை மீட்டமை
+    suspended: 
+      heading: கணக்கு இடைநீக்கம் செய்யப்பட்டுள்ளது
+      title: கணக்கு இடைநீக்கம் செய்யப்பட்டுள்ளது
+    terms: 
+      agree: ஏற்றுக் கொள்
+      decline: நிராகரி
+      legale_names: 
+        france: பிரான்சு
+        italy: இத்தாலி
+        rest_of_world: உலகின் மற்ற பகுதிகள்
+    view: 
+      activate_user: இந்த பயனரை  செயற்படுத்து
+      add as friend: நண்பராக சேர்
+      ago: (%{time_in_words_ago} முன்பு)
+      block_history: பெறப்பட்ட தடுப்புகளை காண்
+      confirm: உறுதிசெய்
+      confirm_user: இந்த பயனரை உறுதிசெய்
+      create_block: இப் பயனரைத் தடைசெய்
+      ct declined: நிராகரிக்கப்பட்டது
+      ct status: "பங்களிப்பாளர் விதிமுறைகள்:"
+      ct undecided: முடிவு செய்யப்படாத
+      deactivate_user: இந்த பயனரை செயல் நிறுத்து
+      delete_user: இப்பயனரை நீக்கவும்
+      description: விளக்கம்
+      diary: நாட்குறிப்பேடு
+      edits: தொகுப்புகள்
+      email address: "மின்னஞ்சல் முகவரி:"
+      hide_user: இந்த பயனரை மறை
+      km away: "%{count}கிமீ தாண்டி"
+      latest edit: "தற்போதைய  திருத்தம் %{ago}:"
+      m away: "%{count}மீ தாண்டி"
+      moderator_history: கொடுக்கப்பட்ட தடைகளை காண்
+      my diary: எனது நாட்குறிப்பேடு
+      my edits: என் திருத்தங்கள்
+      my settings: என் அமைப்புகள்
+      nearby users: மற்ற அருகிலுள்ள பயனர்கள்
+      new diary entry: புதிய நாட்குறிப்பேடு உள்ளீடு
+      no friends: நீங்கள் இதுவரை எந்த நண்பர்களையும் சேர்க்கவில்லை
+      role: 
+        administrator: இந்த பயனர் ஒரு நிர்வாகி
+        grant: 
+          administrator: நிர்வாகி அனுமதியை அளிக்கவும்
+          moderator: நடுவர் அனுமதி அளிக்கவும்
+        moderator: இந்த பயனர் ஒரு நடுவர்
+        revoke: 
+          administrator: நிர்வாகி அனுமதியை திரும்பபெறவும்
+          moderator: நடுவர் அனுமதியை திரும்பபெறவும்
+      settings_link_text: அமைப்புகள்
+      status: "நிலை:"
+      unhide_user: இந்த பயனரை மறைத்ததை நீக்கு
+      user location: பயனர் அமைவிடம்
+      your friends: உங்கள் நண்பர்கள்
+  user_block: 
+    partial: 
+      confirm: உறுதியாகவா?
+      creator_name: உருவாக்கியவர்
+      display_name: தடைசெய்யப்பட்ட பயனர்
+      edit: தொகு
+      revoke: திரும்பபெறு!
+      show: காண்பி
+      status: நிலை
+    show: 
+      confirm: உறுதியாகவா?
+      edit: தொகு
+      reason: "தடைக்கான காரணம்:"
+      revoke: திரும்பபெறு!
+      show: காண்பி
+      status: நிலை
+  user_role: 
+    revoke: 
+      confirm: உறுதிப்படுத்து
index cb9279f44cb07ec366256429b04fad76206870d1..1808eb282a8dc098524e184c32786ad493b8d446 100644 (file)
@@ -375,11 +375,9 @@ tl:
       licence: Lisensiya
       longitude: "Longhitud:"
       manually_select: Kinakamay na pumili ng ibang lugar
-      mapnik_image: Larawan ng Mapnik
       max: pinakamataas
       options: Mga mapagpipilian
       osm_xml_data: Dato ng XML ng OpenStreetMap
-      osmarender_image: Larawan ng Osmarender
       output: Kinalabasan
       paste_html: Idikit ang HTML na ibabaon sa websayt
       scale: Sukat
@@ -956,7 +954,6 @@ tl:
       people_mapping_nearby: mga taong kalapit na nagmamapa
       subject: Paksa
       title: Kahon ng pumapasok
-      you_have: Mayroon kang %{new_count} bagong mga mensahe at %{old_count} lumang mga mensahe
     mark: 
       as_read: Minarkahan ang mensahe bilang nabasa na
       as_unread: Minarkahan ang mensahe bilang hindi pa nababasa
@@ -992,7 +989,6 @@ tl:
       subject: Paksa
       title: Kahong-labasan
       to: Para kay
-      you_have_sent_messages: Mayroon kang %{count} naipadalang mga mensahe
     read: 
       back_to_inbox: Bumalik sa kahong-tanggapan
       back_to_outbox: Bumalik sa kahong-labasan
@@ -1439,7 +1435,6 @@ tl:
       title: Mga tagagamit
     login: 
       account not active: Paumanhin, hindi pa binubuhay ang akawnt mo.<br />Mangyaring gamitin ang kawing na nasa loob ng e-liham ng pagtitiyak ng akawnt upang buhayin ang akawnt mo, o <a href="%{reconfirm}">humiling ng isang panibagong e-liham ng pagtitiyak</a>.
-      account suspended: Paumanhin, inantala ang akawnt mo dahil sa kahina-hinalang gawain. <br />Mangyaring makipag-ugnayan sa %{webmaster} kung nais mong talakayin ito.
       auth failure: Paumanhin, hindi makalagda sa pamamagitan ng mga detalyeng iyan.
       create account minute: Lumikha ng isang akawnt. Aabutin lamang ng isang minuto.
       email or username: "Tirahan ng E-liham o Pangalan ng Tagagamit:"
@@ -1453,7 +1448,6 @@ tl:
       remember: "Tandaan ako:"
       title: Lumagda
       to make changes: Upang makagawa ng mga pagbabago sa dato ng OpenStreetMap data, kailangang mayroon kang isang akawnt.
-      webmaster: panginoon ng sapot
     logout: 
       heading: Umalis sa pagkakalagda mula sa OpenStreetMap
       logout_button: Umalis sa pagkakalagda
index 96f8c1907f3bc8ac4aea4929d84a3dcc9e81d30c..9307addd13c36478ae87c6f5edbf0ddbaaa0340b 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: syck-pecl
 # Author: Alerque
+# Author: Emperyan
 # Author: George Animal
 # Author: Gizemb
 # Author: Katpatuka
@@ -32,6 +33,7 @@ tr:
         latitude: Enlem
         longitude: Boylam
         name: Ad
+        public: Kamu
         size: Boyut
         user: Kullanıcı
         visible: Görünür
@@ -44,17 +46,20 @@ tr:
         pass_crypt: Şifre
     models: 
       acl: Erişim Kontrol Listesi
+      changeset: Değişiklik Kayıdı
+      changeset_tag: Değişiklik kayıdının etiketi
       country: Ülke
       diary_comment: Günlük Yorumu
       diary_entry: Günlük Girdisi
       friend: Arkadaş
       language: Dil
       message: Mesaj
-      old_way: Eski yol
-      old_way_tag: Eski yol etiketi
+      notifier: Bildir
+      old_way: Eski Yol
+      old_way_tag: Eski Yol Etiketi
       session: Oturum
       user: Kullanıcı
-      user_preference: Kullanıcı Ayarları
+      user_preference: Kullanıcı Tercihleri
       way: Yol
       way_node: Yol Noktası
   browse: 
@@ -245,17 +250,32 @@ tr:
     list: 
       description: Son değişiklikler
       description_bbox: "%{bbox} alanındaki bulunan harita değişiklik setleri"
+      description_friend: Arkadaşların değişiklik kayıtları
+      description_nearby: Yakındaki kullanıcıların değişiklik kayıtları
       description_user: "%{user} tarafından değişiklik setleri"
       description_user_bbox: "%{user} tarafından %{bbox} alanındaki değişiklik setleri"
       heading: Değişiklik Setleri
       heading_bbox: Değişiklik Setleri
+      heading_friend: Değişiklik Kayıtları
+      heading_nearby: Değişiklik Kayıtları
       heading_user: Değişiklik Setleri
       heading_user_bbox: Değişiklik Setleri
       title: Değişiklik Setleri
       title_bbox: "%{bbox} alanındaki bulunan harita değişiklik setleri"
+      title_friend: Arkadaşların değişiklik kayıtları
+      title_nearby: Yakındaki kullanıcıların değişiklik kayıtları
       title_user: "%{user} tarafından değişiklik setleri"
       title_user_bbox: "%{user} tarafından %{bbox} alanındaki değişiklik setleri"
+    timeout: 
+      sorry: Üzgünüz, değişiklik kayıtlarının listelenmesi fazla sürdü.
   diary_entry: 
+    comments: 
+      comment: Yorum
+      has_commented_on: "%{display_name} aşağıdaki günlük girdilerini yorumladı"
+      newer_comments: Daha yeni yorumlar
+      older_comments: Daha eski yorumlar
+      post: Yazı
+      when: Tarih
     diary_comment: 
       comment_from: "%{link_user} tarafından %{comment_created_at} tarihindeki yorum"
       confirm: Onayla
@@ -300,6 +320,8 @@ tr:
       older_entries: Daha eski kayıtlar
       recent_entries: "Son günlük kayıtları:"
       title: Kullanıcıların günlükleri
+      title_friends: Arkadaşlarının günlükleri
+      title_nearby: Yakındaki kullanıcıların günlükleri
       user_title: "%{user} (Günlük)"
     location: 
       edit: Düzenle
@@ -347,11 +369,10 @@ tr:
       licence: Lisans
       longitude: "Boylam:"
       manually_select: Fare kullanarak farklı bir alan seç
-      mapnik_image: Mapnik resim
+      map_image: Harita (varsayılan katmanı gösterir)
       max: maks.
       options: Seçenekler
       osm_xml_data: OpenStreetMap XML Veri
-      osmarender_image: Osmarender resim
       output: Çıktı
       paste_html: Yukarıdaki HTML kodu kopyalayıp websitesinde yapıştırabilir
       scale: Ölçek
@@ -492,7 +513,7 @@ tr:
           veterinary: Veteriner
           village_hall: Köy odası
           waste_basket: Çöp sepeti
-          wifi: WiFi erisim noktası
+          wifi: WiFi erişim
           youth_centre: Gençlik Merkezi
         boundary: 
           administrative: İdari Sınır
@@ -775,7 +796,7 @@ tr:
           guest_house: Konuk Evi
           hostel: Hostel
           hotel: Hotel
-          information: Turist Enformasyon
+          information: Bilgi
           lean_to: Ek binası
           motel: Motel
           museum: Müze
@@ -800,6 +821,8 @@ tr:
     map: 
       base: 
         cycle_map: Topoğrafik Haritası
+        standard: Standart
+        transport_map: Ulaştırma Haritası
     site: 
       edit_disabled_tooltip: Harita düzenlemek için yakınlaştırmak gerek
       edit_tooltip: Haritayı düzenle
@@ -856,7 +879,7 @@ tr:
     sign_up: Kaydol
     sign_up_tooltip: Düzenleme moduna girmek için bir hesap oluştur
     sotm2011: 2011 OpenStreetMap konferans, The State of the Map (Haritanın Durumu), 9-11 Eylül Denver'de!
-    tag_line: Özgür bir Viki Dünya Haritası
+    tag_line: Özgür Viki Dünya Haritası
     user_diaries: Günlük
     user_diaries_tooltip: Kullanıcı günlükleri görüntüle
     view: Harita
@@ -884,7 +907,6 @@ tr:
       people_mapping_nearby: yakın çevredeki haritacılar
       subject: Konu
       title: Gelen Kutusu
-      you_have: "%{new_count} yeni mesaj ve %{old_count} eski mesaj var"
     mark: 
       as_read: Mesaj okundu olarak işaretlendi
       as_unread: Mesaj okunmadı olarak işaretlendi
@@ -918,7 +940,6 @@ tr:
       subject: Konu
       title: Gönderilmiş Kutusu
       to: Alıcı
-      you_have_sent_messages: Gönderilen iletilerin sayısı %{count}
     read: 
       back_to_inbox: Gelen kutusuna dön
       back_to_outbox: Gönderilmiş kutusuna dön
@@ -1071,7 +1092,7 @@ tr:
           wood: Orman
     search: 
       search: Ara
-      search_help: "örneğin: 'demirkazık', 'istiklal caddesi, istanbul', '50500', veya 'post office near Lünen' <a href='http://wiki.openstreetmap.org/wiki/Search'>daha fazla örnek...</a>"
+      search_help: "örneğin: 'Beyoğlu', 'İstiklal Caddesi, İstanbul', 'CB2 5AQ' ya da 'Fatih yakınlarında postane' <a href='http://wiki.openstreetmap.org/wiki/Search'>daha fazla örnek...</a>"
       submit_text: Git
       where_am_i: Ben neredeyim?
       where_am_i_title: Arama motoru kullanarak geçerli konumunu tanımlar
@@ -1170,8 +1191,10 @@ tr:
   user: 
     account: 
       contributor terms: 
+        agreed: Yeni katılımcı şartları kabul ettin.
         heading: "Katılımcı Şartları:"
         link text: nemiş bu?
+        not yet agreed: Yeni katılımcı şartları kabul etmedin.
       current email address: "Geçerli E-posta Adresi:"
       delete image: Geçerli resim kaldır
       email never displayed publicly: (asla genel olarak görüntülenir)
@@ -1188,11 +1211,17 @@ tr:
       new email address: "Yeni E-posta Adresi:"
       new image: Resim ekle
       no home location: Konumunu girmedin.
+      openid: 
+        link: http://wiki.openstreetmap.org/wiki/OpenID
+        link text: nemiş bu?
+        openid: "OpenID:"
       preferred editor: "Tercih edilen harita düzenleyici:"
       preferred languages: "Tercih edilen diller (mesela tr,en,de):"
       profile description: "Profil Açıklaması:"
       public editing: 
+        disabled: Devre dışı ve verileri düzenleyemez; önceki düzenlemeleri hepsi anonimdir.
         disabled link text: neden düzenleyemiyorum?
+        enabled: Etkin. Anonim değil ve verileri düzenleyebilir.
         enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
         enabled link text: bu da ne?
         heading: "Herkese açık düzenleme modu:"
@@ -1211,10 +1240,13 @@ tr:
       button: Onayla
       success: E-posta adresinizi doğrulandı, kaydolduğu için teşekkür ederiz! İyi çalışmaları dileriz!
     confirm_resend: 
-      failure: "%{user} kullanıcısı bulunamadı."
+      failure: "%{name} kullanıcısı bulunamadı."
       success: Yeni bir onay mesajı %{email} adresine gönderdik. Mesajı onaylar onaylamaz haritacılığı başlayabilirsiniz.<br><br>Eğer onaylama mesajını almadısanız e-postanızın Antispam/Junk/İstenmeyen klasörüne lütfen kontrol ediniz.
     list: 
       heading: Kullanıcılar
+      showing: 
+        one: Sayfa %{page} (%{first_item} - toplam %{items})
+        other: Sayfa %{page} (%{first_item}-%{last_item} - toplam %{items})
       summary_no_ip: "%{name} %{date} tarihinde oluşturuldu."
       title: Kullanıcılar
     login: 
@@ -1226,6 +1258,7 @@ tr:
       login_button: Gir
       lost password link: Şifren mi unuttun?
       new to osm: OpenStreetMap sitesinde yeni misiniz?
+      no account: Hesabın yok mu?
       password: "Şifre:"
       register now: Şimdi kayıt ol
       remember: "Beni hatırla:"
@@ -1251,7 +1284,9 @@ tr:
       display name description: Herkes tarafından görünen ad. Bu adı istediği zaman 'tercihlerim' bölümünde değiştirebilirsin.
       email address: "E-posta Adresi:"
       heading: Kullanıcı Hesabı Oluştur
+      openid: "%{logo} OpenID:"
       password: "Şifre:"
+      terms accepted: Yeni katılımcı şartları kabul ettiğin için teşekkür ederiz!
       title: Hesap oluştur
     no_such_user: 
       body: Üzgünüz, %{user} adlı bir kullanıcı yok. Lütfen yazımınızı denetleyin veya tıkladığınız bağlantı belki yanlış idi.
@@ -1294,30 +1329,45 @@ tr:
       block_history: verilen engellemeleri görüntüle
       blocks by me: engellediklerim
       blocks on me: engellendiklerim
+      comments: yorumlar
       confirm: Onayla
       confirm_user: bu kullanıcıyı onayla
       create_block: Bu kullanıcıyı engelle
+      created from: "Kullanıldı yazılım:"
+      ct accepted: "%{ago} önce kabul etti"
+      ct declined: Reddetti
+      ct status: "Katılımcının şartları:"
+      ct undecided: Kararsız
       deactivate_user: bu kullanıcıyı pasifleştir
       delete_user: bu kullanıcıyı sil
       description: Açıklama
       diary: günlük
       edits: düzenlemeleri
       email address: "E-posta adresi:"
+      friends_changesets: Arkadaşların bütün değişiklik kayıtları görüntüle
+      friends_diaries: Arkadaşların bütün günlük girdileri görüntüle
       hide_user: bu kullanıcı gizle
       km away: "%{count} km uzak"
+      latest edit: "Son değişiklik %{ago}:"
       m away: "%{count} metre yakın"
       mapper since: "Haritacılığın başlangıç tarihi:"
       moderator_history: verilen engellemeleri görüntüle
+      my comments: yorumladıklarım
       my diary: günlüğüm
       my edits: katkılarım
       my settings: tercihlerim
       my traces: GPS izlerim
       nearby users: Yakın çevrede bulunan kullanıcılar
+      nearby_changesets: Yakındaki kullanıcıların bütün değişiklik kayıtları görüntüle
+      nearby_diaries: Yakındaki kullanıcıların bütün günlük girdileri görüntüle
       new diary entry: yeni kayıt
       no friends: Henüz herhangi bir arkadaş eklemediniz.
       no nearby users: Yakın çevredeki herhangi başka kullanıcı henüz yok.
       oauth settings: OAuth ayarları
       remove as friend: Arkadaş listesinden çıkar
+      role: 
+        administrator: Bu kullanıcı bir yönetici dir.
+        moderator: Bu kullanıcı bir moderatör dür.
       send message: mesaj gönder
       settings_link_text: ayarları
       spam score: "Spam puanı:"
@@ -1358,6 +1408,9 @@ tr:
       revoker_name: İptal eden
       show: Göster
       status: Durum
+    period: 
+      one: 1 saat
+      other: "%{count} saat"
     revoke: 
       confirm: Bu engeli kaldırmak istediğine emin misin?
       flash: Engel kaldırıldı.
index c93d5b2a8e93ad4e1c0d2235e0f902edef8b807b..b93dc1ef1d5d1b4777f8dd99b2b72a30064a627e 100644 (file)
@@ -40,7 +40,7 @@ uk:
       user: 
         active: Активний
         description: Опис
-        display_name: Показуване ім’я
+        display_name: "Показувати ім’я:"
         email: Ел. пошта
         languages: Мови
         pass_crypt: Пароль
@@ -129,7 +129,7 @@ uk:
       deleted: Вилучено
       edit: 
         area: Редагувати область
-        node: Редагувати вузол
+        node: Редагувати точку
         relation: Редагувати відношення
         way: Редагувати шлях
       larger: 
@@ -196,7 +196,7 @@ uk:
     relation_member: 
       entry_role: "%{type} %{name} як %{role}"
       type: 
-        node: Ð\92Ñ\83зол
+        node: Ð¢Ð¾Ñ\87ка
         relation: Зв’язок
         way: Лінія
     start: 
@@ -232,7 +232,7 @@ uk:
           way: Лінія
       private_user: приватний користувч
       show_areas: Показати ділянки
-      show_history: Показати Історію
+      show_history: Показати історію
       unable_to_load_size: "Неможливо завантажити: розмір ділянки [[bbox_size]] завеликий (повинен бути менше ніж %{max_bbox_size})"
       wait: Зачекайте…
       zoom_or_select: Збільшить масштаб або виберіть ділянку на мапі для перегляду
@@ -290,14 +290,20 @@ uk:
     list: 
       description: Останні зміни
       description_bbox: Набір змін в межах %{bbox}
+      description_friend: Набори змін ваших друзів
+      description_nearby: Набори змін близьких користувачів
       description_user: Набір змін користувача %{user}
       description_user_bbox: Набір змін користувача %{user} в межах %{bbox}
       heading: Набір змін
       heading_bbox: Набір змін
+      heading_friend: Набори змін
+      heading_nearby: Набір змін
       heading_user: Набір змін
       heading_user_bbox: Набір змін
       title: Набір змін
       title_bbox: Набір змін в межах %{bbox}
+      title_friend: Набори змін ваших друзів
+      title_nearby: Набори змін близьких користувачів
       title_user: Набір змін користувача %{user}
       title_user_bbox: Набір змін користувача %{user} в межах %{bbox}
     timeout: 
@@ -348,6 +354,8 @@ uk:
       older_entries: Старі записи
       recent_entries: "Останні записи:"
       title: Щоденник
+      title_friends: Щоденники друзів
+      title_nearby: Щоденники близьких користувачів
       user_title: Щоденник користувача %{user}
     location: 
       edit: Редагувати
@@ -395,11 +403,9 @@ uk:
       licence: Ліцензія
       longitude: "Дов.:"
       manually_select: Виділіть іншу ділянку
-      mapnik_image: Зображення Mapnik
       max: макс.
       options: Опції
       osm_xml_data: Дані OpenStreetMap XML
-      osmarender_image: Зображення Osmarender
       output: Результат
       paste_html: HTML-код для вбудовування до сайту
       scale: Масштаб
@@ -520,7 +526,7 @@ uk:
           post_box: Поштова скриня
           post_office: Пошта
           preschool: Дошкільний заклад
-          prison: В'язниця
+          prison: Вязниця
           pub: Паб
           public_building: Громадський заклад
           public_market: Базар
@@ -532,7 +538,7 @@ uk:
           school: Школа
           shelter: Укриття
           shop: Магазин
-          shopping: Ð¨Ð¾Ð¿Ñ\96нг
+          shopping: Ð¢Ð¾Ñ\80говелÑ\8cний Ñ\86енÑ\82Ñ\80
           social_club: Клуб за інтересами
           studio: Студія
           supermarket: Супермаркет
@@ -596,7 +602,7 @@ uk:
           living_street: Житлова зона
           minor: Другорядна дорога
           motorway: Автомагістраль
-          motorway_junction: В'їзд на автомагістраль
+          motorway_junction: Вїзд на автомагістраль
           motorway_link: З’єднання з автомагістраллю
           path: алея
           pedestrian: Пішохідна дорога
@@ -647,7 +653,7 @@ uk:
           conservation: Заповідник
           construction: Будівництво
           farm: Ферма
-          farmland: Ð¤ÐµÑ\80ма
+          farmland: Ð Ñ\96ллÑ\8f
           farmyard: Фермерське подвір'я
           forest: Ліс
           grass: Трава
@@ -728,7 +734,7 @@ uk:
           valley: Долина
           volcano: Вулкан
           water: Вода
-          wetland: Ð\92одно-болоÑ\82нÑ\96 Ñ\83гÑ\96ддÑ\8f
+          wetland: Ð\91олоÑ\82о
           wetlands: Водно-болотні угіддя
           wood: Гай
         place: 
@@ -883,10 +889,10 @@ uk:
           mineral_spring: Мінеральне джерело
           mooring: Якірна стоянка
           rapids: Пороги
-          river: Ріка
+          river: Річка
           riverbank: Берег ріки
           stream: Струмок
-          wadi: Ð\9fеÑ\80еÑ\81оÑ\85ле Ñ\80Ñ\83Ñ\81ло
+          wadi: Ð\92адÑ\96
           water_point: Пункт водопостачання
           waterfall: Водоспад
           weir: Ставок
@@ -894,6 +900,8 @@ uk:
     map: 
       base: 
         cycle_map: Мапа для велосипедистів
+        mapquest: MapQuest Open
+        transport_map: Мапа Транспорту
     site: 
       edit_disabled_tooltip: Збільшить масштаб для редагування мапи
       edit_tooltip: Редагування мапи
@@ -961,6 +969,7 @@ uk:
     welcome_user_link_tooltip: Ваша сторінка користувача
     wiki: Вікі
     wiki_title: Вікі-сайт проекту
+    wiki_url: http://wiki.openstreetmap.org/wiki/Uk:Main_Page
   license_page: 
     foreign: 
       english_link: оригіналом англійською
@@ -978,13 +987,19 @@ uk:
     inbox: 
       date: Дата
       from: Від
+      messages: У вас %{new_messages} і %{old_messages}
       my_inbox: Мої вхідні
+      new_messages: 
+        one: "%{count} нове повідомлення"
+        other: "%{count} нових повідомлень"
       no_messages_yet: У вас ще немає повідомлень. Чому б не поспілкуватись з кимось із %{people_mapping_nearby_link}?
+      old_messages: 
+        one: "%{count} старе повідомлення"
+        other: "%{count} стари повідомлень"
       outbox: вихідні
       people_mapping_nearby: користувачів поблизу вас
       subject: Тема
       title: Вхідні
-      you_have: У вас %{new_count} нових повідомлень і %{old_count} старих
     mark: 
       as_read: Повідомлення позначене як прочитане
       as_unread: Повідомлення позначене як непрочитане
@@ -1013,6 +1028,9 @@ uk:
     outbox: 
       date: Дата
       inbox: вхідні
+      messages: 
+        one: У вас %{count} надіслане повідомлення
+        other: У вас %{count} надісланих повідомлень
       my_inbox: Мої %{inbox_link}
       no_sent_messages: У вас немає відправлених повідомлень. Чому б не поспілкуватись з кимось із %{people_mapping_nearby_link}?
       outbox: вихідні
@@ -1020,7 +1038,6 @@ uk:
       subject: Тема
       title: Вихідні
       to: Кому
-      you_have_sent_messages: Ви відправили %{count} повідомлень
     read: 
       back_to_inbox: Назад до вхідних
       back_to_outbox: Назад до вихідних
@@ -1116,7 +1133,7 @@ uk:
       hopefully_you: Хтось (сподіваємось, що ви) бажає створити обліковий запис на
       introductory_video: "Ви можете подивитися відео-вступ про OpenStreetMap тут:"
       more_videos: "Ще більше відео тут:"
-      opengeodata: "OpenGeoData.org — це блог засновника OpenStreetMap — Стіва Коуст (Steve Coast), тут також можна знайти підкасти:"
+      opengeodata: "OpenGeoData.org — це блог засновника OpenStreetMap — Стіва Коуста (Steve Coast), тут також можна знайти підкасти:"
       the_wiki: "Почитати про OpenStreetMap у Вікі:"
       the_wiki_url: http://wiki.openstreetmap.org/wiki/Uk:Beginners%27_Guide
       user_wiki_1: Ми рекомендуємо вам створити сторінку користувача Віки, яка містить
@@ -1399,6 +1416,7 @@ uk:
         agreed: Ви погодилися на нові Умови Співпраці.
         agreed_with_pd: Ви також заявляєте, що ви розглядаєте свій внесок в якості Суспільного Надбання.
         heading: "Умови Співпраці:"
+        link: http://wiki.openstreetmap.org/wiki/Uk:Open_Database_License/Contributor_Terms
         link text: що це?
         not yet agreed: Ви ще не погодилися на нові Умови Співпраці.
         review link text: Перейдіть за цим посиланням у зручний для Вас спосіб, щоб переглянути і прийняти нові Умови Співпраці
@@ -1475,8 +1493,8 @@ uk:
       summary_no_ip: "%{name} зареєстврований %{date}"
       title: Користувачі
     login: 
+      account is suspended: На жаль, ваш обліковий запис був заблокований через підозрілу діяльність.<br />Будь ласка, зв'яжіться з <a href="%{webmaster}">адміністратором</a>, якщо ви маєте заперечення.
       account not active: Вибачте, ваш обліковий запис ще не активовано. <br /> Щоб його активувати, будь ласка, перевірте вашу поштову скриньку та натисніть на посилання в листі з проханням про підтвердження, або <a href="%{reconfirm}"> запросіть нове підтвердження по електронній пошті</a>.
-      account suspended: На жаль, ваш обліковий запис був заблокований через підозрілу діяльність. <br />Будь ласка, зв'яжіться з %{webmaster}, якщо ви хочете обговорити це.
       auth failure: Вибачте, вхід з цими ім'ям або паролем неможливий.
       create account minute: Створити обліковий запис. Це займе всього хвилину.
       email or username: "Ел. пошта або ім'я користувача:"
@@ -1485,6 +1503,7 @@ uk:
       lost password link: Забули пароль?
       new to osm: Вперше на OpenStreetMap?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">Дізнайтеся більше про майбутні зміни ліцензії OpenStreetMap</a> ( <a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">переклади</a> ) ( <a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">обговорення</a> )
+      notice_terms: OpenStreetMap переходить на нову ліцензію з 1 квітня 2012 року. Вона така ж відкрита як діюча, але юридично набагато краще підходить для нашої картографічної бази даних. Ми хотіли б зберегти ваш внесок у OpenStreetMap, але це буде можливо тільки якщо ви згодні поширювати ваші правки на умовах нової ліцензії. В іншому разі, нам доведеться видалити їх з бази даних. <br /> <br /> Будь ласка, ввійдіть в систему і потратьте декілька секунд на ознайомлення і прийняття нових умов. Спасибі!
       openid: "%{logo} OpenID:"
       openid invalid: На жаль, схоже ваш OpenID спотворений
       openid missing provider: На жаль, не вдається зв’язатись з вашим постачальником OpenID
@@ -1513,7 +1532,6 @@ uk:
       remember: "Запам'ятати мене:"
       title: Представтесь
       to make changes: Щоб вносити зміни до даних OpenStreetMap, ви повинні мати обліковий запис.
-      webmaster: веб-майстер
       with openid: "Крім того, для входу ви можете скористатись вашим OpenID:"
       with username: "Вже є обліковий запис OpenStreetMap? Будь ласка, введіть ваше ім'я користувача та пароль:"
     logout: 
@@ -1551,7 +1569,7 @@ uk:
       openid no password: Під час використання OpenID пароль не потрібний, але для деяких додаткових інструментів або серверів він все ще потрібен.
       password: "Пароль:"
       terms accepted: Дякуємо за прийняття нових умов співпраці!
-      terms declined: Ð\9dам Ñ\88кода, Ñ\89о Ð²Ð¸ Ð²Ð¸Ñ\80Ñ\96Ñ\88или Ð½Ðµ Ð¿Ñ\80иймаÑ\82и Ð½Ð¾Ð²Ñ\96 Ð£Ð¼Ð¾Ð²Ð¸ Ð£Ñ\87аÑ\81Ñ\82і. Для отримання додаткової інформації, будь ласка, перегляньте <a href="%{url}">цю сторінку</a> .
+      terms declined: Ð\9dам Ñ\88кода, Ñ\89о Ð²Ð¸ Ð²Ð¸Ñ\80Ñ\96Ñ\88или Ð½Ðµ Ð¿Ñ\80иймаÑ\82и Ð½Ð¾Ð²Ñ\96 Ð£Ð¼Ð¾Ð²Ð¸ Ð¡Ð¿Ñ\96впÑ\80аÑ\86і. Для отримання додаткової інформації, будь ласка, перегляньте <a href="%{url}">цю сторінку</a> .
       title: Реєстрація
       use openid: Або використовуйте для входу %{logo} OpenID
     no_such_user: 
@@ -1576,7 +1594,7 @@ uk:
     set_home: 
       flash success: Ваше місце розташування збережено
     suspended: 
-      body: " <p>\n    На жаль, ваш обліковий запис був автоматично заблокований через підозрілу\n    діяльність. \n </p>\n <p>\n    Це рішення буде розглянуто найближчим часом адміністратором, або\n    ви можете зв'язатися з %{webmaster}, якщо ви хочете обговорити це.\n </p>"
+      body: " <p>\n    На жаль, ваш обліковий запис був автоматично заблокований через підозрілу\n    діяльність. \n </p>\n <p>\n    Це рішення буде розглянуто найближчим часом адміністратором, або\n    ви можете звязатися з %{webmaster}, якщо ви хочете обговорити це.\n </p>"
       heading: Обліковий запис заблоковано
       title: Обліковий запис заблоковано
       webmaster: веб-майстер
@@ -1606,14 +1624,20 @@ uk:
       confirm_user: підтвердити користувача
       create_block: блокувати користувача
       created from: "Створено з:"
+      ct accepted: Прийняті %{ago} тому
+      ct declined: Відхилили
+      ct status: "Умови Співпраці:"
+      ct undecided: Невизначились
       deactivate_user: де-активувати цього користувача
       delete_user: вилучити цього користувача
       description: Опис
       diary: щоденник
       edits: правки
       email address: "Адреса Е-пошти:"
+      friends_changesets: Переглянути усі набори змін друзів
+      friends_diaries: Переглянути всі записи в щоденнику друзів
       hide_user: приховати цього користувача
-      if set location: Якщо ви вкажете своє місце розташування, мапа і додаткові інструменти з'являться нижче. Ви можете встановити ваше місце розташування на вашій сторінці %{settings_link}.
+      if set location: Якщо ви вкажете своє місце розташування, мапа і додаткові інструменти зявляться нижче. Ви можете встановити ваше місце розташування на вашій сторінці %{settings_link}.
       km away: "%{count} км від вас"
       latest edit: "Остання правка %{ago}:"
       m away: "%{count} м від вас"
@@ -1624,6 +1648,8 @@ uk:
       my settings: мої налаштування
       my traces: мої треки
       nearby users: Інші найближчі користувачі
+      nearby_changesets: Переглянути всі набори змін близьких користувачів
+      nearby_diaries: Переглянути всі записи в щоденниках близьких користувачів
       new diary entry: новий запис
       no friends: Ви не додали ще жодного друга.
       no nearby users: Поблизу поки немає користувачів, які займаються складанням мапи.
@@ -1643,7 +1669,7 @@ uk:
       spam score: "Оцінка Спаму:"
       status: "Статус:"
       traces: треки
-      unhide_user: Ð²Ñ\96добÑ\80азити цього користувача
+      unhide_user: Ð¿Ð¾ÐºÐ°Ð·Ð°ти цього користувача
       user location: Місце знаходження користувача
       your friends: Ваші друзі
   user_block: 
index 9ecd1c28a3c68c4861f32bff6e0cbaa0f1573e1d..25f2608e39ff72315d49ec6471ecca2c706fbd2d 100644 (file)
@@ -282,19 +282,33 @@ vi:
     list: 
       description: Những thay đổi gần đây
       description_bbox: Những bộ thay đổi ở trong %{bbox}
+      description_friend: Những bộ thay đổi của bạn bè
+      description_nearby: Những bộ thay đổi của người dùng ở gần
       description_user: Những bộ thay đổi của %{user}
       description_user_bbox: Những bộ thay đổi của %{user} ở trong %{bbox}
       heading: Các bộ thay đổi
       heading_bbox: Các bộ thay đổi
+      heading_friend: Các bộ thay đổi
+      heading_nearby: Các bộ thay đổi
       heading_user: Các bộ thay đổi
       heading_user_bbox: Các bộ thay đổi
       title: Các bộ thay đổi
       title_bbox: Những bộ thay đổi ở trong %{bbox}
+      title_friend: Những bộ thay đổi của bạn bè
+      title_nearby: Những bộ thay đổi của người dùng ở gần
       title_user: Những bộ thay đổi của %{user}
       title_user_bbox: Những bộ thay đổi của %{user} ở trong %{bbox}
     timeout: 
       sorry: Rất tiếc, lấy danh sách bộ thay đổi tốn quá nhiều thì giờ.
   diary_entry: 
+    comments: 
+      ago: cách đây %{ago}
+      comment: Bình luận
+      has_commented_on: "%{display_name} đã bình luận về các mục nhật ký sau"
+      newer_comments: Các Bình luận Sau
+      older_comments: Các Bình luận Trước
+      post: Mục nhật ký
+      when: Lúc đăng
     diary_comment: 
       comment_from: Bình luận của %{link_user} lúc %{comment_created_at}
       confirm: Xác nhận
@@ -339,6 +353,8 @@ vi:
       older_entries: Mục Trước
       recent_entries: "Mục nhật ký gần đây:"
       title: Các Nhật ký Cá nhân
+      title_friends: Các nhật ký của bạn bè
+      title_nearby: Các nhật ký của người dùng ở gần
       user_title: Nhật ký của %{user}
     location: 
       edit: Sửa
@@ -386,11 +402,10 @@ vi:
       licence: Giấy phép
       longitude: "Kinh độ:"
       manually_select: Chọn vùng khác thủ công
-      mapnik_image: Hình Mapnik
+      map_image: Hình Bản đồ (Lớp Chuẩn)
       max: tối đa
       options: Tùy chọn
       osm_xml_data: Dữ liệu OpenStreetMap XML
-      osmarender_image: Hình Osmarender
       output: Đầu ra
       paste_html: Dán HTML để nhúng vào trang Web
       scale: Tỷ lệ
@@ -537,7 +552,7 @@ vi:
           veterinary: Phẫu thuật Thú y
           village_hall: Trụ sở Làng
           waste_basket: Thùng rác
-          wifi: Điểm Truy cập Không dây
+          wifi: Điểm Truy cập Wi-Fi
           youth_centre: Trung tâm Thanh niên
         boundary: 
           administrative: Biên giới Hành chính
@@ -632,6 +647,7 @@ vi:
         landuse: 
           allotments: Khu Vườn Gia đình
           basin: Lưu vực
+          brownfield: Cánh đồng Nâu
           cemetery: Nghĩa địa
           commercial: Khu vực Thương mại
           conservation: Bảo tồn
@@ -641,6 +657,7 @@ vi:
           farmyard: Sân Trại
           forest: Rừng Trồng Cây
           grass: Cỏ
+          greenfield: Cánh đồng Xanh
           industrial: Khu vực Công nghiệp
           landfill: Nơi Đổ Rác
           meadow: Đồng cỏ
@@ -657,6 +674,7 @@ vi:
           reservoir: Bể nước
           residential: Khu vực Nhà ở
           retail: Khu vực Buôn bán
+          village_green: Sân Làng
           vineyard: Vườn Nho
           wetland: Đầm lầy
           wood: Rừng
@@ -689,6 +707,7 @@ vi:
           cliff: Vách đá
           coastline: Bờ biển
           crater: Miệng Núi
+          feature: Đối tượng Thiên nhiên
           fell: Đồi đá
           fjord: Vịnh hẹp
           geyser: Mạch nước Phun
@@ -809,8 +828,10 @@ vi:
           grocery: Tiệm Tạp phẩm
           hairdresser: Tiệm Làm tóc
           hardware: Tiệm Ngũ kim
+          hifi: Cửa hàng Hi-fi
           insurance: Bảo hiểm
           jewelry: Tiệm Kim hoàn
+          kiosk: Quán
           laundry: Tiệm Giặt Quần áo
           mall: Trung tâm Mua sắm
           market: Chợ
@@ -820,6 +841,7 @@ vi:
           newsagent: Tiệm Báo
           optician: Tiệm Kính mắt
           organic: Tiệm Thực phẩm Hữu cơ
+          outdoor: Cửa hàng Ngoài trời
           pet: Tiệm Vật nuôi
           photo: Tiệm Rửa Hình
           salon: Tiệm Làm tóc
@@ -839,6 +861,7 @@ vi:
           bed_and_breakfast: Nhà trọ
           cabin: Túp lều
           camp_site: Nơi Cắm trại
+          caravan_site: Bãi Đậu Nhà lưu động
           chalet: Nhà ván
           guest_house: Nhà khách
           hostel: Nhà trọ
@@ -862,7 +885,9 @@ vi:
           dock: Vũng tàu
           drain: Cống
           lock: Âu tàu
+          lock_gate: Âu tàu
           mineral_spring: Suối Nước khoáng
+          mooring: Cột neo tàu
           rapids: Thác ghềnh
           river: Sông
           riverbank: Bờ sông
@@ -875,9 +900,8 @@ vi:
     map: 
       base: 
         cycle_map: Bản đồ Xe đạp
-        mapnik: Mapnik
         mapquest: MapQuest Mở
-        osmarender: Osmarender
+        standard: Chuẩn
         transport_map: Bản đồ Giao thông
       overlays: 
         maplint: Maplint
@@ -901,7 +925,7 @@ vi:
     export: Xuất
     export_tooltip: Xuất dữ liệu bản đồ
     foundation: Quỹ OpenStreetMap
-    foundation_title: Quỹ Hỗ trợ OpenStreetMap
+    foundation_title: Quỹ OpenStreetMap
     gps_traces: Tuyến đường GPS
     gps_traces_tooltip: Quản lý tuyến đường GPS
     help: Trợ giúp
@@ -920,6 +944,7 @@ vi:
     intro_3: OpenStreetMap hoạt động nhờ sự hỗ trợ hosting của %{ucl}, %{ic}, và %{bytemark}. Các nhà bảo trợ khác được liệt kê tại %{partners}.
     intro_3_ic: Đại học Hoàng gia Luân Đôn
     intro_3_partners: wiki
+    intro_3_partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=vi
     intro_3_ucl: Trung tâm VR tại UCL
     license: 
       alt: CC BY-SA 2.0
@@ -953,7 +978,7 @@ vi:
       english_link: nguyên bản tiếng Anh
       text: Trong trường hợp có xung đột giữa trang dịch và trang %{english_original_link}, trang tiếng Anh sẽ được ưu tiên
       title: Thông tin về bản dịch này
-    legal_babble: "<h2>Bản quyền và Giấy phép</h2>\n<p>\n   OpenStreetMap là <i>dữ liệu mở</i> được phát hành theo giấy phép <a href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.vi\">Creative Commons Ghi công–Chia sẻ tương tự 2.0</a> (CC-BY-SA).\n</p>\n<p>\n  Bạn được tự do sao chép, phân phối, truyền, và tạo ra các tác phẩm phái sinh từ các bản đồ và dữ liệu của chúng ta, miễn là bạn ghi công OpenStreetMap và những người đóng góp vào nó. Nếu bạn sửa đổi hoặc tạo sản phẩm dựa trên các bản đồ và dữ liệu của chúng tôi, bạn chỉ được phép phân phối kết quả theo cùng giấy phép. <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">mã pháp lý</a> đầy đủ giải thích các quyền và trách nhiệm của bạn.\n</p>\n\n<h3>Cách ghi công OpenStreetMap</h3>\n<p>\n  Nếu bạn đang sử dụng các hình ảnh bản đồ OpenStreetMap, chúng tôi yêu cầu rằng lời ghi công của bạn ít nhất đề “© những người đóng góp vào OpenStreetMap, CC-BY-SA”. Nếu bạn chỉ đang sử dụng dữ liệu bản đồ, chúng tôi xin câu “Dữ liệu © những người đóng góp vào OpenStreetMap, CC-BY-SA”.\n</p>\n<p>\n  Lúc nào có thể, “OpenStreetMap” nên có liên kết đến <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> và “CC-BY-SA” đến <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Nếu bạn đang sử dụng phương tiện không cho phép đặt liên kết (thí dụ trong tác phẩm in giấy), chúng tôi gợi ý chỉ các độc giả đến www.openstreetmap.org (có lẽ bằng cách mở rộng “OpenStreetMap” trở thành địa chỉ đầy đủ này) và đến www.creativecommons.org.\n</p>\n\n<h3>Tìm hiểu thêm</h3>\n<p>\n  Hãy đọc thêm chi tiết về việc sử dụng dữ liệu của chúng tôi trong <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ?uselang=vi\">Hỏi đáp Pháp lý</a>.\n</p>\n<p>\n  Những người đóng góp vào OSM được khuyên không bao giờ bổ sung dữ liệu từ những nguồn có bản quyền (chẳng hạn Bản đồ Google hoặc các bản đồ trên giấy) trước khi người hay công ty giữ bản quyền cho phép rõ ràng.\n</p>\n<p>\n  Tuy OpenStreetMap là dữ liệu mở, nhưng chúng tôi không thể cung cấp API miễn phí để cho những nhà phát triển bên thứ ba truy cập bản đồ. Hãy xem <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy?uselang=vi\">Quy định Sử dụng API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy?uselang=vi\">Quy định Sử dụng Hình ảnh Bản đồ</a>, và <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim?uselang=vi#Usage_Policy\">Quy định Sử dụng Nominatim</a>.\n</p>\n\n<h3>Những người đóng góp vào đây</h3>\n<p>\n  Giấy phép CC-BY-SA của chúng tôi bắt bạn phải “ghi công Tác giả Đầu tiên bằng cách hợp với phương tiện Bạn đang sử dụng”. Những cá nhân vẽ bản đồ OSM không yêu cầu lời ghi công dứt khoát hơn “những người đóng góp vào OpenStreetMap”, nhưng trong những trường hợp dữ liệu của cơ quan khảo sát quốc gia hoặc nguồn lớn khác đã được nhập vào OpenStreetMap, có thể có lý ghi công nguồn này bằng cách ghi công họ thẳng hoặc đặt liên kết đến trang này.\n</p>\n\n<!--\nThông tin cho những người giữ gìn trang này\n\nSau đây chỉ là những tổ chức có điều khoản bắt phải ghi công họ trước khi OpenStreetMap nhập dữ liệu của họ được. Đây không phải là tập hợp thông tin đầy đủ về các lượt nhập. Phần này chỉ có được sử dụng khi nào cần thiết để tuân theo các điều khoản trong giấy phép của dữ liệu được nhập.\n\nTrước khi bổ sung vào phần này, hãy thảo luận với các quản lý viên hệ thống của OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Áo</strong>: Bao gồm dữ liệu từ <a href=\"http://data.wien.gv.at/\">Stadt Wien</a> theo <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.vi\">CC-BY</a>.</li>\n   <li><strong>Ba Lan</strong>: Bao gồm dữ liệu từ các <a\n   href=\"http://ump.waw.pl/\">bản đồ UMP-pcPL</a>. Bản quyền những người đóng góp UMP-pcPL.</li>\n   <li><strong>Canada</strong>: Bao gồm dữ liệu từ GeoBase®, GeoGratis (© Bộ Tài nguyên Canada), CanVec (© Bộ Tài nguyên Canada), và StatCan (Sở Địa lý, Statistics Canada).</li>\n   <li><strong>New Zealand</strong>: Bao gồm dữ liệu bắt nguồn từ Land Information New Zealand. Bản quyền Crown Copyright được bảo lưu.</li>\n   <li><strong>Pháp</strong>: Bao gồm dữ liệu từ Sở thuế Pháp (<i lang=\"fr\" xml:lang=\"fr\">Direction générale des Impôts</i>).</li>\n   <li><strong>Úc</strong>: Bao gồm dữ liệu về ngoại ô dựa trên dữ liệu của Cục Thống kê Úc.</li>\n   <li><strong>Vương quốc Anh</strong>: Bao gồm dữ liệu Ordnance Survey © bản quyền Crown Copyright và quyền cơ sở dữ liệu 2010.</li>\n</ul>\n\n<p>\n  Việc bao gồm dữ liệu trong OpenStreetMap không ngụ ý rằng nhà cung cấp dữ liệu đầu tiên ủng hộ OpenStreetMap, biện hộ sự chính xác của nó, hoặc nhận trách nhiệm pháp lý nào.\n</p>"
+    legal_babble: "<h2>Bản quyền và Giấy phép</h2>\n<p>\n   OpenStreetMap là <i>dữ liệu mở</i> được phát hành theo giấy phép <a href=\"http://creativecommons.org/licenses/by-sa/2.0/deed.vi\">Creative Commons Ghi công–Chia sẻ tương tự 2.0</a> (CC BY-SA).\n</p>\n<p>\n  Bạn được tự do sao chép, phân phối, truyền, và tạo ra các tác phẩm phái sinh từ các bản đồ và dữ liệu của chúng ta, miễn là bạn ghi công OpenStreetMap và những người đóng góp vào nó. Nếu bạn sửa đổi hoặc tạo sản phẩm dựa trên các bản đồ và dữ liệu của chúng tôi, bạn chỉ được phép phân phối kết quả theo cùng giấy phép. <a href=\"http://creativecommons.org/licenses/by-sa/2.0/legalcode\">mã pháp lý</a> đầy đủ giải thích các quyền và trách nhiệm của bạn.\n</p>\n\n<h3>Cách ghi công OpenStreetMap</h3>\n<p>\n  Nếu bạn đang sử dụng các hình ảnh bản đồ OpenStreetMap, chúng tôi yêu cầu rằng lời ghi công của bạn ít nhất đề “© những người đóng góp vào OpenStreetMap, CC BY-SA”. Nếu bạn chỉ đang sử dụng dữ liệu bản đồ, chúng tôi xin câu “Dữ liệu © những người đóng góp vào OpenStreetMap, CC BY-SA”.\n</p>\n<p>\n  Lúc nào có thể, “OpenStreetMap” nên có liên kết đến <a href=\"http://www.openstreetmap.org/\">http://www.openstreetmap.org/</a> và “CC BY-SA” đến <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">http://creativecommons.org/licenses/by-sa/2.0/</a>. Nếu bạn đang sử dụng phương tiện không cho phép đặt liên kết (thí dụ trong tác phẩm in giấy), chúng tôi gợi ý chỉ các độc giả đến www.openstreetmap.org (có lẽ bằng cách mở rộng “OpenStreetMap” trở thành địa chỉ đầy đủ này) và đến www.creativecommons.org.\n</p>\n\n<h3>Tìm hiểu thêm</h3>\n<p>\n  Hãy đọc thêm chi tiết về việc sử dụng dữ liệu của chúng tôi trong <a href=\"http://wiki.openstreetmap.org/wiki/Legal_FAQ?uselang=vi\">Hỏi đáp Pháp lý</a>.\n</p>\n<p>\n  Những người đóng góp vào OSM được khuyên không bao giờ bổ sung dữ liệu từ những nguồn có bản quyền (chẳng hạn Bản đồ Google hoặc các bản đồ trên giấy) trước khi người hay công ty giữ bản quyền cho phép rõ ràng.\n</p>\n<p>\n  Tuy OpenStreetMap là dữ liệu mở, nhưng chúng tôi không thể cung cấp API miễn phí để cho những nhà phát triển bên thứ ba truy cập bản đồ. Hãy xem <a href=\"http://wiki.openstreetmap.org/wiki/API_usage_policy?uselang=vi\">Quy định Sử dụng API</a>, <a href=\"http://wiki.openstreetmap.org/wiki/Tile_usage_policy?uselang=vi\">Quy định Sử dụng Hình ảnh Bản đồ</a>, và <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim?uselang=vi#Usage_Policy\">Quy định Sử dụng Nominatim</a>.\n</p>\n\n<h3>Những người đóng góp vào đây</h3>\n<p>\n  Giấy phép CC BY-SA của chúng tôi bắt bạn phải “ghi công Tác giả Đầu tiên bằng cách hợp với phương tiện Bạn đang sử dụng”. Những cá nhân vẽ bản đồ OSM không yêu cầu lời ghi công dứt khoát hơn “những người đóng góp vào OpenStreetMap”, nhưng trong những trường hợp dữ liệu của cơ quan khảo sát quốc gia hoặc nguồn lớn khác đã được nhập vào OpenStreetMap, có thể có lý ghi công nguồn này bằng cách ghi công họ thẳng hoặc đặt liên kết đến trang này.\n</p>\n\n<!--\nThông tin cho những người giữ gìn trang này\n\nSau đây chỉ là những tổ chức có điều khoản bắt phải ghi công họ trước khi OpenStreetMap nhập dữ liệu của họ được. Đây không phải là tập hợp thông tin đầy đủ về các lượt nhập. Phần này chỉ có được sử dụng khi nào cần thiết để tuân theo các điều khoản trong giấy phép của dữ liệu được nhập.\n\nTrước khi bổ sung vào phần này, hãy thảo luận với các quản lý viên hệ thống của OSM.\n-->\n\n<ul id=\"contributors\">\n   <li><strong>Áo</strong>: Bao gồm dữ liệu từ <a href=\"http://data.wien.gv.at/\">Tiểu bang Viên</a> theo <a href=\"http://creativecommons.org/licenses/by/3.0/at/deed.vi\">CC BY</a>.</li>\n   <li><strong>Ba Lan</strong>: Bao gồm dữ liệu từ các <a\n   href=\"http://ump.waw.pl/\">bản đồ UMP-pcPL</a>. Bản quyền những người đóng góp UMP-pcPL. Xem thêm chi tiết về <a href=\"http://wiki.openstreetmap.org/wiki/Pl:UMP2OSM/Import?uselang=vi\">cách sử dụng dữ liệu UMP tại OpenStreetMap</a>.</li></li>\n   <li><strong>Canada</strong>: Bao gồm dữ liệu từ GeoBase®, GeoGratis (© Bộ Tài nguyên Canada), CanVec (© Bộ Tài nguyên Canada), và StatCan (Sở Địa lý, Statistics Canada).</li>\n   <li><strong>Nam Phi</strong>: Bao gồm dữ liệu từ <a href=\"http://www.ngi.gov.za/\">Tổng cục: Thông tin Không gian địa lý Quốc gia</a>, bản quyền nhà nước được bảo lưu.</li>\n   <li><strong>New Zealand</strong>: Bao gồm dữ liệu bắt nguồn từ Land Information New Zealand. Bản quyền Crown Copyright được bảo lưu.</li>\n   <li><strong>Pháp</strong>: Bao gồm dữ liệu từ Sở thuế Pháp (<i lang=\"fr\" xml:lang=\"fr\">Direction générale des Impôts</i>).</li>\n   <li><strong>Úc</strong>: Bao gồm dữ liệu về ngoại ô dựa trên dữ liệu của Cục Thống kê Úc.</li>\n   <li><strong>Vương quốc Anh</strong>: Bao gồm dữ liệu Ordnance Survey © bản quyền Crown Copyright và quyền cơ sở dữ liệu 2010.</li>\n</ul>\n\n<p>\n  Việc bao gồm dữ liệu trong OpenStreetMap không ngụ ý rằng nhà cung cấp dữ liệu đầu tiên ủng hộ OpenStreetMap, biện hộ sự chính xác của nó, hoặc nhận trách nhiệm pháp lý nào.\n</p>"
     native: 
       mapping_link: bắt đầu vẽ bản đồ
       native_link: bản dịch tiếng Việt
@@ -965,13 +990,15 @@ vi:
     inbox: 
       date: Ngày
       from: Từ
+      messages: Bạn có %{new_messages} và %{old_messages}
       my_inbox: Hộp thư đến
+      new_messages: "%{count} thư mới"
       no_messages_yet: Bạn chưa nhận thư nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
+      old_messages: "%{count} thư cũ"
       outbox: đã gửi
       people_mapping_nearby: những người ở gần
       subject: Tiêu đề
       title: Hộp thư
-      you_have: Bạn có %{new_count} thư mới và %{old_count} thư cũ
     mark: 
       as_read: Thư đã đọc
       as_unread: Thư chưa đọc
@@ -1000,6 +1027,7 @@ vi:
     outbox: 
       date: Ngày
       inbox: thư đến
+      messages: Bạn có %{count} thư đã gửi
       my_inbox: Hộp %{inbox_link}
       no_sent_messages: Bạn chưa gửi thư cho người nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
       outbox: thư đã gửi
@@ -1007,7 +1035,6 @@ vi:
       subject: Tiêu đề
       title: Hộp thư đã gửi
       to: Tới
-      you_have_sent_messages: Bạn đã gửi %{count} thư
     read: 
       back_to_inbox: Trở về hộp thư đến
       back_to_outbox: Trở về hộp thư đã gửi
@@ -1212,7 +1239,7 @@ vi:
             - nhà ga hành khách
           bridge: Đường rắn = cầu
           bridleway: Đường cưỡi ngựa
-          brownfield: Sân để trống
+          brownfield: Cánh đồng nâu
           building: Kiến trúc quan trọng
           byway: Đường mòn đa mốt
           cable: 
@@ -1389,6 +1416,7 @@ vi:
         agreed: Bạn đã đồng ý với các Điều khoản Đóng góp mới.
         agreed_with_pd: Bạn cũng đã tuyên bố coi rằng các đóng góp của bạn thuộc về phạm vi công cộng.
         heading: "Các Điều khoản Đóng góp:"
+        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms?uselang=vi
         link text: đây là gì?
         not yet agreed: Bạn chưa đồng ý với các Điều khoản Đóng góp mới.
         review link text: Xin vui lòng theo liên kết này khi nào có thì giờ để đọc lại và chấp nhận các Điều khoản Đóng góp mới.
@@ -1464,8 +1492,8 @@ vi:
       summary_no_ip: "%{name} mở ngày %{date}"
       title: Người dùng
     login: 
+      account is suspended: Rất tiếc, tài khoản của bạn đã bị đình chỉ vì hoạt động bị nghi ngờ.<br />Xin vui lòng liên lạc với <a href="%{webmaster}">webmaster</a> để thảo luận về điều này.
       account not active: Rất tiếc, tài khoản của bạn chưa được kích hoạt.<br />Xin hãy nhấn chuột vào liên kết trong thư điện tử xác nhận tài khoản để kích hoạt tài khoản, hoặc <a href="%{reconfirm}">yêu cầu thư xác nhận mới</a>.
-      account suspended: Đáng tiếc, tài khoản của bạn đang bị cấm do các hoạt động nghi ngờ.<br />Vui lòng liên lạc với %{webmaster} để thảo luận về vụ cấm này.
       auth failure: Rất tiếc, không thể đăng nhập với những chi tiết đó.
       create account minute: Chỉ mất một phút để mở tài khoản mới.
       email or username: "Địa chỉ Thư điện tử hoặc Tên đăng ký:"
@@ -1473,7 +1501,9 @@ vi:
       login_button: Đăng nhập
       lost password link: Quên mất Mật khẩu?
       new to osm: Mới đến OpenStreetMap?
+      no account: Chưa có tài khoản?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License?uselang=vi">Tìm hiểu thêm về thay đổi giấy phép sắp tới của OpenStreetMap</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License?uselang=vi">bản dịch</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming?uselang=vi">thảo luận</a>)
+      notice_terms: OpenStreetMap sẽ đổi qua một giấy phép mới vào ngày 1 tháng 4 năm 2012. Giấy phép mới vẫn mở như giấy phép hiện tại, trong khi các chi tiết pháp lý mới phù hợp hơn với cơ sở dữ liệu bản đồ của chúng ta. Chúng tôi rất muốn tiếp tục bao gồm các đóng góp của bạn trong OpenStreetMap; tuy nhiên, bạn cần phải cho phép chúng tôi phân phối các đóng góp này theo các điều khoản của giấy phép mới. Nếu không cho phép, chúng tôi sẽ phải xóa chúng khỏi cơ sở dữ liệu.<br /><br />Xin làm ơn đăng nhập rồi đọc lại và chấp nhận các điều khoản mới, chỉ mất vài giây thôi. Cám ơn!
       openid: "%{logo} OpenID:"
       openid invalid: Rất tiếc, hình như OpenID của bạn không hợp lệ
       openid missing provider: Rất tiếc, không thể kết nối với nhà cung cấp OpenID của bạn
@@ -1502,7 +1532,6 @@ vi:
       remember: "Nhớ tôi:"
       title: Đăng nhập
       to make changes: Bạn phải có tài khoản để thay đổi dữ liệu OpenStreetMap.
-      webmaster: chủ trang
       with openid: "Hoặc đăng nhập dùng OpenID của bạn:"
       with username: "Đã có tài khoản OpenStreetMap? Hãy đăng nhập với tên người dùng và mật khẩu của bạn:"
     logout: 
@@ -1541,6 +1570,7 @@ vi:
       password: "Mật khẩu:"
       terms accepted: Cám ơn bạn đã chấp nhận các điều khoản đóng góp mới!
       terms declined: Chúng tôi rất tiếc rằng bạn đã quyết định không chấp nhận các Điều khoản Đóng góp mới. Vui lòng xem chi tiết tại <a href="%{url}">trang wiki này</a>.
+      terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi
       title: Mở tài khoản
       use openid: Hoặc đăng nhập dùng %{logo} OpenID
     no_such_user: 
@@ -1573,7 +1603,9 @@ vi:
       agree: Chấp nhận
       consider_pd: Ngoài các thỏa thuận ở trên, tôi coi rằng các đóng góp của tôi thuộc về phạm vi công cộng
       consider_pd_why: đây là gì?
+      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain?uselang=vi
       decline: Từ chối
+      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi
       guidance: "Thông tin để tìm hiểu về các điều khoản này: <a href=\"%{summary}\">bản tóm tắt dễ đọc</a> và <a href=\"%{translations}\">một số bản dịch không chính thức</a>"
       heading: Điều kiện đóng góp
       legale_names: 
@@ -1591,16 +1623,23 @@ vi:
       block_history: xem các tác vụ cấm người này
       blocks by me: tác vụ cấm bởi tôi
       blocks on me: tác vụ cấm tôi
+      comments: bình luận
       confirm: Xác nhận
       confirm_user: xác nhận người dùng này
       create_block: cấm người dùng này
       created from: "Địa chỉ IP khi mở:"
+      ct accepted: Chấp nhận cách đây %{ago}
+      ct declined: Từ chối
+      ct status: "Điều khoản đóng góp:"
+      ct undecided: Chưa quyết định
       deactivate_user: vô hiệu hóa tài khoản này
       delete_user: xóa tài khoản này
       description: Miêu tả
       diary: nhật ký
       edits: đóng góp
       email address: "Địa chỉ thư điện tử:"
+      friends_changesets: Xem những bộ thay đổi của bạn bè
+      friends_diaries: Đọc những mục nhật ký của bạn bè
       hide_user: ẩn tài khoản này
       if set location: Nếu đặt vị trí, bản đồ đẹp đẽ và những thứ đó sẽ được hiển thị ở dưới. Bạn có thể đặt vị trí nhà tại trang %{settings_link}.
       km away: cách %{count} km
@@ -1608,11 +1647,14 @@ vi:
       m away: cách %{count} m
       mapper since: "Tham gia:"
       moderator_history: xem các tác vụ cấm bởi người này
+      my comments: bình luận của tôi
       my diary: nhật ký của tôi
       my edits: đóng góp của tôi
       my settings: tùy chọn
       my traces: tuyến đường của tôi
       nearby users: Người dùng khác ở gần
+      nearby_changesets: Xem các bộ thay đổi của người dùng ở gần
+      nearby_diaries: Đọc các mục nhật ký của người dùng ở gần
       new diary entry: mục nhật ký mới
       no friends: Bạn chưa thêm người bạn.
       no nearby users: Không có người dùng nào nhận rằng họ ở gần.
index d82ce5365bf20430345ea34403d49952a6363922..60a01d391dd17ba1db8b5d8c9b1eafd2f41c9dd4 100644 (file)
@@ -287,19 +287,33 @@ zh-CN:
     list: 
       description: 最近更改
       description_bbox: "%{bbox} 内的修改集合"
+      description_friend: 您的朋友的修改集合
+      description_nearby: 附近用户的修改集合
       description_user: "%{user} 的修改集合"
       description_user_bbox: "%{user} 在 %{bbox} 内的修改集合"
       heading: 修改集合
       heading_bbox: 修改集合
+      heading_friend: 修改集合
+      heading_nearby: 修改集合
       heading_user: 修改集合
       heading_user_bbox: 修改集合
       title: 修改集合
       title_bbox: "%{bbox} 内的修改集合"
+      title_friend: 您的朋友的修改集合
+      title_nearby: 附近用户的修改集合
       title_user: "%{user} 的修改集合"
       title_user_bbox: "%{user} 在 %{bbox} 内的修改集合"
     timeout: 
       sorry: 对不起,取得您要求的修改集合列表时花了太长的时间。
   diary_entry: 
+    comments: 
+      ago: "%{ago}前"
+      comment: 评论
+      has_commented_on: "%{display_name} 在以下的日记中发表了评论"
+      newer_comments: 新的评论
+      older_comments: 旧的评论
+      post: 发布
+      when: 于
     diary_comment: 
       comment_from: 由 %{link_user} 于 %{comment_created_at} 发表的评论
       confirm: 确认
@@ -344,6 +358,8 @@ zh-CN:
       older_entries: 更早的条目
       recent_entries: 最近的日记条目:
       title: 用户的日记
+      title_friends: 朋友的日记
+      title_nearby: 附近用户的日记
       user_title: "%{user} 的日记"
     location: 
       edit: 编辑
@@ -391,11 +407,10 @@ zh-CN:
       licence: 协议
       longitude: 经度:
       manually_select: 手动选择一个不同的区域
-      mapnik_image: Mapnik 图像
+      map_image: 地图图片(显示于标准图层)
       max: 最大
       options: 选项
       osm_xml_data: OpenStreetMap XML 数据
-      osmarender_image: Osmarender 图像
       output: 输出
       paste_html: 在网页上粘贴 HTML
       scale: 比率
@@ -895,9 +910,8 @@ zh-CN:
     map: 
       base: 
         cycle_map: Cycle Map
-        mapnik: Mapnik
         mapquest: MapQuest Open
-        osmarender: Osmarender
+        standard: 标准
         transport_map: Transport Map
       overlays: 
         maplint: Maplint
@@ -990,13 +1004,15 @@ zh-CN:
     inbox: 
       date: 日期
       from: 来自
+      messages: 您有 %{new_messages}和 %{old_messages}
       my_inbox: 我的收件箱
+      new_messages: "%{count} 条新消息"
       no_messages_yet: 您还没有消息,何不联系一些%{people_mapping_nearby_link}?
+      old_messages: "%{count} 条旧消息"
       outbox: 发件箱
       people_mapping_nearby: 在您附近的人
       subject: 标题
       title: 收件箱
-      you_have: 您有 %{new_count} 条新消息和 %{old_count} 条旧消息
     mark: 
       as_read: 标记消息为已读
       as_unread: 标记消息为未读
@@ -1025,6 +1041,7 @@ zh-CN:
     outbox: 
       date: 日期
       inbox: 收件箱
+      messages: 您有 %{count} 条已发送消息
       my_inbox: 我的%{inbox_link}
       no_sent_messages: 您尚未发送信息。何不联系一些%{people_mapping_nearby_link}?
       outbox: 发件箱
@@ -1032,7 +1049,6 @@ zh-CN:
       subject: 主题
       title: 发件箱
       to: 给
-      you_have_sent_messages: 您有 %{count} 个已发送信息
     read: 
       back_to_inbox: 返回收件箱
       back_to_outbox: 返回发件箱
@@ -1498,8 +1514,8 @@ zh-CN:
       summary_no_ip: "%{name} 创建于 %{date}"
       title: 用户
     login: 
+      account is suspended: 对不起,您的帐户因可疑活动已被暂停。<br />如果你想讨论这个,请联系<a href="%{webmaster}">网站管理员</a>。
       account not active: 对不起,您的账户尚未激活。<br />请点击在账户确认邮件中的链接来激活您的账户,或<a href="%{reconfirm}">请求新的确认电子邮件</a>。
-      account suspended: 对不起,您的帐户已因可疑活动被暂停了。 <br />如果您想讨论这一点,请联系%{webmaster}。
       auth failure: 对不起,凭这些信息您无法登录。
       create account minute: 创建一个帐户。只需要一分钟。
       email or username: 电子邮件地址或用户名:
@@ -1507,7 +1523,9 @@ zh-CN:
       login_button: 登录
       lost password link: 找回密码?
       new to osm: 第一次来到 OpenStreetMap?
+      no account: 还没有帐户?
       notice: <a href="http://www.osmfoundation.org/wiki/License/We_Are_Changing_The_License">了解有关 OpenStreetMap 即将更换许可协议的信息</a> (<a href="http://wiki.openstreetmap.org/wiki/ODbL/We_Are_Changing_The_License">翻译</a>) (<a href="http://wiki.openstreetmap.org/wiki/Talk:ODbL/Upcoming">讨论</a>)
+      notice_terms: OpenStreetMap 将于 2012 年 4 月 1 日更换到新的许可。这和当前的许可一样开放,但法律地位更适合我们的地图数据库。我们很乐意在 OpenStreetMap 保留您的贡献,但我们只能在您同意让我们根据新的许可证分发时,才能这么做。否则,我们将不得不从数据库中删除您的贡献。<br><br>请登录,然后花几秒钟查看并接受新的条款。谢谢!
       openid: "%{logo} OpenID:"
       openid invalid: 对不起,您的 OpenID 格式似乎不正确
       openid missing provider: 对不起,无法联系您的 OpenID 提供者
@@ -1536,7 +1554,6 @@ zh-CN:
       remember: 记住我:
       title: 登录
       to make changes: 要修改 OpenStreetMap 的数据,您必须拥有一个帐户。
-      webmaster: 网站管理员
       with openid: 或者请使用您的 OpenID 登录:
       with username: 已经有一个 OpenStreetMap 帐户?请使用您的用户名和密码登录:
     logout: 
@@ -1628,16 +1645,23 @@ zh-CN:
       block_history: 查看接受的封禁
       blocks by me: 被我所封禁
       blocks on me: 对我的封禁
+      comments: 注释
       confirm: 确认
       confirm_user: 确认此用户
       create_block: 阻止此用户
       created from: 建立于:
+      ct accepted: 于%{ago}以前接受
+      ct declined: 已拒绝
+      ct status: 贡献者条款:
+      ct undecided: 未决定
       deactivate_user: 停用该用户
       delete_user: 删除此用户
       description: 说明
       diary: 日记
       edits: 编辑
       email address: 电子邮件地址:
+      friends_changesets: 浏览朋友的所有修改集合
+      friends_diaries: 浏览朋友的所有日记条目
       hide_user: 隐藏此用户
       if set location: 如果您设定您的位置,一张精美的地图及其他相关信息将出现在下方。您可以通过您的%{settings_link}页面来设置您的位置。
       km away: "%{count} 公里之外"
@@ -1645,11 +1669,14 @@ zh-CN:
       m away: "%{count} 米之外"
       mapper since: 成为制图者于:
       moderator_history: 查看封禁来自
+      my comments: 我的评论
       my diary: 我的日记
       my edits: 我的编辑
       my settings: 我的设置
       my traces: 我的轨迹
       nearby users: 附近的其他用户
+      nearby_changesets: 浏览附近用户的所有修改集合
+      nearby_diaries: 浏览附近用户的所有日记条目
       new diary entry: 新日记入口
       no friends: 您还没有添加任何好友。
       no nearby users: 附近没有在进行制图的用户。
index 7fe53566947bb3ef29924d6bbb0860c1a4f87614..11eabfb127d242a0e443343db4b2113b83379cbe 100644 (file)
@@ -369,11 +369,9 @@ zh-TW:
       licence: 授權
       longitude: 經度:
       manually_select: 手動選擇不同的區域
-      mapnik_image: Mapnik 圖片
       max: 最大
       options: 選項
       osm_xml_data: OpenStreetMap XML 資料
-      osmarender_image: Osmarender 圖片
       output: 輸出
       paste_html: 貼上 HTML 內嵌於網站
       scale: 比例
@@ -621,7 +619,6 @@ zh-TW:
       people_mapping_nearby: 附近製作地圖
       subject: 主旨
       title: 收件匣
-      you_have: 您有 %{new_count} 個新訊息和 %{old_count} 個舊訊息
     mark: 
       as_read: 訊息標記為已讀
       as_unread: 訊息標記為未讀
@@ -657,7 +654,6 @@ zh-TW:
       subject: 主旨
       title: 寄件匣
       to: 收件者
-      you_have_sent_messages: 您有 %{count} 個寄送的訊息
     read: 
       back_to_inbox: 回到收件匣
       back_to_outbox: 回到寄件匣
@@ -1083,7 +1079,6 @@ zh-TW:
       title: 使用者
     login: 
       account not active: 抱歉,您的帳號尚未啟用。<br />請點選帳號確認電子郵件中的連結來啟用您的帳號,或是<a href="%{reconfirm}">要求寄一封新的確認信</a>。
-      account suspended: 對不起,您的帳號已因可疑活動被暫停了。 <br />如果你想討論這一點,請聯繫%{webmaster}。
       auth failure: 抱歉,無法以這些資料登入。
       create account minute: 建立一個帳號。只需要一分鐘。
       email or username: 電子郵件位址或使用者名稱:
@@ -1097,7 +1092,6 @@ zh-TW:
       remember: 記住我:
       title: 登入
       to make changes: 要更改的 OpenStreetMap 的資料,您必須擁有一個帳號。
-      webmaster: 網站管理員
     logout: 
       heading: 從 OpenStreetMap 登出
       logout_button: 登出
diff --git a/config/mysql.example.database.yml b/config/mysql.example.database.yml
deleted file mode 100644 (file)
index cc3f9a1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.
-#
-# Install the MySQL driver:
-#   gem install mysql
-# On MacOS X:
-#   gem install mysql -- --include=/usr/local/lib
-# On Windows:
-#   There is no gem for Windows.  Install mysql.so from RubyForApache.
-#   http://rubyforge.org/projects/rubyforapache
-#
-# And be sure to use new-style password hashing:
-#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
-development:
-  adapter: mysql
-  database: openstreetmap
-  username: openstreetmap
-  password: openstreetmap
-  host: localhost
-  encoding: utf8
-
-# Warning: The database defined as 'test' will be erased and
-# re-generated from your development database when you run 'rake'.
-# Do not set this db to the same as development or production.
-test:
-  adapter: mysql
-  database: osm_test
-  username: osm_test
-  password: osm_test
-  host: localhost
-  encoding: utf8
-
-production:
-  adapter: mysql
-  database: osm
-  username: osm
-  password: osm
-  host: localhost
-  encoding: utf8
diff --git a/config/pluralizers.rb b/config/pluralizers.rb
deleted file mode 100644 (file)
index 6e0c741..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-  :ar => {
-    :i18n => {
-      :plural => {
-        :rule => lambda { |count|
-          case count
-            when 1 then :one
-            when 2 then :two
-            else case count % 100
-                   when 3..10 then :few
-                   when 11..99 then :many
-                   else :other
-                 end
-          end
-        } 
-      }
-    }
-  },
-  :ru => {
-    :i18n => {
-      :plural => {
-        :rule => lambda { |count|
-          case count % 100
-            when 11,12,13,14 then :many
-            else case count % 10
-                   when 1 then :one
-                   when 2,3,4 then :few
-                   when 5,6,7,8,9,0 then :many
-                   else :other
-                 end
-          end
-        }
-      }
-    }
-  },
-  :sl => {
-    :i18n => {
-      :plural => {
-        :rule => lambda { |count|
-          case count % 100
-            when 1 then :one
-            when 2 then :two
-            when 3,4 then :few
-            else :other
-          end
-        }
-      }
-    }
-  }
-}
index 62c263f0d45c4fd1dd97e8c8ec0c8fdd003b9dde..fb4fcd426a6b952b00657d4f35dbd49053c73ce8 100644 (file)
@@ -104,6 +104,7 @@ OpenStreetMap::Application.routes.draw do
   match '/user/:display_name/edits' => 'changeset#list'
   match '/user/:display_name/edits/feed' => 'changeset#feed', :format => :atom
   match '/browse/friends' => 'changeset#list', :friends => true
+  match '/browse/nearby' => 'changeset#list', :nearby => true
   match '/browse/changesets' => 'changeset#list'
   match '/browse/changesets/feed' => 'changeset#feed', :format => :atom
   match '/browse/note/:id' => 'browse#note', :id => /\d+/
@@ -111,10 +112,10 @@ OpenStreetMap::Application.routes.draw do
   match '/browse' => 'changeset#list'
 
   # web site
-  match '/' => 'site#index'
+  root :to => 'site#index'
   match '/edit' => 'site#edit'
-  match '/copyright' => 'site#copyright'
   match '/copyright/:copyright_locale' => 'site#copyright'
+  match '/copyright' => 'site#copyright'
   match '/history' => 'changeset#list'
   match '/history/feed' => 'changeset#feed', :format => :atom
   match '/export' => 'site#export'
@@ -173,9 +174,13 @@ OpenStreetMap::Application.routes.draw do
 
   # diary pages
   match '/diary/new' => 'diary_entry#new'
+  match '/diary/friends' => 'diary_entry#list', :friends => true
+  match '/diary/nearby' => 'diary_entry#list', :nearby => true  
   match '/user/:display_name/diary/rss' => 'diary_entry#rss', :format => :rss
   match '/diary/:language/rss' => 'diary_entry#rss', :format => :rss
   match '/diary/rss' => 'diary_entry#rss', :format => :rss
+  match '/user/:display_name/diary/comments/:page' => 'diary_entry#comments', :page => /\d+/
+  match '/user/:display_name/diary/comments/' => 'diary_entry#comments'
   match '/user/:display_name/diary' => 'diary_entry#list'
   match '/diary/:language' => 'diary_entry#list'
   match '/diary' => 'diary_entry#list'
diff --git a/db/.gitignore b/db/.gitignore
deleted file mode 100644 (file)
index 6cd6b64..0000000
+++ /dev/null
@@ -1 +0,0 @@
-*_structure.sql
index db4f5c20ea23b4e6afa25259087e1556d83bd73b..814dcb96cf8421f2912898d8b4582176b0910e0e 100644 (file)
--- a/db/README
+++ b/db/README
@@ -1,58 +1,13 @@
 Creating database
 ===================
 
-OSM server uses a database with the following name:
+OSM server uses a Postgres database with the following name:
 
 openstreetmap
 
 You may create it with your preferable client or run next (linux) command:
 
-$ mysql -u <uid> -p
-
-(change <uid> with appropriate username of administrative user eg. root )
-
-> create database openstreetmap default character set utf8;
-> exit
-
-Creating user, password, and access rights
-============================================
-
-$ mysql -u <uid> -p
-
-(change <uid> with appropriate username of administrative user eg. root )
-
-> grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap';
-> flush privileges;
-> exit
-
-Creating functions For MySQL
-==============================
-
-Run this command in the db/functions directory:
-
-$ make libmyosm.so
-
-You might also need to install:
-- mysql client development libraries:  $ sudo apt-get install libmysqlclient16-dev 
-- ruby development libraries:          $ sudo apt-get install ruby1.8-dev
-for build to succeed.
-
-Make sure the db/functions directory is on the MySQL server's library
-path and restart the MySQL server. 
-
-On Linux the easiest way to do this is to create /etc/ld.so.conf.d/osm.conf, and place the path to the db/functions directory in it and then run the ldconfig command as root.
-
-On OS X: sudo ln -s /path_to_your_osm_install/sites/rails_port/db/functions/libmyosm.so /usr/local/lib/libmyosm.so
-
-Now create the functions as follows:
-
-$ mysql -u <uid> -p openstreetmap
-
-(change <uid> with appropriate username of administrative user eg. root )
-
-> create function tile_for_point returns integer soname 'libmyosm.so';
-> create function maptile_for_point returns integer soname 'libmyosm.so';
-> exit
+$ createdb openstreetmap
 
 Creating functions for PgSQL
 ==============================
@@ -86,4 +41,4 @@ This will create the db for you
 
 You will need to make sure the database connection is configured in database.yml in config directory
 You might start with example configuration provided: 
-$ cp config/mysql.example.database.yml config/database.yml
+$ cp config/example.database.yml config/database.yml
index 2f97d6d943aa606301dfdc475f1cee5781d2b6b0..231496d409d74aee0f3159308cafcc2a593a32f0 100644 (file)
@@ -7,26 +7,17 @@ else
     LDFLAGS=-shared
 endif
 
-all: libmyosm.so libpgosm.so
+all: libpgosm.so
 
 clean:
        $(RM) *.so *.o
 
-libmyosm.so: quadtile-mysql.o maptile-mysql.o
-       cc ${LDFLAGS} -o libmyosm.so quadtile-mysql.o maptile-mysql.o
-
 libpgosm.so: quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
        cc ${LDFLAGS} -o libpgosm.so quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
 
-quadtile-mysql.o: quadtile.c ${QTDIR}/quad_tile.h
-       cc `mysql_config --include` -I${QTDIR} -fPIC -O3 -DUSE_MYSQL -c -o quadtile-mysql.o quadtile.c
-
 quadtile-pgsql.o: quadtile.c ${QTDIR}/quad_tile.h
        cc -I `pg_config --includedir` -I `pg_config --includedir-server` -I${QTDIR} -fPIC -O3 -DUSE_PGSQL -c -o quadtile-pgsql.o quadtile.c
 
-maptile-mysql.o: maptile.c
-       cc `mysql_config --include` -fPIC -O3 -DUSE_MYSQL -c -o maptile-mysql.o maptile.c
-
 maptile-pgsql.o: maptile.c
        cc -I `pg_config --includedir` -I `pg_config --includedir-server` -fPIC -O3 -DUSE_PGSQL -c -o maptile-pgsql.o maptile.c
 
index ed83bcce29f1f88605c59163d2b470f42ccc4ad3..358a3ba75247602f05d52d4debc48433cf5fee34 100644 (file)
@@ -1,81 +1,22 @@
-#ifndef USE_MYSQL
-#ifndef USE_PGSQL
-#error One of USE_MYSQL or USE_PGSQL must be defined
-#endif
-#endif
-
 #include <math.h>
+#include <postgres.h>
+#include <fmgr.h>
 
-/* The real maptile-for-point functionality is here */
-
-static long long internal_maptile_for_point(double lat, double lon, long long zoom)
+Datum
+maptile_for_point(PG_FUNCTION_ARGS)
 {
-   double       scale = pow(2, zoom);
-   double       r_per_d = M_PI / 180;
+   double lat = PG_GETARG_INT64(0) / 10000000.0;
+   double lon = PG_GETARG_INT64(1) / 10000000.0;
+   int zoom = PG_GETARG_INT32(2);
+   double scale = pow(2, zoom);
+   double r_per_d = M_PI / 180;
    unsigned int x;
    unsigned int y;
 
    x = floor((lon + 180.0) * scale / 360.0);
    y = floor((1 - log(tan(lat * r_per_d) + 1.0 / cos(lat * r_per_d)) / M_PI) * scale / 2.0);
 
-   return (x << zoom) | y;
-}
-
-#ifdef USE_MYSQL
-#ifdef USE_PGSQL
-#error ONLY one of USE_MYSQL and USE_PGSQL should be defined
-#endif
-
-#include <my_global.h>
-#include <my_sys.h>
-#include <m_string.h>
-#include <mysql.h>
-
-my_bool maptile_for_point_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
-{
-   if ( args->arg_count != 3 ||
-        args->arg_type[0] != INT_RESULT ||
-        args->arg_type[1] != INT_RESULT ||
-        args->arg_type[2] != INT_RESULT )
-   {
-      strcpy( message, "Your maptile_for_point arguments are bogus!" );
-      return 1;
-   }
-
-   return 0;
-}
-
-void maptile_for_point_deinit(UDF_INIT *initid)
-{
-   return;
-}
-
-long long maptile_for_point(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
-{
-   double       lat = *(long long *)args->args[0] / 10000000.0;
-   double       lon = *(long long *)args->args[1] / 10000000.0;
-   long long    zoom = *(long long *)args->args[2];
-
-   return internal_maptile_for_point(lat, lon, zoom);
-}
-#endif
-
-#ifdef USE_PGSQL
-#ifdef USE_MYSQL
-#error ONLY one of USE_MYSQL and USE_PGSQL should be defined
-#endif
-
-#include <postgres.h>
-#include <fmgr.h>
-
-Datum
-maptile_for_point(PG_FUNCTION_ARGS)
-{
-  double lat = PG_GETARG_INT64(0) / 10000000.0;
-  double lon = PG_GETARG_INT64(1) / 10000000.0;
-  int zoom = PG_GETARG_INT32(2);
-
-  PG_RETURN_INT32(internal_maptile_for_point(lat, lon, zoom));
+   PG_RETURN_INT32((x << zoom) | y);
 }
 
 PG_FUNCTION_INFO_V1(maptile_for_point);
@@ -93,5 +34,3 @@ PG_FUNCTION_INFO_V1(maptile_for_point);
 #ifdef PG_MODULE_MAGIC
 PG_MODULE_MAGIC;
 #endif
-
-#endif
index 29758edc6cf7b53c556acfc03aab9e98b56ef6bf..748e0b9aa211f3a8e371a57bcba5c8ce0274585b 100644 (file)
@@ -1,54 +1,5 @@
-#ifndef USE_MYSQL
-#ifndef USE_PGSQL
-#error One of USE_MYSQL or USE_PGSQL must be defined
-#endif
-#endif
-
 #include <math.h>
 #include <quad_tile.h>
-
-#ifdef USE_MYSQL
-#ifdef USE_PGSQL
-#error ONLY one of USE_MYSQL and USE_PGSQL should be defined
-#endif
-
-#include <my_global.h>
-#include <my_sys.h>
-#include <m_string.h>
-#include <mysql.h>
-
-my_bool tile_for_point_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
-{
-   if ( args->arg_count != 2 ||
-        args->arg_type[0] != INT_RESULT ||
-        args->arg_type[1] != INT_RESULT )
-   {
-      strcpy( message, "Your tile_for_point arguments are bogus!" );
-      return 1;
-   }
-
-   return 0;
-}
-
-void tile_for_point_deinit(UDF_INIT *initid)
-{
-   return;
-}
-
-long long tile_for_point(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
-{
-   long long lat = *(long long *)args->args[0];
-   long long lon = *(long long *)args->args[1];
-
-   return xy2tile(lon2x(lon / 10000000.0), lat2y(lat / 10000000.0));
-}
-#endif
-
-#ifdef USE_PGSQL
-#ifdef USE_MYSQL
-#error ONLY one of USE_MYSQL and USE_PGSQL should be defined
-#endif
-
 #include <postgres.h>
 #include <fmgr.h>
 
@@ -72,5 +23,3 @@ PG_FUNCTION_INFO_V1(tile_for_point);
  *
  * (without all the *s)
  */
-
-#endif
index 6863dfaca405de72bfe589e62cdccc5d2afc75ab..d654bf26942855a992a133c65c071247fbe03f22 100644 (file)
@@ -1,14 +1,3 @@
-#ifndef USE_MYSQL
-#ifndef USE_PGSQL
-#error One of USE_MYSQL or USE_PGSQL must be defined
-#endif
-#endif
-
-#ifdef USE_PGSQL
-#ifdef USE_MYSQL
-#error ONLY one of USE_MYSQL and USE_PGSQL should be defined
-#endif
-
 #include <postgres.h>
 #include <fmgr.h>
 
@@ -26,5 +15,3 @@ int xid_to_int4(TransactionId xid)
  *
  * (without all the *s)
  */
-
-#endif
index 3e3377921df5fa4504c7da242dcce94d648c2521..8ddc68bcd1695f28cf01857b7ffdc9e98f3379a7 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CreateOsmDb < ActiveRecord::Migration
   def self.up
index 57a3dbca195141ff1cdac866a068ca97ba97486c..630661a0be01c8ea872678d6b830f761b5307178 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CleanupOsmDb < ActiveRecord::Migration
   def self.up
index daef768b7cb7d875375aef3d449b143e0494bf7c..5853d4d000a65e3f8cc9e7f6c101f4013559d9a9 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class SqlSessionStoreSetup < ActiveRecord::Migration
   def self.up
index 1c3bb50073d48f81d85e7afac745cb1bb3c46c77..db17f3c35d586c5cde47d021ca6edd3729a57b55 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class UserEnhancements < ActiveRecord::Migration
   def self.up
index a4ac5f51a7cde11834cf7918f01d265e2af26b3e..91d5907265f191f8324827ca52f972f9943b1dc8 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class TileTracepoints < ActiveRecord::Migration
   def self.up
index 4f40a5f398a2f7732d0db78a0f3bcf1f7aba5895..b56a095a44bee5499085ee9c339cd237e310adcd 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class TileNodes < ActiveRecord::Migration
   def self.upgrade_table(from_table, to_table, model)
index cb541037830b7ec8cef1cce34b076b7d63544502..41d62928f1f6bd6a7e067cf06d558061f457d5f3 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddRelations < ActiveRecord::Migration
   def self.up
index a7d185e4cf7aa54db0b01dd8981729960daa3560..ce49e9ccaf4e76608065d8968a52a7a15c84e72f 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class RemoveSegments < ActiveRecord::Migration
   def self.up
index bf73199121bf01416a89f968948a91883e039e8f..ecad2f5dcd50478217ba569baa9d268c6fcce7e2 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class DiaryComments < ActiveRecord::Migration
   def self.up
index d82020892eca9863391da5da324768220f926712..08ed4f7316b8b9fad91873b7d0c067c91e0d5373 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CreateAcls < ActiveRecord::Migration
   def self.up
index 0e2fae06399ad022e6df6705b426b74d01650d33..4c9628f2700cf8cda16f6369229161b4b2b1b776 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class PopulateNodeTagsAndRemove < ActiveRecord::Migration
   def self.up
index 50e7ec8bed92eb7c7c48b498692efe690fb63a8b..f9110cca67e676c0613f96f1915577604115459a 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class MoveToInnodb < ActiveRecord::Migration
   @@conv_tables = ['nodes', 'ways', 'way_tags', 'way_nodes',
index a9d6fb10218d7fbb7f55ece699a80ab493a6b984..f94c965bb087dc8501378cc2efb92acb47649865 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class KeyConstraints < ActiveRecord::Migration
   def self.up
index de3e3bc483a5818c266f15953de7cfb7b49dff5b..5bee215122e23f21c415a77ad8471821d0a915c1 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddChangesets < ActiveRecord::Migration
   @@conv_user_tables = ['current_nodes',
index 76ec32222237ef32649849426140aa9b9cd0022e..325be5174c96a3bb3a4100aa66aab4f1c0dbc723 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class OrderRelationMembers < ActiveRecord::Migration
   def self.up
index 20d66719df800384a2a708a83cdda4b0fcb172ee..eaccc008f7666d38713a6e110658a1d6095715da 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddEndTimeToChangesets < ActiveRecord::Migration
   def self.up
index 7593592582f2f2b6a618d643ebc09a9de50ef9e9..cb0d9e1dddc5fd0b4cb870f370e8b2942f61b6f0 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddUserForeignKeys < ActiveRecord::Migration
   def self.up
index 5adc20559ef206fffc26dd7fd08fc3fe03b3ee77..e3dc7e82ddd566b974b01e7e6915b4562cb5a302 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddForeignKeys < ActiveRecord::Migration
   def self.up
index 3ee4a8d77e2ae20a5cb87cf002c783c1e8d7ef2c..cc0627cd291fdc1b064811748b854015aa755653 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 require 'rexml/document'
 
 class CreateCountries < ActiveRecord::Migration
@@ -24,9 +24,11 @@ class CreateCountries < ActiveRecord::Migration
         maxlon = ele.get_text("bBoxEast").to_s
         maxlat = ele.get_text("bBoxNorth").to_s
 
-        Country.create(:code => code,
-                       :min_lat => minlat.to_f, :max_lat => maxlat.to_f,
-                       :min_lon => minlon.to_f, :max_lon => maxlon.to_f)
+        Country.create({
+          :code => code,
+          :min_lat => minlat.to_f, :max_lat => maxlat.to_f,
+          :min_lon => minlon.to_f, :max_lon => maxlon.to_f
+        }, :without_protection => true)
       end
     end
   end
index 95ed7d9cedac1235756aa763582016e1e9fef08c..e62a3dff9cbe82c415033248f4753ff0086e24a0 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CreateLanguages < ActiveRecord::Migration
   def self.up
index 7dc80549e3e14ebc5445ffb5cc1d2538a621de42..bfb43056a5bc741285aaa36c0ff05f2fc8ef163f 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class ChangeUserLocale < ActiveRecord::Migration
   def self.up
index 133838ac2e2e6f0086f88c3ac1e3b6fcb7419412..7cc485e6be5c889b870f98cf677abe641b71dcb7 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddMoreControlsToGpxFiles < ActiveRecord::Migration
   def self.up
index 09de54349c26bd477acc187275d56c2e902a2f4c..ee8048a36328f975371db0281e36af20a7ac1eb2 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddForeignKeysToOauthTables < ActiveRecord::Migration
   def self.up
index 10ec3ee7bf86ab236e8442be3103ffbeda72d084..6544bbba1dc3e0fcdf310f6de655678896f35100 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CreateUserRoles < ActiveRecord::Migration
   def self.up
index 7276ef1a5d1d8108332fa4d4c0bd083f71690101..b3313ce921ccf3ef976b97a87bb041897d082f37 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class CreateUserBlocks < ActiveRecord::Migration
   def self.up
index db0813e33f63c29f778f4ce408551f17f8542935..9799e4e5ec5f0ea7f7dc3c7e8c4f5d4514547f19 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AlterUserRolesAndBlocks < ActiveRecord::Migration
   def self.up
index cc8a2f23848af8ffaf86dc6f5bb65cb42597d2d3..01d501d0162ec4ae2c18d710ac9b4dbaff11d11a 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddStatusToUser < ActiveRecord::Migration
   def self.up
index 27355b1d13766bec2e94d9d3a6402d32ca1d0cb2..4142a642d65ca93ca55c232094e5624481fa3f8a 100644 (file)
@@ -1,4 +1,4 @@
-require 'lib/migrate'
+require 'migrate'
 
 class AddLowercaseUserIndexes < ActiveRecord::Migration
   def up
diff --git a/db/migrate/20120123184321_switch_to_paperclip.rb b/db/migrate/20120123184321_switch_to_paperclip.rb
new file mode 100644 (file)
index 0000000..f46d61b
--- /dev/null
@@ -0,0 +1,9 @@
+class SwitchToPaperclip < ActiveRecord::Migration
+  def up
+    rename_column :users, :image, :image_file_name
+  end
+
+  def down
+    rename_column :users, :image_file_name, :image
+  end
+end
diff --git a/db/migrate/20120208122334_merge_acl_address_and_mask.rb b/db/migrate/20120208122334_merge_acl_address_and_mask.rb
new file mode 100644 (file)
index 0000000..791bf65
--- /dev/null
@@ -0,0 +1,45 @@
+require "ipaddr"
+
+class IPAddr
+  def address
+    _to_string(@addr)
+  end
+
+  def netmask
+    _to_string(@mask_addr)
+  end
+end
+
+class MergeAclAddressAndMask < ActiveRecord::Migration
+  def up
+    Acl.find_each do |acl|
+      address = IPAddr.new(acl.address)
+      netmask = IPAddr.new(acl.netmask)
+      prefix = 0
+
+      while netmask != "0.0.0.0"
+        netmask = netmask << 1
+        prefix = prefix + 1
+      end
+
+      acl.address = "#{address.mask(prefix)}/#{prefix}"
+      acl.save!
+    end
+
+    remove_column :acls, :netmask
+  end
+
+  def down
+    add_column :acls, :netmask, :inet
+
+    Acl.find_each do |acl|
+      address = IPAddr.new(acl.address)
+
+      acl.address = address.address
+      acl.netmask = address.netmask
+      acl.save!
+    end
+
+    change_column :acls, :netmask, :inet, :null => false
+  end
+end
diff --git a/db/migrate/20120208194454_add_domain_to_acl.rb b/db/migrate/20120208194454_add_domain_to_acl.rb
new file mode 100644 (file)
index 0000000..43dd829
--- /dev/null
@@ -0,0 +1,11 @@
+class AddDomainToAcl < ActiveRecord::Migration
+  def up
+    add_column :acls, :domain, :string
+    change_column :acls, :address, :inet, :null => true
+  end
+
+  def down
+    change_column :acls, :address, :inet, :null => false
+    remove_column :acls, :domain
+  end
+end
diff --git a/db/migrate/20120219161649_add_user_image_fingerprint.rb b/db/migrate/20120219161649_add_user_image_fingerprint.rb
new file mode 100644 (file)
index 0000000..5c9dd40
--- /dev/null
@@ -0,0 +1,16 @@
+class AddUserImageFingerprint < ActiveRecord::Migration
+  def up
+    add_column :users, :image_fingerprint, :string, :null => true
+
+    User.where("image_file_name IS NOT NULL").find_each do |user|
+      image = user.image
+
+      user.image_fingerprint = image.generate_fingerprint(image)
+      user.save!
+    end
+  end
+
+  def down
+    remove_column :users, :image_fingerprint
+  end
+end
diff --git a/db/structure.sql b/db/structure.sql
new file mode 100644 (file)
index 0000000..05630d8
--- /dev/null
@@ -0,0 +1,2298 @@
+--
+-- PostgreSQL database dump
+--
+
+SET statement_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SET check_function_bodies = false;
+SET client_min_messages = warning;
+
+--
+-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
+
+
+--
+-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
+--
+
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
+
+
+--
+-- Name: btree_gist; Type: EXTENSION; Schema: -; Owner: -
+--
+
+CREATE EXTENSION IF NOT EXISTS btree_gist WITH SCHEMA public;
+
+
+--
+-- Name: EXTENSION btree_gist; Type: COMMENT; Schema: -; Owner: -
+--
+
+COMMENT ON EXTENSION btree_gist IS 'support for indexing common datatypes in GiST';
+
+
+SET search_path = public, pg_catalog;
+
+--
+-- Name: format_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE format_enum AS ENUM (
+    'html',
+    'markdown'
+);
+
+
+--
+-- Name: gpx_visibility_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE gpx_visibility_enum AS ENUM (
+    'private',
+    'public',
+    'trackable',
+    'identifiable'
+);
+
+
+--
+-- Name: nwr_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE nwr_enum AS ENUM (
+    'Node',
+    'Way',
+    'Relation'
+);
+
+
+--
+-- Name: user_role_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE user_role_enum AS ENUM (
+    'administrator',
+    'moderator'
+);
+
+
+--
+-- Name: user_status_enum; Type: TYPE; Schema: public; Owner: -
+--
+
+CREATE TYPE user_status_enum AS ENUM (
+    'pending',
+    'active',
+    'confirmed',
+    'suspended',
+    'deleted'
+);
+
+
+--
+-- Name: maptile_for_point(bigint, bigint, integer); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
+    LANGUAGE c STRICT
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
+
+
+--
+-- Name: tile_for_point(integer, integer); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
+    LANGUAGE c STRICT
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
+
+
+--
+-- Name: xid_to_int4(xid); Type: FUNCTION; Schema: public; Owner: -
+--
+
+CREATE FUNCTION xid_to_int4(xid) RETURNS integer
+    LANGUAGE c IMMUTABLE STRICT
+    AS '/srv/www/master.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
+
+
+SET default_tablespace = '';
+
+SET default_with_oids = false;
+
+--
+-- Name: acls; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE acls (
+    id integer NOT NULL,
+    address inet,
+    k character varying(255) NOT NULL,
+    v character varying(255),
+    domain character varying(255)
+);
+
+
+--
+-- Name: acls_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE acls_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: acls_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE acls_id_seq OWNED BY acls.id;
+
+
+--
+-- Name: changeset_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE changeset_tags (
+    changeset_id bigint NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: changesets; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE changesets (
+    id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    created_at timestamp without time zone NOT NULL,
+    min_lat integer,
+    max_lat integer,
+    min_lon integer,
+    max_lon integer,
+    closed_at timestamp without time zone NOT NULL,
+    num_changes integer DEFAULT 0 NOT NULL
+);
+
+
+--
+-- Name: changesets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE changesets_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: changesets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE changesets_id_seq OWNED BY changesets.id;
+
+
+--
+-- Name: client_applications; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE client_applications (
+    id integer NOT NULL,
+    name character varying(255),
+    url character varying(255),
+    support_url character varying(255),
+    callback_url character varying(255),
+    key character varying(50),
+    secret character varying(50),
+    user_id integer,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone,
+    allow_read_prefs boolean DEFAULT false NOT NULL,
+    allow_write_prefs boolean DEFAULT false NOT NULL,
+    allow_write_diary boolean DEFAULT false NOT NULL,
+    allow_write_api boolean DEFAULT false NOT NULL,
+    allow_read_gpx boolean DEFAULT false NOT NULL,
+    allow_write_gpx boolean DEFAULT false NOT NULL
+);
+
+
+--
+-- Name: client_applications_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE client_applications_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: client_applications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE client_applications_id_seq OWNED BY client_applications.id;
+
+
+--
+-- Name: countries; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE countries (
+    id integer NOT NULL,
+    code character varying(2) NOT NULL,
+    min_lat double precision NOT NULL,
+    max_lat double precision NOT NULL,
+    min_lon double precision NOT NULL,
+    max_lon double precision NOT NULL
+);
+
+
+--
+-- Name: countries_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE countries_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: countries_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE countries_id_seq OWNED BY countries.id;
+
+
+--
+-- Name: current_node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_node_tags (
+    node_id bigint NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: current_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_nodes (
+    id bigint NOT NULL,
+    latitude integer NOT NULL,
+    longitude integer NOT NULL,
+    changeset_id bigint NOT NULL,
+    visible boolean NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    tile bigint NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: current_nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE current_nodes_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: current_nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE current_nodes_id_seq OWNED BY current_nodes.id;
+
+
+--
+-- Name: current_relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_relation_members (
+    relation_id bigint NOT NULL,
+    member_type nwr_enum NOT NULL,
+    member_id bigint NOT NULL,
+    member_role character varying(255) NOT NULL,
+    sequence_id integer DEFAULT 0 NOT NULL
+);
+
+
+--
+-- Name: current_relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_relation_tags (
+    relation_id bigint NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: current_relations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_relations (
+    id bigint NOT NULL,
+    changeset_id bigint NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    visible boolean NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: current_relations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE current_relations_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: current_relations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE current_relations_id_seq OWNED BY current_relations.id;
+
+
+--
+-- Name: current_way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_way_nodes (
+    way_id bigint NOT NULL,
+    node_id bigint NOT NULL,
+    sequence_id bigint NOT NULL
+);
+
+
+--
+-- Name: current_way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_way_tags (
+    way_id bigint NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: current_ways; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE current_ways (
+    id bigint NOT NULL,
+    changeset_id bigint NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    visible boolean NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: current_ways_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE current_ways_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: current_ways_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE current_ways_id_seq OWNED BY current_ways.id;
+
+
+--
+-- Name: diary_comments; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE diary_comments (
+    id bigint NOT NULL,
+    diary_entry_id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    body text NOT NULL,
+    created_at timestamp without time zone NOT NULL,
+    updated_at timestamp without time zone NOT NULL,
+    visible boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: diary_comments_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE diary_comments_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: diary_comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE diary_comments_id_seq OWNED BY diary_comments.id;
+
+
+--
+-- Name: diary_entries; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE diary_entries (
+    id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    title character varying(255) NOT NULL,
+    body text NOT NULL,
+    created_at timestamp without time zone NOT NULL,
+    updated_at timestamp without time zone NOT NULL,
+    latitude double precision,
+    longitude double precision,
+    language_code character varying(255) DEFAULT 'en'::character varying NOT NULL,
+    visible boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: diary_entries_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE diary_entries_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: diary_entries_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE diary_entries_id_seq OWNED BY diary_entries.id;
+
+
+--
+-- Name: friends; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE friends (
+    id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    friend_user_id bigint NOT NULL
+);
+
+
+--
+-- Name: friends_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE friends_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: friends_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE friends_id_seq OWNED BY friends.id;
+
+
+--
+-- Name: gps_points; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE gps_points (
+    altitude double precision,
+    trackid integer NOT NULL,
+    latitude integer NOT NULL,
+    longitude integer NOT NULL,
+    gpx_id bigint NOT NULL,
+    "timestamp" timestamp without time zone,
+    tile bigint
+);
+
+
+--
+-- Name: gpx_file_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE gpx_file_tags (
+    gpx_id bigint DEFAULT 0 NOT NULL,
+    tag character varying(255) NOT NULL,
+    id bigint NOT NULL
+);
+
+
+--
+-- Name: gpx_file_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE gpx_file_tags_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: gpx_file_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE gpx_file_tags_id_seq OWNED BY gpx_file_tags.id;
+
+
+--
+-- Name: gpx_files; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE gpx_files (
+    id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    visible boolean DEFAULT true NOT NULL,
+    name character varying(255) DEFAULT ''::character varying NOT NULL,
+    size bigint,
+    latitude double precision,
+    longitude double precision,
+    "timestamp" timestamp without time zone NOT NULL,
+    description character varying(255) DEFAULT ''::character varying NOT NULL,
+    inserted boolean NOT NULL,
+    visibility gpx_visibility_enum DEFAULT 'public'::gpx_visibility_enum NOT NULL
+);
+
+
+--
+-- Name: gpx_files_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE gpx_files_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: gpx_files_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE gpx_files_id_seq OWNED BY gpx_files.id;
+
+
+--
+-- Name: languages; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE languages (
+    code character varying(255) NOT NULL,
+    english_name character varying(255) NOT NULL,
+    native_name character varying(255)
+);
+
+
+--
+-- Name: messages; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE messages (
+    id bigint NOT NULL,
+    from_user_id bigint NOT NULL,
+    title character varying(255) NOT NULL,
+    body text NOT NULL,
+    sent_on timestamp without time zone NOT NULL,
+    message_read boolean DEFAULT false NOT NULL,
+    to_user_id bigint NOT NULL,
+    to_user_visible boolean DEFAULT true NOT NULL,
+    from_user_visible boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: messages_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE messages_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: messages_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE messages_id_seq OWNED BY messages.id;
+
+
+--
+-- Name: node_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE node_tags (
+    node_id bigint NOT NULL,
+    version bigint NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL
+);
+
+
+--
+-- Name: nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE nodes (
+    node_id bigint NOT NULL,
+    latitude integer NOT NULL,
+    longitude integer NOT NULL,
+    changeset_id bigint NOT NULL,
+    visible boolean NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    tile bigint NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: oauth_nonces; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE oauth_nonces (
+    id integer NOT NULL,
+    nonce character varying(255),
+    "timestamp" integer,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone
+);
+
+
+--
+-- Name: oauth_nonces_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE oauth_nonces_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: oauth_nonces_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE oauth_nonces_id_seq OWNED BY oauth_nonces.id;
+
+
+--
+-- Name: oauth_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE oauth_tokens (
+    id integer NOT NULL,
+    user_id integer,
+    type character varying(20),
+    client_application_id integer,
+    token character varying(50),
+    secret character varying(50),
+    authorized_at timestamp without time zone,
+    invalidated_at timestamp without time zone,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone,
+    allow_read_prefs boolean DEFAULT false NOT NULL,
+    allow_write_prefs boolean DEFAULT false NOT NULL,
+    allow_write_diary boolean DEFAULT false NOT NULL,
+    allow_write_api boolean DEFAULT false NOT NULL,
+    allow_read_gpx boolean DEFAULT false NOT NULL,
+    allow_write_gpx boolean DEFAULT false NOT NULL,
+    callback_url character varying(255),
+    verifier character varying(20),
+    scope character varying(255),
+    valid_to timestamp without time zone
+);
+
+
+--
+-- Name: oauth_tokens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE oauth_tokens_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: oauth_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE oauth_tokens_id_seq OWNED BY oauth_tokens.id;
+
+
+--
+-- Name: relation_members; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE relation_members (
+    relation_id bigint DEFAULT 0 NOT NULL,
+    member_type nwr_enum NOT NULL,
+    member_id bigint NOT NULL,
+    member_role character varying(255) NOT NULL,
+    version bigint DEFAULT 0 NOT NULL,
+    sequence_id integer DEFAULT 0 NOT NULL
+);
+
+
+--
+-- Name: relation_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE relation_tags (
+    relation_id bigint DEFAULT 0 NOT NULL,
+    k character varying(255) DEFAULT ''::character varying NOT NULL,
+    v character varying(255) DEFAULT ''::character varying NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: relations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE relations (
+    relation_id bigint DEFAULT 0 NOT NULL,
+    changeset_id bigint NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    version bigint NOT NULL,
+    visible boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE schema_migrations (
+    version character varying(255) NOT NULL
+);
+
+
+--
+-- Name: sessions; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE sessions (
+    id integer NOT NULL,
+    session_id character varying(255),
+    data text,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone
+);
+
+
+--
+-- Name: sessions_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE sessions_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: sessions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE sessions_id_seq OWNED BY sessions.id;
+
+
+--
+-- Name: user_blocks; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE user_blocks (
+    id integer NOT NULL,
+    user_id bigint NOT NULL,
+    creator_id bigint NOT NULL,
+    reason text NOT NULL,
+    ends_at timestamp without time zone NOT NULL,
+    needs_view boolean DEFAULT false NOT NULL,
+    revoker_id bigint,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone
+);
+
+
+--
+-- Name: user_blocks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE user_blocks_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: user_blocks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE user_blocks_id_seq OWNED BY user_blocks.id;
+
+
+--
+-- Name: user_preferences; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE user_preferences (
+    user_id bigint NOT NULL,
+    k character varying(255) NOT NULL,
+    v character varying(255) NOT NULL
+);
+
+
+--
+-- Name: user_roles; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE user_roles (
+    id integer NOT NULL,
+    user_id bigint NOT NULL,
+    created_at timestamp without time zone,
+    updated_at timestamp without time zone,
+    role user_role_enum NOT NULL,
+    granter_id bigint NOT NULL
+);
+
+
+--
+-- Name: user_roles_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE user_roles_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: user_roles_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE user_roles_id_seq OWNED BY user_roles.id;
+
+
+--
+-- Name: user_tokens; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE user_tokens (
+    id bigint NOT NULL,
+    user_id bigint NOT NULL,
+    token character varying(255) NOT NULL,
+    expiry timestamp without time zone NOT NULL,
+    referer text
+);
+
+
+--
+-- Name: user_tokens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE user_tokens_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: user_tokens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE user_tokens_id_seq OWNED BY user_tokens.id;
+
+
+--
+-- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE users (
+    email character varying(255) NOT NULL,
+    id bigint NOT NULL,
+    pass_crypt character varying(255) NOT NULL,
+    creation_time timestamp without time zone NOT NULL,
+    display_name character varying(255) DEFAULT ''::character varying NOT NULL,
+    data_public boolean DEFAULT false NOT NULL,
+    description text DEFAULT ''::text NOT NULL,
+    home_lat double precision,
+    home_lon double precision,
+    home_zoom smallint DEFAULT 3,
+    nearby integer DEFAULT 50,
+    pass_salt character varying(255),
+    image_file_name text,
+    email_valid boolean DEFAULT false NOT NULL,
+    new_email character varying(255),
+    creation_ip character varying(255),
+    languages character varying(255),
+    status user_status_enum DEFAULT 'pending'::user_status_enum NOT NULL,
+    terms_agreed timestamp without time zone,
+    consider_pd boolean DEFAULT false NOT NULL,
+    preferred_editor character varying(255),
+    terms_seen boolean DEFAULT false NOT NULL,
+    openid_url character varying(255),
+    image_fingerprint character varying(255)
+);
+
+
+--
+-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
+--
+
+CREATE SEQUENCE users_id_seq
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+--
+-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
+--
+
+ALTER SEQUENCE users_id_seq OWNED BY users.id;
+
+
+--
+-- Name: way_nodes; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE way_nodes (
+    way_id bigint NOT NULL,
+    node_id bigint NOT NULL,
+    version bigint NOT NULL,
+    sequence_id bigint NOT NULL
+);
+
+
+--
+-- Name: way_tags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE way_tags (
+    way_id bigint DEFAULT 0 NOT NULL,
+    k character varying(255) NOT NULL,
+    v character varying(255) NOT NULL,
+    version bigint NOT NULL
+);
+
+
+--
+-- Name: ways; Type: TABLE; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE TABLE ways (
+    way_id bigint DEFAULT 0 NOT NULL,
+    changeset_id bigint NOT NULL,
+    "timestamp" timestamp without time zone NOT NULL,
+    version bigint NOT NULL,
+    visible boolean DEFAULT true NOT NULL
+);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE acls ALTER COLUMN id SET DEFAULT nextval('acls_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE changesets ALTER COLUMN id SET DEFAULT nextval('changesets_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE client_applications ALTER COLUMN id SET DEFAULT nextval('client_applications_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE countries ALTER COLUMN id SET DEFAULT nextval('countries_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE current_nodes ALTER COLUMN id SET DEFAULT nextval('current_nodes_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE current_relations ALTER COLUMN id SET DEFAULT nextval('current_relations_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE current_ways ALTER COLUMN id SET DEFAULT nextval('current_ways_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE diary_comments ALTER COLUMN id SET DEFAULT nextval('diary_comments_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE diary_entries ALTER COLUMN id SET DEFAULT nextval('diary_entries_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE friends ALTER COLUMN id SET DEFAULT nextval('friends_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE gpx_file_tags ALTER COLUMN id SET DEFAULT nextval('gpx_file_tags_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE gpx_files ALTER COLUMN id SET DEFAULT nextval('gpx_files_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE messages ALTER COLUMN id SET DEFAULT nextval('messages_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE oauth_nonces ALTER COLUMN id SET DEFAULT nextval('oauth_nonces_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE oauth_tokens ALTER COLUMN id SET DEFAULT nextval('oauth_tokens_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE sessions ALTER COLUMN id SET DEFAULT nextval('sessions_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE user_blocks ALTER COLUMN id SET DEFAULT nextval('user_blocks_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE user_roles ALTER COLUMN id SET DEFAULT nextval('user_roles_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE user_tokens ALTER COLUMN id SET DEFAULT nextval('user_tokens_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: -
+--
+
+ALTER TABLE users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
+
+
+--
+-- Name: acls_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY acls
+    ADD CONSTRAINT acls_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: changesets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY changesets
+    ADD CONSTRAINT changesets_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: client_applications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY client_applications
+    ADD CONSTRAINT client_applications_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: countries_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY countries
+    ADD CONSTRAINT countries_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: current_node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_node_tags
+    ADD CONSTRAINT current_node_tags_pkey PRIMARY KEY (node_id, k);
+
+
+--
+-- Name: current_nodes_pkey1; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_nodes
+    ADD CONSTRAINT current_nodes_pkey1 PRIMARY KEY (id);
+
+
+--
+-- Name: current_relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_relation_members
+    ADD CONSTRAINT current_relation_members_pkey PRIMARY KEY (relation_id, member_type, member_id, member_role, sequence_id);
+
+
+--
+-- Name: current_relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_relation_tags
+    ADD CONSTRAINT current_relation_tags_pkey PRIMARY KEY (relation_id, k);
+
+
+--
+-- Name: current_relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_relations
+    ADD CONSTRAINT current_relations_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: current_way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_way_nodes
+    ADD CONSTRAINT current_way_nodes_pkey PRIMARY KEY (way_id, sequence_id);
+
+
+--
+-- Name: current_way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_way_tags
+    ADD CONSTRAINT current_way_tags_pkey PRIMARY KEY (way_id, k);
+
+
+--
+-- Name: current_ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY current_ways
+    ADD CONSTRAINT current_ways_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: diary_comments_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY diary_comments
+    ADD CONSTRAINT diary_comments_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: diary_entries_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY diary_entries
+    ADD CONSTRAINT diary_entries_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: friends_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY friends
+    ADD CONSTRAINT friends_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: gpx_file_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY gpx_file_tags
+    ADD CONSTRAINT gpx_file_tags_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: gpx_files_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY gpx_files
+    ADD CONSTRAINT gpx_files_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: languages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY languages
+    ADD CONSTRAINT languages_pkey PRIMARY KEY (code);
+
+
+--
+-- Name: messages_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY messages
+    ADD CONSTRAINT messages_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: node_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY node_tags
+    ADD CONSTRAINT node_tags_pkey PRIMARY KEY (node_id, version, k);
+
+
+--
+-- Name: nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY nodes
+    ADD CONSTRAINT nodes_pkey PRIMARY KEY (node_id, version);
+
+
+--
+-- Name: oauth_nonces_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY oauth_nonces
+    ADD CONSTRAINT oauth_nonces_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: oauth_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY oauth_tokens
+    ADD CONSTRAINT oauth_tokens_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: relation_members_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY relation_members
+    ADD CONSTRAINT relation_members_pkey PRIMARY KEY (relation_id, version, member_type, member_id, member_role, sequence_id);
+
+
+--
+-- Name: relation_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY relation_tags
+    ADD CONSTRAINT relation_tags_pkey PRIMARY KEY (relation_id, version, k);
+
+
+--
+-- Name: relations_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY relations
+    ADD CONSTRAINT relations_pkey PRIMARY KEY (relation_id, version);
+
+
+--
+-- Name: sessions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY sessions
+    ADD CONSTRAINT sessions_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: user_blocks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY user_blocks
+    ADD CONSTRAINT user_blocks_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: user_preferences_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY user_preferences
+    ADD CONSTRAINT user_preferences_pkey PRIMARY KEY (user_id, k);
+
+
+--
+-- Name: user_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY user_roles
+    ADD CONSTRAINT user_roles_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: user_tokens_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY user_tokens
+    ADD CONSTRAINT user_tokens_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY users
+    ADD CONSTRAINT users_pkey PRIMARY KEY (id);
+
+
+--
+-- Name: way_nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY way_nodes
+    ADD CONSTRAINT way_nodes_pkey PRIMARY KEY (way_id, version, sequence_id);
+
+
+--
+-- Name: way_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY way_tags
+    ADD CONSTRAINT way_tags_pkey PRIMARY KEY (way_id, version, k);
+
+
+--
+-- Name: ways_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
+--
+
+ALTER TABLE ONLY ways
+    ADD CONSTRAINT ways_pkey PRIMARY KEY (way_id, version);
+
+
+--
+-- Name: acls_k_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX acls_k_idx ON acls USING btree (k);
+
+
+--
+-- Name: changeset_tags_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changeset_tags_id_idx ON changeset_tags USING btree (changeset_id);
+
+
+--
+-- Name: changesets_bbox_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changesets_bbox_idx ON changesets USING gist (min_lat, max_lat, min_lon, max_lon);
+
+
+--
+-- Name: changesets_closed_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changesets_closed_at_idx ON changesets USING btree (closed_at);
+
+
+--
+-- Name: changesets_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changesets_created_at_idx ON changesets USING btree (created_at);
+
+
+--
+-- Name: changesets_user_id_created_at_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changesets_user_id_created_at_idx ON changesets USING btree (user_id, created_at);
+
+
+--
+-- Name: changesets_user_id_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX changesets_user_id_id_idx ON changesets USING btree (user_id, id);
+
+
+--
+-- Name: countries_code_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX countries_code_idx ON countries USING btree (code);
+
+
+--
+-- Name: current_nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_nodes_tile_idx ON current_nodes USING btree (tile);
+
+
+--
+-- Name: current_nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_nodes_timestamp_idx ON current_nodes USING btree ("timestamp");
+
+
+--
+-- Name: current_relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_relation_members_member_idx ON current_relation_members USING btree (member_type, member_id);
+
+
+--
+-- Name: current_relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_relations_timestamp_idx ON current_relations USING btree ("timestamp");
+
+
+--
+-- Name: current_way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_way_nodes_node_idx ON current_way_nodes USING btree (node_id);
+
+
+--
+-- Name: current_ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX current_ways_timestamp_idx ON current_ways USING btree ("timestamp");
+
+
+--
+-- Name: diary_comment_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX diary_comment_user_id_created_at_index ON diary_comments USING btree (user_id, created_at);
+
+
+--
+-- Name: diary_comments_entry_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX diary_comments_entry_id_idx ON diary_comments USING btree (diary_entry_id, id);
+
+
+--
+-- Name: diary_entry_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX diary_entry_created_at_index ON diary_entries USING btree (created_at);
+
+
+--
+-- Name: diary_entry_language_code_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX diary_entry_language_code_created_at_index ON diary_entries USING btree (language_code, created_at);
+
+
+--
+-- Name: diary_entry_user_id_created_at_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX diary_entry_user_id_created_at_index ON diary_entries USING btree (user_id, created_at);
+
+
+--
+-- Name: friends_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX friends_user_id_idx ON friends USING btree (user_id);
+
+
+--
+-- Name: gpx_file_tags_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX gpx_file_tags_gpxid_idx ON gpx_file_tags USING btree (gpx_id);
+
+
+--
+-- Name: gpx_file_tags_tag_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX gpx_file_tags_tag_idx ON gpx_file_tags USING btree (tag);
+
+
+--
+-- Name: gpx_files_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX gpx_files_timestamp_idx ON gpx_files USING btree ("timestamp");
+
+
+--
+-- Name: gpx_files_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX gpx_files_user_id_idx ON gpx_files USING btree (user_id);
+
+
+--
+-- Name: gpx_files_visible_visibility_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX gpx_files_visible_visibility_idx ON gpx_files USING btree (visible, visibility);
+
+
+--
+-- Name: index_client_applications_on_key; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX index_client_applications_on_key ON client_applications USING btree (key);
+
+
+--
+-- Name: index_oauth_nonces_on_nonce_and_timestamp; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX index_oauth_nonces_on_nonce_and_timestamp ON oauth_nonces USING btree (nonce, "timestamp");
+
+
+--
+-- Name: index_oauth_tokens_on_token; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX index_oauth_tokens_on_token ON oauth_tokens USING btree (token);
+
+
+--
+-- Name: index_user_blocks_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX index_user_blocks_on_user_id ON user_blocks USING btree (user_id);
+
+
+--
+-- Name: messages_from_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX messages_from_user_id_idx ON messages USING btree (from_user_id);
+
+
+--
+-- Name: messages_to_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX messages_to_user_id_idx ON messages USING btree (to_user_id);
+
+
+--
+-- Name: nodes_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX nodes_changeset_id_idx ON nodes USING btree (changeset_id);
+
+
+--
+-- Name: nodes_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX nodes_tile_idx ON nodes USING btree (tile);
+
+
+--
+-- Name: nodes_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX nodes_timestamp_idx ON nodes USING btree ("timestamp");
+
+
+--
+-- Name: points_gpxid_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX points_gpxid_idx ON gps_points USING btree (gpx_id);
+
+
+--
+-- Name: points_tile_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX points_tile_idx ON gps_points USING btree (tile);
+
+
+--
+-- Name: relation_members_member_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX relation_members_member_idx ON relation_members USING btree (member_type, member_id);
+
+
+--
+-- Name: relations_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX relations_changeset_id_idx ON relations USING btree (changeset_id);
+
+
+--
+-- Name: relations_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX relations_timestamp_idx ON relations USING btree ("timestamp");
+
+
+--
+-- Name: sessions_session_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX sessions_session_id_idx ON sessions USING btree (session_id);
+
+
+--
+-- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
+
+
+--
+-- Name: user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX user_id_idx ON friends USING btree (friend_user_id);
+
+
+--
+-- Name: user_openid_url_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX user_openid_url_idx ON users USING btree (openid_url);
+
+
+--
+-- Name: user_roles_id_role_unique; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX user_roles_id_role_unique ON user_roles USING btree (user_id, role);
+
+
+--
+-- Name: user_tokens_token_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX user_tokens_token_idx ON user_tokens USING btree (token);
+
+
+--
+-- Name: user_tokens_user_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX user_tokens_user_id_idx ON user_tokens USING btree (user_id);
+
+
+--
+-- Name: users_display_name_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX users_display_name_idx ON users USING btree (display_name);
+
+
+--
+-- Name: users_display_name_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX users_display_name_lower_idx ON users USING btree (lower((display_name)::text));
+
+
+--
+-- Name: users_email_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE UNIQUE INDEX users_email_idx ON users USING btree (email);
+
+
+--
+-- Name: users_email_lower_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX users_email_lower_idx ON users USING btree (lower((email)::text));
+
+
+--
+-- Name: way_nodes_node_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX way_nodes_node_idx ON way_nodes USING btree (node_id);
+
+
+--
+-- Name: ways_changeset_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX ways_changeset_id_idx ON ways USING btree (changeset_id);
+
+
+--
+-- Name: ways_timestamp_idx; Type: INDEX; Schema: public; Owner: -; Tablespace: 
+--
+
+CREATE INDEX ways_timestamp_idx ON ways USING btree ("timestamp");
+
+
+--
+-- Name: changeset_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY changeset_tags
+    ADD CONSTRAINT changeset_tags_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: changesets_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY changesets
+    ADD CONSTRAINT changesets_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: client_applications_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY client_applications
+    ADD CONSTRAINT client_applications_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: current_node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_node_tags
+    ADD CONSTRAINT current_node_tags_id_fkey FOREIGN KEY (node_id) REFERENCES current_nodes(id);
+
+
+--
+-- Name: current_nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_nodes
+    ADD CONSTRAINT current_nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: current_relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_relation_members
+    ADD CONSTRAINT current_relation_members_id_fkey FOREIGN KEY (relation_id) REFERENCES current_relations(id);
+
+
+--
+-- Name: current_relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_relation_tags
+    ADD CONSTRAINT current_relation_tags_id_fkey FOREIGN KEY (relation_id) REFERENCES current_relations(id);
+
+
+--
+-- Name: current_relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_relations
+    ADD CONSTRAINT current_relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: current_way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_way_nodes
+    ADD CONSTRAINT current_way_nodes_id_fkey FOREIGN KEY (way_id) REFERENCES current_ways(id);
+
+
+--
+-- Name: current_way_nodes_node_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_way_nodes
+    ADD CONSTRAINT current_way_nodes_node_id_fkey FOREIGN KEY (node_id) REFERENCES current_nodes(id);
+
+
+--
+-- Name: current_way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_way_tags
+    ADD CONSTRAINT current_way_tags_id_fkey FOREIGN KEY (way_id) REFERENCES current_ways(id);
+
+
+--
+-- Name: current_ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY current_ways
+    ADD CONSTRAINT current_ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: diary_comments_diary_entry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_comments
+    ADD CONSTRAINT diary_comments_diary_entry_id_fkey FOREIGN KEY (diary_entry_id) REFERENCES diary_entries(id);
+
+
+--
+-- Name: diary_comments_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_comments
+    ADD CONSTRAINT diary_comments_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: diary_entries_language_code_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entries
+    ADD CONSTRAINT diary_entries_language_code_fkey FOREIGN KEY (language_code) REFERENCES languages(code);
+
+
+--
+-- Name: diary_entries_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY diary_entries
+    ADD CONSTRAINT diary_entries_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: friends_friend_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY friends
+    ADD CONSTRAINT friends_friend_user_id_fkey FOREIGN KEY (friend_user_id) REFERENCES users(id);
+
+
+--
+-- Name: friends_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY friends
+    ADD CONSTRAINT friends_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: gps_points_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY gps_points
+    ADD CONSTRAINT gps_points_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES gpx_files(id);
+
+
+--
+-- Name: gpx_file_tags_gpx_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY gpx_file_tags
+    ADD CONSTRAINT gpx_file_tags_gpx_id_fkey FOREIGN KEY (gpx_id) REFERENCES gpx_files(id);
+
+
+--
+-- Name: gpx_files_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY gpx_files
+    ADD CONSTRAINT gpx_files_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: messages_from_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY messages
+    ADD CONSTRAINT messages_from_user_id_fkey FOREIGN KEY (from_user_id) REFERENCES users(id);
+
+
+--
+-- Name: messages_to_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY messages
+    ADD CONSTRAINT messages_to_user_id_fkey FOREIGN KEY (to_user_id) REFERENCES users(id);
+
+
+--
+-- Name: node_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY node_tags
+    ADD CONSTRAINT node_tags_id_fkey FOREIGN KEY (node_id, version) REFERENCES nodes(node_id, version);
+
+
+--
+-- Name: nodes_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY nodes
+    ADD CONSTRAINT nodes_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: oauth_tokens_client_application_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY oauth_tokens
+    ADD CONSTRAINT oauth_tokens_client_application_id_fkey FOREIGN KEY (client_application_id) REFERENCES client_applications(id);
+
+
+--
+-- Name: oauth_tokens_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY oauth_tokens
+    ADD CONSTRAINT oauth_tokens_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: relation_members_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY relation_members
+    ADD CONSTRAINT relation_members_id_fkey FOREIGN KEY (relation_id, version) REFERENCES relations(relation_id, version);
+
+
+--
+-- Name: relation_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY relation_tags
+    ADD CONSTRAINT relation_tags_id_fkey FOREIGN KEY (relation_id, version) REFERENCES relations(relation_id, version);
+
+
+--
+-- Name: relations_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY relations
+    ADD CONSTRAINT relations_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- Name: user_blocks_moderator_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_blocks
+    ADD CONSTRAINT user_blocks_moderator_id_fkey FOREIGN KEY (creator_id) REFERENCES users(id);
+
+
+--
+-- Name: user_blocks_revoker_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_blocks
+    ADD CONSTRAINT user_blocks_revoker_id_fkey FOREIGN KEY (revoker_id) REFERENCES users(id);
+
+
+--
+-- Name: user_blocks_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_blocks
+    ADD CONSTRAINT user_blocks_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: user_preferences_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_preferences
+    ADD CONSTRAINT user_preferences_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: user_roles_granter_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_roles
+    ADD CONSTRAINT user_roles_granter_id_fkey FOREIGN KEY (granter_id) REFERENCES users(id);
+
+
+--
+-- Name: user_roles_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_roles
+    ADD CONSTRAINT user_roles_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: user_tokens_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY user_tokens
+    ADD CONSTRAINT user_tokens_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
+
+
+--
+-- Name: way_nodes_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY way_nodes
+    ADD CONSTRAINT way_nodes_id_fkey FOREIGN KEY (way_id, version) REFERENCES ways(way_id, version);
+
+
+--
+-- Name: way_tags_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY way_tags
+    ADD CONSTRAINT way_tags_id_fkey FOREIGN KEY (way_id, version) REFERENCES ways(way_id, version);
+
+
+--
+-- Name: ways_changeset_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
+--
+
+ALTER TABLE ONLY ways
+    ADD CONSTRAINT ways_changeset_id_fkey FOREIGN KEY (changeset_id) REFERENCES changesets(id);
+
+
+--
+-- PostgreSQL database dump complete
+--
+
+INSERT INTO schema_migrations (version) VALUES ('1');
+
+INSERT INTO schema_migrations (version) VALUES ('10');
+
+INSERT INTO schema_migrations (version) VALUES ('11');
+
+INSERT INTO schema_migrations (version) VALUES ('12');
+
+INSERT INTO schema_migrations (version) VALUES ('13');
+
+INSERT INTO schema_migrations (version) VALUES ('14');
+
+INSERT INTO schema_migrations (version) VALUES ('15');
+
+INSERT INTO schema_migrations (version) VALUES ('16');
+
+INSERT INTO schema_migrations (version) VALUES ('17');
+
+INSERT INTO schema_migrations (version) VALUES ('18');
+
+INSERT INTO schema_migrations (version) VALUES ('19');
+
+INSERT INTO schema_migrations (version) VALUES ('2');
+
+INSERT INTO schema_migrations (version) VALUES ('20');
+
+INSERT INTO schema_migrations (version) VALUES ('20100513171259');
+
+INSERT INTO schema_migrations (version) VALUES ('20100516124737');
+
+INSERT INTO schema_migrations (version) VALUES ('20100910084426');
+
+INSERT INTO schema_migrations (version) VALUES ('20101114011429');
+
+INSERT INTO schema_migrations (version) VALUES ('20110322001319');
+
+INSERT INTO schema_migrations (version) VALUES ('20110925112722');
+
+INSERT INTO schema_migrations (version) VALUES ('20111116184519');
+
+INSERT INTO schema_migrations (version) VALUES ('20111212183945');
+
+INSERT INTO schema_migrations (version) VALUES ('20120123184321');
+
+INSERT INTO schema_migrations (version) VALUES ('20120208122334');
+
+INSERT INTO schema_migrations (version) VALUES ('20120208194454');
+
+INSERT INTO schema_migrations (version) VALUES ('20120219161649');
+
+INSERT INTO schema_migrations (version) VALUES ('21');
+
+INSERT INTO schema_migrations (version) VALUES ('22');
+
+INSERT INTO schema_migrations (version) VALUES ('23');
+
+INSERT INTO schema_migrations (version) VALUES ('24');
+
+INSERT INTO schema_migrations (version) VALUES ('25');
+
+INSERT INTO schema_migrations (version) VALUES ('26');
+
+INSERT INTO schema_migrations (version) VALUES ('27');
+
+INSERT INTO schema_migrations (version) VALUES ('28');
+
+INSERT INTO schema_migrations (version) VALUES ('29');
+
+INSERT INTO schema_migrations (version) VALUES ('3');
+
+INSERT INTO schema_migrations (version) VALUES ('30');
+
+INSERT INTO schema_migrations (version) VALUES ('31');
+
+INSERT INTO schema_migrations (version) VALUES ('32');
+
+INSERT INTO schema_migrations (version) VALUES ('33');
+
+INSERT INTO schema_migrations (version) VALUES ('34');
+
+INSERT INTO schema_migrations (version) VALUES ('35');
+
+INSERT INTO schema_migrations (version) VALUES ('36');
+
+INSERT INTO schema_migrations (version) VALUES ('37');
+
+INSERT INTO schema_migrations (version) VALUES ('38');
+
+INSERT INTO schema_migrations (version) VALUES ('39');
+
+INSERT INTO schema_migrations (version) VALUES ('4');
+
+INSERT INTO schema_migrations (version) VALUES ('40');
+
+INSERT INTO schema_migrations (version) VALUES ('41');
+
+INSERT INTO schema_migrations (version) VALUES ('42');
+
+INSERT INTO schema_migrations (version) VALUES ('43');
+
+INSERT INTO schema_migrations (version) VALUES ('44');
+
+INSERT INTO schema_migrations (version) VALUES ('45');
+
+INSERT INTO schema_migrations (version) VALUES ('46');
+
+INSERT INTO schema_migrations (version) VALUES ('47');
+
+INSERT INTO schema_migrations (version) VALUES ('48');
+
+INSERT INTO schema_migrations (version) VALUES ('49');
+
+INSERT INTO schema_migrations (version) VALUES ('5');
+
+INSERT INTO schema_migrations (version) VALUES ('50');
+
+INSERT INTO schema_migrations (version) VALUES ('51');
+
+INSERT INTO schema_migrations (version) VALUES ('52');
+
+INSERT INTO schema_migrations (version) VALUES ('6');
+
+INSERT INTO schema_migrations (version) VALUES ('7');
+
+INSERT INTO schema_migrations (version) VALUES ('8');
+
+INSERT INTO schema_migrations (version) VALUES ('9');
\ No newline at end of file
diff --git a/lib/mem_cache.rb b/lib/mem_cache.rb
new file mode 100644 (file)
index 0000000..ddb842b
--- /dev/null
@@ -0,0 +1,31 @@
+class MemCache < Memcached::Rails
+  DEFAULT_OPTIONS = Memcached::DEFAULTS.merge(Memcached::Rails::DEFAULTS)
+
+  MemCacheError = Memcached::Error
+
+  @@connections = []
+
+  def initialize(options = {})
+    options.reverse_merge! :namespace_separator => ":"
+
+    super(MEMCACHE_SERVERS, options)
+
+    @@connections.push(self)
+
+    ObjectSpace.define_finalizer(self, lambda { |connection|
+      @@connections.remove(connection)
+    })
+  end
+
+  def self.connections
+    @@connections
+  end
+end
+
+if defined?(PhusionPassenger)
+  PhusionPassenger.on_event(:starting_worker_process) do |forked|
+    if forked
+      MemCache.connections.each { |connection| connection.reset }
+    end
+  end
+end
diff --git a/lib/memcache.rb b/lib/memcache.rb
new file mode 100644 (file)
index 0000000..e69de29
index 8f7e635f13c9a170f04ca703421481f0b6cec389..75e047815a073004eb8f5c7fc8467f1840a9f944 100644 (file)
@@ -42,175 +42,93 @@ module ActiveRecord
       end
     end
 
-    if defined?(ActiveRecord::ConnectionAdapters::MysqlAdapter)
-      class MysqlAdapter
-        alias_method :old_native_database_types, :native_database_types
-
-        def native_database_types
-          types = old_native_database_types
-          types[:bigint] = { :name => "bigint", :limit => 20 }
-          types[:double] = { :name => "double" }
-          types[:integer_pk] = { :name => "integer DEFAULT NULL auto_increment PRIMARY KEY" }
-          types[:bigint_pk] = { :name => "bigint(20) DEFAULT NULL auto_increment PRIMARY KEY" }
-          types[:bigint_pk_64] = { :name => "bigint(64) DEFAULT NULL auto_increment PRIMARY KEY" }
-          types[:bigint_auto_64] = { :name => "bigint(64) DEFAULT NULL auto_increment" }
-          types[:bigint_auto_11] = { :name => "bigint(11) DEFAULT NULL auto_increment" }
-          types[:bigint_auto_20] = { :name => "bigint(20) DEFAULT NULL auto_increment" }
-          types[:four_byte_unsigned] = { :name=> "integer unsigned" }
-          types[:inet] = { :name=> "integer unsigned" }
-
-          enumerations.each do |e,v|
-            types[e.to_sym]= { :name => "enum('#{v.join '\',\''}')" }
-          end
-
-          types
-        end
-
-        def change_column(table_name, column_name, type, options = {})
-          unless options_include_default?(options)
-            options[:default] = select_one("SHOW COLUMNS FROM #{table_name} LIKE '#{column_name}'")["Default"]
-
-            unless type == :string or type == :text
-              options.delete(:default) if options[:default] = "";
-            end
-          end
-
-          change_column_sql = "ALTER TABLE #{table_name} CHANGE #{column_name} #{column_name} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}"
-          add_column_options!(change_column_sql, options)
-          execute(change_column_sql)
-        end
-
-        def myisam_table
-          return { :id => false, :force => true, :options => "ENGINE=MyIsam" }
-        end
-
-        def innodb_table
-          return { :id => false, :force => true, :options => "ENGINE=InnoDB" }
-        end
-
-        def innodb_option
-          return "ENGINE=InnoDB"
-        end
-
-        def change_engine (table_name, engine)
-          execute "ALTER TABLE #{table_name} ENGINE = #{engine}"
-        end
-
-        def add_fulltext_index (table_name, column)
-          execute "CREATE FULLTEXT INDEX `#{table_name}_#{column}_idx` ON `#{table_name}` (`#{column}`)"
-        end
-
-        def enumerations
-          @enumerations ||= Hash.new
-        end
-
-        def create_enumeration (enumeration_name, values)
-          enumerations[enumeration_name] = values
-        end
-
-        def drop_enumeration (enumeration_name)
-          enumerations.delete(enumeration_name)
-        end
+    class PostgreSQLAdapter
+      alias_method :old_native_database_types, :native_database_types
+
+      def native_database_types
+        types = old_native_database_types
+        types[:double] = { :name => "double precision" }
+        types[:integer_pk] = { :name => "serial PRIMARY KEY" }
+        types[:bigint_pk] = { :name => "bigserial PRIMARY KEY" }
+        types[:bigint_pk_64] = { :name => "bigserial PRIMARY KEY" }
+        types[:bigint_auto_64] = { :name => "bigint" } #fixme: need autoincrement?
+        types[:bigint_auto_11] = { :name => "bigint" } #fixme: need autoincrement?
+        types[:bigint_auto_20] = { :name => "bigint" } #fixme: need autoincrement?
+        types[:four_byte_unsigned] = { :name => "bigint" } # meh
+        types[:inet] = { :name=> "inet" }
+
+        enumerations.each_key do |e|
+          types[e.to_sym]= { :name => e }
+        end
+
+        types
+      end
 
-        def alter_primary_key(table_name, new_columns)
-          execute("alter table #{table_name} drop primary key, add primary key (#{new_columns.join(',')})")
-        end
+      def myisam_table
+        return { :id => false, :force => true, :options => ""}
+      end
 
-        def interval_constant(interval)
-          "'#{interval}'"
-        end
+      def innodb_table
+        return { :id => false, :force => true, :options => ""}
       end
-    end
 
-    if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter)
-      class PostgreSQLAdapter
-        alias_method :old_native_database_types, :native_database_types
-
-        def native_database_types
-          types = old_native_database_types
-          types[:double] = { :name => "double precision" }
-          types[:integer_pk] = { :name => "serial PRIMARY KEY" }
-          types[:bigint_pk] = { :name => "bigserial PRIMARY KEY" }
-          types[:bigint_pk_64] = { :name => "bigserial PRIMARY KEY" }
-          types[:bigint_auto_64] = { :name => "bigint" } #fixme: need autoincrement?
-          types[:bigint_auto_11] = { :name => "bigint" } #fixme: need autoincrement?
-          types[:bigint_auto_20] = { :name => "bigint" } #fixme: need autoincrement?
-          types[:four_byte_unsigned] = { :name => "bigint" } # meh
-          types[:inet] = { :name=> "inet" }
-
-          enumerations.each_key do |e|
-            types[e.to_sym]= { :name => e }
-          end
-
-          types
-        end
+      def innodb_option
+        return ""
+      end
 
-        def myisam_table
-          return { :id => false, :force => true, :options => ""}
-        end
+      def change_engine (table_name, engine)
+      end
 
-        def innodb_table
-          return { :id => false, :force => true, :options => ""}
-        end
+      def add_fulltext_index (table_name, column)
+        execute "CREATE INDEX #{table_name}_#{column}_idx on #{table_name} (#{column})"
+      end
 
-        def innodb_option
-          return ""
-        end
+      def enumerations
+        @enumerations ||= Hash.new
+      end
 
-        def change_engine (table_name, engine)
-        end
+      def create_enumeration(enumeration_name, values)
+        enumerations[enumeration_name] = values
+        execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
+      end
 
-        def add_fulltext_index (table_name, column)
-          execute "CREATE INDEX #{table_name}_#{column}_idx on #{table_name} (#{column})"
-        end
+      def drop_enumeration(enumeration_name)
+        execute "DROP TYPE #{enumeration_name}"
+        enumerations.delete(enumeration_name)
+      end
 
-        def enumerations
-          @enumerations ||= Hash.new
-        end
+      def rename_enumeration(old_name, new_name)
+        execute "ALTER TYPE #{quote_table_name(old_name)} RENAME TO #{quote_table_name(new_name)}"
+      end
 
-        def create_enumeration(enumeration_name, values)
-          enumerations[enumeration_name] = values
-          execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
-        end
+      def alter_primary_key(table_name, new_columns)
+        execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{table_name}_pkey"
+        execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{new_columns.join(',')})"
+      end
 
-        def drop_enumeration(enumeration_name)
-          execute "DROP TYPE #{enumeration_name}"
-          enumerations.delete(enumeration_name)
-        end
+      def interval_constant(interval)
+        "'#{interval}'::interval"
+      end
 
-        def rename_enumeration(old_name, new_name)
-          execute "ALTER TYPE #{quote_table_name(old_name)} RENAME TO #{quote_table_name(new_name)}"
-        end
+      def add_index(table_name, column_name, options = {})
+        column_names = Array(column_name)
+        index_name   = index_name(table_name, :column => column_names)
 
-        def alter_primary_key(table_name, new_columns)
-          execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{table_name}_pkey"
-          execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{new_columns.join(',')})"
+        if Hash === options # legacy support, since this param was a string
+          index_type = options[:unique] ? "UNIQUE" : ""
+          index_name = options[:name] || index_name
+          index_method = options[:method] || "BTREE"
+        else
+          index_type = options
         end
 
-        def interval_constant(interval)
-          "'#{interval}'::interval"
+        quoted_column_names = column_names.map { |e| quote_column_name(e) }
+        if Hash === options and options[:lowercase]
+          quoted_column_names = quoted_column_names.map { |e| "LOWER(#{e})" }
         end
+        quoted_column_names = quoted_column_names.join(", ")
 
-        def add_index(table_name, column_name, options = {})
-          column_names = Array(column_name)
-          index_name   = index_name(table_name, :column => column_names)
-
-          if Hash === options # legacy support, since this param was a string
-            index_type = options[:unique] ? "UNIQUE" : ""
-            index_name = options[:name] || index_name
-            index_method = options[:method] || "BTREE"
-          else
-            index_type = options
-          end
-
-          quoted_column_names = column_names.map { |e| quote_column_name(e) }
-          if Hash === options and options[:lowercase]
-            quoted_column_names = quoted_column_names.map { |e| "LOWER(#{e})" }
-          end
-          quoted_column_names = quoted_column_names.join(", ")
-
-          execute "CREATE #{index_type} INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)} USING #{index_method} (#{quoted_column_names})"
-        end
+        execute "CREATE #{index_type} INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)} USING #{index_method} (#{quoted_column_names})"
       end
 
       def rename_index(table_name, old_name, new_name)
index 02c51df7809b599debb11810cb6350ee7048bfc8..c85abc0f3cf5c426a11f2f7b337d414192161caa 100644 (file)
@@ -6,9 +6,15 @@ module OSM
   require 'rexml/text'
   require 'xml/libxml'
   require 'digest/md5'
-  require 'RMagick'
   require 'nokogiri'
 
+  if defined?(SystemTimer)
+    Timer = SystemTimer
+  else
+    require 'timeout'
+    Timer = Timeout
+  end
+
   # The base class for API Errors.
   class APIError < RuntimeError
     def status
@@ -448,7 +454,7 @@ module OSM
   end
 
   def self.IPToCountry(ip_address)
-    Timeout::timeout(4) do
+    Timer.timeout(4) do
       ipinfo = Quova::IpInfo.new(ip_address)
 
       if ipinfo.status == Quova::Success then
@@ -510,7 +516,7 @@ module OSM
     link_count = 0
     link_size = 0
 
-    doc = Nokogiri::HTML(text)
+    doc = Nokogiri::HTML(Rinku.auto_link(text, :urls))
 
     if doc.content.length > 0
       doc.xpath("//a").each do |link|
index f967c032cd2e7d4667652299fa13b28cff34dbf7..45c0ccde9a3b2a95bae481d1f1dcf8aba982bf69 100644 (file)
@@ -1,17 +1,27 @@
 module Potlatch2
   LOCALES = {
+    "ast" => "ast",
+    "br" => "br",
     "de" => "de_DE",
-    "de-DE" => "de_DE",
     "en" => "en_US",
     "en-GB" => "en_GB",
-    "en-US" => "en_US",
+    "es" => "es_ES",
+    "fi" => "fi",
     "fr" => "fr_FR",
-    "fr-FR" => "fr_FR",
+    "he" => "he",
+    "hsb" => "hsb",
     "ja" => "ja_JP",
-    "ja-JP" => "ja_JP",
+    "mk" => "mk",
+    "ms" => "ms",
+    "nb" => "nb_NO",
+    "nl" => "nl_NL",
+    "nn" => "nn_NO",
+    "no" => "nb_NO",
     "pl" => "pl_PL",
-    "pl-PL" => "pl_PL",
+    "ru" => "ru",
+    "sq" => "sq",
+    "tr" => "tr",
     "vi" => "vi_VN",
-    "vi-VN" => "vi_VN"
+    "zh" => "zh_CN"
   }
 end
similarity index 52%
rename from vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys.rb
rename to lib/session_persistence.rb
index 64f7e14b383ea2702c8185b2ea850bf8b38b8898..7d45d1fc4e59af2c067aca4049f2f7d56808861f 100644 (file)
@@ -1,5 +1,4 @@
-#--
-# Copyright (c) 2006 Nic Williams
+# Copyright (c) 2010 August Lilleaas
 #
 # Permission is hereby granted, free of charge, to any person obtaining
 # a copy of this software and associated documentation files (the
 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#++
 
-$:.unshift(File.dirname(__FILE__)) unless
-  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
+module SessionPersistence
+  private
 
-unless defined?(ActiveRecord)
-  begin
-    require 'active_record'  
-  rescue LoadError
-    require 'rubygems'
-    require_gem 'activerecord'
+  # Install filter when we are included
+  def self.included(controller)
+    controller.after_filter :persist_session
   end
-end
 
-require 'composite_primary_keys/fixtures'
-require 'composite_primary_keys/composite_arrays'
-require 'composite_primary_keys/associations'
-require 'composite_primary_keys/association_preload'
-require 'composite_primary_keys/reflection'
-require 'composite_primary_keys/base'
-require 'composite_primary_keys/calculations'
-require 'composite_primary_keys/migration'
-require 'composite_primary_keys/attribute_methods'
+  # Override this method if you don't want to use session[:_remember_for].
+  def session_persistence_key
+    :_remember_for
+  end
 
-ActiveRecord::Base.class_eval do
-  include CompositePrimaryKeys::ActiveRecord::Base
-end
+  # Persist the session.
+  #
+  #   session_expires_after 1.hour
+  #   session_expires_after 2.weeks
+  def session_expires_after(seconds)
+    session[session_persistence_key] = seconds 
+  end
+
+  # Expire the session.
+  def session_expires_automatically
+    session.delete(session_persistence_key)
+    request.session_options[:renew] = true
+  end
 
-Dir[File.dirname(__FILE__) + '/composite_primary_keys/connection_adapters/*.rb'].each do |adapter|
-  begin
-    require adapter.gsub('.rb','')
-  rescue MissingSourceFile
+  # Filter callback
+  def persist_session
+    if session[session_persistence_key]
+      request.session_options[:expire_after] = session[session_persistence_key]
+    end
   end
 end
index 667b7c7e81ade45b42a6782c9011e90a7746cf8d..3aab8ccfb00821a303923503650d757448b8422f 100644 (file)
@@ -2,7 +2,7 @@
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <body>
-  <img src="http://www.openstreetmap.org/images/osm_logo.png" style="float:left; margin:10px">
+  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
   <div style="float:left;">
     <h1>Forbidden</h1>  
     <p>The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)</p>
index 9f6b91c7ff5d97318cfa9522d8c7ab9020c1afab..94eff455f288064b3964743d9dba82393940808d 100644 (file)
@@ -2,7 +2,7 @@
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <body>
-  <img src="http://www.openstreetmap.org/images/osm_logo.png" style="float:left; margin:10px">
+  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
   <div style="float:left;">
     <h1>File not found</h1>  
     <p>Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)</p>
index b85842159dc6c633dc354a969dc5701458865379..1580caa1d4a748384ea9f249df9abf3487679df7 100644 (file)
@@ -2,7 +2,7 @@
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <body>
-  <img src="http://www.openstreetmap.org/images/osm_logo.png" style="float:left; margin:10px">
+  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
   <div style="float:left;">
     <h1>Application error</h1>
     <p>The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)</p>
diff --git a/public/potlatch2/locales/ast.swf b/public/potlatch2/locales/ast.swf
new file mode 100644 (file)
index 0000000..0c19e2f
Binary files /dev/null and b/public/potlatch2/locales/ast.swf differ
diff --git a/public/potlatch2/locales/br.swf b/public/potlatch2/locales/br.swf
new file mode 100644 (file)
index 0000000..276f01d
Binary files /dev/null and b/public/potlatch2/locales/br.swf differ
index 202dec5182ebd36bda6707facef06631cd55b95d..d39cf158faba334fcfa6c1a1725000477f7e561c 100644 (file)
Binary files a/public/potlatch2/locales/de_DE.swf and b/public/potlatch2/locales/de_DE.swf differ
index 0dedeb723482788bd3cdfbebd1350d0e297bc566..1586a7965d6671a7f2badd69f5a4b48860d70214 100644 (file)
Binary files a/public/potlatch2/locales/en_GB.swf and b/public/potlatch2/locales/en_GB.swf differ
index 57e148f8ea7df125e7a2ba240e5345d90fe12f20..13050fa3734a1d2a8d64a3964fd8fcf8d80204bc 100644 (file)
Binary files a/public/potlatch2/locales/en_US.swf and b/public/potlatch2/locales/en_US.swf differ
diff --git a/public/potlatch2/locales/es_ES.swf b/public/potlatch2/locales/es_ES.swf
new file mode 100644 (file)
index 0000000..ef995c1
Binary files /dev/null and b/public/potlatch2/locales/es_ES.swf differ
diff --git a/public/potlatch2/locales/fi.swf b/public/potlatch2/locales/fi.swf
new file mode 100644 (file)
index 0000000..49e6cdb
Binary files /dev/null and b/public/potlatch2/locales/fi.swf differ
index 845c84aebd7379a462943397747656858020da8f..705787164e355f7d991fd09e0bbb575f4539faec 100644 (file)
Binary files a/public/potlatch2/locales/fr_FR.swf and b/public/potlatch2/locales/fr_FR.swf differ
diff --git a/public/potlatch2/locales/he.swf b/public/potlatch2/locales/he.swf
new file mode 100644 (file)
index 0000000..3838292
Binary files /dev/null and b/public/potlatch2/locales/he.swf differ
diff --git a/public/potlatch2/locales/hsb.swf b/public/potlatch2/locales/hsb.swf
new file mode 100644 (file)
index 0000000..66038f3
Binary files /dev/null and b/public/potlatch2/locales/hsb.swf differ
index bce0467dfc0c0fbff9fbc920a84ccfac1f7ae34b..b2022192491343676fcccf69a6924c281cbabcea 100644 (file)
Binary files a/public/potlatch2/locales/ja_JP.swf and b/public/potlatch2/locales/ja_JP.swf differ
diff --git a/public/potlatch2/locales/mk.swf b/public/potlatch2/locales/mk.swf
new file mode 100644 (file)
index 0000000..61215e4
Binary files /dev/null and b/public/potlatch2/locales/mk.swf differ
diff --git a/public/potlatch2/locales/ms.swf b/public/potlatch2/locales/ms.swf
new file mode 100644 (file)
index 0000000..0b09c67
Binary files /dev/null and b/public/potlatch2/locales/ms.swf differ
diff --git a/public/potlatch2/locales/nb_NO.swf b/public/potlatch2/locales/nb_NO.swf
new file mode 100644 (file)
index 0000000..3dca073
Binary files /dev/null and b/public/potlatch2/locales/nb_NO.swf differ
diff --git a/public/potlatch2/locales/nl_NL.swf b/public/potlatch2/locales/nl_NL.swf
new file mode 100644 (file)
index 0000000..544130a
Binary files /dev/null and b/public/potlatch2/locales/nl_NL.swf differ
diff --git a/public/potlatch2/locales/nn_NO.swf b/public/potlatch2/locales/nn_NO.swf
new file mode 100644 (file)
index 0000000..ca73dfc
Binary files /dev/null and b/public/potlatch2/locales/nn_NO.swf differ
index 50137b6c5d9c7ab3a96ef7876893e5b927cd901f..00f3d2a0b95610fe8f32fa8042cfaed42659a395 100644 (file)
Binary files a/public/potlatch2/locales/pl_PL.swf and b/public/potlatch2/locales/pl_PL.swf differ
diff --git a/public/potlatch2/locales/ru.swf b/public/potlatch2/locales/ru.swf
new file mode 100644 (file)
index 0000000..68cce1c
Binary files /dev/null and b/public/potlatch2/locales/ru.swf differ
diff --git a/public/potlatch2/locales/sq.swf b/public/potlatch2/locales/sq.swf
new file mode 100644 (file)
index 0000000..472338f
Binary files /dev/null and b/public/potlatch2/locales/sq.swf differ
diff --git a/public/potlatch2/locales/tr.swf b/public/potlatch2/locales/tr.swf
new file mode 100644 (file)
index 0000000..a7b500e
Binary files /dev/null and b/public/potlatch2/locales/tr.swf differ
index d7b199732b495768c627758554ca30911971d426..703590e08a4ac3df956ead35acdd6ee2c256eeb1 100644 (file)
Binary files a/public/potlatch2/locales/vi_VN.swf and b/public/potlatch2/locales/vi_VN.swf differ
diff --git a/public/potlatch2/locales/zh_CN.swf b/public/potlatch2/locales/zh_CN.swf
new file mode 100644 (file)
index 0000000..bfcfd67
Binary files /dev/null and b/public/potlatch2/locales/zh_CN.swf differ
index aa1b7da4bde8c218203f61c470236783d63e6139..e825026898569d34add085fddab0e207904ffc34 100644 (file)
   </feature>
 
 
-  <feature name="Sports centre">
-    <category>buildings</category>
-    <icon image="features/pois/sport_leisure_centre.n.24.png">
-      <b>${name} ${addr:housename}</b><br/>
-      ${addr:housenumber} ${addr:street} ${addr:postcode}
-    </icon>
-
-    <area/>
-    <point/>
-    <tag k="leisure" v="sports_centre"/>
-    <inputSet ref="names"/>
-    <inputSet ref="buildingAddress"/>
-    <inputSet ref="pitchSport"/>
-    <inputSet ref="isBuilding"/>
-    <inputSet ref="common"/>
-  </feature>
-
-
   <!-- Generic building. Should be last in the entire xml chain -->
   <!-- When user changes feature to some amenity, building tag is cleared. This should not be. -->
   <feature name="Building">
index 09b921f8e68dd7ff38c503382332fb6fdb647adf..5a8eb106628a34e5b3a2143ff0c3b6b624e9d689 100644 (file)
     <inputSet ref="common"/>
   </feature>
 
+  <feature name="Sports centre">
+    <category>sport</category>
+    <icon image="features/pois/sport_leisure_centre.n.24.png">
+      <b>${name} ${addr:housename}</b><br/>
+      ${addr:housenumber} ${addr:street} ${addr:postcode}
+    </icon>
+
+    <area/>
+    <point/>
+    <tag k="leisure" v="sports_centre"/>
+    <inputSet ref="names"/>
+    <inputSet ref="buildingAddress"/>
+    <inputSet ref="pitchSport"/>
+    <inputSet ref="isBuilding"/>
+    <inputSet ref="common"/>
+  </feature>
+
+
   <!-- **************** Agriculture *************** -->
   <feature name="Farm">
     <category>agriculture</category>
 
   <feature name="Forest">
     <category>natural</category>
-    <icon image="/features/pois/landuse_coniferous.n.24.png"/>
+    <icon image="features/pois/landuse_coniferous.n.24.png"/>
 
     <area/>
     <tag k="landuse" v="forest"/>
     <tag k="landuse" v="meadow"/>
     <inputSet ref="common"/>
   </feature>
-</featureGroup>
\ No newline at end of file
+</featureGroup>
index 7cf0d4785fc861e3313dad0b6cc8d1bed4beeeb9..10774290c2c74ab4df010b92b81aa5f0d92bb979 100644 (file)
Binary files a/public/potlatch2/potlatch2.swf and b/public/potlatch2/potlatch2.swf differ
index 30c6e8e1d99140a4794a3e500cf048d6c6e7ca7c..6c260b0fc964dbe6fb3ba75e9fc94d4979e5e80e 100644 (file)
@@ -42,22 +42,35 @@ way .path              { text:name; text-color: black; text-position: offset; te
 
 way[highway=proposed] { color: #88ffff; width: 6; dashes: 8, 4; }
 way[highway=construction] { color: #ffffbb; width: 6; dashes: 8, 4; casing-color: #0000aa; casing-width: 1; casing-dashes: 8,4;}
-way[construction=rail] { z-index: 6; color: black; width: 5; dashes: 6, 6, 4, 8;}
-way[construction=rail]::inner { z-index: 7; color: white; width: 3; dashes: 6,18; }
 
 /* Railways */
 
 way[railway=rail] { z-index: 6; color: black; width: 5; }
 way[railway=rail]::dashes { z-index: 7; color: white; width: 3; dashes: 12,12; }
 
+way[construction=rail] { z-index: 6; color: black; width: 5; dashes: 6, 6, 4, 8;}
+way[construction=rail]::inner { z-index: 7; color: white; width: 3; dashes: 6,18; }
+
 way[railway=platform] { color:black; width: 2; }
 
 way[railway=subway] { z-index: 6; color: #444444; width: 5; }
 way[railway=subway]::dashes  { z-index: 7; color: white; width: 3; dashes: 8,8; }
 
+way[construction=subway] { z-index: 6; color: #444444; width: 5; dashes: 4, 4; }
+way[construction=subway]::dashes  { z-index: 7; color: white; width: 3; dashes: 4,12;}
+
 way[railway=disused],way[railway=abandoned] { z-index: 6; color: #444400; width: 3; dashes: 17, 2, 5, 0; }
 way[railway=disused]::dashes,way[railway=abandoned]::dashes { z-index: 7; color: #999999; width: 2; dashes: 12,12; }
 
+way[railway=tram]      { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; }
+way[construction=tram] { z-index: 11; color: #999999; width: 2; casing-color: black; casing-width: 2; dashes: 6, 6; casing-dashes: 6, 6; }
+
+way[railway=light_rail] { z-index: 6; color: black; width: 4; }
+way[railway=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,4; }
+
+way[construction=light_rail] { z-index: 6; color: black; width: 4; dashes: 8, 4, 4, 4; }
+way[construction=light_rail]::dashes { z-index: 7; color: #999999; width: 2; dashes: 8,12; }
+
 /* Waterways */        
 
 way[waterway=river], 
index ef9442782779b9c0c5d6513fc76edfc6840225cf..5450546e3a9cefb52e2699637d78e95b82eb4fe6 100644 (file)
@@ -4,21 +4,23 @@
 
 */
 
-way :hover     { z-index: 2; width: 1; color: yellow; }
-way :selected { z-index: 2; width: 2; color: yellow; }
-way !:drawn { z-index:10; width: 1; color: black; }
-
-node :selectedway { z-index: 8; icon-image: square; icon-width: 6; color: green; }
-node :hoverway { z-index: 9; icon-image: square; icon-width: 6; color: blue; }
-node :selected { z-index: 9; icon-image: square; icon-width: 6; color: red; casing-color: black; casing-width: 1; }
-node !:drawn :poi { z-index: 2; icon-image: square; icon-width: 4; color: green; casing-color: black; casing-width: 1; }
-node !:drawn :hasTags { z-index: 9; icon-image: circle; icon-width: 3; color: black; }
-node :hasTags :selectedway { z-index: 9; icon-image: square; icon-width: 8; color: black; layer: 5; }
-
-way[_status=incomplete]::statushighlight { z-index: 0; width: 10; color: #d95f02; }
-way[_status=complete]::statushighlight { z-index: 0; width: 10; color: #1b9e77; opacity: 0.4; }
-node[_status=incomplete]::statushighlight :hasTags { z-index: 0; icon-image: square; icon-width: 10; color: #d95f02; }
-node[_status=complete]::statushighlight :hasTags { z-index: 0; icon-image: square; icon-width: 10; color: #1b9e77; opacity: 0.4; }
+way :hover     { z-index: 2; width: 14; color: yellow; linecap: round; }
+way :selected { z-index: 2; width: 14; color: yellow; linecap: round; }
+way !:drawn { z-index: 1; width: 14; color: #444444; linecap: round; }
+
+node :selectedway { z-index: 8; icon-image: circle; icon-width: 8; color: green; }
+node :hoverway { z-index: 9; icon-image: circle; icon-width: 8; color: blue; }
+node :selected { z-index: 9; icon-image: circle; icon-width: 8; color: red; casing-color: black; casing-width: 1; }
+node !:drawn :poi { z-index: 6; icon-image: circle; icon-width: 8; color: green; casing-color: black; casing-width: 1; }
+node !:drawn :hasTags { z-index: 9; icon-image: circle; icon-width: 8; color: black; }
+node :hasTags :selectedway { z-index: 9; icon-image: circle; icon-width: 8; color: black; }
+
+way[_status=incomplete]::statushighlight { z-index: 0; width: 20; color: #d95f02; linecap: round; }
+way[_status=complete]::statushighlight { z-index: 0; width: 18; color: #1b9e77; opacity: 0.4; linecap: round; }
+way[_status=complete] { opacity: 0.7; }
+node[_status=incomplete]::statushighlight :hasTags { z-index: 5; icon-image: circle; icon-width: 12; color: #d95f02; }
+node[_status=complete]::statushighlight :hasTags { z-index: 5; icon-image: circle; icon-width: 10; color: #1b9e77; opacity: 0.4; }
+node[_status=complete] { opacity: 0.7; }
 
 
 
index b6c679b0a6cf3e863f9e765eed61d78915f6bb09..669e54a667fef1459b1e9c206d76c8affc4333f7 100755 (executable)
@@ -23,13 +23,16 @@ mail = Mail.new(STDIN.readlines.join)
 if mail.multipart?
   body = mail.html_part || mail.text_part
 else
-  body = mail.body
+  body = mail
 end
 
-message = Message.new(:sender => from, :recipient => to,
-                      :sent_on => mail.date.new_offset(0),
-                      :title => mail.subject.sub(/\[OpenStreetMap\] */, ""),
-                      :body => body.decoded)
+message = Message.new({
+  :sender => from,
+  :recipient => to,
+  :sent_on => mail.date.new_offset(0),
+  :title => mail.subject.sub(/\[OpenStreetMap\] */, ""),
+  :body => body.decoded
+}, :without_protection => true)
 message.save!
 
 Notifier.message_notification(message).deliver
index 903fc9b8a35a61d0b07f72779434eeea61597521..3cb9dcedd696deedec465ef82ffbbe975380c21f 100755 (executable)
@@ -12,16 +12,14 @@ addresses = User.count(
 )
 
 addresses.each do |address,count|
-  if count > 2
+  if count > 1
     acl = Acl.find(:first, :conditions => {
       :address => address,
-      :netmask => "255.255.255.255"
     })
 
     unless acl
       Acl.create(
         :address => address,
-        :netmask => "255.255.255.255",
         :k => "no_account_creation",
         :v => "auto_spam_block"
       )
@@ -32,7 +30,6 @@ addresses.each do |address,count|
 end
 
 acls = Acl.find(:all, :conditions => {
-  :netmask => "255.255.255.255",
   :k => "no_account_creation",
   :v => "auto_spam_block"
 })
index 8bb9f49bd3b084d3abea0ad45f7f16eb849698f2..b8fb5c853e8f549409175df53d9c749d966c4270 100644 (file)
@@ -5,3 +5,19 @@ comment_for_geo_post:
   body: Some comment text
   created_at: "2008-11-08 09:45:34"
   updated_at: "2008-11-08 10:34:34"
+
+comment_by_suspended_user:
+  id: 2
+  diary_entry_id: 2
+  user_id: 10
+  body: Some comment text
+  created_at: "2008-11-08 09:45:34"
+  updated_at: "2008-11-08 10:34:34"
+
+comment_by_deleted_user:
+  id: 3
+  diary_entry_id: 2
+  user_id: 11
+  body: Some comment text
+  created_at: "2008-11-08 09:45:34"
+  updated_at: "2008-11-08 10:34:34"
index 34fb552687e33d3ec4d3254393f14412a16aae9d..864dc250d6cbae7924b0749e9666d07b5f9ce44e 100644 (file)
@@ -8,7 +8,8 @@ normal_user_entry_1:
   latitude: 
   longitude: 
   language_code: en
-  
+  visible: true
+
 normal_user_geo_entry:
   id: 2
   user_id: 1
@@ -19,3 +20,17 @@ normal_user_geo_entry:
   latitude: 51.50763
   longitude: -0.10781
   language_code: de
+  visible: true
+
+deleted_entry:
+
+  id: 3
+  user_id: 1
+  title: Deleted Entry 1
+  body: This is the body of a deleted diary entry.
+  created_at: "2008-11-07 17:43:34"
+  updated_at: "2008-11-07 17:43:34"
+  latitude: 
+  longitude: 
+  language_code: en
+  visible: false
index 7d89b858df90873c6d73963c660c75cf31003927..34ac9ce421f0255acfd8ce9addb21e482c613408 100644 (file)
@@ -118,7 +118,46 @@ uppercase_user:
   pass_crypt: <%= Digest::MD5.hexdigest('test') %>
   creation_time: "2007-01-01 00:00:00"
   display_name: TEST
-  data_public: false
+  data_public: true
+  description: test
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
+
+suspended_user:
+  id: 10
+  email: suspended@openstreetmap.org
+  status: suspended
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2007-01-01 00:00:00"
+  display_name: suspended
+  data_public: true
+  description: test
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
+
+deleted_user:
+  id: 11
+  email: deleted@openstreetmap.org
+  status: deleted
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2007-01-01 00:00:00"
+  display_name: deleted
+  data_public: true
+  description: test
+  terms_agreed: "2010-01-01 11:22:33"
+  terms_seen: true
+  languages: en
+
+confirmed_user:
+  id: 12
+  email: confirmed@openstreetmap.org
+  status: confirmed
+  pass_crypt: <%= Digest::MD5.hexdigest('test') %>
+  creation_time: "2007-01-01 00:00:00"
+  display_name: confirmed
+  data_public: true
   description: test
   terms_agreed: "2010-01-01 11:22:33"
   terms_seen: true
index 52ba263e031f8947946ee29fe3e11363d4183e98..bba13062c0de9daa3c19c12cd75aa5fa48a44f77 100644 (file)
@@ -454,7 +454,7 @@ class WayControllerTest < ActionController::TestCase
                          current_ways(:used_way).id
                        ]
     found_way_ids = ways_xml.find("//osm/way").collect { |w| w["id"].to_i }
-    assert_equal expected_way_ids, found_way_ids,
+    assert_equal expected_way_ids.sort, found_way_ids.sort,
       "expected ways for node #{current_nodes(:used_node_1).id} did not match found"
     
     # check the full ways to ensure we're not missing anything
index 7003d769251c2a97dbe0578a35bf627e60255c41..11fcae91a9a45f2ac3b17af13cfcf453c66adf5c 100644 (file)
@@ -17,10 +17,12 @@ class UserBlocksTest < ActionController::IntegrationTest
     assert_response :success
 
     # now block the user
-    UserBlock.create(:user_id => blocked_user.id,
-                     :creator_id => users(:moderator_user).id,
-                     :reason => "testing",
-                     :ends_at => Time.now.getutc + 5.minutes)
+    UserBlock.create({
+      :user_id => blocked_user.id,
+      :creator_id => users(:moderator_user).id,
+      :reason => "testing",
+      :ends_at => Time.now.getutc + 5.minutes
+    }, :without_protection => true)
     get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
     assert_response :forbidden
   end
@@ -29,10 +31,12 @@ class UserBlocksTest < ActionController::IntegrationTest
     blocked_user = users(:public_user)
     moderator = users(:moderator_user)
 
-    block = UserBlock.create(:user_id => blocked_user.id,
-                             :creator_id => moderator.id,
-                             :reason => "testing",
-                             :ends_at => Time.now.getutc + 5.minutes)
+    block = UserBlock.create({
+      :user_id => blocked_user.id,
+      :creator_id => moderator.id,
+      :reason => "testing",
+      :ends_at => Time.now.getutc + 5.minutes
+    }, :without_protection => true)
     get "/api/#{API_VERSION}/user/details", nil, auth_header(blocked_user.display_name, "test")
     assert_response :forbidden
 
index 8c03d6a36522a076546716ba236b7b2b032a6d91..e4ac3d4225a31faa742d67fe3655784067cfa789 100644 (file)
@@ -5,7 +5,6 @@ class DiaryCommentTest < ActiveSupport::TestCase
   fixtures :diary_comments
   
   def test_diary_comment_count
-    assert_equal 1, DiaryComment.count
+    assert_equal 3, DiaryComment.count
   end
-  
 end
index d645aa860d2a3ce457ea2b756a1ef5f01351918f..2d5c34f83ed36698bb71abb90811fcb028a979e2 100644 (file)
@@ -2,10 +2,10 @@ require File.dirname(__FILE__) + '/../test_helper'
 
 class DiaryEntryTest < ActiveSupport::TestCase
   api_fixtures
-  fixtures :diary_entries, :languages
+  fixtures :diary_entries, :diary_comments, :languages
   
   def test_diary_entry_count
-    assert_equal 2, DiaryEntry.count
+    assert_equal 3, DiaryEntry.count
   end
   
   def test_diary_entry_validations
@@ -23,10 +23,29 @@ class DiaryEntryTest < ActiveSupport::TestCase
     diary_entry_valid({:longitude => -180})
     diary_entry_valid({:longitude => -180.00001}, false)
   end
+
+  def test_diary_entry_visible
+    assert_equal 2, DiaryEntry.visible.count
+    assert_raise ActiveRecord::RecordNotFound do
+      DiaryEntry.visible.find(diary_entries(:deleted_entry).id)
+    end
+  end
+  
+  def test_diary_entry_comments
+    assert_equal 0, diary_entries(:normal_user_entry_1).comments.count
+    assert_equal 3, diary_entries(:normal_user_geo_entry).comments.count
+  end
   
+  def test_diary_entry_visible_comments
+    assert_equal 0, diary_entries(:normal_user_entry_1).visible_comments.count
+    assert_equal 1, diary_entries(:normal_user_geo_entry).visible_comments.count
+  end
+
+private
+
   def diary_entry_valid(attrs, result = true)
-    entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes)
-    entry.attributes = attrs
+    entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes, :without_protection => true)
+    entry.assign_attributes(attrs, :without_protection => true)
     assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
   end  
 end
diff --git a/test/unit/i18n_test.rb b/test/unit/i18n_test.rb
new file mode 100644 (file)
index 0000000..73f8934
--- /dev/null
@@ -0,0 +1,71 @@
+require File.dirname(__FILE__) + '/../test_helper'
+
+class I18nTest < ActiveSupport::TestCase
+  I18n.available_locales.each do |locale|
+    define_method("test_#{locale.to_s.underscore}".to_sym) do
+      plural_keys = plural_keys(locale)
+
+      translation_keys.each do |key|
+        variables = []
+
+        default_value = I18n.t(key, :locale => I18n.default_locale)
+
+        if default_value.is_a?(Hash)
+          variables.push("count")
+
+          default_value.each do |subkey,subvalue|
+            subvalue.scan(/%\{(\w+)\}/) do
+              variables.push($1)
+            end
+          end
+        else
+          default_value.scan(/%\{(\w+)\}/) do
+            variables.push($1)
+          end
+        end
+
+        value = I18n.t(key, :locale => locale, :fallback => true)
+
+        if value.is_a?(Hash)
+          value.each do |subkey,subvalue|
+#            assert plural_keys.include?(subkey), "#{key}.#{subkey} is not a valid plural key"
+
+            subvalue.scan(/%\{(\w+)\}/) do
+              assert variables.include?($1), "#{key}.#{subkey} uses unknown interpolation variable #{$1}"
+            end
+          end
+        else
+          assert value.is_a?(String), "#{key} is not a string"
+
+          value.scan(/%\{(\w+)\}/) do
+            assert variables.include?($1), "#{key} uses unknown interpolation variable #{$1}"
+          end
+        end
+      end
+    end
+  end
+private
+  def translation_keys(scope = nil)
+    plural_keys = plural_keys(I18n.default_locale)
+
+    I18n.t(scope || ".", :locale => I18n.default_locale).map do |key,value|
+      scoped_key = scope ? "#{scope}.#{key}" : key
+
+      if value.kind_of?(Hash)
+        if value.keys - plural_keys == []
+          scoped_key
+        else
+          translation_keys(scoped_key)
+        end
+      elsif value.kind_of?(String)
+        scoped_key
+      end
+    end.flatten
+  end
+
+  def plural_keys(locale)
+    I18n.t("i18n.plural.keys", :locale => locale, :raise => true) + [ :zero ]
+  rescue I18n::MissingTranslationData
+    [ :zero, :one, :other ]
+  end
+end
index 6bfcf79262b4c6798d2615d27a7cc2d9fe7a55fe..78f060678ecdf542cd18b3ee77d23a6f2be02a11 100644 (file)
@@ -77,11 +77,13 @@ class NodeTest < ActiveSupport::TestCase
   
   # Check that you can create a node and store it
   def test_create
-    node_template = Node.new(:latitude => 12.3456,
-                             :longitude => 65.4321,
-                             :changeset_id => changesets(:normal_user_first_change).id,
-                             :visible => 1, 
-                             :version => 1)
+    node_template = Node.new({
+      :latitude => 12.3456,
+      :longitude => 65.4321,
+      :changeset_id => changesets(:normal_user_first_change).id,
+      :visible => 1, 
+      :version => 1
+    }, :without_protection => true)
     assert node_template.create_with_history(users(:normal_user))
 
     node = Node.find(node_template.id)
index eb8219c57fe208c50b51f298148d0c6a8dc49186..ff03537910ea9d99a91f07c7121dc808346c4a1c 100644 (file)
@@ -15,7 +15,9 @@ class OauthTokenTest < ActiveSupport::TestCase
   ##
   # check that an authorized token is authorised and can be invalidated
   def test_token_authorisation
-    tok = RequestToken.create :client_application => client_applications(:oauth_web_app)
+    tok = RequestToken.create({
+      :client_application => client_applications(:oauth_web_app)
+    }, :without_protection => true)
     assert_equal false, tok.authorized?, "Token should be created unauthorised."
     tok.authorize!(users(:public_user))
     assert_equal true, tok.authorized?, "Token should now be authorised."
index db6dc6044cca48e2e2ffc0f8b4b21d7396b6d132..b8cf6b88ada7f25bccfee006098ef3037fc63404 100644 (file)
@@ -6,5 +6,86 @@ class TraceTest < ActiveSupport::TestCase
   def test_trace_count
     assert_equal 5, Trace.count
   end
-  
+
+  def test_visible
+    check_query(Trace.visible, :public_trace_file, :anon_trace_file, :trackable_trace_file, :identifiable_trace_file)
+  end
+
+  def test_visible_to
+    check_query(Trace.visible_to(1), :public_trace_file, :identifiable_trace_file)
+    check_query(Trace.visible_to(2), :public_trace_file, :anon_trace_file, :trackable_trace_file, :identifiable_trace_file)
+    check_query(Trace.visible_to(3), :public_trace_file, :identifiable_trace_file)
+  end
+
+  def test_public
+    check_query(Trace.public, :public_trace_file, :identifiable_trace_file, :deleted_trace_file)
+  end
+
+  def test_validations
+    trace_valid({})
+    trace_valid({:user_id => nil}, false)
+    trace_valid({:name => 'a'*255})
+    trace_valid({:name => 'a'*256}, false)
+    trace_valid({:description => nil}, false)
+    trace_valid({:description => 'a'*255})
+    trace_valid({:description => 'a'*256}, false)
+    trace_valid({:visibility => "private"})
+    trace_valid({:visibility => "public"})
+    trace_valid({:visibility => "trackable"})
+    trace_valid({:visibility => "identifiable"})
+    trace_valid({:visibility => "foo"}, false)
+  end
+
+  def test_tagstring
+    trace = Trace.new
+    trace.tagstring = "foo bar baz"
+    assert_equal 3, trace.tags.length
+    assert_equal "foo", trace.tags[0].tag
+    assert_equal "bar", trace.tags[1].tag
+    assert_equal "baz", trace.tags[2].tag
+    assert_equal "foo, bar, baz", trace.tagstring
+    trace.tagstring = "foo, bar baz ,qux"
+    assert_equal 3, trace.tags.length
+    assert_equal "foo", trace.tags[0].tag
+    assert_equal "bar baz", trace.tags[1].tag
+    assert_equal "qux", trace.tags[2].tag
+    assert_equal "foo, bar baz, qux", trace.tagstring
+  end
+
+  def test_public?
+    assert_equal true, gpx_files(:public_trace_file).public?
+    assert_equal false, gpx_files(:anon_trace_file).public?
+    assert_equal false, gpx_files(:trackable_trace_file).public?
+    assert_equal true, gpx_files(:identifiable_trace_file).public?
+    assert_equal true, gpx_files(:deleted_trace_file).public?
+  end
+
+  def test_trackable?
+    assert_equal false, gpx_files(:public_trace_file).trackable?
+    assert_equal false, gpx_files(:anon_trace_file).trackable?
+    assert_equal true, gpx_files(:trackable_trace_file).trackable?
+    assert_equal true, gpx_files(:identifiable_trace_file).trackable?
+    assert_equal false, gpx_files(:deleted_trace_file).trackable?
+  end
+
+  def test_identifiable?
+    assert_equal false, gpx_files(:public_trace_file).identifiable?
+    assert_equal false, gpx_files(:anon_trace_file).identifiable?
+    assert_equal false, gpx_files(:trackable_trace_file).identifiable?
+    assert_equal true, gpx_files(:identifiable_trace_file).identifiable?
+    assert_equal false, gpx_files(:deleted_trace_file).identifiable?
+  end
+
+private
+
+  def check_query(query, *traces)
+    traces = traces.map { |t| gpx_files(t) }.sort
+    assert_equal traces, query.order(:id)
+  end
+
+  def trace_valid(attrs, result = true)
+    entry = Trace.new(gpx_files(:public_trace_file).attributes, :without_protection => true)
+    entry.assign_attributes(attrs, :without_protection => true)
+    assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
+  end
 end
index 41e77dfe47533f206cd740361a98c3727d654069..2112e589190725a3c125b94039861d18608bf31a 100644 (file)
@@ -6,5 +6,26 @@ class TracetagTest < ActiveSupport::TestCase
   def test_tracetag_count
     assert_equal 1, Tracetag.count
   end
-  
+
+  def test_validations
+    tracetag_valid({})
+    tracetag_valid({:tag => nil}, false)
+    tracetag_valid({:tag => ''}, false)
+    tracetag_valid({:tag => 'a'})
+    tracetag_valid({:tag => 'a'*255})
+    tracetag_valid({:tag => 'a'*256}, false)
+    tracetag_valid({:tag => 'a/b'}, false)
+    tracetag_valid({:tag => 'a;b'}, false)
+    tracetag_valid({:tag => 'a.b'}, false)
+    tracetag_valid({:tag => 'a,b'}, false)
+    tracetag_valid({:tag => 'a?b'}, false)
+  end
+
+private
+
+  def tracetag_valid(attrs, result = true)
+    entry = Tracetag.new(gpx_file_tags(:first_trace_1).attributes, :without_protection => true)
+    entry.assign_attributes(attrs, :without_protection => true)
+    assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
+  end
 end
index 843c3190556724533757f73af2095e3254b1b89e..eb2f2a95984b71e3446dbbd15b655404b9068f73 100644 (file)
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../test_helper'
 
 class UserTest < ActiveSupport::TestCase
   api_fixtures
-  fixtures :friends
+  fixtures :friends, :languages, :user_roles
 
   def test_invalid_with_empty_attributes
     user = User.new
@@ -18,23 +18,27 @@ class UserTest < ActiveSupport::TestCase
   end
   
   def test_unique_email
-    new_user = User.new(:email => users(:normal_user).email,
+    new_user = User.new({
+      :email => users(:normal_user).email,
       :status => "active", 
       :pass_crypt => Digest::MD5.hexdigest('test'),
       :display_name => "new user",
       :data_public => 1,
-      :description => "desc")
+      :description => "desc"
+    }, :without_protection => true)
     assert !new_user.save
     assert new_user.errors[:email].include?("has already been taken")
   end
   
   def test_unique_display_name
-    new_user = User.new(:email => "tester@openstreetmap.org",
+    new_user = User.new({
+      :email => "tester@openstreetmap.org",
       :status => "pending",
       :pass_crypt => Digest::MD5.hexdigest('test'),
       :display_name => users(:normal_user).display_name, 
       :data_public => 1,
-      :description => "desc")
+      :description => "desc"
+    }, :without_protection => true)
     assert !new_user.save
     assert new_user.errors[:display_name].include?("has already been taken")
   end
@@ -149,4 +153,90 @@ class UserTest < ActiveSupport::TestCase
     user.preferred_editor = "invalid_editor"
     assert_raise(ActiveRecord::RecordInvalid) { user.save! }
   end
+
+  def test_visible
+    assert_equal 10, User.visible.count
+    assert_raise ActiveRecord::RecordNotFound do
+      User.visible.find(users(:suspended_user).id)
+    end
+    assert_raise ActiveRecord::RecordNotFound do
+      User.visible.find(users(:deleted_user).id)
+    end
+  end
+
+  def test_active
+    assert_equal 9, User.active.count
+    assert_raise ActiveRecord::RecordNotFound do
+      User.active.find(users(:inactive_user).id)
+    end
+    assert_raise ActiveRecord::RecordNotFound do
+      User.active.find(users(:suspended_user).id)
+    end
+    assert_raise ActiveRecord::RecordNotFound do
+      User.active.find(users(:deleted_user).id)
+    end
+  end
+
+  def test_public
+    assert_equal 11, User.public.count
+    assert_raise ActiveRecord::RecordNotFound do
+      User.public.find(users(:normal_user).id)
+    end
+  end
+
+  def test_languages
+    user = users(:normal_user)
+    assert_equal [ "en" ], user.languages
+    user.languages = [ "de", "fr", "en" ]
+    assert_equal [ "de", "fr", "en" ], user.languages
+    user.languages = [ "fr", "de", "sl" ]
+    assert_equal "de", user.preferred_language
+    assert_equal "de", user.preferred_language_from(["en", "sl", "de", "es"])
+  end
+
+  def test_visible?
+    assert_equal true, users(:inactive_user).visible?
+    assert_equal true, users(:normal_user).visible?
+    assert_equal true, users(:confirmed_user).visible?
+    assert_equal false, users(:suspended_user).visible?
+    assert_equal false, users(:deleted_user).visible?
+  end
+
+  def test_active?
+    assert_equal false, users(:inactive_user).active?
+    assert_equal true, users(:normal_user).active?
+    assert_equal true, users(:confirmed_user).active?
+    assert_equal false, users(:suspended_user).active?
+    assert_equal false, users(:deleted_user).active?
+  end
+
+  def test_moderator?
+    assert_equal false, users(:normal_user).moderator?
+    assert_equal true, users(:moderator_user).moderator?
+  end
+
+  def test_administrator?
+    assert_equal false, users(:normal_user).administrator?
+    assert_equal true, users(:administrator_user).administrator?
+  end
+
+  def test_has_role?
+    assert_equal false, users(:normal_user).has_role?("administrator")
+    assert_equal false, users(:normal_user).has_role?("moderator")
+    assert_equal true, users(:administrator_user).has_role?("administrator")
+    assert_equal true, users(:moderator_user).has_role?("moderator")
+  end
+
+  def test_delete
+    user = users(:normal_user)
+    user.delete
+    assert_equal "user_#{user.id}", user.display_name
+    assert_blank user.description
+    assert_equal nil, user.home_lat
+    assert_equal nil, user.home_lon
+    assert_equal false, user.image.file?
+    assert_equal "deleted", user.status
+    assert_equal false, user.visible?
+    assert_equal false, user.active?
+  end
 end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/._History.txt b/vendor/gems/composite_primary_keys-2.2.2/._History.txt
deleted file mode 100644 (file)
index bcaac08..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/._History.txt and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/._Manifest.txt b/vendor/gems/composite_primary_keys-2.2.2/._Manifest.txt
deleted file mode 100644 (file)
index 43f288b..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/._Manifest.txt and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/._README_DB2.txt b/vendor/gems/composite_primary_keys-2.2.2/._README_DB2.txt
deleted file mode 100644 (file)
index 81d4b8f..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/._README_DB2.txt and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/.specification b/vendor/gems/composite_primary_keys-2.2.2/.specification
deleted file mode 100644 (file)
index a739771..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
---- !ruby/object:Gem::Specification 
-name: composite_primary_keys
-version: !ruby/object:Gem::Version 
-  version: 2.2.2
-platform: ruby
-authors: 
-- Dr Nic Williams
-autorequire: 
-bindir: bin
-cert_chain: []
-
-date: 2009-01-24 00:00:00 +00:00
-default_executable: 
-dependencies: 
-- !ruby/object:Gem::Dependency 
-  name: activerecord
-  type: :runtime
-  version_requirement: 
-  version_requirements: !ruby/object:Gem::Requirement 
-    requirements: 
-    - - ">="
-      - !ruby/object:Gem::Version 
-        version: 2.2.0
-    version: 
-- !ruby/object:Gem::Dependency 
-  name: hoe
-  type: :development
-  version_requirement: 
-  version_requirements: !ruby/object:Gem::Requirement 
-    requirements: 
-    - - ">="
-      - !ruby/object:Gem::Version 
-        version: 1.8.3
-    version: 
-description: Composite key support for ActiveRecords
-email: drnicwilliams@gmail.com
-executables: []
-
-extensions: []
-
-extra_rdoc_files: 
-- History.txt
-- Manifest.txt
-- README.txt
-- README_DB2.txt
-- test/README_tests.txt
-- website/index.txt
-- website/version-raw.txt
-- website/version.txt
-files: 
-- History.txt
-- Manifest.txt
-- README.txt
-- README_DB2.txt
-- Rakefile
-- init.rb
-- install.rb
-- lib/adapter_helper/base.rb
-- lib/adapter_helper/mysql.rb
-- lib/adapter_helper/oracle.rb
-- lib/adapter_helper/postgresql.rb
-- lib/adapter_helper/sqlite3.rb
-- lib/composite_primary_keys.rb
-- lib/composite_primary_keys/association_preload.rb
-- lib/composite_primary_keys/associations.rb
-- lib/composite_primary_keys/attribute_methods.rb
-- lib/composite_primary_keys/base.rb
-- lib/composite_primary_keys/calculations.rb
-- lib/composite_primary_keys/composite_arrays.rb
-- lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb
-- lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
-- lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
-- lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb
-- lib/composite_primary_keys/fixtures.rb
-- lib/composite_primary_keys/migration.rb
-- lib/composite_primary_keys/reflection.rb
-- lib/composite_primary_keys/version.rb
-- loader.rb
-- local/database_connections.rb.sample
-- local/paths.rb.sample
-- local/tasks.rb.sample
-- scripts/console.rb
-- scripts/txt2html
-- scripts/txt2js
-- tasks/activerecord_selection.rake
-- tasks/databases.rake
-- tasks/databases/mysql.rake
-- tasks/databases/oracle.rake
-- tasks/databases/postgresql.rake
-- tasks/databases/sqlite3.rake
-- tasks/deployment.rake
-- tasks/local_setup.rake
-- tasks/website.rake
-- test/README_tests.txt
-- test/abstract_unit.rb
-- test/connections/native_ibm_db/connection.rb
-- test/connections/native_mysql/connection.rb
-- test/connections/native_oracle/connection.rb
-- test/connections/native_postgresql/connection.rb
-- test/connections/native_sqlite/connection.rb
-- test/fixtures/article.rb
-- test/fixtures/articles.yml
-- test/fixtures/comment.rb
-- test/fixtures/comments.yml
-- test/fixtures/db_definitions/db2-create-tables.sql
-- test/fixtures/db_definitions/db2-drop-tables.sql
-- test/fixtures/db_definitions/mysql.sql
-- test/fixtures/db_definitions/oracle.drop.sql
-- test/fixtures/db_definitions/oracle.sql
-- test/fixtures/db_definitions/postgresql.sql
-- test/fixtures/db_definitions/sqlite.sql
-- test/fixtures/department.rb
-- test/fixtures/departments.yml
-- test/fixtures/employee.rb
-- test/fixtures/employees.yml
-- test/fixtures/group.rb
-- test/fixtures/groups.yml
-- test/fixtures/hack.rb
-- test/fixtures/hacks.yml
-- test/fixtures/membership.rb
-- test/fixtures/membership_status.rb
-- test/fixtures/membership_statuses.yml
-- test/fixtures/memberships.yml
-- test/fixtures/product.rb
-- test/fixtures/product_tariff.rb
-- test/fixtures/product_tariffs.yml
-- test/fixtures/products.yml
-- test/fixtures/reading.rb
-- test/fixtures/readings.yml
-- test/fixtures/reference_code.rb
-- test/fixtures/reference_codes.yml
-- test/fixtures/reference_type.rb
-- test/fixtures/reference_types.yml
-- test/fixtures/street.rb
-- test/fixtures/streets.yml
-- test/fixtures/suburb.rb
-- test/fixtures/suburbs.yml
-- test/fixtures/tariff.rb
-- test/fixtures/tariffs.yml
-- test/fixtures/user.rb
-- test/fixtures/users.yml
-- test/hash_tricks.rb
-- test/plugins/pagination.rb
-- test/plugins/pagination_helper.rb
-- test/test_associations.rb
-- test/test_attribute_methods.rb
-- test/test_attributes.rb
-- test/test_clone.rb
-- test/test_composite_arrays.rb
-- test/test_create.rb
-- test/test_delete.rb
-- test/test_dummy.rb
-- test/test_exists.rb
-- test/test_find.rb
-- test/test_ids.rb
-- test/test_miscellaneous.rb
-- test/test_pagination.rb
-- test/test_polymorphic.rb
-- test/test_santiago.rb
-- test/test_tutorial_examle.rb
-- test/test_update.rb
-- tmp/test.db
-- website/index.html
-- website/index.txt
-- website/javascripts/rounded_corners_lite.inc.js
-- website/stylesheets/screen.css
-- website/template.js
-- website/template.rhtml
-- website/version-raw.js
-- website/version-raw.txt
-- website/version.js
-- website/version.txt
-has_rdoc: true
-homepage: http://compositekeys.rubyforge.org
-post_install_message: 
-rdoc_options: 
-- --main
-- README.txt
-require_paths: 
-- lib
-required_ruby_version: !ruby/object:Gem::Requirement 
-  requirements: 
-  - - ">="
-    - !ruby/object:Gem::Version 
-      version: "0"
-  version: 
-required_rubygems_version: !ruby/object:Gem::Requirement 
-  requirements: 
-  - - ">="
-    - !ruby/object:Gem::Version 
-      version: "0"
-  version: 
-requirements: []
-
-rubyforge_project: compositekeys
-rubygems_version: 1.3.1
-signing_key: 
-specification_version: 2
-summary: Composite key support for ActiveRecords
-test_files: 
-- test/test_associations.rb
-- test/test_attribute_methods.rb
-- test/test_attributes.rb
-- test/test_clone.rb
-- test/test_composite_arrays.rb
-- test/test_create.rb
-- test/test_delete.rb
-- test/test_dummy.rb
-- test/test_exists.rb
-- test/test_find.rb
-- test/test_ids.rb
-- test/test_miscellaneous.rb
-- test/test_pagination.rb
-- test/test_polymorphic.rb
-- test/test_santiago.rb
-- test/test_tutorial_examle.rb
-- test/test_update.rb
diff --git a/vendor/gems/composite_primary_keys-2.2.2/History.txt b/vendor/gems/composite_primary_keys-2.2.2/History.txt
deleted file mode 100644 (file)
index c87aab3..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-== 2.2.1 2009-01-21
-
-* fix ActiveRecord#exists? to work when passing conditions instead of ids
-
-== 2.2.0 2008-10-29
-
-* Rails 2.2.0 compatibility
-
-== 1.1.0 2008-10-29
-
-* fixes to get cpk working for Rails 2.1.2
-
-== 1.0.10 2008-10-22
-
-* add composite key where clause creator method [timurv]
-
-== 1.0.9 2008-09-08
-
-* fix postgres tests
-* fix for delete_records when has_many association has composite keys [darxriggs]
-* more consistent table/column name quoting [pbrant]
-
-== 1.0.8 2008-08-27
-
-* fix has_many :through for non composite models [thx rcarver]
-
-== 1.0.7 2008-08-12
-
-* fix for the last fix -- when has_many is composite and belongs_to is single
-
-== 1.0.6 2008-08-06
-
-* fix associations create
-
-== 1.0.5 2008-07-25
-
-* fix for calculations with a group by clause [thx Sirius Black]
-
-== 1.0.4 2008-07-15
-
-* support for oracle_enhanced adapter [thx Raimonds Simanovskis] 
-
-== 1.0.3 2008-07-13
-
-* more fixes and tests for has many through [thx Menno van der Sman]
-
-== 1.0.2 2008-06-07
-
-* fix for has many through when through association has composite keys
-
-== 1.0.1 2008-06-06
-
-* Oracle fixes
-
-== 1.0.0 2008-06-05
-
-* Support for Rails 2.1
-
-== 0.9.93 2008-06-01
-
-* set fixed dependency on activerecord 2.0.2
-
-== 0.9.92 2008-02-22
-
-* Support for has_and_belongs_to_many
-
-== 0.9.91 2008-01-27
-
-* Incremented activerecord dependency to 2.0.2 [thx emmanuel.pirsch]
-
-== 0.9.90 2008-01-27
-
-* Trial release for rails/activerecord 2.0.2 supported
-
-== 0.9.1 2007-10-28
-
-* Migrations fix - allow :primary_key => [:name] to work [no unit test] [thx Shugo Maeda]
-
-== 0.9.0 2007-09-28
-
-* Added support for polymorphs [thx nerdrew]
-* init.rb file so gem can be installed as a plugin for Rails [thx nerdrew]
-* Added ibm_db support [thx K Venkatasubramaniyan]
-* Support for cleaning dependents [thx K Venkatasubramaniyan]
-* Rafactored db rake tasks into namespaces
-* Added namespaced tests (e.g. mysql:test for test_mysql)
-
-== 0.8.6 / 2007-6-12
-
-* 1 emergency fix due to Rails Core change
-  * Rails v7004 removed #quote; fixed with connection.quote_column_name [thx nerdrew]
-
-== 0.8.5 / 2007-6-5
-
-* 1 change due to Rails Core change
-  * Can no longer use RAILS_CONNECTION_ADAPTERS from Rails core
-* 7 dev improvement:
-  * Changed History.txt syntax to rdoc format
-  * Added deploy tasks
-  * Removed CHANGELOG + migrated into History.txt
-  * Changed PKG_NAME -> GEM_NAME in Rakefile
-  * Renamed README -> README.txt for :publish_docs task
-  * Added :check_version task
-  * VER => VERS in rakefile
-* 1 website improvement:
-  * website/index.txt includes link to "8 steps to fix other ppls code"
-
-== 0.8.4 / 2007-5-3
-
-* 1 bugfix
-  * Corrected ids_list => ids in the exception message. That'll teach me for not adding unit tests before fixing bugs. 
-
-== 0.8.3 / 2007-5-3
-
-* 1 bugfix
-  * Explicit reference to ::ActiveRecord::RecordNotFound
-* 1 website addition:
-  * Added routing help [Pete Sumskas]
-
-== 0.8.2 / 2007-4-11
-
-* 1 major enhancement:
-  * Oracle unit tests!! [Darrin Holst]
-  * And they work too
-
-== 0.8.1 / 2007-4-10
-
-* 1 bug fix:
-  * Fixed the distinct(count) for oracle (removed 'as')
-
-== 0.8.0 / 2007-4-6
-
-* 1 major enhancement:
-  * Support for calcualtions on associations
-* 2 new DB supported:
-  * Tests run on sqlite
-  * Tests run on postgresql
-* History.txt to keep track of changes like these
-* Using Hoe for Rakefile
-* Website generator rake tasks
-
-== 0.3.3
-* id=
-* create now work
-
-== 0.1.4
-* it was important that #{primary_key} for composites --> 'key1,key2' and not 'key1key2' so created PrimaryKeys class
-
-== 0.0.1 
-* Initial version
-* set_primary_keys(*keys) is the activation class method to transform an ActiveRecord into a composite primary key AR
-* find(*ids) supports the passing of 
-  * id sets: Foo.find(2,1), 
-  * lists of id sets: Foo.find([2,1], [7,3], [8,12]), 
-  * and even stringified versions of the above:
-  * Foo.find '2,1' or Foo.find '2,1;7,3'
diff --git a/vendor/gems/composite_primary_keys-2.2.2/Manifest.txt b/vendor/gems/composite_primary_keys-2.2.2/Manifest.txt
deleted file mode 100644 (file)
index 733fd99..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-History.txt
-Manifest.txt
-README.txt
-README_DB2.txt
-Rakefile
-init.rb
-install.rb
-lib/adapter_helper/base.rb
-lib/adapter_helper/mysql.rb
-lib/adapter_helper/oracle.rb
-lib/adapter_helper/postgresql.rb
-lib/adapter_helper/sqlite3.rb
-lib/composite_primary_keys.rb
-lib/composite_primary_keys/association_preload.rb
-lib/composite_primary_keys/associations.rb
-lib/composite_primary_keys/attribute_methods.rb
-lib/composite_primary_keys/base.rb
-lib/composite_primary_keys/calculations.rb
-lib/composite_primary_keys/composite_arrays.rb
-lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb
-lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
-lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
-lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb
-lib/composite_primary_keys/fixtures.rb
-lib/composite_primary_keys/migration.rb
-lib/composite_primary_keys/reflection.rb
-lib/composite_primary_keys/version.rb
-loader.rb
-local/database_connections.rb.sample
-local/paths.rb.sample
-local/tasks.rb.sample
-scripts/console.rb
-scripts/txt2html
-scripts/txt2js
-tasks/activerecord_selection.rake
-tasks/databases.rake
-tasks/databases/mysql.rake
-tasks/databases/oracle.rake
-tasks/databases/postgresql.rake
-tasks/databases/sqlite3.rake
-tasks/deployment.rake
-tasks/local_setup.rake
-tasks/website.rake
-test/README_tests.txt
-test/abstract_unit.rb
-test/connections/native_ibm_db/connection.rb
-test/connections/native_mysql/connection.rb
-test/connections/native_oracle/connection.rb
-test/connections/native_postgresql/connection.rb
-test/connections/native_sqlite/connection.rb
-test/fixtures/article.rb
-test/fixtures/articles.yml
-test/fixtures/comment.rb
-test/fixtures/comments.yml
-test/fixtures/db_definitions/db2-create-tables.sql
-test/fixtures/db_definitions/db2-drop-tables.sql
-test/fixtures/db_definitions/mysql.sql
-test/fixtures/db_definitions/oracle.drop.sql
-test/fixtures/db_definitions/oracle.sql
-test/fixtures/db_definitions/postgresql.sql
-test/fixtures/db_definitions/sqlite.sql
-test/fixtures/department.rb
-test/fixtures/departments.yml
-test/fixtures/employee.rb
-test/fixtures/employees.yml
-test/fixtures/group.rb
-test/fixtures/groups.yml
-test/fixtures/hack.rb
-test/fixtures/hacks.yml
-test/fixtures/membership.rb
-test/fixtures/membership_status.rb
-test/fixtures/membership_statuses.yml
-test/fixtures/memberships.yml
-test/fixtures/product.rb
-test/fixtures/product_tariff.rb
-test/fixtures/product_tariffs.yml
-test/fixtures/products.yml
-test/fixtures/reading.rb
-test/fixtures/readings.yml
-test/fixtures/reference_code.rb
-test/fixtures/reference_codes.yml
-test/fixtures/reference_type.rb
-test/fixtures/reference_types.yml
-test/fixtures/street.rb
-test/fixtures/streets.yml
-test/fixtures/suburb.rb
-test/fixtures/suburbs.yml
-test/fixtures/tariff.rb
-test/fixtures/tariffs.yml
-test/fixtures/user.rb
-test/fixtures/users.yml
-test/hash_tricks.rb
-test/plugins/pagination.rb
-test/plugins/pagination_helper.rb
-test/test_associations.rb
-test/test_attribute_methods.rb
-test/test_attributes.rb
-test/test_clone.rb
-test/test_composite_arrays.rb
-test/test_create.rb
-test/test_delete.rb
-test/test_dummy.rb
-test/test_exists.rb
-test/test_find.rb
-test/test_ids.rb
-test/test_miscellaneous.rb
-test/test_pagination.rb
-test/test_polymorphic.rb
-test/test_santiago.rb
-test/test_tutorial_examle.rb
-test/test_update.rb
-tmp/test.db
-website/index.html
-website/index.txt
-website/javascripts/rounded_corners_lite.inc.js
-website/stylesheets/screen.css
-website/template.js
-website/template.rhtml
-website/version-raw.js
-website/version-raw.txt
-website/version.js
-website/version.txt
diff --git a/vendor/gems/composite_primary_keys-2.2.2/README.txt b/vendor/gems/composite_primary_keys-2.2.2/README.txt
deleted file mode 100644 (file)
index b0d8c12..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-= Composite Primary Keys for ActiveRecords
-
-== Summary
-
-ActiveRecords/Rails famously doesn't support composite primary keys. 
-This RubyGem extends the activerecord gem to provide CPK support.
-
-== Installation
-
-    gem install composite_primary_keys
-    
-== Usage
-  
-    require 'composite_primary_keys'
-    class ProductVariation
-      set_primary_keys :product_id, :variation_seq
-    end
-    
-    pv = ProductVariation.find(345, 12)
-    
-It even supports composite foreign keys for associations.
-
-See http://compositekeys.rubyforge.org for more.
-
-== Running Tests
-
-See test/README.tests.txt
-
-== Url
-
-http://compositekeys.rubyforge.org
-
-== Questions, Discussion and Contributions
-
-http://groups.google.com/compositekeys
-
-== Author
-
-Written by Dr Nic Williams, drnicwilliams@gmail
-Contributions by many!
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/README_DB2.txt b/vendor/gems/composite_primary_keys-2.2.2/README_DB2.txt
deleted file mode 100644 (file)
index b69505f..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Composite Primary key support for db2 
-
-== Driver Support ==
-
-DB2 support requires the IBM_DB driver provided by http://rubyforge.org/projects/rubyibm/
-project. Install using gem install ibm_db. Tested against version 0.60 of the driver.
-This rubyforge project appears to be permenant location for the IBM adapter.
-Older versions of the driver available from IBM Alphaworks will not work. 
-
-== Driver Bug and workaround provided as part of this plugin ==
-
-Unlike the basic quote routine available for Rails AR, the DB2 adapter's quote
-method doesn't return " column_name = 1 " when string values (integers in string type variable) 
-are passed for quoting numeric column. Rather it returns "column_name = '1'. 
-DB2 doesn't accept single quoting numeric columns in SQL. Currently, as part of 
-this plugin a fix is provided for the DB2 adapter since this plugin does 
-pass string values like this. Perhaps a patch should be sent to the DB2 adapter
-project for a permanant fix.
-
-== Database Setup ==
-
-Database must be manually created using a separate command. Read the rake task
-for creating tables and change the db name, user and passwords accordingly.
-
-== Tested Database Server version ==
-
-This is tested against DB2 v9.1 in Ubuntu Feisty Fawn (7.04)
-
-== Tested Database Client version ==
-
-This is tested against DB2 v9.1 in Ubuntu Feisty Fawn (7.04)
-
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/Rakefile b/vendor/gems/composite_primary_keys-2.2.2/Rakefile
deleted file mode 100644 (file)
index e5bebdb..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-require 'rubygems'
-require 'rake'
-require 'rake/clean'
-require 'rake/testtask'
-require 'rake/rdoctask'
-require 'rake/packagetask'
-require 'rake/gempackagetask'
-require 'rake/contrib/rubyforgepublisher'
-require 'fileutils'
-require 'hoe'
-include FileUtils
-require File.join(File.dirname(__FILE__), 'lib', 'composite_primary_keys', 'version')
-
-AUTHOR = "Dr Nic Williams"
-EMAIL = "drnicwilliams@gmail.com"
-DESCRIPTION = "Composite key support for ActiveRecords"
-GEM_NAME = "composite_primary_keys" # what ppl will type to install your gem
-if File.exists?("~/.rubyforge/user-config.yml")
-  # TODO this should prob go in a local/ file
-  config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
-  RUBYFORGE_USERNAME = config["username"]
-end
-RUBYFORGE_PROJECT = "compositekeys"
-HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
-
-REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
-VERS = ENV['VERSION'] || (CompositePrimaryKeys::VERSION::STRING + (REV ? ".#{REV}" : ""))
-CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','log/**/*','**/.DS_Store', '.project']
-RDOC_OPTS = ['--quiet', '--title', "newgem documentation",
-    "--opname", "index.html",
-    "--line-numbers", 
-    "--main", "README",
-    "--inline-source"]
-
-class Hoe
-  def extra_deps 
-    @extra_deps.reject { |x| Array(x).first == 'hoe' } 
-  end 
-end
-
-# Generate all the Rake tasks
-# Run 'rake -T' to see list of generated tasks (from gem root directory)
-hoe = Hoe.new(GEM_NAME, VERS) do |p|
-  p.author = AUTHOR 
-  p.description = DESCRIPTION
-  p.email = EMAIL
-  p.summary = DESCRIPTION
-  p.url = HOMEPATH
-  p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
-  p.test_globs = ["test/**/test*.rb"]
-  p.clean_globs |= CLEAN  #An array of file patterns to delete on clean.
-
-  # == Optional
-  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
-  p.extra_deps = [['activerecord', '>= 2.2.0']]  #An array of rubygem dependencies.
-  #p.spec_extras    - A hash of extra values to set in the gemspec.
-end
-
-CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")
-PATH    = RUBYFORGE_PROJECT
-hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
-
-PROJECT_ROOT = File.expand_path(".")
-
-require 'loader'
diff --git a/vendor/gems/composite_primary_keys-2.2.2/init.rb b/vendor/gems/composite_primary_keys-2.2.2/init.rb
deleted file mode 100644 (file)
index 7ae5e5d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Include hook code here
-require_dependency 'composite_primary_keys'
diff --git a/vendor/gems/composite_primary_keys-2.2.2/install.rb b/vendor/gems/composite_primary_keys-2.2.2/install.rb
deleted file mode 100644 (file)
index 7d021ce..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'rbconfig'
-require 'find'
-require 'ftools'
-
-include Config
-
-# this was adapted from rdoc's install.rb by ways of Log4r
-
-$sitedir = CONFIG["sitelibdir"]
-unless $sitedir
-  version = CONFIG["MAJOR"] + "." + CONFIG["MINOR"]
-  $libdir = File.join(CONFIG["libdir"], "ruby", version)
-  $sitedir = $:.find {|x| x =~ /site_ruby/ }
-  if !$sitedir
-    $sitedir = File.join($libdir, "site_ruby")
-  elsif $sitedir !~ Regexp.quote(version)
-    $sitedir = File.join($sitedir, version)
-  end
-end
-
-# the acual gruntwork
-Dir.chdir("lib")
-
-Find.find("composite_primary_keys", "composite_primary_keys.rb") { |f|
-  if f[-3..-1] == ".rb"
-    File::install(f, File.join($sitedir, *f.split(/\//)), 0644, true)
-  else
-    File::makedirs(File.join($sitedir, *f.split(/\//)))
-  end
-}
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/._composite_primary_keys.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/._composite_primary_keys.rb
deleted file mode 100644 (file)
index 9c201be..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/lib/._composite_primary_keys.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/._base.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/._base.rb
deleted file mode 100644 (file)
index 02f57fd..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/._base.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/base.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/base.rb
deleted file mode 100644 (file)
index 36ed05a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-module AdapterHelper
-  class Base
-    class << self
-      attr_accessor :adapter
-
-      def load_connection_from_env(adapter)
-        self.adapter = adapter
-        unless ENV['cpk_adapters']
-          puts error_msg_setup_helper
-          exit
-        end
-
-        ActiveRecord::Base.configurations = YAML.load(ENV['cpk_adapters'])
-        unless spec = ActiveRecord::Base.configurations[adapter]
-          puts error_msg_adapter_helper
-          exit
-        end
-        spec[:adapter] = adapter
-        spec
-      end
-    
-      def error_msg_setup_helper
-        <<-EOS
-Setup Helper:
-  CPK now has a place for your individual testing configuration.
-  That is, instead of hardcoding it in the Rakefile and test/connections files,
-  there is now a local/database_connections.rb file that is NOT in the
-  repository. Your personal DB information (username, password etc) can
-  be stored here without making it difficult to submit patches etc.
-
-Installation:
-  i)   cp locals/database_connections.rb.sample locals/database_connections.rb
-  ii)  For #{adapter} connection details see "Adapter Setup Helper" below.
-  iii) Rerun this task
-  
-#{error_msg_adapter_helper}
-  
-Current ENV:
-  #{ENV.inspect}
-        EOS
-      end
-        
-      def error_msg_adapter_helper
-        <<-EOS
-Adapter Setup Helper:
-  To run #{adapter} tests, you need to setup your #{adapter} connections.
-  In your local/database_connections.rb file, within the ENV['cpk_adapter'] hash, add:
-      "#{adapter}" => { adapter settings }
-
-  That is, it will look like:
-    ENV['cpk_adapters'] = {
-      "#{adapter}" => {
-        :adapter  => "#{adapter}",
-        :username => "root",
-        :password => "root",
-        # ...
-      }
-    }.to_yaml
-        EOS
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/mysql.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/mysql.rb
deleted file mode 100644 (file)
index 8762e1d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-require File.join(File.dirname(__FILE__), 'base')
-
-module AdapterHelper
-  class MySQL < Base
-    class << self
-      def load_connection_from_env
-        spec = super('mysql')
-        spec[:database] ||= 'composite_primary_keys_unittest'
-        spec
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/oracle.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/oracle.rb
deleted file mode 100644 (file)
index 76a9d19..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require File.join(File.dirname(__FILE__), 'base')
-
-module AdapterHelper
-  class Oracle < Base
-    class << self
-      def load_connection_from_env
-        spec = super('oracle')
-        spec
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/postgresql.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/postgresql.rb
deleted file mode 100644 (file)
index ea2c4be..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-require File.join(File.dirname(__FILE__), 'base')
-
-module AdapterHelper
-  class Postgresql < Base
-    class << self
-      def load_connection_from_env
-        spec = super('postgresql')
-        spec[:database] ||= 'composite_primary_keys_unittest'
-        spec
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/sqlite3.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/sqlite3.rb
deleted file mode 100644 (file)
index 7a45d9f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-require File.join(File.dirname(__FILE__), 'base')
-
-module AdapterHelper
-  class Sqlite3 < Base
-    class << self
-      def load_connection_from_env
-        spec = super('sqlite3')
-        spec[:dbfile] ||= "tmp/test.db"
-        spec
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._associations.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._associations.rb
deleted file mode 100644 (file)
index c391b15..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._associations.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._base.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._base.rb
deleted file mode 100644 (file)
index 6424d21..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._base.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._version.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._version.rb
deleted file mode 100644 (file)
index fb7cea4..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/._version.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/association_preload.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/association_preload.rb
deleted file mode 100644 (file)
index 56b2b9c..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-module CompositePrimaryKeys
-  module ActiveRecord
-    module AssociationPreload
-      def self.append_features(base)
-        super
-        base.send(:extend, ClassMethods)
-      end
-
-      # Composite key versions of Association functions
-      module ClassMethods
-        def preload_has_and_belongs_to_many_association(records, reflection, preload_options={})
-          table_name = reflection.klass.quoted_table_name
-          id_to_record_map, ids = construct_id_map_for_composite(records)
-          records.each {|record| record.send(reflection.name).loaded}
-          options = reflection.options
-
-          if composite?
-            primary_key = reflection.primary_key_name.to_s.split(CompositePrimaryKeys::ID_SEP)
-            where = (primary_key * ids.size).in_groups_of(primary_key.size).map do |keys|
-              "(" + keys.map{|key| "t0.#{connection.quote_column_name(key)} = ?"}.join(" AND ") + ")"
-            end.join(" OR ")
-
-            conditions = [where, ids].flatten
-            joins = "INNER JOIN #{connection.quote_table_name options[:join_table]} t0 ON #{full_composite_join_clause(reflection, reflection.klass.table_name, reflection.klass.primary_key, 't0', reflection.association_foreign_key)}"
-            parent_primary_keys = reflection.primary_key_name.to_s.split(CompositePrimaryKeys::ID_SEP).map{|k| "t0.#{connection.quote_column_name(k)}"}
-            parent_record_id = connection.concat(*parent_primary_keys.zip(["','"] * (parent_primary_keys.size - 1)).flatten.compact)
-          else
-            conditions = ["t0.#{connection.quote_column_name(reflection.primary_key_name)}  IN (?)", ids]
-            joins = "INNER JOIN #{connection.quote_table_name options[:join_table]} t0 ON #{reflection.klass.quoted_table_name}.#{connection.quote_column_name(reflection.klass.primary_key)} = t0.#{connection.quote_column_name(reflection.association_foreign_key)})"
-            parent_record_id = reflection.primary_key_name
-          end
-
-          conditions.first << append_conditions(reflection, preload_options)
-
-          associated_records = reflection.klass.find(:all,
-            :conditions => conditions,
-            :include    => options[:include],
-            :joins      => joins,
-            :select     => "#{options[:select] || table_name+'.*'}, #{parent_record_id} as parent_record_id_",
-            :order      => options[:order])
-
-          set_association_collection_records(id_to_record_map, reflection.name, associated_records, 'parent_record_id_')
-        end
-
-        def preload_has_many_association(records, reflection, preload_options={})
-          id_to_record_map, ids = construct_id_map_for_composite(records)
-          records.each {|record| record.send(reflection.name).loaded}
-          options = reflection.options
-
-          if options[:through]
-            through_records = preload_through_records(records, reflection, options[:through])
-            through_reflection = reflections[options[:through]]
-            through_primary_key = through_reflection.primary_key_name
-
-            unless through_records.empty?
-              source = reflection.source_reflection.name
-              #add conditions from reflection!
-              through_records.first.class.preload_associations(through_records, source, reflection.options)
-              through_records.each do |through_record|
-                key = through_primary_key.to_s.split(CompositePrimaryKeys::ID_SEP).map{|k| through_record.send(k)}.join(CompositePrimaryKeys::ID_SEP)
-                add_preloaded_records_to_collection(id_to_record_map[key], reflection.name, through_record.send(source))
-              end
-            end
-          else
-            associated_records = find_associated_records(ids, reflection, preload_options)
-            set_association_collection_records(id_to_record_map, reflection.name, associated_records, reflection.primary_key_name.to_s.split(CompositePrimaryKeys::ID_SEP))
-          end
-        end
-
-        def preload_through_records(records, reflection, through_association)
-          through_reflection = reflections[through_association]
-          through_primary_key = through_reflection.primary_key_name
-
-          if reflection.options[:source_type]
-            interface = reflection.source_reflection.options[:foreign_type]
-            preload_options = {:conditions => ["#{connection.quote_column_name interface} = ?", reflection.options[:source_type]]}
-
-            records.compact!
-            records.first.class.preload_associations(records, through_association, preload_options)
-
-            # Dont cache the association - we would only be caching a subset
-            through_records = []
-            records.each do |record|
-              proxy = record.send(through_association)
-
-              if proxy.respond_to?(:target)
-                through_records << proxy.target
-                proxy.reset
-              else # this is a has_one :through reflection
-                through_records << proxy if proxy
-              end
-            end
-            through_records.flatten!
-          else
-            records.first.class.preload_associations(records, through_association)
-            through_records = records.map {|record| record.send(through_association)}.flatten
-          end
-
-          through_records.compact!
-          through_records
-        end
-
-        def preload_belongs_to_association(records, reflection, preload_options={})
-          options = reflection.options
-          primary_key_name = reflection.primary_key_name.to_s.split(CompositePrimaryKeys::ID_SEP)
-
-          if options[:polymorphic]
-            raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-          else
-            # I need to keep the original ids for each record (as opposed to the stringified) so
-            # that they get properly converted for each db so the id_map ends up looking like:
-            #
-            # { '1,2' => {:id => [1,2], :records => [...records...]}}
-            id_map = {}
-
-            records.each do |record|
-              key = primary_key_name.map{|k| record.attributes[k]}
-              key_as_string = key.join(CompositePrimaryKeys::ID_SEP)
-
-              if key_as_string
-                mapped_records = (id_map[key_as_string] ||= {:id => key, :records => []})
-                mapped_records[:records] << record
-              end
-            end
-
-
-            klasses_and_ids = [[reflection.klass.name, id_map]]
-          end
-
-          klasses_and_ids.each do |klass_and_id|
-            klass_name, id_map = *klass_and_id
-            klass = klass_name.constantize
-            table_name = klass.quoted_table_name
-            connection = reflection.active_record.connection
-
-            if composite?
-              primary_key = klass.primary_key.to_s.split(CompositePrimaryKeys::ID_SEP)
-              ids = id_map.keys.uniq.map {|id| id_map[id][:id]}
-
-              where = (primary_key * ids.size).in_groups_of(primary_key.size).map do |keys|
-                 "(" + keys.map{|key| "#{table_name}.#{connection.quote_column_name(key)} = ?"}.join(" AND ") + ")"
-              end.join(" OR ")
-
-              conditions = [where, ids].flatten
-            else
-              conditions = ["#{table_name}.#{connection.quote_column_name(primary_key)} IN (?)", id_map.keys.uniq]
-            end
-
-            conditions.first << append_conditions(reflection, preload_options)
-
-            associated_records = klass.find(:all,
-              :conditions => conditions,
-              :include    => options[:include],
-              :select     => options[:select],
-              :joins      => options[:joins],
-              :order      => options[:order])
-
-            set_association_single_records(id_map, reflection.name, associated_records, primary_key)
-          end
-        end
-
-        def set_association_collection_records(id_to_record_map, reflection_name, associated_records, key)
-          associated_records.each do |associated_record|
-            associated_record_key = associated_record[key]
-            associated_record_key = associated_record_key.is_a?(Array) ? associated_record_key.join(CompositePrimaryKeys::ID_SEP) : associated_record_key.to_s
-            mapped_records = id_to_record_map[associated_record_key]
-            add_preloaded_records_to_collection(mapped_records, reflection_name, associated_record)
-          end
-        end
-
-        def set_association_single_records(id_to_record_map, reflection_name, associated_records, key)
-          seen_keys = {}
-          associated_records.each do |associated_record|
-            associated_record_key = associated_record[key]
-            associated_record_key = associated_record_key.is_a?(Array) ? associated_record_key.join(CompositePrimaryKeys::ID_SEP) : associated_record_key.to_s
-
-            #this is a has_one or belongs_to: there should only be one record.
-            #Unfortunately we can't (in portable way) ask the database for 'all records where foo_id in (x,y,z), but please
-            # only one row per distinct foo_id' so this where we enforce that
-            next if seen_keys[associated_record_key]
-            seen_keys[associated_record_key] = true
-            mapped_records = id_to_record_map[associated_record_key][:records]
-            mapped_records.each do |mapped_record|
-              mapped_record.send("set_#{reflection_name}_target", associated_record)
-            end
-          end
-        end
-
-        def find_associated_records(ids, reflection, preload_options)
-          options = reflection.options
-          table_name = reflection.klass.quoted_table_name
-
-          if interface = reflection.options[:as]
-            raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-          else
-            connection = reflection.active_record.connection
-            foreign_key = reflection.primary_key_name
-            conditions = ["#{table_name}.#{connection.quote_column_name(foreign_key)} IN (?)", ids]
-            
-            if composite?
-              foreign_keys = foreign_key.to_s.split(CompositePrimaryKeys::ID_SEP)
-            
-              where = (foreign_keys * ids.size).in_groups_of(foreign_keys.size).map do |keys|
-                "(" + keys.map{|key| "#{table_name}.#{connection.quote_column_name(key)} = ?"}.join(" AND ") + ")"
-              end.join(" OR ")
-
-              conditions = [where, ids].flatten
-            end
-          end
-
-          conditions.first << append_conditions(reflection, preload_options)
-
-          reflection.klass.find(:all,
-            :select     => (preload_options[:select] || options[:select] || "#{table_name}.*"),
-            :include    => preload_options[:include] || options[:include],
-            :conditions => conditions,
-            :joins      => options[:joins],
-            :group      => preload_options[:group] || options[:group],
-            :order      => preload_options[:order] || options[:order])
-        end        
-        
-        # Given a collection of ActiveRecord objects, constructs a Hash which maps
-        # the objects' IDs to the relevant objects. Returns a 2-tuple
-        # <tt>(id_to_record_map, ids)</tt> where +id_to_record_map+ is the Hash,
-        # and +ids+ is an Array of record IDs.
-        def construct_id_map_for_composite(records)
-          id_to_record_map = {}
-          ids = []
-          records.each do |record|
-            primary_key ||= record.class.primary_key
-            ids << record.id
-            mapped_records = (id_to_record_map[record.id.to_s] ||= [])
-            mapped_records << record
-          end
-          ids.uniq!
-          return id_to_record_map, ids
-        end
-        
-        def full_composite_join_clause(reflection, table1, full_keys1, table2, full_keys2)
-          connection = reflection.active_record.connection
-          full_keys1 = full_keys1.split(CompositePrimaryKeys::ID_SEP) if full_keys1.is_a?(String)
-          full_keys2 = full_keys2.split(CompositePrimaryKeys::ID_SEP) if full_keys2.is_a?(String)
-          where_clause = [full_keys1, full_keys2].transpose.map do |key_pair|
-            quoted1 = connection.quote_table_name(table1)
-            quoted2 = connection.quote_table_name(table2)
-            "#{quoted1}.#{connection.quote_column_name(key_pair.first)}=#{quoted2}.#{connection.quote_column_name(key_pair.last)}"
-          end.join(" AND ")
-          "(#{where_clause})"
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/associations.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/associations.rb
deleted file mode 100644 (file)
index 6b63664..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-module CompositePrimaryKeys
-  module ActiveRecord
-    module Associations
-      def self.append_features(base)
-        super
-        base.send(:extend, ClassMethods)
-      end
-
-      # Composite key versions of Association functions
-      module ClassMethods
-
-        def construct_counter_sql_with_included_associations(options, join_dependency)
-          scope = scope(:find)
-          sql = "SELECT COUNT(DISTINCT #{quoted_table_columns(primary_key)})"
-
-          # A (slower) workaround if we're using a backend, like sqlite, that doesn't support COUNT DISTINCT.
-          if !self.connection.supports_count_distinct?
-            sql = "SELECT COUNT(*) FROM (SELECT DISTINCT #{quoted_table_columns(primary_key)}"
-          end
-          
-          sql << " FROM #{quoted_table_name} "
-          sql << join_dependency.join_associations.collect{|join| join.association_join }.join
-
-          add_joins!(sql, options[:joins], scope)
-          add_conditions!(sql, options[:conditions], scope)
-          add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && ((scope && scope[:limit]) || options[:limit])
-
-          add_limit!(sql, options, scope) if using_limitable_reflections?(join_dependency.reflections)
-
-          if !self.connection.supports_count_distinct?
-            sql << ")"
-          end
-
-          return sanitize_sql(sql)
-        end
-
-        def construct_finder_sql_with_included_associations(options, join_dependency)
-          scope = scope(:find)
-          sql = "SELECT #{column_aliases(join_dependency)} FROM #{(scope && scope[:from]) || options[:from] || quoted_table_name} "
-          sql << join_dependency.join_associations.collect{|join| join.association_join }.join
-
-          add_joins!(sql, options[:joins], scope)
-          add_conditions!(sql, options[:conditions], scope)
-          add_limited_ids_condition!(sql, options, join_dependency) if !using_limitable_reflections?(join_dependency.reflections) && options[:limit]
-
-          sql << "ORDER BY #{options[:order]} " if options[:order]
-
-          add_limit!(sql, options, scope) if using_limitable_reflections?(join_dependency.reflections)
-
-          return sanitize_sql(sql)
-        end
-
-        def table_columns(columns)
-          columns.collect {|column| "#{self.quoted_table_name}.#{connection.quote_column_name(column)}"}
-        end
-
-        def quoted_table_columns(columns)
-          table_columns(columns).join(ID_SEP)
-        end
-
-      end
-
-    end
-  end
-end
-
-module ActiveRecord::Associations::ClassMethods
-  class JoinDependency
-    def construct_association(record, join, row)
-      case join.reflection.macro
-        when :has_many, :has_and_belongs_to_many
-          collection = record.send(join.reflection.name)
-          collection.loaded
-
-          join_aliased_primary_keys = join.active_record.composite? ?
-            join.aliased_primary_key : [join.aliased_primary_key]
-          return nil if
-            record.id.to_s != join.parent.record_id(row).to_s or not
-            join_aliased_primary_keys.select {|key| row[key].nil?}.blank?
-          association = join.instantiate(row)
-          collection.target.push(association) unless collection.target.include?(association)
-        when :has_one, :belongs_to
-          return if record.id.to_s != join.parent.record_id(row).to_s or
-                    [*join.aliased_primary_key].any? { |key| row[key].nil? }
-          association = join.instantiate(row)
-          record.send("set_#{join.reflection.name}_target", association)
-        else
-          raise ConfigurationError, "unknown macro: #{join.reflection.macro}"
-      end
-      return association
-    end
-
-    class JoinBase
-      def aliased_primary_key
-        active_record.composite? ?
-          primary_key.inject([]) {|aliased_keys, key| aliased_keys << "#{ aliased_prefix }_r#{aliased_keys.length}"} :
-          "#{ aliased_prefix }_r0"
-      end
-
-      def record_id(row)
-        active_record.composite? ?
-          aliased_primary_key.map {|key| row[key]}.to_composite_ids :
-          row[aliased_primary_key]
-      end
-
-      def column_names_with_alias
-        unless @column_names_with_alias
-          @column_names_with_alias = []
-          keys = active_record.composite? ? primary_key.map(&:to_s) : [primary_key]
-          (keys + (column_names - keys)).each_with_index do |column_name, i|
-            @column_names_with_alias << [column_name, "#{ aliased_prefix }_r#{ i }"]
-          end
-        end
-        return @column_names_with_alias
-      end
-    end
-
-    class JoinAssociation < JoinBase
-      alias single_association_join association_join
-      def association_join
-        reflection.active_record.composite? ? composite_association_join : single_association_join
-      end
-
-      def composite_association_join
-        join = case reflection.macro
-          when :has_and_belongs_to_many
-            " LEFT OUTER JOIN %s ON %s " % [
-              table_alias_for(options[:join_table], aliased_join_table_name),
-                composite_join_clause(
-                  full_keys(aliased_join_table_name, options[:foreign_key] || reflection.active_record.to_s.classify.foreign_key),
-                  full_keys(reflection.active_record.table_name, reflection.active_record.primary_key)
-                )
-              ] +
-             " LEFT OUTER JOIN %s ON %s " % [
-                table_name_and_alias,
-                composite_join_clause(
-                  full_keys(aliased_table_name, klass.primary_key),
-                  full_keys(aliased_join_table_name, options[:association_foreign_key] || klass.table_name.classify.foreign_key)
-                )
-              ]
-          when :has_many, :has_one
-            case
-              when reflection.macro == :has_many && reflection.options[:through]
-                through_conditions = through_reflection.options[:conditions] ? "AND #{interpolate_sql(sanitize_sql(through_reflection.options[:conditions]))}" : ''
-                if through_reflection.options[:as] # has_many :through against a polymorphic join
-                  raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-                else
-                  if source_reflection.macro == :has_many && source_reflection.options[:as]
-                    raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-                  else
-                    case source_reflection.macro
-                      when :belongs_to
-                        first_key  = primary_key
-                        second_key = options[:foreign_key] || klass.to_s.classify.foreign_key
-                      when :has_many
-                        first_key  = through_reflection.klass.to_s.classify.foreign_key
-                        second_key = options[:foreign_key] || primary_key
-                    end
-
-                    " LEFT OUTER JOIN %s ON %s "  % [
-                      table_alias_for(through_reflection.klass.table_name, aliased_join_table_name),
-                       composite_join_clause(
-                         full_keys(aliased_join_table_name, through_reflection.primary_key_name),
-                         full_keys(parent.aliased_table_name, parent.primary_key)
-                       )
-                     ] +
-                     " LEFT OUTER JOIN %s ON %s " % [
-                       table_name_and_alias,
-                       composite_join_clause(
-                         full_keys(aliased_table_name, first_key),
-                         full_keys(aliased_join_table_name, second_key)
-                       )
-                    ]
-                  end
-                end
-
-              when reflection.macro == :has_many && reflection.options[:as]
-                raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-              when reflection.macro == :has_one && reflection.options[:as]
-                raise AssociationNotSupported, "Polymorphic joins not supported for composite keys"
-              else
-                foreign_key = options[:foreign_key] || reflection.active_record.name.foreign_key
-                " LEFT OUTER JOIN %s ON %s " % [
-                  table_name_and_alias,
-                  composite_join_clause(
-                    full_keys(aliased_table_name, foreign_key),
-                    full_keys(parent.aliased_table_name, parent.primary_key)),
-                ]
-            end
-          when :belongs_to
-            " LEFT OUTER JOIN %s ON %s " % [
-               table_name_and_alias,
-               composite_join_clause(
-                 full_keys(aliased_table_name, reflection.klass.primary_key),
-                 full_keys(parent.aliased_table_name, options[:foreign_key] || klass.to_s.foreign_key)),
-              ]
-          else
-            ""
-        end || ''
-        join << %(AND %s.%s = %s ) % [
-          aliased_table_name,
-          reflection.active_record.connection.quote_column_name(reflection.active_record.inheritance_column),
-          klass.connection.quote(klass.name)] unless klass.descends_from_active_record?
-        join << "AND #{interpolate_sql(sanitize_sql(reflection.options[:conditions]))} " if reflection.options[:conditions]
-        join
-      end
-
-      def full_keys(table_name, keys)
-        connection = reflection.active_record.connection
-        quoted_table_name = connection.quote_table_name(table_name)
-        if keys.is_a?(Array) 
-          keys.collect {|key| "#{quoted_table_name}.#{connection.quote_column_name(key)}"}.join(CompositePrimaryKeys::ID_SEP) 
-        else
-          "#{quoted_table_name}.#{connection.quote_column_name(keys)}"
-        end
-      end
-
-      def composite_join_clause(full_keys1, full_keys2)
-        full_keys1 = full_keys1.split(CompositePrimaryKeys::ID_SEP) if full_keys1.is_a?(String)
-        full_keys2 = full_keys2.split(CompositePrimaryKeys::ID_SEP) if full_keys2.is_a?(String)
-        where_clause = [full_keys1, full_keys2].transpose.map do |key1, key2|
-          "#{key1}=#{key2}"
-        end.join(" AND ")
-        "(#{where_clause})"
-      end
-    end
-  end
-end
-
-module ActiveRecord::Associations
-  class AssociationProxy #:nodoc:
-
-    def composite_where_clause(full_keys, ids)
-      full_keys = full_keys.split(CompositePrimaryKeys::ID_SEP) if full_keys.is_a?(String)
-
-      if ids.is_a?(String)
-        ids = [[ids]]
-      elsif not ids.first.is_a?(Array) # if single comp key passed, turn into an array of 1
-        ids = [ids.to_composite_ids]
-      end
-
-      where_clause = ids.map do |id_set|
-        transposed = id_set.size == 1 ? [[full_keys, id_set.first]] : [full_keys, id_set].transpose
-        transposed.map do |full_key, id|
-          "#{full_key.to_s}=#{@reflection.klass.sanitize(id)}"
-        end.join(" AND ")
-      end.join(") OR (")
-
-      "(#{where_clause})"
-    end
-
-    def composite_join_clause(full_keys1, full_keys2)
-      full_keys1 = full_keys1.split(CompositePrimaryKeys::ID_SEP) if full_keys1.is_a?(String)
-      full_keys2 = full_keys2.split(CompositePrimaryKeys::ID_SEP) if full_keys2.is_a?(String)
-
-      where_clause = [full_keys1, full_keys2].transpose.map do |key1, key2|
-        "#{key1}=#{key2}"
-      end.join(" AND ")
-
-      "(#{where_clause})"
-    end
-
-    def full_composite_join_clause(table1, full_keys1, table2, full_keys2)
-      connection = @reflection.active_record.connection
-      full_keys1 = full_keys1.split(CompositePrimaryKeys::ID_SEP) if full_keys1.is_a?(String)
-      full_keys2 = full_keys2.split(CompositePrimaryKeys::ID_SEP) if full_keys2.is_a?(String)
-
-      quoted1 = connection.quote_table_name(table1)
-      quoted2 = connection.quote_table_name(table2)
-      
-      where_clause = [full_keys1, full_keys2].transpose.map do |key_pair|
-        "#{quoted1}.#{connection.quote_column_name(key_pair.first)}=#{quoted2}.#{connection.quote_column_name(key_pair.last)}"
-      end.join(" AND ")
-
-      "(#{where_clause})"
-    end
-
-    def full_keys(table_name, keys)
-      connection = @reflection.active_record.connection
-      quoted_table_name = connection.quote_table_name(table_name)
-      keys = keys.split(CompositePrimaryKeys::ID_SEP) if keys.is_a?(String)
-      if keys.is_a?(Array) 
-        keys.collect {|key| "#{quoted_table_name}.#{connection.quote_column_name(key)}"}.join(CompositePrimaryKeys::ID_SEP) 
-      else
-        "#{quoted_table_name}.#{connection.quote_column_name(keys)}"
-      end
-    end
-
-    def full_columns_equals(table_name, keys, quoted_ids)
-      connection = @reflection.active_record.connection
-      quoted_table_name = connection.quote_table_name(table_name)
-      if keys.is_a?(Symbol) or (keys.is_a?(String) and keys == keys.to_s.split(CompositePrimaryKeys::ID_SEP))
-        return "#{quoted_table_name}.#{connection.quote_column_name(keys)} = #{quoted_ids}"
-      end
-      keys = keys.split(CompositePrimaryKeys::ID_SEP) if keys.is_a?(String)
-      quoted_ids = quoted_ids.split(CompositePrimaryKeys::ID_SEP) if quoted_ids.is_a?(String)
-      keys_ids = [keys, quoted_ids].transpose
-      keys_ids.collect {|key, id| "(#{quoted_table_name}.#{connection.quote_column_name(key)} = #{id})"}.join(' AND ')
-    end 
-
-    def set_belongs_to_association_for(record)
-      if @reflection.options[:as]
-        record["#{@reflection.options[:as]}_id"]   = @owner.id unless @owner.new_record?
-        record["#{@reflection.options[:as]}_type"] = @owner.class.base_class.name.to_s
-      else
-        key_values = @reflection.primary_key_name.to_s.split(CompositePrimaryKeys::ID_SEP).zip([@owner.id].flatten)
-        key_values.each{|key, value| record[key] = value} unless @owner.new_record?
-      end
-    end
-  end
-
-  class HasAndBelongsToManyAssociation < AssociationCollection #:nodoc:
-    def construct_sql
-      @reflection.options[:finder_sql] &&= interpolate_sql(@reflection.options[:finder_sql])
-
-      if @reflection.options[:finder_sql]
-        @finder_sql = @reflection.options[:finder_sql]
-      else
-        @finder_sql = full_columns_equals(@reflection.options[:join_table], @reflection.primary_key_name, @owner.quoted_id)
-        @finder_sql << " AND (#{conditions})" if conditions
-      end
-
-      @join_sql = "INNER JOIN #{@reflection.active_record.connection.quote_table_name(@reflection.options[:join_table])} ON " +
-      full_composite_join_clause(@reflection.klass.table_name, @reflection.klass.primary_key, @reflection.options[:join_table], @reflection.association_foreign_key)
-    end
-  end
-
-  class HasManyAssociation < AssociationCollection #:nodoc:
-    def construct_sql
-      case
-        when @reflection.options[:finder_sql]
-          @finder_sql = interpolate_sql(@reflection.options[:finder_sql])
-
-        when @reflection.options[:as]
-          @finder_sql = 
-            "#{@reflection.klass.quoted_table_name}.#{@reflection.options[:as]}_id = #{@owner.quoted_id} AND " + 
-            "#{@reflection.klass.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s)}"
-          @finder_sql << " AND (#{conditions})" if conditions
-
-        else
-          @finder_sql = full_columns_equals(@reflection.klass.table_name, @reflection.primary_key_name, @owner.quoted_id)
-          @finder_sql << " AND (#{conditions})" if conditions
-      end
-
-      if @reflection.options[:counter_sql]
-        @counter_sql = interpolate_sql(@reflection.options[:counter_sql])
-      elsif @reflection.options[:finder_sql]
-        # replace the SELECT clause with COUNT(*), preserving any hints within /* ... */
-        @reflection.options[:counter_sql] = @reflection.options[:finder_sql].sub(/SELECT (\/\*.*?\*\/ )?(.*)\bFROM\b/im) { "SELECT #{$1}COUNT(*) FROM" }
-        @counter_sql = interpolate_sql(@reflection.options[:counter_sql])
-      else
-        @counter_sql = @finder_sql
-      end
-    end
-
-    def delete_records(records)
-      if @reflection.options[:dependent]
-        records.each { |r| r.destroy }
-      else
-        connection = @reflection.active_record.connection
-        field_names = @reflection.primary_key_name.split(',')
-        field_names.collect! {|n| connection.quote_column_name(n) + " = NULL"}
-        records.each do |r|
-          where_clause = nil
-          
-          if r.quoted_id.to_s.include?(CompositePrimaryKeys::ID_SEP)
-            where_clause_terms = [@reflection.klass.primary_key, r.quoted_id].transpose.map do |pair|
-              "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"
-            end
-            where_clause = where_clause_terms.join(" AND ")
-          else
-            where_clause = connection.quote_column_name(@reflection.klass.primary_key) + ' = ' +  r.quoted_id
-          end
-          
-          @reflection.klass.update_all(  field_names.join(',') , where_clause)
-        end
-      end
-    end
-  end
-
-  class HasOneAssociation < BelongsToAssociation #:nodoc:
-    def construct_sql
-      case
-        when @reflection.options[:as]
-          @finder_sql = 
-            "#{@reflection.klass.quoted_table_name}.#{@reflection.options[:as]}_id = #{@owner.quoted_id} AND " + 
-            "#{@reflection.klass.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s)}"
-        else
-          @finder_sql = full_columns_equals(@reflection.klass.table_name, @reflection.primary_key_name, @owner.quoted_id)
-      end
-
-      @finder_sql << " AND (#{conditions})" if conditions
-    end
-  end
-
-  class HasManyThroughAssociation < HasManyAssociation #:nodoc:
-    def construct_conditions_with_composite_keys
-      if @reflection.through_reflection.options[:as]
-        construct_conditions_without_composite_keys
-      else
-        conditions = full_columns_equals(@reflection.through_reflection.table_name, @reflection.through_reflection.primary_key_name, @owner.quoted_id)
-        conditions << " AND (#{sql_conditions})" if sql_conditions
-        conditions
-      end
-    end
-    alias_method_chain :construct_conditions, :composite_keys
-
-    def construct_joins_with_composite_keys(custom_joins = nil)
-      if @reflection.through_reflection.options[:as] || @reflection.source_reflection.options[:as]
-        construct_joins_without_composite_keys(custom_joins)
-      else
-        if @reflection.source_reflection.macro == :belongs_to
-          reflection_primary_key = @reflection.klass.primary_key
-          source_primary_key     = @reflection.source_reflection.primary_key_name
-        else
-          reflection_primary_key = @reflection.source_reflection.primary_key_name
-          source_primary_key     = @reflection.klass.primary_key
-        end
-
-        "INNER JOIN %s ON %s #{@reflection.options[:joins]} #{custom_joins}" % [
-          @reflection.through_reflection.quoted_table_name,
-          composite_join_clause(full_keys(@reflection.table_name, reflection_primary_key), full_keys(@reflection.through_reflection.table_name, source_primary_key))
-        ]
-      end
-    end
-    alias_method_chain :construct_joins, :composite_keys
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/attribute_methods.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/attribute_methods.rb
deleted file mode 100644 (file)
index a0e3331..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-module CompositePrimaryKeys
-  module ActiveRecord
-    module AttributeMethods #:nodoc:
-      def self.append_features(base)
-        super
-        base.send(:extend, ClassMethods)
-      end
-
-      module ClassMethods
-        # Define an attribute reader method.  Cope with nil column.
-        def define_read_method(symbol, attr_name, column)
-          cast_code = column.type_cast_code('v') if column
-          cast_code = "::#{cast_code}" if cast_code && cast_code.match('ActiveRecord::.*')
-          access_code = cast_code ? "(v=@attributes['#{attr_name}']) && #{cast_code}" : "@attributes['#{attr_name}']"
-
-          unless self.primary_keys.include?(attr_name.to_sym)
-            access_code = access_code.insert(0, "missing_attribute('#{attr_name}', caller) unless @attributes.has_key?('#{attr_name}'); ")
-          end
-
-          if cache_attribute?(attr_name)
-            access_code = "@attributes_cache['#{attr_name}'] ||= (#{access_code})"
-          end
-
-          evaluate_attribute_method attr_name, "def #{symbol}; #{access_code}; end"
-        end
-
-        # Evaluate the definition for an attribute related method
-        def evaluate_attribute_method(attr_name, method_definition, method_name=attr_name)
-          unless primary_keys.include?(method_name.to_sym)
-            generated_methods << method_name
-          end
-
-          begin
-            class_eval(method_definition, __FILE__, __LINE__)
-          rescue SyntaxError => err
-            generated_methods.delete(attr_name)
-            if logger
-              logger.warn "Exception occurred during reader method compilation."
-              logger.warn "Maybe #{attr_name} is not a valid Ruby identifier?"
-              logger.warn "#{err.message}"
-            end
-          end
-        end
-      end
-
-      # Allows access to the object attributes, which are held in the @attributes hash, as though they
-      # were first-class methods. So a Person class with a name attribute can use Person#name and
-      # Person#name= and never directly use the attributes hash -- except for multiple assigns with
-      # ActiveRecord#attributes=. A Milestone class can also ask Milestone#completed? to test that
-      # the completed attribute is not nil or 0.
-      #
-      # It's also possible to instantiate related objects, so a Client class belonging to the clients
-      # table with a master_id foreign key can instantiate master through Client#master.
-      def method_missing(method_id, *args, &block)
-        method_name = method_id.to_s
-
-        # If we haven't generated any methods yet, generate them, then
-        # see if we've created the method we're looking for.
-        if !self.class.generated_methods?
-          self.class.define_attribute_methods
-
-          if self.class.generated_methods.include?(method_name)
-            return self.send(method_id, *args, &block)
-          end
-        end
-
-        if self.class.primary_keys.include?(method_name.to_sym)
-          ids[self.class.primary_keys.index(method_name.to_sym)]
-        elsif md = self.class.match_attribute_method?(method_name)
-          attribute_name, method_type = md.pre_match, md.to_s
-          if @attributes.include?(attribute_name)
-            __send__("attribute#{method_type}", attribute_name, *args, &block)
-          else
-            super
-          end
-        elsif @attributes.include?(method_name)
-          read_attribute(method_name)
-        else
-          super
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/base.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/base.rb
deleted file mode 100644 (file)
index 4558f97..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-module CompositePrimaryKeys
-  module ActiveRecord #:nodoc:
-    class CompositeKeyError < StandardError #:nodoc:
-    end
-
-    module Base #:nodoc:
-
-      INVALID_FOR_COMPOSITE_KEYS = 'Not appropriate for composite primary keys'
-      NOT_IMPLEMENTED_YET        = 'Not implemented for composite primary keys yet'
-
-      def self.append_features(base)
-        super
-        base.send(:include, InstanceMethods)
-        base.extend(ClassMethods)
-      end
-
-      module ClassMethods
-        def set_primary_keys(*keys)
-          keys = keys.first if keys.first.is_a?(Array)
-          keys = keys.map { |k| k.to_sym }
-          cattr_accessor :primary_keys
-          self.primary_keys = keys.to_composite_keys
-
-          class_eval <<-EOV
-            extend CompositeClassMethods
-            include CompositeInstanceMethods
-
-            include CompositePrimaryKeys::ActiveRecord::Associations
-            include CompositePrimaryKeys::ActiveRecord::AssociationPreload
-            include CompositePrimaryKeys::ActiveRecord::Calculations
-            include CompositePrimaryKeys::ActiveRecord::AttributeMethods
-          EOV
-        end
-
-        def composite?
-          false
-        end
-      end
-
-      module InstanceMethods
-        def composite?; self.class.composite?; end
-      end
-
-      module CompositeInstanceMethods
-
-        # A model instance's primary keys is always available as model.ids
-        # whether you name it the default 'id' or set it to something else.
-        def id
-          attr_names = self.class.primary_keys
-          CompositeIds.new(attr_names.map { |attr_name| read_attribute(attr_name) })
-        end
-        alias_method :ids, :id
-
-        def to_param
-          id.to_s
-        end
-
-        def id_before_type_cast #:nodoc:
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::NOT_IMPLEMENTED_YET
-        end
-
-        def quoted_id #:nodoc:
-          [self.class.primary_keys, ids].
-            transpose.
-            map {|attr_name,id| quote_value(id, column_for_attribute(attr_name))}.
-            to_composite_ids
-        end
-
-        # Sets the primary ID.
-        def id=(ids)
-          ids = ids.split(ID_SEP) if ids.is_a?(String)
-          ids.flatten!
-          unless ids.is_a?(Array) and ids.length == self.class.primary_keys.length
-            raise "#{self.class}.id= requires #{self.class.primary_keys.length} ids"
-          end
-          [primary_keys, ids].transpose.each {|key, an_id| write_attribute(key , an_id)}
-          id
-        end
-
-        # Returns a clone of the record that hasn't been assigned an id yet and
-        # is treated as a new record.  Note that this is a "shallow" clone:
-        # it copies the object's attributes only, not its associations.
-        # The extent of a "deep" clone is application-specific and is therefore
-        # left to the application to implement according to its need.
-        def clone
-          attrs = self.attributes_before_type_cast
-          self.class.primary_keys.each {|key| attrs.delete(key.to_s)}
-          self.class.new do |record|
-            record.send :instance_variable_set, '@attributes', attrs
-          end
-        end
-
-
-        private
-        # The xx_without_callbacks methods are overwritten as that is the end of the alias chain
-
-        # Creates a new record with values matching those of the instance attributes.
-        def create_without_callbacks
-          unless self.id
-            raise CompositeKeyError, "Composite keys do not generated ids from sequences, you must provide id values"
-          end
-          attributes_minus_pks = attributes_with_quotes(false)
-          quoted_pk_columns = self.class.primary_key.map { |col| connection.quote_column_name(col) }
-          cols = quoted_column_names(attributes_minus_pks) << quoted_pk_columns
-          vals = attributes_minus_pks.values << quoted_id
-          connection.insert(
-            "INSERT INTO #{self.class.quoted_table_name} " +
-            "(#{cols.join(', ')}) " +
-            "VALUES (#{vals.join(', ')})",
-            "#{self.class.name} Create",
-            self.class.primary_key,
-            self.id
-          )
-          @new_record = false
-          return true
-        end
-
-        # Updates the associated record with values matching those of the instance attributes.
-        def update_without_callbacks
-          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| 
-            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"
-          end
-          where_clause = where_clause_terms.join(" AND ")
-          connection.update(
-            "UPDATE #{self.class.quoted_table_name} " +
-            "SET #{quoted_comma_pair_list(connection, attributes_with_quotes(false))} " +
-            "WHERE #{where_clause}",
-            "#{self.class.name} Update"
-          )
-          return true
-        end
-
-        # Deletes the record in the database and freezes this instance to reflect that no changes should
-        # be made (since they can't be persisted).
-        def destroy_without_callbacks
-          where_clause_terms = [self.class.primary_key, quoted_id].transpose.map do |pair| 
-            "(#{connection.quote_column_name(pair[0])} = #{pair[1]})"
-          end
-          where_clause = where_clause_terms.join(" AND ")
-          unless new_record?
-            connection.delete(
-              "DELETE FROM #{self.class.quoted_table_name} " +
-              "WHERE #{where_clause}",
-              "#{self.class.name} Destroy"
-            )
-          end
-          freeze
-        end
-      end
-
-      module CompositeClassMethods
-        def primary_key; primary_keys; end
-        def primary_key=(keys); primary_keys = keys; end
-
-        def composite?
-          true
-        end
-
-        #ids_to_s([[1,2],[7,3]]) -> "(1,2),(7,3)"
-        #ids_to_s([[1,2],[7,3]], ',', ';') -> "1,2;7,3"
-        def ids_to_s(many_ids, id_sep = CompositePrimaryKeys::ID_SEP, list_sep = ',', left_bracket = '(', right_bracket = ')')
-          many_ids.map {|ids| "#{left_bracket}#{ids}#{right_bracket}"}.join(list_sep)
-        end
-        
-        # Creates WHERE condition from list of composited ids
-        #   User.update_all({:role => 'admin'}, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> UPDATE admins SET admin.role='admin' WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)
-        #   User.find(:all, :conditions => composite_where_clause([[1, 2], [2, 2]])) #=> SELECT * FROM admins WHERE (admin.type=1 AND admin.type2=2) OR (admin.type=2 AND admin.type2=2)
-        def composite_where_clause(ids)
-          if ids.is_a?(String)
-            ids = [[ids]]
-          elsif not ids.first.is_a?(Array) # if single comp key passed, turn into an array of 1
-            ids = [ids.to_composite_ids]
-          end
-          
-          ids.map do |id_set|
-            [primary_keys, id_set].transpose.map do |key, id|
-              "#{table_name}.#{key.to_s}=#{sanitize(id)}"
-            end.join(" AND ")
-          end.join(") OR (")       
-        end
-
-        # Returns true if the given +ids+ represents the primary keys of a record in the database, false otherwise.
-        # Example:
-        #   Person.exists?(5,7)
-        def exists?(ids)
-          if ids.is_a?(Array) && ids.first.is_a?(String)
-            count(:conditions => ids) > 0
-          else
-            obj = find(ids) rescue false
-            !obj.nil? and obj.is_a?(self)            
-          end
-        end
-
-        # Deletes the record with the given +ids+ without instantiating an object first, e.g. delete(1,2)
-        # If an array of ids is provided (e.g. delete([1,2], [3,4]), all of them
-        # are deleted.
-        def delete(*ids)
-          unless ids.is_a?(Array); raise "*ids must be an Array"; end
-          ids = [ids.to_composite_ids] if not ids.first.is_a?(Array)
-          where_clause = ids.map do |id_set|
-            [primary_keys, id_set].transpose.map do |key, id|
-              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{sanitize(id)}"
-            end.join(" AND ")
-          end.join(") OR (")
-          delete_all([ "(#{where_clause})" ])
-        end
-
-        # Destroys the record with the given +ids+ by instantiating the object and calling #destroy (all the callbacks are the triggered).
-        # If an array of ids is provided, all of them are destroyed.
-        def destroy(*ids)
-          unless ids.is_a?(Array); raise "*ids must be an Array"; end
-          if ids.first.is_a?(Array)
-            ids = ids.map{|compids| compids.to_composite_ids}
-          else
-            ids = ids.to_composite_ids
-          end
-          ids.first.is_a?(CompositeIds) ? ids.each { |id_set| find(id_set).destroy } : find(ids).destroy
-        end
-
-        # Returns an array of column objects for the table associated with this class.
-        # Each column that matches to one of the primary keys has its
-        # primary attribute set to true
-        def columns
-          unless @columns
-            @columns = connection.columns(table_name, "#{name} Columns")
-            @columns.each {|column| column.primary = primary_keys.include?(column.name.to_sym)}
-          end
-          @columns
-        end
-
-        ## DEACTIVATED METHODS ##
-        public
-        # Lazy-set the sequence name to the connection's default.  This method
-        # is only ever called once since set_sequence_name overrides it.
-        def sequence_name #:nodoc:
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
-        end
-
-        def reset_sequence_name #:nodoc:
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
-        end
-
-        def set_primary_key(value = nil, &block)
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
-        end
-
-        private
-        def find_one(id, options)
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
-        end
-
-        def find_some(ids, options)
-          raise CompositeKeyError, CompositePrimaryKeys::ActiveRecord::Base::INVALID_FOR_COMPOSITE_KEYS
-        end
-
-        def find_from_ids(ids, options)
-          ids = ids.first if ids.last == nil
-          conditions = " AND (#{sanitize_sql(options[:conditions])})" if options[:conditions]
-          # if ids is just a flat list, then its size must = primary_key.length (one id per primary key, in order)
-          # if ids is list of lists, then each inner list must follow rule above
-          if ids.first.is_a? String
-            # find '2,1' -> ids = ['2,1']
-            # find '2,1;7,3' -> ids = ['2,1;7,3']
-            ids = ids.first.split(ID_SET_SEP).map {|id_set| id_set.split(ID_SEP).to_composite_ids}
-            # find '2,1;7,3' -> ids = [['2','1'],['7','3']], inner [] are CompositeIds
-          end
-          ids = [ids.to_composite_ids] if not ids.first.kind_of?(Array)
-          ids.each do |id_set|
-            unless id_set.is_a?(Array)
-              raise "Ids must be in an Array, instead received: #{id_set.inspect}"
-            end
-            unless id_set.length == primary_keys.length
-              raise "#{id_set.inspect}: Incorrect number of primary keys for #{class_name}: #{primary_keys.inspect}"
-            end
-          end
-
-          # Let keys = [:a, :b]
-          # If ids = [[10, 50], [11, 51]], then :conditions => 
-          #   "(#{quoted_table_name}.a, #{quoted_table_name}.b) IN ((10, 50), (11, 51))"
-
-          conditions = ids.map do |id_set|
-            [primary_keys, id_set].transpose.map do |key, id|
-                               col = columns_hash[key.to_s]
-                               val = quote_value(id, col)
-              "#{quoted_table_name}.#{connection.quote_column_name(key.to_s)}=#{val}"
-            end.join(" AND ")
-          end.join(") OR (")
-              
-          options.update :conditions => "(#{conditions})"
-
-          result = find_every(options)
-
-          if result.size == ids.size
-            ids.size == 1 ? result[0] : result
-          else
-            raise ::ActiveRecord::RecordNotFound, "Couldn't find all #{name.pluralize} with IDs (#{ids.inspect})#{conditions}"
-          end
-        end
-      end
-    end
-  end
-end
-
-
-module ActiveRecord
-  ID_SEP     = ','
-  ID_SET_SEP = ';'
-
-  class Base
-    # Allows +attr_name+ to be the list of primary_keys, and returns the id
-    # of the object
-    # e.g. @object[@object.class.primary_key] => [1,1]
-    def [](attr_name)
-      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first
-        attr_name = attr_name.split(ID_SEP)
-      end
-      attr_name.is_a?(Array) ?
-        attr_name.map {|name| read_attribute(name)} :
-        read_attribute(attr_name)
-    end
-
-    # Updates the attribute identified by <tt>attr_name</tt> with the specified +value+.
-    # (Alias for the protected write_attribute method).
-    def []=(attr_name, value)
-      if attr_name.is_a?(String) and attr_name != attr_name.split(ID_SEP).first
-        attr_name = attr_name.split(ID_SEP)
-      end
-
-      if attr_name.is_a? Array
-        value = value.split(ID_SEP) if value.is_a? String
-        unless value.length == attr_name.length
-          raise "Number of attr_names and values do not match"
-        end
-        #breakpoint
-        [attr_name, value].transpose.map {|name,val| write_attribute(name.to_s, val)}
-      else
-        write_attribute(attr_name, value)
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/calculations.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/calculations.rb
deleted file mode 100644 (file)
index ea7f2fd..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-module CompositePrimaryKeys
-  module ActiveRecord
-    module Calculations
-      def self.append_features(base)
-        super
-        base.send(:extend, ClassMethods)
-      end
-
-      module ClassMethods
-        def construct_calculation_sql(operation, column_name, options) #:nodoc:
-          operation = operation.to_s.downcase
-          options = options.symbolize_keys
-
-          scope           = scope(:find)
-          merged_includes = merge_includes(scope ? scope[:include] : [], options[:include])
-          aggregate_alias = column_alias_for(operation, column_name)
-          use_workaround  = !connection.supports_count_distinct? && options[:distinct] && operation.to_s.downcase == 'count'
-          join_dependency = nil
-
-          if merged_includes.any? && operation.to_s.downcase == 'count'
-            options[:distinct] = true
-            use_workaround  = !connection.supports_count_distinct?
-            column_name = options[:select] || primary_key.map{ |part| "#{quoted_table_name}.#{connection.quote_column_name(part)}"}.join(',')
-          end
-
-          sql  = "SELECT #{operation}(#{'DISTINCT ' if options[:distinct]}#{column_name}) AS #{aggregate_alias}"
-
-          # A (slower) workaround if we're using a backend, like sqlite, that doesn't support COUNT DISTINCT.
-          sql = "SELECT COUNT(*) AS #{aggregate_alias}" if use_workaround
-
-          sql << ", #{connection.quote_column_name(options[:group_field])} AS #{options[:group_alias]}" if options[:group]
-          sql << " FROM (SELECT DISTINCT #{column_name}" if use_workaround
-          sql << " FROM #{quoted_table_name} "
-          if merged_includes.any?
-            join_dependency = ::ActiveRecord::Associations::ClassMethods::JoinDependency.new(self, merged_includes, options[:joins])
-            sql << join_dependency.join_associations.collect{|join| join.association_join }.join
-          end
-
-          add_joins!(sql, options[:joins], scope)
-          add_conditions!(sql, options[:conditions], scope)
-          add_limited_ids_condition!(sql, options, join_dependency) if \
-            join_dependency &&
-            !using_limitable_reflections?(join_dependency.reflections) &&
-            ((scope && scope[:limit]) || options[:limit])
-
-          if options[:group]
-            group_key = connection.adapter_name == 'FrontBase' ?  :group_alias : :group_field
-            sql << " GROUP BY #{connection.quote_column_name(options[group_key])} "
-          end
-
-          if options[:group] && options[:having]
-            # FrontBase requires identifiers in the HAVING clause and chokes on function calls
-            if connection.adapter_name == 'FrontBase'
-              options[:having].downcase!
-              options[:having].gsub!(/#{operation}\s*\(\s*#{column_name}\s*\)/, aggregate_alias)
-            end
-
-            sql << " HAVING #{options[:having]} "
-          end
-
-          sql << " ORDER BY #{options[:order]} " if options[:order]
-          add_limit!(sql, options, scope)
-          sql << ') w1' if use_workaround # assign a dummy table name as required for postgresql
-          sql
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/composite_arrays.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/composite_arrays.rb
deleted file mode 100644 (file)
index dab3914..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-module CompositePrimaryKeys
-  ID_SEP     = ','
-  ID_SET_SEP = ';'
-
-  module ArrayExtension
-    def to_composite_keys
-      CompositeKeys.new(self)
-    end
-
-    def to_composite_ids
-      CompositeIds.new(self)
-    end
-  end
-
-  class CompositeArray < Array
-    def to_s
-      join(ID_SEP)
-    end
-  end
-
-  class CompositeKeys < CompositeArray
-
-  end
-
-  class CompositeIds < CompositeArray
-
-  end
-end
-
-Array.send(:include, CompositePrimaryKeys::ArrayExtension)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb
deleted file mode 100644 (file)
index 1ab4717..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-module ActiveRecord
-  module ConnectionAdapters
-    class IBM_DBAdapter < AbstractAdapter
-      
-      # This mightn't be in Core, but count(distinct x,y) doesn't work for me
-      def supports_count_distinct? #:nodoc:
-        false
-      end
-      
-      alias_method :quote_original, :quote
-      def quote(value, column = nil)
-        if value.kind_of?(String) && column && [:integer, :float].include?(column.type)
-              value = column.type == :integer ? value.to_i : value.to_f
-              value.to_s
-        else
-            quote_original(value, column)
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/oracle_adapter.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
deleted file mode 100644 (file)
index af558fa..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-module ActiveRecord
-  module ConnectionAdapters
-    class OracleAdapter < AbstractAdapter
-      
-      # This mightn't be in Core, but count(distinct x,y) doesn't work for me
-      def supports_count_distinct? #:nodoc:
-        false
-      end
-      
-      def concat(*columns)
-        "(#{columns.join('||')})"
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
deleted file mode 100644 (file)
index 65fce48..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-module ActiveRecord
-  module ConnectionAdapters
-    class PostgreSQLAdapter < AbstractAdapter
-      
-      # This mightn't be in Core, but count(distinct x,y) doesn't work for me
-      def supports_count_distinct? #:nodoc:
-        false
-      end
-
-      def concat(*columns)
-        columns = columns.map { |c| "CAST(#{c} AS varchar)" }
-        "(#{columns.join('||')})"
-      end
-      
-      # Executes an INSERT query and returns the new record's ID
-      def insert(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil)
-        # Extract the table from the insert sql. Yuck.
-        table = sql.split(" ", 4)[2].gsub('"', '')
-
-        # Try an insert with 'returning id' if available (PG >= 8.2)
-        if supports_insert_with_returning?
-          pk, sequence_name = *pk_and_sequence_for(table) unless pk
-          if pk
-            quoted_pk = if pk.is_a?(Array)
-                          pk.map { |col| quote_column_name(col) }.join(ID_SEP)
-                        else
-                          quote_column_name(pk)
-                        end
-            id = select_value("#{sql} RETURNING #{quoted_pk}")
-            clear_query_cache
-            return id
-          end
-        end
-
-        # Otherwise, insert then grab last_insert_id.
-        if insert_id = super
-          insert_id
-        else
-          # If neither pk nor sequence name is given, look them up.
-          unless pk || sequence_name
-            pk, sequence_name = *pk_and_sequence_for(table)
-          end
-
-          # If a pk is given, fallback to default sequence name.
-          # Don't fetch last insert id for a table without a pk.
-          if pk && sequence_name ||= default_sequence_name(table, pk)
-            last_insert_id(table, sequence_name)
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb
deleted file mode 100644 (file)
index 0527577..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-require 'active_record/connection_adapters/sqlite_adapter'
-
-module ActiveRecord
-  module ConnectionAdapters #:nodoc:
-    class SQLite3Adapter < SQLiteAdapter # :nodoc:
-      def supports_count_distinct? #:nodoc:
-        false
-      end
-      
-      def concat(*columns)
-        "(#{columns.join('||')})"
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/fixtures.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/fixtures.rb
deleted file mode 100644 (file)
index 7dfaf08..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-class Fixture #:nodoc:
-  def [](key)
-    if key.is_a? Array
-      return key.map { |a_key| self[a_key.to_s] }.to_composite_ids.to_s
-    end
-    @fixture[key]
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/migration.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/migration.rb
deleted file mode 100644 (file)
index 2a50404..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-ActiveRecord::ConnectionAdapters::ColumnDefinition.send(:alias_method, :to_s_without_composite_keys, :to_s)
-
-ActiveRecord::ConnectionAdapters::ColumnDefinition.class_eval <<-'EOF'
-  def to_s
-    if name.is_a? Array
-      "PRIMARY KEY (#{name.join(',')})"
-    else
-      to_s_without_composite_keys
-    end
-  end
-EOF
-
-ActiveRecord::ConnectionAdapters::TableDefinition.class_eval <<-'EOF'
-  def [](name)
-    @columns.find { |column|
-      !column.name.is_a?(Array) && column.name.to_s == name.to_s
-    }
-  end
-EOF
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/reflection.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/reflection.rb
deleted file mode 100644 (file)
index 2d82d9c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-module ActiveRecord
-  module Reflection
-    class AssociationReflection
-      def primary_key_name
-        return @primary_key_name if @primary_key_name
-        case
-          when macro == :belongs_to
-            @primary_key_name = options[:foreign_key] || class_name.foreign_key
-          when options[:as]
-            @primary_key_name = options[:foreign_key] || "#{options[:as]}_id"
-          else
-            @primary_key_name = options[:foreign_key] || active_record.name.foreign_key
-        end
-        @primary_key_name = @primary_key_name.to_composite_keys.to_s if @primary_key_name.is_a? Array
-        @primary_key_name
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/version.rb b/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/version.rb
deleted file mode 100644 (file)
index 49a11be..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-module CompositePrimaryKeys
-  module VERSION #:nodoc:
-    MAJOR = 2
-    MINOR = 2
-    TINY  = 2
-    STRING = [MAJOR, MINOR, TINY].join('.')
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/loader.rb b/vendor/gems/composite_primary_keys-2.2.2/loader.rb
deleted file mode 100644 (file)
index 052c47c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Load local config files in /local
-begin
-  local_file_supported = Dir[File.join(PROJECT_ROOT, 'local/*.sample')].map { |path| File.basename(path).sub(".sample","") }
-  local_file_supported.each do |file|
-    require "local/#{file}"
-  end
-rescue LoadError
-  puts <<-EOS
-  This Gem supports local developer extensions in local/ folder. 
-  Supported files:
-    #{local_file_supported.map { |f| "local/#{f}"}.join(', ')}
-
-  Setup default sample files:
-    rake local:setup
-
-  Current warning: #{$!}
-  
-  EOS
-end
-
-
-# Now load Rake tasks from /tasks
-rakefiles = Dir[File.join(File.dirname(__FILE__), "tasks/**/*.rake")]
-rakefiles.each { |rakefile| load File.expand_path(rakefile) }
diff --git a/vendor/gems/composite_primary_keys-2.2.2/local/._paths.rb.sample b/vendor/gems/composite_primary_keys-2.2.2/local/._paths.rb.sample
deleted file mode 100644 (file)
index 22b6435..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/local/._paths.rb.sample and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/local/database_connections.rb.sample b/vendor/gems/composite_primary_keys-2.2.2/local/database_connections.rb.sample
deleted file mode 100644 (file)
index be67edd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-require 'yaml'
-
-ENV['cpk_adapters'] = {
-  "mysql" => {
-    :adapter  => "mysql",
-    :username => "root",
-    :password => "root",
-    # ...
-  }
-}.to_yaml
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/local/paths.rb.sample b/vendor/gems/composite_primary_keys-2.2.2/local/paths.rb.sample
deleted file mode 100644 (file)
index 65ba16f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# location of folder containing activerecord, railties, etc folders for each Rails gem
-ENV['EDGE_RAILS_DIR'] ||= "/path/to/copy/of/edge/rails"
diff --git a/vendor/gems/composite_primary_keys-2.2.2/local/tasks.rb.sample b/vendor/gems/composite_primary_keys-2.2.2/local/tasks.rb.sample
deleted file mode 100644 (file)
index 29daf8d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# This file loaded into Rakefile
-# Place any extra development tasks you want here
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/scripts/console.rb b/vendor/gems/composite_primary_keys-2.2.2/scripts/console.rb
deleted file mode 100755 (executable)
index 7053e92..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env ruby
-
-#
-# if run as script, load the file as library while starting irb 
-#
-if __FILE__ == $0
-  irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
-  ENV['ADAPTER'] = ARGV[0]
-  exec "#{irb} -f -r #{$0} --simple-prompt"
-end
-
-#
-# check if the given adapter is supported (default: mysql)
-#
-adapters = %w[mysql sqlite oracle oracle_enhanced postgresql ibm_db]
-adapter = ENV['ADAPTER'] || 'mysql'
-unless adapters.include? adapter
-  puts "Usage: #{__FILE__} <adapter>"
-  puts ''
-  puts 'Adapters: '
-  puts adapters.map{ |adapter| "    #{adapter}" }.join("\n")
-  exit 1
-end
-
-#
-# load all necessary libraries
-#
-require 'rubygems'
-require 'local/database_connections'
-
-$LOAD_PATH.unshift 'lib'
-
-begin
-  require 'local/paths'
-  $LOAD_PATH.unshift "#{ENV['EDGE_RAILS_DIR']}/activerecord/lib"  if ENV['EDGE_RAILS_DIR']
-  $LOAD_PATH.unshift "#{ENV['EDGE_RAILS_DIR']}/activesupport/lib" if ENV['EDGE_RAILS_DIR']
-rescue
-end
-
-require 'active_support'
-require 'active_record'
-
-require "test/connections/native_#{adapter}/connection"
-require 'composite_primary_keys'
-
-PROJECT_ROOT = File.join(File.dirname(__FILE__), '..')
-Dir[File.join(PROJECT_ROOT,'test/fixtures/*.rb')].each { |model| require model }
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2html b/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2html
deleted file mode 100644 (file)
index d5ab2c6..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'rubygems'
-require 'redcloth'
-require 'syntax/convertors/html'
-require 'erb'
-require File.dirname(__FILE__) + '/../lib/composite_primary_keys/version.rb'
-
-version  = CompositePrimaryKeys::VERSION::STRING
-download = 'http://rubyforge.org/projects/compositekeys'
-
-class Fixnum
-  def ordinal
-    # teens
-    return 'th' if (10..19).include?(self % 100)
-    # others
-    case self % 10
-    when 1: return 'st'
-    when 2: return 'nd'
-    when 3: return 'rd'
-    else    return 'th'
-    end
-  end
-end
-
-class Time
-  def pretty
-    return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
-  end
-end
-
-def convert_syntax(syntax, source)
-  return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
-end
-
-if ARGV.length >= 1
-  src, template = ARGV
-  template ||= File.dirname(__FILE__) + '/../website/template.rhtml'
-  
-else
-  puts("Usage: #{File.split($0).last} source.txt [template.rhtml] > output.html")
-  exit!
-end
-
-template = ERB.new(File.open(template).read)
-
-title = nil
-body = nil
-File.open(src) do |fsrc|
-  title_text = fsrc.readline
-  body_text = fsrc.read
-  syntax_items = []
-  body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
-    ident = syntax_items.length
-    element, syntax, source = $1, $2, $3
-    syntax_items << "<#{element} class=\"syntax\">#{convert_syntax(syntax, source)}</#{element}>"
-    "syntax-temp-#{ident}"
-  }
-  title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
-  body = RedCloth.new(body_text).to_html
-  body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
-end
-stat = File.stat(src)
-created = stat.ctime
-modified = stat.mtime
-
-$stdout << template.result(binding)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2js b/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2js
deleted file mode 100644 (file)
index 4a287ca..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env ruby
-
-require 'rubygems'
-require 'redcloth'
-require 'syntax/convertors/html'
-require 'erb'
-require 'active_support'
-require File.dirname(__FILE__) + '/../lib/composite_primary_keys/version.rb'
-
-version  = CompositePrimaryKeys::VERSION::STRING
-download = 'http://rubyforge.org/projects/compositekeys'
-
-class Fixnum
-  def ordinal
-    # teens
-    return 'th' if (10..19).include?(self % 100)
-    # others
-    case self % 10
-    when 1: return 'st'
-    when 2: return 'nd'
-    when 3: return 'rd'
-    else    return 'th'
-    end
-  end
-end
-
-class Time
-  def pretty
-    return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
-  end
-end
-
-def convert_syntax(syntax, source)
-  return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
-end
-
-if ARGV.length >= 1
-  src, template = ARGV
-  template ||= File.dirname(__FILE__) + '/../website/template.js'
-else
-  puts("Usage: #{File.split($0).last} source.txt [template.js] > output.html")
-  exit!
-end
-
-template = ERB.new(File.open(template).read)
-
-title = nil
-body = nil
-File.open(src) do |fsrc|
-  title_text = fsrc.readline
-  body_text = fsrc.read
-  title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
-  body = RedCloth.new(body_text)
-end
-stat = File.stat(src)
-created = stat.ctime
-modified = stat.mtime
-
-$stdout << template.result(binding)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/activerecord_selection.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/activerecord_selection.rake
deleted file mode 100644 (file)
index 44ca4bb..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-namespace :ar do
-  desc 'Pre-load edge rails ActiveRecord'
-  task :edge do
-    unless path = ENV['EDGE_RAILS_DIR'] || ENV['EDGE_RAILS']
-      puts <<-EOS
-
-Need to define env var EDGE_RAILS_DIR or EDGE_RAILS- root of edge rails on your machine.
-    i)  Get copy of Edge Rails - http://dev.rubyonrails.org
-    ii) Set EDGE_RAILS_DIR to this folder in local/paths.rb - see local/paths.rb.sample for example
-    or
-    a)  Set folder from environment or command line (rake ar:edge EDGE_RAILS_DIR=/path/to/rails)
-  
-      EOS
-      exit
-    end
-    
-    ENV['AR_LOAD_PATH'] = File.join(path, "activerecord/lib")
-  end
-  
-  desc 'Pre-load ActiveRecord using VERSION=X.Y.Z, instead of latest'
-  task :set do
-    unless version = ENV['VERSION']
-      puts <<-EOS
-Usage: rake ar:get_version VERSION=1.15.3
-    Specify the version number with VERSION=X.Y.Z; and make sure you have that activerecord gem version installed.
-    
-      EOS
-    end
-    version = nil if version == "" || version == []
-    begin
-      version ? gem('activerecord', version) : gem('activerecord')
-      require 'active_record'
-      ENV['AR_LOAD_PATH'] = $:.reverse.find { |path| /activerecord/ =~ path }
-    rescue LoadError
-      puts <<-EOS
-Missing: Cannot find activerecord #{version} installed.
-    Install: gem install activerecord -v #{version}
-    
-      EOS
-      exit
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/databases.rake
deleted file mode 100644 (file)
index 0d91517..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-require 'active_record'
-
-# UNTESTED - firebird sqlserver sqlserver_odbc db2 sybase openbase
-for adapter in %w( mysql sqlite oracle oracle_enhanced postgresql ibm_db ) 
-  Rake::TestTask.new("test_#{adapter}") { |t|
-    t.libs << "test" << "test/connections/native_#{adapter}"
-    t.pattern = "test/test_*.rb"
-    t.verbose = true
-  }
-end
-
-SCHEMA_PATH = File.join(PROJECT_ROOT, *%w(test fixtures db_definitions))
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/mysql.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/mysql.rake
deleted file mode 100644 (file)
index e05239e..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-namespace :mysql do
-  desc 'Build the MySQL test databases'
-  task :build_databases => :load_connection do 
-    puts File.join(SCHEMA_PATH, 'mysql.sql')
-    options_str = ENV['cpk_adapter_options_str']
-    # creates something like "-u#{username} -p#{password} -S#{socket}"
-    sh %{ mysqladmin #{options_str} create "#{GEM_NAME}_unittest" }
-    sh %{ mysql #{options_str} "#{GEM_NAME}_unittest" < #{File.join(SCHEMA_PATH, 'mysql.sql')} }
-  end
-
-  desc 'Drop the MySQL test databases'
-  task :drop_databases => :load_connection do 
-    options_str = ENV['cpk_adapter_options_str']
-    sh %{ mysqladmin #{options_str} -f drop "#{GEM_NAME}_unittest" }
-  end
-
-  desc 'Rebuild the MySQL test databases'
-  task :rebuild_databases => [:drop_databases, :build_databases]
-  
-  task :load_connection do
-    require File.join(PROJECT_ROOT, %w[lib adapter_helper mysql])
-    spec = AdapterHelper::MySQL.load_connection_from_env
-    options = {}
-    options['u'] = spec[:username]  if spec[:username]
-    options['p'] = spec[:password]  if spec[:password]
-    options['S'] = spec[:sock]      if spec[:sock]
-    options_str = options.map { |key, value| "-#{key}#{value}" }.join(" ")
-    ENV['cpk_adapter_options_str'] = options_str
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/oracle.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/oracle.rake
deleted file mode 100644 (file)
index 4861d01..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-namespace :oracle do
-  desc 'Build the Oracle test databases'
-  task :build_databases => :load_connection do 
-    puts File.join(SCHEMA_PATH, 'oracle.sql')
-    options_str = ENV['cpk_adapter_options_str']
-    sh %( sqlplus #{options_str} < #{File.join(SCHEMA_PATH, 'oracle.sql')} )
-  end
-
-  desc 'Drop the Oracle test databases'
-  task :drop_databases => :load_connection do 
-    puts File.join(SCHEMA_PATH, 'oracle.drop.sql')
-    options_str = ENV['cpk_adapter_options_str']
-    sh %( sqlplus #{options_str} < #{File.join(SCHEMA_PATH, 'oracle.drop.sql')} )
-  end
-
-  desc 'Rebuild the Oracle test databases'
-  task :rebuild_databases => [:drop_databases, :build_databases]
-  
-  task :load_connection do
-    require File.join(PROJECT_ROOT, %w[lib adapter_helper oracle])
-    spec = AdapterHelper::Oracle.load_connection_from_env
-    ENV['cpk_adapter_options_str'] = "#{spec[:username]}/#{spec[:password]}@#{spec[:host]}"
-  end
-  
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/postgresql.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/postgresql.rake
deleted file mode 100644 (file)
index 13b34e2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-namespace :postgresql do
-  desc 'Build the PostgreSQL test databases'
-  task :build_databases => :load_connection do 
-    sh %{ createdb "#{GEM_NAME}_unittest" }
-    sh %{ psql "#{GEM_NAME}_unittest" -f #{File.join(SCHEMA_PATH, 'postgresql.sql')} }
-  end
-
-  desc 'Drop the PostgreSQL test databases'
-  task :drop_databases => :load_connection do 
-    sh %{ dropdb "#{GEM_NAME}_unittest" }
-  end
-
-  desc 'Rebuild the PostgreSQL test databases'
-  task :rebuild_databases => [:drop_databases, :build_databases]
-
-  task :load_connection do
-    require File.join(PROJECT_ROOT, %w[lib adapter_helper postgresql])
-    spec = AdapterHelper::Postgresql.load_connection_from_env
-    options = {}
-    options['u'] = spec[:username]  if spec[:username]
-    options['p'] = spec[:password]  if spec[:password]
-    options_str = options.map { |key, value| "-#{key}#{value}" }.join(" ")
-    ENV['cpk_adapter_options_str'] = options_str
-  end
-end
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/sqlite3.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/sqlite3.rake
deleted file mode 100644 (file)
index 9a5579a..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-namespace :sqlite3 do
-  desc 'Build the sqlite test databases'
-  task :build_databases => :load_connection do 
-    file = File.join(SCHEMA_PATH, 'sqlite.sql')
-    dbfile = File.join(PROJECT_ROOT, ENV['cpk_adapter_options_str'])
-    cmd = "mkdir -p #{File.dirname(dbfile)}"
-    puts cmd
-    sh %{ #{cmd} }
-    cmd = "sqlite3 #{dbfile} < #{file}"
-    puts cmd
-    sh %{ #{cmd} }
-  end
-
-  desc 'Drop the sqlite test databases'
-  task :drop_databases => :load_connection do 
-    dbfile = ENV['cpk_adapter_options_str']
-    sh %{ rm -f #{dbfile} }
-  end
-
-  desc 'Rebuild the sqlite test databases'
-  task :rebuild_databases => [:drop_databases, :build_databases]
-
-  task :load_connection do
-    require File.join(PROJECT_ROOT, %w[lib adapter_helper sqlite3])
-    spec = AdapterHelper::Sqlite3.load_connection_from_env
-    ENV['cpk_adapter_options_str'] = spec[:dbfile]
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/deployment.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/deployment.rake
deleted file mode 100644 (file)
index 84f143b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-desc 'Release the website and new gem version'
-task :deploy => [:check_version, :website, :release] do
-  puts "Remember to create SVN tag:"
-  puts "svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk " +
-    "svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
-  puts "Suggested comment:"
-  puts "Tagging release #{CHANGES}"
-end
-
-desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
-task :local_deploy => [:website_generate, :install_gem]
-
-task :check_version do
-  unless ENV['VERSION']
-    puts 'Must pass a VERSION=x.y.z release version'
-    exit
-  end
-  unless ENV['VERSION'] == VERS
-    puts "Please update your version.rb to match the release version, currently #{VERS}"
-    exit
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/local_setup.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/local_setup.rake
deleted file mode 100644 (file)
index 1b8afa8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace :local do
-  desc 'Copies over the same local files ready for editing'
-  task :setup do
-    sample_files = Dir[File.join(PROJECT_ROOT, "local/*.rb.sample")]
-    sample_files.each do |sample_file|
-      file = sample_file.sub(".sample","")
-      unless File.exists?(file)
-        puts "Copying #{sample_file} -> #{file}"
-        sh %{ cp #{sample_file} #{file} }
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tasks/website.rake b/vendor/gems/composite_primary_keys-2.2.2/tasks/website.rake
deleted file mode 100644 (file)
index 600f563..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-desc 'Generate website files'
-task :website_generate do
-  sh %{ ruby scripts/txt2html website/index.txt > website/index.html }
-  sh %{ ruby scripts/txt2js website/version.txt > website/version.js }
-  sh %{ ruby scripts/txt2js website/version-raw.txt > website/version-raw.js }
-end
-
-desc 'Upload website files to rubyforge'
-task :website_upload do
-  config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
-  host = "#{config["username"]}@rubyforge.org"
-  remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/"
-  local_dir = 'website'
-  sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
-end
-
-desc 'Generate and upload website files'
-task :website => [:website_generate, :website_upload, :publish_docs]
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/._test_associations.rb b/vendor/gems/composite_primary_keys-2.2.2/test/._test_associations.rb
deleted file mode 100644 (file)
index cf677a1..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/._test_associations.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/._test_exists.rb b/vendor/gems/composite_primary_keys-2.2.2/test/._test_exists.rb
deleted file mode 100644 (file)
index 32a5c94..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/._test_exists.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/._test_find.rb b/vendor/gems/composite_primary_keys-2.2.2/test/._test_find.rb
deleted file mode 100644 (file)
index 4772449..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/._test_find.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/README_tests.txt b/vendor/gems/composite_primary_keys-2.2.2/test/README_tests.txt
deleted file mode 100644 (file)
index 66fe21f..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-= Composite Primary Keys - Testing Readme
-
-== Testing an adapter
-
-There are tests available for the following adapters:
-
-* ibmdb
-* mysql
-* oracle
-* postgresql
-* sqlite
-
-To run the tests for on of the adapters, follow these steps (using mysql in the example):
-
-* rake -T | grep mysql
-
-    rake mysql:build_databases         # Build the MySQL test databases
-    rake mysql:drop_databases          # Drop the MySQL test databases
-    rake mysql:rebuild_databases       # Rebuild the MySQL test databases
-    rake test_mysql                    # Run tests for test_mysql
-
-* rake mysql:build_databases
-* rake test_mysql
-
-== Testing against different ActiveRecord versions (or Edge Rails)
-
-ActiveRecord is a RubyGem within Rails, and is constantly being improved/changed on
-its repository (http://dev.rubyonrails.org). These changes may create errors for the CPK
-gem. So, we need a way to test CPK against Edge Rails, as well as officially released RubyGems.
-
-The default test (as above) uses the latest RubyGem in your cache.
-
-You can select an older RubyGem version by running the following:
-
-* rake ar:set VERSION=1.14.4 test_mysql
-
-== Edge Rails
-
-Before you can test CPK against Edge Rails, you must checkout a copy of edge rails somewhere (see http://dev.rubyonrails.org for for examples)
-
-* cd /path/to/gems
-* svn co http://svn.rubyonrails.org/rails/trunk rails
-
-Say the rails folder is /path/to/gems/rails
-
-Three ways to run CPK tests for Edge Rails:
-
-i)   Run:
-  
-        EDGE_RAILS_DIR=/path/to/gems/rails rake ar:edge test_mysql
-        
-ii)  In your .profile, set the environment variable EDGE_RAILS_DIR=/path/to/gems/rails, 
-     and once you reload your profile, run:  
-     
-        rake ar:edge test_mysql
-        
-iii) Store the path in local/paths.rb. Run:
-
-        cp local/paths.rb.sample local/paths.rb
-        # Now set ENV['EDGE_RAILS_DIR']=/path/to/gems/rails
-        rake ar:edge test_mysql
-
-These are all variations of the same theme:
-
-* Set the environment variable EDGE_RAILS_DIR to the path to Rails (which contains the activerecord/lib folder)
-* Run: rake ar:edge test_<adapter>
-  
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/abstract_unit.rb b/vendor/gems/composite_primary_keys-2.2.2/test/abstract_unit.rb
deleted file mode 100644 (file)
index f33edfa..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-$:.unshift(ENV['AR_LOAD_PATH']) if ENV['AR_LOAD_PATH']
-
-require 'test/unit'
-require 'hash_tricks'
-require 'rubygems'
-require 'active_record'
-require 'active_record/fixtures'
-begin
-  require 'connection'
-rescue MissingSourceFile => e
-  adapter = 'postgresql' #'sqlite'
-  require "#{File.dirname(__FILE__)}/connections/native_#{adapter}/connection"
-end
-require 'composite_primary_keys'
-
-QUOTED_TYPE = ActiveRecord::Base.connection.quote_column_name('type') unless Object.const_defined?(:QUOTED_TYPE)
-
-class Test::Unit::TestCase #:nodoc:
-  self.fixture_path = File.dirname(__FILE__) + "/fixtures/"
-  self.use_instantiated_fixtures = false
-  self.use_transactional_fixtures = true
-
-  def assert_date_from_db(expected, actual, message = nil)
-    # SQL Server doesn't have a separate column type just for dates, 
-    # so the time is in the string and incorrectly formatted
-    if current_adapter?(:SQLServerAdapter)
-      assert_equal expected.strftime("%Y/%m/%d 00:00:00"), actual.strftime("%Y/%m/%d 00:00:00")
-    elsif current_adapter?(:SybaseAdapter)
-      assert_equal expected.to_s, actual.to_date.to_s, message
-    else
-      assert_equal expected.to_s, actual.to_s, message
-    end
-  end
-
-  def assert_queries(num = 1)
-    ActiveRecord::Base.connection.class.class_eval do
-      self.query_count = 0
-      alias_method :execute, :execute_with_query_counting
-    end
-    yield
-  ensure
-    ActiveRecord::Base.connection.class.class_eval do
-      alias_method :execute, :execute_without_query_counting
-    end
-    assert_equal num, ActiveRecord::Base.connection.query_count, "#{ActiveRecord::Base.connection.query_count} instead of #{num} queries were executed."
-  end
-
-  def assert_no_queries(&block)
-    assert_queries(0, &block)
-  end
-  
-  cattr_accessor :classes
-protected
-  
-  def testing_with(&block)
-    classes.keys.each do |@key_test|
-      @klass_info = classes[@key_test]
-      @klass, @primary_keys = @klass_info[:class], @klass_info[:primary_keys]
-      order = @klass.primary_key.is_a?(String) ? @klass.primary_key : @klass.primary_key.join(',')
-      @first = @klass.find(:first, :order => order)
-      yield
-    end
-  end
-  
-  def first_id
-    ids = (1..@primary_keys.length).map {|num| 1}
-    composite? ? ids.to_composite_ids : ids.first
-  end
-  
-  def first_id_str
-    composite? ? first_id.join(CompositePrimaryKeys::ID_SEP) : first_id.to_s
-  end
-  
-  def composite?
-    @key_test != :single
-  end  
-end
-
-def current_adapter?(type)
-  ActiveRecord::ConnectionAdapters.const_defined?(type) &&
-    ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters.const_get(type))
-end
-
-ActiveRecord::Base.connection.class.class_eval do
-  cattr_accessor :query_count
-  alias_method :execute_without_query_counting, :execute
-  def execute_with_query_counting(sql, name = nil)
-    self.query_count += 1
-    execute_without_query_counting(sql, name)
-  end
-end
-
-#ActiveRecord::Base.logger = Logger.new(STDOUT)
-#ActiveRecord::Base.colorize_logging = false
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_ibm_db/connection.rb b/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_ibm_db/connection.rb
deleted file mode 100644 (file)
index 7a40f7c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-print "Using IBM2 \n"
-require 'logger'
-
-gem 'ibm_db'
-require 'IBM_DB'
-
-RAILS_CONNECTION_ADAPTERS = %w( mysql postgresql sqlite firebird sqlserver db2 oracle sybase openbase frontbase ibm_db )
-
-
-ActiveRecord::Base.logger = Logger.new("debug.log")
-
-db1 = 'composite_primary_keys_unittest'
-
-connection_options = {
-  :adapter  => "ibm_db",
-  :database => "ocdpdev",
-  :username => "db2inst1",
-  :password => "password",                      
-  :host => '192.168.2.21'
-}
-
-ActiveRecord::Base.configurations = { db1 => connection_options }
-ActiveRecord::Base.establish_connection(connection_options)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_mysql/connection.rb b/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_mysql/connection.rb
deleted file mode 100644 (file)
index 12dbe4c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-print "Using native MySQL\n"
-require 'fileutils'
-require 'logger'
-require 'adapter_helper/mysql'
-
-log_path = File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. .. log]))
-FileUtils.mkdir_p log_path
-puts "Logging to #{log_path}/debug.log"
-ActiveRecord::Base.logger = Logger.new("#{log_path}/debug.log")
-
-# Adapter config setup in locals/database_connections.rb
-connection_options = AdapterHelper::MySQL.load_connection_from_env
-ActiveRecord::Base.establish_connection(connection_options)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_oracle/connection.rb b/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_oracle/connection.rb
deleted file mode 100644 (file)
index 383538f..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-print "Using native Oracle\n"
-require 'fileutils'
-require 'logger'
-require 'adapter_helper/oracle'
-
-log_path = File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. .. log]))
-FileUtils.mkdir_p log_path
-puts "Logging to #{log_path}/debug.log"
-ActiveRecord::Base.logger = Logger.new("#{log_path}/debug.log")
-
-# Adapter config setup in locals/database_connections.rb
-connection_options = AdapterHelper::Oracle.load_connection_from_env
-puts connection_options.inspect
-ActiveRecord::Base.establish_connection(connection_options)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_postgresql/connection.rb b/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_postgresql/connection.rb
deleted file mode 100644 (file)
index a2d93f9..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-print "Using native Postgresql\n"
-require 'logger'
-require 'adapter_helper/postgresql'
-
-ActiveRecord::Base.logger = Logger.new("debug.log")
-
-# Adapter config setup in locals/database_connections.rb
-connection_options = AdapterHelper::Postgresql.load_connection_from_env
-ActiveRecord::Base.establish_connection(connection_options)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_sqlite/connection.rb b/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_sqlite/connection.rb
deleted file mode 100644 (file)
index 7c6102e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-print "Using native Sqlite3\n"
-require 'logger'
-require 'adapter_helper/sqlite3'
-
-ActiveRecord::Base.logger = Logger.new("debug.log")
-
-# Adapter config setup in locals/database_connections.rb
-connection_options = AdapterHelper::Sqlite3.load_connection_from_env
-ActiveRecord::Base.establish_connection(connection_options)
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._article.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._article.rb
deleted file mode 100644 (file)
index 78c3fc7..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._article.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._articles.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._articles.yml
deleted file mode 100644 (file)
index 1b2bdc1..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._articles.yml and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._comment.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._comment.rb
deleted file mode 100644 (file)
index 584e041..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._comment.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._department.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._department.rb
deleted file mode 100644 (file)
index 4be809c..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._department.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._departments.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._departments.yml
deleted file mode 100644 (file)
index a8ba937..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._departments.yml and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._employee.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._employee.rb
deleted file mode 100644 (file)
index 40e026b..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._employee.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._group.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._group.rb
deleted file mode 100644 (file)
index b562638..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._group.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._hack.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._hack.rb
deleted file mode 100644 (file)
index 477c809..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._hack.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._membership.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._membership.rb
deleted file mode 100644 (file)
index 4151277..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._membership.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._memberships.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._memberships.yml
deleted file mode 100644 (file)
index 2be8efd..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._memberships.yml and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._product.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._product.rb
deleted file mode 100644 (file)
index ac2ee10..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._product.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reading.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reading.rb
deleted file mode 100644 (file)
index 41b9805..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reading.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reference_code.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reference_code.rb
deleted file mode 100644 (file)
index b08e02e..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/._reference_code.rb and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/article.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/article.rb
deleted file mode 100644 (file)
index 7fae392..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-class Article < ActiveRecord::Base
-  has_many :readings
-  has_many :users, :through => :readings
-end
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/articles.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/articles.yml
deleted file mode 100644 (file)
index f4cb477..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-first:
-  id: 1
-  name: Article One
-second:
-  id: 2
-  name: Article Two
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comment.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comment.rb
deleted file mode 100644 (file)
index 857bf70..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class Comment < ActiveRecord::Base
-  set_primary_keys :id
-  belongs_to :person, :polymorphic => true
-  belongs_to :hack
-end
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comments.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comments.yml
deleted file mode 100644 (file)
index 7f14514..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-comment1:
-  id: 1
-  person_id: 1
-  person_type: Employee
-  
-comment2:
-  id: 2
-  person_id: 1
-  person_type: User
-  hack_id: andrew
-  
-comment3:
-  id: 3
-  person_id: andrew
-  person_type: Hack
-  
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-create-tables.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-create-tables.sql
deleted file mode 100644 (file)
index edff930..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-CREATE TABLE reference_types (
-  reference_type_id integer NOT NULL generated by default as identity (start with 100, increment by 1, no cache),  
-  type_label varchar(50) default NULL,  
-  abbreviation varchar(50) default NULL, 
-  description varchar(50) default NULL, 
-  PRIMARY KEY (reference_type_id)
-);
-
-CREATE TABLE reference_codes (
-  reference_type_id integer,
-  reference_code integer NOT NULL,
-  code_label varchar(50) default NULL,
-  abbreviation varchar(50) default NULL,
-  description varchar(50) default NULL,
-  PRIMARY KEY  (reference_type_id,reference_code)
-);
-
-CREATE TABLE products (
-  id integer NOT NULL,
-  name varchar(50) default NULL,
-  PRIMARY KEY  (id)
-);
-
-CREATE TABLE tariffs (
-  tariff_id integer NOT NULL,
-  start_date date NOT NULL,
-  amount integer default NULL,
-  PRIMARY KEY  (tariff_id,start_date)
-);
-
-CREATE TABLE product_tariffs (
-  product_id integer NOT NULL,
-  tariff_id integer NOT NULL,
-  tariff_start_date date NOT NULL,
-  PRIMARY KEY  (product_id,tariff_id,tariff_start_date)
-);
-
-CREATE TABLE suburbs (
-  city_id integer NOT NULL,
-  suburb_id integer NOT NULL,
-  name varchar(50) NOT NULL,
-  PRIMARY KEY  (city_id,suburb_id)
-);
-
-CREATE TABLE streets (
-  id integer NOT NULL ,
-  city_id integer NOT NULL,
-  suburb_id integer NOT NULL,
-  name varchar(50) NOT NULL,
-  PRIMARY KEY  (id)
-);
-
-CREATE TABLE users (
-  id integer NOT NULL ,
-  name varchar(50) NOT NULL,
-  PRIMARY KEY  (id)
-);
-
-CREATE TABLE articles (
-  id integer NOT NULL ,
-  name varchar(50) NOT NULL,
-  PRIMARY KEY  (id)
-);
-
-CREATE TABLE readings (
-  id integer NOT NULL ,
-  user_id integer NOT NULL,
-  article_id integer NOT NULL,
-  rating integer NOT NULL,
-  PRIMARY KEY  (id)
-);
-
-CREATE TABLE groups (
-  id integer NOT NULL ,
-  name varchar(50) NOT NULL,
-  PRIMARY KEY  (id)
-);               
-
-CREATE TABLE memberships (
-  user_id integer NOT NULL,
-  group_id integer NOT NULL,
-  PRIMARY KEY  (user_id,group_id)
-);
-
-CREATE TABLE membership_statuses (
-  id integer NOT NULL ,
-  user_id integer NOT NULL,
-  group_id integer NOT NULL,
-  status varchar(50) NOT NULL,
-  PRIMARY KEY (id)
-);
-
-create table kitchen_sinks (
-       id_1 integer not null,
-       id_2 integer not null,
-       a_date date,
-       a_string varchar(100),
-       primary key (id_1, id_2)
-);
-
-create table restaurants (
-       franchise_id integer not null,
-       store_id integer not null,
-       name varchar(100),
-       primary key (franchise_id, store_id)
-);
-
-create table restaurants_suburbs (
-       franchise_id integer not null,
-       store_id integer not null,
-       city_id integer not null,
-       suburb_id integer not null
-);
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-drop-tables.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-drop-tables.sql
deleted file mode 100644 (file)
index eb48433..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-drop table MEMBERSHIPS;                                                                                                                    
-drop table REFERENCE_CODES;                                                                                                                 
-drop table TARIFFS;                                                                                                                         
-drop table ARTICLES;                                                                                                                        
-drop table GROUPS;                                                                                                                          
-drop table MEMBERSHIP_STATUSES;                                                                                                             
-drop table READINGS;                                                                                                                        
-drop table REFERENCE_TYPES;                                                                                                                 
-drop table STREETS;                                                                                                                         
-drop table PRODUCTS;                                                                                                                        
-drop table USERS;                                                                                                                           
-drop table SUBURBS;                                                                                                                         
-drop table PRODUCT_TARIFFS; 
-drop table KITCHEN_SINK;
-drop table RESTAURANTS;
-drop table RESTAURANTS_SUBURBS;
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/mysql.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/mysql.sql
deleted file mode 100644 (file)
index e83d3aa..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-create table reference_types (
-    reference_type_id int(11) not null auto_increment,
-    type_label varchar(50) default null,
-    abbreviation varchar(50) default null,
-    description varchar(50) default null,
-    primary key (reference_type_id)
-) type=InnoDB;
-
-create table reference_codes (
-    reference_type_id int(11),
-    reference_code int(11) not null,
-    code_label varchar(50) default null,
-    abbreviation varchar(50) default null,
-    description varchar(50) default null,
-    primary key (reference_type_id, reference_code)
-) type=InnoDB;
-
-create table products (
-    id int(11) not null auto_increment,
-    name varchar(50) default null,
-    primary key (id)
-) type=InnoDB;
-
-create table tariffs (
-    tariff_id int(11) not null,
-    start_date date not null,
-    amount integer(11) default null,
-    primary key (tariff_id, start_date)
-) type=InnoDB;
-
-create table product_tariffs (
-    product_id int(11) not null,
-    tariff_id int(11) not null,
-    tariff_start_date date not null,
-    primary key (product_id, tariff_id, tariff_start_date)
-) type=InnoDB;
-
-create table suburbs (
-    city_id int(11) not null,
-    suburb_id int(11) not null,
-    name varchar(50) not null,
-    primary key (city_id, suburb_id)
-) type=InnoDB;
-
-create table streets (
-    id int(11) not null auto_increment,
-    city_id int(11) not null,
-    suburb_id int(11) not null,
-    name varchar(50) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table users (
-    id int(11) not null auto_increment,
-    name varchar(50) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table articles (
-    id int(11) not null auto_increment,
-    name varchar(50) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table readings (
-    id int(11) not null auto_increment,
-    user_id int(11) not null,
-    article_id int(11) not null,
-    rating int(11) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table groups (
-    id int(11) not null auto_increment,
-    name varchar(50) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table memberships (
-    user_id int(11) not null,
-    group_id int(11) not null,
-    primary key  (user_id,group_id)
-) type=InnoDB;
-
-create table membership_statuses (
-    id int(11) not null auto_increment,
-    user_id int(11) not null,
-    group_id int(11) not null,
-    status varchar(50) not null,
-    primary key (id)
-) type=InnoDB;
-
-create table departments (
-    department_id int(11) not null,
-    location_id int(11) not null,
-    primary key (department_id, location_id)
-) type=InnoDB;
-
-create table employees (
-    id int(11) not null auto_increment,
-    department_id int(11) default null,
-    location_id int(11) default null,
-    primary key (id)
-) type=InnoDB;
-
-create table comments (
-    id int(11) not null auto_increment,
-    person_id varchar(100) default null,
-    person_type varchar(100) default null,
-    hack_id varchar(100) default null,
-    primary key (id)
-) type=InnoDB;
-
-create table hacks (
-    name varchar(50) not null,
-    primary key (name)
-) type=InnoDB;
-
-create table kitchen_sinks (
-    id_1 int(11) not null,
-    id_2 int(11) not null,
-    a_date date,
-    a_string varchar(100),
-    primary key (id_1, id_2)
-) type=InnoDB;
-
-create table restaurants (
-    franchise_id int(11) not null,
-    store_id int(11) not null,
-    name varchar(100),
-    primary key (franchise_id, store_id)
-) type=InnoDB;
-
-create table restaurants_suburbs (
-    franchise_id int(11) not null,
-    store_id int(11) not null,
-    city_id int(11) not null,
-    suburb_id int(11) not null
-) type=InnoDB;
-
-create table dorms (
-    id int(11) not null auto_increment,
-    primary key(id)
-) type=InnoDB;
-
-create table rooms (
-    dorm_id int(11) not null,
-    room_id int(11) not null,
-    primary key (dorm_id, room_id)
-) type=InnoDB;
-
-create table room_attributes (
-    id int(11) not null auto_increment,
-    name varchar(50),
-    primary key(id)
-) type=InnoDB;
-
-create table room_attribute_assignments (
-    dorm_id int(11) not null,
-    room_id int(11) not null,
-    room_attribute_id int(11) not null
-) type=InnoDB;
-
-create table students (
-    id int(11) not null auto_increment,
-    primary key(id)
-) type=InnoDB;
-
-create table room_assignments (
-    student_id int(11) not null,
-    dorm_id int(11) not null,
-    room_id int(11) not null
-) type=InnoDB;
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.drop.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.drop.sql
deleted file mode 100644 (file)
index d23e3a3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-drop table reference_types;
-drop sequence reference_types_seq;
-drop table reference_codes;
-drop table products;
-drop sequence products_seq;
-drop table tariffs;
-drop table product_tariffs;
-drop table suburbs;
-drop table streets;
-drop sequence streets_seq;
-drop table users;
-drop sequence users_seq;
-drop table articles;
-drop sequence articles_seq;
-drop table readings;
-drop sequence readings_seq;
-drop table groups;
-drop sequence groups_seq;
-drop table memberships;
-drop table membership_statuses;
-drop sequence membership_statuses_seq;
-drop table departments;
-drop table employees;
-drop sequence employees_seq;
-drop table comments;
-drop sequence comments_seq;
-drop table hacks;
-drop table kitchen_sinks;
-drop table restaurants;
-drop table restaurants_suburbs;
-drop table dorms;
-drop sequence dorms_seq;
-drop table rooms;
-drop table room_attributes;
-drop sequence room_attributes_seq;
-drop table room_attribute_assignments;
-drop table room_assignments;
-drop table students;
-drop sequence students_seq;
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.sql
deleted file mode 100644 (file)
index 8db0ff2..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-create sequence reference_types_seq start with 1000;
-
-create table reference_types (
-    reference_type_id number(11)   primary key,
-    type_label        varchar2(50) default null,
-    abbreviation      varchar2(50) default null,
-    description       varchar2(50) default null
-);
-
-create table reference_codes (
-    reference_type_id number(11),
-    reference_code    number(11),
-    code_label        varchar2(50) default null,
-    abbreviation      varchar2(50) default null,
-    description       varchar2(50) default null
-);
-
-create sequence products_seq start with 1000;
-
-create table products (
-    id   number(11)   primary key,
-    name varchar2(50) default null
-);
-
-create table tariffs (
-    tariff_id  number(11),
-    start_date date,
-    amount     number(11) default null,
-    constraint tariffs_pk primary key (tariff_id, start_date)
-);
-
-create table product_tariffs (
-    product_id        number(11),
-    tariff_id         number(11),
-    tariff_start_date date,
-    constraint product_tariffs_pk primary key (product_id, tariff_id, tariff_start_date)
-);
-
-create table suburbs (
-    city_id   number(11),
-    suburb_id number(11),
-    name      varchar2(50) not null,
-    constraint suburbs_pk primary key (city_id, suburb_id)
-);
-
-create sequence streets_seq start with 1000;
-
-create table streets (
-    id        number(11)   primary key,
-    city_id   number(11)   not null,
-    suburb_id number(11)   not null,
-    name      varchar2(50) not null
-);
-
-create sequence users_seq start with 1000;
-
-create table users (
-    id   number(11)   primary key,
-    name varchar2(50) not null
-);
-
-create sequence articles_seq start with 1000;
-
-create table articles (
-    id   number(11)   primary key,
-    name varchar2(50) not null
-);
-
-create sequence readings_seq start with 1000;
-
-create table readings (
-    id         number(11) primary key,
-    user_id    number(11) not null,
-    article_id number(11) not null,
-    rating     number(11) not null
-);
-
-create sequence groups_seq start with 1000;
-
-create table groups (
-    id   number(11)   primary key,
-    name varchar2(50) not null
-);
-
-create table memberships (
-    user_id  number(11) not null,
-    group_id number(11) not null,
-    constraint memberships_pk primary key (user_id, group_id)
-);
-
-create sequence membership_statuses_seq start with 1000;
-
-create table membership_statuses (
-    id       number(11)   primary key,
-    user_id  number(11)   not null,
-    group_id number(11)   not null,
-    status   varchar2(50) not null
-);
-
-create table departments (
-    department_id number(11) not null,
-    location_id   number(11) not null,
-    constraint departments_pk primary key (department_id, location_id)
-);
-
-create sequence employees_seq start with 1000;
-
-create table employees (
-    id            number(11) not null primary key,
-    department_id number(11) default null,
-    location_id   number(11) default null
-);
-
-create sequence comments_seq start with 1000;
-
-create table comments (
-    id          number(11)   not null primary key,
-    person_id   varchar(100) default null,
-    person_type varchar(100) default null,
-    hack_id     varchar(100) default null
-);
-
-create table hacks (
-    name varchar(50) not null primary key
-);
-
-create table kitchen_sinks (
-    id_1   number(11) not null,
-    id_2   number(11) not null,
-    a_date date,
-    a_string varchar(100),
-    constraint kitchen_sinks_pk primary key (id_1, id_2)
-);
-
-create table restaurants (
-    franchise_id number(11) not null,
-    store_id     number(11) not null,
-    name         varchar(100),
-    constraint restaurants_pk primary key (franchise_id, store_id)
-);
-
-create table restaurants_suburbs (
-    franchise_id number(11) not null,
-    store_id     number(11) not null,
-    city_id      number(11) not null,
-    suburb_id    number(11) not null
-);
-
-create sequence dorms_seq start with 1000;
-
-create table dorms (
-    id number(11) not null,
-    constraint dorms_pk primary key (id)
-);
-
-create table rooms (
-    dorm_id number(11) not null,
-    room_id number(11) not null,
-    constraint rooms_pk primary key (dorm_id, room_id)
-);
-
-create sequence room_attributes_seq start with 1000;
-
-create table room_attributes (
-    id   number(11) not null,
-    name varchar(50),
-    constraint room_attributes_pk primary key (id)
-);
-
-create table room_attribute_assignments (
-    dorm_id           number(11) not null,
-    room_id           number(11) not null,
-    room_attribute_id number(11) not null
-);
-
-create sequence students_seq start with 1000;
-
-create table students (
-    id number(11) not null,
-    constraint students_pk primary key (id)
-);
-
-create table room_assignments (
-    student_id number(11) not null,
-    dorm_id    number(11) not null,
-    room_id    number(11) not null
-);
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/postgresql.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/postgresql.sql
deleted file mode 100644 (file)
index c3ca788..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-create sequence public.reference_types_seq start 1000;
-
-create table reference_types (
-    reference_type_id int         default nextval('public.reference_types_seq'),
-    type_label        varchar(50) default null,
-    abbreviation      varchar(50) default null,
-    description       varchar(50) default null,
-    primary key (reference_type_id)
-);
-
-create table reference_codes (
-    reference_type_id int,
-    reference_code    int         not null,
-    code_label        varchar(50) default null,
-    abbreviation      varchar(50) default null,
-    description       varchar(50) default null
-);
-
-create sequence public.products_seq start 1000;
-
-create table products (
-    id   int         not null default nextval('public.products_seq'),
-    name varchar(50) default null,
-    primary key (id)
-);
-
-create table tariffs (
-    tariff_id  int  not null,
-    start_date date not null,
-    amount     int  default null,
-    primary key (tariff_id, start_date)
-);
-
-create table product_tariffs (
-    product_id        int  not null,
-    tariff_id         int  not null,
-    tariff_start_date date not null,
-    primary key (product_id, tariff_id, tariff_start_date)
-);
-
-create table suburbs (
-    city_id   int         not null,
-    suburb_id int         not null,
-    name      varchar(50) not null,
-    primary key (city_id, suburb_id)
-);
-
-create sequence public.streets_seq start 1000;
-
-create table streets (
-    id        int         not null default nextval('public.streets_seq'),
-    city_id   int         not null,
-    suburb_id int         not null,
-    name      varchar(50) not null,
-    primary key (id)
-);
-
-create sequence public.users_seq start 1000;
-
-create table users (
-    id   int         not null default nextval('public.users_seq'),
-    name varchar(50) not null,
-    primary key (id)
-);
-
-create sequence public.articles_seq start 1000;
-
-create table articles (
-    id   int         not null default nextval('public.articles_seq'),
-    name varchar(50) not null,
-    primary key (id)
-);
-
-create sequence public.readings_seq start 1000;
-
-create table readings (
-    id         int not null default nextval('public.readings_seq'),
-    user_id    int not null,
-    article_id int not null,
-    rating     int not null,
-    primary key (id)
-);
-
-create sequence public.groups_seq start 1000;
-
-create table groups (
-    id   int         not null default nextval('public.groups_seq'),
-    name varchar(50) not null,
-    primary key (id)
-);
-
-create table memberships (
-    user_id  int not null,
-    group_id int not null,
-    primary key (user_id, group_id)
-);
-
-create sequence public.membership_statuses_seq start 1000;
-
-create table membership_statuses (
-    id       int         not null default nextval('public.membership_statuses_seq'),
-    user_id  int         not null,
-    group_id int         not null,
-    status   varchar(50) not null,
-    primary key (id)
-);
-
-create table departments (
-    department_id int not null,
-    location_id   int not null,
-    primary key (department_id, location_id)
-);
-
-create sequence public.employees_seq start 1000;
-
-create table employees (
-    id            int not null default nextval('public.employees_seq'),
-    department_id int default null,
-    location_id   int default null,
-    primary key (id)
-);
-
-create sequence public.comments_seq start 1000;
-
-create table comments (
-    id          int          not null default nextval('public.comments_seq'),
-    person_id   varchar(100) default null,
-    person_type varchar(100) default null,
-    hack_id     varchar(100) default null,
-    primary key (id)
-);
-
-create table hacks (
-    name varchar(50) not null,
-    primary key (name)
-);
-
-create table kitchen_sinks (
-    id_1   int not null,
-    id_2   int not null,
-    a_date date,
-    a_string varchar(100),
-    primary key (id_1, id_2)
-);
-
-create table restaurants (
-    franchise_id int not null,
-    store_id     int not null,
-    name         varchar(100),
-    primary key (franchise_id, store_id)
-);
-
-create table restaurants_suburbs (
-    franchise_id int not null,
-    store_id     int not null,
-    city_id      int not null,
-    suburb_id    int not null
-);
-
-create sequence public.dorms_seq start 1000;
-
-create table dorms (
-    id int not null default nextval('public.dorms_seq'),
-    primary key (id)
-);
-
-create table rooms (
-    dorm_id int not null,
-    room_id int not null,
-    primary key (dorm_id, room_id)
-);
-
-create sequence public.room_attributes_seq start 1000;
-
-create table room_attributes (
-    id   int not null default nextval('public.room_attributes_seq'),
-    name varchar(50),
-    primary key (id)
-);
-
-create table room_attribute_assignments (
-    dorm_id           int not null,
-    room_id           int not null,
-    room_attribute_id int not null
-);
-
-create sequence public.students_seq start 1000;
-
-create table students (
-    id int not null default nextval('public.students_seq'),
-    primary key (id)
-);
-
-create table room_assignments (
-    student_id int not null,
-    dorm_id    int not null,
-    room_id    int not null
-);
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/sqlite.sql b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/sqlite.sql
deleted file mode 100644 (file)
index fd8c566..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-create table reference_types (
-    reference_type_id integer primary key,
-    type_label varchar(50) default null,
-    abbreviation varchar(50) default null,
-    description varchar(50) default null
-);
-
-create table reference_codes (
-    reference_type_id int(11),
-    reference_code int(11) not null,
-    code_label varchar(50) default null,
-    abbreviation varchar(50) default null,
-    description varchar(50) default null,
-    primary key (reference_type_id, reference_code)
-);
-
-create table products (
-    id int(11) not null primary key,
-    name varchar(50) default null
-);
-
-create table tariffs (
-    tariff_id int(11) not null,
-    start_date date not null,
-    amount integer(11) default null,
-    primary key (tariff_id, start_date)
-);
-
-create table product_tariffs (
-    product_id int(11) not null,
-    tariff_id int(11) not null,
-    tariff_start_date date not null,
-    primary key (product_id, tariff_id, tariff_start_date)
-);
-
-create table suburbs (
-    city_id int(11) not null,
-    suburb_id int(11) not null,
-    name varchar(50) not null,
-    primary key (city_id, suburb_id)
-);
-
-create table streets (
-    id integer not null primary key autoincrement,
-    city_id int(11) not null,
-    suburb_id int(11) not null,
-    name varchar(50) not null
-);
-
-create table users (
-    id integer not null primary key autoincrement,
-    name varchar(50) not null
-);
-
-create table articles (
-    id integer not null primary key autoincrement,
-    name varchar(50) not null
-);
-
-create table readings (
-    id integer not null primary key autoincrement,
-    user_id int(11) not null,
-    article_id int(11) not null,
-    rating int(11) not null
-);
-
-create table groups (
-    id integer not null primary key autoincrement,
-    name varchar(50) not null
-);
-
-create table memberships (
-    user_id int not null,
-    group_id int not null,
-    primary key (user_id, group_id)
-);
-
-create table membership_statuses (
-    id integer not null primary key autoincrement,
-    user_id int not null,
-    group_id int not null,
-       status varchar(50) not null
-);
-
-create table departments (
-    department_id integer not null,
-    location_id integer not null,
-    primary key (department_id, location_id)
-);
-
-create table employees (
-    id integer not null primary key autoincrement,
-    department_id integer null,
-    location_id integer null
-);
-
-create table comments (
-       id integer not null primary key autoincrement,
-       person_id varchar(100) null,
-       person_type varchar(100) null,
-       hack_id varchar(100) null
-);
-
-create table hacks (
-    name varchar(50) not null primary key
-);
-
-create table kitchen_sinks (
-       id_1 integer not null,
-       id_2 integer not null,
-       a_date date,
-       a_string varchar(100),
-       primary key (id_1, id_2)
-);
-
-create table restaurants (
-       franchise_id integer not null,
-       store_id integer not null,
-       name varchar(100),
-       primary key (franchise_id, store_id)
-);
-
-create table restaurants_suburbs (
-       franchise_id integer not null,
-       store_id integer not null,
-       city_id integer not null,
-       suburb_id integer not null
-);
-
-create table dorms (
-       id integer not null primary key autoincrement
-);
-
-create table rooms (
-       dorm_id integer not null,
-       room_id integer not null,
-       primary key (dorm_id, room_id)
-);
-
-create table room_attributes (
-       id integer not null primary key autoincrement,
-       name varchar(50)
-);
-
-create table room_attribute_assignments (
-       dorm_id integer not null,
-       room_id integer not null,
-       room_attribute_id integer not null
-);
-
-create table students (
-       id integer not null primary key autoincrement
-);
-
-create table room_assignments (
-       student_id integer not null,
-       dorm_id integer not null,
-       room_id integer not null        
-);
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/department.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/department.rb
deleted file mode 100644 (file)
index a76eaf3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-class Department < ActiveRecord::Base
-  # set_primary_keys *keys - turns on composite key functionality
-  set_primary_keys :department_id, :location_id
-  has_many :employees, :foreign_key => [:department_id, :location_id]
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/departments.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/departments.yml
deleted file mode 100644 (file)
index 4213244..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-department1-cpk:
-  department_id: 1
-  location_id: 1
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employee.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employee.rb
deleted file mode 100644 (file)
index 2b47e09..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-class Employee < ActiveRecord::Base
-       belongs_to :department, :foreign_key => [:department_id, :location_id]
-       has_many :comments, :as => :person
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employees.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employees.yml
deleted file mode 100644 (file)
index c2efd83..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-employee1:
-  id: 1
-  department_id: 1
-  location_id: 1
-employee2:
-  id: 2
-  department_id: 1
-  location_id: 1
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/group.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/group.rb
deleted file mode 100644 (file)
index 889ee2f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-class Group < ActiveRecord::Base
-  has_many :memberships
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/groups.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/groups.yml
deleted file mode 100644 (file)
index a15185e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-cpk:
-  id: 1
-  name: Composite Primary Keys
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hack.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hack.rb
deleted file mode 100644 (file)
index 71d6cac..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class Hack < ActiveRecord::Base
-  set_primary_keys :name
-  has_many :comments, :as => :person
-  
-  has_one :first_comment, :as => :person, :class_name => "Comment"
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hacks.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hacks.yml
deleted file mode 100644 (file)
index 29f67b1..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-andrew:
-  name: andrew
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership.rb
deleted file mode 100644 (file)
index d5111e9..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-class Membership < ActiveRecord::Base
-  # set_primary_keys *keys - turns on composite key functionality
-  set_primary_keys :user_id, :group_id
-  belongs_to :user
-       belongs_to :group
-       has_many :statuses, :class_name => 'MembershipStatus', :foreign_key => [:user_id, :group_id]
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_status.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_status.rb
deleted file mode 100644 (file)
index 54b687c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-class MembershipStatus < ActiveRecord::Base
-       belongs_to :membership, :foreign_key => [:user_id, :group_id]
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_statuses.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_statuses.yml
deleted file mode 100644 (file)
index d3f3c30..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-santiago-cpk:
-  id: 1
-  user_id: 1
-  group_id: 1
-  status: Active
-drnic-cpk:
-  id: 2
-  user_id: 2
-  group_id: 1
-  status: Owner
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/memberships.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/memberships.yml
deleted file mode 100644 (file)
index f6cdc84..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-santiago-cpk:
-  user_id: 1
-  group_id: 1
-drnic-cpk:
-  user_id: 2
-  group_id: 1
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product.rb
deleted file mode 100644 (file)
index e780fd2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-class Product < ActiveRecord::Base
-       set_primary_keys :id  # redundant
-       has_many :product_tariffs, :foreign_key => :product_id
-       has_one :product_tariff, :foreign_key => :product_id
-
-       has_many :tariffs, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariff.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariff.rb
deleted file mode 100644 (file)
index d5c9bef..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-class ProductTariff < ActiveRecord::Base
-       set_primary_keys :product_id, :tariff_id, :tariff_start_date
-       belongs_to :product, :foreign_key => :product_id
-       belongs_to :tariff,  :foreign_key => [:tariff_id, :tariff_start_date]
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariffs.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariffs.yml
deleted file mode 100644 (file)
index 72be1e7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-first_flat:
-  product_id: 1
-  tariff_id: 1
-  tariff_start_date: <%= Date.today.to_s(:db) %>
-first_free:  
-  product_id: 1
-  tariff_id: 2
-  tariff_start_date: <%= Date.today.to_s(:db) %>
-second_free:
-  product_id: 2
-  tariff_id: 2
-  tariff_start_date: <%= Date.today.to_s(:db) %>
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/products.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/products.yml
deleted file mode 100644 (file)
index c436c29..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-first_product:
-  id: 1
-  name: Product One
-second_product:
-  id: 2
-  name: Product Two
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reading.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reading.rb
deleted file mode 100644 (file)
index 014d8b8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-class Reading < ActiveRecord::Base
-  belongs_to :article
-  belongs_to :user
-end 
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/readings.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/readings.yml
deleted file mode 100644 (file)
index 36e9ac3..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-santiago_first:
-  id: 1
-  user_id: 1
-  article_id: 1
-  rating: 4
-santiago_second:
-  id: 2
-  user_id: 1
-  article_id: 2
-  rating: 5
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_code.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_code.rb
deleted file mode 100644 (file)
index e20fb06..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-class ReferenceCode < ActiveRecord::Base
-  set_primary_keys :reference_type_id, :reference_code
-  
-  belongs_to :reference_type, :foreign_key => "reference_type_id"
-  
-  validates_presence_of :reference_code, :code_label, :abbreviation
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_codes.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_codes.yml
deleted file mode 100644 (file)
index f4d88bc..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-name_prefix_mr:
-  reference_type_id: 1
-  reference_code: 1
-  code_label: MR
-  abbreviation: Mr
-name_prefix_mrs:
-  reference_type_id: 1
-  reference_code: 2
-  code_label: MRS
-  abbreviation: Mrs
-name_prefix_ms:
-  reference_type_id: 1
-  reference_code: 3
-  code_label: MS
-  abbreviation: Ms
-  
-gender_male:
-  reference_type_id: 2
-  reference_code: 1
-  code_label: MALE
-  abbreviation: Male
-gender_female:
-  reference_type_id: 2
-  reference_code: 2
-  code_label: FEMALE
-  abbreviation: Female
-
-  
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_type.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_type.rb
deleted file mode 100644 (file)
index c09bd2f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-class ReferenceType < ActiveRecord::Base
-  set_primary_key :reference_type_id
-  has_many :reference_codes, :foreign_key => "reference_type_id"
-  
-  validates_presence_of :type_label, :abbreviation
-  validates_uniqueness_of :type_label
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_types.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_types.yml
deleted file mode 100644 (file)
index 9c5e3d3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-name_prefix:
-  reference_type_id: 1
-  type_label: NAME_PREFIX
-  abbreviation: Name Prefix
-
-gender:
-  reference_type_id: 2
-  type_label: GENDER
-  abbreviation: Gender
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/street.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/street.rb
deleted file mode 100644 (file)
index de92917..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-class Street < ActiveRecord::Base
-  belongs_to :suburb,  :foreign_key => [:city_id, :suburb_id]
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/streets.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/streets.yml
deleted file mode 100644 (file)
index 38998c4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-first:
-  id: 1
-  city_id: 1
-  suburb_id: 1
-  name: First Street
-second1:
-  id: 2
-  city_id: 2
-  suburb_id: 1
-  name: First Street
-second2:
-  id: 3
-  city_id: 2
-  suburb_id: 1
-  name: Second Street
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburb.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburb.rb
deleted file mode 100644 (file)
index f2eb181..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class Suburb < ActiveRecord::Base
-  set_primary_keys :city_id, :suburb_id
-  has_many :streets,  :foreign_key => [:city_id, :suburb_id]
-  has_many :first_streets,  :foreign_key => [:city_id, :suburb_id], 
-          :class_name => 'Street', :conditions => "streets.name = 'First Street'"
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburbs.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburbs.yml
deleted file mode 100644 (file)
index d230fba..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-first:
-  city_id: 1
-  suburb_id: 1
-  name: First Suburb
-second:
-  city_id: 2
-  suburb_id: 1
-  name: Second Suburb
-  
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariff.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariff.rb
deleted file mode 100644 (file)
index 3feba44..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-class Tariff < ActiveRecord::Base
-       set_primary_keys [:tariff_id, :start_date]
-       has_many :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
-       has_one :product_tariff, :foreign_key => [:tariff_id, :tariff_start_date]
-       has_many :products, :through => :product_tariffs, :foreign_key => [:tariff_id, :tariff_start_date]
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariffs.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariffs.yml
deleted file mode 100644 (file)
index 997ebb8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-flat:
-  tariff_id: 1
-  start_date: <%= Date.today.to_s(:db) %>
-  amount: 50
-free:
-  tariff_id: 2
-  start_date: <%= Date.today.to_s(:db) %>
-  amount: 0
-flat_future:
-  tariff_id: 1
-  start_date: <%= Date.today.next.to_s(:db) %>
-  amount: 100
-  
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/user.rb b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/user.rb
deleted file mode 100644 (file)
index 6744818..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-class User < ActiveRecord::Base
-  has_many :readings
-  has_many :articles, :through => :readings
-  has_many :comments, :as => :person
-  has_many :hacks, :through => :comments, :source => :hack
-  
-  def find_custom_articles
-    articles.find(:all, :conditions => ["name = ?", "Article One"])
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/users.yml b/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/users.yml
deleted file mode 100644 (file)
index 858c47c..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-santiago:
-  id: 1
-  name: Santiago
-drnic:
-  id: 2
-  name: Dr Nic
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/hash_tricks.rb b/vendor/gems/composite_primary_keys-2.2.2/test/hash_tricks.rb
deleted file mode 100644 (file)
index 856fc5f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# From:
-# http://www.bigbold.com/snippets/posts/show/2178
-# http://blog.caboo.se/articles/2006/06/11/stupid-hash-tricks
-# 
-# An example utilisation of these methods in a controller is:
-# def some_action
-#    # some script kiddie also passed in :bee, which we don't want tampered with _here_.
-#    @model = Model.create(params.pass(:foo, :bar))
-#  end
-class Hash
-
-  # lets through the keys in the argument
-  # >> {:one => 1, :two => 2, :three => 3}.pass(:one)
-  # => {:one=>1}
-  def pass(*keys)
-    keys = keys.first if keys.first.is_a?(Array)
-    tmp = self.clone
-    tmp.delete_if {|k,v| ! keys.include?(k.to_sym) }
-    tmp.delete_if {|k,v| ! keys.include?(k.to_s) }
-    tmp
-  end
-
-  # blocks the keys in the arguments
-  # >> {:one => 1, :two => 2, :three => 3}.block(:one)
-  # => {:two=>2, :three=>3}
-  def block(*keys)
-    keys = keys.first if keys.first.is_a?(Array)
-    tmp = self.clone
-    tmp.delete_if {|k,v| keys.include?(k.to_sym) }
-    tmp.delete_if {|k,v| keys.include?(k.to_s) }
-    tmp
-  end
-
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_associations.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_associations.rb
deleted file mode 100644 (file)
index 4c69ce5..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/article'
-require 'fixtures/product'
-require 'fixtures/tariff'
-require 'fixtures/product_tariff'
-require 'fixtures/suburb'
-require 'fixtures/street'
-require 'fixtures/restaurant'
-require 'fixtures/dorm'
-require 'fixtures/room'
-require 'fixtures/room_attribute'
-require 'fixtures/room_attribute_assignment'
-require 'fixtures/student'
-require 'fixtures/room_assignment'
-require 'fixtures/user'
-require 'fixtures/reading'
-
-class TestAssociations < Test::Unit::TestCase
-  fixtures :articles, :products, :tariffs, :product_tariffs, :suburbs, :streets, :restaurants, :restaurants_suburbs,
-           :dorms, :rooms, :room_attributes, :room_attribute_assignments, :students, :room_assignments, :users, :readings
-  
-  def test_has_many_through_with_conditions_when_through_association_is_not_composite
-    user = User.find(:first)
-    assert_equal 1, user.articles.find(:all, :conditions => ["articles.name = ?", "Article One"]).size
-  end
-
-  def test_has_many_through_with_conditions_when_through_association_is_composite
-    room = Room.find(:first)
-    assert_equal 0, room.room_attributes.find(:all, :conditions => ["room_attributes.name != ?", "keg"]).size
-  end
-
-  def test_has_many_through_on_custom_finder_when_through_association_is_composite_finder_when_through_association_is_not_composite
-    user = User.find(:first)
-    assert_equal 1, user.find_custom_articles.size
-  end
-
-  def test_has_many_through_on_custom_finder_when_through_association_is_composite
-    room = Room.find(:first)
-    assert_equal 0, room.find_custom_room_attributes.size
-  end
-  
-  def test_count
-    assert_equal 2, Product.count(:include => :product_tariffs)
-    assert_equal 3, Tariff.count(:include => :product_tariffs)
-    assert_equal 2, Tariff.count(:group => :start_date).size
-  end
-  
-  def test_products
-    assert_not_nil products(:first_product).product_tariffs
-    assert_equal 2, products(:first_product).product_tariffs.length
-    assert_not_nil products(:first_product).tariffs
-    assert_equal 2, products(:first_product).tariffs.length
-    assert_not_nil products(:first_product).product_tariff
-  end
-  
-  def test_product_tariffs
-    assert_not_nil product_tariffs(:first_flat).product
-    assert_not_nil product_tariffs(:first_flat).tariff
-    assert_equal Product, product_tariffs(:first_flat).product.class
-    assert_equal Tariff, product_tariffs(:first_flat).tariff.class
-  end
-  
-  def test_tariffs
-    assert_not_nil tariffs(:flat).product_tariffs
-    assert_equal 1, tariffs(:flat).product_tariffs.length
-    assert_not_nil tariffs(:flat).products
-    assert_equal 1, tariffs(:flat).products.length
-    assert_not_nil tariffs(:flat).product_tariff
-  end
-  
-  # Its not generating the instances of associated classes from the rows
-  def test_find_includes_products
-    assert @products = Product.find(:all, :include => :product_tariffs)
-    assert_equal 2, @products.length
-    assert_not_nil @products.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'
-    assert_equal 3, @products.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
-      "Incorrect number of product_tariffs returned"
-  end
-  
-  def test_find_includes_tariffs
-    assert @tariffs = Tariff.find(:all, :include => :product_tariffs)
-    assert_equal 3, @tariffs.length
-    assert_not_nil @tariffs.first.instance_variable_get('@product_tariffs'), '@product_tariffs not set; should be array'
-    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
-      "Incorrect number of product_tariffs returnedturned"
-  end
-  
-  def test_find_includes_product
-    assert @product_tariffs = ProductTariff.find(:all, :include => :product)
-    assert_equal 3, @product_tariffs.length
-    assert_not_nil @product_tariffs.first.instance_variable_get('@product'), '@product not set'
-  end
-  
-  def test_find_includes_comp_belongs_to_tariff
-    assert @product_tariffs = ProductTariff.find(:all, :include => :tariff)
-    assert_equal 3, @product_tariffs.length
-    assert_not_nil @product_tariffs.first.instance_variable_get('@tariff'), '@tariff not set'
-  end
-  
-  def test_find_includes_extended
-    assert @products = Product.find(:all, :include => {:product_tariffs => :tariff})
-    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@product_tariffs').length},
-      "Incorrect number of product_tariffs returned"
-    
-    assert @tariffs = Tariff.find(:all, :include => {:product_tariffs => :product})
-    assert_equal 3, @tariffs.inject(0) {|sum, tariff| sum + tariff.instance_variable_get('@product_tariffs').length}, 
-      "Incorrect number of product_tariffs returned"
-  end
-  
-  def test_join_where_clause
-    @product = Product.find(:first, :include => :product_tariffs)
-    where_clause = @product.product_tariffs.composite_where_clause(
-      ['foo','bar'], [1,2]
-    )
-    assert_equal('(foo=1 AND bar=2)', where_clause)
-  end
-  
-  def test_has_many_through
-    @products = Product.find(:all, :include => :tariffs)
-    assert_equal 3, @products.inject(0) {|sum, product| sum + product.instance_variable_get('@tariffs').length},
-      "Incorrect number of tariffs returned"
-  end
-  
-  def test_has_many_through_when_not_pre_loaded
-       student = Student.find(:first)
-       rooms = student.rooms
-       assert_equal 1, rooms.size
-       assert_equal 1, rooms.first.dorm_id
-       assert_equal 1, rooms.first.room_id
-  end
-  
-  def test_has_many_through_when_through_association_is_composite
-    dorm = Dorm.find(:first)
-    assert_equal 1, dorm.rooms.length
-    assert_equal 1, dorm.rooms.first.room_attributes.length
-    assert_equal 'keg', dorm.rooms.first.room_attributes.first.name
-  end
-
-  def test_associations_with_conditions
-    @suburb = Suburb.find([2, 1])
-    assert_equal 2, @suburb.streets.size
-
-    @suburb = Suburb.find([2, 1])
-    assert_equal 1, @suburb.first_streets.size
-
-    @suburb = Suburb.find([2, 1], :include => :streets)
-    assert_equal 2, @suburb.streets.size
-
-    @suburb = Suburb.find([2, 1], :include => :first_streets)
-    assert_equal 1, @suburb.first_streets.size
-  end
-  
-  def test_has_and_belongs_to_many
-    @restaurant = Restaurant.find([1,1])
-    assert_equal 2, @restaurant.suburbs.size
-    
-    @restaurant = Restaurant.find([1,1], :include => :suburbs)
-    assert_equal 2, @restaurant.suburbs.size  
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_attribute_methods.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_attribute_methods.rb
deleted file mode 100644 (file)
index b020a64..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/kitchen_sink'
-require 'fixtures/reference_type'
-
-class TestAttributeMethods < Test::Unit::TestCase
-  fixtures :kitchen_sinks, :reference_types
-  
-  def test_read_attribute_with_single_key
-    rt = ReferenceType.find(1)
-    assert_equal(1, rt.reference_type_id)
-    assert_equal('NAME_PREFIX', rt.type_label)
-    assert_equal('Name Prefix', rt.abbreviation)
-  end
-
-  def test_read_attribute_with_composite_keys
-    sink = KitchenSink.find(1,2)
-    assert_equal(1, sink.id_1)
-    assert_equal(2, sink.id_2)
-    assert_equal(Date.today, sink.a_date.to_date)
-    assert_equal('string', sink.a_string)
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_attributes.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_attributes.rb
deleted file mode 100644 (file)
index 7504082..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-require 'fixtures/product'
-require 'fixtures/tariff'
-require 'fixtures/product_tariff'
-
-class TestAttributes < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes, :products, :tariffs, :product_tariffs
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_brackets
-    testing_with do
-      @first.attributes.each_pair do |attr_name, value|
-        assert_equal value, @first[attr_name]
-      end
-    end
-  end
-    
-  def test_brackets_primary_key
-    testing_with do
-      assert_equal @first.id, @first[@primary_keys], "[] failing for #{@klass}"
-      assert_equal @first.id, @first[@first.class.primary_key]
-    end
-  end
-
-  def test_brackets_assignment
-    testing_with do
-      @first.attributes.each_pair do |attr_name, value|
-        @first[attr_name]= !value.nil? ? value * 2 : '1'
-        assert_equal !value.nil? ? value * 2 : '1', @first[attr_name]
-      end
-    end
-  end
-    
-  def test_brackets_foreign_key_assignment
-    @flat = Tariff.find(1, Date.today.to_s(:db))
-    @second_free = ProductTariff.find(2,2,Date.today.to_s(:db))
-    @second_free_fk = [:tariff_id, :tariff_start_date]
-    @second_free[key = @second_free_fk] = @flat.id
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-      assert_equal @flat.id, @second_free[key]
-    @second_free[key = @second_free_fk.to_composite_ids] = @flat.id
-      assert_equal @flat.id, @second_free[key]
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-    @second_free[key = @second_free_fk.to_composite_ids] = @flat.id.to_s
-      assert_equal @flat.id, @second_free[key]
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-    @second_free[key = @second_free_fk.to_composite_ids] = @flat.id.to_s
-      assert_equal @flat.id, @second_free[key]
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-    @second_free[key = @second_free_fk.to_composite_ids.to_s] = @flat.id
-      assert_equal @flat.id, @second_free[key]
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-    @second_free[key = @second_free_fk.to_composite_ids.to_s] = @flat.id.to_s
-      assert_equal @flat.id, @second_free[key]
-      compare_indexes('@flat', @flat.class.primary_key, '@second_free', @second_free_fk)
-  end
-private
-  def compare_indexes(obj_name1, indexes1, obj_name2, indexes2)
-    obj1, obj2 = eval "[#{obj_name1}, #{obj_name2}]"
-    indexes1.length.times do |key_index|
-      assert_equal obj1[indexes1[key_index].to_s], 
-                   obj2[indexes2[key_index].to_s],
-                   "#{obj_name1}[#{indexes1[key_index]}]=#{obj1[indexes1[key_index].to_s].inspect} != " +
-                   "#{obj_name2}[#{indexes2[key_index]}]=#{obj2[indexes2[key_index].to_s].inspect}; " +
-                   "#{obj_name2} = #{obj2.inspect}"
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb
deleted file mode 100644 (file)
index 26e7970..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class TestClone < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_truth
-    testing_with do
-      clone = @first.clone
-      assert_equal @first.attributes.block(@klass.primary_key), clone.attributes
-      if composite?
-        @klass.primary_key.each {|key| assert_nil clone[key], "Primary key '#{key}' should be nil"} 
-      else
-        assert_nil clone[@klass.primary_key], "Sole primary key should be nil"
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_composite_arrays.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_composite_arrays.rb
deleted file mode 100644 (file)
index 41e21f8..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class CompositeArraysTest < Test::Unit::TestCase
-
-  def test_new_primary_keys
-    keys = CompositePrimaryKeys::CompositeKeys.new
-    assert_not_nil keys
-    assert_equal '', keys.to_s
-    assert_equal '', "#{keys}"
-  end
-
-  def test_initialize_primary_keys
-    keys = CompositePrimaryKeys::CompositeKeys.new([1,2,3])
-    assert_not_nil keys
-    assert_equal '1,2,3', keys.to_s
-    assert_equal '1,2,3', "#{keys}"
-  end
-  
-  def test_to_composite_keys
-    keys = [1,2,3].to_composite_keys
-    assert_equal CompositePrimaryKeys::CompositeKeys, keys.class
-    assert_equal '1,2,3', keys.to_s
-  end
-
-  def test_new_ids
-    keys = CompositePrimaryKeys::CompositeIds.new
-    assert_not_nil keys
-    assert_equal '', keys.to_s
-    assert_equal '', "#{keys}"
-  end
-
-  def test_initialize_ids
-    keys = CompositePrimaryKeys::CompositeIds.new([1,2,3])
-    assert_not_nil keys
-    assert_equal '1,2,3', keys.to_s
-    assert_equal '1,2,3', "#{keys}"
-  end
-  
-  def test_to_composite_ids
-    keys = [1,2,3].to_composite_ids
-    assert_equal CompositePrimaryKeys::CompositeIds, keys.class
-    assert_equal '1,2,3', keys.to_s
-  end
-  
-  def test_flatten
-    keys = [CompositePrimaryKeys::CompositeIds.new([1,2,3]), CompositePrimaryKeys::CompositeIds.new([4,5,6])]
-    assert_equal 6, keys.flatten.size
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_create.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_create.rb
deleted file mode 100644 (file)
index dfbc773..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-require 'fixtures/street'
-require 'fixtures/suburb'
-
-class TestCreate < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes, :streets, :suburbs
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-      :create => {:reference_type_id => 10, :type_label => 'NEW_TYPE', :abbreviation => 'New Type'}
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-      :create => {:reference_type_id => 1, :reference_code => 20, :code_label => 'NEW_CODE', :abbreviation => 'New Code'}
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_setup
-    testing_with do
-      assert_not_nil @klass_info[:create]
-    end
-  end
-  
-  def test_create
-    testing_with do
-      assert new_obj = @klass.create(@klass_info[:create])
-      assert !new_obj.new_record?
-    end
-  end
-  
-  def test_create_no_id
-    testing_with do
-      begin
-        @obj = @klass.create(@klass_info[:create].block(@klass.primary_key))
-        @successful = !composite?
-      rescue CompositePrimaryKeys::ActiveRecord::CompositeKeyError
-        @successful = false
-      rescue
-        flunk "Incorrect exception raised: #{$!}, #{$!.class}"
-      end
-      assert_equal composite?, !@successful, "Create should have failed for composites; #{@obj.inspect}"
-    end
-  end
-  
-  def test_create_on_association
-    suburb = Suburb.find(:first)
-    suburb.streets.create(:name => "my street")
-    street = Street.find_by_name('my street')
-    assert_equal(suburb.city_id, street.city_id)
-    assert_equal(suburb.suburb_id, street.suburb_id)
-  end
-  
-  def test_create_on_association_when_belongs_to_is_single_key
-    rt = ReferenceType.find(:first)
-    rt.reference_codes.create(:reference_code => 4321, :code_label => 'foo', :abbreviation => 'bar')
-    rc = ReferenceCode.find_by_reference_code(4321)
-    assert_equal(rc.reference_type_id, rt.reference_type_id)
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_delete.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_delete.rb
deleted file mode 100644 (file)
index 2bd0d2a..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-require 'fixtures/department'
-require 'fixtures/employee'
-
-class TestDelete < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes, :departments, :employees
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_destroy_one
-    testing_with do
-      #assert @first.destroy
-      assert true
-    end
-  end
-  
-  def test_destroy_one_via_class
-    testing_with do
-      assert @klass.destroy(*@first.id)
-    end
-  end
-  
-  def test_destroy_one_alone_via_class
-    testing_with do
-      assert @klass.destroy(@first.id)
-    end
-  end
-  
-  def test_delete_one
-    testing_with do
-      assert @klass.delete(*@first.id) if composite?
-    end
-  end
-  
-  def test_delete_one_alone
-    testing_with do
-      assert @klass.delete(@first.id)
-    end
-  end
-  
-  def test_delete_many
-    testing_with do
-      to_delete = @klass.find(:all)[0..1]
-      assert_equal 2, to_delete.length
-    end
-  end
-  
-  def test_delete_all
-    testing_with do
-      @klass.delete_all
-    end
-  end
-
-  def test_clear_association
-      department = Department.find(1,1)
-      assert_equal 2, department.employees.size, "Before clear employee count should be 2."
-      department.employees.clear
-      assert_equal 0, department.employees.size, "After clear employee count should be 0."
-      department.reload
-      assert_equal 0, department.employees.size, "After clear and a reload from DB employee count should be 0."
-  end
-
-  def test_delete_association
-      department = Department.find(1,1)
-      assert_equal 2, department.employees.size , "Before delete employee count should be 2."
-      first_employee = department.employees[0]
-      department.employees.delete(first_employee)
-      assert_equal 1, department.employees.size, "After delete employee count should be 1."
-      department.reload
-      assert_equal 1, department.employees.size, "After delete and a reload from DB employee count should be 1."
-  end
-
-  def test_delete_records_for_has_many_association_with_composite_primary_key
-      reference_type  = ReferenceType.find(1)
-      codes_to_delete = reference_type.reference_codes[0..1]
-      assert_equal 3, reference_type.reference_codes.size, "Before deleting records reference_code count should be 3."
-      reference_type.reference_codes.delete_records(codes_to_delete)
-      reference_type.reload
-      assert_equal 1, reference_type.reference_codes.size, "After deleting 2 records and a reload from DB reference_code count should be 1."
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_dummy.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_dummy.rb
deleted file mode 100644 (file)
index da21c47..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class TestDummy < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  classes = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-  }
-  
-  def setup
-    self.class.classes = classes
-  end
-  
-  def test_truth
-    testing_with do
-      assert true
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_exists.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_exists.rb
deleted file mode 100644 (file)
index 56f4af2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/article'
-require 'fixtures/department'
-
-class TestExists < Test::Unit::TestCase
-  fixtures :articles, :departments
-  
-  def test_single_key_exists_giving_id
-    assert Article.exists?(1)
-  end
-  
-  def test_single_key_exists_giving_condition
-    assert Article.exists?(['name = ?', 'Article One'])
-  end
-  
-  def test_composite_key_exists_giving_ids_as_string
-    assert Department.exists?('1,1,')
-  end
-  
-  def test_composite_key_exists_giving_ids_as_array
-    assert Department.exists?([1,1])
-    assert_equal(false, Department.exists?([1111,1111]))
-  end
-  
-  def test_composite_key_exists_giving_ids_as_condition
-    assert Department.exists?(['department_id = ? and location_id = ?', 1, 1])
-    assert_equal(false, Department.exists?(['department_id = ? and location_id = ?', 11111, 11111]))
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_find.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_find.rb
deleted file mode 100644 (file)
index c8c1af7..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-# Testing the find action on composite ActiveRecords with two primary keys
-class TestFind < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => [:reference_type_id],
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-    :dual_strs   => { 
-      :class => ReferenceCode,
-      :primary_keys => ['reference_type_id', 'reference_code'],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_find_first
-    testing_with do
-      obj = @klass.find(:first)
-      assert obj
-      assert_equal @klass, obj.class
-    end
-  end
-  
-  def test_find
-    testing_with do
-      found = @klass.find(*first_id) # e.g. find(1,1) or find 1,1
-      assert found
-      assert_equal @klass, found.class
-      assert_equal found, @klass.find(found.id)
-      assert_equal found, @klass.find(found.to_param)
-    end
-  end
-  
-  def test_find_composite_ids
-    testing_with do
-      found = @klass.find(first_id) # e.g. find([1,1].to_composite_ids)
-      assert found
-      assert_equal @klass, found.class
-      assert_equal found, @klass.find(found.id)
-      assert_equal found, @klass.find(found.to_param)
-    end
-  end
-  
-  def test_to_param
-    testing_with do
-      assert_equal first_id_str, @first.to_param.to_s
-    end
-  end
-  
-  def things_to_look_at
-    testing_with do
-      assert_equal found, @klass.find(found.id.to_s) # fails for 2+ keys
-    end
-  end
-  
-  def test_not_found
-    assert_raise(::ActiveRecord::RecordNotFound) do
-      ReferenceCode.send :find, '999,999'
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_ids.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_ids.rb
deleted file mode 100644 (file)
index 3cd4f3c..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class TestIds < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => [:reference_type_id],
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-    :dual_strs   => { 
-      :class => ReferenceCode,
-      :primary_keys => ['reference_type_id', 'reference_code'],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_id
-    testing_with do
-      assert_equal @first.id, @first.ids if composite?
-    end
-  end
-  
-  def test_id_to_s
-    testing_with do
-      assert_equal first_id_str, @first.id.to_s
-      assert_equal first_id_str, "#{@first.id}"
-    end
-  end
-  
-  def test_ids_to_s
-    testing_with do
-      order = @klass.primary_key.is_a?(String) ? @klass.primary_key : @klass.primary_key.join(',')
-      to_test = @klass.find(:all, :order => order)[0..1].map(&:id)
-      assert_equal '(1,1),(1,2)', @klass.ids_to_s(to_test) if @key_test == :dual
-      assert_equal '1,1;1,2', @klass.ids_to_s(to_test, ',', ';', '', '') if @key_test == :dual
-    end
-  end
-  
-  def test_composite_where_clause
-    testing_with do
-      where = 'reference_codes.reference_type_id=1 AND reference_codes.reference_code=2) OR (reference_codes.reference_type_id=2 AND reference_codes.reference_code=2'
-      assert_equal(where, @klass.composite_where_clause([[1, 2], [2, 2]])) if @key_test == :dual
-    end
-  end
-  
-  def test_set_ids_string
-    testing_with do
-      array = @primary_keys.collect {|key| 5}
-      expected = composite? ? array.to_composite_keys : array.first
-      @first.id = expected.to_s
-      assert_equal expected, @first.id
-    end
-  end
-  
-  def test_set_ids_array
-    testing_with do
-      array = @primary_keys.collect {|key| 5}
-      expected = composite? ? array.to_composite_keys : array.first
-      @first.id = expected
-      assert_equal expected, @first.id
-    end
-  end
-  
-  def test_set_ids_comp
-    testing_with do
-      array = @primary_keys.collect {|key| 5}
-      expected = composite? ? array.to_composite_keys : array.first
-      @first.id = expected
-      assert_equal expected, @first.id
-    end
-  end
-  
-  def test_primary_keys
-    testing_with do
-      if composite?
-        assert_not_nil @klass.primary_keys
-        assert_equal @primary_keys.map {|key| key.to_sym}, @klass.primary_keys
-        assert_equal @klass.primary_keys, @klass.primary_key
-      else
-        assert_not_nil @klass.primary_key
-        assert_equal @primary_keys, [@klass.primary_key.to_sym]
-      end
-      assert_equal @primary_keys.join(','), @klass.primary_key.to_s
-      # Need a :primary_keys should be Array with to_s overridden
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_miscellaneous.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_miscellaneous.rb
deleted file mode 100644 (file)
index e5de570..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class TestMiscellaneous < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes, :products
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-
-  def test_composite_class
-    testing_with do
-      assert_equal composite?, @klass.composite?
-    end
-  end
-
-  def test_composite_instance
-    testing_with do
-      assert_equal composite?, @first.composite?
-    end
-  end
-  
-  def test_count
-    assert_equal 2, Product.count
-  end
-  
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_pagination.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_pagination.rb
deleted file mode 100644 (file)
index 4952ff2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-require 'plugins/pagination'
-
-class TestPagination < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  include ActionController::Pagination
-  DEFAULT_PAGE_SIZE = 2
-  
-  attr_accessor :params
-   
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-      :table => :reference_types,
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-      :table => :reference_codes,
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-    @params = {}
-  end
-
-  def test_paginate_all
-    testing_with do
-      @object_pages, @objects = paginate @klass_info[:table], :per_page => DEFAULT_PAGE_SIZE
-      assert_equal 2, @objects.length, "Each page should have #{DEFAULT_PAGE_SIZE} items"
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_polymorphic.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_polymorphic.rb
deleted file mode 100644 (file)
index a632da9..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/comment'
-require 'fixtures/user'
-require 'fixtures/employee'
-require 'fixtures/hack'
-
-class TestPolymorphic < Test::Unit::TestCase
-  fixtures :users, :employees, :comments, :hacks
-  
-  def test_polymorphic_has_many
-    comments = Hack.find('andrew').comments
-    assert_equal 'andrew', comments[0].person_id
-  end
-  
-  def test_polymorphic_has_one
-    first_comment = Hack.find('andrew').first_comment
-    assert_equal 'andrew', first_comment.person_id
-  end
-  
-  def test_has_many_through
-    user = users(:santiago)
-    article_names = user.articles.collect { |a| a.name }.sort
-    assert_equal ['Article One', 'Article Two'], article_names
-  end
-  
-  def test_polymorphic_has_many_through
-    user = users(:santiago)
-    assert_equal ['andrew'], user.hacks.collect { |a| a.name }.sort
-  end
-
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_santiago.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_santiago.rb
deleted file mode 100644 (file)
index 771c414..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# Test cases devised by Santiago that broke the Composite Primary Keys
-# code at one point in time. But no more!!!
-
-require 'abstract_unit'
-require 'fixtures/user'
-require 'fixtures/article'
-require 'fixtures/reading'
-
-class TestSantiago < Test::Unit::TestCase
-  fixtures :suburbs, :streets, :users, :articles, :readings
-  
-  def test_normal_and_composite_associations
-    assert_not_nil @suburb = Suburb.find(1,1)
-    assert_equal 1, @suburb.streets.length
-    
-    assert_not_nil @street = Street.find(1)
-    assert_not_nil @street.suburb
-  end
-  
-  def test_single_keys
-    @santiago = User.find(1)
-    assert_not_nil @santiago.articles
-    assert_equal 2, @santiago.articles.length
-    assert_not_nil @santiago.readings
-    assert_equal 2, @santiago.readings.length
-  end
-end
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_tutorial_examle.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_tutorial_examle.rb
deleted file mode 100644 (file)
index 01f9ec6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/user'
-require 'fixtures/group'
-require 'fixtures/membership_status'
-require 'fixtures/membership'
-
-class TestTutorialExample < Test::Unit::TestCase
-  fixtures :users, :groups, :memberships, :membership_statuses
-  
-  def test_membership
-    assert(membership = Membership.find(1,1), "Cannot find a membership")
-    assert(membership.user)
-    assert(membership.group)
-  end
-  
-  def test_status
-    assert(membership = Membership.find(1,1), "Cannot find a membership")
-    assert(statuses = membership.statuses, "No has_many association to status")
-    assert_equal(membership, statuses.first.membership)
-  end
-  
-  def test_count
-    assert(membership = Membership.find(1,1), "Cannot find a membership")
-    assert_equal(1, membership.statuses.count)
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb b/vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb
deleted file mode 100644 (file)
index 87ca8f5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-require 'abstract_unit'
-require 'fixtures/reference_type'
-require 'fixtures/reference_code'
-
-class TestUpdate < Test::Unit::TestCase
-  fixtures :reference_types, :reference_codes
-  
-  CLASSES = {
-    :single => {
-      :class => ReferenceType,
-      :primary_keys => :reference_type_id,
-      :update => { :description => 'RT Desc' },
-    },
-    :dual   => { 
-      :class => ReferenceCode,
-      :primary_keys => [:reference_type_id, :reference_code],
-      :update => { :description => 'RT Desc' },
-    },
-  }
-  
-  def setup
-    self.class.classes = CLASSES
-  end
-  
-  def test_setup
-    testing_with do
-      assert_not_nil @klass_info[:update]
-    end
-  end
-  
-  def test_update_attributes
-    testing_with do
-      assert @first.update_attributes(@klass_info[:update])
-      assert @first.reload
-      @klass_info[:update].each_pair do |attr_name, new_value|
-        assert_equal new_value, @first[attr_name], "Attribute #{attr_name} is incorrect"
-      end
-    end
-  end
-end
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/tmp/test.db b/vendor/gems/composite_primary_keys-2.2.2/tmp/test.db
deleted file mode 100644 (file)
index 6e8ed6f..0000000
Binary files a/vendor/gems/composite_primary_keys-2.2.2/tmp/test.db and /dev/null differ
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/index.html b/vendor/gems/composite_primary_keys-2.2.2/website/index.html
deleted file mode 100644 (file)
index 1969d5c..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>
-      Composite Primary Keys
-  </title>
-  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
-<style>
-
-</style>
-  <script type="text/javascript">
-    window.onload = function() {
-      settings = {
-          tl: { radius: 10 },
-          tr: { radius: 10 },
-          bl: { radius: 10 },
-          br: { radius: 10 },
-          antiAlias: true,
-          autoPad: true,
-          validTags: ["div"]
-      }
-      var versionBox = new curvyCorners(settings, document.getElementById("version"));
-      versionBox.applyCornersToAll();
-    }
-  </script>
-</head>
-<body>
-<div id="main">
-
-    <h1>Composite Primary Keys</h1>
-    <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/compositekeys"; return false'>
-      Get Version
-      <a href="http://rubyforge.org/projects/compositekeys" class="numbers">2.2.2</a>
-    </div>
-    <h1>&#8594; Ruby on Rails</h1>
-<h1>&#8594; ActiveRecords</h1>
-<h2>What</h2>
-<p>Ruby on Rails does not support composite primary keys. This free software is an extension <br />
-to the database layer of Rails &#8211; <a href="http://wiki.rubyonrails.com/rails/pages/ActiveRecord">ActiveRecords</a> &#8211; to support composite primary keys as transparently as possible.</p>
-<p>Any Ruby script using ActiveRecords can use Composite Primary Keys with this library.</p>
-<h2>Installing</h2>
-<p><pre class="syntax"><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">composite_primary_keys</span></pre></p>
-<p>Rails: Add the following to the bottom of your <code>environment.rb</code> file</p>
-<p><pre class="syntax"><span class="ident">require</span> <span class="punct">'</span><span class="string">composite_primary_keys</span><span class="punct">'</span></pre></p>
-<p>Ruby scripts: Add the following to the top of your script</p>
-<p><pre class="syntax"><span class="ident">require</span> <span class="punct">'</span><span class="string">rubygems</span><span class="punct">'</span>
-<span class="ident">require</span> <span class="punct">'</span><span class="string">composite_primary_keys</span><span class="punct">'</span></pre></p>
-<h2>The basics</h2>
-<p>A model with composite primary keys would look like&#8230;</p>
-<p><pre class="syntax"><span class="keyword">class </span><span class="class">Membership</span> <span class="punct">&lt;</span> <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span>
-  <span class="comment"># set_primary_keys *keys - turns on composite key functionality</span>
-  <span class="ident">set_primary_keys</span> <span class="symbol">:user_id</span><span class="punct">,</span> <span class="symbol">:group_id</span>
-  <span class="ident">belongs_to</span> <span class="symbol">:user</span>
-  <span class="ident">belongs_to</span> <span class="symbol">:group</span>
-  <span class="ident">has_many</span> <span class="symbol">:statuses</span><span class="punct">,</span> <span class="symbol">:class_name</span> <span class="punct">=&gt;</span> <span class="punct">'</span><span class="string">MembershipStatus</span><span class="punct">',</span> <span class="symbol">:foreign_key</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="symbol">:user_id</span><span class="punct">,</span> <span class="symbol">:group_id</span><span class="punct">]</span>
-<span class="keyword">end</span></pre></p>
-<p>A model associated with a composite key model would be defined like&#8230;</p>
-<p><pre class="syntax"><span class="keyword">class </span><span class="class">MembershipStatus</span> <span class="punct">&lt;</span> <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span>
-  <span class="ident">belongs_to</span> <span class="symbol">:membership</span><span class="punct">,</span> <span class="symbol">:foreign_key</span> <span class="punct">=&gt;</span> <span class="punct">[</span><span class="symbol">:user_id</span><span class="punct">,</span> <span class="symbol">:group_id</span><span class="punct">]</span>
-<span class="keyword">end</span></pre></p>
-<p>That is, associations can include composite keys too. Nice.</p>
-<h2>Demonstration of usage</h2>
-<p>Once you&#8217;ve created your models to specify composite primary keys (such as the Membership class) and associations (such as MembershipStatus#membership), you can uses them like any normal model with associations.</p>
-<p>But first, lets check out our primary keys.</p>
-<p><pre class="syntax"><span class="constant">MembershipStatus</span><span class="punct">.</span><span class="ident">primary_key</span> <span class="comment"># =&gt; &quot;id&quot;    # normal single key</span>
-<span class="constant">Membership</span><span class="punct">.</span><span class="ident">primary_key</span>  <span class="comment"># =&gt; [:user_id, :group_id] # composite keys</span>
-<span class="constant">Membership</span><span class="punct">.</span><span class="ident">primary_key</span><span class="punct">.</span><span class="ident">to_s</span> <span class="comment"># =&gt; &quot;user_id,group_id&quot;</span></pre></p>
-<p>Now we want to be able to find instances using the same syntax we always use for ActiveRecords&#8230;</p>
-<p><pre class="syntax"><span class="constant">MembershipStatus</span><span class="punct">.</span><span class="ident">find</span><span class="punct">(</span><span class="number">1</span><span class="punct">)</span>    <span class="comment"># single id returns single instance</span>
-<span class="punct">=&gt;</span> <span class="punct">&lt;</span><span class="constant">MembershipStatus</span><span class="punct">:</span><span class="number">0x392a8c8</span> <span class="attribute">@attributes</span><span class="punct">={&quot;</span><span class="string">id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">status</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">Active</span><span class="punct">&quot;}&gt;</span>
-<span class="constant">Membership</span><span class="punct">.</span><span class="ident">find</span><span class="punct">(</span><span class="number">1</span><span class="punct">,</span><span class="number">1</span><span class="punct">)</span>  <span class="comment"># composite ids returns single instance</span>
-<span class="punct">=&gt;</span> <span class="punct">&lt;</span><span class="constant">Membership</span><span class="punct">:</span><span class="number">0x39218b0</span> <span class="attribute">@attributes</span><span class="punct">={&quot;</span><span class="string">user_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">group_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;}&gt;</span></pre></p>
-<p>Using <a href="http://www.rubyonrails.org">Ruby on Rails</a>? You&#8217;ll want to your url_for helpers<br />
-to convert composite keys into strings and back again&#8230;</p>
-<p><pre class="syntax"><span class="constant">Membership</span><span class="punct">.</span><span class="ident">find</span><span class="punct">(</span><span class="symbol">:first</span><span class="punct">).</span><span class="ident">to_param</span> <span class="comment"># =&gt; &quot;1,1&quot;</span></pre></p>
-<p>And then use the string id within your controller to find the object again</p>
-<p><pre class="syntax"><span class="ident">params</span><span class="punct">[</span><span class="symbol">:id</span><span class="punct">]</span> <span class="comment"># =&gt; '1,1'</span>
-<span class="constant">Membership</span><span class="punct">.</span><span class="ident">find</span><span class="punct">(</span><span class="ident">params</span><span class="punct">[</span><span class="symbol">:id</span><span class="punct">])</span>
-<span class="punct">=&gt;</span> <span class="punct">&lt;</span><span class="constant">Membership</span><span class="punct">:</span><span class="number">0x3904288</span> <span class="attribute">@attributes</span><span class="punct">={&quot;</span><span class="string">user_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">group_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;}&gt;</span></pre></p>
-<p>That is, an ActiveRecord supporting composite keys behaves transparently<br />
-throughout your application. Just like a normal ActiveRecord.</p>
-<h2>Other tricks</h2>
-<h3>Pass a list of composite ids to the <code>#find</code> method</h3>
-<p><pre class="syntax"><span class="constant">Membership</span><span class="punct">.</span><span class="ident">find</span> <span class="punct">[</span><span class="number">1</span><span class="punct">,</span><span class="number">1</span><span class="punct">],</span> <span class="punct">[</span><span class="number">2</span><span class="punct">,</span><span class="number">1</span><span class="punct">]</span>
-<span class="punct">=&gt;</span> <span class="punct">[</span>
-  <span class="punct">&lt;</span><span class="constant">Membership</span><span class="punct">:</span><span class="number">0x394ade8</span> <span class="attribute">@attributes</span><span class="punct">={&quot;</span><span class="string">user_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">group_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;}&gt;,</span> 
-  <span class="punct">&lt;</span><span class="constant">Membership</span><span class="punct">:</span><span class="number">0x394ada0</span> <span class="attribute">@attributes</span><span class="punct">={&quot;</span><span class="string">user_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">2</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">group_id</span><span class="punct">&quot;=&gt;&quot;</span><span class="string">1</span><span class="punct">&quot;}&gt;</span>
-<span class="punct">]</span></pre></p>
-<p>Perform <code>#count</code> operations</p>
-<p><pre class="syntax"><span class="constant">MembershipStatus</span><span class="punct">.</span><span class="ident">find</span><span class="punct">(</span><span class="symbol">:first</span><span class="punct">).</span><span class="ident">memberships</span><span class="punct">.</span><span class="ident">count</span> <span class="comment"># =&gt; 1</span></pre></p>
-<h3>Routes with Rails</h3>
-<p>From Pete Sumskas:</p>
-<blockquote>
-<p>I ran into one problem that I didn&#8217;t see mentioned on <a href="http://groups.google.com/group/compositekeys">this list</a> &#8211; <br />
-       and I   didn&#8217;t see any information about what I should do to address it in the<br />
-       documentation (might have missed it).</p>
-<p>The problem was that the urls being generated for a &#8216;show&#8217; action (for<br />
-       example) had a syntax like:<br />
-       <br />
-       <pre>/controller/show/123000,Bu70</pre></p>
-<p>for a two-field composite PK. The default routing would not match that,<br />
-       so after working out how to do the routing I added:<br />
-       <br />
-       <pre class="syntax"><span class="ident">map</span><span class="punct">.</span><span class="ident">connect</span> <span class="punct">'</span><span class="string">:controller/:action/:id</span><span class="punct">',</span> <span class="symbol">:id</span> <span class="punct">=&gt;</span> <span class="punct">/</span><span class="regex"><span class="escape">\w</span>+(,<span class="escape">\w</span>+)*</span><span class="punct">/</span></pre><br />
-       <br />
-       to my <code>route.rb</code> file.</p>
-</blockquote>
-<p><a name="dbs"></a></p>
-<h2>Which databases?</h2>
-<p>A suite of unit tests have been run on the following databases supported by ActiveRecord:</p>
-<table>
-       <tr>
-               <th>Database</th>
-               <th>Test Success</th>
-               <th>User feedback</th>
-       </tr>
-       <tr>
-               <td>mysql     </td>
-               <td><span class=success><span class="caps">YES</span></span></td>
-               <td><span class=success><span class="caps">YES</span></span> (<a href="mailto:compositekeys@googlegroups.com?subject=Mysql+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Mysql+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>sqlite3   </td>
-               <td><span class=success><span class="caps">YES</span></span></td>
-               <td><span class=success><span class="caps">YES</span></span> (<a href="mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>postgresql</td>
-               <td><span class=success><span class="caps">YES</span></span></td>
-               <td><span class=success><span class="caps">YES</span></span> (<a href="mailto:compositekeys@googlegroups.com?subject=Postgresql+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Postgresql+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>oracle    </td>
-               <td><span class=success><span class="caps">YES</span></span></td>
-               <td><span class=success><span class="caps">YES</span></span> (<a href="mailto:compositekeys@googlegroups.com?subject=Oracle+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Oracle+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>sqlserver </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+SQLServer">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=SQLServer+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=SQLServer+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>db2       </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+DB2">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=DB2+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=DB2+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>firebird  </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+Firebird">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Firebird+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Firebird+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>sybase    </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+Sybase">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Sybase+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Sybase+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>openbase  </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+Openbase">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Openbase+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Openbase+is+failing">No&#8230;</a>)</td>
-       </tr>
-       <tr>
-               <td>frontbase </td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Help+with+Frontbase">I can help</a>)</td>
-               <td><span class=unknown>???</span> (<a href="mailto:compositekeys@googlegroups.com?subject=Frontbase+is+working">Yes!</a> or <a href="mailto:compositekeys@googlegroups.com?subject=Frontbase+is+failing">No&#8230;</a>)</td>
-       </tr>
-</table>
-<h2>Dr Nic&#8217;s Blog</h2>
-<p><a href="http://www.drnicwilliams.com">http://www.drnicwilliams.com</a> &#8211; for future announcements and<br />
-other stories and things.</p>
-<h2>Forum</h2>
-<p><a href="http://groups.google.com/group/compositekeys">http://groups.google.com/group/compositekeys</a></p>
-<h2>How to submit patches</h2>
-<p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
-<p>The source for this project is available via git. You can <a href="http://github.com/drnic/composite_primary_keys/tree/master">browse and/or fork the source</a>, or to clone the project locally:<br />
-  <br />
-<pre>git clone git://github.com/drnic/composite_primary_keys.git</pre></p>
-<h2>Licence</h2>
-<p>This code is free to use under the terms of the <span class="caps">MIT</span> licence.</p>
-<h2>Contact</h2>
-<p>Comments are welcome. Send an email to <a href="mailto:drnicwilliams@gmail.com">Dr Nic Williams</a>.</p>
-    <p class="coda">
-      <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, 21st January 2009<br>
-      Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
-    </p>
-</div>
-
-<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
-</script>
-<script type="text/javascript">
-_uacct = "UA-567811-2";
-urchinTracker();
-</script>
-
-</body>
-</html>
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/index.txt b/vendor/gems/composite_primary_keys-2.2.2/website/index.txt
deleted file mode 100644 (file)
index 9777851..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-h1. Composite Primary Keys
-
-h1. -> Ruby on Rails
-
-h1. -> ActiveRecords
-
-h2. What
-
-Ruby on Rails does not support composite primary keys. This free software is an extension 
-to the database layer of Rails - "ActiveRecords":http://wiki.rubyonrails.com/rails/pages/ActiveRecord - to support composite primary keys as transparently as possible.
-
-Any Ruby script using ActiveRecords can use Composite Primary Keys with this library.
-
-h2. Installing
-
-<pre syntax="ruby">sudo gem install composite_primary_keys</pre>
-
-Rails: Add the following to the bottom of your <code>environment.rb</code> file
-
-<pre syntax="ruby">require 'composite_primary_keys'</pre>
-
-Ruby scripts: Add the following to the top of your script
-
-<pre syntax="ruby">require 'rubygems'
-require 'composite_primary_keys'</pre>
-
-h2. The basics
-
-A model with composite primary keys would look like...
-
-<pre syntax="ruby">class Membership < ActiveRecord::Base
-  # set_primary_keys *keys - turns on composite key functionality
-  set_primary_keys :user_id, :group_id
-  belongs_to :user
-  belongs_to :group
-  has_many :statuses, :class_name => 'MembershipStatus', :foreign_key => [:user_id, :group_id]
-end</pre>
-
-A model associated with a composite key model would be defined like...
-
-<pre syntax="ruby">class MembershipStatus < ActiveRecord::Base
-  belongs_to :membership, :foreign_key => [:user_id, :group_id]
-end</pre>
-
-That is, associations can include composite keys too. Nice.
-
-h2. Demonstration of usage
-
-Once you've created your models to specify composite primary keys (such as the Membership class) and associations (such as MembershipStatus#membership), you can uses them like any normal model with associations.
-
-But first, lets check out our primary keys.
-
-<pre syntax="ruby">MembershipStatus.primary_key # => "id"    # normal single key
-Membership.primary_key  # => [:user_id, :group_id] # composite keys
-Membership.primary_key.to_s # => "user_id,group_id"</pre>
-
-Now we want to be able to find instances using the same syntax we always use for ActiveRecords...
-
-<pre syntax="ruby">MembershipStatus.find(1)    # single id returns single instance
-=> <MembershipStatus:0x392a8c8 @attributes={"id"=>"1", "status"=>"Active"}>
-Membership.find(1,1)  # composite ids returns single instance
-=> <Membership:0x39218b0 @attributes={"user_id"=>"1", "group_id"=>"1"}></pre>
-
-Using "Ruby on Rails":http://www.rubyonrails.org? You'll want to your url_for helpers
-to convert composite keys into strings and back again...
-
-<pre syntax="ruby">Membership.find(:first).to_param # => "1,1"</pre>
-
-And then use the string id within your controller to find the object again
-
-<pre syntax="ruby">params[:id] # => '1,1'
-Membership.find(params[:id])
-=> <Membership:0x3904288 @attributes={"user_id"=>"1", "group_id"=>"1"}></pre>
-
-That is, an ActiveRecord supporting composite keys behaves transparently
-throughout your application. Just like a normal ActiveRecord.
-
-
-h2. Other tricks
-
-h3. Pass a list of composite ids to the <code>#find</code> method
-
-<pre syntax="ruby">Membership.find [1,1], [2,1]
-=> [
-  <Membership:0x394ade8 @attributes={"user_id"=>"1", "group_id"=>"1"}>, 
-  <Membership:0x394ada0 @attributes={"user_id"=>"2", "group_id"=>"1"}>
-]</pre>
-
-Perform <code>#count</code> operations
-
-<pre syntax="ruby">MembershipStatus.find(:first).memberships.count # => 1</pre>
-
-h3. Routes with Rails
-
-From Pete Sumskas:
-
-<blockquote>
-       I ran into one problem that I didn't see mentioned on "this list":http://groups.google.com/group/compositekeys - 
-       and I   didn't see any information about what I should do to address it in the
-       documentation (might have missed it).
-
-       The problem was that the urls being generated for a 'show' action (for
-       example) had a syntax like:
-       
-       <pre>/controller/show/123000,Bu70</pre>
-
-       for a two-field composite PK. The default routing would not match that,
-       so after working out how to do the routing I added:
-       
-       <pre syntax="ruby">map.connect ':controller/:action/:id', :id => /\w+(,\w+)*/</pre>
-       
-       to my <code>route.rb</code> file.
-       
-</blockquote>
-
-<a name="dbs"></a>
-
-h2. Which databases?
-
-
-A suite of unit tests have been run on the following databases supported by ActiveRecord:
-
-|_.Database|_.Test Success|_.User feedback|
-|mysql     |<span class=success>YES</span>|<span class=success>YES</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Mysql+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Mysql+is+failing)|
-|sqlite3   |<span class=success>YES</span>|<span class=success>YES</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+failing)|
-|postgresql|<span class=success>YES</span>|<span class=success>YES</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Postgresql+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Postgresql+is+failing)|
-|oracle    |<span class=success>YES</span>|<span class=success>YES</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Oracle+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Oracle+is+failing)|
-|sqlserver |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+SQLServer)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=SQLServer+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=SQLServer+is+failing)|
-|db2       |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+DB2)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=DB2+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=DB2+is+failing)|
-|firebird  |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Firebird)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Firebird+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Firebird+is+failing)|
-|sybase    |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Sybase)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Sybase+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Sybase+is+failing)|
-|openbase  |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Openbase)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Openbase+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Openbase+is+failing)|
-|frontbase |<span class=unknown>???</span> ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Frontbase)|<span class=unknown>???</span> ("Yes!":mailto:compositekeys@googlegroups.com?subject=Frontbase+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Frontbase+is+failing)|
-
-h2. Dr Nic's Blog
-
-"http://www.drnicwilliams.com":http://www.drnicwilliams.com - for future announcements and
-other stories and things.
-
-h2. Forum
-
-"http://groups.google.com/group/compositekeys":http://groups.google.com/group/compositekeys
-
-h2. How to submit patches
-
-Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8b: Submit patch to Google Groups":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups, use the Google Group above.
-
-
-The source for this project is available via git. You can "browse and/or fork the source":http://github.com/drnic/composite_primary_keys/tree/master, or to clone the project locally:
-  
-<pre>git clone git://github.com/drnic/composite_primary_keys.git</pre>
-
-h2. Licence
-
-This code is free to use under the terms of the MIT licence. 
-
-h2. Contact
-
-Comments are welcome. Send an email to "Dr Nic Williams":mailto:drnicwilliams@gmail.com.
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/javascripts/rounded_corners_lite.inc.js b/vendor/gems/composite_primary_keys-2.2.2/website/javascripts/rounded_corners_lite.inc.js
deleted file mode 100644 (file)
index afc3ea3..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-
- /****************************************************************
-  *                                                              *
-  *  curvyCorners                                                *
-  *  ------------                                                *
-  *                                                              *
-  *  This script generates rounded corners for your divs.        *
-  *                                                              *
-  *  Version 1.2.9                                               *
-  *  Copyright (c) 2006 Cameron Cooke                            *
-  *  By: Cameron Cooke and Tim Hutchison.                        *
-  *                                                              *
-  *                                                              *
-  *  Website: http://www.curvycorners.net                        *
-  *  Email:   info@totalinfinity.com                             *
-  *  Forum:   http://www.curvycorners.net/forum/                 *
-  *                                                              *
-  *                                                              *
-  *  This library is free software; you can redistribute         *
-  *  it and/or modify it under the terms of the GNU              *
-  *  Lesser General Public License as published by the           *
-  *  Free Software Foundation; either version 2.1 of the         *
-  *  License, or (at your option) any later version.             *
-  *                                                              *
-  *  This library is distributed in the hope that it will        *
-  *  be useful, but WITHOUT ANY WARRANTY; without even the       *
-  *  implied warranty of MERCHANTABILITY or FITNESS FOR A        *
-  *  PARTICULAR PURPOSE. See the GNU Lesser General Public       *
-  *  License for more details.                                   *
-  *                                                              *
-  *  You should have received a copy of the GNU Lesser           *
-  *  General Public License along with this library;             *
-  *  Inc., 59 Temple Place, Suite 330, Boston,                   *
-  *  MA 02111-1307 USA                                           *
-  *                                                              *
-  ****************************************************************/
-  
-var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1; var isMoz = document.implementation && document.implementation.createDocument; var isSafari = ((navigator.userAgent.toLowerCase().indexOf('safari')!=-1)&&(navigator.userAgent.toLowerCase().indexOf('mac')!=-1))?true:false; function curvyCorners()
-{ if(typeof(arguments[0]) != "object") throw newCurvyError("First parameter of curvyCorners() must be an object."); if(typeof(arguments[1]) != "object" && typeof(arguments[1]) != "string") throw newCurvyError("Second parameter of curvyCorners() must be an object or a class name."); if(typeof(arguments[1]) == "string")
-{ var startIndex = 0; var boxCol = getElementsByClass(arguments[1]);}
-else
-{ var startIndex = 1; var boxCol = arguments;}
-var curvyCornersCol = new Array(); if(arguments[0].validTags)
-var validElements = arguments[0].validTags; else
-var validElements = ["div"]; for(var i = startIndex, j = boxCol.length; i < j; i++)
-{ var currentTag = boxCol[i].tagName.toLowerCase(); if(inArray(validElements, currentTag) !== false)
-{ curvyCornersCol[curvyCornersCol.length] = new curvyObject(arguments[0], boxCol[i]);}
-}
-this.objects = curvyCornersCol; this.applyCornersToAll = function()
-{ for(var x = 0, k = this.objects.length; x < k; x++)
-{ this.objects[x].applyCorners();}
-}
-}
-function curvyObject()
-{ this.box = arguments[1]; this.settings = arguments[0]; this.topContainer = null; this.bottomContainer = null; this.masterCorners = new Array(); this.contentDIV = null; var boxHeight = get_style(this.box, "height", "height"); var boxWidth = get_style(this.box, "width", "width"); var borderWidth = get_style(this.box, "borderTopWidth", "border-top-width"); var borderColour = get_style(this.box, "borderTopColor", "border-top-color"); var boxColour = get_style(this.box, "backgroundColor", "background-color"); var backgroundImage = get_style(this.box, "backgroundImage", "background-image"); var boxPosition = get_style(this.box, "position", "position"); var boxPadding = get_style(this.box, "paddingTop", "padding-top"); this.boxHeight = parseInt(((boxHeight != "" && boxHeight != "auto" && boxHeight.indexOf("%") == -1)? boxHeight.substring(0, boxHeight.indexOf("px")) : this.box.scrollHeight)); this.boxWidth = parseInt(((boxWidth != "" && boxWidth != "auto" && boxWidth.indexOf("%") == -1)? boxWidth.substring(0, boxWidth.indexOf("px")) : this.box.scrollWidth)); this.borderWidth = parseInt(((borderWidth != "" && borderWidth.indexOf("px") !== -1)? borderWidth.slice(0, borderWidth.indexOf("px")) : 0)); this.boxColour = format_colour(boxColour); this.boxPadding = parseInt(((boxPadding != "" && boxPadding.indexOf("px") !== -1)? boxPadding.slice(0, boxPadding.indexOf("px")) : 0)); this.borderColour = format_colour(borderColour); this.borderString = this.borderWidth + "px" + " solid " + this.borderColour; this.backgroundImage = ((backgroundImage != "none")? backgroundImage : ""); this.boxContent = this.box.innerHTML; if(boxPosition != "absolute") this.box.style.position = "relative"; this.box.style.padding = "0px"; if(isIE && boxWidth == "auto" && boxHeight == "auto") this.box.style.width = "100%"; if(this.settings.autoPad == true && this.boxPadding > 0)
-this.box.innerHTML = ""; this.applyCorners = function()
-{ for(var t = 0; t < 2; t++)
-{ switch(t)
-{ case 0:
-if(this.settings.tl || this.settings.tr)
-{ var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var topMaxRadius = Math.max(this.settings.tl ? this.settings.tl.radius : 0, this.settings.tr ? this.settings.tr.radius : 0); newMainContainer.style.height = topMaxRadius + "px"; newMainContainer.style.top = 0 - topMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.topContainer = this.box.appendChild(newMainContainer);}
-break; case 1:
-if(this.settings.bl || this.settings.br)
-{ var newMainContainer = document.createElement("DIV"); newMainContainer.style.width = "100%"; newMainContainer.style.fontSize = "1px"; newMainContainer.style.overflow = "hidden"; newMainContainer.style.position = "absolute"; newMainContainer.style.paddingLeft = this.borderWidth + "px"; newMainContainer.style.paddingRight = this.borderWidth + "px"; var botMaxRadius = Math.max(this.settings.bl ? this.settings.bl.radius : 0, this.settings.br ? this.settings.br.radius : 0); newMainContainer.style.height = botMaxRadius + "px"; newMainContainer.style.bottom = 0 - botMaxRadius + "px"; newMainContainer.style.left = 0 - this.borderWidth + "px"; this.bottomContainer = this.box.appendChild(newMainContainer);}
-break;}
-}
-if(this.topContainer) this.box.style.borderTopWidth = "0px"; if(this.bottomContainer) this.box.style.borderBottomWidth = "0px"; var corners = ["tr", "tl", "br", "bl"]; for(var i in corners)
-{ if(i > -1 < 4)
-{ var cc = corners[i]; if(!this.settings[cc])
-{ if(((cc == "tr" || cc == "tl") && this.topContainer != null) || ((cc == "br" || cc == "bl") && this.bottomContainer != null))
-{ var newCorner = document.createElement("DIV"); newCorner.style.position = "relative"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; if(this.backgroundImage == "")
-newCorner.style.backgroundColor = this.boxColour; else
-newCorner.style.backgroundImage = this.backgroundImage; switch(cc)
-{ case "tl":
-newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.tr.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.left = -this.borderWidth + "px"; break; case "tr":
-newCorner.style.height = topMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.tl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderTop = this.borderString; newCorner.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; newCorner.style.left = this.borderWidth + "px"; break; case "bl":
-newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginRight = this.settings.br.radius - (this.borderWidth*2) + "px"; newCorner.style.borderLeft = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = -this.borderWidth + "px"; newCorner.style.backgroundPosition = "-" + (this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break; case "br":
-newCorner.style.height = botMaxRadius - this.borderWidth + "px"; newCorner.style.marginLeft = this.settings.bl.radius - (this.borderWidth*2) + "px"; newCorner.style.borderRight = this.borderString; newCorner.style.borderBottom = this.borderString; newCorner.style.left = this.borderWidth + "px"
-newCorner.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (botMaxRadius + this.borderWidth)) + "px"; break;}
-}
-}
-else
-{ if(this.masterCorners[this.settings[cc].radius])
-{ var newCorner = this.masterCorners[this.settings[cc].radius].cloneNode(true);}
-else
-{ var newCorner = document.createElement("DIV"); newCorner.style.height = this.settings[cc].radius + "px"; newCorner.style.width = this.settings[cc].radius + "px"; newCorner.style.position = "absolute"; newCorner.style.fontSize = "1px"; newCorner.style.overflow = "hidden"; var borderRadius = parseInt(this.settings[cc].radius - this.borderWidth); for(var intx = 0, j = this.settings[cc].radius; intx < j; intx++)
-{ if((intx +1) >= borderRadius)
-var y1 = -1; else
-var y1 = (Math.floor(Math.sqrt(Math.pow(borderRadius, 2) - Math.pow((intx+1), 2))) - 1); if(borderRadius != j)
-{ if((intx) >= borderRadius)
-var y2 = -1; else
-var y2 = Math.ceil(Math.sqrt(Math.pow(borderRadius,2) - Math.pow(intx, 2))); if((intx+1) >= j)
-var y3 = -1; else
-var y3 = (Math.floor(Math.sqrt(Math.pow(j ,2) - Math.pow((intx+1), 2))) - 1);}
-if((intx) >= j)
-var y4 = -1; else
-var y4 = Math.ceil(Math.sqrt(Math.pow(j ,2) - Math.pow(intx, 2))); if(y1 > -1) this.drawPixel(intx, 0, this.boxColour, 100, (y1+1), newCorner, -1, this.settings[cc].radius); if(borderRadius != j)
-{ for(var inty = (y1 + 1); inty < y2; inty++)
-{ if(this.settings.antiAlias)
-{ if(this.backgroundImage != "")
-{ var borderFract = (pixelFraction(intx, inty, borderRadius) * 100); if(borderFract < 30)
-{ this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, 0, this.settings[cc].radius);}
-else
-{ this.drawPixel(intx, inty, this.borderColour, 100, 1, newCorner, -1, this.settings[cc].radius);}
-}
-else
-{ var pixelcolour = BlendColour(this.boxColour, this.borderColour, pixelFraction(intx, inty, borderRadius)); this.drawPixel(intx, inty, pixelcolour, 100, 1, newCorner, 0, this.settings[cc].radius, cc);}
-}
-}
-if(this.settings.antiAlias)
-{ if(y3 >= y2)
-{ if (y2 == -1) y2 = 0; this.drawPixel(intx, y2, this.borderColour, 100, (y3 - y2 + 1), newCorner, 0, 0);}
-}
-else
-{ if(y3 >= y1)
-{ this.drawPixel(intx, (y1 + 1), this.borderColour, 100, (y3 - y1), newCorner, 0, 0);}
-}
-var outsideColour = this.borderColour;}
-else
-{ var outsideColour = this.boxColour; var y3 = y1;}
-if(this.settings.antiAlias)
-{ for(var inty = (y3 + 1); inty < y4; inty++)
-{ this.drawPixel(intx, inty, outsideColour, (pixelFraction(intx, inty , j) * 100), 1, newCorner, ((this.borderWidth > 0)? 0 : -1), this.settings[cc].radius);}
-}
-}
-this.masterCorners[this.settings[cc].radius] = newCorner.cloneNode(true);}
-if(cc != "br")
-{ for(var t = 0, k = newCorner.childNodes.length; t < k; t++)
-{ var pixelBar = newCorner.childNodes[t]; var pixelBarTop = parseInt(pixelBar.style.top.substring(0, pixelBar.style.top.indexOf("px"))); var pixelBarLeft = parseInt(pixelBar.style.left.substring(0, pixelBar.style.left.indexOf("px"))); var pixelBarHeight = parseInt(pixelBar.style.height.substring(0, pixelBar.style.height.indexOf("px"))); if(cc == "tl" || cc == "bl"){ pixelBar.style.left = this.settings[cc].radius -pixelBarLeft -1 + "px";}
-if(cc == "tr" || cc == "tl"){ pixelBar.style.top = this.settings[cc].radius -pixelBarHeight -pixelBarTop + "px";}
-switch(cc)
-{ case "tr":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.boxWidth - this.settings[cc].radius + this.borderWidth) + pixelBarLeft) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "tl":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs(this.settings[cc].radius -pixelBarHeight -pixelBarTop - this.borderWidth) + "px"; break; case "bl":
-pixelBar.style.backgroundPosition = "-" + Math.abs((this.settings[cc].radius -pixelBarLeft -1) - this.borderWidth) + "px -" + Math.abs((this.boxHeight + this.settings[cc].radius + pixelBarTop) -this.borderWidth) + "px"; break;}
-}
-}
-}
-if(newCorner)
-{ switch(cc)
-{ case "tl":
-if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "tr":
-if(newCorner.style.position == "absolute") newCorner.style.top = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.topContainer) this.topContainer.appendChild(newCorner); break; case "bl":
-if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.left = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break; case "br":
-if(newCorner.style.position == "absolute") newCorner.style.bottom = "0px"; if(newCorner.style.position == "absolute") newCorner.style.right = "0px"; if(this.bottomContainer) this.bottomContainer.appendChild(newCorner); break;}
-}
-}
-}
-var radiusDiff = new Array(); radiusDiff["t"] = Math.abs(this.settings.tl.radius - this.settings.tr.radius)
-radiusDiff["b"] = Math.abs(this.settings.bl.radius - this.settings.br.radius); for(z in radiusDiff)
-{ if(z == "t" || z == "b")
-{ if(radiusDiff[z])
-{ var smallerCornerType = ((this.settings[z + "l"].radius < this.settings[z + "r"].radius)? z +"l" : z +"r"); var newFiller = document.createElement("DIV"); newFiller.style.height = radiusDiff[z] + "px"; newFiller.style.width = this.settings[smallerCornerType].radius+ "px"
-newFiller.style.position = "absolute"; newFiller.style.fontSize = "1px"; newFiller.style.overflow = "hidden"; newFiller.style.backgroundColor = this.boxColour; switch(smallerCornerType)
-{ case "tl":
-newFiller.style.bottom = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.topContainer.appendChild(newFiller); break; case "tr":
-newFiller.style.bottom = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.topContainer.appendChild(newFiller); break; case "bl":
-newFiller.style.top = "0px"; newFiller.style.left = "0px"; newFiller.style.borderLeft = this.borderString; this.bottomContainer.appendChild(newFiller); break; case "br":
-newFiller.style.top = "0px"; newFiller.style.right = "0px"; newFiller.style.borderRight = this.borderString; this.bottomContainer.appendChild(newFiller); break;}
-}
-var newFillerBar = document.createElement("DIV"); newFillerBar.style.position = "relative"; newFillerBar.style.fontSize = "1px"; newFillerBar.style.overflow = "hidden"; newFillerBar.style.backgroundColor = this.boxColour; newFillerBar.style.backgroundImage = this.backgroundImage; switch(z)
-{ case "t":
-if(this.topContainer)
-{ if(this.settings.tl.radius && this.settings.tr.radius)
-{ newFillerBar.style.height = topMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.tl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.tr.radius - this.borderWidth + "px"; newFillerBar.style.borderTop = this.borderString; if(this.backgroundImage != "")
-newFillerBar.style.backgroundPosition = "-" + (topMaxRadius + this.borderWidth) + "px 0px"; this.topContainer.appendChild(newFillerBar);}
-this.box.style.backgroundPosition = "0px -" + (topMaxRadius - this.borderWidth) + "px";}
-break; case "b":
-if(this.bottomContainer)
-{ if(this.settings.bl.radius && this.settings.br.radius)
-{ newFillerBar.style.height = botMaxRadius - this.borderWidth + "px"; newFillerBar.style.marginLeft = this.settings.bl.radius - this.borderWidth + "px"; newFillerBar.style.marginRight = this.settings.br.radius - this.borderWidth + "px"; newFillerBar.style.borderBottom = this.borderString; if(this.backgroundImage != "")
-newFillerBar.style.backgroundPosition = "-" + (botMaxRadius + this.borderWidth) + "px -" + (this.boxHeight + (topMaxRadius + this.borderWidth)) + "px"; this.bottomContainer.appendChild(newFillerBar);}
-}
-break;}
-}
-}
-if(this.settings.autoPad == true && this.boxPadding > 0)
-{ var contentContainer = document.createElement("DIV"); contentContainer.style.position = "relative"; contentContainer.innerHTML = this.boxContent; contentContainer.className = "autoPadDiv"; var topPadding = Math.abs(topMaxRadius - this.boxPadding); var botPadding = Math.abs(botMaxRadius - this.boxPadding); if(topMaxRadius < this.boxPadding)
-contentContainer.style.paddingTop = topPadding + "px"; if(botMaxRadius < this.boxPadding)
-contentContainer.style.paddingBottom = botMaxRadius + "px"; contentContainer.style.paddingLeft = this.boxPadding + "px"; contentContainer.style.paddingRight = this.boxPadding + "px"; this.contentDIV = this.box.appendChild(contentContainer);}
-}
-this.drawPixel = function(intx, inty, colour, transAmount, height, newCorner, image, cornerRadius)
-{ var pixel = document.createElement("DIV"); pixel.style.height = height + "px"; pixel.style.width = "1px"; pixel.style.position = "absolute"; pixel.style.fontSize = "1px"; pixel.style.overflow = "hidden"; var topMaxRadius = Math.max(this.settings["tr"].radius, this.settings["tl"].radius); if(image == -1 && this.backgroundImage != "")
-{ pixel.style.backgroundImage = this.backgroundImage; pixel.style.backgroundPosition = "-" + (this.boxWidth - (cornerRadius - intx) + this.borderWidth) + "px -" + ((this.boxHeight + topMaxRadius + inty) -this.borderWidth) + "px";}
-else
-{ pixel.style.backgroundColor = colour;}
-if (transAmount != 100)
-setOpacity(pixel, transAmount); pixel.style.top = inty + "px"; pixel.style.left = intx + "px"; newCorner.appendChild(pixel);}
-}
-function insertAfter(parent, node, referenceNode)
-{ parent.insertBefore(node, referenceNode.nextSibling);}
-function BlendColour(Col1, Col2, Col1Fraction)
-{ var red1 = parseInt(Col1.substr(1,2),16); var green1 = parseInt(Col1.substr(3,2),16); var blue1 = parseInt(Col1.substr(5,2),16); var red2 = parseInt(Col2.substr(1,2),16); var green2 = parseInt(Col2.substr(3,2),16); var blue2 = parseInt(Col2.substr(5,2),16); if(Col1Fraction > 1 || Col1Fraction < 0) Col1Fraction = 1; var endRed = Math.round((red1 * Col1Fraction) + (red2 * (1 - Col1Fraction))); if(endRed > 255) endRed = 255; if(endRed < 0) endRed = 0; var endGreen = Math.round((green1 * Col1Fraction) + (green2 * (1 - Col1Fraction))); if(endGreen > 255) endGreen = 255; if(endGreen < 0) endGreen = 0; var endBlue = Math.round((blue1 * Col1Fraction) + (blue2 * (1 - Col1Fraction))); if(endBlue > 255) endBlue = 255; if(endBlue < 0) endBlue = 0; return "#" + IntToHex(endRed)+ IntToHex(endGreen)+ IntToHex(endBlue);}
-function IntToHex(strNum)
-{ base = strNum / 16; rem = strNum % 16; base = base - (rem / 16); baseS = MakeHex(base); remS = MakeHex(rem); return baseS + '' + remS;}
-function MakeHex(x)
-{ if((x >= 0) && (x <= 9))
-{ return x;}
-else
-{ switch(x)
-{ case 10: return "A"; case 11: return "B"; case 12: return "C"; case 13: return "D"; case 14: return "E"; case 15: return "F";}
-}
-}
-function pixelFraction(x, y, r)
-{ var pixelfraction = 0; var xvalues = new Array(1); var yvalues = new Array(1); var point = 0; var whatsides = ""; var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x,2))); if ((intersect >= y) && (intersect < (y+1)))
-{ whatsides = "Left"; xvalues[point] = 0; yvalues[point] = intersect - y; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y+1,2))); if ((intersect >= x) && (intersect < (x+1)))
-{ whatsides = whatsides + "Top"; xvalues[point] = intersect - x; yvalues[point] = 1; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(x+1,2))); if ((intersect >= y) && (intersect < (y+1)))
-{ whatsides = whatsides + "Right"; xvalues[point] = 1; yvalues[point] = intersect - y; point = point + 1;}
-var intersect = Math.sqrt((Math.pow(r,2) - Math.pow(y,2))); if ((intersect >= x) && (intersect < (x+1)))
-{ whatsides = whatsides + "Bottom"; xvalues[point] = intersect - x; yvalues[point] = 0;}
-switch (whatsides)
-{ case "LeftRight":
-pixelfraction = Math.min(yvalues[0],yvalues[1]) + ((Math.max(yvalues[0],yvalues[1]) - Math.min(yvalues[0],yvalues[1]))/2); break; case "TopRight":
-pixelfraction = 1-(((1-xvalues[0])*(1-yvalues[1]))/2); break; case "TopBottom":
-pixelfraction = Math.min(xvalues[0],xvalues[1]) + ((Math.max(xvalues[0],xvalues[1]) - Math.min(xvalues[0],xvalues[1]))/2); break; case "LeftBottom":
-pixelfraction = (yvalues[0]*xvalues[1])/2; break; default:
-pixelfraction = 1;}
-return pixelfraction;}
-function rgb2Hex(rgbColour)
-{ try{ var rgbArray = rgb2Array(rgbColour); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); var hexColour = "#" + IntToHex(red) + IntToHex(green) + IntToHex(blue);}
-catch(e){ alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");}
-return hexColour;}
-function rgb2Array(rgbColour)
-{ var rgbValues = rgbColour.substring(4, rgbColour.indexOf(")")); var rgbArray = rgbValues.split(", "); return rgbArray;}
-function setOpacity(obj, opacity)
-{ opacity = (opacity == 100)?99.999:opacity; if(isSafari && obj.tagName != "IFRAME")
-{ var rgbArray = rgb2Array(obj.style.backgroundColor); var red = parseInt(rgbArray[0]); var green = parseInt(rgbArray[1]); var blue = parseInt(rgbArray[2]); obj.style.backgroundColor = "rgba(" + red + ", " + green + ", " + blue + ", " + opacity/100 + ")";}
-else if(typeof(obj.style.opacity) != "undefined")
-{ obj.style.opacity = opacity/100;}
-else if(typeof(obj.style.MozOpacity) != "undefined")
-{ obj.style.MozOpacity = opacity/100;}
-else if(typeof(obj.style.filter) != "undefined")
-{ obj.style.filter = "alpha(opacity:" + opacity + ")";}
-else if(typeof(obj.style.KHTMLOpacity) != "undefined")
-{ obj.style.KHTMLOpacity = opacity/100;}
-}
-function inArray(array, value)
-{ for(var i = 0; i < array.length; i++){ if (array[i] === value) return i;}
-return false;}
-function inArrayKey(array, value)
-{ for(key in array){ if(key === value) return true;}
-return false;}
-function addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) { elm.addEventListener(evType, fn, useCapture); return true;}
-else if (elm.attachEvent) { var r = elm.attachEvent('on' + evType, fn); return r;}
-else { elm['on' + evType] = fn;}
-}
-function removeEvent(obj, evType, fn, useCapture){ if (obj.removeEventListener){ obj.removeEventListener(evType, fn, useCapture); return true;} else if (obj.detachEvent){ var r = obj.detachEvent("on"+evType, fn); return r;} else { alert("Handler could not be removed");}
-}
-function format_colour(colour)
-{ var returnColour = "#ffffff"; if(colour != "" && colour != "transparent")
-{ if(colour.substr(0, 3) == "rgb")
-{ returnColour = rgb2Hex(colour);}
-else if(colour.length == 4)
-{ returnColour = "#" + colour.substring(1, 2) + colour.substring(1, 2) + colour.substring(2, 3) + colour.substring(2, 3) + colour.substring(3, 4) + colour.substring(3, 4);}
-else
-{ returnColour = colour;}
-}
-return returnColour;}
-function get_style(obj, property, propertyNS)
-{ try
-{ if(obj.currentStyle)
-{ var returnVal = eval("obj.currentStyle." + property);}
-else
-{ if(isSafari && obj.style.display == "none")
-{ obj.style.display = ""; var wasHidden = true;}
-var returnVal = document.defaultView.getComputedStyle(obj, '').getPropertyValue(propertyNS); if(isSafari && wasHidden)
-{ obj.style.display = "none";}
-}
-}
-catch(e)
-{ }
-return returnVal;}
-function getElementsByClass(searchClass, node, tag)
-{ var classElements = new Array(); if(node == null)
-node = document; if(tag == null)
-tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)"); for (i = 0, j = 0; i < elsLen; i++)
-{ if(pattern.test(els[i].className))
-{ classElements[j] = els[i]; j++;}
-}
-return classElements;}
-function newCurvyError(errorMessage)
-{ return new Error("curvyCorners Error:\n" + errorMessage)
-}
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/stylesheets/screen.css b/vendor/gems/composite_primary_keys-2.2.2/website/stylesheets/screen.css
deleted file mode 100644 (file)
index cfa4342..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-body {
-  background-color: #2F30EE;
-  font-family: "Georgia", sans-serif;
-  font-size: 16px;
-  line-height: 1.6em;
-  padding: 1.6em 0 0 0;
-  color: #eee;
-}
-h1, h2, h3, h4, h5, h6 {
-  color: #FFEDFA;
-}
-h1 { 
-  font-family: sans-serif;
-  font-weight: normal;
-  font-size: 4em;
-  line-height: 0.8em;
-  letter-spacing: -0.1ex;
-       margin: 5px;
-}
-li {
-  padding: 0;
-  margin: 0;
-  list-style-type: square;
-}
-a {
-  color: #99f;
-  font-weight: normal;
-  text-decoration: underline;
-}
-blockquote {
-  font-size: 90%;
-  font-style: italic;
-  border-left: 1px solid #eee;
-  padding-left: 1em;
-}
-.caps {
-  font-size: 80%;
-}
-
-#main {
-  width: 45em;
-  padding: 0;
-  margin: 0 auto;
-}
-.coda {
-  text-align: right;
-  color: #77f;
-  font-size: smaller;
-}
-
-table {
-  font-size: 90%;
-  line-height: 1.4em;
-  color: #ff8;
-  background-color: #111;
-  padding: 2px 10px 2px 10px;
-       border-style: dashed;
-}
-
-th {
-       color: #fff;
-}
-
-td {
-  padding: 2px 10px 2px 10px;
-}
-
-.success {
-       color: #0CC52B;
-}
-
-.failed {
-       color: #E90A1B;
-}
-
-.unknown {
-       color: #995000;
-}
-pre, code {
-  font-family: monospace;
-  font-size: 90%;
-  line-height: 1.4em;
-  color: #ff8;
-  background-color: #111;
-  padding: 2px 10px 2px 10px;
-}
-.comment { color: #aaa; font-style: italic; }
-.keyword { color: #eff; font-weight: bold; }
-.punct { color: #eee; font-weight: bold; }
-.symbol { color: #0bb; }
-.string { color: #6b4; }
-.ident { color: #ff8; }
-.constant { color: #66f; }
-.regex { color: #ec6; }
-.number { color: #F99; }
-.expr { color: #227; }
-
-#version {
-  float: right;
-  text-align: right;
-  font-family: sans-serif;
-  font-weight: normal;
-  background-color: #ff8;
-  color: #66f;
-  padding: 15px 20px 10px 20px;
-  margin: 0 auto;
-       margin-top: 15px;
-  border: 3px solid #66f;
-}
-
-#version .numbers {
-  display: block;
-  font-size: 4em;
-  line-height: 0.8em;
-  letter-spacing: -0.1ex;
-}
-
-#version a {
-  text-decoration: none;
-}
-
-.clickable {
-       cursor: pointer; 
-       cursor: hand;
-}
-
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/template.js b/vendor/gems/composite_primary_keys-2.2.2/website/template.js
deleted file mode 100644 (file)
index fbaf5a5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-// <%= title %>
-var version = <%= version.to_json %>;
-<%= body %>
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/template.rhtml b/vendor/gems/composite_primary_keys-2.2.2/website/template.rhtml
deleted file mode 100644 (file)
index 3e2c531..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>
-      <%= title %>
-  </title>
-  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
-<style>
-
-</style>
-  <script type="text/javascript">
-    window.onload = function() {
-      settings = {
-          tl: { radius: 10 },
-          tr: { radius: 10 },
-          bl: { radius: 10 },
-          br: { radius: 10 },
-          antiAlias: true,
-          autoPad: true,
-          validTags: ["div"]
-      }
-      var versionBox = new curvyCorners(settings, document.getElementById("version"));
-      versionBox.applyCornersToAll();
-    }
-  </script>
-</head>
-<body>
-<div id="main">
-
-    <h1><%= title %></h1>
-    <div id="version" class="clickable" onclick='document.location = "<%= download %>"; return false'>
-      Get Version
-      <a href="<%= download %>" class="numbers"><%= version %></a>
-    </div>
-    <%= body %>
-    <p class="coda">
-      <a href="mailto:drnicwilliams@gmail.com">Dr Nic</a>, <%= modified.pretty %><br>
-      Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
-    </p>
-</div>
-
-<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
-</script>
-<script type="text/javascript">
-_uacct = "UA-567811-2";
-urchinTracker();
-</script>
-
-</body>
-</html>
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.js b/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.js
deleted file mode 100644 (file)
index 9db7da4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-// Announcement JS file
-var version = "2.2.2";
-MagicAnnouncement.show('compositekeys', version);
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.txt b/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.txt
deleted file mode 100644 (file)
index 9059e93..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-h1. Announcement JS file
-MagicAnnouncement.show('compositekeys', version);
\ No newline at end of file
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/version.js b/vendor/gems/composite_primary_keys-2.2.2/website/version.js
deleted file mode 100644 (file)
index 3225547..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-// Version JS file
-var version = "2.2.2";
-
-document.write(" - " + version);
diff --git a/vendor/gems/composite_primary_keys-2.2.2/website/version.txt b/vendor/gems/composite_primary_keys-2.2.2/website/version.txt
deleted file mode 100644 (file)
index 6054d2f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-h1. Version JS file
-
-document.write(" - " + version);
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/CHANGELOG b/vendor/plugins/classic_pagination/CHANGELOG
deleted file mode 100644 (file)
index d7d11f1..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-* Exported the changelog of Pagination code for historical reference.
-
-* Imported some patches from Rails Trac (others closed as "wontfix"):
-  #8176, #7325, #7028, #4113. Documentation is much cleaner now and there
-  are some new unobtrusive features!
-
-* Extracted Pagination from Rails trunk (r6795)
-
-#
-# ChangeLog for /trunk/actionpack/lib/action_controller/pagination.rb 
-# 
-# Generated by Trac 0.10.3
-# 05/20/07 23:48:02
-#
-
-09/03/06 23:28:54 david [4953]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Docs and deprecation
-
-08/07/06 12:40:14 bitsweat [4715]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Deprecate direct usage of @params. Update ActionView::Base for
-       instance var deprecation.
-
-06/21/06 02:16:11 rick [4476]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Fix indent in pagination documentation. Closes #4990.  [Kevin Clark]
-
-04/25/06 17:42:48 marcel [4268]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Remove all remaining references to @params in the documentation.
-
-03/16/06 06:38:08 rick [3899]
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       trivial documentation patch for #pagination_links [Francois
-       Beausoleil] closes #4258
-
-02/20/06 03:15:22 david [3620]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/test/activerecord/pagination_test.rb (modified)
-       * trunk/activerecord/CHANGELOG (modified)
-       * trunk/activerecord/lib/active_record/base.rb (modified)
-       * trunk/activerecord/test/base_test.rb (modified)
-       Added :count option to pagination that'll make it possible for the
-       ActiveRecord::Base.count call to using something else than * for the
-       count. Especially important for count queries using DISTINCT #3839
-       [skaes]. Added :select option to Base.count that'll allow you to
-       select something else than * to be counted on. Especially important
-       for count queries using DISTINCT (closes #3839) [skaes].
-
-02/09/06 09:17:40 nzkoz [3553]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/test/active_record_unit.rb (added)
-       * trunk/actionpack/test/activerecord (added)
-       * trunk/actionpack/test/activerecord/active_record_assertions_test.rb (added)
-       * trunk/actionpack/test/activerecord/pagination_test.rb (added)
-       * trunk/actionpack/test/controller/active_record_assertions_test.rb (deleted)
-       * trunk/actionpack/test/fixtures/companies.yml (added)
-       * trunk/actionpack/test/fixtures/company.rb (added)
-       * trunk/actionpack/test/fixtures/db_definitions (added)
-       * trunk/actionpack/test/fixtures/db_definitions/sqlite.sql (added)
-       * trunk/actionpack/test/fixtures/developer.rb (added)
-       * trunk/actionpack/test/fixtures/developers_projects.yml (added)
-       * trunk/actionpack/test/fixtures/developers.yml (added)
-       * trunk/actionpack/test/fixtures/project.rb (added)
-       * trunk/actionpack/test/fixtures/projects.yml (added)
-       * trunk/actionpack/test/fixtures/replies.yml (added)
-       * trunk/actionpack/test/fixtures/reply.rb (added)
-       * trunk/actionpack/test/fixtures/topic.rb (added)
-       * trunk/actionpack/test/fixtures/topics.yml (added)
-       * Fix pagination problems when using include
-       * Introduce Unit Tests for pagination
-       * Allow count to work with :include by using count distinct.
-
-       [Kevin Clark &amp; Jeremy Hopple]
-
-11/05/05 02:10:29 bitsweat [2878]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Update paginator docs.  Closes #2744.
-
-10/16/05 15:42:03 minam [2649]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Update/clean up AP documentation (rdoc)
-
-08/31/05 00:13:10 ulysses [2078]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Add option to specify the singular name used by pagination. Closes
-       #1960
-
-08/23/05 14:24:15 minam [2041]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       Add support for :include with pagination (subject to existing
-       constraints for :include with :limit and :offset) #1478
-       [michael@schubert.cx]
-
-07/15/05 20:27:38 david [1839]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       More pagination speed #1334 [Stefan Kaes]
-
-07/14/05 08:02:01 david [1832]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       * trunk/actionpack/test/controller/addresses_render_test.rb (modified)
-       Made pagination faster #1334 [Stefan Kaes]
-
-04/13/05 05:40:22 david [1159]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/activerecord/lib/active_record/base.rb (modified)
-       Fixed pagination to work with joins #1034 [scott@sigkill.org]
-
-04/02/05 09:11:17 david [1067]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/lib/action_controller/scaffolding.rb (modified)
-       * trunk/actionpack/lib/action_controller/templates/scaffolds/list.rhtml (modified)
-       * trunk/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb (modified)
-       * trunk/railties/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml (modified)
-       Added pagination for scaffolding (10 items per page) #964
-       [mortonda@dgrmm.net]
-
-03/31/05 14:46:11 david [1048]
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       Improved the message display on the exception handler pages #963
-       [Johan Sorensen]
-
-03/27/05 00:04:07 david [1017]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       Fixed that pagination_helper would ignore :params #947 [Sebastian
-       Kanthak]
-
-03/22/05 13:09:44 david [976]
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       Fixed documentation and prepared for 0.11.0 release
-
-03/21/05 14:35:36 david [967]
-       * trunk/actionpack/lib/action_controller/pagination.rb (modified)
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (modified)
-       Tweaked the documentation
-
-03/20/05 23:12:05 david [949]
-       * trunk/actionpack/CHANGELOG (modified)
-       * trunk/actionpack/lib/action_controller.rb (modified)
-       * trunk/actionpack/lib/action_controller/pagination.rb (added)
-       * trunk/actionpack/lib/action_view/helpers/pagination_helper.rb (added)
-       * trunk/activesupport/lib/active_support/core_ext/kernel.rb (added)
-       Added pagination support through both a controller and helper add-on
-       #817 [Sam Stephenson]
diff --git a/vendor/plugins/classic_pagination/README b/vendor/plugins/classic_pagination/README
deleted file mode 100644 (file)
index e949049..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Pagination
-==========
-
-To install:
-
-  script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination
-
-This code was extracted from Rails trunk after the release 1.2.3.
-WARNING: this code is dead. It is unmaintained, untested and full of cruft.
-
-There is a much better pagination plugin called will_paginate.
-Install it like this and glance through the README:
-
-  script/plugin install svn://errtheblog.com/svn/plugins/will_paginate
-
-It doesn't have the same API, but is in fact much nicer. You can
-have both plugins installed until you change your controller/view code that
-handles pagination. Then, simply uninstall classic_pagination.
diff --git a/vendor/plugins/classic_pagination/Rakefile b/vendor/plugins/classic_pagination/Rakefile
deleted file mode 100644 (file)
index c7e374b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require 'rake'
-require 'rake/testtask'
-require 'rake/rdoctask'
-
-desc 'Default: run unit tests.'
-task :default => :test
-
-desc 'Test the classic_pagination plugin.'
-Rake::TestTask.new(:test) do |t|
-  t.libs << 'lib'
-  t.pattern = 'test/**/*_test.rb'
-  t.verbose = true
-end
-
-desc 'Generate documentation for the classic_pagination plugin.'
-Rake::RDocTask.new(:rdoc) do |rdoc|
-  rdoc.rdoc_dir = 'rdoc'
-  rdoc.title    = 'Pagination'
-  rdoc.options << '--line-numbers' << '--inline-source'
-  rdoc.rdoc_files.include('README')
-  rdoc.rdoc_files.include('lib/**/*.rb')
-end
diff --git a/vendor/plugins/classic_pagination/install.rb b/vendor/plugins/classic_pagination/install.rb
deleted file mode 100644 (file)
index adf746f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-puts "\n\n" + File.read(File.dirname(__FILE__) + '/README')
diff --git a/vendor/plugins/classic_pagination/lib/pagination.rb b/vendor/plugins/classic_pagination/lib/pagination.rb
deleted file mode 100644 (file)
index 6a3e1a9..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-module ActionController
-  # === Action Pack pagination for Active Record collections
-  #
-  # The Pagination module aids in the process of paging large collections of
-  # Active Record objects. It offers macro-style automatic fetching of your
-  # model for multiple views, or explicit fetching for single actions. And if
-  # the magic isn't flexible enough for your needs, you can create your own
-  # paginators with a minimal amount of code.
-  #
-  # The Pagination module can handle as much or as little as you wish. In the
-  # controller, have it automatically query your model for pagination; or,
-  # if you prefer, create Paginator objects yourself.
-  #
-  # Pagination is included automatically for all controllers.
-  #
-  # For help rendering pagination links, see 
-  # ActionView::Helpers::PaginationHelper.
-  #
-  # ==== Automatic pagination for every action in a controller
-  #
-  #   class PersonController < ApplicationController   
-  #     model :person
-  #
-  #     paginate :people, :order => 'last_name, first_name',
-  #              :per_page => 20
-  #     
-  #     # ...
-  #   end
-  #
-  # Each action in this controller now has access to a <tt>@people</tt>
-  # instance variable, which is an ordered collection of model objects for the
-  # current page (at most 20, sorted by last name and first name), and a 
-  # <tt>@person_pages</tt> Paginator instance. The current page is determined
-  # by the <tt>params[:page]</tt> variable.
-  #
-  # ==== Pagination for a single action
-  #
-  #   def list
-  #     @person_pages, @people =
-  #       paginate :people, :order => 'last_name, first_name'
-  #   end
-  #
-  # Like the previous example, but explicitly creates <tt>@person_pages</tt>
-  # and <tt>@people</tt> for a single action, and uses the default of 10 items
-  # per page.
-  #
-  # ==== Custom/"classic" pagination 
-  #
-  #   def list
-  #     @person_pages = Paginator.new self, Person.count, 10, params[:page]
-  #     @people = Person.find :all, :order => 'last_name, first_name', 
-  #                           :limit  =>  @person_pages.items_per_page,
-  #                           :offset =>  @person_pages.current.offset
-  #   end
-  # 
-  # Explicitly creates the paginator from the previous example and uses 
-  # Paginator#to_sql to retrieve <tt>@people</tt> from the model.
-  #
-  module Pagination
-    unless const_defined?(:OPTIONS)
-      # A hash holding options for controllers using macro-style pagination
-      OPTIONS = Hash.new
-  
-      # The default options for pagination
-      DEFAULT_OPTIONS = {
-        :class_name => nil,
-        :singular_name => nil,
-        :per_page   => 10,
-        :conditions => nil,
-        :order_by   => nil,
-        :order      => nil,
-        :join       => nil,
-        :joins      => nil,
-        :count      => nil,
-        :include    => nil,
-        :select     => nil,
-        :group      => nil,
-        :parameter  => 'page'
-      }
-    else
-      DEFAULT_OPTIONS[:group] = nil
-    end
-      
-    def self.included(base) #:nodoc:
-      super
-      base.extend(ClassMethods)
-    end
-  
-    def self.validate_options!(collection_id, options, in_action) #:nodoc:
-      options.merge!(DEFAULT_OPTIONS) {|key, old, new| old}
-
-      valid_options = DEFAULT_OPTIONS.keys
-      valid_options << :actions unless in_action
-    
-      unknown_option_keys = options.keys - valid_options
-      raise ActionController::ActionControllerError,
-            "Unknown options: #{unknown_option_keys.join(', ')}" unless
-              unknown_option_keys.empty?
-
-      options[:singular_name] ||= ActiveSupport::Inflector.singularize(collection_id.to_s)
-      options[:class_name]  ||= ActiveSupport::Inflector.camelize(options[:singular_name])
-    end
-
-    # Returns a paginator and a collection of Active Record model instances
-    # for the paginator's current page. This is designed to be used in a
-    # single action; to automatically paginate multiple actions, consider
-    # ClassMethods#paginate.
-    #
-    # +options+ are:
-    # <tt>:singular_name</tt>:: the singular name to use, if it can't be inferred by singularizing the collection name
-    # <tt>:class_name</tt>:: the class name to use, if it can't be inferred by
-    #                        camelizing the singular name
-    # <tt>:per_page</tt>::   the maximum number of items to include in a 
-    #                        single page. Defaults to 10
-    # <tt>:conditions</tt>:: optional conditions passed to Model.find(:all, *params) and
-    #                        Model.count
-    # <tt>:order</tt>::      optional order parameter passed to Model.find(:all, *params)
-    # <tt>:order_by</tt>::   (deprecated, used :order) optional order parameter passed to Model.find(:all, *params)
-    # <tt>:joins</tt>::      optional joins parameter passed to Model.find(:all, *params)
-    #                        and Model.count
-    # <tt>:join</tt>::       (deprecated, used :joins or :include) optional join parameter passed to Model.find(:all, *params)
-    #                        and Model.count
-    # <tt>:include</tt>::    optional eager loading parameter passed to Model.find(:all, *params)
-    #                        and Model.count
-    # <tt>:select</tt>::     :select parameter passed to Model.find(:all, *params)
-    #
-    # <tt>:count</tt>::      parameter passed as :select option to Model.count(*params)
-    #
-    # <tt>:group</tt>::     :group parameter passed to Model.find(:all, *params). It forces the use of DISTINCT instead of plain COUNT to come up with the total number of records
-    #
-    def paginate(collection_id, options={})
-      Pagination.validate_options!(collection_id, options, true)
-      paginator_and_collection_for(collection_id, options)
-    end
-
-    # These methods become class methods on any controller 
-    module ClassMethods
-      # Creates a +before_filter+ which automatically paginates an Active
-      # Record model for all actions in a controller (or certain actions if
-      # specified with the <tt>:actions</tt> option).
-      #
-      # +options+ are the same as PaginationHelper#paginate, with the addition 
-      # of:
-      # <tt>:actions</tt>:: an array of actions for which the pagination is
-      #                     active. Defaults to +nil+ (i.e., every action)
-      def paginate(collection_id, options={})
-        Pagination.validate_options!(collection_id, options, false)
-        module_eval do
-          before_filter :create_paginators_and_retrieve_collections
-          OPTIONS[self] ||= Hash.new
-          OPTIONS[self][collection_id] = options
-        end
-      end
-    end
-
-    def create_paginators_and_retrieve_collections #:nodoc:
-      Pagination::OPTIONS[self.class].each do |collection_id, options|
-        next unless options[:actions].include? action_name if
-          options[:actions]
-
-        paginator, collection = 
-          paginator_and_collection_for(collection_id, options)
-
-        paginator_name = "@#{options[:singular_name]}_pages"
-        self.instance_variable_set(paginator_name, paginator)
-
-        collection_name = "@#{collection_id.to_s}"
-        self.instance_variable_set(collection_name, collection)     
-      end
-    end
-  
-    # Returns the total number of items in the collection to be paginated for
-    # the +model+ and given +conditions+. Override this method to implement a
-    # custom counter.
-    def count_collection_for_pagination(model, options)
-      model.count(:conditions => options[:conditions],
-                  :joins => options[:join] || options[:joins],
-                  :include => options[:include],
-                  :select => (options[:group] ? "DISTINCT #{options[:group]}" : options[:count]))
-    end
-    
-    # Returns a collection of items for the given +model+ and +options[conditions]+,
-    # ordered by +options[order]+, for the current page in the given +paginator+.
-    # Override this method to implement a custom finder.
-    def find_collection_for_pagination(model, options, paginator)
-      model.find(:all, :conditions => options[:conditions],
-                 :order => options[:order_by] || options[:order],
-                 :joins => options[:join] || options[:joins], :include => options[:include],
-                 :select => options[:select], :limit => options[:per_page],
-                 :group => options[:group], :offset => paginator.current.offset)
-    end
-  
-    protected :create_paginators_and_retrieve_collections,
-              :count_collection_for_pagination,
-              :find_collection_for_pagination
-
-    def paginator_and_collection_for(collection_id, options) #:nodoc:
-      klass = options[:class_name].constantize
-      page  = params[options[:parameter]]
-      count = count_collection_for_pagination(klass, options)
-      paginator = Paginator.new(self, count, options[:per_page], page)
-      collection = find_collection_for_pagination(klass, options, paginator)
-    
-      return paginator, collection 
-    end
-      
-    private :paginator_and_collection_for
-
-    # A class representing a paginator for an Active Record collection.
-    class Paginator
-      include Enumerable
-
-      # Creates a new Paginator on the given +controller+ for a set of items
-      # of size +item_count+ and having +items_per_page+ items per page.
-      # Raises ArgumentError if items_per_page is out of bounds (i.e., less
-      # than or equal to zero). The page CGI parameter for links defaults to
-      # "page" and can be overridden with +page_parameter+.
-      def initialize(controller, item_count, items_per_page, current_page=1)
-        raise ArgumentError, 'must have at least one item per page' if
-          items_per_page <= 0
-
-        @controller = controller
-        @item_count = item_count || 0
-        @items_per_page = items_per_page
-        @pages = {}
-        
-        self.current_page = current_page
-      end
-      attr_reader :controller, :item_count, :items_per_page
-      
-      # Sets the current page number of this paginator. If +page+ is a Page
-      # object, its +number+ attribute is used as the value; if the page does 
-      # not belong to this Paginator, an ArgumentError is raised.
-      def current_page=(page)
-        if page.is_a? Page
-          raise ArgumentError, 'Page/Paginator mismatch' unless
-            page.paginator == self
-        end
-        page = page.to_i
-        @current_page_number = has_page_number?(page) ? page : 1
-      end
-
-      # Returns a Page object representing this paginator's current page.
-      def current_page
-        @current_page ||= self[@current_page_number]
-      end
-      alias current :current_page
-
-      # Returns a new Page representing the first page in this paginator.
-      def first_page
-        @first_page ||= self[1]
-      end
-      alias first :first_page
-
-      # Returns a new Page representing the last page in this paginator.
-      def last_page
-        @last_page ||= self[page_count] 
-      end
-      alias last :last_page
-
-      # Returns the number of pages in this paginator.
-      def page_count
-        @page_count ||= @item_count.zero? ? 1 :
-                          (q,r=@item_count.divmod(@items_per_page); r==0? q : q+1)
-      end
-
-      alias length :page_count
-
-      # Returns true if this paginator contains the page of index +number+.
-      def has_page_number?(number)
-        number >= 1 and number <= page_count
-      end
-
-      # Returns a new Page representing the page with the given index
-      # +number+.
-      def [](number)
-        @pages[number] ||= Page.new(self, number)
-      end
-
-      # Successively yields all the paginator's pages to the given block.
-      def each(&block)
-        page_count.times do |n|
-          yield self[n+1]
-        end
-      end
-
-      # A class representing a single page in a paginator.
-      class Page
-        include Comparable
-
-        # Creates a new Page for the given +paginator+ with the index
-        # +number+. If +number+ is not in the range of valid page numbers or
-        # is not a number at all, it defaults to 1.
-        def initialize(paginator, number)
-          @paginator = paginator
-          @number = number.to_i
-          @number = 1 unless @paginator.has_page_number? @number
-        end
-        attr_reader :paginator, :number
-        alias to_i :number
-
-        # Compares two Page objects and returns true when they represent the 
-        # same page (i.e., their paginators are the same and they have the
-        # same page number).
-        def ==(page)
-          return false if page.nil?
-          @paginator == page.paginator and 
-            @number == page.number
-        end
-
-        # Compares two Page objects and returns -1 if the left-hand page comes
-        # before the right-hand page, 0 if the pages are equal, and 1 if the
-        # left-hand page comes after the right-hand page. Raises ArgumentError
-        # if the pages do not belong to the same Paginator object.
-        def <=>(page)
-          raise ArgumentError unless @paginator == page.paginator
-          @number <=> page.number
-        end
-
-        # Returns the item offset for the first item in this page.
-        def offset
-          @paginator.items_per_page * (@number - 1)
-        end
-        
-        # Returns the number of the first item displayed.
-        def first_item
-          offset + 1
-        end
-        
-        # Returns the number of the last item displayed.
-        def last_item
-          [@paginator.items_per_page * @number, @paginator.item_count].min
-        end
-
-        # Returns true if this page is the first page in the paginator.
-        def first?
-          self == @paginator.first
-        end
-
-        # Returns true if this page is the last page in the paginator.
-        def last?
-          self == @paginator.last
-        end
-
-        # Returns a new Page object representing the page just before this
-        # page, or nil if this is the first page.
-        def previous
-          if first? then nil else @paginator[@number - 1] end
-        end
-
-        # Returns a new Page object representing the page just after this
-        # page, or nil if this is the last page.
-        def next
-          if last? then nil else @paginator[@number + 1] end
-        end
-
-        # Returns a new Window object for this page with the specified 
-        # +padding+.
-        def window(padding=2)
-          Window.new(self, padding)
-        end
-
-        # Returns the limit/offset array for this page.
-        def to_sql
-          [@paginator.items_per_page, offset]
-        end
-        
-        def to_param #:nodoc:
-          @number.to_s
-        end
-      end
-
-      # A class for representing ranges around a given page.
-      class Window
-        # Creates a new Window object for the given +page+ with the specified
-        # +padding+.
-        def initialize(page, padding=2)
-          @paginator = page.paginator
-          @page = page
-          self.padding = padding
-        end
-        attr_reader :paginator, :page
-
-        # Sets the window's padding (the number of pages on either side of the
-        # window page).
-        def padding=(padding)
-          @padding = padding < 0 ? 0 : padding
-          # Find the beginning and end pages of the window
-          @first = @paginator.has_page_number?(@page.number - @padding) ?
-            @paginator[@page.number - @padding] : @paginator.first
-          @last =  @paginator.has_page_number?(@page.number + @padding) ?
-            @paginator[@page.number + @padding] : @paginator.last
-        end
-        attr_reader :padding, :first, :last
-
-        # Returns an array of Page objects in the current window.
-        def pages
-          (@first.number..@last.number).to_a.collect! {|n| @paginator[n]}
-        end
-        alias to_a :pages
-      end
-    end
-
-  end
-end
diff --git a/vendor/plugins/classic_pagination/lib/pagination_helper.rb b/vendor/plugins/classic_pagination/lib/pagination_helper.rb
deleted file mode 100644 (file)
index 069d775..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-module ActionView
-  module Helpers
-    # Provides methods for linking to ActionController::Pagination objects using a simple generator API.  You can optionally
-    # also build your links manually using ActionView::Helpers::AssetHelper#link_to like so:
-    #
-    # <%= link_to "Previous page", { :page => paginator.current.previous } if paginator.current.previous %>
-    # <%= link_to "Next page", { :page => paginator.current.next } if paginator.current.next %>
-    module PaginationHelper
-      unless const_defined?(:DEFAULT_OPTIONS)
-        DEFAULT_OPTIONS = {
-          :name => :page,
-          :window_size => 2,
-          :always_show_anchors => true,
-          :link_to_current_page => false,
-          :params => {}
-        }
-      end
-
-      # Creates a basic HTML link bar for the given +paginator+.  Links will be created
-      # for the next and/or previous page and for a number of other pages around the current
-      # pages position. The +html_options+ hash is passed to +link_to+ when the links are created.
-      #
-      # ==== Options
-      # <tt>:name</tt>::                 the routing name for this paginator
-      #                                  (defaults to +page+)
-      # <tt>:prefix</tt>::               prefix for pagination links
-      #                                  (i.e. Older Pages: 1 2 3 4)
-      # <tt>:suffix</tt>::               suffix for pagination links
-      #                                  (i.e. 1 2 3 4 <- Older Pages)
-      # <tt>:window_size</tt>::          the number of pages to show around 
-      #                                  the current page (defaults to <tt>2</tt>)
-      # <tt>:always_show_anchors</tt>::  whether or not the first and last
-      #                                  pages should always be shown
-      #                                  (defaults to +true+)
-      # <tt>:link_to_current_page</tt>:: whether or not the current page
-      #                                  should be linked to (defaults to
-      #                                  +false+)
-      # <tt>:params</tt>::               any additional routing parameters
-      #                                  for page URLs
-      #
-      # ==== Examples
-      #  # We'll assume we have a paginator setup in @person_pages...
-      #
-      #  pagination_links(@person_pages)
-      #  # => 1 <a href="/?page=2/">2</a> <a href="/?page=3/">3</a>  ... <a href="/?page=10/">10</a>
-      #
-      #  pagination_links(@person_pages, :link_to_current_page => true)
-      #  # => <a href="/?page=1/">1</a> <a href="/?page=2/">2</a> <a href="/?page=3/">3</a>  ... <a href="/?page=10/">10</a>
-      #
-      #  pagination_links(@person_pages, :always_show_anchors => false)
-      #  # => 1 <a href="/?page=2/">2</a> <a href="/?page=3/">3</a> 
-      #
-      #  pagination_links(@person_pages, :window_size => 1)
-      #  # => 1 <a href="/?page=2/">2</a>  ... <a href="/?page=10/">10</a>
-      #
-      #  pagination_links(@person_pages, :params => { :viewer => "flash" })
-      #  # => 1 <a href="/?page=2&amp;viewer=flash/">2</a> <a href="/?page=3&amp;viewer=flash/">3</a>  ... 
-      #  #    <a href="/?page=10&amp;viewer=flash/">10</a>
-      def pagination_links(paginator, options={}, html_options={})
-        name = options[:name] || DEFAULT_OPTIONS[:name]
-        params = (options[:params] || DEFAULT_OPTIONS[:params]).clone
-        
-        prefix = options[:prefix] || ''
-        suffix = options[:suffix] || ''
-
-        pagination_links_each(paginator, options, prefix, suffix) do |n|
-          params[name] = n
-          link_to(n.to_s, params, html_options)
-        end
-      end
-
-      # Iterate through the pages of a given +paginator+, invoking a
-      # block for each page number that needs to be rendered as a link.
-      # 
-      # ==== Options
-      # <tt>:window_size</tt>::          the number of pages to show around 
-      #                                  the current page (defaults to +2+)
-      # <tt>:always_show_anchors</tt>::  whether or not the first and last
-      #                                  pages should always be shown
-      #                                  (defaults to +true+)
-      # <tt>:link_to_current_page</tt>:: whether or not the current page
-      #                                  should be linked to (defaults to
-      #                                  +false+)
-      #
-      # ==== Example
-      #  # Turn paginated links into an Ajax call
-      #  pagination_links_each(paginator, page_options) do |link|
-      #    options = { :url => {:action => 'list'}, :update => 'results' }
-      #    html_options = { :href => url_for(:action => 'list') }
-      #
-      #    link_to_remote(link.to_s, options, html_options)
-      #  end
-      def pagination_links_each(paginator, options, prefix = nil, suffix = nil)
-        options = DEFAULT_OPTIONS.merge(options)
-        link_to_current_page = options[:link_to_current_page]
-        always_show_anchors = options[:always_show_anchors]
-
-        current_page = paginator.current_page
-        window_pages = current_page.window(options[:window_size]).pages
-        return if window_pages.length <= 1 unless link_to_current_page
-        
-        first, last = paginator.first, paginator.last
-        
-        html = ''
-
-        html << prefix if prefix
-
-        if always_show_anchors and not (wp_first = window_pages[0]).first?
-          html << yield(first.number)
-          html << ' ... ' if wp_first.number - first.number > 1
-          html << ' '
-        end
-          
-        window_pages.each do |page|
-          if current_page == page && !link_to_current_page
-            html << page.number.to_s
-          else
-            html << yield(page.number)
-          end
-          html << ' '
-        end
-        
-        if always_show_anchors and not (wp_last = window_pages[-1]).last? 
-          html << ' ... ' if last.number - wp_last.number > 1
-          html << yield(last.number)
-        end
-
-        html << suffix if suffix
-
-        html
-      end
-      
-    end # PaginationHelper
-  end # Helpers
-end # ActionView
diff --git a/vendor/plugins/classic_pagination/test/fixtures/companies.yml b/vendor/plugins/classic_pagination/test/fixtures/companies.yml
deleted file mode 100644 (file)
index 707f72a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-thirty_seven_signals:
-  id: 1
-  name: 37Signals
-  rating: 4
-
-TextDrive:
-  id: 2
-  name: TextDrive
-  rating: 4
-
-PlanetArgon:
-  id: 3
-  name: Planet Argon
-  rating: 4
-
-Google:
-  id: 4
-  name: Google
-  rating: 4
-  
-Ionist:
-  id: 5
-  name: Ioni.st
-  rating: 4
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/test/fixtures/company.rb b/vendor/plugins/classic_pagination/test/fixtures/company.rb
deleted file mode 100644 (file)
index 0d1c29b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-class Company < ActiveRecord::Base
-  attr_protected :rating
-  set_sequence_name :companies_nonstd_seq
-
-  validates_presence_of :name
-  def validate
-    errors.add('rating', 'rating should not be 2') if rating == 2
-  end  
-end
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/test/fixtures/developer.rb b/vendor/plugins/classic_pagination/test/fixtures/developer.rb
deleted file mode 100644 (file)
index f5e5b90..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-class Developer < ActiveRecord::Base
-  has_and_belongs_to_many :projects
-end
-
-class DeVeLoPeR < ActiveRecord::Base
-  set_table_name "developers"
-end
diff --git a/vendor/plugins/classic_pagination/test/fixtures/developers.yml b/vendor/plugins/classic_pagination/test/fixtures/developers.yml
deleted file mode 100644 (file)
index 308bf75..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-david:
-  id: 1
-  name: David
-  salary: 80000
-
-jamis:
-  id: 2
-  name: Jamis
-  salary: 150000
-
-<% for digit in 3..10 %>
-dev_<%= digit %>:
-  id: <%= digit %>
-  name: fixture_<%= digit %>
-  salary: 100000
-<% end %>
-
-poor_jamis:
-  id: 11
-  name: Jamis
-  salary: 9000
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml b/vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml
deleted file mode 100644 (file)
index cee359c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-david_action_controller:
-  developer_id: 1
-  project_id: 2
-  joined_on: 2004-10-10
-
-david_active_record:
-  developer_id: 1
-  project_id: 1
-  joined_on: 2004-10-10
-
-jamis_active_record:
-  developer_id: 2
-  project_id: 1
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/test/fixtures/project.rb b/vendor/plugins/classic_pagination/test/fixtures/project.rb
deleted file mode 100644 (file)
index 2b53d39..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-class Project < ActiveRecord::Base
-  has_and_belongs_to_many :developers, :uniq => true
-end
diff --git a/vendor/plugins/classic_pagination/test/fixtures/projects.yml b/vendor/plugins/classic_pagination/test/fixtures/projects.yml
deleted file mode 100644 (file)
index 02800c7..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-action_controller:
-  id: 2
-  name: Active Controller
-
-active_record:
-  id: 1
-  name: Active Record
diff --git a/vendor/plugins/classic_pagination/test/fixtures/replies.yml b/vendor/plugins/classic_pagination/test/fixtures/replies.yml
deleted file mode 100644 (file)
index 284c9c0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-witty_retort:
-  id: 1
-  topic_id: 1
-  content: Birdman is better!
-  created_at: <%= 6.hours.ago.to_s(:db) %>
-  updated_at: nil
-  
-another:
-  id: 2
-  topic_id: 2
-  content: Nuh uh!
-  created_at: <%= 1.hour.ago.to_s(:db) %>
-  updated_at: nil
\ No newline at end of file
diff --git a/vendor/plugins/classic_pagination/test/fixtures/reply.rb b/vendor/plugins/classic_pagination/test/fixtures/reply.rb
deleted file mode 100644 (file)
index ea84042..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-class Reply < ActiveRecord::Base
-  belongs_to :topic, :include => [:replies]
-  
-  validates_presence_of :content
-end
diff --git a/vendor/plugins/classic_pagination/test/fixtures/schema.sql b/vendor/plugins/classic_pagination/test/fixtures/schema.sql
deleted file mode 100644 (file)
index b4e7539..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-CREATE TABLE 'companies' (
-  'id' INTEGER PRIMARY KEY NOT NULL,
-  'name' TEXT DEFAULT NULL,
-  'rating' INTEGER DEFAULT 1
-);
-
-CREATE TABLE 'replies' (
-  'id' INTEGER PRIMARY KEY NOT NULL, 
-  'content' text, 
-  'created_at' datetime, 
-  'updated_at' datetime, 
-  'topic_id' integer
-);
-
-CREATE TABLE 'topics' (
-  'id' INTEGER PRIMARY KEY NOT NULL, 
-  'title' varchar(255), 
-  'subtitle' varchar(255), 
-  'content' text, 
-  'created_at' datetime, 
-  'updated_at' datetime
-);
-
-CREATE TABLE 'developers' (
-  'id' INTEGER PRIMARY KEY NOT NULL,
-  'name' TEXT DEFAULT NULL,
-  'salary' INTEGER DEFAULT 70000,
-  'created_at' DATETIME DEFAULT NULL,
-  'updated_at' DATETIME DEFAULT NULL
-);
-
-CREATE TABLE 'projects' (
-  'id' INTEGER PRIMARY KEY NOT NULL,
-  'name' TEXT DEFAULT NULL
-);
-
-CREATE TABLE 'developers_projects' (
-  'developer_id' INTEGER NOT NULL,
-  'project_id' INTEGER NOT NULL,
-  'joined_on' DATE DEFAULT NULL,
-  'access_level' INTEGER DEFAULT 1
-);
diff --git a/vendor/plugins/classic_pagination/test/fixtures/topic.rb b/vendor/plugins/classic_pagination/test/fixtures/topic.rb
deleted file mode 100644 (file)
index 0beeecf..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-class Topic < ActiveRecord::Base
-  has_many :replies, :include => [:user], :dependent => :destroy
-end
diff --git a/vendor/plugins/classic_pagination/test/fixtures/topics.yml b/vendor/plugins/classic_pagination/test/fixtures/topics.yml
deleted file mode 100644 (file)
index 61ea02d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-futurama:
-  id: 1
-  title: Isnt futurama awesome?
-  subtitle: It really is, isnt it.
-  content: I like futurama
-  created_at: <%= 1.day.ago.to_s(:db) %>
-  updated_at:
-  
-harvey_birdman:
-  id: 2
-  title: Harvey Birdman is the king of all men
-  subtitle: yup
-  content: It really is
-  created_at: <%= 2.hours.ago.to_s(:db) %>
-  updated_at:
-
-rails:
-  id: 3
-  title: Rails is nice
-  subtitle: It makes me happy
-  content: except when I have to hack internals to fix pagination. even then really.
-  created_at: <%= 20.minutes.ago.to_s(:db) %>
diff --git a/vendor/plugins/classic_pagination/test/helper.rb b/vendor/plugins/classic_pagination/test/helper.rb
deleted file mode 100644 (file)
index 3f76d5a..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-require 'test/unit'
-
-unless defined?(ActiveRecord)
-  plugin_root = File.join(File.dirname(__FILE__), '..')
-
-  # first look for a symlink to a copy of the framework
-  if framework_root = ["#{plugin_root}/rails", "#{plugin_root}/../../rails"].find { |p| File.directory? p }
-    puts "found framework root: #{framework_root}"
-    # this allows for a plugin to be tested outside an app
-    $:.unshift "#{framework_root}/activesupport/lib", "#{framework_root}/activerecord/lib", "#{framework_root}/actionpack/lib"
-  else
-    # is the plugin installed in an application?
-    app_root = plugin_root + '/../../..'
-
-    if File.directory? app_root + '/config'
-      puts 'using config/boot.rb'
-      ENV['RAILS_ENV'] = 'test'
-      require File.expand_path(app_root + '/config/boot')
-    else
-      # simply use installed gems if available
-      puts 'using rubygems'
-      require 'rubygems'
-      gem 'actionpack'; gem 'activerecord'
-    end
-  end
-
-  %w(action_pack active_record action_controller active_record/fixtures action_controller/test_process).each {|f| require f}
-
-  Dependencies.load_paths.unshift "#{plugin_root}/lib"
-end
-
-# Define the connector
-class ActiveRecordTestConnector
-  cattr_accessor :able_to_connect
-  cattr_accessor :connected
-
-  # Set our defaults
-  self.connected = false
-  self.able_to_connect = true
-
-  class << self
-    def setup
-      unless self.connected || !self.able_to_connect
-        setup_connection
-        load_schema
-        require_fixture_models
-        self.connected = true
-      end
-    rescue Exception => e  # errors from ActiveRecord setup
-      $stderr.puts "\nSkipping ActiveRecord assertion tests: #{e}"
-      #$stderr.puts "  #{e.backtrace.join("\n  ")}\n"
-      self.able_to_connect = false
-    end
-
-    private
-
-    def setup_connection
-      if Object.const_defined?(:ActiveRecord)
-        defaults = { :database => ':memory:' }
-        begin
-          options = defaults.merge :adapter => 'sqlite3', :timeout => 500
-          ActiveRecord::Base.establish_connection(options)
-          ActiveRecord::Base.configurations = { 'sqlite3_ar_integration' => options }
-          ActiveRecord::Base.connection
-        rescue Exception  # errors from establishing a connection
-          $stderr.puts 'SQLite 3 unavailable; trying SQLite 2.'
-          options = defaults.merge :adapter => 'sqlite'
-          ActiveRecord::Base.establish_connection(options)
-          ActiveRecord::Base.configurations = { 'sqlite2_ar_integration' => options }
-          ActiveRecord::Base.connection
-        end
-
-        Object.send(:const_set, :QUOTED_TYPE, ActiveRecord::Base.connection.quote_column_name('type')) unless Object.const_defined?(:QUOTED_TYPE)
-      else
-        raise "Can't setup connection since ActiveRecord isn't loaded."
-      end
-    end
-
-    # Load actionpack sqlite tables
-    def load_schema
-      File.read(File.dirname(__FILE__) + "/fixtures/schema.sql").split(';').each do |sql|
-        ActiveRecord::Base.connection.execute(sql) unless sql.blank?
-      end
-    end
-
-    def require_fixture_models
-      Dir.glob(File.dirname(__FILE__) + "/fixtures/*.rb").each {|f| require f}
-    end
-  end
-end
-
-# Test case for inheritance
-class ActiveRecordTestCase < Test::Unit::TestCase
-  # Set our fixture path
-  if ActiveRecordTestConnector.able_to_connect
-    self.fixture_path = "#{File.dirname(__FILE__)}/fixtures/"
-    self.use_transactional_fixtures = false
-  end
-
-  def self.fixtures(*args)
-    super if ActiveRecordTestConnector.connected
-  end
-
-  def run(*args)
-    super if ActiveRecordTestConnector.connected
-  end
-
-  # Default so Test::Unit::TestCase doesn't complain
-  def test_truth
-  end
-end
-
-ActiveRecordTestConnector.setup
-ActionController::Routing::Routes.reload rescue nil
-ActionController::Routing::Routes.draw do |map|
-  map.connect ':controller/:action/:id'
-end
diff --git a/vendor/plugins/classic_pagination/test/pagination_helper_test.rb b/vendor/plugins/classic_pagination/test/pagination_helper_test.rb
deleted file mode 100644 (file)
index d8394a7..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-require File.dirname(__FILE__) + '/helper'
-require File.dirname(__FILE__) + '/../init'
-
-class PaginationHelperTest < Test::Unit::TestCase
-  include ActionController::Pagination
-  include ActionView::Helpers::PaginationHelper
-  include ActionView::Helpers::UrlHelper
-  include ActionView::Helpers::TagHelper
-
-  def setup
-    @controller = Class.new do
-      attr_accessor :url, :request
-      def url_for(options, *parameters_for_method_reference)
-        url
-      end
-    end
-    @controller = @controller.new
-    @controller.url = "http://www.example.com"
-  end
-
-  def test_pagination_links
-    total, per_page, page = 30, 10, 1
-    output = pagination_links Paginator.new(@controller, total, per_page, page)
-    assert_equal "1 <a href=\"http://www.example.com\">2</a> <a href=\"http://www.example.com\">3</a> ", output
-  end
-
-  def test_pagination_links_with_prefix
-    total, per_page, page = 30, 10, 1
-    output = pagination_links Paginator.new(@controller, total, per_page, page), :prefix => 'Newer '
-    assert_equal "Newer 1 <a href=\"http://www.example.com\">2</a> <a href=\"http://www.example.com\">3</a> ", output
-  end
-
-  def test_pagination_links_with_suffix
-    total, per_page, page = 30, 10, 1
-    output = pagination_links Paginator.new(@controller, total, per_page, page), :suffix => 'Older'
-    assert_equal "1 <a href=\"http://www.example.com\">2</a> <a href=\"http://www.example.com\">3</a> Older", output
-  end
-end
diff --git a/vendor/plugins/classic_pagination/test/pagination_test.rb b/vendor/plugins/classic_pagination/test/pagination_test.rb
deleted file mode 100644 (file)
index 16a6f1d..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-require File.dirname(__FILE__) + '/helper'
-require File.dirname(__FILE__) + '/../init'
-
-class PaginationTest < ActiveRecordTestCase
-  fixtures :topics, :replies, :developers, :projects, :developers_projects
-  
-  class PaginationController < ActionController::Base
-    if respond_to? :view_paths=
-      self.view_paths = [ "#{File.dirname(__FILE__)}/../fixtures/" ]
-    else
-      self.template_root = [ "#{File.dirname(__FILE__)}/../fixtures/" ]
-    end
-    
-    def simple_paginate
-      @topic_pages, @topics = paginate(:topics)
-      render :nothing => true
-    end
-    
-    def paginate_with_per_page
-      @topic_pages, @topics = paginate(:topics, :per_page => 1)
-      render :nothing => true
-    end
-    
-    def paginate_with_order
-      @topic_pages, @topics = paginate(:topics, :order => 'created_at asc')
-      render :nothing => true
-    end
-    
-    def paginate_with_order_by
-      @topic_pages, @topics = paginate(:topics, :order_by => 'created_at asc')
-      render :nothing => true
-    end
-    
-    def paginate_with_include_and_order
-      @topic_pages, @topics = paginate(:topics, :include => :replies, :order => 'replies.created_at asc, topics.created_at asc')
-      render :nothing => true
-    end
-    
-    def paginate_with_conditions
-      @topic_pages, @topics = paginate(:topics, :conditions => ["created_at > ?", 30.minutes.ago])
-      render :nothing => true
-    end
-    
-    def paginate_with_class_name
-      @developer_pages, @developers = paginate(:developers, :class_name => "DeVeLoPeR")
-      render :nothing => true
-    end
-    
-    def paginate_with_singular_name
-      @developer_pages, @developers = paginate()
-      render :nothing => true
-    end
-    
-    def paginate_with_joins
-      @developer_pages, @developers = paginate(:developers, 
-                                             :joins => 'LEFT JOIN developers_projects ON developers.id = developers_projects.developer_id',
-                                             :conditions => 'project_id=1')        
-      render :nothing => true
-    end
-    
-    def paginate_with_join
-      @developer_pages, @developers = paginate(:developers, 
-                                             :join => 'LEFT JOIN developers_projects ON developers.id = developers_projects.developer_id',
-                                             :conditions => 'project_id=1')        
-      render :nothing => true
-    end
-     
-    def paginate_with_join_and_count
-      @developer_pages, @developers = paginate(:developers, 
-                                             :join => 'd LEFT JOIN developers_projects ON d.id = developers_projects.developer_id',
-                                             :conditions => 'project_id=1',
-                                             :count => "d.id")        
-      render :nothing => true
-    end
-
-    def paginate_with_join_and_group
-      @developer_pages, @developers = paginate(:developers, 
-                                             :join => 'INNER JOIN developers_projects ON developers.id = developers_projects.developer_id',
-                                             :group => 'developers.id')
-      render :nothing => true
-    end
-    
-    def rescue_errors(e) raise e end
-
-    def rescue_action(e) raise end
-    
-  end
-  
-  def setup
-    @controller = PaginationController.new
-    @request    = ActionController::TestRequest.new
-    @response   = ActionController::TestResponse.new
-    super
-  end
-
-  # Single Action Pagination Tests
-
-  def test_simple_paginate
-    get :simple_paginate
-    assert_equal 1, assigns(:topic_pages).page_count
-    assert_equal 3, assigns(:topics).size
-  end
-  
-  def test_paginate_with_per_page
-    get :paginate_with_per_page
-    assert_equal 1, assigns(:topics).size
-    assert_equal 3, assigns(:topic_pages).page_count
-  end
-  
-  def test_paginate_with_order
-    get :paginate_with_order
-    expected = [topics(:futurama),
-               topics(:harvey_birdman),
-               topics(:rails)]
-    assert_equal expected, assigns(:topics)
-    assert_equal 1, assigns(:topic_pages).page_count
-  end
-  
-  def test_paginate_with_order_by
-    get :paginate_with_order
-    expected = assigns(:topics)
-    get :paginate_with_order_by
-    assert_equal expected, assigns(:topics)  
-    assert_equal 1, assigns(:topic_pages).page_count    
-  end
-  
-  def test_paginate_with_conditions
-    get :paginate_with_conditions
-    expected = [topics(:rails)]
-    assert_equal expected, assigns(:topics)
-    assert_equal 1, assigns(:topic_pages).page_count
-  end
-  
-  def test_paginate_with_class_name
-    get :paginate_with_class_name
-    
-    assert assigns(:developers).size > 0
-    assert_equal DeVeLoPeR, assigns(:developers).first.class
-  end
-      
-  def test_paginate_with_joins
-    get :paginate_with_joins
-    assert_equal 2, assigns(:developers).size
-    developer_names = assigns(:developers).map { |d| d.name }
-    assert developer_names.include?('David')
-    assert developer_names.include?('Jamis')
-  end
-  
-  def test_paginate_with_join_and_conditions
-    get :paginate_with_joins
-    expected = assigns(:developers)
-    get :paginate_with_join
-    assert_equal expected, assigns(:developers)
-  end
-  
-  def test_paginate_with_join_and_count
-    get :paginate_with_joins
-    expected = assigns(:developers)
-    get :paginate_with_join_and_count
-    assert_equal expected, assigns(:developers)
-  end
-  
-  def test_paginate_with_include_and_order
-    get :paginate_with_include_and_order
-    expected = Topic.find(:all, :include => 'replies', :order => 'replies.created_at asc, topics.created_at asc', :limit => 10)
-    assert_equal expected, assigns(:topics)
-  end
-
-  def test_paginate_with_join_and_group
-    get :paginate_with_join_and_group
-    assert_equal 2, assigns(:developers).size
-    assert_equal 2, assigns(:developer_pages).item_count
-    developer_names = assigns(:developers).map { |d| d.name }
-    assert developer_names.include?('David')
-    assert developer_names.include?('Jamis')
-  end
-end
diff --git a/vendor/plugins/deadlock_retry/README b/vendor/plugins/deadlock_retry/README
deleted file mode 100644 (file)
index b5937ce..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Deadlock Retry
-==============
-
-Deadlock retry allows the database adapter (currently only tested with the
-MySQLAdapter) to retry transactions that fall into deadlock. It will retry
-such transactions three times before finally failing.
-
-This capability is automatically added to ActiveRecord. No code changes or otherwise are required.
-
-Copyright (c) 2005 Jamis Buck, released under the MIT license
\ No newline at end of file
diff --git a/vendor/plugins/deadlock_retry/Rakefile b/vendor/plugins/deadlock_retry/Rakefile
deleted file mode 100644 (file)
index 8063a6e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-require 'rake'
-require 'rake/testtask'
-
-desc "Default task"
-task :default => [ :test ]
-
-Rake::TestTask.new do |t|
-  t.test_files = Dir["test/**/*_test.rb"]
-  t.verbose = true
-end
diff --git a/vendor/plugins/deadlock_retry/init.rb b/vendor/plugins/deadlock_retry/init.rb
deleted file mode 100644 (file)
index 2d7c5f3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require 'deadlock_retry'
-
-if defined?(ActiveRecord::Base)
-  ActiveRecord::Base.send :include, DeadlockRetry
-end
diff --git a/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb b/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb
deleted file mode 100644 (file)
index f287c4e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2005 Jamis Buck
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-module DeadlockRetry
-  def self.append_features(base)
-    super
-    base.extend(ClassMethods)
-    base.class_eval do
-      class <<self
-        alias_method :transaction_without_deadlock_handling, :transaction
-        alias_method :transaction, :transaction_with_deadlock_handling
-      end
-    end
-  end
-
-  module ClassMethods
-    DEADLOCK_ERROR_MESSAGES = [
-      "Deadlock found when trying to get lock",
-      "Lock wait timeout exceeded",
-      "deadlock detected"
-    ]
-
-    MAXIMUM_RETRIES_ON_DEADLOCK = 3
-
-    def transaction_with_deadlock_handling(*objects, &block)
-      retry_count = 0
-
-      begin
-        transaction_without_deadlock_handling(*objects, &block)
-      rescue ActiveRecord::StatementInvalid => error
-        raise unless connection.open_transactions.zero?
-        if DEADLOCK_ERROR_MESSAGES.any? { |msg| error.message =~ /#{Regexp.escape(msg)}/ }
-          raise if retry_count >= MAXIMUM_RETRIES_ON_DEADLOCK
-          retry_count += 1
-          logger.info "Deadlock detected on retry #{retry_count}, restarting transaction"
-          retry
-        else
-          raise
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/plugins/deadlock_retry/test/deadlock_retry_test.rb b/vendor/plugins/deadlock_retry/test/deadlock_retry_test.rb
deleted file mode 100644 (file)
index 7124391..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-begin
-  require 'active_record'
-rescue LoadError
-  if ENV['ACTIVERECORD_PATH'].nil?
-    abort <<MSG
-Please set the ACTIVERECORD_PATH environment variable to the directory
-containing the active_record.rb file.
-MSG
-  else
-    $LOAD_PATH.unshift << ENV['ACTIVERECORD_PATH']
-    begin
-      require 'active_record'
-    rescue LoadError
-      abort "ActiveRecord could not be found."
-    end
-  end
-end
-
-require 'test/unit'
-require "#{File.dirname(__FILE__)}/../lib/deadlock_retry"
-
-class MockModel
-  @@open_transactions = 0
-
-  def self.transaction(*objects)
-    @@open_transactions += 1
-    yield
-  ensure
-    @@open_transactions -= 1
-  end
-
-  def self.open_transactions
-    @@open_transactions
-  end
-
-  def self.connection
-    self
-  end
-
-  def self.logger
-    @logger ||= Logger.new(nil)
-  end
-
-  include DeadlockRetry
-end
-
-class DeadlockRetryTest < Test::Unit::TestCase
-  DEADLOCK_ERROR = "MySQL::Error: Deadlock found when trying to get lock"
-  TIMEOUT_ERROR = "MySQL::Error: Lock wait timeout exceeded"
-
-  def test_no_errors
-    assert_equal :success, MockModel.transaction { :success }
-  end
-
-  def test_no_errors_with_deadlock
-    errors = [ DEADLOCK_ERROR ] * 3
-    assert_equal :success, MockModel.transaction { raise ActiveRecord::StatementInvalid, errors.shift unless errors.empty?; :success }
-    assert errors.empty?
-  end
-
-  def test_no_errors_with_lock_timeout
-    errors = [ TIMEOUT_ERROR ] * 3
-    assert_equal :success, MockModel.transaction { raise ActiveRecord::StatementInvalid, errors.shift unless errors.empty?; :success }
-    assert errors.empty?
-  end
-
-  def test_error_if_limit_exceeded
-    assert_raise(ActiveRecord::StatementInvalid) do
-      MockModel.transaction { raise ActiveRecord::StatementInvalid, DEADLOCK_ERROR }
-    end
-  end
-
-  def test_error_if_unrecognized_error
-    assert_raise(ActiveRecord::StatementInvalid) do
-      MockModel.transaction { raise ActiveRecord::StatementInvalid, "Something else" }
-    end
-  end
-
-  def test_error_in_nested_transaction_should_retry_outermost_transaction
-    tries = 0
-    errors = 0
-
-    MockModel.transaction do
-      tries += 1
-      MockModel.transaction do
-        MockModel.transaction do
-          errors += 1
-          raise ActiveRecord::StatementInvalid, "MySQL::Error: Lock wait timeout exceeded" unless errors > 3
-        end
-      end
-    end
-  
-    assert_equal 4, tries
-  end
-end
diff --git a/vendor/plugins/file_column/CHANGELOG b/vendor/plugins/file_column/CHANGELOG
deleted file mode 100644 (file)
index bb4e5c6..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-*svn*
-    * allow for directories in file_column dirs as well
-    * use subdirs for versions instead of fiddling with filename
-    * url_for_image_column_helper for dynamic resizing of images from views
-    * new "crop" feature [Sean Treadway]
-    * url_for_file_column helper: do not require model objects to be stored in
-      instance variables
-    * allow more fined-grained control over :store_dir via callback
-      methods [Gerret Apelt]
-    * allow assignment of regular file objects
-    * validation of file format and file size [Kyle Maxwell]
-    * validation of image dimensions [Lee O'Mara]
-    * file permissions can be set via :permissions option
-    * fixed bug that prevents deleting of file via assigning nil if
-      column is declared as NON NULL on some databases
-    * don't expand absolute paths. This is necessary for file_column to work
-      when your rails app is deployed into a sub-directory via a symbolic link
-    * url_for_*_column will no longer return absolute URLs! Instead, although the
-      generated URL starts with a slash, it will be relative to your application's
-      root URL. This is so, because rails' image_tag helper will automatically
-      convert it to an absolute URL. If you need an absolute URL (e.g., to pass
-      it to link_to) use url_for_file_column's :absolute => true option.
-    * added support for file_column enabled unit tests [Manuel Holtgrewe]
-    * support for custom transformation of images [Frederik Fix]
-    * allow setting of image attributes (e.g., quality) [Frederik Fix]
-    * :magick columns can optionally ignore non-images (i.e., do not try to
-       resize them)
-
-0.3.1
-    * make object with file_columns serializable
-    * use normal require for RMagick, so that it works with gem
-      and custom install as well
-
-0.3
-    * fixed bug where empty file uploads were not recognized with some browsers
-    * fixed bug on windows when "file" utility is not present
-    * added option to disable automatic file extension correction
-    * Only allow one attribute per call to file_column, so that options only
-      apply to one argument
-    * try to detect when people forget to set the form encoding to
-      'multipart/form-data'
-    * converted to rails plugin
-    * easy integration with RMagick
-
-0.2
-    * complete rewrite using state pattern
-    * fixed sanitize filename [Michael Raidel]
-    * fixed bug when no file was uploaded [Michael Raidel]
-    * try to fix filename extensions [Michael Raidel]
-    * Feed absolute paths through File.expand_path to make them as simple as possible
-    * Make file_column_field helper work with auto-ids (e.g., "event[]")
-
-0.1.3
-    * test cases with more than 1 file_column
-    * fixed bug when file_column was called with several arguments
-    * treat empty ("") file_columns as nil
-    * support for binary files on windows
-
-0.1.2
-    * better rails integration, so that you do not have to include the modules yourself. You
-      just have to "require 'rails_file_column'" in your "config/environment.rb"
-    * Rakefile for testing and packaging
-
-0.1.1 (2005-08-11)
-    * fixed nasty bug in url_for_file_column that made it unusable on Apache
-    * prepared for public release
-    
-0.1 (2005-08-10)
-    * initial release
diff --git a/vendor/plugins/file_column/README b/vendor/plugins/file_column/README
deleted file mode 100644 (file)
index 07a6e96..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-FEATURES
-========
-
-Let's assume an model class named Entry, where we want to define the "image" column
-as a "file_upload" column.
-
-class Entry < ActiveRecord::Base
-  file_column :image
-end
-
-* every entry can have one uploaded file, the filename will be stored in the "image" column
-
-* files will be stored in "public/entry/image/<entry.id>/filename.ext"
-
-* Newly uploaded files will be stored in "public/entry/tmp/<random>/filename.ext" so that
-  they can be reused in form redisplays (due to validation etc.)
-
-* in a view, "<%= file_column_field 'entry', 'image' %> will create a file upload field as well
-  as a hidden field to recover files uploaded before in a case of a form redisplay
-
-* in a view, "<%= url_for_file_column 'entry', 'image' %> will create an URL to access the
-  uploaded file. Note that you need an Entry object in the instance variable @entry for this
-  to work.
-
-* easy integration with RMagick to resize images and/or create thumb-nails.
-
-USAGE
-=====
-
-Just drop the whole directory into your application's "vendor/plugins" directory. Starting
-with version 1.0rc of rails, it will be automatically picked for you by rails plugin
-mechanism.
-
-DOCUMENTATION
-=============
-
-Please look at the rdoc-generated documentation in the "doc" directory.
-
-RUNNING UNITTESTS
-=================
-
-There are extensive unittests in the "test" directory. Currently, only MySQL is supported, but
-you should be able to easily fix this by looking at "connection.rb". You have to create a
-database for the tests and put the connection information into "connection.rb". The schema
-for MySQL can be found in "test/fixtures/mysql.sql".
-
-You can run the tests by starting the "*_test.rb" in the directory "test"
-
-BUGS & FEEDBACK
-===============
-
-Bug reports (as well as patches) and feedback are very welcome. Please send it to
-sebastian.kanthak@muehlheim.de
-
diff --git a/vendor/plugins/file_column/Rakefile b/vendor/plugins/file_column/Rakefile
deleted file mode 100644 (file)
index 0a24682..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-task :default => [:test]
-
-PKG_NAME = "file-column"
-PKG_VERSION = "0.3.1"
-
-PKG_DIR = "release/#{PKG_NAME}-#{PKG_VERSION}"
-
-task :clean do
-  rm_rf "release"
-end
-
-task :setup_directories do
-  mkpath "release"
-end
-
-
-task :checkout_release => :setup_directories do
-  rm_rf PKG_DIR
-  revision = ENV["REVISION"] || "HEAD"
-  sh "svn export -r #{revision} . #{PKG_DIR}"
-end
-
-task :release_docs => :checkout_release do
-  sh "cd #{PKG_DIR}; rdoc lib"
-end
-
-task :package => [:checkout_release, :release_docs] do
-  sh "cd release; tar czf #{PKG_NAME}-#{PKG_VERSION}.tar.gz #{PKG_NAME}-#{PKG_VERSION}"
-end
-
-task :test do
-  sh "cd test; ruby file_column_test.rb"
-  sh "cd test; ruby file_column_helper_test.rb"
-  sh "cd test; ruby magick_test.rb"
-  sh "cd test; ruby magick_view_only_test.rb"
-end
diff --git a/vendor/plugins/file_column/TODO b/vendor/plugins/file_column/TODO
deleted file mode 100644 (file)
index d46e9fa..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-* document configuration options better
-* support setting of permissions
-* validation methods for file format/size
-* delete stale files from tmp directories
-
-* ensure valid URLs are created even when deployed at sub-path (compute_public_url?)
diff --git a/vendor/plugins/file_column/init.rb b/vendor/plugins/file_column/init.rb
deleted file mode 100644 (file)
index 0610d48..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# plugin init file for rails
-# this file will be picked up by rails automatically and
-# add the file_column extensions to rails
-
-require 'file_column'
-require 'file_compat'
-require 'file_column_helper'
-require 'validations'
-require 'test_case'
-
-if defined?(ActiveRecord::Base)
-  ActiveRecord::Base.send(:include, FileColumn)
-  ActiveRecord::Base.send(:include, FileColumn::Validations)
-end
-
-if defined?(ActionView::Base)
-  ActionView::Base.send(:include, FileColumnHelper)
-end
diff --git a/vendor/plugins/file_column/lib/file_column.rb b/vendor/plugins/file_column/lib/file_column.rb
deleted file mode 100644 (file)
index 389b464..0000000
+++ /dev/null
@@ -1,720 +0,0 @@
-require 'fileutils'
-require 'tempfile'
-require 'magick_file_column'
-
-module FileColumn # :nodoc:
-  def self.append_features(base)
-    super
-    base.extend(ClassMethods)
-  end
-
-  def self.create_state(instance,attr)
-    filename = instance[attr]
-    if filename.nil? or filename.empty?
-      NoUploadedFile.new(instance,attr)
-    else
-      PermanentUploadedFile.new(instance,attr)
-    end
-  end
-
-  def self.init_options(defaults, model, attr)
-    options = defaults.dup
-    options[:store_dir] ||= File.join(options[:root_path], model, attr)
-    unless options[:store_dir].is_a?(Symbol)
-      options[:tmp_base_dir] ||= File.join(options[:store_dir], "tmp")
-    end
-    options[:base_url] ||= options[:web_root] + File.join(model, attr)
-
-    [:store_dir, :tmp_base_dir].each do |dir_sym|
-      if options[dir_sym].is_a?(String) and !File.exists?(options[dir_sym])
-        FileUtils.mkpath(options[dir_sym])
-      end
-    end
-
-    options
-  end
-
-  class BaseUploadedFile # :nodoc:
-
-    def initialize(instance,attr)
-      @instance, @attr = instance, attr
-      @options_method = "#{attr}_options".to_sym
-    end
-
-
-    def assign(file)
-      if file.is_a? File
-        # this did not come in via a CGI request. However,
-        # assigning files directly may be useful, so we
-        # make just this file object similar enough to an uploaded
-        # file that we can handle it. 
-        file.extend FileColumn::FileCompat
-      end
-
-      if file.nil?
-        delete
-      else
-        if file.size == 0
-          # user did not submit a file, so we
-          # can simply ignore this
-          self
-        else
-          if file.is_a?(String)
-            # if file is a non-empty string it is most probably
-            # the filename and the user forgot to set the encoding
-            # to multipart/form-data. Since we would raise an exception
-            # because of the missing "original_filename" method anyways,
-            # we raise a more meaningful exception rightaway.
-            raise TypeError.new("Do not know how to handle a string with value '#{file}' that was passed to a file_column. Check if the form's encoding has been set to 'multipart/form-data'.")
-          end
-          upload(file)
-        end
-      end
-    end
-
-    def just_uploaded?
-      @just_uploaded
-    end
-
-    def on_save(&blk)
-      @on_save ||= []
-      @on_save << Proc.new
-    end
-    
-    # the following methods are overriden by sub-classes if needed
-
-    def temp_path
-      nil
-    end
-
-    def absolute_dir
-      if absolute_path then File.dirname(absolute_path) else nil end
-    end
-
-    def relative_dir
-      if relative_path then File.dirname(relative_path) else nil end
-    end
-
-    def after_save
-      @on_save.each { |blk| blk.call } if @on_save
-      self
-    end
-
-    def after_destroy
-    end
-
-    def options
-      @instance.send(@options_method)
-    end
-
-    private
-    
-    def store_dir
-      if options[:store_dir].is_a? Symbol
-        raise ArgumentError.new("'#{options[:store_dir]}' is not an instance method of class #{@instance.class.name}") unless @instance.respond_to?(options[:store_dir])
-
-        dir = File.join(options[:root_path], @instance.send(options[:store_dir]))
-        FileUtils.mkpath(dir) unless File.exists?(dir)
-        dir
-      else 
-        options[:store_dir]
-      end
-    end
-
-    def tmp_base_dir
-      if options[:tmp_base_dir]
-        options[:tmp_base_dir] 
-      else
-        dir = File.join(store_dir, "tmp")
-        FileUtils.mkpath(dir) unless File.exists?(dir)
-        dir
-      end
-    end
-
-    def clone_as(klass)
-      klass.new(@instance, @attr)
-    end
-
-  end
-    
-
-  class NoUploadedFile < BaseUploadedFile # :nodoc:
-    def delete
-      # we do not have a file so deleting is easy
-      self
-    end
-
-    def upload(file)
-      # replace ourselves with a TempUploadedFile
-      temp = clone_as TempUploadedFile
-      temp.store_upload(file)
-      temp
-    end
-
-    def absolute_path(subdir=nil)
-      nil
-    end
-
-
-    def relative_path(subdir=nil)
-      nil
-    end
-
-    def assign_temp(temp_path)
-      return self if temp_path.nil? or temp_path.empty?
-      temp = clone_as TempUploadedFile
-      temp.parse_temp_path temp_path
-      temp
-    end
-  end
-
-  class RealUploadedFile < BaseUploadedFile # :nodoc:
-    def absolute_path(subdir=nil)
-      if subdir
-        File.join(@dir, subdir, @filename)
-      else
-        File.join(@dir, @filename)
-      end
-    end
-
-    def relative_path(subdir=nil)
-      if subdir
-        File.join(relative_path_prefix, subdir, @filename)
-      else
-        File.join(relative_path_prefix, @filename)
-      end
-    end
-
-    private
-
-    # regular expressions to try for identifying extensions
-    EXT_REGEXPS = [ 
-      /^(.+)\.([^.]+\.[^.]+)$/, # matches "something.tar.gz"
-      /^(.+)\.([^.]+)$/ # matches "something.jpg"
-    ]
-
-    def split_extension(filename,fallback=nil)
-      EXT_REGEXPS.each do |regexp|
-        if filename =~ regexp
-          base,ext = $1, $2
-          return [base, ext] if options[:extensions].include?(ext.downcase)
-        end
-      end
-      if fallback and filename =~ EXT_REGEXPS.last
-        return [$1, $2]
-      end
-      [filename, ""]
-    end
-    
-  end
-
-  class TempUploadedFile < RealUploadedFile # :nodoc:
-
-    def store_upload(file)
-      @tmp_dir = FileColumn.generate_temp_name
-      @dir = File.join(tmp_base_dir, @tmp_dir)      
-      FileUtils.mkdir(@dir)
-      
-      @filename = FileColumn::sanitize_filename(file.original_filename)
-      local_file_path = File.join(tmp_base_dir,@tmp_dir,@filename)
-      
-      # stored uploaded file into local_file_path
-      # If it was a Tempfile object, the temporary file will be
-      # cleaned up automatically, so we do not have to care for this
-      if file.respond_to?(:local_path) and file.local_path and File.exists?(file.local_path)
-        FileUtils.copy_file(file.local_path, local_file_path)
-      elsif file.respond_to?(:read)
-        File.open(local_file_path, "wb") { |f| f.write(file.read) }
-      else
-        raise ArgumentError.new("Do not know how to handle #{file.inspect}")
-      end
-      File.chmod(options[:permissions], local_file_path)
-      
-      if options[:fix_file_extensions]
-        # try to determine correct file extension and fix
-        # if necessary
-        content_type = get_content_type((file.content_type.chomp if file.content_type))
-        if content_type and options[:mime_extensions][content_type]
-          @filename = correct_extension(@filename,options[:mime_extensions][content_type])
-        end
-
-        new_local_file_path = File.join(tmp_base_dir,@tmp_dir,@filename)
-        File.rename(local_file_path, new_local_file_path) unless new_local_file_path == local_file_path
-        local_file_path = new_local_file_path
-      end
-      
-      @instance[@attr] = @filename
-      @just_uploaded = true
-    end
-
-
-    # tries to identify and strip the extension of filename
-    # if an regular expresion from EXT_REGEXPS matches and the
-    # downcased extension is a known extension (in options[:extensions])
-    # we'll strip this extension
-    def strip_extension(filename)
-      split_extension(filename).first
-    end
-
-    def correct_extension(filename, ext)
-      strip_extension(filename) << ".#{ext}"
-    end
-    
-    def parse_temp_path(temp_path, instance_options=nil)
-      raise ArgumentError.new("invalid format of '#{temp_path}'") unless temp_path =~ %r{^((\d+\.)+\d+)/([^/].+)$}
-      @tmp_dir, @filename = $1, FileColumn.sanitize_filename($3)
-      @dir = File.join(tmp_base_dir, @tmp_dir)
-
-      @instance[@attr] = @filename unless instance_options == :ignore_instance
-    end
-    
-    def upload(file)
-      # store new file
-      temp = clone_as TempUploadedFile
-      temp.store_upload(file)
-      
-      # delete old copy
-      delete_files
-
-      # and return new TempUploadedFile object
-      temp
-    end
-
-    def delete
-      delete_files
-      @instance[@attr] = ""
-      clone_as NoUploadedFile
-    end
-
-    def assign_temp(temp_path)
-      return self if temp_path.nil? or temp_path.empty?
-      # we can ignore this since we've already received a newly uploaded file
-
-      # however, we delete the old temporary files
-      temp = clone_as TempUploadedFile
-      temp.parse_temp_path(temp_path, :ignore_instance)
-      temp.delete_files
-
-      self
-    end
-
-    def temp_path
-      File.join(@tmp_dir, @filename)
-    end
-
-    def after_save
-      super
-
-      # we have a newly uploaded image, move it to the correct location
-      file = clone_as PermanentUploadedFile
-      file.move_from(File.join(tmp_base_dir, @tmp_dir), @just_uploaded)
-
-      # delete temporary files
-      delete_files
-
-      # replace with the new PermanentUploadedFile object
-      file
-    end
-
-    def delete_files
-      FileUtils.rm_rf(File.join(tmp_base_dir, @tmp_dir))
-    end
-
-    def get_content_type(fallback=nil)
-      if options[:file_exec]
-        begin
-          content_type = `#{options[:file_exec]} -bi "#{File.join(@dir,@filename)}"`.chomp
-          content_type = fallback unless $?.success?
-          content_type.gsub!(/;.+$/,"") if content_type
-          content_type
-        rescue
-          fallback
-        end
-      else
-        fallback
-      end
-    end
-
-    private
-
-    def relative_path_prefix
-      File.join("tmp", @tmp_dir)
-    end
-  end
-
-  
-  class PermanentUploadedFile < RealUploadedFile # :nodoc:
-    def initialize(*args)
-      super *args
-      @dir = File.join(store_dir, relative_path_prefix)
-      @filename = @instance[@attr]
-      @filename = nil if @filename.empty?
-    end
-
-    def move_from(local_dir, just_uploaded)
-      # remove old permament dir first
-      # this creates a short moment, where neither the old nor
-      # the new files exist but we can't do much about this as
-      # filesystems aren't transactional.
-      FileUtils.rm_rf @dir
-
-      FileUtils.mv local_dir, @dir
-
-      @just_uploaded = just_uploaded
-    end
-
-    def upload(file)
-      temp = clone_as TempUploadedFile
-      temp.store_upload(file)
-      temp
-    end
-
-    def delete
-      file = clone_as NoUploadedFile
-      @instance[@attr] = ""
-      file.on_save { delete_files }
-      file
-    end
-
-    def assign_temp(temp_path)
-      return nil if temp_path.nil? or temp_path.empty?
-
-      temp = clone_as TempUploadedFile
-      temp.parse_temp_path(temp_path)
-      temp
-    end
-
-    def after_destroy
-      delete_files
-    end
-
-    def delete_files
-      FileUtils.rm_rf @dir
-    end
-
-    private
-    
-    def relative_path_prefix
-      raise RuntimeError.new("Trying to access file_column, but primary key got lost.") if @instance.id.to_s.empty?
-      @instance.id.to_s
-    end
-  end
-    
-  # The FileColumn module allows you to easily handle file uploads. You can designate
-  # one or more columns of your model's table as "file columns" like this:
-  #
-  #   class Entry < ActiveRecord::Base
-  #
-  #     file_column :image
-  #   end
-  #
-  # Now, by default, an uploaded file "test.png" for an entry object with primary key 42 will
-  # be stored in in "public/entry/image/42/test.png". The filename "test.png" will be stored
-  # in the record's "image" column. The "entries" table should have a +VARCHAR+ column
-  # named "image".
-  #
-  # The methods of this module are automatically included into <tt>ActiveRecord::Base</tt>
-  # as class methods, so that you can use them in your models.
-  #
-  # == Generated Methods
-  #
-  # After calling "<tt>file_column :image</tt>" as in the example above, a number of instance methods
-  # will automatically be generated, all prefixed by "image":
-  #
-  # * <tt>Entry#image=(uploaded_file)</tt>: this will handle a newly uploaded file
-  #   (see below). Note that
-  #   you can simply call your upload field "entry[image]" in your view (or use the
-  #   helper).
-  # * <tt>Entry#image(subdir=nil)</tt>: This will return an absolute path (as a
-  #   string) to the currently uploaded file
-  #   or nil if no file has been uploaded
-  # * <tt>Entry#image_relative_path(subdir=nil)</tt>: This will return a path relative to
-  #   this file column's base directory
-  #   as a string or nil if no file has been uploaded. This would be "42/test.png" in the example.
-  # * <tt>Entry#image_just_uploaded?</tt>: Returns true if a new file has been uploaded to this instance.
-  #   You can use this in your code to perform certain actions (e. g., validation,
-  #   custom post-processing) only on newly uploaded files.
-  #
-  # You can access the raw value of the "image" column (which will contain the filename) via the
-  # <tt>ActiveRecord::Base#attributes</tt> or <tt>ActiveRecord::Base#[]</tt> methods like this:
-  #
-  #   entry['image']    # e.g."test.png"
-  #
-  # == Storage of uploaded files
-  #
-  # For a model class +Entry+ and a column +image+, all files will be stored under
-  # "public/entry/image". A sub-directory named after the primary key of the object will
-  # be created, so that files can be stored using their real filename. For example, a file
-  # "test.png" stored in an Entry object with id 42 will be stored in
-  #
-  #   public/entry/image/42/test.png
-  #
-  # Files will be moved to this location in an +after_save+ callback. They will be stored in
-  # a temporary location previously as explained in the next section.
-  #
-  # By default, files will be created with unix permissions of <tt>0644</tt> (i. e., owner has
-  # read/write access, group and others only have read access). You can customize
-  # this by passing the desired mode as a <tt>:permissions</tt> options. The value
-  # you give here is passed directly to <tt>File::chmod</tt>, so on Unix you should
-  # give some octal value like 0644, for example.
-  #
-  # == Handling of form redisplay
-  #
-  # Suppose you have a form for creating a new object where the user can upload an image. The form may
-  # have to be re-displayed because of validation errors. The uploaded file has to be stored somewhere so
-  # that the user does not have to upload it again. FileColumn will store these in a temporary directory
-  # (called "tmp" and located under the column's base directory by default) so that it can be moved to
-  # the final location if the object is successfully created. If the form is never completed, though, you
-  # can easily remove all the images in this "tmp" directory once per day or so.
-  #
-  # So in the example above, the image "test.png" would first be stored in 
-  # "public/entry/image/tmp/<some_random_key>/test.png" and be moved to
-  # "public/entry/image/<primary_key>/test.png".
-  #
-  # This temporary location of newly uploaded files has another advantage when updating objects. If the
-  # update fails for some reasons (e.g. due to validations), the existing image will not be overwritten, so
-  # it has a kind of "transactional behaviour".
-  #
-  # == Additional Files and Directories
-  #
-  # FileColumn allows you to keep more than one file in a directory and will move/delete
-  # all the files and directories it finds in a model object's directory when necessary.
-  #
-  # As a convenience you can access files stored in sub-directories via the +subdir+
-  # parameter if they have the same filename.
-  #
-  # Suppose your uploaded file is named "vancouver.jpg" and you want to create a
-  # thumb-nail and store it in the "thumb" directory. If you call
-  # <tt>image("thumb")</tt>, you
-  # will receive an absolute path for the file "thumb/vancouver.jpg" in the same
-  # directory "vancouver.jpg" is stored. Look at the documentation of FileColumn::Magick
-  # for more examples and how to create these thumb-nails automatically.
-  #
-  # == File Extensions
-  #
-  # FileColumn will try to fix the file extension of uploaded files, so that
-  # the files are served with the correct mime-type by your web-server. Most
-  # web-servers are setting the mime-type based on the file's extension. You
-  # can disable this behaviour by passing the <tt>:fix_file_extensions</tt> option
-  # with a value of +nil+ to +file_column+.
-  #
-  # In order to set the correct extension, FileColumn tries to determine
-  # the files mime-type first. It then uses the +MIME_EXTENSIONS+ hash to
-  # choose the corresponding file extension. You can override this hash
-  # by passing in a <tt>:mime_extensions</tt> option to +file_column+.
-  #
-  # The mime-type of the uploaded file is determined with the following steps:
-  #
-  # 1. Run the external "file" utility. You can specify the full path to
-  #    the executable in the <tt>:file_exec</tt> option or set this option
-  #    to +nil+ to disable this step
-  #
-  # 2. If the file utility couldn't determine the mime-type or the utility was not
-  #    present, the content-type provided by the user's browser is used
-  #    as a fallback.
-  #
-  # == Custom Storage Directories
-  #
-  # FileColumn's storage location is determined in the following way. All
-  # files are saved below the so-called "root_path" directory, which defaults to
-  # "Rails.root/public". For every file_column, you can set a separte "store_dir"
-  # option. It defaults to "model_name/attribute_name".
-  # 
-  # Files will always be stored in sub-directories of the store_dir path. The
-  # subdirectory is named after the instance's +id+ attribute for a saved model,
-  # or "tmp/<randomkey>" for unsaved models.
-  #
-  # You can specify a custom root_path by setting the <tt>:root_path</tt> option.
-  # 
-  # You can specify a custom storage_dir by setting the <tt>:storage_dir</tt> option.
-  #
-  # For setting a static storage_dir that doesn't change with respect to a particular
-  # instance, you assign <tt>:storage_dir</tt> a String representing a directory
-  # as an absolute path.
-  #
-  # If you need more fine-grained control over the storage directory, you
-  # can use the name of a callback-method as a symbol for the
-  # <tt>:store_dir</tt> option. This method has to be defined as an
-  # instance method in your model. It will be called without any arguments
-  # whenever the storage directory for an uploaded file is needed. It should return
-  # a String representing a directory relativeo to root_path.
-  #
-  # Uploaded files for unsaved models objects will be stored in a temporary
-  # directory. By default this directory will be a "tmp" directory in
-  # your <tt>:store_dir</tt>. You can override this via the
-  # <tt>:tmp_base_dir</tt> option.
-  module ClassMethods
-
-    # default mapping of mime-types to file extensions. FileColumn will try to
-    # rename a file to the correct extension if it detects a known mime-type
-    MIME_EXTENSIONS = {
-      "image/gif" => "gif",
-      "image/jpeg" => "jpg",
-      "image/pjpeg" => "jpg",
-      "image/x-png" => "png",
-      "image/jpg" => "jpg",
-      "image/png" => "png",
-      "application/x-shockwave-flash" => "swf",
-      "application/pdf" => "pdf",
-      "application/pgp-signature" => "sig",
-      "application/futuresplash" => "spl",
-      "application/msword" => "doc",
-      "application/postscript" => "ps",
-      "application/x-bittorrent" => "torrent",
-      "application/x-dvi" => "dvi",
-      "application/x-gzip" => "gz",
-      "application/x-ns-proxy-autoconfig" => "pac",
-      "application/x-shockwave-flash" => "swf",
-      "application/x-tgz" => "tar.gz",
-      "application/x-tar" => "tar",
-      "application/zip" => "zip",
-      "audio/mpeg" => "mp3",
-      "audio/x-mpegurl" => "m3u",
-      "audio/x-ms-wma" => "wma",
-      "audio/x-ms-wax" => "wax",
-      "audio/x-wav" => "wav",
-      "image/x-xbitmap" => "xbm",             
-      "image/x-xpixmap" => "xpm",             
-      "image/x-xwindowdump" => "xwd",             
-      "text/css" => "css",             
-      "text/html" => "html",                          
-      "text/javascript" => "js",
-      "text/plain" => "txt",
-      "text/xml" => "xml",
-      "video/mpeg" => "mpeg",
-      "video/quicktime" => "mov",
-      "video/x-msvideo" => "avi",
-      "video/x-ms-asf" => "asf",
-      "video/x-ms-wmv" => "wmv"
-    }
-
-    EXTENSIONS = Set.new MIME_EXTENSIONS.values
-    EXTENSIONS.merge %w(jpeg)
-
-    # default options. You can override these with +file_column+'s +options+ parameter
-    DEFAULT_OPTIONS = {
-      :root_path => File.join(Rails.root, "public"),
-      :web_root => "",
-      :mime_extensions => MIME_EXTENSIONS,
-      :extensions => EXTENSIONS,
-      :fix_file_extensions => true,
-      :permissions => 0644,
-
-      # path to the unix "file" executbale for
-      # guessing the content-type of files
-      :file_exec => "file" 
-    }
-    
-    # handle the +attr+ attribute as a "file-upload" column, generating additional methods as explained
-    # above. You should pass the attribute's name as a symbol, like this:
-    #
-    #   file_column :image
-    #
-    # You can pass in an options hash that overrides the options
-    # in +DEFAULT_OPTIONS+.
-    def file_column(attr, options={})
-      options = DEFAULT_OPTIONS.merge(options) if options
-      
-      my_options = FileColumn::init_options(options, 
-        ActiveSupport::Inflector.underscore(self.name).to_s,
-                                            attr.to_s)
-      
-      state_attr = "@#{attr}_state".to_sym
-      state_method = "#{attr}_state".to_sym
-      
-      define_method state_method do
-        result = instance_variable_get state_attr
-        if result.nil?
-          result = FileColumn::create_state(self, attr.to_s)
-          instance_variable_set state_attr, result
-        end
-        result
-      end
-      
-      private state_method
-      
-      define_method attr do |*args|
-        send(state_method).absolute_path *args
-      end
-      
-      define_method "#{attr}_relative_path" do |*args|
-        send(state_method).relative_path *args
-      end
-
-      define_method "#{attr}_dir" do
-        send(state_method).absolute_dir
-      end
-
-      define_method "#{attr}_relative_dir" do
-        send(state_method).relative_dir
-      end
-
-      define_method "#{attr}=" do |file|
-        state = send(state_method).assign(file)
-        instance_variable_set state_attr, state
-        if state.options[:after_upload] and state.just_uploaded?
-          state.options[:after_upload].each do |sym|
-            self.send sym
-          end
-        end
-      end
-      
-      define_method "#{attr}_temp" do
-        send(state_method).temp_path
-      end
-      
-      define_method "#{attr}_temp=" do |temp_path|
-        instance_variable_set state_attr, send(state_method).assign_temp(temp_path)
-      end
-      
-      after_save_method = "#{attr}_after_save".to_sym
-      
-      define_method after_save_method do
-        instance_variable_set state_attr, send(state_method).after_save
-      end
-      
-      after_save after_save_method
-      
-      after_destroy_method = "#{attr}_after_destroy".to_sym
-      
-      define_method after_destroy_method do
-        send(state_method).after_destroy
-      end
-      after_destroy after_destroy_method
-      
-      define_method "#{attr}_just_uploaded?" do
-        send(state_method).just_uploaded?
-      end
-
-      # this creates a closure keeping a reference to my_options
-      # right now that's the only way we store the options. We
-      # might use a class attribute as well
-      define_method "#{attr}_options" do
-        my_options
-      end
-
-      private after_save_method, after_destroy_method
-
-      FileColumn::MagickExtension::file_column(self, attr, my_options) if options[:magick]
-    end
-    
-  end
-  
-  private
-  
-  def self.generate_temp_name
-    now = Time.now
-    "#{now.to_i}.#{now.usec}.#{Process.pid}"
-  end
-  
-  def self.sanitize_filename(filename)
-    filename = File.basename(filename.gsub("\\", "/")) # work-around for IE
-    filename.gsub!(/[^a-zA-Z0-9\.\-\+_]/,"_")
-    filename = "_#{filename}" if filename =~ /^\.+$/
-    filename = "unnamed" if filename.size == 0
-    filename
-  end
-  
-end
-
-
diff --git a/vendor/plugins/file_column/lib/file_column_helper.rb b/vendor/plugins/file_column/lib/file_column_helper.rb
deleted file mode 100644 (file)
index 8c50053..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# This module contains helper methods for displaying and uploading files
-# for attributes created by +FileColumn+'s +file_column+ method. It will be
-# automatically included into ActionView::Base, thereby making this module's
-# methods available in all your views.
-module FileColumnHelper
-  
-  # Use this helper to create an upload field for a file_column attribute. This will generate
-  # an additional hidden field to keep uploaded files during form-redisplays. For example,
-  # when called with
-  #
-  #   <%= file_column_field("entry", "image") %>
-  #
-  # the following HTML will be generated (assuming the form is redisplayed and something has
-  # already been uploaded):
-  #
-  #   <input type="hidden" name="entry[image_temp]" value="..." />
-  #   <input type="file" name="entry[image]" />
-  #
-  # You can use the +option+ argument to pass additional options to the file-field tag.
-  #
-  # Be sure to set the enclosing form's encoding to 'multipart/form-data', by
-  # using something like this:
-  #
-  #    <%= form_tag {:action => "create", ...}, :multipart => true %>
-  def file_column_field(object, method, options={})
-    result = ActionView::Helpers::InstanceTag.new(object.dup, method.to_s+"_temp", self).to_input_field_tag("hidden", {})
-    result << ActionView::Helpers::InstanceTag.new(object.dup, method, self).to_input_field_tag("file", options)
-  end
-  
-  # Creates an URL where an uploaded file can be accessed. When called for an Entry object with
-  # id 42 (stored in <tt>@entry</tt>) like this
-  #
-  #   <%= url_for_file_column(@entry, "image")
-  #
-  # the following URL will be produced, assuming the file "test.png" has been stored in
-  # the "image"-column of an Entry object stored in <tt>@entry</tt>:
-  #
-  #  /entry/image/42/test.png
-  #
-  # This will produce a valid URL even for temporary uploaded files, e.g. files where the object
-  # they are belonging to has not been saved in the database yet.
-  #
-  # The URL produces, although starting with a slash, will be relative
-  # to your app's root. If you pass it to one rails' +image_tag+
-  # helper, rails will properly convert it to an absolute
-  # URL. However, this will not be the case, if you create a link with
-  # the +link_to+ helper. In this case, you can pass <tt>:absolute =>
-  # true</tt> to +options+, which will make sure, the generated URL is
-  # absolute on your server.  Examples:
-  #
-  #    <%= image_tag url_for_file_column(@entry, "image") %>
-  #    <%= link_to "Download", url_for_file_column(@entry, "image", :absolute => true) %>
-  #
-  # If there is currently no uploaded file stored in the object's column this method will
-  # return +nil+.
-  def url_for_file_column(object, method, options=nil)
-    case object
-    when String, Symbol
-      object = instance_variable_get("@#{object.to_s}")
-    end
-
-    # parse options
-    subdir = nil
-    absolute = false
-    if options
-      case options
-      when Hash
-        subdir = options[:subdir]
-        absolute = options[:absolute]
-      when String, Symbol
-        subdir = options
-      end
-    end
-    
-    relative_path = object.send("#{method}_relative_path", subdir)
-    return nil unless relative_path
-
-    url = ""
-    url << request.protocol << request.host_with_port if absolute
-    url << "/"
-    url << object.send("#{method}_options")[:base_url] << "/"
-    url << relative_path
-  end
-
-  # Same as +url_for_file_colum+ but allows you to access different versions
-  # of the image that have been processed by RMagick.
-  #
-  # If your +options+ parameter is non-nil this will
-  # access a different version of an image that will be produced by
-  # RMagick. You can use the following types for +options+:
-  #
-  # * a <tt>:symbol</tt> will select a version defined in the model
-  #   via FileColumn::Magick's <tt>:versions</tt> feature.
-  # * a <tt>geometry_string</tt> will dynamically create an
-  #   image resized as specified by <tt>geometry_string</tt>. The image will
-  #   be stored so that it does not have to be recomputed the next time the
-  #   same version string is used.
-  # * <tt>some_hash</tt> will dynamically create an image
-  #   that is created according to the options in <tt>some_hash</tt>. This
-  #   accepts exactly the same options as Magick's version feature.
-  #
-  # The version produced by RMagick will be stored in a special sub-directory.
-  # The directory's name will be derived from the options you specified
-  # (via a hash function) but if you want
-  # to set it yourself, you can use the <tt>:name => name</tt> option.
-  #
-  # Examples:
-  #
-  #    <%= url_for_image_column @entry, "image", "640x480" %>
-  #
-  # will produce an URL like this
-  #
-  #    /entry/image/42/bdn19n/filename.jpg
-  #    # "640x480".hash.abs.to_s(36) == "bdn19n"
-  #
-  # and
-  #
-  #    <%= url_for_image_column @entry, "image", 
-  #       :size => "50x50", :crop => "1:1", :name => "thumb" %>
-  #
-  # will produce something like this:
-  #
-  #    /entry/image/42/thumb/filename.jpg
-  #
-  # Hint: If you are using the same geometry string / options hash multiple times, you should
-  # define it in a helper to stay with DRY. Another option is to define it in the model via
-  # FileColumn::Magick's <tt>:versions</tt> feature and then refer to it via a symbol.
-  #
-  # The URL produced by this method is relative to your application's root URL,
-  # although it will start with a slash.
-  # If you pass this URL to rails' +image_tag+ helper, it will be converted to an
-  # absolute URL automatically.
-  # If there is currently no image uploaded, or there is a problem while loading
-  # the image this method will return +nil+.
-  def url_for_image_column(object, method, options=nil)
-    case object
-    when String, Symbol
-      object = instance_variable_get("@#{object.to_s}")
-    end
-    subdir = nil
-    if options
-      subdir = object.send("#{method}_state").create_magick_version_if_needed(options)
-    end
-    if subdir.nil?
-      nil
-    else
-      url_for_file_column(object, method, subdir)
-    end
-  end
-end
diff --git a/vendor/plugins/file_column/lib/file_compat.rb b/vendor/plugins/file_column/lib/file_compat.rb
deleted file mode 100644 (file)
index f284410..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-module FileColumn
-
-  # This bit of code allows you to pass regular old files to
-  # file_column.  file_column depends on a few extra methods that the
-  # CGI uploaded file class adds.  We will add the equivalent methods
-  # to file objects if necessary by extending them with this module. This
-  # avoids opening up the standard File class which might result in
-  # naming conflicts.
-
-  module FileCompat # :nodoc:
-    def original_filename
-      File.basename(path)
-    end
-    
-    def size
-      File.size(path)
-    end
-    
-    def local_path
-      path
-    end
-    
-    def content_type
-      nil
-    end
-  end
-end
-
diff --git a/vendor/plugins/file_column/lib/magick_file_column.rb b/vendor/plugins/file_column/lib/magick_file_column.rb
deleted file mode 100644 (file)
index c4dc06f..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-module FileColumn # :nodoc:
-  
-  class BaseUploadedFile # :nodoc:
-    def transform_with_magick
-      if needs_transform?
-        begin
-          img = ::Magick::Image::read(absolute_path).first
-        rescue ::Magick::ImageMagickError
-          if options[:magick][:image_required]
-            @magick_errors ||= []
-            @magick_errors << "invalid image"
-          end
-          return
-        end
-        
-        if options[:magick][:versions]
-          options[:magick][:versions].each_pair do |version, version_options|
-            next if version_options[:lazy]
-            dirname = version_options[:name]
-            FileUtils.mkdir File.join(@dir, dirname)
-            transform_image(img, version_options, absolute_path(dirname))
-          end
-        end
-        if options[:magick][:size] or options[:magick][:crop] or options[:magick][:transformation] or options[:magick][:attributes]
-          transform_image(img, options[:magick], absolute_path)
-        end
-
-        GC.start
-      end
-    end
-
-    def create_magick_version_if_needed(version)
-      # RMagick might not have been loaded so far.
-      # We do not want to require it on every call of this method
-      # as this might be fairly expensive, so we just try if ::Magick
-      # exists and require it if not.
-      begin 
-        ::Magick 
-      rescue NameError
-        require 'RMagick'
-      end
-
-      if version.is_a?(Symbol)
-        version_options = options[:magick][:versions][version]
-      else
-        version_options = MagickExtension::process_options(version)
-      end
-
-      unless File.exists?(absolute_path(version_options[:name]))
-        begin
-          img = ::Magick::Image::read(absolute_path).first
-        rescue ::Magick::ImageMagickError
-          # we might be called directly from the view here
-          # so we just return nil if we cannot load the image
-          return nil
-        end
-        dirname = version_options[:name]
-        FileUtils.mkdir File.join(@dir, dirname)
-        transform_image(img, version_options, absolute_path(dirname))
-      end
-
-      version_options[:name]
-    end
-
-    attr_reader :magick_errors
-    
-    def has_magick_errors?
-      @magick_errors and !@magick_errors.empty?
-    end
-
-    private
-    
-    def needs_transform?
-      options[:magick] and just_uploaded? and 
-        (options[:magick][:size] or options[:magick][:versions] or options[:magick][:transformation] or options[:magick][:attributes])
-    end
-
-    def transform_image(img, img_options, dest_path)
-      begin
-        if img_options[:transformation]
-          if img_options[:transformation].is_a?(Symbol)
-            img = @instance.send(img_options[:transformation], img)
-          else
-            img = img_options[:transformation].call(img)
-          end
-        end
-        if img_options[:crop]
-          dx, dy = img_options[:crop].split(':').map { |x| x.to_f }
-          w, h = (img.rows * dx / dy), (img.columns * dy / dx)
-          img = img.crop(::Magick::CenterGravity, [img.columns, w].min, 
-                         [img.rows, h].min, true)
-        end
-
-        if img_options[:size]
-          img = img.change_geometry(img_options[:size]) do |c, r, i|
-            i.resize(c, r)
-          end
-        end
-      ensure
-        img.write(dest_path) do
-          if img_options[:attributes]
-            img_options[:attributes].each_pair do |property, value| 
-              self.send "#{property}=", value
-            end
-          end
-        end
-        File.chmod options[:permissions], dest_path
-      end
-    end
-  end
-
-  # If you are using file_column to upload images, you can
-  # directly process the images with RMagick,
-  # a ruby extension
-  # for accessing the popular imagemagick libraries. You can find
-  # more information about RMagick at http://rmagick.rubyforge.org.
-  #
-  # You can control what to do by adding a <tt>:magick</tt> option
-  # to your options hash. All operations are performed immediately
-  # after a new file is assigned to the file_column attribute (i.e.,
-  # when a new file has been uploaded).
-  #
-  # == Resizing images
-  #
-  # To resize the uploaded image according to an imagemagick geometry
-  # string, just use the <tt>:size</tt> option:
-  #
-  #    file_column :image, :magick => {:size => "800x600>"}
-  #
-  # If the uploaded file cannot be loaded by RMagick, file_column will
-  # signal a validation error for the corresponding attribute. If you
-  # want to allow non-image files to be uploaded in a column that uses
-  # the <tt>:magick</tt> option, you can set the <tt>:image_required</tt>
-  # attribute to +false+:
-  #
-  #    file_column :image, :magick => {:size => "800x600>",
-  #                                    :image_required => false }
-  #
-  # == Multiple versions
-  #
-  # You can also create additional versions of your image, for example
-  # thumb-nails, like this:
-  #    file_column :image, :magick => {:versions => {
-  #         :thumb => {:size => "50x50"},
-  #         :medium => {:size => "640x480>"}
-  #       }
-  #
-  # These versions will be stored in separate sub-directories, named like the
-  # symbol you used to identify the version. So in the previous example, the
-  # image versions will be stored in "thumb", "screen" and "widescreen"
-  # directories, resp. 
-  # A name different from the symbol can be set via the <tt>:name</tt> option.
-  #
-  # These versions can be accessed via FileColumnHelper's +url_for_image_column+
-  # method like this:
-  #
-  #    <%= url_for_image_column "entry", "image", :thumb %>
-  #
-  # == Cropping images
-  #
-  # If you wish to crop your images with a size ratio before scaling
-  # them according to your version geometry, you can use the :crop directive.
-  #    file_column :image, :magick => {:versions => {
-  #         :square => {:crop => "1:1", :size => "50x50", :name => "thumb"},
-  #         :screen => {:crop => "4:3", :size => "640x480>"},
-  #         :widescreen => {:crop => "16:9", :size => "640x360!"},
-  #       }
-  #    }
-  #
-  # == Custom attributes
-  #
-  # To change some of the image properties like compression level before they
-  # are saved you can set the <tt>:attributes</tt> option.
-  # For a list of available attributes go to http://www.simplesystems.org/RMagick/doc/info.html
-  # 
-  #     file_column :image, :magick => { :attributes => { :quality => 30 } }
-  # 
-  # == Custom transformations
-  #
-  # To perform custom transformations on uploaded images, you can pass a
-  # callback to file_column:
-  #    file_column :image, :magick => 
-  #       Proc.new { |image| image.quantize(256, Magick::GRAYColorspace) }
-  #
-  # The callback you give, receives one argument, which is an instance
-  # of Magick::Image, the RMagick image class. It should return a transformed
-  # image. Instead of passing a <tt>Proc</tt> object, you can also give a
-  # <tt>Symbol</tt>, the name of an instance method of your model.
-  #
-  # Custom transformations can be combined via the standard :size and :crop
-  # features, by using the :transformation option:
-  #   file_column :image, :magick => {
-  #      :transformation => Proc.new { |image| ... },
-  #      :size => "640x480"
-  #    }
-  #
-  # In this case, the standard resizing operations will be performed after the
-  # custom transformation.
-  #
-  # Of course, custom transformations can be used in versions, as well.
-  #
-  # <b>Note:</b> You'll need the
-  # RMagick extension being installed  in order to use file_column's
-  # imagemagick integration.
-  module MagickExtension
-
-    def self.file_column(klass, attr, options) # :nodoc:
-      require 'RMagick'
-      options[:magick] = process_options(options[:magick],false) if options[:magick]
-      if options[:magick][:versions]
-        options[:magick][:versions].each_pair do |name, value|
-          options[:magick][:versions][name] = process_options(value, name.to_s)
-        end
-      end
-      state_method = "#{attr}_state".to_sym
-      after_assign_method = "#{attr}_magick_after_assign".to_sym
-      
-      klass.send(:define_method, after_assign_method) do
-        self.send(state_method).transform_with_magick
-      end
-      
-      options[:after_upload] ||= []
-      options[:after_upload] << after_assign_method
-      
-      klass.validate do |record|
-        state = record.send(state_method)
-        if state.has_magick_errors?
-          state.magick_errors.each do |error|
-            record.errors.add attr, error
-          end
-        end
-      end
-    end
-
-    
-    def self.process_options(options,create_name=true)
-      case options
-      when String then options = {:size => options}
-      when Proc, Symbol then options = {:transformation => options }
-      end
-      if options[:geometry]
-        options[:size] = options.delete(:geometry)
-      end
-      options[:image_required] = true unless options.key?(:image_required)
-      if options[:name].nil? and create_name
-        if create_name == true
-          hash = 0
-          for key in [:size, :crop]
-            hash = hash ^ options[key].hash if options[key]
-          end
-          options[:name] = hash.abs.to_s(36)
-        else
-          options[:name] = create_name
-        end
-      end
-      options
-    end
-
-  end
-end
diff --git a/vendor/plugins/file_column/lib/rails_file_column.rb b/vendor/plugins/file_column/lib/rails_file_column.rb
deleted file mode 100644 (file)
index af8c95a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# require this file from your "config/environment.rb" (after rails has been loaded)
-# to integrate the file_column extension into rails.
-
-require 'file_column'
-require 'file_column_helper'
-
-
-module ActiveRecord # :nodoc:
-  class Base # :nodoc:
-    # make file_column method available in all active record decendants
-    include FileColumn
-  end
-end
-
-module ActionView # :nodoc:
-  class Base # :nodoc:
-    include FileColumnHelper
-  end
-end
diff --git a/vendor/plugins/file_column/lib/test_case.rb b/vendor/plugins/file_column/lib/test_case.rb
deleted file mode 100644 (file)
index 067879a..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-require 'test/unit'
-
-# Add the methods +upload+, the <tt>setup_file_fixtures</tt> and
-# <tt>teardown_file_fixtures</tt> to the class Test::Unit::TestCase.
-class Test::Unit::TestCase
-  # Returns a +Tempfile+ object as it would have been generated on file upload.
-  # Use this method to create the parameters when emulating form posts with 
-  # file fields.
-  #
-  # === Example:
-  #
-  #    def test_file_column_post
-  #      entry = { :title => 'foo', :file => upload('/tmp/foo.txt')}
-  #      post :upload, :entry => entry
-  #  
-  #      # ...
-  #    end
-  #
-  # === Parameters
-  #
-  # * <tt>path</tt> The path to the file to upload.
-  # * <tt>content_type</tt> The MIME type of the file. If it is <tt>:guess</tt>,
-  #   the method will try to guess it.
-  def upload(path, content_type=:guess, type=:tempfile)
-    if content_type == :guess
-      case path
-      when /\.jpg$/ then content_type = "image/jpeg"
-      when /\.png$/ then content_type = "image/png"
-      else content_type = nil
-      end
-    end
-    uploaded_file(path, content_type, File.basename(path), type)
-  end
-  
-  # Copies the fixture files from "Rails.root/test/fixtures/file_column" into
-  # the temporary storage directory used for testing
-  # ("Rails.root/test/tmp/file_column"). Call this method in your
-  # <tt>setup</tt> methods to get the file fixtures (images, for example) into
-  # the directory used by file_column in testing.
-  #
-  # Note that the files and directories in the "fixtures/file_column" directory 
-  # must have the same structure as you would expect in your "/public" directory
-  # after uploading with FileColumn.
-  #
-  # For example, the directory structure could look like this:
-  #
-  #   test/fixtures/file_column/
-  #   `-- container
-  #       |-- first_image
-  #       |   |-- 1
-  #       |   |   `-- image1.jpg
-  #       |   `-- tmp
-  #       `-- second_image
-  #           |-- 1
-  #           |   `-- image2.jpg
-  #           `-- tmp
-  #
-  # Your fixture file for this one "container" class fixture could look like this:
-  #
-  #   first:
-  #     id:           1
-  #     first_image:  image1.jpg
-  #     second_image: image1.jpg
-  #
-  # A usage example:
-  #
-  #  def setup
-  #    setup_fixture_files
-  #
-  #    # ...
-  #  end
-  def setup_fixture_files
-    tmp_path = File.join(Rails.root, "test", "tmp", "file_column")
-    file_fixtures = Dir.glob File.join(Rails.root, "test", "fixtures", "file_column", "*")
-    
-    FileUtils.mkdir_p tmp_path unless File.exists?(tmp_path)
-    FileUtils.cp_r file_fixtures, tmp_path
-  end
-  
-  # Removes the directory "Rails.root/test/tmp/file_column/" so the files
-  # copied on test startup are removed. Call this in your unit test's +teardown+
-  # method.
-  #
-  # A usage example:
-  #
-  #  def teardown
-  #    teardown_fixture_files
-  #
-  #    # ...
-  #  end
-  def teardown_fixture_files
-    FileUtils.rm_rf File.join(Rails.root, "test", "tmp", "file_column")
-  end
-  
-  private
-  
-  def uploaded_file(path, content_type, filename, type=:tempfile) # :nodoc:
-    if type == :tempfile
-      t = Tempfile.new(File.basename(filename))
-      FileUtils.copy_file(path, t.path)
-    else
-      if path
-        t = StringIO.new(IO.read(path))
-      else
-        t = StringIO.new
-      end
-    end
-    (class << t; self; end).class_eval do
-      alias local_path path if type == :tempfile
-      define_method(:local_path) { "" } if type == :stringio
-      define_method(:original_filename) {filename}
-      define_method(:content_type) {content_type}
-    end
-    return t
-  end
-end
-
-# If we are running in the "test" environment, we overwrite the default 
-# settings for FileColumn so that files are not uploaded into "/public/"
-# in tests but rather into the directory "/test/tmp/file_column".
-if Rails.env == "test"
-  FileColumn::ClassMethods::DEFAULT_OPTIONS[:root_path] =
-    File.join(Rails.root, "test", "tmp", "file_column")
-end
diff --git a/vendor/plugins/file_column/lib/validations.rb b/vendor/plugins/file_column/lib/validations.rb
deleted file mode 100644 (file)
index 5b961eb..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-module FileColumn
-  module Validations #:nodoc:
-    
-    def self.append_features(base)
-      super
-      base.extend(ClassMethods)
-    end
-
-    # This module contains methods to create validations of uploaded files. All methods
-    # in this module will be included as class methods into <tt>ActiveRecord::Base</tt>
-    # so that you can use them in your models like this:
-    #
-    #    class Entry < ActiveRecord::Base
-    #      file_column :image
-    #      validates_filesize_of :image, :in => 0..1.megabyte
-    #    end
-    module ClassMethods
-      EXT_REGEXP = /\.([A-z0-9]+)$/
-    
-      # This validates the file type of one or more file_columns.  A list of file columns
-      # should be given followed by an options hash.
-      #
-      # Required options:
-      # * <tt>:in</tt> => list of extensions or mime types. If mime types are used they
-      #   will be mapped into an extension via FileColumn::ClassMethods::MIME_EXTENSIONS.
-      #
-      # Examples:
-      #     validates_file_format_of :field, :in => ["gif", "png", "jpg"]
-      #     validates_file_format_of :field, :in => ["image/jpeg"]
-      def validates_file_format_of(*attrs)
-      
-        options = attrs.pop if attrs.last.is_a?Hash
-        raise ArgumentError, "Please include the :in option." if !options || !options[:in]
-        options[:in] = [options[:in]] if options[:in].is_a?String
-        raise ArgumentError, "Invalid value for option :in" unless options[:in].is_a?Array
-      
-        validates_each(attrs, options) do |record, attr, value|
-          unless value.blank?
-            mime_extensions = record.send("#{attr}_options")[:mime_extensions]
-            extensions = options[:in].map{|o| mime_extensions[o] || o }
-            record.errors.add attr, "is not a valid format." unless extensions.include?(value.scan(EXT_REGEXP).flatten.first)
-          end
-        end
-      
-      end
-    
-      # This validates the file size of one or more file_columns.  A list of file columns
-      # should be given followed by an options hash.
-      #
-      # Required options:
-      # * <tt>:in</tt> => A size range.  Note that you can use ActiveSupport's
-      #   numeric extensions for kilobytes, etc.
-      #
-      # Examples:
-      #    validates_filesize_of :field, :in => 0..100.megabytes
-      #    validates_filesize_of :field, :in => 15.kilobytes..1.megabyte
-      def validates_filesize_of(*attrs)  
-      
-        options = attrs.pop if attrs.last.is_a?Hash
-        raise ArgumentError, "Please include the :in option." if !options || !options[:in]
-        raise ArgumentError, "Invalid value for option :in" unless options[:in].is_a?Range
-      
-        validates_each(attrs, options) do |record, attr, value|
-          unless value.blank?
-            size = File.size(value)
-            record.errors.add attr, "is smaller than the allowed size range." if size < options[:in].first
-            record.errors.add attr, "is larger than the allowed size range." if size > options[:in].last
-          end
-        end
-      
-      end 
-
-      IMAGE_SIZE_REGEXP = /^(\d+)x(\d+)$/
-
-      # Validates the image size of one or more file_columns.  A list of file columns
-      # should be given followed by an options hash. The validation will pass
-      # if both image dimensions (rows and columns) are at least as big as
-      # given in the <tt>:min</tt> option.
-      #
-      # Required options:
-      # * <tt>:min</tt> => minimum image dimension string, in the format NNxNN
-      #   (columns x rows).
-      #
-      # Example:
-      #    validates_image_size :field, :min => "1200x1800"
-      #
-      # This validation requires RMagick to be installed on your system
-      # to check the image's size.
-      def validates_image_size(*attrs)      
-        options = attrs.pop if attrs.last.is_a?Hash
-        raise ArgumentError, "Please include a :min option." if !options || !options[:min]
-        minimums = options[:min].scan(IMAGE_SIZE_REGEXP).first.collect{|n| n.to_i} rescue []
-        raise ArgumentError, "Invalid value for option :min (should be 'XXxYY')" unless minimums.size == 2
-
-        require 'RMagick'
-
-        validates_each(attrs, options) do |record, attr, value|
-          unless value.blank?
-            begin
-              img = ::Magick::Image::read(value).first
-              record.errors.add('image', "is too small, must be at least #{minimums[0]}x#{minimums[1]}") if ( img.rows < minimums[1] || img.columns < minimums[0] )
-            rescue ::Magick::ImageMagickError
-              record.errors.add('image', "invalid image")
-            end
-            img = nil
-            GC.start
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/plugins/file_column/test/abstract_unit.rb b/vendor/plugins/file_column/test/abstract_unit.rb
deleted file mode 100644 (file)
index 22bc53b..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-require 'test/unit'
-require 'rubygems'
-require 'active_support'
-require 'active_record'
-require 'action_view'
-require File.dirname(__FILE__) + '/connection'
-require 'stringio'
-
-RAILS_ROOT = File.dirname(__FILE__)
-RAILS_ENV = ""
-
-$: << "../lib"
-
-require 'file_column'
-require 'file_compat'
-require 'validations'
-require 'test_case'
-
-# do not use the file executable normally in our tests as
-# it may not be present on the machine we are running on
-FileColumn::ClassMethods::DEFAULT_OPTIONS = 
-  FileColumn::ClassMethods::DEFAULT_OPTIONS.merge({:file_exec => nil})
-
-class ActiveRecord::Base
-    include FileColumn
-    include FileColumn::Validations
-end
-
-
-class RequestMock
-  attr_accessor :relative_url_root
-
-  def initialize
-    @relative_url_root = ""
-  end
-end
-
-class Test::Unit::TestCase
-
-  def assert_equal_paths(expected_path, path)
-    assert_equal normalize_path(expected_path), normalize_path(path)
-  end
-
-
-  private
-  
-  def normalize_path(path)
-    Pathname.new(path).realpath
-  end
-
-  def clear_validations
-    [:validate, :validate_on_create, :validate_on_update].each do |attr|
-        Entry.write_inheritable_attribute attr, []
-        Movie.write_inheritable_attribute attr, []
-      end
-  end
-
-  def file_path(filename)
-    File.expand_path("#{File.dirname(__FILE__)}/fixtures/#{filename}")
-  end
-
-  alias_method :f, :file_path
-end
diff --git a/vendor/plugins/file_column/test/connection.rb b/vendor/plugins/file_column/test/connection.rb
deleted file mode 100644 (file)
index a2f28ba..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-print "Using native MySQL\n"
-require 'logger'
-
-ActiveRecord::Base.logger = Logger.new("debug.log")
-
-db = 'file_column_test'
-
-ActiveRecord::Base.establish_connection(
-  :adapter  => "mysql",
-  :host     => "localhost",
-  :username => "rails",
-  :password => "",
-  :database => db,
-  :socket => "/var/run/mysqld/mysqld.sock"
-)
-
-load File.dirname(__FILE__) + "/fixtures/schema.rb"
diff --git a/vendor/plugins/file_column/test/file_column_helper_test.rb b/vendor/plugins/file_column/test/file_column_helper_test.rb
deleted file mode 100644 (file)
index ffb2c43..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-require File.dirname(__FILE__) + '/abstract_unit'
-require File.dirname(__FILE__) + '/fixtures/entry'
-
-class UrlForFileColumnTest < Test::Unit::TestCase
-  include FileColumnHelper
-
-  def setup
-    Entry.file_column :image
-    @request = RequestMock.new
-  end
-
-  def test_url_for_file_column_with_temp_entry
-    @e = Entry.new(:image => upload(f("skanthak.png")))
-    url = url_for_file_column("e", "image")
-    assert_match %r{^/entry/image/tmp/\d+(\.\d+)+/skanthak.png$}, url
-  end
-
-  def test_url_for_file_column_with_saved_entry
-    @e = Entry.new(:image => upload(f("skanthak.png")))
-    assert @e.save
-
-    url = url_for_file_column("e", "image")
-    assert_equal "/entry/image/#{@e.id}/skanthak.png", url
-  end
-
-  def test_url_for_file_column_works_with_symbol
-    @e = Entry.new(:image => upload(f("skanthak.png")))
-    assert @e.save
-
-    url = url_for_file_column(:e, :image)
-    assert_equal "/entry/image/#{@e.id}/skanthak.png", url
-  end
-  
-  def test_url_for_file_column_works_with_object
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert e.save
-
-    url = url_for_file_column(e, "image")
-    assert_equal "/entry/image/#{e.id}/skanthak.png", url
-  end
-
-  def test_url_for_file_column_should_return_nil_on_no_uploaded_file
-    e = Entry.new
-    assert_nil url_for_file_column(e, "image")
-  end
-
-  def test_url_for_file_column_without_extension
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "something/unknown", "local_filename")
-    assert e.save
-    assert_equal "/entry/image/#{e.id}/local_filename", url_for_file_column(e, "image")
-  end
-end
-
-class UrlForFileColumnTest < Test::Unit::TestCase
-  include FileColumnHelper
-  include ActionView::Helpers::AssetTagHelper
-  include ActionView::Helpers::TagHelper
-  include ActionView::Helpers::UrlHelper
-
-  def setup
-    Entry.file_column :image
-
-    # mock up some request data structures for AssetTagHelper
-    @request = RequestMock.new
-    @request.relative_url_root = "/foo/bar"
-    @controller = self
-  end
-
-  def request
-    @request
-  end
-
-  IMAGE_URL = %r{^/foo/bar/entry/image/.+/skanthak.png$}
-  def test_with_image_tag
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    html = image_tag url_for_file_column(e, "image")
-    url = html.scan(/src=\"(.+)\"/).first.first
-
-    assert_match IMAGE_URL, url
-  end
-
-  def test_with_link_to_tag
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    html = link_to "Download", url_for_file_column(e, "image", :absolute => true)
-    url = html.scan(/href=\"(.+)\"/).first.first
-    
-    assert_match IMAGE_URL, url
-  end
-
-  def test_relative_url_root_not_modified
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    url_for_file_column(e, "image", :absolute => true)
-    
-    assert_equal "/foo/bar", @request.relative_url_root
-  end
-end
diff --git a/vendor/plugins/file_column/test/file_column_test.rb b/vendor/plugins/file_column/test/file_column_test.rb
deleted file mode 100755 (executable)
index 452b781..0000000
+++ /dev/null
@@ -1,650 +0,0 @@
-require File.dirname(__FILE__) + '/abstract_unit'
-
-require File.dirname(__FILE__) + '/fixtures/entry'
-
-class Movie < ActiveRecord::Base
-end
-
-
-class FileColumnTest < Test::Unit::TestCase
-  
-  def setup
-    # we define the file_columns here so that we can change
-    # settings easily in a single test
-
-    Entry.file_column :image
-    Entry.file_column :file
-    Movie.file_column :movie
-
-    clear_validations
-  end
-  
-  def teardown
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/entry/"
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/movie/"
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/my_store_dir/"
-  end
-  
-  def test_column_write_method
-    assert Entry.new.respond_to?("image=")
-  end
-  
-  def test_column_read_method
-    assert Entry.new.respond_to?("image")
-  end
-  
-  def test_sanitize_filename
-    assert_equal "test.jpg", FileColumn::sanitize_filename("test.jpg")
-    assert FileColumn::sanitize_filename("../../very_tricky/foo.bar") !~ /[\\\/]/, "slashes not removed"
-    assert_equal "__foo", FileColumn::sanitize_filename('`*foo')
-    assert_equal "foo.txt", FileColumn::sanitize_filename('c:\temp\foo.txt')
-    assert_equal "_.", FileColumn::sanitize_filename(".")
-  end
-  
-  def test_default_options
-    e = Entry.new
-    assert_match %r{/public/entry/image}, e.image_options[:store_dir]
-    assert_match %r{/public/entry/image/tmp}, e.image_options[:tmp_base_dir]
-  end
-  
-  def test_assign_without_save_with_tempfile
-    do_test_assign_without_save(:tempfile)
-  end
-  
-  def test_assign_without_save_with_stringio
-    do_test_assign_without_save(:stringio)
-  end
-  
-  def do_test_assign_without_save(upload_type)
-    e = Entry.new
-    e.image = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png", upload_type)
-    assert e.image.is_a?(String), "#{e.image.inspect} is not a String"
-    assert File.exists?(e.image)
-    assert FileUtils.identical?(e.image, file_path("skanthak.png"))
-  end
-  
-  def test_filename_preserved
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "local_filename.jpg")
-    assert_equal "local_filename.jpg", File.basename(e.image)
-  end
-  
-  def test_filename_stored_in_attribute
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert_equal "kerb.jpg", e["image"]
-  end
-  
-  def test_extension_added
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "local_filename")
-    assert_equal "local_filename.jpg", File.basename(e.image)
-    assert_equal "local_filename.jpg", e["image"]
-  end
-
-  def test_no_extension_without_content_type
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "something/unknown", "local_filename")
-    assert_equal "local_filename", File.basename(e.image)
-    assert_equal "local_filename", e["image"]
-  end
-
-  def test_extension_unknown_type
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "not/known", "local_filename")
-    assert_equal "local_filename", File.basename(e.image)
-    assert_equal "local_filename", e["image"]
-  end
-
-  def test_extension_unknown_type_with_extension
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "not/known", "local_filename.abc")
-    assert_equal "local_filename.abc", File.basename(e.image)
-    assert_equal "local_filename.abc", e["image"]
-  end
-
-  def test_extension_corrected
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "local_filename.jpeg")
-    assert_equal "local_filename.jpg", File.basename(e.image)
-    assert_equal "local_filename.jpg", e["image"]
-  end
-
-  def test_double_extension
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "application/x-tgz", "local_filename.tar.gz")
-    assert_equal "local_filename.tar.gz", File.basename(e.image)
-    assert_equal "local_filename.tar.gz", e["image"]
-  end
-
-  FILE_UTILITY = "/usr/bin/file"
-
-  def test_get_content_type_with_file
-    Entry.file_column :image, :file_exec => FILE_UTILITY
-
-    # run this test only if the machine we are running on
-    # has the file utility installed
-    if File.executable?(FILE_UTILITY)
-      e = Entry.new
-      file = FileColumn::TempUploadedFile.new(e, "image")
-      file.instance_variable_set :@dir, File.dirname(file_path("kerb.jpg"))
-      file.instance_variable_set :@filename, File.basename(file_path("kerb.jpg"))
-      
-      assert_equal "image/jpeg", file.get_content_type
-    else
-      puts "Warning: Skipping test_get_content_type_with_file test as '#{options[:file_exec]}' does not exist"
-    end
-  end
-
-  def test_fix_extension_with_file
-    Entry.file_column :image, :file_exec => FILE_UTILITY
-
-    # run this test only if the machine we are running on
-    # has the file utility installed
-    if File.executable?(FILE_UTILITY)
-      e = Entry.new(:image => uploaded_file(file_path("skanthak.png"), "", "skanthak.jpg"))
-      
-      assert_equal "skanthak.png", File.basename(e.image)
-    else
-      puts "Warning: Skipping test_fix_extension_with_file test as '#{options[:file_exec]}' does not exist"
-    end
-  end
-
-  def test_do_not_fix_file_extensions
-    Entry.file_column :image, :fix_file_extensions => false
-
-    e = Entry.new(:image => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb"))
-
-    assert_equal "kerb", File.basename(e.image)
-  end
-
-  def test_correct_extension
-    e = Entry.new
-    file = FileColumn::TempUploadedFile.new(e, "image")
-    
-    assert_equal "filename.jpg", file.correct_extension("filename.jpeg","jpg")
-    assert_equal "filename.tar.gz", file.correct_extension("filename.jpg","tar.gz")
-    assert_equal "filename.jpg", file.correct_extension("filename.tar.gz","jpg")
-    assert_equal "Protokoll_01.09.2005.doc", file.correct_extension("Protokoll_01.09.2005","doc")
-    assert_equal "strange.filenames.exist.jpg", file.correct_extension("strange.filenames.exist","jpg")
-    assert_equal "another.strange.one.jpg", file.correct_extension("another.strange.one.png","jpg")
-  end
-
-  def test_assign_with_save
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")
-    tmp_file_path = e.image
-    assert e.save
-    assert File.exists?(e.image)
-    assert FileUtils.identical?(e.image, file_path("kerb.jpg"))
-    assert_equal "#{e.id}/kerb.jpg", e.image_relative_path
-    assert !File.exists?(tmp_file_path), "temporary file '#{tmp_file_path}' not removed"
-    assert !File.exists?(File.dirname(tmp_file_path)), "temporary directory '#{File.dirname(tmp_file_path)}' not removed"
-    
-    local_path = e.image
-    e = Entry.find(e.id)
-    assert_equal local_path, e.image
-  end
-
-  def test_dir_methods
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")
-    e.save
-    
-    assert_equal_paths File.join(RAILS_ROOT, "public", "entry", "image", e.id.to_s), e.image_dir
-    assert_equal File.join(e.id.to_s), e.image_relative_dir
-  end
-
-  def test_store_dir_callback
-    Entry.file_column :image, {:store_dir => :my_store_dir}
-    e = Entry.new
-
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")    
-    assert e.save
-    
-    assert_equal_paths File.join(RAILS_ROOT, "public", "my_store_dir", e.id), e.image_dir   
-  end
-
-  def test_tmp_dir_with_store_dir_callback
-    Entry.file_column :image, {:store_dir => :my_store_dir}
-    e = Entry.new
-    e.image = upload(f("kerb.jpg"))
-    
-    assert_equal File.expand_path(File.join(RAILS_ROOT, "public", "my_store_dir", "tmp")), File.expand_path(File.join(e.image_dir,".."))
-  end
-
-  def test_invalid_store_dir_callback
-    Entry.file_column :image, {:store_dir => :my_store_dir_doesnt_exit}    
-    e = Entry.new
-    assert_raise(ArgumentError) {
-      e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")
-      e.save
-    }
-  end
-
-  def test_subdir_parameter
-    e = Entry.new
-    assert_nil e.image("thumb")
-    assert_nil e.image_relative_path("thumb")
-    assert_nil e.image(nil)
-
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")
-    
-    assert_equal "kerb.jpg", File.basename(e.image("thumb"))
-    assert_equal "kerb.jpg", File.basename(e.image_relative_path("thumb"))
-
-    assert_equal File.join(e.image_dir,"thumb","kerb.jpg"), e.image("thumb")
-    assert_match %r{/thumb/kerb\.jpg$}, e.image_relative_path("thumb") 
-
-    assert_equal e.image, e.image(nil)
-    assert_equal e.image_relative_path, e.image_relative_path(nil)
-  end
-
-  def test_cleanup_after_destroy
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert e.save
-    local_path = e.image
-    assert File.exists?(local_path)
-    assert e.destroy
-    assert !File.exists?(local_path), "'#{local_path}' still exists although entry was destroyed"
-    assert !File.exists?(File.dirname(local_path))
-  end
-  
-  def test_keep_tmp_image
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    e.validation_should_fail = true
-    assert !e.save, "e should not save due to validation errors"
-    assert File.exists?(local_path = e.image)
-    image_temp = e.image_temp
-    e = Entry.new("image_temp" => image_temp)
-    assert_equal local_path, e.image
-    assert e.save
-    assert FileUtils.identical?(e.image, file_path("kerb.jpg"))
-  end
-  
-  def test_keep_tmp_image_with_existing_image
-    e = Entry.new("image" =>uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert e.save
-    assert File.exists?(local_path = e.image)
-    e = Entry.find(e.id)
-    e.image = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    e.validation_should_fail = true
-    assert !e.save
-    temp_path = e.image_temp
-    e = Entry.find(e.id)
-    e.image_temp = temp_path
-    assert e.save
-    
-    assert FileUtils.identical?(e.image, file_path("skanthak.png"))
-    assert !File.exists?(local_path), "old image has not been deleted"
-  end
-  
-  def test_replace_tmp_image_temp_first
-    do_test_replace_tmp_image([:image_temp, :image])
-  end
-  
-  def test_replace_tmp_image_temp_last
-    do_test_replace_tmp_image([:image, :image_temp])
-  end
-  
-  def do_test_replace_tmp_image(order)
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    e.validation_should_fail = true
-    assert !e.save
-    image_temp = e.image_temp
-    temp_path = e.image
-    new_img = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    e = Entry.new
-    for method in order
-      case method
-      when :image_temp then e.image_temp = image_temp
-      when :image then e.image = new_img
-      end
-    end
-    assert e.save
-    assert FileUtils.identical?(e.image, file_path("skanthak.png")), "'#{e.image}' is not the expected 'skanthak.png'"
-    assert !File.exists?(temp_path), "temporary file '#{temp_path}' is not cleaned up"
-    assert !File.exists?(File.dirname(temp_path)), "temporary directory not cleaned up"
-    assert e.image_just_uploaded?
-  end
-  
-  def test_replace_image_on_saved_object
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert e.save
-    old_file = e.image
-    e = Entry.find(e.id)
-    e.image = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    assert e.save
-    assert FileUtils.identical?(file_path("skanthak.png"), e.image)
-    assert old_file != e.image
-    assert !File.exists?(old_file), "'#{old_file}' has not been cleaned up"
-  end
-  
-  def test_edit_without_touching_image
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert e.save
-    e = Entry.find(e.id)
-    assert e.save
-    assert FileUtils.identical?(file_path("kerb.jpg"), e.image)
-  end
-  
-  def test_save_without_image
-    e = Entry.new
-    assert e.save
-    e.reload
-    assert_nil e.image
-  end
-  
-  def test_delete_saved_image
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    assert e.save
-    local_path = e.image
-    e.image = nil
-    assert_nil e.image
-    assert File.exists?(local_path), "file '#{local_path}' should not be deleted until transaction is saved"
-    assert e.save
-    assert_nil e.image
-    assert !File.exists?(local_path)
-    e.reload
-    assert e["image"].blank?
-    e = Entry.find(e.id)
-    assert_nil e.image
-  end
-  
-  def test_delete_tmp_image
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    local_path = e.image
-    e.image = nil
-    assert_nil e.image
-    assert e["image"].blank?
-    assert !File.exists?(local_path)
-  end
-  
-  def test_delete_nonexistant_image
-    e = Entry.new
-    e.image = nil
-    assert e.save
-    assert_nil e.image
-  end
-
-  def test_delete_image_on_non_null_column
-    e = Entry.new("file" => upload(f("skanthak.png")))
-    assert e.save
-
-    local_path = e.file
-    assert File.exists?(local_path)
-    e.file = nil
-    assert e.save
-    assert !File.exists?(local_path)
-  end
-
-  def test_ie_filename
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", 'c:\images\kerb.jpg'))
-    assert e.image_relative_path =~ /^tmp\/[\d\.]+\/kerb\.jpg$/, "relative path '#{e.image_relative_path}' was not as expected"
-    assert File.exists?(e.image)
-  end
-  
-  def test_just_uploaded?
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", 'c:\images\kerb.jpg'))
-    assert e.image_just_uploaded?
-    assert e.save
-    assert e.image_just_uploaded?
-    
-    e = Entry.new("image" => uploaded_file(file_path("kerb.jpg"), "image/jpeg", 'kerb.jpg'))
-    temp_path = e.image_temp
-    e = Entry.new("image_temp" => temp_path)
-    assert !e.image_just_uploaded?
-    assert e.save
-    assert !e.image_just_uploaded?
-  end
-  
-  def test_empty_tmp
-    e = Entry.new
-    e.image_temp = ""
-    assert_nil e.image
-  end
-  
-  def test_empty_tmp_with_image
-    e = Entry.new
-    e.image_temp = ""
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", 'c:\images\kerb.jpg')
-    local_path = e.image
-    assert File.exists?(local_path)
-    e.image_temp = ""
-    assert local_path, e.image
-  end
-  
-  def test_empty_filename
-    e = Entry.new
-    assert_equal "", e["file"]
-    assert_nil e.file
-    assert_nil e["image"]
-    assert_nil e.image
-  end
-  
-  def test_with_two_file_columns
-    e = Entry.new
-    e.image = uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg")
-    e.file = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    assert e.save
-    assert_match %{/entry/image/}, e.image
-    assert_match %{/entry/file/}, e.file
-    assert FileUtils.identical?(e.image, file_path("kerb.jpg"))
-    assert FileUtils.identical?(e.file, file_path("skanthak.png"))
-  end
-  
-  def test_with_two_models
-    e = Entry.new(:image => uploaded_file(file_path("kerb.jpg"), "image/jpeg", "kerb.jpg"))
-    m = Movie.new(:movie => uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png"))
-    assert e.save
-    assert m.save
-    assert_match %{/entry/image/}, e.image
-    assert_match %{/movie/movie/}, m.movie
-    assert FileUtils.identical?(e.image, file_path("kerb.jpg"))
-    assert FileUtils.identical?(m.movie, file_path("skanthak.png"))
-  end
-
-  def test_no_file_uploaded
-    e = Entry.new
-    assert_nothing_raised { e.image =
-        uploaded_file(nil, "application/octet-stream", "", :stringio) }
-    assert_equal nil, e.image
-  end
-
-  # when safari submits a form where no file has been
-  # selected, it does not transmit a content-type and
-  # the result is an empty string ""
-  def test_no_file_uploaded_with_safari
-    e = Entry.new
-    assert_nothing_raised { e.image = "" }
-    assert_equal nil, e.image
-  end
-
-  def test_detect_wrong_encoding
-    e = Entry.new
-    assert_raise(TypeError) { e.image ="img42.jpg" }
-  end
-
-  def test_serializable_before_save
-    e = Entry.new
-    e.image = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    assert_nothing_raised { 
-      flash = Marshal.dump(e) 
-      e = Marshal.load(flash)
-    }
-    assert File.exists?(e.image)
-  end
-
-  def test_should_call_after_upload_on_new_upload
-    Entry.file_column :image, :after_upload => [:after_assign]
-    e = Entry.new
-    e.image = upload(f("skanthak.png"))
-    assert e.after_assign_called?
-  end
-
-  def test_should_call_user_after_save_on_save
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert e.save
-    
-    assert_kind_of FileColumn::PermanentUploadedFile, e.send(:image_state)
-    assert e.after_save_called?
-  end
-
-
-  def test_assign_standard_files
-    e = Entry.new
-    e.image = File.new(file_path('skanthak.png'))
-    
-    assert_equal 'skanthak.png', File.basename(e.image)
-    assert FileUtils.identical?(file_path('skanthak.png'), e.image)
-    
-    assert e.save
-  end
-
-
-  def test_validates_filesize
-    Entry.validates_filesize_of :image, :in => 50.kilobytes..100.kilobytes
-
-    e = Entry.new(:image => upload(f("kerb.jpg")))
-    assert e.save
-
-    e.image = upload(f("skanthak.png"))
-    assert !e.save
-    assert e.errors.invalid?("image")
-  end
-
-  def test_validates_file_format_simple
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert e.save
-    
-    Entry.validates_file_format_of :image, :in => ["jpg"]
-
-    e.image = upload(f("kerb.jpg"))
-    assert e.save
-
-    e.image = upload(f("mysql.sql"))
-    assert !e.save
-    assert e.errors.invalid?("image")
-    
-  end
-
-  def test_validates_image_size
-    Entry.validates_image_size :image, :min => "640x480"
-    
-    e = Entry.new(:image => upload(f("kerb.jpg")))
-    assert e.save
-
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert !e.save
-    assert e.errors.invalid?("image")
-  end
-
-  def do_permission_test(uploaded_file, permissions=0641)
-    Entry.file_column :image, :permissions => permissions
-    
-    e = Entry.new(:image => uploaded_file)
-    assert e.save
-
-    assert_equal permissions, (File.stat(e.image).mode & 0777)
-  end
-
-  def test_permissions_with_small_file
-    do_permission_test upload(f("skanthak.png"), :guess, :stringio)
-  end
-
-  def test_permission_with_big_file
-    do_permission_test upload(f("kerb.jpg"))
-  end
-
-  def test_permission_that_overrides_umask
-    do_permission_test upload(f("skanthak.png"), :guess, :stringio), 0666
-    do_permission_test upload(f("kerb.jpg")), 0666
-  end
-
-  def test_access_with_empty_id
-    # an empty id might happen after a clone or through some other
-    # strange event. Since we would create a path that contains nothing
-    # where the id would have been, we should fail fast with an exception
-    # in this case
-    
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert e.save
-    id = e.id
-
-    e = Entry.find(id)
-    
-    e["id"] = ""
-    assert_raise(RuntimeError) { e.image }
-    
-    e = Entry.find(id)
-    e["id"] = nil
-    assert_raise(RuntimeError) { e.image }
-  end
-end
-
-# Tests for moving temp dir to permanent dir
-class FileColumnMoveTest < Test::Unit::TestCase
-  
-  def setup
-    # we define the file_columns here so that we can change
-    # settings easily in a single test
-
-    Entry.file_column :image
-    
-  end
-  
-  def teardown
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/entry/"
-  end
-
-  def test_should_move_additional_files_from_tmp
-    e = Entry.new
-    e.image = uploaded_file(file_path("skanthak.png"), "image/png", "skanthak.png")
-    FileUtils.cp file_path("kerb.jpg"), File.dirname(e.image)
-    assert e.save
-    dir = File.dirname(e.image)
-    assert File.exists?(File.join(dir, "skanthak.png"))
-    assert File.exists?(File.join(dir, "kerb.jpg"))
-  end
-
-  def test_should_move_direcotries_on_save
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    
-    FileUtils.mkdir( e.image_dir+"/foo" )
-    FileUtils.cp file_path("kerb.jpg"), e.image_dir+"/foo/kerb.jpg"
-    
-    assert e.save
-
-    assert File.exists?(e.image)
-    assert File.exists?(File.dirname(e.image)+"/foo/kerb.jpg")
-  end
-
-  def test_should_overwrite_dirs_with_files_on_reupload
-    e = Entry.new(:image => upload(f("skanthak.png")))
-
-    FileUtils.mkdir( e.image_dir+"/kerb.jpg")
-    FileUtils.cp file_path("kerb.jpg"), e.image_dir+"/kerb.jpg/"
-    assert e.save
-
-    e.image = upload(f("kerb.jpg"))
-    assert e.save
-
-    assert File.file?(e.image_dir+"/kerb.jpg")
-  end
-
-  def test_should_overwrite_files_with_dirs_on_reupload
-    e = Entry.new(:image => upload(f("skanthak.png")))
-
-    assert e.save
-    assert File.file?(e.image_dir+"/skanthak.png")
-
-    e.image = upload(f("kerb.jpg"))
-    FileUtils.mkdir(e.image_dir+"/skanthak.png")
-    
-    assert e.save
-    assert File.file?(e.image_dir+"/kerb.jpg")
-    assert !File.file?(e.image_dir+"/skanthak.png")
-    assert File.directory?(e.image_dir+"/skanthak.png")
-  end
-
-end
-
diff --git a/vendor/plugins/file_column/test/fixtures/entry.rb b/vendor/plugins/file_column/test/fixtures/entry.rb
deleted file mode 100644 (file)
index b9f7c95..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-class Entry < ActiveRecord::Base
-  attr_accessor :validation_should_fail
-
-  def validate
-    errors.add("image","some stupid error") if @validation_should_fail
-  end
-  
-  def after_assign
-    @after_assign_called = true
-  end
-  
-  def after_assign_called?
-    @after_assign_called
-  end
-  
-  def after_save
-    @after_save_called = true
-  end
-
-  def after_save_called?
-    @after_save_called
-  end
-
-  def my_store_dir
-    # not really dynamic but at least it could be...
-    "my_store_dir"
-  end
-
-  def load_image_with_rmagick(path)
-    Magick::Image::read(path).first
-  end
-end
diff --git a/vendor/plugins/file_column/test/fixtures/invalid-image.jpg b/vendor/plugins/file_column/test/fixtures/invalid-image.jpg
deleted file mode 100644 (file)
index bd4933b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-this is certainly not a JPEG image
diff --git a/vendor/plugins/file_column/test/fixtures/kerb.jpg b/vendor/plugins/file_column/test/fixtures/kerb.jpg
deleted file mode 100644 (file)
index 083138e..0000000
Binary files a/vendor/plugins/file_column/test/fixtures/kerb.jpg and /dev/null differ
diff --git a/vendor/plugins/file_column/test/fixtures/mysql.sql b/vendor/plugins/file_column/test/fixtures/mysql.sql
deleted file mode 100644 (file)
index 55143f2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
--- MySQL dump 9.11
---
--- Host: localhost    Database: file_column_test
--- ------------------------------------------------------
--- Server version      4.0.24
-
---
--- Table structure for table `entries`
---
-
-DROP TABLE IF EXISTS entries;
-CREATE TABLE entries (
-  id int(11) NOT NULL auto_increment,
-  image varchar(200) default NULL,
-  file varchar(200) NOT NULL,
-  PRIMARY KEY  (id)
-) TYPE=MyISAM;
-
-DROP TABLE IF EXISTS movies;
-CREATE TABLE movies (
-  id int(11) NOT NULL auto_increment,
-  movie varchar(200) default NULL,
-  PRIMARY KEY  (id)
-) TYPE=MyISAM;
-
diff --git a/vendor/plugins/file_column/test/fixtures/schema.rb b/vendor/plugins/file_column/test/fixtures/schema.rb
deleted file mode 100644 (file)
index 49b5ddb..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-ActiveRecord::Schema.define do
-  create_table :entries, :force => true do |t|
-    t.column :image, :string, :null => true
-    t.column :file, :string, :null => false
-  end
-  
-  create_table :movies, :force => true do |t|
-    t.column :movie, :string
-  end
-end
diff --git a/vendor/plugins/file_column/test/fixtures/skanthak.png b/vendor/plugins/file_column/test/fixtures/skanthak.png
deleted file mode 100644 (file)
index 7415eb6..0000000
Binary files a/vendor/plugins/file_column/test/fixtures/skanthak.png and /dev/null differ
diff --git a/vendor/plugins/file_column/test/magick_test.rb b/vendor/plugins/file_column/test/magick_test.rb
deleted file mode 100644 (file)
index 0362719..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-require File.dirname(__FILE__) + '/abstract_unit'
-require 'RMagick'
-require File.dirname(__FILE__) + '/fixtures/entry'
-
-
-class AbstractRMagickTest < Test::Unit::TestCase
-  def teardown
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/entry/"
-  end
-
-  def test_truth
-    assert true
-  end
-
-  private
-
-  def read_image(path)
-    Magick::Image::read(path).first
-  end
-
-  def assert_max_image_size(img, s)
-    assert img.columns <= s, "img has #{img.columns} columns, expected: #{s}"
-    assert img.rows <= s, "img has #{img.rows} rows, expected: #{s}"
-    assert_equal s, [img.columns, img.rows].max
-  end
-end
-
-class RMagickSimpleTest < AbstractRMagickTest
-  def setup
-    Entry.file_column :image, :magick => { :geometry => "100x100" }
-  end
-
-  def test_simple_resize_without_save
-    e = Entry.new
-    e.image = upload(f("kerb.jpg"))
-    
-    img = read_image(e.image)
-    assert_max_image_size img, 100
-  end
-
-  def test_simple_resize_with_save
-    e = Entry.new
-    e.image = upload(f("kerb.jpg"))
-    assert e.save
-    e.reload
-    
-    img = read_image(e.image)
-    assert_max_image_size img, 100
-  end
-
-  def test_resize_on_saved_image
-    Entry.file_column :image, :magick => { :geometry => "100x100" }
-    
-    e = Entry.new
-    e.image = upload(f("skanthak.png"))
-    assert e.save
-    e.reload
-    old_path = e.image
-    
-    e.image = upload(f("kerb.jpg"))
-    assert e.save
-    assert "kerb.jpg", File.basename(e.image)
-    assert !File.exists?(old_path), "old image '#{old_path}' still exists"
-
-    img = read_image(e.image)
-    assert_max_image_size img, 100
-  end
-
-  def test_invalid_image
-    e = Entry.new
-    assert_nothing_raised { e.image = upload(f("invalid-image.jpg")) }
-    assert !e.valid?
-  end
-
-  def test_serializable
-    e = Entry.new
-    e.image = upload(f("skanthak.png"))
-    assert_nothing_raised {
-      flash = Marshal.dump(e)
-      e = Marshal.load(flash)
-    }
-    assert File.exists?(e.image)
-  end
-
-  def test_imagemagick_still_usable
-    e = Entry.new
-    assert_nothing_raised {
-      img = e.load_image_with_rmagick(file_path("skanthak.png"))
-      assert img.kind_of?(Magick::Image)
-    }
-  end
-end
-
-class RMagickRequiresImageTest < AbstractRMagickTest
-  def setup
-    Entry.file_column :image, :magick => { 
-      :size => "100x100>",
-      :image_required => false,
-      :versions => {
-        :thumb => "80x80>",
-        :large => {:size => "200x200>", :lazy => true}
-      }
-    }
-  end
-
-  def test_image_required_with_image
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert_max_image_size read_image(e.image), 100
-    assert e.valid?
-  end
-
-  def test_image_required_with_invalid_image
-    e = Entry.new(:image => upload(f("invalid-image.jpg")))
-    assert e.valid?, "did not ignore invalid image"
-    assert FileUtils.identical?(e.image, f("invalid-image.jpg")), "uploaded file has not been left alone"
-  end
-
-  def test_versions_with_invalid_image
-    e = Entry.new(:image => upload(f("invalid-image.jpg")))
-    assert e.valid?
-
-    image_state = e.send(:image_state)
-    assert_nil image_state.create_magick_version_if_needed(:thumb)
-    assert_nil image_state.create_magick_version_if_needed(:large)
-    assert_nil image_state.create_magick_version_if_needed("300x300>")
-  end
-end
-
-class RMagickCustomAttributesTest < AbstractRMagickTest
-  def assert_image_property(img, property, value, text = nil)
-    assert File.exists?(img), "the image does not exist"
-    assert_equal value, read_image(img).send(property), text
-  end
-
-  def test_simple_attributes
-    Entry.file_column :image, :magick => { :attributes => { :quality => 20 } }
-    e = Entry.new("image" => upload(f("kerb.jpg")))
-    assert_image_property e.image, :quality, 20, "the quality was not set"
-  end
-
-  def test_version_attributes
-    Entry.file_column :image, :magick => {
-      :versions => {
-        :thumb => { :attributes => { :quality => 20 } }
-      }
-    }
-    e = Entry.new("image" => upload(f("kerb.jpg")))
-    assert_image_property e.image("thumb"), :quality, 20, "the quality was not set"
-  end
-  
-  def test_lazy_attributes
-    Entry.file_column :image, :magick => {
-      :versions => {
-        :thumb => { :attributes => { :quality => 20 }, :lazy => true }
-      }
-    }
-    e = Entry.new("image" => upload(f("kerb.jpg")))
-    e.send(:image_state).create_magick_version_if_needed(:thumb)
-    assert_image_property e.image("thumb"), :quality, 20, "the quality was not set"
-  end
-end
-
-class RMagickVersionsTest < AbstractRMagickTest
-  def setup
-    Entry.file_column :image, :magick => {:geometry => "200x200",
-      :versions => {
-        :thumb => "50x50",
-        :medium => {:geometry => "100x100", :name => "100_100"},
-        :large => {:geometry => "150x150", :lazy => true}
-      }
-    }
-  end
-
-
-  def test_should_create_thumb
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    assert File.exists?(e.image("thumb")), "thumb-nail not created"
-    
-    assert_max_image_size read_image(e.image("thumb")), 50
-  end
-
-  def test_version_name_can_be_different_from_key
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    assert File.exists?(e.image("100_100"))
-    assert !File.exists?(e.image("medium"))
-  end
-
-  def test_should_not_create_lazy_versions
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    assert !File.exists?(e.image("large")), "lazy versions should not be created unless needed"
-  end
-
-  def test_should_create_lazy_version_on_demand
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    e.send(:image_state).create_magick_version_if_needed(:large)
-    
-    assert File.exists?(e.image("large")), "lazy version should be created on demand"
-    
-    assert_max_image_size read_image(e.image("large")), 150
-  end
-
-  def test_generated_name_should_not_change
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    name1 = e.send(:image_state).create_magick_version_if_needed("50x50")
-    name2 = e.send(:image_state).create_magick_version_if_needed("50x50")
-    name3 = e.send(:image_state).create_magick_version_if_needed(:geometry => "50x50")
-    assert_equal name1, name2, "hash value has changed"
-    assert_equal name1, name3, "hash value has changed"
-  end
-
-  def test_should_create_version_with_string
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    name = e.send(:image_state).create_magick_version_if_needed("32x32")
-    
-    assert File.exists?(e.image(name))
-
-    assert_max_image_size read_image(e.image(name)), 32
-  end
-
-  def test_should_create_safe_auto_id
-    e = Entry.new("image" => upload(f("skanthak.png")))
-
-    name = e.send(:image_state).create_magick_version_if_needed("32x32")
-
-    assert_match /^[a-zA-Z0-9]+$/, name
-  end
-end
-
-class RMagickCroppingTest < AbstractRMagickTest
-  def setup
-    Entry.file_column :image, :magick => {:geometry => "200x200",
-      :versions => {
-        :thumb => {:crop => "1:1", :geometry => "50x50"}
-      }
-    }
-  end
-  
-  def test_should_crop_image_on_upload
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    
-    img = read_image(e.image("thumb"))
-    
-    assert_equal 50, img.rows 
-    assert_equal 50, img.columns
-  end
-    
-end
-
-class UrlForImageColumnTest < AbstractRMagickTest
-  include FileColumnHelper
-
-  def setup
-    Entry.file_column :image, :magick => {
-      :versions => {:thumb => "50x50"} 
-    }
-    @request = RequestMock.new
-  end
-    
-  def test_should_use_version_on_symbol_option
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    
-    url = url_for_image_column(e, "image", :thumb)
-    assert_match %r{^/entry/image/tmp/.+/thumb/skanthak.png$}, url
-  end
-
-  def test_should_use_string_as_size
-    e = Entry.new(:image => upload(f("skanthak.png")))
-
-    url = url_for_image_column(e, "image", "50x50")
-    
-    assert_match %r{^/entry/image/tmp/.+/.+/skanthak.png$}, url
-    
-    url =~ /\/([^\/]+)\/skanthak.png$/
-    dirname = $1
-    
-    assert_max_image_size read_image(e.image(dirname)), 50
-  end
-
-  def test_should_accept_version_hash
-    e = Entry.new(:image => upload(f("skanthak.png")))
-
-    url = url_for_image_column(e, "image", :size => "50x50", :crop => "1:1", :name => "small")
-
-    assert_match %r{^/entry/image/tmp/.+/small/skanthak.png$}, url
-
-    img = read_image(e.image("small"))
-    assert_equal 50, img.rows
-    assert_equal 50, img.columns
-  end
-end
-
-class RMagickPermissionsTest < AbstractRMagickTest
-  def setup
-    Entry.file_column :image, :magick => {:geometry => "200x200",
-      :versions => {
-        :thumb => {:crop => "1:1", :geometry => "50x50"}
-      }
-    }, :permissions => 0616
-  end
-  
-  def check_permissions(e)
-    assert_equal 0616, (File.stat(e.image).mode & 0777)
-    assert_equal 0616, (File.stat(e.image("thumb")).mode & 0777)
-  end
-
-  def test_permissions_with_rmagick
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    
-    check_permissions e
-
-    assert e.save
-
-    check_permissions e
-  end
-end
-
-class Entry 
-  def transform_grey(img)
-    img.quantize(256, Magick::GRAYColorspace)
-  end
-end
-
-class RMagickTransformationTest < AbstractRMagickTest
-  def assert_transformed(image)
-    assert File.exists?(image), "the image does not exist"
-    assert 256 > read_image(image).number_colors, "the number of colors was not changed"
-  end
-  
-  def test_simple_transformation
-    Entry.file_column :image, :magick => { :transformation => Proc.new { |image| image.quantize(256, Magick::GRAYColorspace) } }
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    assert_transformed(e.image)
-  end
-  
-  def test_simple_version_transformation
-    Entry.file_column :image, :magick => {
-      :versions => { :thumb => Proc.new { |image| image.quantize(256, Magick::GRAYColorspace) } }
-    }
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    assert_transformed(e.image("thumb"))
-  end
-  
-  def test_complex_version_transformation
-    Entry.file_column :image, :magick => {
-      :versions => {
-        :thumb => { :transformation => Proc.new { |image| image.quantize(256, Magick::GRAYColorspace) } }
-      }
-    }
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    assert_transformed(e.image("thumb"))
-  end
-  
-  def test_lazy_transformation
-    Entry.file_column :image, :magick => {
-      :versions => {
-        :thumb => { :transformation => Proc.new { |image| image.quantize(256, Magick::GRAYColorspace) }, :lazy => true }
-      }
-    }
-    e = Entry.new("image" => upload(f("skanthak.png")))
-    e.send(:image_state).create_magick_version_if_needed(:thumb)
-    assert_transformed(e.image("thumb"))
-  end
-
-  def test_simple_callback_transformation
-    Entry.file_column :image, :magick => :transform_grey
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert_transformed(e.image)
-  end
-
-  def test_complex_callback_transformation
-    Entry.file_column :image, :magick => { :transformation => :transform_grey }
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    assert_transformed(e.image)
-  end
-end
diff --git a/vendor/plugins/file_column/test/magick_view_only_test.rb b/vendor/plugins/file_column/test/magick_view_only_test.rb
deleted file mode 100644 (file)
index a7daa61..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-require File.dirname(__FILE__) + '/abstract_unit'
-require File.dirname(__FILE__) + '/fixtures/entry'
-
-class RMagickViewOnlyTest < Test::Unit::TestCase
-  include FileColumnHelper
-
-  def setup
-    Entry.file_column :image
-    @request = RequestMock.new
-  end
-
-  def teardown
-    FileUtils.rm_rf File.dirname(__FILE__)+"/public/entry/"
-  end
-
-  def test_url_for_image_column_without_model_versions
-    e = Entry.new(:image => upload(f("skanthak.png")))
-    
-    assert_nothing_raised { url_for_image_column e, "image", "50x50" }
-  end
-end
diff --git a/vendor/plugins/http_accept_language/README.rdoc b/vendor/plugins/http_accept_language/README.rdoc
deleted file mode 100644 (file)
index e644183..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-= HttpAcceptLanguage
-
-A small effort in making a plugin which helps you detect the users preferred language, as sent by the HTTP header.
-
-== Features
-
-* Splits the http-header into languages specified by the user
-* Returns empty array if header is illformed.
-* Corrects case to xx-XX
-* Sorted by priority given, as much as possible.
-* Gives you the most important language
-* Gives compatible languages
-See also: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
-
-== Example
-
-  class SomeController < ApplicationController
-    def some_action
-      
-      request.user_preferred_languages
-      # => [ 'nl-NL', 'nl-BE', 'nl', 'en-US', 'en' ]
-      
-      available = %w{en en-US nl-BE}
-      request.preferred_language_from(available)
-      # => 'nl-BE'
-      
-      request.user_preferred_languages
-      # => [ 'en-GB']
-      available = %w{en-US}
-      request.compatible_language_from(available)
-      # => 'en-US'
-    end
-  end
-
-== Installation
-
-Install the gem <tt>http_accept_language</tt>, require it in your Rails app.
-
-== Changelog
-
-* 2010-01-05: Gem release
-* 2009-03-12: Rails 2.3 compatible
-
-Copyright (c) 2008-2010 Iain Hecker, released under the MIT license
diff --git a/vendor/plugins/http_accept_language/Rakefile b/vendor/plugins/http_accept_language/Rakefile
deleted file mode 100644 (file)
index 6c5a4f5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-require 'rake'
-
-begin
-  require 'jeweler'
-  Jeweler::Tasks.new do |gem|
-    gem.name = "http_accept_language"
-    gem.summary = %Q{Parse the HTTP Accept Language Header}
-    gem.description = %Q{Find out which locale the user preferes by reading the languages they specified in their browser}
-    gem.email = "iain@iain.nl"
-    gem.homepage = "http://github.com/iain/http_accept_language"
-    gem.authors = ["Iain Hecker"]
-  end
-  Jeweler::GemcutterTasks.new
-rescue LoadError
-  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
-end
-
-require 'rake/testtask'
-desc 'Test the http_accept_language plugin.'
-Rake::TestTask.new(:test) do |t|
-  t.libs << 'lib'
-  t.pattern = 'test/**/*_test.rb'
-  t.verbose = true
-end
-
-desc 'Default: run unit tests.'
-task :default => :test
-
-require 'rake/rdoctask'
-desc 'Generate documentation for the http_accept_language plugin.'
-Rake::RDocTask.new(:rdoc) do |rdoc|
-  rdoc.rdoc_dir = 'rdoc'
-  rdoc.title    = 'HttpAcceptLanguage'
-  rdoc.options << '--line-numbers' << '--inline-source'
-  rdoc.rdoc_files.include('README')
-  rdoc.rdoc_files.include('lib/**/*.rb')
-end
diff --git a/vendor/plugins/http_accept_language/VERSION b/vendor/plugins/http_accept_language/VERSION
deleted file mode 100644 (file)
index 7dea76e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-1.0.1
diff --git a/vendor/plugins/http_accept_language/init.rb b/vendor/plugins/http_accept_language/init.rb
deleted file mode 100644 (file)
index 050a7ca..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if defined?(ActionDispatch::Request)
-  ActionDispatch::Request.send :include, HttpAcceptLanguage
-elsif defined?(ActionController::Request)
-  ActionController::Request.send :include, HttpAcceptLanguage
-elsif defined?(ActionController::AbstractRequest)
-  ActionController::AbstractRequest.send :include, HttpAcceptLanguage
-else
-  ActionController::CgiRequest.send :include, HttpAcceptLanguage
-end
diff --git a/vendor/plugins/http_accept_language/lib/http_accept_language.rb b/vendor/plugins/http_accept_language/lib/http_accept_language.rb
deleted file mode 100644 (file)
index 1266a3e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-module HttpAcceptLanguage
-
-  # Returns a sorted array based on user preference in HTTP_ACCEPT_LANGUAGE.
-  # Browsers send this HTTP header, so don't think this is holy.
-  #
-  # Example:
-  #
-  #   request.user_preferred_languages
-  #   # => [ 'nl-NL', 'nl-BE', 'nl', 'en-US', 'en' ]
-  #
-  def user_preferred_languages
-    @user_preferred_languages ||= env['HTTP_ACCEPT_LANGUAGE'].split(',').collect do |l|
-      l += ';q=1.0' unless l =~ /;q=\d+\.\d+$/
-      l.split(';q=')
-    end.sort do |x,y|
-      raise "Not correctly formatted" unless x.first =~ /^[a-z\-]+$/i
-      y.last.to_f <=> x.last.to_f
-    end.collect do |l|
-      l.first.downcase.gsub(/-[a-z]+$/i) { |x| x.upcase }
-    end
-  rescue # Just rescue anything if the browser messed up badly.
-    []
-  end
-
-  # Sets the user languages preference, overiding the browser
-  #
-  def user_preferred_languages=(languages)
-    @user_preferred_languages = languages
-  end
-
-  # Finds the locale specifically requested by the browser.
-  #
-  # Example:
-  #
-  #   request.preferred_language_from I18n.available_locales
-  #   # => 'nl'
-  #
-  def preferred_language_from(array)
-    (user_preferred_languages & array.collect { |i| i.to_s }).first
-  end
-
-  # Returns the first of the user_preferred_languages that is compatible
-  # with the available locales. Ignores region.
-  #
-  # Example:
-  #
-  #   request.compatible_language_from I18n.available_locales
-  #
-  def compatible_language_from(array)
-    user_preferred_languages.map do |x|
-      array.find do |y|
-        y.to_s =~ /^#{Regexp.escape(x.to_s)}(-|$)/
-      end
-    end.compact.first
-  end
-
-end
diff --git a/vendor/plugins/http_accept_language/test/http_accept_language_test.rb b/vendor/plugins/http_accept_language/test/http_accept_language_test.rb
deleted file mode 100644 (file)
index 8c8a446..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-$:.unshift(File.dirname(__FILE__) + '/../lib')
-require 'http_accept_language'
-require 'test/unit'
-
-class MockedCgiRequest
-  include HttpAcceptLanguage
-  def env
-    @env ||= {'HTTP_ACCEPT_LANGUAGE' => 'en-us,en-gb;q=0.8,en;q=0.6'}
-  end
-end
-
-class HttpAcceptLanguageTest < Test::Unit::TestCase
-  def test_should_return_empty_array
-    request.env['HTTP_ACCEPT_LANGUAGE'] = nil
-    assert_equal [], request.user_preferred_languages
-  end
-
-  def test_should_properly_split
-    assert_equal %w{en-US en-GB en}, request.user_preferred_languages
-  end
-
-  def test_should_ignore_jambled_header
-    request.env['HTTP_ACCEPT_LANGUAGE'] = 'odkhjf89fioma098jq .,.,'
-    assert_equal [], request.user_preferred_languages
-  end
-
-  def test_should_find_first_available_language
-    assert_equal 'en-GB', request.preferred_language_from(%w{en en-GB})
-  end
-
-  def test_should_find_first_compatible_language
-    assert_equal 'en-hk', request.compatible_language_from(%w{en-hk})
-    assert_equal 'en', request.compatible_language_from(%w{en})
-  end
-
-  def test_should_find_first_compatible_from_user_preferred
-    request.env['HTTP_ACCEPT_LANGUAGE'] = 'en-us,de-de'
-    assert_equal 'en', request.compatible_language_from(%w{de en})
-  end
-
-  private
-  def request
-    @request ||= MockedCgiRequest.new
-  end
-end
diff --git a/vendor/plugins/output_compression/Rakefile b/vendor/plugins/output_compression/Rakefile
deleted file mode 100644 (file)
index 0ffac2d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require 'rake'
-require 'rake/testtask'
-require 'rake/rdoctask'
-
-desc 'Default: run unit tests.'
-task :default => :test
-
-desc 'Test the output_compression plugin.'
-Rake::TestTask.new(:test) do |t|
-  t.libs << 'lib'
-  t.pattern = 'test/**/*_test.rb'
-  t.verbose = true
-end
-
-desc 'Generate documentation for the output_compression plugin.'
-Rake::RDocTask.new(:rdoc) do |rdoc|
-  rdoc.rdoc_dir = 'rdoc'
-  rdoc.title    = 'OutputCompression'
-  rdoc.options << '--line-numbers --inline-source'
-  rdoc.rdoc_files.include('README')
-  rdoc.rdoc_files.include('lib/**/*.rb')
-end
diff --git a/vendor/plugins/output_compression/init.rb b/vendor/plugins/output_compression/init.rb
deleted file mode 100644 (file)
index 52bdcc3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Include hook code here
-require 'output_compression'
diff --git a/vendor/plugins/output_compression/lib/tasks/output_compression_tasks.rake b/vendor/plugins/output_compression/lib/tasks/output_compression_tasks.rake
deleted file mode 100644 (file)
index 0382661..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# desc "Explaining what the task does"
-# task :output_compression do
-#   # Task goes here
-# end
\ No newline at end of file
diff --git a/vendor/plugins/output_compression/test/output_compression_test.rb b/vendor/plugins/output_compression/test/output_compression_test.rb
deleted file mode 100644 (file)
index 9b94fa1..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-require 'test/unit'
-
-class OutputCompressionTest < Test::Unit::TestCase
-  # Replace this with your real tests.
-  def test_this_plugin
-    flunk
-  end
-end
diff --git a/vendor/plugins/session-persistence/MIT_LICENSE b/vendor/plugins/session-persistence/MIT_LICENSE
deleted file mode 100644 (file)
index 8448529..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2010 August Lilleaas
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/vendor/plugins/session-persistence/README.rdoc b/vendor/plugins/session-persistence/README.rdoc
deleted file mode 100644 (file)
index a8eb059..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-= Session Persistence
-
-Rails 3 plugin that lets you set how long you want your session to be persisted/remembered.
-
- session_expires_after 2.weeks
- session_expires_automatically # also aliased to expire_session
-   
-The timespan will reset on every request. If you set it to 2 weeks, and the user returns after 1 week, the session will be refreshed and last 2 weeks again. If the user returns after 3 weeks, the session will be reset.
-
-A call to session_expires_automatically will return to a normal automatical expiry cookie, that will expire when the browser is closed.
-
-Note: I haven't tested the plugin with memcache session storage, but it should work there as well.
-
-= Usage
-   
-Here's an example sessions controller in a Rails 3 application.
-
- class SessionsController < ApplicationController
-  def create
-    session_expires_after 2.weeks if params[:remember_me]
-    
-    # ..normal auth goes here..
-    # for example
-    user = User.authenticate(params[:username], params[:password])
-    if user
-      session[:user] = user.id
-    else
-      # ..
-    end
-  end
-  
-  def destroy
-    session_expires_automatically
-    
-    # ..unauthorize here..
-    # for example
-    session[:user] = nil
-    redirect_to root_path
-  end
- end
\ No newline at end of file
diff --git a/vendor/plugins/session-persistence/init.rb b/vendor/plugins/session-persistence/init.rb
deleted file mode 100644 (file)
index a752ad3..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require  "session_persistence"
-ActionController::Base.class_eval { include SessionPersistence }
-ActionController::Base.after_filter :_persist_session
\ No newline at end of file
diff --git a/vendor/plugins/session-persistence/lib/session_persistence.rb b/vendor/plugins/session-persistence/lib/session_persistence.rb
deleted file mode 100644 (file)
index 7bb51bc..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-module SessionPersistence
-  private
-  
-  # Override this method if you don't want to use session[:_remember_for].
-  def session_persistence_key
-    :_remember_for
-  end
-
-  # Persist the session.
-  #
-  #   session_expires_after 1.hour
-  #   session_expires_after 2.weeks
-  def session_expires_after(seconds)
-    session[session_persistence_key] = seconds 
-  end
-  
-  # Expire the session.
-  def session_expires_automatically
-    session.delete(session_persistence_key)
-  end
-  alias_method :expire_session, :session_expires_automatically
-  
-  def _persist_session
-    if session[session_persistence_key]
-      env["rack.session.options"][:expire_after] = session[session_persistence_key]
-    end
-  end
-end
diff --git a/vendor/plugins/session-persistence/test/session_timeout_test.rb b/vendor/plugins/session-persistence/test/session_timeout_test.rb
deleted file mode 100644 (file)
index 89c6020..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-require "test/unit"
-
-module ActionController
-  class Base
-    def self.after_filter(*args)
-      
-    end
-  end
-end
-
-$LOAD_PATH.push(File.dirname(__FILE__) + "../lib")
-require "../init"
-
-class SessionPersistenceTest < Test::Unit::TestCase
-  def setup
-    @controller = ActionController::Base.new
-    @controller.instance_eval {
-      def session
-        @session ||= {}
-      end
-      
-      def session_persistence_key
-        :mine
-      end
-    }
-  end
-  
-  def test_session_expires_after
-    @controller.instance_eval { session_expires_after 10 }
-    assert_equal 10, @controller.session[:mine]
-  end
-  
-  def test_session_expires_automatically
-    @controller.instance_eval {
-      session_expires_after 10
-      session_expires_automatically
-    }
-    
-    assert !@controller.session.has_key?(:mine)
-  end
-end
\ No newline at end of file
diff --git a/vendor/rails-locales/ar.yml b/vendor/rails-locales/ar.yml
deleted file mode 100644 (file)
index 17652ab..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# Arabic translations for Ruby on Rails
-# by Rida Al Barazi (me@rida.me)
-# updated by Ahmed Hazem (nardgo@gmail.com)
-# Rails 3 edit by rbjarnason
-
-"ar":
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%e %b"
-      long: "%B %e, %Y"
-
-    day_names:
-      - الأحد
-      - الإثنين
-      - الثلاثاء
-      - الأربعاء
-      - الخميس
-      - الجمعة
-      - السبت
-    abbr_day_names:
-      - الأحد
-      - الإثنين
-      - الثلاثاء
-      - الأربعاء
-      - الخميس
-      - الجمعة
-      - السبت
-
-    month_names:
-      - ~
-      - يناير
-      - فبراير
-      - مارس
-      - ابريل
-      - مايو
-      - يونيو
-      - يوليو
-      - اغسطس
-      - سبتمبر
-      - اكتوبر
-      - نوفمبر
-      - ديسمبر
-    abbr_month_names:
-      - ~
-      - يناير
-      - فبراير
-      - مارس
-      - ابريل
-      - مايو
-      - يونيو
-      - يوليو
-      - اغسطس
-      - سبتمبر
-      - اكتوبر
-      - نوفمبر
-      - ديسمبر
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %b %d %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: 'صباحا'
-    pm: 'مساءا'
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " و "
-      last_word_connector: ", و "
-
-    select:
-      prompt: "الرجاء اختيار"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: ألف
-          million: مليون
-          billion: مليار
-          trillion: تريليون
-          quadrillion: الكدريليون رقم
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'نصف دقيقة'
-      less_than_x_seconds:
-        one: 'أقل من ثانية'
-        other: '%{count} ثوان'
-      x_seconds:
-        one: 'ثانية واحدة'
-        other: '%{count} ثوان'
-      less_than_x_minutes:
-        one: 'أقل من دقيقة'
-        other: '%{count} دقائق'
-      x_minutes:
-        one: 'دقيقة واحدة'
-        other: '%{count} دقائق'
-      about_x_hours:
-        one: 'حوالي ساعة واحدة'
-        other: '%{count} ساعات'
-      x_days:
-        one: 'يوم واحد'
-        other: '%{count} أيام'
-      about_x_months:
-        one: 'حوالي شهر واحد'
-        other: '%{count} أشهر'
-      x_months:
-        one: 'شهر واحد'
-        other: '%{count} أشهر'
-      about_x_years:
-        one: 'حوالي سنة'
-        other: '%{count} سنوات'
-      over_x_years:
-        one: 'أكثر من سنة'
-        other: '%{count} سنوات'
-      almost_x_years:
-        one:   "تقريبا سنة واحدة"
-        other: "ما يقرب من %{count} سنة"
-    prompts:
-      year:   "السنة"
-      month:  "الشهر"
-      day:    "اليوم"
-      hour:   "ساعة"
-      minute: "دقيقة"
-      second: "ثانية"
-
-  helpers:
-    select:
-      prompt: "الرجاء اختيار"
-
-    submit:
-      create: "%{model} إنشاء"
-      update: "%{model} نموذج"
-      submit: "%{model} حفظ"
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ليس خيارا مقبولا"
-      exclusion: "محجوز"
-      invalid: "غير معرف أو محدد"
-      confirmation: "لا تتوافق مع التأكيد"
-      accepted: "يجب أن تقبل"
-      empty: "فارغ، يرجى ملء الحقل"
-      blank: "فارغ، يرجى ملء الحقل"
-      too_long: "أطول من اللازم (الحد الأقصى هو %{count})"
-      too_short: "أقصر من اللازم (الحد الأدنى هو %{count})"
-      wrong_length: "بطول غير مناسب (يجب أن يكون %{count})"
-      not_an_integer: "يجب أن يكون صحيحا"
-      not_a_number: "ليس رقما"
-      greater_than: "يجب أن يكون أكبر من %{count}"
-      greater_than_or_equal_to: "يجب أن يكون أكبر من أو يساوي %{count}"
-      equal_to: "يجب أن يساوي %{count}"
-      less_than: "يجب أن يكون أصغر من %{count}"
-      less_than_or_equal_to: "يجب أن يكون أصغر من أو يساوي %{count}"
-      odd: "يجب أن يكون فردي"
-      even: "يجب أن يكون زوجي"
-      taken: "غير متوفر (مستخدم)"
-      record_invalid: "%{errors} فشل التحقق من صحة"
-    template: &errors_template
-      header:
-        one: "ليس بالامكان حفظ %{model}: خطأ واحد."
-        other: "ليس بالامكان حفظ %{model}: %{count} أخطاء."
-      body: "يرجى التحقق من الحقول التالية:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/az.yml b/vendor/rails-locales/az.yml
deleted file mode 100644 (file)
index c62c1e5..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-# Azerbaijani translations for Ruby on Rails
-# by Nihad Abbasov (mail@narkoz.me)
-
-az:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - Bazar
-      - Bazar ertəsi
-      - Çərşənbə axşamı
-      - Çərşənbə
-      - Cümə axşamı
-      - Cümə
-      - Şənbə
-    abbr_day_names:
-      - B.
-      - B.E.
-      - Ç.A.
-      - Ç.
-      - C.A.
-      - C.
-      - Ş.
-
-    month_names:
-      - ~
-      - Yanvar
-      - Fevral
-      - Mart
-      - Aprel
-      - May
-      - İyun
-      - İyul
-      - Avqust
-      - Sentyabr
-      - Oktyabr
-      - Noyabr
-      - Dekabr
-    abbr_month_names:
-      - ~
-      - Yan
-      - Fev
-      - Mar
-      - Apr
-      - May
-      - İyn
-      - İyl
-      - Avq
-      - Sen
-      - Okt
-      - Noy
-      - Dek
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y, %H:%M:%S %z"
-      short: "%d %b, %H:%M"
-      long: "%d %B %Y, %H:%M"
-    am: "günortaya qədər"
-    pm: "günortadan sonra"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " və "
-      last_word_connector: " və "
-
-    select:
-      prompt: "Seçin"
-
-  number:
-    format:
-      separator: "."
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "AZN"
-        separator: "."
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Bayt"
-            other: "Bayt"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Min
-          million: Milyon
-          billion: Milyard
-          trillion: Trilyon
-          quadrillion: Katrilyon
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "yarım dəqiqə"
-      less_than_x_seconds:
-        one:   "1 saniyədən az"
-        other: "%{count} saniyədən az"
-      x_seconds:
-        one:   "1 saniyə"
-        other: "%{count} saniyə"
-      less_than_x_minutes:
-        one:   "1 dəqiqədən az"
-        other: "%{count} dəqiqədən az"
-      x_minutes:
-        one:   "1 dəqiqə"
-        other: "%{count} dəqiqə"
-      about_x_hours:
-        one:   "təxminən 1 saat"
-        other: "təxminən %{count} saat"
-      x_days:
-        one:   "1 gün"
-        other: "%{count} gün"
-      about_x_months:
-        one:   "təxminən 1 ay"
-        other: "təxminən %{count} ay"
-      x_months:
-        one:   "1 ay"
-        other: "%{count} ay"
-      about_x_years:
-        one:   "təxminən 1 il"
-        other: "təxminən %{count} il"
-      over_x_years:
-        one:   "1 ildən çox"
-        other: "%{count} ildən çox"
-      almost_x_years:
-        one:   "təqribən 1 il"
-        other: "təqribən %{count} il"
-    prompts:
-      year:   "İl"
-      month:  "Ay"
-      day:    "Gün"
-      hour:   "Saat"
-      minute: "Dəqiqə"
-      second: "Saniyə"
-
-  helpers:
-    select:
-      prompt: "Seçin"
-
-    submit:
-      create: '%{model} yarat'
-      update: '%{model} yenilə'
-      submit: '%{model} saxla'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "siyahiyə daxil deyil"
-      exclusion: "qorunur"
-      invalid: "yalnışdır"
-      confirmation: "təsdiqə uygun deyil"
-      accepted: "qəbul olunmalıdır"
-      empty: "boş ola bilməz"
-      blank: "boş ola bilməz"
-      too_long: "çox uzundur (%{count} simvoldan çox olmalı deyil)"
-      too_short: "çox qısadır (%{count} simvoldan az olmalı deyil)"
-      wrong_length: "uzunluqu səhvdir (%{count} simvol olmalıdır)"
-      not_a_number: "rəqəm deyil"
-      not_an_integer: "tam rəqəm olmalıdır"
-      greater_than: "%{count}-dən böyük olmalıdır"
-      greater_than_or_equal_to: "böyük və ya %{count}-ə bərabər olmalıdır"
-      equal_to: "%{count}-ə bərabər olmalıdır"
-      less_than: "%{count}-dən kiçik olmalıdır"
-      less_than_or_equal_to: "kiçik və ya %{count}-ə bərabər olmalıdır"
-      odd: "tək olmalıdır"
-      even: "cüt olmalıdır"
-      taken: "artıq mövcuddur"
-      record_invalid: "Yoxlama uğursuz oldu: %{errors}"
-    template: &errors_template
-      header:
-        one:    "%{model} saxlanmadı: 1 səhv"
-        other:  "%{model} saxlanmadı: %{count} səhv"
-      body: "Aşağıdaki səhvlər üzə çıxdı:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/bg.yml b/vendor/rails-locales/bg.yml
deleted file mode 100644 (file)
index b4d0e5f..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-# Full Bulgarian localization for Ruby on Rails 3+
-#
-# extracted from www.termo.bg
-# supported by Samson Behar <master.webmaster.master@gmail.com>
-# supported by Yavor Ivanov, http://github.com/YavorIvanov
-# supported by Andrew Radev, http://github.com/AndrewRadev
-# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
-
-bg:
-
-  # ===== Rails Specific ===========================================================================
-
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - неделя
-      - понеделник
-      - вторник
-      - сряда
-      - четвъртък
-      - петък
-      - събота
-    abbr_day_names:
-      - нед
-      - пон
-      - вт
-      - ср
-      - чет
-      - пет
-      - съб
-
-    # should start with nil cause there is no 0-th month
-    month_names:
-      - ~
-      - януари
-      - февруари
-      - март
-      - април
-      - май
-      - юни
-      - юли
-      - август
-      - септември
-      - октомври
-      - ноември
-      - декември
-    abbr_month_names:
-      - ~
-      - яну.
-      - фев.
-      - март
-      - апр.
-      - май
-      - юни
-      - юли
-      - авг.
-      - сеп.
-      - окт.
-      - ноем.
-      - дек.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y, %H:%M:%S %z"
-      short: "%d %b, %H:%M"
-      long: "%d %B %Y, %H:%M"
-    am: "преди обяд"
-    pm: "следобед"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " и "
-      last_word_connector: " и "
-
-    select:
-      prompt: "Моля отбележете"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "лв."
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Байт"
-            other: "Байта"
-          kb: "КБ"
-          mb: "МБ"
-          gb: "ГБ"
-          tb: "ТБ"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: хиляди
-          million: милиона
-          billion: милиарда
-          trillion: трилиона
-          quadrillion: квадрилиона
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "половин минута"
-      less_than_x_seconds:
-        one:   "по-малко от 1 секунда"
-        other: "по-малко от %{count} секунди"
-      x_seconds:
-        one:   "1 секунда"
-        other: "%{count} секунди"
-      less_than_x_minutes:
-        one:   "по-малко от 1 минута"
-        other: "по-малко от %{count} минути"
-      x_minutes:
-        one:   "1 минута"
-        other: "%{count} минути"
-      about_x_hours:
-        one:   "около 1 час"
-        other: "около %{count} часа"
-      x_days:
-        one:   "1 ден"
-        other: "%{count} дни"
-      about_x_months:
-        one:   "около 1 месец"
-        other: "около %{count} месеца"
-      x_months:
-        one:   "1 месец"
-        other: "%{count} месеца"
-      about_x_years:
-        one:   "около 1 година"
-        other: "около %{count} години"
-      over_x_years:
-        one:   "над 1 година"
-        other: "над %{count} години"
-      almost_x_years:
-        one:   "почти 1 година"
-        other: "почти %{count} години"
-    prompts:
-      year:   "Година"
-      month:  "Месец"
-      day:    "Ден"
-      hour:   "Час"
-      minute: "Минута"
-      second: "Секунда"
-
-  helpers:
-    select:
-      prompt: "Моля отбележете"
-
-    submit:
-      create: 'Създай %{model}'
-      update: 'Обнови %{model}'
-      submit: 'Запази %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "съдържа непредвидена стойност"
-      exclusion: "съдържа предварително зададена стойност"
-      invalid: "съдържа невярна стойност"
-      confirmation: "не съответства на потвърждението"
-      accepted: "трябва да се потвърди"
-      empty: "не може да е празно"
-      blank: "не може да е без стойност"
-      too_long: "е прекаленo дълго (не може да е повече от %{count} символа)"
-      too_short: "е прекалено късо (не може да бъде по-малко от %{count} символа)"
-      wrong_length: "е с грешна дължина (трябва да е с дължина, равна на %{count} символа)"
-      not_a_number: "не е число"
-      not_an_integer: "не е цяло число"
-      greater_than: "трябва да има стойност, по-голяма от %{count}"
-      greater_than_or_equal_to: "трябва да има стойност, по-голяма или равна на %{count}"
-      equal_to: "трябва да има стойност, равна на %{count}"
-      less_than: "трябва да има стойност, по-малка от %{count}"
-      less_than_or_equal_to: "трябва да има стойност, по-голяма или равна на %{count}"
-      odd: "трябва да е четно"
-      even: "трябва да е нечетно"
-      taken: "вече съществува"
-      record_invalid: "имаше грешки: %{errors}"
-    template: &errors_template
-      header:
-        one:    "%{model}: записа е неуспешен заради 1 грешка"
-        other:  "%{model}: записа е неуспешен заради %{count} грешки"
-      body: "Възникнаха проблеми със следните полета:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/bn-IN.yml b/vendor/rails-locales/bn-IN.yml
deleted file mode 100644 (file)
index c34024e..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-# Benagli (India) translations for Rails
-# by Arindam Ghosh (makghosh@gmail.com)
-
-bn-IN:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: "."
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: ","
-      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%u %n"
-        unit: "₹"
-        # These three are to override number.format and are optional
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      # Rails <= v2.2.2
-      # storage_units: [Bytes, KB, MB, GB, TB]
-      # Rails >= v2.3
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "অার্ধেক মিনিট"
-      less_than_x_seconds:
-        one:  "১ সেকেন্ডর কম "
-        other: "%{count} সেকেন্ডের কম"
-      x_seconds:
-        one:  "১ সেকেন্ড"
-        other: "%{count} সেকেন্ড"
-      less_than_x_minutes:
-        one:  "১ মিনিটের কম"
-        other: "%{count} মিনিটের কম"
-      x_minutes:
-        one:  "১ মিনিট"
-        other: "%{count} মিনিট"
-      about_x_hours:
-        one:  "প্রায় ১ ঘন্টা"
-        other: "প্রায় %{count} ঘন্টা"
-      x_days:
-        one:  "১ দিন"
-        other: "%{count} দিন"
-      about_x_months:
-        one:  "প্রায় ১ মাস"
-        other: "প্রায় %{count} মাস"
-      x_months:
-        one:  "১ মাস"
-        other: "%{count} মাস"
-      about_x_years:
-        one:  "প্রায় ১ বছর"
-        other: "প্রায় %{count} বছর"
-      over_x_years:
-        one:  "১ বছরের বেশি"
-        other: "%{count} বছরের বেশি"
-    prompts:
-      year:   "বছর"
-      month:  "মাস"
-      day:    "দিন"
-      hour:   "ঘন্টা"
-      minute: "মিনিট"
-      second: "সেকেন্ড"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "লিস্টে অন্তর্ভুক্ত নয়"
-      exclusion: "রিসার্ভ করা অাছে"
-      invalid: "সঠিক নয়"
-      confirmation: "অনুমোদনের সঙ্গে মিলছে না"
-      accepted: "গ্রাহ্য করতে হবে"
-      empty: "খালি রাখা যাবে না"
-      blank: "ফাঁকা রাখা যাবে না"
-      too_long: "খুব বড়ো (সর্বোচ্চ %{count} অক্ষর)"
-      too_short: "খুব ছোটো (সর্বনিম্ন %{count} অক্ষর)"
-      wrong_length: "দৈর্ঘ্যটি সঠিক নয় (%{count} অক্ষর হতে হবে)"
-      taken: "অাগেই নিয়ে নেওয়া হয়েছে"
-      not_a_number: "নম্বর নয়"
-      greater_than: "%{count} থেকে বড়ো হতে হবে"
-      greater_than_or_equal_to: "%{count} থেকে বড়ো অথবা তার সমান হতে হবে"
-      equal_to: "%{count} এর সঙ্গে সমান হতে হবে"
-      less_than: "%{count} থেকে ছোটো হতে হবে"
-      less_than_or_equal_to: "%{count} থেকে ছোটো অথবা তার সমান হতে হবে"
-      odd: "বেজোড় হতে হবে"
-      even: "জোড় হতে হবে"
-    template: &errors_template
-      header:
-        one:   "১ টি ত্রুটির কারনে %{model} সংরক্ষন করা সম্ভব হয়নি"
-        other:  "%{count} টি ত্রুটির কারনে %{model} সংরক্ষন করা সম্ভব হয়নি"
-      body: "এই ফিল্ডগুলোতে কিছু সমস্যা দেখা দিয়েছে:"
-  
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
-      
-
-        # Append your own errors here or at the model/attributes scope.
-
-      # models:
-        # Overrides default messages
-
-      # attributes:
-        # Overrides model and default messages.
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%e/%m/%Y"
-      short: "%e de %b"
-      long: "%e de %B de %Y"
-
-    day_names:
-      - রবিবার
-      - সোমবার
-      - মঙ্গলবার
-      - বুধবার
-      - বৃহস্পতিবার
-      - শুক্রবার
-      - শনিবার
-    abbr_day_names:
-      - রবিবার
-      - সোমবার
-      - মঙ্গলবার
-      - বুধবার
-      - বৃহস্পতিবার
-      - শুক্রবার
-      - শনিবার
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - জানুয়ারি
-      - ফেব্রুয়ারি
-      - মার্চ
-      - এপ্রিল
-      - মে
-      - জুন
-      - জুলাই
-      - অগাস্ট
-      - সেপ্টেমবার
-      - অক্টোবার
-      - নভেম্বার
-      - ডিসেম্বার
-    abbr_month_names:
-      - ~
-      - জানুয়ারি
-      - ফেব্রুয়ারি
-      - মার্চ
-      - এপ্রিল
-      - মে
-      - জুন
-      - জুলাই
-      - অগাস্ট
-      - সেপ্টেমবার
-      - অক্টোবার
-      - নভেম্বার
-      - ডিসেম্বার
-    # Used in date_select and datime_select.
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%A, %e de %B de %Y %H:%M:%S %z"
-      short: "%e de %b %H:%M"
-      long: "%e de %B de %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " এবং "
-      last_word_connector: ", এবং "
diff --git a/vendor/rails-locales/bs.yml b/vendor/rails-locales/bs.yml
deleted file mode 100644 (file)
index aa8ba32..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-# Bosnia and Herzegovina (Bosnian) translations for rails
-# by Armin Pašalić (armin [at] pasalic [dot] com [dot] ba, http://pasalic.com.ba)
-
-# Please take a look at /rails/pluralization/bs.rb for pluralization instructions.
-
-bs:
-  date:
-    formats:
-      default: "%d.%m.%Y."
-      short: "%e. %b. %Y."
-      long: "%e. %B %Y."
-    day_names:
-      - nedjelja
-      - ponedjeljak
-      - utorak
-      - srijeda
-      - četvrtak
-      - petak
-    abbr_day_names:
-      - ned
-      - pon
-      - uto
-      - sri
-      - čet
-      - pet
-      - sub
-    month_names:
-      - januar
-      - februar
-      - mart
-      - april
-      - maj
-      - juni
-      - juli
-      - august
-      - septembar
-      - oktobar
-      - novembar
-      - decembar
-    abbr_month_names:
-      - jan
-      - feb
-      - mar
-      - apr
-      - maj
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-  time:
-    formats:
-      default: "%H:%M:%S"
-      short: "%d. %b %Y. %H:%M"
-      long: "%d. %B %Y. - %H:%M:%S"
-    am: ''
-    pm: ''
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " i "
-      last_word_connector: " i "
-    select:
-      prompt: "Molimo odaberite"
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: true
-    currency:
-      format:
-        format: "%n%u"
-        unit: "KM"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: true
-    percentage:
-      format:
-        delimiter: ","
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ","
-        precision: 0
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "bajt"
-            few:   "bajta"
-            many:  "bajtova"
-            other: "bajtova"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand:
-            one: "hiljada"
-            few: "hiljade"
-            many: "hiljada"
-            other: 'hiljada'
-          million:
-            one: "milion"
-            few: "miliona"
-            many: "miliona"
-            other: "miliona"
-          billion:
-            one: "milijarda"
-            few: "milijarde"
-            many: "milijardi"
-            other: "milijardi"
-          trillion:
-            one: "bilion"
-            few: "biliona"
-            many: "biliona"
-            other: "biliona"
-          quadrillion:
-            one: "bilijarda"
-            few: "bilijarde"
-            many: "bilijardi"
-            other: "bilijardi"
-  datetime:
-    distance_in_words:
-      half_a_minute: "pola minute"
-      less_than_x_seconds:
-        one: "manje od sekunde"
-        few: "manje od %{count} sekunde"
-        many: "manje od %{count} sekundi"
-      x_seconds:
-        one: "1 sekund"
-        few: "%{count} sekunde"
-        many: "%{count} sekundi"
-        other: "%{count} sekundi"
-      less_than_x_minutes:
-        one: "manje od minute"
-        few: "manje od %{count} minute"
-        many: "manje od %{count} minuta"
-        other: "manje od %{count} minuta"
-      x_minutes:
-        one: "1 minut"
-        few: "%{count} minute"
-        many: "%{count} minuta"
-        other: "%{count} minuta"
-      about_x_hours:
-        one: "oko sat"
-        few: "oko %{count} sata"
-        many: "oko %{count} sati"
-        other: "oko %{count} sati"
-      x_days:
-        one: "1 dan"
-        few: "%{count} dana"
-        many: "%{count} dana"
-        other: "%{count} dana"
-      x_months:
-        one: "1 mjesec"
-        few: "%{count} mjeseca"
-        many: "%{count} mjeseci"
-        other: "%{count} mjeseci"
-      about_x_months:
-        one: "oko mjesec"
-        few: "oko %{count} mjeseca"
-        many: "oko %{count} mjeseci"
-        other: "oko %{count} mjeseci"
-      about_x_years:
-        one: "oko godine"
-        few: "oko %{count} godine"
-        many: "oko %{count} godina"
-        other: "oko %{count} godina"
-      over_x_years:
-        one: "preko godine"
-        few: "preko %{count} godine"
-        many: "preko %{count} godina"
-        other: "preko %{count} godina"
-      almost_x_years:
-        one: "skoro 1 godina"
-        few: "skoro %{count} godine"
-        many: "skoro %{count} godina"
-        other: "skoro %{count} godina"
-    prompts:
-      year:   "godina"
-      month:  "mjesec"
-      day:    "dan"
-      hour:   "sat"
-      minute: "minut"
-      second: "sekundi"
-  helpers:
-    select:
-      prompt: "Molimo odaberite"
-    submit:
-      create: "Kreiraj %{model}"
-      update: "Osviježi %{model}"
-      submit: "Sačuvaj %{model}"
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nije uključeno u listu"
-      exclusion: "je rezervisano"
-      invalid: "nije validno"
-      confirmation: "se ne poklapa sa potvrdom"
-      accepted: "mora biti prihvaćeno"
-      empty: "ne smije biti prazno"
-      blank: "ne smije biti prazno"
-      too_long: "je predugo (maksimalno je dozvoljeno %{count} karaktera)"
-      too_short: "je prekratko (predviđeno je minimalno %{count} karaktera)"
-      wrong_length: "je pogrešne dužine (trebalo bi biti tačno %{count} karaktera)"
-      not_a_number: "nije broj"
-      not_an_integer: "mora biti cijeli broj"
-      greater_than: "mora biti veće od %{count}"
-      greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
-      equal_to: "mora biti %{count}"
-      less_than: "mora biti manje od %{count}"
-      less_than_or_equal_to: "mora biti manje ili jednako %{count}"
-      odd: "mora biti neparno"
-      even: "mora biti parno"
-      taken: "je već zauzet"
-      record_invalid: "Validacija nije uspjela: %{errors}"
-    template: &errors_template
-      header:
-        one:    "1 greška je spriječila da se ovaj %{model} snimi"
-        few:    "%{count} greške su spriječile da se ovaj %{model} snimi"
-        many:   "%{count} grešaka je spriječilo da se ovaj %{model} snimi"
-        other:  "%{count} grešaka je spriječilo da se ovaj %{model} snimi"
-      body: "Desili su se problemi sa slijedećim poljima:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/ca.yml b/vendor/rails-locales/ca.yml
deleted file mode 100644 (file)
index cfc8ad3..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-# Catalan translations for Rails
-# by Emili Parreño (emili@eparreno.com - www.eparreno.com)
-
-ca:
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d-%m-%Y"
-      short: "%d de %b"
-      long: "%d de %B de %Y"
-
-    day_names:
-      - Diumenge
-      - Dilluns
-      - Dimarts
-      - Dimecres
-      - Dijous
-      - Divendres
-      - Dissabte
-    abbr_day_names:
-      - Dg
-      - Dl
-      - Dm
-      - Dc
-      - Dj
-      - Dv
-      - Ds
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - Gener
-      - Febrer
-      - Març
-      - Abril
-      - Maig
-      - Juny
-      - Juliol
-      - Agost
-      - Setembre
-      - Octubre
-      - Novembre
-      - Desembre
-    abbr_month_names:
-      - ~,
-      - Gen
-      - Feb
-      - Mar
-      - Abr
-      - Mai
-      - Jun
-      - Jul
-      - Ago
-      - Set
-      - Oct
-      - Nov
-      - Des
-    # Used in date_select and datime_select.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d de %B de %Y %H:%M:%S %z"
-      short: "%d de %b %H:%M"
-      long: "%d de %B de %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " i "
-      last_word_connector: ", i "
-
-    select:
-      prompt: "Si us plau tria"
-
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: ","
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "."
-      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "€"
-        # These three are to override number.format and are optional
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Mil"
-          million: "Milió"
-          billion: "Bilió"
-          trillion: "Trilió"
-          quadrillion: "Quatrilió"
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "mig minut"
-      less_than_x_seconds:
-        one:  "menys d'1 segon"
-        other: "menys de %{count} segons"
-      x_seconds:
-        one:  "1 segon"
-        other: "%{count} segons"
-      less_than_x_minutes:
-        one:  "menys d'1 minut"
-        other: "menys de %{count} minuts"
-      x_minutes:
-        one:  "1 minut"
-        other: "%{count} minuts"
-      about_x_hours:
-        one:  "aproximadament 1 hora"
-        other: "aproximadament %{count} hores"
-      x_days:
-        one:  "1 dia"
-        other: "%{count} dies"
-      about_x_months:
-        one:  "aproximadament 1 mes"
-        other: "aproximadament %{count} mesos"
-      x_months:
-        one:  "1 mes"
-        other: "%{count} mesos"
-      about_x_years:
-        one:  "aproximadament 1 any"
-        other: "aproximadament %{count} anys"
-      over_x_years:
-        one:  "més d'1 any"
-        other: "més de %{count} anys"
-      almost_x_years:
-        one:   "casi 1 any"
-        other: "casi %{count} anys"
-    prompts:
-      year: "Any"
-      month: "Mes"
-      day: "Dia"
-      hour: "Hora"
-      minute: "Minut"
-      second: "Segun"
-
-  helpers:
-    select:
-      prompt: "Si us plau tria"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no està inclós a la llista"
-      exclusion: "està reservat"
-      invalid: "no és vàlid"
-      confirmation: "no coincideix"
-      accepted: "ha de ser acceptat"
-      empty: "no pot estar buit"
-      blank: "no pot estar en blanc"
-      too_long: "és massa llarg (%{count} caràcters màxim)"
-      too_short: "és massa curt (%{count} caràcters mínim)"
-      wrong_length: "no té la longitud correcte (%{count} caràcters exactament)"
-      not_a_number: "no és un número"
-      not_an_integer: "ha de ser un enter"
-      taken: "no està disponible"
-      not_a_number: "no és un número"
-      greater_than: "ha de ser més gran que %{count}"
-      greater_than_or_equal_to: "ha de ser més gran o igual a %{count}"
-      equal_to: "ha de ser igual a %{count}"
-      less_than: "ha de ser menor que %{count}"
-      less_than_or_equal_to: "ha de ser menor o igual a %{count}"
-      odd: "ha de ser imparell"
-      even: "ha de ser parell"
-      record_invalid: "La validació ha fallat: %{errors}"
-    template: &errors_template
-      header:
-        one: "No s'ha pogut desar aquest/a %{model} perquè hi ha 1 error"
-        other: "No s'ha pogut desar aquest/a %{model} perquè hi ha hagut %{count} errors"
-      body: "Hi ha hagut problemes amb els següents camps:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/cs.yml b/vendor/rails-locales/cs.yml
deleted file mode 100644 (file)
index a75e5f1..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-# Czech translations for Ruby on Rails
-# by Karel Minařík (karmi@karmi.cz)
-# contributors:
-#  - Vít Krchov - http://github.com/vita - Rails 3 update
-
-cs:
-  support:
-    array:
-      two_words_connector: ' a '
-      last_word_connector: ' a '
-      words_connector: ', '
-    select:
-      prompt: 'Prosím vyberte si'
-
-  date:
-    formats:
-      default: "%d. %m. %Y"
-      short: "%d %b"
-      long: "%d. %B %Y"
-    day_names:
-      - Neděle
-      - Pondělí
-      - Úterý
-      - Středa
-      - Čtvrtek
-      - Pátek
-      - Sobota
-    abbr_day_names:
-      - Ne
-      - Po
-      - Út
-      - St
-      - Čt
-      - Pá
-      - So
-    month_names:
-      - ~
-      - Leden
-      - Únor
-      - Březen
-      - Duben
-      - Květen
-      - Červen
-      - Červenec
-      - Srpen
-      - Září
-      - Říjen
-      - Listopad
-      - Prosinec
-    abbr_month_names:
-      - ~
-      - Led
-      - Úno
-      - Bře
-      - Dub
-      - Kvě
-      - Čvn
-      - Čvc
-      - Srp
-      - Zář
-      - Říj
-      - Lis
-      - Pro
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d. %B %Y %H:%M %z"
-      short: "%d. %m. %H:%M"
-      long: "%A %d. %B %Y %H:%M"
-    am: 'am'
-    pm: 'pm'
-
-  number:
-    format:
-      precision: 3
-      separator: '.'
-      delimiter: ','
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'Kč'
-        precision: 2
-        format: '%n %u'
-        separator: ","
-        delimiter: " "
-        significant: false
-        strip_insignificant_zeros: false
-    human:
-      format:
-        precision: 1
-        delimiter: ''
-        significant: false
-        strip_insignificant_zeros: false
-      storage_units:
-        format: "%n %u"
-        units:
-          byte: "B"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Tisíc"
-          million: "Milion"
-          billion: "Miliarda"
-          trillion: "Bilion"
-          quadrillion: "Kvadrilion"
-    percentage:
-      format:
-        delimiter: ''
-    precision:
-      format:
-        delimiter: ''
-
-  datetime:
-    prompts:
-      second: "Sekunda"
-      minute: "Minuta"
-      hour: "Hodina"
-      day: "Den"
-      month: "Měsíc"
-      year: "Rok"
-    distance_in_words:
-      half_a_minute: 'půl minutou'
-      less_than_x_seconds:
-        one: 'necelou sekundou'
-        other: 'ani ne %{count} sekundami'
-      x_seconds:
-        one: 'sekundou'
-        other: '%{count} sekundami'
-      less_than_x_minutes:
-        one: 'necelou minutou'
-        other: 'ani ne %{count} minutami'
-      x_minutes:
-        one: 'minutou'
-        other: '%{count} minutami'
-      about_x_hours:
-        one: 'asi hodinou'
-        other: 'asi %{count} hodinami'
-      x_days:
-        one: '24 hodinami'
-        other: '%{count} dny'
-      about_x_months:
-        one: 'asi měsícem'
-        other: 'asi %{count} měsíci'
-      x_months:
-        one: 'měsícem'
-        other: '%{count} měsíci'
-      about_x_years:
-        one: 'asi rokem'
-        other: 'asi %{count} roky'
-      over_x_years:
-        one: 'více než rokem'
-        other: 'více než %{count} roky'
-      almost_x_years:
-        one: 'téměř rokem'
-        other: 'téměř %{count} roky'
-
-  helpers:
-    select:
-      prompt: "Prosím vyberte si"
-
-    submit:
-      create: "Vytvořit %{model}"
-      update: "Aktualizovat %{model}"
-      submit: "Uložit %{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "není v seznamu povolených hodnot"
-      exclusion: "je vyhrazeno pro jiný účel"
-      invalid: "není platná hodnota"
-      confirmation: "nebylo potvrzeno"
-      accepted: "musí být potvrzeno"
-      empty: "nesmí být prázdný/á/é"
-      blank: "je povinná položka"
-      too_long: "je příliš dlouhý/á/é (max. %{count} znaků)"
-      too_short: "je příliš krátký/á/é (min. %{count} znaků)"
-      wrong_length: "nemá správnou délku (očekáváno %{count} znaků)"
-      not_a_number: "není číslo"
-      greater_than: "musí být větší než %{count}"
-      greater_than_or_equal_to: "musí být větší nebo rovno %{count}"
-      equal_to: "musí být rovno %{count}"
-      less_than: "musí být méně než %{count}"
-      less_than_or_equal_to: "musí být méně nebo rovno %{count}"
-      odd: "musí být liché číslo"
-      even: "musí být sudé číslo"
-      not_an_integer: "musí být celé číslo"
-      taken: "již databáze obsahuje"
-      record_invalid: "Validace je neúspešná: %{errors}"
-    template: &errors_template
-      header:
-        one: "Při ukládání objektu %{model} došlo k chybám a nebylo jej možné uložit"
-        other: "Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné jej uložit"
-      body: "Následující pole obsahují chybně vyplněné údaje: "
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/csb.yml b/vendor/rails-locales/csb.yml
deleted file mode 100644 (file)
index 22e9e5d..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-# Kashubian translations for Ruby on Rails
-# by Michôł Òstrowsczi (ostrowski.michal@gmail.com, http://github.com/espresse)
-
-csb:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%B %d, %Y"
-
-    day_names:
-      - niedzela
-      - pòniedzôłk
-      - wtórk
-      - strzoda
-      - czwiôrtk
-      - piątk
-      - sobòta
-    abbr_day_names:
-      - nie
-      - pòn
-      - wtó
-      - str
-      - czw
-      - pią
-      - sob
-
-    month_names:
-      - ~
-      - stëcznik
-      - gromicznik
-      - strëmiannik
-      - łżëkwiôt
-      - môj
-      - czerwińc
-      - lëpińc
-      - zélnik
-      - séwnik
-      - rujan
-      - lëstopadnik
-      - gòdnik
-    abbr_month_names:
-      - ~
-      - stë
-      - gro
-      - str
-      - łżë
-      - môj
-      - cze
-      - lëp
-      - zél
-      - séw
-      - ruj
-      - lës
-      - gòd
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "przed pôłnim"
-    pm: "pò pôłnim"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " ë "
-      last_word_connector: " a téż "
-
-    select:
-      prompt: "Proszã wëbrac"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u %n"
-        unit: "PLN"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: true
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "bajt"
-            other: "bajtë"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tësąc
-          million: Milión
-          billion: Miliard
-          trillion: Bilión
-          quadrillion: Biliard
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pół minutë"
-      less_than_x_seconds:
-        one:   "mni jak sekùnda"
-        few:   "mni jak %{count} sekùndë"
-        other: "mni jak %{count} sekùndów"
-      x_seconds:
-        one:   "1 sekùnda"
-        few:   "%{count} sekùndë"
-        other: "%{count} sekùndów"
-      less_than_x_minutes:
-        one:   "mni jak minuta"
-        few:   "mni jak %{count} minutë"
-        other: "mni jak %{count} minutów"
-      x_minutes:
-        one:   "1 minuta"
-        few:   "%{count} minutë"
-        other: "%{count} minutów"
-      about_x_hours:
-        one:   "kòle gòdzënë"
-        few:   "kòle %{count} gòdzën"
-        other: "kòle %{count} gòdzën"
-      x_days:
-        one:   "1 dzéń"
-        few:   "%{count} dni"
-        other: "%{count} dniów"
-      about_x_months:
-        one:   "kòle miesąca"
-        few:   "kòle %{count} miesąców"
-        other: "kòle %{count} miesąców"
-      x_months:
-        one:   "1 miesąc"
-        few:   "%{count} miesiące"
-        other: "%{count} miesięców"
-      about_x_years:
-        one:   "kòle rokù"
-        few:   "kòle %{count} lat"
-        other: "kòle %{count} lat"
-      over_x_years:
-        one:   "wicy jak rok"
-        few:   "wicy jak %{count} lata"
-        other: "wicy jak %{count} lat"
-      almost_x_years:
-        one:   "wnet rok"
-        few:   "wnet %{count} lata"
-        other: "wnet %{count} lat"
-    prompts:
-      year:   "Rok"
-      month:  "Miesiąc"
-      day:    "Dzéń"
-      hour:   "Gòdzëna"
-      minute: "Minuta"
-      second: "Sekunda"
-
-  helpers:
-    select:
-      prompt: "Proszã wëbrac"
-
-    submit:
-      create: 'Ùsôdzë %{model}'
-      update: 'Aktualizëjë %{model}'
-      submit: 'Zapiszë %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ni ma na lësce dopùszczalnëch wôrtnotów"
-      exclusion: "je zarezerwowóné"
-      invalid: "je zmiłkòwé"
-      confirmation: "nie zgòdzô sã z pòcwierdzenim"
-      accepted: "mùszi bëc zaakceptowóné"
-      empty: "ni mòżé bëc pùsté"
-      blank: "ni mòże bëc pùsté"
-      too_long: "je za dłëdżé (maksymalno %{count} znaków)"
-      too_short: "je za krótczé (przënômni %{count} znaków)"
-      wrong_length: "mô lëchą długòtã (bë mùsza miec %{count} znaków)"
-      not_a_number: "nie je lëczbą"
-      not_an_integer: "muszi bëc całowną lëczbą"
-      greater_than: "mùszi bëc wikszé òd %{count}"
-      greater_than_or_equal_to: "mùszi bëc wikszé abò równé %{count}"
-      equal_to: "mùszi bëc równe %{count}"
-      less_than: "mùszi bëc mniszé òd %{count}"
-      less_than_or_equal_to: "mùszi bëc mniszé abò równé %{count}"
-      odd: "mùszi bëc nieparzësté"
-      even: "mùszé bëc parzësté"
-      taken: "je ju zajãté"
-      record_invalid: "Negatiwné sprôwdzenié pòprawnoscë: %{errors}"
-    template: &errors_template
-      header:
-        one:    "%{model} nie òstôł zachòwóny przez jedną felã"
-        other:  "%{model} nie òstôł zachòwóny przez %{count} felów"
-      body: "Fele tikają sã nëch pól:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/cy.yml b/vendor/rails-locales/cy.yml
deleted file mode 100644 (file)
index 15ed99c..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Welsh translations for Ruby on Rails
-# by Aran Jones (aranjones@gmail.com)
-
-cy:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - Dydd Sul
-      - Dydd Llun
-      - Dydd Mawrth
-      - Dydd Mercher
-      - Dydd Iau
-      - Dydd Gwener
-      - Dydd Sadwrn
-    abbr_day_names:
-      - Sul
-      - Llun
-      - Maw
-      - Mer
-      - Iau
-      - Gwe
-      - Sad
-
-    month_names:
-      - ~
-      - mis Ionawr
-      - mis Chwefror
-      - mis Mawrth
-      - mis Ebrill
-      - mis Mai
-      - mis Mehefin
-      - mis Gorffennaf
-      - mis Awst
-      - mis Medi
-      - mis Hydref
-      - mis Tachwedd
-      - mis Rhagfyr
-    abbr_month_names:
-      - ~
-      - Ion
-      - Chw
-      - Maw
-      - Ebr
-      - Mai
-      - Meh
-      - Gor
-      - Awst
-      - Med
-      - Hyd
-      - Tach
-      - Rha
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "yb"
-    pm: "yh"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " a "
-      last_word_connector: ", a "
-
-    select:
-      prompt: "Dewiswch"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "£"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Mil
-          million: Miliwn
-          billion: Biliwn
-          trillion: Triliwn
-          quadrillion: Cwadriliwn
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "hanner munud"
-      less_than_x_seconds:
-        one:   "llai nag eiliad"
-        other: "llai na %{count} eiliad"
-      x_seconds:
-        one:   "1 eiliad"
-        other: "%{count} o eiliadau"
-      less_than_x_minutes:
-        one:   "llai na munud"
-        other: "llai na %{count} munud"
-      x_minutes:
-        one:   "1 munud"
-        other: "%{count} o funudau"
-      about_x_hours:
-        one:   "tuag awr"
-        other: "tua %{count} awr"
-      x_days:
-        one:   "1 diwrnod"
-        other: "%{count} diwrnod"
-      about_x_months:
-        one:   "tua mis"
-        other: "tua %{count} mis"
-      x_months:
-        one:   "1 mis"
-        other: "%{count} mis"
-      about_x_years:
-        one:   "tua blwyddyn"
-        other: "tua %{count} blynedd"
-      over_x_years:
-        one:   "dros flwyddyn"
-        other: "dros %{count} blynedd"
-      almost_x_years:
-        one:   "bron yn flwyddyn"
-        other: "bron yn %{count} blynedd"
-    prompts:
-      year:   "Blwyddyn"
-      month:  "Mis"
-      day:    "Diwrnod"
-      hour:   "Awr"
-      minute: "Munud"
-      second: "Eiliad"
-
-  helpers:
-    select:
-      prompt: "Dewiswch"
-
-    submit:
-      create: 'Creu %{model}'
-      update: 'Diweddaru %{model}'
-      submit: 'Cadw %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "heb fod yn y rhestr"
-      exclusion: "wedi cadw"
-      invalid: "heb fod yn nheilwng"
-      confirmation: "heb fod yn gyfateb"
-      accepted: "angen ei dderbyn"
-      empty: "methu bod yn wag"
-      blank: "methu bod yn wag"
-      too_long: "yn rhy hir (cewch %{count} llythyren ar y fwyaf)"
-      too_short: "yn rhy fyr (rhaid am o leiaf %{count} llythyren)"
-      wrong_length: "gyda maint anghywir o lythrennau (dylai fod yn %{count} llythyren)"
-      not_a_number: "heb fod yn rhif"
-      not_an_integer: "heb fod yn rhif llawn"
-      greater_than: "angen bod yn fwy na %{count}"
-      greater_than_or_equal_to: "angen bod yr un maint neu fwy na %{count}"
-      equal_to: "angen bod yn %{count}"
-      less_than: "angen bod yn llai na %{count}"
-      less_than_or_equal_to: "angen bod yr un maint neu lai na %{count}"
-      odd: "rhaid bod yn odrif"
-      even: "rhaid bod yn eilrif"
-      taken: "wedi'i gymryd yn barod"
-      record_invalid: "Gwirio wedi methu: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Atalwyd y %{model} hwn rhag ei gadw gan 1 nam"
-        other:  "Atalwyd y %{model} hwn rhag ei gadw gan %{count} nam"
-      body: "Cafwyd broblemau gyda'r meysydd canlynol:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/da.yml b/vendor/rails-locales/da.yml
deleted file mode 100644 (file)
index bc38e96..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-# Danish translation file for standard Ruby on Rails internationalization
-# by Lars Hoeg (larshoeg@gmail.com, http://www.lenio.dk/)
-# redigeret af sprogekvilibrist og grammatisk facist Rasmus Malver (rasmus@malver.dk, http://malver.dk)
-
-# Danish translation file for standard Ruby on Rails internationalization
-# by Lars Hoeg (larshoeg@gmail.com, http://www.lenio.dk/)
-
-da:
-  # active_support
-  date:
-    # See http://sproget.dk/svarbase/SV00000046/ and http://en.wikipedia.org/wiki/Date_formats
-    # either use traditional (2.10.03, 2. oktober 2003): "%e.%m.%y", "%e. %B %Y"
-    # or international ISO 8601 format (2003-10-20): "%Y-%m-%d"
-    # Note: some Windows distributions do not support %e - you may have to use %d instead
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b %Y"
-      long: "%e. %B %Y"
-
-    day_names:
-      - søndag
-      - mandag
-      - tirsdag
-      - onsdag
-      - torsdag
-      - fredag
-      - lørdag
-    abbr_day_names:
-      - søn
-      - man
-      - tir
-      - ons
-      - tor
-      - fre
-      - lør
-    month_names:
-      - ~
-      - januar
-      - februar
-      - marts
-      - april
-      - maj
-      - juni
-      - juli
-      - august
-      - september
-      - oktober
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - maj
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%e. %B %Y, %H.%M"
-      short: "%e. %b %Y, %H.%M"
-      long: "%A d. %e. %B %Y, %H.%M"
-    am: ""
-    pm: ""
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " og "
-      last_word_connector: " og "
-    select:
-      # default value for :prompt => true in FormOptionsHelper
-      prompt: "Vælg..."
-
-  # action_view
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u %n"
-        unit: "DKK"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      # Rails 2.2
-      #storage_units: [Bytes, KB, MB, GB, TB]
-      # Rails 2.3
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tusind
-          million: Million
-          billion: Milliard
-          trillion: Billion
-          quadrillion: Billiard
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "et halvt minut"
-      less_than_x_seconds:
-        one:   "mindre end et sekund"
-        other: "mindre end %{count} sekunder"
-      x_seconds:
-        one:   "et sekund"
-        other: "%{count} sekunder"
-      less_than_x_minutes:
-        one:   "mindre end et minut"
-        other: "mindre end %{count} minutter"
-      x_minutes:
-        one:   "et minut"
-        other: "%{count} minutter"
-      about_x_hours:
-        one:   "cirka en time"
-        other: "cirka %{count} timer"
-      x_days:
-        one:   "en dag"
-        other: "%{count} dage"
-      about_x_months:
-        one:   "cirka en måned"
-        other: "cirka %{count} måneder"
-      x_months:
-        one:   "en måned"
-        other: "%{count} måneder"
-      about_x_years:
-        one:   "cirka et år"
-        other: "cirka %{count} år"
-      over_x_years:
-        one:   "mere end et år"
-        other: "mere end %{count} år"
-      almost_x_years:
-        one:   "næsten et år"
-        other: "næsten %{count} år"
-    prompts:
-      year:   "År"
-      month:  "Måned"
-      day:    "Dag"
-      hour:   "Time"
-      minute: "Minut"
-      second: "Sekund"
-
-  helpers:
-    select:
-      prompt: "Vælg..."
-
-    submit:
-      create: "Opret %{model}"
-      update: "Opdater %{model}"
-      submit: "Gem %{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "er ikke på listen"
-      exclusion: "er reserveret"
-      invalid: "er ikke gyldig"
-      confirmation: "stemmer ikke overens med bekræftelse"
-      accepted: "skal accepteres"
-      empty: "må ikke udelades"
-      blank: "skal udfyldes"
-      too_long: "er for lang (højest %{count} tegn)"
-      too_short: "er for kort (mindst %{count} tegn)"
-      wrong_length: "har forkert længde (skulle være %{count} tegn)"
-      not_a_number: "er ikke et tal"
-      not_an_integer: "er ikke et heltal"
-      greater_than: "skal være større end %{count}"
-      greater_than_or_equal_to: "skal være større end, eller lig med, %{count}"
-      equal_to: "skal være %{count}"
-      less_than: "skal være mindre end %{count}"
-      less_than_or_equal_to: "skal være mindre end, eller lig med, %{count}"
-      odd: "skal være et ulige tal"
-      even: "skal være et lige tal"
-      taken: "er allerede brugt"
-      record_invalid: "Godkendelse gik galt: %{errors}"
-    template: &errors_template
-      header:
-        one: "En fejl forhindrede %{model} i at blive gemt"
-        other: "%{count} fejl forhindrede %{model} i at blive gemt"
-      body: "Der var problemer med følgende felter:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/de-AT.yml b/vendor/rails-locales/de-AT.yml
deleted file mode 100644 (file)
index 2ae4305..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# German translations for Ruby on Rails
-# by Clemens Kofler (clemens@railway.at)
-
-de-AT:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - Sonntag
-      - Montag
-      - Dienstag
-      - Mittwoch
-      - Donnerstag
-      - Freitag
-      - Samstag
-    abbr_day_names:
-      - So
-      - Mo
-      - Di
-      - Mi
-      - Do
-      - Fr
-      - Sa
-    month_names:
-      - ~
-      - Jänner
-      - Februar
-      - März
-      - April
-      - Mai
-      - Juni
-      - Juli
-      - August
-      - September
-      - Oktober
-      - November
-      - Dezember
-    abbr_month_names:
-      - ~
-      - Jän
-      - Feb
-      - Mär
-      - Apr
-      - Mai
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M Uhr"
-      short: "%d. %B, %H:%M Uhr"
-      long: "%A, %d. %B %Y, %H:%M Uhr"
-    am: "vormittags"
-    pm: "nachmittags"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'eine halbe Minute'
-      less_than_x_seconds:
-        one: 'weniger als eine Sekunde'
-        other: 'weniger als %{count} Sekunden'
-      x_seconds:
-        one: 'eine Sekunde'
-        other: '%{count} Sekunden'
-      less_than_x_minutes:
-        one: 'weniger als eine Minute'
-        other: 'weniger als %{count} Minuten'
-      x_minutes:
-        one: 'eine Minute'
-        other: '%{count} Minuten'
-      about_x_hours:
-        one: 'etwa eine Stunde'
-        other: 'etwa %{count} Stunden'
-      x_days:
-        one: 'ein Tag'
-        other: '%{count} Tage'
-      about_x_months:
-        one: 'etwa ein Monat'
-        other: 'etwa %{count} Monate'
-      x_months:
-        one: 'ein Monat'
-        other: '%{count} Monate'
-      almost_x_years:
-        one: 'fast ein Jahr'
-        other: 'fast %{count} Jahre'
-      about_x_years:
-        one: 'etwa ein Jahr'
-        other: 'etwa %{count} Jahre'
-      over_x_years:
-        one: 'mehr als ein Jahr'
-        other: 'mehr als %{count} Jahre'
-    prompts:
-      second: "Sekunden"
-      minute: "Minuten"
-      hour: "Stunden"
-      day: "Tag"
-      month: "Monat"
-      year: "Jahr"
-
-  number:
-    format:
-      precision: 2
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: '€'
-        format: '%u %n'
-        separator: ','
-        delimiter: '.'
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tausend
-          million: Millionen
-          billion:
-            one: Milliarde
-            others: Milliarden
-          trillion: Billionen
-          quadrillion:
-            one: Billiarde
-            others: Billiarden
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " und "
-      last_word_connector: " und "
-    select:
-      prompt: "Bitte wählen:"
-
-  helpers:
-    select:
-      prompt: "Bitte wählen"
-
-    submit:
-      create: '%{model} erstellen'
-      update: '%{model} aktualisieren'
-      submit: '%{model} speichern'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ist kein gültiger Wert"
-      exclusion: "ist nicht verfügbar"
-      invalid: "ist nicht gültig"
-      confirmation: "stimmt nicht mit der Bestätigung überein"
-      accepted: "muss akzeptiert werden"
-      empty: "muss ausgefüllt werden"
-      blank: "muss ausgefüllt werden"
-      too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
-      too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
-      wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
-      not_a_number: "ist keine Zahl"
-      greater_than: "muss größer als %{count} sein"
-      greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
-      equal_to: "muss genau %{count} sein"
-      less_than: "muss kleiner als %{count} sein"
-      less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
-      odd: "muss ungerade sein"
-      even: "muss gerade sein"
-      not_an_integer: "muss ganzzahlig sein"
-      taken: "ist bereits vergeben"
-      record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Konnte %{model} nicht speichern: ein Fehler."
-        other:  "Konnte %{model} nicht speichern: %{count} Fehler."
-      body: "Bitte überprüfen Sie die folgenden Felder:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/de-CH.yml b/vendor/rails-locales/de-CH.yml
deleted file mode 100644 (file)
index da36c87..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# German (Switzerland) translations for Ruby on Rails
-# by Clemens Kofler (clemens@railway.at)
-
-de-CH:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - Sonntag
-      - Montag
-      - Dienstag
-      - Mittwoch
-      - Donnerstag
-      - Freitag
-      - Samstag
-    abbr_day_names:
-      - So
-      - Mo
-      - Di
-      - Mi
-      - Do
-      - Fr
-      - Sa
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - März
-      - April
-      - Mai
-      - Juni
-      - Juli
-      - August
-      - September
-      - Oktober
-      - November
-      - Dezember
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mär
-      - Apr
-      - Mai
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M Uhr"
-      short: "%d. %B, %H:%M Uhr"
-      long: "%A, %d. %B %Y, %H:%M Uhr"
-    am: "vormittags"
-    pm: "nachmittags"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'eine halbe Minute'
-      less_than_x_seconds:
-        one: 'weniger als eine Sekunde'
-        other: 'weniger als %{count} Sekunden'
-      x_seconds:
-        one: 'eine Sekunde'
-        other: '%{count} Sekunden'
-      less_than_x_minutes:
-        one: 'weniger als eine Minute'
-        other: 'weniger als %{count} Minuten'
-      x_minutes:
-        one: 'eine Minute'
-        other: '%{count} Minuten'
-      about_x_hours:
-        one: 'etwa eine Stunde'
-        other: 'etwa %{count} Stunden'
-      x_days:
-        one: 'ein Tag'
-        other: '%{count} Tage'
-      about_x_months:
-        one: 'etwa ein Monat'
-        other: 'etwa %{count} Monate'
-      x_months:
-        one: 'ein Monat'
-        other: '%{count} Monate'
-      almost_x_years:
-        one: 'fast ein Jahr'
-        other: 'fast %{count} Jahre'
-      about_x_years:
-        one: 'etwa ein Jahr'
-        other: 'etwa %{count} Jahre'
-      over_x_years:
-        one: 'mehr als ein Jahr'
-        other: 'mehr als %{count} Jahre'
-    prompts:
-      second: "Sekunden"
-      minute: "Minuten"
-      hour: "Stunden"
-      day: "Tag"
-      month: "Monat"
-      year: "Jahr"
-
-  number:
-    format:
-      precision: 2
-      separator: '.'
-      delimiter: "'"
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'SFr.'
-        format: '%u %n'
-        separator: '.'
-        delimiter: "'"
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tausend
-          million: Millionen
-          billion:
-            one: Milliarde
-            others: Milliarden
-          trillion: Billionen
-          quadrillion:
-            one: Billiarde
-            others: Billiarden
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " und "
-      last_word_connector: " und "
-    select:
-      prompt: "Bitte wählen:"
-
-  helpers:
-    select:
-      prompt: "Bitte wählen"
-
-    submit:
-      create: '%{model} erstellen'
-      update: '%{model} aktualisieren'
-      submit: '%{model} speichern'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ist kein gültiger Wert"
-      exclusion: "ist nicht verfügbar"
-      invalid: "ist nicht gültig"
-      confirmation: "stimmt nicht mit der Bestätigung überein"
-      accepted: "muss akzeptiert werden"
-      empty: "muss ausgefüllt werden"
-      blank: "muss ausgefüllt werden"
-      too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
-      too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
-      wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
-      not_a_number: "ist keine Zahl"
-      greater_than: "muss grösser als %{count} sein"
-      greater_than_or_equal_to: "muss grösser oder gleich %{count} sein"
-      equal_to: "muss genau %{count} sein"
-      less_than: "muss kleiner als %{count} sein"
-      less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
-      odd: "muss ungerade sein"
-      even: "muss gerade sein"
-      not_an_integer: "muss ganzzahlig sein"
-      taken: "ist bereits vergeben"
-      record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Konnte %{model} nicht speichern: ein Fehler."
-        other:  "Konnte %{model} nicht speichern: %{count} Fehler."
-      body: "Bitte überprüfen Sie die folgenden Felder:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/de.yml b/vendor/rails-locales/de.yml
deleted file mode 100644 (file)
index 62f9d5a..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# German translations for Ruby on Rails
-# by Clemens Kofler (clemens@railway.at)
-# contributors:
-#  - Alexander Dreher - http://github.com/alexdreher - Rails 3 update
-
-de:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - Sonntag
-      - Montag
-      - Dienstag
-      - Mittwoch
-      - Donnerstag
-      - Freitag
-      - Samstag
-    abbr_day_names:
-      - So
-      - Mo
-      - Di
-      - Mi
-      - Do
-      - Fr
-      - Sa
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - März
-      - April
-      - Mai
-      - Juni
-      - Juli
-      - August
-      - September
-      - Oktober
-      - November
-      - Dezember
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mär
-      - Apr
-      - Mai
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M Uhr"
-      short: "%d. %B, %H:%M Uhr"
-      long: "%A, %d. %B %Y, %H:%M Uhr"
-    am: "vormittags"
-    pm: "nachmittags"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'eine halbe Minute'
-      less_than_x_seconds:
-        one: 'weniger als eine Sekunde'
-        other: 'weniger als %{count} Sekunden'
-      x_seconds:
-        one: 'eine Sekunde'
-        other: '%{count} Sekunden'
-      less_than_x_minutes:
-        one: 'weniger als eine Minute'
-        other: 'weniger als %{count} Minuten'
-      x_minutes:
-        one: 'eine Minute'
-        other: '%{count} Minuten'
-      about_x_hours:
-        one: 'etwa eine Stunde'
-        other: 'etwa %{count} Stunden'
-      x_days:
-        one: 'ein Tag'
-        other: '%{count} Tage'
-      about_x_months:
-        one: 'etwa ein Monat'
-        other: 'etwa %{count} Monate'
-      x_months:
-        one: 'ein Monat'
-        other: '%{count} Monate'
-      almost_x_years:
-        one: 'fast ein Jahr'
-        other: 'fast %{count} Jahre'
-      about_x_years:
-        one: 'etwa ein Jahr'
-        other: 'etwa %{count} Jahre'
-      over_x_years:
-        one: 'mehr als ein Jahr'
-        other: 'mehr als %{count} Jahre'
-    prompts:
-      second: "Sekunden"
-      minute: "Minuten"
-      hour: "Stunden"
-      day: "Tag"
-      month: "Monat"
-      year: "Jahr"
-
-  number:
-    format:
-      precision: 2
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: '€'
-        format: '%n %u'
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tausend
-          million: Millionen
-          billion:
-            one: Milliarde
-            other: Milliarden
-          trillion: Billionen
-          quadrillion:
-            one: Billiarde
-            other: Billiarden
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " und "
-      last_word_connector: " und "
-    select:
-      prompt: "Bitte wählen:"
-
-  helpers:
-    select:
-      prompt: "Bitte wählen"
-
-    submit:
-      create: '%{model} erstellen'
-      update: '%{model} aktualisieren'
-      submit: '%{model} speichern'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ist kein gültiger Wert"
-      exclusion: "ist nicht verfügbar"
-      invalid: "ist nicht gültig"
-      confirmation: "stimmt nicht mit der Bestätigung überein"
-      accepted: "muss akzeptiert werden"
-      empty: "muss ausgefüllt werden"
-      blank: "muss ausgefüllt werden"
-      too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
-      too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
-      wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
-      not_a_number: "ist keine Zahl"
-      greater_than: "muss größer als %{count} sein"
-      greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
-      equal_to: "muss genau %{count} sein"
-      less_than: "muss kleiner als %{count} sein"
-      less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
-      odd: "muss ungerade sein"
-      even: "muss gerade sein"
-      not_an_integer: "muss ganzzahlig sein"
-      taken: "ist bereits vergeben"
-      record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Konnte %{model} nicht speichern: ein Fehler."
-        other:  "Konnte %{model} nicht speichern: %{count} Fehler."
-      body: "Bitte überprüfen Sie die folgenden Felder:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/dsb.yml b/vendor/rails-locales/dsb.yml
deleted file mode 100644 (file)
index 98d56b3..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-# Lower Sorbian translations for Ruby on Rails
-# by Michael Wolf (preklady@wolfmicha.de)
-
-dsb:
-  # ActiveSupport
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " a "
-      last_word_connector: " a "
-
-  # Date
-  date:
-    formats:
-      default: "%d. %m. %Y"
-      short:   "%d %b"
-      long:    "%d. %B %Y"
-    day_names:
-      - njeźela
-      - pónjeźele
-      - wałtora
-      - srjoda
-      - stwórtk
-      - pětk
-      - sobota
-    abbr_day_names:
-      - Nj
-      - Pó
-      - Wu
-      - Sr
-      - St
-      - Pě
-      - So
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - Měrc
-      - Apryl
-      - Maj
-      - Junij
-      - Julij
-      - Awgust
-      - September
-      - Oktober
-      - Nowember
-      - December
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - měr
-      - apr
-      - maj
-      - jun
-      - jul
-      - awg
-      - sep
-      - okt
-      - now
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  # Time
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M hodź"
-      short:   "%d. %B, %H:%M hodź."
-      long:    "%A, %d. %B %Y, %H:%M hodź."
-    am: "dopołdnja"
-    pm: "wótpołdnja"
-
-
-  # Numbers
-  number:
-    format:
-      precision: 3
-      separator: ","
-      delimiter: "."
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: "€"
-        precision: 2
-        format: "%n %u"
-        separator: ","
-        delimiter: " "
-        significant: false
-        strip_insignificant_zeros: false
-    human:
-      format:
-        precision: 1
-        delimiter: ""
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "bajt"
-            two: "bajta"
-            few: "bajty"
-            other: "bajtow"
-          kb:   "KB"
-          mb:   "MB"
-          gb:   "GB"
-          tb:   "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-
-  # Distance of time ... helper
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "poł minuty"
-      less_than_x_seconds:
-        one:   "mjenjej ako 1 sekundu"
-        two:   "mjenjej ako %{count} sekundoma"
-        few:   "mjenjej ako %{count} sekundami"
-        other: "mjenjej ako %{count} sekundami"
-      x_seconds:
-        one:   "1 sekundu"
-        two:   "%{count} sekundoma"
-        few:   "%{count} sekundami"
-        other: "%{count} sekundami"
-      less_than_x_minutes:
-        one: "mjenjej ako 1 minutu"
-        two: "mjenjej ako %{count} minutoma"
-        few: "mjenjej ako %{count} minutami"
-        other: "mjenjej ako %{count} minutami"
-      x_minutes:
-        one:    "1 minutu"
-        two:    "%{count} minutoma"
-        few:    "%{count} minutami"
-        other:  "%{count} minutami"
-      about_x_hours:
-        one:    "něźi 1 góźinu"
-        two:    "něźi %{count} góźinoma"
-        few:    "něźi %{count} góźinami"
-        other:  "něźi %{count} góźinami"
-      x_days:
-        one:    "1 dnjom"
-        two:    "%{count} dnjoma"
-        few:    "%{count} dnjami"
-        other:  "%{count} dnjami"
-      about_x_months:
-        one:    "něźi 1 mjasecom"
-        two:    "něźi %{count} mjasecoma"
-        few:    "něźi %{count} mjasecami"
-        other:  "něźi %{count} mjasecami"
-      x_months:
-        one:    "1 mjasecom"
-        two:    "%{count} mjasecoma"
-        few:    "%{count} mjasecami"
-        other:  "%{count} mjasecami"
-      about_x_years:
-        one:    "něźi 1 lětom"
-        two:    "něźi %{count} lětoma"
-        few:    "něźi %{count} lětami"
-        other:  "něźi %{count} lětami"
-      over_x_years:
-        one:    "wěcej ako 1 lětom"
-        two:    "wěcej ako %{count} lětoma"
-        few:    "wěcej ako %{count} lětami"
-        other:  "wěcej ako %{count} lětami"
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion:           "njejo płaśiwa gódnota"
-      exclusion:           "njestoj k dispoziciji"
-      invalid:             "njejo płaśiwy"
-      confirmation:        "njejo se wobkšuśiło"
-      accepted:            "musy se wobkšuśiś"
-      empty:               "njesmějo prozny byś"
-      blank:               "jo trěbny"
-      too_long:
-        one:               "jo pśedłujki (maks. 1 znamješko)"
-        two:               "jo pśedłujki (maks. %{count} znamješce)"
-        few:               "jo pśedłujki (maks. %{count} znamješka)"
-        other:             "jo pśedłujki (maks. %{count} znamješkow)"
-      too_short:
-        one:               "jo překrotki (min. 1 znamješko)"
-        two:               "jo překrotki (min. %{count} znamješće)"
-        few:               "jo překrotki (min. %{count} znamješka)"
-        other:             "jo překrotki (min. %{count} znamješkow)"
-      wrong_length:
-        one:               "njama pšawu dłujkosć (1 znamješko wócakane)"
-        two:               "njama pšawu dłujkosć (%{count} znamješce wócakanej)"
-        few:               "njama pšawu dłujkosć (%{count} znamješka wócakane)"
-        other:             "njama pšawu dłujkosć (%{count} znamješkow wócakanych)"
-      taken:                "jo južo w datowej bance"
-      not_a_number:         "njejo licba"
-      greater_than:         "musy wětšy ako %{count} byś"
-      greater_than_or_equal_to: "musy wětšy abo jadnak %{count} być"
-      equal_to:                 "musy jadnak %{count} byś"
-      less_than:                "musy mjeńšy ako %{count} byś"
-      less_than_or_equal_to:    "musy mjeńšy abo jadnak %{count} byś"
-      odd:                      "musy njerowna licba byś"
-      even:                     "musy rowna licba byś"
-
-    template: &errors_template
-      header:
-        one:   "Pśi składowanju objekta %{model} jo k zmólce dojšło a njejo było móžno składowaś"
-        two:   "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
-        few:   "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
-        other: "Pśi składowanju objekta %{model} jo k %{count} zmólkam dojšło a njejo było móžno składowaś"
-      body:  "Pšosym pśeglědaj slědujuce póla:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/el.yml b/vendor/rails-locales/el.yml
deleted file mode 100644 (file)
index aa59256..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Greek translations for Ruby on Rails
-# contributors:
-#  - Tsutomu Kuroda - t-kuroda@oiax.jp - Rails 3 update
-#  - Diamantopoulos Nikos - nolamesa@yahoo.gr
-
-el:
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%d %b"
-      long: "%e %B %Y"
-    day_names:
-      - Κυριακή
-      - Δευτέρα
-      - Τρίτη
-      - Τετάρτη
-      - Πέμπτη
-      - Παρασκευή
-      - Σάββατο
-    abbr_day_names:
-      - Κυρ
-      - Δευ
-      - Τρι
-      - Τετ
-      - Πεμ
-      - Παρ
-      - Σαβ
-    month_names:
-      - ~
-      - Ιανουάριος
-      - Φεβρουάριος
-      - Μάρτιος
-      - Απρίλιος
-      - Μάιος
-      - Ιούνιος
-      - Ιούλιος
-      - Αύγουστος
-      - Σεπτέμβριος
-      - Οκτώβριος
-      - Νοέμβριος
-      - Δεκέμβριος
-    abbr_month_names:
-      - ~
-      - Ιαν.
-      - Φεβ.
-      - Μάρ.
-      - Απρ.
-      - Μαι.
-      - Ιουν.
-      - Ιούλ.
-      - Αυγ.
-      - Σεπ.
-      - Οκτ.
-      - Νοε.
-      - Δεκ.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%d %B %Y %H:%M"
-      short: "%d %b %H:%M"
-      long: "%A %d %B %Y %H:%M:%S %Z"
-    am: 'πμ'
-    pm: 'μμ'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "μισό λεπτό"
-      less_than_x_seconds:
-        one: "λιγότερο από ένα δευτερόλεπτο"
-        other: "λιγότερο από %{count} δευτερόλεπτα"
-      x_seconds:
-        one: "1 δευτερόλεπτο"
-        other: "%{count} δευτερόλεπτα"
-      less_than_x_minutes:
-        one: "λιγότερο από ένα λεπτό"
-        other: "λιγότερο από %{count} λεπτά"
-      x_minutes:
-        one: "1 λεπτό"
-        other: "%{count} λεπτά"
-      about_x_hours:
-        one: "περίπου μία ώρα"
-        other: "περίπου %{count} ώρες"
-      x_days:
-        one: "1 μέρα"
-        other: "%{count} μέρες"
-      about_x_months:
-        one: "περίπου ένα μήνα"
-        other: "περίπου %{count} μήνες"
-      x_months:
-        one: "1 μήνα"
-        other: "%{count} μήνες"
-      about_x_years:
-        one: "περίπου ένα χρόνο"
-        other: "περίπου %{count} χρόνια"
-      over_x_years:
-        one: "πάνω από ένα χρόνο"
-        other: "πάνω από %{count} χρόνια"
-      almost_x_years:
-        one:   "σχεδόν ένα χρόνο"
-        other: "σχεδόν %{count} χρόνια"
-    prompts:
-      year: "Έτος"
-      month: "Μήνας"
-      day: "Ημέρα"
-      hour: "Ώρα"
-      minute: "Λεπτό"
-      second: "Δευτερόλεπτο"
-
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: '%n %u'
-        unit: '€'
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "byte"
-            other: "bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "χίλια"
-          million: "εκατομμύριο"
-          billion: "δισεκατομμύριο"
-          trillion: "τρισεκατομμύριο"
-          quadrillion: "τετρακις εκατομμύριο"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " και "
-      last_word_connector: " και "
-
-    select:
-      prompt: "Παρακαλώ επιλέξτε"
-
-  helpers:
-    select:
-      prompt: "Παρακαλώ επιλέξτε"
-
-    submit:
-      create: 'Δημιουργήστε %{model}'
-      update: 'Ενημερώστε %{model}'
-      submit: 'Αποθηκεύστε %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "δεν συμπεριλαμβάνεται στη λίστα"
-      exclusion: "είναι δεσμευμένο"
-      invalid: "είναι άκυρο"
-      confirmation: "δεν ταιριάζει με την επικύρωση"
-      accepted: "πρέπει να είναι αποδεκτό"
-      empty: "δεν πρέπει να είναι άδειο"
-      blank: "δεν πρέπει να είναι κενό"
-      too_long: "είναι πολύ μεγάλο (το μέγιστο μήκος είναι %{count} χαρακτήρες)"
-      too_short: "είναι πολύ μικρό (το μικρότερο μήκος είναι %{count} χαρακτήρες)"
-      wrong_length: "έχει λανθασμένο μήκος (πρέπει να είναι %{count} χαρακτήρες)"
-      not_a_number: "δεν είναι ένας αριθμός"
-      not_an_integer: "πρέπει να είναι ακέραιος αριθμός"
-      greater_than: "πρέπει να είναι μεγαλύτερο από %{count}"
-      greater_than_or_equal_to: "πρέπει να είναι μεγαλύτερο ή ίσο με %{count}"
-      equal_to: "πρέπει να είναι ίσο με %{count}"
-      less_than: "πρέπει να είναι λιγότερο από %{count}"
-      less_than_or_equal_to: "πρέπει να είναι λιγότερο ή ίσο με %{count}"
-      odd: "πρέπει να είναι περιττός"
-      even: "πρέπει να είναι άρτιος"
-      taken: "το έχουν ήδη χρησιμοποιήσει"
-      record_invalid: "Επικύρωση απέτυχε: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 λάθος εμπόδισε αυτό το %{model} να αποθηκευθεί."
-        other: "%{count} λάθη εμπόδισαν αυτό το %{model} να αποθηκευθεί."
-      body: "Υπήρξαν προβλήματα με τα ακόλουθα πεδία:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/en-AU.yml b/vendor/rails-locales/en-AU.yml
deleted file mode 100644 (file)
index af31e4a..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-# Australian English translations for Ruby on Rails
-
-"en-AU":
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - Sunday
-      - Monday
-      - Tuesday
-      - Wednesday
-      - Thursday
-      - Friday
-      - Saturday
-    abbr_day_names:
-      - Sun
-      - Mon
-      - Tue
-      - Wed
-      - Thu
-      - Fri
-      - Sat
-
-    month_names:
-      - ~
-      - January
-      - February
-      - March
-      - April
-      - May
-      - June
-      - July
-      - August
-      - September
-      - October
-      - November
-      - December
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Oct
-      - Nov
-      - Dec
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " and "
-      last_word_connector: ", and "
-
-    select:
-      prompt: "Please select"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Thousand
-          million: Million
-          billion: Billion
-          trillion: Trillion
-          quadrillion: Quadrillion
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "half a minute"
-      less_than_x_seconds:
-        one:   "less than 1 second"
-        other: "less than %{count} seconds"
-      x_seconds:
-        one:   "1 second"
-        other: "%{count} seconds"
-      less_than_x_minutes:
-        one:   "less than a minute"
-        other: "less than %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "about 1 hour"
-        other: "about %{count} hours"
-      x_days:
-        one:   "1 day"
-        other: "%{count} days"
-      about_x_months:
-        one:   "about 1 month"
-        other: "about %{count} months"
-      x_months:
-        one:   "1 month"
-        other: "%{count} months"
-      about_x_years:
-        one:   "about 1 year"
-        other: "about %{count} years"
-      over_x_years:
-        one:   "over 1 year"
-        other: "over %{count} years"
-      almost_x_years:
-        one:   "almost 1 year"
-        other: "almost %{count} years"
-    prompts:
-      year:   "Year"
-      month:  "Month"
-      day:    "Day"
-      hour:   "Hour"
-      minute: "Minute"
-      second: "Seconds"
-
-  helpers:
-    select:
-      prompt: "Please select"
-
-    submit:
-      create: 'Create %{model}'
-      update: 'Update %{model}'
-      submit: 'Save %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "is not included in the list"
-      exclusion: "is reserved"
-      invalid: "is invalid"
-      confirmation: "doesn't match confirmation"
-      accepted: "must be accepted"
-      empty: "can't be empty"
-      blank: "can't be blank"
-      too_long:
-        one: "is too long (maximum is 1 character)"
-        other: "is too long (maximum is %{count} characters)"
-      too_short:
-        one: "is too short (minimum is 1 character)"
-        other: "is too short (minimum is %{count} characters)"
-      wrong_length:
-        one: "is the wrong length (should be 1 character)"
-        other: "is the wrong length (should be %{count} characters)"
-      not_a_number: "is not a number"
-      not_an_integer: "must be an integer"
-      greater_than: "must be greater than %{count}"
-      greater_than_or_equal_to: "must be greater than or equal to %{count}"
-      equal_to: "must be equal to %{count}"
-      less_than: "must be less than %{count}"
-      less_than_or_equal_to: "must be less than or equal to %{count}"
-      odd: "must be odd"
-      even: "must be even"
-      taken: "has already been taken"
-      record_invalid: "Validation failed: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 error prohibited this %{model} from being saved"
-        other: "%{count} errors prohibited this %{model} from being saved"
-      body: "There were problems with the following fields:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/en-GB.yml b/vendor/rails-locales/en-GB.yml
deleted file mode 100644 (file)
index b13b383..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-# GB English translations for Ruby on Rails
-
-"en-GB":
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B, %Y"
-
-    day_names:
-      - Sunday
-      - Monday
-      - Tuesday
-      - Wednesday
-      - Thursday
-      - Friday
-      - Saturday
-    abbr_day_names:
-      - Sun
-      - Mon
-      - Tue
-      - Wed
-      - Thu
-      - Fri
-      - Sat
-
-    month_names:
-      - ~
-      - January
-      - February
-      - March
-      - April
-      - May
-      - June
-      - July
-      - August
-      - September
-      - October
-      - November
-      - December
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Oct
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " and "
-      last_word_connector: ", and "
-
-    select:
-      prompt: "Please select"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "£"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Thousand
-          million: Million
-          billion: Billion
-          trillion: Trillion
-          quadrillion: Quadrillion
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "half a minute"
-      less_than_x_seconds:
-        one:   "less than 1 second"
-        other: "less than %{count} seconds"
-      x_seconds:
-        one:   "1 second"
-        other: "%{count} seconds"
-      less_than_x_minutes:
-        one:   "less than a minute"
-        other: "less than %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "about 1 hour"
-        other: "about %{count} hours"
-      x_days:
-        one:   "1 day"
-        other: "%{count} days"
-      about_x_months:
-        one:   "about 1 month"
-        other: "about %{count} months"
-      x_months:
-        one:   "1 month"
-        other: "%{count} months"
-      about_x_years:
-        one:   "about 1 year"
-        other: "about %{count} years"
-      over_x_years:
-        one:   "over 1 year"
-        other: "over %{count} years"
-      almost_x_years:
-        one:   "almost 1 year"
-        other: "almost %{count} years"
-    prompts:
-      year:   "Year"
-      month:  "Month"
-      day:    "Day"
-      hour:   "Hour"
-      minute: "Minute"
-      second: "Seconds"
-
-  helpers:
-    select:
-      prompt: "Please select"
-
-    submit:
-      create: 'Create %{model}'
-      update: 'Update %{model}'
-      submit: 'Save %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "is not included in the list"
-      exclusion: "is reserved"
-      invalid: "is invalid"
-      confirmation: "doesn't match confirmation"
-      accepted: "must be accepted"
-      empty: "can't be empty"
-      blank: "can't be blank"
-      too_long:
-        one: "is too long (maximum is 1 character)"
-        other: "is too long (maximum is %{count} characters)"
-      too_short:
-        one: "is too short (minimum is 1 character)"
-        other: "is too short (minimum is %{count} characters)"
-      wrong_length:
-        one: "is the wrong length (should be 1 character)"
-        other: "is the wrong length (should be %{count} characters)"
-      not_a_number: "is not a number"
-      not_an_integer: "must be an integer"
-      greater_than: "must be greater than %{count}"
-      greater_than_or_equal_to: "must be greater than or equal to %{count}"
-      equal_to: "must be equal to %{count}"
-      less_than: "must be less than %{count}"
-      less_than_or_equal_to: "must be less than or equal to %{count}"
-      odd: "must be odd"
-      even: "must be even"
-      taken: "has already been taken"
-      record_invalid: "Validation failed: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 error prohibited this %{model} from being saved"
-        other: "%{count} errors prohibited this %{model} from being saved"
-      body: "There were problems with the following fields:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/en-IN.yml b/vendor/rails-locales/en-IN.yml
deleted file mode 100644 (file)
index 8d33068..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-# Indian translations for Ruby on Rails
-# by Saurabh Bhatia
-
-"en-IN":
-  date:
-    formats:
-      default: "%d %B %Y"
-      long: "%A, %d %B %Y"
-      short: "%d.%m.%Y"
-
-    day_names:
-      - Sunday
-      - Monday
-      - Tuesday
-      - Wednesday
-      - Thursday
-      - Friday
-      - Saturday
-    abbr_day_names:
-      - Sun
-      - Mon
-      - Tue
-      - Wed
-      - Thu
-      - Fri
-      - Sat
-    month_names:
-      - ~
-      - January
-      - February
-      - March
-      - April
-      - May
-      - June
-      - July
-      - August
-      - September
-      - October
-      - November
-      - December
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H.%M.%S %z"
-      short: "%d %b %H.%M"
-      long: "%d %B %Y %H.%M"
-    am: "am"
-    pm: "pm"
-
-  number:
-    format:
-      delimiter: "."
-      separator: ","
-      precision: 2
-
-    currency:
-      format:
-        format: "%n. %u"
-        unit: "₹"
-        separator: ","
-        delimiter: "."
-        precision: 2
-
-    percentage:
-      format:
-      delimiter: "."
-      separator: ","
-      precision: 2
-
-    precision:
-      format:
-      delimiter: "."
-      separator: ","
-
-    human:
-      format:
-      delimiter: "."
-      separator: ","
-      precision: 1
-      storage_units:
-        - Byte
-        - KB
-        - MB
-        - GB
-        - TB
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "setengah menit"
-      less_than_x_seconds:
-        zero:  "kurang dari 1 detik"
-        one:   "kurang dari 1 detik"
-        other: "kurang dari %{count} detik"
-      x_seconds:
-        one:   "satu detik"
-        other: "%{count} detik"
-      less_than_x_minutes:
-        zero:  "kurang dari 1 menit"
-        one:   "kurang dari 1 menit"
-        other: "kurang dari  %{count} menit"
-      x_minutes:
-        one:   "satu menit"
-        other: "%{count} menit"
-      about_x_hours:
-        one:   "sekitar satu jam"
-        other: "sekitar %{count} jam"
-      x_days:
-        one:   "sehari"
-        other: "%{count} hari"
-      about_x_months:
-        one:   "sekitar sebulan"
-        other: "sekitar %{count} bulan"
-      x_months:
-        one:   "sebulan"
-        other: "%{count} bulan"
-      about_x_years:
-        one:   "setahun"
-        other: "noin %{count} tahun"
-      over_x_years:
-        one:   "lebih dari setahun"
-        other: "lebih dari %{count} tahun"
-      almost_x_years:
-        one:   "hampir setahun"
-        other: "hampir %{count} tahun"
-    prompts:
-      year:   "Tahun"
-      month:  "Bulan"
-      day:    "Hari"
-      hour:   "Jam"
-      minute: "Menit"
-      second: "Detik"
-
-  helpers:
-    select:
-      prompt: "Silahkan pilih"
-
-    submit:
-      create: 'Buat %{model}'
-      update: 'Update %{model}'
-      submit: 'Simpan %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "tidak termasuk"
-      exclusion: "sudah digunakan"
-      invalid: "tidak valid"
-      confirmation: "tidak sesuai dengan konfirmasi"
-      accepted: "harus diterima"
-      empty: "tidak bisa kosong"
-      blank: "tidak bisa kosong"
-      too_long: "terlalu panjang (maksimum %{count} karakter)"
-      too_short: "terlalu pendek (minimum %{count} karakter)"
-      wrong_length: "jumlah karakter salah (seharusnya %{count} karakter)"
-      taken: "sudah digunakan"
-      not_a_number: "bukan angka"
-      greater_than: "harus lebih besar dari %{count}"
-      greater_than_or_equal_to: "harus sama atau lebih besar dari %{count}"
-      equal_to: "harus sama dengan %{count}"
-      less_than: "harus lebih kecil dari %{count}"
-      less_than_or_equal_to: "harus sama atau lebih kecil dari %{count}"
-      odd: "harus ganjil"
-      even: "harus genap"
-      record_invalid: "Verifikasi gagal: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
-        other: "%{count} kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
-      body: "Ada masalah dengan field berikut:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "Rp"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Byte"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Ribu
-          million: Juta
-          billion: Miliar
-          trillion: Triliun
-          quadrillion: Quadriliun
diff --git a/vendor/rails-locales/en-US.yml b/vendor/rails-locales/en-US.yml
deleted file mode 100644 (file)
index 1749288..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# US English translations for Ruby on Rails
-#
-# Use this as the base for the locale file of your language.
-
-"en-US":
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - Sunday
-      - Monday
-      - Tuesday
-      - Wednesday
-      - Thursday
-      - Friday
-      - Saturday
-    abbr_day_names:
-      - Sun
-      - Mon
-      - Tue
-      - Wed
-      - Thu
-      - Fri
-      - Sat
-
-    month_names:
-      - ~
-      - January
-      - February
-      - March
-      - April
-      - May
-      - June
-      - July
-      - August
-      - September
-      - October
-      - November
-      - December
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Oct
-      - Nov
-      - Dec
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " and "
-      last_word_connector: ", and "
-
-    select:
-      prompt: "Please select"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Thousand
-          million: Million
-          billion: Billion
-          trillion: Trillion
-          quadrillion: Quadrillion
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "half a minute"
-      less_than_x_seconds:
-        one:   "less than 1 second"
-        other: "less than %{count} seconds"
-      x_seconds:
-        one:   "1 second"
-        other: "%{count} seconds"
-      less_than_x_minutes:
-        one:   "less than a minute"
-        other: "less than %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "about 1 hour"
-        other: "about %{count} hours"
-      x_days:
-        one:   "1 day"
-        other: "%{count} days"
-      about_x_months:
-        one:   "about 1 month"
-        other: "about %{count} months"
-      x_months:
-        one:   "1 month"
-        other: "%{count} months"
-      about_x_years:
-        one:   "about 1 year"
-        other: "about %{count} years"
-      over_x_years:
-        one:   "over 1 year"
-        other: "over %{count} years"
-      almost_x_years:
-        one:   "almost 1 year"
-        other: "almost %{count} years"
-    prompts:
-      year:   "Year"
-      month:  "Month"
-      day:    "Day"
-      hour:   "Hour"
-      minute: "Minute"
-      second: "Seconds"
-
-  helpers:
-    select:
-      prompt: "Please select"
-
-    submit:
-      create: 'Create %{model}'
-      update: 'Update %{model}'
-      submit: 'Save %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "is not included in the list"
-      exclusion: "is reserved"
-      invalid: "is invalid"
-      confirmation: "doesn't match confirmation"
-      accepted: "must be accepted"
-      empty: "can't be empty"
-      blank: "can't be blank"
-      too_long:
-        one: "is too long (maximum is 1 character)"
-        other: "is too long (maximum is %{count} characters)"
-      too_short:
-        one: "is too short (minimum is 1 character)"
-        other: "is too short (minimum is %{count} characters)"
-      wrong_length:
-        one: "is the wrong length (should be 1 character)"
-        other: "is the wrong length (should be %{count} characters)"
-      not_a_number: "is not a number"
-      not_an_integer: "must be an integer"
-      greater_than: "must be greater than %{count}"
-      greater_than_or_equal_to: "must be greater than or equal to %{count}"
-      equal_to: "must be equal to %{count}"
-      less_than: "must be less than %{count}"
-      less_than_or_equal_to: "must be less than or equal to %{count}"
-      odd: "must be odd"
-      even: "must be even"
-      taken: "has already been taken"
-      record_invalid: "Validation failed: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 error prohibited this %{model} from being saved"
-        other: "%{count} errors prohibited this %{model} from being saved"
-      body: "There were problems with the following fields:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/eo.yml b/vendor/rails-locales/eo.yml
deleted file mode 100644 (file)
index f3196e2..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-# Esperanto translations for Ruby on Rails.
-# Contributors:
-# - Emmanuel Debanne (https://github.com/debanne)
-
-eo:
-  date:
-    formats:
-      default: "%Y/%m/%d"
-      short: "%e %b"
-      long: "%e %B %Y"
-
-    day_names:
-      - dimanĉo
-      - lundo
-      - mardo
-      - merkredo
-      - ĵaŭdo
-      - vendredo
-      - sabato
-    abbr_day_names:
-      - dim
-      - lun
-      - mar
-      - mer
-      - ĵaŭ
-      - ven
-      - sam
-    month_names:
-      - ~
-      - januaro
-      - februaro
-      - marto
-      - aprilo
-      - majo
-      - junio
-      - julio
-      - aŭgusto
-      - septembro
-      - oktobro
-      - novembro
-      - decembro
-    abbr_month_names:
-      - ~
-      - jan.
-      - feb.
-      - mar.
-      - apr.
-      - majo
-      - jun.
-      - jul.
-      - aŭg.
-      - sep.
-      - okt.
-      - nov.
-      - dec.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%d %B %Y %H:%M:%S"
-      short: "%d %b %H:%M"
-      long: "%A %d %B %Y %H:%M"
-    am: 'am'
-    pm: 'pm'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "duona minuto"
-      less_than_x_seconds:
-        zero: "malpli ol unu sekundo"
-        one: "malpli ol unu sekundo"
-        other: "malpli ol %{count} sekundoj"
-      x_seconds:
-        one: "1 sekundo"
-        other: "%{count} sekundoj"
-      less_than_x_minutes:
-        zero: "malpli ol unu minuto"
-        one: "malpli ol unu minuto"
-        other: "malpli ol %{count} minutoj"
-      x_minutes:
-        one: "1 minuto"
-        other: "%{count} minutoj"
-      about_x_hours:
-        one: "ĉirkaŭ unu horo"
-        other: "ĉirkaŭ %{count} horoj"
-      x_days:
-        one: "1 tago"
-        other: "%{count} tagoj"
-      about_x_months:
-        one: "ĉirkaŭ unu monato"
-        other: "ĉirkaŭ %{count} monatoj"
-      x_months:
-        one: "1 monato"
-        other: "%{count} monatoj"
-      about_x_years:
-        one: "ĉirkaŭ uno jaro"
-        other: "ĉirkaŭ %{count} jaroj"
-      over_x_years:
-        one: "pli ol unu jaro"
-        other: "pli ol %{count} jaroj"
-      almost_x_years:
-        one:   "preskaŭ unu jaro"
-        other: "preskaŭ %{count} jaroj"
-    prompts:
-      year: "Jaro"
-      month: "Monato"
-      day: "Tago"
-      hour: "Horo"
-      minute: "Minuto"
-      second: "Sekundo"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "bitoko"
-            other: "bitokoj"
-          kb: "kb"
-          mb: "Mb"
-          gb: "Gb"
-          tb: "Tb"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "miliono"
-          billion: "miliardo"
-          trillion: "mil miliardoj"
-          quadrillion: "miliono da miliardoj"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " kaj "
-      last_word_connector: " kaj "
-    select:
-      prompt: "Bonvolu elekti"
-
-  helpers:
-    select:
-      prompt: "Bonvolu elekti"
-    submit:
-      create: "Krei %{model}"
-      update: "Modifi tiun %{model}"
-      submit: "Registri tiun %{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "ne estas inkluzivita de la listo"
-      exclusion: "ne estas disponebla"
-      invalid: "estas nevalida"
-      confirmation: "ne kongruas kun la konfirmo"
-      accepted: "devas esti akceptita"
-      empty: "devas esti kompletigita"
-      blank: "devas esti kompletigita"
-      too_long: "estas tro longa (maksimume %{count} karekteroj)"
-      too_short: "estas tro mallonga (minimume %{count} karakteroj)"
-      wrong_length: "ne estas je ĝusta longo (devas enhavi %{count} karakterojn)"
-      not_a_number: "ne estas nombro"
-      not_an_integer: "devas esti entjero"
-      greater_than: "devas superi %{count}"
-      greater_than_or_equal_to: "devas superi aŭ egali %{count}"
-      equal_to: "devas egali %{count}"
-      less_than: "devas malsuperi %{count}"
-      less_than_or_equal_to: "devas malsuperi aŭ egali %{count}"
-      odd: "devas esti nepara"
-      even: "devas esti para"
-      taken: "ne estas disponebla"
-      record_invalid: "Validado malsukcesis: %{errors}"
-    template: &errors_template
-      header:
-        one: "Ne eblas registri tiun %{model}: 1 eraro"
-        other: "Ne eblas registri tiun %{model}: %{count} eraroj"
-      body: "Kontrolu la jenajn kampojn: "
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/es-AR.yml b/vendor/rails-locales/es-AR.yml
deleted file mode 100644 (file)
index 62de4c8..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-es-AR:
-  number:
-    percentage:
-      format:
-        delimiter: ","
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    format:
-      delimiter: ","
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-      separator: "."
-    human:
-      format:
-        delimiter: ","
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "millón"
-          billion: "mil millones"
-          trillion: "billón"
-          quadrillion: "mil billones"
-    precision:
-      format:
-        delimiter: ","
-
-  date:
-    order:
-      - :day
-      - :month
-      - :year
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    formats:
-      short: "%d de %b"
-      default: "%d/%m/%Y"
-      long: "%A, %d de %B de %Y"
-  time:
-    formats:
-      short: "%d de %b a las %H:%M hrs"
-      default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
-      long: "%A, %d de %B de %Y a las %I:%M %p"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: " y "
-
-    select:
-      prompt: "Por favor selecciona"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one: "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one: "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one: "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one: "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one: "cerca de 1 hora"
-        other: "cerca de %{count} horas"
-      x_days:
-        one: "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one: "cerca de 1 mes"
-        other: "cerca de %{count} meses"
-      x_months:
-        one: "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        other: "cerca de %{count} años"
-        one: "cerca de 1 año"
-      over_x_years:
-        one: "más de 1 año"
-        other: "más de %{count} años"
-      almost_x_years:
-        one:   "casi 1 año"
-        other: "casi %{count} años"
-    prompts:
-      year: 'Año'
-      month: 'Mes'
-      day: 'Día'
-      hour: 'Hora'
-      minute: 'Minuto'
-      second: 'Segundos'
-
-  helpers:
-    select:
-      prompt: "Por favor selecciona"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no está incluído en la lista"
-      exclusion: "está reservado"
-      invalid: "es inválido"
-      confirmation: "no coincide con la confirmación"
-      blank: "no puede estar en blanco"
-      empty: "no puede estar vacío"
-      not_a_number: "no es un número"
-      not_an_integer: "debe ser un entero"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor o igual que %{count}"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
-      too_short:
-        one: "es demasiado corto (mínimo 1 caracter)"
-        other: "es demasiado corto (mínimo %{count} caracteres)"
-      too_long:
-        one: "es demasiado largo (máximo 1 caracter)"
-        other: "es demasiado largo (máximo %{count} caracteres)"
-      equal_to: "debe ser igual a %{count}"
-      wrong_length:
-        one: "longitud errónea (debe ser de 1 caracter)"
-        other: "longitud errónea (debe ser de %{count} caracteres)"
-      accepted: "debe ser aceptado"
-      even: "debe ser un número par"
-      odd: "debe ser un número non"
-      taken: "ya ha sido tomado"
-      record_invalid: "La validación falló: %{errors}"
-    template: &errors_template
-      header:
-        one: "%{model} no pudo guardarse debido a 1 error"
-        other: "%{model} no pudo guardarse debido a %{count} errores"
-      body: "Revise que los siguientes campos sean válidos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/es-CL.yml b/vendor/rails-locales/es-CL.yml
deleted file mode 100644 (file)
index 618fe14..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# Spanish translations for Rails as spoken in Chile
-# Based in the original Spanish translation by Francisco Fernando García Nieto
-# and Tsutomu Kuroda
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-es-CL:
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%d de %b"
-      long: "%A %d de %B de %Y"
-
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d de %B de %Y %H:%M:%S %z"
-      short: "%d de %b %H:%M"
-      long: "%A %d de %B de %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: ", y "
-
-    select:
-      prompt: "Por favor seleccione"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u %n"
-        unit: "$"
-        separator: ","
-        delimiter: "."
-        precision: 0
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "millón"
-          billion: "mil millones"
-          trillion: "billón"
-          quadrillion: "mil billones"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one:  "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one:  "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one:  "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one:  "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one:  "alrededor de 1 hora"
-        other: "alrededor de %{count} horas"
-      x_days:
-        one:  "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one:  "alrededor de 1 mes"
-        other: "alrededor de %{count} meses"
-      x_months:
-        one:  "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        one:  "alrededor de 1 año"
-        other: "alrededor de %{count} años"
-      over_x_years:
-        one:  "más de 1 año"
-        other: "más de %{count} años"
-      almost_x_years:
-        one: "casi 1 año"
-        other: "casi %{count} años"
-    prompts:
-      year:   "Año"
-      month:  "Mes"
-      day:    "Día"
-      hour:   "Hora"
-      minute: "Minutos"
-      second: "Segundos"
-
-  helpers:
-    select:
-      prompt: "Por favor seleccione"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no está incluido en la lista"
-      exclusion: "está reservado"
-      invalid: "no es válido"
-      confirmation: "no coincide con la confirmación"
-      accepted: "debe ser aceptado"
-      empty: "no puede estar vacío"
-      blank: "no puede estar en blanco"
-      too_long: "es demasiado largo (%{count} caracteres máximo)"
-      too_short: "es demasiado corto (%{count} caracteres mínimo)"
-      wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
-      not_a_number: "no es un número"
-      not_an_integer: "debe ser un entero"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
-      equal_to: "debe ser igual a %{count}"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor que o igual a %{count}"
-      odd: "debe ser impar"
-      even: "debe ser par"
-      taken: "ya está en uso"
-      record_invalid: "La validación falló: %{errors}"
-    template: &errors_template
-      header:
-        one:   "No se pudo guardar este/a %{model} porque se encontró 1 error"
-        other:  "No se pudo guardar este/a %{model} porque se encontraron %{count} errores"
-      body: "Se encontraron problemas con los siguientes campos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/es-CO.yml b/vendor/rails-locales/es-CO.yml
deleted file mode 100644 (file)
index d058f51..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Spanish as spoken in Colombia (es-CO) translations for Rails
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-es-CO:
-  number:
-    percentage:
-      format:
-        delimiter: ","
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 0
-        significant: false
-        strip_insignificant_zeros: false
-    format:
-      delimiter: ","
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-      separator: "."
-    human:
-      format:
-        delimiter: ","
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "millón"
-          billion: "mil millones"
-          trillion: "billón"
-          quadrillion: "mil billones"
-    precision:
-      format:
-        delimiter: ","
-
-  date:
-    order:
-      - :day
-      - :month
-      - :year
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    formats:
-      short: "%d de %b"
-      default: "%d/%m/%Y"
-      long: "%A, %d de %B de %Y"
-  time:
-    formats:
-      short: "%d de %b a las %H:%M hrs"
-      default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
-      long: "%A, %d de %B de %Y a las %I:%M %p"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: " y "
-
-    select:
-      prompt: "Por favor selecciona"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one: "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one: "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one: "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one: "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one: "cerca de 1 hora"
-        other: "cerca de %{count} horas"
-      x_days:
-        one: "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one: "cerca de 1 mes"
-        other: "cerca de %{count} meses"
-      x_months:
-        one: "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        other: "cerca de %{count} años"
-        one: "cerca de 1 año"
-      over_x_years:
-        one: "más de 1 año"
-        other: "más de %{count} años"
-      almost_x_years:
-        one:   "casi 1 año"
-        other: "casi %{count} años"
-    prompts:
-      year: 'Año'
-      month: 'Mes'
-      day: 'Día'
-      hour: 'Hora'
-      minute: 'Minuto'
-      second: 'Segundos'
-
-  helpers:
-    select:
-      prompt: "Por favor selecciona"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no está incluído en la lista"
-      exclusion: "está reservado"
-      invalid: "es inválido"
-      confirmation: "no coincide con la confirmación"
-      blank: "no puede estar en blanco"
-      empty: "no puede estar vacío"
-      not_a_number: "no es un número"
-      not_an_integer: "debe ser un entero"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor o igual que %{count}"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
-      too_short:
-        one: "es demasiado corto (mínimo 1 caracter)"
-        other: "es demasiado corto (mínimo %{count} caracteres)"
-      too_long:
-        one: "es demasiado largo (máximo 1 caracter)"
-        other: "es demasiado largo (máximo %{count} caracteres)"
-      equal_to: "debe ser igual a %{count}"
-      wrong_length:
-        one: "longitud errónea (debe ser de 1 caracter)"
-        other: "longitud errónea (debe ser de %{count} caracteres)"
-      accepted: "debe ser aceptado"
-      even: "debe ser un número par"
-      odd: "debe ser un número impar"
-      taken: "ya ha sido tomado"
-      record_invalid: "La validación falló: %{errors}"
-
-    template: &errors_template
-      header:
-        one: "%{model} no pudo guardarse debido a 1 error"
-        other: "%{model} no pudo guardarse debido a %{count} errores"
-      body: "Revise que los siguientes campos sean válidos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/es-MX.yml b/vendor/rails-locales/es-MX.yml
deleted file mode 100644 (file)
index 4f01b04..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-# Spanish as spoken in Mexico (es-MX) translations for Rails
-# by Edgar J. Suárez (edgar.js@gmail.com)
-# Fixed currency format (Can't convert string to symbol)
-# by Ivan Torres (mexpolk@gmail.com)
-# Added datetime / prompts for time_select helper
-# by Daniel Roux ( daniel.roux@gmail.com)
-# Added missing translations for Rails 2 and 3
-# by Carlos González ( carlosdavid.gonzalez@gmail.com)
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-es-MX:
-  number:
-    percentage:
-      format:
-        delimiter: ","
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    format:
-      delimiter: ","
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-      separator: "."
-    human:
-      format:
-        delimiter: ","
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "millón"
-          billion: "mil millones"
-          trillion: "billón"
-          quadrillion: "mil billones"
-    precision:
-      format:
-        delimiter: ","
-
-  date:
-    order:
-      - :day
-      - :month
-      - :year
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    formats:
-      short: "%d de %b"
-      default: "%d/%m/%Y"
-      long: "%A, %d de %B de %Y"
-  time:
-    formats:
-      short: "%d de %b a las %H:%M hrs"
-      default: "%a, %d de %b de %Y a las %H:%M:%S %Z"
-      long: "%A, %d de %B de %Y a las %I:%M %p"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: " y "
-
-    select:
-      prompt: "Por favor selecciona"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one: "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one: "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one: "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one: "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one: "cerca de 1 hora"
-        other: "cerca de %{count} horas"
-      x_days:
-        one: "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one: "cerca de 1 mes"
-        other: "cerca de %{count} meses"
-      x_months:
-        one: "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        other: "cerca de %{count} años"
-        one: "cerca de 1 año"
-      over_x_years:
-        one: "más de 1 año"
-        other: "más de %{count} años"
-      almost_x_years:
-        one:   "casi 1 año"
-        other: "casi %{count} años"
-    prompts:
-      year: 'Año'
-      month: 'Mes'
-      day: 'Día'
-      hour: 'Hora'
-      minute: 'Minuto'
-      second: 'Segundos'
-
-  helpers:
-    select:
-      prompt: "Por favor selecciona"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no está incluído en la lista"
-      exclusion: "está reservado"
-      invalid: "es inválido"
-      confirmation: "no coincide con la confirmación"
-      blank: "no puede estar en blanco"
-      empty: "no puede estar vacío"
-      not_a_number: "no es un número"
-      not_an_integer: "debe ser un entero"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor o igual que %{count}"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
-      too_short:
-        one: "es demasiado corto (mínimo 1 caracter)"
-        other: "es demasiado corto (mínimo %{count} caracteres)"
-      too_long:
-        one: "es demasiado largo (máximo 1 caracter)"
-        other: "es demasiado largo (máximo %{count} caracteres)"
-      equal_to: "debe ser igual a %{count}"
-      wrong_length:
-        one: "longitud errónea (debe ser de 1 caracter)"
-        other: "longitud errónea (debe ser de %{count} caracteres)"
-      accepted: "debe ser aceptado"
-      even: "debe ser un número par"
-      odd: "debe ser un número non"
-      taken: "ya ha sido tomado"
-      record_invalid: "La validación falló: %{errors}"
-    template: &errors_template
-      header:
-        one: "%{model} no pudo guardarse debido a 1 error"
-        other: "%{model} no pudo guardarse debido a %{count} errores"
-      body: "Revise que los siguientes campos sean válidos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/es-PE.yml b/vendor/rails-locales/es-PE.yml
deleted file mode 100644 (file)
index 772721d..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-# Spanish as spoken in Perú (es-PE) translations for Rails
-# by Peter Baker (pcbaker@gmail.com)
-# modificado por CCP
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-es-PE:
-  number:
-    percentage:
-      format:
-        delimiter: ","
-    currency:
-      format: # Nuevos Soles
-        format: "%u%n"
-        unit: "S./"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    format:
-      delimiter: ","
-      precision: 2
-      separator: "."
-      significant: false
-      strip_insignificant_zeros: false
-    human:
-      format:
-        delimiter: ","
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-    precision:
-      format:
-        delimiter: ","
-
-  date:
-    order:
-      - :day
-      - :month
-      - :year
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    formats:
-      short: "%d de %b"
-      default: "%d/%m/%Y"
-      long: "%A, %d de %B del %Y"
-  time:
-    formats:
-      short: "%d de %b a las %H:%M hrs"
-      default: "%a, %d de %b del %Y a las %H:%M:%S %Z"
-      long: "%A, %d de %B del %Y a las %I:%M %p"
-    am: "am"
-    pm: "pm"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one: "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one: "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one: "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one: "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one: "cerca de 1 hora"
-        other: "cerca de %{count} horas"
-      x_days:
-        one: "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one: "cerca de 1 mes"
-        other: "cerca de %{count} meses"
-      x_months:
-        one: "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        other: "cerca de %{count} años"
-        one: "cerca de 1 año"
-      over_x_years:
-        one: "más de 1 año"
-        other: "más de %{count} años"
-    prompts:
-      hour: 'Hora'
-      minute: 'Minuto'
-      second: 'Segundo'
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one: "%{model} no pudo guardarse debido a 1 error"
-        other: "%{model} no pudo guardarse debido a %{count} errores"
-      body: "Revise que los siguientes campos sean válidos:"
-    messages: &errors_messages
-      record_invalid: "Falla de validación: %{errors}"
-      inclusion: "no está incluído en la lista"
-      exclusion: "está reservado"
-      invalid: "es inválido"
-      confirmation: "no coincide con la confirmación"
-      accepted: "debe ser aceptado"
-      blank: "no puede estar en blanco"
-      empty: "no puede estar vacío"
-      not_a_number: "no es un número"
-      taken: "ya ha sido tomado"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor o igual que %{count}"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor o igual que %{count}"
-      too_short:
-        one: "es demasiado corto (mínimo 1 caracter)"
-        other: "es demasiado corto (mínimo %{count} caracteres)"
-      too_long:
-        one: "es demasiado largo (máximo 1 caracter)"
-        other: "es demasiado largo (máximo %{count} caracteres)"
-      equal_to: "debe ser igual a %{count}"
-      wrong_length:
-        one: "longitud errónea (debe ser de 1 caracter)"
-        other: "longitud errónea (debe ser de %{count} caracteres)"
-      even: "debe ser un número par"
-      odd: "debe ser un número non"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/es.yml b/vendor/rails-locales/es.yml
deleted file mode 100644 (file)
index 80df027..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-# Spanish translations for Rails
-# by Francisco Fernando García Nieto (ffgarcianieto@gmail.com)
-# contributors:
-#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
-# Corrected by Eloy Serra Labán: http://goo.gl/i9Kts, /nQ928, /XfKaX
-
-"es":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%d de %b"
-      long: "%d de %B de %Y"
-
-    day_names:
-      - domingo
-      - lunes
-      - martes
-      - miércoles
-      - jueves
-      - viernes
-      - sábado
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mié
-      - jue
-      - vie
-      - sáb
-
-    month_names:
-      - ~
-      - enero
-      - febrero
-      - marzo
-      - abril
-      - mayo
-      - junio
-      - julio
-      - agosto
-      - septiembre
-      - octubre
-      - noviembre
-      - diciembre
-    abbr_month_names:
-      - ~
-      - ene
-      - feb
-      - mar
-      - abr
-      - may
-      - jun
-      - jul
-      - ago
-      - sep
-      - oct
-      - nov
-      - dic
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d de %B de %Y %H:%M:%S %z"
-      short: "%d de %b %H:%M"
-      long: "%d de %B de %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " y "
-      last_word_connector: ", y "
-
-    select:
-      prompt: "Por favor seleccione"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million: "millón"
-          billion: "mil millones"
-          trillion: "billón"
-          quadrillion: "mil billones"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "medio minuto"
-      less_than_x_seconds:
-        one:  "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one:  "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one:  "menos de 1 minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one:  "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one:  "alrededor de 1 hora"
-        other: "alrededor de %{count} horas"
-      x_days:
-        one:  "1 día"
-        other: "%{count} días"
-      about_x_months:
-        one:  "alrededor de 1 mes"
-        other: "alrededor de %{count} meses"
-      x_months:
-        one:  "1 mes"
-        other: "%{count} meses"
-      about_x_years:
-        one:  "alrededor de 1 año"
-        other: "alrededor de %{count} años"
-      over_x_years:
-        one:  "más de 1 año"
-        other: "más de %{count} años"
-      almost_x_years:
-        one: "casi 1 año"
-        other: "casi %{count} años"
-    prompts:
-      year:   "Año"
-      month:  "Mes"
-      day:    "Día"
-      hour:   "Hora"
-      minute: "Minutos"
-      second: "Segundos"
-
-  helpers:
-    select:
-      prompt: "Por favor seleccione"
-
-    submit:
-      create: 'Crear %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Guardar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "no está incluido en la lista"
-      exclusion: "está reservado"
-      invalid: "no es válido"
-      confirmation: "no coincide con la confirmación"
-      accepted: "debe ser aceptado"
-      empty: "no puede estar vacío"
-      blank: "no puede estar en blanco"
-      too_long: "es demasiado largo (%{count} caracteres máximo)"
-      too_short: "es demasiado corto (%{count} caracteres mínimo)"
-      wrong_length: "no tiene la longitud correcta (%{count} caracteres exactos)"
-      not_a_number: "no es un número"
-      not_an_integer: "debe ser un entero"
-      greater_than: "debe ser mayor que %{count}"
-      greater_than_or_equal_to: "debe ser mayor que o igual a %{count}"
-      equal_to: "debe ser igual a %{count}"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor que o igual a %{count}"
-      odd: "debe ser impar"
-      even: "debe ser par"
-      taken: "ya está en uso"
-      record_invalid: "La validación falló: %{errors}"
-    template: &errors_template
-      header:
-        one:   "No se pudo guardar este/a %{model} porque se encontró 1 error"
-        other:  "No se pudo guardar este/a %{model} porque se encontraron %{count} errores"
-      body: "Se encontraron problemas con los siguientes campos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/et.yml b/vendor/rails-locales/et.yml
deleted file mode 100644 (file)
index 0e1e752..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# Estonian localization for Ruby on Rails 2 and 3
-# by Zahhar Kirillov <zahhar@gmail.com>
-# contributors:
-#  - Mart Karu - http://github.com/martkaru <karu@metal.ee>
-
-et:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d.%m.%y"
-      long: "%d. %B %Y"
-
-    day_names:
-      - pühapäev
-      - esmaspäev
-      - teisipäev
-      - kolmapäev
-      - neljapäev
-      - reede
-      - laupäev
-    abbr_day_names:
-      - P
-      - E
-      - T
-      - K
-      - N
-      - R
-      - L
-
-    month_names:
-      - ~
-      - jaanuar
-      - veebruar
-      - märts
-      - aprill
-      - mai
-      - juuni
-      - juuli
-      - august
-      - september
-      - oktoober
-      - november
-      - detsember
-    abbr_month_names:
-      - ~
-      - jaan.
-      - veebr.
-      - märts
-      - apr.
-      - mai
-      - juuni
-      - juuli
-      - aug.
-      - sept.
-      - okt.
-      - nov.
-      - dets.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%d. %B %Y, %H:%M"
-      short: "%d.%m.%y, %H:%M"
-      long: "%a, %d. %b %Y, %H:%M:%S %z"
-
-    am: "enne lõunat"
-    pm: "pärast lõunat"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " ja "
-      last_word_connector: " ja "
-
-    select:
-      prompt: "Palun vali"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "bait"
-            other: "baiti"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: tuhat
-          million: miljon
-          billion: miljard
-          trillion: triljon
-          quadrillion: kvadriljon
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pool minutit"
-      less_than_x_seconds:
-        one:   "vähem kui %{count} sekund"
-        other: "vähem kui %{count} sekundit"
-      x_seconds:
-        one:   "%{count} sekund"
-        other: "%{count} sekundit"
-      less_than_x_minutes:
-        one:   "vähem kui %{count} minut"
-        other: "vähem kui %{count} minutit"
-      x_minutes:
-        one:   "%{count} minut"
-        other: "%{count} minutit"
-      about_x_hours:
-        one:   "umbes %{count} tund"
-        other: "umbes %{count} tundi"
-      x_days:
-        one:   "%{count} päev"
-        other: "%{count} päeva"
-      about_x_months:
-        one:   "umbes %{count} kuu"
-        other: "umbes %{count} kuud"
-      x_months:
-        one:   "%{count} kuu"
-        other: "%{count} kuud"
-      about_x_years:
-        one:   "umbes %{count} aasta"
-        other: "umbes %{count} aastat"
-      over_x_years:
-        one:   "üle %{count} aasta"
-        other: "üle %{count} aastat"
-      almost_x_years:
-        one:   "peaaegu üks aasta"
-        other: "peaaegu %{count} aastat"
-    prompts:
-      year: "Aasta"
-      month: "Kuu"
-      day: "Päev"
-      hour: "Tunde"
-      minute: "Minutit"
-      second: "Sekundit"
-
-  helpers:
-    select:
-      prompt: "Palun vali"
-
-    submit:
-      create: 'Loo uus %{model}'
-      update: 'Uuenda objekti %{model}'
-      submit: 'Salvesta %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "ei leidu nimekirjas"
-      exclusion: "on reserveeritud"
-      invalid: "ei ole korrektne"
-      confirmation: "ei vasta kinnitusele"
-      accepted: "peab olema heaks kiidetud"
-      empty: "on tühi"
-      blank: "on täitmata"
-      too_long: "on liiga pikk (maksimum on %{count} tähemärki)"
-      too_short: "on liiga lühike (miinimum on %{count} tähemärki)"
-      wrong_length: "on vale pikkusega (peab olema %{count} tähemärki)"
-      not_a_number: "ei ole number"
-      not_an_integer: "peab olema täisarv"
-      greater_than: "ei tohi olla suurem kui %{count}"
-      greater_than_or_equal_to: "peab olema suurem või võrdne arvuga %{count}"
-      equal_to: "peab võrdne arvuga %{count}"
-      less_than: "peab olema vähem kui %{count}"
-      less_than_or_equal_to: "peab olema vähem või võrdne arvuga %{count}"
-      odd: "peab olema paaritu arv"
-      even: "peab olema paarisarv"
-      taken: "on juba võetud"
-      record_invalid: "Valideerimine ebaõnnestus: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Üks viga takistas objekti %{model} salvestamist"
-        other:  "%{count} viga takistasid objekti %{model} salvestamist"
-      body: "Probleeme ilmnes järgmiste väljadega:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/eu.yml b/vendor/rails-locales/eu.yml
deleted file mode 100644 (file)
index 5a0908f..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-# Basque translations for Rails
-# by Esti Alvarez (esti@efaber.net)
-
-
-"eu":
-  date:
-    formats:
-      default: "%Y/%m/%e"
-      short: "%b %e"
-      long: "%Y(e)ko %Bk %e"
-
-    day_names:
-      - Igandea
-      - Astelehena
-      - Asteartea
-      - Asteazkena
-      - Osteguna
-      - Ostirala
-      - Larunbata
-    abbr_day_names:
-      - Igan
-      - Astel
-      - Astear
-      - Asteaz
-      - Oste
-      - Osti
-      - Lar
-
-    month_names:
-      - ~
-      - Urtarrila
-      - Otsaila
-      - Martxoa
-      - Apirila
-      - Maiatza
-      - Ekaina
-      - Uztaila
-      - Abuztua
-      - Iraila
-      - Urria
-      - Azaroa
-      - Abendua
-    abbr_month_names:
-      - ~
-      - Urt
-      - Ots
-      - Mar
-      - Api
-      - Mai
-      - Eka
-      - Uzt
-      - Abu
-      - Ira
-      - Urr
-      - Aza
-      - Aben
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%A, %Y(e)ko %Bren %e %H:%M:%S %z"
-      short: "%b %e, %H:%M"
-      long: "%Y(e)ko %Bren %e,  %H:%M"
-    am: "am"
-    pm: "pm"
-
-  # Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " eta "
-      last_word_connector: " eta "
-
-    select:
-      prompt: "Aukeratu mesedez"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Byte"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Mila"
-          million: "Milioi"
-          billion: "Mila milioi"
-          trillion: "Trilioi"
-          quadrillion: "Kuatrilioi"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "minutu erdi"
-      less_than_x_seconds:
-        one:  "segundu bat baino gutxiago"
-        other: "%{count} segundu baino gutxiago"
-      x_seconds:
-        one:  "segundu bat"
-        other: "%{count} segundu"
-      less_than_x_minutes:
-        one:  "1 minutu bat baino gutxiago"
-        other: "%{count} minutu baino gutxiago"
-      x_minutes:
-        one:  "minutu bat"
-        other: "%{count} minutu"
-      about_x_hours:
-        one:  "ordu bat inguru"
-        other: "%{count} ordu inguru"
-      x_days:
-        one:  "egun bat"
-        other: "%{count} egun"
-      about_x_months:
-        one:  "hilabete bat inguru"
-        other: "%{count} hilabete inguru"
-      x_months:
-        one:  "hilabete bat"
-        other: "%{count} hilabete"
-      about_x_years:
-        one:  "urte bat inguru"
-        other: "%{count} urte inguru"
-      over_x_years:
-        one:  "urte bat baino gehiago"
-        other: "%{count} urte baino gehiago"
-      almost_x_years:
-        one: "ia urte bat"
-        other: "ia %{count} urte"
-    prompts:
-      year:   "Urte"
-      month:  "Hilabete"
-      day:    "Egun"
-      hour:   "Ordu"
-      minute: "Minutu"
-      second: "Segundu"
-
-  helpers:
-    select:
-      prompt: "Mesedez, aukeratu"
-
-    submit:
-      create: '%{model}a eratu'
-      update: '%{model}a eguneratu'
-      submit: '%{model}a gorde'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ez da zerrendako aukera bat"
-      exclusion: "erreserbatuta dago"
-      invalid: "ez da zuzena"
-      confirmation: "ez dator bat konfirmazioarekin"
-      accepted: "onartuta izan behar da"
-      empty: "ezin da hutsik egon"
-      blank: "ezin da zuriz utzi"
-      too_long: "luzeegia da (%{count} karaktere gehienez)"
-      too_short: "laburregia da (%{count} karaktere gutxienez)"
-      wrong_length: "ez du luzeera zuzena (%{count} karaktere izan behar ditu)"
-      not_a_number: "ez da zenbaki bat"
-      not_an_integer: "zenbaki osoa izan behar da"
-      greater_than: "%{count} baino handiagoa izan behar da"
-      greater_than_or_equal_to: "%{count} baino handiago edo berdin izan behar da"
-      equal_to: "%{count} izan behar da"
-      less_than: "%{count} baino txikiago izan behar da"
-      less_than_or_equal_to: "%{count} baino txikiago edo berdin izan behar da"
-      odd: "bakoitia izan behar du"
-      even: "bikoitia izan behar du"
-      taken: "hartuta dago"
-      record_invalid: "Balioztatze arazoa: %{errors}"
-    template: &errors_template
-      header:
-        one:   "Errore batek ezinezkoa egin du %{model} hau gordetzea"
-        other:  "%{count} errorek ezinezkoa egiten dute %{model} hau gordetzea"
-      body: "Arazoak egon dira ondoko eremuekin:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
-
diff --git a/vendor/rails-locales/fa.yml b/vendor/rails-locales/fa.yml
deleted file mode 100644 (file)
index 96b111b..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-# Persian translations for Ruby on Rails
-# by Reza (reza@balatarin.com)
-# Rails 3 update by rbjarnason
-
-"fa":
-  date:
-    formats:
-      default: "%Y/%m/%d"
-      short: "%m/%d"
-      long: "%e %B %Y"
-
-    day_names:
-      - یکشنبه
-      - دوشنبه
-      - سه‌شنبه
-      - چهارشنبه
-      - پنج‌شنبه
-      - جمعه
-      - شنبه
-    abbr_day_names:
-      - ی
-      - د
-      - س
-      - چ
-      - پ
-      - ج
-      - ش
-
-    month_names:
-      - ~
-      - ژانویه
-      - فوریه
-      - مارس
-      - آوریل
-      - مه
-      - ژوئن
-      - ژوئیه
-      - اوت
-      - سپتامبر
-      - اکتبر
-      - نوامبر
-      - دسامبر
-    abbr_month_names:
-      - ~
-      - ژانویه
-      - فوریه
-      - مارس
-      - آوریل
-      - مه
-      - ژوئن
-      - ژوئیه
-      - اوت
-      - سپتامبر
-      - اکتبر
-      - نوامبر
-      - دسامبر
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A، %e %B %Y، ساعت %H:%M:%S (%Z)"
-      short: "%e %B، ساعت %H:%M"
-      long: "%e %B %Y، ساعت %H:%M"
-    am: "قبل از ظهر"
-    pm: "بعد از ظهر"
-
-  support:
-    array:
-      words_connector: "، "
-      two_words_connector: " و "
-      last_word_connector: "، و "
-
-    select:
-      prompt: "لطفا انتخاب کنید"
-
-  number:
-    format:
-      separator: '٫'
-      delimiter: '٬'
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        unit: 'ریال'
-        format: '%n %u'
-        separator: '٫'
-        delimiter: '٬'
-        precision: 0
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "بایت"
-            other: "بایت"
-          kb: "کیلوبایت"
-          mb: "مگابایت"
-          gb: "گیگابایت"
-          tb: "ترابایت"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: هزار
-          million: میلیون
-          billion: بیلیون
-          trillion: تریلیون
-          quadrillion: کادریلیون
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "نیم دقیقه"
-      less_than_x_seconds:
-        one: "۱ ثانیه"
-        other: "کمتر  از %{count} ثانیه"
-      x_seconds:
-        one:  "۱ ثانیه"
-        other: "%{count} ثانیه"
-      less_than_x_minutes:
-        one:  "کمتر از ۱ دقیقه"
-        other: "کمتر از %{count} دقیقه"
-      x_minutes:
-        one:  "۱ دقیقه"
-        other: "%{count} دقیقه"
-      about_x_hours:
-        one:  "حدود ۱ ساعت"
-        other: "حدود %{count} ساعت"
-      x_days:
-        one:  "۱ روز"
-        other: "%{count} روز"
-      about_x_months:
-        one:  "حدود ۱ ماه"
-        other: "حدود %{count} ماه"
-      x_months:
-        one:  "۱ ماه"
-        other: "%{count} ماه"
-      about_x_years:
-        one:  "حدود ۱ سال"
-        other: "حدود %{count} سال"
-      over_x_years:
-        one:  "بیش از ۱ سال"
-        other: "بیش از %{count} سال"
-      almost_x_years:
-        one:   "حدود ۱ سال"
-        other: "حدود %{count} سال"
-    prompts:
-      year:   "سال"
-      month:  "ماه"
-      day:    "روز"
-      hour:   "ساعت"
-      minute: "دقیقه"
-      second: "ثانیه"
-
-  helpers:
-    select:
-      prompt: "لطفا انتخاب کنید"
-
-    submit:
-      create: '%{model} ایجاد'
-      update: '%{model} بروز'
-      submit: '%{model} ذخیره'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "در لیست موجود نیست"
-      exclusion: "رزرو است"
-      invalid: "نامعتبر است"
-      confirmation: "با تایید نمی‌خواند"
-      accepted: "باید پذیرفته شود"
-      empty: "نمی‌تواند خالی باشد"
-      blank: "نباید خالی باشد"
-      too_long: "بلند است (حداکثر %{count} کاراکتر)"
-      too_short: "کوتاه است (حداقل %{count} کاراکتر)"
-      wrong_length: "نااندازه است (باید %{count} کاراکتر باشد)"
-      not_a_number: "عدد نیست"
-      not_an_integer: "عدد صحیح نیست"
-      greater_than: "باید بزرگتر از %{count} باشد"
-      greater_than_or_equal_to: "باید بزرگتر یا برابر %{count} باشد"
-      equal_to: "باید برابر %{count} باشد"
-      less_than: "باید کمتر از %{count} باشد"
-      less_than_or_equal_to: "باید کمتر یا برابر %{count} باشد"
-      odd: "باید فرد باشد"
-      even: "باید زوج باشد"
-      taken: "پیشتر گرفته شده"
-      record_invalid: "رکورد نامعتبر است %{errors}"
-    template: &errors_template
-      header:
-        one: "1 خطا جلوی ذخیره این %{model} را گرفت"
-        other: "%{count} خطا جلوی ذخیره این %{model} را گرفت"
-      body: "موارد زیر مشکل داشت:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/fi.yml b/vendor/rails-locales/fi.yml
deleted file mode 100644 (file)
index 89062df..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-# Finnish translations for Ruby on Rails
-# by Marko Seppä (marko.seppa@gmail.com)
-#
-# corrected by Petri Kivikangas (pkivik@gmail.com)
-# corrected and amended by Niklas Laxström (niklas.laxstrom+rails@gmail.com) 2009
-# Rails 3 conversion by rbjarnason
-
-fi:
-  date:
-    formats:
-      default: "%e. %Bta %Y"
-      long: "%A %e. %Bta %Y"
-      short: "%e.%m.%Y"
-
-    day_names:
-      - sunnuntai
-      - maanantai
-      - tiistai
-      - keskiviikko
-      - torstai
-      - perjantai
-      - lauantai
-    abbr_day_names:
-      - su
-      - ma
-      - ti
-      - ke
-      - to
-      - pe
-      - la
-
-    month_names:
-      - ~
-      - tammikuu
-      - helmikuu
-      - maaliskuu
-      - huhtikuu
-      - toukokuu
-      - kesäkuu
-      - heinäkuu
-      - elokuu
-      - syyskuu
-      - lokakuu
-      - marraskuu
-      - joulukuu
-    abbr_month_names:
-      - ~
-      - tammi
-      - helmi
-      - maalis
-      - huhti
-      - touko
-      - kesä
-      - heinä
-      - elo
-      - syys
-      - loka
-      - marras
-      - joulu
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A %e. %Bta %Y %H:%M:%S %z"
-      short: "%e.%m. %H.%M"
-      long: "%e. %Bta %Y %H.%M"
-    am: "aamupäivä"
-    pm: "iltapäivä"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " ja "
-      last_word_connector: " ja "
-
-    select:
-      prompt: "Valitse"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "tavu"
-            other: "tavua"
-          kb: "kB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tuhatta
-          million: Euroa
-          billion: Miljardia
-          trillion: Biljoona
-          quadrillion: Kvadriljoona
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "puoli minuuttia"
-      less_than_x_seconds:
-        one:   "alle sekunti"
-        other: "alle %{count} sekuntia"
-      x_seconds:
-        one:   "sekunti"
-        other: "%{count} sekuntia"
-      less_than_x_minutes:
-        one:   "alle minuutti"
-        other: "alle %{count} minuuttia"
-      x_minutes:
-        one:   "minuutti"
-        other: "%{count} minuuttia"
-      about_x_hours:
-        one:   "noin tunti"
-        other: "noin %{count} tuntia"
-      x_days:
-        one:   "päivä"
-        other: "%{count} päivää"
-      about_x_months:
-        one:   "noin kuukausi"
-        other: "noin %{count} kuukautta"
-      x_months:
-        one:   "kuukausi"
-        other: "%{count} kuukautta"
-      about_x_years:
-        one:   "vuosi"
-        other: "noin %{count} vuotta"
-      over_x_years:
-        one:   "yli vuosi"
-        other: "yli %{count} vuotta"
-      almost_x_years:
-        one: "melkein yksi vuosi"
-        other: "melkein %{count} vuotta"
-    prompts:
-      year:   "Vuosi"
-      month:  "Kuukausi"
-      day:    "Päivä"
-      hour:   "Tunti"
-      minute: "Minuutti"
-      second: "Sekunti"
-
-  helpers:
-    select:
-      prompt: "Valitse"
-
-    submit:
-      create: 'Luo %{model}'
-      update: 'Päivitä %{model}'
-      submit: 'Tallenna %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ei löydy listasta"
-      exclusion: "on varattu"
-      invalid: "on kelvoton"
-      confirmation: "ei vastaa varmennusta"
-      accepted: "täytyy olla hyväksytty"
-      empty: "ei voi olla tyhjä"
-      blank: "ei voi olla sisällötön"
-      too_long: "on liian pitkä (saa olla enintään %{count} merkkiä)"
-      too_short: "on liian lyhyt (oltava vähintään %{count} merkkiä)"
-      wrong_length: "on väärän pituinen (täytyy olla täsmälleen %{count} merkkiä)"
-      not_an_integer: "on kokonaisluku"
-      not_a_number: "ei ole luku"
-      greater_than: "täytyy olla suurempi kuin %{count}"
-      greater_than_or_equal_to: "täytyy olla suurempi tai yhtä suuri kuin %{count}"
-      equal_to: "täytyy olla yhtä suuri kuin %{count}"
-      less_than: "täytyy olla pienempi kuin %{count}"
-      less_than_or_equal_to: "täytyy olla pienempi tai yhtä suuri kuin %{count}"
-      odd: "täytyy olla pariton"
-      even: "täytyy olla parillinen"
-      taken: "on jo käytössä"
-      record_invalid: "Validointi epäonnistui: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Virhe syötteessä esti mallin %{model} tallentamisen"
-        other:  "%{count} virhettä esti mallin %{model} tallentamisen"
-      body: "Seuraavat kentät aiheuttivat ongelmia:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/fr-CA.yml b/vendor/rails-locales/fr-CA.yml
deleted file mode 100644 (file)
index d2d3c58..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-# French translations for Ruby on Rails
-# by Christian Lescuyer (christian@flyingcoders.com)
-# contributors:
-#  - Sebastien Grosjean - ZenCocoon.com
-#  - Bruno Michel - http://github.com/nono
-#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
-#
-# French Canadian adjustments
-# by Serafim Junior Dos Santos Fagundes <serafim@cyb3r.ca>
-
-fr-CA:
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%y-%m-%d"
-      long: "%d %B %Y"
-    day_names:
-      - dimanche
-      - lundi
-      - mardi
-      - mercredi
-      - jeudi
-      - vendredi
-      - samedi
-    abbr_day_names:
-      - dim
-      - lun
-      - mar
-      - mer
-      - jeu
-      - ven
-      - sam
-    month_names:
-      - ~
-      - janvier
-      - février
-      - mars
-      - avril
-      - mai
-      - juin
-      - juillet
-      - août
-      - septembre
-      - octobre
-      - novembre
-      - décembre
-    abbr_month_names:
-      - ~
-      - jan.
-      - fév.
-      - mar.
-      - avr.
-      - mai
-      - juin
-      - juil.
-      - août
-      - sept.
-      - oct.
-      - nov.
-      - déc.
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%H:%M:%S"
-      short: "%H:%M"
-      long: "%A %d %B %Y %H:%M"
-    am: 'am'
-    pm: 'pm'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "une demi-minute"
-      less_than_x_seconds:
-        zero:  "moins d'une seconde"
-        one:   "moins d'une seconde"
-        other: "moins de %{count} secondes"
-      x_seconds:
-        one:   "1 seconde"
-        other: "%{count} secondes"
-      less_than_x_minutes:
-        zero:  "moins d'une minute"
-        one:   "moins d'une minute"
-        other: "moins de %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "environ une heure"
-        other: "environ %{count} heures"
-      x_days:
-        one:   "1 jour"
-        other: "%{count} jours"
-      about_x_months:
-        one:   "environ un mois"
-        other: "environ %{count} mois"
-      x_months:
-        one:   "1 mois"
-        other: "%{count} mois"
-      about_x_years:
-        one:   "environ un an"
-        other: "environ %{count} ans"
-      over_x_years:
-        one:   "plus d'un an"
-        other: "plus de %{count} ans"
-      almost_x_years:
-        one:   "presqu'un an"
-        other: "presque %{count} ans"
-    prompts:
-      year:   "Année"
-      month:  "Mois"
-      day:    "Jour"
-      hour:   "Heure"
-      minute: "Minute"
-      second: "Seconde"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "$"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Octet"
-            other: "Octets"
-          kb: "ko"
-          mb: "Mo"
-          gb: "Go"
-          tb: "To"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Millier"
-          million: "Million"
-          billion: "Milliard"
-          trillion: "Mille milliard"
-          quadrillion: "Million de milliards"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " et "
-      last_word_connector: " et "
-    select:
-      prompt: "Veuillez sélectionner"
-
-  helpers:
-    select:
-      prompt: "Veuillez sélectionner"
-    submit:
-      create: "Créer un %{model}"
-      update: "Modifier ce %{model}"
-      submit: "Enregistrer ce %{model}"
-
-  errors:
-    format: "Le %{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "n'est pas inclus(e) dans la liste"
-      exclusion: "n'est pas disponible"
-      invalid: "n'est pas valide"
-      confirmation: "ne concorde pas avec la confirmation"
-      accepted: "doit être accepté(e)"
-      empty: "doit être rempli(e)"
-      blank: "doit être rempli(e)"
-      too_long:
-        one: "est trop long (pas plus d'un caractère)"
-        other: "est trop long (pas plus de %{count} caractères)"
-      too_short:
-        one: "est trop court (au moins un caractère)"
-        other: "est trop court (au moins %{count} caractères)"
-      wrong_length:
-        one: "ne fait pas la bonne longueur (doit comporter un seul caractère)"
-        other: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
-      not_a_number: "n'est pas un nombre"
-      not_an_integer: "doit être un nombre entier"
-      greater_than: "doit être supérieur à %{count}"
-      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
-      equal_to: "doit être égal à %{count}"
-      less_than: "doit être inférieur à %{count}"
-      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
-      odd: "doit être impair"
-      even: "doit être pair"
-      taken: "n'est pas disponible"
-      record_invalid: "La validation a échoué : %{errors}"
-    template: &errors_template
-      header:
-        one:   "Impossible d'enregistrer ce %{model} : 1 erreur"
-        other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
-      body: "Veuillez vérifier les champs suivants : "
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/fr-CH.yml b/vendor/rails-locales/fr-CH.yml
deleted file mode 100644 (file)
index 5e98919..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# French (Switzerland) translations for Ruby on Rails
-# by Yann Lugrin (yann.lugrin@sans-savoir.net, http://github.com/yannlugrin)
-#
-# original translation into French by Christian Lescuyer
-# contributor: Sebastien Grosjean - ZenCocoon.com
-
-fr-CH:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e %b"
-      long: "%e %B %Y"
-    day_names:
-      - dimanche
-      - lundi
-      - mardi
-      - mercredi
-      - jeudi
-      - vendredi
-      - samedi
-    abbr_day_names:
-      - dim
-      - lun
-      - mar
-      - mer
-      - jeu
-      - ven
-      - sam
-    month_names:
-      - ~
-      - janvier
-      - février
-      - mars
-      - avril
-      - mai
-      - juin
-      - juillet
-      - août
-      - septembre
-      - octobre
-      - novembre
-      - décembre
-    abbr_month_names:
-      - ~
-      - jan.
-      - fév.
-      - mar.
-      - avr.
-      - mai
-      - juin
-      - juil.
-      - août
-      - sept.
-      - oct.
-      - nov.
-      - déc.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%d. %B %Y %H:%M"
-      short: "%d. %b %H:%M"
-      long: "%A, %d. %B %Y %H:%M:%S %Z"
-    am: "am"
-    pm: "pm"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "une demi-minute"
-      less_than_x_seconds:
-        zero:  "moins d'une seconde"
-        one:   "moins d'une seconde"
-        other: "moins de %{count} secondes"
-      x_seconds:
-        one:   "1 seconde"
-        other: "%{count} secondes"
-      less_than_x_minutes:
-        zero:  "moins d'une minute"
-        one:   "moins d'une minute"
-        other: "moins de %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "environ une heure"
-        other: "environ %{count} heures"
-      x_days:
-        one:   "1 jour"
-        other: "%{count} jours"
-      about_x_months:
-        one:   "environ un mois"
-        other: "environ %{count} mois"
-      x_months:
-        one:   "1 mois"
-        other: "%{count} mois"
-      about_x_years:
-        one:   "environ un an"
-        other: "environ %{count} ans"
-      over_x_years:
-        one:   "plus d'un an"
-        other: "plus de %{count} ans"
-      almost_x_years:
-        one:   "presqu'un an"
-        other: "presque %{count} ans"
-    prompts:
-      year:   "Année"
-      month:  "Mois"
-      day:    "Jour"
-      hour:   "Heure"
-      minute: "Minute"
-      second: "Seconde"
-
-  number:
-    format:
-      separator: "."
-      delimiter: "'"
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "CHF"
-        separator: "."
-        delimiter: "'"
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "octet"
-            other: "octets"
-          kb: "ko"
-          mb: "Mo"
-          gb: "Go"
-          tb: "To"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "millier"
-          million: "million"
-          billion: "milliard"
-          trillion: "billion"
-          quadrillion: "million de milliards"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " et "
-      last_word_connector: " et "
-    select:
-      prompt: "Veuillez sélectionner"
-
-  helpers:
-    select:
-      prompt: "Veuillez sélectionner"
-    submit:
-      create: "Créer un %{model}"
-      update: "Modifier ce %{model}"
-      submit: "Enregistrer ce %{model}"
-
-  errors:
-    format: "Le %{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "n'est pas inclus(e) dans la liste"
-      exclusion: "n'est pas disponible"
-      invalid: "n'est pas valide"
-      confirmation: "ne concorde pas avec la confirmation"
-      accepted: "doit être accepté(e)"
-      empty: "doit être rempli(e)"
-      blank: "doit être rempli(e)"
-      too_long:
-        one: "est trop long (pas plus d'un caractère)"
-        other: "est trop long (pas plus de %{count} caractères)"
-      too_short:
-        one: "est trop court (au moins un caractère)"
-        other: "est trop court (au moins %{count} caractères)"
-      wrong_length:
-        one: "ne fait pas la bonne longueur (doit comporter un seul caractère)"
-        other: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
-      not_a_number: "n'est pas un nombre"
-      not_an_integer: "doit être un nombre entier"
-      greater_than: "doit être supérieur à %{count}"
-      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
-      equal_to: "doit être égal à %{count}"
-      less_than: "doit être inférieur à %{count}"
-      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
-      odd: "doit être impair"
-      even: "doit être pair"
-      taken: "n'est pas disponible"
-      record_invalid: "La validation a échoué : %{errors}"
-    template: &errors_template
-      header:
-        one:   "Impossible d'enregistrer ce %{model} : 1 erreur"
-        other: "Impossible d'enregistrer ce %{model} : %{count} erreurs"
-      body: "Veuillez vérifier les champs suivants : "
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
diff --git a/vendor/rails-locales/fr.yml b/vendor/rails-locales/fr.yml
deleted file mode 100644 (file)
index 61cffcc..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# French translations for Ruby on Rails
-# by Christian Lescuyer (christian@flyingcoders.com)
-# contributors:
-#  - Sebastien Grosjean - ZenCocoon.com
-#  - Bruno Michel - http://github.com/nono
-#  - Tsutomu Kuroda - http://github.com/kuroda (t-kuroda@oiax.jp)
-
-fr:
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%e %B %Y"
-    day_names:
-      - dimanche
-      - lundi
-      - mardi
-      - mercredi
-      - jeudi
-      - vendredi
-      - samedi
-    abbr_day_names:
-      - dim
-      - lun
-      - mar
-      - mer
-      - jeu
-      - ven
-      - sam
-    month_names:
-      - ~
-      - janvier
-      - février
-      - mars
-      - avril
-      - mai
-      - juin
-      - juillet
-      - août
-      - septembre
-      - octobre
-      - novembre
-      - décembre
-    abbr_month_names:
-      - ~
-      - jan.
-      - fév.
-      - mar.
-      - avr.
-      - mai
-      - juin
-      - juil.
-      - août
-      - sept.
-      - oct.
-      - nov.
-      - déc.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%d %B %Y %H:%M:%S"
-      short: "%d %b %H:%M"
-      long: "%A %d %B %Y %H:%M"
-    am: 'am'
-    pm: 'pm'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "une demi-minute"
-      less_than_x_seconds:
-        zero:  "moins d'une seconde"
-        one:   "moins d'une seconde"
-        other: "moins de %{count} secondes"
-      x_seconds:
-        one:   "1 seconde"
-        other: "%{count} secondes"
-      less_than_x_minutes:
-        zero:  "moins d'une minute"
-        one:   "moins d'une minute"
-        other: "moins de %{count} minutes"
-      x_minutes:
-        one:   "1 minute"
-        other: "%{count} minutes"
-      about_x_hours:
-        one:   "environ une heure"
-        other: "environ %{count} heures"
-      x_days:
-        one:   "1 jour"
-        other: "%{count} jours"
-      about_x_months:
-        one:   "environ un mois"
-        other: "environ %{count} mois"
-      x_months:
-        one:   "1 mois"
-        other: "%{count} mois"
-      about_x_years:
-        one:   "environ un an"
-        other: "environ %{count} ans"
-      over_x_years:
-        one:   "plus d'un an"
-        other: "plus de %{count} ans"
-      almost_x_years:
-        one:   "presqu'un an"
-        other: "presque %{count} ans"
-    prompts:
-      year:   "Année"
-      month:  "Mois"
-      day:    "Jour"
-      hour:   "Heure"
-      minute: "Minute"
-      second: "Seconde"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "octet"
-            other: "octets"
-          kb: "ko"
-          mb: "Mo"
-          gb: "Go"
-          tb: "To"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "millier"
-          million: "million"
-          billion: "milliard"
-          trillion: "billion"
-          quadrillion: "million de milliards"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " et "
-      last_word_connector: " et "
-    select:
-      prompt: "Veuillez sélectionner"
-
-  helpers:
-    select:
-      prompt: "Veuillez sélectionner"
-    submit:
-      create: "Créer un(e) %{model}"
-      update: "Modifier ce(tte) %{model}"
-      submit: "Enregistrer ce(tte) %{model}"
-
-  errors:
-    format: "Le %{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "n'est pas inclus(e) dans la liste"
-      exclusion: "n'est pas disponible"
-      invalid: "n'est pas valide"
-      confirmation: "ne concorde pas avec la confirmation"
-      accepted: "doit être accepté(e)"
-      empty: "doit être rempli(e)"
-      blank: "doit être rempli(e)"
-      too_long:
-        one: "est trop long (pas plus d'un caractère)"
-        other: "est trop long (pas plus de %{count} caractères)"
-      too_short:
-        one: "est trop court (au moins un caractère)"
-        other: "est trop court (au moins %{count} caractères)"
-      wrong_length:
-        one: "ne fait pas la bonne longueur (doit comporter un seul caractère)"
-        other: "ne fait pas la bonne longueur (doit comporter %{count} caractères)"
-      not_a_number: "n'est pas un nombre"
-      not_an_integer: "doit être un nombre entier"
-      greater_than: "doit être supérieur à %{count}"
-      greater_than_or_equal_to: "doit être supérieur ou égal à %{count}"
-      equal_to: "doit être égal à %{count}"
-      less_than: "doit être inférieur à %{count}"
-      less_than_or_equal_to: "doit être inférieur ou égal à %{count}"
-      odd: "doit être impair"
-      even: "doit être pair"
-      taken: "n'est pas disponible"
-      record_invalid: "La validation a échoué : %{errors}"
-    template: &errors_template
-      header:
-        one:   "Impossible d'enregistrer ce(tte) %{model} : 1 erreur"
-        other: "Impossible d'enregistrer ce(tte) %{model} : %{count} erreurs"
-      body: "Veuillez vérifier les champs suivants : "
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/fun/en-AU.rb b/vendor/rails-locales/fun/en-AU.rb
deleted file mode 100644 (file)
index 971a9cf..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-# original by Dr. Nic
-
-{
-  :'en-AU' => {
-    :date => {
-      :formats => {
-        :default      => "%d/%m/%Y",
-        :short        => "%e %b",
-        :long         => "%e %B, %Y"
-      },
-      :day_names => Date::DAYNAMES,
-      :abbr_day_names => Date::ABBR_DAYNAMES,
-      :month_names => Date::MONTHNAMES,
-      :abbr_month_names => Date::ABBR_MONTHNAMES,
-      :order => [:year, :month, :day]
-    },
-    :time => {
-      :formats => {
-        :default      => "%a %b %d %H:%M:%S %Z %Y",
-        :time         => "%H:%M",
-        :short        => "%d %b %H:%M",
-        :long         => "%d %B, %Y %H:%M"
-      },
-      :datetime => {
-        :formats => {
-          :default => "%Y-%m-%dT%H:%M:%S%Z"
-        }
-      },
-      :time_with_zone => {
-        :formats => {
-          :default => lambda { |time| "%Y-%m-%d %H:%M:%S #{time.formatted_offset(false, 'UTC')}" }
-        }
-      },
-      :am => 'am',
-      :pm => 'pm'
-    },
-    :datetime => {
-      :distance_in_words => {
-        :half_a_minute       => 'half a minute',
-        :less_than_x_seconds => {:zero => 'less than a second', :one => 'less than a second', :other => 'less than %{count} seconds'},
-        :x_seconds           => {:one => '1 second', :other => '%{count} seconds'},
-        :less_than_x_minutes => {:zero => 'less than a minute', :one => 'less than a minute', :other => 'less than %{count} minutes'},
-        :x_minutes           => {:one => "1 minute", :other => "%{count} minutes"},
-        :about_x_hours       => {:one => 'about 1 hour', :other => 'about %{count} hours'},
-        :x_days              => {:one => '1 day', :other => '%{count} days'},
-        :about_x_months      => {:one => 'about 1 month', :other => 'about %{count} months'},
-        :x_months            => {:one => '1 month', :other => '%{count} months'},
-        :about_x_years       => {:one => 'about 1 year', :other => 'about %{count} years'},
-        :over_x_years        => {:one => 'over 1 year', :other => 'over %{count} years'}
-      }
-    },
-    :number => {
-      :format => {
-        :precision => 2,
-        :separator => ',',
-        :delimiter => '.'
-      },
-      :currency => {
-        :format => {
-          :unit => 'AUD',
-          :precision => 2,
-          :format => '%n %u'
-        }
-      }
-    },
-
-    # Active Record
-    :activerecord => {
-      :errors => {
-        :template => {
-          :header => {
-            :one => "Couldn't save this %{model}: 1 error",
-            :other => "Couldn't save this %{model}: %{count} errors."
-          },
-          :body => "Please check the following fields, dude:"
-        },
-        :messages => {
-          :inclusion => "ain't included in the list",
-          :exclusion => "ain't available",
-          :invalid => "ain't valid",
-          :confirmation => "don't match its confirmation",
-          :accepted  => "gotta be accepted",
-          :empty => "gotta be given",
-          :blank => "gotta be given",
-          :too_long => "is too long-ish (no more than %{count} characters)",
-          :too_short => "is too short-ish (no less than %{count} characters)",
-          :wrong_length => "ain't got the right length (gotta be %{count} characters)",
-          :taken => "ain't available",
-          :not_a_number => "ain't a number",
-          :greater_than => "gotta be greater than %{count}",
-          :greater_than_or_equal_to => "gotta be greater than or equal to %{count}",
-          :equal_to => "gotta be equal to %{count}",
-          :less_than => "gotta be less than %{count}",
-          :less_than_or_equal_to => "gotta be less than or equal to %{count}",
-          :odd => "gotta be odd",
-          :even => "gotta be even"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/vendor/rails-locales/fun/gibberish.rb b/vendor/rails-locales/fun/gibberish.rb
deleted file mode 100644 (file)
index 040fdb6..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-{
-  :'gibberish' => {
-    # date and time formats
-    :date => {
-      :formats => {
-        :default      => "%Y-%m-%d (ish)",
-        :short        => "%e %b (ish)",
-        :long         => "%B %e, %Y (ish)"
-      },
-      :day_names => %w(Sunday-ish Monday-ish Tuesday-ish Wednesday-ish Thursday-ish Friday-ish Saturday-ish),
-      :abbr_day_names => %w(Sun-i Mon-i Tue-i Wed-i Thu-i Fri-i Sat-i),
-      :month_names => [nil] + %w(January-ish February-ish March-ish April-ish May-ish June-ish
-                                 July-ish August-ish September-ish October-ish November-rish December-ish),
-      :abbr_month_names => [nil] + %w(Jan-i Feb-i Mar-i Apr-i May-i Jun-i Jul-i Aug-i Sep-i Oct-i Nov-i Dec-i),
-      :order => [:day, :month, :year]
-    },
-    :time => {
-      :formats => {
-        :default      => "%a %b %d %H:%M:%S %Z %Y (ish)",
-        :time         => "%H:%M (ish)",
-        :short        => "%d %b %H:%M (ish)",
-        :long         => "%B %d, %Y %H:%M (ish)"
-      },
-        :datetime => {
-          :formats => {
-            :default => "%Y-%m-%dT%H:%M:%S%Z"
-          }
-        },
-        :time_with_zone => {
-          :formats => {
-            :default => lambda { |time| "%Y-%m-%d %H:%M:%S #{time.formatted_offset(false, 'UTC')}" }
-          }
-        },
-      :am => 'am-ish',
-      :pm => 'pm-ish'
-    },
-
-    # date helper distance in words
-    :datetime => {
-      :distance_in_words => {
-        :half_a_minute       => 'a halfish minute',
-        :less_than_x_seconds => {:zero => 'less than 1 second', :one => ' less than 1 secondish', :other => 'less than%{count}ish seconds'},
-        :x_seconds           => {:one => '1 secondish', :other => '%{count}ish seconds'},
-        :less_than_x_minutes => {:zero => 'less than a minuteish', :one => 'less than 1 minuteish', :other => 'less than %{count}ish minutes'},
-        :x_minutes           => {:one => "1ish minute", :other => "%{count}ish minutes"},
-        :about_x_hours       => {:one => 'about 1 hourish', :other => 'about %{count}ish hours'},
-        :x_days              => {:one => '1ish day', :other => '%{count}ish days'},
-        :about_x_months      => {:one => 'about 1ish month', :other => 'about %{count}ish months'},
-        :x_months            => {:one => '1ish month', :other => '%{count}ish months'},
-        :about_x_years       => {:one => 'about 1ish year', :other => 'about %{count}ish years'},
-        :over_x_years        => {:one => 'over 1ish year', :other => 'over %{count}ish years'}
-      }
-    },
-
-    # numbers
-    :number => {
-      :format => {
-        :precision => 3,
-        :separator => ',',
-        :delimiter => '.'
-      },
-      :currency => {
-        :format => {
-          :unit => 'Gib-$',
-          :precision => 2,
-          :format => '%n %u'
-        }
-      }
-    },
-
-    # Active Record
-    :activerecord => {
-      :errors => {
-        :template => {
-          :header => {
-            :one => "Couldn't save this %{model}: 1 error", 
-            :other => "Couldn't save this %{model}: %{count} errors."
-          },
-          :body => "Please check the following fields, dude:"
-        },
-        :messages => {
-          :inclusion => "ain't included in the list",
-          :exclusion => "ain't available",
-          :invalid => "ain't valid",
-          :confirmation => "don't match its confirmation",
-          :accepted  => "gotta be accepted",
-          :empty => "gotta be given",
-          :blank => "gotta be given",
-          :too_long => "is too long-ish (no more than %{count} characters)",
-          :too_short => "is too short-ish (no less than %{count} characters)",
-          :wrong_length => "ain't got the right length (gotta be %{count} characters)",
-          :taken => "ain't available",
-          :not_a_number => "ain't a number",
-          :greater_than => "gotta be greater than %{count}",
-          :greater_than_or_equal_to => "gotta be greater than or equal to %{count}",
-          :equal_to => "gotta be equal to %{count}",
-          :less_than => "gotta be less than %{count}",
-          :less_than_or_equal_to => "gotta be less than or equal to %{count}",
-          :odd => "gotta be odd",
-          :even => "gotta be even"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/vendor/rails-locales/fur.yml b/vendor/rails-locales/fur.yml
deleted file mode 100644 (file)
index cdce796..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-# Friulian translations for Ruby on Rails
-# by Andrea Decorte (adecorte@gmail.com)
-
-fur:
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-        # precision:
-
-    precision:
-      format:
-        # separator:
-        delimiter: ""
-        # precision:
-
-    human:
-      format:
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Byte"
-          kb: "Kb"
-          mb: "Mb"
-          gb: "Gb"
-          tb: "Tb"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d di %b"
-      long: "%d di %B dal %Y"
-
-    day_names:
-      - domenie
-      - lunis
-      - martars
-      - miercus
-      - joibe
-      - vinars
-      - sabide
-    abbr_day_names:
-      - dom
-      - lun
-      - mar
-      - mie
-      - joi
-      - vin
-      - sab
-
-    month_names:
-      - ~
-      - Zenâr
-      - Fevrâr
-      - Març
-      - Avrîl
-      - Mai
-      - Jugn
-      - Lui
-      - Avost
-      - Setembar
-      - Otubar
-      - Novembar
-      - Dicembar
-    abbr_month_names:
-      - ~
-      - Zen
-      - Fev
-      - Mar
-      - Avr
-      - Mai
-      - Jug
-      - Lui
-      - Avo
-      - Set
-      - Otu
-      - Nov
-      - Dic
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d di %b dal %Y, %H:%M:%S %z"
-      short: "%d di %b %H:%M"
-      long: "%d di %B %Y %H:%M"
-
-    am: 'am'
-    pm: 'pm'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "mieç minût"
-      less_than_x_seconds:
-        one:  "mancul di un secont"
-        other: "mancul di %{count} seconts"
-      x_seconds:
-        one:  "1 secont"
-        other: "%{count} seconts"
-      less_than_x_minutes:
-        one:  "mancul di un minût"
-        other: "mancul di %{count} minûts"
-      x_minutes:
-        one:  "1 minût"
-        other: "%{count} minûts"
-      about_x_hours:
-        one:  "cirche une ore"
-        other: "cirche %{count} oris"
-      x_days:
-        one:  "1 zornade"
-        other: "%{count} zornadis"
-      about_x_months:
-        one:  "cirche un mês"
-        other: "cirche %{count} mês"
-      x_months:
-        one:  "1 mês"
-        other: "%{count} mês"
-      about_x_years:
-        one:  "cirche un an"
-        other: "cirche %{count} agns"
-      over_x_years:
-        one:  "plui di un an"
-        other: "plui di %{count} agns"
-    prompts:
-      year:   "An"
-      month:  "Mês"
-      day:    "Dì"
-      hour:   "Ore"
-      minute: "Minût"
-      second: "Seconts"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: ", e "
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one: "No si pues salvâ chest %{model}: 1 erôr"
-        other: "No si pues salvâ chest %{model}: %{count} erôrs."
-      body: "Torne par plasê a controlâ i cjamps ca sot:"
-    messages: &errors_messages
-      inclusion: "non è includût te liste"
-      exclusion: "al è riservât"
-      invalid: "nol è valit"
-      confirmation: "nol è compagn de conferme"
-      accepted: "al à di jessi acetât"
-      empty: "nol pues jessi vueit"
-      blank: "nol pues jessi lassât in blanc"
-      too_long: "al è masse lunc (il massim al è %{count} letaris)"
-      too_short: "al è masse curt (il minim al è %{count} letaris)"
-      wrong_length: "nol à la lungjece juste (al ò di jessi di %{count} letaris)"
-      taken: "al è za doprât"
-      not_a_number: "nol è un numar"
-      greater_than: "al à di jessi plui grant di %{count}"
-      greater_than_or_equal_to: "al à di jessi plui grant o compagn di %{count}"
-      equal_to: "al à di jessi compagn di %{count}"
-      less_than: "al à di jessi mancul di %{count}"
-      less_than_or_equal_to: "al à di jessi mancul o compagn di %{count}"
-      odd: "al à di jessi dispar"
-      even: "al à di jessi pâr"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/gl-ES.yml b/vendor/rails-locales/gl-ES.yml
deleted file mode 100644 (file)
index 32208a3..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-# Galician (Spain) for Ruby on Rails
-# by Marcos Arias Pena (markus@agil-e.com)
-
-gl-ES:
-  # action_view
-  number:
-    # Usado en number_with_delimiter()
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Usado en number_to_currency()
-    currency:
-      format:
-        # %u é a unidade monetaria, %n o número
-        # 1 euro sería 1.00 €
-        format: "%n %u"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Usado en number_to_percentage()
-    percentage:
-      format:
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Usado en number_to_precision()
-    precision:
-      format:
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Usado en number_to_human_size()
-    human:
-      format:
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      # Se estás a usar Rails <= 2.2.2
-      # storage_units: [Bytes, KB, MB, GB, TB]
-      # Se estás a usar Rails >= 2.3
-      storage_units:
-        # Formato de saida de unidades de almacenamento
-        # %u é a unidade de almacenamento
-        # %n é o número (por defecto: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  # active_support
-  date:
-    formats:
-      default:  "%e/%m/%Y"
-      short:    "%e %b"
-      long:     "%A %e de %B de %Y"
-      # Podes engadir máis formatos nesta lista ou cambiar os aquí definidos
-    day_names:
-      - Domingo
-      - Luns
-      - Martes
-      - Mércores
-      - Xoves
-      - Venres
-      - Sábado
-    abbr_day_names:
-      - Dom
-      - Lun
-      - Mar
-      - Mer
-      - Xov
-      - Ven
-      - Sab
-    month_names:
-      - ~
-      - Xaneiro
-      - Febreiro
-      - Marzo
-      - Abril
-      - Maio
-      - Xuño
-      - Xullo
-      - Agosto
-      - Setembro
-      - Outubro
-      - Novembro
-      - Decembro
-    abbr_month_names:
-      - ~
-      - Xan
-      - Feb
-      - Mar
-      - Abr
-      - Mai
-      - Xuñ
-      - Xul
-      - Ago
-      - Set
-      - Out
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default:    "%A, %e de %B de %Y ás %H:%M"
-      short:      "%e/%m, %H:%M"
-      long:       "%A %e de %B de %Y ás %H:%M"
-      # Podes engadir máis formatos nesta lista ou cambiar os aquí definidos
-    am: ''
-    pm: ''
-
-  # Usados en distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: 'medio minuto'
-      less_than_x_seconds:
-        zero: 'menos dun segundo'
-        one: '1 segundo'
-        few: 'poucos segundos'
-        other: '%{count} segundos'
-      x_seconds:
-        one: '1 segundo'
-        other: '%{count} segundos'
-      less_than_x_minutes:
-        zero: 'menos dun minuto'
-        one: '1 minuto'
-        other: '%{count} minutos'
-      x_minutes:
-        one: '1 minuto'
-        other: '%{count} minuto'
-      about_x_hours:
-        one: 'aproximadamente unha hora'
-        other: '%{count} horas'
-      x_days:
-        one: '1 día'
-        other: '%{count} días'
-      about_x_months:
-        one: 'aproximadamente 1 mes'
-        other: '%{count} meses'
-      x_months:
-        one: '1 mes'
-        other: '%{count} meses'
-      about_x_years:
-        one: 'aproximadamente 1 ano'
-        other: '%{count} anos'
-      over_x_years:
-        one: 'máis dun ano'
-        other: '%{count} anos'
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: " e "
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one: "1 erro evitou que se poidese gardar o %{model}"
-        other: "%{count} erros evitaron que se poidese gardar o %{model}"
-      body: "Atopáronse os seguintes problemas:"
-    messages: &errors_messages
-      inclusion: "non está incluido na lista"
-      exclusion: "xa existe"
-      invalid: "non é válido"
-      confirmation: "non coincide coa confirmación"
-      accepted: "debe ser aceptado"
-      empty: "non pode estar valeiro"
-      blank: "non pode estar en blanco"
-      too_long: "é demasiado longo (non máis de %{count} carácteres)"
-      too_short: "é demasiado curto (non menos de %{count} carácteres)"
-      wrong_length: "non ten a lonxitude correcta (debe ser de %{count} carácteres)"
-      taken: "non está dispoñible"
-      not_a_number: "non é un número"
-      greater_than: "debe ser maior que %{count}"
-      greater_than_or_equal_to: "debe ser maior ou igual que %{count}"
-      equal_to: "debe ser igual a %{count}"
-      less_than: "debe ser menor que %{count}"
-      less_than_or_equal_to: "debe ser menor ou igual que %{count}"
-      odd: "debe ser par"
-      even: "debe ser impar"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/gsw-CH.yml b/vendor/rails-locales/gsw-CH.yml
deleted file mode 100644 (file)
index 2d84743..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-# Swiss German (Switzerland) translations for Ruby on Rails
-# by Florian Hanke (florian.hanke@gmail.com).
-#
-# Adapted from de-CH by Clemens Kofler (clemens@railway.at).
-
-gsw-CH:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - Sunntig
-      - Mäntig
-      - Ziischtig
-      - Mittwuch
-      - Dunnschtig
-      - Friitig
-      - Samschtig
-    abbr_day_names:
-      - Su
-      - Mä
-      - Zi
-      - Mi
-      - Du
-      - Fr
-      - Sa
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - März
-      - April
-      - Mai
-      - Juni
-      - Juli
-      - Auguscht
-      - Septämber
-      - Oktober
-      - Novämber
-      - Dezämber
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mär
-      - Apr
-      - Mai
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M"
-      short: "%d. %B, %H:%M"
-      long: "%A, %d. %B %Y, %H:%M"
-    am: "am Vormittaag"
-    pm: "am Namitaag"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'ä halbi Minuutä'
-      less_than_x_seconds:
-        one: 'weniger als ä Sekundä'
-        other: 'weniger als %{count} Sekundä'
-      x_seconds:
-        one: 'ä Sekunde'
-        other: '%{count} Sekunde'
-      less_than_x_minutes:
-        one: 'weniger als ä Minuutä'
-        other: 'weniger als %{count} Minuutä'
-      x_minutes:
-        one: 'ä Minutä'
-        other: '%{count} Minutä'
-      about_x_hours:
-        one: 'öppe nä Schtund'
-        other: 'öppe nä %{count} Schtund'
-      x_days:
-        one: 'än Taag'
-        other: '%{count} Taag'
-      about_x_months:
-        one: 'öppe än Monät'
-        other: 'öppe %{count} Mönet'
-      x_months:
-        one: 'än Monät'
-        other: '%{count} Mönet'
-      almost_x_years:
-        one: 'fascht äs Jaar'
-        other: 'fascht %{count} Jaar'
-      about_x_years:
-        one: 'öppe näs Jaar'
-        other: 'öppe %{count} Jaar'
-      over_x_years:
-        one: 'meh als äs Jaar'
-        other: 'meh als %{count} Jaar'
-    prompts:
-      second: "Sekundä"
-      minute: "Minutä"
-      hour: "Schtund"
-      day: "Taag"
-      month: "Monät"
-      year: "Jaar"
-
-  number:
-    format:
-      precision: 2
-      separator: '.'
-      delimiter: "'"
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'SFr.'
-        format: '%u %n'
-        separator: '.'
-        delimiter: "'"
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: "'"
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"  # Bäit
-            other: "Bytes" # Bäits
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tuusig
-          million: Milioon
-          billion: Bilioon
-          trillion: Trilioon
-          quadrillion: Quadrilioon
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " und "
-      last_word_connector: " und "
-    select:
-      prompt: "Bitte wääle:"
-
-  helpers:
-    select:
-      prompt: "Bitte wääle"
-
-    submit:
-      create: '%{model} erschtele'
-      update: '%{model} ändere'
-      submit: '%{model} schpeichere'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "isch kän gültige Wert"
-      exclusion: "isch nöd ume"
-      invalid: "isch nöd gültig"
-      confirmation: "isch nöd gliich wie'd Beschtätigung"
-      accepted: "mues akzeptiert werdä"
-      empty: "mues uusgfüllt werdä"
-      blank: "mues uusgfüllt werdä"
-      too_long: "isch z'lang (nöd mee als %{count} Zeiche)"
-      too_short: "isch z'churz (nöd weniger als %{count} Zeiche)"
-      wrong_length: "hät di falsch Längi (mues genau %{count} Zeiche haa)"
-      not_a_number: "isch kä Nummerä"
-      not_an_integer: "isch kä Zaal"
-      greater_than: "mues grösser als %{count} sii"
-      greater_than_or_equal_to: "mues grösser oder gliich wi %{count} sii"
-      equal_to: "mues genau %{count} sii"
-      less_than: "mues chliiner als %{count} sii"
-      less_than_or_equal_to: "mues chliiner oder gliich %{count} sii"
-      odd: "mues ungraad sii"
-      even: "mues graad sii"
-      taken: "isch bereits vergää"
-      record_invalid: "Gültigkeitsprüefig hät fehlgschlage: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Han's %{model} nöd schpeichere chönne: än Fehler."
-        other:  "Han's %{model} näd schpeichere chönne: %{count} Fehler."
-      body: "Bitte überprüefed Si die Felder:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/he.yml b/vendor/rails-locales/he.yml
deleted file mode 100644 (file)
index 71d5df0..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# Hebrew translations for Ruby on Rails
-# by Dotan Nahum (dipidi@gmail.com)
-# Rails 3 update by rbjarnason
-# Grammer updates and completion of missing translations by Meron Bareket (mrnbrkt)
-
-"he":
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%e %b"
-      long: "%e ב%B, %Y"
-    day_names:
-      - ראשון
-      - שני
-      - שלישי
-      - רביעי
-      - חמישי
-      - שישי
-      - שבת
-    abbr_day_names:
-      - א
-      - ב
-      - ג
-      - ד
-      - ה
-      - ו
-      - ש
-
-    month_names:
-      - ~
-      - ינואר
-      - פברואר
-      - מרץ
-      - אפריל
-      - מאי
-      - יוני
-      - יולי
-      - אוגוסט
-      - ספטמבר
-      - אוקטובר
-      - נובמבר
-      - דצמבר
-    abbr_month_names:
-      - ~
-      - יאנ
-      - פבר
-      - מרץ
-      - אפר
-      - מאי
-      - יונ
-      - יול
-      - אוג
-      - ספט
-      - אוק
-      - נוב
-      - דצמ
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%d ב%B, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " את "
-      last_word_connector: ", את "
-
-    select:
-      prompt: "נא לבחור"
-
-  number:
-    format:
-      precision: 3
-      separator: '.'
-      delimiter: ','
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        unit: '₪'
-        precision: 2
-        format: '%u %n'
-        separator: "."
-        delimiter: ","
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "בייט"
-            other: "בתים"
-          kb: "קילו-בייט"
-          mb: "מגה-בייט"
-          gb: "ג'יגה-בייט"
-          tb: "טרה-בייט"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: אלף
-          million: מיליון
-          billion: מיליארד
-          trillion: טריליון
-          quadrillion: קודריליון
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'חצי דקה'
-      less_than_x_seconds:
-        zero: 'פחות משניה אחת'
-        one: 'פחות משניה אחת'
-        other: 'פחות מ- %{count} שניות'
-      x_seconds:
-        one: 'שניה אחת'
-        other: '%{count} שניות'
-      less_than_x_minutes:
-        zero: 'פחות מדקה אחת'
-        one: 'פחות מדקה אחת'
-        other: 'פחות מ- %{count} דקות'
-      x_minutes:
-        one: 'דקה אחת'
-        other: '%{count} דקות'
-      about_x_hours:
-        one: 'בערך שעה אחת'
-        other: 'בערך %{count} שעות'
-      x_days:
-        one: 'יום אחד'
-        other: '%{count} ימים'
-      about_x_months:
-        one: 'בערך חודש אחד'
-        other: 'בערך %{count} חודשים'
-      x_months:
-        one: 'חודש אחד'
-        other: '%{count} חודשים'
-      about_x_years:
-        one: 'בערך שנה אחת'
-        other: 'בערך %{count} שנים'
-      over_x_years:
-        one: 'מעל שנה אחת'
-        other: 'מעל %{count} שנים'
-      almost_x_years:
-        one:   "כמעט שנה"
-        other: "כמעט %{count} שנים"
-    prompts:
-      year:   "שנה"
-      month:  "חודש"
-      day:    "יום"
-      hour:   "שעה"
-      minute: "דקה"
-      second: "שניות"
-
-  helpers:
-    select:
-      prompt: "נא לבחור"
-
-    submit:
-      create: '%{model} יצירת'
-      update: '%{model} עדכון'
-      submit: '%{model} שמור'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "לא נכלל ברשימה"
-      exclusion: "לא זמין"
-      invalid: "לא תקין"
-      confirmation: "לא תואם לאישורו"
-      accepted: "חייב באישור"
-      empty: "לא יכול להיות ריק"
-      blank: "לא יכול להיות ריק"
-      too_long: "יותר מדי ארוך (לא יותר מ- %{count} תוים)"
-      too_short: "יותר מדי קצר (לא יותר מ- %{count} תוים)"
-      wrong_length: "לא באורך הנכון (חייב להיות %{count} תוים)"
-      not_a_number: "חייב להיות מספר"
-      not_an_integer: "חייב להיות מספר שלם"
-      greater_than: "חייב להיות גדול מ- %{count}"
-      greater_than_or_equal_to: "חייב להיות גדול או שווה ל- %{count}"
-      equal_to: "חייב להיות שווה ל- %{count}"
-      less_than: "חייב להיות קטן מ- %{count}"
-      less_than_or_equal_to: "חייב להיות קטן או שווה ל- %{count}"
-      odd: "חייב להיות אי זוגי"
-      even: "חייב להיות זוגי"
-      taken: "כבר בשימוש"
-      record_invalid: "האימות נכשל: %{errors}"
-    template: &errors_template
-      header:
-        one: "לא ניתן לשמור את ה%{model}: שגיאה אחת"
-        other: "לא ניתן לשמור את ה%{model}: %{count} שגיאות."
-      body: "אנא בדוק את השדות הבאים:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/hi-IN.yml b/vendor/rails-locales/hi-IN.yml
deleted file mode 100644 (file)
index 2ce461c..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Hindi (India) translations for Rails
-# by Aditya Sanghi (aditya.sanghi@risingsuntech.net)
-
-hi-IN:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - रविवार
-      - सोमवार
-      - मंगलवार
-      - बुधवार
-      - गुरुवार
-      - शुक्रवार
-      - शनिवार
-    abbr_day_names:
-      - रवि
-      - सोम
-      - मंगल
-      - बुध
-      - गुरु
-      - शुक्र
-      - शनि
-
-    month_names:
-      - ~
-      - जनवरी
-      - फरवरी
-      - मार्च
-      - अप्रैल
-      - मई
-      - जून
-      - जुलाई
-      - अगस्त
-      - सितंबर
-      - अक्टूबर
-      - नवंबर
-      - दिसंबर
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Oct
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " और "
-      last_word_connector: ", और "
-
-    select:
-      prompt: "कृपया चुनें"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "₹"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "हज़ार"
-          million: "मिल्लिओंन"
-          billion: "अरब"
-          trillion: "खरब"
-          quadrillion: "करोड़ शंख"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "एक आधा मिनट"
-      less_than_x_seconds:
-        one:   "एक सेकंड से कम"
-        other: "%{count}  सेकंड से कम"
-      x_seconds:
-        one:   "एक सेकंड"
-        other: "%{count} सेकंड"
-      less_than_x_minutes:
-        one:   "एक मिनट से कम"
-        other: "%{count} मिनट से कम"
-      x_minutes:
-        one:   "एक मिनट"
-        other: "%{count} मिनट"
-      about_x_hours:
-        one:   "लग - भग एक घंटा"
-        other: "लग - भग %{count} घंटा"
-      x_days:
-        one:   "एक दिन"
-        other: "%{count} दिन"
-      about_x_months:
-        one:   "लग - भग 1 महीना"
-        other: "लग - भग %{count} महीना"
-      x_months:
-        one:   "एक महीना"
-        other: "%{count} महीना"
-      about_x_years:
-        one:   "लग - भग 1 साल"
-        other: "लग - भग %{count} साल"
-      over_x_years:
-        one:   "एक साल के ऊपर"
-        other: "%{count} साल के ऊपर"
-      almost_x_years:
-        one:   "लग - भग एक साल"
-        other: "लग - भग %{count} साल"
-    prompts:
-      year:   "वर्ष"
-      month:  "माह"
-      day:    "दिन"
-      hour:   "घंटा"
-      minute: "क्षण"
-      second: "सेकंड"
-
-  helpers:
-    select:
-      prompt: "कृपया चुनें"
-
-    submit:
-      create: 'बनाएँ %{model}'
-      update: 'अद्यतन %{model}'
-      submit: 'सहेजें %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "सूची में शामिल नहीं है"
-      exclusion: "आरक्षित है"
-      invalid: "अवैध है"
-      confirmation: "पुष्टिकरण मेल नहीं खाता"
-      accepted: "होना स्वीकार किया जाना आवश्यक"
-      empty: "खाली नहीं किया जा सकता"
-      blank: "खाली नहीं किया जा सकता"
-      too_long: "बहुत लंबा है (अधिकतम %{count} अक्षरों है)"
-      too_short: "बहुत छोटा है (न्यूनतम %{count} अक्षरों है)"
-      wrong_length: "गलत लंबाई है (%{count} वर्ण वाले होने चाहिए)"
-      not_a_number: "कोई संख्या नहीं है"
-      not_an_integer: "एक पूर्णांक होना चाहिए"
-      greater_than: "%{count} से अधिक होना चाहिए"
-      greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है"
-      equal_to: "%{count} के लिए बराबर होना चाहिए"
-      less_than: "%{count} से कम होना चाहिए"
-      less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है"
-      odd: "विषम होना चाहिए"
-      even: "सम होना चाहिए"
-      taken: "पहले ही ले लिया गया है"
-      record_invalid: "सत्यापन विफल: %{errors}"
-    template: &errors_template
-      header:
-        one:    "एक त्रुटि सहेजे जाने से इस %{model} को निषिद्ध"
-        other:  "%{count} त्रुटियों को सहेजे जाने से इस %{model} निषिद्ध"
-      body: "वहाँ निम्नलिखित क्षेत्रों के साथ समस्याओं रहे थे:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/hi.yml b/vendor/rails-locales/hi.yml
deleted file mode 100644 (file)
index 9f98e4f..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Hindi (hi) translations for Rails
-# by Rajesh Ranjan (rajesh672@gmail.com)
-
-hi:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - रविवार
-      - सोमवार
-      - मंगलवार
-      - बुधवार
-      - गुरुवार
-      - शुक्रवार
-      - शनिवार
-    abbr_day_names:
-      - रवि
-      - सोम
-      - मंगल
-      - बुध
-      - गुरु
-      - शुक्र
-      - शनि
-
-    month_names:
-      - ~
-      - जनवरी
-      - फरवरी
-      - मार्च
-      - अप्रैल
-      - मई
-      - जून
-      - जुलाई
-      - अगस्त
-      - सितंबर
-      - अक्टूबर
-      - नवंबर
-      - दिसंबर
-    abbr_month_names:
-      - ~
-      - जन
-      - फर
-      - मार्च
-      - अप्रै
-      - मई
-      - जून
-      - जुला
-      - अग
-      - सितं
-      - अक्टू
-      - नवं
-      - दिस
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "पूर्वाह्न"
-    pm: "अपराह्न"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " और "
-      last_word_connector: ", और "
-
-    select:
-      prompt: "कृपया चुनें"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "₹"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "हज़ार"
-          million: "दस करोड़"
-          billion: "अरब"
-          trillion: "खरब"
-          quadrillion: "करोड़ शंख"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "एक आधा मिनट"
-      less_than_x_seconds:
-        one:   "एक सेकेंड से कम"
-        other: "%{count}  सेकेंड से कम"
-      x_seconds:
-        one:   "एक सेकेंड"
-        other: "%{count} सेकेंड"
-      less_than_x_minutes:
-        one:   "एक मिनट से कम"
-        other: "%{count} मिनट से कम"
-      x_minutes:
-        one:   "एक मिनट"
-        other: "%{count} मिनट"
-      about_x_hours:
-        one:   "लगभग एक घंटा"
-        other: "लगभग %{count} घंटा"
-      x_days:
-        one:   "एक दिन"
-        other: "%{count} दिन"
-      about_x_months:
-        one:   "लगभग 1 महीना"
-        other: "लगभग %{count} महीना"
-      x_months:
-        one:   "एक महीना"
-        other: "%{count} महीना"
-      about_x_years:
-        one:   "लगभग 1 साल"
-        other: "लगभग %{count} साल"
-      over_x_years:
-        one:   "एक साल के ऊपर"
-        other: "%{count} साल से अधिक"
-      almost_x_years:
-        one:   "लगभग एक साल"
-        other: "लगभग %{count} साल"
-    prompts:
-      year:   "वर्ष"
-      month:  "माह"
-      day:    "दिन"
-      hour:   "घंटा"
-      minute: "मिनट"
-      second: "सेकेंड"
-
-  helpers:
-    select:
-      prompt: "कृपया चुनें"
-
-    submit:
-      create: '%{model} बनाएँ'
-      update: '%{model} अद्यतन'
-      submit: '%{model} सौंपें'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "सूची में शामिल नहीं है"
-      exclusion: "आरक्षित है"
-      invalid: "अवैध है"
-      confirmation: "पुष्टिकरण मेल नहीं खाता"
-      accepted: "स्वीकार किया जाना जरूरी"
-      empty: "रिक्त नहीं रह सकता है"
-      blank: "खाली नहीं रह सकता है"
-      too_long: "अत्यधिक लंबा है (अधिकतम %{count} वर्ण हैं)"
-      too_short: "अत्यधिक छोटा है (न्यूनतम %{count} वर्ण हैं)"
-      wrong_length: "गलत लंबाई है (%{count} वर्ण युक्त होना चाहिए)"
-      not_a_number: "कोई संख्या नहीं है"
-      not_an_integer: "एक पूर्णांक होना चाहिए"
-      greater_than: "%{count} से अधिक होना चाहिए"
-      greater_than_or_equal_to: "%{count} से बड़ा या बराबर होना आवश्यक है"
-      equal_to: "%{count} के लिए बराबर होना चाहिए"
-      less_than: "%{count} से कम होना चाहिए"
-      less_than_or_equal_to: "%{count} से कम या बराबर होना आवश्यक है"
-      odd: "विसम होना चाहिए"
-      even: "सम होना चाहिए"
-      taken: "पहले ही ले लिया गया है"
-      record_invalid: "सत्यापन विफल: %{errors}"
-    template: &errors_template
-      header:
-        one:    "इस %{model} को सहेजे जाना एक त्रुटि के कारण नहीं हुआ"
-        other:  "इस %{model} को सहेजे जाना %{count} त्रुटि के कारण नहीं हुआ"
-      body: "निम्नलिखित क्षेत्रों के साथ समस्या थी:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/hr.yml b/vendor/rails-locales/hr.yml
deleted file mode 100644 (file)
index 800243c..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-# Croatian translation for Ruby on Rails
-# by Marjan Vrban (mvrban@gmail.com)
-
-"hr":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%B %e, %Y"
-    day_names:
-      - Nedjelja
-      - Ponedjeljak
-      - Utorak
-      - Srijeda
-      - Četvrtak
-      - Petak
-      - Subota
-    abbr_day_names:
-      - Ned
-      - Pon
-      - Uto
-      - Sre
-      - Čet
-      - Pet
-      - Sub
-    month_names:
-      - ~
-      - Siječanj
-      - Veljača
-      - Ožujak
-      - Travanj
-      - Svibanj
-      - Lipanj
-      - Srpanj
-      - Kolovoz
-      - Rujan
-      - Listopad
-      - Studeni
-      - Prosinac
-    abbr_month_names:
-      - ~
-      - Sij
-      - Vel
-      - Ožu
-      - Tra
-      - Svi
-      - Lip
-      - Srp
-      - Kol
-      - Ruj
-      - Lis
-      - Stu
-      - Pro
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %b %d %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: 'AM'
-    pm: 'PM'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'pola minute'
-      less_than_x_seconds:
-        zero: 'manje od 1 sekunde'
-        one: 'manje od 1 sekunde'
-        few: 'manje od %{count} sekunde'
-        other: 'manje od %{count} sekundi'
-      x_seconds:
-        one: '1 sekunda'
-        few: '%{count} sekunde'
-        other: '%{count} sekundi'
-      less_than_x_minutes:
-        zero: 'manje od minute'
-        one: 'manje od 1 minute'
-        other: 'manje od %{count} minuta'
-      x_minutes:
-        one: '1 minuta'
-        other: '%{count} minuta-e'
-      about_x_hours:
-        one: 'oko 1 sat'
-        few: 'oko %{count} sata'
-        other: 'oko %{count} sati'
-      x_days:
-        one: '1 dan'
-        other: '%{count} dana'
-      about_x_months:
-        one: 'oko 1 mjesec'
-        few: 'oko %{count} mjeseca'
-        other: 'oko %{count} mjeseci'
-      x_months:
-        one: '1 mjesec'
-        few: '%{count} mjeseca'
-        other: '%{count} mjeseci'
-      about_x_years:
-        one: 'oko 1 godine'
-        other: 'oko %{count} godine'
-      over_x_years:
-        one: 'preko 1 godine'
-        other: 'preko %{count} godine'
-
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'Kn'
-        precision: 2
-        format: '%n %u'
-        separator: "."
-        delimiter: ","
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one: 'Nisam uspio spremiti %{model}: 1 greška'
-        few: 'Nisam uspio spremiti %{model}: %{count} greške.'
-        other: 'Nisam uspio spremiti %{model}: %{count} greški.'
-      body: "Molim Vas provjerite slijedeća polja:"
-    messages: &errors_messages
-      inclusion: "nije u listi"
-      exclusion: "nije dostupno"
-      invalid: "nije ispravan"
-      confirmation: "se ne slaže sa svojom potvrdom"
-      accepted: "mora biti prihvaćen"
-      empty: "mora biti ispunjen"
-      blank: "mora biti ispunjen"
-      too_long: "je predugačak (ne više od %{count} karaktera)"
-      too_short: "je prekratak (ne manje od %{count} karaktera)"
-      wrong_length: "nije odgovarajuće dužine (mora imati %{count} karaktera)"
-      taken: "je zauzeto"
-      not_a_number: "nije broj"
-      greater_than: "mora biti veće od %{count}"
-      greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
-      equal_to: "mora biti jednako %{count}"
-      less_than: "mora biti manje od %{count}"
-      less_than_or_equal_to: "mora biti manje ili jednako %{count}"
-      odd: "mora biti neparno"
-      even: "mora biti parno"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/hsb.yml b/vendor/rails-locales/hsb.yml
deleted file mode 100644 (file)
index f5956de..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-# Upper Sorbian translations for Ruby on Rails
-# by Michael Wolf (preklady@wolfmicha.de)
-
-hsb:
-
-  # ActiveSupport
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " a "
-      last_word_connector: " a "
-
-  # Date
-  date:
-    formats:
-      default: "%d. %m. %Y"
-      short:   "%d %b"
-      long:    "%d. %B %Y"
-
-    day_names:
-      - njedźela
-      - póndźela
-      - wutora
-      - srjeda
-      - štwórtk
-      - pjatk
-      - sobota
-    abbr_day_names:
-      - Nj
-      - Pó
-      - Wu
-      - Sr
-      - Št
-      - Pj
-      - So
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - Měrc
-      - Apryl
-      - Meja
-      - Junij
-      - Julij
-      - Awgust
-      - September
-      - Oktober
-      - Nowember
-      - December
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - měr
-      - apr
-      - mej
-      - jun
-      - jul
-      - awg
-      - sep
-      - okt
-      - now
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  # Time
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M hodź"
-      short:   "%d. %B, %H:%M hodź."
-      long:    "%A, %d. %B %Y, %H:%M hodź."
-
-    am: "dopołdnja"
-    pm: "popołdnju"
-
-
-  # Numbers
-  number:
-    format:
-      precision: 3
-      separator: ","
-      delimiter: "."
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        unit: "€"
-        precision: 2
-        format: "%n %u"
-        separator: ","
-        delimiter: " "
-        significant: false
-        strip_insignificant_zeros: false
-
-    human:
-      format:
-        precision: 1
-        delimiter: ""
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "bajt"
-            two: "bajtaj"
-            few: "bajty"
-            other: "bajtow"
-          kb:   "KB"
-          mb:   "MB"
-          gb:   "GB"
-          tb:   "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-
-  # Distance of time ... helper
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "poł mjeńšiny"
-      less_than_x_seconds:
-        one:   "mjenje hač 1 sekundu"
-        two:   "mjenje hač %{count} sekundomaj"
-        few:   "mjenje hač %{count} sekundami"
-        other: "mjenje hač %{count} sekundami"
-      x_seconds:
-        one:   "1 sekundu"
-        two:   "%{count} sekundomaj"
-        few:   "%{count} sekundami"
-        other: "%{count} sekundami"
-      less_than_x_minutes:
-        one: "mjenje hač 1 mjeńšinu"
-        two: "mjenje hač %{count} mjeńšinomaj"
-        few: "mjenje hač %{count} mjeńšinami"
-        other: "mjenje hač %{count} mjeńšinami"
-      x_minutes:
-        one:    "1 mjeńšinu"
-        two:    "%{count} mjeńšinomaj"
-        few:    "%{count} mjeńšinami"
-        other:  "%{count} mjeńšinami"
-      about_x_hours:
-        one:    "něhdźe 1 hodźinu"
-        two:    "něhdźe %{count} hodźinomaj"
-        few:    "něhdźe %{count} hodźinami"
-        other:  "něhdźe %{count} hodźinami"
-      x_days:
-        one:    "1 dnjom"
-        two:    "%{count} dnjomaj"
-        few:    "%{count} dnjemi"
-        other:  "%{count} dnjemi"
-      about_x_months:
-        one:    "něhdźe 1 měsacom"
-        two:    "něhdźe %{count} měsacomaj"
-        few:    "něhdźe %{count} měsacami"
-        other:  "něhdźe %{count} měsacami"
-      x_months:
-        one:    "1 měsacom"
-        two:    "%{count} měsacomaj"
-        few:    "%{count} měsacami"
-        other:  "%{count} měsacami"
-      about_x_years:
-        one:    "něhdźe 1 lětom"
-        two:    "něhdźe %{count} lětomaj"
-        few:    "něhdźe %{count} lětami"
-        other:  "něhdźe %{count} lětami"
-      over_x_years:
-        one:    "přez 1 lětom"
-        two:    "přez %{count} lětomaj"
-        few:    "přez %{count} lětami"
-        other:  "přez %{count} lětami"
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion:    "njeje płaćiwa hódnota"
-      exclusion:    "njesteji k dispoziciji"
-      invalid:      "njeje płaćiwy"
-      confirmation: "njebu wobkrućene"
-      accepted:     "dyrbi so wobkrućić"
-      empty:        "njesmě prózdny być"
-      blank:        "je trěbny"
-      too_long:
-        one:        "je předołhi (maks. 1 znamješko)"
-        two:        "je předołhi (maks. %{count} znamješce)"
-        few:        "je předołhi (maks. %{count} znamješka)"
-        other:      "je předołhi (maks. %{count} znamješkow)"
-      too_short:
-        one:        "je překrótki (min. 1 znamješko)"
-        two:        "je překrótki (min. %{count} znamješće)"
-        few:        "je překrótki (min. %{count} znamješka)"
-        other:      "je překrótki (min. %{count} znamješkow)"
-      wrong_length:
-        one:        "nima prawu dołhosć (1 znamješko wočakowane)"
-        two:        "nima prawu dołhosć (%{count} znamješce wočakowanej)"
-        few:        "nima prawu dołhosć (%{count} znamješka wočakowane)"
-        other:      "nima prawu dołhosć (%{count} znamješkow wočakowanych)"
-      taken:        "je hižo w datowej bance"
-      not_a_number: "njeje ličba"
-      greater_than: "dyrbi wjetši hač %{count} być"
-      greater_than_or_equal_to: "dyrbi wjetši abo runja %{count} być"
-      equal_to:                 "dyrbi runja %{count} być"
-      less_than:                "dyrbi mjenje hač %{count} być"
-      less_than_or_equal_to:    "dyrbi mjenje abo runja %{count} być"
-      odd:                      "dyrbi njeruna ličby być"
-      even:                     "dyrbi runa ličba być"
-    template: &errors_template
-      header:
-        one:   "Při składowanju objekta %{model} je k zmylkej dóšło a njebě móžno składować"
-        two:   "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
-        few:   "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
-        other: "Při składowanju objekta %{model} je k %{count} zmylkam dóšło a njebě móžno składować"
-      body:  "Prošu přepruwuj slědowace pola:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/hu.yml b/vendor/rails-locales/hu.yml
deleted file mode 100644 (file)
index d6fa10b..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-# Hungarian translations for Ruby on Rails
-# by Richard Abonyi (richard.abonyi@gmail.com)
-# thanks to KKata, replaced and #hup.hu
-# Cleaned up by László Bácsi (http://lackac.hu)
-# updated by kfl62 kfl62g@gmail.com
-
-"hu":
-  date:
-    formats:
-      default: "%Y.%m.%d."
-      short: "%b %e."
-      long: "%Y. %B %e."
-    day_names:
-      - vasárnap
-      - hétfő
-      - kedd
-      - szerda
-      - csütörtök
-      - péntek
-      - szombat
-    abbr_day_names:
-      - v.
-      - h.
-      - k.
-      - sze.
-      - cs.
-      - p.
-      - szo.
-    month_names:
-      - ~
-      - január
-      - február
-      - március
-      - április
-      - május
-      - június
-      - július
-      - augusztus
-      - szeptember
-      - október
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - jan.
-      - febr.
-      - márc.
-      - ápr.
-      - máj.
-      - jún.
-      - júl.
-      - aug.
-      - szept.
-      - okt.
-      - nov.
-      - dec.
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y. %b %e., %H:%M"
-      short: "%b %e., %H:%M"
-      long: "%Y. %B %e., %A, %H:%M"
-    am: "de."
-    pm: "du."
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " és "
-      last_word_connector: " és "
-    select:
-      prompt: "Válasszon"
-
-  number:
-    format:
-      precision: 2
-      separator: ','
-      delimiter: ' '
-      significant: true
-      strip_insignificant_zeros: true
-    currency:
-      format:
-        unit: 'Ft'
-        precision: 0
-        format: '%n %u'
-        separator: ","
-        delimiter: ""
-        significant: true
-        strip_insignificant_zeros: true
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "bájt"
-            other: "bájt"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Ezer
-          million: Millió
-          billion: Milliárd
-          trillion: Trillió
-          quadrillion: Kvadrillió
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'fél perc'
-      less_than_x_seconds:
-#        zero: 'kevesebb, mint 1 másodperc'
-        one: 'kevesebb, mint 1 másodperc'
-        other: 'kevesebb, mint %{count} másodperc'
-      x_seconds:
-        one: '1 másodperc'
-        other: '%{count} másodperc'
-      less_than_x_minutes:
-#        zero: 'kevesebb, mint 1 perc'
-        one: 'kevesebb, mint 1 perc'
-        other: 'kevesebb, mint %{count} perc'
-      x_minutes:
-        one: '1 perc'
-        other: '%{count} perc'
-      about_x_hours:
-        one: 'kb 1 óra'
-        other: 'kb %{count} óra'
-      x_days:
-        one: '1 nap'
-        other: '%{count} nap'
-      about_x_months:
-        one: 'kb 1 hónap'
-        other: 'kb %{count} hónap'
-      x_months:
-        one: '1 hónap'
-        other: '%{count} hónap'
-      about_x_years:
-        one: 'kb 1 év'
-        other: 'kb %{count} év'
-      over_x_years:
-        one: 'több, mint 1 év'
-        other: 'több, mint %{count} év'
-      almost_x_years:
-        one:   "majdnem 1 év"
-        other: "majdnem %{count} év"
-    prompts:
-      year:   "Év"
-      month:  "Hónap"
-      day:    "Nap"
-      hour:   "Óra"
-      minute: "Perc"
-      second: "Másodperc"
-
-  helpers:
-    select:
-      prompt: "Válasszon"
-    submit:
-      create: 'Új %{model}'
-      update: '%{model} Módosítása'
-      submit: '%{model} Mentése'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nincs a listában"
-      exclusion: "nem elérhető"
-      invalid: "nem megfelelő"
-      confirmation: "nem egyezik"
-      accepted: "nincs elfogadva"
-      empty: "nincs megadva"
-      blank: "nincs megadva"
-      too_long: "túl hosszú (nem lehet több %{count} karakternél)"
-      too_short: "túl rövid (legalább %{count} karakter kell legyen)"
-      wrong_length: "nem megfelelő hosszúságú (%{count} karakter szükséges)"
-      not_a_number: "nem szám"
-      not_an_integer: "egész számnak kell lennie"
-      greater_than: "nagyobb kell legyen, mint %{count}"
-      greater_than_or_equal_to: "legalább %{count} kell legyen"
-      equal_to: "pontosan %{count} kell legyen"
-      less_than: "kevesebb, mint %{count} kell legyen"
-      less_than_or_equal_to: "legfeljebb %{count} lehet"
-      odd: "páratlan kell legyen"
-      even: "páros kell legyen"
-      taken: "már foglalt"
-      record_invalid: "Sikertelen validálás %{errors}"
-    template: &errors_template
-      header:
-        one: "1 hiba miatt nem menthető a következő: %{model}"
-        other: "%{count} hiba miatt nem menthető a következő: %{model}"
-      body: "Problémás mezők:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/id.yml b/vendor/rails-locales/id.yml
deleted file mode 100644 (file)
index 04b3c2e..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-# Indonesian translations for Ruby on Rails
-# by wynst (wynst.uei@gmail.com)
-
-id:
-  date:
-    formats:
-      default: "%d %B %Y"
-      long: "%A, %d %B %Y"
-      short: "%d.%m.%Y"
-
-    day_names:
-      - Minggu
-      - Senin
-      - Selasa
-      - Rabu
-      - Kamis
-      - "Jum'at"
-      - Sabtu
-    abbr_day_names:
-      - Min
-      - Sen
-      - Sel
-      - Rab
-      - Kam
-      - Jum
-      - Sab
-    month_names:
-      - ~
-      - Januari
-      - Februari
-      - Maret
-      - April
-      - Mei
-      - Juni
-      - Juli
-      - Agustus
-      - September
-      - Oktober
-      - November
-      - Desember
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - Mei
-      - Jun
-      - Jul
-      - Agu
-      - Sep
-      - Okt
-      - Nov
-      - Des
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H.%M.%S %z"
-      short: "%d %b %H.%M"
-      long: "%d %B %Y %H.%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    select:
-      prompt: "Silahkan pilih"
-    array:
-      words_connector: ", "
-      two_words_connector: ", "
-      last_word_connector: " dan "
-
-  number:
-    format:
-      delimiter: "."
-      separator: ","
-      precision: 2
-
-    currency:
-      format:
-        format: "%n. %u"
-        unit: "Rp"
-        separator: ","
-        delimiter: "."
-        precision: 2
-
-    percentage:
-      format:
-      delimiter: "."
-      separator: ","
-      precision: 2
-
-    precision:
-      format:
-      delimiter: "."
-      separator: ","
-
-    human:
-      format:
-      delimiter: "."
-      separator: ","
-      precision: 1
-      storage_units:
-        - Byte
-        - KB
-        - MB
-        - GB
-        - TB
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "setengah menit"
-      less_than_x_seconds:
-        zero:  "kurang dari 1 detik"
-        one:   "kurang dari 1 detik"
-        other: "kurang dari %{count} detik"
-      x_seconds:
-        one:   "satu detik"
-        other: "%{count} detik"
-      less_than_x_minutes:
-        zero:  "kurang dari 1 menit"
-        one:   "kurang dari 1 menit"
-        other: "kurang dari  %{count} menit"
-      x_minutes:
-        one:   "satu menit"
-        other: "%{count} menit"
-      about_x_hours:
-        one:   "sekitar satu jam"
-        other: "sekitar %{count} jam"
-      x_days:
-        one:   "sehari"
-        other: "%{count} hari"
-      about_x_months:
-        one:   "sekitar sebulan"
-        other: "sekitar %{count} bulan"
-      x_months:
-        one:   "sebulan"
-        other: "%{count} bulan"
-      about_x_years:
-        one:   "setahun"
-        other: "noin %{count} tahun"
-      over_x_years:
-        one:   "lebih dari setahun"
-        other: "lebih dari %{count} tahun"
-      almost_x_years:
-        one:   "hampir setahun"
-        other: "hampir %{count} tahun"
-    prompts:
-      year:   "Tahun"
-      month:  "Bulan"
-      day:    "Hari"
-      hour:   "Jam"
-      minute: "Menit"
-      second: "Detik"
-
-  helpers:
-    select:
-      prompt: "Silahkan pilih"
-
-    submit:
-      create: 'Buat %{model}'
-      update: 'Update %{model}'
-      submit: 'Simpan %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "tidak termasuk"
-      exclusion: "sudah digunakan"
-      invalid: "tidak valid"
-      confirmation: "tidak sesuai dengan konfirmasi"
-      accepted: "harus diterima"
-      empty: "tidak bisa kosong"
-      blank: "tidak bisa kosong"
-      too_long: "terlalu panjang (maksimum %{count} karakter)"
-      too_short: "terlalu pendek (minimum %{count} karakter)"
-      wrong_length: "jumlah karakter salah (seharusnya %{count} karakter)"
-      taken: "sudah digunakan"
-      not_a_number: "bukan angka"
-      greater_than: "harus lebih besar dari %{count}"
-      greater_than_or_equal_to: "harus sama atau lebih besar dari %{count}"
-      equal_to: "harus sama dengan %{count}"
-      less_than: "harus lebih kecil dari %{count}"
-      less_than_or_equal_to: "harus sama atau lebih kecil dari %{count}"
-      odd: "harus ganjil"
-      even: "harus genap"
-      record_invalid: "Verifikasi gagal: %{errors}"
-    template: &errors_template
-      header:
-        one: "1 kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
-        other: "%{count} kesalahan mengakibatkan %{model} ini tidak bisa disimpan"
-      body: "Ada masalah dengan field berikut:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "Rp"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Byte"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Ribu
-          million: Juta
-          billion: Miliar
-          trillion: Triliun
-          quadrillion: Quadriliun
diff --git a/vendor/rails-locales/is.yml b/vendor/rails-locales/is.yml
deleted file mode 100644 (file)
index aa2a29d..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-# Icelandic, by Ævar Arnfjörð Bjarmason <avarab@gmail.com>
-# Corrections by Ásgeir Bjarni Ingvarsson
-
-"is":
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-
-    day_names:
-      - sunnudaginn
-      - mánudaginn
-      - þriðjudaginn
-      - miðvikudaginn
-      - fimmtudaginn
-      - föstudaginn
-      - laugardaginn
-    abbr_day_names:
-      - sun
-      - mán
-      - þri
-      - mið
-      - fim
-      - fös
-      - lau
-
-    month_names:
-      - ~
-      - janúar
-      - febrúar
-      - mars
-      - apríl
-      - maí
-      - júní
-      - júlí
-      - ágúst
-      - september
-      - október
-      - nóvember
-      - desember
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - maí
-      - jún
-      - júl
-      - ágú
-      - sep
-      - okt
-      - nóv
-      - des
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A %e. %B %Y kl. %H:%M"
-      short: "%e. %B kl. %H:%M"
-      long: "%A %e. %B %Y kl. %H:%M"
-    am: ""
-    pm: ""
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " og "
-      last_word_connector: " og "
-
-    select:
-      prompt: "Veldu"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "kr."
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "bæti"
-            other: "bæti"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: þúsund
-          million:
-            one: milljón
-            other: milljónir
-          billion:
-            one: milliarður
-            other: milliarðar
-          trillion:
-            one: billjón
-            other: billjónir
-          quadrillion:
-            one: billjarður
-            other: billjarðar
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "hálf mínúta"
-      less_than_x_seconds:
-        one: "minna en 1 sekúnda"
-        other: "minna en %{count} sekúndur"
-      x_seconds:
-        one: "1 sekúnda"
-        other: "%{count} sekúndur"
-      less_than_x_minutes:
-        one: "minna en 1 mínúta"
-        other: "minna en %{count} mínútur"
-      x_minutes:
-        one: "1 mínúta"
-        other: "%{count} mínútur"
-      about_x_hours:
-        one: "u.þ.b. 1 klukkustund"
-        other: "u.þ.b. %{count} klukkustundir"
-      x_days:
-        one: "1 dagur"
-        other: "%{count} dagar"
-      about_x_months:
-        one: "u.þ.b. 1 mánuður"
-        other: "u.þ.b. %{count} mánuðir"
-      x_months:
-        one: "1 mánuður"
-        other: "%{count} mánuðir"
-      about_x_years:
-        one: "u.þ.b. 1 ár"
-        other: "u.þ.b. %{count} ár"
-      over_x_years:
-        one: "meira en 1 ár"
-        other: "meira en %{count} ár"
-      almost_x_years:
-        one:   "næstum 1 ár"
-        other: "næstum %{count} ár"
-    prompts:
-      year:   "Ár"
-      month:  "Mánuður"
-      day:    "Dagur"
-      hour:   "Klukkustund"
-      minute: "Mínúta"
-      second: "Sekúnda"
-
-  helpers:
-    select:
-      prompt: "Veldu"
-
-    submit:
-      create: 'Búa til %{model}'
-      update: 'Uppfæra %{model}'
-      submit: 'Geyma %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "er ekki í listanum"
-      exclusion: "er frátekið"
-      invalid: "er ógilt"
-      confirmation: "er ekki jafngilt staðfestingunni"
-      accepted: "þarf að vera tekið gilt"
-      empty: "má ekki vera tómt"
-      blank: "má ekki innihalda auða stafi"
-      too_long: "er of langt (má mest vera %{count} stafir)"
-      too_short: "er of stutt (má minnst vera %{count} stafir)"
-      wrong_length: "er af rangri lengd (má mest vera %{count} stafir)"
-      not_a_number: "er ekki tala"
-      not_an_integer: "verður að vera heiltala"
-      greater_than: "þarf að vera stærri en %{count}"
-      greater_than_or_equal_to: "þarf að vera stærri en eða jafngilt %{count}"
-      equal_to: "þarf að vera jafngilt %{count}"
-      less_than: "þarf að vera minna en %{count}"
-      less_than_or_equal_to: "þarf að vera minna en eða jafngilt %{count}"
-      odd: "þarf að vera oddatala"
-      even: "þarf að vera slétt tala"
-      taken: "er þegar í notkun"
-      record_invalid: "Villur: %{errors}"
-    template: &errors_template
-      header:
-        one: "Ekki var hægt að vista %{model} vegna einnar villu."
-        other: "Ekki var hægt að vista %{model} vegna %{count} villna."
-      body: "Upp kom vandamál í eftirfarandi dálkum:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/it.yml b/vendor/rails-locales/it.yml
deleted file mode 100644 (file)
index c867678..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-# Italian translations for Ruby on Rails
-#
-# Contributors:
-# - Claudio Poli (masterkain@gmail.com)
-# - Simone Carletti (weppos@weppos.net)
-# - Davide Guerri (d.guerri@caspur.it)
-
-it:
-  number:
-    format:
-      delimiter: ","
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-      separator: "."
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "€"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-        # precision:
-
-    precision:
-      format:
-        # separator:
-        delimiter: ""
-        # precision:
-
-    human:
-      format:
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Byte"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Mila"
-          million: "Milioni"
-          billion: "Miliardi"
-          trillion: "Bilioni"
-          quadrillion: "Biliardi"
-
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - Domenica
-      - Lunedì
-      - Martedì
-      - Mercoledì
-      - Giovedì
-      - Venerdì
-      - Sabato
-    abbr_day_names:
-      - Dom
-      - Lun
-      - Mar
-      - Mer
-      - Gio
-      - Ven
-      - Sab
-
-    month_names:
-      - ~
-      - Gennaio
-      - Febbraio
-      - Marzo
-      - Aprile
-      - Maggio
-      - Giugno
-      - Luglio
-      - Agosto
-      - Settembre
-      - Ottobre
-      - Novembre
-      - Dicembre
-    abbr_month_names:
-      - ~
-      - Gen
-      - Feb
-      - Mar
-      - Apr
-      - Mag
-      - Giu
-      - Lug
-      - Ago
-      - Set
-      - Ott
-      - Nov
-      - Dic
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %Y, %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B %Y %H:%M"
-    am: 'am'
-    pm: 'pm'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "mezzo minuto"
-      less_than_x_seconds:
-        one:  "meno di un secondo"
-        other: "meno di %{count} secondi"
-      x_seconds:
-        one:  "1 secondo"
-        other: "%{count} secondi"
-      less_than_x_minutes:
-        one:  "meno di un minuto"
-        other: "meno di %{count} minuti"
-      x_minutes:
-        one:  "1 minuto"
-        other: "%{count} minuti"
-      about_x_hours:
-        one:  "circa un'ora"
-        other: "circa %{count} ore"
-      x_days:
-        one:  "1 giorno"
-        other: "%{count} giorni"
-      about_x_months:
-        one:  "circa un mese"
-        other: "circa %{count} mesi"
-      x_months:
-        one:  "1 mese"
-        other: "%{count} mesi"
-      about_x_years:
-        one:  "circa un anno"
-        other: "circa %{count} anni"
-      over_x_years:
-        one:  "oltre un anno"
-        other: "oltre %{count} anni"
-      almost_x_years:
-        one:   "circa 1 anno"
-        other: "circa %{count} anni"
-    prompts:
-      year:   "Anno"
-      month:  "Mese"
-      day:    "Giorno"
-      hour:   "Ora"
-      minute: "Minuto"
-      second: "Secondi"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: " e "
-
-    select:
-      prompt: "Per favore, seleziona"
-
-  helpers:
-    select:
-      prompt: "Per favore, seleziona"
-
-    submit:
-      create: 'Crea %{model}'
-      update: 'Aggiorna %{model}'
-      submit: 'Invia %{model}'
-
-  errors:
-      format: "%{attribute} %{message}"
-
-      messages: &errors_messages
-        inclusion: "non è incluso nella lista"
-        exclusion: "è riservato"
-        invalid: "non è valido"
-        confirmation: "non coincide con la conferma"
-        accepted: "deve essere accettata"
-        empty: "non può essere vuoto"
-        blank: "non può essere lasciato in bianco"
-        too_long:
-          one: "è troppo lungo (il massimo è 1 carattere)"
-          other: "è troppo lungo (il massimo è %{count} caratteri)"
-        too_short:
-          one:  "è troppo corto (il minimo è 1 carattere)"
-          other:  "è troppo corto (il minimo è %{count} caratteri)"
-        wrong_length:
-          one: "è della lunghezza sbagliata (deve essere di 1 carattere)"
-          other: "è della lunghezza sbagliata (deve essere di %{count} caratteri)"
-        not_a_number: "non è un numero"
-        not_an_integer: "non è un intero"
-        greater_than: "deve essere superiore a %{count}"
-        greater_than_or_equal_to: "deve essere superiore o uguale a %{count}"
-        equal_to: "deve essere uguale a %{count}"
-        less_than: "deve essere meno di %{count}"
-        less_than_or_equal_to: "deve essere meno o uguale a %{count}"
-        odd: "deve essere dispari"
-        even: "deve essere pari"
-        taken: "è già in uso"
-        record_invalid: "Validazione fallita: %{errors}"
-      template: &errors_template
-        header:
-          one: "Non posso salvare questo %{model}: 1 errore"
-          other: "Non posso salvare questo %{model}: %{count} errori."
-        body: "Per favore ricontrolla i seguenti campi:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/ja.yml b/vendor/rails-locales/ja.yml
deleted file mode 100644 (file)
index d32a235..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-# Japanese translations for Ruby on Rails
-# by Akira Matsuda (ronnie@dio.jp)
-# AR error messages are basically taken from Ruby-GetText-Package. Thanks to Masao Mutoh.
-# contributors:
-#  - Tsutomu Kuroda (t-kuroda@oiax.jp)
-
-ja:
-  date:
-    formats:
-      default: "%Y/%m/%d"
-      short: "%m/%d"
-      long: "%Y年%m月%d日(%a)"
-
-    day_names:
-      - 日曜日
-      - 月曜日
-      - 火曜日
-      - 水曜日
-      - 木曜日
-      - 金曜日
-      - 土曜日
-    abbr_day_names:
-      - 日
-      - 月
-      - 火
-      - 水
-      - 木
-      - 金
-      - 土
-
-    month_names:
-      - ~
-      - 1月
-      - 2月
-      - 3月
-      - 4月
-      - 5月
-      - 6月
-      - 7月
-      - 8月
-      - 9月
-      - 10月
-      - 11月
-      - 12月
-    abbr_month_names:
-      - ~
-      - 1月
-      - 2月
-      - 3月
-      - 4月
-      - 5月
-      - 6月
-      - 7月
-      - 8月
-      - 9月
-      - 10月
-      - 11月
-      - 12月
-
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y/%m/%d %H:%M:%S"
-      short: "%y/%m/%d %H:%M"
-      long: "%Y年%m月%d日(%a) %H時%M分%S秒 %z"
-    am: "午前"
-    pm: "午後"
-
-  support:
-    array:
-      words_connector: "と"
-      two_words_connector: "と"
-      last_word_connector: "と"
-
-    select:
-      prompt: "選択してください。"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n%u"
-        unit: "円"
-        separator: "."
-        delimiter: ","
-        precision: 3
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-
-      storage_units:
-        format: "%n%u"
-        units:
-          byte: "バイト"
-          kb: "キロバイト"
-          mb: "メガバイト"
-          gb: "ギガバイト"
-          tb: "テラバイト"
-
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "千"
-          million: "百万"
-          billion: "十億"
-          trillion: "兆"
-          quadrillion: "千兆"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "30秒前後"
-      less_than_x_seconds:
-        one:   "1秒以内"
-        other: "%{count}秒以内"
-      x_seconds:
-        one:   "1秒"
-        other: "%{count}秒"
-      less_than_x_minutes:
-        one:   "1分以内"
-        other: "%{count}分以内"
-      x_minutes:
-        one:   "1分"
-        other: "%{count}分"
-      about_x_hours:
-        one:   "約1時間"
-        other: "約%{count}時間"
-      x_days:
-        one:   "1日"
-        other: "%{count}日"
-      about_x_months:
-        one:   "約1ヶ月"
-        other: "約%{count}ヶ月"
-      x_months:
-        one:   "1ヶ月"
-        other: "%{count}ヶ月"
-      about_x_years:
-        one:   "約1年"
-        other: "約%{count}年"
-      over_x_years:
-        one:   "1年以上"
-        other: "%{count}年以上"
-      almost_x_years:
-        one:   "1年弱"
-        other: "%{count}年弱"
-
-    prompts:
-      year:   "年"
-      month:  "月"
-      day:    "日"
-      hour:   "時"
-      minute: "分"
-      second: "秒"
-
-  helpers:
-    select:
-      prompt: "選択してください。"
-
-    submit:
-      create: "登録する"
-      update: "更新する"
-      submit: "保存する"
-
-  errors:
-    format: "%{attribute}%{message}"
-
-    messages: &errors_messages
-      inclusion: "は一覧にありません。"
-      exclusion: "は予約されています。"
-      invalid: "は不正な値です。"
-      confirmation: "が一致しません。"
-      accepted: "を受諾してください。"
-      empty: "を入力してください。"
-      blank: "を入力してください。"
-      too_long: "は%{count}文字以内で入力してください。"
-      too_short: "は%{count}文字以上で入力してください。"
-      wrong_length: "は%{count}文字で入力してください。"
-      not_a_number: "は数値で入力してください。"
-      not_an_integer: "は整数で入力してください。"
-      greater_than: "は%{count}より大きい値にしてください。"
-      greater_than_or_equal_to: "は%{count}以上の値にしてください。"
-      equal_to: "は%{count}にしてください。"
-      less_than: "は%{count}より小さい値にしてください。"
-      less_than_or_equal_to: "は%{count}以下の値にしてください。"
-      odd: "は奇数にしてください。"
-      even: "は偶数にしてください。"
-      taken: "はすでに存在します。"
-      record_invalid: "バリデーションに失敗しました。 %{errors}"
-    template: &errors_template
-      header:
-        one:   "%{model}にエラーが発生しました。"
-        other: "%{model}に%{count}つのエラーが発生しました。"
-      body: "次の項目を確認してください。"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute}%{message}"
diff --git a/vendor/rails-locales/kn.yml b/vendor/rails-locales/kn.yml
deleted file mode 100644 (file)
index 25633ff..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-# Kannada translations for Ruby on Rails
-# by Sukeerthi Adiga G(sukeerthiadiga@gmail.com)
-
-kn:
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - ರವಿವಾರ
-      - ಸೋಮವಾರ
-      - ಮಂಗಳವಾರ
-      - ಬುಧವಾರ
-      - ಗುರುವಾರ
-      - ಶುಕ್ರವಾರ
-      - ಶನಿವಾರ
-    abbr_day_names:
-      - ರವಿ
-      - ಸೋಮ
-      - ಮಂಗಳ
-      - ಬುಧ
-      - ಗುರು
-      - ಶುಕ್ರ
-      - ಶನಿ
-
-    month_names:
-      - ~
-      - ಜನವರಿ
-      - ಫೆಬ್ರವರಿ
-      - ಮಾರ್ಚ್
-      - ಏಪ್ರಿಲ್
-      - ಮೇ
-      - ಜೂನ್
-      - ಜುಲೈ
-      - ಆಗಸ್ಟ್
-      - ಸೆಪ್ಟೆಂಬರ್
-      - ಅಕ್ಟೋಬರ್
-      - ನವಂಬರ್
-      - ಡಿಸೆಂಬರ್
-
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - May
-      - Jun
-      - Jul
-      - Aug
-      - Sep
-      - Oct
-      - Nov
-      - Dec
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "ಪ್ರಾತಃಕಾಲ"
-    pm: "ಅಪರನ್ನಃ"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " ಮತ್ತು  "
-      last_word_connector: ", ಮತ್ತು  "
-
-    select:
-      prompt: "ದಯವಿಟ್ಟು ಆರಿಸಿ"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: ಸಾವಿರ
-          million: ದಶಲಕ್ಷ
-          billion: ಲಕ್ಷಕೋಟಿ
-          trillion: ನೀಲ್
-          quadrillion: ಪದ್ಮ
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "ಒಂದು ಅರ್ಧ ನಿಮಿಷ"
-      less_than_x_seconds:
-        one:   "ಒಂದು ಸೆಕೆಂಡಿಗೂ ಕಡಿಮೆ"
-        other: "%{count} ಸೆಕೆಂಡಿಗಿಂತ ಕಡಿಮೆ"
-      x_seconds:
-        one:   "1 ಸೆಕೆಂಡ್"
-        other: "%{count} ಸೆಕೆಂಡುಗಳು"
-      less_than_x_minutes:
-        one:   "ಒಂದು ನಿಮಿಷಕ್ಕೂ ಕಡಿಮೆ"
-        other: "%{count} ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ"
-      x_minutes:
-        one:   "1 ನಿಮಿಷ"
-        other: "%{count} ನಿಮಿಷಗಳು"
-      about_x_hours:
-        one:   "ಸುಮಾರು ಒಂದು ಗಂಟೆ"
-        other: "ಸುಮಾರು %{count} ಗಂಟೆಗಳು"
-      x_days:
-        one:   "1 ದಿನ"
-        other: "%{count} ದಿನಗಳು"
-      about_x_months:
-        one:   "ಸುಮಾರು ಒಂದು ತಿಂಗಳು"
-        other: "ಸುಮಾರು %{count} ತಿಂಗಳುಗಳು"
-      x_months:
-        one:   "1 ತಿಂಗಳು"
-        other: "%{count} ತಿಂಗಳುಗಳು"
-      about_x_years:
-        one:   "ಸುಮಾರು ಒಂದು ವರುಷ"
-        other: "ಸುಮಾರು %{count} ವರುಷಗಳು"
-      over_x_years:
-        one:   "ಒಂದು ವರುಷಕ್ಕಿಂತ ಹೆಚ್ಚು"
-        other: "%{count} ವರುಷಗಳಿಗಿಂತ ಹೆಚ್ಚು"
-      almost_x_years:
-        one:   "ಸರಿಸುಮಾರು ಒಂದು ವರುಷ"
-        other: "ಸರಿಸುಮಾರು %{count} ವರುಷಗಳು"
-    prompts:
-      year:   "ವರುಷ"
-      month:  "ತಿಂಗಳು"
-      day:    "ದಿನ"
-      hour:   "ಗಂಟೆ"
-      minute: "ನಿಮಿಷ"
-      second: "ಸೆಕೆಂಡು"
-
-  helpers:
-    select:
-      prompt: "ದಯವಿಟ್ಟು ಆರಿಸಿ"
-
-    submit:
-      create: '%{model} ರಚಿಸಿ'
-      update: '%{model} ರಚಿಸಿ'
-      submit: '%{model} ಕಳುಹಿಸು'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "ಪಟ್ಟಿಯಲ್ಲಿ ಶಾಮೀಲು ಆಗಿಲ್ಲ"
-      exclusion: "ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ"
-      invalid: "ನಿರರ್ಥಕವಾಗಿದೆ"
-      confirmation: "ಸಮರ್ಥನೆ ಸರಿಬರಲ್ಲಿಲ್ಲ"
-      accepted: "ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು"
-      empty: "ಖಾಲಿ ಬಿಡಲು ಸಧ್ಯವಿಲ್ಲ"
-      blank: "ಖಾಲಿ ಬಿಡಲು ಸಧ್ಯವಿಲ್ಲ"
-      too_long: "ಬಹಳ ದೊಡ್ಡದಾಗಿದೆ (ಗರಿಷ್ಟ %{count} ಅಕ್ಷರಗಳು)"
-      too_short: "ಬಹಳ ಚಿಕ್ಕದಾಗಿದೆ (ಕನಿಷ್ಠ %{count} ಅಕ್ಷರಗಳು)"
-      wrong_length: "ತಪ್ಪು ಉದ್ದವಿದೆ (%{count} ಅಕ್ಷರಗಳಿರಬೇಕು)"
-      not_a_number: "ಸಂಖೆ ಆಗಿಲ್ಲ"
-      not_an_integer: "ಸಂಖೆ ಆಗಿರಬೇಕು"
-      greater_than: "%{count} ಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬೇಕು"
-      greater_than_or_equal_to: "%{count} ಕಿಂತ ಹೆಚ್ಚು ಅಥವಾ ಸಮಾನವಾಗಿರ ಇರಬೇಕು"
-      equal_to: "%{count} ಕ್ಕೆ ಸಮಾನವಾಗಿರಬೇಕು"
-      less_than: "%{count} ಕ್ಕಿಂತ ಕಡಿಮೆ ಆಗಿರಬೇಕು"
-      less_than_or_equal_to: "%{count} ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ ಸಮಾನವಾಗಿರ ಇರಬೇಕು"
-      odd: "ಬೆಸ ಆಗಿರಬೇಕು"
-      even: "ಸಮ ಆಗಿರಬೇಕು"
-      taken: "ತೆಗೆದುಕೊಂಡಾಗಿದೆ"
-      record_invalid: "ತಪ್ಪು ಆಧಾರ: %{errors}"
-    template: &errors_template
-      header:
-        one:    "1 ಧೋಷದ ಪರಿಣಾಮ %{model} ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"
-        other:  "%{count} ಧೋಷಗಳ ಪರಿಣಾಮ %{model} ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"
-      body: "ಸಮಸ್ಯೆಗಳಿರುವ ಜಾಗಗಳು:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/ko.yml b/vendor/rails-locales/ko.yml
deleted file mode 100644 (file)
index 584edc5..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-# Korean (한글) translations for Ruby on Rails
-# by John Hwang (jhwang@tavon.org)
-# http://github.com/tavon
-# and Sunghee Kang(paranoiase@gmail.com)
-# http://www.twitter.com/paranoiase
-
-ko:
-  date:
-    formats:
-      default: "%Y/%m/%d"
-      short: "%m/%d"
-      long: "%Y년 %m월 %d일 (%a)"
-
-    day_names:
-      - 일요일
-      - 월요일
-      - 화요일
-      - 수요일
-      - 목요일
-      - 금요일
-      - 토요일
-    abbr_day_names:
-      - 일
-      - 월
-      - 화
-      - 수
-      - 목
-      - 금
-      - 토
-
-    month_names:
-      - ~
-      - 1월
-      - 2월
-      - 3월
-      - 4월
-      - 5월
-      - 6월
-      - 7월
-      - 8월
-      - 9월
-      - 10월
-      - 11월
-      - 12월
-    abbr_month_names:
-      - ~
-      - 1월
-      - 2월
-      - 3월
-      - 4월
-      - 5월
-      - 6월
-      - 7월
-      - 8월
-      - 9월
-      - 10월
-      - 11월
-      - 12월
-
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y/%m/%d %H:%M:%S"
-      short: "%y/%m/%d %H:%M"
-      long: "%Y년 %B월 %d일, %H시 %M분 %S초 %Z"
-    am: "오전"
-    pm: "오후"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: "와(과) "
-      last_word_connector: ", "
-
-    select:
-      prompt: "선택해 주세요"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n%u"
-        unit: "원"
-        separator: "."
-        delimiter: ","
-        precision: 0
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-
-      storage_units:
-        format: "%n%u"
-        units:
-          byte: "바이트"
-          kb: "킬로바이트"
-          mb: "메가바이트"
-          gb: "기가바이트"
-          tb: "테라바이트"
-
-      decimal_units:
-        format: "%n%u"
-        units:
-          unit: ""
-          thousand: "천"
-          million: "백만"
-          billion: "십억"
-          trillion: "조"
-          quadrillion: "경"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "30초"
-      less_than_x_seconds:
-        one: "일 초 이하"
-        other: "%{count}초 이하"
-      x_seconds:
-        one: "일 초"
-        other: "%{count}초"
-      less_than_x_minutes:
-        one: "일 분 이하"
-        other: "%{count}분 이하"
-      x_minutes:
-        one: "일 분"
-        other: "%{count}분"
-      about_x_hours:
-        one: "약 한 시간"
-        other: "약 %{count}시간"
-      x_days:
-        one: "하루"
-        other: "%{count}일"
-      about_x_months:
-        one: "약 한 달"
-        other: "약 %{count}달"
-      x_months:
-        one: "한 달"
-        other: "%{count}달"
-      about_x_years:
-        one: "약 일 년"
-        other: "약 %{count}년"
-      over_x_years:
-        one: "일 년 이상"
-        other: "%{count}년 이상"
-      almost_x_years:
-        one: "일 년 이하"
-        other: "%{count}년 이하"
-
-    prompts:
-      year: "년"
-      month: "월"
-      day: "일"
-      hour: "시"
-      minute: "분"
-      second: "초"
-
-  helpers:
-    select:
-      prompt: "선택해주세요"
-
-    submit:
-      create: "등록"
-      update: "갱신"
-      submit: "제출"
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "은(는) 목록에 포함되어 있는 값이 아닙니다"
-      exclusion: "은(는) 이미 예약되어 있는 값입니다"
-      invalid: "은(는) 올바르지 않은 값입니다"
-      confirmation: "은(는) 서로 일치해야 합니다"
-      accepted: "을(를) 반드시 확인해야 합니다"
-      empty: "에 내용을 입력해 주세요"
-      blank: "에 내용을 입력해 주세요"
-      too_long: "은(는) %{count}자를 넘을 수 없습니다"
-      too_short: "은(는) 적어도 %{count}자를 넘어야 합니다"
-      wrong_length: "은(는) %{count}자여야 합니다"
-      not_a_number: "에 숫자를 입력해 주세요"
-      not_an_integer: "에 정수를 입력해 주세요"
-      greater_than: "은(는) %{count}보다 커야 합니다"
-      greater_than_or_equal_to: "은(는) %{count}보다 크거야 같아야 합니다"
-      equal_to: "은(는) %{count}과 같아야 합니다"
-      less_than: "은(는) %{count}보다 작아야 합니다"
-      less_than_or_equal_to: "은(는) %{count}과 작거나 같아야 합니다"
-      odd: "에 홀수를 입력해 주세요"
-      even: "에 짝수를 입력해 주세요"
-      taken: "은(는) 이미 존재합니다."
-      record_invalid: "데이터 검증에 실패하였습니다. %{errors}"
-    template: &errors_template
-      header:
-        one: "한 개의 오류가 발생해 %{model}를 저장 할 수 없습니다"
-        other: "%{count}개의 오류가 발생해 %{model}를 저장 할 수 없습니다"
-      body: "다음 항목에 문제가 발견되었습니다:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/lo.yml b/vendor/rails-locales/lo.yml
deleted file mode 100644 (file)
index 4b8f66c..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-# Lao translation for Ruby on Rails
-# By justin maccarthy justin.maccarthy@gmail.com with help from Lao language experts...
-#
-
-lo:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: "."
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: ","
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "Kip"
-        # These three are to override number.format and are optional
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "ເຄິ່ງນາທີ "
-      less_than_x_seconds:
-        one:   "ນ້ອຍກວ່າ 1 ວິນາທີ "
-        other: "ນ້ອຍກວ່າ %{count} ວິນາທີ "
-      x_seconds:
-        one:   "1 ວິນາທີ "
-        other: "%{count} ວິນາທີ "
-      less_than_x_minutes:
-        one:   "ນ້ອຍກວ່າ 1 ນາທີ "
-        other: "ນ້ອຍກວ່າ %{count} ນາທີ "
-      x_minutes:
-        one:   "1 ນາທີ "
-        other: "%{count} ນາທີ "
-      about_x_hours:
-        one:   "ປະມານ 1 ຊົ່ວໂມງ"
-        other: "ປະມານ %{count} ຊົ່ວໂມງ"
-      x_days:
-        one:   "1 ມື້ "
-        other: "%{count} ມື້ "
-      about_x_months:
-        one:   "ປະມານ 1 ເດືອນ"
-        other: "ປະມານ %{count} ເດືອນ"
-      x_months:
-        one:   "1 ເດືອນ"
-        other: "%{count} ເດືອນ"
-      about_x_years:
-        one:   "ປະມານ 1 ປີ "
-        other: "ປະມານ %{count} ປີ "
-      over_x_years:
-        one:   "ຫຼາຍກວ່າ 1 ປີ "
-        other: "ຫຼາຍກວ່າ %{count} ປີ "
-    prompts:
-      year:   "ປີ"
-      month:  "ເດືອນ"
-      day:    "ວັນ"
-      hour:   "ຊົ່ວໂມງ"
-      minute: "ນາທີ"
-      second: "ວິນາທີ"
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one:    "ບໍ່ສາມາດບັນທຶກ %{model} ໄດ້ເນື່ອງຈາກເກີດຂໍ້ຜິດພາດ"
-        other:  "ບໍ່ສາມາດບັນທຶກ %{model} ໄດ້ເນື່ອງຈາກ ເກີດ %{count} ຂໍ້ຜິດພາດ"
-      body: "ກະລຸນາກວດສອບຂໍ້ມູນໃນຫ້ອງຕໍ່ໄປນີ້ :"
-    messages: &errors_messages
-      inclusion: "ບໍ່ໄດ້ຮວມຢູ່ໃນບັນຊີລາຍການ"
-      exclusion: "ມີການຈອງໄວ້ແລ້ວ"
-      invalid: "ບໍ່ຖືກ"
-      confirmation: "ບໍ່ຖືກກັບການຢືນຢັນ"
-      accepted: "ຕ້ອງຍອມຮັບ"
-      empty: "ວ່າງໄວ້ບໍ່ໄດ້"
-      blank: "ເປົ່າບໍ່ໄດ້"
-      too_long: "ຍາວໂພດ (ສູງສຸດຄື %{count} ຕົວອັກສອນ)"
-      too_short: "ສັ້ນໂພດ (ຕຳ່ສຸດຄື %{count} ຕົວອັກສອນ)"
-      wrong_length: "ຄວາມຍາວຜິດ (ຄວນຈະເປັນ %{count} ຕົວອັກສອນ)"
-      taken: "ຮັບເອົາໄປແລ້ວ"
-      not_a_number: "ບໍ່ແມ່ນຕົວເລກ"
-      greater_than: "ຕ້ອງສູງກວ່າ %{count}"
-      greater_than_or_equal_to: "ຕ້ອງສູງກວ່າ ຫຼື ເທົ່າກັບ %{count}"
-      equal_to: "ຕ້ອງເທົ່າກັບ %{count}"
-      less_than: "ຕ້ອງຕຳ່ກວ່າ %{count}"
-      less_than_or_equal_to: "ຕ້ອງຕຳ່ກວ່າ ຫຼື ເທົ່າກັບ %{count}"
-      odd: "ຕ້ອງເປັນເລກຄີກ"
-      even: "ຕ້ອງເປັນເລກຄູ່"
-      record_invalid: "ການຢືນຢັນບໍ່ສຳເລັດ : %{errors}"
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d-%m-%Y"
-      short: "%e %b"
-      long: "%e %B %Y"
-
-    day_names:
-      - "ອາທິດ"
-      - "ຈັນ"
-      - "ອັງຄານ"
-      - "ພຸດ"
-      - "ພະຫັດ"
-      - "ສຸກ"
-      - "ເສົາ"
-    abbr_day_names:
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - "ມັງກອນ"
-      - "ກຸມພາ"
-      - "ມີນາ"
-      - "ເມສາ"
-      - "ພຶດສະພາ"
-      - "ມິຖຸນາ"
-      - "ກໍລະກົດ"
-      - "ສິງຫາ"
-      - "ກັນຍາ"
-      - "ຕຸລາ"
-      - "ພະຈິກ"
-      - "ທັນວາ"
-    abbr_month_names:
-      - ~
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-      - ""
-    # Used in date_select and datime_select.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M น."
-      long: "%d %B %Y %H:%M น."
-    am: ""
-    pm: ""
-
-# Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: "ແລະ "
-      last_word_connector: ", ແລະ "
-    select:
-      # default value for :prompt => true in FormOptionsHelper
-      prompt: "โปรดเลือก"
diff --git a/vendor/rails-locales/lt.yml b/vendor/rails-locales/lt.yml
deleted file mode 100644 (file)
index 4e3ba3e..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-# Lithuanian translations for Ruby on Rails
-# by Laurynas Butkus (laurynas.butkus@gmail.com)
-
-lt:
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "Lt"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Baitas"
-            other: "Baitai"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pusė minutės"
-      less_than_x_seconds:
-        one:   "mažiau nei 1 sekundė"
-        other: "mažiau nei %{count} sekundės"
-      x_seconds:
-        one:   "1 sekundė"
-        other: "%{count} sekundės"
-      less_than_x_minutes:
-        one:   "mažiau nei minutė"
-        other: "mažiau nei %{count} minutės"
-      x_minutes:
-        one:   "1 minutė"
-        other: "%{count} minutės"
-      about_x_hours:
-        one:   "apie 1 valanda"
-        other: "apie %{count} valandų"
-      x_days:
-        one:   "1 diena"
-        other: "%{count} dienų"
-      about_x_months:
-        one:   "apie 1 mėnuo"
-        other: "apie %{count} mėnesiai"
-      x_months:
-        one:   "1 mėnuo"
-        other: "%{count} mėnesiai"
-      about_x_years:
-        one:   "apie 1 metai"
-        other: "apie %{count} metų"
-      over_x_years:
-        one:   "virš 1 metų"
-        other: "virš %{count} metų"
-    prompts:
-      year:   "Metai"
-      month:  "Mėnuo"
-      day:    "Diena"
-      hour:   "Valanda"
-      minute: "Minutė"
-      second: "Sekundės"
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one:    "Išsaugant objektą %{model} rasta klaida"
-        other:  "Išsaugant objektą %{model} rastos %{count} klaidos"
-      body: "Šiuose laukuose yra klaidų:"
-    messages: &errors_messages
-      inclusion: "nenumatyta reikšmė"
-      exclusion: "užimtas"
-      invalid: "neteisingas"
-      confirmation: "neteisingai pakartotas"
-      accepted: "turi būti patvirtintas"
-      empty: "negali būti tuščias"
-      blank: "negali būti tuščias"
-      too_long: "per ilgas (daugiausiai %{count} simboliai)"
-      too_short: "per trumpas (mažiausiai %{count} simboliai)"
-      wrong_length: "neteisingo ilgio (turi būti %{count} simboliai)"
-      taken: "jau užimtas"
-      not_a_number: "ne skaičius"
-      greater_than: "turi būti didesnis už %{count}"
-      greater_than_or_equal_to: "turi būti didesnis arba lygus %{count}"
-      equal_to: "turi būti lygus %{count}"
-      less_than: "turi būti mažesnis už %{count}"
-      less_than_or_equal_to: "turi būti mažesnis arba lygus %{count}"
-      odd: "turi būti nelyginis"
-      even: "turi būti lyginis"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%b %d"
-      long: "%B %d, %Y"
-
-    day_names:
-      - sekmadienis
-      - pirmadienis
-      - antradienis
-      - trečiadienis
-      - ketvirtadienis
-      - penktadienis
-      - šeštadienis
-    abbr_day_names:
-      - Sek
-      - Pir
-      - Ant
-      - Tre
-      - Ket
-      - Pen
-      - Šeš
-
-    month_names:
-      - ~
-      - sausio
-      - vasario
-      - kovo
-      - balandžio
-      - gegužės
-      - birželio
-      - liepos
-      - rugpjūčio
-      - rugsėjo
-      - spalio
-      - lapkričio
-      - gruodžio
-    abbr_month_names:
-      - ~
-      - Sau
-      - Vas
-      - Kov
-      - Bal
-      - Geg
-      - Bir
-      - Lie
-      - Rgp
-      - Rgs
-      - Spa
-      - Lap
-      - Grd
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " ir "
-      last_word_connector: " ir "
diff --git a/vendor/rails-locales/lv.yml b/vendor/rails-locales/lv.yml
deleted file mode 100644 (file)
index e644e30..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# Latvian translations for Ruby on Rails
-# by Kaspars Bankovskis (kaspars@kei.lv)
-
-lv:
-  date:
-    formats:
-      default: "%d.%m.%Y."
-      short: "%e. %B"
-      long: "%Y. gada %e. %B"
-
-    day_names:
-      - svētdiena
-      - pirmdiena
-      - otrdiena
-      - trešdiena
-      - ceturtdiena
-      - piektdiena
-      - sestdiena
-    abbr_day_names:
-      - Sv.
-      - P.
-      - O.
-      - T.
-      - C.
-      - Pk.
-      - S.
-    month_names:
-      - ~
-      - janvārī
-      - februārī
-      - martā
-      - aprīlī
-      - maijā
-      - jūnijā
-      - jūlijā
-      - augustā
-      - septembrī
-      - oktobrī
-      - novembrī
-      - decembrī
-    abbr_month_names:
-      - ~
-      - Janv
-      - Febr
-      - Marts
-      - Apr
-      - Maijs
-      - Jūn
-      - Jūl
-      - Aug
-      - Sept
-      - Okt
-      - Nov
-      - Dec
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y. gada %e. %B, %H:%M"
-      short: "%d.%m.%Y., %H:%M"
-      long: "%Y. gada %e. %B, %H:%M:%S"
-
-    am: "priekšpusdiena"
-    pm: "pēcpusdiena"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pusminūte"
-      less_than_x_seconds:
-        one: "mazāk par vienu sekundi"
-        other: "mazāk par %{count} sekundēm"
-      x_seconds:
-        one: "1 sekunde"
-        other: "%{count} sekundes"
-      less_than_x_minutes:
-        one: "mazāk par vienu minūti"
-        other: "mazāk par %{count} minūtēm"
-      x_minutes:
-        one: "1 minūte"
-        other: "%{count} minūtes"
-      about_x_hours:
-        one: "apmēram 1 stunda"
-        other: "apmēram %{count} stundas"
-      x_days:
-        one: "1 diena"
-        other: "%{count} dienas"
-      about_x_months:
-        one: "apmēram 1 mēnesis"
-        other: "apmēram %{count} mēneši"
-      x_months:
-        one: "1 mēnesis"
-        other: "%{count} mēneši"
-      about_x_years:
-        one: "apmēram 1 gads"
-        other: "apmēram %{count} gadi"
-      over_x_years:
-        one: "vairāk kā gads"
-        other: "vairāk kā %{count} gadi"
-      almost_x_years:
-        one:   "gandrīz 1 gads"
-        other: "gandrīz %{count} gadi"
-    prompts:
-      second: "sekunde"
-      minute: "minūte"
-      hour: "stunda"
-      day: "diena"
-      month: "mēnesis"
-      year: "gads"
-
-  number:
-    format:
-      precision: 2
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        unit: 'LVL'
-        format: '%u %n'
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Baits"
-            other: "Baiti"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tūkstotis
-          million: Miljons
-          billion: Biljons
-          trillion: Triljons
-          quadrillion: Kvadriljons
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " un "
-      last_word_connector: " un "
-
-    select:
-      prompt: "Lūdzu izvēlies"
-
-  helpers:
-    select:
-      prompt: "Lūdzu izvēlies"
-
-    submit:
-      create: 'Izveidot %{model}'
-      update: 'Atjaunināt %{model}'
-      submit: 'Saglabāt %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nav iekļauts sarakstā"
-      exclusion: "nav pieejams"
-      invalid: "nav derīgs"
-      confirmation: "nesakrīt ar apstiprinājumu"
-      accepted: "ir jāpiekrīt"
-      empty: "ir jābūt aizpildītam"
-      blank: "ir jābūt aizpildītam"
-      too_long: "ir par garu (maksimums ir %{count} zīmes)"
-      too_short: "ir par īsu (minimums ir %{count} zīmes)"
-      wrong_length: "ir nepareizs garums (jābūt %{count} zīmēm)"
-      taken: "ir jau aizņemts"
-      not_a_number: "nav skaitlis"
-      not_an_integer: "ir jābūt veselam skaitlim"
-      greater_than: "ir jābūt lielākam par %{count}"
-      greater_than_or_equal_to: "ir jābūt lielākam vai vienādam ar %{count}"
-      equal_to: "ir jābūt vienādam ar %{count}"
-      less_than: "ir jābūt mazākam par %{count}"
-      less_than_or_equal_to: "ir jābūt mazākam vai vienādam ar %{count}"
-      odd: "ir jābūt nepāra skaitlim"
-      even: "ir jābūt pāra skaitlim"
-      taken: "ir jau aizņemts"
-      record_invalid: "Pārbaude neizdevās: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Dēļ 1 kļūdas šis %{model} netika saglabāts"
-        other:  "Dēļ %{count} kļūdām šis %{model} netika saglabāts"
-      body: "Problēmas ir šajos ievades laukos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/mk.yml b/vendor/rails-locales/mk.yml
deleted file mode 100644 (file)
index 466d85f..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-# Macedonian translations for Ruby on Rails
-# by Dejan Dimić (dejan.dimic@gmail.com)
-
-"mk":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%B %e, %Y"
-    day_names:
-      - Недела
-      - Понеделник
-      - Вторник
-      - Среда
-      - Четврток
-      - Петок
-      - Сабота
-    abbr_day_names:
-      - Нед
-      - Пон
-      - Вто
-      - Сре
-      - Чет
-      - Пет
-      - Саб
-    month_names:
-      - ~
-      - Јануари
-      - Февруари
-      - Март
-      - Април
-      - Мај
-      - Јуни
-      - Јули
-      - Август
-      - Септември
-      - Октомври
-      - Ноември
-      - Декември
-    abbr_month_names:
-      - ~
-      - Јан
-      - Фев
-      - Мар
-      - Апр
-      - Мај
-      - Јун
-      - Јул
-      - Авг
-      - Сеп
-      - Окт
-      - Ное
-      - Дек
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %b %d %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: 'АМ'
-    pm: 'ПМ'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'пола минута'
-      less_than_x_seconds:
-        zero: 'помалку од секунда'
-        one: 'помалку од 1 секунда'
-        few: 'помалку од %{count} секунди'
-        other: 'помалку од %{count} секунди'
-      x_seconds:
-        one: '1 секунда'
-        few: '%{count} секунди'
-        other: '%{count} секунди'
-      less_than_x_minutes:
-        zero: 'помалку од минута'
-        one: 'помалку од 1 минута'
-        other: 'помалку од %{count} минути'
-      x_minutes:
-        one: '1 минута'
-        other: '%{count} минути'
-      about_x_hours:
-        one: 'околу 1 час'
-        few: 'околу %{count} часа'
-        other: 'околу %{count} часа'
-      x_days:
-        one: '1 ден'
-        other: '%{count} денови'
-      about_x_months:
-        one: 'околу 1 месец'
-        few: 'околу %{count} месеци'
-        other: 'околу %{count} месеци'
-      x_months:
-        one: '1 месец'
-        few: '%{count} месеци'
-        other: '%{count} месеци'
-      about_x_years:
-        one: 'околу 1 година'
-        other: 'околу %{count} години'
-      over_x_years:
-        one: 'над 1 година'
-        other: 'над %{count} години'
-
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'MKD'
-        precision: 2
-        format: '%n %u'
-        separator: "."
-        delimiter: ","
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header:
-        one: 'Не успеав да го зачувам %{model}: 1 грешка.'
-        few: 'Не успеав да го зачувам %{model}: %{count} грешки.'
-        other: 'Не успеав да го зачувам %{model}: %{count} грешки.'
-      body: "Ве молиме проверете ги следните полиња:"
-    messages: &errors_messages
-      inclusion: "не е во листата"
-      exclusion: "не е достапно"
-      invalid: "не е исправен"
-      confirmation: "не се совпаѓа со својата потврда"
-      accepted: "мора да биде прифатен"
-      empty: "мора да биде зададен"
-      blank: "мора да биде зададен"
-      too_long: "е предолг (не повеќе од %{count} карактери)"
-      too_short: "е прекраток (не помалку од %{count} карактери)"
-      wrong_length: "несоодветна должина (мора да имате %{count} карактери)"
-      taken: "е зафатено"
-      not_a_number: "не е број "
-      greater_than: "мора да биде поголемо од %{count}"
-      greater_than_or_equal_to: "мора да биде поголемо или еднакво на %{count}"
-      equal_to: "мора да биде еднакво на %{count}"
-      less_than: "мора да биде помало од %{count}"
-      less_than_or_equal_to: "мора да биде помало или еднакво на %{count}"
-      odd: "мора да биде непарно"
-      even: "мора да биде парно"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/mn.yml b/vendor/rails-locales/mn.yml
deleted file mode 100644 (file)
index 3f96547..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-# Mongolian localization for Ruby on Rails 2.2+
-# by Ochirkhuyag.L <ochkoo@gmail.com>
-#
-
-mn:
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%y-%m-%d"
-      long: "%Y %B %d"
-
-    day_names:
-      - Ням
-      - Даваа
-      - Мягмар
-      - Лхагва
-      - Пүрэв
-      - Баасан
-      - Бямба
-    abbr_day_names:
-      - Ня
-      - Да
-      - Мя
-      - Лх
-      - Пү
-      - Ба
-      - Бя
-
-    month_names:
-      - ~
-      - 1 сар
-      - 2 сар
-      - 3 сар
-      - 4 сар
-      - 5 сар
-      - 6 сар
-      - 7 сар
-      - 8 сар
-      - 9 сар
-      - 10 сар
-      - 11 сар
-      - 12 сар
-    abbr_month_names:
-      - ~
-      - 1 сар
-      - 2 сар
-      - 3 сар
-      - 4 сар
-      - 5 сар
-      - 6 сар
-      - 7 сар
-      - 8 сар
-      - 9 сар
-      - 10 сар
-      - 11 сар
-      - 12 сар
-
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y-%m-%d %H:%M"
-      short: "%y-%m-%d"
-      long: "%Y %B %d, %H:%M:%S"
-    am: "өглөө"
-    pm: "орой"
-
-  number:
-    format:
-      separator: "."
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%n %u"
-        unit: "төг."
-        separator: "."
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 
-        significant: true
-        strip_insignificant_zeros: true
-      # Rails 2.2
-      # storage_units: [байт, КБ, МБ, ГБ, ТБ]
-
-      # Rails 2.3
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one: "Байт"
-            other: "Байт"
-          kb: "КБ"
-          mb: "МБ"
-          gb: "ГБ"
-          tb: "ТБ"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "хагас минут"
-      less_than_x_seconds:
-        one: "%{count} секундээс бага"
-        other: "%{count} секундээс бага"
-      x_seconds:
-        one: "%{count} секунд"
-        other: "%{count} секунд"
-      less_than_x_minutes:
-        one: "%{count} минутаас бага"
-        other: "%{count} минутаас бага"
-      x_minutes:
-        one: "%{count} минут"
-        other: "%{count} минут"
-      about_x_hours:
-        one: "%{count} цаг орчим"
-        other: "%{count} цаг орчим"
-      x_days:
-        one: "%{count} өдөр"
-        other: "%{count} өдөр"
-      about_x_months:
-        one: "%{count} сар орчим"
-        other: "%{count} сар орчим"
-      x_months:
-        one: "%{count} сар"
-        other: "%{count} сар"
-      about_x_years:
-        one: "%{count} жил орчим"
-        other: "%{count} жил орчим"
-      almost_x_years:
-        one: "бараг %{count} жил"
-        other: "бараг %{count} жил"
-      over_x_years:
-        one: "%{count} жилээс илүү"
-        other: "%{count} жилээс илүү"
-    prompts:
-      year: "Жил"
-      month: "Сар"
-      day: "Өдөр"
-      hour: "Цаг"
-      minute: "Минут"
-      second: "Секунд"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "жагсаалтад алга байна"
-      exclusion: "бол ашиглахад хориотой"
-      invalid: "буруу байна"
-      confirmation: "адилгүй байна"
-      accepted: "хүлээн зөвшөөрөгдсөн байх ёстой"
-      empty: "байхгүй байж болохгүй"
-      blank: "хоосон байж болохгүй"
-      too_long: "хэт урт байна (хамгийн уртдаа %{count} тэмдэгт)"
-      too_short: "хэт богино байна (хамгийн багадаа %{count} тэмдэгт)"
-      wrong_length: "урт нь буруу байна (%{count} тэмдэгт байх ёстой)"
-      taken: "аль хэдийн авчихсан байна"
-      not_a_number: "тоо биш байна"
-      not_an_integer: "бүхэл тоо байх ёстой"
-      greater_than: "%{count}-с их байх ёстой"
-      greater_than_or_equal_to: "%{count}-с их юмуу тэнцүү байх ёстой"
-      equal_to: "%{count}-тэй тэнцүү байх ёстой"
-      less_than: "%{count}-с бага байх ёстой"
-      less_than_or_equal_to: "%{count}-с бага юмуу тэнцүү байх ёстой"
-      odd: "сонгой байх ёстой"
-      even: "тэгш байх ёстой"
-      record_invalid: "Шалгалт амжилтгүй: %{errors}"
-    template: &errors_template
-      header:
-        one:    "1 алдаа гарсан тул %{model} хадгалагдахгүй байна"
-        other:  "%{count} алдаа гарсан тул %{model} хадгалагдахгүй байна"
-      # The variable :count is also available
-      body: "Дараах %{count} хэсэгт алдаа гарлаа:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " болон "
-      last_word_connector: " болон "
-    select:
-      prompt: "Сонгоно уу"
diff --git a/vendor/rails-locales/nb.yml b/vendor/rails-locales/nb.yml
deleted file mode 100644 (file)
index 1a6ca11..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-# Norwegian, norsk bokmål
-# by irb.no
-# contributors:
-# - Kim Joar Bekkelund - http://kimjoar.net
-
-nb:
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " og "
-      last_word_connector: " og "
-    select:
-      prompt: "Velg"
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - søndag
-      - mandag
-      - tirsdag
-      - onsdag
-      - torsdag
-      - fredag
-      - lørdag
-    abbr_day_names:
-      - søn
-      - man
-      - tir
-      - ons
-      - tor
-      - fre
-      - lør
-    month_names:
-      - ~
-      - januar
-      - februar
-      - mars
-      - april
-      - mai
-      - juni
-      - juli
-      - august
-      - september
-      - oktober
-      - november
-      - desember
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - mai
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - des
-    order:
-      - :day
-      - :month
-      - :year
-  time:
-    formats:
-      default: "%A, %e. %B %Y, %H:%M"
-      short: "%e. %B, %H:%M"
-      long: "%A, %e. %B %Y, %H:%M"
-    am: ""
-    pm: ""
-  datetime:
-    distance_in_words:
-      half_a_minute: "et halvt minutt"
-      less_than_x_seconds:
-        one: "mindre enn 1 sekund"
-        other: "mindre enn %{count} sekunder"
-      x_seconds:
-        one: "1 sekund"
-        other: "%{count} sekunder"
-      less_than_x_minutes:
-        one: "mindre enn 1 minutt"
-        other: "mindre enn %{count} minutter"
-      x_minutes:
-        one: "1 minutt"
-        other: "%{count} minutter"
-      about_x_hours:
-        one: "rundt 1 time"
-        other: "rundt %{count} timer"
-      x_days:
-        one: "1 dag"
-        other: "%{count} dager"
-      about_x_months:
-        one: "rundt 1 måned"
-        other: "rundt %{count} måneder"
-      x_months:
-        one: "1 måned"
-        other: "%{count} måneder"
-      about_x_years:
-        one: "rundt 1 år"
-        other: "rundt %{count} år"
-      over_x_years:
-        one: "over 1 år"
-        other: "over %{count} år"
-      almost_x_years:
-        one: "nesten 1 år"
-        other: "nesten %{count} år"
-    prompts:
-      year:   "År"
-      month:  "Måned"
-      day:    "Dag"
-      hour:   "Time"
-      minute: "Minutt"
-      second: "Sekund"
-  number:
-    format: &number_format
-      precision: 2
-      separator: ","
-      delimiter: " "
-      significant: false
-      strip_insignificant_zeros: true
-    currency:
-      format:
-        unit: "kr"
-        format: "%n %u"
-        <<: *number_format
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        precision: 1
-        delimiter: " "
-        significant: false
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "kB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "tusen"
-          million:
-            one: "million"
-            other: "millioner"
-          billion:
-            one: "milliard"
-            other: "milliarder"
-          trillion:
-            one: "billion"
-            other: "billioner"
-          quadrillion:
-            one: "billiard"
-            other: "billiarder"
-
-    percentage:
-      format:
-        delimiter: ""
-
-  helpers:
-    select:
-      prompt: "Vennligst velg"
-
-    submit:
-      create: "Lag %{model}"
-      update: "Oppdater %{model}"
-      submit: "Lagre %{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "er ikke inkludert i listen"
-      exclusion: "er reservert"
-      invalid: "er ugyldig"
-      confirmation: "passer ikke bekreftelsen"
-      accepted: "må være akseptert"
-      empty: "kan ikke være tom"
-      blank: "kan ikke være blank"
-      too_long: "er for lang (maksimum %{count} tegn)"
-      too_short: "er for kort (minimum %{count} tegn)"
-      wrong_length: "er av feil lengde (maksimum %{count} tegn)"
-      not_a_number: "er ikke et tall"
-      not_an_integer: "er ikke et heltall"
-      greater_than: "må være større enn %{count}"
-      greater_than_or_equal_to: "må være større enn eller lik %{count}"
-      equal_to: "må være lik %{count}"
-      less_than: "må være mindre enn %{count}"
-      less_than_or_equal_to: "må være mindre enn eller lik %{count}"
-      odd: "må være oddetall"
-      even: "må være partall"
-      taken: "er allerede i bruk"
-      record_invalid: "Det oppstod feil: %{errors}"
-    template: &errors_template
-      header:
-        one:   "Kunne ikke lagre %{model} på grunn av én feil."
-        other: "Kunne ikke lagre %{model} på grunn av %{count} feil."
-      body: "Det oppstod problemer i følgende felt:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/nl.yml b/vendor/rails-locales/nl.yml
deleted file mode 100644 (file)
index 81f6f3a..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# Dutch translations for Ruby on Rails, based on US English template
-# Original version by Ariejan de Vroom <ariejan@ariejan.net>
-#  - Sponsored by Kabisa ICT - http://kabisa.nl
-# Rails 3 update by Floris Huetink <floris@avocado.nl> (github: florish)
-
-nl:
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%e %B %Y"
-    day_names:
-      - zondag
-      - maandag
-      - dinsdag
-      - woensdag
-      - donderdag
-      - vrijdag
-      - zaterdag
-    abbr_day_names:
-      - zon
-      - maa
-      - din
-      - woe
-      - don
-      - vri
-      - zat
-
-    month_names:
-      - ~
-      - januari
-      - februari
-      - maart
-      - april
-      - mei
-      - juni
-      - juli
-      - augustus
-      - september
-      - oktober
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - mei
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %Y %H:%M:%S %Z"
-      short: "%d %b %H:%M"
-      long: "%d %B %Y %H:%M"
-    am: "'s ochtends"
-    pm: "'s middags"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " en "
-      last_word_connector: " en "
-
-    select:
-      prompt: "Selecteer"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "duizend"
-          million: "miljoen"
-          billion: "miljard"
-          trillion: "biljoen"
-          quadrillion: "biljard"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "een halve minuut"
-      less_than_x_seconds:
-        one:   "minder dan een seconde"
-        other: "minder dan %{count} seconden"
-      x_seconds:
-        one:   "1 seconde"
-        other: "%{count} seconden"
-      less_than_x_minutes:
-        one:   "minder dan een minuut"
-        other: "minder dan %{count} minuten"
-      x_minutes:
-        one:   "1 minuut"
-        other: "%{count} minuten"
-      about_x_hours:
-        one:   "ongeveer een uur"
-        other: "ongeveer %{count} uur"
-      x_days:
-        one:   "1 dag"
-        other: "%{count} dagen"
-      about_x_months:
-        one: "ongeveer een maand"
-        other: "ongeveer %{count} maanden"
-      x_months:
-        one:   "1 maand"
-        other: "%{count} maanden"
-      about_x_years:
-        one: "ongeveer een jaar"
-        other: "ongeveer %{count} jaar"
-      over_x_years:
-        one: "meer dan een jaar"
-        other: "meer dan %{count} jaar"
-      almost_x_years:
-        one:   "bijna een jaar"
-        other: "bijna %{count} jaar"
-    prompts:
-      year:   "jaar"
-      month:  "maand"
-      day:    "dag"
-      hour:   "uur"
-      minute: "minuut"
-      second: "seconde"
-
-  helpers:
-    select:
-      prompt: "Selecteer"
-
-    submit:
-      create: '%{model} toevoegen'
-      update: '%{model} bewaren'
-      submit: '%{model} opslaan'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "is niet in de lijst opgenomen"
-      exclusion: "is niet beschikbaar"
-      invalid: "is ongeldig"
-      confirmation: "komt niet met de bevestiging overeen"
-      accepted: "moet worden geaccepteerd"
-      empty: "moet opgegeven zijn"
-      blank: "moet opgegeven zijn"
-      too_long: "is te lang (maximaal %{count} tekens)"
-      too_short: "is te kort (minimaal %{count} tekens)"
-      wrong_length: "heeft onjuiste lengte (moet %{count} tekens lang zijn)"
-      not_a_number: "is geen getal"
-      not_an_integer: "moet een geheel getal zijn"
-      greater_than: "moet groter zijn dan %{count}"
-      greater_than_or_equal_to: "moet groter dan of gelijk zijn aan %{count}"
-      equal_to: "moet gelijk zijn aan %{count}"
-      less_than: "moet minder zijn dan %{count}"
-      less_than_or_equal_to: "moet minder dan of gelijk zijn aan %{count}"
-      odd: "moet oneven zijn"
-      even: "moet even zijn"
-      taken: "is al in gebruik"
-      record_invalid: "Validatie mislukt: %{errors}"
-    template: &errors_template
-      header:
-        one:    "%{model} niet opgeslagen: 1 fout gevonden"
-        other:  "%{model} niet opgeslagen: %{count} fouten gevonden"
-      body: "Controleer de volgende velden:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/nn.yml b/vendor/rails-locales/nn.yml
deleted file mode 100644 (file)
index f92ff79..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-# Norwegian, nynorsk, by irb.no
-nn:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-    day_names:
-      - sundag
-      - måndag
-      - tysdag
-      - onsdag
-      - torsdag
-      - fredag
-      - laurdag
-    abbr_day_names:
-      - sun
-      - mån
-      - tys
-      - ons
-      - tor
-      - fre
-      - lau
-    month_names:
-      - ~
-      - januar
-      - februar
-      - mars
-      - april
-      - mai
-      - juni
-      - juli
-      - august
-      - september
-      - oktober
-      - november
-      - desember
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - mai
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - des
-    order:
-      - :day
-      - :month
-      - :year
-  time:
-    formats:
-      default: "%A, %e. %B %Y, %H:%M"
-      short: "%e. %B, %H:%M"
-      long: "%A, %e. %B %Y, %H:%M"
-    am: ""
-    pm: ""
-  datetime:
-    distance_in_words:
-      half_a_minute: "eit halvt minutt"
-      less_than_x_seconds:
-        one: "mindre enn 1 sekund"
-        other: "mindre enn %{count} sekund"
-      x_seconds:
-        one: "1 sekund"
-        other: "%{count} sekund"
-      less_than_x_minutes:
-        one: "mindre enn 1 minutt"
-        other: "mindre enn %{count} minutt"
-      x_minutes:
-        one: "1 minutt"
-        other: "%{count} minutt"
-      about_x_hours:
-        one: "rundt 1 time"
-        other: "rundt %{count} timar"
-      x_days:
-        one: "1 dag"
-        other: "%{count} dagar"
-      about_x_months:
-        one: "rundt 1 månad"
-        other: "rundt %{count} månader"
-      x_months:
-        one: "1 månad"
-        other: "%{count} månader"
-      about_x_years:
-        one: "rundt 1 år"
-        other: "rundt %{count} år"
-      over_x_years:
-        one: "over 1 år"
-        other: "over %{count} år"
-  number:
-    format:
-      precision: 2
-      separator: "."
-      delimiter: ","
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: "kr"
-        format: "%n %u"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-  errors:
-    format: "%{attribute} %{message}"
-    template: &errors_template
-      header: "kunne ikkje lagra %{model} grunna %{count} feil."
-      body: "det oppstod problem i følgjande felt:"
-    messages: &errors_messages
-      inclusion: "er ikkje inkludert i lista"
-      exclusion: "er reservert"
-      invalid: "er ugyldig"
-      confirmation: "er ikkje stadfesta"
-      accepted: "må vera akseptert"
-      empty: "kan ikkje vera tom"
-      blank: "kan ikkje vera blank"
-      too_long: "er for lang (maksimum %{count} teikn)"
-      too_short: "er for kort (minimum %{count} teikn)"
-      wrong_length: "har feil lengde (maksimum %{count} teikn)"
-      taken: "er allerie i bruk"
-      not_a_number: "er ikkje eit tal"
-      greater_than: "må vera større enn %{count}"
-      greater_than_or_equal_to: "må vera større enn eller lik %{count}"
-      equal_to: "må vera lik %{count}"
-      less_than: "må vera mindre enn %{count}"
-      less_than_or_equal_to: "må vera mindre enn eller lik %{count}"
-      odd: "må vera oddetal"
-      even: "må vera partal"
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/pl.yml b/vendor/rails-locales/pl.yml
deleted file mode 100644 (file)
index fa7abf0..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-# Polish translations for Ruby on Rails
-# by Jacek Becela (jacek.becela@gmail.com, http://github.com/ncr)
-# Minor changes and adjustments for Rails 3 by Piotrek Okoński (http://github.com/pokonski)
-# Minor changes and adjustments by Paweł Chojnacki (https://github.com/chojnacki)
-
-pl:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%B %d, %Y"
-
-    day_names:
-      - niedziela
-      - poniedziałek
-      - wtorek
-      - środa
-      - czwartek
-      - piątek
-      - sobota
-    abbr_day_names:
-      - nie
-      - pon
-      - wto
-      - śro
-      - czw
-      - pią
-      - sob
-
-    month_names:
-      - ~
-      - styczeń
-      - luty
-      - marzec
-      - kwiecień
-      - maj
-      - czerwiec
-      - lipiec
-      - sierpień
-      - wrzesień
-      - październik
-      - listopad
-      - grudzień
-    abbr_month_names:
-      - ~
-      - sty
-      - lut
-      - mar
-      - kwi
-      - maj
-      - cze
-      - lip
-      - sie
-      - wrz
-      - paź
-      - lis
-      - gru
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: "przed południem"
-    pm: "po południu"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " i "
-      last_word_connector: " oraz "
-
-    select:
-      prompt: "Proszę wybrać"
-
-  number:
-    format:
-      separator: ","
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u %n"
-        unit: "PLN"
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: true
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "bajt"
-            other: "bajty"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Tysiąc
-          million: Milion
-          billion: Miliard
-          trillion: Bilion
-          quadrillion: Biliard
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "pół minuty"
-      less_than_x_seconds:
-        one:   "mniej niż sekundę"
-        few:   "mniej niż %{count} sekundy"
-        other: "mniej niż %{count} sekund"
-      x_seconds:
-        one:   "1 sekunda"
-        few:   "%{count} sekundy"
-        other: "%{count} sekund"
-      less_than_x_minutes:
-        one:   "mniej niż minutę"
-        few:   "mniej niż %{count} minuty"
-        other: "mniej niż %{count} minut"
-      x_minutes:
-        one:   "1 minuta"
-        few:   "%{count} minuty"
-        other: "%{count} minut"
-      about_x_hours:
-        one:   "około godziny"
-        few:   "około %{count} godziny"
-        other: "około %{count} godzin"
-      x_days:
-        one:   "1 dzień"
-        few:   "%{count} dni"
-        other: "%{count} dni"
-      about_x_months:
-        one:   "około miesiąca"
-        few:   "około %{count} miesiące"
-        other: "około %{count} miesięcy"
-      x_months:
-        one:   "1 miesiąc"
-        few:   "%{count} miesiące"
-        other: "%{count} miesięcy"
-      about_x_years:
-        one:   "około rok"
-        few:   "około %{count} lata"
-        other: "około %{count} lat"
-      over_x_years:
-        one:   "ponad rok"
-        few:   "ponad %{count} lata"
-        other: "ponad %{count} lat"
-      almost_x_years:
-        one:   "prawie rok"
-        few:   "prawie %{count} lata"
-        other: "prawie %{count} lat"
-    prompts:
-      year:   "Rok"
-      month:  "Miesiąc"
-      day:    "Dzień"
-      hour:   "Godzina"
-      minute: "Minuta"
-      second: "Sekundy"
-
-  helpers:
-    select:
-      prompt: "Proszę wybrać"
-
-    submit:
-      create: 'Utwórz %{model}'
-      update: 'Aktualizuj %{model}'
-      submit: 'Zapisz %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "nie znajduje się na liście dopuszczalnych wartości"
-      exclusion: "jest zarezerwowane"
-      invalid: "jest nieprawidłowe"
-      confirmation: "nie zgadza się z potwierdzeniem"
-      accepted: "musi zostać zaakceptowane"
-      empty: "nie może być puste"
-      blank: "nie może być puste"
-      too_long: "jest za długie (maksymalnie %{count} znaków)"
-      too_short: "jest za krótkie (przynajmniej %{count} znaków)"
-      wrong_length: "ma nieprawidłową długość (powinna wynosić %{count} znaków)"
-      not_a_number: "nie jest liczbą"
-      not_an_integer: "musi być liczbą całkowitą"
-      greater_than: "musi być większe od %{count}"
-      greater_than_or_equal_to: "musi być większe lub równe %{count}"
-      equal_to: "musi być równe %{count}"
-      less_than: "musi być mniejsze od %{count}"
-      less_than_or_equal_to: "musi być mniejsze lub równe %{count}"
-      odd: "musi być nieparzyste"
-      even: "musi być parzyste"
-      taken: "zostało już zajęte"
-      record_invalid: "Negatywne sprawdzenie poprawności: %{errors}"
-    template: &errors_template
-      header:
-        one: "%{model} nie został zachowany z powodu jednego błędu"
-        other: "%{model} nie został zachowany z powodu %{count} błędów"
-      body: "Błędy dotyczą następujących pól:"
-
-  activerecord:
-    attributes:
-      created_at: "Stworzony"
-      updated_at: "Zaktualizowany"
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/pt-BR.yml b/vendor/rails-locales/pt-BR.yml
deleted file mode 100644 (file)
index 4799e7b..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-# encoding: UTF-8
-# pt-BR translations for Ruby on Rails
-"pt-BR":
-  # formatos de data e hora
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%d de %B"
-      long: "%d de %B de %Y"
-
-    day_names:
-      - Domingo
-      - Segunda
-      - Terça
-      - Quarta
-      - Quinta
-      - Sexta
-      - Sábado
-    abbr_day_names:
-      - Dom
-      - Seg
-      - Ter
-      - Qua
-      - Qui
-      - Sex
-      - Sáb
-
-    month_names:
-      - ~
-      - Janeiro
-      - Fevereiro
-      - Março
-      - Abril
-      - Maio
-      - Junho
-      - Julho
-      - Agosto
-      - Setembro
-      - Outubro
-      - Novembro
-      - Dezembro
-    abbr_month_names:
-      - ~
-      - Jan
-      - Fev
-      - Mar
-      - Abr
-      - Mai
-      - Jun
-      - Jul
-      - Ago
-      - Set
-      - Out
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d de %B de %Y, %H:%M h"
-      short: "%d/%m, %H:%M h"
-      long: "%A, %d de %B de %Y, %H:%M h"
-    am: ''
-    pm: ''
-
-  # Usado no Array.to_sentence
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: " e "
-
-    select:
-      prompt: "Por favor selecione"
-
-  number:
-    format:
-      separator: ','
-      delimiter: '.'
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: '%u %n'
-        unit: 'R$'
-        separator: ','
-        delimiter: '.'
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: '.'
-
-    precision:
-      format:
-        delimiter: '.'
-
-    human:
-      format:
-        delimiter: '.'
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      # number_to_human()
-      # new in rails 3: please add to other locales
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "mil"
-          million:
-            one: milhão
-            other: milhões
-          billion:
-            one: bilhão
-            other: bilhões
-          trillion:
-            one: trilhão
-            other: trilhões
-          quadrillion:
-            one: quatrilhão
-            other: quatrilhões
-
-  # distancia do tempo em palavras
-  datetime:
-    distance_in_words:
-      half_a_minute: 'meio minuto'
-      less_than_x_seconds:
-        one: 'menos de 1 segundo'
-        other: 'menos de %{count} segundos'
-      x_seconds:
-        one: '1 segundo'
-        other: '%{count} segundos'
-      less_than_x_minutes:
-        one: 'menos de um minuto'
-        other: 'menos de %{count} minutos'
-      x_minutes:
-        one: '1 minuto'
-        other: '%{count} minutos'
-      about_x_hours:
-        one: 'aproximadamente 1 hora'
-        other: 'aproximadamente %{count} horas'
-      x_days:
-        one: '1 dia'
-        other: '%{count} dias'
-      about_x_months:
-        one: 'aproximadamente 1 mês'
-        other: 'aproximadamente %{count} meses'
-      x_months:
-        one: '1 mês'
-        other: '%{count} meses'
-      about_x_years:
-        one: 'aproximadamente 1 ano'
-        other: 'aproximadamente %{count} anos'
-      over_x_years:
-        one: 'mais de 1 ano'
-        other: 'mais de %{count} anos'
-      almost_x_years:
-        one: 'quase 1 ano'
-        other: 'quase %{count} anos'
-    prompts:
-      year:   "Ano"
-      month:  "Mês"
-      day:    "Dia"
-      hour:   "Hora"
-      minute: "Minuto"
-      second: "Segundo"
-
-  helpers:
-    select:
-      prompt: "Por favor selecione"
-
-    submit:
-      create: 'Criar %{model}'
-      update: 'Atualizar %{model}'
-      submit: 'Salvar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "não está incluído na lista"
-      exclusion: "não está disponível"
-      invalid: "não é válido"
-      confirmation: "não está de acordo com a confirmação"
-      accepted: "deve ser aceito"
-      empty: "não pode ficar vazio"
-      blank: "não pode ficar em branco"
-      too_long: "é muito longo (máximo: %{count} caracteres)"
-      too_short: "é muito curto (mínimo: %{count} caracteres)"
-      wrong_length: "não possui o tamanho esperado (%{count} caracteres)"
-      not_a_number: "não é um número"
-      not_an_integer: "não é um número inteiro"
-      greater_than: "deve ser maior que %{count}"
-      greater_than_or_equal_to: "deve ser maior ou igual a %{count}"
-      equal_to: "deve ser igual a %{count}"
-      less_than: "deve ser menor que %{count}"
-      less_than_or_equal_to: "deve ser menor ou igual a %{count}"
-      odd: "deve ser ímpar"
-      even: "deve ser par"
-      taken: "já está em uso"
-      record_invalid: "A validação falhou: %{errors}"
-    template: &errors_template
-      header:
-        one: "Não foi possível gravar %{model}: 1 erro"
-        other: "Não foi possível gravar %{model}: %{count} erros."
-      body: "Por favor, verifique o(s) seguinte(s) campo(s):"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/pt-PT.yml b/vendor/rails-locales/pt-PT.yml
deleted file mode 100644 (file)
index 7493e7b..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-# European Portuguese translations for Ruby on Rails
-#
-#
-
-"pt-PT":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%d de %B"
-      long: "%d de %B de %Y"
-
-    day_names:
-      - Domingo
-      - Segunda
-      - Terça
-      - Quarta
-      - Quinta
-      - Sexta
-      - Sábado
-    abbr_day_names:
-      - Dom
-      - Seg
-      - Ter
-      - Qua
-      - Qui
-      - Sex
-      - Sáb
-
-    month_names:
-      - ~
-      - Janeiro
-      - Fevereiro
-      - Março
-      - Abril
-      - Maio
-      - Junho
-      - Julho
-      - Agosto
-      - Setembro
-      - Outubro
-      - Novembro
-      - Dezembro
-    abbr_month_names:
-      - ~
-      - Jan
-      - Fev
-      - Mar
-      - Abr
-      - Mai
-      - Jun
-      - Jul
-      - Ago
-      - Set
-      - Out
-      - Nov
-      - Dez
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d de %B de %Y, %H:%Mh"
-      short: "%d/%m, %H:%M hs"
-      long: "%A, %d de %B de %Y, %H:%Mh"
-    am: "am"
-    pm: "pm"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: ", e"
-
-    select:
-      prompt: "Por favor seleccione"
-
-  number:
-    format:
-      separator: ","
-      delimiter: "."
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%u%n"
-        unit: "€"
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: mil
-          million:
-            one: milhão
-            other: milhões
-          billion:
-            one: mil milhões
-            other: mil milhões
-          trillion:
-            one: bilião
-            other: biliões
-          quadrillion:
-            one: mil biliões
-            other:  mil biliões
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "meio minuto"
-      less_than_x_seconds:
-        one:   "menos de 1 segundo"
-        other: "menos de %{count} segundos"
-      x_seconds:
-        one:   "1 segundo"
-        other: "%{count} segundos"
-      less_than_x_minutes:
-        one:   "menos de um minuto"
-        other: "menos de %{count} minutos"
-      x_minutes:
-        one:   "1 minuto"
-        other: "%{count} minutos"
-      about_x_hours:
-        one:   "aproximadamente 1 hora"
-        other: "aproximadamente %{count} horas"
-      x_days:
-        one:   "1 dia"
-        other: "%{count} dias"
-      about_x_months:
-        one:   "aproximadamente 1 mês"
-        other: "aproximadamente %{count} meses"
-      x_months:
-        one:   "1 mês"
-        other: "%{count} meses"
-      about_x_years:
-        one:   "aproximadamente 1 ano"
-        other: "aproximadamente %{count} anos"
-      over_x_years:
-        one:   "mais de 1 ano"
-        other: "mais de %{count} anos"
-      almost_x_years:
-        one:   "quase 1 ano"
-        other: "quase %{count} years"
-    prompts:
-      year:   "Ano"
-      month:  "Mês"
-      day:    "Dia"
-      hour:   "Hora"
-      minute: "Minuto"
-      second: "Segundo"
-
-  helpers:
-    select:
-      prompt: "Por favor seleccione"
-
-    submit:
-      create: 'Criar %{model}'
-      update: 'Actualizar %{model}'
-      submit: 'Salvar %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "não está incluído na lista"
-      exclusion: "é reservado"
-      invalid: "é inválido"
-      confirmation: "não coincide com a confirmação"
-      accepted: "tem de ser aceite"
-      empty: "não pode estar vazio"
-      blank: "não pode estar em branco"
-      too_long: "é demasiado grande (o máximo é de %{count} caracteres)"
-      too_short: "é demasiado pequeno (o mínimo é de %{count} caracteres)"
-      wrong_length: "comprimento errado (deve ter %{count} caracteres)"
-      not_a_number: "não é um número"
-      not_an_integer: "tem de ser um inteiro"
-      greater_than: "tem de ser maior que %{count}"
-      greater_than_or_equal_to: "tem de ser maior ou igual a %{count}"
-      equal_to: "tem de ser igual a %{count}"
-      less_than: "tem de ser menor que %{count}"
-      less_than_or_equal_to: "tem de ser menor ou igual a %{count}"
-      odd: "tem de ser ímpar"
-      even: "tem de ser par"
-      taken: "não está disponível"
-      record_invalid: "A validação falhou: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Não foi possível guardar %{model}: 1 erro"
-        other:  "Não foi possível guardar %{model}: %{count} erros"
-      body: "Por favor, verifique os seguintes campos:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/rm.yml b/vendor/rails-locales/rm.yml
deleted file mode 100644 (file)
index 980d430..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-# Romansh translations for Ruby on Rails
-# by Flurina Andriuet and Sebastian de Castelberg (rails-i18n@kpricorn.org)
-
-rm:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e. %b"
-      long: "%e. %B %Y"
-
-    day_names:
-      - dumengia
-      - glindesdi
-      - mardi
-      - mesemna
-      - gievgia
-      - venderdi
-      - sonda
-    abbr_day_names:
-      - du
-      - gli
-      - ma
-      - me
-      - gie
-      - ve
-      - so
-    month_names:
-      - ~
-      - schaner
-      - favrer
-      - mars
-      - avrigl
-      - matg
-      - zercladur
-      - fanadur
-      - avust
-      - settember
-      - october
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - schan
-      - favr
-      - mars
-      - avr
-      - matg
-      - zercl
-      - fan
-      - avust
-      - sett
-      - oct
-      - nov
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d. %B %Y, %H:%M Uhr"
-      short: "%d. %B, %H:%M Uhr"
-      long: "%A, %d. %B %Y, %H:%M Uhr"
-    am: "avantmezdi"
-    pm: "suentermezdi"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "ina mesa minuta"
-      less_than_x_seconds:
-        one: "main ch’ina secunda"
-        other: "main che %{count} secundas"
-      x_seconds:
-        one: "ina secunda"
-        other: "%{count} secundas"
-      less_than_x_minutes:
-        one: "main ch’ina minuta"
-        other: "main che %{count} minutas"
-      x_minutes:
-        one: "1 minuta"
-        other: "%{count} minutas"
-      about_x_hours:
-        one: "circa in'ura"
-        other: "circa %{count} uras"
-      x_days:
-        one: "in di"
-        other: "%{count} dis"
-      about_x_months:
-        one: "circa in mais"
-        other: "circa %{count} mais"
-      x_months:
-        one: "in mais"
-        other: "%{count} mais"
-      about_x_years:
-        one: "circa in onn"
-        other: "circa %{count} onns"
-      over_x_years:
-        one: "dapli ch'in onn"
-        other: "dapli che %{count} onns"
-    prompts:
-      second: "secundas"
-      minute: "minutas"
-      hour: "uras"
-      day: "dis"
-      month: "mais"
-      year: "onns"
-
-  number:
-    format:
-      precision: 2
-      separator: "."
-      delimiter: "'"
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        precision: 2
-        separator: "."
-        delimiter: "'"
-        unit: "CHF"
-        format: "%n %u"
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "byte"
-            other: "bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " e "
-      last_word_connector: " e "
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "n'è betg sin la glista"
-      exclusion: "na stat betg a disposiziun"
-      invalid: "n'è betg valid"
-      confirmation: "na correspunda betg al champ da conferma"
-      accepted: "sto vegnir acceptà"
-      empty: "sto vegnir emplenì ora"
-      blank: "sto vegnir emplenì ora"
-      too_long: "è memia lung (betg dapli che %{count} caracters)"
-      too_short: "è memia curt (betg pli pauc che %{count} caracters)"
-      wrong_length: "ha la fallida lunghezza (sto avair %{count} caracters)"
-      taken: "è gia occupà"
-      not_a_number: "è betg in dumber"
-      greater_than: "sto esser pli grond che %{count}"
-      greater_than_or_equal_to: "sto esser pli grond u medem sco %{count}"
-      equal_to: "sto esser exact %{count}"
-      less_than: "sto esser pli pitschen che %{count}"
-      less_than_or_equal_to: "sto esser pli pitschen u medem sco %{count}"
-      odd: "sto esser spèr"
-      even: "sto esser pèr"
-    template: &errors_template
-      header:
-        one:    "Betg pussaivel da memorisar quest %{model}: 1 errur."
-        other:  "Betg pussaivel da memorisar quest %{model}: %{count} errurs."
-      body: "Faschai uschè bain e controllai ils suandants champs:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/ro.yml b/vendor/rails-locales/ro.yml
deleted file mode 100644 (file)
index e42637c..0000000
+++ /dev/null
@@ -1,212 +0,0 @@
-# Romanian translations for Ruby on Rails
-# by Catalin Ilinca (me@talin.ro)
-# updated by kfl62 (bogus keys are now commented)
-
-ro:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - Duminică
-      - Luni
-      - Marți
-      - Miercuri
-      - Joi
-      - Vineri
-      - Sâmbată
-    abbr_day_names:
-      - Dum
-      - Lun
-      - Mar
-      - Mie
-      - Joi
-      - Vin
-      - Sâm
-    month_names:
-      - ~
-      - Ianuarie
-      - Februarie
-      - Martie
-      - Aprilie
-      - Mai
-      - Iunie
-      - Iulie
-      - August
-      - Septembrie
-      - Octombrie
-      - Noiembrie
-      - Decembrie
-    abbr_month_names:
-      - ~
-      - Ian
-      - Feb
-      - Mar
-      - Apr
-      - Mai
-      - Iun
-      - Iul
-      - Aug
-      - Sep
-      - Oct
-      - Noi
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %Y, %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B %Y %H:%M"
-    am: ''
-    pm: ''
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " şi "
-      last_word_connector: " şi "
-    select:
-      prompt: "Alegeţi"
-  number:
-    format:
-      precision: 3
-      separator: '.'
-      delimiter: ','
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'RON'
-        precision: 2
-        separator: '.'
-        delimiter: ','
-        format: '%n %u'
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ","
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ","
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one:   "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: Mie
-          million: Milion
-          billion: Miliard
-          trillion: Trilion
-          quadrillion: Quadrilion
-  datetime:
-    distance_in_words:
-      half_a_minute: "jumătate de minut"
-      less_than_x_seconds:
-        one:  "mai puțin de o secundă"
-        other: "mai puțin de %{count} secunde"
-      x_seconds:
-        one:  "1 secundă"
-        other: "%{count} secunde"
-      less_than_x_minutes:
-        one:  "mai puțin de un minut"
-        other: "mai puțin de %{count} minute"
-      x_minutes:
-        one:  "1 minut"
-        other: "%{count} minute"
-      about_x_hours:
-        one:  "aproximativ o oră"
-        other: "aproximativ %{count} ore"
-      x_days:
-        one:  "1 zi"
-        other: "%{count} zile"
-      about_x_months:
-        one:  "aproximativ o lună"
-        other: "aproximativ %{count} luni"
-      x_months:
-        one:  "1 lună"
-        other: "%{count} luni"
-      about_x_years:
-        one:  "aproximativ un an"
-        other: "aproximativ %{count} ani"
-      over_x_years:
-        one:  "mai mult de un an"
-        other: "mai mult de %{count} ani"
-      almost_x_years:
-        one:   "aproape 1 an"
-        other: "aproape %{count} ani"
-    prompts:
-      year:   "Anul"
-      month:  "Luna"
-      day:    "Ziua"
-      hour:   "Ora"
-      minute: "Minutul"
-      second: "Secunda"
-
-  helpers:
-    select:
-      prompt: "Alegeţi"
-    submit:
-      create: 'Creare %{model}'
-      update: 'Modificare %{model}'
-      submit: 'Salvare %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nu este inclus în listă"
-      exclusion: "este rezervat"
-      invalid: "este invalid"
-      confirmation: "nu este confirmat"
-      accepted: "trebuie dat acceptul"
-      empty: "nu poate fi gol"
-      blank: "nu poate fi gol"
-      too_long: "este prea lung (se pot folosi maximum %{count} caractere)"
-      too_short: "este pre scurt (minumim de caractere este %{count})"
-      wrong_length: "nu are lungimea corectă (trebuie să aiba %{count} caractere)"
-      not_a_number: "nu este un număr"
-      not_an_integer: "trebuie să fie un mumăr întreg"
-      greater_than: "trebuie să fie mai mare decât %{count}"
-      greater_than_or_equal_to: "trebuie să fie mai mare sau egal cu %{count}"
-      equal_to: "trebuie să fie egal cu %{count}"
-      less_than: "trebuie să fie mai mic decât %{count}"
-      less_than_or_equal_to: "trebuie să fie mai mic sau egal cu %{count}"
-      odd: "trebuie să fie par"
-      even: "trebuie să fie impar"
-      taken: "este deja folosit"
-      record_invalid: "Validare nereuşită %{errors}"
-    template: &errors_template
-      header:
-        one: "Nu am putut salva acest %{model}: o eroare"
-        other: "Nu am putut salva acest %{model}: %{count} erori."
-      body: "Încearcă să corectezi urmatoarele câmpuri:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/ru.yml b/vendor/rails-locales/ru.yml
deleted file mode 100644 (file)
index 0084e89..0000000
+++ /dev/null
@@ -1,302 +0,0 @@
-# Russian localization for Ruby on Rails 2.2+ and 3+
-# by Yaroslav Markin <yaroslav@markin.net>
-#
-# Be sure to check out "russian" gem (http://github.com/yaroslav/russian) for
-# full Russian language support in Rails (month names, pluralization, etc).
-# The following is an excerpt from that gem.
-#
-# Для полноценной поддержки русского языка (варианты названий месяцев,
-# плюрализация и так далее) в Rails 2.2+ и Rails 3 нужно использовать gem "russian"
-# (http://github.com/yaroslav/russian). Следующие данные -- выдержка их него, чтобы
-# была возможность минимальной локализации приложения на русский язык.
-
-ru:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - воскресенье
-      - понедельник
-      - вторник
-      - среда
-      - четверг
-      - пятница
-      - суббота
-    abbr_day_names:
-      - Вс
-      - Пн
-      - Вт
-      - Ср
-      - Чт
-      - Пт
-      - Сб
-
-    month_names:
-      - ~
-      - января
-      - февраля
-      - марта
-      - апреля
-      - мая
-      - июня
-      - июля
-      - августа
-      - сентября
-      - октября
-      - ноября
-      - декабря
-    # see russian gem for info on "standalone" day names
-    abbr_month_names:
-      - ~
-      - янв.
-      - февр.
-      - марта
-      - апр.
-      - мая
-      - июня
-      - июля
-      - авг.
-      - сент.
-      - окт.
-      - нояб.
-      - дек.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y, %H:%M:%S %z"
-      short: "%d %b, %H:%M"
-      long: "%d %B %Y, %H:%M"
-
-    am: "утра"
-    pm: "вечера"
-
-  number:
-    format:
-      separator: "."
-      delimiter: " "
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "руб."
-        separator: "."
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-
-      # Rails 2.2
-      # storage_units: [байт, КБ, МБ, ГБ, ТБ]
-
-      # Rails 2.3
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "байт"
-            few:   "байта"
-            many:  "байт"
-            other: "байта"
-          kb: "КБ"
-          mb: "МБ"
-          gb: "ГБ"
-          tb: "ТБ"
-
-      # Rails 3
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand:
-            one: "тысяча"
-            few: "тысяч"
-            many: "тысяч"
-            other: "тысяч"
-          million:
-            one: "миллион"
-            few: "миллионов"
-            many: "миллионов"
-            other: "миллионов"
-          billion:
-            one: "миллиард"
-            few: "миллиардов"
-            many: "миллиардов"
-            other: "миллиардов"
-          trillion:
-            one: "триллион"
-            few: "триллионов"
-            many: "триллионов"
-            other: "триллионов"
-          quadrillion:
-            one: "квадриллион"
-            few: "квадриллионов"
-            many: "квадриллионов"
-            other: "квадриллионов"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "меньше минуты"
-      less_than_x_seconds:
-        one:   "меньше %{count} секунды"
-        few:   "меньше %{count} секунд"
-        many:  "меньше %{count} секунд"
-        other: "меньше %{count} секунды"
-      x_seconds:
-        one:   "%{count} секунда"
-        few:   "%{count} секунды"
-        many:  "%{count} секунд"
-        other: "%{count} секунды"
-      less_than_x_minutes:
-        one:   "меньше %{count} минуты"
-        few:   "меньше %{count} минут"
-        many:  "меньше %{count} минут"
-        other: "меньше %{count} минуты"
-      x_minutes:
-        one:   "%{count} минуту"
-        few:   "%{count} минуты"
-        many:  "%{count} минут"
-        other: "%{count} минуты"
-      about_x_hours:
-        one:   "около %{count} часа"
-        few:   "около %{count} часов"
-        many:  "около %{count} часов"
-        other: "около %{count} часа"
-      x_days:
-        one:   "%{count} день"
-        few:   "%{count} дня"
-        many:  "%{count} дней"
-        other: "%{count} дня"
-      about_x_months:
-        one:   "около %{count} месяца"
-        few:   "около %{count} месяцев"
-        many:  "около %{count} месяцев"
-        other: "около %{count} месяца"
-      x_months:
-        one:   "%{count} месяц"
-        few:   "%{count} месяца"
-        many:  "%{count} месяцев"
-        other: "%{count} месяца"
-      about_x_years:
-        one:   "около %{count} года"
-        few:   "около %{count} лет"
-        many:  "около %{count} лет"
-        other: "около %{count} лет"
-      over_x_years:
-        one:   "больше %{count} года"
-        few:   "больше %{count} лет"
-        many:  "больше %{count} лет"
-        other: "больше %{count} лет"
-      almost_x_years:
-        one:   "почти 1 год"
-        other: "почти %{count} лет"
-
-    prompts:
-      year: "Год"
-      month: "Месяц"
-      day: "День"
-      hour: "Часов"
-      minute: "Минут"
-      second: "Секунд"
-
-  helpers:
-    select:
-      # Default value for :prompt => true in FormOptionsHelper
-      prompt: "Выберите: "
-
-    # Default translation keys for submit FormHelper
-    submit:
-      create: 'Создать %{model}'
-      update: 'Сохранить %{model}'
-      submit: 'Сохранить %{model}'
-
-  # In rails 3 errors is top-level namespace
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "имеет непредусмотренное значение"
-      exclusion: "имеет зарезервированное значение"
-      invalid: "имеет неверное значение"
-      confirmation: "не совпадает с подтверждением"
-      accepted: "нужно подтвердить"
-      empty: "не может быть пустым"
-      blank: "не может быть пустым"
-      too_long:
-        one:   "слишком большой длины (не может быть больше чем %{count} символ)"
-        few:   "слишком большой длины (не может быть больше чем %{count} символа)"
-        many:  "слишком большой длины (не может быть больше чем %{count} символов)"
-        other: "слишком большой длины (не может быть больше чем %{count} символа)"
-      too_short:
-        one:   "недостаточной длины (не может быть меньше %{count} символа)"
-        few:   "недостаточной длины (не может быть меньше %{count} символов)"
-        many:  "недостаточной длины (не может быть меньше %{count} символов)"
-        other: "недостаточной длины (не может быть меньше %{count} символа)"
-      wrong_length:
-        one:   "неверной длины (может быть длиной ровно %{count} символ)"
-        few:   "неверной длины (может быть длиной ровно %{count} символа)"
-        many:  "неверной длины (может быть длиной ровно %{count} символов)"
-        other: "неверной длины (может быть длиной ровно %{count} символа)"
-      taken: "уже существует"
-      not_a_number: "не является числом"
-      not_an_integer: "не является целым числом"
-      greater_than: "может иметь значение большее %{count}"
-      greater_than_or_equal_to: "может иметь значение большее или равное %{count}"
-      equal_to: "может иметь лишь значение, равное %{count}"
-      less_than: "может иметь значение меньшее чем %{count}"
-      less_than_or_equal_to: "может иметь значение меньшее или равное %{count}"
-      odd: "может иметь лишь четное значение"
-      even: "может иметь лишь нечетное значение"
-      record_invalid: "Возникли ошибки: %{errors}"
-    template: &errors_template
-      header:
-        one:   "%{model}: сохранение не удалось из-за %{count} ошибки"
-        few:   "%{model}: сохранение не удалось из-за %{count} ошибок"
-        many:  "%{model}: сохранение не удалось из-за %{count} ошибок"
-        other: "%{model}: сохранение не удалось из-за %{count} ошибки"
-      body: "Проблемы возникли со следующими полями:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-
-  support:
-    select:
-      prompt: "Выберите: "
-
-    array:
-      words_connector: ", "
-      two_words_connector: " и "
-      last_word_connector: " и "
diff --git a/vendor/rails-locales/sk.yml b/vendor/rails-locales/sk.yml
deleted file mode 100644 (file)
index 24e3ca6..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-# Slovak translations for Ruby on Rails (inspired by the Czech localization - thanx to Karel Minařík)
-# by Jozef Fulop (jofi-rails@silake.com)
-# edit by Ivan Stana (stiipa@centrum.sk)
-"sk":
-  # Date
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d %b"
-      long: "%d. %B %Y"
-
-    day_names:
-      - Nedeľa
-      - Pondelok
-      - Utorok
-      - Streda
-      - Štvrtok
-      - Piatok
-      - Sobota
-    abbr_day_names:
-      - Ne
-      - Po
-      - Ut
-      - St
-      - Št
-      - Pi
-      - So
-
-    month_names:
-      - ~
-      - Január
-      - Február
-      - Marec
-      - Apríl
-      - Máj
-      - Jún
-      - Júl
-      - August
-      - September
-      - Október
-      - November
-      - December
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - Máj
-      - Jún
-      - Júl
-      - Aug
-      - Sep
-      - Okt
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  # Time
-  time:
-    formats:
-      default: "%a %d. %B %Y %H:%M %z"
-      short: "%d.%m. %H:%M"
-      long: "%A %d. %B %Y %H:%M"
-    am: "dopoludnia"
-    pm: "popoludní"
-
-  # ActiveSupport
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " a "
-      last_word_connector: " a "
-    select:
-      prompt: "Prosím vyberte si"
-        
-  # Numbers
-  number:
-    format:
-      precision: 3
-      separator: ","
-      delimiter: " "
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        unit: "€"
-        precision: 2
-        format: "%n %u"
-        separator: ","
-        delimiter: " "
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: " "
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        precision: 1
-        delimiter: ""
-        significant: false
-        strip_insignificant_zeros: false
-
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            other: "B"
-            one: "B"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-           unit: ""
-           thousand: Tisíc
-           million: Milión
-           billion: Miliarda
-           trillion: Bilión
-           quadrillion: Biliarda
-
-  # Distance of time ... helper
-  datetime:
-    prompts:
-      second: "Sekunda"
-      minute: "Minúta"
-      hour: "Hodina"
-      day: "Deň"
-      month: "Mesiac"
-      year: "Rok"
-    distance_in_words:  
-      half_a_minute: 'pol minútou'
-      less_than_x_seconds:
-        one: 'asi pred sekundou'
-        other: 'asi pred %{count} sekundami'
-      x_seconds:
-        one: 'sekundou'
-        other: '%{count} sekundami'
-      less_than_x_minutes:
-        one: 'pred necelou minútou'
-        other: 'pred ani nie %{count} minútami'
-      x_minutes:
-        one: 'minútou'
-        other: '%{count} minútami'
-      about_x_hours:
-        one: 'asi hodinou'
-        other: 'asi %{count} hodinami'
-      x_days:
-        one: '24 hodinami'
-        other: '%{count} dňami'
-      about_x_months:
-        one: 'asi mesiacom'
-        other: 'asi %{count} mesiacmi'
-      x_months:
-        one: 'mesiacom'
-        other: '%{count} mesiacmi'
-      about_x_years:
-        one: 'asi rokom'
-        other: 'asi %{count} rokmi'
-      over_x_years:
-        one: 'pred viac ako rokom'
-        other: 'viac ako %{count} rokmi'
-      almost_x_years:
-        one:   "takmer pred rokom"
-        other: "takmer pred %{count} rokmi"
-
-  helpers:
-     select:
-      prompt: "Prosím vyberte si"
-
-     submit:
-      create: 'Vytvoriť %{model}'
-      update: 'Aktualizovať %{model}'
-      submit: 'Uložiť %{model}'
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nie je v zozname povolených hodnôt"
-      exclusion: "je vyhradené pre iný účel"
-      invalid: "nie je platná hodnota"
-      confirmation: "nebolo potvrdené"
-      accepted: "musí byť potvrdené"
-      empty: "nesmie byť prázdny/e"
-      blank: "je povinná položka"
-      too_long: "je príliš dlhá/ý (max. %{count} znakov)"
-      too_short: "je príliš krátky/a (min. %{count} znakov)"
-      wrong_length: "nemá správnu dĺžku (očakáva sa %{count} znakov)"
-      taken: "sa už nachádza v databáze"
-      not_a_number: "nie je číslo"
-      not_an_integer: "musí byť celé číslo"
-      greater_than: "musí byť väčšie ako %{count}"
-      greater_than_or_equal_to: "musí byť väčšie alebo rovné %{count}"
-      equal_to: "sa musí rovnať %{count}"
-      less_than: "musí byť menšie ako %{count}"
-      less_than_or_equal_to: "musí byť menšie alebo rovné %{count}"
-      odd: "musí byť nepárne číslo"
-      even: "musí byť párne číslo"
-      taken: "ste už použili"
-      record_invalid: "Validácia neúspešná: %{errors}"
-    template: &errors_template
-      header:
-        one: "Pri ukladaní objektu %{model} došlo k chybám a nebolo ho možné uložiť"
-        other: "Pri ukladaní objektu %{model} došlo k %{count} chybám a nebolo ho možné uložiť"
-      body: "Nasledujúce polia obsahujú chybne vyplnené údaje:"
-
-  # ActiveRecord validation messages
-  activerecord:
-    errors:
-      messages:
-         <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-         format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/sl.yml b/vendor/rails-locales/sl.yml
deleted file mode 100644 (file)
index d959d2d..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-# Slovenian language localization (sl-sl)
-# by Miha Rebernik <miha@rebernik.info>
-sl:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%d. %b"
-      long: "%d. %b %Y"
-
-    day_names:
-      - nedelja
-      - ponedeljek
-      - torek
-      - sreda
-      - četrtek
-      - petek
-      - sobota
-    abbr_day_names:
-      - ned
-      - pon
-      - tor
-      - sre
-      - čet
-      - pet
-      - sob
-
-    month_names:
-      - ~
-      - januar
-      - februar
-      - marec
-      - april
-      - maj
-      - junij
-      - julij
-      - avgust
-      - september
-      - oktober
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - maj
-      - jun
-      - jul
-      - avg
-      - sep
-      - okt
-      - nov
-      - dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%A, %d %b %Y ob %H:%M:%S"
-      short: "%d. %b ob %H:%M"
-      long: "%d. %B, %Y ob %H:%M"
-
-    am: "dopoldan"
-    pm: "popoldan"
-
-  # Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " in "
-      last_word_connector: " in "
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "ni vključeno v seznam"
-      exclusion: "je rezervirano"
-      invalid: "je nepravilno"
-      confirmation: "se ne ujema s potrditvijo"
-      accepted: "mora biti sprejeto"
-      empty: "ne sme biti prazno"
-      blank: "ne sme biti prazno"
-      too_long: "je predolgo (dovoljeno je do %{count} znakov)"
-      too_short: "je prekratko (zahtevano je najmanj %{count} znakov)"
-      wrong_length: "je napačne dolžine (mora biti natančno %{count} znakov)"
-      taken: "je že zasedeno"
-      not_a_number: "ni številka"
-      greater_than: "mora biti večje kot %{count}"
-      greater_than_or_equal_to: "mora biti večje ali enako %{count}"
-      equal_to: "mora biti enako %{count}"
-      less_than: "mora biti manj kot %{count}"
-      less_than_or_equal_to: "mora biti manj ali enako %{count}"
-      odd: "mora biti liho"
-      even: "mora biti sodo"
-      record_invalid: ""
-    template: &errors_template
-      header:
-        one:    "Ena napaka preprečuje, da bi shranili %{model}"
-        two:    "Dve napaki preprečujeta, da bi shranili %{model}"
-        few:    "%{count} napake preprečujejo, da bi shranili %{model}"
-        other:  "%{count} napak preprečuje, da bi shranili %{model}"
-      body: "Napačno izpolnjena polja:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-          format: "%{attribute} %{message}"
-
-
-  number:
-     # Used in number_with_delimiter()
-     # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-     format:
-       # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-       separator: ","
-       # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-       delimiter: "."
-       # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
-       precision: 2
-       significant: false
-       strip_insignificant_zeros: false
-
-     # Used in number_to_currency()
-     currency:
-       format:
-         # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-         format: "%u%n"
-         unit: "€"
-         # These three are to override number.format and are optional
-         separator: ","
-         delimiter: "."
-         precision: 2
-         significant: false
-         strip_insignificant_zeros: false
-
-     # Used in number_to_percentage()
-     percentage:
-       format:
-         # These three are to override number.format and are optional
-         # separator:
-         delimiter: ""
-         # precision:
-
-     # Used in number_to_precision()
-     precision:
-       format:
-         # These three are to override number.format and are optional
-         # separator:
-         delimiter: ""
-         # precision:
-
-     # Used in number_to_human_size()
-     human:
-       format:
-         # These three are to override number.format and are optional
-         # separator:
-         delimiter: ""
-         precision: 1
-         significant: true
-         strip_insignificant_zeros: true
-       storage_units:
-         # Storage units output formatting.
-         # %u is the storage unit, %n is the number (default: 2 MB)
-         format: "%n %u"
-         units:
-           byte:
-             one:   "Byte"
-             other: "Bytes"
-           kb: "KB"
-           mb: "MB"
-           gb: "GB"
-           tb: "TB"
-       decimal_units:
-         format: "%n %u"
-         units:
-           unit: ""
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-   distance_in_words:
-     half_a_minute: "pol minute"
-     less_than_x_seconds:
-       one:   "manj kot 1 sekunda"
-       two:   "manj kot 2 sekundi"
-       few:   "manj kot %{count} sekunde"
-       other: "manj kot %{count} sekund"
-     x_seconds:
-       one:   "1 sekunda"
-       two:   "2 sekundi"
-       few:   "%{count} sekunde"
-       other: "%{count} sekund"
-     less_than_x_minutes:
-       one:   "manj kot ena minuta"
-       two:   "manj kot dve minuti"
-       few:   "manj kot %{count} minute"
-       other: "manj kot %{count} minut"
-     x_minutes:
-       one:   "1 minuta"
-       two:   "2 minuti"
-       few:   "%{count} minute"
-       other: "%{count} minut"
-     about_x_hours:
-       one:   "okoli 1 ura"
-       two:   "okoli 2 uri"
-       few:   "okoli %{count} ure"
-       other: "okoli %{count} ur"
-     x_days:
-       one:   "1 dan"
-       two:   "2 dneva"
-       few:   "%{count} dnevi"
-       other: "%{count} dni"
-     about_x_months:
-       one:   "okoli 1 mesec"
-       two:   "okoli 2 meseca"
-       few:   "okoli %{count} mesece"
-       other: "okoli %{count} mesecev"
-     x_months:
-       one:   "1 mesec"
-       two:   "2 meseca"
-       few:   "%{count} mesece"
-       other: "%{count} mesecev"
-     almost_x_years:
-       one:   "skoraj 1 leto"
-       two:   "skoraj 2 leti"
-       few:   "skoraj %{count} leta"
-       other: "skoraj %{count} let"
-     about_x_years:
-       one:   "okoli 1 leto"
-       two:   "okoli 2 leti"
-       few:   "okoli %{count} leta"
-       other: "okoli %{count} let"
-     over_x_years:
-       one:   "več kot 1 leto"
-       two:   "več kot 2 leti"
-       few:   "več kot %{count} leta"
-       other: "več kot %{count} let"
-   prompts:
-     year:   "Leto"
-     month:  "Mesec"
-     day:    "Dan"
-     hour:   "Ura"
-     minute: "Minute"
-     second: "Sekunde"
diff --git a/vendor/rails-locales/sr-Latn.yml b/vendor/rails-locales/sr-Latn.yml
deleted file mode 100644 (file)
index 23a7dc3..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-# Serbian (Latin) translations for Ruby on Rails
-# by Dejan Dimić (dejan.dimic@gmail.com)
-
-"sr-Latn":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%B %e, %Y"
-    day_names:
-      - Nedelja
-      - Ponedeljak
-      - Utorak
-      - Sreda
-      - Četvrtak
-      - Petak
-      - Subota
-    abbr_day_names:
-      - Ned
-      - Pon
-      - Uto
-      - Sre
-      - Čet
-      - Pet
-      - Sub
-    month_names:
-      - ~
-      - Januar
-      - Februar
-      - Mart
-      - April
-      - Maj
-      - Jun
-      - Jul
-      - Avgust
-      - Septembar
-      - Oktobar
-      - Novembar
-      - Decembar
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mar
-      - Apr
-      - Maj
-      - Jun
-      - Jul
-      - Avg
-      - Sep
-      - Okt
-      - Nov
-      - Dec
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %b %d %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: 'AM'
-    pm: 'PM'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'pola minute'
-      less_than_x_seconds:
-        zero: 'manje od 1 sekunde'
-        one: 'manje od 1 sekund'
-        few: 'manje od %{count} sekunde'
-        other: 'manje od %{count} sekundi'
-      x_seconds:
-        one: '1 sekunda'
-        few: '%{count} sekunde'
-        other: '%{count} sekundi'
-      less_than_x_minutes:
-        zero: 'manje od minuta'
-        one: 'manje od 1 minut'
-        other: 'manje od %{count} minuta'
-      x_minutes:
-        one: '1 minut'
-        other: '%{count} minuta'
-      about_x_hours:
-        one: 'oko 1 sat'
-        few: 'oko %{count} sata'
-        other: 'oko %{count} sati'
-      x_days:
-        one: '1 dan'
-        other: '%{count} dana'
-      about_x_months:
-        one: 'oko 1 mesec'
-        few: 'oko %{count} meseca'
-        other: 'oko %{count} meseci'
-      x_months:
-        one: '1 mesec'
-        few: '%{count} meseca'
-        other: '%{count} meseci'
-      about_x_years:
-        one: 'oko 1 godine'
-        other: 'oko %{count} godine'
-      over_x_years:
-        one: 'preko 1 godine'
-        other: 'preko %{count} godine'
-
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'DIN'
-        precision: 2
-        format: '%n %u'
-        separator: "."
-        delimiter: ","
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "nije u listi"
-      exclusion: "nije dostupno"
-      invalid: "nije ispravan"
-      confirmation: "se ne slaže sa svojom potvrdom"
-      accepted: "mora biti prihvaćen"
-      empty: "mora biti dat"
-      blank: "mora biti dat"
-      too_long: "je predugačak (ne više od %{count} karaktera)"
-      too_short: "je prekratak (ne manje od %{count} karaktera)"
-      wrong_length: "nije odgovarajuće dužine (mora imati %{count} karaktera)"
-      taken: "je zauzeto"
-      not_a_number: "nije broj"
-      greater_than: "mora biti veće od %{count}"
-      greater_than_or_equal_to: "mora biti veće ili jednako %{count}"
-      equal_to: "mora biti jednako %{count}"
-      less_than: "mora biti manje od %{count}"
-      less_than_or_equal_to: "mora biti manje ili jednako %{count}"
-      odd: "mora biti neparno"
-      even: "mora biti parno"
-    template: &errors_template
-      header:
-        one: 'Nisam uspeo sačuvati %{model}: 1 greška'
-        few: 'Nisam uspeo sačuvati %{model}: %{count} greške.'
-        other: 'Nisam uspeo sačuvati %{model}: %{count} greški.'
-      body: "Molim Vas proverite sledeća polja:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/sr.yml b/vendor/rails-locales/sr.yml
deleted file mode 100644 (file)
index 8477a8f..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-# Serbian default (Cyrillic) translations for Ruby on Rails
-# by Dejan Dimić (dejan.dimic@gmail.com)
-
-"sr":
-  date:
-    formats:
-      default: "%d/%m/%Y"
-      short: "%e %b"
-      long: "%B %e, %Y"
-    day_names:
-      - Недеља
-      - Понедељак
-      - Уторак
-      - Среда
-      - Четвртак
-      - Петак
-      - Субота
-    abbr_day_names:
-      - Нед
-      - Пон
-      - Уто
-      - Сре
-      - Чет
-      - Пет
-      - Суб
-    month_names:
-      - ~
-      - Јануар
-      - Фабруар
-      - Март
-      - Април
-      - Мај
-      - Јун
-      - Јул
-      - Август
-      - Септембар
-      - Октобар
-      - Новембар
-      - Децембар
-    abbr_month_names:
-      - ~
-      - Јан
-      - Феб
-      - Мар
-      - Апр
-      - Мај
-      - Јун
-      - Јул
-      - Авг
-      - Сеп
-      - Окт
-      - Нов
-      - Дец
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %b %d %H:%M:%S %Z %Y"
-      short: "%d %b %H:%M"
-      long: "%B %d, %Y %H:%M"
-    am: 'АМ'
-    pm: 'ПМ'
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'пола минуте'
-      less_than_x_seconds:
-        zero: 'мање од 1 секунде'
-        one: 'мање од 1 секунд'
-        few: 'мање од %{count} секунде'
-        other: 'мање од %{count} секунди'
-      x_seconds:
-        one: '1 секунда'
-        few: '%{count} секунде'
-        other: '%{count} секунди'
-      less_than_x_minutes:
-        zero: 'мање од минута'
-        one: 'мање од 1 минут'
-        other: 'мање од %{count} минута'
-      x_minutes:
-        one: '1 минут'
-        other: '%{count} минута'
-      about_x_hours:
-        one: 'око 1 сат'
-        few: 'око %{count} сата'
-        other: 'око %{count} сати'
-      x_days:
-        one: '1 дан'
-        other: '%{count} дана'
-      about_x_months:
-        one: 'око 1 месец'
-        few: 'око %{count} месеца'
-        other: 'око %{count} месеци'
-      x_months:
-        one: '1 месец'
-        few: '%{count} месеца'
-        other: '%{count} месеци'
-      about_x_years:
-        one: 'око 1 године'
-        other: 'око %{count} године'
-      over_x_years:
-        one: 'преко 1 године'
-        other: 'преко %{count} године'
-
-  number:
-    format:
-      precision: 3
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'ДИН'
-        precision: 2
-        format: '%n %u'
-        separator: "."
-        delimiter: ","
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "није у листи"
-      exclusion: "није доступно"
-      invalid: "није исправан"
-      confirmation: "се не слаже са својом потврдом"
-      accepted: "мора бити прихваћено"
-      empty: "мора бити дат"
-      blank: "мора бити дат"
-      too_long: "је предугачак (не више од %{count} карактера)"
-      too_short: "је прекратак (не мање од %{count} карактера)"
-      wrong_length: "није одговарајуће дужине (мора имати %{count} карактера)"
-      taken: "је заузето"
-      not_a_number: "није број"
-      greater_than: "мора бити веће од %{count}"
-      greater_than_or_equal_to: "мора бити веће или једнако %{count}"
-      equal_to: "мора бити једнако %{count}"
-      less_than: "мора бити мање од %{count}"
-      less_than_or_equal_to: "мора бити мање или једнако %{count}"
-      odd: "мора бити непарно"
-      even: "мора бити парно"
-    template: &errors_template
-      header:
-        one: 'Нисам успео сачувати %{model}: 1 грешка.'
-        few: 'Нисам успео сачувати %{model}: %{count} грешке.'
-        other: 'Нисам успео сачувати %{model}: %{count} грешки.'
-      body: "Молим Вас да проверите следећа поља:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/sv-SE.yml b/vendor/rails-locales/sv-SE.yml
deleted file mode 100644 (file)
index 1fc5c41..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-# Swedish translation.
-# By Johan Lundström (johanlunds@gmail.com) with parts taken from http://github.com/daniel/swe_rails.
-# With contributions by:
-#   * Sven Dahlstrand (sven.dahlstrand@gmail.com)
-#   * Henrik Nyh (henrik@nyh.se)
-#   * Magnus Bergmark (magnus.bergmark@gmail.com)
-#   * Carl Åkerlindh (carl.akerlindh@gmail.com)
-
-"sv-SE":
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: ","
-      # Delimits thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: " " # non-breaking space
-      # Number of decimals after the separator (the number 1 with a precision of 2 gives: 1.00)
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "kr"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-         delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    # Used in number_to_human_size()
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "Tusen"
-          million: "Miljon"
-          billion: "Miljard"
-          trillion: "Biljon"
-          quadrillion: "Biljard"
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "en halv minut"
-      less_than_x_seconds:
-        one:   "mindre än en sekund"
-        other: "mindre än %{count} sekunder"
-      x_seconds:
-        one:   "en sekund"
-        other: "%{count} sekunder"
-      less_than_x_minutes:
-        one:   "mindre än en minut"
-        other: "mindre än %{count} minuter"
-      x_minutes:
-        one:   "en minut"
-        other: "%{count} minuter"
-      about_x_hours:
-        one:   "ungefär en timme"
-        other: "ungefär %{count} timmar"
-      x_days:
-        one:   "en dag"
-        other: "%{count} dagar"
-      about_x_months:
-        one:   "ungefär en månad"
-        other: "ungefär %{count} månader"
-      x_months:
-        one:   "en månad"
-        other: "%{count} månader"
-      about_x_years:
-        one:   "ungefär ett år"
-        other: "ungefär %{count} år"
-      over_x_years:
-        one:   "mer än ett år"
-        other: "mer än %{count} år"
-      almost_x_years:
-        one:   "nästan ett år"
-        other: "nästan %{count} år"
-
-    prompts:
-      year:   "År"
-      month:  "Månad"
-      day:    "Dag"
-      hour:   "Timme"
-      minute: "Minut"
-      second: "Sekund"
-
-  helpers:
-    select:
-      prompt: "Välj"
-
-    submit:
-      create: "Skapa %{model}"
-      update: "Ändra %{model}"
-      submit: "Spara %{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-
-    messages: &errors_messages
-      inclusion: "finns inte i listan"
-      exclusion: "är reserverat"
-      invalid: "har fel format"
-      confirmation: "stämmer inte överens"
-      accepted: "måste vara accepterad"
-      empty: "får ej vara tom"
-      blank: "måste anges"
-      too_long: "är för lång (maximum är %{count} tecken)"
-      too_short: "är för kort (minimum är %{count} tecken)"
-      wrong_length: "har fel längd (ska vara %{count} tecken)"
-      taken: "har redan tagits"
-      not_a_number: "är inte ett nummer"
-      not_an_integer: "måste vara ett heltal"
-      greater_than: "måste vara större än %{count}"
-      greater_than_or_equal_to: "måste vara större än eller lika med %{count}"
-      equal_to: "måste vara samma som"
-      less_than: "måste vara mindre än %{count}"
-      less_than_or_equal_to: "måste vara mindre än eller lika med %{count}"
-      odd: "måste vara udda"
-      even: "måste vara jämnt"
-      record_invalid: "Ett fel uppstod: %{errors}"
-    template: &errors_template
-      header:
-        one:    "Ett fel förhindrade denna %{model} från att sparas"
-        other:  "%{count} fel förhindrade denna %{model} från att sparas"
-      body: "Det var problem med följande fält:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
-
-      # The values :model, :attribute and :value are always available for interpolation
-      # The value :count is available when applicable. Can be used for pluralization.
-        # Append your own errors here or at the model/attributes scope.
-
-      # You can define own errors for models or model attributes.
-      # The values :model, :attribute and :value are always available for interpolation.
-      #
-      # For example,
-      #   models:
-      #     user:
-      #       blank: "This is a custom blank message for %{model}: %{attribute}"
-      #       attributes:
-      #         login:
-      #           blank: "This is a custom blank message for User login"
-      # Will define custom blank validation message for User model and
-      # custom blank validation message for login attribute of User model.
-      # models:
-
-    # Translate model names. Used in Model.human_name().
-    #models:
-      # For example,
-      #   user: "Dude"
-      # will translate User model name to "Dude"
-
-    # Translate model attribute names. Used in Model.human_attribute_name(attribute).
-    #attributes:
-      # For example,
-      #   user:
-      #     login: "Handle"
-      # will translate User attribute "login" as "Handle"
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%Y-%m-%d"
-      short: "%e %b"
-      long: "%e %B %Y"
-
-    day_names:
-      - söndag
-      - måndag
-      - tisdag
-      - onsdag
-      - torsdag
-      - fredag
-      - lördag
-    abbr_day_names:
-      - sön
-      - mån
-      - tis
-      - ons
-      - tor
-      - fre
-      - lör
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - januari
-      - februari
-      - mars
-      - april
-      - maj
-      - juni
-      - juli
-      - augusti
-      - september
-      - oktober
-      - november
-      - december
-    abbr_month_names:
-      - ~
-      - jan
-      - feb
-      - mar
-      - apr
-      - maj
-      - jun
-      - jul
-      - aug
-      - sep
-      - okt
-      - nov
-      - dec
-    # Used in date_select and datime_select.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %e %b %Y %H:%M:%S %z"
-      short: "%e %b %H:%M"
-      long: "%e %B %Y %H:%M"
-    am: ""
-    pm: ""
-
-  # Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " och "
-      last_word_connector: " och "
-    select:
-      # default value for :prompt => true in FormOptionsHelper
-      prompt: "Välj"
diff --git a/vendor/rails-locales/sw.yml b/vendor/rails-locales/sw.yml
deleted file mode 100644 (file)
index 2ee3df3..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-# Swahili translations for Ruby on Rails
-# - Initially sketched by Joachim Mangilima (joachimm3@gmail.com) and Matthew Todd (http://matthewtodd.org)
-# - Vastly improved by Joram (namtih58@gmail.com)
-
-sw:
-  date:
-    formats:
-      default: '%d-%m-%Y'
-      short: '%e %b'
-      long: '%e %B, %Y'
-
-    day_names:
-      - Jumpili
-      - Jumatatu
-      - Jumanne
-      - Jumatano
-      - Alhamisi
-      - Ijumaa
-      - Jumamosi
-    abbr_day_names:
-      - J2
-      - J3
-      - J4
-      - J5
-      - Al
-      - Ij
-      - J1
-
-    month_names:
-      - ~
-      - Mwezi wa kwanza
-      - Mwezi wa pili
-      - Mwezi wa tatu
-      - Mwezi wa nne
-      - Mwezi wa tano
-      - Mwezi wa sita
-      - Mwezi wa saba
-      - Mwezi wa nane
-      - Mwezi wa tisa
-      - Mwezi wa kumi
-      - Mwezi wa kumi na moja
-      - Mwezi wa kumi na mbili
-    abbr_month_names:
-      - ~
-      - Jan
-      - Feb
-      - Mac
-      - Apr
-      - Mei
-      - Jun
-      - Jul
-      - Ago
-      - Sep
-      - Okt
-      - Nov
-      - Des
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: '%a, %d %b %Y %H:%M:%S'
-      short: '%e %b %Y %H:%M'
-      long: '%A, %e. %B %Y, %H:%M:%S'
-    am: 'am'
-    pm: 'pm'
-
-  support:
-    array:
-      words_connector: ', '
-      two_words_connector: ' na '
-      last_word_connector: ', na '
-
-    select:
-      prompt: 'Tafadhali teua'
-
-  number:
-    format:
-      separator: ','
-      delimiter: '.'
-      precision: 2
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: '%n%u'
-        unit: '/='
-        separator: ','
-        delimiter: '.'
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ''
-
-    precision:
-      format:
-        delimiter: ''
-
-    human:
-      format:
-        delimiter: ''
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: '%n %u'
-        units:
-          byte:
-            one: 'Byte'
-            other: 'Bytes'
-          kb: 'KB'
-          mb: 'MB'
-          gb: 'GB'
-          tb: 'TB'
-      decimal_units:
-        format: '%n %u'
-        units:
-          unit: ''
-          thousand: Elfu
-          million: Milioni
-          billion: Bilioni
-          trillion: Trilioni
-          quadrillion: Quadrillion
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'nusu dakika'
-      less_than_x_seconds:
-        one: 'chini ya sekunde 1'
-        other: 'chini ya sekunde %{count}'
-      x_seconds:
-        one: 'sekunde 1'
-        other: 'sekunde %{count}'
-      less_than_x_minutes:
-        one: 'chini ya dakika 1'
-        other: 'chini ya dakika %{count}'
-      x_minutes:
-        one: 'dakika 1'
-        other: 'dakika %{count}'
-      about_x_hours:
-        one: 'kama saa limoja'
-        other: 'kama masaa %{count}'
-      x_days:
-        one: 'siku 1'
-        other: 'siku %{count}'
-      about_x_months:
-        one: 'kama mwezi 1'
-        other: 'kama miezi %{count}'
-      x_months:
-        one: 'mwezi 1'
-        other: 'miezi %{count}'
-      about_x_years:
-        one: 'kama mwaka 1'
-        other: 'kama miaka %{count}'
-      over_x_years:
-        one: 'zaidi ya mwaka 1'
-        other: 'zaidi ya miaka %{count}'
-      almost_x_years:
-        one: 'karibia mwaka'
-        other: 'karibia miaka %{count}'
-    prompts:
-      year: 'Mwaka'
-      month: 'Mwezi'
-      day: 'Siku'
-      hour: 'Saa'
-      minute: 'Dakika'
-      second: 'Sekunde'
-
-  helpers:
-    select:
-        prompt: 'Tafadhali teua'
-
-    submit:
-        create: 'Unda %{model}'
-        update: 'Sasaisha %{model}'
-        submit: 'Akibisha %{model}'
-
-  errors:
-    format: '%{attribute} %{message}'
-
-    messages: &errors_messages
-      inclusion: 'haipo kwenye orodha'
-      exclusion: 'haiwezi kutumika'
-      invalid: 'haifai'
-      confirmation: 'haifanani na hapo chini'
-      accepted: 'lazima ikubaliwe'
-      empty: 'haitakiwi kuwa tupu'
-      blank: 'haitakiwi kuwa wazi'
-      too_long: 'ndefu sana (isizidi herufi %{count})'
-      too_short: 'fupi mno (isipungue herufi %{count})'
-      wrong_length: 'idadi ya herufi hazilingani (inatakiwa %{count})'
-      not_a_number: 'inaruhusiwa namba tu'
-      not_an_integer: 'inaruhusiwa namba tu'
-      greater_than: 'z/iwe zaidi ya {{count}}'
-      greater_than_or_equal_to: 'z/iwe sawa ama zaidi ya {{count}}'
-      equal_to: 'z/iwe sawa na {{count}}'
-      less_than: 'z/isizidi {{count}}'
-      less_than_or_equal_to: 'z/iwe sawa na, ama chini ya {{count}}'
-      odd: 'z/iwe witiri'
-      even: 'z/iwe shufwa'
-      taken: 'imesajiliwa'
-      record_invalid: "Uhalalishaji umeshindikana: %{errors}"
-    template: &errors_template
-      header:
-        one: '%{model} haikuhifadhiwa kwa sababu moja.'
-        other: '%{model} haikuhifadhiwa kwa sababu %{count}.'
-      body: 'Tafadhali kagua sehemu zifuatazo:'
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: '%{attribute}%{message}'
diff --git a/vendor/rails-locales/th.yml b/vendor/rails-locales/th.yml
deleted file mode 100644 (file)
index 5ef4e3a..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-# Thai translation for Ruby on Rails
-# original by Prem Sichanugrist (s@sikachu.com/sikandsak@gmail.com)
-# activerecord keys fixed by Jittat Fakcharoenphol (jittat@gmail.com)
-#
-# Note: You must install i18n gem in order to use this language pack.
-
-th:
-  date:
-    formats:
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - อาทิตย์
-      - จันทร์
-      - อังคาร
-      - พุธ
-      - พฤหัสบดี
-      - ศุกร์
-      - เสาร์
-    abbr_day_names: 
-      - อา
-      - จ
-      - อ
-      - พ
-      - พฤ
-      - ศ
-      - ส
-    month_names:
-      - ~
-      - มกราคม
-      - กุมภาพันธ์
-      - มีนาคม
-      - เมษายน
-      - พฤษภาคม
-      - มิถุนายน
-      - กรกฎาคม
-      - สิงหาคม
-      - กันยายน
-      - ตุลาคม
-      - พฤศจิกายน
-      - ธันวาคม
-    abbr_month_names:
-      - ~
-      - ม.ค.
-      - ก.พ.
-      - มี.ค.
-      - เม.ย.
-      - พ.ค.
-      - มิ.ย.
-      - ก.ค.
-      - ส.ค.
-      - ก.ย.
-      - ต.ค.
-      - พ.ย.
-      - ธ.ค.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M น."
-      long: "%d %B %Y %H:%M น."
-    am: "ก่อนเที่ยง"
-    pm: "หลังเที่ยง"
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " และ "
-      last_word_connector: ", และ "
-
-    select:
-      prompt: "โปรดเลือก"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    currency:
-      format:
-        format: "%n %u"
-        unit: "บาท"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    percentage:
-      format:
-        delimiter: ""
-
-    precision:
-      format:
-        delimiter: ""
-
-    human:
-      format:
-        delimiter: ""
-        precision: 3
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-        units:
-          byte: "ไบต์"
-          kb: "กิโลไบต์"
-          mb: "เมกะไบต์"
-          gb: "จิกะไบต์"
-          tb: "เทระไบต์"
-
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "พัน"
-          million: "ล้าน"
-          billion: "พันล้าน"
-          trillion: "ล้านล้าน"
-          quadrillion: "พันล้านล้าน"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "ครึ่งนาที"
-      less_than_x_seconds: "น้อยกว่า %{count} วินาที"
-      x_seconds: "%{count} วินาที"
-      less_than_x_minutes: "น้อยกว่า %{count} นาที"
-      x_minutes: "%{count} นาที"
-      about_x_hours: "ประมาณ %{count} ชั่วโมง"
-      x_days: "%{count} วัน"
-      about_x_months: "ประมาณ %{count} เดือน"
-      x_months: "%{count} เดือน"
-      about_x_years: "ประมาณ %{count} ปี"
-      over_x_years: "มากกว่า %{count} ปี"
-      almost_x_years: "เกือบ %{count} ปี"
-    prompts:
-      year:   "ปี"
-      month:  "เดือน"
-      day:    "วัน"
-      hour:   "ชั่วโมง"
-      minute: "นาที"
-      second: "วินาที"
-
-  helpers:
-    select:
-      prompt: "โปรดเลือก"
-
-    submit:
-      create: "สร้าง%{model}"
-      update: "ปรับปรุง%{model}"
-      submit: "บันทึก%{model}"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "ไม่ได้อยู่ในรายการ"
-      exclusion: "ไม่ได้รับอนุญาตให้ใช้"
-      invalid: "ไม่ถูกต้อง"
-      confirmation: "ไม่ตรงกับการยืนยัน"
-      accepted: "ต้องถูกยอมรับ"
-      empty: "ต้องไม่เว้นว่างเอาไว้"
-      blank: "ต้องไม่เว้นว่างเอาไว้"
-      too_long: "ยาวเกินไป (ต้องไม่เกิน %{count} ตัวอักษร)"
-      too_short: "สั้นเกินไป (ต้องยาวกว่า %{count} ตัวอักษร)"
-      wrong_length: "มีความยาวไม่ถูกต้อง (ต้องมีความยาว %{count} ตัวอักษร)"
-      not_a_number: "ไม่ใช่ตัวเลข"
-      not_an_integer: "ไม่ใช่จำนวนเต็ม"
-      greater_than: "ต้องมากกว่า %{count}"
-      greater_than_or_equal_to: "ต้องมากกว่าหรือเท่ากับ %{count}"
-      equal_to: "ต้องมีค่าเท่ากับ %{count}"
-      less_than: "ต้องมีค่าน้อยกว่า %{count}"
-      less_than_or_equal_to: "ต้องมีค่าน้อยกว่าหรือเท่ากับ %{count}"
-      odd: "ต้องเป็นจำนวนคี่"
-      even: "ต้องเป็นจำนวนคู่"
-      taken: "ถูกใช้ไปแล้ว"
-      record_invalid: "ไม่ผ่านการตรวจสอบ: %{errors}"
-    template: &errors_template
-      header: "พบข้อผิดพลาด %{count} ประการ ทำให้ไม่สามารถบันทึก%{model}ได้"
-      body: "โปรดตรวจสอบข้อมูลในช่องต่อไปนี้:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-      full_messages:
-        format: "%{attribute} %{message}"
diff --git a/vendor/rails-locales/tr.yml b/vendor/rails-locales/tr.yml
deleted file mode 100644 (file)
index 8e213ff..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-# Turkish translations for Ruby on Rails
-# by Ozgun Ataman (ozataman@gmail.com)
-
-tr:
-  date:
-    formats:
-      default: "%d.%m.%Y"
-      short: "%e %b"
-      long: "%e %B %Y, %A"
-    day_names:
-      - Pazar
-      - Pazartesi
-      - Salı
-      - Çarşamba
-      - Perşembe
-      - Cuma
-      - Cumartesi
-    abbr_day_names:
-      - Pzr
-      - Pzt
-      - Sal
-      - Çrş
-      - Prş
-      - Cum
-      - Cts
-    month_names:
-      - ~
-      - Ocak
-      - Şubat
-      - Mart
-      - Nisan
-      - Mayıs
-      - Haziran
-      - Temmuz
-      - Ağustos
-      - Eylül
-      - Ekim
-      - Kasım
-      - Aralık
-    abbr_month_names:
-      - ~
-      - Oca
-      - Şub
-      - Mar
-      - Nis
-      - May
-      - Haz
-      - Tem
-      - Ağu
-      - Eyl
-      - Eki
-      - Kas
-      - Ara
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a %d.%b.%y %H:%M"
-      short: "%e %B, %H:%M"
-      long: "%e %B %Y, %A, %H:%M"
-
-    am: "öğleden önce"
-    pm: "öğleden sonra"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: 'yarım dakika'
-      less_than_x_seconds:
-        zero: '1 saniyeden az'
-        one: '1 saniyeden az'
-        other: '%{count} saniyeden az'
-      x_seconds:
-        one: '1 saniye'
-        other: '%{count} saniye'
-      less_than_x_minutes:
-        zero: '1 dakikadan az'
-        one: '1 dakikadan az'
-        other: '%{count} dakikadan az'
-      x_minutes:
-        one: '1 dakika'
-        other: '%{count} dakika'
-      about_x_hours:
-        one: 'yaklaşık 1 saat'
-        other: 'yaklaşık %{count} saat'
-      x_days:
-        one: '1 gün'
-        other: '%{count} gün'
-      about_x_months:
-        one: 'yaklaşık 1 ay'
-        other: 'yaklaşık %{count} ay'
-      x_months:
-        one: '1 ay'
-        other: '%{count} ay'
-      about_x_years:
-        one: 'yaklaşık 1 yıl'
-        other: 'yaklaşık %{count} yıl'
-      over_x_years:
-        one: '1 yıldan fazla'
-        other: '%{count} yıldan fazla'
-      almost_x_years:
-        one:   "neredeyse 1 yıl"
-        other: "neredeyse %{count} yıl"
-
-  number:
-    format:
-      precision: 2
-      separator: ','
-      delimiter: '.'
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        unit: 'TL'
-        format: '%n %u'
-        separator: ','
-        delimiter: '.'
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: '.'
-    precision:
-      format:
-        delimiter: '.'
-    human:
-      format:
-        delimiter: '.'
-        precision: 2
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-        format: "%n %u"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  support:
-    select:
-      # default value for :prompt => true in FormOptionsHelper
-      prompt: "Lütfen seçiniz"
-    array:
-      words_connector: ", "
-      two_words_connector: " ve "
-      last_word_connector: " ve "
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "kabul edilen bir kelime değil"
-      exclusion: "kullanılamaz"
-      invalid: "geçersiz"
-      confirmation: "teyidiyle uyuşmamakta"
-      accepted: "kabul edilmeli"
-      empty: "doldurulmalı"
-      blank: "doldurulmalı"
-      too_long: "çok uzun (en fazla %{count} karakter)"
-      too_short: "çok kısa (en az %{count} karakter)"
-      wrong_length: "yanlış uzunlukta (tam olarak %{count} karakter olmalı)"
-      taken: "hali hazırda kullanılmakta"
-      not_a_number: "geçerli bir sayı değil"
-      greater_than: "%{count} sayısından büyük olmalı"
-      greater_than_or_equal_to: "%{count} sayısına eşit veya büyük olmalı"
-      equal_to: "tam olarak %{count} olmalı"
-      less_than: "%{count} sayısından küçük olmalı"
-      less_than_or_equal_to: "%{count} sayısına eşit veya küçük olmalı"
-      odd: "tek olmalı"
-      even: "çift olmalı"
-      record_invalid: "Doğrulama başarısız oldu: %{errors}"
-    template: &errors_template
-      header:
-        one:    "%{model} girişi kaydedilemedi: 1 hata."
-        other:  "%{model} girişi kadedilemedi: %{count} hata."
-      body: "Lütfen aşağıdaki hataları düzeltiniz:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
\ No newline at end of file
diff --git a/vendor/rails-locales/uk.yml b/vendor/rails-locales/uk.yml
deleted file mode 100644 (file)
index 6b3e848..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-# Ukrainian translations for Ruby on Rails
-# by Andrii Ponomarov (http://github.com/andrii)
-# improved (I hope) by Iwakura Taro
-# it is recomended to use russian rubygem to make i18n of your app
-
-uk:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: ","
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: " "
-      # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "грн."
-        # These three are to override number.format and are optional
-        separator: ","
-        delimiter: " "
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-
-      storage_units:
-        # Storage units output formatting.
-        # %u is the storage unit, %n is the number (default: 2 MB)
-        format: "%n %u"
-        units:
-          byte:
-            one:   "байт"
-            few:   "байти"
-            many:  "байтів"
-            other: "байту"
-          kb: "кБ"
-          mb: "МБ"
-          gb: "ГБ"
-          tb: "ТБ"
-          # Rails 3
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand:
-            one: "Тисяча"
-            few: "Тисяч"
-            many: "Тисяч"
-            other: "Тисяч"
-          million:
-            one: "Мільйон"
-            few: "Мільйонів"
-            many: "Мільйонів"
-            other: "Мільйонів"
-          billion:
-            one: "Мільярд"
-            few: "Мільярдів"
-            many: "Мільярдів"
-            other: "Мільярдів"
-          trillion:
-            one: "Трильйон"
-            few: "Трильйонів"
-            many: "Трильйонів"
-            other: "Трильйонів"
-          quadrillion:
-            one: "Кквадрильйон"
-            few: "Квадрильйонів"
-            many: "Квадрильйонів"
-            other: "Квадрильйонів"
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "півхвилини"
-      less_than_x_seconds:
-        one:   "менше %{count} секунди"
-        few:   "менше %{count} секунд"
-        many:  "менше %{count} секунд"
-        other: "менше %{count} секунди"
-      x_seconds:
-        one:   "%{count} секунда"
-        few:   "%{count} секунди"
-        many:  "%{count} секунд"
-        other: "%{count} секунди"
-      less_than_x_minutes:
-        one:   "менше %{count} хвилини"
-        few:   "менше %{count} хвилин"
-        many:  "менше %{count} хвилин"
-        other: "менше %{count} хвилини"
-      x_minutes:
-        one:   "%{count} хвилина"
-        few:   "%{count} хвилини"
-        many:  "%{count} хвилин"
-        other: "%{count} хвилини"
-      about_x_hours:
-        one:   "близько %{count} година"
-        few:   "близько %{count} години"
-        many:  "близько %{count} годин"
-        other: "близько %{count} години"
-      x_days:
-        one:   "%{count} день"
-        few:   "%{count} дні"
-        many:  "%{count} днів"
-        other: "%{count} дня"
-      about_x_months:
-        one:   "близько %{count} місяця"
-        few:   "близько %{count} місяців"
-        many:  "близько %{count} місяців"
-        other: "близько %{count} місяця"
-      x_months:
-        one:   "%{count} місяць"
-        few:   "%{count} місяці"
-        many:  "%{count} місяців"
-        other: "%{count} місяця"
-      about_x_years:
-        one:   "близько %{count} року"
-        few:   "близько %{count} років"
-        many:  "близько %{count} років"
-        other: "близько %{count} року"
-      over_x_years:
-        one:   "більше %{count} року"
-        few:   "більше %{count} років"
-        many:  "більше %{count} років"
-        other: "більше %{count} року"
-      almost_x_years:
-        one:   "майже %{count} роки"
-        few:   "майже %{count} років"
-        many:  "майже %{count} років"
-        other: "майже %{count} років"
-
-    prompts:
-      year:   "Рік"
-      month:  "Місяць"
-      day:    "День"
-      hour:   "Година"
-      minute: "Хвилина"
-      second: "Секунда"
-
-  helpers:
-    select:
-      # Default value for :prompt => true in FormOptionsHelper
-      prompt: "Оберіть: "
-
-    # Default translation keys for submit FormHelper
-    submit:
-      create: 'Створити %{model}'
-      update: 'Зберегти %{model}'
-      submit: 'Зберегти %{model}'
-
-
-  errors:
-    format: "%{attribute} %{message}"
-    # The values :model, :attribute and :value are always available for interpolation
-    # The value :count is available when applicable. Can be used for pluralization.
-    messages: &errors_messages
-      inclusion: "не включено до переліку"
-      exclusion: "зарезервовано"
-      invalid: "недійсний"
-      confirmation: "не збігається з підтвердженням"
-      accepted: "має бути прийнятий"
-      empty: "не може бути порожнім"
-      blank: "не може бути пустим"
-      too_long:
-        one:    "занадто довгий (максимум %{count} знак)"
-        few:    "занадто довгий (максимум %{count} знаки)"
-        many:   "занадто довгий (максимум %{count} знаків)"
-        other:  "занадто довгий (максимум %{count} знаку)"
-      too_short:
-        one:    "занадто короткий (мінімум %{count} знак)"
-        few:    "занадто короткий (мінімум %{count} знаки)"
-        many:   "занадто короткий (мінімум %{count} знаків)"
-        other:  "занадто короткий (мінімум %{count} знаку)"
-      wrong_length:
-        one:    "неправильна довжина (має бути %{count} знак)"
-        few:    "неправильна довжина (має бути %{count} знаки)"
-        many:   "неправильна довжина (має бути %{count} знаків)"
-        other:  "неправильна довжина (має бути %{count} знаку)"
-      taken: "вже зайнятий"
-      not_a_number: "не число"
-      not_an_integer: "не э цілим числом"
-      greater_than: "має бути більше ніж %{count}"
-      greater_than_or_equal_to: "має бути більше ніж або дорівнювати %{count}"
-      equal_to: "має дорівнювати %{count}"
-      less_than: "має бути менше ніж %{count}"
-      less_than_or_equal_to: "має бути менше ніж або дорівнювати %{count}"
-      odd: "має бути непарним"
-      even: "має бути парним"
-      record_invalid: "Виникли помилки: %{errors}"
-    template: &errors_template
-        header:
-          one:    "%{model} не збережено через %{count} помилку"
-          few:    "%{model} не збережено через %{count} помилки"
-          many:   "%{model} не збережено через %{count} помилок"
-          other:  "%{model} не збережено через %{count} помилки"
-        body: "Помилки виявлено в таких полях:"
-
-  activerecord:
-    errors:
-      full_messages:
-        format: "%{attribute} %{message}"
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d.%m.%Y"
-      short: "%d %b"
-      long: "%d %B %Y"
-
-    day_names:
-      - неділя
-      - понеділок
-      - вівторок
-      - середа
-      - четвер
-      - "п'ятниця"
-      - субота
-    abbr_day_names:
-      - нд.
-      - пн.
-      - вт.
-      - ср.
-      - чт.
-      - пт.
-      - сб.
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - Січень
-      - Лютий
-      - Березень
-      - Квітень
-      - Травень
-      - Червень
-      - Липень
-      - Серпень
-      - Вересень
-      - Жовтень
-      - Листопад
-      - Грудень
-    abbr_month_names:
-      - ~
-      - січ.
-      - лют.
-      - бер.
-      - квіт.
-      - трав.
-      - черв.
-      - лип.
-      - серп.
-      - вер.
-      - жовт.
-      - лист.
-      - груд.
-    # Used in date_select and datime_select.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y, %H:%M:%S %z"
-      short: "%d %b, %H:%M"
-      long: "%d %B %Y, %H:%M"
-    am: "до полудня"
-    pm: "по полудні"
-
-  # Used in array.to_sentence.
-  support:
-    select:
-      prompt: "Оберіть:"
-    array:
-      words_connector: ", "
-      two_words_connector: " і "
-      last_word_connector: " та "
-
diff --git a/vendor/rails-locales/vi.yml b/vendor/rails-locales/vi.yml
deleted file mode 100644 (file)
index 4be24f0..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-# Vietnamese translation for Ruby on Rails
-# by
-#   Do Hai Bac (dohaibac@gmail.com)
-#   Dao Thanh Ngoc (ngocdaothanh@gmail.com, http://github.com/ngocdaothanh/rails-i18n/tree/master)
-
-vi:
-  number:
-    # Used in number_with_delimiter()
-    # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
-    format:
-      # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
-      separator: ","
-      # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
-      delimiter: "."
-      # Number of decimals, behind the separator (1 with a precision of 2 gives: 1.00)
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-
-    # Used in number_to_currency()
-    currency:
-      format:
-        # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
-        format: "%n %u"
-        unit: "đồng"
-        # These three are to override number.format and are optional
-        separator: ","
-        delimiter: "."
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-
-    # Used in number_to_percentage()
-    percentage:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_precision()
-    precision:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        # precision:
-
-    # Used in number_to_human_size()
-    human:
-      format:
-        # These three are to override number.format and are optional
-        # separator:
-        delimiter: ""
-        precision: 1
-        significant: true
-        strip_insignificant_zeros: true
-      storage_units:
-          # Storage units output formatting.
-          # %u is the storage unit, %n is the number (default: 2 MB)
-          format: "%n %u"
-          units:
-            byte:
-              one:   "Byte"
-              other: "Byte"
-            kb: "KB"
-            mb: "MB"
-            gb: "GB"
-            tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-
-  # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
-  datetime:
-    distance_in_words:
-      half_a_minute: "30 giây"
-      less_than_x_seconds:
-        one:   "chưa tới 1 giây"
-        other: "chưa tới %{count} giây"
-      x_seconds:
-        one:   "1 giây"
-        other: "%{count} giây"
-      less_than_x_minutes:
-        one:   "chưa tới 1 phút"
-        other: "chưa tới %{count} phút"
-      x_minutes:
-        one:   "1 phút"
-        other: "%{count} phút"
-      about_x_hours:
-        one:   "khoảng 1 giờ"
-        other: "khoảng %{count} giờ"
-      x_days:
-        one:   "1 ngày"
-        other: "%{count} ngày"
-      about_x_months:
-        one:   "khoảng 1 tháng"
-        other: "khoảng %{count} tháng"
-      x_months:
-        one:   "1 tháng"
-        other: "%{count} tháng"
-      about_x_years:
-        one:   "khoảng 1 năm"
-        other: "khoảng %{count} năm"
-      over_x_years:
-        one:   "hơn 1 năm"
-        other: "hơn %{count} năm"
-    prompts:
-      year:   "Năm"
-      month:  "Tháng"
-      day:    "Ngày"
-      hour:   "Giờ"
-      minute: "Phút"
-      second: "Giây"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "không có trong danh sách"
-      exclusion: "đã được giành trước"
-      invalid: "không hợp lệ"
-      confirmation: "không khớp với xác nhận"
-      accepted: "phải được đồng ý"
-      empty: "không thể rỗng"
-      blank: "không thể để trắng"
-      too_long: "quá dài (tối đa %{count} ký tự)"
-      too_short: "quá ngắn (tối thiểu %{count} ký tự)"
-      wrong_length: "độ dài không đúng (phải là %{count} ký tự)"
-      taken: "đã có"
-      not_a_number: "không phải là số"
-      greater_than: "phải lớn hơn %{count}"
-      greater_than_or_equal_to: "phải lớn hơn hoặc bằng %{count}"
-      equal_to: "phải bằng %{count}"
-      less_than: "phải nhỏ hơn %{count}"
-      less_than_or_equal_to: "phải nhỏ hơn hoặc bằng %{count}"
-      odd: "phải là số chẵn"
-      even: "phải là số lẻ"
-    template: &errors_template
-      header:
-        one:   "1 lỗi ngăn không cho lưu %{model} này"
-        other: "%{count} lỗi ngăn không cho lưu %{model} này"
-      body: "Có lỗi với các mục sau:"
-
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-          format: "%{attribute} %{message}"
-
-  date:
-    formats:
-      # Use the strftime parameters for formats.
-      # When no format has been given, it uses default.
-      # You can provide other formats here if you like!
-      default: "%d-%m-%Y"
-      short: "%d %b"
-      long: "%d %B, %Y"
-
-    day_names:
-      - "Chủ nhật"
-      - "Thứ hai"
-      - "Thứ ba"
-      - "Thứ tư"
-      - "Thứ năm"
-      - "Thứ sáu"
-      - "Thứ bảy"
-    abbr_day_names:
-      - "Chủ nhật"
-      - "Thứ hai"
-      - "Thứ ba"
-      - "Thứ tư"
-      - "Thứ năm"
-      - "Thứ sáu"
-      - "Thứ bảy"
-
-    # Don't forget the nil at the beginning; there's no such thing as a 0th month
-    month_names:
-      - ~
-      - "Tháng một"
-      - "Tháng hai"
-      - "Tháng ba"
-      - "Tháng tư"
-      - "Tháng năm"
-      - "Tháng sáu"
-      - "Tháng bảy"
-      - "Tháng tám"
-      - "Tháng chín"
-      - "Tháng mười"
-      - "Tháng mười một"
-      - "Tháng mười hai"
-    abbr_month_names:
-      - ~
-      - "Tháng một"
-      - "Tháng hai"
-      - "Tháng ba"
-      - "Tháng tư"
-      - "Tháng năm"
-      - "Tháng sáu"
-      - "Tháng bảy"
-      - "Tháng tám"
-      - "Tháng chín"
-      - "Tháng mười"
-      - "Tháng mười một"
-      - "Tháng mười hai"
-    # Used in date_select and datime_select.
-    order:
-      - :day
-      - :month
-      - :year
-
-  time:
-    formats:
-      default: "%a, %d %b %Y %H:%M:%S %z"
-      short: "%d %b %H:%M"
-      long: "%d %B, %Y %H:%M"
-    am: "sáng"
-    pm: "chiều"
-
-  # Used in array.to_sentence.
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " và "
-      last_word_connector: ", và "
diff --git a/vendor/rails-locales/zh-CN.yml b/vendor/rails-locales/zh-CN.yml
deleted file mode 100644 (file)
index 2d92659..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-# Chinese (China) translations for Ruby on Rails
-# by tsechingho (http://github.com/tsechingho)
-
-zh-CN:
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%b%d日"
-      long: "%Y年%b%d日"
-    day_names:
-      - 星期日
-      - 星期一
-      - 星期二
-      - 星期三
-      - 星期四
-      - 星期五
-      - 星期六
-    abbr_day_names:
-      - 日
-      - 一
-      - 二
-      - 三
-      - 四
-      - 五
-      - 六
-    month_names:
-      - ~
-      - 一月
-      - 二月
-      - 三月
-      - 四月
-      - 五月
-      - 六月
-      - 七月
-      - 八月
-      - 九月
-      - 十月
-      - 十一月
-      - 十二月
-    abbr_month_names:
-      - ~
-      - 1月
-      - 2月
-      - 3月
-      - 4月
-      - 5月
-      - 6月
-      - 7月
-      - 8月
-      - 9月
-      - 10月
-      - 11月
-      - 12月
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y年%b%d日 %A %H:%M:%S %Z"
-      short: "%b%d日 %H:%M"
-      long: "%Y年%b%d日 %H:%M"
-    am: "上午"
-    pm: "下午"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "半分钟"
-      less_than_x_seconds:
-        one: "不到一秒"
-        other: "不到 %{count} 秒"
-      x_seconds:
-        one: "一秒"
-        other: "%{count} 秒"
-      less_than_x_minutes:
-        one: "不到一分钟"
-        other: "不到 %{count} 分钟"
-      x_minutes:
-        one: "一分钟"
-        other: "%{count} 分钟"
-      about_x_hours:
-        one: "大约一小时"
-        other: "大约 %{count} 小时"
-      x_days:
-        one: "一天"
-        other: "%{count} 天"
-      about_x_months:
-        one: "大约一个月"
-        other: "大约 %{count} 个月"
-      x_months:
-        one: "一个月"
-        other: "%{count} 个月"
-      about_x_years:
-        one: "大约一年"
-        other: "大约 %{count} 年"
-      over_x_years:
-        one: "一年多"
-        other: "%{count} 年多"
-      almost_x_years:
-        one:   "接近一年"
-        other: "接近 %{count} 年"
-    prompts:
-      year:   "年"
-      month:  "月"
-      day:    "日"
-      hour:   "时"
-      minute: "分"
-      second: "秒"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%u %n"
-        unit: "CN¥"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "千" # 10^3 kilo
-          million: "百万" # 10^6 mega
-          billion: "十亿" # 10^9 giga
-          trillion: "兆" # 10^12 tera
-          quadrillion: "千兆" # 10^15 peta
-          # 10^18 exa, 10^21 zetta, 10^24 yotta
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " 和 "
-      last_word_connector: ", 和 "
-    select:
-      prompt: "请选择"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "不包含于列表中"
-      exclusion: "是保留关键字"
-      invalid: "是无效的"
-      confirmation: "与确认值不匹配"
-      accepted: "必须是可被接受的"
-      empty: "不能留空"
-      blank: "不能为空字符"
-      too_long: "过长(最长为 %{count} 个字符)"
-      too_short: "过短(最短为 %{count} 个字符)"
-      wrong_length: "长度非法(必须为 %{count} 个字符)"
-      not_a_number: "不是数字"
-      not_an_integer: "必须是整数"
-      greater_than: "必须大于 %{count}"
-      greater_than_or_equal_to: "必须大于或等于 %{count}"
-      equal_to: "必须等于 %{count}"
-      less_than: "必须小于 %{count}"
-      less_than_or_equal_to: "必须小于或等于 %{count}"
-      odd: "必须为单数"
-      even: "必须为双数"
-      taken: "已经被使用"
-      record_invalid: "验证失败: %{errors}"
-    template: &errors_template
-      header:
-        one: "有 1 个错误发生导致「%{model}」无法被保存。"
-        other: "有 %{count} 个错误发生导致「%{model}」无法被保存。"
-      body: "如下字段出现错误:"
-
-  activerecord:
-    errors:
-      full_messages:
-        format: "%{attribute} %{message}"
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-
-  helpers:
-    select:
-      prompt: "请选择"
-    submit:
-      create: "新增%{model}"
-      update: "更新%{model}"
-      submit: "储存%{model}"
diff --git a/vendor/rails-locales/zh-TW.yml b/vendor/rails-locales/zh-TW.yml
deleted file mode 100644 (file)
index 3c3fc2b..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-
-# Chinese (Taiwan) translations for Ruby on Rails
-# by tsechingho (http://github.com/tsechingho)
-
-zh-TW:
-  date:
-    formats:
-      default: "%Y-%m-%d"
-      short: "%b%d日"
-      long: "%Y年%b%d日"
-    day_names:
-      - 星期日
-      - 星期一
-      - 星期二
-      - 星期三
-      - 星期四
-      - 星期五
-      - 星期六
-    abbr_day_names:
-      - 日
-      - 一
-      - 二
-      - 三
-      - 四
-      - 五
-      - 六
-    month_names:
-      - ~
-      - 一月
-      - 二月
-      - 三月
-      - 四月
-      - 五月
-      - 六月
-      - 七月
-      - 八月
-      - 九月
-      - 十月
-      - 十一月
-      - 十二月
-    abbr_month_names:
-      - ~
-      - 1月
-      - 2月
-      - 3月
-      - 4月
-      - 5月
-      - 6月
-      - 7月
-      - 8月
-      - 9月
-      - 10月
-      - 11月
-      - 12月
-    order:
-      - :year
-      - :month
-      - :day
-
-  time:
-    formats:
-      default: "%Y年%b%d日 %A %H:%M:%S %Z"
-      short: "%b%d日 %H:%M"
-      long: "%Y年%b%d日 %H:%M"
-    am: "上午"
-    pm: "下午"
-
-  datetime:
-    distance_in_words:
-      half_a_minute: "半分鐘"
-      less_than_x_seconds:
-        one: "不到一秒"
-        other: "不到 %{count} 秒"
-      x_seconds:
-        one: "一秒"
-        other: "%{count} 秒"
-      less_than_x_minutes:
-        one: "不到一分鐘"
-        other: "不到 %{count} 分鐘"
-      x_minutes:
-        one: "一分鐘"
-        other: "%{count} 分鐘"
-      about_x_hours:
-        one: "大約一小時"
-        other: "大約 %{count} 小時"
-      x_days:
-        one: "一天"
-        other: "%{count} 天"
-      about_x_months:
-        one: "大約一個月"
-        other: "大約 %{count} 個月"
-      x_months:
-        one: "一個月"
-        other: "%{count} 個月"
-      about_x_years:
-        one: "大約一年"
-        other: "大約 %{count} 年"
-      over_x_years:
-        one: "一年多"
-        other: "%{count} 年多"
-      almost_x_years:
-        one:   "接近一年"
-        other: "接近 %{count} 年"
-    prompts:
-      year:   "年"
-      month:  "月"
-      day:    "日"
-      hour:   "時"
-      minute: "分"
-      second: "秒"
-
-  number:
-    format:
-      separator: "."
-      delimiter: ","
-      precision: 3
-      significant: false
-      strip_insignificant_zeros: false
-    currency:
-      format:
-        format: "%u %n"
-        unit: "NT$"
-        separator: "."
-        delimiter: ","
-        precision: 2
-        significant: false
-        strip_insignificant_zeros: false
-    percentage:
-      format:
-        delimiter: ""
-    precision:
-      format:
-        delimiter: ""
-    human:
-      format:
-        delimiter: ""
-        precision: 1
-        significant: false
-        strip_insignificant_zeros: false
-      storage_units:
-        format: "%n %u"
-        units:
-          byte:
-            one: "Byte"
-            other: "Bytes"
-          kb: "KB"
-          mb: "MB"
-          gb: "GB"
-          tb: "TB"
-      decimal_units:
-        format: "%n %u"
-        units:
-          unit: ""
-          thousand: "千" # 10^3 kilo
-          million: "百萬" # 10^6 mega
-          billion: "十億" # 10^9 giga
-          trillion: "兆" # 10^12 tera
-          quadrillion: "千兆" # 10^15 peta
-          # 10^18 exa, 10^21 zetta, 10^24 yotta
-
-  support:
-    array:
-      words_connector: ", "
-      two_words_connector: " 和 "
-      last_word_connector: ", 和 "
-    select:
-      prompt: "請選擇"
-
-  errors:
-    format: "%{attribute} %{message}"
-    messages: &errors_messages
-      inclusion: "沒有包含在列表中"
-      exclusion: "是被保留的關鍵字"
-      invalid: "是無效的"
-      confirmation: "不符合確認值"
-      accepted: "必須是可被接受的"
-      empty: "不能留空"
-      blank: "不能是空白字元"
-      too_long: "過長(最長是 %{count} 個字)"
-      too_short: "過短(最短是 %{count} 個字)"
-      wrong_length: "字數錯誤(必須是 %{count} 個字)"
-      not_a_number: "不是數字"
-      not_an_integer: "必須是整數"
-      greater_than: "必須大於 %{count}"
-      greater_than_or_equal_to: "必須大於或等於 %{count}"
-      equal_to: "必須等於 %{count}"
-      less_than: "必須小於 %{count}"
-      less_than_or_equal_to: "必須小於或等於 %{count}"
-      odd: "必須是奇數"
-      even: "必須是偶數"
-      taken: "已經被使用"
-      record_invalid: "校驗失敗: %{errors}"
-    template: &errors_template
-      header:
-        one: "有 1 個錯誤發生使得「%{model}」無法被儲存。"
-        other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。"
-      body: "以下欄位發生問題:"
-  
-  activerecord:
-    errors:
-      messages:
-        <<: *errors_messages
-      template:
-        <<: *errors_template
-      full_messages:
-        format: "%{attribute} %{message}"
-
-  helpers:
-    select:
-      prompt: "請選擇"
-    submit:
-      create: "新增%{model}"
-      update: "更新%{model}"
-      submit: "儲存%{model}"