From: Tom Hughes Date: Thu, 8 Mar 2012 18:23:27 +0000 (+0000) Subject: Merge branch 'master' into openstreetbugs X-Git-Tag: live~5125^2~120 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e660e609661edadc1ed5ad49d6e83e936b2f91cd?hp=c29bcca57b9a05a3ca1e55d5b3a089c7ef0b1a03 Merge branch 'master' into openstreetbugs Conflicts: Gemfile Gemfile.lock lib/migrate.rb --- diff --git a/.gitignore b/.gitignore index 2b8b7bd68..021bc9be2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ log public/assets +public/attachments tmp .DS_Store diff --git a/Gemfile b/Gemfile index 0f867f3d5..65de156e1 100644 --- 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 diff --git a/Gemfile.lock b/Gemfile.lock index 482d9c3ed..e212d1003 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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 index 000000000..d159169d1 --- /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. + + + Copyright (C) + + 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. + + , 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 index 000000000..edad66cc0 --- /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 index 24814ff2e..000000000 --- a/README.mkdn +++ /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 index da70aafb4..000000000 Binary files a/app/assets/images/tab_bottom.gif and /dev/null differ diff --git a/app/assets/images/anon_large.png b/app/assets/images/users/images/large.png similarity index 100% rename from app/assets/images/anon_large.png rename to app/assets/images/users/images/large.png diff --git a/app/assets/images/anon_small.png b/app/assets/images/users/images/small.png similarity index 100% rename from app/assets/images/anon_small.png rename to app/assets/images/users/images/small.png diff --git a/app/assets/javascripts/map.js.erb b/app/assets/javascripts/map.js.erb index acfa10822..f23972104 100644 --- a/app/assets/javascripts/map.js.erb +++ b/app/assets/javascripts/map.js.erb @@ -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 Andy Allan", 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", diff --git a/app/assets/javascripts/menu.js b/app/assets/javascripts/menu.js index 8db1be4b9..e829f2aa6 100644 --- a/app/assets/javascripts/menu.js +++ b/app/assets/javascripts/menu.js @@ -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); }); } diff --git a/app/assets/javascripts/site.js b/app/assets/javascripts/site.js index ea7585a44..93a5127f9 100644 --- a/app/assets/javascripts/site.js +++ b/app/assets/javascripts/site.js @@ -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 + '\\]\\]'; diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index a0846e96e..42b5f5397 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -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; } diff --git a/app/assets/stylesheets/large.css b/app/assets/stylesheets/large.css index 9d664ef26..2cf195632 100644 --- a/app/assets/stylesheets/large.css +++ b/app/assets/stylesheets/large.css @@ -9,7 +9,7 @@ /* Rules for the main content area */ #content { - top: 35px; + top: 30px; } /* Rules for OpenLayers maps */ diff --git a/app/assets/stylesheets/ltr.css.scss b/app/assets/stylesheets/ltr.css.scss index 817404a79..5eba8ddb9 100644 --- a/app/assets/stylesheets/ltr.css.scss +++ b/app/assets/stylesheets/ltr.css.scss @@ -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; } diff --git a/app/assets/stylesheets/rtl.css.scss b/app/assets/stylesheets/rtl.css.scss index 953efd7a6..b9223e522 100644 --- a/app/assets/stylesheets/rtl.css.scss +++ b/app/assets/stylesheets/rtl.css.scss @@ -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; } diff --git a/app/assets/stylesheets/small.css.scss b/app/assets/stylesheets/small.css.scss index 07b5d7b10..412cf7203 100644 --- a/app/assets/stylesheets/small.css.scss +++ b/app/assets/stylesheets/small.css.scss @@ -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; } diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 86e57a2d1..139a7a650 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -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 diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 96bf915c0..6caed0594 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -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 diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index b736e332b..cfe86de51 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -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 ## diff --git a/app/controllers/diary_entry_controller.rb b/app/controllers/diary_entry_controller.rb index 0444f5a89..f87b02ef9 100644 --- a/app/controllers/diary_entry_controller.rb +++ b/app/controllers/diary_entry_controller.rb @@ -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 diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb index 36f57d6c2..cf4465b9c 100644 --- a/app/controllers/site_controller.rb +++ b/app/controllers/site_controller.rb @@ -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 diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index cdfa5e3cb..e3f41f0ac 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -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 diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index 89f35a899..a59190697 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -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 diff --git a/app/controllers/user_roles_controller.rb b/app/controllers/user_roles_controller.rb index 2d867d2d8..54dc90dee 100644 --- a/app/controllers/user_roles_controller.rb +++ b/app/controllers/user_roles_controller.rb @@ -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 diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b30129c5d..dfbb04138 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -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 diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index ebcd58dd0..de439d56f 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -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 diff --git a/app/models/acl.rb b/app/models/acl.rb index 94e377343..2db7fb765 100644 --- a/app/models/acl.rb +++ b/app/models/acl.rb @@ -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 diff --git a/app/models/changeset_tag.rb b/app/models/changeset_tag.rb index bd0417ab4..0425fa6b4 100644 --- a/app/models/changeset_tag.rb +++ b/app/models/changeset_tag.rb @@ -1,5 +1,5 @@ class ChangesetTag < ActiveRecord::Base - set_primary_keys :changeset_id, :k + self.primary_keys = "changeset_id", "k" belongs_to :changeset diff --git a/app/models/client_application.rb b/app/models/client_application.rb index 55f34e6e2..b1f402292 100644 --- a/app/models/client_application.rb +++ b/app/models/client_application.rb @@ -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 diff --git a/app/models/diary_comment.rb b/app/models/diary_comment.rb index 0013606d0..b915e027a 100644 --- a/app/models/diary_comment.rb +++ b/app/models/diary_comment.rb @@ -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 diff --git a/app/models/diary_entry.rb b/app/models/diary_entry.rb index 318672c03..1d836353f 100644 --- a/app/models/diary_entry.rb +++ b/app/models/diary_entry.rb @@ -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 diff --git a/app/models/diary_sweeper.rb b/app/models/diary_sweeper.rb index 9f739cf5e..e7fd03057 100644 --- a/app/models/diary_sweeper.rb +++ b/app/models/diary_sweeper.rb @@ -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") diff --git a/app/models/language.rb b/app/models/language.rb index 7bb0b6e77..3a63176f6 100644 --- a/app/models/language.rb +++ b/app/models/language.rb @@ -1,5 +1,5 @@ class Language < ActiveRecord::Base - set_primary_key :code + self.primary_key = "code" has_many :diary_entries, :foreign_key => 'language' diff --git a/app/models/message.rb b/app/models/message.rb index 053c7a4c0..0b3416003 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -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 diff --git a/app/models/node.rb b/app/models/node.rb index 0f176067d..537872459 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -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? diff --git a/app/models/node_tag.rb b/app/models/node_tag.rb index 6bc1c555e..6f1bf0388 100644 --- a/app/models/node_tag.rb +++ b/app/models/node_tag.rb @@ -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 diff --git a/app/models/oauth_nonce.rb b/app/models/oauth_nonce.rb index 075351b91..3ae50d3a4 100644 --- a/app/models/oauth_nonce.rb +++ b/app/models/oauth_nonce.rb @@ -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) diff --git a/app/models/old_node.rb b/app/models/old_node.rb index f8af91abb..64ae1a70c 100644 --- a/app/models/old_node.rb +++ b/app/models/old_node.rb @@ -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 ] diff --git a/app/models/old_node_tag.rb b/app/models/old_node_tag.rb index cd5bc4739..eef1e02d5 100644 --- a/app/models/old_node_tag.rb +++ b/app/models/old_node_tag.rb @@ -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] diff --git a/app/models/old_relation.rb b/app/models/old_relation.rb index 87771caab..a75dacd0e 100644 --- a/app/models/old_relation.rb +++ b/app/models/old_relation.rb @@ -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 diff --git a/app/models/old_relation_member.rb b/app/models/old_relation_member.rb index 58d7cccfb..77a5a3786 100644 --- a/app/models/old_relation_member.rb +++ b/app/models/old_relation_member.rb @@ -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 diff --git a/app/models/old_relation_tag.rb b/app/models/old_relation_tag.rb index 032a87c77..49324966f 100644 --- a/app/models/old_relation_tag.rb +++ b/app/models/old_relation_tag.rb @@ -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] diff --git a/app/models/old_way.rb b/app/models/old_way.rb index 00642cdb3..db8a6df40 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -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 diff --git a/app/models/old_way_node.rb b/app/models/old_way_node.rb index b613be0b4..23ff503ed 100644 --- a/app/models/old_way_node.rb +++ b/app/models/old_way_node.rb @@ -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 diff --git a/app/models/old_way_tag.rb b/app/models/old_way_tag.rb index 9f4adb147..9926db144 100644 --- a/app/models/old_way_tag.rb +++ b/app/models/old_way_tag.rb @@ -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] diff --git a/app/models/relation.rb b/app/models/relation.rb index 659c4f18a..21ee058d8 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -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? diff --git a/app/models/relation_member.rb b/app/models/relation_member.rb index 389e2ce52..aba38511c 100644 --- a/app/models/relation_member.rb +++ b/app/models/relation_member.rb @@ -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 diff --git a/app/models/relation_tag.rb b/app/models/relation_tag.rb index 2773d0612..c665cfef6 100644 --- a/app/models/relation_tag.rb +++ b/app/models/relation_tag.rb @@ -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 diff --git a/app/models/request_token.rb b/app/models/request_token.rb index 1ac502bc7..6e4ec40c3 100644 --- a/app/models/request_token.rb +++ b/app/models/request_token.rb @@ -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 diff --git a/app/models/trace.rb b/app/models/trace.rb index 3f58cee2e..b72fda07d 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -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 diff --git a/app/models/tracepoint.rb b/app/models/tracepoint.rb index d4ba39de3..c4ad8e123 100644 --- a/app/models/tracepoint.rb +++ b/app/models/tracepoint.rb @@ -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 diff --git a/app/models/tracetag.rb b/app/models/tracetag.rb index f9833e141..1b8ba2309 100644 --- a/app/models/tracetag.rb +++ b/app/models/tracetag.rb @@ -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 diff --git a/app/models/user.rb b/app/models/user.rb index cf506e7c9..0c9e76d54 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -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 diff --git a/app/models/user_block.rb b/app/models/user_block.rb index f8c05c92c..7bf8f86b5 100644 --- a/app/models/user_block.rb +++ b/app/models/user_block.rb @@ -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 diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb index 28ef40f1d..b5110bbf5 100644 --- a/app/models/user_preference.rb +++ b/app/models/user_preference.rb @@ -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 diff --git a/app/models/user_sweeper.rb b/app/models/user_sweeper.rb index 7e420ae40..a58b93832 100644 --- a/app/models/user_sweeper.rb +++ b/app/models/user_sweeper.rb @@ -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) diff --git a/app/models/user_token.rb b/app/models/user_token.rb index dda191187..9a754d344 100644 --- a/app/models/user_token.rb +++ b/app/models/user_token.rb @@ -1,6 +1,8 @@ class UserToken < ActiveRecord::Base belongs_to :user + attr_accessible :referer + after_initialize :set_defaults private diff --git a/app/models/way.rb b/app/models/way.rb index 85aca4334..adf8b928f 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -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? diff --git a/app/models/way_node.rb b/app/models/way_node.rb index 1a2e6928a..30d901356 100644 --- a/app/models/way_node.rb +++ b/app/models/way_node.rb @@ -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 diff --git a/app/models/way_tag.rb b/app/models/way_tag.rb index f0c5eea8b..98ff62f5f 100644 --- a/app/models/way_tag.rb +++ b/app/models/way_tag.rb @@ -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 diff --git a/app/views/browse/_changeset_details.html.erb b/app/views/browse/_changeset_details.html.erb index 2d7808137..eb90fad10 100644 --- a/app/views/browse/_changeset_details.html.erb +++ b/app/views/browse/_changeset_details.html.erb @@ -33,8 +33,7 @@ <%=bbox.min_lon -%> - ('><%= t 'browse.changeset_details.box' %>) + (<%= 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') %>) <%=bbox.max_lon -%> diff --git a/app/views/browse/node.html.erb b/app/views/browse/node.html.erb index 49d535b31..7b0ad746c 100644 --- a/app/views/browse/node.html.erb +++ b/app/views/browse/node.html.erb @@ -6,7 +6,7 @@ <%= stylesheet_link_tag 'browse' %> <% end %> <%= render :partial => "navigation" %> -

<%= t'browse.node.node_title', :node_name => h(@name) %>

+

<%= t'browse.node.node_title', :node_name => @name %>

<%= render :partial => "map", :object => @node %> <%= render :partial => "node_details", :object => @node %>
diff --git a/app/views/browse/relation.html.erb b/app/views/browse/relation.html.erb index 5b222396d..2128d18a9 100644 --- a/app/views/browse/relation.html.erb +++ b/app/views/browse/relation.html.erb @@ -6,7 +6,7 @@ <%= stylesheet_link_tag 'browse' %> <% end %> <%= render :partial => "navigation" %> -

<%= t'browse.relation.relation_title', :relation_name => h(@name) %>

+

<%= t'browse.relation.relation_title', :relation_name => @name %>

<%= render :partial => "map", :object => @relation %> <%= render :partial => "relation_details", :object => @relation %>
diff --git a/app/views/browse/way.html.erb b/app/views/browse/way.html.erb index 3489d7c23..41341fef8 100644 --- a/app/views/browse/way.html.erb +++ b/app/views/browse/way.html.erb @@ -6,7 +6,7 @@ <%= stylesheet_link_tag 'browse' %> <% end %> <%= render :partial => "navigation" %> -

<%= t'browse.way.way_title', :way_name => h(@name) %>

+

<%= t'browse.way.way_title', :way_name => @name %>

<%= render :partial => "map", :object => @way %> <%= render :partial => "way_details", :object => @way %>
diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index 5d12aa837..bf8adbe20 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -10,8 +10,10 @@ <%= 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 index 000000000..b506ddfb0 --- /dev/null +++ b/app/views/diary_entry/comments.html.erb @@ -0,0 +1,23 @@ +

<%= t('diary_entry.comments.has_commented_on', :display_name => @this_user.display_name) %>

+ + + + + + + + <% @comments.each do |comment| -%> + <% cl = cycle('table0', 'table1') %> + + + + + + <% end -%> +
<%= t 'diary_entry.comments.post' %><%= t 'diary_entry.comments.when' %><%= t 'diary_entry.comments.comment' %>
<%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %><%= t 'diary_entry.comments.ago', :ago => time_ago_in_words(comment.created_at) %><%= htmlize(comment.body) %>
+ +<%= 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 %> diff --git a/app/views/diary_entry/list.html.erb b/app/views/diary_entry/list.html.erb index 03a326d16..9de2efea5 100644 --- a/app/views/diary_entry/list.html.erb +++ b/app/views/diary_entry/list.html.erb @@ -34,8 +34,10 @@
<% 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 -%> diff --git a/app/views/export/_sidebar.html.erb b/app/views/export/_sidebar.html.erb index 5f6f634da..b8f681b2f 100644 --- a/app/views/export/_sidebar.html.erb +++ b/app/views/export/_sidebar.html.erb @@ -20,9 +20,7 @@

<%= radio_button_tag("format", "osm") %> <%= t'export.start.osm_xml_data' %>
- <%= radio_button_tag("format", "mapnik") %> <%= t'export.start.mapnik_image' %> -
- <%= radio_button_tag("format", "osmarender") %> <%= t'export.start.osmarender_image' %> + <%= radio_button_tag("format", "mapnik") %> <%= t'export.start.map_image' %>
<%= radio_button_tag("format", "html") %> <%= t'export.start.embeddable_html' %>

@@ -54,15 +52,6 @@ -
-

<%= t'export.start.options' %>

- -
-

<%= t'export.start.format' %> <%= select_tag("osmarender_format", options_for_select([["PNG", "png"], ["JPEG", "jpeg"]], "png")) %>

-

<%= 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])) %>

-
-
-

<%= t'export.start.options' %>

diff --git a/app/views/export/start.js.erb b/app/views/export/start.js.erb index 79d0db4a9..1134d16d8 100644 --- a/app/views/export/start.js.erb +++ b/app/views/export/start.js.erb @@ -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); diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb index 6e876e166..8a0f62d92 100644 --- a/app/views/layouts/_head.html.erb +++ b/app/views/layouts/_head.html.erb @@ -9,11 +9,12 @@ <%= stylesheet_link_tag "print-#{t 'html.dir'}", :media => "print" %> <%= 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 %> - <%= t 'layouts.project_name.title' %><%= ' | '+ h(@title) if @title %> + <%= t 'layouts.project_name.title' %><%= ' | '+ @title if @title %> diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index a2cd2aa40..b6fb08986 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -1,7 +1,7 @@ <%= render :partial => "layouts/head" %> - +
<%= link_to(image_tag("osm_logo.png", :size => "16x16", :border => 0, :alt => t('layouts.logo.alt_text')), :controller => 'site', :action => 'index') %>

<%= t 'layouts.project_name.h1' %>

@@ -12,20 +12,19 @@ <%= yield %>
- - <% if @user and @user.id %> - <%= 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'))) %> - <%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %> | - <%= 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 %> - - -
+
+ + <% if @user and @user.id %> + <%= 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'))) %> + <%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %> | + <%= 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 %> +
    <% viewclass = 'geolink llz layers' @@ -64,11 +63,9 @@
    <%= yield :optionals %> diff --git a/app/views/message/_message_count.html.erb b/app/views/message/_message_count.html.erb index 27b0aa644..9b5edd26c 100644 --- a/app/views/message/_message_count.html.erb +++ b/app/views/message/_message_count.html.erb @@ -1 +1,8 @@ -

    <%= t'message.inbox.you_have', :new_count => @user.new_messages.size, :old_count => (@user.messages.size - @user.new_messages.size) %>

    +

    +<%= 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) +%> +

    diff --git a/app/views/message/outbox.html.erb b/app/views/message/outbox.html.erb index 9662fdbce..fd8958126 100644 --- a/app/views/message/outbox.html.erb +++ b/app/views/message/outbox.html.erb @@ -1,6 +1,6 @@

    <%= 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' %>

    -

    <%= t'message.outbox.you_have_sent_messages', :count => @user.sent_messages.size %> +

    <%= t'message.outbox.messages', :count => @user.sent_messages.size %> <% if @user.sent_messages.size > 0 %>

    diff --git a/app/views/site/_resize.html.erb b/app/views/site/_resize.html.erb index d018cedc9..a6583762f 100644 --- a/app/views/site/_resize.html.erb +++ b/app/views/site/_resize.html.erb @@ -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(); diff --git a/app/views/site/copyright.html.erb b/app/views/site/copyright.html.erb index c83cef99c..03dee8716 100644 --- a/app/views/site/copyright.html.erb +++ b/app/views/site/copyright.html.erb @@ -10,9 +10,9 @@ { :rel => "license" }) %>

    -<% if I18n.locale == 'en' or params[:copyright_locale] == 'en' %> +<% if @locale == 'en' %> - <% 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) %>

    <%= t 'license_page.native.title' %>

    <%= raw t 'license_page.native.text', @@ -25,11 +25,9 @@


    <% end %> - - <%= raw t('license_page.legal_babble', :locale => :en) %> <% else %> - <% 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) %>

    <%= t 'license_page.foreign.title' %>

    <%= raw t 'license_page.foreign.text', @@ -40,6 +38,6 @@


    <% end %> - - <%= raw t('license_page.legal_babble') %> <% end %> + +<%= raw t('license_page.legal_babble', :locale => @locale) %> diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 7d7d5a163..884896109 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -18,7 +18,7 @@
    diff --git a/app/views/user/account.html.erb b/app/views/user/account.html.erb index 988cd9121..3e8d1b0bf 100644 --- a/app/views/user/account.html.erb +++ b/app/views/user/account.html.erb @@ -81,13 +81,10 @@ <%= t 'user.account.image' %> - <% if @user.image.nil? %> - <%= hidden_field_tag "image_action", "new" %> - <%= t 'user.account.new image' %>
    <%= file_column_field "user", "image" %>
    <%= t 'user.account.image size hint' %> - <% else %> + <% if @user.image.file? %> - + @@ -97,9 +94,12 @@ - +
    <%= image_tag url_for_file_column(@user, "image"), :class => "user_image" %><%= user_image @user %> <%= radio_button_tag "image_action", "keep", true %> <%= t 'user.account.keep image' %>
    <%= radio_button_tag "image_action", "new" %><%= t 'user.account.replace image' %>
    <%= file_column_field "user", "image", :onchange => "$('image_action_new').checked = true" %>
    <%= t 'user.account.image size hint' %>
    <%= t 'user.account.replace image' %>
    <%= f.file_field :image, :onchange => "$('image_action_new').prop('checked', true)" %>
    <%= t 'user.account.image size hint' %>
    + <% else %> + <%= hidden_field_tag "image_action", "new" %> + <%= t 'user.account.new image' %>
    <%= f.file_field :image %>
    <%= t 'user.account.image size hint' %> <% end %> diff --git a/app/views/user/api_details.builder b/app/views/user/api_details.builder index a164c7a56..6e77bfed8 100644 --- a/app/views/user/api_details.builder +++ b/app/views/user/api_details.builder @@ -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 index 000000000..69e700634 --- /dev/null +++ b/app/views/user/blocked.html.erb @@ -0,0 +1,5 @@ +

    <%= t 'user.new.heading' %>

    + +

    <%= t 'user.new.no_auto_account_create' %>

    + +

    <%= raw t 'user.new.contact_webmaster' %>

    diff --git a/app/views/user/list.html.erb b/app/views/user/list.html.erb index c19c0ac6c..398debe1e 100644 --- a/app/views/user/list.html.erb +++ b/app/views/user/list.html.erb @@ -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 %> diff --git a/app/views/user/login.html.erb b/app/views/user/login.html.erb index dc330feae..c185a11b7 100644 --- a/app/views/user/login.html.erb +++ b/app/views/user/login.html.erb @@ -6,14 +6,25 @@ <%= form_tag({ :action => "login" }, { :id => "login_form" }) do %> <%= hidden_field_tag('referer', h(params[:referer])) %> -

    <%= t 'user.login.with username' %>

    +

    <%= t 'user.login.no account' %> <%= link_to t('user.login.register now'), :action => :new, :referer => params[:referer] %>

    - + + + + + + + +
    <%= t 'user.login.email or username' %><%= text_field_tag "username", params[:username], :size => 28, :maxlength => 255, :tabindex => 1 %>
    <%= t 'user.login.password' %><%= password_field_tag "password", "", :size => 28, :maxlength => 255, :tabindex => 2 %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)
    <%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %>
    <%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %> + +
    + <%= submit_tag t('user.login.login_button'), :tabindex => 4 %> +
    - <%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
    @@ -51,16 +62,6 @@
    - -
    -

    <%= t 'user.login.new to osm' %>

    -

    <%= t 'user.login.to make changes' %>

    -

    <%= t 'user.login.create account minute' %>

    -

    <%= button_to t('user.login.register now'), :action => :new, :referer => params[:referer] %>

    - -
    -
    -
    - -<% end %> diff --git a/app/views/user/view.html.erb b/app/views/user/view.html.erb index 0c6968be8..edf290c7b 100644 --- a/app/views/user/view.html.erb +++ b/app/views/user/view.html.erb @@ -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 %> @@ -122,7 +126,8 @@ <% if friends.empty? %> <%= t 'user.view.no friends' %> <% else %> - <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %>

    + <%= link_to t('user.view.friends_changesets'), {:controller => 'browse', :action => 'friends'} %>
    + <%= link_to t('user.view.friends_diaries'), {:controller => 'diary', :action => 'friends'} %>

    <%= render :partial => "contact", :collection => friends %>
    @@ -133,6 +138,8 @@ <% if nearby.empty? %> <%= t 'user.view.no nearby users' %> <% else %> + <%= link_to t('user.view.nearby_changesets'), {:controller => 'browse', :action => 'nearby'} %>
    + <%= link_to t('user.view.nearby_diaries'), {:controller => 'diary', :action => 'nearby'} %>

    <%= render :partial => "contact", :collection => nearby %>
    diff --git a/config/application.rb b/config/application.rb index 0713451e5..25df04b44 100644 --- a/config/application.rb +++ b/config/application.rb @@ -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 diff --git a/config/environments/development.rb b/config/environments/development.rb index 12cf912bc..75f8fee12 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -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 diff --git a/config/environments/production.rb b/config/environments/production.rb index 6a1f633ae..56c33ec98 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -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 diff --git a/config/environments/test.rb b/config/environments/test.rb index fe1d1aa78..524cc5137 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -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 diff --git a/config/example.application.yml b/config/example.application.yml index 90e2cc74e..501b3d2ad 100644 --- a/config/example.application.yml +++ b/config/example.application.yml @@ -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/postgres.example.database.yml b/config/example.database.yml similarity index 100% rename from config/postgres.example.database.yml rename to config/example.database.yml diff --git a/config/initializers/action_cache_path.rb b/config/initializers/action_cache_path.rb new file mode 100644 index 000000000..b25aa14db --- /dev/null +++ b/config/initializers/action_cache_path.rb @@ -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 diff --git a/config/initializers/action_mailer.rb b/config/initializers/action_mailer.rb index e6181072b..ad729174f 100644 --- a/config/initializers/action_mailer.rb +++ b/config/initializers/action_mailer.rb @@ -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 diff --git a/config/initializers/buffered_logger.rb b/config/initializers/buffered_logger.rb index 03d88f69c..b75e74ec6 100644 --- a/config/initializers/buffered_logger.rb +++ b/config/initializers/buffered_logger.rb @@ -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 diff --git a/vendor/plugins/classic_pagination/init.rb b/config/initializers/classic_pagination.rb similarity index 93% rename from vendor/plugins/classic_pagination/init.rb rename to config/initializers/classic_pagination.rb index 25e552f2a..96e7f64f6 100644 --- a/vendor/plugins/classic_pagination/init.rb +++ b/config/initializers/classic_pagination.rb @@ -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 index e928df39f..000000000 --- a/config/initializers/composite_primary_keys.rb +++ /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 index 6447ef558..000000000 --- a/config/initializers/file_column.rb +++ /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 index 000000000..04c3dfaf5 --- /dev/null +++ b/config/initializers/http_accept_language.rb @@ -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 diff --git a/config/initializers/i18n.rb b/config/initializers/i18n.rb index 3c3ba872c..22704901f 100644 --- a/config/initializers/i18n.rb +++ b/config/initializers/i18n.rb @@ -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 diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index 9e8b0131f..5d8d9be23 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -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 index 000000000..b93c3f6d2 --- /dev/null +++ b/config/initializers/mail.rb @@ -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 index 03066a8ab..000000000 --- a/config/initializers/memcached.rb +++ /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 index 000000000..5a42e2a16 --- /dev/null +++ b/config/initializers/output_compression.rb @@ -0,0 +1 @@ +require 'output_compression/output_compression' diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb new file mode 100644 index 000000000..64673487a --- /dev/null +++ b/config/initializers/paperclip.rb @@ -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 diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index a9afad2d6..02548e803 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -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 diff --git a/config/locales/af.yml b/config/locales/af.yml index bf860d909..d443ecf3a 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -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 diff --git a/config/locales/aln.yml b/config/locales/aln.yml index ad082de55..942b5ede9 100644 --- a/config/locales/aln.yml +++ b/config/locales/aln.yml @@ -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
    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.
    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 diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 1ea687d70..9f7d32563 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -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: عذرًا، لقد عُلّق حسابك بسبب نشاط مشبوه.
    يرجى الاتصال بالمسؤول عن الموقع (%{webmaster}) إذا كنت ترغب في مناقشة هذا الأمر. auth failure: آسف، لا يمكن الدخول بتلك التفاصيل. create account minute: أنشئ حساباّ. تحتاج فقط إلى دقيقة. email or username: "عنوان البريد الإلكتروني أو اسم المستخدم:" @@ -1439,7 +1434,6 @@ ar: register now: تسجل الآن remember: "تذكرني:" title: ولوج - webmaster: المسؤول عن الموقع logout: heading: الخروج من خريطة الشارع المفتوحة logout_button: اخرج diff --git a/config/locales/arz.yml b/config/locales/arz.yml index 00cf2d443..5b9ebef1d 100644 --- a/config/locales/arz.yml +++ b/config/locales/arz.yml @@ -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: العوده إلى صندوق الصادر diff --git a/config/locales/ast.yml b/config/locales/ast.yml index 60a99cdf5..082659b0d 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -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: "

    Drechos d'autor y llicencia

    \n

    \n OpenStreetMap son datos abiertos (Open Data), con llicencia Creative Commons Reconocimientu - Compartir igual 2.0 (CC-BY-SA).\n

    \n

    \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 códigu llegal completu te desplica los tos drechos y obligaciones.\n

    \n\n

    Cómo dar reconocimientu a OpenStreetMap

    \n

    \n Si uses imaxes de mapes d'OpenStreetMap, te pidimos que'l testu de reconocimientu ponga polo menos “© Collaboradores d'OpenStreetMap, CC-BY-SA”. Si sólo vas usar datos del mapa, lo que pidimos ye “Datos del mapa © Collaboradores d'OpenstreetMap, CC-BY-SA”.\n

    \n

    \n Onde se pueda, OpenStreetMap tendría d'enllazase a http://www.openstreetmap.org/\n y CC-BY-SA a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a la so direición completa) y a www.creativecommons.org.\n

    \n\n

    Pa saber más...

    \n

    \n Llee más tocante a cómo utilizar los nuesos datos en Entrugues y rempuestes llegales (n'inglés).\n

    \n

    \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

    \n

    \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 Política d'usu de la API (n'inglés),\n Política d'usu d'imaxes (n'inglés)\n y Política d'usu de Nominatim (n'inglés tamién).\n

    \n\n

    Los nuesos collaboradores

    \n

    \n La nuesa llicencia CC-BY-SA requier “reconocer al autor orixinal, de manera razonable pal mediu o los medios que teas utilizando”. Los collaboradores individuales d'OSM nun piden más créditu que “Collaboradores d'OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contien datos de barrios basaos en datos de Australian Bureau of\n Statistics.
    • \n
    • Austria: Contien datos de\n Stadt Wien baxo\n CC-BY.
    • \n
    • Canadá: Contien datos de GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), and StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contien datos sacaos de Direction Générale des Impôts.
    • \n
    • Nueva Zelanda: Contien datos sacaos de Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Polonia: Contien datos de mapes UMP-pcPL. Copyright collaboradores de\n UMP-pcPL.
    • \n
    • Reinu Xuníu: Contien datos de Ordnance Survey © Crown copyright and database right\n 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Drechos d'autor y llicencia

    \n

    \n OpenStreetMap son datos abiertos (Open Data), con llicencia Creative Commons Reconocimientu - Compartir igual 2.0 (CC-BY-SA).\n

    \n

    \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 códigu llegal completu t'esplica los tos drechos y obligaciones.\n

    \n\n

    Cómo dar reconocimientu a OpenStreetMap

    \n

    \n Si uses les imaxes de mapes d'OpenStreetMap, te pidimos que'l testu de reconocimientu ponga polo menos “© Collaboradores d'OpenStreetMap, CC-BY-SA”. Si sólo vas usar datos del mapa, lo que pidimos ye “Datos del mapa © Collaboradores d'OpenstreetMap, CC-BY-SA”.\n

    \n

    \n Onde se pueda, OpenStreetMap tendría d'enllazase a http://www.openstreetmap.org/\n y CC-BY-SA a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a esta direición completa) y a www.creativecommons.org.\n

    \n\n

    Pa saber más

    \n

    \n Llei más tocante a cómo utilizar los nuesos datos en Entrugues y rempuestes llegales (n'inglés).\n

    \n

    \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

    \n

    \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 Política d'usu de la API (n'inglés),\n Política d'usu d'imaxes (n'inglés)\n y Política d'usu de Nominatim (n'inglés tamién).\n

    \n\n

    Los nuesos collaboradores

    \n

    \n La nuesa llicencia CC-BY-SA requier “reconocer al autor orixinal, de manera razonable pal mediu o los medios que teas utilizando”. Los mapeadores individuales d'OSM nun piden más créditu que “Collaboradores d'OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contien datos de barrios basaos en datos de Australian Bureau of\n Statistics.
    • \n
    • Austria: Contien datos de\n Stadt Wien baxo\n CC-BY.
    • \n
    • Canadá: Contien datos de GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), y StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contien datos sacaos de Direction Générale des Impôts.
    • \n
    • Nueva Zelanda: Contien datos sacaos de Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Polonia: Contien datos de mapes UMP-pcPL. Copyright collaboradores de\n UMP-pcPL.
    • \n \n Más tocante al usu n'OSM de datos UMP\n
    • South Africa: Contién datos sacaod de\n Chief Directorate:\n National Geo-Spatial Information, State copyright reserved.
    • \n
    • Reinu Xuníu: Contien datos de Ordnance Survey © Crown copyright and database right 2010.
    • \n
    \n\n

    \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

    " 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. Dende'l cambiu al API 0.6, sólo los usuarios públicos pueden editar los datos del mapa (por estes razones).
    • Les direiciones de corréu electrónicu nun se fairán públiques.
    • Nun ye posible volver atrás d'esta aición, y agora tolos usuarios nuevos son públicos de mou predetermináu.
    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.
    Ponte en contautu col webmaster si quies discutilo. account not active: Sentímoslo, la to cuenta inda nun ta activada.
    Usa l'enllaz del corréu de confirmación de la cuenta p'activala o pidi otru corréu de confirmación. - account suspended: Sentímoslo, la to cuenta ta torgada a causa d'actividaes sospechoses.
    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: Saber más tocante al próximu cambiu de llicencia d'OpenStreetMap (traducciones) (alderique) + 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.

    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 webmaster 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.

    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 política de protección de datos) openid: "%{logo} OpenID:" - openid association: "

    La to OpenID nun ta asociada con una cuenta d'OpenStreetMap entá.

    \n
      \n
    • Si yes nuevu n'OpenStreetMap, por favor crea una cuenta nueva usando'l formulariu darréu.
    • \n
    • \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
    • \n
    " - openid no password: Con OpenID nun fai falta contraseña, pero delles ferramientes estra o sirvidores entá pueden necesitala. - password: "Contraseña:" + openid association: "

    La to OpenID nun ta asociada con una cuenta d'OpenStreetMap entá.

    \n
      \n
    • Si yes nuevu n'OpenStreetMap, por favor crea una cuenta nueva col formulariu darréu.
    • \n
    • \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
    • \n
    " + 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 esta páxina wiki. 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. diff --git a/config/locales/be-TARASK.yml b/config/locales/be-TARASK.yml index 549734145..5ddd4ccbd 100644 --- a/config/locales/be-TARASK.yml +++ b/config/locales/be-TARASK.yml @@ -79,7 +79,7 @@ be-TARASK: cookies_needed: Здаецца, што ў Ва забароненыя закладкі (cookies). Калі ласка, дазвольце іх ў Вашым браўзэры перад тым, як працягваць. setup_user_auth: blocked: Ваш доступ да API заблякаваны. Калі ласка, увайдзіце праз ўэб-інтэрфэйс, каб даведацца болей. - need_to_see_terms: Ваш доступ да API часова прыпынены. Калі ласка, увайдзіце ў ўэб-інтэрфэйс, каб каб паглядзець умовы ўдзелу. Вам не абавязкова пагаджацца зь імі, але неабходна зь імі азнаёміцца. + need_to_see_terms: Ваш доступ да API часова прыпынены. Калі ласка, увайдзіце ў ўэб-інтэрфэйс, каб каб паглядзець умовы супрацоўніцтва. Вам не абавязкова пагаджацца зь імі, але неабходна зь імі азнаёміцца. 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: Прабачце, але Ваш рахунак быў заблякаваны з-за падазронай актыўнасьці.
    Калі ласка, зьвяжыцеся з ўэбмайстрам калі Вы жадаеце гэта аспрэчыць. account not active: Прабачце, Ваш рахунак пакуль што не актывізаваны.
    Калі ласка, каб яго актывізаваць, карыстайцеся спасылкай у дасланым Ваш электронным лісьце, ці падайце запыт на новы электронны ліст з пацьверджаньнем. - account suspended: Прабачце, але Ваш рахунак быў заблякаваны з-за падазронай актыўнасьці.
    Калі ласка, зьвяжыцеся з %{webmaster} калі Вы жадаеце гэта аспрэчыць. auth failure: Прабачце, немагчыма ўвайсьці з такім адрасам і паролем. create account minute: Стварыць рахунак. Гэта зойме ня болей хвіліны. email or username: "Адрас электроннай пошты ці імя карыстальніка:" @@ -1419,12 +1469,37 @@ be-TARASK: lost password link: Забылі пароль? new to osm: Упершыню на OpenStreetMap? notice: Даведайцеся болей пра плянуемыя зьмены ліцэнзіі OpenStreetMap (пераклады) (абмеркаваньні) + notice_terms: OpenStreetMap перайшоў на новую ліцэнзію з 1 красавіка 2012 году. Яна такая ж адкрытая як папярэдняя, але больш пасуе для нашай базы зьвестак мапы. Мы жадаем, каб Вы засталіся працаваць з OpenStreetMap, але гэта можа адбыцца толькі пасьля таго, калі Вы пагадзіцеся працаваць на ўмовах новай ліцэнзіі. У адваротным выпадку мы выдалім Ваш унёсак з базы зьвестак.

    Калі ласка, увайдзіце ў сыстэму, потым прачытайце і прыміце новыя ўмовы. Дзякуй! + 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: Калі Вы пацьвердзіце Ваш рахунак, Вам трэба будзе пагадзіцца з умовамі супрацоўніцтва. no_auto_account_create: На жаль, мы зараз ня можам стварыць для Вас рахунак аўтаматычна. not displayed publicly: Не паказваецца публічна (глядзіце правілы адносна прыватнасьці) + openid: "%{logo} OpenID:" + openid association: "

    Ваш OpenID пакуль ня зьвязаны з рахункам OpenStreetMap.

    \n
      \n
    • Калі Вы ўпершыню на OpenStreetMap, калі ласка, стварыце новы рахунак з дапамогай формы пададзенай ніжэй.
    • \n
    • \n Калі Вы ўжо маеце рахунак, Вы можаце ўвайсьці ў сыстэму\n з Вашым іменем удзельніка і паролем, а потым зьвязаць яго з Вашым рахункам\n OpenID на старонцы наладаў Вашага профілю.\n
    • \n
    " + openid no password: Падчас выкарыстаньня OpenID пароль не патрэбны, але некаторыя дадатковыя інструмэнты ці сэрвэр могуць яго спытаць. password: "Пароль:" terms accepted: Дзякуй за тое, што прынялі новыя ўмовы супрацоўніцтва! + terms declined: Нам шкада, што Вы вырашылі не прыняць новыя ўмовы супрацоўніцтва. Для атрыманьня дадатковай інфармацыі, калі ласка, глядзіце гэтую вікі-старонку. 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: "Інфармацыя, якая дапаможа зразумець гэтыя ўмовы: кароткае апісаньне і некалькі неафіцыйных перакладаў" 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}. diff --git a/config/locales/br.yml b/config/locales/br.yml index ced4b2b1c..4c6d6dcfb 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -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.
    Kit e darempred gant ar webmaster 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.
    Klikit war al liamm er postel kadarnaat, mar plij, evit gweredekaat ho kont, pe goulennit ur postel kadarnaat all . - account suspended: Digarezit, arsavet eo bet ho kont abalamour d'un obererezh arvarus.
    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: Gouzout hiroc'h diwar-benn ar cheñchamant aotre-implijout da zont gant OpenStreetMap (troidigezhioù) (kendiviz) + 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.

    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. diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 7895f4a2d..9b5573180 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -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 GeoNames - osm_namefinder: "% {tipus} de OpenStreetMap Namefinder" + osm_namefinder: "%{types} de OpenStreetMap Namefinder" osm_nominatim: Localització des de OpenStreetMap Nominatim 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: "

    Drets d'autor i llicència

    \n

    \n OpenStreetMap és obrir dades, concedeix una llicència sota el Creative\n Llicència Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n

    \n

    \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 legal\n codi explica els seus drets i responsabilitats.\n

    \n\n

    Com a crèdit OpenStreetMap

    \n

    \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

    \n

    \n Sempre que sigui possible, OpenStreetMap ha de ser un hipervincle a http://www.openstreetmap.org/\n i CC-BY-SA a 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

    \n\n

    Saber-ne més

    \n

    \n Llegiu més informació sobre com utilitzar les nostres dades a les Legal\n PREGUNTES MÉS FREQÜENTS.\n

    \n

    \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

    \n

    \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 Política d'ús de l'API\n Política d'ús de rajoles\n i política d'ús de Nominatim.\n

    \n\n

    Nostres col. laboradors

    \n

    \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

    \n\n\n\n
      \n
    • Austràlia: conté dades suburbi basats\n en les dades d'Austràlia Oficina d'estadístiques.
    • \n
    • Àustria: conté dades de\n Stadt Wien sota\n CC-BY.
    • \n
    • Canadà: 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).
    • \n
    • França: conté dades d'origen de\n Direcció Générale des Impôts.
    • \n
    • Nova Zelanda: conté dades d'origen de\n Informació Nova Zelanda de la terra. Corona de drets d'autor reservat.
    • \n
    • Polònia: conté dades de mapes de UMP-pcPL. Drets d'autor\n Col. laboradors de la UMP-pcPL.
    • \n
    • Regne Unit: conté cartografia\n Enquesta dades © Crown copyright i base de dades correcte\n 2010.
    • \n
    \n\n

    \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

    " 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 al wiki, posarà al dia amb les últimes notícies via OpenStreetMap bloc o Twittero navegar a través de OpenStreetMap fundador Steve Costa OpenGeoData blog per a la breu història del projecte, que disposa de podcasts d'escoltar ! 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 [[Categoria: Users_in_London]]." 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 Descarregar Flash Player des de Adobe.com. També hi ha diverses altres opcions 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 navegador mosaic estàtica de Tiles@Home 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. Des de canvi de l'API 0.6, només els usuaris públics pot editar les dades de mapa. (esbrinar per què).
    • Adreces de correu electrònic no serà revelada per convertir-se en públic.
    • Aquesta acció no es pot fer la inversió i els nous usuaris ara són públics per defecte.
    - 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ó.

    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ó.

    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.
    Contacteu amb el webmestre si voleu parlar-ne. account not active: Ho sentim, el teu compte encara no està actiu.
    Si us plau utilitzi l'enllaç a l'e-mail de confirmació de compte d'activar el seu compte, o demanar un nou correu electrònic de confirmació. - account suspended: Ho sentim, el seu compte ha estat suspès a causa de l'activitat sospitosa.
    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: Esbrinar més sobre el canvi de llicència futura de OpenStreetMap (traduccions) (discussió) - 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.

    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ó.

    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ó.

    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 termes de col. laborador. 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 política de privacitat) - openid: "% {logo} OpenID:" + openid: "%{logo} OpenID:" openid association: "

    El seu OpenID encara no està associat a un compte de OpenStreetMap.

    \n
      \n
    • Si sou nous a OpenStreetMap, si us plau, crear un compte nou utilitzant el formulari a continuació.
    • \n
    • \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
    • \n
    " 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 aquesta pàgina de wiki. 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: "

    \n Ho sentim, el seu compte ha estat automàticament suspès a causa de\n l'activitat sospitosa.\n

    \n

    \n Aquesta decisió serà revisat per un administrador en breu, o\n es pot contactar amb el % {webmaster} si vostè desitja discutir això.\n

    " + body: "

    \n Ho sentim, el seu compte ha estat automàticament suspès a causa de\n l'activitat sospitosa.\n

    \n

    \n Aquesta decisió serà revisat per un administrador en breu, o\n es pot contactar amb el %{webmaster} si vostè desitja discutir això.\n

    " 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 diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 84aafcbb2..aa827b70c 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -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ě.
    Pokud to chcete řešit, kontaktujte správce serveru. account not active: Je mi líto, ale váš uživatelský účet dosud nebyl aktivován.
    Svůj účet si můžete aktivovat kliknutím na odkaz v potvrzovacím e-mailu, případně si nechte poslat nový potvrzovací e-mail. - account suspended: Je nám líto, ale váš účet byl pozastaven kvůli podezřelé aktivitě.
    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: Zjistěte více o nadcházející změně licence OpenStreetMap (překlady) (diskuse) + 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.

    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 této wikistránce. + 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: lidsky čitelné shrnutí a nějaké neoficiální překlady" 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. diff --git a/config/locales/da.yml b/config/locales/da.yml index de3c7f7e4..71b70b521 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -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 de statiske Tiles@Home kortsider 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.
    Klik på linket i bekræftelsesemailen for at aktivere din konto eller få sendt en ny bekræftelsesemail. - account suspended: Beklager, din konto er blevet suspenderet på grund af mistænkelig aktivitet.
    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: Læs mere om OpenStreetMaps kommende licensændring (oversættelser) (diskussion) + 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 bidragyder-betingelserne. no_auto_account_create: Vi kan desværre ikke oprette en konto automatisk for dig pt. not displayed publicly: Vises ikke offentligt (se privatlivspolitik) + 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 index 53a08d1f8..000000000 --- a/config/locales/de-AT.yml +++ /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 index ea1f5574e..000000000 --- a/config/locales/de-CH.yml +++ /dev/null @@ -1,2 +0,0 @@ -de-CH: - dummy: dummy diff --git a/config/locales/de.yml b/config/locales/de.yml index 47799b9e3..3f196feed 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -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: "

    Urheberrecht und Lizenz

    \n\n

    \n OpenStreetMap besteht aus freien Daten, die gemäß der Lizenz Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA) verfügbar sind.\n

    \n

    \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 Lizenz einsehbar und erläutert deine Rechte und Pflichten.\n

    \n\n

    So ist auf die Urheberschaft von OpenStreetMap hinzuweisen

    \n

    \n Sofern du Bilder von OpenStreetMap verwendest, so ist mindestens „© OpenStreetMap und Mitwirkende, CC-BY-SA“ als Quelle anzugeben. Werden hingegen ausschließlich Geodaten genutzt, so ist mindestens „Geodaten © OpenStreetMap und Mitwirkende, CC-BY-SA“ anzugeben.\n

    \n

    \n Wo möglich, muss ein Hyperlink auf OpenStreetMap http://www.openstreetmap.org/ und die Lizenz CC-BY-SA http://creativecommons.org/licenses/by-sa/2.0/ 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

    \n\n

    Mehr hierzu in Erfahrung bringen

    \n

    \n Mehr dazu, wie unsere Daten verwendet werden können, ist unter Häufige rechtliche Fragen nachzulesen.\n

    \n

    \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

    \n

    \n Obzwar OpenStreetMap aus freien Daten besteht, können wir Dritten keine kostenfreie Programmierschnittstelle (API) für Karten bereitstellen.\n \n Siehe hierzu die Richtlinie zur Nutzung einer API, die Richtlinie zur Nutzung von Kachelgrafiken und die Nutzungsrichtlinie bezüglich Daten von Nominatim.\n

    \n\n

    Unsere Mitwirkenden

    \n

    \n Die von uns verwendete Lizenz CC-BY-SA verlangt, dass du „für das betreffende Medium oder Mittel in angemessener Weise, auf die ursprünglichen Bearbeiter hinweist.“ Einige an OpenStreetMap Mitwirkende verlangen keine über den Vermerk „OpenStreetMap und Mitwirkende“ 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

    \n\n
      \n
    • Australien: Enthält Daten zu Siedlungen, die auf Daten des Australian Bureau of Statistics basieren.
    • \n
    • Frankreich: Enthält Daten der Direction Générale des Impôts.
    • \n
    • Kanada: Enthält Daten von GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada) und StatCan (Geography Division, Statistics Canada).
    • \n
    • Neuseeland: Enthält Daten aus Land Information New Zealand. Urheberrecht vorbehalten.
    • \n
    • Österreich: Enthält Daten der Stadt Wien. Lizenziert gemäß CC-BY.
    • \n
    • Polen: Enthält Daten aus UMP-pcPL maps. Copyright UMP-pcPL und Mitwirkende.
    • \n
    • Vereinigtes Königreich: Enthält Daten des Ordnance Survey © Urheber- und Datenbankrecht 2010.
    • \n
    \n\n

    \n Die Einbeziehung von Daten bei OpenStreetMap impliziert nicht, das der ursprüngliche Datenlieferant OpenStreetMap unterstützt, Gewährleistung gibt, noch Haftung übernimmt.\n

    " + legal_babble: "

    Urheberrecht und Lizenz

    \n\n

    \nOpenStreetMap ist „Open Data“, die gemäß der Lizenz Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA) verfügbar sind.\n

    \n

    \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 Lizenz einsehbar und erläutert deine Rechte und Pflichten.\n

    \n\n

    So ist auf die Urheberschaft von OpenStreetMap hinzuweisen

    \n

    \n Sofern du Bilder von OpenStreetMap verwendest, so ist mindestens „© OpenStreetMap und Mitwirkende, CC BY-SA“ als Quelle anzugeben. Werden hingegen ausschließlich Geodaten genutzt, so ist mindestens „Geodaten © OpenStreetMap und Mitwirkende, CC BY-SA“ anzugeben.\n

    \n

    \n Wo möglich, muss ein Hyperlink auf OpenStreetMap http://www.openstreetmap.org/ und die Lizenz CC BY-SA http://creativecommons.org/licenses/by-sa/2.0/ 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

    \n\n

    Mehr hierzu in Erfahrung bringen

    \n

    \n Mehr dazu, wie unsere Daten verwendet werden können, ist unter Häufige rechtliche Fragen nachzulesen.\n

    \n

    \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

    \n

    \n Obwohl OpenStreetMap aus freien Daten besteht, können wir Dritten keine kostenfreie Programmierschnittstelle (API) für Karten bereitstellen.\n \n Siehe hierzu die Richtlinie zur Nutzung einer API, die Richtlinie zur Nutzung von Kachelgrafiken und die Nutzungsrichtlinie bezüglich Daten von Nominatim.\n

    \n\n

    Unsere Mitwirkenden

    \n

    \n Die von uns verwendete Lizenz CC BY-SA verlangt, dass du „für das betreffende Medium oder Mittel in angemessener Weise, auf die ursprünglichen Bearbeiter hinweist.“ Einige an OpenStreetMap Mitwirkende verlangen keine über den Vermerk „OpenStreetMap und Mitwirkende“ 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

    \n\n
      \n
    • Australien: Enthält Daten zu Siedlungen, die auf Daten des Australian Bureau of Statistics basieren.
    • \n
    • Frankreich: Enthält Daten der Direction Générale des Impôts.
    • \n
    • Kanada: Enthält Daten von GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada) und StatCan (Geography Division, Statistics Canada).
    • \n
    • Neuseeland: Enthält Daten aus Land Information New Zealand. Urheberrecht vorbehalten.
    • \n
    • Österreich: Enthält Daten der Stadt Wien. Lizenziert gemäß CC BY.
    • \n
    • Polen: Enthält Daten aus UMP-pcPL Karten. Urheberrechtlich geschützt, UMP-pcPL und Mitwirkende. Mehr zur Nutzung der UMP-Daten durch OSM
    • \n
    • Südafrika: Enthält Daten von Chief Directorate: National Geo-Spatial Information, Staatliches Urheberrecht vorbehalten.
    • \n
    • Vereinigtes Königreich: Enthält Daten des Ordnance Survey © Urheber- und Datenbankrecht 2010.
    • \n
    \n\n

    \n Die Einbeziehung von Daten bei OpenStreetMap impliziert nicht, dass der ursprüngliche Datenlieferant OpenStreetMap unterstützt, Gewährleistung gibt, noch Haftung übernimmt.\n

    " 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.
    Bitte kontaktiere den Webmaster, sofern du dies klären möchtest. account not active: Leider wurde dein Benutzerkonto bislang noch nicht aktiviert.
    Bitte aktiviere dein Benutzerkonto, indem du auf den Link in deiner Bestätigungs-E-Mail klickst oder eine neue Bestätigungs-E-Mail anforderst. - account suspended: Dein Benutzerkonto wurde aufgrund verdächtiger Aktivitäten gesperrt, um potentiellen Schaden von OpenStreetMap abzuwenden.
    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: Informiere dich über den bevorstehenden Lizenzwechsel bei OpenStreetMap (Übersetzungen) (Diskussion) + 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.

    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. diff --git a/config/locales/dsb.yml b/config/locales/dsb.yml index 988502922..821e9a82b 100644 --- a/config/locales/dsb.yml +++ b/config/locales/dsb.yml @@ -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: "

    Awtorske pšawo a licenca

    \n

    \nOpenStreetMap wobstoj ze zjawnych datow, licencěrowanych pód licencu Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA).

    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 pšawniski code wujasnjujo twóje pšawa a zagronitosći.

    \n\n

    Kak naspomnjeś awtorstwo OpenStreetMap

    \n

    Jolic wužywaÅ¡ kórtowe wobraze z OpenStreetMap, pominamy se, až nanejmjenjej pódawaÅ¡ “© OpenStreetMap a sobustatkujucych, CC-BY-SA”. Jolic wužywaÅ¡ jano kórtowe daty, musyÅ¡ “kórtowe daty © OpenStreetMap a sobustatkujucych, CC-BY-SA” pódaś.

    Źož jo móžno, OpenStreetMap by měł wótkaz do http://www.openstreetmap.org/ a CC-BY-SA do http://creativecommons.org/licenses/by-sa/2.0/ 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.

    \n\n

    Dalšne informacije

    \n

    Cytaj wěcej wó wužywanju našych datow Ceste pšawniske pšašenja.

    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.

    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 pšawidła za wužywanje API, Pšawidła za wužywanje pólow a Pšawidła za wužywanje Nominatim.

    \n\n

    Naše sobustatkujuce

    \n

    NaÅ¡a licenca CC-BY-SA pomina se, až “dajoÅ¡ spócetnemu awtoroju źěk pśiměrjonemu medijoju abo srědkoju, kótaryž wužywaÅ¡”. Jadnotliwe kartěrowarje OSM njepominaju se pśidatne źěkowanje k “sobustatkujucym OpenStreetMap”, 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ś.

    \n\n \n
    • Awstralska: Wopśimujo pśedměsćańske daty na zakłaźe datow awstralskego amta za statistiku (Australian Bureau of Statistics).
    • \n
    • Awstriska: Wopśimujo daty z Stadt Wien pód CC-BY.
    • \n
    • Kanada: Wopśimujo daty z GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).
    • \n
    • Francojska: Wopśimujo daty z Direction Générale des Impôts.
    • \n
    • Nowoseelandska: Wopśimujo daty ze žrědłow wót Land Information New Zealand. Awtorske pÅ¡awo wuměnjone.
    • \n
    • Pólska: Wopśimujo daty z UMP-pcPL maps. Awtorske pÅ¡awo sobustatkujucych UMP-pcPL.
    • \n
    • Zjadnośone kralojstwo: Wopśimujo daty z Ordnance Survey (Amtske rozměrjenje kraja) © Awtorske pÅ¡awo a pÅ¡awo za datowe banki 2010.
    \n\n

    Zapśimowanje datow do OpenStreetMap njegroni, až póbitowaŕ originalnych datow pśipóznawa OpenStreetMap, dawa někaku garantiju abo pśewzejo rukowanje.

    " + legal_babble: "

    Awtorske pšawo a licenca

    \n

    \nOpenStreetMap wobstoj ze zjawnych datow, licencěrowanych pód licencu Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA).

    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 pšawniski code wujasnjujo twóje pšawa a zagronitosći.

    \n\n

    Kak naspomnjeś awtorstwo OpenStreetMap

    \n

    Jolic wužywaÅ¡ kórtowe wobraze z OpenStreetMap, pominamy se, až nanejmjenjej pódawaÅ¡ “© OpenStreetMap a sobustatkujucych, CC BY-SA”. Jolic wužywaÅ¡ jano kórtowe daty, musyÅ¡ “kórtowe daty © OpenStreetMap a sobustatkujucych, CC BY-SA” pódaś.

    Źož jo móžno, OpenStreetMap by měł wótkaz do http://www.openstreetmap.org/ a CC BY-SA do http://creativecommons.org/licenses/by-sa/2.0/ 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.

    \n\n

    Dalšne informacije

    \n

    Cytaj wěcej wó wužywanju našych datow Ceste pšawniske pšašenja.

    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.

    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 pšawidła za wužywanje API, Pšawidła za wužywanje pólow a Pšawidła za wužywanje Nominatim.

    \n\n

    Naše sobustatkujuce

    \n

    NaÅ¡a licenca CC BY-SA pomina se, až “dajoÅ¡ spócetnemu awtoroju źěk pśiměrjonemu medijoju abo srědkoju, kótaryž wužywaÅ¡”. Jadnotliwe kartěrowarje OSM njepominaju se pśidatne źěkowanje k “sobustatkujucym OpenStreetMap”, 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ś.

    \n\n \n
    • Awstralska: Wopśimujo pśedměsćańske daty na zakłaźe datow awstralskego amta za statistiku (Australian Bureau of Statistics).
    • \n
    • Awstriska: Wopśimujo daty z Stadt Wien pód CC BY.
    • \n
    • Kanada: Wopśimujo daty z GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).
    • \n
    • Francojska: Wopśimujo daty z Direction Générale des Impôts.
    • \n
    • Nowoseelandska: Wopśimujo daty ze žrědłow wót Land Information New Zealand. Awtorske pÅ¡awo wuměnjone.
    • \n
    • Pólska: Wopśimujo daty z UMP-pcPL maps. Awtorske pÅ¡awo sobustatkujucych UMP-pcPL.\n\n Wěcej wó wužywanju UMP-datow w OSM
    • \n
    • South Africa: Wopśimujo daty z Chief Directorate:\n National Geo-Spatial Information, Statne awtorske pÅ¡awo wuměnjone.
    • \n
    • United Kingdom: Wopśimujo daty wót Ordnance\n Survey © Crown copyright and database right\n 2010.
    • \n
    • Zjadnośone kralojstwo: Wopśimujo daty z Ordnance Survey (Amtske rozměrjenje kraja) © Awtorske pÅ¡awo a pÅ¡awo za datowe banki 2010.
    \n\n

    Zapśimowanje datow do OpenStreetMap njegroni, až póbitowaŕ originalnych datow pśipóznawa OpenStreetMap, dawa někaku garantiju abo pśewzejo rukowanje.

    " 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.
    Staj se z webmasterom, jolic coš wó tom diskutěrowaś. account not active: Bóžko twojo konto hyšći njejo aktiwne.
    Pšosym klikni na wótkaz w e-mailu za wobkšuśenje konta, aby aktiwěrował swójo konto abo pominaj nowu wobkšuśeńsku e-mail. - account suspended: Twójo konto jo se bóžko wupowěźeło dla pódglědneje aktiwity.
    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: Wěcej wó pśichodnej licencnej změnje OpenStreetMap (pśełožki) (diskusija) + 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ś.

    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. diff --git a/config/locales/el.yml b/config/locales/el.yml index a6f04572a..050cd985e 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -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: Συγγνώμη, ο/η %{type} με την ταυτότητα %{id}, δε μπορεί να βρεθεί. + sorry: Λυπάμαι, ο/η %{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: Συγγνώμη, τα δεδομένα για το/τη %{type} με αναγνωριστικό %{id}, χρειάστηκε πολύ χρόνο για να ανακτηθεί. + sorry: Λυπάμαι, τα δεδομένα για το/τη %{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: Λυπάμαι, ο κατάλογος των ομάδων αλλαγών που ζητήσατε χρειάστηκε πολύ χρόνο να ανακτηθεί. + sorry: Λυπάμαι, ο κατάλογος των ομάδων αλλαγών που ζήτησες χρειάστηκε πολύ χρόνο για να ανακτηθεί. 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: "Σώμα:" + body: "Κείμενο:" 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: Απομακρυσμένος έλεγχος (JOSM ή Merkaartor) - name: Απομακρυσμένος έλεγχος + description: Τηλεχειρισμός (JOSM ή Merkaartor) + name: Τηλεχειρισμός 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: Η σελίδα χρήστη σας + welcome_user_link_tooltip: Η προσωπική σας σελίδα 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 στο wiki, μείνε ενήμερος με τα τελευταία νέα μέσω του OpenStreetMap blog ή το Twitter, ή περιηγήσου στο OpenGeoData blog του ιδρυτή του OpenStreetMap Steve Coast για το ιστορικό του project, το οποίο επίσης έχει podcasts να ακούσεις! 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. Μπορείτε να κάνετε λήψη του Flash Player από την τοποθεσία Adobe.com. Πολλές άλλες επιλογές είναι επίσης διαθέσιμες για επεξεργασία στο 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: Αυτή τη στιγμή οι επεξεργασίες σου είναι ανώνυμες και δεν μπορεί κανείς να σου στείλει μήνυμα ή να δει την τοποθεσία σου. Για να δείξεις τι έχεις επεξεργαστεί και να επιτρέψεις στους άλλους έρθουν σε επαφή μαζί σου μέσω του ιστοχώρου, πάτα το κουμπί από κάτω. Από την αλλαγή σε API 0.6, μόνο οι επώνυμοι χρήστες μπορούν να επεξεργαστούν δεδομένα του χάρτη.. (μάθε γιατί).
    • Η διεύθυνσή σου ηλεκτρονικού ταχυδρομείου δεν θα αποκαλυφθεί δημόσια.
    • Αυτή η ενέργεια δεν μπορεί να αναιρεθεί και όλοι οι νέοι χρήστες είναι επώνυμοι εξ' αρχής.
    replace image: Αντικατάσταση της τρέχουσας εικόνας return to profile: Επιστροφή στο προφίλ save changes button: Αποθήκευση Αλλαγών @@ -1116,20 +1188,20 @@ el: already active: Αυτός ο λογαριασμός έχει ήδη επιβεβαιωθεί. button: Επιβεβαίωση heading: Επιβεβαίωση ενός λογαριασμού χρήστη - press confirm button: Πατήστε το κουμπί "Επιβεβαίωση" για να ενεργοποιήσετε το λογαριασμό σας. - success: Επιβεβαιώθηκε ο λογαριασμός σας, σας ευχαριστούμε για την εγγραφή σας! + press confirm button: Πάτα το κουμπί "Επιβεβαίωση" για να ενεργοποιήσεις το λογαριασμό σου. + success: Επιβεβαιώθηκε ο λογαριασμός σου, σε ευχαριστούμε για την εγγραφή σου! confirm_email: button: Επιβεβαίωση failure: Μια διεύθυνση ηλεκτρονικού ταχυδρομείου έχει ήδη επιβεβαιωθεί με αυτό το διακριτικό. heading: Επιβεβαίωση αλλαγής της διεύθυνσης ηλεκτρονικού ταχυδρομείου - press confirm button: Πατήστε το κουμπί "Επιβεβαίωση" παρακάτω για να επιβεβαιώσετε τη νέα διεύθυνση ηλεκτρονικού ταχυδρομείου σας. - success: Επιβεβαιώθηκε η διεύθυνση ηλεκτρονικού ταχυδρομείου σας, σας ευχαριστούμε για την εγγραφή σας! + press confirm button: Πάτα το κουμπί "Επιβεβαίωση" παρακάτω για να επιβεβαιώσεις τη νέα διεύθυνση ηλεκτρονικού ταχυδρομείου σου. + success: Επιβεβαιώθηκε η διεύθυνση ηλεκτρονικού ταχυδρομείου σου, σε ευχαριστούμε για την εγγραφή σου! confirm_resend: failure: Ο χρήστης %{name} δεν βρέθηκε. filter: - not_an_administrator: Πρέπει να είστε διαχειριστής για να το κάνετε αυτό. + not_an_administrator: Πρέπει να είσαι διαχειριστής για να το κάνεις αυτό. go_public: - flash success: Όλες οι επεξεργασίες σας είναι τώρα δημόσιες και έχετε τη δυνατότητα να επεξεργαστείτε τον χάρτη. + flash success: Όλες οι επεξεργασίες σου είναι τώρα δημόσιες και έχεις τη δυνατότητα να επεξεργαστείς τον χάρτη. list: confirm: Επιβεβαίωση επιλεγμένων χρηστών heading: Χρήστες @@ -1138,15 +1210,17 @@ el: summary_no_ip: "%{name} δημιουργήθηκε στις %{date}" title: Χρήστες login: - account not active: Λυπόμαστε, ο λογαριασμός σας δεν είναι ενεργός ακόμα.
    Παρακαλούμε χρησιμοποιήστε το σύνδεσμο στο email επιβεβαίωσης για να ενεργοποιήσετε το λογαριασμό σας, ή κάντε αίτηση νέου email επιβεβαίωσης. - account suspended: Συγνώμη, ο λογαριασμός σας έχει ανασταλεί λόγω ύποπτης δραστηριότητας.
    Εάν επιθυμείτε, επικοινωνήστε με τον %{webmaster} για να το συζητήσουμε αυτό το θέμα. - auth failure: Λυπόμαστε, αλλά δεν μπορούσαμε να σας συνδέσουμε με αυτές τις λεπτομέρειες. - create account minute: Δημιουργήστε λογαριασμό. Παίρνει μόνο ένα λεπτό. + account not active: Λυπάμαι, ο λογαριασμός σου δεν είναι ενεργός ακόμα.
    Παρακαλώ χρησιμοποίησε το σύνδεσμο στο email επιβεβαίωσης για να ενεργοποιήσεις το λογαριασμό σου, ή κάνε αίτηση νέου email επιβεβαίωσης. + auth failure: Λυπάμαι, δεν μπορείς να συνδεθείς με αυτές τις λεπτομέρειες. + create account minute: Δημιούργησε λογαριασμό. Παίρνει μόνο ένα λεπτό. email or username: "Διεύθυνση ηλεκτρονικού ταχυδρομείου ή Όνομα χρήστη:" heading: Είσοδος login_button: Είσοδος - lost password link: Ξεχάσατε τον κωδικό; + lost password link: Έχασες τον κωδικό σου; new to osm: Νέος στο OpenStreetMap; + notice: Μάθε περισσότερα σχετικά με την επερχόμενη αλλαγή άδειας του OpenStreetMap (μεταφράσεις) (συζήτηση) + notice_terms: Το OpenStreetMap μετακινείται σε νέα άδεια την 1η Απριλίου 2012. Είναι το ίδιο ανοιχτή όπως η υπάρχουσα, αλλά τα νομικά σημεία ταιριάζουν καλύτερα στη βάση δεδομένων του χάρτη. Θα θέλαμε πολύ να διατηρηθούν οι συνεισφορές σου στο OpenStreetMap, αλλά μπορούμε να το επιτύχουμε μόνο αν συμφωνείς να διανέμονται υπό τη νέα άδεια. Διαφορετικά, θα πρέπει να αφαιρεθούν από τη βάση δεδομένων.

    Παρακαλούμε συνδέσου και στη συνέχεια αφιέρωσε μερικά δευτερόλεπτα για να διαβάσεις και να αποδεχτείς τους νέους όρους. Ευχαριστούμε! + 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: Ξεχάσατε τον κωδικό σας; - help_text: Πληκτρολογήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποιήσατε για να εγγραφείτε, θα στείλουμε ένα σύνδεσμο, ότι μπορείτε να χρησιμοποιήσετε για να επαναφέρετε τον κωδικό πρόσβασής σας. + heading: Ξέχασες τον κωδικό σου; + help_text: Πληκτρολόγησε τη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποίησες για να εγγραφείς, θα στείλουμε ένα σύνδεσμο, όπου μπορείς να χρησιμοποιήσεις για να επαναφέρεις τον κωδικό σου. new password button: Επαναφορά κωδικού - notice email cannot find: Λυπόμαστε, δεν βρέθηκε αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου. - notice email on way: Λυπάμαι που τον χάσατε:-(, αλλά ένα μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο δρόμο, ώστε να μπορείτε να τον επαναφέρετε σύντομα. - title: Χάσατε των κωδικό σας + notice email cannot find: Λυπάμαι, δεν βρέθηκε αυτή η διεύθυνση ηλεκτρονικού ταχυδρομείου. + notice email on way: Λυπάμαι που τον έχασες:-(, αλλά ένα μήνυμα ηλεκτρονικού ταχυδρομείου βρίσκεται στο δρόμο, ώστε να μπορέσεις να τον επαναφέρεις σύντομα. + title: Έχασες τον κωδικό σου make_friend: already_a_friend: Είστε ήδη φίλοι με τον χρήστη %{name}. failed: Λυπούμαστε, απέτυχε η προσθήκη του χρήστη %{name} ως φίλο. - success: Ο χρήστης %{name} είναι τώρα φίλος σας. + success: Ο χρήστης %{name} είναι τώρα φίλος σου. new: confirm email address: "Επιβεβαιώση Διεύθυνσης ηλεκτρονικού ταχυδρομείου:" confirm password: "Επιβεβαίωση Κωδικού:" continue: Συνέχεια display name: "Εμφανιζόμενο όνομα:" email address: "Διεύθυνση ηλεκτρονικού ταχυδρομείου:" + fill_form: Συμπλήρωσε τη φόρμα και θα σου στείλουμε ένα γρήγορο email για να ενεργοποιήσεις το λογαριασμό σου. heading: Δημιουργία Λογαριασμού Χρήστη - license_agreement: Όταν επιβεβαιώσετε το λογαριασμό σας, θα πρέπει να συμφωνείσετε με τους όρους συνεισφοράς. + license_agreement: Όταν επιβεβαιώσεις το λογαριασμό σου, θα πρέπει να συμφωνήσεις με τους όρους συνεισφοράς. + not displayed publicly: Να μην εμφανίζεται δημόσια (δες την πολιτική απορρήτου) password: "Κωδικός:" - terms accepted: Σας ευχαριστούμε για την αποδοχή των νέων όρων συνεισφοράς! + terms accepted: Ευχαριστούμε για την αποδοχή των νέων όρων συνεισφοράς! + terms declined: Λυπούμαστε για το ότι αποφάσισες να μην αποδεχθείς τους νέους όρους συνεισφοράς. Για περισσότερες πληροφορίες, παρακαλούμε δες αυτήν τη σελίδα wiki. title: Δημιουργία λογαριασμού no_such_user: - body: Συγγνώμη, δεν υπάρχει χρήστης με το όνομα %{user}. Είναι πιθανό να υπάρχουν ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσο του οπίου φτάσατε σε αυτήν την σελίδα. + body: Λυπάμαι, δεν υπάρχει χρήστης με το όνομα %{user}. Είναι πιθανό να υπάρχουν ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσο του οποίου έφτασες σε αυτήν την σελίδα. heading: Ο χρήστης %{user} δεν υπάρχει title: Άγνωστος χρήστης popup: friend: Φίλος nearby mapper: Κοντινός χαρτογράφος - your location: Η τοποθεσία σας + your location: Η τοποθεσία σου remove_friend: - not_a_friend: Ο χρήστης %{name} δεν είναι ένας από τους φίλους σας. + not_a_friend: Ο χρήστης %{name} δεν είναι ένας από τους φίλους σου. success: Ο χρήστης %{name} καταργήθηκε από φίλος. reset_password: confirm password: "Επιβεβαίωση Κωδικού:" - flash changed: Ο κωδικός σας έχει αλλάξει. + flash changed: Ο κωδικός σου αλλάχτηκε. heading: Επαναφορά Κωδικού για τον χρήστη %{user} password: "Κωδικός:" reset: Επαναφορά Κωδικού title: Επαναφορά κωδικού + set_home: + flash success: Η τοποθεσία σπιτιού αποθηκεύτηκε επιτυχώς suspended: - body: "

    \nΣυγνώμη, ο λογαριασμός σας έχει αυτόματα ανασταλεί λόγω\nύποπτης δραστηριότητας.\n

    \n

    \nΗ παρούσα απόφαση θα εξεταστεί από ένα διαχειριστή σύντομα, ή\nμπορείτε να επικοινωνήσετε με τον %{webmaster} αν θέλετε να συζητήσετε αυτό το θέμα.\n

    " + body: "

    \nΛυπάμαι, ο λογαριασμός σου έχει αυτόματα ανασταλεί λόγω\nύποπτης δραστηριότητας.\n

    \n

    \nΗ παρούσα απόφαση θα εξεταστεί από ένα διαχειριστή σύντομα, ή\nμπορείς να επικοινωνήσεις με τον %{webmaster} αν θέλεις να συζητήσετε αυτό το θέμα.\n

    " heading: Ο Λογαριασμός έχει Ανασταλεί title: Ο Λογαριασμός έχει Ανασταλεί terms: @@ -1230,35 +1309,48 @@ el: france: Γαλλία italy: Ιταλία rest_of_world: Υπόλοιπος κόσμος - legale_select: "Επιλέξτε τη χώρα κατοικίας σας:" + legale_select: "Παρακαλώ επέλεξε τη χώρα κατοικίας σου:" 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: Δεν υπάρχουν άλλοι χρήστες που παραδέχονται ότι χαρτογραφούν κοντά σας προς το παρόν. + no friends: Δεν έχεις προσθέσει φίλους ακόμα. + no nearby users: Δεν υπάρχουν άλλοι χρήστες που παραδέχονται ότι χαρτογραφούν κοντά σου προς το παρόν. oauth settings: ρυθμίσεις oauth remove as friend: αφαίρεση από φίλος role: @@ -1275,22 +1367,36 @@ el: status: "Κατάσταση:" unhide_user: επανεμφάνιση αυτού του χρήστη user location: Τοποθεσία χρήστη - your friends: Οι φίλοι σας + your friends: Οι φίλοι σου 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: Τελείωση %{time} πριν. + time_past: Τελείωσε %{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 index e1b4a23a3..000000000 --- a/config/locales/en-AU.yml +++ /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 index 6a3f3cb2a..000000000 --- a/config/locales/en-GB.yml +++ /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 index 1e1b393da..000000000 --- a/config/locales/en-US.yml +++ /dev/null @@ -1,2 +0,0 @@ -en-US: - dummy: dummy diff --git a/config/locales/en.yml b/config/locales/en.yml index 58965def1..3e9908bb5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -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 Creative Commons Attribution-ShareAlike 2.0 license.' @@ -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:

    OpenStreetMap is open data, licensed under the Creative - Commons Attribution-ShareAlike 2.0 licence (CC-BY-SA). + Commons Attribution-ShareAlike 2.0 licence (CC BY-SA).

    You are free to copy, distribute, transmit and adapt our maps @@ -1013,14 +1023,14 @@ en:

    If you are using OpenStreetMap map images, we request that your credit reads at least “© OpenStreetMap - contributors, CC-BY-SA”. If you are using map data only, + contributors, CC BY-SA”. If you are using map data only, we request “Map data © OpenStreetMap contributors, - CC-BY-SA”. + CC BY-SA”.

    Where possible, OpenStreetMap should be hyperlinked to http://www.openstreetmap.org/ - and CC-BY-SA to http://creativecommons.org/licenses/by-sa/2.0/. 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:

    Our contributors

    - Our CC-BY-SA licence requires you to “give the Original + Our CC BY-SA licence requires you to “give the Original Author credit reasonable to the medium or means You are utilising”. Individual OSM mappers do not request a credit over and above that to “OpenStreetMap @@ -1078,7 +1088,7 @@ en: on Australian Bureau of Statistics data.

  • Austria: Contains data from Stadt Wien under - CC-BY.
  • + CC BY.
  • Canada: Contains data from GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural @@ -1090,7 +1100,12 @@ en: Land Information New Zealand. Crown Copyright reserved.
  • Poland: Contains data from UMP-pcPL maps. Copyright - UMP-pcPL contributors.
  • + UMP-pcPL contributors. + + More about OSM's use of UMP data +
  • South Africa: Contains data sourced from + Chief Directorate: + National Geo-Spatial Information, State copyright reserved.
  • United Kingdom: Contains Ordnance Survey data © Crown copyright and database right 2010.
  • @@ -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.
    Please use the link in the account confirmation email to activate your account, or request a new confirmation email." - account suspended: Sorry, your account has been suspended due to suspicious activity.
    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.
    Please contact the webmaster if you wish to discuss this. auth failure: "Sorry, could not log in with those details." notice: "Find out more about OpenStreetMap's upcoming license change (translations) (discussion)" 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.

    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 diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 98f73d618..4b91c667d 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -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 index 071a1147d..000000000 --- a/config/locales/es-AR.yml +++ /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 index c5102a108..000000000 --- a/config/locales/es-CL.yml +++ /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 index f44f89184..000000000 --- a/config/locales/es-CO.yml +++ /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 index 71ec19581..000000000 --- a/config/locales/es-MX.yml +++ /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 index 3e239253c..000000000 --- a/config/locales/es-PE.yml +++ /dev/null @@ -1,2 +0,0 @@ -es-PE: - dummy: dummy diff --git a/config/locales/es.yml b/config/locales/es.yml index 9aa6f274a..d9b042185 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -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: "

    Derechos de autor y licencia

    \n

    \n OpenStreetMap es Open Data (datos abiertos), con licencia Creative Commons Reconocimiento- Compartir bajo la misma licencia 2.0 (CC-BY-SA).\n

    \n

    \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 código legal completo explica tus derechos y obligaciones.\n

    \n\n

    Cómo dar reconocimiento a OpenStreetMap

    \n

    \n Si usas imágenes de mapas de OpenStreetMap, solicitamos que tu texto dándonos reconocimiento se lea al menos así: “© Colaboradores de OpenStreetMap, CC-BY-SA”. Si sólo utilizas información del mapa, solicitamos que muestres “Información del mapa © Colaboradores de OpenstreetMap, CC-BY-SA”.\n

    \n

    \n Donde sea posible, OpenStreetMap debería vincularse a http://www.openstreetmap.org/\n y CC-BY-SA a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a su dirección completa) y a www.creativecommons.org.\n

    \n\n

    Para saber más...

    \n

    \n Encontrarás más información acerca de cómo utilizar nuestros datos en Preguntas y respuestas legales (en inglés).\n

    \n

    \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

    \n

    \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 Política de uso del API (en inglés),\n Política de uso de tiles (en inglés)\n y Políticas de uso de Nominatim (en inglés también).\n

    \n\n

    Nuestros colaboradores

    \n

    \n Nuestra licencia CC-BY-SA requiere “reconocer al autor original, de manera razonable conforme al medio o a los medios que usted esté utilizando”. Los contribuidores individuales de OSM no solicitan la mención del crédito más allá de “Colaboradores de OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contiene datos suburbanos cuya base es la información provista por Australian Bureau of\n Statistics.
    • \n
    • Austria: Contiene datos de\n Stadt Wien bajo\n CC-BY.
    • \n
    • Canadá: Contiene datos de GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), and StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contiene datos extraídos de Direction Générale des Impôts.
    • \n
    • Nueva Zelanda: Contiene datos extraídos de Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Polonia: Contiene datos de UMP-pcPL maps. Copyright contribuidores de\n UMP-pcPL.
    • \n
    • Reino Unido: Contiene datos de Ordnance Survey © Crown copyright and database right\n 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Derechos de autor y licencia

    \n

    \n OpenStreetMap es Open Data (un servicio de datos de acceso libre), con licencia Creative\n Commons Reconocimiento-CompartirIgual 2.0 (CC-BY-SA).\n

    \n

    \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 código legal completo explica tus derechos y obligaciones.\n

    \n\n

    Cómo dar reconocimiento a OpenStreetMap

    \n

    \n Si usas imágenes de mapas de OpenStreetMap, solicitamos que tu texto dándonos reconocimiento se lea al menos así: “© Colaboradores de OpenStreetMap, CC-BY-SA”. Si sólo utilizas información del mapa, solicitamos que muestres “Información del mapa © Colaboradores de OpenstreetMap, CC-BY-SA”.\n

    \n

    \n Donde sea posible, OpenStreetMap debería vincularse a http://www.openstreetmap.org/\n y CC-BY-SA a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a su dirección completa) y a www.creativecommons.org.\n

    \n\n

    Para saber más...

    \n

    \n Encontrarás más información acerca de cómo utilizar nuestros datos en Preguntas y respuestas legales (en inglés).\n

    \n

    \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

    \n

    \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 Política de uso del API (en inglés),\n Política de uso de tiles (en inglés)\n y Políticas de uso de Nominatim (en inglés también).\n

    \n\n

    Nuestros colaboradores

    \n

    \n Nuestra licencia CC-BY-SA requiere “reconocer al autor original, de manera razonable conforme al medio o a los medios que usted esté utilizando”. Las persona que hacen contribuciones individualmente a OSM no solicitan la mención de un crédito adicional al de “Colaboradores de OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contiene datos suburbanos cuya base es la información provista por Australian Bureau of\n Statistics.
    • \n
    • Austria: Contiene datos de\n Stadt Wien bajo\n CC-BY.
    • \n
    • Canadá: Contiene datos de GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), and StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contiene datos extraídos de Direction Générale des Impôts.
    • \n
    • Nueva Zelanda: Contiene datos extraídos de Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Polonia: Contiene datos de UMP-pcPL maps. Copyright contribuidores de\n UMP-pcPL. \n Aprenda más sobre el uso de UMP por parte de OSM
    • \n
    • Reino Unido: Contiene datos de Ordnance Survey © Crown copyright and database right\n 2010.
    • \n
    • Sudáfrica: Contiene datos extraídos de \t\n Chief Directorate: Información \n Nacional Geoespacial, State copyright reserved.
    • \n
    \n\n

    \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

    " 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.
    Póngase en contacto con el webmaster si desea hablar de ello. account not active: Lo sentimos, tu cuenta aun no está activa.
    Por favor usa el enlace que hay en el correo de confirmación para activarla, o solicita un nuevo correo de confirmación. - account suspended: Disculpa, tu cuenta ha sido suspendida debido a actividad sospechosa.
    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: Descubre más acerca del próximo cambio de licencia de OpenStreetMap (traducciones) (discusión) + 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.

    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. diff --git a/config/locales/et.yml b/config/locales/et.yml index 6d661ae1e..cfb27fc9d 100644 --- a/config/locales/et.yml +++ b/config/locales/et.yml @@ -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 diff --git a/config/locales/eu.yml b/config/locales/eu.yml index ba0277633..23b6b7cbf 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -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 diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 70a3338ec..fd1a5c277 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -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: "تایید نشانی رایانامه:" diff --git a/config/locales/fi.yml b/config/locales/fi.yml index a74300c85..8730c137c 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -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 index c2b5595e8..000000000 --- a/config/locales/fr-CA.yml +++ /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 index 83d0d7886..000000000 --- a/config/locales/fr-CH.yml +++ /dev/null @@ -1,2 +0,0 @@ -fr-CH: - dummy: dummy diff --git a/config/locales/fr.yml b/config/locales/fr.yml index a795a0c8d..457ce2654 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -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 d’accè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 l’ancienne 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 l’ancien chemin + old_way_tag: Balise de l’ancien 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 l’utilisateur 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 l’API + back: Afficher la liste d’objets details: Détails - heading: Liste d'objets + heading: Liste d’objets 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 d’une 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 %{key} sur le wiki + tag: La description de la balise %{key}=%{value} 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 l’historique 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 l’entré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 licence Creative Commons attribution-partage à l'identique 2.0. + export_details: Les données d’OpenStreetMap sont publiées sous licence Creative Commons paternité – partage à l’identique 2.0. 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 Creative Commons paternité – partage à l’identique 2.0 générique. 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: "

    Copyright et licence

    \n

    \n OpenStreetMap est un ensemble de données ouvertes, disponibles sous la licence Creative\n Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n

    \n

    \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 texte\n légal complet détaille vos droits et responsabilités.\n

    \n\n

    Comment créditer OpenStreetMap

    \n

    \n Si vous utilisez les images d'OpenStreetMap, nous demandons que votre\n 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 de la carte © les contributeurs d'OpenStreetMap,\n CC-BY-SA”.\n

    \n

    \n Là où cela est possible, OpenStreetMap doit être un lien hypertexte vers http://www.openstreetmap.org/\n et CC-BY-SA vers http://creativecommons.org/licenses/by-sa/2.0/.\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 ‘OpenStreetMap’ à l'adresse complète) et vers\n www.creativecommons.org.\n

    \n\n

    Plus d'informations

    \n

    \n Si vous voulez obtenir plus d'informations sur la réutilisation de nos données, lisez la FAQ légale.\n

    \n

    \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

    \n

    \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 règles d'utilisation de l'API,\n règles d'utilisation de la carte\n et règles d'utilisation de Nominatim.\n

    \n\n

    Nos contributeurs

    \n

    \n Notre licence CC-BY-SA nécessite que vous “donniez à l'auteur d'origine\n un crédit raisonnable selon le média que vous utilisez”.\n Les cartographes individuels d'OSM ne demandent pas\n d'autre crédit que “les contributeurs d'OpenStreetMap”,\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

    \n\n\n\n
      \n
    • Australie: Contient des données sur les banlieues\n fondée sur les données de l'Australian Bureau of Statistics.
    • \n
    • Autriche: Contient des données sur la\n ville de Vienne sous licence\n CC-BY.
    • \n
    • Canada: Contient des données de\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), et StatCan (Geography Division,\n Statistics Canada).
    • \n
    • France : Contient des données de la\n Direction Générale des Impôts.
    • \n
    • Nouvelle-Zélende: Contient des données provenant du\n Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Pologne: Contient des données provenant des cartes UMP-pcPL. Copyright\n contributeurs de UMP-pcPL.
    • \n
    • Royaume-Uni: Contient des données d'Ordnance\n Survey data © Crown copyright and database right 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Copyright et licence

    \n

    \n OpenStreetMap est un ensemble de données ouvertes, disponibles sous la licence Creative Commons\n paternité – partage à l’identique 2.0 (CC BY-SA).\n

    \n

    \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 texte\n légal complet détaille vos droits et responsabilités.\n

    \n\n

    Comment créditer OpenStreetMap

    \n

    \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

    \n

    \n Là où cela est possible, OpenStreetMap doit être mentionné avec un lien hypertexte vers http://www.openstreetmap.org/\n et CC-BY-SA vers http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Pour trouver plus d’informations

    \n

    \n Si vous voulez obtenir plus d’informations sur la réutilisation de nos données, lisez la FAQ\n légale.\n

    \n

    \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

    \n

    \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 règles d’utilisation de l’API, nos\n règles d’utilisation des tuiles graphiques\n et nos règles d’utilisation de Nominatim.\n

    \n\n

    Nos contributeurs

    \n

    \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

    \n\n\n
      \n
    • Australie : contient des données sur les quartiers\n basées sur les données de l’Australian Bureau of Statistics.
    • \n
    • Autriche : contient des données sur la\n Ville de Vienne sous licence\n CC BY 3.0 Autriche.
    • \n
    • Canada : contient des données de\n GeoBase®, GeoGratis (© Département des Ressources\n naturelles du Canada), CanVec (© Département des Ressources\n naturelles du Canada) et StatCan (Division Géographie,\n Statistiques du Canada).
    • \n
    • France : contient des données de la\n Direction générale des impôts.
    • \n
    • Nouvelle-Zélande : contient des données provenant du\n Land Information New Zealand. © Copyright de la Couronne réservé.
    • \n
    • Pologne : contient des données provenant des cartes UMP-pcPL. © Copyright\n les contributeurs de UMP-pcPL.\n \n En savoir davantage sur l’utilisation par OSM des données UMP
    • \n
    • Afrique du Sud :contient des données provenant du\n Chief Directorate:\n National Geo-Spatial Information, copyright de l’État réservé.
    • \n
    • Royaume-Uni : contient des données provenant des Ordnance\n Survey data. © Copyright de la Couronne et droits de base de données 2010.
    • \n
    \n\n

    \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

    " 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 navigateur statique de Tiles@Home. 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. Depuis le basculement de l'API en version 0.6, seuls les utilisateurs en mode \"modifications publiques\" peuvent modifier les cartes (en savoir plus).
    • Votre adresse de courriel ne sera pas rendue publique.
    • Cette opération ne peut pas être annulée et tous les nouveaux utilisateurs sont en mode \"modifications publiques\" par défaut.
    " 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.
    Veuillez contacter le webmaster si vous voulez en discuter. account not active: Désolé, votre compte n'est pas encore actif.
    Veuillez cliquer sur le lien dans le courrier électronique de confirmation, pour activer votre compte, ou demandez un nouveau courrier de confirmation. - account suspended: Désolé, votre compte a été suspendu en raison d'une activité suspecte.
    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: En savoir plus sur le futur changement de licence d’OpenStreetMap (traductions) (discussion) + 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.

    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é. diff --git a/config/locales/fur.yml b/config/locales/fur.yml index 6e96f7a58..17704bf86 100644 --- a/config/locales/fur.yml +++ b/config/locales/fur.yml @@ -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 sô 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 index 086ece5f2..000000000 --- a/config/locales/gl-ES.yml +++ /dev/null @@ -1,2 +0,0 @@ -gl-ES: - dummy: dummy diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 92fd0efa1..2684e3bd9 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -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.
    Póñase en contacto co webmaster se quere debatelo. account not active: Sentímolo, a súa conta aínda non está activada.
    Prema na ligazón que hai no correo de confirmación da conta ou solicite un novo correo de confirmación. - account suspended: Sentímolo, a súa conta foi suspendida debido a actividades sospeitosas.
    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: Máis información acerca do cambio na licenza do OpenStreetMap (traducións) (conversa) + 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.

    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 index 83ff85b47..000000000 --- a/config/locales/gsw-CH.yml +++ /dev/null @@ -1,2 +0,0 @@ -gsw-CH: - dummy: dummy diff --git a/config/locales/he.yml b/config/locales/he.yml index da4940af8..b9627b432 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -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: תיאור latitude: קו רוחב longitude: קו אורך name: שם @@ -33,56 +38,116 @@ he: visible: גלוי user: active: פעיל - description: תאור - email: דואל + description: תיאור + display_name: שם לתצוגה + email: דוא״ל languages: שפות - pass_crypt: סיסמה + 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: "שייך ל־:" + belongs_to: "שייכת ל:" 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: יחס %{relation_name} + entry_role: יחס %{relation_name} (בתור %{relation_role}) map: deleted: נמחק + edit: + area: עריכת אזור + node: עריכת צומת + relation: עריכת יחס + way: עריכת דרך larger: area: צפייה בשטח במפה גדולה יותר node: צפייה בצומת במפה גדולה יותר - relation: צפייה בקשר במפה גדולה יותר + 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} + next_changeset_tooltip: העריכה הבאה של %{user} + prev_changeset_tooltip: העריכה הקודמת של %{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: "קואורדינטות:" - part_of: "חלק מ־:" + coordinates: "נקודות ציון:" + 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: יחס 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: "חברים:" - part_of: "חלק מ־:" + members: "איברים:" + part_of: "חלק מתוך:" relation_history: download: "%{download_xml_link} או %{view_details_link}" download_xml: הורדת XML - relation_history: היסטוריית הקישור - relation_history_title: "היסטוריית הקישור: %{relation_name}" + relation_history: היסטוריית היחס + relation_history_title: "היסטוריית היחס: %{relation_name}" view_details: צפייה בפרטים relation_member: entry_role: "%{type} %{name} בתור %{role}" type: node: צומת - relation: קשר + relation: יחס 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: "האזור שנטען מכיל [[num_features]] תכונות. באופן כללי, רב הדפדפנים לא יוכלו להתמודד עם הצגה של כזאת כמות של נתונים. לרב, דפדפנים עובדים באופן מיטבי בהצגת פחות מ־100 תכונות בו־זמנית: ביצוע משימות נוספות עלולות לגרום לדפדפן להיות איטי/להתקע. אם אכן יש צורך להציג כמות כזאת של נתונים, ניתן ללחוץ על הלחצן שלהלן." + loaded_an_area_with_num_features: "האזור שנטען מכיל [[num_features]] תכונות. באופן כללי, חלק מהדפדפנים לא יוכלו להתמודד עם הצגה של כזו כמות של נתונים. לרוב, דפדפנים עובדים באופן מיטבי בהצגת פחות מ־100 תכונות בו־זמנית: ביצוע משימות נוספות עלול לגרום לדפדפן לפעול באופן איטי או להיתקע. אם ברצונך בכל זאת להציג מידע זה, באפשרותך להציג אותו בלחיצה על הכפתור למטה." loading: בטעינה... manually_select: בחירת אזור אחר ידנית object_list: @@ -153,13 +227,24 @@ he: node: צומת way: דרך private_user: משתמש פרטי - show_areas: להצגת איזורים + 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}‏ | %{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 מוגש בכפוף לרישיון CC ייחוס־שיתוף זהה 2.0. + format: פורמט + format_to_export: תבנית לייצוא image_size: גודל התמונה latitude: "קווי אורך:" + licence: רישיון longitude: "קווי רוחב:" - max: מקסימום + manually_select: בחירה ידנית של אזור אחר + map_image: תמונת מפה (תצוגת שכבה תקנית) + max: לכל היותר options: אפשרויות + osm_xml_data: נתוני XML של OpenStreetMap output: פלט - paste_html: להדבקת HTML להטמעה באתר + paste_html: להדביק HTML להטמעה באתר scale: קנה מידה too_large: - heading: האיזור גדול מידי + body: האזור גדול מכדי שאפשר יהיה לייצא אותו בתור נתוני XML של OpenStreetMap. נא להתקרב או לבחור אזור קטן יותר. + heading: האזור גדול מדי zoom: מרחק מתצוגה start_rjs: add_marker: הוספת סמן למפה change_marker: שינוי מיקום סמן click_add_marker: לחצו על המפה להוספת סמן - drag_a_box: נא לגרור מלבן על המפה לבחירת איזור + drag_a_box: נא לגרור מלבן על המפה לבחירת אזור export: ייצוא - manually_select: לבחירה ידנית של איזור אחר + manually_select: בחירה ידנית של אזור אחר view_larger_map: לצפייה במפה גדולה יותר geocoder: description: title: geonames: מיקום מאתר GeoNames + osm_namefinder: "%{types} מ־OpenStreetMap Namefinder" osm_nominatim: מיקום מאתר OpenStreetMap Nominatim 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: תוצאות מאתר NPEMap / FreeThe Postcode us_postcode: תוצאות מאתר Geocoder.us 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: פאב + bar: בר bench: ספסל bicycle_parking: חניית אופניים bicycle_rental: השכרת אופניים @@ -303,7 +491,7 @@ he: college: מכללה community_centre: מרכז קהילתי courthouse: בית משפט - crematorium: קרמטוריום + crematorium: משרפה 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: חנייה + parking: חניה pharmacy: בית מרקחת place_of_worship: מקום פולחן police: משטרה @@ -343,7 +534,7 @@ he: pub: פאב public_building: מבנה ציבור public_market: שוק - reception_area: איזור קבלה + reception_area: אזור קליטה recycling: נקודת מיחזור restaurant: מסעדה retirement_home: בית אבות @@ -365,10 +556,10 @@ he: veterinary: מרפאה וטרינרית village_hall: אולם הכפר waste_basket: פח אשפה - wifi: איזור WiFi + wifi: גישת WiFi youth_centre: מרכז נוער boundary: - administrative: גבול איזור מנהל + administrative: גבול שטח שיפוט building: apartments: בית דירות block: אבן בניין @@ -399,11 +590,12 @@ he: terrace: מרפסת פתוחה tower: מגדל train_station: תחנת רכבת + university: אוניברסיטה highway: bridleway: שביל עבור סוסים bus_guideway: נתיב תחבורה ציבורית מונחית bus_stop: תחנת אוטובוס - byway: דרך צידית + byway: דרך צדית construction: דרך ראשית בבנייה cycleway: נתיב אופניים distance_marker: סמן מרחק @@ -412,7 +604,7 @@ he: ford: מעברה (נקודת חציית נהר) gate: שער living_street: רחוב - minor: דרך צידית + minor: דרך צדית motorway: כביש motorway_junction: צומת כבישים motorway_link: כביש @@ -424,19 +616,21 @@ he: raceway: מסלול מרוצים residential: מגורים road: דרך - secondary: דרך מישנית - secondary_link: דרך מישנית + secondary: דרך משנית + secondary_link: דרך משנית service: כביש שירות services: שירותי דרך steps: מדרגות stile: מעבר מעל גדר - tertiary: דרך צידית + tertiary: דרך צדית track: מסלול מרוצים trail: שביל + trunk: דרך ראשית + trunk_link: דרך ראשית unclassified: כביש לא מסווג unsurfaced: כביש לא סלול historic: - archaeological_site: אתר ארכיאולוגי + archaeological_site: אתר ארכאולוגי battlefield: שדה קרב boundary_stone: אבן גבול building: בניין @@ -457,10 +651,64 @@ he: landuse: allotments: הקצאת קרקע basin: אגן + brownfield: אזור תעשייה נטוש cemetery: בית קברות - commercial: איזור מסחרי + 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: ביצה + marsh: ביצה רדודה + moor: אדמת כבול mud: בוץ peak: פסגה point: נקודה @@ -503,18 +751,18 @@ he: house: בית houses: בתים island: אי - islet: איון - locality: איזור מקומי - moor: ביצה + islet: איוֹן + locality: יישוב + moor: אדמת כבול municipality: עירייה postcode: מיקוד - region: איזור + region: אזור sea: ים state: מדינה subdivision: חלוקת משנה suburb: פרוור town: עיירה - unincorporated_area: איזור בלתי מאוגד + unincorporated_area: שטח בלתי מאוגד village: כפר railway: abandoned: מסילת ברזל נטושה @@ -527,17 +775,20 @@ he: junction: מפגש מסילות ברזל level_crossing: מפגש מסילת ברזל וכביש light_rail: רכבת קלה - monorail: מונורייל + monorail: רכבת חד־פסית 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: אתר בעל עניין + attraction: מוקד עניין bed_and_breakfast: לינה וארוחת בוקר cabin: בקתה camp_site: אתר מחנאות - caravan_site: אתר קרוואן + caravan_site: אתר לקרוואנים chalet: טירה guest_house: בית הארחה - hostel: אכסנייה - hotel: מלון + hostel: אכסניה + hotel: בית מלון information: מידע + lean_to: סככה motel: מלון דרכים museum: מוזיאון - picnic_site: אתר פיקניק - theme_park: פארק נושאי + picnic_site: אתר לפיקניקים + theme_park: פארק שעשועים valley: עמק viewpoint: נקודת תצפית zoo: גן חיות waterway: - boatyard: בית סירות + boatyard: מספנה canal: תעלה - connector: מחבר נתיבי מים + connector: נקודת חיבור בין נתיבי מים 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: ויר + weir: סכר 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}‏, %{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: צפייה במפות - welcome_user: "%{user_link}ברוך הבא" + view_tooltip: לצפייה במפה + welcome_user: ברוך בואך, %{user_link} welcome_user_link_tooltip: דף המשתמש שלך + wiki: ויקי + wiki_title: אתר ויקי עבור המיזם + license_page: + foreign: + english_link: העמוד המקורי באנגלית + text: במקרה של חוסר תאימות בין עמוד מתורגם זה ובין %{english_original_link}, יש לתת עדיפות לעמוד באנגלית + title: אודות תרגום זה + legal_babble: "

    זכויות יוצרים ורישיון

    \n

    \n אתר OpenStreetMap הוא נותנים פתוחים, המופצים לפי רישיון קריאייטיב\n קומונז ייחוס–שיתוף־זהה 2.0 (CC BY-SA).\n

    \n

    \n אתם חופשיים להעתיק, להפיץ, לשדר ולהתאים את המפות שלנו\n ואת הנתונים שלנו, כל עוד אתם נותנים ייחוס ל־OpenStreetMap\n ולתורמי המיזם. אם אתם משנים או בונים מידע חדש על גבי המפות או הנתונים שלנו,\n מותר לכם להפיץ את התוצאות רק לפי תנאי אותו הרישיון.\n המסמך\n המשפטי המלא מסביר את זכויותיכם ואת תחומי האחריות שלכם.\n

    \n\n

    איך לתת ייחוס ל־OpenStreetMap

    \n

    \n אם אתם משתמשים בתמונות של מפות מ־OpenStreetMap, אנו מבקשים\n שבנתונים על היוצר יהיה כתוב לכל הפחות „© תורמי OpenStreetMap,\n רישיון CC BY-SA”. אם אתם משתמשים רק בנתוני מפות,\n אנו מבקשים „נתוני מפות © תורמי OpenStreetMap,\n רישיון CC BY-SA”.\n

    \n

    \n כשזה אפשרי, המילה OpenStreetMap צריכה להיות מקושרת אל הכתובת\n http://www.openstreetmap.org/\n ו־CC BY-SA אל http://creativecommons.org/licenses/by-sa/2.0/. אם\n אתם משתמשים באמצעי תקשורת שבו אין אפשרות להשתמש בקישורים (למשל\n בדפוס), אנו ממליצים שתַפנו את קוראיכם לאתר\n www.openstreetmap.org (אולי על־ידי\n כתיבת הכתובת המלאה הזאת במקום „OpenStreetMap”) ואל\n www.creativecommons.org.\n

    \n\n

    איך למצוא מידע נוסף

    \n

    \n קִראו עוד על שימוש בנתונים שלנו בדף שו״ת\n משפטי.\n

    \n

    \n אנו מזכירים לתורמי OSM לעולם לא להוסיף נתונים משום מקור\n שמוגבל בזכויות יוצרים (למשל מפות גוגל או מפות מודפסות) ללא\n אישור מפורש מבעלי הזכויות.\n

    \n

    \n אף־על־פי ש־OpenStreetMap הוא מיזם נתונים פתוחים, איננו יכולים לספק\n API מפות בחינם למפתחי צד שלישי.\n\n ר׳ את דפי המדיניות שלנו: המדיניות השימוש ב־API,\n מדיניות השימוש באריחים\n ומדיניות השימוש בנומינטים.\n

    \n\n

    התורמים שלנו

    \n

    \n מדיניות CC BY-SA שלנו דורשת מכם „לייחס את היצירה (לתת קרדיט) ליוצר\n באופן הסביר באמצעי התקשורת שאתם\n משתמשים בו”. מְמַפֵּי OSM פרטניים אינם מבקשים ייחוס ייחודי מעבר\n ל„תורמי OpenStreetMap”, אבל כאשר נתונים מסוכנות מיפוי\n לאומית או ממקור גדול אחר נכללים ב־OpenStreetMap,\n יכול להיות סביר לתת להם ייחוס ישיר באמצעות העתקת המידע עליהם\n או באמצעות קישור לדף הזה.\n

    \n\n\n\n
      \n
    • אוסטרליה: מכיל מנתוני פרוורים המבוססים על\n נתוני הלשכה האוסטרלית לסטטיסטיקה (Australian Bureau of Statistics).
    • \n
    • אוסטריה: מכיל נתונים\n מ־Stadt Wien לפי תנאי\n CC BY.
    • \n
    • קנדה: מכיל נתונים\n מ־GeoBase®‏, GeoGratis‏ (©‏ Department of Natural\n Resources Canada)‏, CanVec‏ (©‏ Department of Natural\n Resources Canada), ו־StatCan‏ (Geography Division,\n Statistics Canada).
    • \n
    • צרפת: מכיל נתונים שהגיעו במקור\n ממנהלת המסים הכללית (Direction Générale des Impôts).
    • \n
    • ניו זילנד: מכיל נתונים שהגיעו במקור\n מ־Land Information New Zealand. זכויות הכתר.
    • \n
    • פולין: מכיל נתונים מתוך מפות UMP-pcPL. זכויות היוצרים:\n תורמי UMP-pcPL.\n \n מידע נוסף על השימוש של OSM במידע של UMP.
    • \n
    • דרום אפריקה: מכיל נתונים שהגיעו במקור\n מ־Chief Directorate:\n National Geo-Spatial Information‏, State copyright reserved.
    • \n
    • הממלכה המאוחדת: מכיל נתוני סקר מדידות\n © זכויות הכתר וזכויות מסדי נתונים\n 2010.
    • \n
    \n\n

    \n הכללה של נתונים ב־OpenStreetMap אינה אומרת שהספק\n המקורי של הנתוהים תומך ב־OpenStreetMap, נותן אחריות כלשהי, או\n מקבל חבות כלשהי.\n

    " + 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: שלחת הודעות רבות לאחרונה. נא המתינו בטרם שליחת הודעות נוספות. + limit_exceeded: שלחת הודעות רבות לאחרונה. נא להמתין לפני שליחת הודעות נוספות. message_sent: הודעה נשלחה send_button: לשליחה - send_message_to: לשליחת הודעה חדשה ל-%{name} + send_message_to: לשליחת הודעה חדשה אל %{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 באתר השאלות ותשובות שלנו. - click_the_link: אם אכן מדובר בך, ברוכים הבאים! נא לחץ על הרישור מטה על מנת לאשר את החשבון ולקרוא מידע נוסף על OpenStreetMap - get_reading: "לקריאה נוספת על OpenStreetMap באתר הויקי, להתעדכן בחדשות האחרונות בבלוג OpenStreetMap או בטוויטר, או לקריאה בבלוג של מייסד OpenStreetMap סטיב קוסט: OpenGeoData blog למידע על ההיסטוריה של הפרוייקט, אשר בו ניתן גם להאזין לקבצי קול!" + ask_questions: באפשרותך לשאול שאלות על אתר OpenStreetMap באתר השאלות ותשובות שלנו. + click_the_link: אם אכן מדובר בך, ברוך בואך! נא ללחוץ על הקישור מטה כדי לאמת את החשבון ולקרוא מידע נוסף על OpenStreetMap + current_user: רשימת משתמשים נוכחיים בקטגוריות, בהתאום למיקומם בעולם, זמינה בדף Category:Users_by_geographical_region. + get_reading: "לקריאה נוספת על OpenStreetMap באתר הוויקי, להתעדכן בחדשות האחרונות בבלוג OpenStreetMap או בטוויטר, או לקריאה בבלוג של מייסד OpenStreetMap סטיב קוסט: OpenGeoData blog למידע על ההיסטוריה של המיזם, ויש בו גם קובצי קול!" greeting: שלום! - hopefully_you: מישהו (בתיקווה שמדובר בך) ביקש ליצור חשבון משתמש ב + 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 [[Category:Users_in_London]] (משתמשים בלונדון). video_to_openstreetmap: סרטון מבוא לאתר OpenStreetMap - wiki_signup: באפשרותך להירשם לאתר הויקי של OpenStreetMap. + wiki_signup: באפשרותך להירשם לאתר הוויקי של OpenStreetMap. signup_confirm_plain: - ask_questions: "באפשרותך לשאול שאלות עם OpenStreetMap בדף השאלות ותשובות שלנו:" - blog_and_twitter: "ניתן להתעדכן בחדשות OpenStreetMap באמצעות הבלוג או הטוויטר:" - click_the_link_1: אם אכן מדובר בך, ברוך הבא! נא לחצו על הקישור מטה על מנת לאשר את - click_the_link_2: חשבונך, ולקריאת מידע נוסף על אתר OpenStreetMap. + ask_questions: "באפשרותך לשאול שאלות על OpenStreetMap בדף השאלות ותשובות שלנו:" + blog_and_twitter: "ניתן להתעדכן בחדשות האחרונות דרך הבלוג או חשבון הטוויטר של OpenStreetMap:" + click_the_link_1: אם אכן מדובר בך, ברוך בואך! נא ללחוץ על הקישור מטה כדי לאמת את + click_the_link_2: החשבון ולקרוא מידע נוסף על אתר OpenStreetMap. current_user_1: רשימת קטגוריות משתמשים, המבוססת על מיקומכם ברחבי העולם - current_user_2: "מצוייה כאן:" + current_user_2: "מצויה כאן:" greeting: שלום! - hopefully_you: מישהו (בתיקווה שמדובר בך) מבקש ליצור חשבון ב - introductory_video: "באפשרותך לצפות בסרטון הדרכה לאתר OpenStreetMap כאן:" + hopefully_you: מישהו (בתקווה שמדובר בך) מבקש ליצור חשבון ב + introductory_video: "באפשרותך לצפות בסרטון הדרכה לאתר OpenStreetMap כאן:" more_videos: "סרטוני הדרכה נוספים מצויים כאן:" - opengeodata: "OpenGeoData.org הוא הבלוג של מייסד OpenStreetMap סטיב קוסט, וניתן לקרוא גם בו:" + opengeodata: "אתר OpenGeoData.org הוא הבלוג של מייסד OpenStreetMap סטיב קוסט, ויש בו גם פודקאסטים (הקלטות קול):" the_wiki: "ניתן לקרוא על OpenStreetMap בדפי ויקי:" - user_wiki_1: אנו ממליצים ליצור דף משתמש, הכולל - user_wiki_2: "קטגוריות המסמנות את מקומכם, כגון קטגוריית \"משתמשים בלונדון\": [[Category:Users_in_London]]." - wiki_signup: "באפשרותך להירשם לויקי OpenStreetMap בכתובת:" + user_wiki_1: אנו ממליצים ליצור דף משתמש, שיכלול + user_wiki_2: "קטגוריות המסמנות את מקומכם, כגון קטגוריית „משתמשים בלונדון”: [[Category:Users_in_London]]." + wiki_signup: "באפשרותך להירשם לוויקי OpenStreetMap בכתובת:" 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. אפשר להוריד נגן פלאש מאתר Adobe.com. יש אפשרויות נוספות לעריכת 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, אפשר לנסות את דפדפן האריחים הסטטי Tiles@Home. + 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: גבול אדמיניסטרטיבי + admin: גבול שטח שיפוט allotments: שטחים חקלאיים apron: - 1: מסוף + - רחבת חניה למטוסים + - מסוף + bridge: קו שחור = גשר bridleway: מסלול לרכיבת סוסים - brownfield: אזור תעשיה נטוש + brownfield: אזור תעשייה נטוש building: בניין בעל חשיבות byway: דרך צדדית cable: @@ -771,25 +1253,29 @@ he: common: - מרעה - מרעה + construction: דרכים בבנייה cycleway: דרך לאופניים + destination: גישה ליעד farm: חווה footway: דרך להולכי רגל forest: יער golf: מסלול גולף heathland: שדה פרא - industrial: אזור תעשיה + industrial: אזור תעשייה lake: - אגם - מאגר - military: אזור צבאי + military: שטח צבאי motorway: כביש מהיר park: פארק + permissive: גישה מותרת pitch: מגרש ספורט primary: כביש ראשי + private: גישה פרטית rail: מסילת ברזל reserve: שמורת טבע resident: אזור מגורים - retail: איזור מסחרי + retail: אזור קמעונאי runway: - דרך למוניות - דרך למוניות @@ -807,138 +1293,489 @@ he: tram: - רכבת קלה - חשמלית + trunk: דרך ראשית tunnel: קו מקווקו = מנהרה - unclassified: דרך בלתי מוגדרת + unclassified: דרך לא מסווגת unsurfaced: דרך לא סלולה wood: חורשה search: search: לחיפוש - search_help: "examples: 'Alkmaar', 'Regent Street, Cambridge', 'CB2 5AQ', or 'post offices near Lünen' more examples..." + search_help: "למשל: ‚נתניה’, ‚רחוב רחל המשוררת, ירושלים’, ‚90880’, או 'סניפי דואר באזור שפרעם' דוגמאות נוספות..." + submit_text: מעבר where_am_i: איפה אני? - where_am_i_title: תאר את מיקמכם הנוכחי באמצעות מנוע החיפוש + where_am_i_title: נא לתאר את מיקומך הנוכחי באמצעות מנוע החיפוש 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: מאופשר. לא אנונימי ויכול לערוך מידע. + enabled: מופעלת. לא אלמוני ויכול לערוך מידע. enabled link: http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits enabled link text: מה זה? heading: "עריכה ציבורית:" + public editing note: + heading: עריכה ציבורית + text: כעת העריכות שלך אלמוניות ואנשים לא יכולים לשלוח לך הודעות או לראות את המיקום שלך. כדי להציג מה ערכת ולאפשר לאנשים ליצור אתך קשר דרך האתר, יש ללחוץ על הכפתור למטה. מאז השינוי ב־API בגרסה 0.6, רק משתמשים ציבוריים יכולים לערוך נתוני מפה. (הסבר למה זה ככה).
    • כתובת הדוא"ל שלך לא תיחשף כתוצאה מזה שתהיה משתמש ציבורי.
    • לא ניתן להפוך את הפעולה הזאת וכל המשתמשים החדשים יהיו מעתה ציבוריים לפי בררת המחדל.
    + 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: אם עבר זמן רב מאז שנרשמת, אולי צריך לשלוח לעצמך מכתב אישור חדש. + success: חשבונך אושר, תודה שנרשמת! + unknown token: נראה שהאסימון הזה אינו קיים. + confirm_email: + button: אישור + failure: כתובת הדוא״ל שלך כבר אושרה באסימון הזה. + heading: אישור שינוי כתובת הדוא״ל + press confirm button: נא ללחוץ על כפתור האישור להלן כדי לאשר את כתובת הדוא״ל החדשה. + success: כתובת הדוא״ל שלך אושרה, תודה הרישום! + confirm_resend: + failure: משתמש %{name} לא נמצא. + success: תודה על הרישום. שלחנו מכתב אישור לכתובת %{email} וכשנקבל ממך את האישור, אפשר יהיה להתחיל למפות.

    אם נעשה בחשבון הדוא״ל שלך שימוש במערכת שמלבינה הודעות, נא להוסיף את 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: סליחה, החשבון הזה הושעה בעקבות פעילות חשודה.
    נא ליצור קשר עם מנהל האתר אם ברצונך לדון בזה. + account not active: סליחה, החשבון הזה עדיין אינו פעיל.
    נא להשתמש בקישור במכתב אישור החשבון כדי להפעיל את חשבונך או or לבקש מכתב אישור חדש. + auth failure: סליחה, לא ניתן להיכנס עם הפרטים האלה. + create account minute: נא ליצור חשבון. זה לוקח רק דקה. + email or username: "כתובת דואר אלקטרוני או שם משתמש:" + heading: כניסה login_button: כניסה - password: "סיסמה:" + lost password link: איבדת את הססמה שלך? + new to osm: חדש ב־OpenStreetMap? + no account: אין לך חשבון? + notice: מידע נוסף על השינוי המתקרב ברישיון של OpenStreetMap (תרגומים) (דיון) + notice_terms: מיזם OpenStreetMap עובר לרישיון חדש ב־1 באפריל 2012. הוא פתוח כמו הנוכחי, אבל הפרטים המשפטיים בו מתאימים הרבה יותר למסד נתוני המפות שלנו. אנחנו רוצים מאוד לשמור על התרומות שלך ל־OpenStreetMap, אבל נוכל לעשות זאת רק לאחר הסכמתך להפיץ אותן לפי תנאי הרישיון החדש. אחרת, נצטרך להוציא אותם ממסד הנתונים.

    אנו מבקשים ממך להיכנס לחשבון, להקדיש מספר דקות לעיון ברישיון החדש ולקבל את התנאים החדשים. תודה! + 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: נא ליצור קשר עם מנהל האתר כדי שייווצר חשבון, ואנחנו נשתדל לטפל בבקשה כמה שיותר מהר. + continue: להמשיך display name: "שם התצוגה:" + display name description: שם המשתמש שלך, שמוצג בפומבי. אפשר לשנות את זה בהעפות שלך. + email address: "כתובת דוא״ל:" + fill_form: נא למלא את הטופס הבא ונשלח לך מכתב מהיר כדי להפעיל את חשבונך. + flash create success message: תודה על הרישום. שלחנו מכתב אישור לכתוב %{email} וכשנקבל ממך את האישור, אפשר יהיה להתחיל למפות.

    אם נעשה בחשבון הדוא״ל שלך שימוש במערכת שמלבינה הודעות, נא להוסיף את webmaster@openstreetmap.org לרשימה הלבנה, כי איננו יכולים להשיב לבקשות אישור. heading: יצירת חשבון משתמש - password: "סיסמה:" + license_agreement: עם אישור החשבון יש לקבל את תנאי התרומה. + no_auto_account_create: למרבה הצער, כעת איננו יכולים ליצור לך חשבון באופן אוטומטי. + not displayed publicly: לא מוצג בפומבי (ר׳ מידיניות פרטיות) + openid: "%{logo} OpenID:" + openid association: "

    ה־OpenID שלך עדיין אינו משויך לחשבון OpenStreetMap.

    \n
      \n
    • אם הגעת לראשונה ל־OpenStreetMap, נא ליצור חשבון חדש בעזרת הטופס להלן..
    • \n
    • \n אם כבר יש לך חשבון, אפשר להיכנס אליו\n באמצעות שם משתמש וססמה ואז לשייך את החשבון הזה\n ל־OpenID שלך בהגדרות המשתמש שלך.\n
    • \n
    " + openid no password: עם OpenID אין צורך בססמה, אבל ייתכן שבעת גישה לכלים נוספים או לשרת כן יהיה צורך בה. + password: "ססמה:" + terms accepted: תודה על קבלת תנאי התרומה החדשים! + terms declined: אנחנו מצטערים שהחלטת לא לקבל את תנאי התרומה החדשים. למידע נוסף ר׳ דף הוויקי הזה. + 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: "

    \n סליחה, חשבוןך הושעה באופן אוטומטי עקב\n פעילות חשודה.\n

    \n

    \n החלטה זו תיבחן על־ידי מנהל מערכת בתוך זמן קצר, או\n באפשרותך לפנות אל %{webmaster} אם ברצונך לדון בזה.\n

    " + heading: החשבון הושעה + title: החשבון הושעה + webmaster: מנהל האתר + terms: + agree: הסכמה + consider_pd: בנוסף להסכם לעיל, מבחינתי כל עריכותיי שייכות לנחלת הכלל + consider_pd_why: מה זה? + decline: סירוב + guidance: מידע שעוזר להבין את התנאים האלה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: תיאור 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: האם אתם בטוחים? + 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}. + 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 index 2f46603f8..000000000 --- a/config/locales/hi-IN.yml +++ /dev/null @@ -1,2 +0,0 @@ -hi-IN: - dummy: dummy diff --git a/config/locales/hr.yml b/config/locales/hr.yml index 68caba36b..d32d0071d 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -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.
    Molimo vas da koristite link u e-pošti potvrde da biste aktivirali svoj račun, ili zatražiti novu e-poštu potvrde . - account suspended: Žao nam je, Vaš račun je suspendiran zbog sumnjive aktivnosti.
    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 diff --git a/config/locales/hsb.yml b/config/locales/hsb.yml index a67ab1ce8..549d62be8 100644 --- a/config/locales/hsb.yml +++ b/config/locales/hsb.yml @@ -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: "

    Awtorske prawo a licenca

    \n

    \nOpenStreetMap wobsteji ze zjawnych datow, licencowanych pod licencu Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA).

    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 prawniski kod wujasnja twoje prawa a zamołwitosće.

    \n\n

    Kak awtorstwo OpenStreetMap naspomnić

    \n

    Jeli kartowe wobrazy z OpenStreetMap wužiwaÅ¡, žadamy sej, zo znajmjeńša podawaÅ¡ “© OpenStreetMap a sobuskutkowacych, CC-BY-SA”. Jeli jenož kartowe daty wužiwaÅ¡, dyrbiÅ¡ “kartowe daty © OpenStreetMap a sobuskutkowacych, CC-BY-SA” podać.

    Hdźež je móžno, OpenStreetMap měł wotkaz do http://www.openstreetmap.org/ a CC-BY-SA do http://creativecommons.org/licenses/by-sa/2.0/ 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\n

    Dalše informacije

    \n

    Čitaj wjace wo wužiwanju našich datow Huste prawniske prašenja.

    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.

    Hačrunjež OpenStreetMap wobsteji ze zjawnych datow, njemóžemy darmotny kartowy API za wuwiwarjow třećich poskićić. \n\nHlej naše prawidła za wužiwanje API, Prawidła za wužiwanje polow a Prawidła za wužiwanje Nominatim.

    \n\n

    Naši sobuskutkowacy

    \n

    NaÅ¡a licenca CC-BY-SA žada sej, zo “daÅ¡ prěnjotnemu awtorej dźak přiměrjeny medijej abo srědkej, kotryž wužiwaÅ¡”. Jednotliwi kartěrowarjo OSM nježadaja sej přidatne dźakprajenje k “sobuskutkowarjam OpenStreetMap”, 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\n \n
    • Awstralska: Wobsahuje předměšćanske daty na zakładźe datow Awstralskeho zarjada za statistiku (Australian Bureau of Statistics).
    • \n
    • Awstriska: Wobsahuje daty z Stadt Wien pod CC-BY.
    • \n
    • Kanada: Wobsahuje daty z GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).
    • \n
    • Francoska: Wobsahuje daty z Direction Générale des Impôts.
    • \n
    • Nowoseelandska: Wobsahuje daty ze žórłow wot Land Information New Zealand. Awtorske prawo wuměnjene.
    • \n
    • Pólska: Wobsahuje daty z UMP-pcPL maps. Awtorske prawo sobuskutkowacych UMP-pcPL.
    • \n
    • Zjednoćene kralestwo: Wobsahuje daty z Ordnance Survey (Zarjadniske krajměrjenstwo) © Awtorske prawo a prawo za datowe banki 2010.
    \n\n

    Zapřijimanje datow do OpenStreetMap njerěka, zo poskićowar originalnych datow OpenStreetMap připóznawa, někajku garantiju dodawa abo rukowanje přewozmje.

    " + legal_babble: "

    Awtorske prawo a licenca

    \n

    \nOpenStreetMap wobsteji ze zjawnych datow, licencowanych pod licencu Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA).\n

    \n

    \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 prawniski kod wujasnja twoje prawa a zamołwitosće.

    \n\n

    Kak awtorstwo OpenStreetMap naspomnić

    \n

    \nJeli kartowe wobrazy z OpenStreetMap wužiwaÅ¡, žadamy sej, zo znajmjeńša podawaÅ¡ “© OpenStreetMap a sobuskutkowacych, CC BY-SA”. Jeli jenož kartowe daty wužiwaÅ¡, dyrbiÅ¡ “kartowe daty © OpenStreetMap a sobuskutkowacych, CC BY-SA” podać.\n

    \n

    Hdźež je móžno, OpenStreetMap měł wotkaz do http://www.openstreetmap.org/ a CC BY-SA do http://creativecommons.org/licenses/by-sa/2.0/ 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

    \n\n

    Dalše informacije

    \n

    \nČitaj wjace wo wužiwanju našich datow Huste prawniske prašenja.\n

    \n

    \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.

    \n

    \nHačrunjež OpenStreetMap wobsteji ze zjawnych datow, njemóžemy darmotny kartowy API za wuwiwarjow třećich poskićić. \n\nHlej naše prawidła za wužiwanje API, Prawidła za wužiwanje polow a Prawidła za wužiwanje Nominatim.

    \n\n

    Naši sobuskutkowacy

    \n

    \nNaÅ¡a licenca CC BY-SA žada sej, zo “daÅ¡ prěnjotnemu awtorej dźak přiměrjeny medijej abo srědkej, kotryž wužiwaÅ¡”. Jednotliwi kartěrowarjo OSM nježadaja sej přidatne dźakprajenje k “sobuskutkowarjam OpenStreetMap”, 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

    \n\n\n \n
      \n
    • Awstralska: Wobsahuje předměšćanske daty na zakładźe datow Awstralskeho zarjada za statistiku (Australian Bureau of Statistics).
    • \n
    • Awstriska: Wobsahuje daty z Stadt Wien pod CC BY.
    • \n
    • Kanada: Wobsahuje daty z GeoBase®, GeoGratis (© Department of Natural Resources Canada), CanVec (© Department of Natural Resources Canada), a StatCan (Geography Division, Statistics Canada).
    • \n
    • Francoska: Wobsahuje daty z Direction Générale des Impôts.
    • \n
    • Nowoseelandska: Wobsahuje daty ze žórłow wot Land Information New Zealand. Awtorske prawo wuměnjene.
    • \n
    • Pólska: Wobsahuje daty z UMP-pcPL maps. Awtorske prawo sobuskutkowacych UMP-pcPL. \n \n Wjace wo wužiwanju UMP-datow w OSM
    • \n
    • South Africa: Wobsahuje daty z Chief Directorate:\n National Geo-Spatial Information, Statne awtorske prawo wuměnjene.
    • \n
    • United Kingdom: Wobsahuje daty z Ordnance\n Survey © Crown copyright and database right\n 2010.
    • \n
    • Zjednoćene kralestwo: Wobsahuje daty z Ordnance Survey (Zarjadniske krajměrjenstwo) © Awtorske prawo a prawo za datowe banki 2010.
    • \n
    \n\n

    \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

    " 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.
    Stajće so prošu z webmasterom do zwiska, jeli chceš wo tym diskutować. account not active: Bohužel je twoje konto hišće aktiwne njeje.
    Prošu klikń na wotkaz w e-mejlu kontoweho wubkrućenja, zo by swoje konto aktiwizował, abo proš wo nowu wobkrućensku e-mejl. - account suspended: Twoje konto bu bohužel podhladneje aktiwity dla wupowědźene.
    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: Wjace wo bórzomnej licencnej změnje OpenStreetMap (přełožki) (diskusija) + 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ć.

    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. diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 20dfe535b..def1bf63f 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -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: Sugó + help: Súgó 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.
    Fiókod aktiválásához kérlek, használd a fiókodat megerősítő emailben található hivatkozást, vagy kérj egy új megerősítő emailt. - account suspended: Sajnálom, felhasználói fiókod felfüggesztésre került gyanús tevékenységed miatt.
    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: Tudj meg többet az OpenStreetMap közelgő licencváltozásáról (fordítások) (vita) + 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.

    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" diff --git a/config/locales/ia.yml b/config/locales/ia.yml index e9e6bae07..21aa88511 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -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: "

    Copyright e Licentia

    \n

    \n OpenStreetMap es datos aperte, disponibile sub le licentia\n Creative\n Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n

    \n

    \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 codice\n legal explica vostre derectos e responsabilitates.\n

    \n\n

    Como dar recognoscentia a OpenStreetMap

    \n

    \n Si vos usa imagines del cartas de OpenStreetMap, nos requesta que\n vostre recognoscentia indica al minus “© Contributores de\n OpenStreetMap, CC-BY-SA”. Si vos usa solmente datos cartographic,\n nos requesta “Datos cartographic © Contributores de OpenStreetMap,\n CC-BY-SA”.\n

    \n

    \n Si possibile, le parola OpenStreetMap debe esser un hyperligamine a http://www.openstreetmap.org/\n e le termino CC-BY-SA debe ligar a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a iste adresse complete) e a\n www.creativecommons.org.\n

    \n\n

    Pro saper plus

    \n

    \n Lege plus super le uso de nostre datos al FAQ\n Legal.\n

    \n

    \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

    \n

    \n Ben que OpenStreetMap es datos aperte, nos non pote fornir un\n API cartographic gratuite pro altere disveloppatores.\n\n Vide nostre politica pro le uso del API,\n politica pro le uso de tegulas\n e politica pro le uso de Nominatim.\n

    \n\n

    Nostre contributores

    \n

    \n Nostre licentia CC-BY-SA require que vos “da al Autor\n Original recognoscentia rationabile pro le medio que Vos\n utilisa”. Le cartographos individual de OSM non requesta un\n recognoscentia excedente illo del “Contributores de\n OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contine datos de suburbios a base\n de datos del Australian Bureau of Statistics.
    • \n
    • Austria: Contine datos ab le\n Citate de Vienna licentiate sub\n CC-BY.
    • \n
    • Canada: Contine datos ab\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), e (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contine datos colligite del\n Direction Générale des Impôts.
    • \n
    • Nove Zelandia: Contine datos obtenite ex\n Land Information New Zealand. Crown Copyright reservate.
    • \n
    • Polonia: Contine datos cartographic ex UMP-pcPL. Copyright\n contributores de UMP-pcPL.
    • \n
    • Regno Unite: Contine datos de Ordnance\n Survey © Crown copyright e derecto de base de datos\n 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Copyright e Licentia

    \n

    \n OpenStreetMap es datos aperte, disponibile sub le licentia\n Creative\n Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n

    \n

    \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 codice\n legal explica vostre derectos e responsabilitates.\n

    \n\n

    Como dar recognoscentia a OpenStreetMap

    \n

    \n Si vos usa imagines cartographic de OpenStreetMap, nos requesta que\n vostre recognoscentia indica al minus “© Contributores de\n OpenStreetMap, CC-BY-SA”. Si vos usa solmente datos cartographic,\n nos requesta “Datos cartographic © Contributores de OpenStreetMap,\n CC-BY-SA”.\n

    \n

    \n Si possibile, le parola OpenStreetMap debe esser un hyperligamine a http://www.openstreetmap.org/\n e le termino CC-BY-SA debe ligar a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a iste adresse complete) e a\n www.creativecommons.org.\n

    \n\n

    Pro saper plus

    \n

    \n Lege plus super le uso de nostre datos al FAQ\n Legal.\n

    \n

    \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

    \n

    \n Ben que OpenStreetMap es datos aperte, nos non pote fornir un\n API cartographic gratuite pro altere disveloppatores.\n\n Vide nostre politica pro le uso del API,\n politica pro le uso de tegulas\n e politica pro le uso de Nominatim.\n

    \n\n

    Nostre contributores

    \n

    \n Nostre licentia CC-BY-SA require que vos “recognosce le Autor\n Original de maniera rationabile pro le medio que Vos\n utilisa”. Le cartographos individual de OSM non requesta un\n recognoscentia excedente illo del “Contributores de\n OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contine datos de suburbios a base\n de datos del Australian Bureau of Statistics.
    • \n
    • Austria: Contine datos ab le\n Citate de Vienna licentiate sub\n CC-BY.
    • \n
    • Canada: Contine datos ab\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), e StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contine datos colligite del\n Direction Générale des Impôts.
    • \n
    • Nove Zelandia: Contine datos obtenite ex\n Land Information New Zealand. Crown Copyright reservate.
    • \n
    • Polonia: Contine datos cartographic ex UMP-pcPL. Copyright\n contributores de UMP-pcPL.
    • \n
    • Regno Unite: Contine datos de Ordnance\n Survey © Crown copyright e derecto de base de datos\n 2010.
    • \n
    \n\n

    \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

    " 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.
    Per favor contacta le webmaster si tu vole discuter isto. account not active: Pardono, tu conto non es ancora active.
    Per favor clicca super le ligamine in le e-mail de confirmation pro activar tu conto, o requesta un nove message de confirmation.. - account suspended: Pardono, tu conto ha essite suspendite debite a activitate suspecte.
    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: Informa te super le imminente cambio de licentia de OpenStreetMap (traductiones) (discussion) + 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.

    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. diff --git a/config/locales/is.yml b/config/locales/is.yml index 6d70052f6..3e2df8b7b 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -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: "

    Höfundaréttur og leyfi

    \n\n

    \n OpenStreetMap er frjáls kortagrunnur undir Creative\n Commons Attribution-ShareAlike 2.0 leyfinu. (CC-BY-SA).\n

    \n\n

    Frekari upplýsingar

    \n\n

    \n Frekari upplýsingar má nálgast í ensku\n útgáfu þessa skjals.\n

    " + legal_babble: "

    Höfundaréttur og leyfi

    \n

    \n OpenStreetMap er frjáls kortagrunnur undir Creative\n Commons Attribution-ShareAlike 2.0 leyfi. (CC-BY-SA).\n

    \n

    \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. Leyfistextinn\n útskýrir réttindi þín og skyldur.\n

    \n

    Frekari upplýsingar

    \n\n

    \n Frekari upplýsingar má nálgast í ensku\n útgáfu þessa skjals.\n

    " 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.
    Vinsamlegast smelltu á tengilinn í staðfestingarpóstinum sem þú fékkst til að virkja reikninginn. - account suspended: Reikningnum þínum hefur verið lokað vegna grunsamlegrar hegðunar.
    Hafðu samband við %{webmaster} ef þú vilt fá hann opnaðan aftur. + account not active: Þessi reikningur er ekki virkur.
    Vinsamlegast smelltu á tengilinn í staðfestingarpóstinum sem þú fékkst til að virkja reikninginn, eða óskaðu eftir nýjum staðfestingarpósti. 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á diff --git a/config/locales/it.yml b/config/locales/it.yml index b61940cff..498d6c379 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -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: "

    Copyright e licenza

    \n

    \n OpenStreetMap è un database aperto, sotto la licenza \n Creative Commons Attribuzione-Condividi allo stesso modo 2.0 (CC-BY-SA).\n

    \n

    \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 legale\n illustra i tuoi diritti e le tue responsabilità.\n

    \n\n

    Come si attribuisce a OpenStreetMap

    \n

    \n Se utilizzi le immagini della mappa di OpenStreetMap, si richiede che\n l'attribuzione abbia almeno scritto “© OpenStreetMap\n contributors, CC-BY-SA”. Se utilizzi solo i dati della mappa\n si richiede “Map data © OpenStreetMap contributors,\n CC-BY-SA”.\n

    \n

    \n Ove possibile, OpenStreetMap dovrebbe essere un collegamento ipertestuale a http://www.openstreetmap.org/\n e CC-BY-SA a http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ a questo indirizzo completo) e a\n www.creativecommons.org.\n

    \n\n

    Per saperne di più

    \n

    \n Approfonisci su come utilizzare i nostri dati presso le Domande\n legali frequenti.\n

    \n

    \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

    \n

    \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 Politica di utilizzo API, la\n Politica di utilizzo dei riquadri mappa\n e la Politica di utilizzo Nominatim.\n

    \n\n

    Nostri collaboratori

    \n

    \n La nostra licenza CC-BY-SA richiede di “dare la ragionevole\n attribuzione dell'autore originale al mezzo o ai mezzi che stai\n utilizzando\"”. I mappatori individuali OSM non richiedono\n un'attribuzione al di là che per i “contributori\n OpenStreetMap”, 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

    \n\n\n\n
      \n
    • Australia: Contiene i dati della periferia basati\n sui dati dell'Australian Bureau of Statistics.
    • \n
    • Austria: Contiene i dati della\n Stadt Wien sotto\n CC-BY.
    • \n
    • Canada: Contiene i dati della\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), e della StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Francia: Contiene dati provenienti dalla\n Direction Générale des Impôts.
    • \n
    • Nuova Zelanda: Contiene i dati provenienti dalla\n Land Information New Zealand. Crown Copyright reserved.
    • \n
    • Polonia: Contiene i dati dalle mappe UMP-pcPL. Copyright dei\n contributori di UMP-pcPL.
    • \n
    • Regno Unito: Contiene i dati della\n Ordnance Survey © Crown copyright and database right\n 2010.
    • \n
    \n\n

    \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

    " 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.
    Se desideri discuterne, puoi contattare il webmaster. account not active: Spiacenti, il tuo profilo non è ancora attivo.
    Si prega di utilizzare il collegamento presente nell'email di conferma per attivare il proprio profilo, oppure richiedere l'invio di una nuova email di conferma. - account suspended: Siamo spiacenti, il tuo account è stato sospeso a causa di attività sospette.
    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: Leggi i dettagli sull'imminente cambio di licenza di OpenStreetMap ( traduzioni) (discussione ) + 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.

    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. diff --git a/config/locales/ja.yml b/config/locales/ja.yml index f00b7201c..88f5e9b4c 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -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: 今後行う OpenStreetMap のライセンス変更についてお読みください (翻訳) (議論) 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: 新しい投稿規約を承諾して頂けず残念です。詳しい情報は、このウィキページをごらんください。 title: アカウント作成 no_such_user: body: "%{user}. という名前のユーザは存在しません。スペルミスが無いかチェックしてください。もしくはリンク元が間違っています。" @@ -1422,6 +1455,7 @@ ja: consider_pd: 私の投稿をパブリックドメインとします(著作権、著作隣接権を放棄し、著作人格権の行使を行いません) consider_pd_why: これは何ですか? decline: 拒否 + guidance: この規約を理解するための情報として、要約(英語) や 非公式の翻訳 をごらんください。 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: 私の編集 diff --git a/config/locales/ka.yml b/config/locales/ka.yml index d9573676d..50b809803 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -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: NPEMap / FreeThe Postcode–ის შედეგები us_postcode: Geocoder.us–ის შედეგები search_osm_namefinder: - suffix_place: ", %{მანძილი} %{მიმართულება} %{ადგილის დასახელება}–დან" + suffix_place: ", %{distance} %{direction} %{placename}–დან" search_osm_nominatim: prefix: amenity: diff --git a/config/locales/lb.yml b/config/locales/lb.yml index 7b0e90f97..5d5b0ba1e 100644 --- a/config/locales/lb.yml +++ b/config/locales/lb.yml @@ -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 diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 1b9351276..6b317d807 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -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 diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 25591bfd6..661b2d29b 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -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 GeoNames + osm_nominatim: Atrašanās vieta no OpenStreetMap Nominatim 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' vairāk piemēru..." + 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 diff --git a/config/locales/mk.yml b/config/locales/mk.yml index 7e03417b6..2177edd50 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -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: Грофовија + county: Округ 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: "

    Авторски права и лиценца

    \n

    \n OpenStreetMap има отворени податоци, и е лиценциран со Криејтив\n комонс НаведиИзвор-СподелиПодИстиУслови 2.0 (CC-BY-SA).\n

    \n

    \n Слободно можете да ги копирате, распространувате, јавно прикажувате и адаптирате нашите карти\n и податоци, под услов да го наведете OpenStreetMap и неговите\n учесници. Ако ги менувате или темелите дела врз нашите карти и податоци\n резултатите можете да ги распространувате само под истата лиценца.\n Во полниот законски\n правилник се објаснети вашите права и должности.\n

    \n\n

    Како да го наведувате OpenStreetMap

    \n

    \n Доколку користите слики од карти на OpenStreetMap, бараме\n наводот да содржи барем “© Учесници на\n OpenStreetMap, CC-BY-SA”. Ако користите само податоци од картите,\n бараме наводот да гласи “Картографски податоци © Учесници на OpenStreetMap,\n CC-BY-SA”.\n

    \n

    \n Кадешто е можно, OpenStreetMap треба да има хиперврска http://www.openstreetmap.org/\n и CC-BY-SA до http://creativecommons.org/licenses/by-sa/2.0/deed.mk. Доколку\n користите медиум кадешто не може да се ставаат врски (како на пр.\n печатено издание), ви препорачуваме да ги наведете корисниците на\n www.openstreetmap.org (на пр. со проширување на\n ‘OpenStreetMap’ со полнава адреса) и до\n www.creativecommons.org.\n

    \n\n

    Како да дознаете повеќе

    \n

    \n Прочитајте повеќе за користењето на нашите податоци на Правните\n ЧПП.\n

    \n

    \n Учесниците во OSM се потсетуваат никогаш да не ставаат податоци од\n извори заштитени со авторски права (на пр. Google Карти или печатени карти) без\n јасна дозвола од имателите на авторските права.\n

    \n

    \n Иако OpenStreetMap има отворени податоци, ние сепак не можеме бесплатно да \n го нудиме картографскиот програм на развивачи кои се трети лица.\n\n Погледајте ги нашите Правила на користење на програмот,\n Правила на користење на полињата\n и Правила на користење на Nominatim.\n

    \n\n

    Нашите учесници

    \n

    \n Нашата лиценца CC-BY-SA бара да “го наведете изворниот\n автор разумно за медиумот или средството што го\n користите”. Поединечните картографи на OSM не бараат да\n бидат наведувани посебно, туку само како “Учесници на\n OpenStreetMap”, но онаму кадешто OpenStreetMap содржи податоци\n од некоја државна картографска установа или друг важен извор,\n веројатно би било разумно да ги наведете нив директно,\n наведувајќи ги како што тие обично се наведуваат, или ставајќи врска до нивната страница.\n

    \n\n\n\n
      \n
    • Австралија: Содржи податоци за населби засновани на\n податоци на Австралиската служба за статистика.
    • \n
    • Австрија: Содржи податоци од\n Град Виена под лиценцата\n CC-BY.
    • \n
    • Канада: Содржи податоци од\n GeoBase®, GeoGratis (© Министерство за природни ресурси\n Канада), CanVec (© Министерство за природни ресурси\n Канада) и StatCan (Географско одделение,\n Статистика Канада).
    • \n
    • Франција: Содржи податоци преземени од\n Главната даночна управа.
    • \n
    • Нов Зеланд: Содржи податоци преземени од\n Land Information New Zealand. Крунски авторски права задржани.
    • \n
    • Полска: Содржи податоци од UMP-pcPL карти. Авторски права на\n учесниците на UMP-pcPL.
    • \n
    • Обединето Кралство: Содржи геодетски податоци\n © Крунски авторски права и права врз базата на податоци\n 2010.
    • \n
    \n\n

    \n Поставањето на податоци во OpenStreetMap не подразбира дека изворниот \n добавувач на податоци го поддржува и застапува OpenStreetMap, дека дава било каква гаранција, или пак\n дека прифаќа било каква одговорност.\n

    " + legal_babble: "

    Авторски права и лиценца

    \n

    \n OpenStreetMap има отворени податоци, и е лиценциран со Криејтив\n комонс НаведиИзвор-СподелиПодИстиУслови 2.0 (CC BY-SA).\n

    \n

    \n Слободно можете да ги копирате, распространувате, јавно прикажувате и адаптирате нашите карти\n и податоци, под услов да го наведете OpenStreetMap и неговите\n учесници. Ако ги менувате или темелите дела врз нашите карти и податоци\n резултатите можете да ги распространувате само под истата лиценца.\n Во полниот законски\n правилник се објаснети вашите права и должности.\n

    \n\n

    Како да го наведувате OpenStreetMap

    \n

    \n Доколку користите слики од карти на OpenStreetMap, бараме\n наводот да содржи барем “© Учесници на\n OpenStreetMap, CC BY-SA”. Ако користите само податоци од картите,\n бараме наводот да гласи “Картографски податоци © Учесници на OpenStreetMap,\n CC BY-SA”.\n

    \n

    \n Кадешто е можно, OpenStreetMap треба да има хиперврска http://www.openstreetmap.org/\n и CC BY-SA до http://creativecommons.org/licenses/by-sa/2.0/deed.mk. Доколку\n користите медиум кадешто не може да се ставаат врски (како на пр.\n печатено издание), ви препорачуваме да ги наведете корисниците на\n www.openstreetmap.org (на пр. со проширување на\n ‘OpenStreetMap’ со полнава адреса) и до\n www.creativecommons.org.\n

    \n\n

    Како да дознаете повеќе

    \n

    \n Прочитајте повеќе за користењето на нашите податоци на Правните\n ЧПП.\n

    \n

    \n Учесниците во OSM се потсетуваат никогаш да не ставаат податоци од\n извори заштитени со авторски права (на пр. Google Карти или печатени карти) без\n јасна дозвола од имателите на авторските права.\n

    \n

    \n Иако OpenStreetMap има отворени податоци, ние сепак не можеме бесплатно да \n го нудиме картографскиот програм на развивачи кои се трети лица.\n\n Погледајте ги нашите Правила на користење на програмот,\n Правила на користење на полињата\n и Правила на користење на Nominatim.\n

    \n\n

    Нашите учесници

    \n

    \n Нашата лиценца CC BY-SA бара да “го наведете изворниот\n автор разумно за медиумот или средството што го\n користите”. Поединечните картографи на OSM не бараат да\n бидат наведувани посебно, туку само како “Учесници на\n OpenStreetMap”, но онаму кадешто OpenStreetMap содржи податоци\n од некоја државна картографска установа или друг важен извор,\n веројатно би било разумно да ги наведете нив директно,\n наведувајќи ги како што тие обично се наведуваат, или ставајќи врска до нивната страница.\n

    \n\n\n\n
      \n
    • Австралија: Содржи податоци за населби засновани на\n податоци на Австралиската служба за статистика.
    • \n
    • Австрија: Содржи податоци од\n Град Виена под лиценцата\n CC BY.
    • \n
    • Канада: Содржи податоци од\n GeoBase®, GeoGratis (© Министерство за природни ресурси\n Канада), CanVec (© Министерство за природни ресурси\n Канада) и StatCan (Географско одделение,\n Статистика Канада).
    • \n
    • Франција: Содржи податоци преземени од\n Главната даночна управа.
    • \n
    • Нов Зеланд: Содржи податоци преземени од\n Land Information New Zealand. Крунски авторски права задржани.
    • \n
    • Полска: Содржи податоци од UMP-pcPL карти. Авторски права на\n учесниците на UMP-pcPL.\n \n Повеќе за употребата на податоци од UMP во OSM
    • \n
    • ЈАР: Содржи податоци преземени од\n Главниот директорат:\n Национални геопросторни информации, Државни права задржани.
    • \n
    • Обединето Кралство: Податоци од Ordnance Survey \n © Крунски авторски права и права врз базата на податоци\n 2010.
    • \n
    \n\n

    \n Поставањето на податоци во OpenStreetMap не подразбира дека изворниот \n добавувач на податоци го поддржува и застапува OpenStreetMap, дека дава било каква гаранција, или пак\n дека прифаќа било каква одговорност.\n

    " 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: Нажалост, вашата сметка е закочена поради сомнителна активност.
    Обратете се кај раководителот ако сакате да продискутирате за проблемот. account not active: Жалиме, но сметката сè уште не е активна.
    Кликнете на врската наведена во пораката со која ви ја потврдуваме сметката за да ја активирате, или пак побарајте нова потврдна порака. - account suspended: Нажалост, вашата сметка е закочена поради сомнителна активност.
    Обратете се кај %{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: Дознајте повеќе за престојната промена на лиценцата на OpenStreetMap (преводи) (разговор) + notice_terms: OpenStreetMap добива нова лиценца на 1 април 2012. Оваа лиценца е отворена исто како сегашната, но правните подробности се многу посоодветни на нашата картографска база на податоци. Со задоволство би ги задржале сите ваши придонеси на OpenStreetMap, но ова е можно само доколку согласувате да бидат објавени под условите на новата лиценца. Во спротивно ќе мораме да ги отстраниме од базата.

    Најавете се, прочитајте ги новите услови и видете дали се согласувате со нив. Ви благодариме! 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 краток опис и некои неформали преводи" @@ -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: Сè уште нема други корисници во вашата околина што признаваат дека работат на карти. diff --git a/config/locales/ms.yml b/config/locales/ms.yml index 860ca3a54..78a9ef41c 100644 --- a/config/locales/ms.yml +++ b/config/locales/ms.yml @@ -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: "« 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.
    Sila hubungi pentadbir web jika anda ingin membincangkan perkara ini. account not active: Maaf, akaun anda belum aktif.
    Sila ikuti pautan dalam pesanan e-mel pengesahan akaun untuk menghidupkan akaun anda, atau pohon pesanan e-mel pengesahan yang baru. - account suspended: Maaf, akaun anda telah digantung disebabkan kegiatan.
    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: Ketahui lebih lanjut tentang perubahan lesen OpenStreetMap yang akan datang (terjemahan) (perbincangan) + 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.

    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. diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 8b6e27cee..36dd505a4 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -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: @@ -287,14 +286,17 @@ 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: @@ -391,11 +393,9 @@ 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 @@ -892,9 +892,7 @@ map: base: cycle_map: Sykkelkart - mapnik: Mapnik mapquest: MapQuest Open - osmarender: Osmarender transport_map: Transport-kart overlays: maplint: Maplint @@ -988,7 +986,6 @@ 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 @@ -1024,7 +1021,6 @@ 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 @@ -1477,7 +1473,6 @@ title: Brukere login: account not active: Beklager, kontoen din er ikke aktivert ennå.
    Bruk lenka i kontobekreftelseseposten for å aktivere kontoen din, eller be om en ny bekreftelsesepost. - account suspended: Beklager, kontoen din er deaktivert på grunn av mistenkelig aktivitet.
    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:" @@ -1486,6 +1481,7 @@ lost password link: Mistet passordet ditt? new to osm: Ny på OpenStreetMap? notice: Finn ut mer om OpenStreetMap sitt kommende bytte av lisens (oversettelser) (diskusjon) + 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.

    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 @@ -1514,7 +1510,6 @@ 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: @@ -1607,12 +1602,17 @@ 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" diff --git a/config/locales/nds.yml b/config/locales/nds.yml index e69a9e472..52ccde65c 100644 --- a/config/locales/nds.yml +++ b/config/locales/nds.yml @@ -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 diff --git a/config/locales/ne.yml b/config/locales/ne.yml index cac1ea416..72b24d39c 100644 --- a/config/locales/ne.yml +++ b/config/locales/ne.yml @@ -276,7 +276,7 @@ ne: reset_password: confirm password: "प्रवेशशव्द निश्चित गर्ने:" flash changed: तपाईको प्रवेशशव्द परिवर्तन गरिएको छ। - heading: " %{name}को लागि प्रवेशशव्द परिवर्तन गर्ने \\" + heading: " %{user}को लागि प्रवेशशव्द परिवर्तन गर्ने \\" password: "प्रवेशशव्द:" reset: नयाँ प्रवेशशव्द \ title: प्रवेशशव्द परिवर्तन गर्ने diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 55d45cd90..9254be29e 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -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: "

    Auteursrechten en licentie

    \n

    \n OpenStreetMap is open data, gelicenceerd onder de licentie Creative\n Commons Naamsvermelding-Gelijk delen 2.0 (CC-BY-SA).\n

    \n

    \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 juridische\n tekst worden uw rechten en verantwoordelijkheden uitgelegd.\n

    \n\n

    Hoe OpenStreetMap te vermelden

    \n

    \n Als u kaartmateriaal van OpenStreetMap gebruikt, vragen we u als\n naamsvermelding tenminste op te nemen “© OpenStreetMap-auteurs, CC-BY-SA”.\n Als u alleen kaartgegevens gebruikt, vragen we u te vermelden\n “Kaartgegevens © OpenStreetMap-auteurs,\n CC-BY-SA”.\n

    \n

    \n Waar mogelijk moet u verwijzen naar OpenStreetMap met een hyperlink naar http://www.openstreetmap.org/\n en CC-BY-SA naar http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ uit te schrijven als het complete webadres) en naar\n www.creativecommons.org.\n

    \n\n

    Meer informatie

    \n

    \n U kunt meer lezen over onze gegevens in de Veel gestelde juridische\n vragen.\n

    \n

    \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

    \n

    \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 API-gebruiksbeleid,\n Kaartgebruikbeleid\n en Nominatimgebruiksbeleid.\n

    \n\n

    Onze gegevensleveranciers

    \n

    \n Door onze CC-BY-SA-licentie moet u “de Originele auteur\n vermelden op een redelijke wijze voor het door U gebruikte medium”.\n Individuele OSM-mappers vragen niet om meer vermelding dan\n “OpenStreetMap-auteurs”, 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

    \n\n\n\n
      \n
    • Australië: Bevat wijkgegevens\n gebaseerd op gegevens van het Australian Bureau of Statistics.
    • \n
    • Austria: Bevat gegevens van de\n Stad Wenen onder\n CC-BY.
    • \n
    • Canada: Bevat gegevens van\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), en StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Polen: Bevat gegevens van UMP-pcPL maps. Auteursrechten\n UMP-pcPL-delnemers.
    • \n
    • Frankrijk: Bevat gegevens van\n Direction Générale des Impôts.
    • \n
    • Nieuw-Zeeland: Bevat gegevens van\n Land Information New Zealand. Crown Copyright voorbehouden.
    • \n
    • Verenigd Koninkrijk: Bevat gegevens van\n de Ordnance Survey © Crown Copyright en databaserechten\n 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Auteursrechten en licentie

    \n

    \n OpenStreetMap is open data, gelicenceerd onder de licentie Creative\n Commons Naamsvermelding-Gelijk delen 2.0 (CC-BY-SA).\n

    \n

    \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 juridische\n tekst worden uw rechten en verantwoordelijkheden uitgelegd.\n

    \n\n

    Hoe OpenStreetMap te vermelden

    \n

    \n Als u kaartmateriaal van OpenStreetMap gebruikt, vragen we u als\n naamsvermelding tenminste op te nemen “© OpenStreetMap-auteurs, CC-BY-SA”.\n Als u alleen kaartgegevens gebruikt, vragen we u te vermelden\n “Kaartgegevens © OpenStreetMap-auteurs,\n CC-BY-SA”.\n

    \n

    \n Waar mogelijk moet u verwijzen naar OpenStreetMap met een hyperlink naar http://www.openstreetmap.org/\n en CC-BY-SA naar http://creativecommons.org/licenses/by-sa/2.0/. 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 ‘OpenStreetMap’ uit te schrijven als het complete webadres) en naar\n www.creativecommons.org.\n

    \n\n

    Meer informatie

    \n

    \n U kunt meer lezen over onze gegevens in de Veel gestelde juridische\n vragen.\n

    \n

    \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

    \n

    \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 API-gebruiksbeleid,\n Kaartgebruikbeleid\n en Nominatimgebruiksbeleid.\n

    \n\n

    Onze gegevensleveranciers

    \n

    \n Door onze CC-BY-SA-licentie moet u “de Originele auteur\n vermelden op een redelijke wijze voor het door U gebruikte medium”.\n Individuele OSM-mappers vragen niet om meer vermelding dan\n “OpenStreetMap-auteurs”, 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

    \n\n\n\n
      \n
    • Australië: Bevat wijkgegevens\n gebaseerd op gegevens van het Australian Bureau of Statistics.
    • \n
    • Austria: Bevat gegevens van de\n Stad Wenen onder\n CC-BY.
    • \n
    • Canada: Bevat gegevens van\n GeoBase®, GeoGratis (© Department of Natural\n Resources Canada), CanVec (© Department of Natural\n Resources Canada), en StatCan (Geography Division,\n Statistics Canada).
    • \n
    • Polen: Bevat gegevens van UMP-pcPL maps. Auteursrechten\n UMP-pcPL-deelnemers.
    • \n \n Meer over hoe OSM UMP-gegevens gebruikt\n
    • Zuid-Afrika: Bevat gegevens afkomstig uit\n Chief Directorate:\n National Geo-Spatial Information, auteursrechten voor de Staat voorbehouden.
    • \n
    • Frankrijk: Bevat gegevens van\n Direction Générale des Impôts.
    • \n
    • Nieuw-Zeeland: Bevat gegevens van\n Land Information New Zealand. Crown Copyright voorbehouden.
    • \n
    • Verenigd Koninkrijk: Bevat gegevens van\n de Ordnance Survey © Crown Copyright en databaserechten\n 2010.
    • \n
    \n\n

    \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

    " 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.
    Neem contact op met de webmaster als u deze handeling wilt bespreken. account not active: Sorry, uw gebruiker is nog niet actief.
    Klik op de verwijzing in de bevestigingse-mail om deze te activeren of vraag een nieuwe bevestigingse-mail aan. - account suspended: Uw gebruiker is automatisch opgeschort vanwege verdachte activiteit.
    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: Lees meer over de aanstaande licentiewijziging voor OpenStreetMap (vertalingen) (overleg) + 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.

    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 diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 5af00fab8..0668f83f5 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -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 Creative Commons Navngivelse-Del på same vilkår 2.0. + 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å GeoNames + osm_namefinder: "%{types} frå OpenStreetMap Namefinder" + osm_nominatim: Posisjon frå OpenStreetMap Nominatim + 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å Geocoder.CA + geonames: Resultat frå GeoNames + latlon: Resultat frå Internt + osm_namefinder: Resultat frå OpenStreetMap Namefinder + osm_nominatim: Resultat frå OpenStreetMap Nominatim + uk_postcode: Resultat frå NPEMap / FreeThe Postcode + us_postcode: Resultat frå Geocoder.us + 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: "

    Opphavsrett og lisensar

    \n

    \n OpenStreetMap er opne data, lisensiert under Creative\n Commons Navngivelse-DelPåSammeVilkår 2.0 (CC BY-SA).\n

    \n

    \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 juridiske\n teksten forklarer rettane og ansvaret.\n

    \n\n

    Korleis kreditere OpenStreetMap

    \n

    \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

    \n

    \n Der det er mogleg, bør OpenStreetMap lenkjast til http://www.openstreetmap.org/\n og CC BY-SA til http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Finn ut meir

    \n

    \n Les meir om korleis du brukar dataa våre i den juridiske\n FAQ-en.\n

    \n

    \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

    \n

    \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 API-et,\n kartbilder\n og Nominatim.\n

    \n\n

    Bidragsytarane våre

    \n

    \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

    \n\n\n\n
      \n
    • Australia: Inneheld forstadsdata basert\n pÃ¥ Australian Bureau of Statistics data.
    • \n
    • Canada: 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).
    • \n
    • Frankrike: Inneheld data henta frÃ¥\n Direction Générale des Impôts.
    • \n
    • New Zealand: Inneheld data henta frÃ¥\n Land Information New Zealand. Crown Copyright reservert.
    • \n
    • Polen: Inneheld data frÃ¥ UMP-pcPL maps. Copyright\n UMP-pcPL bidragsytarar.
    • \n
    • Storbritannia: Inneheld Ordnance\n Survey data © Crown copyright og database-rettar\n 2010.
    • \n
    • Austerrike: Inneheld data henta frÃ¥\n Stadt Wien under\n CC BY.
    • \n
    \n\n

    \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

    " + 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 spørsmål og svar-nettsted. + 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å Category:Users_by_geographical_region. + get_reading: Start å lese om OpenStreetMap på wikien, få med deg dei siste nyhenda via OpenStreetMap-bloggen eller Twitter. Eller bla gjennom OpenStreetMaps grunnlegg Steve Coasts OpenGeoData-blogg for heile historia til prosjektet, som òg har engelske podkaster 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 [[Category:Users_in_norway]]. + video_to_openstreetmap: introduksjonsvideo til OpenStreetMap + wiki_signup: Du vil kanskje melde deg inn i OpenStreetMap-wikien ò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 laste ned Flash Player frå Adobe.com. Fleire andre alternativ 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 statiske Tile sitt@Home-kartsidene. + 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 fleire ..." + 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. Sidan overgangen til 0.6 API-et, kan berre offentlege brukarar redigere kartdata. ( Finn ut kvifor ).
    • di e-postadresse vil ikkje avslørast ved Ã¥ verte offentleg.
    • Denne handlinga kan ikkje omgjerast, og alle nye brukarar er no offentleg tilgjengeleg som standard.
    + 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å sende deg sjølv ein ny bekreftelsesepost. + 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.

    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.
    Vennligst kontakt webmaster viss du ynskjer å diskutere dette. + account not active: Beklagar, kontoen din er ikkje aktivert enno.
    Bruk lenkja i kontobekreftelseseposten for å aktivare kontoen din, eller be om ein ny bekreftelsesepost. + 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: Finn ut meir om OpenStreetMap sitt komande byte av lisens (omsetjingar) (diskusjon) + 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.

    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 webmaster 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.

    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 bidragsytervilkåra. + no_auto_account_create: Beklagelegvis kan me for augneblunken ikkje opprette ein konto for deg automatisk. + not displayed publicly: Ikkje vist offentleg (sjå vår personvernpolitikk) + openid: "%{logo} OpenID:" + openid association: "

    Din OpenID er ikkje tilknytta ein OpenStreetMap-konto enno.

    \n
      \n
    • Viss du er ny pÃ¥ OpenStreetMap, opprett ein ny konto ved hjelp av skjemaet nedanfor.
    • \n
    • \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
    • \n
    " + 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å denne wiki-sida . + 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: "

    \nBeklagar, kontoen din har vorte automatisk deaktivert på grunn av mistenkjeleg aktivitet.\n

    \n

    \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 menneskeleg lesbart sammendrag og nokon uformelle omsetjingar" + 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 diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 794a40659..ce4dad8e5 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -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: "

    Prawa autorskie i licencja

    \n

    \nOpenStreetMap stanowi zbiór wolnych danych, udostępnianych na licencji Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA).\n

    \n

    \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. Pełen tekst licencji dokładnie opisuje Twoje prawa i obowiązki.\n

    \n\n

    Jak podać źródło

    \n

    \nJeśli korzystasz z gotowej mapy OpenStreetMap, wymagane jest podanie źródła co najmniej w postaci „© użytkownicy OpenStreetMap, CC-BY-SA”. Jeśli korzystasz tylko z danych geograficznych, wymagane jest podanie źródła w postaci „Dane mapy © użytkownicy OpenStreetMap, CC-BY-SA”.\n

    \n

    \nO ile jest to możliwe, nazwa OpenStreetMap powinna być hiperłączem do http://www.openstreetmap.org/, zaś CC-BY-SA do http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Dowiedz się więcej

    \n

    \nWięcej informacji o możliwości wykorzystania danych OpenStreetMap można znaleźć w Legal FAQ.\n

    \n

    \nUżytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie dodawać danych z jakichkolwiek źródeł chronionych prawami autorskimi (jak np. Google Maps i większość map drukowanych) bez wyraźnego pozwolenia właściciela praw autorskich.\n

    \n

    \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 Zasadami korzystania z API, Zasadami korzystania z kafelków mapy oraz Zasadami korzystania z Nominatima.\n

    \n\n

    Dane włączone do OpenStreetMap

    \n

    \nWykorzystywana przez nas licencja CC-BY-SA wymaga, aby „oznaczyć twórcę w sposób właściwy dla wykorzystywanego nośnika lub środka przekazu”. Indywidualni użytkownicy OpenStreetMap nie wymagają oznaczenia w sposób bardziej szczegółowy niż „użytkownicy OpenStreetMap”. 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

    \n\n
      \n
    • Australia: Zawiera dane o miejscowościach oparte na danych ''Australian Bureau of Statistics''.
    • \n
    • Austria: Zawiera dane miasta Wiednia na licencji CC-BY.
    • \n
    • Francja: Zawiera dane uzyskane z ''Direction Générale des Impôts''.
    • \n
    • Kanada: Zawiera dane z GeoBase®, GeoGratis (© ''Department of Natural Resources Canada''), CanVec (© ''Department of Natural Resources Canada'') i StatCan (''Geography Division, Statistics Canada'').
    • \n
    • Nowa Zelandia: Zawiera dane uzyskane z ''Land Information New Zealand''. Crown Copyright reserved.
    • \n
    • Polska: Zawiera dane z mapy UMP-pcPL. Copyright użytkownicy UMP-pcPL.
    • \n
    • Wielka Brytania: Zawiera dane ''Ordnance Survey''. © Crown copyright and database right 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Prawa autorskie i licencja

    \n

    \nOpenStreetMap stanowi zbiór wolnych danych, udostępnianych na licencji Creative Commons Attribution-ShareAlike 2.0 (CC BY-SA).\n

    \n

    \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. Pełen tekst licencji dokładnie opisuje Twoje prawa i obowiązki.\n

    \n\n

    Jak podać źródło

    \n

    \nJeśli korzystasz z gotowej mapy OpenStreetMap, wymagane jest podanie źródła co najmniej w postaci „© użytkownicy OpenStreetMap, CC BY-SA”. Jeśli korzystasz tylko z danych geograficznych, wymagane jest podanie źródła w postaci „Dane mapy © użytkownicy OpenStreetMap, CC BY-SA”.\n

    \n

    \nO ile jest to możliwe, nazwa OpenStreetMap powinna być hiperłączem do http://www.openstreetmap.org/, zaś CC BY-SA do http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Dowiedz się więcej

    \n

    \nWięcej informacji o możliwości wykorzystania danych OpenStreetMap można znaleźć w Legal FAQ.\n

    \n

    \nUżytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie dodawać danych z jakichkolwiek źródeł chronionych prawami autorskimi (jak np. Google Maps i większość map drukowanych) bez wyraźnego pozwolenia właściciela praw autorskich.\n

    \n

    \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 Zasadami korzystania z API, Zasadami korzystania z kafelków mapy oraz Zasadami korzystania z Nominatima.\n

    \n\n

    Dane włączone do OpenStreetMap

    \n

    \nWykorzystywana przez nas licencja CC BY-SA wymaga, aby „oznaczyć twórcę w sposób właściwy dla wykorzystywanego nośnika lub środka przekazu”. Indywidualni użytkownicy OpenStreetMap nie wymagają oznaczenia w sposób bardziej szczegółowy niż „użytkownicy OpenStreetMap”. 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

    \n\n
      \n
    • Australia: Zawiera dane o miejscowościach oparte na danych ''Australian Bureau of Statistics''.
    • \n
    • Austria: Zawiera dane miasta Wiednia na licencji CC BY.
    • \n
    • Francja: Zawiera dane uzyskane z ''Direction Générale des Impôts''.
    • \n
    • Kanada: Zawiera dane z GeoBase®, GeoGratis (© ''Department of Natural Resources Canada''), CanVec (© ''Department of Natural Resources Canada'') i StatCan (''Geography Division, Statistics Canada'').
    • \n
    • Nowa Zelandia: Zawiera dane uzyskane z ''Land Information New Zealand''. Crown Copyright reserved.
    • \n
    • Polska: Zawiera dane z mapy UMP-pcPL. Copyright współtwórców UMP-pcPL.\n Więcej o użyciu danych UMP przez OSM
    • \n
    • Południowa Afryka: Zawiera dane pochodzące od Chief Directorate:\n National Geo-Spatial Information, Państwowe prawa autorskie zastrzeżone.\n
    • \n
    • Wielka Brytania: Zawiera dane ''Ordnance Survey''. © Crown copyright and database right 2010.
    • \n
    \n\n

    \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

    " 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.
    Otwórz link zawarty w mailu potwierdzenia założenia konta, aby je aktywować lub poproś o ponowne przesłanie maila. - account suspended: Niestety, Twoje konto zostało zawieszone ze względu na podejrzane działania.
    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: diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 612af1ac7..f8e820f25 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -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.
    Por favor contate o webmaster se você deseja discutir isto. account not active: Desculpe, sua conta não está ativa ainda.
    Por favor use o link do e-mail de confirmação para ativar sua conta ou solicite uma nova confirmação por e-mail. - account suspended: Desculpe, mas sua conta foi suspensa por conta de atividade suspeita.
    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: Saiba mais sobre a mudança na licença do OpenStreetMap (traduções) (discussão) + 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

    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 index 3fe999313..000000000 --- a/config/locales/pt-PT.yml +++ /dev/null @@ -1,2 +0,0 @@ -pt-PT: - dummy: dummy diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 69f8bf45c..8909f00cb 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -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 diff --git a/config/locales/ro.yml b/config/locales/ro.yml index 29de0d5dd..a065de2a6 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -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 OpenStreetMap Namefinder" + 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 Geocoder.CA + geonames: Rezultate de la GeoNames + latlon: Rezultate interne + osm_namefinder: Rezultate de la OpenStreetMap Namefinder + osm_nominatim: Rezultate de la OpenStreetMap Nominatim + uk_postcode: Rezultate de la NPEMap / FreeThe Postcode + us_postcode: Rezultate de la Geocoder.us 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:" diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 96a4a53a2..6e881c0ec 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -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: Эл. адрес + email: Адрес электронной почты 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: Данные OpenStreetMap распространяются на условиях лицензии Creative Commons Attribution-ShareAlike 2.0. + export_details: Данные OpenStreetMap распространяются по лицензии Creative Commons Attribution-ShareAlike 2.0. 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: Охотничья вышка ice_cream: Мороженное kindergarten: Детский сад library: Библиотека market: Магазин marketplace: Рыночная площадь mountain_rescue: Горная спасательная служба - nightclub: ночной клуб + nightclub: Ночной клуб nursery: Пансионат nursing_home: Дом престарелых office: Офис @@ -528,14 +546,14 @@ ru: preschool: Дошкольное учреждение prison: Тюрьма pub: Паб - public_building: общественное здание + public_building: Общественное здание 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: Церковь + chapel: Часовня church: Церковь city_hall: Мэрия commercial: Офисное здание @@ -579,7 +597,7 @@ ru: public: Общественное здание residential: Жилой дом retail: Здание на продажу - school: Школа + school: Здание школы shop: Магазин stadium: Стадион store: Магазин @@ -748,10 +766,10 @@ ru: houses: Дома island: Остров islet: Маленький остров - locality: Населённый пункт + locality: Заброшенная деревня, урочище, необитаемая местность moor: Торфяник municipality: Муниципалитет - postcode: Индекс + postcode: Почтовый индекс region: Регион sea: Море state: Область/Штат @@ -794,8 +812,8 @@ ru: books: Книжный магазин butcher: Мясная лавка car: Автосалон - car_dealer: Автомагазин - car_parts: Автомагазин + car_dealer: Автомобильный дилер + car_parts: Автозапчасти 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: Караван-сарай + caravan_site: Стоянка для домиков на колёсах chalet: Шале guest_house: Домик для гостей hostel: Хостел @@ -885,7 +903,7 @@ ru: dock: Док drain: Сточная канава lock: Шлюз - lock_gate: Шлюз + lock_gate: Ворота шлюза mineral_spring: Минеральный родник mooring: Место швартовки rapids: Речной порог @@ -900,10 +918,9 @@ ru: map: base: cycle_map: Карта для велосипедистов - mapnik: Mapnik mapquest: MapQuest Open - osmarender: Osmarender - transport_map: Транспортные карты + standard: Стандартный + transport_map: Карта транспорта overlays: maplint: Maplint site: @@ -941,14 +958,16 @@ ru: one: В вашем ящике %{count} новое сообщение other: В вашем ящике есть %{count} новых сообщений. zero: В вашем ящике нет непрочитанных сообщений - intro_1: OpenStreetMap — это свободно редактируемая карта всего мира. Она сделана такими же людьми, как и вы. - intro_2: OpenStreetMap позволяет совместно просматривать, изменять и использовать географические данные в любой точке Земли. + intro_1: OpenStreetMap — это свободная и доступная для редактирования карта всего мира. Она сделана такими же людьми, как и вы. + 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: "

    Авторские права и лицензирование

    \n

    OpenStreetMap предоставляет открытые данные, на условиях лицензии Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA). \n

    \n\n

    Вы можете свободно копировать, распространять, передавать и дорабатывать наши карты и данные, до тех пор, пока вы ссылаетесь на OpenStreetMap и его сообщество. Если вы изменяете или берёте наши материалы за основу, то вы должны распространять результаты под такой же лицензией. Полный текст лицензии разъясняет ваши права и обязанности.\n

    \n\n

    Как сослаться на OpenStreetMap

    \n

    Если вы используете изображения карт OpenStreetMap, мы требуем, чтобы вы указывали, по крайней мере, «© Участники OpenStreetMap, CC-BY-SA». Если вы используете только картографические данные, мы требуем наличия указания «Картографические данные © Участники OpenStreetMap, CC-BY-SA». \n

    \n

    Везде, где это возможно, следует делать гипертекстовую ссылку на OpenStreetMap http://www.openstreetmap.org/ и на CC-BY-SA http://creativecommons.org/licenses/by-sa/2.0/ . Если вы используете носители где использование гипертекстовых ссылок невозможно (например, печатные произведения), мы предлагаем вам направлять ваших читателей непосредственно к www.openstreetmap.org (возможно, расширяя OpenStreetMap до полного адреса) и к www.creativecommons.org. \n

    \n\n

    Подробнее

    \n

    Узнайте больше об использовании наших данных на странице ответов на правовые вопросы. \n

    \n

    Участники сообщества OSM должны всегда помнить о том, что запрещается добавлять данные из любых защищенных авторским правом источников (например с Google Maps или печатных карт) без предварительного согласия правообладателей. \n

    \n

    Хотя OpenStreetMap содержит свободные данные, мы не в состоянии предоставлять бесплатный API к нашим картам для сторонних разработчиков. См. Правила использования API, Правила использования частей карты и Правила использования службы Nominatim . \n

    \n\n

    С нами сотрудничают

    \n

    Наша лицензия CC-BY-SA требует от вас «указывать автора оригинального произведения, в соответствии с особенностями носителя информации и используемых средств». Обычные члены сообщества OSM не требуют указания авторства больше, чем строчкой «участники OpenStreetMap», но в OpenStreetMap есть данные, полученные от национальных картографических агентств или других существенных источников, возможно имеет смысл указать непосредственно на них, как на источник, или добавить ссылку на эту страницу. \n

    \n\n\n\n
      \n
    • Австралия. Данные пригородов от Австралийского бюро статистики.
    • \n
    • Австрия. Данные города Вена на условиях CC-BY.
    • \n
    • Канада. Данные от GeoBase ®, GeoGratis (© Департамент природных ресурсов Канады), CanVec (© Департамент природных ресурсов Канады) и StatCan (Отдел Географии, Статистическое ведомство Канады).
    • \n
    • Франция: Данные от Главного налогового управления.\n
    • Новая Зеландия. Данные из сведений о земельных ресурсах Новой Зеландии. Crown Copyright reserved.
    • \n
    • Польша. Данные с карт UMP-pcPL. Copyright участники UMP-pcPL.
    • \n
    • Великобритания. Данные Ordnance Survey © Crown copyright и права на базы данных 2010.
    • \n
    \n\n

    \nВключение данных в OpenStreetMap не означает, что поставщик первичных данных каким-либо образом поддерживает OpenStreetMap, предоставляет гарантии или принимает на себя какую-любую ответственность. \n

    " + legal_babble: "

    Авторские права и лицензирование

    \n

    OpenStreetMap — это открытые данные доступные по лицензии Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA). \n

    \n\n

    Вы можете свободно копировать, распространять, передавать и дорабатывать наши карты и данные до тех пор, пока вы ссылаетесь на OpenStreetMap и его сообщество. Если вы изменяете или берёте наши карты за основу, то вы должны распространять результат только по такой же лицензии. Полный юридический текст лицензии (перевод на русский язык) разъясняет ваши права и обязанности.\n

    \n\n

    Как сослаться на OpenStreetMap

    \n

    Если вы используете изображения карт OpenStreetMap, мы требуем, чтобы вы указывали, по крайней мере, «© Участники OpenStreetMap, CC-BY-SA». Если вы используете только картографические данные, мы требуем наличия указания «Картографические данные © Участники OpenStreetMap, CC-BY-SA». \n

    \n

    Где это возможно текст «OpenStreetMap» должен быть гиперссылкой на http://www.openstreetmap.org/, «CC-BY-SA» - на http://creativecommons.org/licenses/by-sa/2.0/deed.ru. Если вы используете носители, где гиперссылки невозможны (например, печатная работа), мы предлагаем вам направлять ваших читателей непосредственно к www.openstreetmap.org (возможно, расширяя «OpenStreetMap» до полного адреса) и к www.creativecommons.org. \n

    \n\n

    Узнайте больше

    \n

    Прочитайте больше об использовании наших данных на странице ответов на юридические вопросы. \n

    \n

    Участники сообщества OSM должны всегда помнить о том, что запрещается добавлять данные из любых защищенных авторским правом источников (например, с Google Maps или печатных карт) без явного предварительного согласия правообладателей. \n

    \n

    Хотя OpenStreetMap - открытые данные, мы не в состоянии предоставлять бесплатный API к нашим картам для сторонних разработчиков. См. Правила использования API, Правила использования частей карты и Правила использования службы Nominatim . \n

    \n\n

    Кто вносит вклад в наш проект

    \n

    Наша лицензия CC-BY-SA требует от вас «указывать авторство Автора Оригинала разумно в средстве или способах, которые Вы используете». Индивидуальные картографы OSM не требуют указания авторства больше, чем строчкой «участники OpenStreetMap», но в OpenStreetMap есть данные, полученные от национальных картографических агентств или других существенных источников, поэтому возможно имеет смысл указать непосредственно на них, как на источник, или добавить ссылку на эту страницу. \n

    \n\n\n\n
      \n
    • Австралия. Данные пригородов от Австралийского бюро статистики.
    • \n
    • Австрия. Данные города Вена на условиях CC-BY.
    • \n
    • Канада. Данные от GeoBase ®, GeoGratis (© Департамент природных ресурсов Канады), CanVec (© Департамент природных ресурсов Канады) и StatCan (Отдел Географии, Статистическое ведомство Канады).
    • \n
    • Франция: Данные от Главного налогового управления.\n
    • Новая Зеландия. Данные из сведений о земельных ресурсах Новой Зеландии. Crown Copyright reserved.
    • \n\n\n
    • Польша: Данные с карт UMP-pcPL. Copyright участники UMP-pcPL.\n \n Подробнее об использовании данных UMP проектом OSM
    • \n
    • ЮАР: Данные из\n Chief Directorate:\n National Geo-Spatial Information, State copyright reserved.
    • \n
    • Великобритания. Данные Ordnance Survey © Crown copyright и права на базы данных 2010.
    • \n
    \n\n

    \nВключение данных в OpenStreetMap не означает, что поставщик первичных данных каким-либо образом поддерживает OpenStreetMap, предоставляет гарантии или принимает на себя какую-любую ответственность. \n

    " 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 на нашем сайте вопросов и ответов . click_the_link: Если это действительно вы — добро пожаловать! Пожалуйста, перейдите по ссылке ниже, чтобы подтвердить регистрацию и просмотреть дополнительную информацию об OpenStreetMap current_user: "Список пользователей, основанный на их местоположении, доступен здесь: Category:Users_by_geographical_region." - get_reading: Прочтите об OpenStreetMap в вики, узнайте последние новости в блоге OpenStreetMap или в Twitter. Ознакомьтесь с историей проекта в блоге OpenGeoData, автором которого является Стив Коуст (Steve Coast), основатель OpenStreetMap, в этом блоге есть подкасты, которые также можно прослушать! + get_reading: Прочтите об OpenStreetMap в вики, узнайте последние новости в блоге OpenStreetMap или в Twitter. Ознакомьтесь с историей проекта в блоге OpenGeoData, автором которого является основатель OpenStreetMap Стив Кост (Steve Coast), в этом блоге есть подкасты, которые также можно прослушать! greeting: Здравствуйте! hopefully_you: Кто-то (надеемся, что вы) хотел создать учетную запись на introductory_video: Вы можете просмотреть %{introductory_video_link}. @@ -1116,7 +1135,7 @@ ru: more_videos_here: больше видео здесь user_wiki_page: Рекомендуется создать свою пользовательскую вики-страницу, включив в неё теги категорий, описывающих ваше местонахождение, например, [[Category:Users_in_Moscow]]. video_to_openstreetmap: ознакомительное видео об OpenStreetMap - wiki_signup: Вы можете зарегистрироваться в вики OpenStreetMap. + wiki_signup: Вы можете зарегистрироваться в вики OpenStreetMap. 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: Вы можете попробовать статичную карту от Tiles@Home, если вы не можете включить 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' больше примеров…" + search_help: "примеры: «Рыбинск», «Ростов-на-Дону», «1, Красная площадь, Москва», «кафе рядом с Арбат», «стоянки в Петергоф», «банкоматы около Крещатик», «Regent Street, Cambridge» или «CB2 5AQ» (больше примеров.
    Улучшенный русскоязычный поиск: OSM Россия и OSM Беларусь.
    Проложить маршрут на карте: OSM Беларусь, YourNavigation, CloudMade Maps и MapQuest Open." 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: Извините, ваша учётная запись была приостановлена из-за подозрительной активности.
    Пожалуйста, свяжитесь с веб-мастером, если вы хотите выяснить подробности. account not active: Извините, ваша учётная запись ещё не активирована.
    Чтобы активировать её, пожалуйста, нажмите на ссылку в отправленном вам письме, или запросите отправку нового письма-подтверждения. - account suspended: Извините, ваша учётная запись была приостановлена из-за подозрительной активности.
    Пожалуйста, свяжитесь с %{webmaster}, если вы хотите выяснить подробности. auth failure: Извините, вход с этими именем или паролем невозможен. create account minute: Создайте учётную запись. Это займёт не больше минуты. email or username: "Эл. почта или имя пользователя:" @@ -1497,7 +1517,9 @@ ru: login_button: Представиться lost password link: Забыли пароль? new to osm: Впервые на OpenStreetMap? - notice: Узнайте больше о предстоящем изменении лицензии OpenStreetMap (переводы) (обсуждение) + no account: У вас нет аккаунта? + notice: Узнайте больше о предстоящем изменении лицензии OpenStreetMap (переводы) (обсуждение) + notice_terms: OpenStreetMap переходит на новую лицензию с 1 апреля 2012 года. Она такая же открытая как действующая, но юридически гораздо лучше подходит для нашей картографической базы данных. Мы хотели бы сохранить ваш вклад в OpenStreetMap, но это будет возможно только если вы согласны распространять ваши правки на условиях новой лицензии. В противном случае, нам придётся удалить их из базы данных.

    Пожалуйста, представьтесь системе и потратьте несколько секунд на ознакомление и принятие новых условий. Спасибо! 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: "Аадрес эл. почты:" + email address: "Адрес электронной почты:" heading: Забыли пароль? help_text: Введите адрес вашей электронной почты, который вы использовали для подписки, и мы вышлем инструкции, как можно обновить ваш пароль. new password button: Вышлите мне новый пароль @@ -1556,7 +1577,7 @@ ru: fill_form: Заполните форму, и мы вышлем вам на электронную почту письмо с инструкцией по активации. flash create success message: Спасибо за регистрацию. Мы выслали письмо с подтверждением на адрес %{email} и как только вы подтвердите вашу учётную запись, вы можете начать работать с картами.

    Если вы используете антиспам, посылающий запросы на подтверждение, внесите адрес webmaster@openstreetmap.org в ваш белый список, так как мы не можем отвечать на такие запросы. heading: Создание учётной записи - license_agreement: Когда вы подтверждаете вашу учётную запись, вам необходимо согласиться с условиями сотрудничества. + license_agreement: Когда вы подтверждаете вашу учётную запись, вам необходимо согласиться с условиями сотрудничества. no_auto_account_create: К сожалению, сейчас мы не можем автоматически создать для вас учётную запись. not displayed publicly: Не отображается публично (см. политику конфиденциальности) 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: Пока нет других пользователей, признающих, что занимающихся составлением карты поблизости. diff --git a/config/locales/sk.yml b/config/locales/sk.yml index a49399c4d..91448ef69 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -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í. diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 252073be3..a1a09dd5a 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -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.
    Za aktivacijo prosimo uporabite povezavo, ki ste jo prejeli v elektronskem sporočilu za potrditev uporabniškega računa, ali zahtevajte novo potrditveno elektronsko sporočilo. - account suspended: Žal je bil vaš račun zaklenjen zaradi sumljive dejavnosti.
    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. diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 2a5d532fd..5a2c80a0b 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -1,6 +1,7 @@ # Messages for Albanian (Shqip) # Exported from translatewiki.net # Export driver: syck-pecl +# Author: Euriditi # Author: Mdupont # Author: MicroBoy # Author: Mikullovci11 @@ -9,10 +10,38 @@ 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 Creative Commons Attribution-ShareAlike 2.0 license. @@ -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 Geocoder.CA + geonames: Rezultate nga GeoNames us_postcode: Rezultatet nga Geocoder.us + 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 ta shkarkoni Flash Player nga Adobe.com. Disa mënyra të tjera 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 privacy policy) 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ë diff --git a/config/locales/sr-EC.yml b/config/locales/sr-EC.yml index 6cc93b298..cbe262904 100644 --- a/config/locales/sr-EC.yml +++ b/config/locales/sr-EC.yml @@ -119,7 +119,7 @@ sr-EC: edited_at: "Измењено:" edited_by: "Изменио:" in_changeset: "У скупу измена:" - version: "Издање:" + version: "Верзија:" containing_relation: entry: Однос %{relation_name} entry_role: Однос %{relation_name} (као %{relation_role}) @@ -282,20 +282,26 @@ sr-EC: changesets: area: Подручје comment: Коментар - id: ИБ + 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: @@ -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: Ви-Фи приступ + wifi: Бежични интернет youth_centre: Дом омладине boundary: administrative: Административна граница @@ -731,7 +737,7 @@ sr-EC: place: airport: Аеродром city: Град - country: Држава + country: Земља 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: ПОИСТОВЕТЉИВ + identifiable: МОЖЕ СЕ ПРЕПОЗНАТИ in: у map: мапа more: више @@ -1340,7 +1354,7 @@ sr-EC: private: ПРИВАТНИ public: ЈАВНИ trace_details: Погледајте детаље о трагу - trackable: УТВРДЉИВ + trackable: МОЖЕ СЕ ПРАТИТИ view_map: Погледај карту trace_form: description: "Опис:" @@ -1452,7 +1466,7 @@ sr-EC: failure: Корисник %{name} није пронађен. success: Послали смо нову потврдну поруку на %{email}. Након што потврдите свој налог, моћи ћете да почнете с мапирањем.

    Ако користите систем против непожељних порука, додајте webmaster@openstreetmap.org у списак дозвољених адреса јер нисмо у могућности да одговоримо на било који захтев за потврду. filter: - not_an_administrator: Морате бити администратор да бисте извршили ову радњу. + not_an_administrator: Треба да будете администратор да бисте извршили ову радњу. go_public: flash success: Све ваше измене су сада јавне. Дозвољено вам је уређивање. list: @@ -1467,8 +1481,8 @@ sr-EC: summary_no_ip: "%{name} направљено %{date}" title: Корисници login: + account is suspended: Нажалост, ваш налог је укинут због сумњиве активности.
    Обратите се администратору ако желите да поразговарате о проблему. account not active: Жао нам је, ваш налог још увек није активиран.
    Пратите везу у поруци за потврду е-поште да бисте га активирали или затражите нову поруку. - account suspended: Жао нам је, ваш налог је привремено укинут због сумњиве активности.
    Контактирајте %{webmaster}а ако желите да се жалите. auth failure: Не могу да вас пријавим с унетим подацима. create account minute: Отворите налог. Потребно је само неколико тренутака. email or username: "Е-адреса или корисничко име:" @@ -1477,6 +1491,7 @@ sr-EC: lost password link: Заборавили сте лозинку? new to osm: Нови сте на сајту? notice: Сазнајте више о предстојећој измени лиценце (преводи) (разговор) + notice_terms: Опенстритмап добија нову лиценцу 1. априла 2012. Ова лиценца је отворена исто као и садашња, али правни детаљи су много погоднији нашој картографској бази. Са задовољством би задржали ваше доприносе на Опенстритмапу, али ово је могуће само ако прихватите да они буду објављени под условима нове лиценце. У супротном, мораћемо да их уклонимо из базе.

    Пријавите се, прочитајте услове и видите да ли се слажете с њима. Хвала! 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: Локација корисника + user location: Боравиште корисника your friends: Ваши пријатељи user_block: blocks_by: @@ -1663,7 +1685,7 @@ sr-EC: filter: block_expired: Блокада је већ истекла и не може се уређивати. block_period: Период блокаде мора бити једна од вредности из падајућег списка. - not_a_moderator: Морате бити уредник да бисте извршили ову радњу. + not_a_moderator: Треба да будете модератор да бисте извршили ову радњу. helper: time_future: Завршава се у %{time}. time_past: Завршено пре %{time}. diff --git a/config/locales/sr-EL.yml b/config/locales/sr-EL.yml index 9cd2da71f..a37e883e5 100644 --- a/config/locales/sr-EL.yml +++ b/config/locales/sr-EL.yml @@ -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.
    Obratite se administratoru ako želite da porazgovarate o problemu. account not active: Žao nam je, vaš nalog još uvek nije aktiviran.
    Pratite vezu u poruci za potvrdu e-pošte da biste ga aktivirali ili zatražite novu poruku. - account suspended: Žao nam je, vaš nalog je privremeno ukinut zbog sumnjive aktivnosti.
    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: Saznajte više o predstojećoj izmeni licence (prevodi) (razgovor) + 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.

    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 index 3501afece..000000000 --- a/config/locales/sv-SE.yml +++ /dev/null @@ -1,2 +0,0 @@ -sv-SE: - dummy: dummy diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 2aa229f4f..e6a8d5fd6 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -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 på wikin, blir uppdaterad om de senaste nyheterna via OpenStreetMaps blogg eller Twitter, eller skumma genom OpenStreetMaps grundare Steve Coasts OpenGeoData blog för en kortfattad historisk genomgång, som också har en poddradio att lyssna på! 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.
    Vänligen klicka på länken i e-brevet med kontobekräftelsen för att aktivera ditt konto, eller begär ett nytt bekräftelsebrev. - account suspended: Beklagar, ditt konto har stängts av på grund av misstänkt otillåten aktivitet.
    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 index 000000000..3013bf08b --- /dev/null +++ b/config/locales/ta.yml @@ -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: உறுதிப்படுத்து diff --git a/config/locales/tl.yml b/config/locales/tl.yml index cb9279f44..1808eb282 100644 --- a/config/locales/tl.yml +++ b/config/locales/tl.yml @@ -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.
    Mangyaring gamitin ang kawing na nasa loob ng e-liham ng pagtitiyak ng akawnt upang buhayin ang akawnt mo, o humiling ng isang panibagong e-liham ng pagtitiyak. - account suspended: Paumanhin, inantala ang akawnt mo dahil sa kahina-hinalang gawain.
    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 diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 96f8c1907..9307addd1 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -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' daha fazla örnek..." + search_help: "örneğin: 'Beyoğlu', 'İstiklal Caddesi, İstanbul', 'CB2 5AQ' ya da 'Fatih yakınlarında postane' daha fazla örnek..." 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.

    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ı. diff --git a/config/locales/uk.yml b/config/locales/uk.yml index c93d5b2a8..b93dc1ef1 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -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: Вузол + node: Точка 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: Шопінг + shopping: Торговельний центр 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: Ферма + farmland: Рілля farmyard: Фермерське подвір'я forest: Ліс grass: Трава @@ -728,7 +734,7 @@ uk: valley: Долина volcano: Вулкан water: Вода - wetland: Водно-болотні угіддя + wetland: Болото wetlands: Водно-болотні угіддя wood: Гай place: @@ -883,10 +889,10 @@ uk: mineral_spring: Мінеральне джерело mooring: Якірна стоянка rapids: Пороги - river: Ріка + river: Річка riverbank: Берег ріки stream: Струмок - wadi: Пересохле русло + wadi: Ваді 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: На жаль, ваш обліковий запис був заблокований через підозрілу діяльність.
    Будь ласка, зв'яжіться з адміністратором, якщо ви маєте заперечення. account not active: Вибачте, ваш обліковий запис ще не активовано.
    Щоб його активувати, будь ласка, перевірте вашу поштову скриньку та натисніть на посилання в листі з проханням про підтвердження, або запросіть нове підтвердження по електронній пошті. - account suspended: На жаль, ваш обліковий запис був заблокований через підозрілу діяльність.
    Будь ласка, зв'яжіться з %{webmaster}, якщо ви хочете обговорити це. auth failure: Вибачте, вхід з цими ім'ям або паролем неможливий. create account minute: Створити обліковий запис. Це займе всього хвилину. email or username: "Ел. пошта або ім'я користувача:" @@ -1485,6 +1503,7 @@ uk: lost password link: Забули пароль? new to osm: Вперше на OpenStreetMap? notice: Дізнайтеся більше про майбутні зміни ліцензії OpenStreetMap ( переклади ) ( обговорення ) + notice_terms: OpenStreetMap переходить на нову ліцензію з 1 квітня 2012 року. Вона така ж відкрита як діюча, але юридично набагато краще підходить для нашої картографічної бази даних. Ми хотіли б зберегти ваш внесок у OpenStreetMap, але це буде можливо тільки якщо ви згодні поширювати ваші правки на умовах нової ліцензії. В іншому разі, нам доведеться видалити їх з бази даних.

    Будь ласка, ввійдіть в систему і потратьте декілька секунд на ознайомлення і прийняття нових умов. Спасибі! 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: Нам шкода, що ви вирішили не приймати нові Умови Участі. Для отримання додаткової інформації, будь ласка, перегляньте цю сторінку . + terms declined: Нам шкода, що ви вирішили не приймати нові Умови Співпраці. Для отримання додаткової інформації, будь ласка, перегляньте цю сторінку . title: Реєстрація use openid: Або використовуйте для входу %{logo} OpenID no_such_user: @@ -1576,7 +1594,7 @@ uk: set_home: flash success: Ваше місце розташування збережено suspended: - body: "

    \n На жаль, ваш обліковий запис був автоматично заблокований через підозрілу\n діяльність. \n

    \n

    \n Це рішення буде розглянуто найближчим часом адміністратором, або\n ви можете зв'язатися з %{webmaster}, якщо ви хочете обговорити це.\n

    " + body: "

    \n На жаль, ваш обліковий запис був автоматично заблокований через підозрілу\n діяльність. \n

    \n

    \n Це рішення буде розглянуто найближчим часом адміністратором, або\n ви можете зв’язатися з %{webmaster}, якщо ви хочете обговорити це.\n

    " 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: відобразити цього користувача + unhide_user: показати цього користувача user location: Місце знаходження користувача your friends: Ваші друзі user_block: diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 9ecd1c28a..25f2608e3 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -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: "

    Bản quyền và Giấy phép

    \n

    \n OpenStreetMap là dữ liệu mở được phát hành theo giấy phép Creative Commons Ghi công–Chia sẻ tương tự 2.0 (CC-BY-SA).\n

    \n

    \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. mã pháp lý đầy đủ giải thích các quyền và trách nhiệm của bạn.\n

    \n\n

    Cách ghi công OpenStreetMap

    \n

    \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

    \n

    \n Lúc nào có thể, “OpenStreetMap” nên có liên kết đến http://www.openstreetmap.org/ và “CC-BY-SA” đến http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Tìm hiểu thêm

    \n

    \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 Hỏi đáp Pháp lý.\n

    \n

    \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

    \n

    \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 Quy định Sử dụng API, Quy định Sử dụng Hình ảnh Bản đồ, và Quy định Sử dụng Nominatim.\n

    \n\n

    Những người đóng góp vào đây

    \n

    \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

    \n\n\n\n
      \n
    • Áo: Bao gồm dữ liệu từ Stadt Wien theo CC-BY.
    • \n
    • Ba Lan: Bao gồm dữ liệu từ các bản đồ UMP-pcPL. Bản quyền những người đóng góp UMP-pcPL.
    • \n
    • Canada: 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).
    • \n
    • New Zealand: 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.
    • \n
    • Pháp: Bao gồm dữ liệu từ Sở thuế Pháp (Direction générale des Impôts).
    • \n
    • Úc: Bao gồm dữ liệu về ngoại ô dá»±a trên dữ liệu của Cục Thống kê Úc.
    • \n
    • VÆ°Æ¡ng quốc Anh: Bao gồm dữ liệu Ordnance Survey © bản quyền Crown Copyright và quyền cÆ¡ sở dữ liệu 2010.
    • \n
    \n\n

    \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

    " + legal_babble: "

    Bản quyền và Giấy phép

    \n

    \n OpenStreetMap là dữ liệu mở được phát hành theo giấy phép Creative Commons Ghi công–Chia sẻ tương tự 2.0 (CC BY-SA).\n

    \n

    \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. mã pháp lý đầy đủ giải thích các quyền và trách nhiệm của bạn.\n

    \n\n

    Cách ghi công OpenStreetMap

    \n

    \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

    \n

    \n Lúc nào có thể, “OpenStreetMap” nên có liên kết đến http://www.openstreetmap.org/ và “CC BY-SA” đến http://creativecommons.org/licenses/by-sa/2.0/. 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

    \n\n

    Tìm hiểu thêm

    \n

    \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 Hỏi đáp Pháp lý.\n

    \n

    \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

    \n

    \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 Quy định Sử dụng API, Quy định Sử dụng Hình ảnh Bản đồ, và Quy định Sử dụng Nominatim.\n

    \n\n

    Những người đóng góp vào đây

    \n

    \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

    \n\n\n\n
      \n
    • Áo: Bao gồm dữ liệu từ Tiểu bang Viên theo CC BY.
    • \n
    • Ba Lan: Bao gồm dữ liệu từ các bản đồ UMP-pcPL. Bản quyền những người đóng góp UMP-pcPL. Xem thêm chi tiết về cách sá»­ dụng dữ liệu UMP tại OpenStreetMap.
    • \n
    • Canada: 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).
    • \n
    • Nam Phi: Bao gồm dữ liệu từ Tổng cục: Thông tin Không gian địa lý Quốc gia, bản quyền nhà nước được bảo lÆ°u.
    • \n
    • New Zealand: 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.
    • \n
    • Pháp: Bao gồm dữ liệu từ Sở thuế Pháp (Direction générale des Impôts).
    • \n
    • Úc: Bao gồm dữ liệu về ngoại ô dá»±a trên dữ liệu của Cục Thống kê Úc.
    • \n
    • VÆ°Æ¡ng quốc Anh: Bao gồm dữ liệu Ordnance Survey © bản quyền Crown Copyright và quyền cÆ¡ sở dữ liệu 2010.
    • \n
    \n\n

    \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

    " 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ờ.
    Xin vui lòng liên lạc với webmaster để 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.
    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 yêu cầu thư xác nhận mới. - 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ờ.
    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: Tìm hiểu thêm về thay đổi giấy phép sắp tới của OpenStreetMap (bản dịch) (thảo luận) + 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.

    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 trang wiki này. + 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: bản tóm tắt dễ đọc và một số bản dịch không chính thức" 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. diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index d82ce5365..60a01d391 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -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: 对不起,您的帐户因可疑活动已被暂停。
    如果你想讨论这个,请联系网站管理员。 account not active: 对不起,您的账户尚未激活。
    请点击在账户确认邮件中的链接来激活您的账户,或请求新的确认电子邮件。 - account suspended: 对不起,您的帐户已因可疑活动被暂停了。
    如果您想讨论这一点,请联系%{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: 了解有关 OpenStreetMap 即将更换许可协议的信息 (翻译) (讨论) + notice_terms: OpenStreetMap 将于 2012 年 4 月 1 日更换到新的许可。这和当前的许可一样开放,但法律地位更适合我们的地图数据库。我们很乐意在 OpenStreetMap 保留您的贡献,但我们只能在您同意让我们根据新的许可证分发时,才能这么做。否则,我们将不得不从数据库中删除您的贡献。

    请登录,然后花几秒钟查看并接受新的条款。谢谢! 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: 附近没有在进行制图的用户。 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 7fe535669..11eabfb12 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -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: 抱歉,您的帳號尚未啟用。
    請點選帳號確認電子郵件中的連結來啟用您的帳號,或是要求寄一封新的確認信。 - account suspended: 對不起,您的帳號已因可疑活動被暫停了。
    如果你想討論這一點,請聯繫%{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 index cc3f9a1a5..000000000 --- a/config/mysql.example.database.yml +++ /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 index 6e0c74116..000000000 --- a/config/pluralizers.rb +++ /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 - } - } - } - } -} diff --git a/config/routes.rb b/config/routes.rb index 62c263f0d..fb4fcd426 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -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 index 6cd6b6466..000000000 --- a/db/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*_structure.sql diff --git a/db/README b/db/README index db4f5c20e..814dcb96c 100644 --- 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 -p - -(change with appropriate username of administrative user eg. root ) - -> create database openstreetmap default character set utf8; -> exit - -Creating user, password, and access rights -============================================ - -$ mysql -u -p - -(change 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 -p openstreetmap - -(change 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 diff --git a/db/functions/Makefile b/db/functions/Makefile index 2f97d6d94..231496d40 100644 --- a/db/functions/Makefile +++ b/db/functions/Makefile @@ -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 diff --git a/db/functions/maptile.c b/db/functions/maptile.c index ed83bcce2..358a3ba75 100644 --- a/db/functions/maptile.c +++ b/db/functions/maptile.c @@ -1,81 +1,22 @@ -#ifndef USE_MYSQL -#ifndef USE_PGSQL -#error One of USE_MYSQL or USE_PGSQL must be defined -#endif -#endif - #include +#include +#include -/* 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 -#include -#include -#include - -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 -#include - -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 diff --git a/db/functions/quadtile.c b/db/functions/quadtile.c index 29758edc6..748e0b9aa 100644 --- a/db/functions/quadtile.c +++ b/db/functions/quadtile.c @@ -1,54 +1,5 @@ -#ifndef USE_MYSQL -#ifndef USE_PGSQL -#error One of USE_MYSQL or USE_PGSQL must be defined -#endif -#endif - #include #include - -#ifdef USE_MYSQL -#ifdef USE_PGSQL -#error ONLY one of USE_MYSQL and USE_PGSQL should be defined -#endif - -#include -#include -#include -#include - -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 #include @@ -72,5 +23,3 @@ PG_FUNCTION_INFO_V1(tile_for_point); * * (without all the *s) */ - -#endif diff --git a/db/functions/xid_to_int4.c b/db/functions/xid_to_int4.c index 6863dfaca..d654bf269 100644 --- a/db/functions/xid_to_int4.c +++ b/db/functions/xid_to_int4.c @@ -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 #include @@ -26,5 +15,3 @@ int xid_to_int4(TransactionId xid) * * (without all the *s) */ - -#endif diff --git a/db/migrate/001_create_osm_db.rb b/db/migrate/001_create_osm_db.rb index 3e3377921..8ddc68bcd 100644 --- a/db/migrate/001_create_osm_db.rb +++ b/db/migrate/001_create_osm_db.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CreateOsmDb < ActiveRecord::Migration def self.up diff --git a/db/migrate/002_cleanup_osm_db.rb b/db/migrate/002_cleanup_osm_db.rb index 57a3dbca1..630661a0b 100644 --- a/db/migrate/002_cleanup_osm_db.rb +++ b/db/migrate/002_cleanup_osm_db.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CleanupOsmDb < ActiveRecord::Migration def self.up diff --git a/db/migrate/003_sql_session_store_setup.rb b/db/migrate/003_sql_session_store_setup.rb index daef768b7..5853d4d00 100644 --- a/db/migrate/003_sql_session_store_setup.rb +++ b/db/migrate/003_sql_session_store_setup.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class SqlSessionStoreSetup < ActiveRecord::Migration def self.up diff --git a/db/migrate/004_user_enhancements.rb b/db/migrate/004_user_enhancements.rb index 1c3bb5007..db17f3c35 100644 --- a/db/migrate/004_user_enhancements.rb +++ b/db/migrate/004_user_enhancements.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class UserEnhancements < ActiveRecord::Migration def self.up diff --git a/db/migrate/005_tile_tracepoints.rb b/db/migrate/005_tile_tracepoints.rb index a4ac5f51a..91d590726 100644 --- a/db/migrate/005_tile_tracepoints.rb +++ b/db/migrate/005_tile_tracepoints.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class TileTracepoints < ActiveRecord::Migration def self.up diff --git a/db/migrate/006_tile_nodes.rb b/db/migrate/006_tile_nodes.rb index 4f40a5f39..b56a095a4 100644 --- a/db/migrate/006_tile_nodes.rb +++ b/db/migrate/006_tile_nodes.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class TileNodes < ActiveRecord::Migration def self.upgrade_table(from_table, to_table, model) diff --git a/db/migrate/007_add_relations.rb b/db/migrate/007_add_relations.rb index cb5410378..41d62928f 100644 --- a/db/migrate/007_add_relations.rb +++ b/db/migrate/007_add_relations.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddRelations < ActiveRecord::Migration def self.up diff --git a/db/migrate/008_remove_segments.rb b/db/migrate/008_remove_segments.rb index a7d185e4c..ce49e9cca 100644 --- a/db/migrate/008_remove_segments.rb +++ b/db/migrate/008_remove_segments.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class RemoveSegments < ActiveRecord::Migration def self.up diff --git a/db/migrate/010_diary_comments.rb b/db/migrate/010_diary_comments.rb index bf7319912..ecad2f5dc 100644 --- a/db/migrate/010_diary_comments.rb +++ b/db/migrate/010_diary_comments.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class DiaryComments < ActiveRecord::Migration def self.up diff --git a/db/migrate/018_create_acls.rb b/db/migrate/018_create_acls.rb index d82020892..08ed4f731 100644 --- a/db/migrate/018_create_acls.rb +++ b/db/migrate/018_create_acls.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CreateAcls < ActiveRecord::Migration def self.up diff --git a/db/migrate/020_populate_node_tags_and_remove.rb b/db/migrate/020_populate_node_tags_and_remove.rb index 0e2fae063..4c9628f27 100644 --- a/db/migrate/020_populate_node_tags_and_remove.rb +++ b/db/migrate/020_populate_node_tags_and_remove.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class PopulateNodeTagsAndRemove < ActiveRecord::Migration def self.up diff --git a/db/migrate/021_move_to_innodb.rb b/db/migrate/021_move_to_innodb.rb index 50e7ec8be..f9110cca6 100644 --- a/db/migrate/021_move_to_innodb.rb +++ b/db/migrate/021_move_to_innodb.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class MoveToInnodb < ActiveRecord::Migration @@conv_tables = ['nodes', 'ways', 'way_tags', 'way_nodes', diff --git a/db/migrate/022_key_constraints.rb b/db/migrate/022_key_constraints.rb index a9d6fb102..f94c965bb 100644 --- a/db/migrate/022_key_constraints.rb +++ b/db/migrate/022_key_constraints.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class KeyConstraints < ActiveRecord::Migration def self.up diff --git a/db/migrate/023_add_changesets.rb b/db/migrate/023_add_changesets.rb index de3e3bc48..5bee21512 100644 --- a/db/migrate/023_add_changesets.rb +++ b/db/migrate/023_add_changesets.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddChangesets < ActiveRecord::Migration @@conv_user_tables = ['current_nodes', diff --git a/db/migrate/024_order_relation_members.rb b/db/migrate/024_order_relation_members.rb index 76ec32222..325be5174 100644 --- a/db/migrate/024_order_relation_members.rb +++ b/db/migrate/024_order_relation_members.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class OrderRelationMembers < ActiveRecord::Migration def self.up diff --git a/db/migrate/025_add_end_time_to_changesets.rb b/db/migrate/025_add_end_time_to_changesets.rb index 20d66719d..eaccc008f 100644 --- a/db/migrate/025_add_end_time_to_changesets.rb +++ b/db/migrate/025_add_end_time_to_changesets.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddEndTimeToChangesets < ActiveRecord::Migration def self.up diff --git a/db/migrate/029_add_user_foreign_keys.rb b/db/migrate/029_add_user_foreign_keys.rb index 759359258..cb0d9e1dd 100644 --- a/db/migrate/029_add_user_foreign_keys.rb +++ b/db/migrate/029_add_user_foreign_keys.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddUserForeignKeys < ActiveRecord::Migration def self.up diff --git a/db/migrate/030_add_foreign_keys.rb b/db/migrate/030_add_foreign_keys.rb index 5adc20559..e3dc7e82d 100644 --- a/db/migrate/030_add_foreign_keys.rb +++ b/db/migrate/030_add_foreign_keys.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddForeignKeys < ActiveRecord::Migration def self.up diff --git a/db/migrate/031_create_countries.rb b/db/migrate/031_create_countries.rb index 3ee4a8d77..cc0627cd2 100644 --- a/db/migrate/031_create_countries.rb +++ b/db/migrate/031_create_countries.rb @@ -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 diff --git a/db/migrate/034_create_languages.rb b/db/migrate/034_create_languages.rb index 95ed7d9ce..e62a3dff9 100644 --- a/db/migrate/034_create_languages.rb +++ b/db/migrate/034_create_languages.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CreateLanguages < ActiveRecord::Migration def self.up diff --git a/db/migrate/035_change_user_locale.rb b/db/migrate/035_change_user_locale.rb index 7dc80549e..bfb43056a 100644 --- a/db/migrate/035_change_user_locale.rb +++ b/db/migrate/035_change_user_locale.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class ChangeUserLocale < ActiveRecord::Migration def self.up diff --git a/db/migrate/039_add_more_controls_to_gpx_files.rb b/db/migrate/039_add_more_controls_to_gpx_files.rb index 133838ac2..7cc485e6b 100644 --- a/db/migrate/039_add_more_controls_to_gpx_files.rb +++ b/db/migrate/039_add_more_controls_to_gpx_files.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddMoreControlsToGpxFiles < ActiveRecord::Migration def self.up diff --git a/db/migrate/042_add_foreign_keys_to_oauth_tables.rb b/db/migrate/042_add_foreign_keys_to_oauth_tables.rb index 09de54349..ee8048a36 100644 --- a/db/migrate/042_add_foreign_keys_to_oauth_tables.rb +++ b/db/migrate/042_add_foreign_keys_to_oauth_tables.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddForeignKeysToOauthTables < ActiveRecord::Migration def self.up diff --git a/db/migrate/044_create_user_roles.rb b/db/migrate/044_create_user_roles.rb index 10ec3ee7b..6544bbba1 100644 --- a/db/migrate/044_create_user_roles.rb +++ b/db/migrate/044_create_user_roles.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CreateUserRoles < ActiveRecord::Migration def self.up diff --git a/db/migrate/045_create_user_blocks.rb b/db/migrate/045_create_user_blocks.rb index 7276ef1a5..b3313ce92 100644 --- a/db/migrate/045_create_user_blocks.rb +++ b/db/migrate/045_create_user_blocks.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class CreateUserBlocks < ActiveRecord::Migration def self.up diff --git a/db/migrate/046_alter_user_roles_and_blocks.rb b/db/migrate/046_alter_user_roles_and_blocks.rb index db0813e33..9799e4e5e 100644 --- a/db/migrate/046_alter_user_roles_and_blocks.rb +++ b/db/migrate/046_alter_user_roles_and_blocks.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AlterUserRolesAndBlocks < ActiveRecord::Migration def self.up diff --git a/db/migrate/051_add_status_to_user.rb b/db/migrate/051_add_status_to_user.rb index cc8a2f238..01d501d01 100644 --- a/db/migrate/051_add_status_to_user.rb +++ b/db/migrate/051_add_status_to_user.rb @@ -1,4 +1,4 @@ -require 'lib/migrate' +require 'migrate' class AddStatusToUser < ActiveRecord::Migration def self.up diff --git a/db/migrate/20111212183945_add_lowercase_user_indexes.rb b/db/migrate/20111212183945_add_lowercase_user_indexes.rb index 27355b1d1..4142a642d 100644 --- a/db/migrate/20111212183945_add_lowercase_user_indexes.rb +++ b/db/migrate/20111212183945_add_lowercase_user_indexes.rb @@ -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 index 000000000..f46d61bb5 --- /dev/null +++ b/db/migrate/20120123184321_switch_to_paperclip.rb @@ -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 index 000000000..791bf659a --- /dev/null +++ b/db/migrate/20120208122334_merge_acl_address_and_mask.rb @@ -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 index 000000000..43dd82923 --- /dev/null +++ b/db/migrate/20120208194454_add_domain_to_acl.rb @@ -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 index 000000000..5c9dd4083 --- /dev/null +++ b/db/migrate/20120219161649_add_user_image_fingerprint.rb @@ -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 index 000000000..05630d889 --- /dev/null +++ b/db/structure.sql @@ -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/vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination.rb b/lib/classic_pagination/pagination.rb similarity index 100% rename from vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination.rb rename to lib/classic_pagination/pagination.rb diff --git a/vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination_helper.rb b/lib/classic_pagination/pagination_helper.rb similarity index 100% rename from vendor/gems/composite_primary_keys-2.2.2/test/plugins/pagination_helper.rb rename to lib/classic_pagination/pagination_helper.rb diff --git a/lib/mem_cache.rb b/lib/mem_cache.rb new file mode 100644 index 000000000..ddb842b53 --- /dev/null +++ b/lib/mem_cache.rb @@ -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 index 000000000..e69de29bb diff --git a/lib/migrate.rb b/lib/migrate.rb index 8f7e635f1..75e047815 100644 --- a/lib/migrate.rb +++ b/lib/migrate.rb @@ -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) diff --git a/lib/osm.rb b/lib/osm.rb index 02c51df78..c85abc0f3 100644 --- a/lib/osm.rb +++ b/lib/osm.rb @@ -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| diff --git a/vendor/plugins/output_compression/LICENSE b/lib/output_compression/LICENSE similarity index 100% rename from vendor/plugins/output_compression/LICENSE rename to lib/output_compression/LICENSE diff --git a/vendor/plugins/output_compression/README b/lib/output_compression/README similarity index 100% rename from vendor/plugins/output_compression/README rename to lib/output_compression/README diff --git a/vendor/plugins/output_compression/lib/output_compression.rb b/lib/output_compression/output_compression.rb similarity index 100% rename from vendor/plugins/output_compression/lib/output_compression.rb rename to lib/output_compression/output_compression.rb diff --git a/lib/potlatch2.rb b/lib/potlatch2.rb index f967c032c..45c0ccde9 100644 --- a/lib/potlatch2.rb +++ b/lib/potlatch2.rb @@ -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 diff --git a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys.rb b/lib/session_persistence.rb 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 64f7e14b3..7d45d1fc4 100644 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys.rb +++ b/lib/session_persistence.rb @@ -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 @@ -19,37 +18,38 @@ # 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 diff --git a/public/403.html b/public/403.html index 667b7c7e8..3aab8ccfb 100644 --- a/public/403.html +++ b/public/403.html @@ -2,7 +2,7 @@ "http://www.w3.org/TR/html4/loose.dtd"> - +

    Forbidden

    The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)

    diff --git a/public/404.html b/public/404.html index 9f6b91c7f..94eff455f 100644 --- a/public/404.html +++ b/public/404.html @@ -2,7 +2,7 @@ "http://www.w3.org/TR/html4/loose.dtd"> - +

    File not found

    Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)

    diff --git a/public/500.html b/public/500.html index b85842159..1580caa1d 100644 --- a/public/500.html +++ b/public/500.html @@ -2,7 +2,7 @@ "http://www.w3.org/TR/html4/loose.dtd"> - +

    Application error

    The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)

    diff --git a/public/potlatch2/locales/ast.swf b/public/potlatch2/locales/ast.swf new file mode 100644 index 000000000..0c19e2f4f 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 index 000000000..276f01d8a Binary files /dev/null and b/public/potlatch2/locales/br.swf differ diff --git a/public/potlatch2/locales/de_DE.swf b/public/potlatch2/locales/de_DE.swf index 202dec518..d39cf158f 100644 Binary files a/public/potlatch2/locales/de_DE.swf and b/public/potlatch2/locales/de_DE.swf differ diff --git a/public/potlatch2/locales/en_GB.swf b/public/potlatch2/locales/en_GB.swf index 0dedeb723..1586a7965 100644 Binary files a/public/potlatch2/locales/en_GB.swf and b/public/potlatch2/locales/en_GB.swf differ diff --git a/public/potlatch2/locales/en_US.swf b/public/potlatch2/locales/en_US.swf index 57e148f8e..13050fa37 100644 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 index 000000000..ef995c1cf 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 index 000000000..49e6cdb49 Binary files /dev/null and b/public/potlatch2/locales/fi.swf differ diff --git a/public/potlatch2/locales/fr_FR.swf b/public/potlatch2/locales/fr_FR.swf index 845c84aeb..705787164 100644 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 index 000000000..383829283 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 index 000000000..66038f36d Binary files /dev/null and b/public/potlatch2/locales/hsb.swf differ diff --git a/public/potlatch2/locales/ja_JP.swf b/public/potlatch2/locales/ja_JP.swf index bce0467df..b20221924 100644 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 index 000000000..61215e473 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 index 000000000..0b09c6794 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 index 000000000..3dca073c7 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 index 000000000..544130ad2 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 index 000000000..ca73dfc23 Binary files /dev/null and b/public/potlatch2/locales/nn_NO.swf differ diff --git a/public/potlatch2/locales/pl_PL.swf b/public/potlatch2/locales/pl_PL.swf index 50137b6c5..00f3d2a0b 100644 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 index 000000000..68cce1c80 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 index 000000000..472338f5a 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 index 000000000..a7b500ea3 Binary files /dev/null and b/public/potlatch2/locales/tr.swf differ diff --git a/public/potlatch2/locales/vi_VN.swf b/public/potlatch2/locales/vi_VN.swf index d7b199732..703590e08 100644 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 index 000000000..bfcfd6730 Binary files /dev/null and b/public/potlatch2/locales/zh_CN.swf differ diff --git a/public/potlatch2/map_features/buildings.xml b/public/potlatch2/map_features/buildings.xml index aa1b7da4b..e82502689 100644 --- a/public/potlatch2/map_features/buildings.xml +++ b/public/potlatch2/map_features/buildings.xml @@ -234,24 +234,6 @@ - - buildings - - ${name} ${addr:housename}
    - ${addr:housenumber} ${addr:street} ${addr:postcode} -
    - - - - - - - - - -
    - - diff --git a/public/potlatch2/map_features/landuse.xml b/public/potlatch2/map_features/landuse.xml index 09b921f8e..5a8eb1066 100644 --- a/public/potlatch2/map_features/landuse.xml +++ b/public/potlatch2/map_features/landuse.xml @@ -190,6 +190,24 @@ + + sport + + ${name} ${addr:housename}
    + ${addr:housenumber} ${addr:street} ${addr:postcode} +
    + + + + + + + + + +
    + + agriculture @@ -269,7 +287,7 @@ natural - + @@ -284,4 +302,4 @@ - \ No newline at end of file + diff --git a/public/potlatch2/potlatch2.swf b/public/potlatch2/potlatch2.swf index 7cf0d4785..10774290c 100644 Binary files a/public/potlatch2/potlatch2.swf and b/public/potlatch2/potlatch2.swf differ diff --git a/public/potlatch2/stylesheets/core_ways.css b/public/potlatch2/stylesheets/core_ways.css index 30c6e8e1d..6c260b0fc 100644 --- a/public/potlatch2/stylesheets/core_ways.css +++ b/public/potlatch2/stylesheets/core_ways.css @@ -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], diff --git a/public/potlatch2/stylesheets/snapshot.css b/public/potlatch2/stylesheets/snapshot.css index ef9442782..5450546e3 100644 --- a/public/potlatch2/stylesheets/snapshot.css +++ b/public/potlatch2/stylesheets/snapshot.css @@ -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; } diff --git a/script/deliver-message b/script/deliver-message index b6c679b0a..669e54a66 100755 --- a/script/deliver-message +++ b/script/deliver-message @@ -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 diff --git a/script/update-spam-blocks b/script/update-spam-blocks index 903fc9b8a..3cb9dcedd 100755 --- a/script/update-spam-blocks +++ b/script/update-spam-blocks @@ -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" }) diff --git a/test/fixtures/diary_comments.yml b/test/fixtures/diary_comments.yml index 8bb9f49bd..b8fb5c853 100644 --- a/test/fixtures/diary_comments.yml +++ b/test/fixtures/diary_comments.yml @@ -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" diff --git a/test/fixtures/diary_entries.yml b/test/fixtures/diary_entries.yml index 34fb55268..864dc250d 100644 --- a/test/fixtures/diary_entries.yml +++ b/test/fixtures/diary_entries.yml @@ -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 diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 7d89b858d..34ac9ce42 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -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 diff --git a/test/functional/way_controller_test.rb b/test/functional/way_controller_test.rb index 52ba263e0..bba13062c 100644 --- a/test/functional/way_controller_test.rb +++ b/test/functional/way_controller_test.rb @@ -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 diff --git a/test/integration/user_blocks_test.rb b/test/integration/user_blocks_test.rb index 7003d7692..11fcae91a 100644 --- a/test/integration/user_blocks_test.rb +++ b/test/integration/user_blocks_test.rb @@ -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 diff --git a/test/unit/diary_comment_test.rb b/test/unit/diary_comment_test.rb index 8c03d6a36..e4ac3d422 100644 --- a/test/unit/diary_comment_test.rb +++ b/test/unit/diary_comment_test.rb @@ -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 diff --git a/test/unit/diary_entry_test.rb b/test/unit/diary_entry_test.rb index d645aa860..2d5c34f83 100644 --- a/test/unit/diary_entry_test.rb +++ b/test/unit/diary_entry_test.rb @@ -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 index 000000000..73f893455 --- /dev/null +++ b/test/unit/i18n_test.rb @@ -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 diff --git a/test/unit/node_test.rb b/test/unit/node_test.rb index 6bfcf7926..78f060678 100644 --- a/test/unit/node_test.rb +++ b/test/unit/node_test.rb @@ -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) diff --git a/test/unit/oauth_token_test.rb b/test/unit/oauth_token_test.rb index eb8219c57..ff0353791 100644 --- a/test/unit/oauth_token_test.rb +++ b/test/unit/oauth_token_test.rb @@ -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." diff --git a/test/unit/trace_test.rb b/test/unit/trace_test.rb index db6dc6044..b8cf6b88a 100644 --- a/test/unit/trace_test.rb +++ b/test/unit/trace_test.rb @@ -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 diff --git a/test/unit/tracetag_test.rb b/test/unit/tracetag_test.rb index 41e77dfe4..2112e5891 100644 --- a/test/unit/tracetag_test.rb +++ b/test/unit/tracetag_test.rb @@ -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 diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 843c31905..eb2f2a959 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -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 index bcaac0886..000000000 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 index 43f288ba5..000000000 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 index 81d4b8f48..000000000 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 index a7397712a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/.specification +++ /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 index c87aab35e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/History.txt +++ /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 index 733fd9980..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/Manifest.txt +++ /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 index b0d8c12d6..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/README.txt +++ /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 index b69505fdb..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/README_DB2.txt +++ /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 index e5bebdb97..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/Rakefile +++ /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 index 7ae5e5d4e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/init.rb +++ /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 index 7d021ce1d..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/install.rb +++ /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 index 9c201be15..000000000 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 index 02f57fdd9..000000000 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 index 36ed05a68..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/base.rb +++ /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 index 8762e1d73..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/mysql.rb +++ /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 index 76a9d19f4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/oracle.rb +++ /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 index ea2c4bef1..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/postgresql.rb +++ /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 index 7a45d9fad..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/adapter_helper/sqlite3.rb +++ /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 index c391b150e..000000000 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 index 6424d21d1..000000000 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 index fb7cea4a1..000000000 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 index 56b2b9c73..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/association_preload.rb +++ /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 - # (id_to_record_map, ids) 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 index 6b6366455..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/associations.rb +++ /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 index a0e3331df..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/attribute_methods.rb +++ /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 index 4558f97a3..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/base.rb +++ /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 attr_name 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 index ea7f2fd94..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/calculations.rb +++ /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 index dab39142b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/composite_arrays.rb +++ /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 index 1ab47179f..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb +++ /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 index af558fa6e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/oracle_adapter.rb +++ /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 index 65fce48f6..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb +++ /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 index 052757720..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/connection_adapters/sqlite3_adapter.rb +++ /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 index 7dfaf08fb..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/fixtures.rb +++ /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 index 2a50404c5..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/migration.rb +++ /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 index 2d82d9c8a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/reflection.rb +++ /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 index 49a11be2a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/lib/composite_primary_keys/version.rb +++ /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 index 052c47ce1..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/loader.rb +++ /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 index 22b643511..000000000 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 index be67edd97..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/local/database_connections.rb.sample +++ /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 index 65ba16f68..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/local/paths.rb.sample +++ /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 index 29daf8d6f..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/local/tasks.rb.sample +++ /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 index 7053e926b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/scripts/console.rb +++ /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__} " - 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 index d5ab2c698..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2html +++ /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!^
    |
    $!,'') -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=['"]([^'"]+)[^>]*>(.*?)!m){ - ident = syntax_items.length - element, syntax, source = $1, $2, $3 - syntax_items << "<#{element} class=\"syntax\">#{convert_syntax(syntax, source)}" - "syntax-temp-#{ident}" - } - title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip - body = RedCloth.new(body_text).to_html - body.gsub!(%r!(?:
    )?syntax-temp-(\d+)(?:
    )?!){ 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 index 4a287cad1..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/scripts/txt2js +++ /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!^
    |
    $!,'') -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 index 44ca4bb24..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/activerecord_selection.rake +++ /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 index 0d9151753..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases.rake +++ /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 index e05239ee2..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/mysql.rake +++ /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 index 4861d0137..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/oracle.rake +++ /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 index 13b34e2ed..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/postgresql.rake +++ /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 index 9a5579ad8..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/databases/sqlite3.rake +++ /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 index 84f143b70..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/deployment.rake +++ /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 index 1b8afa8b7..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/local_setup.rake +++ /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 index 600f5633f..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/tasks/website.rake +++ /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 index cf677a1e3..000000000 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 index 32a5c9437..000000000 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 index 47724498f..000000000 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 index 66fe21f2e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/README_tests.txt +++ /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_ - 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 index f33edfaeb..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/abstract_unit.rb +++ /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 index 7a40f7c3d..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_ibm_db/connection.rb +++ /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 index 12dbe4cd3..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_mysql/connection.rb +++ /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 index 383538fed..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_oracle/connection.rb +++ /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 index a2d93f92b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_postgresql/connection.rb +++ /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 index 7c6102e0b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/connections/native_sqlite/connection.rb +++ /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 index 78c3fc784..000000000 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 index 1b2bdc10e..000000000 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 index 584e04138..000000000 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 index 4be809c55..000000000 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 index a8ba93719..000000000 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 index 40e026b52..000000000 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 index b56263821..000000000 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 index 477c809fa..000000000 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 index 415127780..000000000 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 index 2be8efd28..000000000 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 index ac2ee10a3..000000000 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 index 41b980525..000000000 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 index b08e02e44..000000000 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 index 7fae392bd..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/article.rb +++ /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 index f4cb4778a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/articles.yml +++ /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 index 857bf70aa..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comment.rb +++ /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 index 7f145143a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/comments.yml +++ /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 index edff930de..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-create-tables.sql +++ /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 index eb4843358..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/db2-drop-tables.sql +++ /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 index e83d3aae5..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/mysql.sql +++ /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 index d23e3a341..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.drop.sql +++ /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 index 8db0ff208..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/oracle.sql +++ /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 index c3ca7881e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/postgresql.sql +++ /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 index fd8c56687..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/db_definitions/sqlite.sql +++ /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 index a76eaf3ca..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/department.rb +++ /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 index 4213244a4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/departments.yml +++ /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 index 2b47e0989..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employee.rb +++ /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 index c2efd839a..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/employees.yml +++ /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 index 889ee2f52..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/group.rb +++ /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 index a15185e13..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/groups.yml +++ /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 index 71d6cac83..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hack.rb +++ /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 index 29f67b1f4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/hacks.yml +++ /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 index d5111e964..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership.rb +++ /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 index 54b687c6c..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_status.rb +++ /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 index d3f3c3062..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/membership_statuses.yml +++ /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 index f6cdc84a3..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/memberships.yml +++ /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 index e780fd2f4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product.rb +++ /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 index d5c9befbb..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariff.rb +++ /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 index 72be1e7ad..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/product_tariffs.yml +++ /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 index c436c296b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/products.yml +++ /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 index 014d8b810..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reading.rb +++ /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 index 36e9ac300..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/readings.yml +++ /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 index e20fb0644..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_code.rb +++ /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 index f4d88bc86..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_codes.yml +++ /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 index c09bd2f20..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_type.rb +++ /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 index 9c5e3d347..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/reference_types.yml +++ /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 index de92917d0..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/street.rb +++ /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 index 38998c469..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/streets.yml +++ /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 index f2eb181c3..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburb.rb +++ /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 index d230fbae4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/suburbs.yml +++ /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 index 3feba4434..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariff.rb +++ /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 index 997ebb8f1..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/tariffs.yml +++ /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 index 674481835..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/user.rb +++ /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 index 858c47cab..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/fixtures/users.yml +++ /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 index 856fc5fea..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/hash_tricks.rb +++ /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 index 4c69ce57b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_associations.rb +++ /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 index b020a64ca..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_attribute_methods.rb +++ /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 index 750408202..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_attributes.rb +++ /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 index 26e7970d5..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb +++ /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 index 41e21f8f8..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_composite_arrays.rb +++ /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 index dfbc77397..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_create.rb +++ /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 index 2bd0d2abe..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_delete.rb +++ /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 index da21c4716..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_dummy.rb +++ /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 index 56f4af29b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_exists.rb +++ /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 index c8c1af7dc..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_find.rb +++ /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 index 3cd4f3c9e..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_ids.rb +++ /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 index e5de57021..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_miscellaneous.rb +++ /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 index 4952ff207..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_pagination.rb +++ /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 index a632da977..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_polymorphic.rb +++ /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 index 771c414a7..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_santiago.rb +++ /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 index 01f9ec603..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_tutorial_examle.rb +++ /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 index 87ca8f5f4..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/test/test_update.rb +++ /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 index 6e8ed6f61..000000000 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 index 1969d5c62..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/index.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - Composite Primary Keys - - - - - - -
    - -

    Composite Primary Keys

    -
    - Get Version - 2.2.2 -
    -

    → Ruby on Rails

    -

    → ActiveRecords

    -

    What

    -

    Ruby on Rails does not support composite primary keys. This free software is an extension
    -to the database layer of Rails – ActiveRecords – to support composite primary keys as transparently as possible.

    -

    Any Ruby script using ActiveRecords can use Composite Primary Keys with this library.

    -

    Installing

    -

    sudo gem install composite_primary_keys

    -

    Rails: Add the following to the bottom of your environment.rb file

    -

    require 'composite_primary_keys'

    -

    Ruby scripts: Add the following to the top of your script

    -

    require 'rubygems'
    -require 'composite_primary_keys'

    -

    The basics

    -

    A model with composite primary keys would look like…

    -

    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

    -

    A model associated with a composite key model would be defined like…

    -

    class MembershipStatus < ActiveRecord::Base
    -  belongs_to :membership, :foreign_key => [:user_id, :group_id]
    -end

    -

    That is, associations can include composite keys too. Nice.

    -

    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.

    -

    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"

    -

    Now we want to be able to find instances using the same syntax we always use for ActiveRecords…

    -

    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"}>

    -

    Using Ruby on Rails? You’ll want to your url_for helpers
    -to convert composite keys into strings and back again…

    -

    Membership.find(:first).to_param # => "1,1"

    -

    And then use the string id within your controller to find the object again

    -

    params[:id] # => '1,1'
    -Membership.find(params[:id])
    -=> <Membership:0x3904288 @attributes={"user_id"=>"1", "group_id"=>"1"}>

    -

    That is, an ActiveRecord supporting composite keys behaves transparently
    -throughout your application. Just like a normal ActiveRecord.

    -

    Other tricks

    -

    Pass a list of composite ids to the #find method

    -

    Membership.find [1,1], [2,1]
    -=> [
    -  <Membership:0x394ade8 @attributes={"user_id"=>"1", "group_id"=>"1"}>, 
    -  <Membership:0x394ada0 @attributes={"user_id"=>"2", "group_id"=>"1"}>
    -]

    -

    Perform #count operations

    -

    MembershipStatus.find(:first).memberships.count # => 1

    -

    Routes with Rails

    -

    From Pete Sumskas:

    -
    -

    I ran into one problem that I didn’t see mentioned on this list
    - 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:
    -
    -

    /controller/show/123000,Bu70

    -

    for a two-field composite PK. The default routing would not match that,
    - so after working out how to do the routing I added:
    -
    -

    map.connect ':controller/:action/:id', :id => /\w+(,\w+)*/

    -
    - to my route.rb file.

    -
    -

    -

    Which databases?

    -

    A suite of unit tests have been run on the following databases supported by ActiveRecord:

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DatabaseTest SuccessUser feedback
    mysql YESYES (Yes! or No…)
    sqlite3 YESYES (Yes! or No…)
    postgresqlYESYES (Yes! or No…)
    oracle YESYES (Yes! or No…)
    sqlserver ??? (I can help)??? (Yes! or No…)
    db2 ??? (I can help)??? (Yes! or No…)
    firebird ??? (I can help)??? (Yes! or No…)
    sybase ??? (I can help)??? (Yes! or No…)
    openbase ??? (I can help)??? (Yes! or No…)
    frontbase ??? (I can help)??? (Yes! or No…)
    -

    Dr Nic’s Blog

    -

    http://www.drnicwilliams.com – for future announcements and
    -other stories and things.

    -

    Forum

    -

    http://groups.google.com/group/compositekeys

    -

    How to submit patches

    -

    Read the 8 steps for fixing other people’s code and for section 8b: Submit patch to Google Groups, use the Google Group above.

    -

    The source for this project is available via git. You can browse and/or fork the source, or to clone the project locally:
    -
    -

    git clone git://github.com/drnic/composite_primary_keys.git

    -

    Licence

    -

    This code is free to use under the terms of the MIT licence.

    -

    Contact

    -

    Comments are welcome. Send an email to Dr Nic Williams.

    -

    - Dr Nic, 21st January 2009
    - Theme extended from Paul Battley -

    -
    - - - - - - 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 index 9777851bf..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/index.txt +++ /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 - -
    sudo gem install composite_primary_keys
    - -Rails: Add the following to the bottom of your environment.rb file - -
    require 'composite_primary_keys'
    - -Ruby scripts: Add the following to the top of your script - -
    require 'rubygems'
    -require 'composite_primary_keys'
    - -h2. The basics - -A model with composite primary keys would look like... - -
    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
    - -A model associated with a composite key model would be defined like... - -
    class MembershipStatus < ActiveRecord::Base
    -  belongs_to :membership, :foreign_key => [:user_id, :group_id]
    -end
    - -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. - -
    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"
    - -Now we want to be able to find instances using the same syntax we always use for ActiveRecords... - -
    MembershipStatus.find(1)    # single id returns single instance
    -=> "1", "status"=>"Active"}>
    -Membership.find(1,1)  # composite ids returns single instance
    -=> "1", "group_id"=>"1"}>
    - -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... - -
    Membership.find(:first).to_param # => "1,1"
    - -And then use the string id within your controller to find the object again - -
    params[:id] # => '1,1'
    -Membership.find(params[:id])
    -=> "1", "group_id"=>"1"}>
    - -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 #find method - -
    Membership.find [1,1], [2,1]
    -=> [
    -  "1", "group_id"=>"1"}>, 
    -  "2", "group_id"=>"1"}>
    -]
    - -Perform #count operations - -
    MembershipStatus.find(:first).memberships.count # => 1
    - -h3. Routes with Rails - -From Pete Sumskas: - -
    - 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: - -
    /controller/show/123000,Bu70
    - - for a two-field composite PK. The default routing would not match that, - so after working out how to do the routing I added: - -
    map.connect ':controller/:action/:id', :id => /\w+(,\w+)*/
    - - to my route.rb file. - -
    - - - -h2. Which databases? - - -A suite of unit tests have been run on the following databases supported by ActiveRecord: - -|_.Database|_.Test Success|_.User feedback| -|mysql |YES|YES ("Yes!":mailto:compositekeys@googlegroups.com?subject=Mysql+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Mysql+is+failing)| -|sqlite3 |YES|YES ("Yes!":mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Sqlite3+is+failing)| -|postgresql|YES|YES ("Yes!":mailto:compositekeys@googlegroups.com?subject=Postgresql+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Postgresql+is+failing)| -|oracle |YES|YES ("Yes!":mailto:compositekeys@googlegroups.com?subject=Oracle+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Oracle+is+failing)| -|sqlserver |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+SQLServer)|??? ("Yes!":mailto:compositekeys@googlegroups.com?subject=SQLServer+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=SQLServer+is+failing)| -|db2 |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+DB2)|??? ("Yes!":mailto:compositekeys@googlegroups.com?subject=DB2+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=DB2+is+failing)| -|firebird |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Firebird)|??? ("Yes!":mailto:compositekeys@googlegroups.com?subject=Firebird+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Firebird+is+failing)| -|sybase |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Sybase)|??? ("Yes!":mailto:compositekeys@googlegroups.com?subject=Sybase+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Sybase+is+failing)| -|openbase |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Openbase)|??? ("Yes!":mailto:compositekeys@googlegroups.com?subject=Openbase+is+working or "No...":mailto:compositekeys@googlegroups.com?subject=Openbase+is+failing)| -|frontbase |??? ("I can help":mailto:compositekeys@googlegroups.com?subject=Help+with+Frontbase)|??? ("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: - -
    git clone git://github.com/drnic/composite_primary_keys.git
    - -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 index afc3ea327..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/javascripts/rounded_corners_lite.inc.js +++ /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 index cfa43425b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/stylesheets/screen.css +++ /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 index fbaf5a5e8..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/template.js +++ /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 index 3e2c531c0..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/template.rhtml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - <%= title %> - - - - - - -
    - -

    <%= title %>

    -
    - Get Version - <%= version %> -
    - <%= body %> -

    - Dr Nic, <%= modified.pretty %>
    - Theme extended from Paul Battley -

    -
    - - - - - - 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 index 9db7da485..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.js +++ /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 index 9059e938d..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/version-raw.txt +++ /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 index 3225547c9..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/version.js +++ /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 index 6054d2f4b..000000000 --- a/vendor/gems/composite_primary_keys-2.2.2/website/version.txt +++ /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 index d7d11f129..000000000 --- a/vendor/plugins/classic_pagination/CHANGELOG +++ /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 & 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 index e94904974..000000000 --- a/vendor/plugins/classic_pagination/README +++ /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 index c7e374b56..000000000 --- a/vendor/plugins/classic_pagination/Rakefile +++ /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 index adf746f8b..000000000 --- a/vendor/plugins/classic_pagination/install.rb +++ /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 index 6a3e1a97b..000000000 --- a/vendor/plugins/classic_pagination/lib/pagination.rb +++ /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 @people - # 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 - # @person_pages Paginator instance. The current page is determined - # by the params[:page] 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 @person_pages - # and @people 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 @people 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: - # :singular_name:: the singular name to use, if it can't be inferred by singularizing the collection name - # :class_name:: the class name to use, if it can't be inferred by - # camelizing the singular name - # :per_page:: the maximum number of items to include in a - # single page. Defaults to 10 - # :conditions:: optional conditions passed to Model.find(:all, *params) and - # Model.count - # :order:: optional order parameter passed to Model.find(:all, *params) - # :order_by:: (deprecated, used :order) optional order parameter passed to Model.find(:all, *params) - # :joins:: optional joins parameter passed to Model.find(:all, *params) - # and Model.count - # :join:: (deprecated, used :joins or :include) optional join parameter passed to Model.find(:all, *params) - # and Model.count - # :include:: optional eager loading parameter passed to Model.find(:all, *params) - # and Model.count - # :select:: :select parameter passed to Model.find(:all, *params) - # - # :count:: parameter passed as :select option to Model.count(*params) - # - # :group:: :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 :actions option). - # - # +options+ are the same as PaginationHelper#paginate, with the addition - # of: - # :actions:: 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 index 069d77566..000000000 --- a/vendor/plugins/classic_pagination/lib/pagination_helper.rb +++ /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 - # :name:: the routing name for this paginator - # (defaults to +page+) - # :prefix:: prefix for pagination links - # (i.e. Older Pages: 1 2 3 4) - # :suffix:: suffix for pagination links - # (i.e. 1 2 3 4 <- Older Pages) - # :window_size:: the number of pages to show around - # the current page (defaults to 2) - # :always_show_anchors:: whether or not the first and last - # pages should always be shown - # (defaults to +true+) - # :link_to_current_page:: whether or not the current page - # should be linked to (defaults to - # +false+) - # :params:: any additional routing parameters - # for page URLs - # - # ==== Examples - # # We'll assume we have a paginator setup in @person_pages... - # - # pagination_links(@person_pages) - # # => 1 2 3 ... 10 - # - # pagination_links(@person_pages, :link_to_current_page => true) - # # => 1 2 3 ... 10 - # - # pagination_links(@person_pages, :always_show_anchors => false) - # # => 1 2 3 - # - # pagination_links(@person_pages, :window_size => 1) - # # => 1 2 ... 10 - # - # pagination_links(@person_pages, :params => { :viewer => "flash" }) - # # => 1 2 3 ... - # # 10 - 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 - # :window_size:: the number of pages to show around - # the current page (defaults to +2+) - # :always_show_anchors:: whether or not the first and last - # pages should always be shown - # (defaults to +true+) - # :link_to_current_page:: 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 index 707f72abc..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/companies.yml +++ /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 index 0d1c29b90..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/company.rb +++ /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 index f5e5b901f..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/developer.rb +++ /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 index 308bf75de..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/developers.yml +++ /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 index cee359c7c..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml +++ /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 index 2b53d39ed..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/project.rb +++ /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 index 02800c782..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/projects.yml +++ /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 index 284c9c079..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/replies.yml +++ /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 index ea84042b9..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/reply.rb +++ /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 index b4e7539d1..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/schema.sql +++ /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 index 0beeecf28..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/topic.rb +++ /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 index 61ea02d76..000000000 --- a/vendor/plugins/classic_pagination/test/fixtures/topics.yml +++ /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 index 3f76d5a76..000000000 --- a/vendor/plugins/classic_pagination/test/helper.rb +++ /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 index d8394a793..000000000 --- a/vendor/plugins/classic_pagination/test/pagination_helper_test.rb +++ /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 2 3 ", 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 2 3 ", 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 2 3 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 index 16a6f1d84..000000000 --- a/vendor/plugins/classic_pagination/test/pagination_test.rb +++ /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 index b5937ce0e..000000000 --- a/vendor/plugins/deadlock_retry/README +++ /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 index 8063a6ed4..000000000 --- a/vendor/plugins/deadlock_retry/Rakefile +++ /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 index 2d7c5f36e..000000000 --- a/vendor/plugins/deadlock_retry/init.rb +++ /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 index f287c4e67..000000000 --- a/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb +++ /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 < 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 index 7124391f8..000000000 --- a/vendor/plugins/deadlock_retry/test/deadlock_retry_test.rb +++ /dev/null @@ -1,95 +0,0 @@ -begin - require 'active_record' -rescue LoadError - if ENV['ACTIVERECORD_PATH'].nil? - abort < 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 index bb4e5c6c9..000000000 --- a/vendor/plugins/file_column/CHANGELOG +++ /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 index 07a6e9661..000000000 --- a/vendor/plugins/file_column/README +++ /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//filename.ext" - -* Newly uploaded files will be stored in "public/entry/tmp//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 index 0a2468248..000000000 --- a/vendor/plugins/file_column/Rakefile +++ /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 index d46e9fa80..000000000 --- a/vendor/plugins/file_column/TODO +++ /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 index 0610d486c..000000000 --- a/vendor/plugins/file_column/init.rb +++ /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 index 389b464b5..000000000 --- a/vendor/plugins/file_column/lib/file_column.rb +++ /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 ActiveRecord::Base - # as class methods, so that you can use them in your models. - # - # == Generated Methods - # - # After calling "file_column :image" as in the example above, a number of instance methods - # will automatically be generated, all prefixed by "image": - # - # * Entry#image=(uploaded_file): 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). - # * Entry#image(subdir=nil): This will return an absolute path (as a - # string) to the currently uploaded file - # or nil if no file has been uploaded - # * Entry#image_relative_path(subdir=nil): 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. - # * Entry#image_just_uploaded?: 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 - # ActiveRecord::Base#attributes or ActiveRecord::Base#[] 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 0644 (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 :permissions options. The value - # you give here is passed directly to File::chmod, 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//test.png" and be moved to - # "public/entry/image//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 - # image("thumb"), 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 :fix_file_extensions 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 :mime_extensions 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 :file_exec 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/" for unsaved models. - # - # You can specify a custom root_path by setting the :root_path option. - # - # You can specify a custom storage_dir by setting the :storage_dir option. - # - # For setting a static storage_dir that doesn't change with respect to a particular - # instance, you assign :storage_dir 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 - # :store_dir 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 :store_dir. You can override this via the - # :tmp_base_dir 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 index 8c50053a3..000000000 --- a/vendor/plugins/file_column/lib/file_column_helper.rb +++ /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): - # - # - # - # - # 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 @entry) 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 @entry: - # - # /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 :absolute => - # true 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 :symbol will select a version defined in the model - # via FileColumn::Magick's :versions feature. - # * a geometry_string will dynamically create an - # image resized as specified by geometry_string. The image will - # be stored so that it does not have to be recomputed the next time the - # same version string is used. - # * some_hash will dynamically create an image - # that is created according to the options in some_hash. 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 :name => name 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 :versions 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 index f284410a3..000000000 --- a/vendor/plugins/file_column/lib/file_compat.rb +++ /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 index c4dc06fc3..000000000 --- a/vendor/plugins/file_column/lib/magick_file_column.rb +++ /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 :magick 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 :size 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 :magick option, you can set the :image_required - # 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 :name 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 :attributes 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 Proc object, you can also give a - # Symbol, 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. - # - # Note: 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 index af8c95a84..000000000 --- a/vendor/plugins/file_column/lib/rails_file_column.rb +++ /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 index 067879a2c..000000000 --- a/vendor/plugins/file_column/lib/test_case.rb +++ /dev/null @@ -1,124 +0,0 @@ -require 'test/unit' - -# Add the methods +upload+, the setup_file_fixtures and -# teardown_file_fixtures 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 - # - # * path The path to the file to upload. - # * content_type The MIME type of the file. If it is :guess, - # 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 - # setup 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 index 5b961eb9c..000000000 --- a/vendor/plugins/file_column/lib/validations.rb +++ /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 ActiveRecord::Base - # 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: - # * :in => 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: - # * :in => 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 :min option. - # - # Required options: - # * :min => 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 index 22bc53b70..000000000 --- a/vendor/plugins/file_column/test/abstract_unit.rb +++ /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 index a2f28baca..000000000 --- a/vendor/plugins/file_column/test/connection.rb +++ /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 index ffb2c43b8..000000000 --- a/vendor/plugins/file_column/test/file_column_helper_test.rb +++ /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 index 452b7815d..000000000 --- a/vendor/plugins/file_column/test/file_column_test.rb +++ /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 index b9f7c954d..000000000 --- a/vendor/plugins/file_column/test/fixtures/entry.rb +++ /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 index bd4933b43..000000000 --- a/vendor/plugins/file_column/test/fixtures/invalid-image.jpg +++ /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 index 083138e4f..000000000 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 index 55143f27b..000000000 --- a/vendor/plugins/file_column/test/fixtures/mysql.sql +++ /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 index 49b5ddbaa..000000000 --- a/vendor/plugins/file_column/test/fixtures/schema.rb +++ /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 index 7415eb6e4..000000000 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 index 036271927..000000000 --- a/vendor/plugins/file_column/test/magick_test.rb +++ /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 index a7daa6172..000000000 --- a/vendor/plugins/file_column/test/magick_view_only_test.rb +++ /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 index e644183ae..000000000 --- a/vendor/plugins/http_accept_language/README.rdoc +++ /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 http_accept_language, 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 index 6c5a4f57a..000000000 --- a/vendor/plugins/http_accept_language/Rakefile +++ /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 index 7dea76edb..000000000 --- a/vendor/plugins/http_accept_language/VERSION +++ /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 index 050a7ca56..000000000 --- a/vendor/plugins/http_accept_language/init.rb +++ /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 index 1266a3e64..000000000 --- a/vendor/plugins/http_accept_language/lib/http_accept_language.rb +++ /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 index 8c8a4460e..000000000 --- a/vendor/plugins/http_accept_language/test/http_accept_language_test.rb +++ /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 index 0ffac2d70..000000000 --- a/vendor/plugins/output_compression/Rakefile +++ /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 index 52bdcc3f2..000000000 --- a/vendor/plugins/output_compression/init.rb +++ /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 index 0382661bd..000000000 --- a/vendor/plugins/output_compression/lib/tasks/output_compression_tasks.rake +++ /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 index 9b94fa187..000000000 --- a/vendor/plugins/output_compression/test/output_compression_test.rb +++ /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 index 844852952..000000000 --- a/vendor/plugins/session-persistence/MIT_LICENSE +++ /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 index a8eb059da..000000000 --- a/vendor/plugins/session-persistence/README.rdoc +++ /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 index a752ad331..000000000 --- a/vendor/plugins/session-persistence/init.rb +++ /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 index 7bb51bc46..000000000 --- a/vendor/plugins/session-persistence/lib/session_persistence.rb +++ /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 index 89c6020b2..000000000 --- a/vendor/plugins/session-persistence/test/session_timeout_test.rb +++ /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 index 17652ab66..000000000 --- a/vendor/rails-locales/ar.yml +++ /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 index c62c1e5ee..000000000 --- a/vendor/rails-locales/az.yml +++ /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 index b4d0e5fcf..000000000 --- a/vendor/rails-locales/bg.yml +++ /dev/null @@ -1,232 +0,0 @@ -# Full Bulgarian localization for Ruby on Rails 3+ -# -# extracted from www.termo.bg -# supported by Samson Behar -# 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 index c34024e88..000000000 --- a/vendor/rails-locales/bn-IN.yml +++ /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 index aa8ba32f5..000000000 --- a/vendor/rails-locales/bs.yml +++ /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 index cfc8ad3ac..000000000 --- a/vendor/rails-locales/ca.yml +++ /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 index a75e5f1bf..000000000 --- a/vendor/rails-locales/cs.yml +++ /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 index 22e9e5dae..000000000 --- a/vendor/rails-locales/csb.yml +++ /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 index 15ed99c99..000000000 --- a/vendor/rails-locales/cy.yml +++ /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 index bc38e964b..000000000 --- a/vendor/rails-locales/da.yml +++ /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 index 2ae430517..000000000 --- a/vendor/rails-locales/de-AT.yml +++ /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 index da36c87da..000000000 --- a/vendor/rails-locales/de-CH.yml +++ /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 index 62f9d5a7b..000000000 --- a/vendor/rails-locales/de.yml +++ /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 index 98d56b38a..000000000 --- a/vendor/rails-locales/dsb.yml +++ /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 index aa59256c3..000000000 --- a/vendor/rails-locales/el.yml +++ /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 index af31e4a30..000000000 --- a/vendor/rails-locales/en-AU.yml +++ /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 index b13b383ec..000000000 --- a/vendor/rails-locales/en-GB.yml +++ /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 index 8d33068af..000000000 --- a/vendor/rails-locales/en-IN.yml +++ /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 index 17492888b..000000000 --- a/vendor/rails-locales/en-US.yml +++ /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 index f3196e2a1..000000000 --- a/vendor/rails-locales/eo.yml +++ /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 index 62de4c8e2..000000000 --- a/vendor/rails-locales/es-AR.yml +++ /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 index 618fe14bb..000000000 --- a/vendor/rails-locales/es-CL.yml +++ /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 index d058f51fc..000000000 --- a/vendor/rails-locales/es-CO.yml +++ /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 index 4f01b0426..000000000 --- a/vendor/rails-locales/es-MX.yml +++ /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 index 772721d00..000000000 --- a/vendor/rails-locales/es-PE.yml +++ /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 index 80df02793..000000000 --- a/vendor/rails-locales/es.yml +++ /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 index 0e1e75220..000000000 --- a/vendor/rails-locales/et.yml +++ /dev/null @@ -1,223 +0,0 @@ -# Estonian localization for Ruby on Rails 2 and 3 -# by Zahhar Kirillov -# contributors: -# - Mart Karu - http://github.com/martkaru - -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 index 5a0908f1b..000000000 --- a/vendor/rails-locales/eu.yml +++ /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 index 96b111b35..000000000 --- a/vendor/rails-locales/fa.yml +++ /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 index 89062dfe2..000000000 --- a/vendor/rails-locales/fi.yml +++ /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 index d2d3c5877..000000000 --- a/vendor/rails-locales/fr-CA.yml +++ /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 - -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 index 5e989199f..000000000 --- a/vendor/rails-locales/fr-CH.yml +++ /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 index 61cffcce0..000000000 --- a/vendor/rails-locales/fr.yml +++ /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 index 971a9cf7a..000000000 --- a/vendor/rails-locales/fun/en-AU.rb +++ /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 index 040fdb630..000000000 --- a/vendor/rails-locales/fun/gibberish.rb +++ /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 index cdce796fc..000000000 --- a/vendor/rails-locales/fur.yml +++ /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 index 32208a31d..000000000 --- a/vendor/rails-locales/gl-ES.yml +++ /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 index 2d847437d..000000000 --- a/vendor/rails-locales/gsw-CH.yml +++ /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 index 71d5df038..000000000 --- a/vendor/rails-locales/he.yml +++ /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 index 2ce461ca6..000000000 --- a/vendor/rails-locales/hi-IN.yml +++ /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 index 9f98e4f7d..000000000 --- a/vendor/rails-locales/hi.yml +++ /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 index 800243ca8..000000000 --- a/vendor/rails-locales/hr.yml +++ /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 index f5956de2b..000000000 --- a/vendor/rails-locales/hsb.yml +++ /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 index d6fa10b71..000000000 --- a/vendor/rails-locales/hu.yml +++ /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 index 04b3c2e6b..000000000 --- a/vendor/rails-locales/id.yml +++ /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 index aa2a29d6f..000000000 --- a/vendor/rails-locales/is.yml +++ /dev/null @@ -1,230 +0,0 @@ -# Icelandic, by Ævar Arnfjörð Bjarmason -# 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 index c867678e6..000000000 --- a/vendor/rails-locales/it.yml +++ /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 index d32a23580..000000000 --- a/vendor/rails-locales/ja.yml +++ /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 index 25633ff32..000000000 --- a/vendor/rails-locales/kn.yml +++ /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 index 584edc507..000000000 --- a/vendor/rails-locales/ko.yml +++ /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 index 4b8f66c18..000000000 --- a/vendor/rails-locales/lo.yml +++ /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 index 4e3ba3ecb..000000000 --- a/vendor/rails-locales/lt.yml +++ /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 index e644e304d..000000000 --- a/vendor/rails-locales/lv.yml +++ /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 index 466d85fce..000000000 --- a/vendor/rails-locales/mk.yml +++ /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 index 3f9654759..000000000 --- a/vendor/rails-locales/mn.yml +++ /dev/null @@ -1,213 +0,0 @@ -# Mongolian localization for Ruby on Rails 2.2+ -# by Ochirkhuyag.L -# - -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 index 1a6ca11cf..000000000 --- a/vendor/rails-locales/nb.yml +++ /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 index 81f6f3ac6..000000000 --- a/vendor/rails-locales/nl.yml +++ /dev/null @@ -1,223 +0,0 @@ -# Dutch translations for Ruby on Rails, based on US English template -# Original version by Ariejan de Vroom -# - Sponsored by Kabisa ICT - http://kabisa.nl -# Rails 3 update by Floris Huetink (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 index f92ff7951..000000000 --- a/vendor/rails-locales/nn.yml +++ /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 index fa7abf057..000000000 --- a/vendor/rails-locales/pl.yml +++ /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 index 4799e7b4f..000000000 --- a/vendor/rails-locales/pt-BR.yml +++ /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 index 7493e7b55..000000000 --- a/vendor/rails-locales/pt-PT.yml +++ /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 index 980d430b1..000000000 --- a/vendor/rails-locales/rm.yml +++ /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 index e42637c2c..000000000 --- a/vendor/rails-locales/ro.yml +++ /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 index 0084e89a0..000000000 --- a/vendor/rails-locales/ru.yml +++ /dev/null @@ -1,302 +0,0 @@ -# Russian localization for Ruby on Rails 2.2+ and 3+ -# by Yaroslav Markin -# -# 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 index 24e3ca6d2..000000000 --- a/vendor/rails-locales/sk.yml +++ /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 index d959d2dee..000000000 --- a/vendor/rails-locales/sl.yml +++ /dev/null @@ -1,250 +0,0 @@ -# Slovenian language localization (sl-sl) -# by Miha Rebernik -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 index 23a7dc391..000000000 --- a/vendor/rails-locales/sr-Latn.yml +++ /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 index 8477a8f77..000000000 --- a/vendor/rails-locales/sr.yml +++ /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 index 1fc5c41b8..000000000 --- a/vendor/rails-locales/sv-SE.yml +++ /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 index 2ee3df39c..000000000 --- a/vendor/rails-locales/sw.yml +++ /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 index 5ef4e3a2d..000000000 --- a/vendor/rails-locales/th.yml +++ /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 index 8e213ff7b..000000000 --- a/vendor/rails-locales/tr.yml +++ /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 index 6b3e84846..000000000 --- a/vendor/rails-locales/uk.yml +++ /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 index 4be24f0f1..000000000 --- a/vendor/rails-locales/vi.yml +++ /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 index 2d9265911..000000000 --- a/vendor/rails-locales/zh-CN.yml +++ /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 index 3c3fc2b37..000000000 --- a/vendor/rails-locales/zh-TW.yml +++ /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}"